Optimizing file system layout for reduced raid processing
US-10585855-B1 · Mar 10, 2020 · US
US10922177B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10922177-B2 |
| Application number | US-201815955082-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 17, 2018 |
| Priority date | Apr 17, 2017 |
| Publication date | Feb 16, 2021 |
| Grant date | Feb 16, 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.
Embodiments of the present disclosure relate to method, device and computer readable storage media for rebuilding redundant array of independent disks (RAID). The method comprises: in response to detecting at least one fault disk in the RAID, adding a new disk to the RAID for rebuilding; determining, according to a mapping table, a first set of storage blocks marked as “free” in the at least one fault disk, the mapping table indicating usage state of storage space in the RAID; and writing a predetermined value into a second set of storage blocks corresponding to the first group of storage blocks in the new disk.
Opening claim text (preview).
We claim: 1. A method of rebuilding a redundant array of independent disks (RAID), the method comprising: in response to detecting at least one fault disk in the RAID, adding a new disk to the RAID for rebuilding; determining, from a mapping table, a first set of storage blocks marked as “free” in the at least one fault disk, the mapping table indicating usage state of storage space in the RAID; and writing a predetermined value into a second set of storage blocks corresponding to the first set of storage blocks in the new disk, wherein the mapping table indicates usage state of storage blocks in the RAID, the storage blocks corresponding to logic storage slices in a mapping logic unit, and wherein the method further comprises: in response to the mapping logic unit receiving a write request, (i) allocating a new slice from a slice pool and (ii) sending a first indication to a RAID controller that controls the RAID, the first indication identifying the new slice; in response to the RAID controller receiving the first indication, marking as used in the mapping table a block that corresponds to the new slice; sending, by the RAID controller to the mapping logic unit, a second indication that the new slice is available; and in response to the mapping logic unit receiving the second indication, marking the new slice as available in the mapping logic unit. 2. The method of claim 1 , further comprising: reading, from fault-free disks in the RAID, data associated with a third set of storage blocks in the fault disk, which are marked as “used” in the mapping table; determining, based on the read data, redundant data corresponding to the third set of storage blocks; and writing the redundant data into a fourth set of storage blocks corresponding to the third set of storage blocks in the new disk. 3. The method of claim 1 , further comprising updating the mapping table, the updating comprising: in response to receiving from the mapping logic unit a third indication of a logic storage slice to be released in the mapping logic unit, marking the storage block corresponding to the logic storage slice to be released as “free” in the mapping table. 4. The method of claim 3 , the updating further comprising: sending to the mapping logic unit a fourth indication indicating that the storage block corresponding to the logic storage slice to be released has been marked as “released” in the mapping table. 5. The method of claim 1 , wherein disks in the RAID are hard disk drives. 6. The method of claim 1 , further comprising: receiving, by the RAID controller of the RAID from the mapping logic unit, a third indication that identifies a particular slice to be released from the mapping logic unit; in response to the RAID controller receiving the third indication, marking as free in the mapping table a block that corresponds to the particular slice; sending, by the RAID controller to the mapping logic unit, a fourth indication that the block that corresponds to the particular slice has been released; and in response to the mapping logic unit receiving the fourth indication, marking the particular slice as released in the mapping logic unit. 7. A storage system comprising: at least one processing unit; at least one memory coupled to the at least one processing unit and storing instructions executed by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the storage system to perform actions, the actions comprising: in response to detecting at least one fault disk in a redundant array of independent disks (RAID), a RAID controller adding a new disk to the RAID for rebuilding; the RAID controller determining, from a mapping table, a first set of storage blocks marked as “free” in the at least one fault disk, the mapping table indicating usage state of storage space in the RAID; and the RAID controller writing a predetermined value into a second set of storage blocks corresponding to the first set of storage blocks in the new disk, wherein the mapping table indicates usage state of storage blocks in the RAID, the storage blocks corresponding to logic storage slices in a mapping logic unit, and wherein the actions further comprise: in response to the mapping logic unit receiving a write request, (i) allocating a new slice from a slice pool and (ii) sending a first indication to the RAID controller that controls the RAID, the first indication identifying the new slice, the RAID controller and the mapping logic unit running in the storage system; in response to the RAID controller receiving the first indication, marking as used in the mapping table a block that corresponds to the new slice; sending, by the RAID controller to the mapping logic unit, a second indication that the new slice is available; and in response to the mapping logic unit receiving the second indication, marking the new slice as available in the mapping logic unit. 8. The storage system of claim 7 , the actions further comprising: reading, from fault-free disks in the RAID, data associated with a third set of storage blocks in the fault disk, which are marked as “used” in the mapping table; determining, based on the read data, redundant data corresponding to the third set of storage blocks; and writing the redundant data into a fourth set of storage blocks corresponding to the third set of storage blocks in the new disk. 9. The storage system of claim 7 , the actions further comprising updating the mapping table, and the updating comprising: in response to receiving from the mapping logic unit a third indication indicating a logic storage slice to be released in the mapping logic unit, marking the storage block corresponding to the logic storage slice to be released as “free” in the mapping table. 10. The storage system of claim 9 , wherein the updating further comprises: sending to the mapping logic unit a fourth indication indicating that the storage block corresponding to the logic storage slice to be released has been marked as “released” in the mapping table. 11. The storage system of claim 7 , wherein disks in the RAID are hard disk drives. 12. A computer program product for rebuilding a redundant array of independent disks (RAID), the computer program product comprising: a non-transitory computer readable medium encoded with computer executable code, the code configured to enable the execution of: in response to detecting at least one fault disk in the RAID, adding a new disk to the RAID for rebuilding; determining, from a mapping table, a first set of storage blocks marked as “free” in the at least one fault disk, the mapping table indicating usage state of storage space in the RAID; and writing a predetermined value into a second set of storage blocks corresponding to the first set of storage blocks in the new disk, wherein the mapping table indicates usage state of storage blocks in the RAID, the storage blocks corresponding to logic storage slices in a mapping logic unit, and wherein the code is further configured to enable the execution of: receiving, by a RAID controller of the RAID from the mapping logic unit, a third indication that identifies a particular slice to be released from the mapping logic unit; in response to the RAID controller receiving the third indication, marking as free in the mapping table a block that corresponds to the particular slice; sending, by the RAID controller to the mapping logic unit, a fourth indication that the block that corresponds to the particular slice has been released; and in response to the mapping logic unit receiving the fourth indication, marking the particular slice as
Parity data used in redundant arrays of independent storages, e.g. in RAID systems · CPC title
Redundant storage or storage space (G06F11/2056 takes precedence) · CPC title
Solving problems relating to consistency · CPC title
Disk arrays, e.g. RAID, JBOD · CPC title
Rebuilding, e.g. when physically replacing a failing disk · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.