Optimizing file system layout for reduced raid processing
US-10585855-B1 · Mar 10, 2020 · US
US11513896B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11513896-B2 |
| Application number | US-201916582637-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 25, 2019 |
| Priority date | Oct 31, 2018 |
| Publication date | Nov 29, 2022 |
| Grant date | Nov 29, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.