IP Library Granted Patent US 9,304,903
Granted Patent B2
US 9,304,903 · App. 14/022,361 · Granted Apr 5, 2016

Block grouping method for solid state drive

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 9,304,903
App. No.
14/022,361
Granted
Apr 5, 2016
Kind
B2
Abstract

A block grouping method for a solid state drive includes the following steps. Firstly, plural blocks are classified into a high valid data count group and a low valid data count group according to valid data counts of respective blocks. An average erase count is set according to a specified number of blocks of the low valid data count group. A first block is selected from the high valid data count. A difference between the average erase count and a first erase count of the first block is calculated. If the difference exceeds a threshold value, a wear leveling operation is performed on the first block.

Claims (41)

1. A block grouping method for a solid state drive, the block grouping method comprising steps of:

(a) classifying plural blocks into a high valid data count group and a low valid data count group according to valid data counts of respective blocks, and establishing a link list according to erase counts of respective blocks;

(b) setting an average erase count according to the blocks of the low valid data count group;

(c) judging whether a host refreshes a stored data of a flash memory of the solid state drive or adds a new data into the flash memory, wherein if the judging condition is satisfied, changing the valid data count of the block corresponding to the refreshed data or the new data;

(d) if a garbage collection is not started by the solid state drive, repeatedly performing the step (c); and

(e) if the garbage collection is started by the solid state drive, selecting the block with an erase content lower than the average erase count from the low valid data count group, performing the garbage collection on the selected block, updating the average erase count according to the blocks of the low valid data count group, and determining whether a wear leveling operation is started according to the updated average erase count.

2. The block grouping method as claimed in claim 1 , wherein the step of establishing the link list comprises sub-steps of:

establishing a first link between the blocks of the low valid data count group according to a sequence of the erase counts of the corresponding blocks; and

establishing a second link between the blocks of the high valid data count group according to a sequence of the erase counts of the corresponding blocks.

3. The block grouping method as claimed in claim 1 , where the step (b) further comprises steps of:

selecting M blocks with lower erase counts from the low valid data count; and

setting an average of the erase counts of the M blocks as the average erase count.

4. The block grouping method as claimed in claim 1 , where the step (e) further comprises steps of:

selecting a first block from the high valid data count;

calculating a difference between the average erase count and a first erase count of the first block; and

if the difference exceeds a threshold value, performing the wear leveling operation on the first block.

5. The block grouping method as claimed in claim 1 , where the step (a) further comprises steps of:

classifying the plural blocks into plural parts according to the valid data counts of respective blocks;

classifying plural parts into the high valid data count group and the low valid data count group; and

establishing the link list according to the erase counts of respective blocks.

6. The block grouping method as claimed in claim 5 , wherein the step of establishing the link list comprises a sub-step of establishing a link between the blocks of each part according to a sequence of the erase counts of the corresponding blocks.

7. A block grouping method for a solid state drive, the block grouping method comprising steps of:

classifying plural blocks into a high valid data count group and a low valid data count group according to valid data counts of respective blocks;

setting an average erase count according to a specified number of blocks of the low valid data count group;

selecting a first block from the high valid data count;

calculating a difference between the average erase count and a first erase count of the first block; and

if the difference exceeds a threshold value, performing a wear leveling operation on the first block.

8. The block grouping method as claimed in claim 7 , wherein the step of setting the average erase count according to the specified number of blocks of the low valid data count group further comprises steps of:

selecting M blocks with lower erase counts from the low valid data count; and

setting an average of the erase counts of the M blocks as the average erase count.

9. The block grouping method as claimed in claim 7 , further comprising a step of selectively performing a garbage collection, wherein if the garbage collection is started by the solid state drive, selecting the block with an erase content lower than the average erase count from the low valid data count group, and updating the average erase count.

10. A block grouping method for a solid state drive, the block grouping method comprising steps of:

classifying plural blocks into a high valid data count group and a low valid data count group according to valid data counts of respective blocks, and establishing a link list according to erase counts of respective blocks; and

setting an average erase count according to a specified number of blocks of the low valid data count group;

wherein, if a garbage collection is started by the solid state drive, the block with a lower erase content is selected from the low valid data count group according to the link list, and the garbage collection is performed on the selected block;

wherein, if a difference between the average erase count and a first erase count of a specified block of the high valid data count group exceeds a threshold value, a wear leveling operation is performed on the first block.

11. The block grouping method as claimed in claim 10 , wherein the step of setting the average erase count according to the specified number of blocks of the low valid data count group further comprises steps of:

selecting M blocks with lower erase counts from the low valid data count; and

setting an average of the erase counts of the M blocks as the average erase count.

12. The block grouping method as claimed in claim 10 , wherein the specified block of the high valid data count group contains cold data, and the first erase count of the specified block is lower in the high valid data count group.

13. The block grouping method as claimed in claim 10 , wherein a history parameter of the specified block of the high valid data count group is earlier in the high valid data count group, and the first erase count of the specified block is lower in the high valid data count group.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2019
From: LITE-ON TECHNOLOGY CORPORATION
To: SOLID STATE STORAGE TECHNOLOGY CORPORATION
Reel/Frame 051213/0875 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2014
From: LITE-ON IT CORP.
To: LITE-ON TECHNOLOGY CORPORATION
Reel/Frame 032892/0554 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2013
From: LI, CHIA-LUN
To: LITE-ON IT CORPORATION
Reel/Frame 031172/0018 →