Layered clustered scale-out storage system

US10521112B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10521112-B2
Application numberUS-201715461556-A
CountryUS
Kind codeB2
Filing dateMar 17, 2017
Priority dateMar 17, 2017
Publication dateDec 31, 2019
Grant dateDec 31, 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.

A mega cluster storage system includes clusters of multiple storage modules. Each module is able to access a portion of the data within the mega cluster and serves as a proxy in order for another storage module to access the remaining portion of the data. A cluster is assigned to a unique cluster volume and all the data within the cluster volume is accessible by all of the modules within the cluster. Each host connection to the mega cluster is associated with a particular cluster volume. A module that receives a host I/O request determines whether the I/O request should be satisfied by a module within its own cluster or be satisfied by a module within a different cluster. The module may forward the I/O request to a module within a different cluster as indicated by a distribution data structure that is allocated and stored within each storage module.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of satisfying an input output (I/O) read request with a layered clustered scale-out storage system, the method comprising: receiving, with a processor of a first storage module, an I/O read request and a logical address associated with requested data of the I/O read request from a requesting host computer; determining, with the processor of the first storage module, that the requested data is not located within any of a plurality of storage modules within a same first cluster as that of the first storage module; determining, with the processor of the first storage module, that the requested data is located within a second cluster comprising a plurality of storage modules; forwarding, with the processor of the first storage module, the I/O read request to a second storage module that is comprised within the second cluster; determining, with a processor of the second storage module, that the requested data is stored within a third storage module that is comprised within the second cluster; forwarding, with the processor of the second storage module, the I/O read request to the third storage module; accessing, with a processor of the third storage module, the requested data; and returning, with the processor of the third storage module, the requested data to the requesting host computer. 2. The method of claim 1 , wherein determining that the requested data is stored within a third module comprises: querying, with the processor of the second storage module, a distribution data structure stored within the second storage module utilizing the logical address as a query input; determining, with the processor of the second storage module, from the distribution data structure query which storage device within the third storage module stores the requested data; and determining, with the processor of the second storage module, from the distribution data structure query a physical address of the storage device within the third storage module where the requested data is stored. 3. The method of claim 1 , wherein forwarding the I/O read request to the third storage module comprises: forwarding the I/O read request to the third storage module via a local node interface of the second storage module. 4. The method of claim 1 , wherein forwarding the I/O read request to the second storage module comprises: forwarding the I/O read request to the second storage module via a remote node interface of the first storage module. 5. The method of claim 1 , wherein receiving the I/O read request comprises: receiving the I/O read request via a host interface of the first storage module. 6. The method of claim 1 , wherein the second storage module receives the forwarded the I/O read request via a remote node interface of the second storage module. 7. The method of claim 1 , wherein the second storage module and the third storage module are interconnected by a peripheral connection. 8. The method of claim 1 , wherein the first storage module and the second storage module are interconnected by a network connection. 9. The method of claim 2 , further comprising: populating the distribution data structure upon satisfying an I/O write request with a logical address associated with the I/O write request, with an identifier of a storage module that stores data associated with the I/O write request, with an identifier of a storage device within the storage module that stores data associated with the I/O write request, and with a physical address of the storage device within the storage module that stores data associated with the I/O write request; and allocating the distribution data structure to each storage module within a layered clustered scale-out storage system. 10. A method of satisfying an input output (I/O) read request with a layered clustered scale-out storage system, the method comprising: receiving, with a processor of a first storage module, an I/O read request and a logical address associated with requested data of the I/O read request from a requesting host computer; determining, with the processor of the first storage module, that the requested data is not located within any of a plurality of storage modules within a same first cluster as that of the first storage module; determining, with the processor of the first storage module, that the requested data is located within a second cluster comprising a plurality of storage modules; forwarding, with the processor of the first storage module, the I/O read request to a second storage module that is comprised within the second cluster; determining, with the processor of the second storage module, that the requested data is stored within a third storage module that is comprised the second cluster; directly accessing, with the processor of the second storage module, the requested data within the third storage module bypassing a processor and operating system of the third storage module; and returning, with the processor of the second storage module, the requested data to the requesting host computer. 11. The method of claim 10 , further comprising: determining, with the processor of the first storage module, that the second cluster is assigned to the requesting host computer; determining, with the processor of the second storage module, by querying a distribution data structure stored within the second storage module which storage device within the third storage module stores the requested data; and determining, with the processor of the second storage module, by querying the distribution data structure a physical address where the requested data is stored in the storage device within the third storage module. 12. The method of claim 10 , wherein receiving the I/O read request comprises: receiving the I/O read request via a host interface of the first storage module. 13. The method of claim 10 , wherein the second storage module receives the forwarded I/O read request via a remote node interface of the second storage module. 14. The method of claim 10 , wherein the second storage module and the third storage module are interconnected by a peripheral connection. 15. The method of claim 11 , further comprising: populating the distribution data structure upon satisfying an I/O write request with a logical address associated with the I/O write request, with an identifier of a storage module that stores data associated with the I/O write request, with an identifier of a storage device within the storage module that stores data associated with the I/O write request, and with a physical address of the storage device within the storage module that stores data associated with the I/O write request; and allocating the distribution data structure to each storage module within a layered clustered scale-out storage system. 16. A computer program product for satisfying an input output (I/O) read request with a layered clustered scale-out storage system, the computer program product comprising computer readable storage mediums having program instructions embodied therewith, the program instructions are readable to cause: a processor of a first storage module to receive an I/O read request and to receive a logical address associated with requested data of the I/O read request from a requesting host computer; the processor of the first storage module to determine that the requested data is not located within any of a plurality of storage modules within a same first cluster as that of the first storage module; the processor of the first storage module to determine that the requested data is located within a seco

Assignees

Inventors

Classifications

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

  • Controller construction arrangements · CPC title

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

  • G06F3/0604Primary

    Improving or facilitating administration, e.g. storage management · 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 US10521112B2 cover?
A mega cluster storage system includes clusters of multiple storage modules. Each module is able to access a portion of the data within the mega cluster and serves as a proxy in order for another storage module to access the remaining portion of the data. A cluster is assigned to a unique cluster volume and all the data within the cluster volume is accessible by all of the modules within the cl…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F3/0604. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 31 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 9 related publications on this page (citations in our corpus or others sharing the same primary CPC).