Front-end quality of service differentiation in storage system operations

US10191691B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10191691-B2
Application numberUS-201615139616-A
CountryUS
Kind codeB2
Filing dateApr 27, 2016
Priority dateApr 28, 2015
Publication dateJan 29, 2019
Grant dateJan 29, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Systems, methods, apparatuses, and software for data storage systems are provided herein. In one example, a data storage platform includes one or more data storage modules each comprising storage drives coupled over a Peripheral Component Interconnect Express (PCIe) fabric with at least one processing module that receives storage operations directed to the one or more data storage modules over one or more network interfaces. The processing module is configured to assign service levels in a queue to the storage operations that are received over the one or more network interfaces. Based at least on the service levels, the processing module is configured to service the storage operations from the queue with the one or more data storage modules over the PCIe fabric.

First claim

Opening claim text (preview).

What is claimed is: 1. A data storage platform, comprising: one or more data storage modules each comprising storage drives coupled over a Peripheral Component Interconnect Express (PCIe) fabric with at least one processing module that receives storage operations directed to the one or more data storage modules over one or more network interfaces; the processing module configured to assign service levels in a queue to the storage operations that are received over the one or more network interfaces; the processing module configured to pre-allocate resources in the queue for selected ones of the service levels before ones of the storage operations associated with the selected ones of the service levels are received by the processing module; and based at least on the service levels, the processing module configured to service the storage operations from the queue with the one or more data storage modules over the PCIe fabric. 2. The data storage platform of claim 1 , comprising: the processing module configured to establish logical storage units (LUNs) among the one or more data storage modules and present the LUNs to one or more host systems; the processing module configured to assign individual service levels in the queue according to at least the LUNs and service the storage operations from the queue according to the individual service levels. 3. The data storage platform of claim 1 , comprising: the processing module configured to establish a plurality of nexus arrangements across the one or more data storage modules, the nexus arrangements each comprising an iSCSI (Internet Small Computer System Interface) target identifier, iSCSI logical unit (LUN), and iSCSI client identifier; the processing module configured to assign individual service levels in the queue according to at least the nexus arrangements and service the storage operations from the queue according to the individual service levels. 4. The data storage platform of claim 1 , comprising: the processing module configured to receive over the one or more network interfaces second storage operations directed to a set of data storage modules managed by a second processing module; the processing module configured to transfer the second storage operations for delivery to the second processing module without regard to a service level associated with the second storage operations. 5. The data storage platform of claim 4 , comprising: the processing module configured to transfer the second storage operations to the second processing module over a selected one of the PCIe fabric and a tunneled Ethernet connection, wherein the second processing module is configured to assign further service levels to the second storage operations in an associated queue and service the second storage operations from the associated queue based at least on the further service levels. 6. The data storage platform of claim 1 , comprising: the processing module configured to assign the service levels in the queue according to application threads associated with the storage operations. 7. The data storage platform of claim 6 , comprising: the processing module configured to identify which application threads are associated with each of the storage operations according to nexus arrangements each comprising an iSCSI (Internet Small Computer System Interface) target identifier, iSCSI logical unit (LUN), and iSCSI client identifier. 8. The data storage platform of claim 1 , comprising: the processing module configured to identify the selected ones of the service levels to pre-allocate resources based on at least one of an iSCSI (Internet Small Computer System Interface) target identifier, iSCSI logical unit (LUN), iSCSI client identifier, or application thread. 9. A method of operating a data storage platform, the method comprising: receiving storage operations directed to one or more data storage modules, the one or more data storage modules each comprising storage drives coupled over a Peripheral Component Interconnect Express (PCIe) fabric with at least one processing module; assigning service levels in a queue to the storage operations that are received; pre-allocating resources in the queue for selected service levels before ones of the storage operations associated with the selected service levels are received; and based at least on the service levels, servicing the storage operations from the queue with the one or more data storage modules over the PCIe fabric. 10. The method of claim 9 , further comprising: establishing logical storage units (LUNs) among the one or more data storage modules and presenting the LUNs to one or more host systems; assigning individual service levels in the queue according to at least the LUNs and servicing the storage operations from the queue according to the individual service levels. 11. The method of claim 9 , further comprising: establishing a plurality of nexus arrangements across the one or more data storage modules, the nexus arrangements each comprising an iSCSI (Internet Small Computer System Interface) target identifier, iSCSI logical unit (LUN), and iSCSI client identifier; assigning individual service levels in the queue according to at least the nexus arrangements and servicing the storage operations from the queue according to the individual service levels. 12. The method of claim 9 , further comprising: receiving into a first processing module, over one or more network interfaces, second storage operations directed to a set of data storage modules managed by a second processing module; in the first processing module, transferring the second storage operations for delivery to the second processing module without regard to a service level associated with the second storage operations. 13. The method of claim 12 , further comprising: in the first processing module, transferring the second storage operations to the second processing module over a selected one of the PCIe fabric and a tunneled Ethernet connection, wherein the second processing module is configured to assign further service levels to the second storage operations in an associated queue and service the second storage operations from the associated queue based at least on the further service levels. 14. The method of claim 9 , further comprising: assigning the service levels in the queue according to application threads associated with the storage operations. 15. The method of claim 14 , further comprising: identifying which application threads are associated with each of the storage operations according to nexus arrangements each comprising an iSCSI (Internet Small Computer System Interface) target identifier, iSCSI logical unit (LUN), and iSCSI client identifier. 16. The method of claim 9 , further comprising: identify the selected service levels to pre-allocate resources based on at least one of an iSCSI (Internet Small Computer System Interface) target identifier, iSCSI logical unit (LUN), iSCSI client identifier, or application thread. 17. A data storage system, comprising: a plurality of data storage assemblies each comprising at least one storage drive coupled over a Peripheral Component Interconnect Express (PCIe) fabric; a processing module that receives storage operations directed to the plurality of data storage assemblies over one or more network interfaces; the processing module configured to pre-allocate resources in a queue for at least a selected priority level before storage operations associated with at least the selected priority level are received by the processing module; th

Assignees

Inventors

Classifications

  • Improving or facilitating administration, e.g. storage management · CPC title

  • G06F3/0659Primary

    Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title

  • Single storage device · CPC title

  • Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title

  • Improving I/O performance · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10191691B2 cover?
Systems, methods, apparatuses, and software for data storage systems are provided herein. In one example, a data storage platform includes one or more data storage modules each comprising storage drives coupled over a Peripheral Component Interconnect Express (PCIe) fabric with at least one processing module that receives storage operations directed to the one or more data storage modules over …
Who is the assignee on this patent?
Liqid Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/0659. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 29 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).