Managing a redundant array of independent disks (RAID) using row parity and diagonal parity

US11513896B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11513896-B2
Application numberUS-201916582637-A
CountryUS
Kind codeB2
Filing dateSep 25, 2019
Priority dateOct 31, 2018
Publication dateNov 29, 2022
Grant dateNov 29, 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.

Techniques manage data of a Redundant Array of Independent Disks (RAID). Such techniques involve: obtaining a first parity of checksum pair, which is determined based on a first checksum when user data of data disks in the RAID are predetermined values; determining, based on current checksums of the data disks in the RAID, a second parity of checksum pair of the RAID, the first parity of checksum pair and the second parity of checksum pair respectively comprising a row parity of checksum and a diagonal parity of checksum; and determining, based on the first parity of checksum pair and the second parity of checksum pair, a third parity of checksum pair for updating parity data of parity disks of the RAID.

First claim

Opening claim text (preview).

We claim: 1. A method of data management of a Redundant Array of Independent Disks (RAID), comprising: obtaining a first parity pair, the first parity pair being determined based on a first checksum when user data of data disks in the RAID are predetermined values, wherein obtaining the first parity pair includes performing an XOR operation on the first checksum to obtain a row parity of the first parity pair, and performing a diagonal parity operation including an XOR operation on diagonal data blocks of the predetermined values in the user data in the data disks in the RAID to obtain a diagonal parity of the first parity pair; determining, based on current checksums of the data disks in the RAID, a second parity pair of the RAID, wherein determining the second parity pair of the RAID includes performing an XOR operation on the current checksums of the data disks in the RAID to obtain a row parity of the second parity pair, and performing a diagonal parity operation including an XOR operation on diagonal data blocks of current user data in the data disks in the RAID to obtain a diagonal parity of the second parity pair; and determining, based on the first parity pair and the second parity pair, a third parity pair for updating parity data of parity disks of the RAID, at least in part by performing an XOR operation on the first parity pair and the second parity pair to obtain the third parity pair. 2. The method of claim 1 , further comprising: storing a row parity and a diagonal parity of the third parity pair into a row parity disk and a diagonal parity disk of the RAID respectively. 3. The method of claim 2 , further comprising: in response to detecting a write to the RAID, determining whether the write is a full-stripe write or a partial-stripe write; in response to determining the write being the full-stripe write, obtaining a second parity pair after the write; and updating, based on the second parity pair after write and the first parity pair, the third parity pair for storing into the row parity disk and the diagonal parity disk, the first parity pair matching with a width of the RAID. 4. The method of claim 2 , further comprising: in response to determining a write to the RAID being a partial-stripe write, obtaining a third parity pair before the write; determining a second parity pair before the write based on the third parity pair before the write obtained in response to determining the write to the RAID being a partial-stripe write and the first parity pair, the first parity pair matching with a width of the RAID; determining an updated second parity pair based on a checksum of a new data disk and the second parity pair determined before the write; and updating, based on the updated second parity pair and the first parity pair, the third parity pair for storing into the row parity disk and the diagonal parity disk. 5. The method of claim 1 , wherein the diagonal parity of the first parity pair is varied with different widths of the RAID. 6. The method of claim 1 , further comprising: in response to detecting a presence of a failed data disk in the RAID, obtaining checksums of valid data disks in the RAID; obtaining a third parity pair before failure; determining a second parity pair before failure based on the third parity pair obtained before failure and the first parity pair; and recovering checksums of the failed data disk based on the checksums of the valid data disks in the RAID that were obtained in response to detecting the presence of the failed data disk in the RAID and the second parity pair determined before failure. 7. The method of claim 1 , further comprising: in response to detecting a failure of parity disks in the RAID, determining a second parity pair before failure based on current checksums of respective data disks in the RAID; determining a third parity pair before failure based on the second parity pair determined before failure and the first parity pair, the first parity pair matching with a width of the RAID; and storing the determined third parity pair before failure to be used as a parity pair of parity disks after a reconstruction. 8. A device for data management of a Redundant Array of Independent Disks (RAID), comprising: a memory configured to store one or more programs; a processing unit coupled to the memory and configured to execute the one or more programs to cause the device to perform acts comprising: obtaining a first parity pair, the first parity pair being determined based on a first checksum when user data of data disks in the RAID are predetermined values, wherein obtaining the first parity pair includes performing an XOR operation on the first checksum to obtain a row parity of the first parity pair, and performing a diagonal parity operation including an XOR operation on diagonal data blocks of the predetermined values in the user data in the data disks in the RAID to obtain a diagonal parity of the first parity pair; determining, based on current checksums of the data disks in the RAID, a second parity pair of the RAID, wherein determining the second parity pair of the RAID includes performing an XOR operation on the current checksums of the data disks in the RAID to obtain a row parity of the second parity pair, and performing a diagonal parity operation including an XOR operation on diagonal data blocks of current user data in the data disks in the RAID to obtain a diagonal parity of the second parity pair; and determining, based on the first parity pair and the second parity pair, a third parity pair for updating parity data of parity disks of the RAID, at least in part by performing an XOR operation on the first parity pair and the second parity pair to obtain the third parity pair. 9. The device of claim 8 , wherein the acts further comprise: storing a row parity and a diagonal parity of the third parity pair into a row parity disk and a diagonal parity disk of the RAID respectively. 10. The device of claim 9 , wherein the acts further comprise: in response to detecting a write to the RAID, determining whether the write is a full-stripe write or a partial-stripe write; in response to determining the write being the full-stripe write, obtaining a second parity pair after the write; and updating, based on the second parity pair after write and the first parity pair, the third parity pair for storing into the row parity disk and the diagonal parity disk, the first parity pair matching with a width of the RAID. 11. The device of claim 9 , wherein the acts further comprise: in response to determining a write to the RAID being a partial-stripe write, obtaining a third parity pair before the write; determining a second parity pair before the write obtained in response to determining the write to the RAID being a partial-stripe write based on the third parity pair before the write and the first parity pair, the first parity pair matching with a width of the RAID; determining an updated second parity pair based on a checksum of a new data disk and the second parity pair determined before the write; and updating, based on the updated second parity pair and the first parity pair, the third parity pair for storing into the row parity disk and the diagonal parity disk. 12. The device of claim 8 , wherein the diagonal parity of the first parity pair is varied with different widths of the RAID. 13. The device of claim 8 , wherein the acts further comprise: in response to detecting a presence of a failed data disk in the RAID, obtaining checksums of valid data disks in the RAID; obtaining a third parity pair before failure; determining a second pari

Assignees

Inventors

Classifications

  • Monitoring storage devices or systems · CPC title

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

  • Parity data used in redundant arrays of independent storages, e.g. in RAID systems · CPC title

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

  • Logical and Boolean instructions, e.g. XOR, NOT · 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 US11513896B2 cover?
Techniques manage data of a Redundant Array of Independent Disks (RAID). Such techniques involve: obtaining a first parity of checksum pair, which is determined based on a first checksum when user data of data disks in the RAID are predetermined values; determining, based on current checksums of the data disks in the RAID, a second parity of checksum pair of the RAID, the first parity of checks…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F11/1076. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 29 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).