Fast Data Recovery From HDD Failure
First Claim
1. A storage system comprising:
- a first storage device having a first plurality of hard disk drives and a first controller controlling said first plurality of hard disk drives;
wherein said first controller stores data in said first plurality of hard disk drives by stripes, each stripe includes M data and N parity data, where M and N are integers, and said first controller calculates for each stripe said N parity data using said M data,wherein said M data and N parity data of said each stripe are allocated to M+N hard disk drives of said first plurality of hard disk drives,wherein a first hard disk drive of said first plurality of hard disk drives includes data or parity data of both a first stripe of said stripes and a second stripe of said stripes, while a second hard disk drive of said first plurality of hard disk drives includes data or parity data of only one of said first stripe of said stripes or said second stripe of said stripes,wherein during data recovery involving failure of one of the first plurality of hard disk drives as a failed hard disk drive, the data in the failed hard disk drive is recovered for each stripe by calculation using data and parity data in other hard disk drives of the first plurality of hard disk drives for said each stripe.
1 Assignment
0 Petitions
Accused Products
Abstract
A storage system comprises a first storage device having a first plurality of hard disk drives and a first controller. The first controller stores data in the first plurality of hard disk drives by stripes. Each stripe includes M data and N parity data allocated to M+N hard disk drives of the first plurality of hard disk drives. A first hard disk drive includes data or parity data of both a first stripe of the stripes and a second stripe of the stripes, while a second hard disk drive includes data or parity data of only one of the first stripe or the second stripe. During data recovery involving failure of one of the first plurality of hard disk drives, the data in the failed hard disk drive is recovered for each stripe by calculation using data and parity data in other hard disk drives for each stripe.
-
Citations
20 Claims
-
1. A storage system comprising:
-
a first storage device having a first plurality of hard disk drives and a first controller controlling said first plurality of hard disk drives; wherein said first controller stores data in said first plurality of hard disk drives by stripes, each stripe includes M data and N parity data, where M and N are integers, and said first controller calculates for each stripe said N parity data using said M data, wherein said M data and N parity data of said each stripe are allocated to M+N hard disk drives of said first plurality of hard disk drives, wherein a first hard disk drive of said first plurality of hard disk drives includes data or parity data of both a first stripe of said stripes and a second stripe of said stripes, while a second hard disk drive of said first plurality of hard disk drives includes data or parity data of only one of said first stripe of said stripes or said second stripe of said stripes, wherein during data recovery involving failure of one of the first plurality of hard disk drives as a failed hard disk drive, the data in the failed hard disk drive is recovered for each stripe by calculation using data and parity data in other hard disk drives of the first plurality of hard disk drives for said each stripe. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. In a storage system which includes a first storage device having a first plurality of hard disk drives and a first controller controlling said first plurality of hard disk drives, a method of data recovery comprising:
-
storing data in said first plurality of hard disk drives of said first controller by stripes, each stripe includes M data and N parity data, where M and N are integers, and said first controller calculates for each stripe said N parity data using said M data; allocating said M data and N parity data of said each stripe to M+N hard disk drives of said first plurality of hard disk drives, wherein a first hard disk drive of said first plurality of hard disk drives includes data or parity data of both a first stripe of said stripes and a second stripe of said stripes, while a second hard disk drive of said first plurality of hard disk drives includes data or parity data of only one of said first stripe of said stripes or said second stripe of said stripes; and during data recovery involving failure of one of the first plurality of hard disk drives as a failed hard disk drive, recovering the data in the failed hard disk drive for each stripe by calculation using data and parity data in other hard disk drives of the first plurality of hard disk drives for said each stripe. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. In a storage system which includes a first storage device having a first plurality of hard disk drives and a first controller controlling said first plurality of hard disk drives, a computer-readable medium storing a plurality of instructions for controlling a data processor to perform data recovery comprising:
-
instructions that cause the data processor to store data in said first plurality of hard disk drives of said first controller by stripes, each stripe includes M data and N parity data, where M and N are integers, and said first controller calculates for each stripe said N parity data using said M data; instructions that allocate said M data and N parity data of said each stripe to M+N hard disk drives of said first plurality of hard disk drives, wherein a first hard disk drive of said first plurality of hard disk drives includes data or parity data of both a first stripe of said stripes and a second stripe of said stripes, while a second hard disk drive of said first plurality of hard disk drives includes data or parity data of only one of said first stripe of said stripes or said second stripe of said stripes; and instructions that, during data recovery involving failure of one of the first plurality of hard disk drives as a failed hard disk drive, recover the data in the failed hard disk drive for each stripe by calculation using data and parity data in other hard disk drives of the first plurality of hard disk drives for said each stripe.
-
Specification