Distributing mapped raid disk extents when proactively copying from an EOL disk
US-10152254-B1 · Dec 11, 2018 · US
US11775226B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11775226-B2 |
| Application number | US-201816167693-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 23, 2018 |
| Priority date | Oct 27, 2017 |
| Publication date | Oct 3, 2023 |
| Grant date | Oct 3, 2023 |
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 methods, devices and computer program products for writing data in a disk array in a storage system. The storage system comprises a disk array. The method comprises: in response to receiving a write request to write new data to a data block in at least one disk array group in a degraded mode within a disk array, reading old data stored in the data block and old parity information stored in a parity block associated with the data block. The method further comprises: determining new parity information associated with the new data based on the old data, the old parity information and the new data. The method further comprises: writing the new data and the new parity information into at least one cache page provided by a cache component in the storage system, the at least one cache page being allocated in a persistent memory in the cache component. In addition, this method further comprises: flushing the new data and the new parity information into the data block and the parity block in the at least one disk array group, respectively.
Opening claim text (preview).
We claim: 1. A method ( 800 ) of writing data in a disk array ( 230 ) in a storage system ( 200 ), the method ( 800 ) comprising: in response to receiving a write request to write new data to a data block in a disk array group ( 231 - 1 ) in a degraded mode within the disk array ( 230 ), reading ( 810 ) old data stored in the data block and old parity information stored in a parity block associated with the data block, the storage system ( 200 ) including a cache component ( 210 ) having a persistent memory ( 220 ), a cache page being allocated in the persistent memory ( 220 ), and a storage disk of the disk array group ( 231 - 1 ) including an independent journal space used to ensure data consistency upon performing a read/write operation with respect to the disk array group ( 231 - 1 ); determining ( 820 ) new parity information associated with the new data based on the old data, the old parity information, and the new data; determining that the disk array group ( 231 - 1 ) is in the degraded mode within the disk array ( 230 ); in response to determining that the disk array group ( 231 - 1 ) is in the degraded mode: replacing the independent journal space included in the storage disk with the cache page allocated in the persistent memory ( 220 ); and writing ( 830 ) the new data and the new parity information into the cache page; and flushing ( 840 ) the new data and the new parity information into the data block and the parity block in the disk array group ( 231 - 1 ), respectively; wherein writing the new data and the new parity information into the cache page comprises: sending, from the disk array group ( 231 - 1 ) in the degraded mode, a first request to the cache component ( 210 ) to allocate the cache page in the persistent memory ( 220 ); in response to receiving first information about the cache page from the cache component ( 210 ), writing, by the disk array group ( 231 - 1 ) in the degraded mode, the new data and the new parity information to the cache page, wherein the first information about the cache page comprises a data structure recording an address of the cache page; and in response to completion of the writing to the cache page, sending, from the disk array group ( 231 - 1 ) in the degraded mode, a first indication of the completion of the writing to the cache component ( 210 ). 2. The method ( 800 ) according to claim 1 , wherein the data block and the parity block are included in a stripe in the disk array group ( 231 - 1 ), the first request instructing the cache component ( 210 ) to lock the stripe to prevent a further operation for the stripe, and the first request further instructing the cache component ( 210 ) to mark the cache page as to-be-flushed upon receiving the first indication. 3. The method ( 800 ) according to claim 2 , wherein writing the new data and the new parity information into the data block and the parity block respectively comprises: in response to receiving, at the disk array group ( 231 - 1 ) in the degraded mode from the cache component ( 210 ), a second indication that the new data and the new parity information can be flushed to the disk array group ( 231 - 1 ), sending, from the disk array group ( 231 - 1 ) in the degraded mode to the cache component ( 210 ) a second request to flush the new data and the new parity information; in response to receiving from the cache component ( 210 ) a write- through request for the new data and the new parity information, flushing the new data and the new parity information to the data block and the parity block, respectively; and in response to completion of the flushing to the data block and the parity block, sending, from the disk array group ( 231 - 1 ) in the degraded mode, a third indication of the completion of the flushing to the cache component ( 210 ). 4. The method ( 800 ) according to claim 3 , wherein the write-through request comprises second information of the cache page marked by the cache component ( 210 ) as to-be-flushed. 5. The method ( 800 ) according to claim 3 , wherein the second request instructs the cache component ( 210 ) to release the cache page and unlock the stripe upon receiving the third indication so as to enable a further operation for the stripe. 6. The method according to claim 2 , wherein flushing ( 840 ) includes: scanning ( 710 , 720 ), by the cache component ( 210 ), the persistent memory ( 220 ) in the cache component ( 210 ) for cache pages that are marked as to-be-flushed; determining ( 730 ), by the cache component ( 210 ), a set of dirty cache pages that are associated with the stripe; flushing ( 740 ), by the cache component ( 210 ), all dirty cache pages of the set into the stripe in the disk array group 231 - 1 simultaneously; and in response to flushing all the dirty cache pages of the set, removing ( 750 ), by the cache component ( 210 ), the to-be-flushed marks from the dirty cache pages of the set. 7. A disk array ( 230 ) comprised in a storage system ( 200 ), the disk array ( 230 ) comprising: at least one processing unit; at least one memory coupled to the at least one processing unit and storing instructions executable by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing a device to perform acts comprising: in response to receiving a write request to write new data to a data block in a disk array group ( 231 - 1 ) in a degraded mode within the disk array ( 230 ), reading old data stored in the data block and old parity information stored in a parity block associated with the data block, the storage system ( 200 ) including a cache component ( 210 ) having a persistent memory ( 220 ), a cache page being allocated in the persistent memory ( 220 ), and a storage disk of the disk array group ( 231 - 1 ) including an independent journal space used to ensure data consistency upon performing a read/write operation with respect to the disk array group ( 231 - 1 ); determining new parity information associated with the new data based on the old data, the old parity information, and the new data; determining that the disk array group ( 231 - 1 ) is in the degraded mode within the disk array ( 230 ); in response to determining that the disk array group ( 231 - 1 ) is in the degraded mode: replacing the independent journal space included in the storage disk with the cache page allocated in the persistent memory ( 220 ); and writing the new data and the new parity information into the cache page; and flushing the new data and the new parity information into the data block and the parity block in the disk array group ( 231 - 1 ), respectively; wherein writing the new data and the new parity information into the cache page comprises: sending, from the disk array group ( 231 - 1 ) in the degraded mode, a first request to the cache component ( 210 ) to allocate the cache page in the persistent memory ( 220 ); in response to receiving first information about the cache page from the cache component ( 210 ), writing, by the disk array group ( 231 - 1 ) in the degraded mode, the new data and the new parity information to the cache page, wherein the first information about the cache page comprises a data structure recording an address of the cache page; and in response to completion of the writing to the cache page, sending, from the disk array group ( 231 - 1 ) in the degraded mode, a first indication of the completion of the writing to the cache component ( 210 ). 8. The disk array ( 230 ) according to claim 7 , wherein the data block and the parity block are included in a stripe in the disk array group ( 231 - 1 ), the first request instructing the cache component ( 210 ) to lock the stripe to prevent a further operation for the strip
Disk arrays, e.g. RAID, JBOD · CPC title
Improving or facilitating administration, e.g. storage management · CPC title
Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems · CPC title
Parity data used in redundant arrays of independent storages, e.g. in RAID systems · CPC title
Degraded mode, e.g. caused by single or multiple storage removals or disk failures · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.