System and method for accelerated I/O access using storage array driver in Off-the-shelf server

US11762556B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11762556-B2
Application numberUS-202117411506-A
CountryUS
Kind codeB2
Filing dateAug 25, 2021
Priority dateOct 31, 2017
Publication dateSep 19, 2023
Grant dateSep 19, 2023

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.

A method, computer program product, and computer system for receiving, by a computing device, an I/O request. It may be identified whether the I/O request is eligible for handling via a first path without also requiring handling via a second path. If the I/O request is eligible, the I/O request may be processed via the first path on a host I/O stack without processing the I/O request via the second path on a storage array I/O stack. If the I/O request is ineligible, the I/O request may be processed via the first path on the host.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method comprising: receiving, by a computing device, an I/O request; identifying a first path for processing I/O requests, wherein the first path includes processing by a general purpose processor; identifying a second path for processing I/O requests, wherein the second path includes processing by a special purpose storage processor; determining that the I/O request is ineligible for handling via a first path without also requiring handling via a second path; in response to determining that the I/O request is ineligible, processing the I/O request via the first path on a host I/O stack and via the second path on a storage array I/O stack, wherein an ineligible I/O request includes a control command and satisfies a predetermined condition, wherein satisfying the predetermined condition includes a Server Device Handling layer in the host I/O stack determining, in coordination with the storage array I/O stack, that the control command should be passed to the storage array I/O stack via the second path; wherein any I/O requests that are determined to be eligible are processed via the first path on the host I/O stack without processing the eligible I/O request via the second path on the storage array I/O stack. 2. The computer-implemented method of claim 1 wherein an eligible I/O request includes one of a data read request and a data write request. 3. The computer-implemented method of claim 1 further comprising processing the I/O request via the first path on the host I/O stack and via the second path on the storage array I/O stack when processing of the I/O request via the host I/O stack on the first path without processing the I/O request via the second path on the storage array I/O stack fails. 4. The computer-implemented method of claim 1 further comprising returning a completion status to an application layer of the host I/O stack when processing of the I/O request via the host I/O stack on the first path without processing the I/O request via the second path on the storage array I/O stack successfully completes. 5. The computer-implemented method of claim 1 wherein the internal fabric request resulting from the metadata query includes requesting at least one of a location status and a cache status of metadata within the storage array I/O stack. 6. A computer program product residing on a non-transitory computer readable storage medium having a plurality of instructions stored thereon which, when executed across one or more processors, causes at least a portion of the one or more processors to perform operations comprising: receiving an I/O request; identifying a first path for processing I/O requests, wherein the first path includes processing by a general purpose processor; identifying a second path for processing I/O requests, wherein the second path includes processing by a special purpose storage processor; identifying whether the I/O request is eligible for handling via a first path without also requiring handling via a second path; if the I/O request is eligible, processing the I/O request via the first path on a host I/O stack without processing the I/O request via the second path on a storage array V/O stack; and if the I/O request is ineligible, processing the I/O request via the first path on the host I/O stack and via the second path on the storage array I/O stack, wherein an ineligible I/O request includes a control command and satisfies a predetermined condition, wherein satisfying the predetermined condition includes a Server Device Handling layer in the host I/O stack determining, in coordination with the storage array I/O stack, that the control command should be passed to the storage array I/O stack via the second path. 7. The computer program product of claim 6 wherein an eligible I/O request includes one of a data read request and a data write request. 8. The computer program product of claim 6 wherein the operations further comprise processing the I/O request via the first path on the host I/O stack and via the second path on the storage array I/O stack when processing of the I/O request via the host I/O stack on the first path without processing the I/O request via the second path on the storage array I/O stack fails. 9. The computer program product of claim 6 wherein the operations further comprise returning a completion status to an application layer of the host I/O stack when processing of the I/O request via the host I/O stack on the first path without processing the I/O request via the second path on the storage array I/O stack successfully completes. 10. The computer program product of claim 6 wherein the internal fabric request resulting from the metadata query includes requesting at least one of a location status and a cache status of metadata within the storage array I/O stack. 11. A computing system including one or more processors and one or more memories configured to perform operations comprising: receiving an V/O request; identifying a first path for processing I/O requests, wherein the first path includes processing by a general purpose processor; identifying a second path for processing I/O requests, wherein the second path includes processing by a special purpose storage processor; identifying whether the I/O request is eligible for handling via a first path without also requiring handling via a second path; if the I/O request is eligible, processing the I/O request via the first path on a host I/O stack without processing the I/O request via the second path on a storage array I/O stack; and if the I/O request is ineligible, processing the I/O request via the first path on the host I/O stack and via the second path on the storage array I/O stack, wherein an ineligible I/O request includes a control command and satisfies a predetermined condition, wherein satisfying the predetermined condition includes a Server Device Handling layer in the host I/O stack determining, in coordination with the storage array I/O stack, that the control command should be passed to the storage array I/O stack via the second path. 12. The computing system of claim 11 wherein an eligible I/O request includes one of a data read request and a data write request. 13. The computing system of claim 11 wherein the operations further comprise processing the I/O request via the first path on the host I/O stack and via the second path on the storage array I/O stack when processing of the I/O request via the host I/O stack on the first path without processing the I/O request via the second path on the storage array I/O stack fails, and returning a completion status to an application layer of the host I/O stack when processing of the I/O request via the host I/O stack on the first path without processing the I/O request via the second path on the storage array I/O stack successfully completes. 14. The computing system of claim 11 wherein the internal fabric request resulting from the metadata query includes requesting at least one of a location status and a cache status of metadata within the storage array I/O stack.

Assignees

Inventors

Classifications

  • G06F3/061Primary

    Improving I/O performance · CPC title

  • G06F3/0608Primary

    Saving storage space on storage systems · CPC title

  • by changing the path, e.g. traffic rerouting, path reconfiguration · CPC title

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

  • Disk arrays, e.g. RAID, JBOD · 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 US11762556B2 cover?
A method, computer program product, and computer system for receiving, by a computing device, an I/O request. It may be identified whether the I/O request is eligible for handling via a first path without also requiring handling via a second path. If the I/O request is eligible, the I/O request may be processed via the first path on a host I/O stack without processing the I/O request via the se…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F3/061. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 19 2023 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).