Skip to main content

Full text of "USPTO Patents Application 10824405"

See other formats


WHAT 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 



226 



(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, 

227 



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; 



228 



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; 

5 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 

10 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 
15 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 
20 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 
25 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 

30 further comprises: 

a first table storage part operable to store a first 
table for registering an address of the alternate recording 



229 



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 
5 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; 
10 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 
15 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 
20 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 
25 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 
30 recording area to the defective recording area only when 

determining successively a predetermined number of times that 
the recording area is defective. 



230 



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 . 

5 

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. 

10 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 

15 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 
20 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. 

25 



231