IP Library Granted Patent US 11,327,883
Granted Patent B2
US 11,327,883 · App. 16/816,313 · Granted May 10, 2022

Solid-state drive performance and lifespan based on data affinity

Inventors: Zhi Zhi Huang (Shanghai, CN); Yongjie Gong (Shanghai, CN); Xu Chu Jiang (Shanghai, CN); Yao Dong Zhang (Shanghai, CN); Ning Ding (Shanghai, CN); Zhen Nyu Yao (Shanghai, CN); Jing Lan Chen (Shanghai, CN)
Assignee: International Business Machines Corporation
G06F12/0246G06F12/0253G06N3/02G06F2212/1016G06F2212/7201G06F2212/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 11,327,883
App. No.
16/816,313
Granted
May 10, 2022
Kind
B2
Abstract

The example embodiments disclose a system and method, a computer program product, and a computer system for improving solid-state drive performance. The example embodiments may include generating, by an affinity adapter located external to the solid-state drive, a plurality of affinities for each of a plurality of data to a respective plurality of subdivisions of data of a solid-state drive, wherein each of the plurality of data is associated with a logical block address (LBA) and each of the respective plurality of subdivisions has a physical block address (PBA). The example embodiments may also include receiving a request to write first data having a first LBA to the solid-state drive, determining by the solid-state drive, at a first time, that the first data has an affinity with a particular subdivision of data of a solid-state drive based on the generated plurality of affinities, and writing the first data to a memory location of the solid-state drive, wherein the PBA of the memory location has the determined affinity.

Claims (43)

1. A computer-implemented method for improving solid-state drive performance, the method comprising:

receiving, by a machine learning correlation algorithm, past logical block address write requests;

generating an affinity table using the received machine learning correlation algorithm and the past logical block address write requests;

syncing the generated affinity table to a meta-data area of a solid-state drive based on determining differences between the generated affinity table and a stored affinity table in the solid-state drive;

generating, by an affinity adapter located external to the solid-state drive, a plurality of affinities for each of a plurality of data to a respective plurality of subdivisions of data of the solid-state drive, wherein the plurality of affinities is generated by the machine learning correlation algorithm, wherein each of the plurality of data is associated with a logical block address (LBA) and each of the respective plurality of subdivisions has a physical block address (PBA);

receiving a request to write first data having a first LBA to the solid-state drive;

determining by the solid-state drive, at a first time, that the first data has an affinity with a particular subdivision of data of a solid-state drive based on the generated plurality of affinities; and

writing the first data to a memory location of the solid-state drive, wherein the PBA of the memory location has the determined affinity.

2. The method of claim 1 , wherein generating the affinity for each of the plurality of data to the respective plurality of subdivisions of data of a solid-state drive further comprises receiving a plurality of past write requests of the solid-state drive.

3. The method of claim 1 , further comprising storing the generated plurality of affinities in one or more affinity tables.

4. The method of claim 1 , wherein the received request to write first data having a first LBA to the solid-state drive is generated by a garbage collection process.

5. The method of claim 2 , wherein the plurality of past write requests of the solid-state drive are received over a first time period.

6. The method of claim 5 , further comprising determining, at a second time subsequent to the first time, that the first data does not have an affinity with the particular subdivision of data of a solid-state drive, wherein the determining that the first data does not have an affinity with the particular subdivision of data of a solid-state drive is based on a second generation of a plurality of affinities.

7. The method of claim 1 , wherein each subdivision of the solid-state drive's memory contains data of no more than one affinity.

8. A computer program product for improving solid-state drive performance, the computer program product comprising:

one or more non-transitory computer-readable storage media and program instructions stored on the one or more non-transitory computer-readable storage media capable of performing a method, the method comprising:

receiving, by a machine learning correlation algorithm, past logical block address write requests;

generating an affinity table using the received machine learning correlation algorithm and the past logical block address write requests;

syncing the generated affinity table to a meta-data area of a solid-state drive based on determining differences between the generated affinity table and a stored affinity table in the solid-state drive;

