Method, device, and computer program product for processing write conflicts

US12299330B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12299330-B2
Application numberUS-202318221554-A
CountryUS
Kind codeB2
Filing dateJul 13, 2023
Priority dateJan 6, 2023
Publication dateMay 13, 2025
Grant dateMay 13, 2025

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.

Techniques for processing write conflicts involve determining, in response to receiving a write operation for a stripe, a state of a backend operation of a stripe set, wherein the backend operation includes one of a rebuilding or re-striping operation. The techniques further involve stopping the write operation in response to the state of the backend operation indicating that the backend operation is being executed in the stripe. The techniques further involve executing the write operation in response to the state of the backend operation indicating that the backend operation is not being executed in the stripe. Accordingly, write conflicts between a write operation and a backend operation for the same stripe can be favorably avoided, and concurrent execution of the write operation and the backend operation simultaneously for the same stripe is prevented, thus preventing the deterioration of a storage system and improving storage system security and stability.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method for processing write conflicts, comprising: determining, in response to receiving a write operation for a stripe, a state of a backend operation of a stripe set to which the stripe belongs, wherein the backend operation comprises one of a rebuilding operation and a re-striping operation; stopping the write operation for the stripe in response to the state of the backend operation of the stripe set indicating that the backend operation is being executed in the stripe; and executing the write operation for the stripe in response to the state of the backend operation of the stripe set indicating that the backend operation is not being executed in the stripe; determining a state of a write operation of another stripe in response to receiving a backend operation for the other stripe; stopping the backend operation for other stripe in response to the state of the write operation of the other stripe indicating that the write operation of the other stripe is being executed in the other stripe; and executing the backend operation for the other stripe in response to the state of the other write operation of the other stripe indicating that the write operation of the other stripe is not being executed in the other stripe; and wherein determining the state of the write operation of the other stripe comprises: determining, by querying a write operation count of the other stripe, whether the write operation of the other stripe is being executed in the other stripe, and the method further comprises: adding the backend operation for the other stripe to a list of backend operations on a local node of the stripe set after it is determined that the write operation of the other stripe is being executed in the other stripe; and updating a list of backend operations on a peer node, corresponding to the local node, of the stripe set in response to adding the backend operation for the other stripe to the list of backend operations on the local node of the stripe set; and wherein the peer node of the stripe set is used to replace the local node in response to a failure of the local node of the stripe set. 2. The method according to claim 1 , wherein determining the state of the backend operation of the stripe set to which the stripe belongs comprises: determining, by searching a list of backend operations of the stripe set, whether the backend operation is being executed in the stripe. 3. The method according to claim 2 , further comprising: determining, by searching for a backend operation check point of the stripe set, a stripe region in the stripe set in which the backend operation is not completed, wherein the backend operation check point of the stripe set identifies a boundary between the stripe region in the stripe set in which the backend operation is not completed and a stripe region in which the backend operation is completed. 4. The method according to claim 3 , further comprising: determining, for the stripe region in the stripe set in which the backend operation is not completed, a target address and a target length of the backend operation by searching the list of backend operations of the stripe set; and determining, based on the target address and the length of the backend operation, a stripe in which the backend operation is being executed. 5. The method according to claim 2 , further comprising: adding the write operation for the strip to a waiting list after it is determined that the backend operation is being executed in the stripe; and increasing a write operation count of the stripe after it is determined that the backend operation is not being executed in the stripe. 6. The method according to claim 1 , further comprising: waking the backend operation for the stripe in response to determining that the backend operation for the stripe is waiting after execution of the write operation for the stripe is completed. 7. The method according to claim 1 , wherein updating the list of backend operations on the peer node of the stripe set comprises: sending, after adding the backend operation for the other stripe to the list of backend operations on the local node of the stripe set, a message for indicating an update from the local node to the peer node; and adding the backend operation for the other stripe to the list of backend operations on the peer node of the stripe set in response to receiving the message for indicating an update. 8. The method according to claim 1 , further comprising: waking the write operation for the stripe in response to determining that the write operation for the stripe is waiting after execution of the backend operation for the stripe is completed. 9. The method according to claim 1 , wherein the backend operation of the stripe set to which the stripe belongs comprises the rebuilding operation, the rebuilding operation being constructed and arranged to rebuild data from the stripe and write the rebuilt data to a rebuilding location. 10. The method according to claim 1 , wherein the backend operation of the stripe set to which the stripe belongs comprises the re-striping operation, the re-striping operation being constructed and arranged to write data from the stripe to a target location of re-striping during storage expansion. 11. The method according to claim 1 , wherein a data storage system includes multiple physical drives; and wherein executing the write operation for the stripe comprises: writing data across the multiple physical drives in accordance with a RAID (Redundant Array of Independent Disks) level. 12. The method according to claim 11 , wherein the data storage system is a distributed data storage system having a set of storage nodes constructed and arranged to communicate with the multiple physical drives over a network; and wherein writing the data across the multiple physical drives in accordance with the RAID level comprises: writing the data from a storage node of the distributed data storage system to the multiple physical drives through the network. 13. A device for processing write conflicts, comprising: a processor; and a memory coupled to the processor and having instructions stored therein, wherein the instructions, when executed by the processor, cause the device to execute the following actions: determining, in response to receiving a write operation for a stripe, a state of a backend operation of a stripe set to which the stripe belongs, wherein the backend operation comprises one of a rebuilding operation and a re-striping operation; stopping the write operation for the stripe in response to the state of the backend operation of the stripe set indicating that the backend operation is being executed in the stripe; executing the write operation for the stripe in response to the state of the backend operation of the stripe set indicating that the backend operation is not being executed in the stripe; determining a state of the write operation of the stripe in response to receiving the backend operation for the stripe; stopping the backend operation for the stripe in response to the state of the write operation of the stripe indicating that the write operation is being executed in the stripe; and executing the backend operation for the stripe in response to the state of the write operation of the stripe indicating that the write operation is not being executed in the stripe; wherein determining the state of the write operation of the stripe comprises: determining, by querying a write operation count of the stripe, whether the write operation is being executed in the stripe, and the actions further comprise: a

Assignees

Inventors

Classifications

  • Management of space entities, e.g. partitions, extents, pools · CPC title

  • Migration mechanisms · CPC title

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

  • G06F3/0689Primary

    Disk arrays, e.g. RAID, JBOD · CPC title

  • Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices · 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 US12299330B2 cover?
Techniques for processing write conflicts involve determining, in response to receiving a write operation for a stripe, a state of a backend operation of a stripe set, wherein the backend operation includes one of a rebuilding or re-striping operation. The techniques further involve stopping the write operation in response to the state of the backend operation indicating that the backend operat…
Who is the assignee on this patent?
Dell Products Lp
What technology area does this patent fall under?
Primary CPC classification G06F3/0689. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 13 2025 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 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).