Patent ID: 11863623
Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
Field: Digital communication (Electrical engineering)
Classification: CPC H  G | IPC H

Claim 11:
12. A storage device, comprising:
one or more communication channels suitable for connection with a plurality of host devices;
a plurality of memory devices within a memory array;
a host interface, configured to receive and transmit multiple data streams from and to the plurality of host devices, each data stream having a corresponding service level agreement (SLA) measured by a corresponding quality of service (QoS);
a plurality of controllers configured to receive commands sent from a sending host of the plurality of host devices;
a dynamic management interface, executed by at least one of the plurality of controllers, configured to manage each received data stream with the corresponding QoS and associate the received data stream to the sending host;
a dynamic QoS control module coupled with the dynamic management interface and the host interface, wherein the dynamic QoS control module is configured to receive first requests for a first data stream and second requests for a second stream from the sending host;
a contention module configured to prioritize one or more data streams of the multiple data streams having one or more contentions with respect to a plurality of shared resources, wherein the one or more data streams are prioritized based on a corresponding QoS requirement;
the contention module coupled with a cache configured to cache data from the data streams, wherein the storage device is configured to manage the cache when there are contentions between the plurality of shared resources;
wherein the one or more data streams are added to a shared queue used for scheduling;
wherein upon determining that bandwidth is available, the storage device forwards the received data streams back to the sending host; and
wherein the storage device is configured to:
(i) transfer portions of the data streams where a minimum QoS is 100%;
(ii) skip superfluous portions of the data streams to increase virtual throughput; and
(iii) operate a contention resolution priority queue using a non-volatile memory device.