Method and system for reducing mapping table size in a storage device
AssigneeSanDisk Technologies LLC
InventorNicholas James Thomas
Life of this patent
Estimating the term…
Abstract
A method and system are disclosed for handling logical-to-physical mapping and reducing mapping table size. The method includes the storage device storing in fast access memory, such as DRAM, only the physical location of a primary cluster in each cluster group, and then writing location information for remaining clusters in a cluster group into the header of the data for the primary cluster of the cluster group in non-volatile memory. The system includes a storage device having volatile memory, non-volatile memory and a controller in communication with the volatile and non-volatile memory that is configured to carry out the method noted above.
Claims20
A method of managing a memory device comprising:
- in a memory device having a non-volatile memory, a volatile memory and a controller in communication with the non-volatile memory and the volatile memory, the controller:
- maintaining an index table in the volatile memory, the index table configured to store a predetermined number of index entries where each of the predetermined number of index entries is associated with a cluster group, each cluster group having a fixed plurality of clusters, wherein each cluster group comprises a predetermined number of logically contiguous clusters and each of the predetermined number of index entries is configured to contain physical address information for only one cluster of the cluster group associated with that index entry;
- receiving data in a data write command, the received data associated with a cluster;
- determining a physical location in the non-volatile memory for storing the cluster;
- identifying in the index table an index entry associated with the cluster;
- storing in the volatile memory an address of the physical location for the cluster in the identified index entry;
- storing in the physical location in the non-volatile memory the received data for the cluster;
- and
- storing, in a header of the received data stored at the physical location, location information of each of a remainder of the clusters in the cluster group associated with the identified index entry, whereby the index entry in the volatile memory contains the address of the physical location of only one of the clusters in the cluster group, and the header of the data at the physical location contains location information for the remainder of the clusters in the cluster group associated with the index entry.
A memory device comprising:
- a non-volatile memory;
- a volatile memory;
- and
- a controller in communication with the non-volatile memory and the volatile memory, wherein the controller is configured to:
- maintain an index table in the volatile memory, the index table sized to store a predetermined number of index entries where each of the predetermined number of index entries is associated with a cluster group, each cluster group comprising a predetermined number of logically contiguous clusters and each of the predetermined number of index entries is configured to contain physical address information for only one cluster of the cluster group associated with that index entry;
- receive data in a data write command, the received data associated with a cluster;
- determine a physical location in the non-volatile memory for storing the cluster;
- identify in the index table an index entry associated with the cluster;
- store in the volatile memory an address of the physical location for the cluster in the identified index entry;
- store in the physical location in the non-volatile memory the received data for the cluster;
- and
- store, in a header of the received data stored at the physical location, location information of each of a remainder of the clusters in the cluster groups associated with the identified index entry, whereby the index entry in the volatile memory contains the address of the physical location of only one of the clusters in the cluster group, and the header of the data at the physical location contains location information for the remainder of the clusters in the cluster group associated with the index entry.
Dependencies are inferred from the claim text.