IP Library › Granted Patent US 10,949,126
Granted Patent B2
US 10,949,126 · App. 16/521,739 · Granted Mar 16, 2021

Solid-state storage device speed performance and endurance through host-side data classification and embedded write caching

Inventors: Tong Zhang (Albany, NY); Yang Liu (Milpitas, CA); Fei Sun (Irvine, CA); Hao Zhong (Los Gatos, CA)
Assignee: SCALEFLUX, INC.
G06F3/0659G06F3/0611G06F3/0656G06F3/0679G06F12/10G06F2212/657
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,949,126
App. No.
16/521,739
Granted
Mar 16, 2021
Kind
B2
Abstract

A method for host-side data classification according to embodiments, includes: writing a data sector directly from a host to a storage device; storing the data sector in the storage device; sending a write completion acknowledgement from the storage device to the host; in the background: classifying the data sector on the host to estimate an expected lifetime of the data sector; assigning a data type index to the data sector based on the expected lifetime of the data sector; and asynchronously sending the data type index for the data sector from the host to the storage device.

Claims (50)

1. A method for host-side data classification, comprising:

writing a data sector directly from a host to a storage device;

storing the data sector in the storage device;

sending a write completion acknowledgement from the storage device to the host;

in the background:

classifying the data sector on the host to estimate an expected lifetime of the data sector, wherein the classifying includes analyzing a logical block address (LBA) of the data sector to estimate its expected lifetime;

assigning a data type index to the data sector based on the expected lifetime of the data sector;

asynchronously sending the data type index for the data sector from the host to the storage device,

storing the data sector at an address in a write cache of the storage device;

assigning an initial value to the data type index of the data sector; and

inserting the LBA of the data sector, the initial value of the data type index of the data sector, and the address of the data sector in the write cache, in an LBA hash table of the storage device.

2. The method according to claim 1 , further comprising updating the initial value of the data type index of the data sector in the LBA hash table of the storage device with the data type index received from the host.

3. The method according to claim 1 , wherein the inserting further comprises:

obtaining an empty address in the write cache of the storage device; and

storing the data sector in the empty address of the write cache.

4. The method according to claim 1 , further comprising determining if the LBA of the data sector has been successfully inserted into the LBA hash table.

5. The method according to claim 4 , wherein, in the case of an unsuccessful insertion of the LBA into the LBA hash table:

identifying an entry in the LBA hash table corresponding to the data sector with the largest data type index;

removing the identified entry from the LBA hash table; and

moving the data sector with the largest data type index from the write cache to a buffer of the storage device.

6. The method according to claim 5 , further comprising:

determining if the buffer of the storage device has accumulated a sufficient number of the data sectors; and

if the buffer of the storage device has accumulated a sufficient number of the data sectors, writing the data sectors from buffer to a memory of the storage device.

7. A storage infrastructure, comprising:

a host; and

a storage device;

wherein the storage device is configured to:

store a data sector received from the host; and

send a write completion acknowledgement to the host; and

wherein, in the background, the host is configured to:

classify the data sector to estimate an expected lifetime of the data sector, wherein the classifying includes analyzing a logical block address (LBA) of the data sector to estimate its expected lifetime;

assign a data type index to the data sector based on the expected lifetime of the data sector;

asynchronously send the data type index for the data sector to the storage device,

store the data sector at an address in a write cache of the storage device;

assign an initial value to the data type index of the data sector; and

insert the LBA of the data sector, the initial value of the data type index of the data sector, and the address of the data sector in the write cache, in an LBA hash table of the storage device.

8. The storage infrastructure according to claim 7 , wherein the storage device is further configured to update the initial value of the data type index of the data sector in the LBA hash table with the data type index received from the host.

9. The storage infrastructure according to claim 7 , wherein the storage device is further configured to:

obtain an empty address in the write cache of the storage device; and

store the data sector in the empty address of the write cache.

10. The storage infrastructure according to claim 7 , wherein the storage device is further configured to:

determine if the LBA of the data sector has been successfully inserted into the LBA hash table.

11. The storage infrastructure according to claim 10 , wherein, in the case of an unsuccessful insertion of the LBA into the LBA hash table, the storage device is further configured to:

identify an entry in the LBA hash table corresponding to the data sector with the largest data type index;

remove the identified entry from the LBA hash table; and

move the data sector with the largest data type index from the write cache to a buffer of the storage device.

12. The storage infrastructure according to claim 11 , wherein the storage device is further configured to:

determine if the buffer has accumulated a sufficient number of the data sectors; and

write the data sectors from the buffer to a memory of the storage device if the buffer has accumulated a sufficient number of the data sectors.

13. The storage infrastructure according to claim 7 , wherein the storage device comprises a solid-state flash memory data storage device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2019
From: ZHANG, TONG; LIU, YANG; SUN, FEI; ZHANG, HAO
To: SCALEFLUX, INC.
Reel/Frame 049857/0926 →
Continuity (1)
Related Publication 20210026558A1 · Jan 28, 2021