CPC G06F 12/1009 (2013.01) [G06F 2212/657 (2013.01)] | 20 Claims |
1. A system for reading data from one or more memory cards, each memory card having a plurality of storage chips, and each storage chip having a plurality of dies having a plurality of memory cells, the system comprising:
one or more programmable readable storage media; and
programming instructions stored on the one or more programmable readable storage media for execution by at least one processor, the programming instructions when executed by the at least one processor configure the system to:
issue a request for data located on the one or more memory cards;
look up a logical address for the requested data in a logical to virtual translation table (LVT) having a plurality of entries, each entry in the LVT mapping a logical address to a virtual block address (VBA), where the VBA corresponds to a group of memory cells in the one or more memory cards;
in response to locating the logical address of the requested data in an entry in the LVT, check that LVT entry to determine whether the data is located in a Drift Buffer;
in response to determining the data is located within the Drift Buffer, read the requested data from the Drift Buffer; and
in response to determining the data is not located in the Drift Buffer, obtain the VBA from the LVT entry corresponding to the logical address of the requested data and read the requested data in the memory card corresponding to the VBA.
|