Disk array system and its control method
AssigneeHitachi, Ltd.
InventorsHitoshi Kakuta, Yoshifumi Takamoto
Life of this patent
Estimating the term…
Abstract
In a disk array system of RAID (level 5) improving the system performance by distributing data, duplicated fields are allocated in a parity group in order to reduce an overhead of data write. In the data write process, write data is tentatively and duplicately written in the duplicate fields. At this time, a write completion is reported to CPU. The parity is generated later at a proper timing and written in a SCSI drive. Generating a parity and writing data can be efficiently scheduled.
Claims16
A method of writing data in a storage unit having a plurality of drives, in a form of combination of a plurality of write data and an error correcting code, comprising:
- (a) generating at least one error correcting code from (m−1) write data supplied from an upper unit;
- (b) writing, as one data group, said (m−1) write data and said error correcting code in m space fields each belonging to one of m drives within said plurality of drives;
- (c) responsive to an update request issued by said upper unit for one (old write data) of said (m−1) write data, writing new write data designated by said update request into two space fields belonging to two drives within said plurality of drives other than said m drives as a pair of duplicated write data belonging to said data group;
- (d) reading out three data including one of said pair of duplicated write data, said old write data, and said error correcting data (old error correcting data) from three of the plurality of drives, holding said three data, at a proper timing after execution of said writing step (c);
- (e) generating a new error correcting code by using said read out three data for said one data group after updating of said old write data by said new write data;
- (f) updating said old error correcting code written at said step (b) by said generated new error correcting code;
- and
- (g) after the updating of said old error correcting code by said new error correcting code, releasing a first field holding said old write data and a second field storing one of said pair of duplicated write data to make the first and second fields be space fields.
A disk drive having a plurality of drives for holding data in a form of a combination of a plurality of write data and an error correcting code, comprising:
- (a) first error correcting code generating means for generating at least one error correcting code from (m−1) write data supplied from an upper unit;
- (b) first writing means for writing one data group constituted by said (m−1) write data and said error correcting code in m space fields each belonging to each of m drives;
- (c) second writing means responsive to an update request issued by said upper unit for one (old write data) of said (m−1) write data by said upper unit, for writing new write data designated by said update request in two space fields belonging to two drives other than said m drives as a pair of duplicated write data belonging to said data group,
- (d) means for reading out three data including one of said pair of duplicated write data, said old write data, and said error correcting data (old error correcting data) from drives holding said three data, at a proper timing after writing of said pair of duplicated write data;
- (e) second error correcting code generating means for generating by using said read out three data, a new error correcting code for said data group after updating of said old write data by said new write data;
- (f) means for updating said old error correcting code written by said first writing means by said new error correcting code;
- and
- (g) means for releasing, after updating said old error correcting code by said new error correcting code, a first field holding said old write data and a second field holding one of said pair of duplicated write data, so as to make the first and second fields be space fields.
Dependencies are inferred from the claim text.