Method for reorganizing the data on a RAID-4 or RAID-5 array in the absence of one disk
DCFirst Claim
1. In a storage system having n+1 disks arranged in a RAID array, a plurality of data blocks arranged into a plurality of data chunks, a plurality of parity blocks arranged into a plurality of parity chunks, each parity block associated with n data blocks in n data chunks, said data chunks and said parity chunks distributed over said n+1 disks, one of said parity chunks and all of said data chunks that are associated with said parity chunk forming a strip, a method of reorganizing said data chunks when one of said n+1 disks fails, comprising the steps of:
- detecting the failure of one of said n+1 disks;
determining if said failed disk contains all parity chunks;
if said failed disk contains all parity chunks, terminating said method;
if said failed disk contains at least some data chunks, then for each strip containing a data chunk located on said failed disk, regenerating the data of said data chunk located on said failed disk and writing said regenerated data onto said parity chunk associated with said data chunk of said failed disk to form a fully folded array.
5 Assignments
Litigations
0 Petitions
Accused Products
Abstract
In a storage system having a plurality of disks arranged in a RAID array with one of the disks failed, a method of reorganizing the data on the RAID array at the time of failure to prevent both a decrease in performance of the array and reliability of the data and an increase in the cost of operation. Data from the failed disk is regenerated one strip at a time and written onto the original parity chunk for the strip. The resulting fully folded array has the characteristics of a RAID level 0 array. When a replacement disk is inserted into the array the process is reversed to bring the fully folded array back to a fully redundant condition.
-
Citations
3 Claims
-
1. In a storage system having n+1 disks arranged in a RAID array, a plurality of data blocks arranged into a plurality of data chunks, a plurality of parity blocks arranged into a plurality of parity chunks, each parity block associated with n data blocks in n data chunks, said data chunks and said parity chunks distributed over said n+1 disks, one of said parity chunks and all of said data chunks that are associated with said parity chunk forming a strip, a method of reorganizing said data chunks when one of said n+1 disks fails, comprising the steps of:
-
detecting the failure of one of said n+1 disks;
determining if said failed disk contains all parity chunks;
if said failed disk contains all parity chunks, terminating said method;
if said failed disk contains at least some data chunks, then for each strip containing a data chunk located on said failed disk, regenerating the data of said data chunk located on said failed disk and writing said regenerated data onto said parity chunk associated with said data chunk of said failed disk to form a fully folded array.
-
-
2. In a storage system having n+1 disks arranged in a RAID array, a plurality of data blocks arranged into a plurality of data chunks, a plurality of parity blocks arranged into a plurality of parity chunks, each parity block in a parity chunk associated with n data blocks in n data chunks, said data chunks and said parity chunks distributed over said n+1 disk, one of said parity chunks and all of said data chunks that are associated with said parity chunk forming a strip, a method of reorganizing said data chunks when one of said n+1 disks fails, comprising the steps of:
-
detecting the failure of one of said n+1 disks;
determining if said failed disk contains all parity chunks;
if said failed disk contains all parity chunks, terminating said method;
if said failed disk contains at least some data chunks, reorganizing said data chunks of said array to form an array with the characteristics of a RAID level 0 array.
-
-
3. In a storage system having n active disks and one failed disk formerly organized into strips when said failed disk was active, a plurality of data blocks arranged into a plurality of data chunks, said data chunks distributed over said n active disks and said n active disks arranged into a fully folded array, the failed disk having chunks, each of said chunks located on a different one of said strips, a method of restoring said fully folded array to a fully redundant condition comprising the steps of:
-
substituting a replacement disk for said failed disk;
determining, for each one of said strips if said chunk of said failed disk originally contained only parity information or originally contained data;
if said failed disk chunk originally contained only parity information, then calculate said parity information from said data chunks originally associated with said parity information and write said parity information on a corresponding chunk of said replacement disk;
if said failed disk chunk originally contained data, then determine which one of said n active disks originally contained a chunk of parity information;
read said data from said one of said n active disks;
write said data on said corresponding replacement disk chunk;
calculate new parity information for said strip; and
write said recalculated parity information to said one of said n active disk.
-
Specification