IP Library Granted Patent US 11,816,334
Granted Patent B2
US 11,816,334 · App. 17/398,402 · Granted Nov 14, 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,816,334
App. No.
17/398,402
Granted
Nov 14, 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 (44)

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

obtaining an I/O data stream to be written into the solid-state drive;

dividing the I/O data stream to be written into a plurality of groups based on a plurality of rewriting times using a learning model,

wherein:

the learning model comprises a plurality of neural structure layers comprising an output layer, one or more coding layers, and one or more decoding layers, wherein the output layer generates a result characteristic set; and

dividing the I/O data stream using the learning model comprises:

inputting a set of data characteristics associated with the I/O data stream into the learning model, the set of data characteristics being obtained from one or more hash values in a hash table, the one or more hash values corresponding to the I/O data stream;

calculating, through one of the one or more coding layers, a weight matrix based on the set of data characteristics; and

inputting the weight matrix into one of the one or more decoding layers for decoding performed by the one of the one or more decoding layers, the one of the one or more decoding layers corresponding to the one of the one or more coding layers; and

determining a corresponding target data block of the solid-state drive for writing each group of the plurality of groups of the I/O data stream, respectively, and writing each group of the plurality of groups of the I/O data stream to the corresponding target data block, respectively, so that two or more groups of the I/O data stream are not written in a same target data block.

2. The method of claim 1 , wherein each group of the plurality of groups is associated with a rewriting time from the plurality of rewriting times and comprises data to be written into the corresponding target data block and to be rewritten based on the rewriting time.

3. The method of claim 1 , wherein the set of data characteristics comprises at least one of access history data of a data page, a current I/O operation type and an address of the data page, an access frequency of the data page, a re-reference interval of the data page, a data category of the data page, a file name of a file to which the data page belongs, a file type of the file, or a file size of the file.

4. The method of claim 3 , wherein the access history data of the data page comprises an I/O operation record for the 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 data page comprises a category division for characterizing a read/write characteristic of data in the data page.

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

8. The method of claim 1 , wherein one or more data pages of the corresponding target data block are rewritten synchronously.

9. The method of claim 1 , wherein the learning model is established through machine learning.

10. The method of claim 9 , wherein the machine learning comprises at least one of a reinforcement learning, a deep learning, or combinations thereof.

11. The method of claim 10 ,

wherein 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.

12. The method of claim 1 , wherein the plurality of groups are written into a plurality of target data blocks and are rewritten based on the plurality of rewriting times, respectively, and each of the plurality of groups corresponds to one of the plurality of target data blocks.

13. The method of claim 1 , wherein

the learning model comprises a reinforcement deep learning model;

an output from the learning model is enhanced through a reinforcement learning of the learning model; and

the set of data characteristics inputted into the learning model is adjusted through a deep learning of the learning model.

14. A device for controlling a solid-state drive, comprising a control device configured to:

obtain an I/O data stream to be written into the solid-state drive;

divide the I/O data stream to be written into a plurality of groups based on a plurality of rewriting times using a learning model,

wherein:

the learning model comprises a plurality of neural structure layers comprising an output layer, one or more coding layers, and one or more decoding layers, wherein the output layer generates a result characteristic set; and

the control device is further configured to divide the I/O data stream using the learning model by:

inputting a set of data characteristics associated with the I/O data stream into the learning model, the set of data characteristics being obtained from one or more hash values in a hash table, the one or more hash values corresponding to the I/O data stream:

calculating, through one of the one or more coding lavers, a weight matrix based on the set of data characteristics; and inputting the weight matrix into one of the one or more decoding layers for decoding performed by the one of the one or more decoding lavers; the one of the one or more decoding layers corresponding to the one of the one or more coding layers; and

determine a corresponding target data block of the solid-state drive for writing each group of the plurality of groups of the I/O data stream, respectively, and write each group of the plurality of groups of the I/O data stream to the corresponding target data block, respectively, so that two or more groups of the I/O data stream are not written in a same target data block.

15. The device of claim 14 , wherein each group of the plurality of groups is associated with a rewriting time from the plurality of rewriting times and comprises data to be written into the corresponding target data block and to be rewritten based on the rewriting time.

16. The device of claim 14 , wherein the set of data characteristics comprises at least one of access history data of a data page, a current I/O operation type and an address of the data page, an access frequency of the data page, a re-reference interval of the data page, a data category of the data page, a file name of a file to which the data page belongs, a file type of the file, or a file size of the file.

17. The device of claim 14 , wherein one or more data pages of the corresponding target data block are rewritten synchronously.

18. The device of claim 14 , wherein the learning model is established through machine learning.

19. The device of claim 18 , wherein the machine learning comprises at least one of a reinforcement learning, a deep learning, or combinations thereof.

20. The device of claim 19 ,

wherein 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/0245 →
Priority Claims (1)
CN 201610690097.2 · Aug 19, 2016 · national
Continuity (3)
Division 16249897 · Jan 17, 2019
Continuation PCTCN2017097330 · Aug 14, 2017
Related Publication 20210365215A1 · Nov 25, 2021