IP Library Granted Patent US 11,586,392
Granted Patent B2
US 11,586,392 · App. 16/775,262 · Granted Feb 21, 2023

Multi-stream SSD QoS management

Inventors: Hingkwan Huen (Daly City, CA); Changho Choi (San Jose, CA); Derrick Tseng (Union City, CA); Jianjian Huo (San Jose, CA)
G06F3/0679G06F3/061G06F3/0659G06F3/067
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,586,392
App. No.
16/775,262
Granted
Feb 21, 2023
Kind
B2
Abstract

A system and method for satisfying Quality of Service (QoS) attributes for a stream using a storage device with multi-stream capability is described. The storage device may include memory to store data. A host interface may receive requests, some of which may be associated with a stream. A host interface layer may schedule the requests in a manner that may satisfy the QoS attribute for the stream.

Claims (57)

1. A method, comprising:

requesting information about a resource on a storage device by a host, the information identifying a partial allocation of at least one of bandwidth or latency associated with a first stream, the resource including the at least one of bandwidth or latency;

receiving the information about the resource on the storage device at the host;

determining a Quality of Service (QoS) attribute for a second stream based at least in part on the information about the resource on the storage device, the QoS attribute one of a minimum bandwidth of the storage device, a maximum bandwidth of the storage device, or a maximum latency of the storage device; and

sending the QoS attribute for the second stream from the host to the storage device,

wherein the storage device applies the QoS attribute to the second stream.

2. A method according to claim 1 , wherein:

requesting information about resource on a storage device includes requesting the information about resource on a Solid State Drive (SSD);

receiving the information about the resource on the storage device includes receiving the information about the resource on the SSD; and

sending the QoS attribute for the second stream to the storage device includes sending the QoS attribute for the second stream to the SSD.

3. A method according to claim 1 , wherein the QoS attribute further includes a priority.

4. A method according to claim 1 , wherein sending the QoS attribute for the second stream from the host to the storage device includes sending a second QoS attribute for the second stream from the host to the storage device.

5. A method according to claim 1 , wherein:

requesting information about resource on a storage device includes requesting device capabilities of the storage device; and

receiving the information about the resource on the storage device includes receiving the device capabilities of the storage device.

6. A method according to claim 1 , further comprising:

opening the second stream;

sending requests for the second stream from the host to the storage device; and

closing the second stream,

wherein the storage device may process the requests based at least in part on the QoS attribute for the second stream.

7. A method according to claim 1 , further comprising:

sending a first request associated with the first stream from the host to the storage device;

sending a second request associated with the second stream from the host to the storage device;

receiving a first response to the second request from the storage device at the host; and

receiving a second response to the first request from the storage device at the host.

8. A method according to claim 7 , wherein the storage device processes the first request and the second request out of order.

9. An article, comprising a tangible storage medium, the tangible storage medium having stored thereon non-transitory instructions that, when executed by a machine, result in:

requesting information about a resource on a storage device by a host, the information identifying a partial allocation of at least one of bandwidth or latency associated with a first stream, the resource including the at least one of bandwidth or latency;

receiving the information about the resource on the storage device at the host;

determining a Quality of Service (QoS) attribute for a second stream based at least in part on the information about the resource on the storage device, the QoS attribute one of a minimum bandwidth of the storage device, a maximum bandwidth of the storage device, or a maximum latency of the storage device; and

sending the QoS attribute for the second stream from the host to the storage device,

wherein the storage device applies the QoS attribute to the second stream.

10. An article according to claim 9 , wherein:

requesting information about resource on a storage device includes requesting the information about resource on a Solid State Drive (SSD);

receiving the information about the resource on the storage device includes receiving the information about the resource on the SSD; and

sending the QoS attribute for the second stream to the storage device includes sending the QoS attribute for the second stream to the SSD.

11. An article according to claim 9 , wherein the QoS attribute further includes a priority.

12. An article according to claim 9 , wherein sending the QoS attribute for the second stream from the host to the storage device includes sending a second QoS attribute for the second stream from the host to the storage device.

13. An article according to claim 9 , wherein:

requesting information about resource on a storage device includes requesting device capabilities of the storage device; and

receiving the information about the resource on the storage device includes receiving the device capabilities of the storage device.

14. An article according to claim 9 , the tangible storage medium having stored thereon further non-transitory instructions that, when executed by the machine, result in:

opening the second stream;

sending requests for the second stream from the host to the storage device; and

closing the second stream,

wherein the storage device may process the requests based at least in part on the QoS attribute for the second stream.

15. An article according to claim 9 , the tangible storage medium having stored thereon further non-transitory instructions that, when executed by the machine, result in:

sending a first request associated with the first stream from the host to the storage device;

sending a second request associated with the second stream from the host to the storage device;

receiving a first response to the second request from the storage device at the host; and

receiving a second response to the first request from the storage device at the host.

16. An article according to claim 15 , wherein the storage device processes the first request and the second request out of order.

17. An article according to claim 16 , wherein:

the first request includes a first read request; and

the second request includes a second read request.

18. An article according to claim 9 , wherein the information identifies the partial allocation of the at least one of bandwidth or latency associated with the first stream.

19. An article according to claim 9 , wherein the storage device applies the QoS attribute to the second stream.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2023
From: HUEN, HINGKWAN; CHOI, CHANGHO; TSENG, DERRICK; HUO, JIANJIAN
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 063867/0155 →
Continuity (3)
Division 15167974 · May 27, 2016
Provisional Application 62309446 · Mar 16, 2016
Related Publication 20200167097A1 · May 28, 2020