Dynamic data recovery
First Claim
1. A computer storage system, comprising:
- a plurality of disk drives for storing parity groups, each parity group comprising storage blocks, said storage blocks comprising one or more data blocks and a parity block associated with said one or more data blocks, each of said storage blocks stored on a separate disk drive such that no two storage blocks from a given parity group reside on the same disk drive; and
a recovery module to dynamically recover data lost when at least a portion of one disk drive in said plurality of disk drives becomes unavailable, said recovery module configured to produce a reconstructed block by using information in the remaining storage blocks of a parity group corresponding to an unavailable storage block, said recovery module further configured to split said parity group corresponding to an unavailable storage block into two parity groups if said parity group corresponding to said unavailable storage block spanned all of the drives in said plurality of disk drives.
15 Assignments
0 Petitions
Accused Products
Abstract
A system and method for dynamic data recovery is described. The system and method for dynamic data recovery operates on a computer storage system that includes a plurality of disk drives for storing parity groups. Each parity group includes storage blocks. Each of the storage blocks is stored on a separate disk drive such that no two storage blocks from a given parity set reside on the same disk drive. The computer storage system further includes a recovery module to dynamically recover data that is lost when at least a portion of one disk drive in the plurality of disk drives becomes unavailable. The recovery module is configured to produce a reconstructed block by using information in the remaining storage blocks of a parity set that corresponds to an unavailable storage block. The recovery module is further configured to split the parity group corresponding to an unavailable storage block into two parity groups if the parity group corresponding to the unavailable storage block spanned all of the drives in the plurality of disk drives.
218 Citations
38 Claims
-
1. A computer storage system, comprising:
-
a plurality of disk drives for storing parity groups, each parity group comprising storage blocks, said storage blocks comprising one or more data blocks and a parity block associated with said one or more data blocks, each of said storage blocks stored on a separate disk drive such that no two storage blocks from a given parity group reside on the same disk drive; and
a recovery module to dynamically recover data lost when at least a portion of one disk drive in said plurality of disk drives becomes unavailable, said recovery module configured to produce a reconstructed block by using information in the remaining storage blocks of a parity group corresponding to an unavailable storage block, said recovery module further configured to split said parity group corresponding to an unavailable storage block into two parity groups if said parity group corresponding to said unavailable storage block spanned all of the drives in said plurality of disk drives. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A method for storing data in a computer network, comprising:
-
determining a size of a parity group in response to a write request, said size describing a number of data blocks in said parity group;
arranging at least a portion of data from said write request according to said data blocks;
computing a parity block for said parity group;
storing each of said data blocks on a separate disk drive such that no two data blocks from said parity group reside on the same disk drive;
storing said parity block on a separate disk drive that does not contain any of said data blocks;
reconstructing lost data by using information in the remaining storage blocks of a parity group corresponding to an unavailable storage block to produce a reconstructed parity group;
splitting said reconstructed parity group corresponding to an unavailable storage block into two parity groups if said reconstructed parity group is too large to be stored on said plurality of disk drives. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
Specification