Transient software error handling in a distributed system

US11593347B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11593347-B2
Application numberUS-201916597112-A
CountryUS
Kind codeB2
Filing dateOct 9, 2019
Priority dateOct 9, 2019
Publication dateFeb 28, 2023
Grant dateFeb 28, 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 for use in a storage system is disclosed, comprising: receiving, at a first server in the storage system, a given block layer request for reservation of a storage resource, by the first server, an identifier corresponding to the given block layer request; performing a search of a database to detect whether the given block layer request has been completed, the search being performed by the first server, the search being performed based on the identifier corresponding to the given block layer request; when the database indicates that the given block layer request has not been completed: completing the given block layer request and transmitting a notification that the given block layer request is completed; and when the database indicates that given block layer request has been completed, re-transmitting a notification that the given block layer request is completed.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method for use in a storage system, the method comprising: receiving, at a secondary server in the storage system, an external reservation request, the external reservation request being a request for reservation of a storage resource for use by a host device that is external to the storage system, the external reservation request being received from the host device, the external reservation request being a block-layer reservation request; generating, by the secondary server, an internal reservation request in response to the external reservation request, the internal reservation request being a request for reservation of the storage resource for use by the host device; transmitting the internal reservation request from the secondary server to a primary server in the storage system; receiving the internal reservation request at the primary server and obtaining, by the primary server, an identifier that is contained in the internal reservation request, the identifier uniquely identifying the external reservation request among a plurality of reservation requests that are received at the storage system; searching, by the primary server, a database to detect whether an earlier internal reservation request has been completed that is generated based on the same external reservation request as the received internal reservation request, the search being performed based on the obtained identifier; when the database indicates that the earlier internal reservation request has not been completed: completing the received internal reservation request, and transmitting, from the primary server to the secondary server, an indication of whether the storage resource is reserved for use by the host device; and when the database indicates that the earlier internal reservation request has been completed, re-transmitting, from the primary server to the secondary server, an indication of whether the storage resource is reserved for use by the host device. 2. The method of claim 1 , wherein the received internal reservation request is completed by the primary server only when the database indicates that no earlier internal reservation request is completed that is generated based on the same external reservation request as the received internal reservation request. 3. The method of claim 1 , wherein the internal reservation request is generated by inserting the identifier into the external reservation request, and the secondary server lacks privileges for reserving the storage resource directly. 4. The method of claim 1 , wherein the identifier uniquely identifies the external reservation request among all block layer reservation requests that are received at the storage system during a predetermined period. 5. The method of claim 1 , wherein: the internal reservation request includes a Small Computer System Interface (SCSI) persistent reserve command, and the database is configured to identify a plurality of reservation requests, the plurality of reservation requests including at least one of, (i) a request that has been completed, and (ii) a request that is pending. 6. The method of claim 1 , wherein the database includes a plurality of entries, each entry mapping a different external reservation request identifier to a corresponding completion status identifier. 7. The method of claim 1 , wherein the storage resource includes at least one of a solid-state drive (SSD), a non-volatile random-access memory (nvRAM), or a hard disk (HD). 8. A system comprising: a memory; and at least one processor operatively coupled to the memory, the at least one processor being configured to perform the operations of: receiving an internal reservation request, the internal reservation request being a request for reservation of a storage resource in a storage system for use by a host device that is external to the storage system, the internal reservation request being received from a secondary server in the storage system, the internal reservation request being generated in response to an external reservation request for the storage resource that is received at the secondary server from the host device, the external reservation request being a block-layer reservation request; obtaining an identifier that is contained in the internal reservation request, the identifier uniquely identifying the external reservation request among a plurality of reservation requests that are received at the storage system; performing a search of a database to detect whether an earlier internal reservation request has been completed that is generated based on the same external reservation request as the received internal reservation request, the search being performed based on the obtained identifier; when the database indicates that the earlier internal reservation request has not been completed: completing the received internal reservation request, and transmitting, to the secondary server, an indication of whether the storage resource is reserved for use by the host device; and when the database indicates that the earlier internal reservation request has been completed, re-transmitting, to the secondary server, an indication of whether the storage resource is reserved for use by the host device. 9. The system of claim 8 , wherein the received internal reservation request is completed only when the database indicates that no earlier internal reservation request is completed that is generated based on the same external reservation request as the received internal reservation request. 10. The system of claim 8 , wherein the internal reservation request is generated by inserting the identifier into the external reservation request, and the secondary server lacks privileges for reserving the storage resource directly. 11. The system of claim 8 , wherein the identifier uniquely identifies the external reservation request among all block layer reservation requests that are received at the storage system during a predetermined period. 12. The system of claim 8 , wherein: the internal reservation request includes a Small Computer System Interface (SCSI) persistent reserve command, and the database is configured to identify a plurality of reservation requests, the plurality of reservation requests including at least one of: (i) a request that has been completed, and (ii) a request that is pending. 13. The system of claim 8 , wherein the database includes a plurality of entries, each entry mapping a different external reservation request identifier to a corresponding completion status identifier. 14. The system of claim 8 , wherein the storage resource includes at least one of a solid-state drive (SSD), a non-volatile random-access memory (nvRAM), or a hard disk (HD). 15. A non-transitory computer-readable storage medium that is configured to store one or more processor-executable instructions, which, when executed by at least one processor, cause the at least one processor to perform the operations of: receiving an internal reservation request, the internal reservation request being a request for reservation of a storage resource in a storage system for use by a host device that is external to the storage system, the internal reservation request being received from a secondary server in the storage system, the internal reservation request being generated in response to an external reservation request for the storage resource that is received at the secondary server from the host device, the external reservation request being a block-layer reservation request; obtaining an identifier that is contained in the internal reservation request, the iden

Assignees

Inventors

Classifications

  • Details of memory controller · CPC title

  • Small computer system interface [SCSI] · CPC title

  • Ensuring data consistency and integrity · CPC title

  • File system administration, e.g. details of archiving or snapshots (error detection or correction of the data by redundancy in operations G06F11/14) · CPC title

  • Schema design and 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 US11593347B2 cover?
A method for use in a storage system is disclosed, comprising: receiving, at a first server in the storage system, a given block layer request for reservation of a storage resource, by the first server, an identifier corresponding to the given block layer request; performing a search of a database to detect whether the given block layer request has been completed, the search being performed by …
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F16/2365. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 28 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).