Systems, methods and devices for performing fast RAID re-synchronization using a RAID sandwich architecture

US10229014B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10229014-B1
Application numberUS-201615353790-A
CountryUS
Kind codeB1
Filing dateNov 17, 2016
Priority dateNov 19, 2015
Publication dateMar 12, 2019
Grant dateMar 12, 2019

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.

An example computer-implemented method for restoring data consistency in a RAID array can include detecting failure of a disk of the RAID array, maintaining tracking information for write input/output (“I/O”) operations that effect a data block or a parity block stored on the failed disk, re-commissioning the failed disk and re-synchronizing the RAID array using the tracking information. The tracking information can be used to restore consistency to at least one of the data stripes. For example, the RAID array can store data in one or more data stripes, where each data stripe has a plurality of data and parity blocks. Additionally, the data stripes to which consistency is restored can include a data block or a parity block that is stored on the re-commissioned disk and that is effected by the write I/O operations and stored on the re-commissioned disk.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for restoring data consistency in a RAID array, comprising: detecting failure of a disk of the RAID array, wherein the RAID array stores data in one or more data stripes, each data stripe comprising a plurality of data and parity blocks; maintaining tracking information for write input/output (“I/O”) operations that effect a data block or a parity block stored on the failed disk; re-commissioning the failed disk, wherein re-commissioning the failed disk further comprises restoring the failed disk to operation and causing a RAID layer controlling the RAID array to view the re-commissioned failed disk as being synchronized with the RAID array; reading one or more blocks front the re-commissioned failed disk, wherein each of the read blocks is a data block or a parity block effected by the write I/O operations; receiving a read error in response to reading each of the read blocks; and re-synchronizing the RAID array using the tracking information in order to restore consistency to at least one of the data stripes, wherein the at least one of the data stripes comprises at least one of a data block and a parity block effected by the write I/O operations, and wherein re-synchronizing the RAID array using the tracking information in order to restore consistency to at least one of the data stripes further comprises causing the RAID layer to compute each of the read blocks using RAID logic. 2. The computer-implemented method of claim 1 , wherein the RAID array is re-synchronized by restoring consistency only to the one or more data stripes comprising at least one of a data block and a parity block effected by the write I/O operations. 3. The computer-implemented method of claim 1 , wherein if the read block is a data block, causing the RAID layer to compute the read block using the RAID logic further comprises: reading one or more data blocks of a data stripe comprising the read block; reading one or more parity blocks of the data stripe comprising the read block; computing a new parity block based on the one or more data blocks, the one or more parity blocks and the read block; and writing the new parity block and the read block to the RAID array, wherein the one or more data blocks and the one or more parity blocks of the data stripe comprising the read block are stored on peer disks of the RAID array. 4. The computer-implemented method of claim 3 , wherein the read block comprises data corresponding to a write I/O operation. 5. The computer-implemented method of claim 1 , wherein if the read block is a parity block, causing the RAID layer to compute the read block using the RAID logic further comprises causing the RAID layer to re-write at least one data block of a data stripe comprising the read block, wherein the at least one data block of the data stripe comprising the read block is stored on a peer disk of the RAID array. 6. The computer-implemented method of claim 5 , wherein causing the RAID layer to re-write at least one data block of a data stripe comprising the read block further comprises: reading one or more data blocks of the data stripe comprising the read block; computing a new parity block based on the one or more data blocks of the data stripe comprising the read block; and writing the new parity block and the at least one data block to the RAID array. 7. The computer-implemented method of claim 1 , further comprising: analyzing the failed disk to find one or more disk errors; and repairing the one or more disk errors, wherein the one or more disk errors are repaired prior to re-commissioning the failed disk. 8. A non-transitory computer-readable recording medium having computer-executable instructions stored thereon for restoring data consistency in a RAID array that, when executed by a storage server computer, cause the storage server computer to: detect failure of a disk of the RAID array, wherein the RAID array stores data in one or more data stripes, each data stripe comprising a plurality of data and parity blocks; maintain tracking information for write input/output (“I/O”) operations that effect a data block or a parity block stored on the failed disk; re-commission the failed disk, wherein re-commissioning the tailed disk further comprises restoring the failed disk to operatic and causing a RAID layer controlling the RAID array to view hue re-commissioned failed disk as being synchronized with the RAID array; read one or more blocks from the re-commissioned failed desk, wherein each of the read blocks is a data block or a panty block effected by the write I/O operations; receive a read error in response to reading each of the read blocks; and re-synchronize the RAID array using the tracking information in order to restore consistency to at least one of the data stripes, wherein the at least one of the data stripes comprises at least one of a data block and a parity block effected by the write I/O operations, and wherein re-synchronizing the RAID array using the tracking information in order to restore consistency to at least one of the data stripe further comprises causing the RAID layer to compute each of the read blocks using RAID logic. 9. The non-transitory computer-readable recording medium of claim 8 , wherein if the read block is a data block, causing the RAID layer to compute the read block using the RAID logic further comprises: reading one or more data blocks of a data stripe comprising the read block; reading one or more parity blocks of the data stripe comprising the read block; computing a new parity block based on the one or more data blocks, the one or more parity blocks and the read block; and writing the new parity block and the read block to the RAID array, wherein the one or more data blocks and the one or more parity blocks of the data stripe comprising the read block are stored on peer disks of the RAID array. 10. The no-transitory computer-readable recording medium of claim 8 , wherein if the read block is a parity block, causing the RAID layer to compute the read block using the RAID logic further comprises causing the RAID layer to re-write at least one data block of a data stripe comprising the read block, wherein the at least one data block of the data stripe comprising the read block is stored on a peer disk of the RAID array. 11. The non-transitory computer-readable recording medium of claim 10 , wherein causing the RAID layer to re-write at least one data block of a data stripe comprising the read block further comprises: reading one or more data blocks of the data stripe comprising the read block; computing a new parity block based on the one or more data blocks of the data stripe comprising the read block; and writing the new parity block and the at least one data block to the RAID array. 12. The non-transitory computer-readable recording medium of claim 8 , having further computer-executable instructions stored thereon that, when executed by the storage server computer, cause the storage server computer to: analyze the failed disk to find one or more disk errors; and repair the one or more disk errors, wherein the one more disk errors are repaired prior to re-commissioning the failed disk. 13. A storage server computer for restoring data consistency in a RAID array, comprising: a processing unit; and a memory operably coupled to the processing unit, the memory having computer-executable instructions stored thereon that, when executed by the processing unit, cause the storage server computer to: detect failure of a disk of the RAID array, wherein the RAID array stores data in one or more data stripes, each data strip

Assignees

Inventors

Classifications

  • Real-time · CPC title

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

  • Management of blocks · CPC title

  • the resynchronized component or unit being a persistent storage device (re-synchronization of failed mirror storage G06F11/2082; rebuild or reconstruction of parity RAID storage G06F11/1008) · CPC title

  • Disk arrays, e.g. RAID, JBOD · 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 US10229014B1 cover?
An example computer-implemented method for restoring data consistency in a RAID array can include detecting failure of a disk of the RAID array, maintaining tracking information for write input/output (“I/O”) operations that effect a data block or a parity block stored on the failed disk, re-commissioning the failed disk and re-synchronizing the RAID array using the tracking information. The tr…
Who is the assignee on this patent?
American Megatrends Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/1662. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 12 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). 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).