IP Library Granted Patent US 11,138,104
Granted Patent B2
US 11,138,104 · App. 16/269,986 · Granted Oct 5, 2021

Selection of mass storage device streams for garbage collection based on logical saturation

Inventor: Shirish Bahirat (Longmont, CO)
Assignee: Intel Corporation
G06F12/0253G06F3/064G06F3/0608G06F3/0644G06F3/0679G06F2209/5011
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,138,104
App. No.
16/269,986
Granted
Oct 5, 2021
Kind
B2
Abstract

A method is described. The method includes tracking a logical saturation value for each of multiple streams having read and write commands directed to a mass storage device, wherein, a stream's logical saturation value is a measurement of how much of the stream's assigned storage resources of the mass storage device contains valid data. The method also includes repeatedly selecting for garbage collection whichever of the multiple streams has a lowest logical saturation value as compared to the other streams.

Claims (34)

1. An apparatus, comprising:

a solid state drive (SSD) controller to track a respective logical saturation value for each of multiple streams supported by the SSD, wherein, the multiple streams are realized by the SSD controller assigning write data items having similar host assigned expected lifetimes to same blocks within the SSD, wherein, a stream's logical saturation value is determined from the stream's amount of valid data and the stream's combined amount of valid data, invalid data and assigned storage resources that are free, the controller to repeatedly select for garbage collection whichever of the multiple streams has a lowest logical saturation value as compared to the other streams.

2. The apparatus of claim 1 wherein the logical saturation values for the multiple streams approach a same logical saturation value over an extended runtime of the SSD such that each the multiple streams maintain a comparable ratio of valid data to assigned storage resources.

3. The apparatus of claim 2 wherein any of the multiple streams are capable of exhibiting:

a steady flow of writes to existing data; and,

bursts of writes to existing data.

4. The apparatus of claim 3 wherein the multiple streams are capable of exhibiting varied data rates.

5. The apparatus of claim 2 wherein a first of the multiple streams having a lower data rate is to be assigned more storage resources by the controller than a second of the multiple streams having a higher data rate.

6. The apparatus of claim 1 wherein a first of the multiple streams having a lower data rate is to be assigned more storage resources by the controller than a second of the multiple streams having a higher data rate.

7. The apparatus of claim 1 wherein the controller is to add reclaimed storage resources resulting from garbage collection to a free pool, and, subtract from the free pool storage resources assigned to a stream.

8. The apparatus of claim 7 wherein the storage resources are added to and subtracted from the free pool in units of bands.

9. The apparatus of claim 7 wherein the storage resources are added to and subtracted from the free pool in units of blocks.

10. A computing system, comprising:

a plurality of processing cores;

a system memory;

a main coupled between the system memory and the plurality of processing cores; and,

a mass storage device comprising a controller, the controller to track a respective logical saturation value for each of multiple streams supported by the mass storage device, wherein, the multiple streams are realized by the controller assigning write data items having similar host assigned expected lifetimes to same blocks within the mass storage device, wherein, a stream's logical saturation value is determined from the stream's amount of valid data and the stream's combined amount of valid data, invalid data and assigned storage resources that are free, the controller to repeatedly select for garbage collection whichever of the multiple streams has a lowest logical saturation value as compared to the other streams.

11. The computing system of claim 10 wherein the logical saturation values for the multiple streams approach a same logical saturation value over an extended runtime of the mass storage device such that each the multiple streams maintain a comparable ratio of valid data to assigned storage resources.

12. The computing system of claim 11 wherein any of the multiple streams are capable of exhibiting:

a steady flow of writes to existing data; and,

bursts of writes to existing data.

13. The computing system of claim 12 wherein the multiple streams are capable of exhibiting varied data rates.

14. The computing system of claim 11 wherein a first of the multiple streams having a lower data rate is to be assigned more storage resources by the controller than a second of the multiple streams having a higher data rate.

15. The computing system of claim 10 wherein a first of the multiple streams having a lower data rate is to be assigned more storage resources by the controller than a second of the multiple streams having a higher data rate.

16. The computing system of claim 10 wherein the controller is to add reclaimed storage resources resulting from garbage collection to a free pool, and, subtract from the free pool storage resources assigned to a stream.

17. A method, comprising:

assigning write data items having similar host assigned expected lifetimes to same blocks within a mass storage device;

tracking a logical saturation value for each of multiple streams comprising read and write commands directed to the mass storage device, wherein, a stream's logical saturation value is determined from the stream's amount of valid data and the stream's combined amount of valid data, invalid data and assigned storage resources that are free; and,

repeatedly selecting for garbage collection whichever of the multiple streams has a lowest logical saturation value as compared to the other streams.

18. The method of claim 17 wherein the logical saturation values for the multiple streams approach a same logical saturation value over an extended runtime of the mass storage device such that each the multiple streams maintain a comparable ratio of valid data to assigned storage resources.

19. The method of claim 18 wherein any of the multiple streams are capable of exhibiting:

a steady flow of writes to existing data; and,

bursts of writes to existing data.

20. The method of claim 19 wherein the multiple streams are capable of exhibiting varied data rates.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2023
From: INTEL CORPORATION
To: SK HYNIX NAND PRODUCT SOLUTIONS CORP.
Reel/Frame 063815/0490 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2019
From: BAHIRAT, SHIRISH
To: INTEL CORPORATION
Reel/Frame 049884/0557 →
Continuity (1)
Related Publication 20190171564A1 · Jun 6, 2019