IP Library › Granted Patent US 10,564,895
Granted Patent B2
US 10,564,895 · App. 15/977,275 · Granted Feb 18, 2020

I/O performance enhancement of solid-state data storage devices

Inventors: Qi Wu (San Jose, CA); Duy Nguyen (Fremont, CA); Prathamesh Amritkar (San Jose, CA); Qing Li (San Jose, CA)
Assignee: SCALEFLUX, INC.
G06F3/0659G06F3/0613G06F3/0679G06F12/0246G06F12/0253G06F2212/1016G06F2212/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 10,564,895
App. No.
15/977,275
Granted
Feb 18, 2020
Kind
B2
Abstract

An infrastructure, method and controller card for managing flash memory in a storage infrastructure. A system is provided that includes flash memory; and a controller that includes: an I/O request handler for handling standard read and write (R/W) operations requested from a host; a garbage collection (GC) system that performs a GC process on the flash memory in response to a threshold condition, wherein the GC process includes GC-induced R/W operations; and a scheduler that interleaves standard R/W operations with GC-induced R/W operations, wherein the scheduler calculates minimum and maximum boundaries for GC-induced R/W operations for a GC process based on an estimated GC latency.

Claims (40)

1. A storage infrastructure, comprising:

flash memory; and

a controller that includes:

an I/O request handler for handling standard read and write (R/W) operations requested from a host;

a garbage collection (GC) system that performs a GC process on the flash memory in response to a threshold condition, wherein the GC process includes GC-induced R/W operations and has an estimated GC latency divided into a plurality of time slots; and

a scheduler that interleaves standard R/W operations with GC-induced R/W operations, wherein the scheduler calculates minimum and maximum numbers of GC-induced R/W operations for each of the plurality of time slots.

2. The storage infrastructure of claim 1 , wherein the minimum and maximum numbers of GC-induced R/W operations are further determined based on a total number of free pages in the flash memory and a total number of GC-induced R/W operations required for the GC process.

3. The storage infrastructure of claim 2 , wherein the estimated GC latency is divided into n time slots and during the GC process, minimum and maximum boundaries are calculated each time a time slot elapses until the GC process finishes.

4. The storage infrastructure of claim 3 , wherein:

the minimum boundary is defined as k·v/n; and

the maximum boundary is defined as k·P f /n,

where k is a current time slot, v is the total number of GC-induced R/W operations, and P f is the total number of free memory pages.

5. The storage infrastructure of claim 1 , wherein the estimated GC latency is a fixed value.

6. The storage infrastructure of claim 1 , wherein the estimated GC latency is based on a previous GC latency.

7. The storage infrastructure of claim 1 , wherein the estimated GC latency is based on statistically analyzing standard R/W operations during prior time windows.

8. A controller card for managing flash memory in a storage infrastructure, comprising:

an I/O request handler for handling standard read and write (R/W) operations requested from a host;

a garbage collection (GC) system that performs a GC process on the flash memory in response to a threshold condition, wherein the GC process includes GC-induced R/W operations and has an estimated GC latency divided into a plurality of time slots; and

a scheduler that interleaves standard R/W operations with GC-induced R/W operations, wherein the scheduler calculates minimum and maximum numbers of GC-induced R/W operations for each of the plurality of time slots.

9. The controller card of claim 8 , wherein the minimum and maximum numbers of GC-induced R/W operations are further determined based on a total number of free pages in the flash memory and a total number of GC-induced R/W operations required for the GC process.

10. The controller card of claim 9 , wherein the estimated GC latency is divided into n time slots and during the GC process, minimum and maximum boundaries are calculated each time a time slot elapses until the GC process finishes.

11. The controller card of claim 10 , wherein:

the minimum boundary is defined as k*v/n; and

the maximum boundary is defined as k*P f /n,

where k is a current time slot, v is the total number of GC-induced R/W operations, and P f is the total number of free memory pages.

12. The controller card of claim 8 , wherein the estimated GC latency is a fixed value.

13. The controller card of claim 8 , wherein the estimated GC latency is based on a previous GC latency.

14. The controller card of claim 8 , wherein the estimated GC latency is based on statistically analyzing standard R/W operations during prior time windows.

15. A method of managing flash memory in a storage infrastructure, comprising:

receiving standard read and write (R/W) operations requested from a host;

performing a garbage (GC) process on the flash memory in response to a threshold condition, wherein the GC process includes GC-induced R/W operations and has an estimated GC latency divided into a plurality of time slots; and

interleaving standard R/W operations with GC-induced R/W operations, wherein the interleaving includes calculating minimum and maximum numbers of GC-induced R/W operations for each of the plurality of time slots.

16. The method of claim 15 , wherein the minimum and maximum numbers of GC-induced R/W operations are further determined based on a total number of free pages in the flash memory and a total number of GC-induced R/W operations for the GC process.

17. The method of claim 16 , wherein the estimated GC latency is divided into n time slots and during the GC process, minimum and maximum boundaries are calculated each time a time slot elapses until the GC process finishes.

18. The method of claim 17 , wherein:

the minimum boundary is defined as k*v/n; and

the maximum boundary is defined as k*Pf/n,

where k is a current time slot, v is the total number of GC-induced R/W operations, and Pf is the total number of free memory pages.

19. The method of claim 15 , wherein the estimated GC latency is one of a fixed value or one based on a previous GC latency.

20. The method of claim 15 , wherein the estimated GC latency is based on statistically analyzing standard R/W operations during prior time windows.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2018
From: WU, QI; NGUYEN, DUY; AMRITKAR, PRATHAMESH; LI, QING
To: SCALEFLUX, INC.
Reel/Frame 045791/0706 →
Continuity (2)
Provisional Application 62516589 · Jun 7, 2017
Related Publication 20180357011A1 · Dec 13, 2018
Cited By (1)
US 12,566,566