System and method for sustaining single NVMe subsystem by a federated storage array for NVMe-oF connectivity

US11314447B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11314447-B2
Application numberUS-202016934181-A
CountryUS
Kind codeB2
Filing dateJul 21, 2020
Priority dateJul 21, 2020
Publication dateApr 26, 2022
Grant dateApr 26, 2022

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 maintaining a federation of a plurality of appliances as a single subsystem, wherein maintaining the federation as the single subsystem may include maintaining a centralized discovery mechanism across the plurality of appliances, wherein a discovery service of the centralized discovery mechanism may return a list of all ports in the federation. Controller IDs for a predefined range of controller IDs may be allocated for a plurality of dynamic controllers per appliance of the plurality of appliances, wherein the controller IDs may be allocated as a response to a connect command from a host. An empty namespace list for the plurality of dynamic controllers on the plurality of appliances in the federation may be exposed. The host may receive a notification from at least one dynamic controller of the plurality of dynamic controllers on at least one appliance of the plurality of appliances in the federation. The host may obtain a list of namespaces hosted on the at least one appliance corresponding to the at least one dynamic controller.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method comprising: maintaining a federation of a plurality of appliances as a single subsystem, wherein maintaining the federation as the single subsystem includes: maintaining a centralized discovery mechanism across the plurality of appliances, wherein a discovery service of the centralized discovery mechanism returns a list of all ports in the federation; allocating controller IDs for a predefined range of controller IDs for a plurality of dynamic controllers per appliance of the plurality of appliances, wherein the controller IDs are allocated as a response to a connect command from a host; exposing an empty namespace list for the plurality of dynamic controllers on the plurality of appliances in the federation; receiving, by the host, a notification from at least one dynamic controller of the plurality of dynamic controllers on at least one appliance of the plurality of appliances in the federation; and obtaining, by the host, a list of namespaces hosted on the at least one appliance corresponding to the at least one dynamic controller, wherein each dynamic controller responds to the host with a respective list of namespaces according to a location of each dynamic controller. 2. The computer-implemented method of claim 1 wherein obtaining the namespaces includes obtaining a list of namespaces specific to the at least one application based upon a current configuration of the at least one controller. 3. The computer-implemented method of claim 1 wherein the respective list of namespaces is independent of an earlier respective list of namespaces with which the plurality of dynamic controllers were initialized. 4. The computer-implemented method of claim 1 wherein the controller IDs are dynamically allocated in bulk to the at least one appliance. 5. The computer-implemented method of claim 1 wherein a namespace ID is allocated to a volume upon creation of the volume, wherein the namespace ID is allocated to the volume regardless of an association of the volume to the host, and wherein the namespace ID and a globally unique ID are unique within the federation. 6. The computer-implemented method of claim 1 wherein the host determines a configuration of the at least one controller by issuing an identify command that specifies a data structure of the at least one controller. 7. 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: maintaining a federation of a plurality of appliances as a single subsystem, wherein maintaining the federation as the single subsystem includes: maintaining a centralized discovery mechanism across the plurality of appliances, wherein a discovery service of the centralized discovery mechanism returns a list of all ports in the federation; allocating controller IDs for a predefined range of controller IDs for a plurality of dynamic controllers per appliance of the plurality of appliances, wherein the controller IDs are allocated as a response to a connect command from a host; exposing an empty namespace list for the plurality of dynamic controllers on the plurality of appliances in the federation; receiving, by the host, a notification from at least one dynamic controller of the plurality of dynamic controllers on at least one appliance of the plurality of appliances in the federation; and obtaining, by the host, a list of namespaces hosted on the at least one appliance corresponding to the at least one dynamic controller, wherein each dynamic controller responds to the host with a respective list of namespaces according to a location of each dynamic controller. 8. The computer program product of claim 7 wherein obtaining the namespaces includes obtaining a list of namespaces specific to the at least one application based upon a current configuration of the at least one controller. 9. The computer program product of claim 7 wherein the respective list of namespaces is independent of an earlier respective list of namespaces with which the plurality of dynamic controllers were initialized. 10. The computer program product of claim 7 wherein the controller IDs are dynamically allocated in bulk to the at least one appliance. 11. The computer program product of claim 7 wherein a namespace ID is allocated to a volume upon creation of the volume, wherein the namespace ID is allocated to the volume regardless of an association of the volume to the host, and wherein the namespace ID and a globally unique ID are unique within the federation. 12. The computer program product of claim 7 wherein the host determines a configuration of the at least one controller by issuing an identify command that specifies a data structure of the at least one controller. 13. A computing system including one or more processors and one or more memories configured to perform operations comprising: maintaining a federation of a plurality of appliances as a single subsystem, wherein maintaining the federation as the single subsystem includes: maintaining a centralized discovery mechanism across the plurality of appliances, wherein a discovery service of the centralized discovery mechanism returns a list of all ports in the federation; allocating controller IDs for a predefined range of controller IDs for a plurality of dynamic controllers per appliance of the plurality of appliances, wherein the controller IDs are allocated as a response to a connect command from a host; exposing an empty namespace list for the plurality of dynamic controllers on the plurality of appliances in the federation; receiving, by the host, a notification from at least one dynamic controller of the plurality of dynamic controllers on at least one appliance of the plurality of appliances in the federation; and obtaining, by the host, a list of namespaces hosted on the at least one appliance corresponding to the at least one dynamic controller, wherein each dynamic controller responds to the host with a respective list of namespaces according to a location of each dynamic controller. 14. The computing system of claim 13 wherein obtaining the namespaces includes obtaining a list of namespaces specific to the at least one application based upon a current configuration of the at least one controller. 15. The computing system of claim 11 wherein the respective list of namespaces is independent of an earlier respective list of namespaces with which the plurality of dynamic controllers were initialized. 16. The computing system of claim 13 wherein the controller IDs are dynamically allocated in bulk to the at least one appliance. 17. The computing system of claim 13 wherein a namespace ID is allocated to a volume upon creation of the volume, wherein the namespace ID is allocated to the volume regardless of an association of the volume to the host, and wherein the namespace ID and a globally unique ID are unique within the federation.

Assignees

Inventors

Classifications

  • Non-volatile semiconductor memory arrays · CPC title

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

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

  • by initialisation or re-initialisation of storage systems · CPC title

  • by allocating resources to storage systems · 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 US11314447B2 cover?
A method, computer program product, and computer system for maintaining a federation of a plurality of appliances as a single subsystem, wherein maintaining the federation as the single subsystem may include maintaining a centralized discovery mechanism across the plurality of appliances, wherein a discovery service of the centralized discovery mechanism may return a list of all ports in the fe…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
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 Apr 26 2022 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).