Apparatus, system, and method for atomic storage operations
US-10013354-B2 · Jul 3, 2018 · US
US11093331B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11093331-B2 |
| Application number | US-201816223843-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 18, 2018 |
| Priority date | Apr 28, 2018 |
| Publication date | Aug 17, 2021 |
| Grant date | Aug 17, 2021 |
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 detect incomplete write of data. The techniques involve obtaining metadata associated with a sector in a parity disk of a Redundancy Array of Independent Disks (RAID), wherein the metadata includes a sequence stamp and a partial write flag, the sequence stamp changing with a write operation on a stripe to which the sector belongs, and the partial write flag indicating whether the stripe is partially written. The techniques further involve determining whether incomplete write of data is present in the RAID based on the metadata, and the techniques further involve in response to determining the incomplete write of the data being present in the RAID, rebuilding at least one disk in the RAID. By adding a sequence stamp and a partial write flag in the metadata of the sector of the RAID, incomplete write of data can be detected more accurately, thereby improving the reliability of RAID.
Opening claim text (preview).
We claim: 1. A method for detecting incomplete write of data, comprising: obtaining metadata associated with a sector in a parity disk of a Redundancy Array of Independent Disks (RAID), the metadata at least including a sequence stamp and a partial write flag, the sequence stamp changing with a write operation on a stripe to which the sector belongs, the partial write flag indicating whether the stripe is partially written; determining, based on the metadata, whether incomplete write of data is present in the RAID; and in response to determining the incomplete write of the data being present in the RAID, rebuilding at least one disk in the RAID; wherein the metadata further includes a write stamp indicating data write in the sector; wherein determining whether incomplete write of data is present in the RAID comprises: in response to a relationship between the write stamp and other write stamps of other disks in the RAID failing to meet a predetermined condition, determining a disk in the RAID involving the incomplete write; and wherein determining the disk in the RAID involving the incomplete write comprises: in response to the partial write flag being a first value, determining a first disk in the RAID involving the incomplete write based on the write stamp; or in response to the partial write flag being a second value, determining a second disk in the RAID involving the incomplete write based on the write stamp, the sequence stamp and the partial write flag. 2. The method of claim 1 , wherein determining whether incomplete write of data is present in the RAID further comprises: determining, by comparing the sequence stamp of the parity disk and sequence stamps of the other disks in the RAID, whether the incomplete write of the data is present in the RAID. 3. The method of claim 1 , wherein the metadata further includes a checksum of data in the sector, and a Logical Block Address (LBA) stamp associated with a LBA of the sector. 4. The method of claim 3 , wherein determining whether incomplete write of data is present in the RAID further comprises: determining, based on the relationship between the write stamp of the parity disk and the other write stamps of other disks in the RAID, whether the incomplete write of the data is present in the RAID. 5. The method of claim 1 , wherein rebuilding at least one disk in the RAID comprises: in response to the number of disks involving the incomplete write being above the number of parity disks in the RAID, rebuilding the parity disk; and in response to the number of disks involving the incomplete write being below the number of parity disks in the RAID, rebuilding the disk involving the incomplete write. 6. The method of claim 1 , further comprising: in response to data being written into the sector, obtaining the sequence stamp; in response to the sequence stamp reaching a predetermined threshold, resetting the sequence stamp; and in response to the sequence stamp failing to reach the predetermined threshold, increasing the sequence stamp. 7. The method of claim 6 , further comprising: in response to the data being written into the sector, determining whether the write of the data involves all sectors in the stripe; in response to determining the write of the data failing to involve all sectors in the stripe, setting the partial write flag to the first value; and in response to determining the write of the data involving all sectors in the stripe, setting the partial write flag to the second value. 8. The method of claim 1 , wherein rebuilding the at least one disk in the RAID includes: rebuilding a user disk of the RAID, the user disk being different from the parity disk of the RAID. 9. A device for detecting incomplete write of data, comprising: a processing unit; and a memory coupled to the processing unit and storing instructions thereon, the instructions, when executed by the processing unit, performing actions of: obtaining metadata associated with a sector in a parity disk of a Redundancy Array of Independent Disks (RAID), the metadata at least including a sequence stamp and a partial write flag, the sequence stamp changing with a write operation on a stripe to which the sector belongs, the partial write flag indicating whether the stripe is partially written; determining, based on the metadata, whether incomplete write of data is present in the RAID; and in response to determining the incomplete write of the data being present in the RAID, rebuilding at least one disk in the RAID; wherein the metadata further includes a write stamp indicating data write in the sector; wherein determining whether incomplete write of data is present in the RAID further comprises: in response to a relationship between the write stamp and other write stamps of other disks in the RAID failing to meet a predetermined condition, determining a disk in the RAID involving the incomplete write; wherein the determining the disk in the RAID involving the incomplete write comprises: in response to the partial write flag being a first value, determining a first disk in the RAID involving the incomplete write based on the write stamp; or in response to the partial write flag being a second value, determining a second disk in the RAID involving the incomplete write based on the write stamp, the sequence stamp and the partial write flag. 10. The device of claim 9 , wherein determining whether incomplete write of data is present in the RAID further comprises: determining, by comparing the sequence stamp of the parity disk and sequence stamps of the other disks in the RAID, whether the incomplete write of the data is present in the RAID. 11. The device of claim 9 , wherein the metadata further includes a checksum of data in the sector, and a Logical Block Address (LBA) stamp associated with a LBA of the sector. 12. The device of claim 11 , wherein determining whether incomplete write of data is present in the RAID further comprises: determining, based on the relationship between the write stamp of the parity disk and the other write stamps of other disks in the RAID, whether the incomplete write of the data is present in the RAID. 13. The device of claim 9 , wherein rebuilding at least one disk in the RAID comprises: in response to the number of disks involving the incomplete write being above the number of parity disks in the RAID, rebuilding the parity disk; and in response to the number of disks involving the incomplete write being below the number of parity disks in the RAID, rebuilding the disk involving the incomplete write. 14. The device of claim 9 , further comprising: in response to data being written into the sector, obtaining the sequence stamp; in response to the sequence stamp reaching a predetermined threshold, resetting the sequence stamp; and in response to the sequence stamp failing to reach the predetermined threshold, increasing the sequence stamp. 15. The device of claim 14 , further comprising: in response to the data being written into the sector, determining whether the write of the data involves all sectors in the stripe; in response to determining the write of the data failing to involve all sectors in the stripe, setting the partial write flag to the first value; and in response to determining the write of the data involving all sectors in the stripe, setting the partial write flag to the second value. 16. The device of claim 9 , wherein rebuilding the at least one disk in the RAID includes: rebuilding a user disk of the RAID, the user disk being different from the parity disk of the RAID
to protect a block of data words, e.g. CRC or checksum (G06F11/1076 takes precedence; security arrangements for protecting computers or computer systems against unauthorized activity G06F21/00) · CPC title
Parity data used in redundant arrays of independent storages, e.g. in RAID systems · CPC title
Rebuilding, e.g. when physically replacing a failing disk · CPC title
Improving I/O performance · CPC title
by checking the correct order of processing (G06F11/08 - G06F11/26 take precedence; monitoring patterns of pulse trains H03K5/19) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.