Block-alterable memories, such as flash memories or polymer ferroelectric random access memories (PFRAMs), are used in many different applications. Flash memory is a high-speed electrically erasable programmable read-only memory (EEPROM) in which erasing and programming (i.e., writing) is performed on blocks of data. One use of a flash memory or a PFRAM is as a cache media, such as a disk cache for a disk device such as a disk drive, to act as a temporary storage area for frequently accessed data. The media's access characteristic for each data request cycle (read or write) is an initial latency before all the data in the block or wordline is available from the media. Each wordline contains the physical amount of data that can be transferred per memory cycle and can contain several kilobytes (KB) of data.
Disk drives can only uniquely address 512 byte blocks of data at a time, commonly called a disk sector; accordingly, a disk cache typically maintains the same addressing granularity. Thus multiple addressable ‘disk sectors’ are stored on each wordline of a cache along with some cache metadata. File systems typically request multiple disk sectors per each input/output (I/O) request, as multiple disk sectors are addressed as one file system cluster, normally in even sector increments, to minimize overhead in disk organization. Unfortunately, the first file system cluster does not start at sector zero on the disk drive but at an arbitrary sector offset. Thus additional cache wordlines are accessed if the mapping of disk to cache address does not naturally align to operating system (OS) file system clusters. Thus a need exists to reduce the number of wordline accesses per disk request or other memory request.