Methods and memory systems for address mapping
AssigneeSK hynix Inc.
InventorsAman Bhatia, Fan Zhang, Naveen Kumar, Yu Cai
Life of this patent
Estimating the term…
Abstract
Methods and systems are provided for an address mapping scheme using a hash table. A controller of a memory system partitions a plurality of physical blocks included in a memory device into a plurality of data blocks and a plurality of log blocks, translates a logical address to a physical address based on a block-level mapping scheme or a page-level mapping scheme using a hash table, and performs a read and/or write operation based on the translated physical address.
Claims18
A method for operating a memory system including a memory device, which includes a plurality of physical blocks, the method comprising:
- partitioning the plurality of physical blocks into a plurality of data blocks and a plurality of log blocks, each of the data blocks and each of the log blocks including a plurality of pages;
- receiving data and a logical address for the data from a host device;
- applying a hash function that is related to the logical address to access a hash table to determine a physical address of a page in one of the log blocks in which to write the data;
- and
- writing the data in the page identified by the physical address obtained from the hash table,
- wherein page level mapping information for the log blocks is stored in the hash table, which is configured with open addressing and implemented as an indexed array of entries, each of which represents a logical address in a form of a key and a corresponding physical address, wherein, for any entry, the index at which it is stored is determined by a hash function of the key of the corresponding entry, and wherein an upper bound of the size of the hash table is determined by an overhead value that is set based on number of probes to identify a particular physical address and memory requirement for the hash table.
A method for operating a memory system including a memory device, which includes a plurality of physical blocks, the method comprising:
- partitioning the plurality of physical blocks into a plurality of data blocks and a plurality of log blocks, each of the data blocks and each of the log blocks including a plurality of pages;
- receiving a read command and a logical address for the read command from a host device;
- determining whether the logical address indicates a location in the data blocks or in the log blocks;
- when it is determined that the logical address indicates a location in the log blocks, applying a hash function that is related to the logical address to access a hash table;
- determining the physical address corresponding to the logical address by searching the hash table;
- and
- reading data from a page of the determined physical address of the log blocks,
- wherein page level mapping information for the log blocks is stored in the hash table, which is configured with open addressing and implemented as an indexed array of entries, each of which represents a logical address in a form of a key and a corresponding physical address, wherein, for any entry, the index at which it is stored is determined by a hash function of the key of the corresponding entry, and wherein an upper bound of the size of the hash table is determined by an overhead value that is set based on number of probes to identify a particular physical address and memory requirement for the hash table.
A memory system comprising:
- a memory device including a plurality of physical blocks;
- and
- a controller suitable for:
- partitioning the plurality of physical blocks into a plurality of data blocks and a plurality of log blocks, each of the data blocks and the log blocks including a plurality of pages;
- receiving data and a logical address for the data from a host device;
- applying a hash function that is related to the logical address to access a hash table to determine a physical address of a page in one of the log blocks in which to write the data;
- and
- writing the data in the page identified by the physical address obtained from the hash table,
- wherein page level mapping information for the log blocks is stored in the hash table, which is configured with open addressing and implemented as an indexed array of entries, each of which represents a logical address in a form of a key and a corresponding physical address, wherein, for any entry, the index at which it is stored is determined by a hash function of the key of the corresponding entry, and wherein an upper bound of the size of the hash table is determined by an overhead value that is set based on number of probes to identify a particular physical address and memory requirement for the hash table.
A memory system comprising:
- a memory device including a plurality of physical blocks;
- and
- a controller suitable for:
- partitioning the plurality of physical blocks into a plurality of data blocks and a plurality of log blocks, each of the data blocks and the log blocks including a plurality of pages;
- receiving a read command and a logical address for the read command from a host device;
- determining whether the logical address indicates a location in the data blocks or in the log blocks;
- when it is determined that the logical address indicates a location in the log blocks, applying a hash function that is related to the logical address to access a hash table;
- determining the physical address corresponding to the logical address by searching the hash table;
- and
- reading data from a page of the determined physical address of the log blocks,
- wherein page level mapping information for the log blocks is stored in the hash table, which is configured with open addressing and implemented as an indexed array of entries, each of which represents a logical address in a form of a key and a corresponding physical address, wherein, for any entry, the index at which it is stored is determined by a hash function of the key of the corresponding entry, and wherein an upper bound of the size of the hash table is determined by an overhead value that is set based on number of probes to identify a particular physical address and memory requirement for the hash table.
Dependencies are inferred from the claim text.