Back to results
US 2020/0089537 A1Published application
Apparatus and method for bandwidth allocation and quality of service management in a storage device shared by multiple tenants
AssigneeIntel Corporation
InventorsShirish BAHIRAT, David B. CARLTON, Jackson ELLIS, Jonathan M. HUGHES, David J. PELSTER, Neelesh VEMULA
Life of this patent
Estimating the term…
Abstract
A solid-state drive that can service multiple users or tenants and workloads (that is, multiple tenants) by enabling assigned bandwidth share of the solid-state drive across tenants is provided. The assigned bandwidth share is enabled for command submissions within a same assigned domain in addition to a weighted bandwidth share and quality of service control across different domains from all tenants.
Claims20
A solid-state drive comprising:
- a plurality of non-volatile memory dies;
- a plurality of die queues and a plurality of command domain queues to store a command for one of the plurality of non-volatile memory dies, each of the plurality of die queues to store commands for which resources have been allocated for one of a plurality of command types for one of a plurality of users of the solid-state drive and each of the plurality of command domain queues to store commands with one of a plurality of command types for the plurality of users of the solid-state drive for which resources have been allocated;
- and
- a command scheduler, the command scheduler to dynamically assign a command received from a host communicatively coupled to the solid-state drive stored in a host submission queue in the solid-state drive to the plurality of die queues and the plurality of command domain queues to ensure a weighted fair share of bandwidth amongst the plurality of users of the solid-state drive.
1 more element
A method comprising:
- a plurality of non-volatile memory dies;
- storing a command in one of a plurality of die queues for which resources have been allocated for one of a plurality of command types for one of a plurality of users for one of a plurality of non-volatile memory dies in a solid-state drive;
- storing commands with one of the plurality of command types for the plurality of users of the solid-state drive for which resources have been allocated in one of a plurality of command domain queues;
- and
- dynamically assigning, by a command scheduler, a command received from a host communicatively coupled to the solid-state drive stored in a host submission queue in the solid-state drive to the plurality of die queues to ensure a weighted fair share of bandwidth amongst the plurality of users of the solid-state drive.
2 more elements
A system comprising:
- a plurality of non-volatile memory dies;
- a plurality of die queues and a plurality of command domain queues to store a command for one of the plurality of non-volatile memory dies, each of the plurality of die queues to store commands for which resources have been allocated for one of a plurality of command types for one of a plurality of users of a solid-state drive and each of the plurality of command domain queues to store commands with one of a plurality of command types for the plurality of users of the solid-state drive for which resources have been allocated;
- and
- a command scheduler, the command scheduler to dynamically assign a command received from a host communicatively coupled to the solid-state drive stored in a host submission queue in the solid-state drive to the plurality of die queues and the plurality of command domain queues to ensure a weighted fair share of bandwidth amongst the plurality of users of the solid-state drive;
- and
- a display communicatively coupled to a processor to display data stored in the non-volatile memory dies in the solid-state drive.
3 more elements
Dependencies are inferred from the claim text.