Storage system with efficient release of failed component resources during synchronous replication

US12141610B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12141610-B2
Application numberUS-201916654189-A
CountryUS
Kind codeB2
Filing dateOct 16, 2019
Priority dateOct 16, 2019
Publication dateNov 12, 2024
Grant dateNov 12, 2024

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.

An apparatus includes at least one processing device comprising a processor coupled to a memory, with the processing device being configured to maintain a synchronous replication input-output (IO) request list having a plurality of entries corresponding to respective synchronous replication IO requests, a given such entry identifying at least a sender component and one or more associated component resources to be released responsive to a failure of the sender component. The processing device is further configured to detect a failure of a particular one of a plurality of sender components, to access the synchronous replication IO request list to determine one or more associated component resources to be released, to release the one or more associated component resources, and to update the synchronous replication IO request list by marking the one or more associated component resources as released. Other embodiments include methods and computer program products.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus comprising: at least one processing device comprising a processor coupled to a memory; the at least one processing device being configured to implement a control module of a data path of a first storage system, the data path further comprising one or more data modules and one or more routing modules, wherein the control module, the one or more data modules and the one or more routing modules are configured to handle different stages of the data path of the first storage system, the control module being configured: to maintain a synchronous replication input-output request list having a plurality of entries corresponding to respective synchronous replication input-output requests received at the control module from the one or more routing modules, a given such entry identifying (i) a given one of the one or more routing modules from which a given synchronous replication input-output request is received and (ii) one or more associated component resources to be released responsive to a failure of the given routing module; to detect a failure of the given routing module; to access the synchronous replication input-output request list to determine one or more associated component resources to be released, wherein the one or more associated component resources comprise at least one resource allocated by the control module for enabling communication between the control module and the given routing module; to release the one or more associated component resources; and to update the synchronous replication input-output request list by marking the one or more associated component resources as released; wherein maintaining the synchronous replication input-output request list comprises: receiving input-output requests; and for each of the received input-output requests: determining if the input-output request is a synchronous replication input-output request; and responsive to the input-output request being a synchronous replication input-output request, creating a corresponding entry in the synchronous replication input-output request list; wherein maintaining the synchronous replication input-output request list comprises: periodically scanning through the entries of the synchronous replication input-output request list; and for each of the entries of the synchronous replication input-output request list: determining if the corresponding one of the one or more routing modules from which a corresponding one of the synchronous replication input-output requests was received has failed; wherein responsive to an affirmative determination that the corresponding one of the one or more routing modules from which the corresponding one of the synchronous replication input-output requests was received has failed, its one or more associated component resources are released and the synchronous replication input-output request list is updated; wherein multiple entries of the synchronous replication input-output request list are removed between successive iterations of the periodic scanning responsive to successful completion of synchronous replication of their respective corresponding input-output requests; and wherein determining if the input-output request is a synchronous replication input-output request comprises determining whether or not the input-output request is generated in accordance with a synchronous replication process carried out between the first storage system and a second storage system. 2. The apparatus of claim 1 wherein the first storage system comprises a source storage system and the second storage system comprises a target storage system, and wherein the at least one processing device comprises at least a portion of a storage controller of the source storage system, and wherein the synchronous replication input-output requests are generated as part of the synchronous replication process. 3. The apparatus of claim 1 wherein the first storage system comprises a distributed storage system comprising a plurality of storage nodes, and wherein the at least one processing device comprises a particular one of the plurality of storage nodes of the distributed storage system, each such storage node comprising a set of processing modules, including one or more control modules, one or more data modules and one or more routing modules, configured to communicate with corresponding sets of the processing modules on other ones of the storage nodes, the sets of processing modules of the storage nodes of the distributed storage system collectively comprising at least a portion of a storage controller of the distributed storage system. 4. The apparatus of claim 3 wherein the synchronous replication input-output request list is maintained by the control module of a particular one of the sets of processing modules of a particular one of the storage nodes of the distributed storage system, and wherein the given routing module comprises a routing module of another one of the sets of processing modules of another one of the storage nodes of the distributed storage system. 5. The apparatus of claim 3 wherein each of at least a subset of the control modules of the sets of processing modules of the storage nodes of the distributed storage system maintains a separate corresponding synchronous replication input-output request list. 6. The apparatus of claim 1 wherein the given entry of the synchronous replication input-output request list comprises respective fields identifying at least the given routing module and the one or more associated component resources to be released responsive to a failure of the given routing module, and a release status field indicating whether or not the one or more associated component resources have been released, and wherein updating the synchronous replication input-output request list by marking the one or more associated component resources as released comprises updating the release status field. 7. The apparatus of claim 1 wherein the periodic scanning is performed in each of a plurality of iterations triggered in accordance with respective iteration intervals. 8. The apparatus of claim 7 wherein the iteration intervals are on the order of 100 milliseconds. 9. The apparatus of claim 1 wherein maintaining the synchronous replication input-output request list comprises: receiving an indication that synchronous replication of a particular input-output request has successfully completed; and responsive to the received indication, removing a corresponding entry from the synchronous replication input-output request list. 10. The apparatus of claim 9 wherein removing a corresponding entry from the synchronous replication input-output request list comprises: checking a release status field of the corresponding entry; responsive to the release status field of the corresponding entry indicating that the one or more associated component resources have not been released, releasing the one or more associated component resources prior to removing the corresponding entry; and responsive to the release status field of the corresponding entry indicating that the one or more associated component resources have been released, removing the corresponding entry. 11. The apparatus of claim 1 wherein the one or more associated component resources to be released responsive to a failure of the given routing module comprise at least one of: one or more buffers used by the control module for communicating with the given routing module; and one or more data structures utilized in conjunction with interaction between the control module and the given routing module. 12. The apparatus of claim 1 wherein the one or more assoc

Assignees

Inventors

Classifications

  • in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems · CPC title

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

  • Replication mechanisms · CPC title

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

  • Reservation · 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 US12141610B2 cover?
An apparatus includes at least one processing device comprising a processor coupled to a memory, with the processing device being configured to maintain a synchronous replication input-output (IO) request list having a plurality of entries corresponding to respective synchronous replication IO requests, a given such entry identifying at least a sender component and one or more associated compon…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F9/5022. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 12 2024 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).