IP Library Granted Patent US 10,810,127
Granted Patent B2
US 10,810,127 · App. 16/251,251 · Granted Oct 20, 2020

Solid-state hard disk and data access method for use with solid-state hard disk

Inventors: Haibo He (Shenzhen, CN); Qing Yang (Shenzhen, CN)
Assignee: SHENZHEN DAPU MICROELECTRONICS CO., LTD.
G06F12/0871G06F3/06G06F3/0622G06F12/0246G06F12/0868G06F12/123G06F2212/2022G06F2212/604G06F2212/7203G06F2212/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 10,810,127
App. No.
16/251,251
Granted
Oct 20, 2020
Kind
B2
Abstract

Solid-state drives (SSD) and a data access method for SSD are provided. The method includes the following. Cache acquired data-to-be-written to a preset write cache module. Rank the data-to-be-written in the write cache module according to a least recently used page (LRU) algorithm. When data storage amount of the write cache module reaches a preset value, determine a preset number of replacement data among the infrequently used data-to-be-written according to a preset cache replacement algorithm. Write the replacement data into a flash memory of the SSD. Implementations of the present disclosure can decrease effectively the number of times of rewriting on a flash memory of the SSD, thereby reducing effectively a write amplifying problem of the SSD during data access.

Claims (38)

1. A method for data access on a solid-state drive (SSD), comprising:

caching data-to-be-written to a write cache module of the SSD;

ranking the data-to-be-written in the write cache module based on use frequency of the data-to-be-written;

obtaining group information of the data-to-be-written based on a rewrite interval value of the data-to-be-written, wherein obtaining the group information comprises,

after caching the data-to-be-written, grouping the data-to-be-written based on (i) the rewrite interval value of the data-to-be-written and (ii) dividing valid data pages and invalid data pages into different groups when data pages of a data block in the SSD are unable to be entirely rewritten in synchrony during rewriting, wherein rewriting in synchrony is determined by determining whether a time difference between a time point at which any data page of the data block is rewritten and a time point at which any other data page of the data block is rewritten is shorter than a preset duration,

recording page information of the data-to-be-written, the page information comprising the group information of the data-to-be-written, and

prior to writing the replacement data, determining a target data block in the storage unit based on the group information of the replacement data;

when data storage amount of the write cache module reaches a threshold, determining replacement data from the data-to-be-written based on the ranking of the data-to-be-written; and

writing the replacement data into a storage unit of the SSD based on group information of the replacement data from the group information of the data-to-be-written.

2. The method of claim 1 , wherein:

the data-to-be-written comprises a plurality of data pages;

ranking the data-to-be-written in the write cache module comprises ranking the plurality of data pages based on the respective user frequency of each of the data pages; and

determining the replacement data comprises determining a plurality of replacement data pages from the plurality of data pages based on the ranking of the data pages.

3. The method of claim 1 , wherein the data-to-be written is ranked based on a least recently used page (LRU) algorithm.

4. The method of claim 1 , wherein the replacement data includes infrequently used data-to-be-written according to the ranking.

5. The method of claim 1 , wherein determining the replacement data further comprises determining an amount of the replacement data.

6. The method of claim 1 , wherein the storage unit is a flash memory.

7. The method of claim 1 , further comprising revising group information of the valid data page by increasing a rewrite interval value of the valid data page.

8. A solid-state drive (SSD), comprising:

a write cache module configured to cache data-to-be-written;

a storage unit; and

a control device, comprising:

a ranking unit configured to rank the data-to-be-written in the write cache module based on use frequency of the data-to-be-written;

a grouping unit and a recording unit configured to obtain group information of the data-to-be-written based on a rewrite interval value of the data-to-be-written, wherein

obtaining the group information comprises, after caching the data-to-be-written, grouping the data-to-be-written based on (i) the rewrite interval value of the data-to-be-written and (ii) dividing valid data pages and invalid data pages into different groups when data pages of a data block in the SSD are unable to be entirely rewritten in synchrony during rewriting, wherein rewriting in synchrony is determined by determining whether a time difference between a time point at which any data page of the data block is rewritten and a time point at which any other data page of the data block is rewritten is shorter than a preset duration,

recording page information of the data-to-be-written, the page information comprising the group information of the data-to-be-written, and

prior to writing the replacement data, determining a target data block in the storage unit based on the group information of the replacement data;

a replacing unit configured to, when data storage amount of the write cache module reaches a threshold, determine replacement data from the data-to-be-written based on the ranking of the data-to-be-written; and

a writing unit configured to write the replacement data into the storage unit of the SSD based on group information of the replacement data from the group information of the data-to-be-written.

9. The SSD of claim 8 , wherein:

the data-to-be-written comprises a plurality of data pages;

the ranking unit is further configured to rank the plurality of data pages based on the respective user frequency of each of the data pages; and

the replacing unit is further configured to determine a plurality of replacement data pages from the plurality of data pages based on the ranking of the data pages.

10. The SSD of claim 8 , wherein the data-to-be written is ranked based on a least recently used page (LRU) algorithm.

11. The SSD of claim 8 , wherein the replacement data includes infrequently used data-to-be-written according to the ranking.

12. The SSD of claim 8 , wherein the replacing unit is further configured to determine an amount of the replacement data.

13. The SSD of claim 8 , wherein the storage unit is a flash memory.

14. The SSD of claim 8 , further comprising a revising unit configured to revise group information of the valid data page by increasing a rewrite interval value of the valid data page.

Assignments (2)
CHANGE OF NAME AND ADDRESS Recorded May 20, 2025
From: SHENZHEN DAPU MICROELECTRONICS CO., LTD.
To: DAPUSTOR CORPORATION
Reel/Frame 071515/0132 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2019
From: HE, HAIBO; YANG, QING
To: SHENZHEN DAPU MICROELECTRONICS CO., LTD.
Reel/Frame 048055/0864 →
Priority Claims (1)
CZ 2016 1 0690098 · Aug 19, 2016 · national
Continuity (2)
Continuation PCTCN2017097331 · Aug 14, 2017
Related Publication 20190155737A1 · May 23, 2019