Address mapping table compression
First Claim
1. An apparatus comprising:
- a circuit configured to;
intercept a mapping table entry and a command to store the mapping table entry to a mapping table, the intercept occurring between a controller that generates the command and a memory that stores the mapping table;
determine a first data field and a second data field in the mapping table entry;
compress the first data field using a first data compression method to produce a compressed first data field;
compress the second data field using a second, different data compression method to produce a compressed second data field; and
store the compressed first data field and the compressed second data field to the memory.
1 Assignment
0 Petitions
Accused Products
Abstract
Mapping table entries that map logical block addresses to physical block addresses can be intercepted and compressed to save space. In some cases, the mapping table entries can be compressed into compression units, which can hold multiple mapping table entries. Portions of the mapping table entries can be arranged into groups, and a group can be compressed with a unique compression method. The compression method used to compress a group may be based on data characteristics of the group. When data corresponding to the mapping table entries are read or modified, the compressed data can be decompressed and provided to a requesting controller or processor. When the mapping table entry is modified, the updated mapping entry may be arranged into groups, and the groups can be compressed and stored to the compression units.
-
Citations
20 Claims
-
1. An apparatus comprising:
a circuit configured to; intercept a mapping table entry and a command to store the mapping table entry to a mapping table, the intercept occurring between a controller that generates the command and a memory that stores the mapping table; determine a first data field and a second data field in the mapping table entry; compress the first data field using a first data compression method to produce a compressed first data field; compress the second data field using a second, different data compression method to produce a compressed second data field; and store the compressed first data field and the compressed second data field to the memory. - View Dependent Claims (2, 3, 4, 5, 6)
-
7. A system comprising:
-
a memory including a mapping table, where the mapping table includes a mapping table entry; a circuit configured to; intercept the mapping table entry and a command to store the mapping table entry to the mapping table; determine a first data field and a second data field in the mapping table entry; compress the first data field using a first data compression method to produce a compressed first data field; compress the second data field using a second, different data compression method to produce a compressed second data field; and store the compressed first data field and the compressed second data field to the memory. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method comprising:
-
determining a selected logical block address (“
LBA”
) mapping to update, the LBA mapping including a mapping table entry identifying a physical storage location to which data corresponding to the LBA is stored;determining a compression unit corresponding to the selected LBA mapping, the compression unit including a plurality of compressed mapping table entries; determining a first compressed data group in the compression unit into which a first portion of the selected LBA mapping has been compressed and a second compressed data group in the compression unit into which a second portion of the selected LBA mapping has been compressed; and decompressing the compression unit using a first circuit to decompress the first compressed data group and a second circuit to decompress the second compressed data group to produce the selected LBA mapping, where the first circuit and the second circuit are different. - View Dependent Claims (17, 18, 19, 20)
-
Specification