Storage devices used in computers or other electronics devices may be non-volatile memory or volatile memory. The main difference between non-volatile memory and volatile memory is that non-volatile memory may continue to store data without requiring a persistent power supply. As a result, non-volatile memory devices have developed into a popular type of memory for a wide range of electronic applications.
Some storage devices utilize physical data addresses for internal mapping of data to storage locations. For example, hard disk drives (HDD) featuring shingle magnetic recording (SMR) may utilize physical block addresses to specify locations of data within the HDD. Operating systems, however, may use logical data addresses to specify logical locations of data. A controller of an HDD may maintain an indirection table, which associates each logical data address used by the operating system with a respective physical block address used internally by the controller of the HDD.