IP Library › Granted Patent US 11,269,534
Granted Patent B2
US 11,269,534 · App. 16/902,475 · Granted Mar 8, 2022

Data storage device and non-volatile memory control method

Inventors: Hsuan-Ping Lin (Taichung, TW); Jie-Hao Lee (Zhubei, TW); Jen-Hung Liao (Zhubei, TW)
Assignee: SILICON MOTION, INC.
G06F3/0644G06F3/0604G06F3/064G06F3/0659G06F3/0679
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,269,534
App. No.
16/902,475
Granted
Mar 8, 2022
Kind
B2
Abstract

An efficient control technology for non-volatile memory is shown. A controller selects the main source block from the non-volatile memory, wherein the main source block has a logical group amount exceeding a threshold amount. The controller selects a target logical group from the main source block, and collects data of the target logical group to a destination block provided by the non-volatile memory to reduce the logical group amount of the main source block.

Claims (44)

1. A data storage device, comprising:

a non-volatile memory; and

a controller, configured to control the non-volatile memory,

wherein:

the controller selects a main source block from the non-volatile memory, wherein the main source block has a logical group amount exceeding a threshold amount and the logical group amount shows how much logical groups related to data stored in the main source block; and

the controller selects a target logical group from a plurality of logical groups of data stored in the main source block and collects data of the target logical group to a destination block of the non-volatile memory to reduce the logical group amount of the main source block.

2. The data storage device as claimed in claim 1 , wherein:

in addition to collecting data of the target logical group from the main source block to the destination block, the controller further collects data of the target logical group from the other blocks of the non-volatile memory to the destination block for data rearrangement of the target logical group.

3. The data storage device as claimed in claim 2 , wherein:

the controller repeats data rearrangement of several logical groups related to the main source block until the logical group amount of the main source block is reduced to not exceeding the threshold amount.

4. The data storage device as claimed in claim 3 , wherein:

the controller performs the data rearrangement when not operating in response to a host.

5. The data storage device as claimed in claim 3 , wherein:

the controller dynamically increases the threshold amount in response to frequent use of the data storage device.

6. The data storage device as claimed in claim 1 , wherein:

the controller loads a target sub table corresponding to the target logical group from the non-volatile memory to a temporary storage;

according to the target sub table loaded in the temporary storage, the controller moves all valid data of the target logical group to the destination block; and

the controller updates the target sub table in the temporary storage to map the target logical group to the destination block and then stores the updated target sub table back to the non-volatile memory.

7. The data storage device as claimed in claim 1 , wherein:

the controller takes a logical group having the largest amount of data in the main source block as the target logical group.

8. The data storage device as claimed in claim 1 , wherein:

the controller programs write data issued by a host to an active block of the non-volatile memory and calculates a logical group amount of the active block;

when closing the active block, the controller determines whether the logical group amount of the active block is greater than the threshold amount; and

when determining that the logical group amount of the active block is greater than the threshold amount, the controller regards the closed active block as the main source block.

9. A non-volatile memory control method, comprising:

selecting a main source block from a non-volatile memory, wherein the main source block has a logical group amount exceeding a threshold amount and the logical group amount shows how much logical groups related to data stored in the main source block; and

selecting a target logical group from a plurality of logical groups of data stored in the main source block, and collecting data of the target logical group to a destination block of the non-volatile memory to reduce the logical group amount of the main source block.

10. The non-volatile memory control method as claimed in claim 9 , further comprising:

in addition to collecting data of the target logical group from the main source block to the destination block, further collecting data of the target logical group from the other blocks of the non-volatile memory to the destination block for data rearrangement of the target logical group.

11. The non-volatile memory control method as claimed in claim 10 , further comprising:

repeating data rearrangement of several logical groups related to the main source block until the logical group amount of the main source block is reduced to not exceeding the threshold amount.

12. The non-volatile memory control method as claimed in claim 11 , wherein when not operating in response to a host, the data rearrangement is performed.

13. The non-volatile memory control method as claimed in claim 11 , further comprising:

dynamically increasing the threshold amount in response to frequent use of the non-volatile memory.

14. The non-volatile memory control method as claimed in claim 9 , further comprising:

loading a target sub table corresponding to the target logical group from the non-volatile memory to a temporary storage;

according to the target sub table loaded in the temporary storage, moving all valid data of the target logical group to the destination block; and

updating the target sub table in the temporary storage to map the target logical group to the destination block and then storing the updated target sub table back to the non-volatile memory.

15. The non-volatile memory control method as claimed in claim 9 , wherein:

a logical group having the largest amount of data in the main source block is regarded as the target logical group.

16. The non-volatile memory control method as claimed in claim 9 , further comprising:

programming write data issued by a host to an active block of the non-volatile memory and calculating a logical group amount of the active block;

when closing the active block, determining whether the logical group amount of the active block is greater than the threshold amount; and

when determining that the logical group amount of the active block is greater than the threshold amount, regarding the closed active block as the main source block.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2020
From: LIN, HSUAN-PING; LEE, JIE-HAO; LIAO, JEN-HUNG
To: SILICON MOTION, INC.
Reel/Frame 052948/0882 →
Priority Claims (1)
TW 108133729 · Sep 19, 2019 · national
Continuity (1)
Related Publication 20210089223A1 · Mar 25, 2021