JP2001100944A - RAID device - Google Patents
RAID deviceInfo
- Publication number
- JP2001100944A JP2001100944A JP33961799A JP33961799A JP2001100944A JP 2001100944 A JP2001100944 A JP 2001100944A JP 33961799 A JP33961799 A JP 33961799A JP 33961799 A JP33961799 A JP 33961799A JP 2001100944 A JP2001100944 A JP 2001100944A
- Authority
- JP
- Japan
- Prior art keywords
- read
- data
- disks
- reading
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
(57)【要約】
【課題】 あるパリティ系列の読み出しに時間がかかっ
た場合であっても、その影響が、他の読み出しに及ばな
いRAID装置を提供することである。
【解決手段】 ディスク5A〜5Dおよび5Pには、デ
ータブロックおよび冗長データが分散的に格納される。
制御部7は、ホスト装置から送信されてくる第1の読み
出し要求に応答して、ディスク5A〜5Dおよび5Pか
らデータブロックと冗長データとを読み出すために、第
2の読み出し要求を発行する。さらに、ディスク5A〜
5Dおよび5Pの中から、データブロックまたは冗長デ
ータの読み出しが不要になったディスクを検出し、検出
されたディスクからの読み出しを中止するために、読み
出し中止コマンドを発行する。
(57) [Problem] To provide a RAID device in which even if it takes time to read a certain parity sequence, the influence of the reading does not reach other reading. SOLUTION: Disks 5A to 5D and 5P store data blocks and redundant data in a distributed manner.
The control unit 7 issues a second read request in order to read data blocks and redundant data from the disks 5A to 5D and 5P in response to the first read request transmitted from the host device. Furthermore, disks 5A to
From among 5D and 5P, a disk which no longer needs to read data blocks or redundant data is detected, and a read stop command is issued to stop reading from the detected disk.
Description
【0001】[0001]
【発明の属する技術分野】本発明は、RAID(Red
undant Array of Inexpensi
ve Disks)装置に関し、より具体的には、いく
つかのディスク(典型的には、磁気ディスクまたは光学
ディスク)を使用してディスクアレイを構成することに
より、記憶容量を増大し、転送レートを向上し、さら
に、より高いシステムの信頼性を提供することができる
RAID装置に関する。The present invention relates to a RAID (Red)
ununt Array of Inexpensi
More specifically, the storage capacity is increased and the transfer rate is improved by configuring a disk array using several disks (typically, magnetic disks or optical disks). In addition, the present invention relates to a RAID device that can provide higher system reliability.
【0002】[0002]
【従来の技術】周知のように、RAIDでは、6つの基
本的なアーキテクチャ(レベル0〜5)が定義されてい
る。以下、レベル3のアーキテクチャを採用したRAI
D装置を、図39を参照して説明する。図39におい
て、RAID装置は、コントローラ391と、ディスク
392A、392B、392C、392Dおよび392
Pとを含む。コントローラ391は、書き込むべきデー
タが到着すると、到着したデータをブロックに分割す
る。コントローラ391は、分割されたブロックに基づ
いて冗長データを生成する。コントローラ391は、分
割されたブロックを、ディスク392A、392B、3
92Cおよび392Dに書き込み、さらに、冗長データ
をディスク392Pに書き込む。以下、冗長データの生
成方法について、図40を参照して説明する。2. Description of the Related Art As is well known, RAID defines six basic architectures (levels 0 to 5). Hereinafter, the RAI adopting the level 3 architecture
The D device will be described with reference to FIG. In FIG. 39, the RAID device includes a controller 391 and disks 392A, 392B, 392C, 392D, and 392.
P. When data to be written arrives, the controller 391 divides the arrived data into blocks. The controller 391 generates redundant data based on the divided blocks. The controller 391 transfers the divided blocks to the disks 392A, 392B, 3
Write to 92C and 392D, and write redundant data to disk 392P. Hereinafter, a method of generating redundant data will be described with reference to FIG.
【0003】コントローラ391には、書き込むべきデ
ータが2048バイト単位で到着する。今、図40
(a)に示すように、今回到着したデータをD−1と称
する。コントローラ391は、図40(b)に示すよう
に、到着したデータD−1を、データブロックD−A
1、D−B1、D−C1およびD−D1に分割する。各
データブロックD−A1、D−B1、D−C1およびD
−D1は512バイトのデータ長を有する。Data to be written arrives at the controller 391 in units of 2048 bytes. Now, FIG.
As shown in (a), the data that has arrived this time is called D-1. The controller 391 converts the arrived data D-1 into a data block DA as shown in FIG.
1, divided into D-B1, D-C1 and D-D1. Each data block DA1, DB1, DC1 and D
-D1 has a data length of 512 bytes.
【0004】次に、コントローラ391は、データブロ
ックD−A1、D−B1、D−C1およびD−D1を用
いて、次式(1)に示す演算を行う。 D−P1i=D−A1i xor D−B1i xor D−C1i xor D−D1i …(1) ただし、上式(1)では、データブロックD−A1、D
−B1、D−C1およびD−D1が512バイトからな
るため、iは1〜512の自然数をとる。つまり、例え
ば、i=1の場合、コントローラ391は、データブロ
ックD−A1、D−B1、D−C1およびD−D1の先
頭1バイト(つまり、B−A11、B−B11、B−C
11およびB−D11)を用いて、D−P11を算出す
る。i=2の場合、各データブロックの先頭から2バイ
ト目(つまり、B−A12、B−B12、B−C12お
よびB−D12)を用いて、D−P12を算出する。以
降、コントローラ391は、最後の512バイト目ま
で、上式(1)を繰り返し実行して、D−P11、D−
P12,…D−P1512を算出する。コントローラ3
91は、D−P11、D−P12,…D−P1512を
順番に並べることにより、冗長データD−P1を生成す
る。つまり、冗長データDーP1は、データブロックD
−A1、D−B1、D−C1およびD−D1のパリティ
である。Next, the controller 391 performs the operation shown in the following equation (1) using the data blocks DA1, DB1, DC1 and DD1. D-P1i = D-A1i xor D-B1i xor D-C1i xor D-D1i (1) However, in the above equation (1), the data blocks D-A1, D-
Since i-B1, D-C1, and D-D1 consist of 512 bytes, i takes a natural number of 1 to 512. That is, for example, when i = 1, the controller 391 sets the first byte of the data blocks D-A1, D-B1, D-C1, and D-D1 (that is, B-A11, B-B11, B-C1).
11 and BD11) are used to calculate DP11. When i = 2, DP12 is calculated using the second byte from the beginning of each data block (that is, BA12, BB12, BC12 and BD12). After that, the controller 391 repeatedly executes the above equation (1) until the last 512th byte to obtain DP11 and D-P11.
P12,... DP1512 are calculated. Controller 3
91 generates redundant data DP1 by arranging DP11, DP12,... DP1512 in order. That is, the redundant data DP1 is
Parities of A1, D-B1, D-C1, and D-D1.
【0005】コントローラ391は、各データブロック
D−A1、D−B1、D−C1およびD−D1を、ディ
スク392A、392B、392Cおよび392Dに分
散的に格納する。また、冗長データD−P1は、ディス
ク392Pに格納される。コントローラ391は、以上
のようにしてデータの書き込みを制御する。[0005] The controller 391 stores the data blocks DA1, DB1, DC1 and DD1 in a distributed manner on the disks 392A, 392B, 392C and 392D. The redundant data D-P1 is stored on the disk 392P. The controller 391 controls data writing as described above.
【0006】ところで、コントローラ391は、書き込
みの制御だけでなく、データの読み出しもまた制御す
る。今、コントローラ391は、データD−1を読み出
すように要求されたと仮定する。この仮定下において、
ディスク392A〜392Dに障害が発生していない場
合、コントローラ391は、データブロックD−A1〜
D−D1を、ディスク392A〜392Dから読み出
す。コントローラ391は、読み出されたデータブロッ
クD−A1〜D−D1を一まとめにして、2048バイ
トのデータD−1を構成する。コントローラ391は、
このデータD−1の要求元に、当該データD−1を送信
する。The controller 391 controls not only writing but also data reading. Assume now that controller 391 has been requested to read data D-1. Under this assumption,
If no failure has occurred in any of the disks 392A to 392D, the controller 391 sends the data blocks D-A1 to
Read D-D1 from the disks 392A to 392D. The controller 391 forms the data D-1 of 2048 bytes by collecting the read data blocks D-A1 to D-D1. The controller 391 is
The data D-1 is transmitted to the request source of the data D-1.
【0007】また、ディスクには、様々な理由で障害が
発生する場合がある。今、ディスク392Cが故障して
いると仮定する。この仮定下において、上述と同様の読
み出し要求がコントローラ391に到着した場合であっ
ても、当該コントローラ391は、データブロックD−
A1〜D−D1を、ディスク392A〜392Dから読
み出そうとする。しかしながら、今、ディスク392C
に障害が生じているため、データブロックD−C1は読
み出されない。ただし、他のデータブロックD−A1、
D−B1およびD−D1の読み出しは成功している。コ
ントローラ391は、データブロックDーC1を読み出
せないことが分かると、冗長データD−P1をディスク
392Pから読み出す。[0007] Further, a disk may fail for various reasons. Assume now that disk 392C has failed. Under this assumption, even if the same read request as described above arrives at the controller 391, the controller 391 will continue to operate the data block D-
A1 to D-D1 are to be read from disks 392A to 392D. However, now disk 392C
, The data block D-C1 is not read. However, other data blocks D-A1,
Reading of DB1 and DD1 has been successful. If the controller 391 finds that the data block DC1 cannot be read, it reads the redundant data DP1 from the disk 392P.
【0008】次に、コントローラ391は、データブロ
ックD−A1、D−B1およびD−D1と、冗長データ
D−P1とを用いて、次式(2)に示す演算を行って、
データブロックD−C1を再現する。 D−C1i=D−A1i xor D−B1i xor D−D1i xorD−P1i …(2) ただし、上式(2)でも、上式(1)の場合と同様に、
データブロックD−A1、D−B1、D−C1およびD
−P1が512バイトからなるため、iは1〜512の
自然数をとる。コントローラ391は、最初の1バイト
目から最後の512バイト目まで、上式(2)を繰り返
し実行して、D−C11、D−C12,…D−C151
2を算出する。コントローラ391は、これらの算出結
果に基づいて、データブロックD−C1を復元する。こ
れによって、コントローラ391にはデータブロックD
−A1〜D−D1が揃う。コントローラ391は、揃っ
たデータブロックD−A1〜D−D1を一まとめにし
て、2048バイトのデータD−1を構成する。コント
ローラ391は、このデータD−1の要求元に、当該デ
ータD−1を送信する。Next, the controller 391 performs an operation shown in the following equation (2) using the data blocks DA1, DB1 and DD1 and the redundant data DP1.
Reproduce the data block D-C1. D−C1i = D−A1i xor D−B1i xor D−D1i xorD−P1i (2) However, in the above equation (2), as in the case of the above equation (1),
Data blocks D-A1, D-B1, D-C1, and D
Since i is 512 bytes, i takes a natural number from 1 to 512. The controller 391 repeatedly executes the above equation (2) from the first 1st byte to the last 512th byte to obtain DC11, DC12,... DC151.
2 is calculated. The controller 391 restores the data block D-C1 based on these calculation results. As a result, the data block D is stored in the controller 391.
-A1 to D-D1 are complete. The controller 391 collectively arranges the data blocks D-A1 to D-D1 to form 2048-byte data D-1. The controller 391 transmits the data D-1 to the request source of the data D-1.
【0009】以上のように、図39のRAID装置は、
ディスク392A、392B、392Cおよび392D
のいずれか1台の故障ディスクから、必要なデータブロ
ックを読み出すことができない場合がある。しかし、R
AID装置は、故障ディスクを除く他の4台の正常ディ
スクから読み出したデータブロックと冗長データとか
ら、当該故障ディスクに格納されていたデータブロック
を復元することができる。As described above, the RAID device shown in FIG.
Discs 392A, 392B, 392C and 392D
In some cases, a necessary data block cannot be read from any one of the failed disks. But R
The AID device can restore the data blocks stored on the failed disk from the data blocks read from the other four normal disks except the failed disk and the redundant data.
【0010】ところで、RAID装置に格納されるデー
タは2種類に大別される。一方はコンピュータデータで
あり、他方は映像データである。コンピュータデータと
映像データとは互いに性質が異なる。そのため、コンピ
ュータデータを読み出す場合と、映像データを読み出す
場合とでは、RAID装置に要求される条件が異なる。
より具体的には、ディスクから読み出されたコンピュー
タデータは、要求元のホスト端末に確実に送信されるこ
とが要求される。ゆえに、故障ディスクが発生し、RA
ID装置は、あるパリティ系列のコンピュータデータを
読み出せなかった場合、同一パリティ系列の他のデータ
を基に、当該読み出せなかったコンピュータデータを消
失することなく確実に復元することが要求される。その
ためには、パリティ系列の読み出しに要する時間が多少
かかってもよい。一方、映像データは要求元のホスト装
置で映像として再生される。もし、映像データがホスト
装置に遅れて到着すると、当該ホスト装置側で再生され
る映像が途切れてしまう。したがって、RAID装置
は、要求された映像データを一定時間内にディスクから
読み出して、ホスト装置に連続的に送信しなければなら
ない。Incidentally, data stored in a RAID device is roughly classified into two types. One is computer data and the other is video data. Computer data and video data have different properties. Therefore, the conditions required for the RAID device are different between the case where computer data is read and the case where video data is read.
More specifically, it is required that the computer data read from the disk be reliably transmitted to the requesting host terminal. Therefore, a failed disk occurs and RA
When the ID device cannot read the computer data of a certain parity series, it is required to reliably restore the unreadable computer data based on other data of the same parity series without losing it. For that purpose, it may take some time to read the parity sequence. On the other hand, the video data is reproduced as a video by the requesting host device. If the video data arrives at the host device with a delay, the video reproduced on the host device will be interrupted. Therefore, the RAID device must read the requested video data from the disk within a certain time and continuously transmit the video data to the host device.
【0011】「特開平2−81123号」公報には、映
像データに適する従来のRAID装置(以下、第1のR
AID装置と称する)の一例が開示されている。このR
AID装置は、データを記憶する複数の記憶装置と、当
該データから生成される冗長データを記憶する冗長用記
憶装置とから構成される記憶装置群を有する。RAID
装置は、記憶装置群からデータを読み出す場合に、ある
記憶装置でのデータの読み出しが、他の記憶装置でのデ
ータの読み出し開始と比較して、所定時間以上遅延した
なら、当該ある記憶装置を障害記憶装置と判定する。R
AID装置では、障害と判定された記憶装置から読み出
されるべきデータを、それ以外の記憶装置のデータ及び
冗長データから生成する。Japanese Unexamined Patent Publication No. 2-81123 discloses a conventional RAID device suitable for video data (hereinafter referred to as a first R device).
(Referred to as an AID device) is disclosed. This R
The AID device has a storage device group including a plurality of storage devices for storing data and a redundant storage device for storing redundant data generated from the data. RAID
When reading data from a storage device group, if the reading of data from a certain storage device is delayed by a predetermined time or more compared to the start of reading data from another storage device, the device reads the certain storage device. It is determined as a failure storage device. R
In the AID device, data to be read from the storage device determined to have a failure is generated from data of other storage devices and redundant data.
【0012】また、「特開平9−69027号」公報に
は、映像データに適する従来のRAID装置(以下、第
2のRAID装置と称する)の他の例が示されている。
第2のRAID装置では、普段は冗長用の記憶装置から
冗長データは読み出されていない。第2のRAID装置
は、データを記憶する記憶装置が読み出しを終了させて
いなければならない時間を経過しても、当該読み出しが
完了していない場合には、冗長用記憶装置からデータを
読み出して、読み出しが未完了のデータを復元する。Japanese Patent Laid-Open No. 9-69027 discloses another example of a conventional RAID device suitable for video data (hereinafter referred to as a second RAID device).
In the second RAID device, the redundant data is not normally read from the redundant storage device. The second RAID device reads the data from the redundant storage device when the read operation is not completed even after the time when the storage device storing the data has completed the read operation, and Restore data that has not been read.
【0013】[0013]
【発明が解決しようとする課題】しかしながら、上述の
第1および第2のRAID装置には、以下の問題点があ
った。まず、第1のRAID装置では、図41(a)に
示すように、4番目の読み出し(ディスクBでの読み出
し)の開始時刻から所定時間経過しても、読み出しが開
始されていないディスクDは障害を生じていると判断さ
れる。そして、ディスクDのデータを復元するためにパ
リティ演算が実行される。しかし、一般的に、ディスク
では、読み出しの開始から完了までの時間は一定ではな
い。つまり、あるディスクは短時間で読み出しを完了
し、他のディスクは何度か読み出しに失敗しる等して読
み出しに長時間かかる場合がある。かかる読み出しの長
期化は、映像データを読み出す場合のように、一回のア
クセスで読み出されるデータサイズが大きいほど顕著に
なる。そのため、第1のRAID装置では、図41
(b)に示すように、ディスクPがディスクB(4番目
のディスク)よりも早く読み出しを開始したにもかかわ
らず、当該ディスクBの読み出しが当該ディスクPより
も早くが完了する場合がある。この場合、たとえ、ディ
スクBの読み出し開始から所定時間が経過していても、
RAID装置は、ディスクPのデータがないので、ディ
スクDのデータを復元できない。データを復元できない
ことにより、読み出し中の映像データがホスト装置側で
途切れるおそれがあるという問題点があった。However, the first and second RAID devices have the following problems. First, in the first RAID device, as shown in FIG. 41A, even if a predetermined time has elapsed from the start time of the fourth reading (reading from the disk B), the disk D from which reading has not started is started. It is determined that a failure has occurred. Then, a parity operation is performed to restore the data on the disk D. However, in general, the time from the start to the completion of reading is not constant on a disk. That is, a certain disk may complete reading in a short period of time, and another disk may fail to read several times, and may take a long time to read. Such prolonged reading becomes more remarkable as the data size read in one access is larger, as in the case of reading video data. Therefore, in the first RAID device, FIG.
As shown in (b), even though the disk P starts reading earlier than the disk B (the fourth disk), reading of the disk B may be completed earlier than the disk P. In this case, even if the predetermined time has elapsed since the start of reading the disk B,
Since there is no data on the disk P, the RAID device cannot restore the data on the disk D. Since the data cannot be restored, there is a problem that the video data being read may be interrupted on the host device side.
【0014】次に、第2のRAID装置では、冗長デー
タの読み出しを開始するのが、データブロックの読み出
し要求から一定時間経過した後(タイムアウト後)であ
る。そのため、図42(a)に示すように、データの復
元が完了するまでの時間が大きくなるという問題点があ
る。さらには、第2のRAID装置では、図42(b)
に示すように、タイムアウト直後にデータ(図示はディ
スクCのデータ)が読み出される場合がある。タイムア
ウト直後であれば、第2のRAID装置は、パリティ演
算が終了するよりも早くデータを得ることができる場合
もある。この場合、第2のRAID装置は、タイムアウ
ト直後に読み出されたデータを利用した方が、映像デー
タをホスト装置に早く送信できる。しかしながら、第2
のRAID装置は、一旦、冗長データを読み出し始める
と、タイムアウト直後に読み出されたデータを利用しな
い。その結果、映像データをホスト装置に送信すること
が遅れる場合がある。この遅れにより、映像がホスト装
置側で途切れるおそれがあるという問題点があった。Next, in the second RAID device, the reading of the redundant data is started after a lapse of a fixed time from the data block reading request (after a timeout). For this reason, as shown in FIG. 42A, there is a problem that the time until the data restoration is completed becomes long. Furthermore, in the second RAID device, FIG.
As shown in (1), data (data on the disk C in the figure) may be read immediately after the timeout. Immediately after the timeout, the second RAID device may be able to obtain data earlier than the end of the parity operation. In this case, the second RAID device can transmit the video data to the host device faster by using the data read immediately after the timeout. However, the second
Once the RAID device starts reading the redundant data, it does not use the data read immediately after the timeout. As a result, transmission of the video data to the host device may be delayed. Due to this delay, there is a problem that the video may be interrupted on the host device side.
【0015】また、一般的に、読み出しが遅れたディス
クには、後から到着した読み出し要求がたまっている場
合が多い。そのため、ディスクが、データの読み出しを
失敗して、当該データの読み出しをリトライすると、次
の読み出し要求を処理することが遅れる。以上から明ら
かなように、1回の読み出しの失敗が、次回以降の読み
出しにも悪影響を及ぼすという問題点があった。In general, a read request that arrives later is often accumulated on a disk whose read operation is delayed. Therefore, if the disk fails to read data and retries reading the data, processing the next read request is delayed. As is apparent from the above, there is a problem that one reading failure has a bad influence on the next and subsequent readings.
【0016】それ故に、本発明の目的は、あるパリティ
系列の読み出しに時間がかかった場合であっても、その
影響が、他の読み出しに及ばないRAID装置を提供す
ることである。また、本発明の他の目的は、パリティ演
算を効率的に実行して、単位時間当たりに多くのデータ
を読み出せるRAID装置を提供することである。Therefore, an object of the present invention is to provide a RAID apparatus in which even if it takes time to read a certain parity sequence, the influence of the reading does not affect other reading. Another object of the present invention is to provide a RAID device capable of efficiently executing a parity operation and reading a large amount of data per unit time.
【0017】[0017]
【課題を解決するための手段および発明の効果】第1の
発明は、データを分割して生成されるデータブロック
と、当該データブロックから生成される冗長データとが
記録されており、外部から送信されてくる第1の読み出
し要求に応答して、データの読み出し処理を実行するR
AID装置であって、データブロックと冗長データとが
分散的に格納されるm個のディスクと、読み出し処理を
制御する制御部とを含み、制御部は、入力される第1の
読み出し要求に応答して、m個のディスクからデータブ
ロックと冗長データとを読み出すために、第2の読み出
し要求を発行し、m個のディスクの中から、データブロ
ックまたは冗長データの読み出しが不要になったディス
クを検出し、読み出しが不要と検出されたディスクから
の読み出しを中止するために、読み出し中止コマンドを
発行する。According to a first aspect of the present invention, a data block generated by dividing data and redundant data generated from the data block are recorded and transmitted from outside. R that executes data read processing in response to the first read request
An AID device, comprising: m disks in which data blocks and redundant data are stored in a distributed manner; and a control unit for controlling a read process, wherein the control unit responds to an input first read request. Then, in order to read the data blocks and the redundant data from the m disks, a second read request is issued, and from the m disks, the disk for which the reading of the data blocks or the redundant data is no longer necessary is read out. Then, a read stop command is issued to stop reading from the disk that has been detected and read is determined to be unnecessary.
【0018】第1の発明によれば、ある1個のデータブ
ロックまたは冗長データの読み出しが不必要と判断され
た時点で、当該データブロックまたは冗長データの読み
出しが中止される。そのため、読み出しを中止したディ
スクは、その時点で、次の読み出しに移行することがで
きる。これによって、あるディスクの読み出しが遅れた
としても、その遅れの悪影響が他の読み出しに及ばない
RAID装置を提供することができる。According to the first aspect, when it is determined that reading of a certain data block or redundant data is unnecessary, the reading of the data block or redundant data is stopped. Therefore, the disk that has stopped reading can shift to the next reading at that time. This makes it possible to provide a RAID device in which even if reading of a certain disk is delayed, the adverse effect of the delay does not affect other reading.
【0019】第2の発明は第1の発明に従属しており、
制御部は、(m−1)個のディスクが読み出しを完了す
ると、残りの1個のディスクで実行されている読み出し
が不要であると判定し、読み出しが不要と判定されたデ
ィスクに読み出し中止コマンドを発行する。第2の発明
によれば、ある1個のディスクの読み出しに時間がかか
り過ぎた場合でも、その読み出しは中止される。これに
よって、あるディスクの読み出しが遅れたとしても、そ
の遅れの悪影響が他の読み出しに及ばないRAID装置
を提供することができる。A second invention is dependent on the first invention,
When the (m-1) disks have completed reading, the control unit determines that the reading performed on the remaining one disk is unnecessary, and sends a read stop command to the disks determined to be unnecessary. Issue According to the second aspect, even when it takes too much time to read one disk, the reading is stopped. This makes it possible to provide a RAID device in which even if reading of a certain disk is delayed, the adverse effect of the delay does not affect other reading.
【0020】第3の発明は第1の発明に従属しており、
制御部は、2個以上のディスクが読み出しをできないこ
とを検出すると、その検出時に実行されているディスク
の読み出しが不要であると判定し、読み出しが不要と判
定されたディスクに読み出し中止コマンドを発行する。
第3の発明によれば、パリティ演算が実行できないこと
が判明した時点で、他のディスクの読み出しを中止させ
ることができる。これによって、不必要な読み出しが続
行されないので、当該不要な読み出しの悪影響が他の読
み出しに及ばないRAID装置を提供することができ
る。A third invention is dependent on the first invention,
When detecting that two or more disks cannot be read, the control unit determines that reading of the disk being executed at the time of the detection is unnecessary, and issues a read stop command to the disk determined to be unnecessary. I do.
According to the third aspect, when it is determined that the parity operation cannot be performed, reading of another disk can be stopped. As a result, unnecessary reading is not continued, so that it is possible to provide a RAID device in which the adverse effect of the unnecessary reading does not affect other reading.
【0021】第4の発明は第1の発明に従属しており、
制御部は、(m−1)個のディスクが読み出しを完了す
ると、残りの1個のディスクで未だ実行されていない読
み出しが不要であると判定し、読み出しが不要と判定さ
れたディスクに読み出し中止コマンドを発行する。第4
の発明によれば、不必要な読み出しが実行されないの
で、当該不要な読み出しの悪影響が他の読み出しに及ば
ないRAID装置を提供することができる。A fourth invention is dependent on the first invention,
When the (m-1) disks have completed reading, the control unit determines that reading that has not yet been performed on the remaining one disk is unnecessary, and stops reading on disks that are determined to be unnecessary. Issue a command. 4th
According to the invention, since unnecessary reading is not executed, it is possible to provide a RAID device in which the adverse effect of the unnecessary reading does not affect other reading.
【0022】第5の発明は、データを分割して生成され
るデータブロックと、当該データブロックから生成され
る冗長データとが記録されており、外部のホスト装置か
らの第1の読み出し要求に応答して、データの読み出し
処理を実行するRAID装置であって、データブロック
と冗長データとが分散的に格納されるm個のディスク
と、(m−2)個のデータブロックと冗長データとに基
づいてパリティ演算を実行して、残りの1個のデータブ
ロックを復元するパリティ演算部と、読み出し処理を制
御する制御部とを含み、制御部は、入力される第1の読
み出し要求に応答して、m個のディスクからデータブロ
ックと冗長データとを読み出すために、第2の読み出し
要求を発行し、(m−1)個のディスクが読み出しを完
了すると、当該(m−1)個のディスクから読み出され
たものが、データブロックおよび冗長データの組み合わ
せであるか否かを検出し、データブロックおよび冗長デ
ータの組み合わせであると検出された場合、その検出時
から所定の時間だけ待機した後に、残りの1個のディス
クから読み出されなかったデータブロックを復元するた
めに、復元指示をパリティ演算部に発行し、パリティ演
算部のパリティ演算によりm個のデータブロックが揃う
と、ホスト装置へとデータを送信するための処理を実行
し、所定の時間は、ホスト装置へとデータが遅延なく送
信されることを保証する値に選ばれる。According to a fifth aspect, a data block generated by dividing data and redundant data generated from the data block are recorded, and respond to a first read request from an external host device. A RAID device that executes data read processing, based on m disks on which data blocks and redundant data are stored in a distributed manner, and (m-2) data blocks and redundant data. And a control unit for controlling the read process by executing a parity operation to restore the remaining one data block, wherein the control unit responds to the input first read request. , A second read request is issued to read data blocks and redundant data from the m disks, and when (m-1) disks have completed reading, the (m-1) 1) It is detected whether or not the data read from the discs is a combination of a data block and redundant data. After waiting for the time, in order to restore the data blocks not read from the remaining one disk, a restoration instruction is issued to the parity operation unit, and m data blocks are prepared by the parity operation of the parity operation unit. Then, a process for transmitting data to the host device is performed, and the predetermined time is selected as a value that guarantees that data is transmitted to the host device without delay.
【0023】第5の発明では、制御部は、データブロッ
クおよび冗長データの組み合わせが(m−1)個のディ
スクから読み出された後、所定の時間だけ、残りの1個
のデータブロックが読み出されることを待機する。所定
の時間までに、残りの1個のデータブロックが読み出さ
れれば、パリティ演算を実行する必要がなくなる。これ
によって、パリティ演算の実行回数を減らすことができ
る。In the fifth invention, after the combination of the data block and the redundant data is read from the (m-1) disks, the control unit reads the remaining one data block for a predetermined time. Wait to be done. If the remaining one data block is read by the predetermined time, it is not necessary to execute the parity operation. As a result, the number of executions of the parity operation can be reduced.
【0024】第6の発明は第5の発明に従属しており、
制御部はさらに、(m−1)個のディスクが読み出しを
完了すると、当該(m−1)個のディスクから読み出さ
れたものが、データブロックおよび冗長データの組み合
わせであるか否かを検出し、データブロックおよび冗長
データの組み合わせでないと検出された場合、その検出
時から所定の時間だけ待機せずに、ホスト装置へとデー
タを送信するための処理を実行する。A sixth invention is according to the fifth invention,
When the (m-1) disks have completed reading, the control unit further detects whether the data read from the (m-1) disks is a combination of a data block and redundant data. Then, when it is detected that the combination is not a combination of the data block and the redundant data, a process for transmitting data to the host device is executed without waiting for a predetermined time from the detection.
【0025】第6の発明によれば、当該(m−1)個の
ディスクから読み出されたものが、データブロックのみ
である場合には、制御部は、所定の時間を待機せずに、
ホスト装置へとデータを送信するので、単位時間当たり
に多くのデータを読み出せるRAID装置を実現するこ
とができる。According to the sixth aspect, when the data read from the (m-1) disks are only data blocks, the control unit does not wait for a predetermined time, and
Since data is transmitted to the host device, it is possible to realize a RAID device that can read a large amount of data per unit time.
【0026】第7の発明は第5の発明に従属しており、
所定の時間は、各ディスクの読み出し開始から当該読み
出しが完了していると期待される確率に基づいて選ばれ
る。第7の発明によれば、多くの場合、所定の時間内
に、残り1個のデータブロックが読み出されることにな
るので、パリティ演算の実行回数を減らすことができ
る。A seventh invention is dependent on the fifth invention,
The predetermined time is selected based on the probability that the reading is expected to be completed from the start of reading of each disk. According to the seventh aspect, in most cases, the remaining one data block is read within a predetermined time, so that the number of times of executing the parity operation can be reduced.
【0027】第8の発明は、データを分割して生成され
るデータブロックと、当該データブロックから生成され
る冗長データとが記録されており、外部のホスト装置か
らの第1の読み出し要求に応答して、データの読み出し
処理を実行するRAID装置であって、データブロック
と冗長データとが分散的に格納されるm個のディスク
と、(m−2)個のデータブロックと冗長データとに基
づいてパリティ演算を実行して、残りの1個のデータブ
ロックを復元するパリティ演算部と、読み出し処理を制
御する制御部とを含み、制御部は、入力される第1の読
み出し要求に応答して、m個のディスクからデータブロ
ックと冗長データとを読み出すために、第2の読み出し
要求を発行し、(m−1)個のディスクが読み出しを完
了すると、当該(m−1)個のディスクから読み出され
たものが、データブロックおよび冗長データの組み合わ
せであるか否かを検出し、データブロックおよび冗長デ
ータの組み合わせであると検出された場合、その検出時
から所定の時間だけ待機した後に、残りの1個のディス
クから読み出されなかったデータブロックを復元すべく
復元指示をパリティ演算部に発行し、パリティ演算部の
パリティ演算によりm個のデータブロックが揃うと、ホ
スト装置へとデータを送信するための処理を実行し、復
元指示は、パリティ演算部がパリティ演算を実行してい
ない時に発行される。According to an eighth aspect of the present invention, a data block generated by dividing data and redundant data generated from the data block are recorded and respond to a first read request from an external host device. A RAID device that executes data read processing, based on m disks on which data blocks and redundant data are stored in a distributed manner, and (m-2) data blocks and redundant data. And a control unit for controlling the read process by executing a parity operation to restore the remaining one data block, wherein the control unit responds to the input first read request. , A second read request is issued to read data blocks and redundant data from the m disks, and when (m-1) disks have completed reading, the (m-1) 1) It is detected whether or not the data read from the discs is a combination of a data block and redundant data. After waiting for the time, a restoration instruction is issued to the parity operation unit to restore the data block that has not been read from the remaining one disk, and when m data blocks are aligned by the parity operation of the parity operation unit, A process for transmitting data to the host device is executed, and the restoration instruction is issued when the parity operation unit is not executing the parity operation.
【0028】第8の発明によれば、制御部は、パリティ
演算が実行されていないときに確実に復元指示を発行す
るので、パリティ演算部には余計な負荷がかからない。
これによって、パリティ演算部が効率的に利用される。According to the eighth aspect, the control unit reliably issues the restoration instruction when the parity operation is not being performed, so that no extra load is applied to the parity operation unit.
Thereby, the parity operation unit is used efficiently.
【0029】第9の発明は第8の発明に従属しており、
RAID装置は、パリティ演算部がパリティ演算を実行
する時間帯を記載するテーブルを含み、制御部はさら
に、テーブルに記載された時間帯を参照して、パリティ
演算部がパリティ演算を実行していない時に、復元指示
を発行する。第9の発明では、制御部は、テーブルに記
載された時間帯を参照するだけで、簡単に、復元指示の
発行タイミングを知ることができる。A ninth invention is according to the eighth invention,
The RAID device includes a table describing a time period during which the parity operation unit performs the parity operation, and the control unit further refers to the time period described in the table, and the parity operation unit does not execute the parity operation. At times, a restoration instruction is issued. In the ninth aspect, the control unit can easily know the issuance timing of the restoration instruction only by referring to the time zone described in the table.
【0030】第10の発明は、データを分割して生成さ
れるデータブロックと、当該データブロックから生成さ
れる冗長データとが記録されており、外部のホスト装置
からの第1の読み出し要求に応答して、データの読み出
し処理を実行するRAID装置であって、データブロッ
クと冗長データとが分散的に格納されるm個のディスク
と、(m−2)個のデータブロックと冗長データとに基
づいてパリティ演算を実行して、残りの1個のデータブ
ロックを復元するパリティ演算部と、読み出し処理を制
御する制御部とを含み、制御部は、入力される第1の読
み出し要求に応答して、(m−1)個のディスクがデー
タブロックの読み出しを過去に失敗したことがあるかな
いかを判断し、各データブロックの読み出しが過去に失
敗していないと判断した場合、当該各データブロックの
みを読み出すために、第2の読み出し要求を(m−1)
個のディスクに発行し、(m−1)個のディスクからデ
ータブロックが読み出されると、ホスト装置へとデータ
を送信するための処理を実行する。According to a tenth aspect, a data block generated by dividing data and redundant data generated from the data block are recorded, and respond to a first read request from an external host device. A RAID device that executes data read processing, based on m disks on which data blocks and redundant data are stored in a distributed manner, and (m-2) data blocks and redundant data. And a control unit for controlling the read process by executing a parity operation to restore the remaining one data block, wherein the control unit responds to the input first read request. , (M-1) disks have failed in reading data blocks in the past, and determine that reading of each data block has not failed in the past. If you, for reading only the respective data block, the second read request (m-1)
When the data blocks are issued to the (m-1) disks and the data blocks are read from the (m-1) disks, a process for transmitting data to the host device is executed.
【0031】第10の発明では、冗長データに対して第
2の読み出し要求が発行されない場合がある。つまり、
冗長データが不要な場合には、その不要な読み出しが実
行されない。その結果、単位時間当たりで読み出すこと
ができるデータの量が多くすることができる。In the tenth aspect, the second read request may not be issued for redundant data. That is,
When redundant data is not required, unnecessary reading is not performed. As a result, the amount of data that can be read per unit time can be increased.
【0032】第11の発明は第10の発明に従属してお
り、制御部はさらに、データブロックのいずれかの読み
出しが過去に失敗していると判断した場合、(m−1)
個のデータブロックおよび冗長データを読み出すため
に、第2の読み出し要求をm個のディスクに発行し、
(m−1)個のディスクが読み出しを完了すると、当該
(m−1)個のディスクから読み出されたものが、デー
タブロックおよび冗長データの組み合わせであるか否か
を検出し、データブロックおよび冗長データの組み合わ
せであると検出された場合、残りの1個のディスクから
読み出されなかったデータブロックを復元するために、
復元指示をパリティ演算部に発行し、パリティ演算部の
パリティ演算によりm個のデータブロックが揃うと、ホ
スト装置へとデータを送信するための処理を実行する。
第11の発明では、必要な場合には、冗長データを読み
出すために第2の読み出し要求が発行される。これによ
って、パリティ演算をいちはやく実行することができ
る。An eleventh invention is according to the tenth invention, and the control unit further comprises: (m-1) when it is determined that reading of any of the data blocks has failed in the past.
Issue a second read request to m disks to read the data blocks and redundant data,
When the (m-1) disks have completed reading, it is detected whether or not the data read from the (m-1) disks is a combination of a data block and redundant data. If a combination of redundant data is detected, in order to restore data blocks that have not been read from the remaining one disk,
A restoration instruction is issued to the parity operation unit, and when m data blocks are prepared by the parity operation of the parity operation unit, a process for transmitting data to the host device is executed.
In the eleventh invention, if necessary, a second read request is issued to read redundant data. As a result, the parity operation can be executed as soon as possible.
【0033】第12の発明は第11の発明に従属してお
り、RAID装置は、各ディスクが過去に読み出しを失
敗したデータブロックの格納場所を記載するテーブルを
含み、制御部は、テーブルを参照して、(m−1)個の
ディスクに第2の読み出し要求を発行するか、m個のデ
ィスクに第2の読み出し要求を発行するかを決定する。
第12の発明では、制御部は、テーブルを参照するだけ
で、簡単に、冗長データを読み出すための第2の読み出
し要求を発行するか否かを判断することができる。A twelfth invention is according to the eleventh invention, wherein the RAID device includes a table describing a storage location of a data block from which each disk failed to read in the past, and the control unit refers to the table. Then, it is determined whether to issue the second read request to the (m-1) disks or to issue the second read request to the m disks.
According to the twelfth aspect, the control unit can easily determine whether to issue the second read request for reading the redundant data simply by referring to the table.
【0034】第13の発明は第12の発明に従属してお
り、各m個のディスクに格納されるデータブロックまた
は冗長データの格納場所に欠陥が発生すると、当該欠陥
格納場所の代わりに代替格納場所を割り当てるリアサイ
ン処理を実行するリアサイン処理部をさらに備え、制御
部は、リアサイン処理部により、テーブルに記載された
データブロックの格納場所に代替記録場所がリアサイン
されると、当該データブロックの格納場所を当該テーブ
ルを削除する。第13の発明では、欠陥記録領域に代替
記録領域が割り当てられ、当該代替記録領域にデータブ
ロックまたは冗長データが書き直される。これによっ
て、テーブルには、読み出しに時間がかかるデータブロ
ックが少なくなる。これによって、単位時間当たりによ
り多くのデータを読み出せるRAID装置を提供するこ
とが可能になる。A thirteenth invention is according to the twelfth invention, and when a defect occurs in a storage location of a data block or redundant data stored in each of the m disks, an alternative storage is provided instead of the defect storage location. The apparatus further includes a reassignment processing unit that executes a reassignment process for allocating a location, wherein the control unit, when an alternative recording location is reassigned to a storage location of the data block described in the table, the storage location of the data block. To delete the table. In the thirteenth aspect, an alternative recording area is allocated to a defective recording area, and a data block or redundant data is rewritten in the alternative recording area. This reduces the number of data blocks that take a long time to read in the table. This makes it possible to provide a RAID device that can read more data per unit time.
【0035】第14の発明は第13の発明に従属してお
り、各m個のディスクにおいて予め確保される代替記録
領域のアドレスを代替記録領域情報として管理する代替
記録領域管理部と、欠陥記録領域の代わりに割り当てら
れた代替記録領域のアドレス情報を管理するアドレス管
理部とをさらに備え、リアサイン処理部は、制御部から
の第2の読み出し要求がm個のディスクに送信される
と、当該各ディスクにおける遅延時間を測定し、測定し
た遅延時間に基づいて、当該各第2の読み出し要求によ
り読み出されるべきデータブロックまたは冗長データの
記録領域が欠陥であるか否かを判断し、データブロック
または冗長データの記録領域が欠陥であると判断した場
合に、代替記録領域管理部により管理される代替記録領
域情報に基づいて、欠陥記録領域の代わりとなる代替記
録領域を割り当て、割り当てた代替記録領域のアドレス
情報をアドレス管理部に管理させ、制御部は、アドレス
管理部により管理されるアドレス情報に基づいて、第2
の読み出し要求を発行し、遅延時間は、所定の処理開始
時刻から起算される経過時間である。A fourteenth invention is according to the thirteenth invention, wherein an alternative recording area management unit for managing, as alternative recording area information, an address of an alternative recording area previously reserved in each of the m disks, An address management unit that manages address information of an alternative recording area allocated in place of the area, wherein the reassignment processing unit receives the second read request from the control unit and transmits the second read request to the m disks. The delay time in each disk is measured, and based on the measured delay time, it is determined whether or not the data block to be read by each of the second read requests or the recording area of the redundant data is defective. When the recording area of the redundant data is determined to be defective, based on the alternative recording area information managed by the alternative recording area management unit, Recessed assigns an alternate recording area Alternative recording area, to manage address information of the allocated replacement recording area in the address management unit, the control unit on the basis of the address information managed by the address management unit, the second
Is issued, and the delay time is an elapsed time calculated from a predetermined processing start time.
【0036】第14の発明によれば、リアサイン処理部
は、所定の処理開始時間から起算される経過時間に基づ
いて、記録領域が欠陥か否かが判断される。リアサイン
処理部は、ディスク側から帰ってくる応答の遅延が大き
ければ、現在読み出しのためにアクセスしている記録領
域が欠陥であると判断して、代替記録領域を割り当て
る。これによって、本RAID装置は、大きな応答遅延
の発生を抑えつつ、データを読み出してホスト装置に送
信することができる。According to the fourteenth aspect, the reassignment processing section determines whether or not the recording area is defective based on the elapsed time calculated from the predetermined processing start time. If the delay of the response returned from the disk side is large, the reassignment processing unit determines that the recording area currently being accessed for reading is defective, and allocates an alternative recording area. As a result, the present RAID device can read and transmit data to the host device while suppressing occurrence of a large response delay.
【0037】第15の発明は第1の発明に従属してお
り、各m個のディスクに格納されるデータブロックまた
は冗長データの格納場所に欠陥が発生すると、当該欠陥
格納場所の代わりに代替格納場所を割り当てるリアサイ
ン処理を実行するリアサイン処理部をさらに備える。A fifteenth invention is according to the first invention, and when a defect occurs in a storage location of a data block or redundant data stored in each of m disks, an alternative storage is provided instead of the defect storage location. The apparatus further includes a reassignment processing unit that executes a reassignment process for allocating a place.
【0038】第16の発明は第15の発明に従属してお
り、各m個のディスクにおいて予め確保される代替記録
領域のアドレスを代替記録領域情報として管理する代替
記録領域管理部と、欠陥記録領域の代わりに割り当てら
れた代替記録領域のアドレス情報を管理するアドレス管
理部とをさらに備え、リアサイン処理部は、制御部から
の第2の読み出し要求がm個のディスクに送信される
と、当該各ディスクにおける遅延時間を測定し、測定し
た遅延時間に基づいて、当該各第2の読み出し要求によ
り読み出されるべきデータブロックまたは冗長データの
記録領域が欠陥であるか否かを判断し、データブロック
または冗長データの記録領域が欠陥であると判断した場
合に、代替記録領域管理部により管理される代替記録領
域情報に基づいて、欠陥記録領域の代わりとなる代替記
録領域を割り当て、割り当てた代替記録領域のアドレス
情報をアドレス管理部に管理させ、制御部は、アドレス
管理部により管理されるアドレス情報に基づいて、第2
の読み出し要求を発行し、遅延時間は、所定の処理開始
時刻から起算される経過時間である。A sixteenth aspect is according to the fifteenth aspect, wherein an alternative recording area management unit for managing, as alternative recording area information, an address of an alternative recording area secured in advance in each of the m disks, An address management unit that manages address information of an alternative recording area allocated in place of the area, wherein the reassignment processing unit receives the second read request from the control unit and transmits the second read request to the m disks. The delay time in each disk is measured, and based on the measured delay time, it is determined whether or not the data block to be read by each of the second read requests or the recording area of the redundant data is defective. When the recording area of the redundant data is determined to be defective, based on the alternative recording area information managed by the alternative recording area management unit, Recessed assigns an alternate recording area Alternative recording area, to manage address information of the allocated replacement recording area in the address management unit, the control unit on the basis of the address information managed by the address management unit, the second
Is issued, and the delay time is an elapsed time calculated from a predetermined processing start time.
【0039】第17の発明は第16の発明に従属してお
り、リアサイン処理部は、同じ記録領域が欠陥記録領域
であると規定回数連続して判断した場合に限り、当該欠
陥記録領域に代替記録領域を割り当てる。第17の発明
によれば、記録領域は、規定回数連続して欠陥の可能性
があるとリアサイン処理部によって規定回数連続して判
断された場合に、代替記録領域が割り当てられる。した
がって、リアサイン処理部が、欠陥でない記憶領域が欠
陥であると突発的に判断しても、代替記録領域は割り当
てられない。これによって、本当の欠陥記録領域に対し
てのみ代替記録領域を割り当てるRAID装置を提供す
ることができる。A seventeenth invention is according to the sixteenth invention, and the reassignment processing unit replaces the defective recording area with the defective recording area only when it determines that the same recording area is a defective recording area continuously for a specified number of times. Allocate a recording area. According to the seventeenth aspect, in the recording area, when the reassignment processing unit determines that there is a possibility of a defect continuously for the prescribed number of times, the substitute recording area is assigned. Therefore, even if the reassignment processing unit suddenly determines that the non-defective storage area is defective, no alternative recording area is allocated. As a result, it is possible to provide a RAID device that assigns an alternative recording area only to a true defect recording area.
【0040】第18の発明は第16の発明に従属してお
り、所定の処理開始時刻は、各m個のディスクに第2の
読み出し要求が送信された時刻である。第19の発明は
第16の発明に従属しており、所定の処理開始時刻は、
m個のディスクによって第2の読み出し要求に基づく読
み出しが開始される時刻である。第18または第19の
発明によれば、リアサイン処理部は、遅延時間を正確に
知ることができる。An eighteenth invention is according to the sixteenth invention, and the predetermined processing start time is a time at which the second read request is transmitted to each of the m disks. A nineteenth invention is according to the sixteenth invention, and the predetermined processing start time is:
This is the time at which reading is started by the m disks based on the second reading request. According to the eighteenth or nineteenth aspect, the reassignment processing section can accurately know the delay time.
【0041】[0041]
【発明の実施の形態】(第1の実施形態)図1は、本発
明の第1の実施形態に係るRAID装置の構成を示すブ
ロック図である。図1において、RAID装置は、ホス
トインタフェイス1と、セレクタ2と、6個のバッファ
部3A〜3D、3Pおよび3Rと、5個のSCSIイン
タフェイス4A〜4Dおよび4Pと、5個のディスク5
A〜5Dおよび5Pと、パリティ演算部6と、制御部7
とを含む。なお、制御部7の中に示された発行時刻テー
ブル71は、第1の実施形態では用いない。発行テーブ
ル71は、第2の実施形態において必要となるので、こ
こでは、その説明を省略する。DESCRIPTION OF THE PREFERRED EMBODIMENTS (First Embodiment) FIG. 1 is a block diagram showing a configuration of a RAID device according to a first embodiment of the present invention. In FIG. 1, the RAID device includes a host interface 1, a selector 2, six buffer units 3A to 3D, 3P and 3R, five SCSI interfaces 4A to 4D and 4P, and five disks 5
A to 5D and 5P, a parity operation unit 6, and a control unit 7
And Note that the issue time table 71 shown in the control unit 7 is not used in the first embodiment. Since the issue table 71 is required in the second embodiment, the description thereof is omitted here.
【0042】また、図2は、図1のバッファ部3A〜3
D、3Pおよび3Rの詳細な構成を示している。図2に
おいて、バッファ部3Aの記憶領域は、複数のバッファ
領域3A1 ,3A2 ,3A3 …に分割されている。各バ
ッファ領域3A1 ,3A2 ,3A3 …は、後述するデー
タブロックおよび冗長データを格納しうる容量(つま
り、本実施形態では512バイト)を有する。さらに、
各バッファ領域3A1 ,3A2 ,3A3 …には、それぞ
れを特定するための識別情報(通常は各バッファ領域の
先頭アドレス)が割り当てられている。他のバッファ部
3B〜3D、3Pおよび3Rもまた、バッファ部3Aと
同様に複数のバッファ領域に分割される。また、各バッ
ファ領域には、バッファ領域3A1 等と同様に、識別情
報が割り当てられる。FIG. 2 shows the buffer units 3A-3 in FIG.
3 shows a detailed configuration of D, 3P and 3R. 2, the storage area of the buffer portion 3A is divided into a plurality of buffer areas 3A 1, 3A 2, 3A 3 .... Each of the buffer areas 3A 1 , 3A 2 , 3A 3 ... Has a capacity (that is, 512 bytes in the present embodiment) capable of storing a data block and redundant data described later. further,
Each of the buffer areas 3A 1 , 3A 2 , 3A 3 ... Is assigned identification information (usually the head address of each buffer area) for specifying each buffer area. The other buffer units 3B to 3D, 3P, and 3R are also divided into a plurality of buffer areas similarly to the buffer unit 3A. In addition, each buffer region, as in the buffer area 3A 1, etc., the identification information is assigned.
【0043】再度図1を参照する。RAID装置の外部
にはホスト装置(図示せず)が設置される。ホスト装置
は、RAID装置を双方向通信可能に接続される。ホス
ト装置は、データをRAID装置に書き込むことができ
る。この時、ホスト装置は、書き込み要求およびデータ
をRAID装置に送信する。なお、本実施形態では、ホ
スト装置は、2048バイトのサイズを有するデータを
RAID装置に送信する。ホスト装置の送信データは、
典型的には、映像データを2048バイト毎に分割して
生成される。RAID装置は、書き込み要求およびデー
タの受信に応答して、書き込み処理を開始する。以下、
この書き込み処理を図3を参照して簡単に説明する。R
AID装置のセレクタ2には、今回、ホストインタフェ
イス1を通じて、ホスト装置の送信データD−1(図3
(a)参照)が入力されたとする。セレクタ2は、デー
タD−1を4分割して、512バイトのデータブロック
D−A1、D−B1、D−C1およびD−D1を生成す
る。セレクタ2は、データブロックD−A1をバッファ
部3Aに転送する。さらに、セレクタ2は、データブロ
ックD−B1〜D−D1をバッファ部3B〜3Dに転送
する。バッファ部3A〜3Dは、自身に転送されてきた
データブロックD−A1〜D−D1を保持する。また、
4個のデータブロックD−A1〜D−D1はパリティ演
算部6にも入力される。パリティ演算部6は、従来技術
の欄で述べたパリティ演算を行って、データブロックD
−A1〜D−D1から、512バイトの冗長データD−
P1を生成する。冗長データD−P1は、バッファ部3
Pへと転送され、当該バッファ3Pにより一旦保持され
る。Referring back to FIG. A host device (not shown) is provided outside the RAID device. The host device is connected to the RAID device so that bidirectional communication is possible. The host device can write data to the RAID device. At this time, the host device transmits a write request and data to the RAID device. In this embodiment, the host device transmits data having a size of 2048 bytes to the RAID device. The transmission data of the host device is
Typically, the video data is generated by dividing the video data every 2048 bytes. The RAID device starts the write process in response to the write request and the reception of the data. Less than,
This writing process will be briefly described with reference to FIG. R
This time, the transmission data D-1 (FIG. 3) of the host device is supplied to the selector 2 of the AID device through the host interface 1.
(See (a)) is input. The selector 2 divides the data D-1 into four to generate 512-byte data blocks D-A1, D-B1, D-C1, and D-D1. The selector 2 transfers the data block DA1 to the buffer unit 3A. Further, the selector 2 transfers the data blocks DB1 to DD1 to the buffer units 3B to 3D. The buffer units 3A to 3D hold the data blocks D-A1 to DD1 transferred thereto. Also,
The four data blocks D-A1 to D-D1 are also input to the parity operation unit 6. The parity operation unit 6 performs the parity operation described in the section of the related art to obtain the data block D.
-A1 to D-D1 to 512-byte redundant data D-
Generate P1. The redundant data DP1 is stored in the buffer unit 3
P and temporarily held by the buffer 3P.
【0044】現在、バッファ部3A〜3Dにはデータブ
ロックD−A1〜D−D1が保持されている。また、バ
ッファ部3Pには、冗長データD−P1が保持されてい
る。この4個のデータブロックD−A1〜D−D1およ
び冗長データD−P1は、同じ2048バイトのデータ
D−1に基づいて作成されており、同一パリティ系列に
属する。例えば、データブロックD−A1〜D−D1お
よび冗長データD−P1は、パリティ系列nに属すると
する。このように、本実施形態において、パリティ系列
とは、同じ2048バイトのデータに基づいて生成され
たデータブロックおよび冗長データの組み合わせを意味
する。At present, data blocks D-A1 to D-D1 are held in the buffer units 3A to 3D. Further, the buffer unit 3P holds redundant data D-P1. The four data blocks D-A1 to D-D1 and the redundant data D-P1 are created based on the same 2048-byte data D-1, and belong to the same parity sequence. For example, it is assumed that the data blocks D-A1 to D-D1 and the redundant data D-P1 belong to the parity sequence n. As described above, in this embodiment, the parity sequence means a combination of a data block and redundant data generated based on the same 2048-byte data.
【0045】また、制御部7には、ホストインタフェイ
ス1を通じて、書き込み要求が入力される。制御部7
は、書き込み要求の入力に応答して、今回生成されるパ
リティ系列nの格納場所を割り当てる。データブロック
の格納場所は、ディスク5A〜5Dの記憶領域から選ば
れる。また、冗長データの格納場所は、ディスク5Pか
ら選ばれる。制御部7は、ディスク5Aの記憶領域から
選択した格納場所を、SCSIインタフェイス4Aに指
示する。同様に、制御部7は、ディスク5B〜5Dおよ
び5Pの記憶領域から選択した格納場所を、SCSIイ
ンタフェイス4B〜4Dおよび4Pに指示する。SCS
Iインタフェイス4Aは、制御部7の指示に応答して、
自身と接続されたバッファ部3AからデータブロックD
−A1を取り出す。SCSIインタフェイス4Aは、デ
ィスク5Aの記憶領域(格納場所)に、データブロック
D−A1を格納する。他のSCSIインタフェイス4B
〜4Dは、SCSIインタフェイス4Aと同様に、バッ
ファ部3A〜3D内のデータブロックD−B1〜D−D
1を、ディスク5B〜5Dの記憶領域(格納場所)に格
納する。また、SCSIインタフェイス4Pは、バッフ
ァ部3Pの冗長データD−P1を、ディスク5Pの記憶
領域(格納場所)に格納する。A write request is input to the control unit 7 through the host interface 1. Control unit 7
Assigns the storage location of the parity sequence n generated this time in response to the input of the write request. The storage location of the data block is selected from the storage areas of the disks 5A to 5D. The storage location of the redundant data is selected from the disk 5P. The control unit 7 instructs the SCSI interface 4A of the storage location selected from the storage area of the disk 5A. Similarly, the control unit 7 instructs the SCSI interfaces 4B to 4D and 4P of the storage location selected from the storage areas of the disks 5B to 5D and 5P. SCS
The I interface 4A responds to the instruction of the control unit 7
From the buffer unit 3A connected to itself, the data block D
-Take out A1. The SCSI interface 4A stores the data block D-A1 in a storage area (storage location) of the disk 5A. Other SCSI interface 4B
To 4D are data blocks D-B1 to DD in the buffer units 3A to 3D, similarly to the SCSI interface 4A.
1 is stored in the storage area (storage location) of the disks 5B to 5D. The SCSI interface 4P stores the redundant data DP1 of the buffer unit 3P in a storage area (storage location) of the disk 5P.
【0046】RAID装置では、ホスト装置の送信デー
タが到着する度に、上述の書き込み処理が行われる。そ
の結果、図3(b)に示すように、同一パリティ系列の
データブロックおよび冗長データは、ディスク5A〜5
Dおよび5Pに分散的に格納される。例えば、パリティ
系列n(ドット部分参照)としては、上述したように、
データブロックD−A1、D−B1、D−C1およびD
−D1と、冗長データD−P1とが生成される。データ
ブロックD−A1〜D−D1は、ディスク5A〜5Dに
格納される。また、冗長データD−P1はディスク5P
に格納される。他のパリティ系列もまた、パリティ系列
nと同様に、ディスク5A、5B、5C、5Dおよび5
Pに分散格納される。In the RAID device, each time the transmission data of the host device arrives, the above-described write processing is performed. As a result, as shown in FIG. 3B, the data blocks and redundant data of the same parity sequence are stored in the disks 5A to 5A.
D and 5P are stored in a distributed manner. For example, as described above, as the parity sequence n (see the dot portion),
Data blocks D-A1, D-B1, D-C1, and D
-D1 and redundant data D-P1 are generated. The data blocks D-A1 to D-D1 are stored on the disks 5A to 5D. The redundant data D-P1 is stored in the disk 5P.
Is stored in Other parity sequences, like parity sequence n, are also stored on disks 5A, 5B, 5C, 5D, and 5D.
P is distributed and stored.
【0047】なお、以上の書き込み処理では、冗長デー
タはディスク5Pにのみ格納されており、冗長データを
格納するディスクは固定的である。つまり、この書き込
み処理はRAIDレベル3のアーキテクチャに基づいて
説明されている。しかし、本実施形態に係るRAID装
置は、RAIDのレベル3に限定されることなく、例え
ばレベル5に基づいて構築されていても良い。レベル5
は、レベル3と比較して、冗長データが固定的なディス
クに格納されずに、RAID装置が含む各ディスクに分
散的に格納される点で異なる。In the above write processing, the redundant data is stored only on the disk 5P, and the disk for storing the redundant data is fixed. That is, this writing process is described based on the RAID level 3 architecture. However, the RAID device according to the present embodiment is not limited to RAID level 3 but may be constructed based on level 5, for example. Level 5
Is different from Level 3 in that redundant data is not stored on a fixed disk but is stored in a distributed manner on each disk included in the RAID device.
【0048】また、ホスト装置は、RAID装置からデ
ータを読み出したい場合がある。かかる場合、ホスト装
置は、第1の読み出し要求をRAID装置に送信する。
第1の読み出し要求は、データの格納場所を示す情報を
含んでおり、これによって、データの格納場所を指定す
る。RAID装置は、第1の読み出し要求の到着に応答
して、読み出し処理を開始する。この読み出し処理は、
本願の特徴的な処理であるため、図4に示すフローチャ
ートを参照して、詳細に説明する。第1の読み出し要求
は、ホストインタフェイス1を通じて制御部7に入力さ
れる(ステップS1)。制御部7は、第1の読み出し要
求から、データの格納場所を得る 。制御部7は、デー
タの格納場所に基づいて、当該データに基づいて生成さ
れたパリティ系列(4個のデータブロックおよび冗長デ
ータ)の格納場所を特定する。ここで、注意を要するの
は、データの格納場所から、パリティ系列の格納場所を
得る処理は、周知であり、RAIDのアーキテクチャに
より規定されている。In some cases, the host device wants to read data from the RAID device. In such a case, the host device transmits a first read request to the RAID device.
The first read request includes information indicating the data storage location, and thereby specifies the data storage location. The RAID device starts the read process in response to the arrival of the first read request. This reading process
Since this is a characteristic process of the present application, it will be described in detail with reference to the flowchart shown in FIG. The first read request is input to the control unit 7 through the host interface 1 (Step S1). The control unit 7 obtains a data storage location from the first read request. The control unit 7 specifies a storage location of a parity sequence (four data blocks and redundant data) generated based on the data based on the storage location of the data. Here, it should be noted that the process of obtaining the storage location of the parity sequence from the storage location of the data is well known and is defined by the RAID architecture.
【0049】次に、制御部7は、パリティ系列を読み出
すために、第2の読み出し要求のセットを発行する(ス
テップS2)。本実施形態では、パリティ系列がディス
ク5A〜5Dおよび5Pに分散格納されるため、5個の
第2の読み出し要求が発行される。第2の読み出し要求
は、SCSIインタフェイス4A〜4Dおよび4Pに1
個づつ送信される。Next, the control unit 7 issues a second read request set to read the parity sequence (step S2). In the present embodiment, five second read requests are issued because the parity sequence is distributed and stored in the disks 5A to 5D and 5P. The second read request is sent to the SCSI interfaces 4A to 4D and 4P by 1
Sent individually.
【0050】SCSIインタフェイス4Aへの第2の読
み出し要求は、ディスク5Aにおけるデータブロックの
格納場所を指示している。ディスク5Aは、SCSIイ
ンタフェイス4Aを通じて第2の読み出し要求を受け取
る。ディスク5Aは、第2の読み出し要求により指示さ
れた格納場所から、データブロックを読み出す。読み出
されたデータブロックはSCSIインタフェイス4Aに
送信される。ところで、SCSIインタフェイス4Aへ
の第2の読み出し要求は、ディスク5Aの格納場所だけ
でなく、バッファ部3Aの格納場所を指示している。よ
り具体的には、バッファ部3Aが有するどのバッファ領
域(図2参照)に、読み出されたデータブロックを格納
するかが指示されている。SCSIインタフェイス4A
は、指示されたバッファ領域3A1 ,3A2 ,3A3 ,
…のいずれかに、ディスク5Aから読み出されたデータ
ブロックを格納していく。バッファ部3Aは、512バ
イトのデータブロックがいずれかのバッファ領域3Ai
(iは1,2,3,…のいずれかの自然数)に格納され
終わると、ディスク5Aの読み出しが完了したことを通
知するために第1の読み出し完了を制御部7に送信す
る。The second read request to the SCSI interface 4A indicates the storage location of the data block on the disk 5A. The disk 5A receives the second read request through the SCSI interface 4A. The disk 5A reads the data block from the storage location specified by the second read request. The read data block is transmitted to the SCSI interface 4A. By the way, the second read request to the SCSI interface 4A indicates not only the storage location of the disk 5A but also the storage location of the buffer unit 3A. More specifically, it is specified which buffer area (see FIG. 2) of the buffer section 3A stores the read data block. SCSI interface 4A
Are the designated buffer areas 3A 1 , 3A 2 , 3A 3 ,
The data blocks read from the disk 5A are stored in any one of. The buffer unit 3A stores a 512-byte data block in one of the buffer areas 3A i.
(I is a natural number of 1, 2, 3,...), The first read completion is transmitted to the control unit 7 to notify that the reading of the disk 5A has been completed.
【0051】同様にして、ディスク5B〜5Dは、SC
SIインタフェイス4B〜4Dを通じて入力される第2
の読み出し要求に応答して、データブロックをそれぞれ
読み出し始める。各ディスク5B〜5Dから読み出され
たデータブロックは、SCSIインタフェイス4B〜4
Dを介して、バッファ領域3Bi 〜3Di に格納され
る。ここで、バッファ部3B〜3Dは、データブロック
がいずれかのバッファ領域3Bi 〜3Di に格納され終
わると、ディスク5B〜5Dの読み出し完了を示す第1
の読み出し完了を制御部7に送信する。また、同様にし
て、ディスク5Pは、SCSIインタフェイス4Pから
第2の読み出し要求が入力されると、冗長データを読み
出し始める。読み出された冗長データは、SCSIイン
タフェイス4Pを介して、バッファ領域3Pi に格納さ
れる。バッファ部3Pは、冗長データがいずれかのバッ
ファ領域3Pi に格納され終わると、第1の読み出し完
了を送信して、ディスク5Pの読み出しが完了したこと
を制御部7に通知する。Similarly, disks 5B to 5D are
Second input through the SI interfaces 4B to 4D
In response to the read request, the respective data blocks are started to be read. The data blocks read from each of the disks 5B to 5D are stored in the SCSI interfaces 4B to 4B.
Via D, they are stored in the buffer areas 3B i to 3D i . Here, when the data blocks have been stored in any of the buffer areas 3B i to 3D i , the buffer units 3B to 3D indicate that the reading of the disks 5B to 5D has been completed.
Is transmitted to the control unit 7. Similarly, when the second read request is input from the SCSI interface 4P, the disk 5P starts reading redundant data. Redundant data read via the SCSI interface 4P, it is stored in the buffer region 3-Way i. Buffer 3P, when the redundant data has finished being stored in one of the buffer areas 3P i, and sends the first read completion is notified to the control unit 7 that the read disk 5P is complete.
【0052】ここで、注意を要するのは、ほとんどの場
合、バッファ部3A〜3Dおよび3Pの第1の読み出し
完了は、時間差を伴って制御部7に到着する点である。
例えば、ディスク5Aがデータブロックの読み出しに長
時間がかかった場合には、ディスク5Aの第1の読み出
し完了は、他からの第1の読み出し完了よりも遅く制御
部7に到着する。以上から明らかなように、各第1の読
み出し完了は、ディスク5A〜5Dおよび5Pでの読み
出しが完了した順番に、制御部7に到着する。制御部7
は、4個の第1の読み出し完了が到着すると(図4
(b)のステップS11)、残りの第1の読み出し完了
を待つことなく、ステップS12に進む。つまり、制御
部7は、いずれか4個のディスクにおいて読み出しが完
了したと判断し、さらに、残りの1個のディスクの読み
出しが遅れているとみなす。It should be noted that, in most cases, the completion of the first reading of the buffers 3A to 3D and 3P arrives at the controller 7 with a time lag.
For example, when it takes a long time for the disk 5A to read a data block, the first read completion of the disk 5A arrives at the control unit 7 later than the completion of the first read from another. As is clear from the above, each first read completion arrives at the control unit 7 in the order in which the reading on the disks 5A to 5D and 5P is completed. Control unit 7
When four first read completions arrive (FIG. 4)
In step S11 of (b), the process proceeds to step S12 without waiting for the completion of the remaining first reading. That is, the control unit 7 determines that reading has been completed on any of the four disks, and further determines that reading of the remaining one disk is delayed.
【0053】次に、制御部7は、第1の読み出し完了を
未送信のバッファ部(バッファ部3A〜3Dのおよび3
Pのいずれか1個)を特定して、読み出しが未完了のデ
ィスク(ディスク5A〜5Dおよび5Pのいずれか1
個)を判別する。制御部7は、読み出しが未完了のディ
スクが現在実行中の読み出しを強制中止させるために、
読み出し中止コマンドを発行する(ステップS12)。
読み出し中止コマンドは、読み出しが未完了のディスク
の前段に接続されたSCSIインタフェイスを通じて、
当該ディスクに入力される。これによって、読み出しが
未完了のディスクは、現在実行中の読み出しを中止す
る。Next, the control unit 7 notifies the completion of the first read-out to the buffer units that have not been transmitted (the buffer units 3A to 3D and 3).
P), and the disk for which reading has not been completed (one of the disks 5A to 5D and 5P).
Number). The control unit 7 controls the disk whose reading has not been completed to forcibly stop the reading currently being performed.
A read stop command is issued (step S12).
The read abort command is issued through a SCSI interface connected in front of the disk that has not been read.
Input to the disc. As a result, the disk for which the reading has not been completed stops the reading currently being performed.
【0054】ステップS12の後、制御部7は、パリテ
ィ演算が必要か否かを判断する(ステップS13)。現
時点では、制御部7は、バッファ3A〜3Dおよび3P
の内のいずれか4個から第1の読み出し完了を受け取っ
ている。今、制御部7が4個のバッファ部3A〜3Dか
ら第1の読み出し完了を受け取っている場合を考える。
この場合、4個のデータブロックが揃っている。したが
って、制御部7は、ホスト装置から要求されたデータを
送信可能な状態になったと判断する。そのため、制御部
7は、パリティ演算が不必要と判断して、ステップS1
3からステップS16に直接進む。一方、今、制御部7
が、バッファ3Pから第1の読み出し完了を受け取って
いる場合を考える。この場合、冗長データと3個のデー
タブロックが揃っていて、いずれか1個のデータブロッ
クが読み出されていないこととなる。そのため、読み出
されていない1個のデータブロックを復元する必要があ
る。したがって、制御部7は、パリティ演算が必要と判
断する。そのため、制御部7は、ステップS13からS
14へと進み、復元指示を発行して、パリティ演算の実
行をパリティ演算部6に要求する(ステップS14)。After step S12, the control section 7 determines whether or not a parity operation is necessary (step S13). At the present time, the control unit 7 controls the buffers 3A to 3D and 3P
, The first read completion is received from any four of them. Now, consider a case where the control unit 7 has received the first read completion from the four buffer units 3A to 3D.
In this case, there are four data blocks. Therefore, the control unit 7 determines that the data requested by the host device can be transmitted. Therefore, the control unit 7 determines that the parity operation is unnecessary, and determines in step S1
The process proceeds directly from step 3 to step S16. On the other hand, now, the control unit 7
Consider that the first read completion has been received from the buffer 3P. In this case, redundant data and three data blocks are present, and any one of the data blocks has not been read. Therefore, it is necessary to restore one data block that has not been read. Therefore, the control unit 7 determines that the parity operation is necessary. Therefore, the control unit 7 performs steps S13 to S13.
The process proceeds to 14, and a restoration instruction is issued to request the parity operation unit 6 to execute the parity operation (step S14).
【0055】パリティ演算部6は、復元指示に応答し
て、冗長データおよび3個のデータブロックを、バッフ
ァ領域3Pi および3個のバッファ領域(バッファ領域
3Ai〜3Di の内のいずれか3個)から得る 。パリテ
ィ演算部6は、従来の技術の欄で述べたパリティ演算を
行って、冗長データおよび3個のデータブロックから、
読み出されなかった1個のデータブロックを復元する。
復元されたデータブロックは、バッファ3Rが有するい
ずれかのバッファ領域3Ri に一旦保持される。パリテ
ィ演算部6は、パリティ演算が終了すると、その旨を示
す復元完了を発行して、制御部7に送信する。制御部7
は、復元完了を受け取ると(ステップ15)、4個のデ
ータブロックが揃い、ホスト装置から要求されたデータ
を送信可能な状態になったと判断する。そのため、制御
部7は、ステップS16に進む。In response to the restoration instruction, the parity calculation unit 6 converts the redundant data and the three data blocks into a buffer area 3P i and three buffer areas (any one of the buffer areas 3A i to 3D i ). ). The parity calculation unit 6 performs the parity calculation described in the section of the related art, and calculates the parity data from the redundant data and the three data blocks.
One data block that has not been read is restored.
Reconstructed data block is temporarily held in one of the buffer areas 3R i with buffer 3R it is. When the parity calculation is completed, the parity calculation unit 6 issues a restoration completion indicating that, and transmits the restoration completion to the control unit 7. Control unit 7
Receives the completion of restoration (step 15), determines that the four data blocks have been collected and the data requested by the host device is ready to be transmitted. Therefore, the control unit 7 proceeds to step S16.
【0056】ステップS16において、制御部7は、第
2の読み出し完了を発行して、セレクタ2に送信する。
第2の読み出し完了は、現在データブロックが保持され
ている4個のバッファ領域を指定する。セレクタ2は、
第2の読み出し完了に従って、4個のバッファ領域を順
次選択して、4個のデータブロックを順番に読み出す。
さらに、セレクタ2は、読み出した4個のデータブロッ
クを組み立てて、2048バイトのデータを構成する。
構成されたデータは、ホストインタフェイス1を通じ
て、ホスト装置に送信される。In step S 16, the control section 7 issues a second read completion signal and sends it to the selector 2.
The completion of the second read specifies the four buffer areas where the data block is currently held. Selector 2
In accordance with the completion of the second reading, four buffer areas are sequentially selected, and four data blocks are sequentially read.
Further, the selector 2 assembles the four read data blocks to form 2048-byte data.
The configured data is transmitted to the host device through the host interface 1.
【0057】以上、本RAID装置の一般的な読み出し
処理を説明した。本RAID装置の読み出し処理の具体
例を、図5(a)を参照して説明する。なお、以下に
は、次に、ホスト装置が、図3(b)に示すパリティ系
列nおよび(n+1)の順番でデータの読み出しを要求
した場合を例に採り上げる。ここで、図5(a)は、本
RAID装置において、パリティ系列nおよび(n+
1)が読み出されるタイミングを時間軸上で示す模式図
である。The general read processing of the present RAID device has been described above. A specific example of the reading process of the present RAID device will be described with reference to FIG. Hereinafter, the case where the host device requests data reading in the order of the parity sequences n and (n + 1) shown in FIG. 3B will be described as an example. Here, FIG. 5A shows the parity sequence n and (n +
It is a schematic diagram which shows the timing which 1) is read on a time axis.
【0058】まず、制御部7は、パリティ系列nを読み
出すために第2の読み出し要求を発行する(図4(a)
のステップS1およびS2)。その後、パリティ系列
(n+1)を読み出すための第2の読み出し要求が発行
される(ステップS1およびS2)。図5(a)の例で
は、ドット部分で示されるように、ディスク5Dが、最
初に、データブロックの読み出しを始めている。以降、
ディスク5C→5A→5P→5Bの順番で、データブロ
ックまたは冗長データの読み出しが始まる。時間が経過
して、時刻t1 になる前に、ディスク5C、5Aおよび
5Pは読み出しを完了する。ディスク5Bは、時刻t1
で読み出しを4番目に完了している。しかし、ディスク
5Dの読み出しは、他の読み出しと比べて遅れてしま
い、時刻t1になっても継続している。First, the controller 7 issues a second read request to read the parity sequence n (FIG. 4A).
Steps S1 and S2). Thereafter, a second read request for reading the parity sequence (n + 1) is issued (steps S1 and S2). In the example of FIG. 5A, as indicated by the dot portion, the disk 5D starts reading data blocks first. Or later,
Reading of data blocks or redundant data starts in the order of the disks 5C → 5A → 5P → 5B. Over time, before the time t 1, the disk 5C, 5A and 5P complete the read. The disk 5B is at time t 1
, The reading is completed fourth. However, the reading of the disk. 5D, will be delayed compared to the other reading, has continued even when the time t 1.
【0059】したがって、時刻t1 の直後に、制御部7
は、バッファ部3A、3B、3Cおよび3Pからの第1
の読み出し完了が4個到着する(図4(b)のステップ
11)。そのため、制御部7は、読み出し中止コマンド
を、読み出しが未完了のディスクとしてのディスク5D
に発行する(ステップS12)。ディスク5Dは、読み
出し中止コマンドに応答して、図5(a)の実線の×印
で示すように、続行中の読み出しを中止する。なお、以
降、制御部7は、上述から明らかなように、ステップS
13〜S16を実行する。しかし、ここでは、ステップ
S13以降の処理の説明は重要でないため、その処理の
説明を省略する。Therefore, immediately after time t 1 , the controller 7
Are the first from the buffer units 3A, 3B, 3C and 3P.
4 have arrived (step 11 in FIG. 4B). Therefore, the control unit 7 issues a read stop command to the disk 5D as a disk for which reading has not been completed.
(Step S12). In response to the read stop command, the disk 5D stops the ongoing read, as indicated by the solid crosses in FIG. 5A. Hereafter, as is clear from the above, the control unit 7 executes step S
13 to S16 are executed. However, since the description of the processing after step S13 is not important here, the description of the processing is omitted.
【0060】さて、時刻t1 が過ぎ、時刻t2 になる
と、ディスク5Dは、パリティ系列(n+1)のデータ
ブロックの読み出しを開始する(縦線の網掛け部分参
照)。時刻t2 の時点で、ディスク5A、5Cおよび5
Pで読み出し処理が始まっている。また、ディスク5B
では時刻t2 の少し後から、読み出し処理が始まってい
る。時間が経過して、時刻t3 の時点では、ディスク5
C、5D、5Aおよび5Pは読み出しを完了している。
そのため、破線の×印で示すように、今回、ディスク5
Bの読み出しが、制御部7の読み出し中止コマンドによ
り強制的に中止される。When the time t 1 has passed and the time t 2 has elapsed, the disk 5D starts reading the data block of the parity sequence (n + 1) (see the hatched portion of the vertical line). At the time of time t 2, the disc 5A, 5C and 5
The reading process has started at P. Also, disk 5B
In from after a little time t 2, the reading process has begun. Time has elapsed, at the point of time t 3, disk 5
C, 5D, 5A and 5P have completed reading.
Therefore, as shown by the dashed crosses, the disk 5
The reading of B is forcibly stopped by the reading stop command of the control unit 7.
【0061】以上、本RAID装置の読み出し処理の具
体例を説明した。上述したように、本RAID装置で
は、4個のデータブロックが揃った場合には、冗長デー
タが不必要になり、3個のデータブロックおよび冗長デ
ータが揃った場合には、残り1個のデータブロックが不
必要となる。そこで、本RAID装置は、不要な読み出
しを行っているディスクに読み出し中止コマンドを発行
して(図4(b)のステップS12)、当該読み出しを
強制的に中止させる。これが、本RAID装置の特徴的
な処理である。In the foregoing, a specific example of the reading process of the present RAID device has been described. As described above, in the present RAID device, when four data blocks are provided, redundant data is unnecessary, and when three data blocks and redundant data are provided, the remaining one data is used. Blocks are not required. Therefore, the RAID device issues a read stop command to the disk that is performing unnecessary read (step S12 in FIG. 4B), and forcibly stops the read. This is a characteristic process of the present RAID device.
【0062】次に、本RAID装置の特徴を際立たせる
ために、ステップS12を実行しないRAID装置によ
る読み出し処理を、図5(b)を参照して説明する。こ
こで、図5(b)は、ステップS12を実行しないRA
ID装置において、パリティ系列nおよび(n+1)が
読み出されるタイミングを時間軸上で示す模式図であ
る。なお、図5(b)の条件は、RAID装置がステッ
プS12を実行しない点を除いては、図5(a)と同じ
条件とする。つまり、ホスト装置は、上述と同じ条件
で、パリティ系列nおよび(n+1)の順番でデータの
読み出しを要求する。Next, in order to highlight the features of the present RAID device, a reading process by a RAID device that does not execute step S12 will be described with reference to FIG. Here, FIG. 5B shows the RA without executing step S12.
FIG. 4 is a schematic diagram showing, on a time axis, timings at which parity sequences n and (n + 1) are read in the ID device. The condition in FIG. 5B is the same as the condition in FIG. 5A except that the RAID device does not execute step S12. That is, the host device requests data reading in the order of the parity sequences n and (n + 1) under the same conditions as described above.
【0063】制御部7は、パリティ系列nおよび(n+
1)を読み出すために第2の読み出し要求を、第1の読
み出し要求の到着順に発行する。すると、図5(b)に
おいても、図5(a)の場合と同様に、ディスク5D→
5C→5A→5P→5Bの順番で、データブロックまた
は冗長データの読み出しが始まる。また、時刻t1 の時
点では、図5(a)の場合と同様に、ディスク5C、5
A、5Pおよび5Bが読み出しを完了しているが、ディ
スク5Dは読み出しを続行している。ディスク5Dの読
み出しは、読み出し中止コマンドが発行されないことか
ら、時刻t1 の直後に強制中止されずに、時刻t1 より
はるかに後の時刻t4 でようやく終了する。なお、この
時刻t1 の時点で、パリティ系列nのデータをホスト装
置に送信可能になるのは、図5(a)の場合と同様であ
る。Control unit 7 controls parity sequences n and (n +
To read 1), a second read request is issued in the order of arrival of the first read request. Then, in FIG. 5B, as in the case of FIG. 5A, the disk 5D →
Reading of data blocks or redundant data starts in the order of 5C → 5A → 5P → 5B. Further, At time t 1, as in the case of FIG. 5 (a), the disk 5C, 5
A, 5P and 5B have completed reading, while disk 5D is continuing reading. Reading disk 5D, since the read stop command is not issued, without being forced discontinued immediately after time t 1, finally ends at much time t 4 after time t 1. At this time t 1 , the data of the parity sequence n can be transmitted to the host device as in the case of FIG. 5A.
【0064】時刻t4 の時点では、既に、ディスク5
A、5B、5Cおよび5Pがパリティ系列(n+1)の
データブロックおよび冗長データの読み出しに取りかか
っている。しかし、ディスク5Dは、時刻t4 の後の時
刻t5 でようやく、パリティ系列(n+1)のデータブ
ロックを読み出し始める。また、時刻t6 の直後に、デ
ィスク5C、5A、5Pおよび5Bの読み出しが完了す
るので、その直後に、パリティ系列(n+1)のデータ
がホスト装置に送信される。At time t 4 , the disk 5
A, 5B, 5C and 5P are starting to read the data blocks and redundant data of the parity sequence (n + 1). However, disk 5D is finally at time t 5 after the time t 4, it starts reading the data blocks of the parity series (n + 1). Further, immediately after time t 6, so the disk 5C, 5A, reading of 5P and 5B is completed, immediately thereafter, the data of the parity sequence (n + 1) is transmitted to the host device.
【0065】以上の図5(a)と図5(b)を比較すれ
ば分かるように、本RAID装置は以下の技術的効果を
奏する。つまり、図5(a)および(b)共に、時刻t
1 の時点において、3個のデータブロックと冗長データ
とが揃うので、ディスク5Dに格納されているデータブ
ロックを復元することができる。そのため、パリティ系
列nのデータをホスト装置に送信することができる。ま
た、この時点で、ディスク5Dからの読み出しは不要と
なる。そこで、図5(a)に示すように、本RAID装
置は、時刻t1 の直後に、ディスク5Dの読み出しを強
制的に中止する。そのため、ディスク5Dは、パリティ
系列(n+1)のデータブロックの読み出しをいちはや
く始めることができる。一方、図5(b)に示すよう
に、ステップS12を実行しないRAID装置は、時刻
t1 の以降、時刻t4 までの間、ディスク5Dの無駄な
読み出しを中止しない。この無駄な処理時間が影響し
て、図5(b)に示すように、ディスク5Dは、パリテ
ィ系列(n+1)に関する読み出しの開始が遅れる。以
上のように、本RAID装置は、あるデータブロックを
復元可能になった時点で、読み出しが未完了のディスク
での読み出しを中止させる。これによって、読み出しが
未完了のディスクは、無駄な読み出しを続行せずに、次
の読み出しにいちはやく取りかかることができる。つま
り、本RAID装置によれば、1回の読み出しの遅れ
が、後の読み出しに悪影響を与えない。As can be seen by comparing FIG. 5A and FIG. 5B, the present RAID device has the following technical effects. That is, in both FIGS. 5A and 5B, the time t
At the time point 1 , since the three data blocks and the redundant data are prepared, the data blocks stored in the disk 5D can be restored. Therefore, the data of the parity sequence n can be transmitted to the host device. At this point, reading from the disk 5D becomes unnecessary. Therefore, as shown in FIG. 5 (a), the RAID device, immediately after time t 1, forcibly stop the reading of the disk 5D. Therefore, the disk 5D can start reading the data block of the parity sequence (n + 1) as soon as possible. On the other hand, as shown in FIG. 5 (b), RAID devices that do not perform step S12, subsequent time t 1, until the time t 4, not stop the unnecessary reading of disk 5D. Due to the useless processing time, as shown in FIG. 5B, the start of reading of the parity sequence (n + 1) of the disk 5D is delayed. As described above, the present RAID device stops reading from a disk whose reading has not been completed when a certain data block can be restored. As a result, a disk for which reading has not been completed can immediately start the next reading without continuing useless reading. That is, according to the present RAID device, the delay of one read does not adversely affect the subsequent read.
【0066】さらに、図5(a)の例では、ディスク5
Dが、時刻t2 に、データブロックの読み出しを開始さ
せた結果、本RAID装置は、時刻t3 の直後に、パリ
ティ系列(n+1)のデータをホスト装置に送信可能に
なる。そのため、本RAID装置は、時刻t3 までに、
ホスト装置に要求された2個のデータ(パリティ系列n
および(n+1))を送信できる。一方、図5(b)の
例では、ディスク5Dは、時刻t5 でようやくデータブ
ロックの読み出しを開始させる。この読み出しの遅れが
後の読み出しに悪影響を及ぼし、ステップS12を実行
しないRAID装置は、時刻t3 において、パリティ系
列(n+1)のデータをホスト装置に送信する事ができ
る状態にない。そのため、ステップS12を実行しない
RAID装置は、時刻t3 になっても、ホスト装置に要
求された2個のデータ(パリティ系列nおよび(n+
1))を送信できない。以上から明らかなように、本R
AID装置によれば、ディスク5A〜5Pの組み合わせ
(いわゆるディスクアレイ)から、単位時間当たりに読
み出せるデータ量が多くなる。これによって、本RAI
D装置は、データを連続的にホスト装置に送出すること
ができる。その結果、本RAID装置が映像データを取
り扱う場合には、ホスト装置側で再生される映像が途切
れにくくなる。Further, in the example of FIG.
As a result of D starting reading of the data block at time t 2 , the RAID device can transmit the data of the parity sequence (n + 1) to the host device immediately after time t 3 . Therefore, this RAID device, until the time t 3,
Two data (parity sequence n
And (n + 1)). On the other hand, in the example of FIG. 5 (b), the disk 5D is finally to start reading data blocks at time t 5. Adversely affect the reading after a delay of this reading, the RAID device does not execute the step S12, at time t 3, no data parity sequence (n + 1) to a state that can be transmitted to the host device. Therefore, RAID devices that do not perform step S12, even if the time t 3, 2 pieces of data requested to the host device (parity sequence n and (n +
1)) cannot be sent. As is clear from the above, this book R
According to the AID device, the amount of data that can be read per unit time from a combination of disks 5A to 5P (a so-called disk array) increases. By this, this RAI
The D device can continuously send data to the host device. As a result, when the present RAID device handles video data, the video reproduced on the host device side is less likely to be interrupted.
【0067】ところで、第1の実施形態のディスク5A
〜5Dおよび5Pには、図6に示すようなタイプのもの
が使用される場合がある。ここで、図6(a)は、いず
れかのディスクにおける、パリティ系列n〜(n+4)
のデータブロック(または冗長データ)の物理的な記録
位置を示している。図6(a)において、ディスクの最
内周側に、パリティ系列nのデータブロック(または冗
長データ)が記録される。さらに、外周方向に沿う順番
で、パリティ系列(n+2)→(n+4)→(n+1)
のデータブロック(または冗長データ)が記録されてい
る。そして、最外周側に、パリティ系列(n+3)のデ
ータブロック(または冗長データ)のデータブロック
(または冗長データ)が記録されている。By the way, the disk 5A of the first embodiment
6 to 5D and 5P may be of the type shown in FIG. Here, FIG. 6A shows parity sequences n to (n + 4) in one of the disks.
Indicates the physical recording position of the data block (or redundant data). In FIG. 6A, a data block (or redundant data) of a parity sequence n is recorded on the innermost side of the disk. Further, in the order along the outer circumferential direction, the parity sequence (n + 2) → (n + 4) → (n + 1)
Of data blocks (or redundant data). The data block (or redundant data) of the data block (or redundant data) of the parity sequence (n + 3) is recorded on the outermost peripheral side.
【0068】制御部7が、図6(b)の上欄に示すよう
に、パリティ系列がn→(n+1)→(n+2)→(n
+3)→(n+4)の順番で、データブロック(または
冗長データ)を読み出すための第2の読み出し要求を、
図6(a)に示すディスクに発行する場合を考える。ま
た、図6(a)のディスクは、第2の読み出し要求の到
着順で読み出しを実行せずに、読み出しヘッドのシーク
距離が短くなるように読み出しを実行する。例えば、デ
ィスクは、読み出しヘッドが内周側から外周側に向けて
直線的に移動するように、読み出しの順序を変更する。
その結果、n→(n+2)→(n+4)→(n+1)→
(n+3)の順番でデータブロック(または冗長デー
タ)が読み出される。これによって、ディスクは、単位
時間当たりにより多くのデータブロック(冗長データ)
を効率的に読み出すことができる。As shown in the upper section of FIG. 6B, the control unit 7 changes the parity sequence from n → (n + 1) → (n + 2) → (n
+3) → (n + 4), and a second read request for reading a data block (or redundant data)
Consider the case of issuing to the disk shown in FIG. The disk shown in FIG. 6A does not execute reading in the order of arrival of the second read request, but executes reading so that the seek distance of the read head becomes short. For example, the reading order of the disk is changed so that the read head moves linearly from the inner circumference to the outer circumference.
As a result, n → (n + 2) → (n + 4) → (n + 1) →
Data blocks (or redundant data) are read in the order of (n + 3). This allows the disk to store more data blocks (redundant data) per unit time.
Can be read efficiently.
【0069】図1に示すディスク5A〜5Dおよび5P
の全てまたは一部に、上述の読み出し順を変更するディ
スクが用いられた場合における、本RAID装置の読み
出し処理を具体的に説明する。なお、以下には、ホスト
装置が、図3(b)に示すパリティ系列がn→(n+
1)→(n+2)→(n+3)→(n+4)の順番でデ
ータの読み出しを要求した場合を例に採り上げる。ここ
で、図7(a)は、本RAID装置において、パリティ
系列n〜(n+4)が読み出されるタイミングを時間軸
上で示す模式図である。The disks 5A to 5D and 5P shown in FIG.
The read processing of the present RAID device when a disk whose read order is changed is used for all or a part of the above will be specifically described. In the following, the host device determines that the parity sequence shown in FIG. 3B is n → (n +
1) → (n + 2) → (n + 3) → (n + 4). Here, FIG. 7A is a schematic diagram showing, on the time axis, the timing at which the parity sequences n to (n + 4) are read in the present RAID device.
【0070】まず、制御部7は、要求された順番通りに
第2の読み出し要求を発行する。そのため、各ディスク
5A〜5Dおよび5Pには、n→(n+1)→(n+
2)→(n+3)→(n+4)の順番で第2の読み出し
要求が到着する。しかし、各ディスク5A〜5Dおよび
5Pは、互いに独立的に読み出し順序を決定する。その
ため、各ディスク5A〜5Dおよび5Pでの実際の読み
出し順序は、要求された順番通りではなく、しかも互い
に異なる場合がある。また、図7(a)において、時刻
t7 では、ディスク5A、5B、5Dおよび5Pがパリ
ティ系列(n+2)のデータブロックおよび冗長データ
(斜線の網掛け部分参照)の読み出しを完了している場
合がある。なお、この時刻t7 では、ディスク5Cは、
パリティ系列(n+4)のデータブロック(横線の網掛
け部分参照)の読み出しが完了したところである。この
場合、制御部7は、時刻t7 の直後に、パリティ系列
(n+2)について4個目の第1の読み出し完了を受け
取ることになる(図4(b)のステップS11)。した
がって、ディスク5Cに対して読み出し中止コマンドが
発行される(ステップS12)。そのため、ディスク5
Cは、パリティ系列(n+2)のデータブロックを読み
出さない。同様に、時刻t8 では、ディスク5A、5
B、5Cおよび5Pがパリティ系列(n+4)のデータ
ブロックおよび冗長データ(縦線の網掛け部分参照)の
読み出しを完了している。この場合、制御部7は、時刻
t8 の直後に、パリティ系列(n+4)に関する読み出
し中止コマンドをディスク5Dに発行する。そのため、
ディスク5Dは、パリティ系列(n+4)のデータブロ
ックを読み出さない。First, the control unit 7 issues a second read request in the requested order. Therefore, each of the disks 5A to 5D and 5P has n → (n + 1) → (n +
The second read request arrives in the order of 2) → (n + 3) → (n + 4). However, the disks 5A to 5D and 5P determine the reading order independently of each other. Therefore, the actual reading order of each of the disks 5A to 5D and 5P is not the same as the requested order, and may be different from each other. In FIG. 7A, at time t 7 , the disks 5A, 5B, 5D, and 5P have completed reading of the data blocks and redundant data of the parity sequence (n + 2) (see the hatched portions). There is. It should be noted that, in the time t 7, disk 5C is,
The reading of the data block of the parity sequence (n + 4) (see the hatched portion of the horizontal line) has been completed. In this case, the control unit 7, immediately after time t 7, the parity sequence (n + 2) will receive the first read a complete fourth one (step S11 in Figure 4 (b)). Therefore, a read stop command is issued to the disk 5C (step S12). Therefore, disk 5
C does not read the data block of the parity sequence (n + 2). Similarly, at time t 8, disk 5A, 5
B, 5C, and 5P have completed reading of the data block and redundant data (see the shaded portion of the vertical line) of the parity sequence (n + 4). In this case, the control unit 7, immediately after time t 8, issues a read stop command regarding parity sequence (n + 4) to the disk 5D. for that reason,
The disk 5D does not read the data block of the parity sequence (n + 4).
【0071】次に、本RAID装置の特徴を際立たせる
ために、ステップS12を実行しないRAID装置によ
る読み出し処理を、図7(b)を参照して説明する。図
7(b)は、ステップS12を実行しないRAID装置
において、パリティ系列n〜(n+4)が読み出される
タイミングを時間軸上で示す模式図である。なお、図7
(b)の条件は、RAID装置がステップS12を実行
しない点を除いては、図7(a)と同じ条件とする。つ
まり、ホスト装置は、上述と同じ条件で、パリティ系列
n〜(n+4)の順番でデータの読み出しを要求する。Next, in order to highlight the features of the present RAID device, a reading process by a RAID device that does not execute step S12 will be described with reference to FIG. FIG. 7B is a schematic diagram showing, on the time axis, the timing at which the parity sequences n to (n + 4) are read out in the RAID device that does not execute step S12. FIG.
The condition of FIG. 7B is the same as that of FIG. 7A except that the RAID device does not execute step S12. That is, the host device requests data reading in the order of the parity sequences n to (n + 4) under the same conditions as described above.
【0072】各ディスク5A〜5Dおよび5Pは、互い
に独立的に読み出し順序を決定する。図7(b)では、
図7(a)の場合と同様に、時刻t7 では、ディスク
5A、5B、5Dおよび5Pがパリティ系列(n+2)
のデータブロックおよび冗長データ(斜線の網掛け部分
参照)の読み出しを完了している。ただし、ディスク5
Cは、時刻t7 において、パリティ系列(n+2)のデ
ータブロックの読み出しを開始していない。しかし、図
7(b)の例では、ディスク5Cには読み出し中止コマ
ンドが発行されないので、ディスク5Cからはパリティ
系列(n+2)のデータブロックがやがて読み出され始
める。ところが、ディスク5Cにおける、パリティ系列
(n+2)の読み出しは不要であり、時間の浪費であ
る。なぜなら、時刻t7 の時点で、ディスク5Cに記録
されている、パリティ系列(n+2)のデータブロック
は復元可能になるからである。同様に、時刻t8 では、
ディスク5A、5B、5Cおよび5Pがパリティ系列
(n+4)の読み出しを完了している。ただし、時刻t
8 において、ディスク5Dは、パリティ系列(n+4)
の読み出しを開始していないので、やがて当該読み出し
を開始する。ディスク5Dにおける、パリティ系列(n
+4)の読み出しも不要であり、時間の浪費である。The discs 5A to 5D and 5P determine the reading order independently of each other. In FIG. 7B,
Figure 7 similarly to the In the case of (a), at time t 7, the disk 5A, 5B, 5D and 5P parity series (n + 2)
Has been read out of the data block and redundant data (see hatched portions). However, disk 5
C at time t 7, it does not start reading the data blocks of the parity series (n + 2). However, in the example of FIG. 7B, since the read stop command is not issued to the disk 5C, the data block of the parity sequence (n + 2) starts to be read from the disk 5C soon. However, it is unnecessary to read the parity sequence (n + 2) on the disk 5C, which is a waste of time. This is because, at time t 7, and is recorded on the disc 5C, data blocks of the parity series (n + 2) is because it is possible restoration. Similarly, at time t 8 ,
The disks 5A, 5B, 5C and 5P have completed reading the parity sequence (n + 4). However, at time t
In 8 , the disk 5D has a parity sequence (n + 4)
Is not started, and the reading is started in due course. The parity sequence (n
The readout of +4) is unnecessary, and time is wasted.
【0073】以上の図7(a)と図7(b)を比較すれ
ば分かるように、本RAID装置は以下の技術的効果を
奏する。つまり、本RAID装置は、あるデータブロッ
クを復元可能になった時点で、残りの1個のディスクに
対して読み出し中止コマンドを発行する。これによっ
て、読み出し中止コマンドを受けたディスクは、無駄な
読み出しを開始しない。これによって、ディスクは、必
要な読み出しのみを実行する。そのため、本RAID装
置は、要求されたデータをホスト装置にいちはやく送信
することができる。つまり、図7(a)の例では、時刻
t9 において、パリティ系列がn、(n+2)、(n+
4)および(n+1)の4個のデータをホスト装置に送
信可能である。一方、図7(b)の例では、ディスク5
Cおよび5Dが無駄な読み出しを実行してしまうため、
時刻t9 において、n、(n+2)および(n+4)の
3個のデータしかホスト装置に送信できない。以上から
明らかなように、本RAID装置によれば、単位時間当
たりに読み出せるデータ量が多くなり、データを連続的
にホスト装置に送出できる。そのため、本RAID装置
が映像データを取り扱う場合には、ホスト装置側で再生
される映像が途切れにくくなる。As can be seen by comparing FIG. 7A and FIG. 7B, the present RAID device has the following technical effects. In other words, the present RAID device issues a read stop command to the remaining one disk when a certain data block can be restored. Thus, the disk that has received the read stop command does not start useless reading. Thus, the disk performs only necessary reading. Therefore, the present RAID device can transmit the requested data to the host device as soon as possible. That is, in the example of FIG. 7 (a), at time t 9, the parity sequence n, (n + 2), (n +
4) and (n + 1) four data can be transmitted to the host device. On the other hand, in the example of FIG.
Since C and 5D perform useless reading,
At time t 9, n, (n + 2) and (n + 4) 3 pieces of data can only transmit to the host device. As is clear from the above, according to the present RAID device, the amount of data that can be read per unit time increases, and data can be continuously transmitted to the host device. Therefore, when the RAID device handles video data, the video reproduced on the host device side is less likely to be interrupted.
【0074】なお、図6に示すディスクは、第2の読み
出し要求を到着順に処理せず、読み出し順を入れ替え
る。そのため、ディスク内では、複数の第2の読み出し
要求が読み出し処理を待っている場合がある。また、上
述から明らかなように、制御部7は、ディスク内で処理
を待っている第2の読み出し要求を取り消す場合があ
る。しかし、ディスクは、複数の処理待ちの第2の読み
出し要求から、特定のものだけの処理を中止することが
できない場合がある。この場合、制御部7は、ディスク
内の第2の読み出し要求の処理を一旦すべて中止させ
る。そして、制御部7は、第2の読み出し要求を改めて
発行する。ただし、この時、制御部7は、処理を中止し
なければならない第2の読み出し要求を発行しない。こ
れによって、制御部7は、特定の第2の読み出し要求の
みを取り消すことができる。The disk shown in FIG. 6 does not process the second read request in the order of arrival, but switches the read order. Therefore, a plurality of second read requests may be waiting for read processing in the disk. Further, as is apparent from the above description, the control unit 7 may cancel the second read request waiting for processing in the disk. However, the disk may not be able to stop processing of only a specific one from a plurality of second read requests waiting to be processed. In this case, the control unit 7 temporarily suspends all processing of the second read request in the disk. Then, the control unit 7 issues a second read request again. However, at this time, the control unit 7 does not issue the second read request for which the processing must be stopped. Thus, the control unit 7 can cancel only the specific second read request.
【0075】(第2の実施形態)次に、本発明の第2の
実施形態に係るRAID装置を説明する。本RAID装
置の構成は、図1に示したものと同様であるため、以
下、図1を援用する。また、本実施形態の技術的効果を
より分かりやすくするため、ディスク5A〜5Dおよび
5Pのいずれかは、図6に示すように、第2の読み出し
要求の到着順で読み出しを実行せずに、読み出しヘッド
のシーク距離が短くなるように読み出しの順序を変更す
る。(Second Embodiment) Next, a RAID device according to a second embodiment of the present invention will be described. Since the configuration of the present RAID device is the same as that shown in FIG. 1, FIG. 1 will be referred to below. Further, in order to make the technical effect of the present embodiment easier to understand, as shown in FIG. 6, any one of the disks 5A to 5D and 5P does not execute reading in the order of arrival of the second reading request. The read order is changed so that the seek distance of the read head becomes shorter.
【0076】本RAID装置は、ホスト装置の送信デー
タが到着する度に、第1の実施形態で説明した書き込み
処理を行う。また、ホスト装置は、RAID装置からデ
ータを読み出したい場合がある。かかる場合、ホスト装
置は、データの格納場所を指定する第1の読み出し要求
をRAID装置に送信する。RAID装置は、第1の読
み出し要求の到着に応答して、読み出し処理を開始す
る。この読み出し処理は、第2の実施形態の特徴的な処
理であるため、図8に示すフローチャートを参照して、
詳細に説明する。なお、図8(a)のフローチャート
は、図4(a)のそれと比較すると、部分的に同様のス
テップを含んでいる。そのため、図8(a)において、
図4(a)に示すものと同様のステップには、同一のス
テップ番号を付し、その説明を簡素化する。The RAID device performs the write processing described in the first embodiment every time transmission data from the host device arrives. In some cases, the host device wants to read data from the RAID device. In such a case, the host device transmits a first read request specifying a data storage location to the RAID device. The RAID device starts the read process in response to the arrival of the first read request. Since this reading process is a characteristic process of the second embodiment, referring to the flowchart shown in FIG.
This will be described in detail. Note that the flowchart of FIG. 8A partially includes the same steps as those of FIG. 4A. Therefore, in FIG.
Steps similar to those shown in FIG. 4A are denoted by the same step numbers, and description thereof will be simplified.
【0077】制御部7は、第1の読み出し要求に応答し
て、第2の読み出し要求のセットを発行する(ステップ
S1およびS2)。制御部7は、第2の読み出し要求を
発行すると、制御部7は、図9に示すような発行時刻テ
ーブル71を、内部の記憶領域に1個作成する(ステッ
プS21)。ところで、第1の実施形態で説明したよう
に、SCSIインタフェイス4Aに送信される第2の読
み出し要求には、どのバッファ領域3Ai (図2参照)
に、ディスク5Aからのデータブロックを格納するかが
指示されている。他のSCSIインタフェイス4B〜4
Dおよび4Pに送信される第2の読み出し要求にも同様
に、どのバッファ領域3Bi 〜3Di および3Pi に、
ディスク5B〜5Dおよび5Pから読み出されたデータ
ブロックを格納するかが指示されている。発行時刻テー
ブル71には、今回読み出されるパリティ系列が、どの
バッファ領域3Ai 〜3Di および3Pi に格納される
かが記載される。さらに、制御部7が第2の読み出し要
求を発行した時刻tISSUEも発行時刻テーブル71には
記載される。The controller 7 issues a second read request set in response to the first read request (steps S1 and S2). When the control unit 7 issues the second read request, the control unit 7 creates one issue time table 71 as shown in FIG. 9 in the internal storage area (step S21). By the way, as described in the first embodiment, the buffer area 3A i (see FIG. 2) is included in the second read request transmitted to the SCSI interface 4A.
Specifies whether to store the data block from the disk 5A. Other SCSI interfaces 4B-4
Similarly, the second read request sent to D and 4P includes in any of the buffer areas 3B i to 3D i and 3P i
It is instructed whether to store the data blocks read from the disks 5B to 5D and 5P. The issue time table 71 describes in which of the buffer areas 3A i to 3D i and 3P i the parity sequence to be read this time is stored. Further, the time t ISSUE at which the control unit 7 issues the second read request is also described in the issue time table 71.
【0078】また、制御部7は、第1の実施形態で述べ
た処理(図4(b)参照)等を実行して、ホスト装置か
ら要求されたデータを送信する。ここで、4個の第1の
読み出し完了が到着した時の処理は、本実施形態とは直
接関係ないので、その説明を省略する。The control unit 7 executes the processing described in the first embodiment (see FIG. 4B) and the like, and transmits data requested by the host device. Here, the processing when the four first read completions have arrived is not directly related to the present embodiment, and thus the description thereof is omitted.
【0079】ところで、制御部7は、発行時刻tISSUE
を起算点として、4個の第1の読み出し完了が到着して
いなければならない時間(以下、この時間を制限時間T
LIMI T と称す)予め記憶している。つまり、制限時間T
LIMIT は、第2の読み出し要求が発行されてから、少な
くとも4個のディスクが読み出しを完了していなければ
ならない時間である。もし、いずれか2個のディスクで
の読み出しの完了が制限時間TLIMIT を過ぎてしまう
と、ホスト装置が要求したデータの送信が遅れてしま
う。その結果、RAID装置が映像データを取り扱う場
合には、ホスト装置側で再生される映像が途切れてしま
う。ここで、第1の実施形態でも説明したように、本R
AID装置は、5個のディスク5A〜5Dおよび5Pか
らデータブロックおよび冗長データを読み出そうとす
る。しかし、本RAID装置は、4個のデータブロック
が揃うか、3個のデータブロックおよび1個の冗長デー
タが揃うかさえすれば、読み出しを要求されたデータを
ホスト装置へと送信することができる。そのため、第2
の読み出し要求の発行から制限時間TLIMIT が経過する
前に、少なくとも4個のディスクが読み出しを完了して
いれば、ホスト装置へのデータ送信は遅れない。逆に、
第2の読み出し要求の発行から制限時間TLIMIT が経過
した時に、2個のディスクで読み出しが完了していなけ
れば、ホスト装置へのデータ送信は完全に遅れてしま
う。そのため、他の3個のディスク装置の読み出しは無
駄になってしまう。この無駄な読み出しを排除するため
に、制御部7は、図8(b)に示すフローチャートに従
う処理を実行する。By the way, the control unit 7 sets the issue time t ISSUE
Starting from the time when four first read completions must arrive (hereinafter, this time is referred to as a time limit T
Referred to as LIMI T) stored in advance. That is, the time limit T
LIMIT is the time during which at least four disks must have completed reading since the second read request was issued. If the completion of reading from any two disks exceeds the time limit T LIMIT , the transmission of data requested by the host device will be delayed. As a result, when the RAID device handles video data, the video reproduced on the host device side is interrupted. Here, as described in the first embodiment, the present R
The AID device attempts to read data blocks and redundant data from the five disks 5A-5D and 5P. However, the present RAID device can transmit read-requested data to the host device as long as four data blocks are provided or three data blocks and one redundant data are provided. . Therefore, the second
If at least four disks have completed reading before the time limit T LIMIT has elapsed since the issuance of the read request, data transmission to the host device is not delayed. vice versa,
If the reading has not been completed on the two disks when the time limit T LIMIT has elapsed since the issuance of the second read request, data transmission to the host device is completely delayed. Therefore, reading of the other three disk devices is useless. In order to eliminate this useless reading, the control unit 7 executes a process according to a flowchart shown in FIG.
【0080】まず、制御部7は、制限時間TLIMIT まで
に4個の第1の読み出し完了が到着しているか否かを判
断する(ステップS31)。ステップS31の判断は、
以下のように行われる。まず、制御部7は、予め定めら
れたタイミングで、内部で計時している現在時刻tPRE
を得、図9の発行時刻テーブル71に記載された発行時
刻tISSUE を選択する。また、制御部7は、上述した制
限時間TLIMIT を予め記憶している。制御部7は、(t
PRE −tISSUE )>TLIMIT を満たす場合には、現在選
択中の発行時刻tISSUE と一緒に記載されたバッファ領
域の情報3Ai〜3Di および3Pi (図9参照)を得
る。ところで、各第1の読み出し完了には、上述したよ
うに、バッファ領域3Ai 〜3Di および3Pi を示す
情報が含まれている。制御部7は、第1の読み出し完了
が到着すると、それに含まれるバッファ領域3Ai 〜3
Di および3Pi を示す情報を取り出し保持する。次
に、制御部7は、発行時刻テーブル71から得たバッフ
ァ領域の情報3Ai〜3Di および3Pi と、現在到着
済みの第1の読み出し完了から得たバッファ領域の情報
とを比較する。この比較結果により、制御部7は、制限
時間TLIMITまでに4個の第1の読み出し完了が到着し
ているか否かを判断できる。First, the control section 7 determines whether or not four first read completions have arrived before the time limit T LIMIT (step S31). The determination in step S31 is
It is performed as follows. First, the control unit 7 controls the present time t PRE internally measured at a predetermined timing.
And the issue time t ISSUE described in the issue time table 71 of FIG. 9 is selected. The control unit 7 stores the above-described time limit T LIMIT in advance. The control unit 7 determines (t
PRE− t ISSUE )> T LIMIT , buffer area information 3A i to 3D i and 3P i (see FIG. 9) described together with the currently selected issue time t ISSUE are obtained. Incidentally, each first read completion includes information indicating the buffer areas 3A i to 3D i and 3P i as described above. When the first read completion arrives, the control unit 7 sets the buffer areas 3A i to 3A
The information indicating D i and 3P i is extracted and held. Next, the control unit 7 compares the buffer area information 3A i to 3D i and 3P i obtained from the issue time table 71 with the buffer area information obtained from the first arrival completion of the currently arrived first read. Based on the comparison result, the control unit 7 can determine whether four first read completions have arrived before the time limit T LIMIT .
【0081】ステップS31の判断において、制限時間
TLIMIT までに4個の第1の読み出し完了が到着してい
る場合、制御部7は、現在選択している発行時刻テーブ
ル71を削除して(ステップS33)、図8(b)の処
理を終了する。一方、制限時間TLIMIT までに4個の第
1の読み出し完了が到着していなければ、制御部7は、
上述のバッファ領域の情報の比較結果から、未だ読み出
しを完了していないディスク(5A〜5Dおよび5Pの
いずれか)を特定する。制御部7は、読み出しが未完了
のディスクの読み出しを中止させるために、読み出し中
止コマンドを発行する(ステップS32)。読み出し未
完了のディスクは、読み出し中止コマンドに応答して、
現在続行している読み出し、または、未だ始まっていな
い読み出しを中止する。ステップS33の次に、制御部
7は、現在選択している発行時刻テーブル71を削除し
て(ステップS33)、図8(b)の処理を終了する。If it is determined in step S 31 that four first read completions have arrived before the time limit T LIMIT , the control unit 7 deletes the currently selected issue time table 71 (step S 31). S33), the processing of FIG. 8B ends. On the other hand, if the four first read completions have not arrived before the time limit T LIMIT , the control unit 7
From the comparison result of the information of the buffer area, a disk (one of 5A to 5D and 5P) for which reading has not been completed is specified. The control unit 7 issues a read stop command in order to stop reading of the disk for which reading has not been completed (step S32). The disk that has not yet been read responds to the read abort command,
Abort the read that is currently continuing or has not yet started. Subsequent to step S33, the control unit 7 deletes the currently selected issue time table 71 (step S33), and ends the processing in FIG. 8B.
【0082】以上、本RAID装置の一般的な読み出し
処理を説明した。本RAID装置の読み出し処理の具体
例を、図10(a)を参照して説明する。なお、以下に
は、次に、ホスト装置が、図2(b)に示すパリティ系
列nおよび(n+1)の順番でデータの読み出しを要求
した場合を例に採り上げる。ここで、図10(a)は、
本RAID装置において、パリティ系列n〜(n+2)
が読み出されるタイミングを時間軸上で示す模式図であ
る。The general read processing of the present RAID device has been described above. A specific example of the reading process of the present RAID device will be described with reference to FIG. Hereinafter, the case where the host device requests data reading in the order of the parity sequences n and (n + 1) shown in FIG. 2B will be described as an example. Here, FIG.
In this RAID device, parity sequence n to (n + 2)
FIG. 5 is a schematic diagram showing the timing at which is read on the time axis.
【0083】制御部7は、ホスト装置からの要求に応答
して、パリティ系列nを読み出すために第2の読み出し
要求を、時刻t10に発行する(図10(a)参照)。そ
の後、制御部7は、パリティ系列nの読み出し処理用
に、図9に示す発行時刻テーブル71を1個作成する
(図8(a)のステップS21)。以下、便宜上、今回
作成された発行時刻テーブル71を、発行時刻テーブル
71n と記す。この発行時刻テーブル71n には、バッ
ファ領域の情報として、「3A1 」、「3B1 」、「3
C1 」、「3D1 」および「3P1 」が記載されるとす
る。さらに、発行時刻テーブル71n には、発行時刻t
ISSUE として、「t10」が記載される。同様にして、パ
リティ系列(n+1)を読み出すための第2の読み出し
要求、およびパリティ系列(n+2)を読み出すための
第2の読み出し要求が、時刻t10よりも後の時刻に発行
される。さらに、パリティ系列(n+1)および(n+
2)の読み出し処理用に、発行時刻テーブル71が1個
ずつ作成される。[0083] The control unit 7 in response to a request from the host device, a second read request to read the parity sequence n, and issues a time t 10 (see FIG. 10 (a)). After that, the control unit 7 creates one issue time table 71 shown in FIG. 9 for the process of reading the parity sequence n (step S21 in FIG. 8A). For convenience, the issue time table 71 which is created this time, referred to as the issue time table 71 n. The issue time table 71 n includes “3A 1 ”, “3B 1 ”, and “3
C 1 ", and" 3D 1 "and" 3-Way 1 "is described. Further, the issue time table 71 n stores the issue time t
“T 10 ” is described as ISSUE . Similarly, the second read request to read the parity sequence (n + 1), and a second read request to read the parity sequence (n + 2) is issued after time t 10. Further, parity sequences (n + 1) and (n +
The issue time tables 71 are created one by one for the read process of 2).
【0084】ディスク5A〜5Dおよび5Pには、パリ
ティ系列n、(n+1)および(n+2)の第2の読み
出し要求がそれぞれ入力される。各ディスク5A〜5D
および5Pは、独立的に読み出し順を決定する。そのた
め、例えば、ディスク5Aは、パリティ系列がn→(n
+2)→(n+1)の順番で読み出しを実行しようとす
る。ディスク5Bでの読み出し順は、(n+2)→n→
(n+1)である。ディスク5Cでの読み出し順は、
(n+2)→(n+1)→nである。ディスク5Dでの
読み出し順は、n→(n+2)→(n+1)である。デ
ィスク5Pでの読み出し順は、n→(n+1)→(n+
2)である。以上の読み出し順に従うと、図10(a)
に示すように、まず、ディスク5Aおよび5Dならびに
5Pが、パリティ系列がnのデータブロックならびに冗
長データを読み出す(ドットの網掛け参照)。また、デ
ィスク5Bおよび5Cが(n+2)のデータブロックを
読み出す(斜線の網掛け部分参照)。To the disks 5A to 5D and 5P, the second read requests of the parity sequences n, (n + 1) and (n + 2) are input, respectively. Each disk 5A-5D
And 5P independently determine the reading order. Therefore, for example, in the disk 5A, the parity sequence is n → (n
+2) → (n + 1) in an order of reading. The reading order on the disk 5B is (n + 2) → n →
(N + 1). The reading order on the disk 5C is as follows.
(N + 2) → (n + 1) → n. The reading order on the disk 5D is n → (n + 2) → (n + 1). The reading order on the disk 5P is n → (n + 1) → (n +
2). According to the above reading order, FIG.
As shown in (1), first, the disks 5A, 5D and 5P read the data block and the redundant data whose parity sequence is n (see the dot shading). Further, the disks 5B and 5C read the (n + 2) data block (see the hatched portion with hatching).
【0085】ここで、注目すべきは、ディスク5Aおよ
び5Pの読み出し処理である。今、時刻t10から時間が
経過して、時刻t11になったとする。この時刻t11は、
t11=t10+TLIMIT であると仮定する。さらに、今、
現在時刻tPRE は時刻t11を過ぎている。したがって、
(tPRE −tISSUE )>TLIMIT が満たされる。そのた
め、制御部7は、発行時刻tISSUE (=t10)と一緒に
記載されたバッファ領域の情報「3A1 」〜、「3
D1 」および「3P1 」を発行時刻テーブル71nから
得る(図9参照)。また、この時刻t11では、ディスク
5Dは、すでに、パリティ系列nのデータブロックを読
み出し終わっている。そのため、制御部7は、バッファ
部3Dから、バッファ領域3D1 を指定する第1の読み
出し完了のみを受け取っている。こうして、制御部7
は、制限時間TLIMIT までに2個以上の第1の読み出し
完了が到着しておらず、ディスク5A〜5Cおよび5P
において、パリティ系列nの読み出しが完了していない
ことを知る(ステップS32)。これによって、制御部
7は、パリティ系列nの読み出しに時間がかかりすぎて
いるディスク5A〜5Cおよび5Pを特定する。制御部
7は、上記のように特定されたディスク5A〜5Cおよ
び5Pに、読み出し中止コマンドを発行して(ステップ
S32)、ディスク5A〜5Cおよび5Pにおけるパリ
ティ系列nの読み出しを中止させる。What should be noted here is the process of reading the disks 5A and 5P. Now, with the passage of time from the time t 10, and as a result, it becomes time t 11. This time t 11 is,
Suppose that t 11 = t 10 + T LIMIT . And now,
The current time t PRE has passed the time t 11 . Therefore,
(T PRE −t ISSUE )> T LIMIT is satisfied. Therefore, the control unit 7, issue time t ISSUE (= t 10) information in the buffer area described with "3A 1" ~ "3
D 1 "and obtain from the issue time table 71 n" 3-Way 1 "(see FIG. 9). Further, in the time t 11, the disk 5D is already finished reading the data blocks of the parity sequence n. Therefore, the control unit 7, from the buffer unit 3D, has received only the first read completion specifying a buffer area 3D 1. Thus, the control unit 7
Indicates that two or more first read completions have not arrived before the time limit T LIMIT and the disks 5A to 5C and 5P
In step S32, it is determined that the reading of the parity sequence n is not completed (step S32). Thereby, the control unit 7 specifies the disks 5A to 5C and 5P for which reading of the parity sequence n takes too long. The control unit 7 issues a read stop command to the disks 5A to 5C and 5P specified as described above (step S32), and stops reading the parity sequence n from the disks 5A to 5C and 5P.
【0086】そのため、ディスク5Aおよび5Pは、時
刻t11の直後に、×印で示すように、パリティ系列nの
読み出しを中止する。したがって、ディスク5Aは、パ
リティ系列(n+2)の読み出しに取りかかる(斜線の
網掛け部分参照)。また、ディスク5Pは、パリティ系
列(n+1)の読み出しに取りかかる(縦線の網掛け部
分参照)。ディスク5Bは、当初、パリティ系列が(n
+2)→n→(n+1)の順番で読み出しを行うと決定
したが、読み出し中止コマンドに応答して、パリティ系
列nの読み出し自体を開始させない。そのため、ディス
ク5Bは、パリティ系列(n+2)の読み出しが終了す
ると、(n+1)の読み出しに取りかかることになる。
また、ディスク5Cも、当初決定した順番をスキップし
て、パリティ系列nのデータブロックを読み出さない。[0086] Therefore, the disc 5A and 5P, immediately after time t 11, as indicated by the × mark, stops the reading of the parity sequence n. Therefore, the disk 5A starts reading the parity sequence (n + 2) (see the hatched portion). The disk 5P starts reading the parity sequence (n + 1) (see the hatched portion of the vertical line). Disk 5B initially has a parity sequence of (n
+2) → n → (n + 1), but it is determined that the read operation of the parity sequence n is not started in response to the read stop command. Therefore, when the reading of the parity sequence (n + 2) is completed, the disk 5B starts reading (n + 1).
The disk 5C also skips the initially determined order and does not read the data block of the parity sequence n.
【0087】以上、本RAID装置の読み出し処理の具
体例を説明した。上述したように、本RAID装置の制
御部7は、同一パリティ系列に属する2個以上のデータ
ブロックを、または同一パリティ系列に属する少なくと
も1個のデータブロックおよび1個の冗長データが、制
限時間TLIMIT 内に読み出されないことを検出する場合
がある。この場合、制御部7は、そのパリティ系列の読
み出しを完了していないディスクを特定する。制御部7
は、特定したディスクすべてに対して読み出し中止コマ
ンドを発行して、当該ディスクの読み出しを中止させ
る。これが、本RAID装置の特徴的な処理である。The above has described a specific example of the reading process of the present RAID device. As described above, the control unit 7 of the present RAID device determines that two or more data blocks belonging to the same parity sequence, or at least one data block and one redundant data belonging to the same parity sequence, It may detect that it is not read within LIMIT . In this case, the control unit 7 specifies a disk for which the reading of the parity sequence has not been completed. Control unit 7
Issues a read stop command to all the specified disks to stop reading from the disks. This is a characteristic process of the present RAID device.
【0088】次に、本RAID装置の特徴を際立たせる
ために、図8(b)のフローチャートを実行しないRA
ID装置による読み出し処理を、図10(b)を参照し
て説明する。ここで、図10(b)は、図8(b)の処
理を実行しないRAID装置において、パリティ系列n
〜(n+2)が読み出されるタイミングを時間軸上で示
している。なお、図10(b)の条件は、RAID装置
がステップS12を実行しない点を除いては、図10
(a)と同じ条件とする。つまり、ホスト装置は、上述
と同じ条件で、パリティ系列n〜(n+2)の順番でデ
ータの読み出しを要求する。Next, in order to highlight the features of the present RAID device, the RA that does not execute the flowchart of FIG.
The reading process by the ID device will be described with reference to FIG. Here, FIG. 10B shows a parity sequence n in a RAID device that does not execute the processing of FIG.
The timing at which .about. (N + 2) are read is shown on the time axis. The conditions in FIG. 10B are the same as those in FIG. 10 except that the RAID device does not execute step S12.
The same conditions as (a) are set. That is, the host device requests data reading in the order of the parity sequences n to (n + 2) under the same conditions as described above.
【0089】制御部7は、パリティ系列nを読み出すた
めに第2の読み出し要求を、時刻t 10に発行する(図1
0(b)参照)。同様にして、パリティ系列(n+1)
を読み出すための第2の読み出し要求、およびパリティ
系列(n+2)を読み出すための第2の読み出し要求
が、時刻t10よりも後の時刻に発行される。The control section 7 reads out the parity sequence n.
In response to the second read request at time t Ten(Figure 1
0 (b)). Similarly, parity sequence (n + 1)
A second read request to read data, and parity
Second read request for reading sequence (n + 2)
At time tTenIssued at a later time.
【0090】各ディスク5A〜5Dおよび5Pは、独立
的に読み出し順を決定する。そのため、例えば、ディス
ク5Aは、パリティ系列がn→(n+2)→(n+1)
の順番で読み出しを実行しようとする。ディスク5Bで
の読み出し順は、(n+2)→n→(n+1)である。
ディスク5Cでの読み出し順は、(n+2)→(n+
1)→nである。ディスク5Dでの読み出し順は、n→
(n+2)→(n+1)である。ディスク5Pでの読み
出し順は、n→(n+1)→(n+2)である。以上の
読み出し順に従うと、図10(b)に示すように、各デ
ィスク5A〜5Dおよび5Pがそれぞれ、パリティ系列
n、(n+1)および(n+2)の読み出しを実行す
る。The reading order of each of the disks 5A to 5D and 5P is determined independently. Therefore, for example, in the disk 5A, the parity sequence is n → (n + 2) → (n + 1)
Attempts to read in the order The reading order on the disk 5B is (n + 2) → n → (n + 1).
The reading order on the disk 5C is (n + 2) → (n +
1) → n. The reading order on the disk 5D is n →
(N + 2) → (n + 1). The reading order on the disk 5P is n → (n + 1) → (n + 2). According to the above reading order, as shown in FIG. 10B, each of the disks 5A to 5D and 5P reads the parity sequences n, (n + 1) and (n + 2), respectively.
【0091】上述したように、RAID装置では図8
(b)の処理が実行されない。そのため、ディスク5A
および5Pにおいて、パリティ系列nの読み出し処理が
長時間(制限時間TLIMIT 以上の時間)かかったとして
も、当該各読み出し処理は中止されない。さらに言え
ば、この場合、ディスク5Aおよび5Pに格納されたパ
リティ系列nのデータブロックは壊れている可能性が極
めて高い。そのため、RAID装置は、パリティ系列n
のデータを組み立ててホスト装置に送信できない。ここ
で注目すべきは、パリティ系列nのデータを送信できな
いにも関わらず、ディスク5Bおよび5Cは、順番がく
ると、パリティ系列nのデータブロックを読み出しを開
始してしまう点である。As described above, the RAID device shown in FIG.
The processing of (b) is not executed. Therefore, disk 5A
In 5P and 5P, even if the reading process of the parity sequence n takes a long time (time longer than the time limit T LIMIT ), the respective reading processes are not stopped. Furthermore, in this case, there is a very high possibility that the data blocks of the parity sequence n stored in the disks 5A and 5P are broken. Therefore, the RAID device uses the parity sequence n
Cannot be assembled and transmitted to the host device. It should be noted here that the disks 5B and 5C start reading data blocks of the parity sequence n when the turn comes, even though the data of the parity sequence n cannot be transmitted.
【0092】以上の図10(a)および(b)を参照す
れば明らかなように、本実施形態に係るRAID装置
は、図8(b)の処理を実行するので、ホスト装置へデ
ータを送信できないことが判明した時点で、そのパリテ
ィ系列の読み出しを全て中止させる。そのため、図10
(a)の例では、ディスク5A、5B、5Cおよび5P
は、図10(b)の場合よりも早く、次のパリティ系列
の読み出しに取りかかることができる。これによって、
ディスク5Aおよび5Pは、無駄な読み出しを続行せず
に中止して、次の読み出しにいちはやく取りかかること
ができる。また、ディスク5Bおよび5Cは、ホスト装
置へのデータ送信が不可能なパリティ系列の読み出しを
スキップして、次のパリティ系列の読み出しを開始す
る。その結果、本RAID装置が単位時間当たりに読み
出せるデータ量は多くなる。これによって、本RAID
装置は、データを連続的にホスト装置に送出することが
できる。その結果、本RAID装置が映像データを取り
扱う場合には、ホスト装置側で再生される映像が途切れ
にくくなる。As is clear from FIGS. 10A and 10B, the RAID apparatus according to the present embodiment executes the processing of FIG. 8B, and transmits data to the host apparatus. When it is determined that the parity sequence cannot be read, all reading of the parity sequence is stopped. Therefore, FIG.
In the example of (a), disks 5A, 5B, 5C and 5P
Can start reading the next parity sequence earlier than in the case of FIG. by this,
The disks 5A and 5P can abort the useless reading without continuing, and can immediately start the next reading. In addition, the disks 5B and 5C skip reading of a parity sequence that cannot transmit data to the host device, and start reading of the next parity sequence. As a result, the amount of data that the RAID device can read per unit time increases. By this, this RAID
The device can continuously send data to the host device. As a result, when the present RAID device handles video data, the video reproduced on the host device side is less likely to be interrupted.
【0093】(第3の実施形態)ところで、従前の実施
形態では、制御部7は、冗長データが読み出されている
場合には、直ちに復元指示をパリティ演算部6に発行し
ていた。しかしながら、パリティ演算部6は多量の演算
を実行するので、パリティ演算の実行回数が多ければ多
いほど、RAID装置には負荷がかかる。そこで、第3
の実施形態では、制御部7が復元指示の発行タイミング
を制御して、パリティ演算の実行回数を減らすようなR
AID装置を実現する。図11は、本実施形態に係るR
AID装置を示すブロック図である。図11のRAID
装置は、図1のそれと比較すると、制御部7が第1のタ
イマ72を含む点で異なる。それ以外の構成は同様であ
るため、図11において、図1に示すものと同様の構成
には、同一の参照符号を付し、その説明を簡素化するこ
ととする。(Third Embodiment) In the previous embodiment, the control unit 7 immediately issues a restoration instruction to the parity operation unit 6 when redundant data is read. However, since the parity operation unit 6 executes a large amount of operations, the more the number of executions of the parity operation, the more the load is placed on the RAID device. Therefore, the third
In the embodiment, the control unit 7 controls the issuance timing of the restoration instruction to reduce the number of executions of the parity operation.
Implement an AID device. FIG.
It is a block diagram showing an AID device. RAID of FIG.
The device differs from that of FIG. 1 in that the control unit 7 includes a first timer 72. Since other configurations are the same, in FIG. 11, the same components as those shown in FIG. 1 are denoted by the same reference numerals, and description thereof will be simplified.
【0094】本RAID装置は、ホスト装置の送信デー
タが到着する度に、第1の実施形態で説明した書き込み
処理を行う。また、ホスト装置は、RAID装置からデ
ータを読み出したい場合がある。かかる場合、ホスト装
置は、データの格納場所を指定する第1の読み出し要求
をRAID装置に送信する。RAID装置は、第1の読
み出し要求の到着に応答して、読み出し処理を開始す
る。この読み出し処理は、第3の実施形態の特徴的な処
理であるため、図12(a)および(b)に示すフロー
チャートを参照して、詳細に説明する。なお、図12
(a)のフローチャートは、図8(a)のそれと同様で
ある。そのため、図12(a)において、図2(a)に
示すものと同様のステップには、同一のステップ番号を
付し、その説明を省略する。図12(a)のフローチャ
ートの実行により、第1の読み出し要求に起因して、第
2の読み出し要求(パリティ系列の読み出し要求)が発
行される(ステップS1およびS2)。さらに、発行さ
れた第2の読み出し要求について、図9の発行時刻テー
ブル71が作成される(ステップS21)。The present RAID device performs the write processing described in the first embodiment every time transmission data from the host device arrives. In some cases, the host device wants to read data from the RAID device. In such a case, the host device transmits a first read request specifying a data storage location to the RAID device. The RAID device starts the read process in response to the arrival of the first read request. This readout process is a characteristic process of the third embodiment, and will be described in detail with reference to the flowcharts shown in FIGS. FIG.
The flowchart of (a) is the same as that of FIG. Therefore, in FIG. 12A, the same steps as those shown in FIG. 2A are denoted by the same step numbers, and description thereof will be omitted. By executing the flowchart of FIG. 12A, a second read request (a read request for a parity sequence) is issued due to the first read request (steps S1 and S2). Further, the issuance time table 71 of FIG. 9 is created for the issued second read request (step S21).
【0095】図12(a)の処理により発行された第2
の読み出し要求は、第1の実施形態で述べたのと同様
に、ディスク5A〜5Dおよび5Pに送信される。各デ
ィスク5A〜5Dおよび5Pは、第2の読み出し要求に
応答して、データブロックおよび冗長データを読み出
す。読み出されたデータブロックおよび冗長データは、
SCSIインタフェイス4A〜4Dおよび4Pを通じ
て、バッファ部3A〜3Dおよび3Pに格納される。バ
ッファ部3A〜3Dおよび3Pは、データブロックおよ
び冗長データを格納し終わると、ディスク5A〜5Dお
よび5Pの読み出しが完了したことを通知するために第
1の読み出し完了を制御部7に送信する。The second command issued by the process shown in FIG.
Is transmitted to the disks 5A to 5D and 5P in the same manner as described in the first embodiment. Each of the disks 5A to 5D and 5P reads data blocks and redundant data in response to the second read request. The read data block and redundant data are
The data is stored in the buffer units 3A to 3D and 3P through the SCSI interfaces 4A to 4D and 4P. After storing the data blocks and the redundant data, the buffer units 3A to 3D and 3P transmit the first read completion to the control unit 7 to notify that the reading of the disks 5A to 5D and 5P is completed.
【0096】制御部7は、4個の第1の読み出し完了が
到着すると(図12(b);ステップS11)、4個目
の第1の読み出し完了が到着した時刻t4th を検出し保
持する(ステップS41)。次に、制御部7は、冗長デ
ータの読み出しが完了しているか否かを判断する(ステ
ップS42)。今、冗長データが読み出し済みでない場
合(つまり、バッファ部3A〜3Dから第1の読み出し
完了を受け取っている場合)を考える。この場合、ディ
スク5Pが実行中の冗長データを読み出しは無駄であ
る。そのため、制御部7は、この無駄な読み出しを中止
させるべく、読み出し中止コマンドを発行する(ステッ
プS12)。さらに、制御部7は、第2の読み出し完了
を発行する(ステップS16)。セレクタ2は、第2の
読み出し完了に応答して、バッファ3A〜3Dからデー
タブロックを取り出して、ホスト装置に送信すべきデー
タを組み立ててる。セレクタ2は、組み立てたデータ
を、ホストインタフェイス1を通じて、ホスト装置に送
信する。When the four first read completions arrive (FIG. 12B; step S11), the control unit 7 detects and holds the time t 4th at which the fourth first read completion arrives. (Step S41). Next, the control unit 7 determines whether the reading of the redundant data has been completed (Step S42). Now, consider a case where the redundant data has not been read (that is, a case where the first read completion has been received from the buffer units 3A to 3D). In this case, reading the redundant data being executed by the disk 5P is useless. Therefore, the control unit 7 issues a read stop command to stop the useless reading (step S12). Further, the control unit 7 issues a second read completion (step S16). The selector 2 extracts the data block from the buffers 3A to 3D in response to the completion of the second read, and assembles data to be transmitted to the host device. The selector 2 transmits the assembled data to the host device via the host interface 1.
【0097】また、ステップS42において、冗長デー
タが読み出し済みである場合(つまり、バッファ3Pか
ら第1の読み出し完了を受け取っている場合)を考え
る。この場合、制御部7は、ステップS43に進み、ま
ず、第1のタイマ72に設定すべきタイムアウト値V
TO1 を算出する。ここで、タイムアウト値VTO1 につい
て詳細に説明する。It is also assumed that, in step S42, the redundant data has already been read (that is, the first read completion has been received from the buffer 3P). In this case, the control unit 7 proceeds to step S43, and firstly, the timeout value V to be set in the first timer 72.
Calculate TO1 . Here, the timeout value V TO1 will be described in detail.
【0098】今、製造されたRAID装置に対し、ある
模擬試験をしてみる。この模擬試験では、1個のディス
ク(5A〜5Dおよび5Pのいずれか)に、制御部7か
ら第2の読み出し要求が繰り返し発行される。すると、
制御部7には、発行された第2の読み出し要求毎に第1
の読み出し完了が到着する。この模擬試験では、第2の
読み出し要求の発行から、第1の読み出し完了の到着ま
での時間tが測定される。この時間tは、1個のディス
クで読み出しに要する時間と同一視できる。ただし、測
定された各時間tはある偏差をもってばらつくので、図
13(a)に示すような確率分布曲線f(t)を得るこ
とができる。図13(a)において、横軸は、時間tを
示す。縦軸は、時間tでディスクの読み出しが完了して
いる確率f(t)である。そのため、第2の読み出し要
求の発行後、時間tまでに第1の読み出し完了が到着し
ている確率P(t)は、次式(3)で表される。Now, a simulation test is performed on the manufactured RAID device. In this simulation test, a second read request is repeatedly issued from the control unit 7 to one disk (one of 5A to 5D and 5P). Then
The control unit 7 receives the first read request for each issued second read request.
Read completion has arrived. In this simulation test, a time t from issuance of the second read request to arrival of completion of the first read is measured. This time t can be equated with the time required for reading from one disk. However, since each measured time t varies with a certain deviation, a probability distribution curve f (t) as shown in FIG. 13A can be obtained. In FIG. 13A, the horizontal axis indicates time t. The vertical axis represents the probability f (t) that the reading of the disk is completed at time t. Therefore, the probability P (t) that the first read completion has arrived by the time t after the issuance of the second read request is expressed by the following equation (3).
【0099】[0099]
【数1】 (Equation 1)
【0100】本RAID装置は5台のディスクを含むの
で、あるパリティ系列の第2の読み出し要求が発行され
た後、時間tまでに、5個の第1の読み出し完了のすべ
てが到着している確率Pall(t)は、次式(4)で示
される。 Pall (t)={P(t)}5 …(4)Since the present RAID device includes five disks, all of the five first read completions have arrived by time t after the second read request of a certain parity sequence is issued. The probability P all (t) is expressed by the following equation (4). P all (t) = {P (t)} 5 … (4)
【0101】今、確率Pall (t)が所定の確率P0 と
なる時間tを、t0 とする。この場合、Pall (t0 )
=P0 となる。ここで、t0 とP0 は、RAID装置の
設計要件に応じて適切な値が選ばれるが、RAID装置
が連続的にデータをホスト装置に送出することを保証で
きる値が選ばれなければならない。言い換えれば、t 0
とP0 は、ホスト装置側で映像が途切れないことを保証
できる値である。以上から分かるように、本RAID装
置では、あるパリティ系列の読み出しは、第2の読み出
し要求の発行時刻から時間t0 までに、確率P0 で完了
することが期待される。この意味で、以下、本実施形態
では、この時間t0 のことを、完了期待値t0 と称す
る。制御部7は、この完了期待値t0 を、タイムアウト
値V TO1 を算出するために予め記憶する。Now, the probability Pall(T) is a predetermined probability P0When
Time t0And In this case, Pall(T0)
= P0Becomes Where t0And P0Is the RAID device
An appropriate value is selected according to the design requirements.
Guarantees that data will be sent continuously to the host device.
Value must be chosen. In other words, t 0
And P0Guarantees that the video is not interrupted on the host device side
It is a possible value. As can be seen from the above, this RAID device
In one embodiment, the reading of a certain parity sequence is performed by the second reading.
Time t from the issue time of the request0By the probability P0Complete with
It is expected to be. In this sense, the present embodiment
Then, this time t0With the expected completion value t0Call
You. The control unit 7 calculates the expected completion value t0The timeout
Value V TO1Is stored in advance in order to calculate.
【0102】さて、現在、制御部7には、4個の第1の
読み出し完了が到着しているので、各ディスク5A〜5
Dおよび5Pでの読み出しの進捗状況は、例えば、図1
3(b)のようになる。図13(b)においては、時刻
tISSUE に発行された第2の読み出し要求に起因して、
各ディスク5A〜5Dおよび5Pで読み出しが開始され
る。そして、時刻t4th の時点で、ディスク5A、5
B、5Dおよび5Pにおいて読み出しがそれぞれ完了し
ている。ここで、あるパリティ系列の読み出しは、時刻
tISSUE を基準として、完了期待値t0 までに、確率P
0 で完了することが期待されるので、ディスク5Cの読
み出しは、図13(a)および(b)に示すように、P
0 の確率で、(tISSUE+t0 )の時刻までに完了して
いることが期待される。Now, since four first read completions have arrived at the control unit 7, each of the disks 5A to 5A
The progress of reading in D and 5P is, for example, as shown in FIG.
3 (b). In FIG. 13B, due to the second read request issued at time t ISSUE ,
Reading is started on each of the disks 5A to 5D and 5P. Then, at the time t 4th , the disks 5A, 5A
The reading has been completed in B, 5D and 5P. Here, the reading of a certain parity sequence, based on the time t ISSUE, to complete the expected value t 0, the probability P
0 , it is expected that the reading will be completed at 0 , so that reading of the disk 5C is performed as shown in FIGS.
With a probability of 0 , it is expected to be completed by the time (t ISSUE + t 0 ).
【0103】そこで、制御部7は、ステップS43にお
いて、まず、ステップS41で得た時刻t4th と、発行
時刻テーブル71内の時刻tISSUE と、予め記憶する完
了期待値t0 とを得る。次に、{t0 −(t4th −t
ISSUE )}の値が算出され、これによって、図13
(b)において、白抜きの矢印で示す時間余裕tMARGIN
を算出することができる。制御部7は、算出された時間
余裕tMARGINの値を、タイムアウト値VTO1 として第1
のタイマ72に設定する(ステップS43)。これによ
って、第1のタイマ72が起動され、カウントダウンを
開始する。Therefore, in step S43, the control unit 7 first obtains the time t 4th obtained in step S41, the time t ISSUE in the issue time table 71, and the expected completion value t 0 stored in advance. Next, Δt 0 − (t 4th −t
ISSUE ) is calculated, whereby the value of FIG.
In (b), the time margin t MARGIN indicated by a white arrow
Can be calculated. The control unit 7 sets the value of the calculated time margin t MARGIN as the timeout value V TO1 to the first
(Step S43). Thus, the first timer 72 is started, and starts counting down.
【0104】次に、制御部7は、残りの第1の読み出し
完了が到着したか否かを判断する(ステップS44)。
言い換えれば、制御部7は、残りのデータブロックの読
み出しが完了し、4個のデータブロックが揃ったか否か
を判断する。今、4個のデータブロックが揃った場合に
ついて、図14(a)を参照して説明する。この場合、
時刻t4th から時間余裕TMARGINがなくなる前(つま
り、時刻(tISSUE +t0 )との間)に、ディスク5A
〜5Dのデータブロックが全て揃う。また、冗長データ
の読み出しも完了しているので、制御部7は、読み出し
中止コマンドを発行する必要はない。そこで、制御部7
は、ステップS44からステップS16に直接進む。そ
して、制御部7は、第2の読み出し完了を発行する(ス
テップS16)。セレクタ2は、第2の読み出し完了に
応答して、バッファ3A〜3Dからデータブロックを取
り出して、ホスト装置に送信すべきデータを組み立てて
る。セレクタ2は、組み立てたデータを、ホストインタ
フェイス1を通じて、ホスト装置に送信する。なお、第
1のタイマ72は必要に応じてカウントダウンを止め
る。Next, the control section 7 determines whether or not the remaining first read completion has arrived (step S44).
In other words, the control unit 7 determines whether reading of the remaining data blocks is completed and four data blocks are completed. Now, a case where four data blocks are completed will be described with reference to FIG. in this case,
Before time margin T MARGIN runs out from time t 4th (that is, before time (t ISSUE + t 0 )), disk 5A
55D data blocks are all prepared. Further, since the reading of the redundant data has been completed, the control unit 7 does not need to issue the read stop command. Therefore, the control unit 7
Proceeds directly from step S44 to step S16. Then, the control unit 7 issues a second read completion (step S16). The selector 2 extracts the data block from the buffers 3A to 3D in response to the completion of the second read, and assembles data to be transmitted to the host device. The selector 2 transmits the assembled data to the host device via the host interface 1. The first timer 72 stops counting down as necessary.
【0105】一方、ステップS44において、残りの第
1の読み出し完了が到着していない場合を説明する。こ
の場合、制御部7は、第1のタイマ72がタイムアウト
したか否かを判断する(ステップS45)。つまり、制
御部7は、時刻t4th から、時間余裕TMARGINが経過し
たか否かを判断する。制御部7は、第1のタイマ72が
タイムアウトしていない場合には、ステップS44に戻
り、残りの第1の読み出し完了が到着したか否かを再度
判断する。一方、第1のタイマ72がタイムアウトした
場合を、図14(b)を参照して説明する。この場合、
制御部7は、時刻t4th から、時間余裕TMARGINが経過
するまでに、残り1個のデータブロックの読み出しが完
了しなかったことが分かる。図14(b)の例では、デ
ィスク5Cがまだ読み出しの途中である。時間余裕T
MARGINの経過により、制御部7は、残りの第1の読み出
し要求をこれ以上待っていると、RAID装置がデータ
を連続的に送出できないと判断する。そこで、制御部7
は、図12のステップS45からステップS14へと進
み、時刻(tIS SUE +t0 )の直後に、復元指示を発行
して、パリティ演算の実行をパリティ演算部6に要求す
る(ステップS14)。パリティ演算部6は、パリティ
演算が終了すると、その旨を示す復元完了を発行して、
制御部7に送信する。制御部7は、復元完了を受け取る
と(ステップ15)、4個のデータブロックが揃い、ホ
スト装置から要求されたデータを送信可能な状態になっ
たと判断する。次に、制御部7は、残りのディスク装置
での無駄な読み出しを中止させるべく、読み出し中止コ
マンドを発行する(ステップS12)。さらに、制御部
7は、第2の読み出し完了を発行する(ステップS1
6)。セレクタ2は、第2の読み出し完了に応答して、
バッファ3A〜3Dからデータブロックを取り出して、
ホスト装置に送信すべきデータを組み立ててる。セレク
タ2は、組み立てたデータを、ホストインタフェイス1
を通じて、ホスト装置に送信する。On the other hand, a case where the remaining first read completion has not arrived in step S44 will be described. In this case, the control unit 7 determines whether the first timer 72 has timed out (step S45). That is, the control unit 7 determines whether or not the time margin T MARGIN has elapsed from the time t 4th . If the first timer 72 has not timed out, the control unit 7 returns to step S44 and determines again whether or not the remaining first read completion has arrived. On the other hand, the case where the first timer 72 times out will be described with reference to FIG. in this case,
The control unit 7 knows that reading of the remaining one data block has not been completed before the time margin T MARGIN elapses from the time t 4th . In the example of FIG. 14B, the disk 5C is still being read. Time margin T
With the progress of MARGIN , the control unit 7 determines that the RAID device cannot continuously transmit data when waiting for the remaining first read request any more. Therefore, the control unit 7
Proceeds from step S45 in FIG. 12 to step S14, issues a restoration instruction immediately after the time (t IS SUE + t 0 ), and requests the parity operation unit 6 to execute the parity operation (step S14). When the parity calculation is completed, the parity calculation unit 6 issues a restoration completion indicating that, and
It is transmitted to the control unit 7. When receiving the completion of the restoration (step 15), the control unit 7 determines that the four data blocks are completed and the data requested by the host device can be transmitted. Next, the control unit 7 issues a read stop command to stop useless reading in the remaining disk devices (step S12). Further, the control unit 7 issues a second read completion (step S1).
6). The selector 2 responds to the completion of the second read,
Retrieve data blocks from buffers 3A-3D,
The data to be transmitted to the host device is assembled. The selector 2 transfers the assembled data to the host interface 1
To the host device.
【0106】以上説明したように、本実施形態のRAI
D装置は、第1の実施形態のそれとは異なり、4個目の
第1の読み出し完了が到着した直後に、読み出されてい
ないデータブロックを復元しない。つまり、本RAID
装置は、4個の第1の読み出し完了が到着した後、上述
の時間余裕TMARGINだけ、残りのデータブロックの読み
出しが完了することを待機する。この時間余裕TMARGIN
がなくなった時点で初めて、パリティ演算部6に復元指
示が発行される。この時間余裕TMARGIN内に、残りのデ
ータブロックが読み出された場合には、4個のデータブ
ロックが揃うことになる。この場合、RAID装置は、
パリティ演算を実行することなく、ホスト装置にデータ
を送信することができる。ここで注意を要するのは、時
間余裕T MARGINは、図13(a)を参照して説明したよ
うに、ホスト装置側で映像が途切れないことを保証でき
る値t0 に基づいて算出されている。さらに、時間余裕
T MARGINは、残りのデータブロックの読み出し完了が期
待される時間を示す。したがって、大抵の場合、4個の
データブロックは、時間余裕TMARGIN内にバッファ部3
A〜3D内に揃う。本RAID装置では、多大な演算量
を要するパリティ演算をほとんど実行する必要がなく、
その実行回数を、必要最小限に留めることができる。ま
た、4個目の第1の読み出し完了が到着した時に、冗長
データが読み出されていない確率は1/5であるため、
1/5の確率で(つまり、5セットのパリティ系列を読
み出す内の1回は)パリティ演算を実行することなく、
いちはやくデータをホスト装置に送信することができ
る。As described above, the RAI according to the present embodiment is
The D device is different from that of the first embodiment in that the fourth device
Immediately after the first read completion arrives,
Do not restore missing data blocks. In other words, this RAID
The device may return to the above after four first read completions have arrived.
Time margin TMARGINJust read the rest of the data block
Wait for delivery to complete. This time margin TMARGIN
For the first time when there is no more
An indication is issued. This time margin TMARGINWithin the remaining
Data blocks are read, four data blocks are read.
The locks will be aligned. In this case, the RAID device
Data can be stored in the host device without performing parity operation.
Can be sent. It is important to note that
Room T MARGINHas been described with reference to FIG.
In this way, it is possible to guarantee that the video is not interrupted on the host device side.
Value t0 Is calculated based on More time
T MARGINMeans that reading of the remaining data blocks is
Indicates the waiting time. Therefore, in most cases, four
The data block has time margin TMARGINInside buffer part 3
A to 3D. This RAID device requires a large amount of computation
Hardly needs to perform parity operations that require
The number of times of execution can be minimized. Ma
When a fourth first read completion arrives, a redundant
Since the probability that data has not been read is 1/5,
With a 1/5 probability (that is, reading 5 sets of parity sequences)
Without performing a parity operation)
Data can be sent to the host device
You.
【0107】(第4の実施形態)ところで、従前の実施
形態では、制御部7は、パリティ演算部6の現在の状況
を意識せずに、復元指示を発行していた。そのため、パ
リティ演算部6がパリティ演算を実行している最中に、
制御部7は、次の復元指示を当該パリティ演算部6に発
行してしまう場合がある。しかしながら、パリティ演算
部6は、ある時間帯に1つの復元指示しか処理できず、
他の復元指示を受け付けることができない。そこで、第
4の実施形態では、制御部7が復元指示の発行タイミン
グを制御して、パリティ演算が実行されている最中に、
新たな復元指示が発行されないRAID装置を実現す
る。(Fourth Embodiment) By the way, in the previous embodiment, the control unit 7 issues a restoration instruction without being aware of the current state of the parity operation unit 6. Therefore, while the parity operation unit 6 is executing the parity operation,
The control unit 7 may issue the next restoration instruction to the parity operation unit 6 in some cases. However, the parity calculation unit 6 can process only one restoration instruction in a certain time zone,
Other restoration instructions cannot be accepted. Therefore, in the fourth embodiment, the control unit 7 controls the issuance timing of the restoration instruction, and during the execution of the parity operation,
A RAID device in which a new restoration instruction is not issued is realized.
【0108】図15は、本発明の第4の実施形態に係る
RAID装置を示すブロック図である。図15のRAI
D装置は、図1のそれと比較すると、制御部7が予約テ
ーブル73と第2のタイマとをさらに含む点で異なる。
それ以外の構成は同様であるため、図15において、図
1に示すものと同様の構成には、同一の参照符号を付
し、その説明を簡素化することとする。FIG. 15 is a block diagram showing a RAID device according to the fourth embodiment of the present invention. RAI of FIG.
The D apparatus is different from the apparatus in FIG. 1 in that the control unit 7 further includes a reservation table 73 and a second timer.
Since other configurations are the same, in FIG. 15, the same components as those shown in FIG. 1 are denoted by the same reference numerals, and description thereof will be simplified.
【0109】本RAID装置は、ホスト装置の送信デー
タが到着する度に、第1の実施形態で説明した書き込み
処理を行う。また、ホスト装置は、RAID装置からデ
ータを読み出したい場合がある。かかる場合、ホスト装
置は、データの格納場所を指定する第1の読み出し要求
をRAID装置に送信する。RAID装置は、第1の読
み出し要求の到着に応答して、読み出し処理を開始す
る。この読み出し処理は、第4の実施形態の特徴的な処
理であるため、図面を参照して、詳細に説明する。The present RAID device performs the write processing described in the first embodiment every time transmission data from the host device arrives. In some cases, the host device wants to read data from the RAID device. In such a case, the host device transmits a first read request specifying a data storage location to the RAID device. The RAID device starts the read process in response to the arrival of the first read request. This reading process is a characteristic process of the fourth embodiment, and will be described in detail with reference to the drawings.
【0110】図12(a)に示したように、第1の読み
出し要求に起因して、第2の読み出し要求(パリティ系
列の読み出し要求)が発行される(ステップS1および
S2)。さらに、発行された第2の読み出し要求につい
て、図9の発行時刻テーブル71が作成される(ステッ
プS21)。As shown in FIG. 12A, the second read request (parity sequence read request) is issued in response to the first read request (steps S1 and S2). Further, the issuance time table 71 of FIG. 9 is created for the issued second read request (step S21).
【0111】図12(a)の処理により発行された第2
の読み出し要求は、第1の実施形態で述べたように、デ
ィスク5A〜5Dおよび5Pに送信される。各ディスク
5A〜5Dおよび5Pは、第2の読み出し要求に応答し
て、データブロックおよび冗長データを読み出す。読み
出されたデータブロックおよび冗長データは、SCSI
インタフェイス4A〜4Dおよび4Pを通じて、バッフ
ァ部3A〜3Dおよび3Pに格納される。バッファ部3
A〜3Dおよび3Pは、データブロックおよび冗長デー
タを格納し終わると、ディスク5A〜5Dおよび5Pの
読み出しが完了したことを通知するために第1の読み出
し完了を制御部7に送信する。The second command issued by the process shown in FIG.
Is transmitted to the disks 5A to 5D and 5P as described in the first embodiment. Each of the disks 5A to 5D and 5P reads data blocks and redundant data in response to the second read request. The read data block and redundant data are stored in the SCSI
The data is stored in the buffer units 3A to 3D and 3P through the interfaces 4A to 4D and 4P. Buffer unit 3
When the data blocks and the redundant data have been stored, the A to 3D and 3P transmit the first read completion to the control unit 7 to notify that the reading of the disks 5A to 5D and 5P has been completed.
【0112】また、制御部7は、図16のフローチャー
トに示される処理手順を定期的に行う。図16のフロー
チャートは、図12(b)のそれと部分的に同様のステ
ップを含む。そのため、図16において、図12(b)
に示すものと同様のステップには、同一のステップ番号
を付し、その説明を省略する。制御部7は、4個の第1
の読み出し完了が到着すると(図16のステップS1
1)、到着時刻t4th を保持する(ステップS41)。
次に、制御部7は、冗長データが読み出されているか否
かを判断する(ステップS42)。今、冗長データが読
み出し済みでない場合、第4の実施形態で述べたよう
に、制御部7は、ディスク5Pでの無駄な読み出しを中
止させ(ステップS12)、第2の読み出し完了を発行
する(ステップS16)。その結果、セレクタ2により
組み立てられたデータが、ホストインタフェイス1を通
じて、ホスト装置に送信される。The control unit 7 periodically performs the processing procedure shown in the flowchart of FIG. The flowchart in FIG. 16 includes steps that are partially similar to those in FIG. Therefore, in FIG. 16, FIG.
Are given the same step numbers, and description thereof is omitted. The control unit 7 has four first
When the read completion of the data has arrived (step S1 in FIG.
1) The arrival time t 4th is held (step S41).
Next, the controller 7 determines whether or not redundant data has been read (step S42). If the redundant data has not been read out yet, as described in the fourth embodiment, the control unit 7 stops useless reading on the disk 5P (step S12) and issues a second reading completion (step S12). Step S16). As a result, the data assembled by the selector 2 is transmitted to the host device via the host interface 1.
【0113】また、ステップS42において、冗長デー
タが読み出し済みである場合を説明する。この場合、パ
リティ演算部6がパリティ演算を実行する可能性があ
る。そのため、制御部7は、予約テーブル73に必要な
情報を書き込む(ステップS51)。予約テーブル73
には、図17に示すように、必要な情報として、利用時
間帯とバッファ領域とが書き込まれる。利用時間帯は、
制御部7がパリティ演算部6を利用する時間帯を示す。
バッファ領域は、パリティ演算部6が使用するデータブ
ロックおよび冗長データがどこに格納されているかを示
す。制御部7は、ステップS11で得た第1の読み出し
完了に含まれるバッファ領域の情報を、予約テーブル7
3に書き込む。The case where the redundant data has already been read in step S42 will be described. In this case, there is a possibility that the parity operation unit 6 executes the parity operation. Therefore, the control unit 7 writes necessary information into the reservation table 73 (step S51). Reservation table 73
As shown in FIG. 17, the usage time zone and the buffer area are written as necessary information. The use time zone is
The time zone in which the control unit 7 uses the parity operation unit 6 is shown.
The buffer area indicates where data blocks and redundant data used by the parity operation unit 6 are stored. The control unit 7 stores the information of the buffer area included in the first read completion obtained in step S11 in the reservation table 7
Write to 3.
【0114】ステップS51により、予約テーブル73
には、パリティ演算がいつ開始され、いつ終了するかが
記載される。そのため、制御部7は、パリティ演算の開
始時刻tS と4個目の到着時刻(現在時刻)t4th とか
ら、タイムアウト値VTO2 (=t4th −tS )を算出す
る。制御部7は、算出されたタイムアウト値VTO2 をタ
イマ74に設定する(ステップS52)。これによっ
て、タイマ74が起動され、カウントダウンを開始す
る。タイマ74がタイムアウトした時点で、パリティ演
算部6では前回のパリティ演算が完了し、次のパリティ
演算を受付け可能な状態になる。つまり、タイマ74が
タイムアウトした時、制御部7は復元指示を発行するこ
とができる。In step S51, the reservation table 73
Describes when the parity operation starts and ends. Therefore, the control unit 7 calculates a timeout value V TO2 (= t 4th −t S ) from the parity calculation start time t S and the fourth arrival time (current time) t 4th . The control unit 7 sets the calculated timeout value V TO2 in the timer 74 (step S52). As a result, the timer 74 is activated and starts counting down. When the timer 74 times out, the parity operation unit 6 completes the previous parity operation and is ready to accept the next parity operation. That is, when the timer 74 times out, the control unit 7 can issue a restoration instruction.
【0115】次に、制御部7は、残りの第1の読み出し
完了が到着したか否かを判断する(ステップS44)。
まず、残りの第1の読み出し完了が到着した場合を説明
する。この場合、4個のデータブロックは、タイマ74
がタイムアウトする前に、全て揃うことになる。したが
って、パリティ演算を実行する必要はない。しかし、パ
リティ演算部6の利用時間は予約テーブル73に書き込
まれている。そこで、制御部7は、ステップS51で記
載した利用時間帯とバッファ領域との情報を削除する
(ステップS53)。さらに、冗長データの読み出しも
完了しているので、制御部7は、読み出し中止コマンド
を発行する必要はない。そのため、制御部7は、第2の
読み出し完了を発行する(ステップS16)。その結
果、セレクタ2により組み立てられたデータが、ホスト
インタフェイス1を通じて、ホスト装置に送信される。
なお、タイマ74は必要に応じてカウントダウンを止め
る。Next, the control section 7 determines whether or not the remaining first read completion has arrived (step S44).
First, a case where the remaining first read completion has arrived will be described. In this case, the four data blocks are
Before the timeout occurs, everything will be ready. Therefore, there is no need to perform a parity operation. However, the use time of the parity operation unit 6 is written in the reservation table 73. Therefore, the control unit 7 deletes the information of the use time zone and the buffer area described in step S51 (step S53). Further, since the reading of the redundant data has been completed, the control unit 7 does not need to issue the read stop command. Therefore, the control unit 7 issues a second read completion (step S16). As a result, the data assembled by the selector 2 is transmitted to the host device via the host interface 1.
Note that the timer 74 stops counting down as necessary.
【0116】次に、ステップS44において、残りの第
1の読み出し完了が到着していない場合を説明する。こ
の場合、制御部7は、タイマ74がタイムアウトしたか
否かを判断する(ステップS54)。つまり、制御部7
は、時刻t4th から、タイムアウト値VTO2 が経過した
か否かを判断する。制御部7は、タイマ74がタイムア
ウトしていない場合には、ステップS44に戻り、残り
の第1の読み出し完了が到着したか否かを再度判断す
る。Next, a case where the remaining first read completion has not arrived in step S44 will be described. In this case, the controller 7 determines whether the timer 74 has timed out (step S54). That is, the control unit 7
Determines whether the timeout value V TO2 has elapsed from the time t 4th . When the timer 74 has not timed out, the control unit 7 returns to step S44 and determines again whether or not the remaining first read completion has arrived.
【0117】一方、タイマ74がタイムアウトした場
合、制御部7は、時刻t4th から、タイムアウト値V
TO2 が経過するまでに、残り1個のデータブロックの読
み出しが完了しなかったこと、および、パリティ演算部
6が利用可能な時間帯になったことが分かる。そのた
め、制御部7は、ステップS54からステップS12へ
と進み、残りのディスクでの無駄な読み出しを中止させ
る(ステップS12)。さらに、制御部7は、復元指示
を発行して、パリティ演算の実行をパリティ演算部6に
要求する(ステップS14)。パリティ演算部6は、パ
リティ演算が終了すると、その旨を示す復元完了を発行
して、制御部7に送信する。制御部7は、復元完了を受
け取ると(ステップ15)、ステップS51で記載した
利用時間帯とバッファ領域の情報が不要になったことが
分かる。そこで、制御部7は、不要になった情報を予約
テーブル73から削除する(ステップS53)。[0117] On the other hand, if the timer 74 has timed out, the control unit 7, from the time t 4th, time-out value V
It can be seen that the reading of the remaining one data block has not been completed by the time TO2 has elapsed, and that the time zone in which the parity operation unit 6 can be used has been reached. Therefore, the control unit 7 proceeds from step S54 to step S12, and stops useless reading on the remaining disks (step S12). Further, the control unit 7 issues a restoration instruction and requests the parity operation unit 6 to execute a parity operation (step S14). When the parity calculation is completed, the parity calculation unit 6 issues a restoration completion indicating that, and transmits the restoration completion to the control unit 7. When receiving the completion of restoration (step 15), the control unit 7 knows that the information on the use time zone and the buffer area described in step S51 is no longer necessary. Therefore, the control unit 7 deletes unnecessary information from the reservation table 73 (step S53).
【0118】さらに、制御部7は、復元完了の到着によ
り、4個のデータブロックが揃い、ホスト装置から要求
されたデータを送信可能な状態になったと判断する。次
に、制御部7は、第2の読み出し完了を発行する(ステ
ップS16)。その結果、セレクタ2により組み立てら
れたデータは、ホストインタフェイス1を通じて、ホス
ト装置に送信される。Further, the control unit 7 determines that the four data blocks have been collected upon arrival of the completion of restoration, and that the data requested by the host device can be transmitted. Next, the control unit 7 issues a second read completion (step S16). As a result, the data assembled by the selector 2 is transmitted to the host device via the host interface 1.
【0119】以上、本RAID装置の一般的な読み出し
処理を説明した。本RAID装置の読み出し処理の具体
例を、図18を参照して説明する。なお、以下には、次
に、ホスト装置が、図3(b)に示すパリティ系列n、
(n+2)および(n+4)の順番でデータの読み出し
を要求した場合を例に採り上げる。ここで、図18は、
本RAID装置において、パリティ系列n、(n+2)
および(n+4)が読み出されるタイミング、およびパ
リティ演算部6の予約状況を時間軸上で示す模式図であ
る。The general read processing of the present RAID device has been described above. A specific example of the reading process of the present RAID device will be described with reference to FIG. Note that, in the following, the host device determines whether the parity sequence n shown in FIG.
A case where data reading is requested in the order of (n + 2) and (n + 4) will be described as an example. Here, FIG.
In this RAID device, parity sequence n, (n + 2)
FIG. 9 is a schematic diagram showing the timing at which (n + 4) and (n + 4) are read and the reservation status of the parity operation unit 6 on the time axis.
【0120】ディスク5A〜5Dおよび5Pには、パリ
ティ系列n、(n+2)および(n+4)の第2の読み
出し要求がそれぞれ入力される。今、説明を簡素化する
ため、各ディスク5A〜5Dおよび5Pは、第2の読み
出し要求の到着順で、パリティ系列を読み出すと仮定す
る。また、前提条件として、現在実行されているパリテ
ィ演算は時刻t12で完了すると、予約テーブル73に記
載されている(左下がりの斜線部分参照)。以上の条件
の下、各ディスク5A〜5Dおよび5Pは、まず、パリ
ティ系列nの読み出しをそれぞれ実行する。図18の例
では、ディスク5Bが時刻t12に読み出しを完了するの
で、制御部7には、4個目の第1の読み出し完了が時刻
t12に到着する(図16のステップS11)。制御部7
は、時刻t12を到着時刻t4t h として記憶する(ステッ
プS41)。また、現在、ディスク5Pは、冗長データ
を読み出し済みであるから、制御部7は、ステップS5
1を実行して、図17の予約テーブル73に、利用時間
帯として時刻t13〜t14を書き込む。さらに、制御部7
は、バッファ領域として、3Ai 、3Bi 、3Ci およ
び3Pi を書き込む(ステップS51)。さらに、制御
部7は、タイムアウト値VTO2 (T1 =t13−t12)を
算出して、当該タイムアウト値VTO2 を第2のタイマ7
4に設定する(ステップS52)。The disks 5A to 5D and 5P receive the second read requests for the parity sequences n, (n + 2) and (n + 4), respectively. Now, to simplify the description, it is assumed that each of the disks 5A to 5D and 5P reads the parity sequence in the order of arrival of the second read request. Further, as a precondition, the parity operation currently being executed is completed at time t 12, (see the hatched portion of the left edge) listed in the reservation table 73. Under the above conditions, each of the disks 5A to 5D and 5P first reads the parity sequence n. In the example of FIG. 18, since the disk 5B has finished reading the time t 12, the control unit 7, first read a complete fourth one arrives at time t 12 (step S11 in FIG. 16). Control unit 7
Stores the time t 12 as the arrival time t 4t h (step S41). Since the disk 5P has already read the redundant data, the control unit 7 proceeds to step S5.
Run 1, the reservation table 73 in FIG. 17, and writes the time t 13 ~t 14 as use time zone. Further, the control unit 7
Writes 3A i , 3B i , 3C i and 3P i as buffer areas (step S51). Further, the control unit 7 calculates a timeout value V TO2 (T 1 = t 13 −t 12 ) and sets the timeout value V TO2 to the second timer 7.
4 (step S52).
【0121】時刻t12の時点では、ディスク5Dがデー
タブロックの読み出しを続行している。しかし、この読
み出しは時刻t13までに完了しないと仮定する。この仮
定下では、制御部7は、時刻t13に第2のタイマ74が
タイムアウトすると、ディスク5Dの読み出しを中止さ
せ、復元指示をパリティ演算部6に発行する(ステップ
S12およびS14)。パリティ演算部6は、時刻t13
〜t14の間に、ディスク5Dに記録されているデータブ
ロックを復元する。したがって、制御部7には、時刻t
14に、パリティ演算部6からの復元完了が到着するので
(ステップS15)、予約テーブル73から、利用時間
帯t13〜t14ならびに、バッファ領域3Ai 、3Bi 、
3Ci および3Pi を削除する(ステップS53)。そ
の後、制御部7は、第2の読み出し完了を発行する(ス
テップS16)。[0121] at time t 12, the disk 5D is to continue with the reading of the data block. However, it is assumed that this reading is not completed until the time t 13. This assumption under the control unit 7, the second timer 74 times out at time t 13, stops the reading of the disk 5D, issues a restore instruction to the parity operation unit 6 (steps S12 and S14). The parity calculator 6 calculates the time t 13
During ~t 14, restores the data blocks recorded on the disc 5D. Therefore, the control unit 7 stores the time t
At 14 , the completion of restoration from the parity calculation unit 6 arrives (step S 15), and therefore, from the reservation table 73, the use time zones t 13 to t 14 and the buffer areas 3A i , 3B i ,
3C i and 3P i are deleted (step S53). Thereafter, the control unit 7 issues a second read completion (step S16).
【0122】また、各ディスク5A〜5Dおよび5P
は、パリティ系列nの読み出し終了後、パリティ系列
(n+2)の読み出しをそれぞれ開始する。図18の例
では、ディスク5Dからの第1の読み出し完了が時刻t
15に制御部7に到着する。制御部7は、時刻t15を到着
時刻t4th として記憶する(ステップS11およびS4
1)。また、時刻t15では、冗長データは読み出し済み
であるから、制御部7は、予約テーブル73に、利用時
間帯t15〜t18ならびにバッファ領域3Ai 、3C i 、
3Di および3Pi の識別情報を書き込む(ステップS
51)。ここで、時刻t15は時刻t14よりも後である点
に注意を要する。つまり、時刻t15では、パリティ演算
部6はパリティ演算を行っていない。そのため、タイム
アウト値VTO 2 は「0」であり(ステップS52)、制
御部7は、即座に、現在続行中のディスク5Bの読み出
しを中止させ、復元指示をパリティ演算部6に発行する
(ステップS12およびS14)。以降の処理の説明
は、上述から明らかであるため省略する。Each of the disks 5A to 5D and 5P
Is the parity sequence after the completion of reading the parity sequence n.
The reading of (n + 2) is started. Example of FIG.
Then, the completion of the first read from the disk 5D is determined at time t
FifteenArrives at the control unit 7. The control unit 7 determines the time tFifteenArrive
Time t4th(Steps S11 and S4
1). Time tFifteenIn, redundant data has been read
Therefore, the control unit 7 stores in the reservation table 73
Interzone tFifteen~ T18And buffer area 3Ai, 3C i,
3DiAnd 3PiIs written (step S
51). Here, time tFifteenIs the time t14Later than
Need attention. That is, the time tFifteenNow, the parity operation
The unit 6 does not perform the parity operation. Therefore, time
Out value VTO TwoIs "0" (step S52),
The control unit 7 immediately reads the disk 5B that is currently continuing.
And a restoration instruction is issued to the parity operation unit 6.
(Steps S12 and S14). Explanation of subsequent processing
Is omitted from the above because it is clear from the above.
【0123】さらに、各ディスク5A〜5Dおよび5P
は、パリティ系列(n+2)の読み出し終了後、パリテ
ィ系列(n+4)の読み出しをそれぞれ開始する。ディ
スク5Dからの第1の読み出し完了が時刻t16に(時刻
t18よりも前に)、制御部7に到着する。また、時刻t
16では、冗長データは読み出し済みであるから、制御部
7は、予約テーブル73に、利用時間帯として時刻t18
〜t19を書き込む。さらに、制御部7は、バッファ領域
の識別情報として、3Ai 、3Ci 、3Di および3P
i を書き込む。さらに、制御部7は、タイムアウト値V
TO2 (T2 =t 18−t16)を算出して、当該タイムアウ
ト値VTO2 を第2のタイマ74に設定する(ステップS
52)。Further, each of the disks 5A to 5D and 5P
After the completion of the reading of the parity sequence (n + 2),
The reading of the key sequence (n + 4) is started. Day
Completion of the first read from the disk 5D occurs at time t16To (time
t18Before) the control unit 7. Time t
16Since the redundant data has already been read,
7 is the time t in the reservation table 73 as the use time zone.18
~ T19Write. Further, the control unit 7 controls the buffer area
3A as identification information ofi, 3Ci, 3DiAnd 3P
iWrite. Further, the control unit 7 sets the timeout value V
TO2(TTwo= T 18-T16) To calculate the timeout
G value VTO2Is set in the second timer 74 (step S
52).
【0124】しかし、ここで注意を要するのは、ディス
ク5Bからの第1の読み出し完了は、時刻t17(時刻t
18よりも前)に制御部7に到着する点である。つまり、
この第1の読み出し完了は、第2のタイマ74がタイム
アウトする前に制御部7に到着する。そのため、制御部
7は復元指示を発行しないので、パリティ演算部7は、
時刻t18〜t16に実行する予定であったパリティ演算を
実行しない(点線の×印参照)。そこで、制御部7は、
予約テーブル73から、利用時間帯t18〜t19ならび
に、バッファ領域の識別情報としての3Ai 、3Bi 、
3Ci および3P i を削除して(ステップS53)、第
2の読み出し完了を発行する(ステップS16)。However, what should be noted here is that
Completion of the first read from the clock 5B is performed at time t17(Time t
18Before reaching the control unit 7). That is,
Completion of the first reading is performed by the second timer 74.
Arrives at the control unit 7 before going out. Therefore, the control unit
7 does not issue the restoration instruction, the parity operation unit 7
Time t18~ T16The parity operation that was to be executed
Do not execute (refer to the dotted line x). Therefore, the control unit 7
From the reservation table 73, use time zone t18~ T19Line
3A as identification information of the buffer areai, 3Bi,
3CiAnd 3P iIs deleted (step S53), and the
Then, a read completion of No. 2 is issued (step S16).
【0125】以上説明したように、本実施形態のRAI
D装置は、第1の実施形態のそれとは異なり、4個の第
1の読み出し完了が到着すると、パリティ演算部6の利
用時間帯を予約テーブル73に書き込む。この利用時間
帯の情報としては、現在実行中のパリティ演算が終了後
の時間帯が書き込まれる。さらに、制御部7は、この利
用時間帯が来ると、復元指示をする。そのため、制御部
7は、パリティ演算の実行中にパリティ演算部6に復元
指示を発行しない。これによって、RAID装置に過度
の負荷がかかることを防止することができる。また、制
御部7は、第2のタイマ74がタイムアウトするまで
に、残りの1個のデータブロックが到着すると、復元指
示を発行せずに、4個のデータブロックからデータを組
み立てて送信するように第2の読み出し完了を発行す
る。これによって、本RAID装置は、多大な演算量を
要するパリティ演算の実行回数を、必要最小限に留める
ことができる。As described above, the RAI according to the present embodiment is
Unlike the first embodiment, the D device writes the use time zone of the parity operation unit 6 to the reservation table 73 when four first read completions arrive. As the information on the use time zone, the time zone after the end of the currently executed parity calculation is written. Further, when the use time zone comes, the control unit 7 issues a restoration instruction. Therefore, the control unit 7 does not issue a restoration instruction to the parity operation unit 6 during execution of the parity operation. This can prevent an excessive load from being applied to the RAID device. When the remaining one data block arrives before the second timer 74 times out, the control unit 7 assembles and transmits the data from the four data blocks without issuing a restoration instruction. Issue a second read completion. As a result, the present RAID device can minimize the number of executions of the parity operation requiring a large amount of operation to a necessary minimum.
【0126】(第5の実施形態)図19は、本発明の第
5の実施形態に係るRAID装置を示すブロック図であ
る。図19のRAID装置は、図1のそれと比較する
と、制御部7が失敗ブロックテーブル75をさらに含む
点で異なる。それ以外の構成は同様であるため、図19
において、図1に示すものと同様の構成には、同一の参
照符号を付し、その説明を簡素化することとする。ただ
し、本RAID装置は、発行時刻テーブル71を必須の
構成としない点を注釈しておく。(Fifth Embodiment) FIG. 19 is a block diagram showing a RAID device according to a fifth embodiment of the present invention. The RAID device of FIG. 19 differs from that of FIG. 1 in that the control unit 7 further includes a failed block table 75. Since other configurations are the same, FIG.
In the figure, the same components as those shown in FIG. 1 are denoted by the same reference numerals, and the description thereof will be simplified. However, it should be noted that the present RAID device does not make the issue time table 71 an essential component.
【0127】なお、本実施形態のディスク5A〜5Dお
よび5Pには、図3に示されるようにデータブロックと
冗長データとが記録されない点で注意を要する。つま
り、本RAID装置は、典型的にはレベル5に基づいて
構築される。レベル5は、冗長データは、固定的なディ
スクに格納されずに(図3参照)、図20に示すように
RAID装置が含む各ディスク5A〜5Dおよび5Pに
分散的に格納される。It should be noted that data blocks and redundant data are not recorded on the disks 5A to 5D and 5P of this embodiment as shown in FIG. That is, the present RAID device is typically constructed based on level 5. At the level 5, the redundant data is not stored on a fixed disk (see FIG. 3), but is distributed and stored on the disks 5A to 5D and 5P included in the RAID device as shown in FIG.
【0128】また、ホスト装置は、RAID装置からデ
ータを読み出したい場合がある。かかる場合、ホスト装
置は、第1の読み出し要求をRAID装置に送信する。
さらに、第1の読み出し要求により、データの格納場所
が指定される。RAID装置は、第1の読み出し要求の
到着に応答して、読み出し処理を開始する。この読み出
し処理は、本願の特徴的な処理であるため、図21に示
すフローチャートを参照して、詳細に説明する。ただ
し、図21は、図2(a)と比較して部分的に同様のス
テップを含む。そのため、図21において、図2(a)
のステップに相当するものには同一のステップ番号を付
し、その説明を簡素化する。第1の読み出し要求は、ホ
ストインターフェイス1を通じて制御部7に入力される
(ステップS1)。制御部7は、第1の読み出し要求か
ら、データの格納場所を得る。制御部7は、データの格
納場所に基づいて、当該データに基づいて生成されたパ
リティ系列(4個のデータブロックおよび冗長データ)
の格納場所を特定する。ここで、注意を要するのは、デ
ータの格納場所から、パリティ系列の格納場所を得る処
理は、周知であり、RAIDのアーキテクチャにより規
定されている。In some cases, the host device wants to read data from the RAID device. In such a case, the host device transmits a first read request to the RAID device.
Further, the storage location of the data is specified by the first read request. The RAID device starts the read process in response to the arrival of the first read request. Since this reading process is a characteristic process of the present application, it will be described in detail with reference to the flowchart shown in FIG. However, FIG. 21 partially includes the same steps as those in FIG. Therefore, in FIG. 21, FIG.
Steps corresponding to the above steps are denoted by the same step numbers, and the description is simplified. The first read request is input to the control unit 7 through the host interface 1 (Step S1). The control unit 7 obtains the data storage location from the first read request. The control unit 7 controls a parity sequence (four data blocks and redundant data) generated based on the data storage location based on the data.
Identify the storage location of Here, it should be noted that the process of obtaining the storage location of the parity sequence from the storage location of the data is well known and is defined by the RAID architecture.
【0129】次に、制御部7は、4個のディスク(5A
〜5Dおよび5Pのいずれか4個)が、今回読み出すべ
き4個のデータブロックの読み出しを過去に失敗したこ
とがあるかないかを判断する(ステップS61)。ステ
ップS61のこの判断のために、失敗ブロックテーブル
75が参照される。この失敗ブロックテーブル75に
は、図22に示すように、過去に読み出しが失敗したデ
ータブロックの格納場所が列挙されている。なお、失敗
ブロックテーブル75には、ディスク5A〜5Dおよび
5Pが読み出しをリトライしたことがあるデータブロッ
クの格納場所が列挙されていても良い。また、失敗ブロ
ックテーブル75には、ディスク5A〜5Dおよび5P
が読み出しに一定時間以上かかったデータブロックの格
納場所が列挙されていても良い。Next, the control unit 7 controls the four disks (5A
To 5D and 5P) determines whether or not reading of the four data blocks to be read this time has failed in the past (step S61). For this determination in step S61, the failed block table 75 is referred to. As shown in FIG. 22, the failed block table 75 lists storage locations of data blocks that have previously failed to be read. Note that the failed block table 75 may list storage locations of data blocks from which the disks 5A to 5D and 5P have retried reading. The failed block table 75 includes the disks 5A to 5D and 5P.
The storage locations of the data blocks that have taken a certain time or longer to read may be listed.
【0130】まず、4個のディスクが4個のデータブロ
ックの読み出しに失敗したことがない場合について説明
する。この場合、制御部7は、4個のデータブロックの
読み出しが今回も失敗する可能性が低いと判断して、パ
リティ系列を読み出すために、第2の読み出し要求のセ
ットを発行する(ステップS62)。ただし、ステップ
S62では、第2の読み出し要求は、データブロックが
記録される4個のディスクにのみ発行され、冗長データ
が記録される残りの1個のディスクには発行されない。First, a case where four disks have never failed to read four data blocks will be described. In this case, the control unit 7 determines that the reading of the four data blocks is unlikely to fail this time, and issues a second read request set to read the parity sequence (step S62). . However, in step S62, the second read request is issued only to four disks on which data blocks are recorded, and is not issued to the remaining one disk on which redundant data is recorded.
【0131】次に、ステップS61において、いくつか
のディスクが過去にデータブロックの読み出しに失敗し
たことがある場合について説明する。この場合、制御部
7は、4個の内、少なくとも1個のデータブロックの読
み出しが今回も失敗する可能性が高いと判断して、パリ
ティ系列を読み出すために、第2の読み出し要求のセッ
トを発行する(ステップS63)。ただし、ステップS
63では、第2の読み出し要求は、データブロックが記
録される4個のディスク、および、冗長データが記録さ
れる残りの1個のディスクに発行される。Next, a description will be given of a case where some disks have failed in reading data blocks in the past in step S61. In this case, the control unit 7 determines that reading of at least one of the four data blocks is likely to fail this time, and sets the second read request to read the parity sequence. Issue (step S63). However, step S
At 63, a second read request is issued to the four disks on which data blocks are recorded and the remaining one disk on which redundant data is recorded.
【0132】なお、制御部7は、各ディスク5A〜5D
および5Pからの第1の読み出し完了が到着すると、図
2(b)に示す処理を実行する。ただし、この処理の過
程で、データブロックの読み出しに失敗した場合には、
当該データブロックの格納場所が失敗ブロックテーブル
75に追加される。The control unit 7 controls each of the disks 5A to 5D
When the completion of the first read from the P and 5P arrives, the processing shown in FIG. 2B is executed. However, if reading of the data block fails during this process,
The storage location of the data block is added to the failed block table 75.
【0133】以上から分かるように、本実施形態では、
ステップS61の判断結果に応じて、発行される第2の
読み出し要求の個数が異なる。このような第2の読み出
し要求が発行されることにより、本実施形態では、図2
3に示すような技術的効果が生まれる。ここで、図23
(a)は、従前の実施形態で述べたように、常時、5個
1組みの第2の読み出し要求が発行される場合を示して
いる。また、図23(b)は、ステップS61の判断結
果に応じて、1組みに含まれる第2の読み出し要求の個
数が変わる場合を示している。ただし、図23(b)
は、本実施形態の技術的効果を明確にするために、4個
1組みの第2の読み出し要求が発行される場合を示して
いる。As can be seen from the above, in this embodiment,
The number of issued second read requests differs depending on the determination result of step S61. By issuing such a second read request, in the present embodiment, FIG.
Technical effects as shown in FIG. Here, FIG.
(A) shows a case where a set of five second read requests is always issued as described in the previous embodiment. FIG. 23B shows a case where the number of second read requests included in one set changes according to the determination result of step S61. However, FIG.
Shows a case where a set of four second read requests is issued to clarify the technical effects of the present embodiment.
【0134】まず、図23(a)では、冗長データが毎
回読み出されるため、1個のデータブロック(または冗
長データ)の読み出しに必要な時間をTとすると、パリ
ティ系列n〜(n+4)を読み出す場合、少なくとも5
*Tの時間が必要となる。しかし、図23(b)では、
冗長データが読み出されないため、4個のディスクが、
あるパリティ系列を読み出している最中に、残りの1個
のディスクは、他のパリティ系列の読み出しを実行する
ことができる。そのため、RAID装置は、パリティ系
列n〜(n+4)を、時間5*Tよりも短い時間で読み
出せる場合がある。図23(b)には、最短の場合が示
されており、RAID装置がパリティ系列n〜(n+
4)を、時間4*Tで読み出した場合を示している。First, in FIG. 23A, since the redundant data is read every time, if the time required to read one data block (or redundant data) is T, the parity series n to (n + 4) are read. If at least 5
* T time is required. However, in FIG.
Since no redundant data is read, four disks
While one parity sequence is being read, the remaining one disk can read another parity sequence. Therefore, the RAID device may be able to read the parity sequences n to (n + 4) in a time shorter than the time 5 * T. FIG. 23B shows the shortest case, in which the RAID device has parity sequences n to (n +
4) shows a case of reading at time 4 * T.
【0135】以上のように本RAID装置では、過去に
読み出しを失敗したデータブロックをディスクから読み
出す場合には、冗長データが読み出される。一方、過去
に読み出しを失敗したことがないデータブロックをディ
スクから読み出す場合には、冗長データを読み出さな
い。これによって、図23(a)および(b)を参照し
て説明したように、本RAID装置は、単位時間当たり
に読み出すことができるデータの量が多くなる。さら
に、データブロックの読み出しが失敗する可能性が高い
場合には、冗長データが読み出されるので、データブロ
ックの読み出しに失敗した場合には、すぐにパリティ演
算を実行することができるので、ホスト装置へと可能な
限り早くデータを送信することができる。As described above, in the present RAID device, when a data block whose reading has failed in the past is read from the disk, redundant data is read. On the other hand, when reading a data block from the disk for which reading has not failed in the past, redundant data is not read. As a result, as described with reference to FIGS. 23A and 23B, the present RAID device increases the amount of data that can be read per unit time. Further, when the reading of the data block is likely to fail, the redundant data is read. When the reading of the data block fails, the parity operation can be executed immediately. And data can be sent as soon as possible.
【0136】(第6の実施形態)ところで、ディスク5
A〜5Dおよび5Pで読み出しが遅れる原因の一つとし
て、当該ディスク5A〜5Dおよび5Pの記録領域に欠
陥が生じることが挙げられる。かかる欠陥記録領域にデ
ータブロックまたは冗長データが格納され続けると、当
該データブロックまたは当該冗長データの読み出しは毎
回遅れてしまう。そこで、第6の実施形態では、いわゆ
るリアサイン処理を実行するRAID装置を実現する。
ここで、リアサイン処理とは、欠陥記録領域に対して代
替記録領域を割り当てて、当該欠陥記録領域に格納され
ていたデータブロックまたは冗長データを、新たに割り
当てられた代替記録領域に格納し直す処理を意味する。(Sixth Embodiment) By the way, the disk 5
One of the causes of the delay of reading in A to 5D and 5P is that defects occur in the recording areas of the disks 5A to 5D and 5P. If a data block or redundant data continues to be stored in such a defective recording area, reading of the data block or the redundant data will be delayed every time. Thus, in the sixth embodiment, a RAID device that executes a so-called reassignment process is realized.
Here, the reassignment process is a process of allocating an alternative recording area to a defective recording area and re-storing a data block or redundant data stored in the defective recording area in a newly allocated alternative recording area. Means
【0137】図24は、本発明の第6の実施形態に係る
RAID装置の構成を示すブロック図である。図24の
RAID装置は、図1のそれと比較すると、リアサイン
処理部8と、代替記録領域情報管理部9と、アドレス情
報管理部10と、アドレス変換処理部11とをさらに含
む点で相違する。本RAID装置は、それ以外の構成に
ついては同様であるため、図24において、図1に示す
ものと同様の構成には、同一の参照符号を付し、その説
明を簡素化することとする。ここで、注意を要するの
は、図24には便宜上図示していないが、制御部7は、
第3の実施形態で説明した第1のタイマ72を含む点で
ある。FIG. 24 is a block diagram showing a configuration of a RAID device according to the sixth embodiment of the present invention. The RAID device of FIG. 24 differs from that of FIG. 1 in that it further includes a reassignment processing unit 8, an alternative recording area information management unit 9, an address information management unit 10, and an address conversion processing unit 11. Since the present RAID device is the same in other configurations, in FIG. 24, the same components as those shown in FIG. 1 are denoted by the same reference numerals, and description thereof will be simplified. Here, it should be noted that although not shown in FIG. 24 for convenience, the control unit 7
The third embodiment includes the first timer 72 described in the third embodiment.
【0138】周知のように、ディスク5A〜5Dおよび
5Pは、自身の記録領域を、512バイトのセクタ単位
で管理する。各セクタには、LBAと呼ばれる番号が予
め割り当てられている。ここで、LBAは、Logic
al Block Address(論理ブロックアド
レス)を表す頭字語である。本RAID装置の初期起動
時、ディスク5A〜5Dおよび5Pの記録領域の一部の
セクタが、代替記録領域用に確保される。代替記録領域
情報管理部9は、かかる代替記録領域を管理するため
に、図25に示す第1のテーブル91を管理している。
図25において、第1のテーブル91には、確保された
代替記録領域を特定するLBAが記載されている。As is well known, each of the disks 5A to 5D and 5P manages its own recording area in units of 512-byte sectors. Each sector is assigned a number called an LBA in advance. Here, LBA is Logic
This is an acronym for al Block Address (logical block address). At the time of the initial startup of the present RAID device, some sectors of the recording area of the disks 5A to 5D and 5P are reserved for the alternative recording area. The alternative recording area information management unit 9 manages a first table 91 shown in FIG. 25 to manage such an alternative recording area.
In FIG. 25, the first table 91 describes LBAs that specify the reserved alternative recording areas.
【0139】さて、本RAID装置の外部には、ホスト
装置(図示せず)が設置される。ホスト装置は、ホスト
インタフェイス1と接続されており、RAID装置にデ
ータの書き込みを要求したり、当該RAID装置にデー
タの読み出しを要求したりする。本RAID装置は、第
1の実施形態等と同様の書き込み処理を行う。ここで、
本RAID装置がRAIDレベル3のアーキテクチャに
基づいて構築されている場合には、図3に示すように、
冗長データは、ディスク5Pのみに固定的に記録され
る。また、本RAID装置がRAIDレベル5に基づい
て構築されている場合には、図20に示すように、冗長
データは、ディスク5A〜5Dおよび5Pに分散的に記
録される。ただし、データブロックおよび冗長データ
は、RAID装置により書き込まれるとき、代替記録領
域以外の記録領域に書き込まれる点には注意を要する。A host device (not shown) is provided outside the RAID device. The host device is connected to the host interface 1 and requests the RAID device to write data or requests the RAID device to read data. This RAID device performs the same write processing as in the first embodiment. here,
When the present RAID device is constructed based on a RAID level 3 architecture, as shown in FIG.
The redundant data is fixedly recorded only on the disk 5P. When the present RAID device is constructed based on RAID level 5, as shown in FIG. 20, redundant data is recorded in a distributed manner on disks 5A to 5D and 5P. However, it should be noted that the data block and the redundant data are written in a recording area other than the alternative recording area when the data is written by the RAID device.
【0140】また、ホスト装置は、前述と同様に、第1
の読み出し要求を送信し、データの読み出しを本RAI
D装置に要求する。この時、ホスト装置は、パリティ系
列単位で読み出しを要求する。例えば、5つのパリティ
系列n〜(n+4)(図3参照)を読み出す場合には、
ホスト装置は、5個の第1の読み出し要求をRAID装
置に送信する必要がある。ここで、パリティ系列とは、
上述と同様に、同じ2048バイトのデータに基づいて
生成されたデータブロックおよび冗長データの組み合わ
せを意味する。各第1の読み出し要求には、前述したよ
うに、読み出すべきパリティ系列の格納場所を特定する
情報を含む。第6の実施形態では、格納場所を特定する
情報として、LBAが使用される。[0140] The host device also operates in the same manner as described above.
Of the RAI
Request to D device. At this time, the host device requests reading in units of a parity sequence. For example, to read five parity sequences n to (n + 4) (see FIG. 3),
The host device needs to send five first read requests to the RAID device. Here, the parity sequence is
As described above, this means a combination of a data block and redundant data generated based on the same 2048-byte data. As described above, each first read request includes information for specifying the storage location of the parity sequence to be read. In the sixth embodiment, LBA is used as information for specifying a storage location.
【0141】本RAID装置は、第1の読み出し要求の
到着に応答して、読み出し処理を開始する。この読み出
し処理は、第6の実施形態の特徴的な処理であるため、
図26および図28を参照して説明する。ここで、図2
6は、第1の読み出し要求到着後の制御部7の処理手順
を示すフローチャートである。図26のフローチャート
は、図12のそれと比較すると、部分的に同様のステッ
プを含んでいる。そのため、図26において、図12に
示すものと同様のステップには、同一のステップ番号を
付し、その説明を簡素化する。また、図28は、1つの
読み出し応答が到着後の制御部7の処理手順を示すフロ
ーチャートである。第1の読み出し要求は、ホストイン
タフェイス1を通じて制御部7に入力される(図26;
ステップS1)。制御部7は、入力された第1の読み出
し要求から、今回読み出すべきパリティ系列の格納場所
としてのLBAを取り出す。制御部7は、取り出したL
BAをアドレス変換処理部11に通知する(ステップS
71)。アドレス変換処理部11は、RAIDレベル3
または5のポリシーに基づく演算を実行して、通知され
たパリティ系列の格納場所(LBA)から、データブロ
ックおよび冗長データのオリジナルLBA(後述)を導
き出す。前述したように、データブロックおよび冗長デ
ータは、ホスト装置からの書き込み要求時に、本RAI
D装置によってディスク5A〜5Dおよび5Pに書き込
まれる。上記オリジナルLBAとは、データブロックま
たは冗長データが書き込み要求された直後に格納された
場所を示すLBAを意味する。This RAID device starts read processing in response to the arrival of the first read request. Since this reading process is a characteristic process of the sixth embodiment,
This will be described with reference to FIGS. 26 and 28. Here, FIG.
6 is a flowchart showing a processing procedure of the control unit 7 after the arrival of the first read request. The flowchart of FIG. 26 partially includes the same steps as those of FIG. Therefore, in FIG. 26, the same steps as those shown in FIG. 12 are denoted by the same step numbers, and description thereof will be simplified. FIG. 28 is a flowchart showing a processing procedure of the control unit 7 after one read response arrives. The first read request is input to the control unit 7 through the host interface 1 (FIG. 26;
Step S1). The control unit 7 extracts the LBA as the storage location of the parity sequence to be read this time from the input first read request. The control unit 7 outputs the extracted L
BA is notified to the address conversion processing unit 11 (step S
71). The address translation processing unit 11 has a RAID level 3
Alternatively, an operation based on the policy of 5 is executed to derive an original LBA (described later) of a data block and redundant data from the notified storage location (LBA) of the parity sequence. As described above, the data block and the redundant data are stored in the RAI at the time of a write request from the host device.
The D device writes the data on the disks 5A to 5D and 5P. The original LBA means an LBA indicating a location where a data block or redundant data is stored immediately after a write request is made.
【0142】以下、アドレス変換処理部11の演算につ
いて説明する。本RAID装置はリアサイン処理を実行
するので、データブロックおよび冗長データの格納場所
が変る場合がある。以下の説明において、カレントLB
Aとは、データブロックまたは冗長データの現在の格納
場所を示すLBAを意味する。以上のように格納場所が
変更される場合があるので、アドレス変換処理部11
は、パリティ系列の格納場所が通知されると、アドレス
情報管理部10にアクセスして、データブロックまたは
冗長データのオリジナルLBAを特定する。アドレス情
報管理部10は、図27に示すような第2のテーブル1
01を管理している。図27において、第2のテーブル
101には、データブロックまたは冗長データのオリジ
ナルLBA毎に、当該データブロックまたは当該冗長デ
ータのカレントLBAが登録されている。なお、カレン
トLBAの登録処理については後述する。The operation of the address conversion processing section 11 will be described below. Since the present RAID device executes reassignment processing, the storage locations of data blocks and redundant data may change. In the following description, the current LB
A means an LBA indicating a current storage location of a data block or redundant data. Since the storage location may be changed as described above, the address conversion processing unit 11
Is notified of the storage location of the parity sequence, accesses the address information management unit 10 and specifies the original LBA of the data block or the redundant data. The address information management unit 10 stores the second table 1 as shown in FIG.
01 is managed. In FIG. 27, in the second table 101, for each original LBA of a data block or redundant data, the current LBA of the data block or the redundant data is registered. The current LBA registration process will be described later.
【0143】ここで、今回導出したオリジナルLBAに
ついてカレントLBAが登録されている場合には、アド
レス変換処理部11は、当該カレントLBAを第2のテ
ーブル101から取り出す。アドレス変換処理部11
は、取り出したカレントLBAが示す記録領域に、今回
読み出すべきデータブロックまたは冗長データが格納さ
れていると判断する。一方、今回導出したオリジナルL
BAについてカレントLBAが登録されていない場合に
は、アドレス変換処理部11は、当該オリジナルLBA
が示す記録領域に、今回読み出すべきデータブロックま
たは冗長データが格納されていると判断する。以上のよ
うにして、アドレス変換処理部11は、今回読み出すべ
きデータブロックおよび冗長データの正確な記録領域を
示すLBAを特定する。アドレス変換処理部11は、以
上のようにして特定したLBAを制御部7に通知する。Here, when the current LBA is registered for the original LBA derived this time, the address conversion processing section 11 takes out the current LBA from the second table 101. Address translation processing unit 11
Determines that the data area to be read this time or redundant data is stored in the recording area indicated by the extracted current LBA. On the other hand, the original L derived this time
If the current LBA is not registered for the BA, the address conversion processing unit 11
It is determined that the data area or redundant data to be read this time is stored in the recording area indicated by. As described above, the address conversion processing unit 11 specifies the data block to be read this time and the LBA indicating the correct recording area of the redundant data. The address conversion processing unit 11 notifies the control unit 7 of the LBA specified as described above.
【0144】制御部7は、アドレス変換処理部11によ
り通知されたLBAを用いて、パリティ系列(4個のデ
ータブロックおよび冗長データ)を読み出すために、第
2の読み出し要求のセットを発行する(ステップS
2)。本実施形態では、図3または図20に示すよう
に、パリティ系列が5台のディスク5A〜5Dおよび5
Pに分散格納されるため、5個の第2の読み出し要求が
発行される。第2の読み出し要求は、第1の実施形態で
述べたように、データブロックまたは冗長データの格納
場所としてのLBAと、読み出したデータブロックまた
は冗長データを格納するためのバッファ領域3Ai 〜3
Di および3Pi を示す情報とを含む。第2の読み出し
要求は、SCSIインタフェイス4A〜4Dおよび4P
に1個ずつ送信される。制御部7は、各第2の読み出し
要求をSCSIインタフェイス4A〜4Dおよび4Pに
送信すると、図9に示した発行時刻テーブル71を作成
する(ステップS21)。この発行時刻テーブル71の
作成処理について、既に説明されているので、本実施形
態での説明を省略する。The control unit 7 issues a second read request set to read a parity sequence (four data blocks and redundant data) using the LBA notified by the address translation processing unit 11 ( Step S
2). In the present embodiment, as shown in FIG. 3 or FIG. 20, the parity sequence has five disks 5A to 5D and 5 disks.
Since the data is distributed and stored in P, five second read requests are issued. As described in the first embodiment, the second read request includes an LBA as a storage location for a data block or redundant data, and buffer areas 3A i to 3A for storing the read data block or redundant data.
D i and information indicating 3P i . The second read request includes the SCSI interfaces 4A to 4D and 4P
Are transmitted one by one. When transmitting the second read requests to the SCSI interfaces 4A to 4D and 4P, the control unit 7 creates the issue time table 71 shown in FIG. 9 (Step S21). Since the creation processing of the issue time table 71 has already been described, the description in this embodiment will be omitted.
【0145】各SCSIインタフェイス4A〜4Dおよ
び4Pは、入力された第2の読み出し要求を各ディスク
5A〜5Dおよび5Pに送信する。各ディスク5A〜5
Dおよび5Pは、第2の読み出し要求の受信に応答し
て、データブロックおよび冗長データを読み出し始め
る。しかし、各ディスク5A〜5Dおよび5Pにおける
読み出しは成功する場合と失敗する場合とに分けられ
る。読み出しが成功した場合、各ディスク5A〜5Dお
よび5Pは、読み出されたデータブロックおよび冗長デ
ータを、SCSIインタフェイス4A〜4Dおよび4P
に送信する。さらに、各ディスク5A〜5Dおよび5P
は、読み出しが成功した旨を示す信号である読み出し応
答(成功)を、SCSIインタフェイス4A〜4Dおよ
び4Pに送信する。SCSIインタフェイス4A〜4D
および4Pは、各ディスク5A〜5Dおよび5Pの読み
出し応答(成功)がどの第2の読み出し要求に対するも
のかを識別して、制御部7が指定したバッファ領域3A
i 〜3Di および3Pi に、読み出されたデータブロッ
クまたは冗長データを格納する。一方、読み出しが失敗
した場合、各ディスク5A〜5Dおよび5Pは、読み出
しが失敗した旨を示す信号である読み出し応答(失敗)
を、SCSIインタフェイス4A〜4Dおよび4Pに送
信する。Each of the SCSI interfaces 4A to 4D and 4P transmits the input second read request to each of the disks 5A to 5D and 5P. Each disk 5A-5
D and 5P begin reading data blocks and redundant data in response to receiving the second read request. However, reading from each of the disks 5A to 5D and 5P is divided into a case where reading is successful and a case where reading is failed. If the reading is successful, each of the disks 5A to 5D and 5P stores the read data block and the redundant data in the SCSI interfaces 4A to 4D and 4P.
Send to Further, each of the disks 5A to 5D and 5P
Transmits a read response (success), which is a signal indicating that reading has been successful, to the SCSI interfaces 4A to 4D and 4P. SCSI interface 4A-4D
And 4P identify which second read request the read response (success) of each of the disks 5A to 5D and 5P is to the buffer area 3A specified by the control unit 7.
Read data blocks or redundant data are stored in i to 3D i and 3P i . On the other hand, when the reading has failed, each of the disks 5A to 5D and 5P has a reading response (failure) indicating that the reading has failed.
To the SCSI interfaces 4A to 4D and 4P.
【0146】以上から明らかなように、SCSIインタ
フェイス4Aは、ディスク5Aにより送信されたデータ
ブロックおよび読み出し応答(成功)の組み合わせを受
信する場合と、当該ディスク5Aにより送信された読み
出し応答(失敗)を受信する場合とがある。他のSCS
Iインタフェイス4B〜4Dもまた、SCSIインタフ
ェイス4Aの場合と同様に、データブロックおよび読み
出し応答(成功)の組み合わせを受信する場合と、読み
出し応答(失敗)を受信する場合とがある。また、SC
SIインタフェイス4Pは、冗長データおよび読み出し
応答(成功)の組み合わせを受信する場合と、読み出し
応答(失敗)を受信する場合とかある。以下には、ま
ず、各SCSIインタフェイス4A〜4Dおよび4Pが
読み出し応答(成功)を受信した場合の動作を説明し、
その後、読み出し応答(失敗)を受信した場合の動作を
説明する。As is clear from the above, the SCSI interface 4A receives the combination of the data block and the read response (success) transmitted by the disk 5A, and the read response (failure) transmitted by the disk 5A. May be received. Other SCS
Similarly to the case of the SCSI interface 4A, the I interfaces 4B to 4D may also receive a combination of a data block and a read response (success) or may receive a read response (fail). Also, SC
The SI interface 4P receives a combination of redundant data and a read response (success) or a read response (fail). Hereinafter, first, an operation when each of the SCSI interfaces 4A to 4D and 4P receives a read response (success) will be described.
Thereafter, an operation when a read response (failure) is received will be described.
【0147】SCSIインタフェイス4A〜4Dおよび
4Pは、読み出し応答(成功)を受信した場合、ディス
ク5A〜5Dおよび5Pにより送信されたデータブロッ
クまたは冗長データをバッファ部3A〜3Dおよび3P
に格納する。この時、データブロックまたは冗長データ
は、読み出し応答(成功)により指定されるバッファ領
域3Ai 〜3Di および3Pi (図2参照)に格納され
る。さらに、SCSIインタフェイス4A〜4Dおよび
4Pは、ディスク5A〜5Dおよび5Pにより送信され
た読み出し応答(成功)を制御部7に送信する。一方、
SCSIインタフェイス4A〜4Dおよび4Pは、ディ
スク5A〜5Dおよび5Pにより送信された読み出し応
答(失敗)を受信した場合、当該読み出し応答(失敗)
を制御部7に送信する。When receiving the read response (success), the SCSI interfaces 4A to 4D and 4P send the data blocks or redundant data transmitted by the disks 5A to 5D and 5P to the buffer units 3A to 3D and 3P.
To be stored. At this time, the data block or the redundant data is stored in the buffer areas 3A i to 3D i and 3P i (see FIG. 2) specified by the read response (success). Further, the SCSI interfaces 4A to 4D and 4P transmit the read response (success) transmitted by the disks 5A to 5D and 5P to the control unit 7. on the other hand,
When the SCSI interfaces 4A to 4D and 4P receive the read response (failure) transmitted by the disks 5A to 5D and 5P, the read response (failure) is received.
Is transmitted to the control unit 7.
【0148】以上から明らかなように、制御部7には、
2種類の読み出し応答の内、いずれか一方(つまり、読
み出し応答(成功)または読み出し応答(失敗))が、
SCSIインタフェイス4A〜4Dおよび4Pのそれぞ
れから送信されてくる。ここで注意を要するのは、ほと
んどの場合、各SCSIインタフェイス4A〜4Dおよ
び4Pからの読み出し応答は、時間差を伴って制御部7
に到着する点である。例えば、ディスク5Aがデータブ
ロックの読み出しに長時間かかった場合には、SCSI
インタフェイス4Aからの読み出し応答は、他からの読
み出し応答よりも遅く制御部7に到着する。As is clear from the above, the control unit 7 includes:
One of the two types of read responses (that is, read response (success) or read response (fail))
It is transmitted from each of the SCSI interfaces 4A to 4D and 4P. It should be noted here that, in most cases, the read response from each of the SCSI interfaces 4A to 4D and 4P is accompanied by a time lag, and
It is a point that arrives at. For example, if the disk 5A takes a long time to read a data block, a SCSI
The read response from the interface 4A arrives at the control unit 7 later than the read response from the other.
【0149】制御部7は、読み出し応答が1つ到着する
度に、図28のフローチャートに示す処理手順を実行す
る。制御部7は、読み出し応答を1つ受信すると(ステ
ップS81)、受信した読み出し応答の種類が成功を示
しているか否かを判断する(ステップS82)。制御部
7は、読み出し応答(失敗)を受信したと判断した場
合、後述するステップS88に進む。一方、制御部7
は、ステップS82で読み出し応答(成功)を受信した
と判断した場合、同一パリティ系列を構成する4個のデ
ータブロックが揃ったか否かを判断する(ステップS8
3)。より具体的には、ステップS83では、ディスク
5A〜5Dにおいて4個のデータブロックの読み出しが
成功したか否かが判断される。つまり、制御部7は、S
CSIインタフェイス4A〜4Dからの読み出し応答
(成功)をすべて受信したか否かを判断する。The control section 7 executes the processing procedure shown in the flowchart of FIG. 28 every time one read response arrives. Upon receiving one read response (step S81), the control unit 7 determines whether the type of the received read response indicates success (step S82). When the control unit 7 determines that the read response (failure) has been received, the process proceeds to step S88 described below. Meanwhile, the control unit 7
Determines in step S82 that a read response (success) has been received, determines whether or not four data blocks constituting the same parity sequence have been collected (step S8).
3). More specifically, in step S83, it is determined whether or not reading of four data blocks from disks 5A to 5D has succeeded. That is, the control unit 7
It is determined whether or not all the read responses (success) have been received from the CSI interfaces 4A to 4D.
【0150】制御部7は、4個のデータブロックが揃っ
たと判断した場合、後述するステップS84に進む。一
方、制御部7は、ステップS83で4個のデータブロッ
クが揃っていないと判断した場合、パリティ演算によ
り、データブロックを復元することが可能か否かを判断
する(ステップS814)。より具体的には、ステップ
S814では、同一パリティ系列を構成する3個のデー
タブロックおよび冗長データの読み出しが成功したか否
かが判断される。つまり、制御部7は、SCSIインタ
フェイス4A〜4Dの内のいずれか3つからの読み出し
応答(成功)と、SCSIインタフェイス4Pからの読
み出し応答(成功)とを受信したか否かを判断する。When the control section 7 determines that the four data blocks have been completed, it proceeds to step S84 described later. On the other hand, when determining in step S83 that the four data blocks are not aligned, the control unit 7 determines whether or not the data blocks can be restored by parity calculation (step S814). More specifically, in step S814, it is determined whether or not reading of three data blocks and redundant data forming the same parity sequence has been successful. That is, the control unit 7 determines whether a read response (success) from any three of the SCSI interfaces 4A to 4D and a read response (success) from the SCSI interface 4P are received. .
【0151】制御部7は、ステップS812でデータブ
ロックを復元不可能であると判断した場合、つまり、現
時点で4個の読み出し応答(成功)を受信していない場
合、図28のフローチャートの処理手順を一旦終了す
る。そして、制御部7は、新しい読み出し応答が、SC
SIインタフェイス4A〜4Dおよび4Pのいずれかか
ら到着することを待機する。If the control unit 7 determines in step S812 that the data block cannot be restored, that is, if four read responses (success) have not been received at present, the processing procedure of the flowchart in FIG. Is temporarily terminated. Then, the control unit 7 determines that the new read response
It waits for arrival from any of the SI interfaces 4A to 4D and 4P.
【0152】さて、制御部7がステップS83からS8
4に進む場合、上述したように、同一パリティ系列を構
成する4個のデータブロックが揃っていることを意味す
る。ここで、第3の実施形態で説明したRAID装置
は、3個のデータブロックおよび冗長データが揃った時
点(つまり、時刻T4th )から時間余裕TMARGINの間だ
け、残りのデータブロックの読み出しが完了することを
待機する。本実施形態に係るRAID装置も同様に、3
個のデータブロックおよび冗長データが揃っても、残り
のデータブロックの読み出しが完了することを待機す
る。ゆえに、ステップS84を実行する時点では、バッ
ファ部3A〜3Dだけに同一パリティ系列を構成する4
個のデータブロックが格納されている場合と、バッファ
部3A〜3Dおよび3Pに同一パリティ系列を構成する
4個のデータブロックおよび冗長データが格納されてい
る場合とがある。そのため、制御部7は、冗長データの
読み出しが完了しているか否かを判断する(ステップS
84)。つまり、制御部7は、SCSIインタフェイス
4Pからの読み出し応答(成功)を受信したか否かを判
断する。By the way, the control unit 7 executes steps S83 to S8.
When the process proceeds to 4, it means that four data blocks constituting the same parity sequence are prepared as described above. Here, in the RAID device described in the third embodiment, reading of the remaining data blocks is performed only during the time margin T MARGIN from the time when three data blocks and redundant data are prepared (that is, time T 4th ). Wait for it to complete. Similarly, the RAID device according to the present embodiment is 3
Even if the number of data blocks and redundant data are complete, the process waits until reading of the remaining data blocks is completed. Therefore, at the time when step S84 is executed, the same parity sequence is configured only in the buffer units 3A to 3D.
There are a case where four data blocks are stored in the buffer units 3A to 3D and 3P and a case where four data blocks constituting the same parity sequence and redundant data are stored in the buffer units 3A to 3D and 3P. Therefore, the control unit 7 determines whether the reading of the redundant data has been completed (Step S).
84). That is, the control unit 7 determines whether a read response (success) has been received from the SCSI interface 4P.
【0153】制御部7は、ステップS84で冗長データ
の読み出しが未完了と判断した場合、読み出し中止要求
という信号を生成して、リアサイン処理部8に送信する
(ステップS85)。以下、読み出し中止要求について
説明する。ステップS84の時点では、4個のデータブ
ロックが揃っているので、パリティ演算を実行すること
なく、データを組み立てることができる。そのため、制
御部7は、読み出し未完了の冗長データが不必要である
ことが分かる。ステップS85で送信される読み出し中
止要求は、かかる不必要な冗長データの読み出しを中止
するよう、リアサイン処理部8に要求するための信号で
ある。この読み出し中止要求には、不必要な冗長データ
の格納場所(LBA)を示す情報が含まれる。リアサイ
ン処理部8は、制御部7からの読み出し中止要求に応答
して、図34のフローチャートに示される処理を実行す
る。便宜上、図34に示す処理手順については、後述す
ることとする。制御部7は、以上のステップS85の処
理を終了すると、ステップS86に進む。一方、制御部
7は、ステップS84で冗長データが読み出し済みと判
断した場合、ステップS72に進む。ステップS72に
進むには、4個のデータブロックと冗長データとの読み
出しが完了していることが条件となる。つまり、後述す
るステップS815で設定された第1のタイマ72が起
動中に、最後の1個のデータブロックの読み出しが完了
したことが条件となる。そのため、第1のタイマ72を
起動させておく必要性がなくなる。そこで、制御部7
は、起動中の第1のタイマ72を停止させ(ステップS
87)、その後、ステップS86に進む。If the control section 7 determines in step S84 that the reading of the redundant data is not completed, it generates a read stop request signal and transmits it to the reassignment processing section 8 (step S85). Hereinafter, the read stop request will be described. At the time of step S84, since four data blocks are provided, data can be assembled without executing a parity operation. Therefore, the control unit 7 understands that the unread redundant data is unnecessary. The read stop request transmitted in step S85 is a signal for requesting the reassignment processing unit 8 to stop reading of unnecessary redundant data. The read stop request includes information indicating a storage location (LBA) of unnecessary redundant data. The reassignment processing unit 8 executes the processing shown in the flowchart of FIG. 34 in response to the read stop request from the control unit 7. For convenience, the processing procedure shown in FIG. 34 will be described later. After ending the processing in step S85, the control unit 7 proceeds to step S86. On the other hand, when the control unit 7 determines in step S84 that the redundant data has been read, the process proceeds to step S72. In order to proceed to step S72, the condition is that reading of four data blocks and redundant data has been completed. That is, the condition is that the reading of the last one data block is completed while the first timer 72 set in step S815 described later is running. Therefore, there is no need to activate the first timer 72. Therefore, the control unit 7
Stops the activated first timer 72 (step S
87) Then, the process proceeds to step S86.
【0154】ステップS86において、制御部7は、読
み出し完了という信号を生成して、セレクタ2に送信す
る。読み出し完了は、同一パリティ系列の4個のデータ
ブロックがバッファ部3A〜3Dに揃い、データを組み
立てることが可能な状態になった旨をセレクタ2に通知
するための信号である。そのため、読み出し完了には、
同一パリティ系列の4個のデータブロックが格納されて
いる4個のバッファ領域3Ai 〜3Di を特定する情報
が含まれている。セレクタ2は、受信した読み出し完了
に従って、4個のバッファ領域3Ai 〜3Di を順次選
択して、4個のデータブロックを読み出す。さらに、セ
レクタ2は、読み出された4個のデータブロックを組み
立てて、2048バイトのデータを構成する。構成され
たデータは、ホストインタフェイス1を通じて、ホスト
装置に送信される。In step S86, the control section 7 generates a signal indicating that reading has been completed, and transmits the signal to the selector 2. The completion of reading is a signal for notifying the selector 2 that four data blocks of the same parity sequence have been arranged in the buffer units 3A to 3D and data can be assembled. Therefore, when reading is completed,
Information for specifying four buffer areas 3A i to 3D i storing four data blocks of the same parity sequence is included. The selector 2 sequentially selects the four buffer areas 3A i to 3D i according to the received read completion, and reads four data blocks. Further, the selector 2 assembles the four read data blocks to form 2048-byte data. The configured data is transmitted to the host device through the host interface 1.
【0155】さて、制御部7がステップS814からS
815に進む場合には、上述したように、同一パリティ
系列を構成する3個のデータブロックおよび冗長データ
が揃っている。上述したように、本実施形態に係るRA
ID装置は、残りのデータブロックの読み出しが完了す
ることを待機する。そのために、制御部7は、タイムア
ウト値VTO1 を算出して、算出したタイムアウト値V
TO1 を第1のタイマ72に設定する(ステップS81
5)。これによって、第1のタイマ72は、起動し、カ
ウントダウンを始める。このステップS815の処理
は、図12(b)のステップS43と同様の処理である
ため、本実施形態での説明を省略する。制御部7は、ス
テップS815で第1のタイマ72の設定が終了する
と、新しい読み出し応答が、SCSIインタフェイス4
A〜4Dおよび4Pのいずれかから到着することを待機
する。By the way, the control unit 7 determines in steps S814 to S
When the process proceeds to 815, as described above, three data blocks and redundant data constituting the same parity sequence are prepared. As described above, the RA according to the present embodiment
The ID device waits for reading of the remaining data blocks to be completed. To this end, the control unit 7 calculates the timeout value V TO1 and calculates the calculated timeout value V TO1.
TO1 is set in the first timer 72 (step S81)
5). As a result, the first timer 72 starts up and starts counting down. The processing in step S815 is the same as the processing in step S43 in FIG. 12B, and thus the description in this embodiment is omitted. When the setting of the first timer 72 is completed in step S815, the control unit 7 sends a new read response to the SCSI interface 4
Wait for arrival from any of A-4D and 4P.
【0156】さて、制御部7がステップS82からS8
8に進む場合には、読み出し応答(失敗)が当該制御部
7に到着している。この時、制御部7は、第1のタイマ
72が起動中であるか否かを判断する(ステップS8
8)。制御部7は、第1のタイマ72が起動中でないと
判断した場合、後述するステップS811に進む。一
方、第1のタイマ72が起動中であると判断された場
合、ステップS89が実行される。ここで、第1のタイ
マ72が起動中であれば、今回到着した読み出し応答
(失敗)は、ステップS814の実行時には読み出され
ていなかった残りのデータブロックの読み出しが失敗し
たことを示す。これによって、制御部7は、第1のタイ
マ72のカウントダウンが不要になったと認識して、当
該カウントダウンを停止する(ステップS89)。さら
に、制御部7は、残りのデータブロックの読み出しが失
敗したことが分かるので、復元指示を発行して、パリテ
ィ演算の実行をパリティ演算部6に要求する(ステップ
S810)。パリティ演算部6は、パリティ演算によ
り、読み出せなかった残り1個のデータブロックを復元
して、バッファ部3Pに一旦格納する。その後、パリテ
ィ演算部6は、データブロックの復元が完了した旨を示
す信号である復元完了を発行して、制御部7に送信す
る。制御部7は、復元完了の受信に応答して読み出し完
了を発行し、セレクタ2に送信する(ステップS8
6)。その結果、ホスト装置にデータが送信される。Now, the control section 7 executes steps S82 to S8.
When the process proceeds to step 8, a read response (failure) has arrived at the control unit 7. At this time, the control unit 7 determines whether the first timer 72 is running (step S8).
8). When the control unit 7 determines that the first timer 72 is not running, the process proceeds to step S811 described below. On the other hand, when it is determined that the first timer 72 is running, step S89 is executed. Here, if the first timer 72 is running, the read response (failure) that has arrived this time indicates that the reading of the remaining data block that has not been read at the time of execution of step S814 has failed. As a result, the control unit 7 recognizes that the countdown of the first timer 72 is unnecessary, and stops the countdown (step S89). Further, since it is known that the reading of the remaining data blocks has failed, the control unit 7 issues a restoration instruction and requests the parity operation unit 6 to execute the parity operation (step S810). The parity operation unit 6 restores the remaining one data block that could not be read out by the parity operation and temporarily stores the data block in the buffer unit 3P. Thereafter, the parity calculation unit 6 issues a restoration completion signal, which is a signal indicating that the restoration of the data block is completed, and transmits the signal to the control unit 7. The control unit 7 issues a read completion in response to the reception of the restoration completion, and transmits the read completion to the selector 2 (step S8).
6). As a result, data is transmitted to the host device.
【0157】さて、制御部7がステップS88からS8
11に進む場合、当該制御部7には、多くとも3個の読
み出し応答が到着している。ところで、本実施形態のR
AID装置は、5台のディスク5A〜5Dおよび5Pに
パリティ系列を分散格納する。したがって、5台のディ
スクの内の2台がデータブロックまたは冗長データの読
み出しに失敗した時点で、パリティ演算によるデータブ
ロックの復元が期待できなくなる。そこで、制御部7
は、ステップS811において、パリティ演算によりデ
ータブロックの復元を期待できるか否かを判断する。よ
り具体的には、ステップS811では、現在到着してい
る読み出し応答の内の2つが失敗を示しているか否かが
判断される。By the way, the control section 7 executes steps S88 to S8.
When the process proceeds to 11, the control unit 7 has received at most three read responses. By the way, R of this embodiment
The AID device stores the parity sequences in the five disks 5A to 5D and 5P in a distributed manner. Therefore, when two of the five disks fail to read the data block or the redundant data, restoration of the data block by the parity calculation cannot be expected. Therefore, the control unit 7
Determines whether restoration of a data block can be expected by parity calculation in step S811. More specifically, in step S811, it is determined whether two of the currently arriving read responses indicate failure.
【0158】制御部7は、ステップS811で、パリテ
ィ演算によりデータブロックの復元が期待できると判断
した場合(つまり、今回到着した読み出し応答が初めて
失敗を示していると判断した場合)、図28の処理手順
を一旦終了する。そして、制御部7は、新しい読み出し
応答が、SCSIインタフェイス4A〜4Dおよび4P
のいずれかから到着することを待機する。If the control unit 7 determines in step S811, that the restoration of the data block can be expected by the parity calculation (that is, if it is determined that the read response that has arrived this time indicates a failure for the first time), the control unit 7 shown in FIG. The processing procedure ends once. Then, the control unit 7 sends the new read response to the SCSI interfaces 4A to 4D and 4P.
Wait to arrive from one of the.
【0159】一方、制御部7は、ステップS811で、
パリティ演算によりデータブロックの復元が期待できな
いと判断した場合(つまり、今回到着したものが、2つ
目の読み出し応答(失敗)であると判断した場合)、ス
テップS812に進む。次に、制御部7は、読み出し中
止要求を発行して、リアサイン処理部8に送信する(ス
テップS812)。以下、この時送信される読み出し中
止要求について説明する。ステップS812の時点で
は、ディスク5A〜5Dおよび5Pのいくつかで読み出
しが完了していない。例えば、最初に到着した読み出し
応答と2番目の読み出し応答の両方が失敗を示していれ
ば、ディスク5A〜5Dおよび5Pの内の3台で読み出
しが完了していない。また、制御部7は、データブロッ
クの復元が期待できないことから、ステップS812の
時点で読み出しが未完了のデータブロックまたは冗長デ
ータを不必要と判断する。そのため、ステップS812
で送信される読み出し中止要求は、かかる不必要なデー
タブロックまたは冗長データの読み出しを中止するよ
う、リアサイン処理部8に要求するための信号である。
この読み出し中止要求には、不必要なデータブロックま
たは冗長データが格納されたLBAを示す情報が含まれ
る。リアサイン処理部8は、制御部7からの読み出し中
止要求に応答して、図34のフローチャートに示される
処理を実行する。便宜上、図34に示す処理手順につい
ては、後述することとする。制御部7は、以上のステッ
プS812の処理を終了すると、ステップS813に進
む。On the other hand, the control unit 7 determines in step S811 that
If it is determined that restoration of the data block cannot be expected by the parity operation (that is, it is determined that the data that has arrived this time is the second read response (failure)), the process proceeds to step S812. Next, the control section 7 issues a read stop request and sends it to the reassignment processing section 8 (step S812). Hereinafter, the read stop request transmitted at this time will be described. At the time of step S812, the reading has not been completed for some of the disks 5A to 5D and 5P. For example, if both the first read response and the second read response indicate failure, the reading has not been completed on three of the disks 5A to 5D and 5P. In addition, since restoration of the data block cannot be expected, the control unit 7 determines that the data block or the redundant data that has not been read at the time of step S812 is unnecessary. Therefore, step S812
Is a signal for requesting the reassignment processing unit 8 to stop reading of such unnecessary data blocks or redundant data.
The read stop request includes information indicating an LBA in which unnecessary data blocks or redundant data are stored. The reassignment processing unit 8 executes the processing shown in the flowchart of FIG. 34 in response to the read stop request from the control unit 7. For convenience, the processing procedure shown in FIG. 34 will be described later. After finishing the processing in step S812, the control unit 7 proceeds to step S813.
【0160】制御部7は、データブロックの復元が不可
能な場合、ホスト装置にデータを送信することができな
いので、その旨を示す信号である読み出し失敗を生成す
る(ステップS813)。生成された読み出し失敗は、
ホストインタフェイス1を通じてホスト装置に送信され
る。When the data block cannot be restored, the control unit 7 cannot transmit data to the host device, and thus generates a read failure signal indicating that (step S813). The generated read failure is
It is transmitted to the host device through the host interface 1.
【0161】なお、制御部7は、上述の第1のタイマ7
2がタイムアウトした場合、図12(b)に示される処
理手順を実行する。この処理手順については、既に説明
されているので、本実施形態では説明していない点には
注意を要する。また、制御部7は、第2の読み出し要求
を発行すると、発行時刻テーブル71を参照して、現在
時刻tPRE から発行時刻tISSUE を減算する。制御部7
は、算出した(tPRE −tISSUE )が制限時間TLIMIT
を超えたか否かを判断する。そして、制限時間TLIMIT
を超えたと判断された時点に、ディスク5A〜5Dおよ
び5Pのいずれか2台で読み出しが完了していなけれ
ば、制御部7は、当該時点で読み出しが完了していない
ディスクを特定する。そして、制御部7は、特定したデ
ィスク5A〜5Dおよび5Pのいくつかに対して読み出
し中止コマンドを発行する。かかる処理については、図
8(b)を参照して既に説明しているので、本実施形態
での説明を省略している点には注意を要する。The control unit 7 is provided with the first timer 7
If the time-out occurs, the processing procedure shown in FIG. 12B is executed. It should be noted that since this processing procedure has already been described, it is not described in the present embodiment. When issuing the second read request, the control unit 7 refers to the issue time table 71 and subtracts the issue time t ISSUE from the current time t PRE . Control unit 7
Is calculated (t PRE −t ISSUE ) is the time limit T LIMIT
It is determined whether or not exceeds. And the time limit T LIMIT
If the reading has not been completed on any two of the disks 5A to 5D and 5P at the time when it is determined that the number has exceeded the limit, the control unit 7 specifies the disk on which the reading has not been completed at that time. Then, the control unit 7 issues a read stop command to some of the identified disks 5A to 5D and 5P. Since such processing has already been described with reference to FIG. 8B, it should be noted that the description in this embodiment is omitted.
【0162】次に、リアサイン処理部8に関連する動作
を説明する。前述したように、SCSIインタフェイス
4A〜4Dおよび4Pには、リアサイン処理部8に関連
して新しい構成が追加される。この新しい構成は、図2
9に示すように、通知部41A〜41Dおよび41Pで
ある。通知部41A〜41Dおよび41Pは、SCSI
インタフェイス4A〜4Dおよび4Pが第2の読み出し
要求をディスク5A〜5Dおよび5Pに送信すると、そ
の旨を示す信号である送信通知を作成する。作成された
送信通知はリアサイン処理部8に送信される。各送信通
知には、今回送信された第2の読み出し要求を一意に特
定するIDと、当該読み出し要求により指定されたLB
Aとが含まれる。さらに、通知部41A〜41Dおよび
41Pは、SCSIインタフェイス4A〜4Dおよび4
Pが読み出し応答をディスク5A〜5Dおよび5Pから
受信すると、その旨を示す信号である受信通知を作成す
る。作成された受信通知は、リアサイン処理部8に送信
される。各受信通知には、今回受信した読み出し応答に
対応する第2の読み出し要求を一意に特定するIDと、
当該第2の読み出し要求により指定されたLBAとを含
む。なお、受信通知には、LBAは含まれていなくと
も、リアサイン処理部8は正しく動作できる。Next, an operation related to the reassignment processing section 8 will be described. As described above, new configurations are added to the SCSI interfaces 4A to 4D and 4P in connection with the reassignment processing unit 8. This new configuration is illustrated in FIG.
As shown in FIG. 9, the notification units 41A to 41D and 41P. The notifying units 41A to 41D and 41P
When the interfaces 4A to 4D and 4P transmit the second read request to the disks 5A to 5D and 5P, they create transmission notices that are signals indicating that. The created transmission notification is transmitted to the reassignment processing unit 8. Each transmission notification includes an ID for uniquely identifying the second read request transmitted this time, and the LB specified by the read request.
A is included. Further, the notification units 41A to 41D and 41P are provided with the SCSI interfaces 4A to 4D and 4C.
When P receives the read response from the disks 5A to 5D and 5P, it creates a reception notification, which is a signal indicating that. The created reception notification is transmitted to the reassignment processing unit 8. Each reception notification includes an ID for uniquely identifying a second read request corresponding to the read response received this time,
LBA specified by the second read request. Note that the reassignment processing unit 8 can operate correctly even if the reception notification does not include the LBA.
【0163】リアサイン処理部8は、図29に示すよう
に、現在時刻を計時する第3のタイマ81と、第1のリ
スト82と、第2のリスト83とを含んでおり、送信通
知を受信する度に、図30のフローチャートに示される
リアサイン処理のための手順を実行する。今、以下の説
明を具体的にすべく、リアサイン処理部8は、SCSI
インタフェイス4Aから送信通知を今回受信したと仮定
する。今回受信した送信通知には、IDとして「b」
を、さらに、LBAとして「a」が含まれている。を含
む送信通知を、SCSIインタフェイス4Aから受信し
たと仮定する。As shown in FIG. 29, the reassignment processing section 8 includes a third timer 81 for measuring the current time, a first list 82, and a second list 83, and receives a transmission notification. Each time the process is performed, the procedure for the reassignment process shown in the flowchart of FIG. 30 is executed. Now, in order to make the following description concrete, the reassignment processing unit 8
It is assumed that a transmission notification has been received this time from the interface 4A. In the transmission notification received this time, the ID "b"
, And “a” is included as the LBA. Is assumed to have been received from the SCSI interface 4A.
【0164】まず、リアサイン処理部8は、第3のタイ
マ81が計時する現在時刻を基に、送信通知の受信時刻
を検出する。この受信時刻は、SCSIインタフェイス
4Aが第2の読み出し要求をディスク5Aに送信した時
刻として、リアサイン処理部8により用いられる。今、
第2の読み出し要求の送信時刻をtt1とする。さらに、
リアサイン処理部8は、受信した送信通知から、IDと
しての「b」とLBAとしての「a」とを取り出す(ス
テップS91)。First, the reassignment processing section 8 detects the reception time of the transmission notification based on the current time measured by the third timer 81. This reception time is used by the reassignment processing unit 8 as the time at which the SCSI interface 4A transmitted the second read request to the disk 5A. now,
The transmission time of the second read request is tt1 . further,
The reassignment processing unit 8 extracts “b” as the ID and “a” as the LBA from the received transmission notification (step S91).
【0165】ここで、上述の第1のリスト82と、第2
のリスト83について説明する。第1のリスト82は、
図31(a−1)に示すように、ID、LBAおよび処
理開始時刻を登録するフィールドを有する。第1のリス
ト82は、第2の読み出し要求が送信される度に1つ作
成される。リアサイン処理部8は、作成した第1のリス
ト82を、第2の読み出し要求の送信先毎に分類して管
理する。つまり、第1のリスト82は、ディスク5A〜
5Dおよび5P(つまり、SCSIインタフェイス4A
〜4Dおよび4P)毎に分類され管理される。さらに、
各ディスク毎の第1のリスト82は、第2の読み出し要
求の送信順に並べられる。つまり、今、図30(a−
1)には、複数の第1のリスト82が示されている。こ
れら複数の第1のリスト82は、例えばディスク5Aを
送信先とする第2の読み出し要求に応答して作成された
とする。図31(a−1)では、矢印で示すように、紙
面の手前側に示された第1のリスト82には、新しい第
2の読み出し要求(つまり、送信時刻が遅い第2の読み
出し要求)の情報が登録されており、紙面の奥手に示さ
れた第1のリスト82には、古い第2の読み出し要求
(つまり、送信時刻が新しい第2の読み出し要求)の情
報が登録される。Here, the first list 82 described above and the second list 82
Will be described. The first list 82 is
As shown in FIG. 31A-1, there are fields for registering ID, LBA, and processing start time. One first list 82 is created each time a second read request is sent. The reassignment processing unit 8 classifies and manages the created first list 82 for each transmission destination of the second read request. That is, the first list 82 includes the disks 5A to 5A.
5D and 5P (ie, SCSI interface 4A)
44D and 4P). further,
The first list 82 for each disk is arranged in the transmission order of the second read request. That is, now, FIG.
In 1), a plurality of first lists 82 are shown. It is assumed that the plurality of first lists 82 are created in response to a second read request to the disk 5A, for example. In FIG. 31 (a-1), as indicated by the arrow, the first list 82 indicated on the near side of the drawing includes a new second read request (that is, a second read request whose transmission time is later). Is registered, and information of an old second read request (that is, a second read request with a new transmission time) is registered in the first list 82 shown on the back of the paper.
【0166】また、第2のリスト83は、図31(b−
1)に示すように、データブロックまたは冗長データを
格納するLBAを示す情報と、回数カウンタFCの値N
とを登録するフィールドを有する。Also, the second list 83 is shown in FIG.
As shown in 1), information indicating the LBA storing the data block or the redundant data and the value N of the number-of-times counter FC
And a field for registering.
【0167】リアサイン処理部8は、ステップS91の
後に、今回の第2の読み出し要求の送信先(以下、単に
「今回の送信先」と称す)に現在、複数の第2の読み出
し要求が溜まっているか否かを判断する(ステップS9
2)。ステップS92の判断を具体的に説明する。上記
仮定下では、今回の送信先はディスク5Aである。ま
た、上述したように、第1のリスト82は、第2の読み
出し要求がディスク5A〜5Dおよび5Pに送信される
毎に作成され、ディスク5A〜5Dおよび5P毎に分類
され管理される。さらに、第1のリスト82は、対応す
る第2の読み出し要求がディスク5A〜5Dまたは5P
で処理され終わったり、処理が強制中止されると、削除
される。したがって、リアサイン処理部8は、今回の送
信先(ディスク5A)向けに管理する第1のリスト82
の個数をカウントすれば、当該ディスク5Aに溜まって
いる第2の読み出し要求の個数を知ることができる。こ
こで注意を要するのは、ステップS92で第1のリスト
82が1個でも管理されていれば、リアサイン処理部8
は、今回の送信先(ディスク5A)には複数の第2の読
み出し要求が溜まっていると判断する点である。その理
由を以下に述べる。今回送信された第2の読み出し要求
について、第1のリスト82はステップS91の時点で
はまだ作成されていない。リアサイン処理部8は、ステ
ップS91の時点では、それ以前にディスク5Aに送信
された第2の読み出し要求の第1のリスト81だけを管
理している。そのため、ステップS92の時点では、以
前に送信された第2の読み出し要求と、今回送信された
ものとが、今回の送信先(ディスク5A)により保持さ
れている。ゆえに、リアサイン処理部8は、ステップS
92において、第1のリスト82を1個でも管理してい
る場合、今回の送信先(ディスク5A)には複数の第2
の読み出し要求が溜まっていると判断する。After step S91, the reassignment processing section 8 currently stores a plurality of second read requests at the transmission destination of the current second read request (hereinafter, simply referred to as “current transmission destination”). It is determined whether or not there is (Step S9)
2). The determination in step S92 will be specifically described. Under the above assumption, the current transmission destination is the disk 5A. Further, as described above, the first list 82 is created each time the second read request is transmitted to the disks 5A to 5D and 5P, and is classified and managed for each of the disks 5A to 5D and 5P. Further, the first list 82 indicates that the corresponding second read request indicates that the disk 5A to 5D or 5P
When the processing is completed or the processing is forcibly stopped, it is deleted. Therefore, the reassignment processing unit 8 manages the first list 82 managed for the current transmission destination (disk 5A).
Is counted, the number of second read requests accumulated in the disk 5A can be known. Here, it should be noted that if at least one first list 82 is managed in step S92, the reassignment processing unit 8
Is that it is determined that a plurality of second read requests are stored at the current transmission destination (disk 5A). The reason is described below. Regarding the second read request transmitted this time, the first list 82 has not been created yet at the time of step S91. At the time of step S91, the reassignment processing unit 8 manages only the first list 81 of the second read request transmitted to the disk 5A before that. Therefore, at the time of step S92, the previously transmitted second read request and the currently transmitted second read request are held by the current transmission destination (disk 5A). Therefore, the reassignment processing unit 8 performs step S
In 92, if at least one first list 82 is managed, a plurality of second lists are assigned to the current transmission destination (disk 5A).
It is determined that the read requests of are accumulated.
【0168】リアサイン処理部8は、ステップS92で
複数の第2の読み出し要求が溜まっていないと判断した
場合、新しい第1のリスト82を作成する。リアサイン
処理部8は、ステップS81で得たLBA「a」および
ID「b」を、新たに作成した第1のリスト82に登録
する。さらに、リアサイン処理部8は、ステップS91
で検出した送信時刻「tt1」を処理開始時刻として、L
BA「a」およびID「b」が登録された第1のリスト
82に登録する。また、リアサイン処理部8は、ステッ
プS91でSCSIインタフェイス4Aから送信通知を
受信しているので、新規作成した第1のリスト82を、
ディスク5Aのものとして分類して保持する(ステップ
S93)。その結果、今回の作成された第1のリスト8
2には、図31(a−2)に示すような情報が登録され
る。When the reassignment processing section 8 determines in step S92 that a plurality of second read requests have not been accumulated, it creates a new first list 82. The reassignment processing unit 8 registers the LBA “a” and the ID “b” obtained in step S81 in the newly created first list 82. Further, the reassignment processing section 8 determines in step S91
The transmission time “t t1 ” detected in the above is set as the processing start time,
The BA “a” and the ID “b” are registered in the first list 82 registered. In addition, since the reassignment processing unit 8 has received the transmission notification from the SCSI interface 4A in step S91, the reassignment processing unit 8 stores the newly created first list 82
The data is classified and stored as the disk 5A (step S93). As a result, the first list 8 created this time
2, information as shown in FIG. 31 (a-2) is registered.
【0169】一方、リアサイン処理部8は、ステップS
92で複数の第2の読み出し要求が溜まっていると判断
した場合、ステップS94に進む。今回の送信先(ディ
スク5A)に他の第2の読み出し要求が溜まっている場
合、今回の第2の読み出し要求は、以前の第2の読み出
し要求の処理が終わらない限り、今回の送信先によって
処理されない。つまり、今回の第2の読み出し要求は、
処理されることを今回の送信先の内部で待たなければい
けない。そのため、ステップS93のように、ステップ
S91で検出された送信時刻「tt1」が処理開始時刻と
して第1のリスト82に設定されることは不適切であ
る。そこで、リアサイン処理部8は、ステップS94に
おいて、ステップS91で得られたLBA「a」および
ID「b」のみを第1のリスト82に登録して管理する
(ステップS94)。ここで、注意を要するのは、ステ
ップS94で登録されなかった処理開始時刻は、後で登
録される(詳細については、後述のステップS104を
参照)。On the other hand, the reassignment processing section 8 determines in step S
If it is determined in step 92 that a plurality of second read requests are accumulated, the process proceeds to step S94. When another second read request is accumulated in the current transmission destination (disk 5A), the current second read request is transmitted by the current transmission destination unless the processing of the previous second read request is completed. Not processed. That is, the current second read request is
You have to wait inside this destination to be processed. Therefore, it is inappropriate to set the transmission time “t t1 ” detected in step S91 as the processing start time in the first list 82 as in step S93. Therefore, in step S94, the reassignment processing unit 8 registers and manages only the LBA “a” and the ID “b” obtained in step S91 in the first list 82 (step S94). Here, it should be noted that the processing start time not registered in step S94 is registered later (for details, see step S104 described later).
【0170】また、リアサイン処理部8は、図30の処
理手順とは別に、図32のフローチャートに示される処
理手順を実行する。図32は、リアサイン処理部8が欠
陥記録領域を検出するための処理を示している。まず、
リアサイン処理部8は、現在保持する第1のリスト82
を参照して、各ディスク5A〜5Dおよび5Pに送信さ
れた各第2の読み出し要求の遅延時間TD を測定する。
ここで、本実施形態において、遅延時間TD とは、ディ
スク5A〜5Dおよび5Pが第2の読み出し要求の処理
を開始してから、現在時刻までの時間を意味する。The reassignment processing section 8 executes the processing procedure shown in the flowchart of FIG. 32 separately from the processing procedure of FIG. FIG. 32 shows a process for the reassignment processing unit 8 to detect a defect recording area. First,
The reassignment processing unit 8 stores the first list 82 currently held.
See, for measuring the delay time T D of the second read request sent to each disk 5A~5D and 5P.
In the present embodiment, the delay time T D, the disk 5A~5D and 5P has started processing the second read request, means the time to the current time.
【0171】以下、遅延時間TD の測定処理をより具体
的に説明する。上述から明らかなように、SCSIイン
タフェイス4Aがディスク5Aに第2の読み出し要求を
送信する度に、第1のリスト82が1つ作成される。他
のディスク5B〜5Dおよび5Pについても同様に、第
1のリスト82が作成される。各第1のリスト82に
は、第2の読み出し要求の処理開始時刻が登録されてい
るものがある。リアサイン処理部8は、まず、処理開始
時刻が登録されている第1のリスト82の中から、処理
対象の第1のリスト82を1つ選択する。つぎに、リア
サイン処理部8は、処理対象の第1のリスト82から、
処理開始時刻を取り出す。次に、リアサイン処理部8
は、タイマ81により計時される現在時刻TP を得る。
次に、リアサイン処理部8は、現在時刻TP から、取り
出した処理開始時刻を減算する。この減算結果が、処理
対象の第1のリスト82に対応する第2の読み出し要求
の遅延時間TD として定義される。Hereinafter, the measurement processing of the delay time T D will be described more specifically. As is clear from the above, one first list 82 is created each time the SCSI interface 4A sends a second read request to the disk 5A. Similarly, the first list 82 is created for the other disks 5B to 5D and 5P. Some of the first lists 82 have registered therein the processing start times of the second read requests. First, the reassignment processing unit 8 selects one of the first lists 82 to be processed from the first lists 82 in which the processing start times are registered. Next, the reassignment processing unit 8 calculates, from the first list 82 to be processed,
Extract the processing start time. Next, the reassignment processing unit 8
Obtains a current time T P which is measured by the timer 81.
Next, reassignment processing unit 8, the current time T P, subtracts the processing start times retrieved. This subtraction result is defined as the delay time T D of the second read request corresponding to the first list 82 to be processed.
【0172】また、リアサイン処理部8は、限界時間T
L を内部に予め記憶している。限界時間TL は、本RA
ID装置で予め定められており、各ディスク5A〜5D
および5Pに欠陥記録領域を含むか否かを判断するため
の指標である。また、限界時間TL は、ホスト装置側で
映像および音声が途切れることなく、データを送信でき
ることを保証する時間であることがより好ましい。さ
て、リアサイン処理部8は、算出した遅延時間TD が、
予め記憶する限界時間TL を超えているか否かを判断す
る(ステップS101)。遅延時間TD が限界時間TL
を超えている場合、リアサイン処理部8は、処理対象の
第1のリスト82により特定される第2の読み出し要求
の処理が遅れていると判断し、当該第2の読み出し要求
により指定されたLBAに欠陥が生じている可能性があ
ると判断する。Further, the reassignment processing section 8 sets a time limit T
L is stored in advance internally. The limit time T L is the actual RA
Each disk 5A to 5D is predetermined by the ID device.
And 5P are indexes for determining whether or not a defect recording area is included. Further, the limit time T L is more preferably a time that guarantees that data and data can be transmitted without interruption of video and audio on the host device side. By the way, the reassignment processing unit 8 determines that the calculated delay time T D is
It is determined whether or not a time limit T L stored in advance is exceeded (step S101). The delay time T D is equal to the limit time T L
Is exceeded, the reassignment processing unit 8 determines that the processing of the second read request specified by the first list 82 to be processed is delayed, and determines the LBA specified by the second read request. It is determined that there is a possibility that a defect has occurred.
【0173】以上のステップS101の処理の具体例を
説明する。今、リアサイン処理部8は、図31(a−
2)に示す第1のリスト82を選択したと仮定する。同
図の第1のリスト82には、ID「b」、LBA
「a」、さらに、処理開始時刻「tt1」が登録されてい
る。したがって、ID「b」により特定される第2の読
み出し要求の遅延時間TD は(TP −tt1)により求め
られる。さらに、リアサイン処理部8は、(TD >T
L )を満たすか否かを判断する。(TD >TL )を満た
さない場合、リアサイン処理部8は、新しい第1のリス
ト82を処理対象として選択して、ステップS101を
実行する。なお、新しい第1のリスト82を選択できな
い場合、リアサイン処理部8は、図32の処理手順を終
了する。A specific example of the processing in step S101 will be described. Now, the reassignment processing unit 8 is configured as shown in FIG.
Assume that the first list 82 shown in 2) is selected. The first list 82 of FIG.
"A" and a processing start time " tt1 " are registered. Therefore, the delay time T D of the second read request is identified by the ID "b" is determined by (T P -t t1). Further, the reassignment processing section 8 calculates (T D > T
L ) It is determined whether or not the condition is satisfied. If (T D> T L) is not satisfied, and reassignment processing unit 8 selects a new first list 82 as a processing target, executes step S101. If the new first list 82 cannot be selected, the reassignment processing unit 8 ends the processing procedure of FIG.
【0174】一方、ステップS101で「TD >TL 」
を満たす場合、リアサイン処理部8は、処理対象の第1
のリスト82により特定される第2の読み出し要求の処
理を中止するように、SCSIインタフェイス4に指示
する(ステップS102)。ステップS102におい
て、リアサイン処理部8は、第2の読み出し要求の中止
を指示するために、SCSIメッセージの一つであるA
BORT_TAGを生成して、SCSIインタフェイス
4に送信する。SCSIインタフェイス4は、受信した
ABORT_TAGを、自身と接続されたディスク5に
送信する。ディスク5は、受信したABORT_TAG
に応答して、ID「b」により特定される第2の読み出
し要求の処理を中止する。ここで、上述で仮定したよう
に、ID「b」で特定される第2の読み出し要求は、S
CSIインタフェイス4Aを通じてディスク5Aに送信
されているので、リアサイン処理部8は、ABORT_
TAGをSCSIインタフェイス4Aを通じて、ディス
ク5Aに送信する。その結果、ディスク5AがID
「b」により特定される第2の読み出し要求の処理をを
中止する。また、SCSIインタフェイス4は、ABO
RT_TAGを送信した後、ID「b」により特定され
る第2の読み出し要求の処理が失敗したことを示す信号
である読み出し応答(失敗)を制御部7に送信する。[0174] On the other hand, "T D> T L" in step S101
When the condition is satisfied, the reassignment processing unit 8
The SCSI interface 4 is instructed to stop the process of the second read request specified by the list 82 (step S102). In step S102, the reassignment processing unit 8 transmits one of the SCSI messages A to stop the second read request.
A BORT_TAG is generated and transmitted to the SCSI interface 4. The SCSI interface 4 transmits the received ABORT_TAG to the disk 5 connected thereto. The disk 5 receives the received ABORT_TAG
, The processing of the second read request specified by the ID “b” is stopped. Here, as assumed above, the second read request specified by ID “b” is S
Since the data is transmitted to the disk 5A through the CSI interface 4A, the reassignment processing unit 8
The TAG is transmitted to the disk 5A via the SCSI interface 4A. As a result, the disk 5A has the ID
The processing of the second read request specified by “b” is stopped. The SCSI interface 4 is an ABO
After transmitting the RT_TAG, the control section 7 transmits a read response (failure), which is a signal indicating that the processing of the second read request specified by the ID “b” has failed.
【0175】リアサイン処理部8は、ステップS102
の次に、処理対象の第1のリスト82により特定される
ディスク(以下、今回の処理対象と称す)向けに、他の
第1のリスト82を管理しているか否かを判断する(ス
テップS102)。より具体的には、リアサイン処理部
8は、今回の処理対象に現在、第2の読み出し要求が複
数溜まっているか否かを判断する(ステップS10
3)。The reassignment processing section 8 determines in step S102
Next, it is determined whether or not another first list 82 is managed for the disk specified by the first list 82 to be processed (hereinafter, referred to as the current processing target) (step S102). ). More specifically, the reassignment processing unit 8 determines whether a plurality of second read requests are currently stored in the current processing target (step S10).
3).
【0176】リアサイン処理部8は、ステップS103
で他の第1のリスト82を管理していると判断した場
合、ステップS104に進む。今、上記仮定下では、今
回の処理対象(ディスク5A)向けに、複数の第1のリ
スト82が管理されている。また、後述するステップS
108またはS1013では処理対象の第1のリスト8
2が削除される。そのため、リアサイン処理部8は、現
時点で、図31(a−3)に示すように、処理対象の第
1のリスト82と、当該処理対象の次に作成された第1
のリスト82(以下、「次の第1のリスト82」と称
す)を管理している。図31(a−3)では、次のた第
1のリスト82の内の1つが点線で示されている。ここ
で注意を要するのは、このような、次の第1のリスト8
2には、処理開始時刻は登録されていない点である。な
ぜなら、後に作成された第1のリスト82は、図30の
ステップS94で作成されたものだからである。処理開
始時刻を新規登録するため、リアサイン処理部8は、ス
テップS104において、まず、第3のタイマ81から
現在時刻TP を得る。リアサイン処理部8は、現在時刻
TP を、次の第1のリスト82に登録する(ステップS
104)。その後、リアサイン処理部8はステップS1
05に進む。一方、リアサイン処理部8は、ステップS
103で他の第2の読み出し要求が溜まっていない場
合、ステップS104を実行せずにステップS105に
進む。The reassignment processing section 8 determines in step S103
If it is determined that the other first list 82 is managed, the process proceeds to step S104. Now, under the above assumption, a plurality of first lists 82 are managed for the current processing target (disk 5A). In addition, step S described later
In 108 or S1013, the first list 8 to be processed
2 is deleted. Therefore, as shown in FIG. 31 (a-3), the reassignment processing unit 8 currently stores the first list 82 of the processing target and the first list 82 created next to the processing target.
(Hereinafter referred to as a “next first list 82”). In FIG. 31A-3, one of the following first lists 82 is indicated by a dotted line. It should be noted that the following first list 8
2 is that the processing start time is not registered. This is because the first list 82 created later is created in step S94 in FIG. To register a new processing start time, reassignment processor 8, in step S104, first, to obtain the current time T P from the third timer 81. The reassignment processing unit 8 registers the current time T P in the next first list 82 (step S
104). Thereafter, the reassignment processing unit 8 proceeds to step S1
Go to 05. On the other hand, the reassignment processing unit 8
If another second read request is not accumulated in 103, the process proceeds to step S105 without executing step S104.
【0177】次に、リアサイン処理部8は、処理対象の
第1のリスト82から、そこに登録されたLBAを取り
出す。以下、取り出されたLBAを検査対象のLBAと
称する。上記仮定下では、検査対象のLBAは「a」で
ある。検査対象のLBAは、上述したように欠陥記録領
域の可能性がある。リアサイン処理部8は、検査対象の
LBAを基に、現在管理している第2のリスト83(図
31(b−1)参照)を検索して、検査対象のLBAが
登録された第2のリスト83があるか否かを判断する
(ステップS105)。Next, the reassignment processing section 8 extracts the LBA registered therein from the first list 82 to be processed. Hereinafter, the extracted LBA is referred to as an LBA to be inspected. Under the above assumption, the LBA to be inspected is “a”. The LBA to be inspected may be a defect recording area as described above. The reassignment processing unit 8 searches the currently managed second list 83 (see FIG. 31 (b-1)) based on the LBA to be inspected, and retrieves the second list 83 in which the LBA to be inspected is registered. It is determined whether or not there is a list 83 (step S105).
【0178】前述したように、第2のリスト83は、L
BAと回数カウンタFCの値Nとを登録するためのフィ
ールドを有する。回数カウンタFCの値Nは、検査対象
のLBAが過去に何回連続してステップS101の(T
D >TL )を満たしたかを示している。そのため、ステ
ップS105で第2のリスト83を探し出せれば、検査
対象のLBAは、少なくとも前回の検査時においても、
欠陥記録領域の可能性があると判断されたことになる。
つまり、前回と今回と合わせて2回、検査対象のLBA
からデータブロックまたは冗長データを読み出すために
第2の読み出し要求が送信されていることとなる。しか
も、各第2の読み出し要求の送信に応答して実行された
2回のステップS101において、リアサイン処理部8
は、連続して(TD >TL )を満たすと判断したことと
なる。一方、ステップS105で第2のリスト83を探
し出すことができなければ、当該LBAは今回初めて、
欠陥記録領域の可能性があると判断されたことになる。As described above, the second list 83 contains L
There is a field for registering the BA and the value N of the number counter FC. The value N of the number-of-times counter FC is equal to (T
D > T L ). Therefore, if the second list 83 can be found in step S105, the LBA to be inspected is at least at the time of the previous inspection.
It is determined that there is a possibility of a defect recording area.
In other words, the LBA to be inspected twice
, A second read request has been transmitted to read a data block or redundant data from. Moreover, in the two steps S101 executed in response to the transmission of each second read request, the reassignment processing unit 8
Is determined to continuously satisfy (T D > T L ). On the other hand, if the second list 83 cannot be found in step S105, the LBA is
It is determined that there is a possibility of a defect recording area.
【0179】さて、ステップS105で第2のリスト8
3を探し出すことができた場合、ステップS109が実
行される。一方、リアサイン処理部8は、ステップS1
05で第2のリスト83を探し出すことができなかった
場合、ステップS106を実行する。今、ステップS1
05で第2のリスト83を探し出すことができなかった
と仮定して、説明を続ける。この仮定下では、リアサイ
ン処理部8は、ステップS106に進み、新しい第2の
リスト83を作成する。リアサイン処理部8は、図31
(b−2)に示すように、新規作成した第2のリスト8
3において対応するフィールドに、検査対象のLBA
(上記仮定下では「a」)を登録する。さらに、リアサ
イン処理部8は、対応するフィールドに、回数カウンタ
FCの初期値として「1」を登録する(ステップS10
6)。Now, in step S105, the second list 8
If No. 3 has been found, step S109 is executed. On the other hand, the reassignment processing unit 8 determines in step S1
If the second list 83 cannot be found in step 05, step S106 is executed. Now, step S1
Assuming that the second list 83 could not be found at 05, the description continues. Under this assumption, the reassignment processing section 8 proceeds to step S106 and creates a new second list 83. The reassignment processing unit 8 is configured as shown in FIG.
As shown in (b-2), the newly created second list 8
In the corresponding field in 3, the LBA to be inspected is
(“A” under the above assumption). Further, the reassignment processing unit 8 registers “1” as an initial value of the number-of-times counter FC in the corresponding field (step S10).
6).
【0180】リアサイン処理部8は、ステップS106
の次に、検査対象のLBAが登録された第2のリスト8
3(以下、処理対象の第2のリスト83と称する)に登
録された回数カウンタFCの値Nが、規定回数NL に達
しているか否かを判断する(ステップS107)。規定
回数NL は、本実施形態に係るRAID装置において予
め定められており、検査対象のLBAが欠陥記録領域で
あるか否かを決定するための閾値である。また、規定回
数NL としては、RAID装置の仕様に応じて1以上の
適当な自然数が選ばれる。本実施形態では、説明の便宜
上、規定回数N L が「2」に選ばれていると仮定する。
今、処理対象の第2のリスト83は、ステップS106
において新規作成された直後である。したがって、処理
対象の第2のリスト83には、回数カウンタの値Nとし
て「1」が登録されている(図31(b−2)参照)。
そのため、リアサイン処理部8は、ステップS107に
おいて、値Nが規定回数NL に達していないと判断す
る。その結果、リアサイン処理部8は、ステップS10
8に進む。The reassignment processing unit 8 determines in step S106
Next, the second list 8 in which the LBA to be inspected is registered
3 (hereinafter, referred to as a second list 83 to be processed).
When the value N of the recorded number counter FC is equal to the specified number NL Reached
It is determined whether or not it has been performed (step S107). Regulation
Number NL Is reserved in the RAID device according to the present embodiment.
LBA to be inspected is in the defect recording area
This is a threshold for determining whether or not there is. Also, the prescribed times
Number NL As one or more according to the specifications of the RAID device.
An appropriate natural number is selected. In the present embodiment, for convenience of explanation,
Above, specified number N L Is chosen to be "2".
Now, the second list 83 to be processed is stored in step S106.
Immediately after it is newly created. Therefore, processing
In the second list 83 of the objects, the value N of the number counter is set.
"1" is registered (see FIG. 31 (b-2)).
Therefore, the reassignment processing unit 8 proceeds to step S107.
Where the value N is equal to the specified number NL Judge that has not reached
You. As a result, the reassignment processing unit 8 determines in step S10
Proceed to 8.
【0181】次に、リアサイン処理部8は、処理対象の
第1のリスト82が不要になったとして、当該第1のリ
スト82を削除する(ステップS108)。これによっ
て、第1のリスト82が重複して処理対象として選択さ
れることがなくなる。上記仮定に従うと、現時点では、
IDとして「b」、LBAとして「a」さらに処理開始
時刻として「tt1」が登録された第1のリスト82が削
除される。ここで注意を要するのは、処理対象の第2の
リスト83はステップS108で削除されない点であ
る。ステップS108が終了すると、リアサイン処理部
8は、ステップS101に戻り、新しい処理対象の第1
のリスト82を選択して、引き続き処理を実行する。な
お、ステップS106で値Nが規定回数NL に達してい
る場合には、後述するステップS109が実行される。Next, the reassignment processing section 8 determines that the first list 82 to be processed is no longer needed and deletes the first list 82 (step S108). This prevents the first list 82 from being redundantly selected as a processing target. According to the above assumption, at this time,
The first list 82 in which “b” is registered as the ID, “a” is registered as the LBA, and “t t1 ” is registered as the processing start time is deleted. It should be noted here that the second list 83 to be processed is not deleted in step S108. When step S108 ends, the reassignment processing unit 8 returns to step S101 and sets the first
Is selected, and the process is subsequently executed. If the value N has reached the prescribed number of times NL in step S106, step S109 described later is executed.
【0182】また、制御部7には、他の第1の読み出し
要求がホスト装置から到着する。制御部7は、第1の読
み出し要求の到着に応答して、第2の読み出し要求のセ
ットを、SCSIインタフェイス4A〜4Dおよび4P
に送信する。SCSIインタフェイス4A〜4Dおよび
4Pは、受信した第2の読み出し要求をディスク5A〜
5Dおよび5Pに送信する。今、ディスク5Aに送信さ
れた第2の読み出し要求は、LBA「a」からのデータ
ブロックの読み出しを指示していると仮定する。この場
合、SCSIインタフェイス4Aの通知部41Aは、デ
ィスク5Aに送信した第2の読み出し要求について送信
通知を作成し、リアサイン処理部8に送信する。今回の
送信通知は、IDおよびLBAとして「c」および
「a」を含むとする。Further, another first read request arrives at the control unit 7 from the host device. In response to the arrival of the first read request, the control unit 7 transmits the second set of read requests to the SCSI interfaces 4A to 4D and 4P.
Send to The SCSI interfaces 4A to 4D and 4P transmit the received second read request to the disks 5A to 5D.
Send to 5D and 5P. Now, it is assumed that the second read request transmitted to the disk 5A indicates reading of a data block from LBA “a”. In this case, the notification unit 41A of the SCSI interface 4A creates a transmission notification for the second read request transmitted to the disk 5A, and transmits the transmission notification to the reassignment processing unit 8. This transmission notification includes “c” and “a” as ID and LBA.
【0183】リアサイン処理部8は、図30に示す処理
を実行する。そのため、まず、リアサイン処理部8は、
送信通知を受信すると、第3のタイマ81から現在時刻
TPを得る。この現在時刻TP は、上述のように、SC
SIインタフェイス4Aが第2の読み出し要求をディス
ク5Aに送信した時刻として用いられる。今、第2の読
み出し要求の送信時刻を「tt2」とする。さらに、リア
サイン処理部8は、受信した送信通知から、IDとして
の「c」とLBAとしての「a」とを取り出す(ステッ
プS91)。次に、リアサイン処理部8は、ステップS
92→S93の処理手順、またはステップS92→S9
4の処理手順を実行して、今回送信された第2の読み出
し要求について、第1のリスト82を新規作成して、図
30の処理を終了する。今、今回の送信先(ディスク5
A)が第2の読み出し要求を1個だけ保持すると仮定す
ると、第1のリスト82には、LBAとして「a」、I
Dとして「c」および処理開始時刻として「tt2」が登
録される(図31(a−4)参照)。The reassignment processing section 8 executes the processing shown in FIG. Therefore, first, the reassignment processing unit 8
When the transmission notification is received, the current time TP is obtained from the third timer 81. This current time T P is, as described above, SC
It is used as the time when the SI interface 4A transmitted the second read request to the disk 5A. Now, assume that the transmission time of the second read request is “ tt2 ”. Further, the reassignment processing unit 8 extracts “c” as the ID and “a” as the LBA from the received transmission notification (step S91). Next, the reassignment processing unit 8 determines in step S
92 → S93 processing procedure, or step S92 → S9
By executing the processing procedure of No. 4, the first list 82 is newly created for the second read request transmitted this time, and the processing of FIG. 30 ends. Now, this destination (disk 5
Assuming that A) holds only one second read request, the first list 82 contains "a" as the LBA, I
“C” is registered as D and “ tt2 ” is registered as the processing start time (see FIG. 31A-4).
【0184】また、リアサイン処理部8は、図32に示
す処理を実行する。まず、リアサイン処理部8は、現在
保持する第1のリスト82から、処理対象の第1のリス
ト82を選択する。その後、リアサイン処理部8は、処
理対象の第1のリスト82を参照して算出した遅延時間
TD が限界時間TL を超えているか否かを判断する(ス
テップS101)。今、処理対象の第1のリスト82が
図31(a−4)に示すものであると仮定すると、遅延
時間TD は「TP −tt2」により求められる。「TD
(=TP −tt2)>TL 」を満たす場合、リアサイン処
理部8は、処理対象の第1のリスト82により特定され
る第2の読み出し要求の処理を中止した後(ステップS
102)、今回の処理対象(ディスク5A)向けに、他
の第1のリスト82を管理しているか否かを判断する
(ステップS103)。上記仮定下では、今回の送信先
(ディスク5A)は1個の第2の読み出し要求を保持す
るので、リアサイン処理部8は、ステップS103から
S105に直接進む。次に、リアサイン処理部8は、処
理対象の第1のリスト82に登録されたLBAを、検査
対象のLBA(現時点では「a」)として取り出す。さ
らに、リアサイン処理部8は、検査対象のLBAを基
に、現在管理している第2のリスト83を検索して、検
査対象のLBAが登録されたもの(図31(b−2)参
照)があるか否かを判断する(ステップS105)。上
述したように、今、リアサイン処理部8は、図31(b
−2)に示す第2のリスト83を管理するので、ステッ
プS108に進む。ここで、検査対象のLBAが登録さ
れた第2のリスト83は、上述したように、処理対象と
してリアサイン処理部8により扱われる。Further, the reassignment processing section 8 executes the processing shown in FIG. First, the reassignment processing unit 8 selects the first list 82 to be processed from the currently stored first list 82. Thereafter, reassignment processing unit 8, the delay time T D which is calculated with reference to the first list 82 to be processed is determined whether it exceeds the limit time T L (step S101). Now, when the first list 82 to be processed is assumed to be that shown in FIG. 31 (a-4), the delay time T D is determined by the "T P -t t2". "T D
(= T P -t t2)> When satisfying T L ", reassignment processing unit 8, after stopping the process of the second read request specified by the first list 82 to be processed (step S
102), it is determined whether or not another first list 82 is managed for the current processing target (disk 5A) (step S103). Under the above assumption, since the current transmission destination (disk 5A) holds one second read request, the reassignment processing unit 8 proceeds directly from step S103 to S105. Next, the reassignment processing unit 8 extracts the LBA registered in the first list 82 to be processed as the LBA to be inspected (currently “a”). Further, the reassignment processing unit 8 searches the currently managed second list 83 based on the LBA to be inspected, and registers the LBA to be inspected (see FIG. 31 (b-2)). It is determined whether or not there is (step S105). As described above, now, the reassignment processing unit 8
Since the second list 83 shown in -2) is managed, the process proceeds to step S108. Here, the second list 83 in which the inspection target LBA is registered is handled by the reassignment processing unit 8 as a processing target, as described above.
【0185】次に、リアサイン処理部8は、処理対象の
第2のリスト83に登録された回数カウンタFCの値N
を「1」だけインクリメントする(ステップS10
9)。上記仮定に従えば、図31(b−2)の値Nが
「1」だけインクリメントされる。その結果、図31
(b−3)に示すように値Nは「2」となる。リアサイ
ン処理部8は、ステップS109の次に、処理対象の第
2のリスト83に登録された値Nが、規定回数NL (前
述と同様、「2」とする)に達しているか否かを判断す
る(ステップS107)。上記仮定に従うと、処理対象
の第2のリスト83について、回数カウンタFCの値N
は現在「2」であるため、リアサイン処理部8は、検査
対象のLBA(現時点では、ディスク5AのLBA
「a」)で特定される記録領域が欠陥記録領域であると
みなして、ステップS1010に進む。Next, the reassignment processing section 8 sets the value N of the number counter FC registered in the second list 83 to be processed.
Is incremented by "1" (step S10).
9). According to the above assumption, the value N in FIG. 31B-2 is incremented by “1”. As a result, FIG.
As shown in (b-3), the value N is “2”. After step S109, the reassignment processing unit 8 determines whether or not the value N registered in the second list 83 to be processed has reached a specified number of times N L (same as above, “2”). A determination is made (step S107). According to the above assumption, for the second list 83 to be processed, the value N
Is currently “2”, the reassignment processing unit 8 checks the LBA to be inspected (currently, the LBA of the disk 5A).
It is determined that the recording area specified by “a”) is a defect recording area, and the process proceeds to step S1010.
【0186】次に、リアサイン処理部8は、代替記録領
域情報管理部9が管理する第1のテーブル91(図25
参照)にアクセスして、現在使用可能な代替記録領域を
特定するLBAの中から、1つのLBAを選択する。こ
れによって、リアサイン処理部8は、代替記録領域を選
択し、欠陥記録領域に割り当てる(ステップS101
0)。選択された代替記録領域のサイズは、データブロ
ックまたは冗長データのサイズ(本実施形態では512
バイト)と等しい。Next, the reassignment processing section 8 executes the first table 91 (FIG. 25) managed by the alternative recording area information management section 9.
), And selects one LBA from the LBAs specifying the currently available alternative recording area. Thereby, the reassignment processing section 8 selects an alternative recording area and assigns it to the defect recording area (step S101).
0). The size of the selected alternative recording area is the size of the data block or the redundant data (512 in this embodiment).
Bytes).
【0187】次に、リアサイン処理部8は、欠陥記録領
域のLBA(現時点では、ディスク5AのLBA
「a」)、および選択された代替記録領域のLBAをア
ドレス変換処理部11に通知する(ステップS101
1)。アドレス変換処理部11は、リアサイン処理部8
から受け取った欠陥記録領域のLBAおよび代替記録領
域のLBAを、アドレス情報管理部10により管理され
る第2のテーブル101(図27参照)に登録する。こ
こで注意を要するのは、図27では、欠陥記録領域のL
BAは、データブロックまたは冗長データが元々記録さ
れていた格納場所を特定するので、オリジナルLBAと
記載されている点である。また、代替記録領域のLBA
は、欠陥記録領域に記録されていたデータブロックまた
は冗長データの現在の記録領域を特定するので、カレン
トLBAと記載されている。このように、アドレス情報
が更新されるので、制御部7は、今回リアサインされた
データブロックまたは冗長データを読み出すための第2
の読み出し要求を次回作成する場合、カレントLBAを
用いることとなる。Next, the reassignment processing section 8 determines the LBA of the defect recording area (currently, the LBA of the disk 5A).
“A”) and the LBA of the selected alternative recording area are notified to the address conversion processing unit 11 (step S101).
1). The address conversion processing unit 11 includes a reassignment processing unit 8
The LBA of the defect recording area and the LBA of the replacement recording area received from the server are registered in the second table 101 (see FIG. 27) managed by the address information management unit 10. Attention should be paid here to the fact that in FIG.
The BA specifies the storage location where the data block or redundant data was originally recorded, and thus is described as the original LBA. Also, the LBA of the alternative recording area
Specifies the current recording area of the data block or the redundant data recorded in the defect recording area, and is described as the current LBA. As described above, since the address information is updated, the control unit 7 performs the second operation for reading the data block or the redundant data that has been reassigned this time.
When the next read request is created, the current LBA will be used.
【0188】ステップS1011の次に、リアサイン処
理部8は、ステップS1010で選択された代替記録領
域を重複選択しないように、代替記録領域情報管理部9
により管理される第1のテーブル91を更新する(ステ
ップS1012)。この更新処理によって、リアサイン
処理部8は、今回選択された代替記録領域の重複選択を
防ぐ。これによってリアサイン処理が終了する。リアサ
イン処理が終了すると、処理対象の第1のリスト82
と、処理対象の第2のリスト83が不要となるので、リ
アサイン処理部8は、当該処理対象の第1のリスト82
および第2のリスト83を削除する(ステップS101
3)。さらに、リアサイン処理部8は、リアサイン処理
が終了した旨を示す信号であるリアサイン終了通知を生
成し、制御部7に送信する(ステップS1014)。リ
アサイン終了通知には、欠陥記録領域および代替記録領
域のLBAを示す情報が含まれている。Subsequent to step S1011, the reassignment processing section 8 sets the alternative recording area information management section 9 so that the alternative recording area selected in step S1010 is not redundantly selected.
Is updated in the first table 91 managed by (step S1012). By this updating process, the reassignment processing unit 8 prevents the redundant selection of the alternate recording area selected this time. Thus, the reassignment process ends. When the reassignment process is completed, the first list 82 to be processed
And the second list 83 of the processing target becomes unnecessary, so the reassignment processing unit 8 sets the first list 82 of the processing target to be unnecessary.
And the second list 83 are deleted (step S101).
3). Further, the reassignment processing section 8 generates a reassignment end notification, which is a signal indicating that the reassignment processing has been completed, and transmits it to the control section 7 (step S1014). The reassignment end notification includes information indicating the LBAs of the defect recording area and the replacement recording area.
【0189】制御部7は、リアサイン処理部8からのリ
アサイン終了通知の受信に応答して、本RAID装置に
採用されたRAIDレベルのポリシーに従って、リアサ
インにより欠損したデータブロックまたは冗長データを
復元した後、今回の送信先となったディスク(リアサイ
ンが実行されたディスク)の代替記録領域に、復元され
たデータブロックまたは冗長データを書き込む。この処
理については周知技術であるため、その詳細な説明を省
略する。このデータブロックまたは冗長データの書き込
みによって、各ディスク5A〜5Dおよび5Pに記録さ
れるパリティ系列は、リアサイン処理の実行前後で正確
に整合性が取られる。In response to the reception of the reassignment completion notification from the reassignment processing unit 8, the control unit 7 restores data blocks or redundant data lost by reassignment in accordance with the RAID level policy adopted in the present RAID device. Then, the restored data block or the redundant data is written in the alternative recording area of the disk (reassigned disk) that is the transmission destination this time. Since this processing is a well-known technique, a detailed description thereof will be omitted. By writing the data block or the redundant data, the parity sequences recorded on the disks 5A to 5D and 5P are accurately matched before and after the execution of the reassignment process.
【0190】以上のように、本実施形態に係るRAID
装置では、ディスク5A〜5Dまたは5Pから欠陥記録
領域が検出されると、リアサイン処理が行われる。その
結果、欠陥記録領域には、代替記録領域が割り当てられ
る。この代替記録領域には、欠損したデータブロックま
たは冗長データが格納される。つまり、欠陥記録領域に
データブロックまたは冗長データは、そのまま放置され
なくなる。これによって、本RAID装置は、欠陥記録
領域が検出された後には、当該欠陥記録領域にアクセス
せずに、代替記録領域にアクセスして、データブロック
または冗長データを読み出そうとする。その結果、本実
施形態の冒頭で述べたような問題点、つまり欠陥記録領
域にアクセスし続けることによる、読み出しの遅れが発
生しないようにすることができる。As described above, the RAID according to the present embodiment
In the apparatus, when a defect recording area is detected from the disks 5A to 5D or 5P, a reassignment process is performed. As a result, an alternative recording area is assigned to the defect recording area. In this alternative recording area, lost data blocks or redundant data are stored. That is, the data block or the redundant data in the defect recording area is not left as it is. As a result, after detecting a defective recording area, the RAID apparatus attempts to read a data block or redundant data by accessing an alternative recording area without accessing the defective recording area. As a result, it is possible to prevent a problem as described at the beginning of the present embodiment, that is, a delay in reading due to continuous access to the defective recording area.
【0191】以上の第6の実施形態では、代替記録領域
が割り当てられるタイミングを明確にするために、読み
出し応答が各SCSIインタフェイス4A〜4Dおよび
4Pにより受信された場合の動作を一部省略して説明し
た。つまり、読み出し応答がSCSIインタフェイス4
A〜4Dおよび4Pに返ってくると、第1のリスト82
の内容は、読み出し応答が返ってきた時刻や当該読み出
し応答の内容(読み出しの成否)に応じて変化する。次
に、リアサイン処理部8が、読み出し応答が返ってきた
時に第1のリスト82を更新する処理について説明す
る。In the sixth embodiment described above, in order to clarify the timing at which the substitute recording area is allocated, a part of the operation when the read response is received by each of the SCSI interfaces 4A to 4D and 4P is omitted. Explained. That is, the read response is the SCSI interface 4
Returning to A-4D and 4P, the first list 82
Changes depending on the time at which the read response is returned or the content of the read response (success or failure of the read). Next, a process in which the reassignment processing unit 8 updates the first list 82 when a read response is returned will be described.
【0192】通知部41A〜41Dおよび41Pは、各
SCSIインタフェイス4A〜4Dおよび4Pがディス
ク5A〜5Dおよび5Pからの読み出し応答を受信する
たびに、受信通知という信号を生成して、リアサイン処
理部8に送信する。この受信通知は、今回受信した読み
出し応答の基となった第2の読み出し要求のIDと、当
該第2の読み出し要求が指定したLBAとを含む。ここ
で、以下の説明を具体的にするために、今回、SCSI
インタフェイス4Aが、IDが「b」およびLBAが
「a」を含む読み出し応答を受信したと仮定する。この
仮定下では、SCSIインタフェイス4Aは、ID
「b」およびLBA「a」を含む受信通知をリアサイン
処理部8に送信する。ここで、注意を要するのは、第1
のリスト82の更新処理には、読み出し応答が示す読み
出しの成否は関係ない。そのため、読み出し応答が示す
成否については、説明を省略する。The notification units 41A to 41D and 41P generate a signal of reception notification each time each of the SCSI interfaces 4A to 4D and 4P receives the read response from the disks 5A to 5D and 5P, 8 This reception notification includes the ID of the second read request that is the basis of the read response received this time, and the LBA specified by the second read request. Here, in order to make the following description concrete,
Assume that interface 4A has received a read response containing ID "b" and LBA "a". Under this assumption, the SCSI interface 4A has the ID
A reception notification including “b” and LBA “a” is transmitted to the reassignment processing unit 8. Here, it is necessary to pay attention to the first
The update processing of the list 82 has no relation to the success or failure of the read indicated by the read response. Therefore, the description of success or failure indicated by the read response is omitted.
【0193】リアサイン処理部8は、受信通知の受信に
応答して、図33のフローチャートに示す処理手順を実
行する。まず、リアサイン処理部8は、ID「b」と、
LBAとしての「a」とを、受信した受信通知から取り
出す。さらに、リアサイン処理部8は、現在管理する第
1のリスト82の中から、IDとしての「b」が登録さ
れているもの(以下、削除対象の第1のリスト82と称
す)を探し出す(ステップS111)。ここで、第2の
読み出し要求が送信されているにも関わらず、ID
「b」が登録された第1のリスト82が管理されていな
いということは、図32のステップS108またはS1
013において削除されていることを意味する。リアサ
イン処理部8は、このようにステップS111で削除対
象の第1のリスト82を探し出せなかった場合、図33
のステップS112〜S115を実行する必要がないの
で、ステップS116に進む。The reassignment processing section 8 executes the processing procedure shown in the flowchart of FIG. 33 in response to the reception of the reception notification. First, the reassignment processing unit 8 outputs the ID “b”,
“A” as the LBA is extracted from the received reception notification. Further, the reassignment processing unit 8 searches the first list 82 currently managed for the one in which the ID “b” is registered (hereinafter, referred to as the first list 82 to be deleted) (step S <b> 1). S111). Here, despite the fact that the second read request has been transmitted, ID
The fact that the first list 82 in which “b” is registered is not managed means that the first list 82 in FIG.
013 means deleted. If the reassignment processing unit 8 cannot find the first list 82 to be deleted in step S111 as described above,
Steps S112 to S115 do not need to be performed, so the process proceeds to step S116.
【0194】一方、ステップS111で削除対象の第1
のリスト82を探し出せたということは、受信通知の受
信直前(つまり、今回の読み出し応答が返ってくる直
前)までに、ステップS101(図32参照)で「TD
>TL 」が満たされなかったことになる。そこで、リア
サイン処理部8は、現時点で、削除対象の第1のリスト
82に登録された情報を基に、「TD >TL 」が満たさ
れているか否かを判断する(ステップS112)。リア
サイン処理部8は、遅延時間TD が規定時間TLを超え
ている場合、欠陥記録領域に代替記録領域を割り当てる
必要性の有無を判断する必要があるので、○印で囲まれ
た「B」で示されるように、図32のステップS103
以降の処理を実行する。On the other hand, in step S111, the first
"T D is that was retreive the list 82 of the reception immediately before the reception notification (ie, immediately before coming back is this read response) until, in step S101 (see FIG. 32)
> T L ”was not satisfied. Therefore, reassignment processing unit 8 at the moment, based on information registered in the first list 82 to be deleted, it is determined whether or not satisfied "T D> T L" (step S112). Reassignment processing unit 8, when the delay time T D is greater than the prescribed time T L, it is necessary to determine whether it is necessary to assign a replacement recording area to the defect recording area, surrounded by ○ mark "B As shown in FIG. 32, step S103 in FIG.
Execute the following processing.
【0195】一方、ステップS112で遅延時間TD が
規定時間TL を超えていないということは、ディスク5
Aでの読み出しに時間がかからなかったことを意味す
る。つまり、「a」で特定されるLBAは欠陥記録領域
でないことを意味する。そこで、リアサイン処理部8
は、削除対象の第1のリスト82内のものと同じLBA
が登録された第2のリスト83を管理しているか否かを
判断する(ステップS113)。リアサイン処理部8
は、ステップS113で第2のリスト83を探し出すこ
とができれば、当該第2のリスト83を削除して(ステ
ップS114)、ステップS115に進む。一方、ステ
ップS113で第2のリスト83を探し出すことができ
なければ、リアサイン処理部8は、ステップS113か
らS115へと直接進み、削除対象の第1のリスト82
を削除する(ステップS115)。[0195] On the other hand, the fact that the delay time T D in step S112 does not exceed the prescribed time T L, the disk 5
This means that reading in A did not take much time. That is, the LBA specified by “a” is not a defect recording area. Therefore, the reassignment processing unit 8
Is the same LBA as in the first list 82 to be deleted.
It is determined whether or not manages the registered second list 83 (step S113). Rear sign processing unit 8
If the second list 83 can be found in step S113, the second list 83 is deleted (step S114), and the process proceeds to step S115. On the other hand, if the second list 83 cannot be found in step S113, the reassignment processing section 8 proceeds directly from step S113 to S115, and proceeds to step S115 to delete the first list 82 to be deleted.
Is deleted (step S115).
【0196】次に、リアサイン処理部8は、今回の読み
出し応答の送信元のディスク5(以下、単に「今回の送
信元」と称す)に、現在、他の第2の読み出し要求が溜
まっているか否かを、当該送信元向けに管理している第
1のリスト82の個数を基に判断する(ステップS11
6)。ステップS116で他の読み出し要求が溜まって
いると判断した場合、当該他の第2の読み出し要求に応
答して作成された第1のリスト82(次の第1のリスト
82)には処理開始時刻が登録されていない。そのた
め、リアサイン処理部8は、第3のタイマ81から現在
時刻を得て、他の第2の読み出し要求が今回の送信元で
処理され始める時刻と規定する。リアサイン処理部8
は、得られた現在時刻を、次に処理される第2の読み出
し要求の処理開始時刻として、次の第1のテーブル82
に登録して(ステップS117)、図33の処理を終了
する。一方、ステップS116で他の第2の読み出し要
求が溜まっていない場合、リアサイン処理部8は、ステ
ップS117を実行することなく、図33の処理を終了
する。Next, the reassignment processing section 8 checks whether another second read request is currently stored in the disk 5 (hereinafter, simply referred to as “current source”) of the source of the current read response. It is determined based on the number of first lists 82 managed for the transmission source (step S11).
6). If it is determined in step S116 that other read requests are accumulated, the first list 82 created in response to the other second read request (the next first list 82) has the processing start time. Is not registered. Therefore, the reassignment processing unit 8 obtains the current time from the third timer 81 and defines the time at which another second read request starts to be processed by the current transmission source. Rear sign processing unit 8
Sets the obtained current time as the processing start time of the second read request to be processed next, and
(Step S117), and the processing in FIG. 33 ends. On the other hand, when other second read requests are not accumulated in step S116, the reassignment processing unit 8 ends the processing in FIG. 33 without executing step S117.
【0197】ところで、制御部7は、図28のステップ
S85では、冗長データの読み出しを中止するための読
み出し中止要求をリアサイン処理部8に送信している。
また、制御部7は、同図のステップS812では、不必
要になったデータブロックおよび/または冗長データの
読み出しを中止するための読み出し中止要求をリアサイ
ン処理部8に送信している。上述したように、各読み出
し中止要求は、読み出しを中止すべきデータブロックお
よび/または冗長データの格納場所を特定するLBAを
含む。次に、図34を参照して、リアサイン処理部8が
読み出し中止要求を受信したときの処理手順を説明す
る。By the way, in step S85 of FIG. 28, the control unit 7 transmits a read stop request for stopping reading of redundant data to the reassignment processing unit 8.
In addition, the control unit 7 has transmitted to the reassignment processing unit 8 a read stop request for stopping reading of unnecessary data blocks and / or redundant data in step S812 of FIG. As described above, each read stop request includes the LBA that specifies the data block to stop reading and / or the storage location of the redundant data. Next, a processing procedure when the reassignment processing unit 8 receives a read stop request will be described with reference to FIG.
【0198】まず、リアサイン処理部8は、受信した読
み出し中止要求からLBAを取り出し、当該LBAから
のデータブロックまたは冗長データの読み出しが開始さ
れているか否かを判断する(ステップS121)。ステ
ップS121の処理を具体的に説明する。まず、リアサ
イン処理部8は、現在管理している第1のリスト82か
ら、読み出しを中止すべきLBAが登録されたものを探
す。リアサイン処理部8は、探し出した第1のリスト8
2に処理開始時刻が登録されているか否かを判断する。
前述から明らかなように、処理開始時刻は各第1のリス
ト82の作成時に登録されるとは限らない。そのため、
図34の処理手順の開始時においては、リアサイン処理
部8には、処理開始時刻が登録された第1のリスト82
と、登録されていないものとが混在する。ここで、第1
のリスト82に処理開始時刻が登録済みの場合、対応す
るLBAからのデータブロックまたは冗長データの読み
出しが始まっているとみなせる。したがって、リアサイ
ン処理部8は、探し出した第1のリスト82に処理開始
時刻が登録されているか否かによって、当該第1のリス
ト82に対応する第2の読み出し要求の処理がディスク
5において始まっているか否かを判断する。First, the reassignment processing section 8 extracts the LBA from the received read stop request, and determines whether the reading of the data block or the redundant data from the LBA has been started (step S121). The process of step S121 will be specifically described. First, the reassignment processing unit 8 searches the currently managed first list 82 for a registered LBA whose reading should be stopped. The reassignment processing unit 8 searches for the first list 8
It is determined whether the processing start time is registered in No. 2 or not.
As is apparent from the above, the processing start time is not always registered when each first list 82 is created. for that reason,
At the start of the processing procedure in FIG. 34, the first list 82 in which the processing start time is registered is stored in the reassignment processing unit 8.
And those that are not registered are mixed. Here, the first
If the processing start time is already registered in the list 82, it can be considered that the reading of the data block or the redundant data from the corresponding LBA has started. Therefore, the reassignment processing unit 8 starts processing the second read request corresponding to the first list 82 on the disk 5 depending on whether the processing start time is registered in the found first list 82. It is determined whether or not.
【0199】リアサイン処理部8は、ステップS121
で読み出し中止要求から取り出したLBAからの読み出
しが始まっていると判断した場合、図34の処理を終了
する。一方、リアサイン処理部8は、取り出したLBA
からの読み出しが始まっていないと判断した場合、SC
SIメッセージの一つであるABORT_TAGを、取
り出したLBAを有するディスク5に、SCSIインタ
フェイス4を通じて送信して、探し出された第1のリス
ト82に対応する第2の読み出し要求の実行を中止させ
る(ステップS122)。また、SCSIインタフェイ
ス4は、対応する第2の読み出し要求の読み出しが失敗
した旨を示す読み出し応答(失敗)を制御部7に送信す
る。ステップS112の後、リアサイン処理部8は、ス
テップS121で探し出した第1のリスト82を削除す
る(ステップS123)。The reassignment processing unit 8 determines in step S121
If it is determined that the reading from the LBA extracted from the reading stop request has started, the process of FIG. 34 ends. On the other hand, the reassignment processing unit 8
If it is determined that reading from
ABORT_TAG, which is one of the SI messages, is transmitted to the disk 5 having the extracted LBA through the SCSI interface 4 to stop the execution of the second read request corresponding to the first list 82 found. (Step S122). Further, the SCSI interface 4 transmits to the control unit 7 a read response (failure) indicating that the reading of the corresponding second read request has failed. After step S112, the reassignment processing unit 8 deletes the first list 82 found in step S121 (step S123).
【0200】以上のように、リアサイン処理部8は、制
御部7からの読み出し中止要求に応答して、ステップS
111の条件を満たした場合に限り、第2の読み出し要
求の処理を中止させる。これによって、リアサイン処理
部8は、ディスク5A〜5Dおよび5Pから欠陥記録領
域を正しく検出することができる。もし、リアサイン処
理部8が読み出し中止要求に応答して無条件で処理を中
止させると、ほとんどの第2の読み出し要求について遅
延時間TD >限界時間TL を満たさなくなる。その結
果、リアサイン処理部8は欠陥記録領域を正確に検出で
きなくなるおそれがある。[0200] As described above, the reassignment processing section 8 responds to the read stop request from the control section 7 and returns to Step S.
Only when the condition of 111 is satisfied, the processing of the second read request is stopped. Thereby, the reassignment processing section 8 can correctly detect the defect recording area from the disks 5A to 5D and 5P. If the reassignment processing unit 8 stops the process unconditionally in response to a read stop request will not satisfy the delay time T D> limit time T L for most of the second read request. As a result, the reassignment processing unit 8 may not be able to accurately detect the defect recording area.
【0201】(第7の実施形態)前述した第5の実施形
態に係るRAID装置では、失敗ブロックテーブル75
に、読み出しに時間がかかるデータブロックの格納場所
が記載されていた。制御部7は、かかる失敗ブロックテ
ーブル75を参照して、5個の第2の読み出し要求を送
信するか、4個の第2の読み出し要求を送信するかを判
断していた。これによって、単位時間当たりに多くのデ
ータを読み出すことがことができるRAID装置を実現
していた。しかしながら、読み出しに時間がかかるデー
タブロックが失敗ブロックテーブル75に記載されれば
されるほど、RAID装置は、5個の第2の読み出し要
求を送信することが多くなる。その結果、単位時間当た
りにより多くのデータを読み出せなくなるという問題点
があった。そこで、第7の実施形態では、かかる問題点
を解消して、単位時間当たりにより多くのデータを読み
出せるRAID装置を実現する。(Seventh Embodiment) In the RAID device according to the fifth embodiment described above, the failed block table 75
Describes a storage location of a data block that takes a long time to read. The control unit 7 refers to the failed block table 75 to determine whether to transmit five second read requests or four second read requests. As a result, a RAID device capable of reading a large amount of data per unit time has been realized. However, the more data blocks that take longer to read are listed in the failed block table 75, the more frequently the RAID device sends five second read requests. As a result, there is a problem that more data cannot be read per unit time. Therefore, in the seventh embodiment, such a problem is solved, and a RAID device capable of reading more data per unit time is realized.
【0202】図35は、本発明の第7の実施形態に係る
RAID装置の構成を示すブロック図である。図35の
RAID装置は、図24のそれと比較すると、制御部7
が失敗ブロックテーブル75を含む点で異なる。それ以
外の構成は同様であるため、図35において、図24に
示すものと同様の構成には、同一の参照符号を付し、そ
の説明を省略する。ここで、図35の失敗ブロックテー
ブル75は、図19に示すものと同様である点には注意
を要する。さらに、注意を要するのは、本実施形態で
は、冗長データは、図20に示すように、ディスク5A
〜5Dおよび5Pに分散的に格納される点である。FIG. 35 is a block diagram showing a configuration of a RAID device according to the seventh embodiment of the present invention. The RAID device of FIG. 35 is different from that of FIG.
Includes a failed block table 75. Since other configurations are the same, in FIG. 35, the same components as those shown in FIG. 24 are denoted by the same reference numerals, and description thereof will be omitted. Here, it should be noted that the failed block table 75 in FIG. 35 is the same as that shown in FIG. It should be further noted that in the present embodiment, the redundant data is stored in the disk 5A as shown in FIG.
5D and 5P.
【0203】本RAID装置もまた、第6の実施形態と
同様に、ホスト装置からの第1の読み出し要求の到着に
応答して、読み出し処理を開始する。この読み出し処理
は、第7の実施形態の特徴的な処理であるため、図36
を参照して説明する。まず、図36は、制御部7に第1
の読み出し要求が到着してから、第2の読み出し要求の
セットが送信されるまでの処理手順を示すフローチャー
トである。図36のフローチャートは、図26のそれと
比較すると、部分的に同様のステップを含んでいる。そ
のため、図36において、図26に示すものと同様のス
テップには、同一のステップS番号を付し、その説明を
簡素化する。This RAID device also starts read processing in response to the arrival of the first read request from the host device, as in the sixth embodiment. Since this reading process is a characteristic process of the seventh embodiment, FIG.
This will be described with reference to FIG. 36. First, FIG.
7 is a flowchart showing a processing procedure from the arrival of a read request to the transmission of a second set of read requests. The flowchart of FIG. 36 partially includes the same steps as those of FIG. Therefore, in FIG. 36, the same steps as those shown in FIG. 26 are denoted by the same step S numbers, and the description thereof will be simplified.
【0204】制御部7は、第1の読み出し要求が入力さ
れると(ステップS1)、今回読み出すべきパリティ系
列の格納場所を示すLBAを、アドレス変換処理部11
から得る(ステップS71)。つまり、制御部7は、同
一パリティ系列のデータブロックおよび冗長データの格
納場所を示すLBAを得る。When the first read request is input (step S1), the control unit 7 converts the LBA indicating the storage location of the parity sequence to be read this time into the address conversion processing unit 11.
(Step S71). That is, the control unit 7 obtains an LBA indicating a storage location of a data block of the same parity sequence and redundant data.
【0205】次に、制御部7は、4個のディスク(ディ
スク5A〜5Dおよび5Pのいずれか4個)が、今回読
み出すべき4個のデータブロックの読み出しを過去に失
敗したことがあるかないかを判断する(ステップS13
1)。ステップS131の判断のために、失敗ブロック
テーブル75が参照される。失敗ブロックテーブル75
には、図22に示すように、過去に読み出しが失敗した
データブロックの格納場所(本実施形態では、LBAに
より格納場所が示される点には注意を要する)が列挙さ
れている。したがって、制御部7は、アドレス変換処理
部11から得た各データブロックの格納場所を示すLB
Aと、失敗ブロックテーブル75に列挙されたLBAと
を比較すれば、ステップS131での判断を容易に行う
ことができる。Next, the control unit 7 determines whether the four disks (any four of the disks 5A to 5D and 5P) have failed in the past to read the four data blocks to be read this time. Is determined (step S13).
1). For the determination in step S131, the failed block table 75 is referred to. Failed block table 75
As shown in FIG. 22, storage locations of data blocks that have failed to be read in the past (note that the storage locations are indicated by LBAs in this embodiment need to be noted). Therefore, the control unit 7 sets the LB indicating the storage location of each data block obtained from the address conversion processing unit 11.
By comparing A with the LBAs listed in the failed block table 75, the determination in step S131 can be made easily.
【0206】まず、ステップS131で、4個のデータ
ブロックの読み出しに失敗したことがないと制御部7が
判断した場合について説明する。この場合、制御部7
は、4個のデータブロックの読み出しが今回失敗する可
能性が低いと判断して、パリティ系列を読み出すため
に、第2の読み出し要求のセットを発行する(ステップ
S132)。ただし、ステップS132では、第2の読
み出し要求は、データブロックを格納する4個のディス
ク5にのみ発行され、冗長データが格納される残り1個
のディスクには発行されない。First, a case will be described in which the control unit 7 determines that the reading of four data blocks has not failed in step S131. In this case, the control unit 7
Determines that reading of the four data blocks is unlikely to fail this time, and issues a second read request set to read the parity sequence (step S132). However, in step S132, the second read request is issued only to the four disks 5 storing data blocks, and is not issued to the remaining one disk storing redundant data.
【0207】次に、ステップS131で、いくつかのデ
ータブロックの読み出しに失敗したことがあると制御部
7が判断した場合について説明する。この場合、制御部
7は、4個のデータブロックの読み出しが今回失敗する
可能性が高いと判断して、パリティ系列を読み出すため
に、第2の読み出し要求のセットを発行する(ステップ
S133)。ただし、ステップS133では、第2の読
み出し要求は、データブロックを格納する4個のディス
ク、および、冗長データを格納する残り1個のディスク
に対して発行される。Next, the case where the control unit 7 determines that reading of some data blocks has failed in step S131 will be described. In this case, the control unit 7 determines that reading of the four data blocks is likely to fail this time, and issues a second read request set to read the parity sequence (step S133). However, in step S133, the second read request is issued to the four disks storing data blocks and the remaining one disk storing redundant data.
【0208】ステップS132で発行された第2の読み
出し要求は、同一パリティ系列を構成するデータブロッ
クを格納する4個のディスクにより読み出し処理され
る。ステップS133で発行された第2の読み出し要求
は、同一パリティ系列を構成するデータブロックおよび
冗長データを格納する5個のディスクにより読み出し処
理される。いずれの場合においても、4個または5個の
ディスクは、自身の読み出しの成否を示す読み出し応答
を生成する。4個または5個のディスクは、自身と接続
されたSCSIインタフェイスを通じて、それぞれが生
成した読み出し応答を制御部7に送信する。制御部7
は、読み出し応答が到着する毎に、図37のフローチャ
ートに示す処理手順を実行する。図37のフローチャー
トは、図28のフローチャートと比較すると、ステップ
S141をさらに含む点を除いて、同様のステップを含
む。そのため、図37において、図28に示すものに相
当するステップには同一のステップ番号を付し、その説
明を省略する。[0208] The second read request issued in step S132 is read by four disks storing data blocks constituting the same parity sequence. The second read request issued in step S133 is read by five disks that store data blocks and redundant data that make up the same parity sequence. In either case, four or five disks generate a read response indicating success or failure of reading. Each of the four or five disks transmits the read response generated by the disk to the control unit 7 through a SCSI interface connected to the disk. Control unit 7
Executes the processing procedure shown in the flowchart of FIG. 37 every time a read response arrives. The flowchart in FIG. 37 includes the same steps as those in the flowchart in FIG. 28 except that the flowchart further includes step S141. Therefore, in FIG. 37, steps corresponding to those shown in FIG. 28 are denoted by the same step numbers, and description thereof will be omitted.
【0209】制御部7は、読み出し応答(失敗)が到着
したと判断した場合(ステップS82)、到着した読み
出し応答(失敗)からLBAを取り出す。読み出し応答
(失敗)に含まれるLBAは、読み出しに失敗したデー
タブロックまたは冗長データの格納場所を示す。制御部
7は、読み出し応答(失敗)から取り出したLBAを、
失敗ブロックテーブル75に登録する(ステップS14
1)。なお、ステップS141は、ステップS82で読
み出し応答(失敗)が到着したと判断された後であれ
ば、どのようなタイミングで実行されても良い点には注
意を要する。つまり、ステップS141の実行タイミン
グは、ステップS82で読み出し応答(失敗)が到着し
たと判断された直後に限定されない。When the controller 7 determines that the read response (failure) has arrived (step S82), it extracts the LBA from the arrived read response (failure). The LBA included in the read response (failure) indicates the storage location of the data block or redundant data that failed to be read. The control unit 7 extracts the LBA extracted from the read response (failure),
Register in the failed block table 75 (step S14)
1). It should be noted that step S141 may be executed at any timing after it is determined in step S82 that the read response (failure) has arrived. That is, the execution timing of step S141 is not limited to immediately after it is determined that the read response (failure) has arrived in step S82.
【0210】ところで、リアサイン処理部8は、第6の
実施形態で説明した処理手順を実行する。この処理手順
の説明は第6の実施形態で既に説明しているので、本実
施形態では改めて説明しない。本実施形態で重要なリア
サイン処理部8の動作は、リアサイン処理が終了する
と、その旨を示す信号である処理完了通知を制御部7に
送信することである。この処理完了通知には、リアサイ
ン処理部8により欠陥であると判断された格納場所を示
すLBAが含まれる。このように欠陥格納場所からの読
み出しには時間がかかるので、当該欠陥格納場所を示す
LBAは失敗ブロックテーブル75にも記載されてい
る。Incidentally, the reassignment processing section 8 executes the processing procedure described in the sixth embodiment. This processing procedure has already been described in the sixth embodiment, and will not be described again in this embodiment. An important operation of the reassignment processing unit 8 in the present embodiment is to transmit a processing completion notification, which is a signal indicating that, to the control unit 7 when the reassignment processing ends. This processing completion notification includes the LBA indicating the storage location determined to be defective by the reassignment processing unit 8. As described above, it takes time to read data from the defect storage location. Therefore, the LBA indicating the defect storage location is also described in the failed block table 75.
【0211】制御部7は、処理完了通知を受信すると、
図38のフローチャートに示すより手順を実行する。制
御部7は、処理完了通知を受信すると、リアサイン処理
部8がリアサイン処理を実行したと判断して(ステップ
S151)、ステップS152に進む。制御部7は、ス
テップS152において、処理完了通知からLBAを取
り出す。次に、制御部7は、失敗ブロックテーブル75
にアクセスして、処理完了通知から取り出したものと一
致するLBAを当該失敗ブロックテーブル75から削除
する。こうして、制御部7は、失敗ブロックテーブル7
5を更新する(ステップS152)。Upon receiving the processing completion notification, the control unit 7
The procedure is executed according to the flowchart shown in FIG. Upon receiving the processing completion notification, the control unit 7 determines that the reassignment processing unit 8 has executed the reassignment process (step S151), and proceeds to step S152. In step S152, the control unit 7 extracts the LBA from the processing completion notification. Next, the controller 7 sets the failed block table 75
And deletes the LBA that matches the one extracted from the processing completion notification from the failed block table 75. Thus, the control unit 7 sets the failed block table 7
5 is updated (step S152).
【0212】以上のように、第7の実施形態に係るRA
ID装置もまた、読み出しに時間がかかる格納場所には
欠陥が生じているとみなされ、代替格納場所が割り当て
られる。つまり、データブロックまたは冗長データの格
納場所は、欠陥格納場所から代替格納場所に変更され
る。かかるリアサイン処理に応答して、制御部7は、失
敗ブロックテーブル75を更新する。そのため、データ
ブロックまたは冗長データは欠陥格納場所に長時間格納
され続けることがなくなる。さらに、リアサイン処理が
実行される度に、失敗ブロックテーブル75に記載され
るLBAの数も少なくなる。その結果、アドレス変換処
理部11からのデータブロックの格納場所(LBA)
は、失敗ブロックテーブル75に記載されている可能性
が減る。そのため、制御部7は、4個の第2の読み出し
要求を送信する場合が多くなる。その結果、単位時間当
たりにより多くのデータを読み出せるRAID装置を実
現することが可能となる。As described above, the RA according to the seventh embodiment
The ID device is also considered to have a defect in a storage location that takes a long time to read, and is assigned an alternative storage location. That is, the storage location of the data block or redundant data is changed from the defective storage location to the alternative storage location. In response to the reassignment process, the control unit 7 updates the failed block table 75. Therefore, the data block or the redundant data is not stored in the defective storage location for a long time. Further, each time the reassignment process is executed, the number of LBAs described in the failed block table 75 decreases. As a result, the storage location (LBA) of the data block from the address conversion processing unit 11
Is less likely to be described in the failed block table 75. Therefore, the control unit 7 often transmits four second read requests. As a result, it is possible to realize a RAID device that can read more data per unit time.
【0213】なお、以上の実施形態では、RAID装置
は5台のディスクを含むとして説明した。しかし、この
台数は、データの長さやデータブロックの長さ等、RA
ID装置の設計要件に応じて変更される。そのため、R
AID装置の台数は5台に限定解釈されてはならない。
なお、請求項における「m」が、RAID装置が含むデ
ィスクの台数に相当する。In the above embodiment, the RAID device has been described as including five disks. However, this number may not be the same as the data length or data block length.
It is changed according to the design requirements of the ID device. Therefore, R
The number of AID devices should not be limited to five.
Note that “m” in the claims corresponds to the number of disks included in the RAID device.
【0214】また、以上の実施形態では、ホスト装置は
2048バイトのデータを。各実子形態のRAID装置
に送信し、当該RAID装置が、当該ホスト装置から到
着したデータを512バイトのデータブロックに分割す
るとして説明した。しかし、かかるサイズが選ばれてい
るのは、実施形態の説明を簡素化するためであって、デ
ータおよびデータブロックのサイズは2048バイトお
よび512バイト以外であってもよい。In the above embodiment, the host device stores 2048 bytes of data. It has been described that the data is transmitted to the RAID device of each physical form, and the RAID device divides the data arriving from the host device into 512-byte data blocks. However, the size is selected to simplify the description of the embodiment, and the sizes of the data and the data block may be other than 2048 bytes and 512 bytes.
【図1】第1の実施形態に係るRAID装置のブロック
構成を示している。FIG. 1 shows a block configuration of a RAID device according to a first embodiment.
【図2】図1のバッファ部3A〜3D、3Pおよび3R
の詳細な構成を示している。FIG. 2 shows buffer units 3A to 3D, 3P, and 3R of FIG.
3 shows a detailed configuration.
【図3】図1のディスク5A〜5Dおよび5Pに格納さ
れるパリティ系列を示している。FIG. 3 shows a parity sequence stored in disks 5A to 5D and 5P of FIG.
【図4】図1の制御部7が実行する処理の手順を示すフ
ローチャートである。FIG. 4 is a flowchart illustrating a procedure of a process executed by a control unit 7 of FIG. 1;
【図5】図1のRAID装置が有する技術的効果の1つ
を説明するための図である。FIG. 5 is a diagram for explaining one of the technical effects of the RAID device of FIG. 1;
【図6】図1のディスク5A〜5Dおよび5Pであっ
て、特に、読み出し処理の順番を変更するタイプを示し
ている。FIG. 6 shows the disks 5A to 5D and 5P of FIG. 1, and particularly shows a type in which the order of read processing is changed.
【図7】図1のRAID装置が有する技術的効果の1つ
を説明するための図である。FIG. 7 is a diagram for explaining one of technical effects of the RAID device of FIG. 1;
【図8】第2の実施形態に係る制御部7が実行する処理
の手順を示すフローチャートである。FIG. 8 is a flowchart illustrating a procedure of a process executed by a control unit 7 according to the second embodiment.
【図9】制御部7が内部に作成する発行時刻テーブル7
1を示している。FIG. 9 is an issue time table 7 created internally by the control unit 7;
1 is shown.
【図10】第2の実施形態に係るRAID装置が有する
技術的効果の1つを説明するための図である。FIG. 10 is a diagram for explaining one of the technical effects of the RAID device according to the second embodiment.
【図11】第3の実施形態に係るRAID装置のブロッ
ク構成を示している。FIG. 11 shows a block configuration of a RAID device according to a third embodiment.
【図12】図11の制御部7が読み出し処理の際に実行
するフローチャートである。FIG. 12 is a flowchart executed by the control unit 7 in FIG. 11 at the time of read processing.
【図13】確率分布曲線f(t)と、各ディスク5A〜
5Dでの読み出しの進捗状況とを示している。FIG. 13 shows a probability distribution curve f (t) and each of disks 5A to 5A.
5D shows the progress of reading in 5D.
【図14】図12のステップS44で4個のデータブロ
ックが揃った場合、および、ステップS45で第1のタ
イマ72がタイムアウトした場合を説明するための図で
ある。FIG. 14 is a diagram for explaining a case where four data blocks are prepared in step S44 of FIG. 12 and a case where the first timer 72 times out in step S45.
【図15】第4の実施形態に係るRAID装置を示すブ
ロック図である。FIG. 15 is a block diagram illustrating a RAID device according to a fourth embodiment.
【図16】図15の制御部7が読み出し処理の際に実行
するフローチャートである。FIG. 16 is a flowchart executed by the control unit 7 of FIG. 15 during a read process.
【図17】図15の予約テーブル73を示している。FIG. 17 shows a reservation table 73 of FIG.
【図18】図15のRAID装置の読み出し処理の具体
例を示している。FIG. 18 illustrates a specific example of a read process of the RAID device in FIG. 15;
【図19】第5の実施形態に係るRAID装置を示すブ
ロック図である。FIG. 19 is a block diagram showing a RAID device according to a fifth embodiment.
【図20】図19の各ディスク5A〜5Dおよび5Pに
分散的に格納されるデータブロックおよび冗長データを
示している。20 shows data blocks and redundant data stored in a distributed manner on each of the disks 5A to 5D and 5P in FIG. 19;
【図21】図19の制御部7が読み出し処理の際に実行
するフローチャートである。FIG. 21 is a flowchart executed by the control unit 7 in FIG. 19 at the time of read processing.
【図22】図19の失敗ブロックテーブル75を示して
いる。FIG. 22 shows a failed block table 75 of FIG.
【図23】第5の実施形態に係るRAID装置が有する
技術的効果の1つを説明するための図である。FIG. 23 is a view for explaining one of the technical effects of the RAID device according to the fifth embodiment.
【図24】本発明の第6の実施形態に係るRAID装置
の構成を示すブロック図である。FIG. 24 is a block diagram illustrating a configuration of a RAID device according to a sixth embodiment of the present invention.
【図25】図24の代替記録領域情報管理部9が管理す
る第1のテーブル91を示す図である。FIG. 25 is a diagram showing a first table 91 managed by the alternative recording area information management unit 9 of FIG. 24;
【図26】第1の読み出し要求到着後の制御部7の処理
手順を示すフローチャートである。FIG. 26 is a flowchart showing a processing procedure of the control unit 7 after a first read request arrives.
【図27】図24のアドレス情報管理部10が管理する
第2のテーブル101を示す図である。FIG. 27 is a diagram showing a second table 101 managed by the address information management unit 10 of FIG.
【図28】1つの読み出し応答が到着後の制御部7の処
理手順を示すフローチャートである。FIG. 28 is a flowchart showing a processing procedure of the control unit 7 after one read response arrives.
【図29】図24のリアサイン処理部8の詳細な構成を
示すブロック図である。FIG. 29 is a block diagram showing a detailed configuration of the reassignment processing unit 8 of FIG.
【図30】図24リアサイン処理部8が実行するリアサ
イン処理の手順の一部を示すフローチャートである。FIG. 30 is a flowchart showing a part of a procedure of a reassignment process executed by the reassignment processing unit 8;
【図31】図29に示す第1のリスト82と、第2のリ
スト83とを説明するための図である。FIG. 31 is a diagram for describing a first list 82 and a second list 83 shown in FIG. 29.
【図32】図24のリアサイン処理部8が実行するリア
サイン処理の手順の他の一部を示すフローチャートであ
る。FIG. 32 is a flowchart illustrating another part of the procedure of the reassignment process executed by the reassignment processing unit 8 in FIG. 24;
【図33】図24のリアサイン処理部8が受信通知の受
信に応答して実行する処理の手順を示すフローチャート
である。FIG. 33 is a flowchart showing a procedure of processing executed by the reassignment processing unit 8 in FIG. 24 in response to reception of a reception notification.
【図34】図24のリアサイン処理部8が読み出し中止
要求を受信した時に実行する処理手順を示すフローチャ
ートである。FIG. 34 is a flowchart showing a processing procedure executed when the reassignment processing unit 8 of FIG. 24 receives a read stop request.
【図35】本発明の第7の実施形態に係るRAID装置
の構成を示すブロック図である。FIG. 35 is a block diagram illustrating a configuration of a RAID device according to a seventh embodiment of the present invention.
【図36】図35の制御部7に第1の読み出し要求が到
着してから、第2の読み出し要求のセットが送信される
までの処理手順を示すフローチャートである。FIG. 36 is a flowchart showing a processing procedure from when a first read request arrives at the control unit 7 in FIG. 35 to when a second read request set is transmitted.
【図37】図35の制御部7が読み出し応答が到着する
毎に実行する処理手順を示すフローチャートである。FIG. 37 is a flowchart showing a processing procedure executed by the control unit 7 of FIG. 35 each time a read response arrives.
【図38】図35の制御部7が処理完了通知を受信した
時に実行する処理手順を示すフローチャートである。FIG. 38 is a flowchart showing a processing procedure executed when the control unit 7 of FIG. 35 receives a processing completion notification.
【図39】レベル3のアーキテクチャを採用した従来の
RAID装置を示している。FIG. 39 shows a conventional RAID device employing a level 3 architecture.
【図40】従来のRAID装置での冗長データの生成方
法を説明するための図である。FIG. 40 is a diagram for explaining a method of generating redundant data in a conventional RAID device.
【図41】「特開平2−81123号」公報に開示され
た第1のRAID装置の問題点を説明するための図であ
る。FIG. 41 is a diagram for explaining a problem of the first RAID device disclosed in Japanese Unexamined Patent Publication No. 2-81123.
【図42】「特開平9−69027号」公報に開示され
た第2のRAID装置の問題点を説明するための図であ
る。FIG. 42 is a diagram for explaining a problem of the second RAID device disclosed in Japanese Unexamined Patent Application Publication No. 9-69027.
5A〜5D,5P…ディスク 6…パリティ演算部 7…制御部 71…発行時刻テーブル 72…第1のタイマ 73…予約テーブル 74…第2のタイマ 75…失敗ブロックテーブル 8…リアサイン処理部 9…代替記録領域情報管理部 10…アドレス情報管理部 11…アドレス変換処理部 5A to 5D, 5P disk 6 parity operation unit 7 control unit 71 issue time table 72 first timer 73 reservation table 74 second timer 75 failed block table 8 reassign processing unit 9 substitute Recording area information management unit 10: Address information management unit 11: Address conversion processing unit
───────────────────────────────────────────────────── フロントページの続き (72)発明者 伊藤 由起子 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 (72)発明者 横田 博史 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 Fターム(参考) 5B065 BA01 CA07 CA12 CA15 CA30 CC08 CH13 EA02 EA04 EA12 EA15 EA18 EA19 EA24 ──────────────────────────────────────────────────の Continuing on the front page (72) Inventor Yukiko Ito 1006 Kazuma Kadoma, Osaka Prefecture Matsushita Electric Industrial Co., Ltd. Terms (reference) 5B065 BA01 CA07 CA12 CA15 CA30 CC08 CH13 EA02 EA04 EA12 EA15 EA18 EA19 EA24
Claims (19)
ックと、当該データブロックから生成される冗長データ
とが記録されており、外部から送信されてくる第1の読
み出し要求に応答して、データの読み出し処理を実行す
るRAID装置であって、 データブロックと冗長データとが分散的に格納されるm
個のディスクと、 前記読み出し処理を制御する制御部とを含み、 前記制御部は、 入力される前記第1の読み出し要求に応答して、前記m
個のディスクからデータブロックと冗長データとを読み
出すために、第2の読み出し要求を発行し、 前記m個のディスクの中から、データブロックまたは冗
長データの読み出しが不要になったディスクを検出し、 前記読み出しが不要と検出されたディスクからの読み出
しを中止するために、読み出し中止コマンドを発行す
る、RAID装置。1. A data block generated by dividing data and redundant data generated from the data block are recorded. The data block responds to a first read request transmitted from the outside. A RAID device that executes a read process of m, wherein data blocks and redundant data are stored in a distributed manner.
And a control unit for controlling the read process, wherein the control unit responds to the input first read request by
Issue a second read request to read data blocks and redundant data from the number of disks, and detect a disk that no longer needs to read data blocks or redundant data from the m disks; A RAID device that issues a read stop command in order to stop reading from a disk for which reading has been detected as unnecessary.
残りの1個のディスクで実行されている読み出しが不要
であると判定し、 読み出しが不要と判定されたディスクに読み出し中止コ
マンドを発行する、請求項1に記載のRAID装置。2. The control section, when (m-1) the disks have completed reading,
2. The RAID device according to claim 1, wherein it is determined that the reading performed on the remaining one disk is unnecessary, and a read stop command is issued to the disk for which the reading is determined to be unnecessary.
ると、その検出時に実行されているディスクの読み出し
が不要であると判定し、 読み出しが不要と判定されたディスクに読み出し中止コ
マンドを発行する、請求項1に記載のRAID装置。3. When the control unit detects that two or more disks cannot be read, the control unit determines that reading of the disk executed at the time of the detection is unnecessary, and determines that the disk is not required to be read. The RAID device according to claim 1, wherein a read stop command is issued to the RAID device.
残りの1個のディスクで未だ実行されていない読み出し
が不要であると判定し、 読み出しが不要と判定されたディスクに読み出し中止コ
マンドを発行する、請求項1に記載のRAID装置。4. The control unit, when (m-1) the disks have completed reading,
The RAID device according to claim 1, wherein it is determined that a read that has not been executed on the remaining one disk is unnecessary, and a read stop command is issued to the disk for which the read is determined to be unnecessary.
ックと、当該データブロックから生成される冗長データ
とが記録されており、外部のホスト装置からの第1の読
み出し要求に応答して、データの読み出し処理を実行す
るRAID装置であって、 前記データブロックと前記冗長データとが分散的に格納
されるm個のディスクと、 (m−2)個のデータブロックと冗長データとに基づい
てパリティ演算を実行して、残りの1個のデータブロッ
クを復元するパリティ演算部と、 前記読み出し処理を制御する制御部とを含み、 前記制御部は、 入力される前記第1の読み出し要求に応答して、前記m
個の前記ディスクからデータブロックと冗長データとを
読み出すために、第2の読み出し要求を発行し、 (m−1)個の前記ディスクが読み出しを完了すると、
当該(m−1)個のディスクから読み出されたものが、
データブロックおよび冗長データの組み合わせであるか
否かを検出し、 データブロックおよび冗長データの組み合わせであると
検出された場合、その検出時から所定の時間だけ待機し
た後に、残りの1個のディスクから読み出されなかった
データブロックを復元するために、復元指示を前記パリ
ティ演算部に発行し、 前記パリティ演算部のパリティ演算によりm個のデータ
ブロックが揃うと、前記ホスト装置へとデータを送信す
るための処理を実行し、 前記所定の時間は、前記ホスト装置へとデータが遅延な
く送信されることを保証する値に選ばれる、RAID装
置。5. A data block generated by dividing data and redundant data generated from the data block are recorded. In response to a first read request from an external host device, the data block A RAID device that performs a read process of (a), wherein m disks in which the data blocks and the redundant data are stored in a distributed manner, and (m−2) data blocks and the redundant data, A parity operation unit that executes an operation to restore the remaining one data block; and a control unit that controls the read process. The control unit responds to the input first read request. And the m
Issue a second read request to read data blocks and redundant data from said disks, and (m-1) said disks complete reading,
What is read from the (m-1) disks is
Detects whether the combination is a combination of data block and redundant data. If the combination is detected as a combination of data block and redundant data, after waiting for a predetermined time from the time of the detection, the remaining one disk In order to restore the data block that has not been read, a restoration instruction is issued to the parity operation unit. When m data blocks are prepared by the parity operation of the parity operation unit, data is transmitted to the host device. RAID device, wherein the predetermined time is selected as a value that guarantees that data is transmitted to the host device without delay.
当該(m−1)個のディスクから読み出されたものが、
データブロックおよび冗長データの組み合わせであるか
否かを検出し、 データブロックおよび冗長データの組み合わせでないと
検出された場合、その検出時から所定の時間だけ待機せ
ずに、前記ホスト装置へとデータを送信するための処理
を実行する、請求項5に記載のRAID装置。6. The control unit further comprises: when (m-1) disks have been read,
What is read from the (m-1) disks is
It is detected whether or not the combination is a data block and redundant data, and when it is detected that the combination is not a combination of the data block and redundant data, the data is transmitted to the host device without waiting for a predetermined time from the detection. The RAID device according to claim 5, wherein the RAID device performs a process for transmitting.
み出し開始から当該読み出しが完了していると期待され
る確率に基づいて選ばれる、請求項5に記載のRAID
装置。7. The RAID according to claim 5, wherein the predetermined time is selected based on a probability that the reading is expected to be completed from the start of reading of each of the disks.
apparatus.
ックと、当該データブロックから生成される冗長データ
とが記録されており、外部のホスト装置からの第1の読
み出し要求に応答して、データの読み出し処理を実行す
るRAID装置であって、 前記データブロックと前記冗長データとが分散的に格納
されるm個のディスクと、 (m−2)個のデータブロックと冗長データとに基づい
てパリティ演算を実行して、残りの1個のデータブロッ
クを復元するパリティ演算部と、 前記読み出し処理を制御する制御部とを含み、 前記制御部は、 入力される前記第1の読み出し要求に応答して、前記m
個の前記ディスクからデータブロックと冗長データとを
読み出すために、第2の読み出し要求を発行し、 (m−1)個の前記ディスクが読み出しを完了すると、
当該(m−1)個のディスクから読み出されたものが、
データブロックおよび冗長データの組み合わせであるか
否かを検出し、 データブロックおよび冗長データの組み合わせであると
検出された場合、その検出時から所定の時間だけ待機し
た後に、残りの1個のディスクから読み出されなかった
データブロックを復元すべく復元指示を前記パリティ演
算部に発行し、 前記パリティ演算部のパリティ演算によりm個のデータ
ブロックが揃うと、前記ホスト装置へとデータを送信す
るための処理を実行し、 前記復元指示は、前記パリティ演算部がパリティ演算を
実行していない時に発行される、RAID装置。8. A data block generated by dividing data and redundant data generated from the data block are recorded, and the data block is stored in response to a first read request from an external host device. A RAID device that executes a read process of (a), wherein m disks in which the data blocks and the redundant data are stored in a distributed manner, and (m−2) data blocks and the redundant data, A parity operation unit that performs an operation to restore the remaining one data block; and a control unit that controls the read process. The control unit responds to the input first read request. And the m
Issue a second read request to read data blocks and redundant data from said disks, and when (m-1) said disks have completed reading,
What is read from the (m-1) disks is
Detects whether the combination is a combination of data block and redundant data. If the combination is detected as a combination of data block and redundant data, after waiting for a predetermined time from the time of the detection, the remaining one disk A restoration instruction is issued to the parity operation unit to restore the data block that has not been read, and when m data blocks are aligned by the parity operation of the parity operation unit, the data is transmitted to the host device. A RAID device that executes processing, and wherein the restoration instruction is issued when the parity operation unit is not executing a parity operation.
る時間帯を記載するテーブルを含み、 前記制御部はさらに、前記テーブルに記載された時間帯
を参照して、前記パリティ演算部がパリティ演算を実行
していない時に、復元指示を発行する、請求項8に記載
のRAID装置。9. A parity operation unit includes a table describing a time period in which the parity operation is performed, and the control unit further refers to the time period described in the table, and the parity operation unit performs the parity operation. 9. The RAID device according to claim 8, wherein a restoration instruction is issued when not executing.
ロックと、当該データブロックから生成される冗長デー
タとが記録されており、外部のホスト装置からの第1の
読み出し要求に応答して、データの読み出し処理を実行
するRAID装置であって、 前記データブロックと前記冗長データとが分散的に格納
されるm個のディスクと、 (m−2)個のデータブロックと冗長データとに基づい
てパリティ演算を実行して、残りの1個のデータブロッ
クを復元するパリティ演算部と、 前記読み出し処理を制御する制御部とを含み、 前記制御部は、 入力される前記第1の読み出し要求に応答して、(m−
1)個の前記ディスクがデータブロックの読み出しを過
去に失敗したことがあるかないかを判断し、 各前記データブロックの読み出しが過去に失敗していな
いと判断した場合、当該各データブロックのみを読み出
すために、第2の読み出し要求を前記(m−1)個のデ
ィスクに発行し、 前記(m−1)個のディスクからデータブロックが読み
出されると、前記ホスト装置へとデータを送信するため
の処理を実行する、RAID装置。10. A data block generated by dividing data and redundant data generated from the data block are recorded. In response to a first read request from an external host device, the data block A RAID device that executes a read process of (a), wherein m disks in which the data blocks and the redundant data are stored in a distributed manner, and (m−2) data blocks and the redundant data, A parity operation unit that performs an operation to restore the remaining one data block; and a control unit that controls the read process. The control unit responds to the input first read request. And (m-
1) It is determined whether or not the disks have failed in reading data blocks in the past, and if it is determined that reading of each data block has not failed in the past, only the data blocks are read. Therefore, a second read request is issued to the (m-1) disks, and when a data block is read from the (m-1) disks, data is transmitted to the host device. A RAID device that performs processing.
していると判断した場合、前記(m−1)個のデータブ
ロックおよび冗長データを読み出すために、第2の読み
出し要求を前記m個のディスクに発行し、 (m−1)個の前記ディスクが読み出しを完了すると、
当該(m−1)個のディスクから読み出されたものが、
データブロックおよび冗長データの組み合わせであるか
否かを検出し、 データブロックおよび冗長データの組み合わせであると
検出された場合、残りの1個のディスクから読み出され
なかったデータブロックを復元するために、復元指示を
前記パリティ演算部に発行し、 前記パリティ演算部のパリティ演算によりm個のデータ
ブロックが揃うと、前記ホスト装置へとデータを送信す
るための処理を実行する、請求項10に記載のRAID
装置。11. The control unit further comprising: if it is determined that reading of any of the data blocks has failed in the past, reading out the (m−1) data blocks and redundant data. 2 is issued to the m disks, and when (m-1) disks have completed reading,
What is read from the (m-1) disks is
Detecting whether or not the combination is a data block and redundant data, and if detecting a combination of the data block and the redundant data, recovering the data block that has not been read from the remaining one disk 11. The apparatus according to claim 10, wherein a restoration instruction is issued to the parity operation unit, and when m data blocks are prepared by the parity operation of the parity operation unit, a process for transmitting data to the host device is executed. 12. RAID
apparatus.
敗したデータブロックの格納場所を記載するテーブルを
含み、 前記制御部は、前記テーブルを参照して、前記(m−
1)個のディスクに第2の読み出し要求を発行するか、
前記m個のディスクに第2の読み出し要求を発行するか
を決定する、請求項10に記載のRAID装置。12. The control unit according to claim 1, further comprising: a table describing a storage location of a data block from which each disk has failed to read in the past, wherein the control unit refers to the table,
1) issue a second read request to the disks,
The RAID device according to claim 10, wherein it is determined whether to issue a second read request to the m disks.
ータブロックまたは冗長データの格納場所に欠陥が発生
すると、当該欠陥格納場所の代わりに代替格納場所を割
り当てるリアサイン処理を実行するリアサイン処理部を
さらに備え、 前記制御部は、前記リアサイン処理部により、前記テー
ブルに記載されたデータブロックの格納場所に代替記録
場所がリアサインされると、当該データブロックの格納
場所を当該テーブルを削除する、請求項12に記載のR
AID装置。13. When a defect occurs in a storage location of a data block or redundant data stored in each of the m disks, a reassignment processing unit that executes a reassignment process of assigning an alternative storage location instead of the defective storage location is provided. Further, the control unit, when an alternative recording location is reassigned to a storage location of the data block described in the table by the reassignment processing unit, deletes the storage location of the data block from the table. R described in 12
AID device.
保される代替記録領域のアドレスを代替記録領域情報と
して管理する代替記録領域管理部と、 欠陥記録領域の代わりに割り当てられた代替記録領域の
アドレス情報を管理するアドレス管理部とをさらに備
え、 前記リアサイン処理部は、 前記制御部からの第2の読み出し要求が前記m個のディ
スクに送信されると、当該各ディスクにおける遅延時間
を測定し、 測定した遅延時間に基づいて、当該各第2の読み出し要
求により読み出されるべきデータブロックまたは冗長デ
ータの記録領域が欠陥であるか否かを判断し、 データブロックまたは冗長データの記録領域が欠陥であ
ると判断した場合に、前記代替記録領域管理部により管
理される代替記録領域情報に基づいて、欠陥記録領域の
代わりとなる代替記録領域を割り当て、 割り当てた代替記録領域のアドレス情報をアドレス管理
部に管理させ、前記制御部は、前記アドレス管理部によ
り管理されるアドレス情報に基づいて、第2の読み出し
要求を発行し、 前記遅延時間は、所定の処理開始時刻から起算される経
過時間である、請求項13に記載のRAID装置。14. An alternative recording area management unit that manages, as alternative recording area information, an address of an alternative recording area previously reserved in each of the m disks, and an address of an alternative recording area assigned instead of a defective recording area. And an address management unit that manages information, wherein the reassignment processing unit, when a second read request from the control unit is transmitted to the m disks, measures a delay time in each of the disks, Based on the measured delay time, it is determined whether the data block or the redundant data recording area to be read by each of the second read requests is defective, and the data block or the redundant data recording area is defective. If it is determined that the defective recording area is replaced based on the alternative recording area information managed by the alternative recording area management unit. And assigning the address information of the assigned alternative recording area to the address management unit. The control unit issues a second read request based on the address information managed by the address management unit. The RAID device according to claim 13, wherein the delay time is an elapsed time calculated from a predetermined processing start time.
ータブロックまたは冗長データの格納場所に欠陥が発生
すると、当該欠陥格納場所の代わりに代替格納場所を割
り当てるリアサイン処理を実行するリアサイン処理部を
さらに備える、請求項1に記載のRAID装置。15. When a defect occurs in a storage location of a data block or redundant data stored in each of the m disks, a reassignment processing unit that executes a reassignment process of assigning an alternative storage location instead of the defective storage location is provided. The RAID device according to claim 1, further comprising:
保される代替記録領域のアドレスを代替記録領域情報と
して管理する代替記録領域管理部と、 欠陥記録領域の代わりに割り当てられた代替記録領域の
アドレス情報を管理するアドレス管理部とをさらに備
え、 前記リアサイン処理部は、 前記制御部からの第2の読み出し要求が前記m個のディ
スクに送信されると、当該各ディスクにおける遅延時間
を測定し、 測定した遅延時間に基づいて、当該各第2の読み出し要
求により読み出されるべきデータブロックまたは冗長デ
ータの記録領域が欠陥であるか否かを判断し、 データブロックまたは冗長データの記録領域が欠陥であ
ると判断した場合に、前記代替記録領域管理部により管
理される代替記録領域情報に基づいて、欠陥記録領域の
代わりとなる代替記録領域を割り当て、 割り当てた代替記録領域のアドレス情報をアドレス管理
部に管理させ、 前記制御部は、前記アドレス管理部により管理されるア
ドレス情報に基づいて、第2の読み出し要求を発行し、 前記遅延時間は、所定の処理開始時刻から起算される経
過時間である、請求項15に記載のRAID装置。16. An alternative recording area management unit that manages, as alternative recording area information, an address of an alternative recording area secured in advance in each of the m disks, and an address of an alternative recording area assigned instead of a defective recording area. And an address management unit that manages information, wherein the reassignment processing unit, when a second read request from the control unit is transmitted to the m disks, measures a delay time in each of the disks, Based on the measured delay time, it is determined whether the data block or the redundant data recording area to be read by each of the second read requests is defective, and the data block or the redundant data recording area is defective. If it is determined that the defective recording area is replaced based on the alternative recording area information managed by the alternative recording area management unit. And assigning an address management unit to manage the address information of the assigned alternative recording area. The control unit issues a second read request based on the address information managed by the address management unit. The RAID device according to claim 15, wherein the delay time is issued, and the delay time is an elapsed time calculated from a predetermined processing start time.
域が欠陥記録領域であると規定回数連続して判断した場
合に限り、当該欠陥記録領域に代替記録領域を割り当て
る、請求項16に記載のRAID装置。17. The RAID according to claim 16, wherein the reassignment processing unit assigns an alternative recording area to the defective recording area only when the same recording area is determined to be a defective recording area continuously for a specified number of times. apparatus.
個のディスクに第2の読み出し要求が送信された時刻で
ある、請求項16に記載のRAID装置。18. The predetermined processing start time is set to
17. The RAID device according to claim 16, wherein the time is a time at which the second read request is transmitted to the plurality of disks.
のディスクによって第2の読み出し要求に基づく読み出
しが開始される時刻である、請求項16に記載のRAI
D装置。19. The RAI according to claim 16, wherein the predetermined processing start time is a time at which reading by the m disks based on a second read request is started.
D device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33961799A JP2001100944A (en) | 1999-07-26 | 1999-11-30 | RAID device |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11-211320 | 1999-07-26 | ||
JP21132099 | 1999-07-26 | ||
JP33961799A JP2001100944A (en) | 1999-07-26 | 1999-11-30 | RAID device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001100944A true JP2001100944A (en) | 2001-04-13 |
Family
ID=26518564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP33961799A Pending JP2001100944A (en) | 1999-07-26 | 1999-11-30 | RAID device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001100944A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007199934A (en) * | 2006-01-25 | 2007-08-09 | Sony Corp | Data accumulation device and data read-out method |
JP2008204482A (en) * | 2008-04-24 | 2008-09-04 | Matsushita Electric Ind Co Ltd | Storage device |
JP2009163499A (en) * | 2008-01-07 | 2009-07-23 | Nec Corp | Storage device, method, and program |
JP2013149209A (en) * | 2012-01-23 | 2013-08-01 | Nec Corp | Storage device |
-
1999
- 1999-11-30 JP JP33961799A patent/JP2001100944A/en active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007199934A (en) * | 2006-01-25 | 2007-08-09 | Sony Corp | Data accumulation device and data read-out method |
US7904650B2 (en) | 2006-01-25 | 2011-03-08 | Sony Corporation | Data storage apparatus and data reading method |
JP2009163499A (en) * | 2008-01-07 | 2009-07-23 | Nec Corp | Storage device, method, and program |
JP2008204482A (en) * | 2008-04-24 | 2008-09-04 | Matsushita Electric Ind Co Ltd | Storage device |
JP2013149209A (en) * | 2012-01-23 | 2013-08-01 | Nec Corp | Storage device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4744569B2 (en) | Recording method and reproducing method suitable for recording / reproducing AV data, recording drive and reproducing drive thereof, information recording system, information reproducing system, and information recording medium | |
US6799283B1 (en) | Disk array device | |
US7441149B2 (en) | Method and apparatus of recording data in the optical recording medium | |
US6457109B1 (en) | Method and apparatus for copying data from one storage system to another storage system | |
KR100962883B1 (en) | Methods, systems, and manufacturing methods for transferring source data to target data | |
JP4855106B2 (en) | Method for recording data on optical recording medium or reproducing data from optical recording medium, and optical recording medium | |
US7430155B2 (en) | Defect area management system and method for optical storage medium | |
EP0899731B1 (en) | Improved disk log using distributed write | |
WO2001075879A1 (en) | Information recording device, information recording method, and program | |
EP1335369B1 (en) | Information processor, information processing method and medium recording information processing method | |
TW200836180A (en) | Buffer management method and optical disc drive | |
WO2005124773A1 (en) | Drive device | |
JP4404751B2 (en) | Information processing system, storage device, storage control program, and computer-readable recording medium recording storage control program | |
JP2001100944A (en) | RAID device | |
JP4933722B2 (en) | Disk control device, disk patrol method, and disk patrol program | |
CN106610788A (en) | Hard disk array control method and device | |
JP2000242438A (en) | Disk array device that can execute reassignment processing | |
JP2000242438A5 (en) | ||
CN100452221C (en) | Information storage medium,recording/reproducing apparatus,recording/reproducing method,and host | |
JP4196512B2 (en) | Recording method and reproducing method suitable for recording / reproducing AV data, recording drive and reproducing drive thereof, information recording system, information reproducing system, and information recording medium | |
JP3427763B2 (en) | Disk array device | |
JP2001195836A (en) | Optical disk recording method | |
JPH09231014A (en) | Defect processor for storage medium |