Method, electronic device, and computer product for RAID reconstruction

US11853618B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11853618-B2
Application numberUS-202117528551-A
CountryUS
Kind codeB2
Filing dateNov 17, 2021
Priority dateApr 22, 2021
Publication dateDec 26, 2023
Grant dateDec 26, 2023

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 RAID reconstruction involve: determining, from a task list, multiple stripes in a RAID that are involved in a to-be-processed task within a current task window, the task list including an external I/O request task and an internal reconstruction I/O request task, and each stripe including data on a first number of data disks and data on a second number of parity disks; reading data from the multiple stripes into a read buffer; and if data of the first number of data disks in a stripe among the multiple stripes has already been read into the read buffer, performing the internal reconstruction I/O request task on the stripe. Such a technique helps to increase the processing power and efficiency of the data storage system to recover the reconstruction of RAID stripes while coping with external I/O requests.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method for redundant array of independent disks (RAID) reconstruction, comprising: determining, from a task list, multiple stripes in a RAID that are involved in a to-be-processed task within a current task window, the task list including an external I/O request task and an internal reconstruction I/O request task, and each stripe including data on a first number of data disks and data on a second number of parity disks; reading data from the multiple stripes into a read buffer; and if data of the first number of data disks in a stripe among the multiple stripes has already been read into the read buffer, performing the internal reconstruction I/O request task on the stripe; wherein after the task list is initialized, to-be-processed tasks within task windows in the task list are executed in sequence; and wherein the method further comprises: destroying the task list if to-be-processed tasks within all task windows in the task list have been executed and the internal reconstruction I/O request task for the multiple stripes has been executed. 2. The method according to claim 1 , wherein data in the multiple stripes is read asynchronously into the read buffer, and wherein performing the internal reconstruction I/O request task on the stripe comprises: writing data in the stripe that is related to a failed disk to a write buffer; and asynchronously flushing data in the write buffer that is related to the failed disk to a hot spare disk. 3. The method according to claim 2 , further comprising: after the data in the stripe that is related to the failed disk has all been flushed to the hot spare disk, updating a relevant bit for the stripe in a reconstruction bitmap, and releasing all data of the stripe from the read buffer and the write buffer. 4. The method according to claim 1 , further comprising: if the to-be-processed tasks within the task windows in the task list have not all been executed, in response to receiving a new external I/O request task, inserting the new external I/O request task before the internal reconstruction I/O request task. 5. The method according to claim 1 , wherein the to-be-processed task within the current task window is determined by calculating heat values of the multiple stripes in the RAID. 6. The method according to claim 1 , further comprising: receiving an external I/O request during RAID reconstruction, and inserting the external I/O request before the task windows to prioritize processing of the external I/O request over reconstruction I/O requests. 7. An electronic device, comprising: at least one processing unit; and at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, wherein the instructions, when executed by the at least one processing unit, cause the electronic device to perform actions comprising: determining, from a task list, multiple stripes in a redundant array of independent disks (RAID) that are involved in a to-be-processed task within a current task window, the task list including an external I/O request task and an internal reconstruction I/O request task, and each stripe including data on a first number of data disks and data on a second number of parity disks; reading data from the multiple stripes into a read buffer; and if data of the first number of data disks in a stripe among the multiple stripes has already been read into the read buffer, performing the internal reconstruction I/O request task on the stripe; wherein after the task list is initialized, to-be-processed tasks within task windows in the task list are executed in sequence; and wherein the actions further comprise: destroying the task list if to-be-processed tasks within all task windows in the task list have been executed and the internal reconstruction I/O request task for the multiple stripes has been executed. 8. The electronic device according to claim 7 , wherein data in the multiple stripes is read asynchronously into the read buffer, and wherein performing the internal reconstruction I/O request task on the stripe comprises: writing data in the stripe that is related to a failed disk to a write buffer; and asynchronously flushing data in the write buffer that is related to the failed disk to a hot spare disk. 9. The electronic device according to claim 8 , wherein the actions further comprise: after the data in the stripe that is related to the failed disk has all been flushed to the hot spare disk, updating a relevant bit for the stripe in a reconstruction bitmap, and releasing all data of the stripe from the read buffer and the write buffer. 10. The electronic device according to claim 7 , wherein the actions further comprise: if the to-be-processed tasks within the task windows in the task list have not all been executed, in response to receiving a new external I/O request task, inserting the new external I/O request task before the internal reconstruction I/O request task. 11. The electronic device according to claim 7 , wherein the to-be-processed task within the current task window is determined by calculating heat values of the multiple stripes in the RAID. 12. The electronic device according to claim 7 , wherein the actions further comprise: receiving an external I/O request during RAID reconstruction, and inserting the external I/O request before the task windows to prioritize processing of the external I/O request over reconstruction I/O requests. 13. A computer program product having a non-transitory computer readable medium which stores a set of instructions to perform redundant array of independent disks (RAID) reconstruction; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of: determining, from a task list, multiple stripes in a RAID that are involved in a to-be-processed task within a current task window, the task list including an external I/O request task and an internal reconstruction I/O request task, and each stripe including data on a first number of data disks and data on a second number of parity disks; reading data from the multiple stripes into a read buffer; and if data of the first number of data disks in a stripe among the multiple stripes has already been read into the read buffer, performing the internal reconstruction I/O request task on the stripe; wherein after the task list is initialized, to-be-processed tasks within task windows in the task list are executed in sequence; and wherein the method further comprises: destroying the task list if to-be-processed tasks within all task windows in the task list have been executed and the internal reconstruction I/O request task for the multiple stripes has been executed. 14. The computer program product according to claim 13 , wherein data in the multiple stripes is read asynchronously into the read buffer, and wherein performing the internal reconstruction I/O request task on the stripe comprises: writing data in the stripe that is related to a failed disk to a write buffer; and asynchronously flushing data in the write buffer that is related to the failed disk to a hot spare disk. 15. The computer program product according to claim 14 , wherein the method further comprises: after the data in the stripe that is related to the failed disk has all been flushed to the hot spare disk, updating a relevant bit for the stripe in a reconstruction bitmap, and releasing all data of the stripe from the read buffer and the write buffer. 16. The compu

Assignees

Inventors

Classifications

  • G06F3/0689Primary

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

  • in relation to throughput · CPC title

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

  • Data buffering arrangements · CPC title

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · 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 US11853618B2 cover?
Techniques for RAID reconstruction involve: determining, from a task list, multiple stripes in a RAID that are involved in a to-be-processed task within a current task window, the task list including an external I/O request task and an internal reconstruction I/O request task, and each stripe including data on a first number of data disks and data on a second number of parity disks; reading dat…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
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 Dec 26 2023 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).