IP Library Granted Patent US 11,474,723
Granted Patent B2
US 11,474,723 · App. 17/222,751 · Granted Oct 18, 2022

Storage device and operating method thereof

Inventors: Young Ick Cho (Icheon-si, KR); Byeong Gyu Park (Icheon-si, KR); Sung Kwan Hong (Icheon-si, KR)
Assignee: SK hynix Inc.
G06F3/064G06F3/0604G06F3/0631G06F3/0656G06F3/0679G06F12/0246G06F2212/7201
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,474,723
App. No.
17/222,751
Granted
Oct 18, 2022
Kind
B2
Abstract

The storage device includes: a memory device including a plurality of user blocks and a system block; a buffer memory for storing a physical-to-logical table, and a memory controller for controlling the memory device to update map data stored in the system block, based on the physical-to-logical table, and to store the updated map data in the system block, after logical addresses of the physical-to-logical table are all allocated.

Claims (59)

1. A storage device comprising:

a memory device including a plurality of user blocks for storing data and a system block for storing map data representing a mapping relationship between a logical address of the data and a physical address at which the data is stored;

a buffer memory configured to store a physical-to-logical table including mapping information regarding physical addresses, included in an open block from among the plurality of user blocks, and logical addresses that are allocated to the physical addresses in the open block; and

a memory controller configured to control the memory device to update the map data stored in the system block, after the logical addresses are all allocated, based on the mapping information in the physical-to-logical table, and configured to store the updated map data in the system block,

wherein the memory controller:

acquires an old mapping information of the logical addresses from the system block;

generates old block information that distinguishes old blocks, from other user blocks in the plurality of user blocks, having old data corresponding to the logical addresses according to the old mapping information; and

generates a non-candidate block information, based on the old block information, to flag user blocks to be excluded from use as a target block in a migration operation.

2. The storage device of claim 1 , wherein the memory controller selects candidate blocks from among the plurality of user blocks based on the non-candidate block information, and controls the memory device to move valid data stored in a source block from among the candidate blocks to the target block.

3. The storage device of claim 2 , wherein the buffer memory includes:

a map data storage configured to store the physical-to-logical table and a logical-to-physical table including map data from the system block; and

a meta data storage configured to store meta data including valid data information on valid data stored in the plurality of user blocks or erase number information on a number of times each of the plurality of user blocks is erased.

4. The storage device of claim 3 , wherein the valid data information is valid page information, which is information representing a valid page number included in each of the plurality of user blocks, and

wherein the memory controller:

selects the candidate blocks from among the plurality of user blocks by using the non-candidate block information to exclude non-candidate blocks from among the plurality of user blocks; and

selects, as the source block, a candidate block having a valid page number that is smaller than a predetermined reference valid page number.

5. The storage device of claim 4 , wherein the source block is a victim block selected in garbage collection from among the candidate blocks, and

the target block is a free block selected in the garbage collection from among the plurality of user blocks.

6. The storage device of claim 3 , wherein the memory controller:

selects the candidate blocks from among the plurality of user blocks by using the non-candidate block information to exclude non-candidate blocks from among the plurality of user blocks; and

selects, as the source block, a candidate block having an erase number of times that is greater than a predetermined reference erase number of times.

7. The storage device of claim 6 , wherein the source block is a user block from among the plurality of user blocks having a largest erase number of times in a wear leveling operation, and

the target block is a user block from among the plurality of user blocks having a smallest erase number of times in the wear leveling operation.

8. The storage device of claim 1 , wherein the old block information is bitmap data representing, as one bit, whether each of the plurality of user blocks is an old block.

9. A method for operating a storage device including a memory device, a buffer memory, and a memory controller, the method comprising:

performing map update of updating map data stored in the memory device based on a physical-to-logical table stored in the buffer memory;

generating old block information using the physical-to-logical table and the updated map data to include information for distinguishing old blocks that are user blocks, in which old data corresponding to logical addresses from the physical-to-logical table stored, from other user blocks from among a plurality of user blocks included in the memory device; and

generating non-candidate block information using the old block information for use in a migration operation of moving data stored in the plurality of user blocks.

10. The method of claim 9 , wherein the performing of the map update includes:

allocating the logical addresses, in the physical-to-logical table, to physical addresses included in an open block from among the plurality of user blocks;

updating map data read by the memory device, based on the physical-to-logical table, after all of the logical addresses are allocated to the physical addresses included in the open block; and

storing the updated map data in the memory device.

11. The method of claim 10 , wherein the generating of the old block information includes:

acquiring old mapping information of the logical addresses from the memory device; and

generating, as the old block information, information representing a user block that corresponds to an old block according to the old mapping information.

12. The method of claim 11 , wherein, in the generating of the old block information, bitmap data representing, as one bit, whether each of the plurality of user blocks is an old block is generated.

13. The method of claim 9 , further comprising:

determining candidate blocks from among the plurality of user blocks, based on the non-candidate block information, and selecting a source block from among the candidate blocks, based on meta data including valid data information, which is information on valid data stored in the plurality of user blocks or an erase number information, which is information on a number of times each of the plurality of user blocks is erased; and

moving valid data stored in the source block to a target block.

14. The method of claim 13 , wherein the selecting of the source block includes:

selecting the candidate blocks from among the plurality of user blocks by using the non-candidate block information to exclude non-candidate blocks from among the plurality of user blocks; and

selecting, as the source block, a candidate block having a valid page number that is smaller than a predetermined reference valid page number among the plurality of user blocks.

15. The method of claim 13 , wherein the selecting of the source block includes:

selecting the candidate blocks from among the plurality of user blocks by using the non-candidate block information to exclude non-candidate blocks from among the plurality of user blocks; and

selecting, as the source block, a candidate block having an erase number of times that is greater than a predetermined reference erase number of times.

16. A storage device comprising:

a memory device including a plurality of user blocks for storing data and a system block for storing map data representing a mapping relationship between a logical address of the data and a physical address at which the data is stored; and

a memory controller configured to generate old block information as information for identifying a user block, from among the plurality of user blocks, in which old data of logical addresses to be updated is stored, while a map update operation of updating the map data is being performed.

17. The storage device of claim 16 , wherein the memory controller:

acquires old mapping information of the logical addresses from the system block;

generates the old block information according to the old mapping information; and

generates a non-candidate block information representing information on user blocks excluded from a target of a migration operation of moving data stored in the plurality of user blocks, based on the old block information.

18. The storage device of claim 17 , wherein the memory controller:

selects candidate blocks from among the plurality of user blocks, based on the non-candidate block information; and

controls the memory device to move valid data stored in a source block from among the candidate blocks to a target block.

19. The storage device of claim 18 , wherein the memory controller:

selects, as the candidate blocks, the other user blocks from among the plurality of user blocks that are not non-candidate blocks identified by the non-candidate block information; and

selects, as the source block, a candidate block having a valid page number that is smaller than a predetermined reference valid page number based on information representing a valid page number included in each of the plurality of user blocks.

20. The storage device of claim 16 , wherein the old block information is bitmap data representing, as one bit, whether each of the plurality of user blocks is an old block.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2024
From: SK HYNIX INC.
To: MIMIRIP LLC
Reel/Frame 067335/0246 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2021
From: CHO, YOUNG ICK; PARK, BYEONG GYU; HONG, SUNG KWAN
To: SK HYNIX INC.
Reel/Frame 055828/0393 →
Priority Claims (1)
KR 10-2020-0130351 · Oct 8, 2020 · national
Continuity (1)
Related Publication 20220113870A1 · Apr 14, 2022