Illllllllllllllllllllllllllllllllllllllllllllllllll
US007321905B2
(12) United States Patent ao) Patent No.: Us 7,321,905 B2
Hartline et al. (45) Date of Patent: Jan. 22,2008
(65) Prior Publication Data
US 2006/0074954 Al Apr. 6, 2006
(51) Int. CI.
G06F17/00 (2006.01)
(52) U.S. CI 707/202; 711/114; 714/800
(58) Field of Classification Search None
See application file for complete search history.
(56) References Cited
U.S. PATENT DOCUMENTS
5,208,813 A * 5/1993 Stallmo 714/7
5,235,601 A * 8/1993 Stallmo et al 714/766
5,390,187 A * 2/1995 Stallmo 714/7
5,485,571 A 1/1996 Menon 395/182
5,519,844 A * 5/1996 Stallmo 711/114
5,522,032 A 5/1996 Franaszek et al 395/182
5,537,567 A * 7/1996 Galbraith et al 711/114
5,550,849 A * 8/1996 Harrington 714/752
5,613,059 A * 3/1997 Stallmo et al 714/6
5,617,530 A * 4/1997 Stallmo et al 714/6
(Continued)
FOREIGN PATENT DOCUMENTS
EP 1324200 7/2003
(Continued)
OTHER PUBLICATIONS
"Efficient Addressing Scheme for Clustered Redundant Array of
Independent Disks," IBM Technical Disclosure Bulletin, vol. 36
No. 06B, Jun. 1993.
(Continued)
Primary Examiner—Sana Al-Hashemi
Assistant Examiner—Hubert Cheung
(74) Attorney, Agent, or Firm—Samuel A. Kassatly;
Kain Gibbons Gutman Bongini & Bianco, PL.
A recovery enabling system for storage arrays is a high distance generalization of RAID-5 with optimal update complexity and near optimal storage efficiency. The recovery enabling system utilizes presets, data cells with known values that initialize the reconstruction process. The presets allow resolution of parity equations to reconstruct data when failures occur. In one embodiment, additional copies of the layout of the recovery enabling system are packed onto the same disks to minimize the effect of presets on storage efficiency without destroying the clean geometric construction of the recovery enabling system. The recovery enabling system has efficient XOR-based encoding, recovery, and updating algorithms for arbitrarily large distances, making the recovery enabling system an ideal candidate when storage-efficient reliable codes are required.
20 Claims, 12 Drawing Sheets
PROVIDE A STORAGE ARRAY WITH 'n'
DATA STORAGE DEVICES AND 'q' ^-SGS
PARITY STORAGE DEVICES
PARTITION EACH OF THE STORAGE DEVICES
INTO STRIPS. EACH STRIP C0MPRISINGA
PREDETERMINED NUMBER OF BLOCKS
ORGANIZE STRIPS INTO STRIPES
PARTITION EACH STRIP INTO Y ELEMENTS \—t
LABEL SOME OF THE ELEMENTS ON THE
DATA STORAGE DEVICES AS DATA ELEMENTS
LABEL SOME OF THE ELEMENTS ON THE
PARITY DEVICES AS PARITY ELEMENTS
DEFINE A SET OF 'q' PARITY SLOPES,
ONE PARITY SLOPE FOR EACH
PARITY STORAGE DEVICE