Garbage collection methods and memory systems for hybrid address mapping
AssigneeSK hynix Inc.
InventorsAman Bhatia, Naveen Kumar, Yu Cai, Fan Zhang
Life of this patent
Estimating the term…
Abstract
Methods and systems are provided for performing a garbage collection scheme for hybrid address mapping. A controller of a memory system receives data and a logical address for the data from a host device, writes the data in a page of an open log block and performs a garbage collection on a log block and under a certain condition, one or more data blocks, when the open log block is full.
Claims20
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 including a plurality of pages corresponding to logical addresses and each of the log blocks including multiple pages;
- receiving data and a logical address for the data from a host device;
- writing the data in a page of an open log block among the plurality of log blocks;
- when the open log block is full,
- selecting a data block with the largest number of dirty pages among the plurality of data blocks, and selecting a log block with the largest number of invalid pages among the plurality of log blocks;
- and
- performing a garbage collection on the selected data block and the selected log block,
- wherein data for logical addresses corresponding to the dirty pages are stored in any open log block that is not full, and data of invalid pages are copied from the corresponding log block to data blocks corresponding to the logical addresses of the copied data.
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 an open log block among the plurality of log blocks;
- when the open log block is full,
- identifying a log block among the plurality of log blocks and a data block among the plurality of data blocks;
- selecting one block among the identified log block and the identified data block based on the number of dirty pages in the identified data block and the number of invalid pages in the identified log block;
- and
- performing a garbage collection on the selected block,
- wherein data for logical addresses corresponding to the dirty pages are stored in any open log block that is not full, and data of invalid pages are copied from the corresponding log block to data blocks corresponding to the logical addresses of the copied data.
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 including a plurality of pages corresponding to logical addresses and each of the log blocks including multiple pages;
- receiving data and a logical address for the data from a host device;
- writing the data in a page of an open log block among the plurality of log blocks;
- when the open log block is full,
- selecting a data block with the largest number of dirty pages among the plurality of data blocks, and selecting a log block with the largest number of invalid pages among the plurality of log blocks;
- and
- performing a garbage collection on the selected data block and the selected log block,
- wherein data for logical addresses corresponding to the dirty pages are stored in any open log block that is not full, and data of invalid pages are copied from the corresponding log block to data blocks corresponding to the logical addresses of the copied data.
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 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 an open log block among the plurality of log blocks;
- when the open log block is full,
- identifying a log block among the plurality of log blocks and a data block among the plurality of data blocks;
- selecting one block among the identified log block and the identified data block based on the number of dirty pages in the identified data block and the number of invalid pages in the identified log block;
- and
- performing a garbage collection on the selected block,
- wherein data for logical addresses corresponding to the dirty pages are stored in any open log block that is not full, and data of the invalid pages are copied from the corresponding log block to data blocks corresponding to the logical addresses of the copied data.
Dependencies are inferred from the claim text.