US2004190183A1PendingUtilityA1
Disk array device
Priority: Dec 4, 1998Filed: Apr 15, 2004Published: Sep 30, 2004
Est. expiryDec 4, 2018(expired)· nominal 20-yr term from priority
G11B 20/1217G11B 20/18G06F 11/1088G06F 11/1076G11B 20/10G11B 2020/1062
45
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
Data blocks and redundant data are distributed across disk drives. In response to a first read request transmitted from a host device, a controller issues second read requests to read the data blocks and the redundant data from the disk drives. Further, the controller detects the disk drive which is no longer required to read the data block or redundant data from among the disk drives, and issues a read termination command to the detected disk drive to terminate reading therefrom. In a disk array device with such structure, even reading of one parity data with much time required does not affect other reading.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A disk array device for executing a read operation for reading data recorded therein in response to a first read request transmitted thereto, said disk array device having recorded therein data blocks generated by dividing the data and redundant data generated from the data blocks, said disk array device comprising:
m disk drives across which the data blocks and the redundant data are distributed; and a control part operable to control the read operation, wherein said control part is operable to:
issue second read requests to read the data blocks and the redundant data from said m disk drives in response to the first read request sent thereto;
detect a disk drive, from among said m disk drives, from which reading of either one of the data blocks or the redundant data is no longer necessary; and
issue a read termination command to terminate reading of the one of the data blocks or the redundant data by said detected disk drive, wherein said detected disk drive is enabled to commence reading of any subsequent data block or redundant data without being disconnected from said disk array device.
2 . The disk array device according to claim 1 , wherein when (m-1) of said m disk drives complete reading, said control part is operable to:
determine that reading being executed in one remaining disk drive, as said detected disk drive, is no longer necessary; and issue a read termination command to said one remaining disk drive.
3 . The disk array device according to claim 1 , wherein when detecting that two or more of said m disk drives cannot complete reading, said control part is operable to:
determine that reading being executed in other disk drives is no longer necessary; and issue a read termination command to the determined other disk drives.
4 . The disk array device according to claim 1 , wherein when (m-1) of said m disk drives complete reading, said control part is operable to:
determine that reading not yet being executed in one remaining disk drive of said m disk drives is no longer necessary; and issue a read termination command to said one remaining disk drive.
5 . A disk array device for executing a read operation for reading data recorded therein in response to a first read request from a host device, said disk array device with data blocks generated by dividing the data and redundant data generated from the data blocks recorded therein, said disk array device comprising:
m disk drives across which the data blocks and the redundant data are distributed, wherein m≧2; a parity calculation part operable to calculate parity from (m-2) of the data blocks and the redundant data to recover one remaining data block; and a control part operable to control the read operation; wherein said control part is operable to:
in response to the first read request sent thereto, refer to a faulty block table and determine whether or not (m-1) of said m disk drives have previously failed to read each of the data blocks;
when determining that said (m-1) disk drives have not previously failed to read each of the data blocks, issue second read requests to said (m-1) disk drives to read only each of the data blocks;
when the data blocks are read from said (m-1) disk drives, execute an operation for transmitting the data to the host device; and
when determining that said (m-1) disk drives have previously failed to read each of the data blocks, issue second read requests to said m disk drives to read (m-1) of the data blocks and the redundant data.
6 . The disk array device according to claim 5 , wherein said control part is operable to:
when said (m-1) disk drives complete reading, detect whether or not a set of the data blocks and the redundant data has been read from said (m-1) disk drives; when detecting that the set of the data blocks and the redundant data has been read, issue a recovery instruction to said parity calculation part to recover the one remaining data block not read from one remaining disk drive of said m disk drives; and when the one remaining data block is recovered by the calculation of parity in said parity calculation part, execute an operation for transmitting the data to the host device.
7 . The disk array device according to claim 6 , further comprising:
a table for registering therein a recording area of a data block which has previously failed to be read by said (m-1) disk drives, wherein said control part is operable to determine whether to issue the second read requests to said (m-1) disk drives or to said m disk drives.
8 . The disk array device according to claim 7 , further comprising:
a reassignment part operable to, when a defect occurs in a recording area of one of the data blocks or the redundant data in said m disk drives, execute reassign processing for assigning an alternate recording area to the defective recording area, wherein when said reassignment part assigns the alternate recording area to the defective recording area of the data block registered in said table by said reassignment part, said control part is operable to delete the defective recording area of the data block from said table.
9 . The disk array device according to claim 8 , wherein each of said m disk drives has an alternate recording area previously reserved therein, and said disk array device further comprises:
a first table storage part operable to store a first table for registering an address of the alternate recording area reserved in each of said m disk drives as alternate recording area information; and a second table storage part operable to store a second table for registering address information of the alternate recording area assigned to the defective recording area, wherein said reassignment part is operable to:
when the second read requests are transmitted from said control part to said m disk drives, measure a delay time in each of said m disk drives;
determine whether or not each of the recording areas of the data blocks and the redundant data to be read by each of the second read requests is defective based on the measured delay time;
when determined that the recording area is defective, assign the alternate recording area to the defective recording area based on the alternate recording area information registered in the first table of said first table storage part; and
register the address information of the assigned alternate recording area in the second table of said second table storage part,
wherein said control part is operable to issue the second read requests based on the address information registered in the second table of said second table storage part, and wherein the delay time is a time period calculated from a predetermined process start time.
10 . The disk array device according to claim 1 , further comprising:
a reassignment part operable to, when a defect occurs in a recording area of one of the data blocks or the redundant data in said m disk drives, execute reassign processing for assigning an alternate recording area to the defective recording area.
11 . The disk array device according to claim 10 , wherein each of said m disk drives has an alternate recording area previously reserved therein, and said disk array device further comprises:
a first table storage part operable to store a first table for registering an address of the alternate recording area reserved in each of said m disk drives as alternate recording area information; and a second table storage part operable to store a second table for registering address information of the alternate recording area assigned to the defective recording area, wherein said reassignment part is operable to:
when the second read requests are transmitted from said control part to said m disk drives, measure a delay time in each of said m disk drives;
determine whether or not each of recording areas of the data blocks and the redundant data to be read by each of the second read requests is defective based on the measured delay time;
when determined that the recording area is defective, assign the alternate recording area to the defective recording area based on the alternate recording area information registered in the first table of said first table storage part; and
register the address information of the assigned alternate recording area in the second table of said second table storage part,
wherein said control part is operable to issue the second read requests based on the address information registered in the second table of said second table storage part, and wherein the delay time is a time period calculated from a predetermined process start time.
12 . The disk array device according to claim 11 , wherein said reassignment part is operable to assign the alternate recording area to the defective recording area only when determining successively a predetermined number of times that the recording area is defective.
13 . The disk array device according to claim 11 , wherein the predetermined process start time is a time when each of the second read requests is transmitted to each of said m disk drives.
14 . The disk array device according to claim 11 , wherein the predetermined process start time is a time when said m disk drives start reading based on the second read requests.
15 . The disk array device according to claim 1 , wherein said disk array device further comprises m SCSI interfaces corresponding to said m disk drives, and wherein said control part is operable to notify each of said m SCSI interfaces of a storage location selected from a storage area in each of said m disk drives, respectively.
16 . The disk array device according to claim 5 , wherein said disk array device further comprises m SCSI interfaces corresponding to said m disk drives, and wherein said control part is operable to notify each of said m SCSI interfaces of a storage location selected from a storage area in each of said m disk drives, respectively.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.