Method for the implementation of a high performance, high resiliency and high availability dual controller storage system

US11221927B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11221927-B2
Application numberUS-202016736628-A
CountryUS
Kind codeB2
Filing dateJan 7, 2020
Priority dateSep 5, 2017
Publication dateJan 11, 2022
Grant dateJan 11, 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 controller-implemented method, according to one embodiment, includes: receiving, by a first controller, data. Metadata associated with the data is stored, by the first controller, in a specified system memory location. Second metadata received from a second controller is also stored, by the first controller, in the specified system memory location, thereby creating combined metadata. In response to the second controller entering a failed state: snapshots of the combined metadata are stored, by the first controller, to resilient storage at a predefined interval. Moreover, additional data continues to be received by the first controller. Metadata associated with the additional data is stored, by the first controller, in the specified system memory location, while changes to the metadata which occur between the snapshots of the combined metadata are also stored by the first controller. According to some approaches, the changes to the metadata are stored in a log structured array.

First claim

Opening claim text (preview).

What is claimed is: 1. A controller-implemented method, comprising: receiving, by a first controller, data; storing, by the first controller, metadata associated with the data in a specified system memory location in random access memory; storing, by the first controller, second metadata received from a second controller with the metadata in the specified system memory location, thereby creating combined metadata; and in response to the second controller entering a failed state: storing, by the first controller, snapshots of the combined metadata to resilient storage at a predefined interval, continuing to receive, by the first controller, additional data, storing, by the first controller, metadata associated with the additional data in the specified system memory location, and storing, by the first controller, changes to the metadata which occur between the snapshots of the combined metadata, wherein the changes to the metadata are stored in a log structured array. 2. The controller-implemented method of claim 1 , wherein an external process is attached to the specified system memory location in response to the first controller entering a failed state while the second controller is also in a failed state, wherein the first and second controllers are included in a system, wherein the combined metadata stored in the specified system memory location is used to restore the system, wherein the system is returned to a normal operating mode in response to the system being restored. 3. The controller-implemented method of claim 2 , wherein the system is a data storage system, wherein the first and second controllers are each coupled to a load balancer. 4. The controller-implemented method of claim 1 , comprising: storing, by the first controller, the data in a write cache in the random access memory. 5. The controller-implemented method of claim 1 , wherein the data is received from a load balancer, wherein the second metadata corresponds to second data received by the second controller from the load balancer, wherein information is split by the load balancer to form the data and the second data. 6. The controller-implemented method of claim 1 , wherein changes to the metadata which occur between the snapshots of the combined metadata and which are of a size that is in a predetermined range are blocked. 7. The controller-implemented method of claim 1 , wherein the resilient storage is different than the specified system memory location in random access memory. 8. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions readable and/or executable by a first controller to cause the first controller to: receive, by the first controller, data; store, by the first controller, metadata associated with the data in a specified system memory location in random access memory; store, by the first controller, second metadata received from a second controller with the metadata in the specified system memory location, thereby creating combined metadata; and in response to the second controller entering a failed state: store, by the first controller, snapshots of the combined metadata to resilient storage at a predefined interval, continue to receive, by the first controller, additional data, store, by the first controller, metadata associated with the additional data in the specified system memory location, and store, by the first controller, changes to the metadata which occur between the snapshots of the combined metadata, wherein the changes to the metadata are stored in a log structured array. 9. The computer program product of claim 8 , wherein an external process is attached to the specified system memory location in response to the first controller entering a failed state while the second controller is also in a failed state, wherein the first and second controllers are included in a system, wherein the combined metadata stored in the specified system memory location is used to restore the system, wherein the system is returned to a normal operating mode in response to the system being restored. 10. The computer program product of claim 9 , wherein the system is a data storage system, wherein the first and second controllers are each coupled to a load balancer. 11. The computer program product of claim 8 , wherein the program instructions are readable and/or executable by the first controller to cause the first controller to: store, by the first controller, the data in a write cache in the random access memory. 12. The computer program product of claim 8 , wherein the data is received from a load balancer, wherein the second metadata corresponds to second data received by the second controller from the load balancer, wherein information is split by the load balancer to form the data and the second data. 13. The computer program product of claim 8 , wherein changes to the metadata which occur between the snapshots of the combined metadata and which are of a size that is in a predetermined range are blocked. 14. The computer program product of claim 8 , wherein the resilient storage is different than the specified system memory location in random access memory. 15. A system, comprising: a first controller; and logic integrated with the first controller, executable by the first controller, or integrated with and executable by the first controller, the logic being configured to: receive, by the first controller, data; store, by the first controller, metadata associated with the data in a specified system memory location in random access memory; store, by the first controller, second metadata received from a second controller with the metadata in the specified system memory location, thereby creating combined metadata; and in response to the second controller entering a failed state: store, by the first controller, snapshots of the combined metadata to resilient storage at a predefined interval, continue to receive, by the first controller, additional data, store, by the first controller, metadata associated with the additional data in the specified system memory location, and store, by the first controller, changes to the metadata which occur between the snapshots of the combined metadata, wherein the changes to the metadata are stored in a log structured array, wherein the resilient storage is different than the specified system memory location. 16. The system of claim 15 , wherein an external process is attached to the specified system memory location in response to the first controller entering a failed state while the second controller is also in a failed state, wherein the combined metadata stored in the specified system memory location is used to restore the system, wherein the system is returned to a normal operating mode in response to the system being restored. 17. The system of claim 16 , wherein the system is a data storage system, wherein the first and second controllers are each coupled to a load balancer. 18. The system of claim 15 , the logic being configured to: store, by the first controller, the data in a write cache in the random access memory. 19. The system of claim 15 , wherein the data is received from a load balancer, wherein the second metadata corresponds to second data received by the second controller from the load balancer, wherein information is split by the load balancer to form the data and the second data. 20. The system of claim 15 , wherein changes to the metadata which oc

Assignees

Inventors

Classifications

  • using file system or storage system metadata · CPC title

  • Replication mechanisms · CPC title

  • involving logging of persistent data for recovery · CPC title

  • in relation to data integrity, e.g. data losses, bit errors · CPC title

  • Using snapshots, i.e. a logical point-in-time copy of the data · 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 US11221927B2 cover?
A controller-implemented method, according to one embodiment, includes: receiving, by a first controller, data. Metadata associated with the data is stored, by the first controller, in a specified system memory location. Second metadata received from a second controller is also stored, by the first controller, in the specified system memory location, thereby creating combined metadata. In respo…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F11/1435. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 11 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).