IP Library Granted Patent US 11,243,878
Granted Patent B2
US 11,243,878 · App. 16/393,721 · Granted Feb 8, 2022

Simultaneous garbage collection of multiple source blocks

Inventor: Jae-Sung Jung (Hwaseong-si, KR)
Assignee: Samsung Electronics Co., Ltd.
G06F12/0246G06F2212/7205
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,243,878
App. No.
16/393,721
Granted
Feb 8, 2022
Kind
B2
Abstract

Provided are a memory controller, a non-volatile memory system, and a method of operating the same. A method of operating a memory system includes selecting a plurality of source blocks to be garbage-collected, copying selected valid data from two or more source blocks among the plurality of source blocks into a destination block, storing changed mapping information in an update cache according to a result of the copying, and updating a mapping table by using the mapping information stored in the update cache.

Claims (51)

1. An operating method of a memory system including a non-volatile memory device comprising a plurality of blocks, the operating method comprising:

randomly storing valid data among the plurality of blocks;

entering a garbage-collection mode;

reducing update frequency of a plurality of mapping tables during a garbage-collection operation by simultaneously copying valid data that was randomly stored in two or more source blocks selected from among the plurality of blocks, and that is mapped to a single mapping table among a plurality of mapping tables, to a destination block in the garbage collection operation in the garbage-collection mode;

updating changed mapping information in the single mapping table according to a result of the copying in a meta region of the non-volatile memory device; and

generating a free block by erasing the two or more source blocks.

2. The operating method of claim 1 , wherein the copying comprises:

copying the valid data of two or more source blocks together to a single destination block.

3. The operating method of claim 1 , wherein the copying comprises:

simultaneously reading the valid data from the two or more source blocks; and

writing the read valid data from the two or more source blocks to the destination block.

4. The operating method of claim 1 , wherein

the memory system further comprises a memory controller including an update cache; and

the changed mapping information in the single mapping table is stored in the update cache and the changed mapping information in the update cache is provided to the meta region of the non-volatile memory device.

5. The operating method of claim 4 , wherein the plurality of mapping tables is included in the meta region, and

mapping information in the plurality of mapping tables is updated according to the changed mapping information provided to the meta region.

6. The operating method of claim 4 , wherein the changed mapping information about the valid data of the two or more source blocks is stored together in the update cache.

7. The operating method of claim 4 , wherein

the meta region includes the plurality of mapping tables and mapping information about valid data of the plurality of blocks is stored in the plurality of mapping tables,

wherein the changed mapping information about the valid data located in different source blocks and related to a single mapping table is stored together in the update cache.

8. The operating method of claim 7 , wherein the generating the free block comprises erasing the two or more source blocks after all valid data of the two or more source blocks is copied to the destination block.

9. An operating method of a memory system including a memory controller and a non-volatile memory device, the operating method comprising:

randomly storing valid data among source blocks of the non-volatile memory device;

selecting, by the memory controller, the source blocks of the non-volatile memory device for garbage collection in a simultaneous garbage collection operation;

reducing update frequency of a plurality of mapping tables during the garbage-collection operation by simultaneously copying valid data that was randomly stored in the source blocks, and that is mapped to a single mapping table among a plurality of mapping tables, to a destination block in the simultaneous garbage collection operation;

storing changed mapping information in an update cache of the memory controller in response to the copying of the valid data from the source blocks to the destination block in the simultaneous garbage collection operation; and

updating the single mapping table with the changed mapping information stored in the update cache.

10. The operating method of claim 9 , further comprising:

determining whether data written to each one of the source blocks has a random pattern,

wherein a number of the source blocks selected for garbage collection varies according to a result of the determining whether data written to each one of the source blocks has a random pattern.

11. The operating method of claim 9 , further comprising:

erasing the source blocks after the valid data from the source blocks is copied to the destination block.

12. The operating method of claim 9 , wherein the non-volatile memory device stores the plurality of mapping tables including mapping information associated with data stored in the memory system, and

the updating of the mapping table comprises selectively updating the single mapping table of the plurality of mapping tables using the changed mapping information stored in the update cache.

13. A memory system, comprising:

a memory device comprising a meta region and a storage region, wherein the storage region includes a plurality of blocks and the meta region stores mapping information related to valid data randomly stored in the plurality of blocks, and

in a simultaneous garbage-collection mode of the memory system,

the memory device selects valid data together that was randomly stored in two or more source blocks selected from among the plurality of blocks, and that is mapped to a single mapping table among a plurality of mapping tables, reduces update frequency of a plurality of mapping tables during a garbage-collection operation by simultaneously copying the selected valid data to a destination block, and updates changed mapping information in the single mapping table for the selected valid data in the meta region of the memory device.

14. The memory system of claim 13 , wherein the memory device erases the two or more source blocks together after all valid data of the two or more source blocks is copied to the destination block.

15. The memory system of claim 13 , wherein

the meta region includes the plurality of mapping tables and each of the mapping tables stores mapping information about valid data of the plurality of blocks, and

in the garbage-collection mode of the memory system,

the valid data related to a single mapping table is selected from the two or more source blocks and copied to the destination block.

16. The memory system of claim 15 , wherein the valid data related to the single mapping table is read together from the two or more source blocks.

17. The memory system of claim 13 , further comprising:

a memory controller including a flash translation layer and an update cache,

wherein the flash translation layer includes a garbage-collection module controlling the garbage-collection based on the selected two or more source blocks.

18. The memory system of claim 17 , wherein the changed mapping information is stored in the update cache and the changed mapping information in the update cache is provided to the meta region of the memory device.

19. The memory system of claim 18 , wherein the changed mapping information about the valid data located in different source blocks is stored together in the update cache.

20. The memory system of claim 18 , wherein, in the garbage-collection mode, the valid data is read from the two or more source blocks and provided to the memory controller, and the memory controller provides the read valid data to the destination block, and

an update operation using the update cache is performed a plurality of times and valid data of two or more source blocks is read together during one update operation.

Priority Claims (1)
KR 10-2015-0133887 · Sep 22, 2015 · national
Continuity (2)
Continuation 15236501 · Aug 15, 2016
Related Publication 20190251024A1 · Aug 15, 2019