IP Library Granted Patent US 11,797,185
Granted Patent B2
US 11,797,185 · App. 17/398,357 · Granted Oct 24, 2023

Solid-state drive control device and learning-based solid-state drive data access method

Inventor: Jing Yang (Shenzhen, CN)
Assignee: SHENZHEN DAPU MICROELECTRONICS CO., LTD.
G06F3/061G06F3/06G06F3/0611G06F3/0653G06F3/0659G06F3/0673G06N5/04G06N20/00G06N3/092
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,797,185
App. No.
17/398,357
Granted
Oct 24, 2023
Kind
B2
Abstract

The invention discloses a solid-state drive control device and a learning-based solid-state drive data access method, wherein the method comprises the steps of: presetting a hash table, the hash table comprising more than one hash value, the hash value is used to record and represent data characteristics of data pages in the solid-state drive. Obtaining an I/O data. stream of the solid-state drive, and obtaining a hash value corresponding to the I/O data stream in the hash table. Predicting a sequence of data pages and/or data pages that are about to be accessed by a preset first learning model. Prefetching data is performed in the solid-state drive based on an output result of the first learning model. Through the embodiment of the present invention, when predicting prefetched data, learning can be performed in real time to adapt to different application categories and access modes through adaptive adjustment parameters, so that better data prefetching performance can be obtained.

Claims (38)

1. A method for accessing data of a solid-state drive, comprising:

obtaining an input/output (I/O) data stream of the solid-state drive

predicting information related to a data page to be accessed or a data page sequence to be accessed using a learning model, wherein a first input of the learning model includes a plurality of data characteristics associated with the I/O data stream,

wherein the learning model comprises a reinforcement learning model, a prefetch performance indicator for the data of the solid-state drive is set, and the prefetch performance indicator indicates a prefetch hit rate,

wherein when an output result of the learning model is less than the prefetch performance indicator or the prefetch performance indicator decreases, a penalty value is fed back as a second input of the learning model to adjust a set of weights in the learning model, and

wherein when the output result of the learning model causes the prefetch performance indicator to increase, a reward value is fed back as the second input of the learning model to stimulate and increase one or more weights associated with one or more valid data characteristics in the plurality of data characteristics: and

determining I/O data to be accessed from the solid-state drive based on the predicted information.

2. The method of claim 1 , further comprising fetching the determined I/O data into a cache.

3. The method of claim 1 , wherein the plurality of data characteristics comprise one or more of access history data of a corresponding data page of the solid-state drive, an address of the corresponding data page, an access frequency of the corresponding data page, a re-reference interval of the corresponding data page, a data category of the corresponding data page, a file name of a file to which the corresponding data page belongs, a file type of the file, and a file size of the file.

4. The method of claim 3 , wherein the access history data of the corresponding data page comprises an I/O operation record for the corresponding data page within a period of time.

5. The method of claim 4 , wherein the I/O operation record comprises a mode, a time, a frequency, or a combination thereof of an I/O operation.

6. The method of claim 3 , wherein the data category of the corresponding data page comprises a category division for characterizing a read/write characteristic of data in the corresponding data page.

7. The method of claim 6 , wherein the read/write characteristic of the data in the corresponding data page indicates whether the data in the corresponding data page is read-only data, one-write multi-read data, or frequently-written data.

8. The method of claim 1 , wherein the information related to the data page to be accessed or the data page sequence to be accessed comprises at least one of a plurality of data pages of the solid-state drive to be accessed or a sequence of the plurality of data pages.

9. The method of claim 1 , wherein

the learning model comprises an output layer, one or more coding layers, and one or more decoding layers;

the one or more coding layers and the one or more decoding layers are symmetric to one another with respect to the output layer; and

a weight matrix of each of the one or more coding layers is transposed as a weight matrix of a respective decoding layer that is symmetric to the coding layer.

10. A device for accessing data of a solid-state drive, comprising:

a memory configured to store instructions; and

a processor coupled to the memory and configured to execute the instructions to perform a process comprising:

obtaining an input/output (I/O) data stream of the solid-state drive;

predicting information related to a data page to be accessed or a data page sequence to be accessed using a learning model, wherein a first input of the learning model includes a plurality of data characteristics associated with the I/O data stream,

wherein the learning model comprises a reinforcement learning model, a prefetch performance indicator for the data of the solid-state drive is set, and the prefetch performance indicator indicates a prefetch hit rate,

wherein when an output result of the learning model is less than the prefetch performance indicator or the prefetch performance indicator decreases, a penalty value is fed back as a second input of the learning model to adjust a set of weights in the learning model, and

wherein when the output result of the learning model causes the prefetch performance indicator to increase, a reward value is fed back as the second input of the learning model to stimulate and increase one or more weights associated with one or more valid data characteristics in the plurality of data characteristics; and

determining I/O data to be accessed from the solid-state drive based on the predicted information.

11. The device of claim 10 , wherein the processor is configured to execute the instructions to perform the process further comprising fetching the determined I/O data into a cache.

12. The device of claim 10 , wherein the plurality of data characteristics comprise one or more of access history data of a corresponding data page of the solid-state drive, an address of the corresponding data page, an access frequency of the corresponding data page, a re-reference interval of the corresponding data page, a data category of the corresponding data page, a file name of a file to which the corresponding data page belongs, a file type of the file, and a file size of the file.

13. The device of claim 12 , wherein the access history data of the corresponding data page comprises an I/O operation record for the corresponding data page within a period of time.

14. The device of claim 13 , wherein the I/O operation record comprises a mode, a time, a frequency, or a combination thereof of an I/O operation.

15. The device of claim 12 , wherein the data category of the corresponding data page comprises a category division for characterizing a read/write characteristic of data in the corresponding data page.

16. The device of claim 15 , wherein the read/write characteristic of the data in the corresponding data page indicates whether the data in the corresponding data page is read-only data, one-write multi-read data, or frequently-written data.

17. The device of claim 10 , wherein the information related to the data page to be accessed or the data page sequence to be accessed comprises at least one of a plurality of data pages of the solid-state drive to be accessed or a sequence of the plurality of data pages.

18. The device of claim 10 , wherein

the learning model comprises an output layer, one or more coding layers, and one or more decoding layers;

the one or more coding layers and the one or more decoding layers are symmetric to one another with respect to the output layer; and

a weight matrix of each of the one or more coding layers is transposed as a weight matrix of a respective decoding layer that is symmetric to the coding layer.

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 Aug 11, 2021
From: YANG, JING
To: SHENZHEN DAPU MICROELECTRONICS CO., LTD.
Reel/Frame 057143/0229 →
Priority Claims (1)
CN 201610690097.2 · Aug 19, 2016 · national
Continuity (3)
Continuation 16249897 · Jan 17, 2019
Continuation PCTCN2017097330 · Aug 14, 2017
Related Publication 20210365214A1 · Nov 25, 2021