Abstract:
A method is described for efficiently utilizing slots for storing disk track images in a disk drive system (10) having an associated cache memory subsystem (20). In addition to the customary referenced track queue (40) used to store pointers to disk tracks referenced by a computer system (30), a second queue (50) is employed which provides readily available track slots for newly referenced tracks. A designated number of least-recently-used entries (42') are moved from the referenced track queue (40) to the second queue in one step. A designated number of entries are subsequently copied from the bottom of the second queue (50) to a destage queue, where they are queued to be written back to the disk drive system (100). By the time an entry has migrated to the bottom of the second queue (50), the corresponding track image will generally have been destaged, and the associated track slot is then made available for reuse. A block of available track slots is thus created, and repetitive searching of the referenced track queue (40) is avoided.
Abstract:
A method is described for managing data records stored in non-volatile memory in a disk drive system with cache memory. A variable-length directory containing descriptors of disk records is used to locate a selected record non-volatile memory. A table, ordered sequentially by record number, is used to quickly locate a record in non-volatile memory without having to perform a time-consuming search. In order to efficiently utilize space in non-volatile memory, a list is kept of free space for storing record descriptors. After an initial nominal allocation, additional free space is allocated only when required, thus further increasing the efficiency of use of non-volatile memory.