generating, by an affinity adapter located external to the solid-state drive, a plurality of affinities for each of a plurality of data to a respective plurality of subdivisions of data of the solid-state drive, wherein the plurality of affinities is generated by the machine learning correlation algorithm, wherein each of the plurality of data is associated with a logical block address (LBA) and each of the respective plurality of subdivisions has a physical block address (PBA);

receiving a request to write first data having a first LBA to the solid-state drive;

determining by the solid-state drive, at a first time, that the first data has an affinity with a particular subdivision of data of a solid-state drive based on the generated plurality of affinities; and

writing the first data to a memory location of the solid-state drive, wherein the PBA of the memory location has the determined affinity.

9. The computer program product of claim 8 , wherein generating the affinity for each of the plurality of data to the respective plurality of subdivisions of data of a solid-state drive further comprises receiving a plurality of past write requests of the solid-state drive.

10. The computer program product of claim 8 , further comprising storing the generated plurality of affinities in one or more affinity tables.

11. The computer program product of claim 8 , wherein the received request to write first data having a first LBA to the solid-state drive is generated by a garbage collection process.

12. The computer program product of claim 9 , wherein the plurality of past write requests of the solid-state drive are received over a first time period.

13. The computer program product of claim 12 , further comprising determining, at a second time subsequent to the first time, that the first data does not have an affinity with the particular subdivision of data of a solid-state drive, wherein the determining that the first data does not have an affinity with the particular subdivision of data of a solid-state drive is based on a second generation of a plurality of affinities.

14. The computer program product of claim 8 , wherein the affinity of one or more units of data is determined using one or more methods from the group comprising maximum entropy methods and neural net methods.

15. A computer system for improving solid-state drive performance, the computer system comprising:

one or more computer processors, one or more non-transitory computer-readable storage media, and program instructions stored on the one or more non-transitory computer-readable storage media for execution by at least one of the one or more processors capable of performing a method, the method comprising:

receiving, by a machine learning correlation algorithm, past logical block address write requests;

generating an affinity table using the received machine learning correlation algorithm and the past logical block address write requests;

syncing the generated affinity table to a meta-data area of a solid-state drive based on determining differences between the generated affinity table and a stored affinity table in the solid-state drive;

generating, by an affinity adapter located external to the solid-state drive, a plurality of affinities for each of a plurality of data to a respective plurality of subdivisions of data of the solid-state drive, wherein the plurality of affinities is generated by the machine learning correlation algorithm, wherein each of the plurality of data is associated with a logical block address (LBA) and each of the respective plurality of subdivisions has a physical block address (PBA);

receiving a request to write first data having a first LBA to the solid-state drive;

determining by the solid-state drive, at a first time, that the first data has an affinity with a particular subdivision of data of a solid-state drive based on the generated plurality of affinities; and

writing the first data to a memory location of the solid-state drive, wherein the PBA of the memory location has the determined affinity.

16. The computer system of claim 15 , wherein generating the affinity for each of the plurality of data to the respective plurality of subdivisions of data of a solid-state drive further comprises receiving a plurality of past write requests of the solid-state drive.

17. The computer system of claim 15 , further comprising storing the generated plurality of affinities in one or more affinity tables.

18. The computer system of claim 15 , wherein the received request to write first data having a first LBA to the solid-state drive is generated by a garbage collection process.

19. The computer system of claim 16 , wherein the plurality of past write requests of the solid-state drive are received over a first time period.

20. The computer system of claim 19 , further comprising determining, at a second time subsequent to the first time, that the first data does not have an affinity with the particular subdivision of data of a solid-state drive, wherein the determining that the first data does not have an affinity with the particular subdivision of data of a solid-state drive is based on a second generation of a plurality of affinities.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2020
From: HUANG, ZHI ZHI; GONG, YONGJIE; JIANG, XU CHU; ZHANG, YAO DONG; DING, NING; YAO, ZHEN NYU; CHEN, JING LAN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 052091/0689 →
Continuity (1)
Related Publication 20210286717A1 · Sep 16, 2021
Cited By (1)
US 12,367,149