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;
- writing the data in a page of one log block of the log blocks;
- generating a hash value corresponding to the logical address as a key using a hash function;
- and
- updating an index represented by a hash value and an associated element in a hash table, the associated element corresponding to a key and a value of an entry including a physical address of the page.
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, generating a hash value corresponding to the logical address as a key using a hash function;
- determining a physical address corresponding to the logical address by searching a hash table using the hash value as an index, the hash table including an array of elements and respective indexes, each of the elements including a key and a value of an entry, and storing the key and the value of an entry including the physical address associated with the index;
- and
- reading data from a page of the determined physical address of the log blocks.
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;
- writing the data in a page of one log block of the log blocks;
- generating a hash value corresponding to the logical address as a key using a hash function;
- and
- updating an index represented by a hash value and an associated element in a hash table, the associated element corresponding to a key and a value of an entry including a physical address of the page.
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, generating a hash value corresponding to the logical address as a key using a hash function;
- determining a physical address corresponding to the logical address by searching a hash table using the hash value as an index, the hash table including an array of elements and respective indexes, each of the elements including a key and a value of an entry, and storing the key and the value of an entry including the physical address associated with the index;
- and
- reading data from a page of the determined physical address of the log blocks.
Dependencies are inferred from the claim text.