JPH10161819A - Disk array control method and device therefor - Google Patents

Disk array control method and device therefor

Info

Publication number
JPH10161819A
JPH10161819A JP9269585A JP26958597A JPH10161819A JP H10161819 A JPH10161819 A JP H10161819A JP 9269585 A JP9269585 A JP 9269585A JP 26958597 A JP26958597 A JP 26958597A JP H10161819 A JPH10161819 A JP H10161819A
Authority
JP
Japan
Prior art keywords
data
disk
error correction
disk device
track
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.)
Withdrawn
Application number
JP9269585A
Other languages
Japanese (ja)
Inventor
Yasunobu Kato
泰信 加藤
Takushi Totsuka
卓志 戸塚
Hiroyuki Shiotani
浩之 塩谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP9269585A priority Critical patent/JPH10161819A/en
Publication of JPH10161819A publication Critical patent/JPH10161819A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

PROBLEM TO BE SOLVED: To set a fixed data read/write time and also to improve the reliability of data. SOLUTION: The (n+1) pieces of disk devices are selected out of (m) pieces of disk devices in all to store the error correction data and (n) pieces of sub- blocks obtained by dividing the error correction data (S1). Then an outer circumference track where the error correction data and a prescribed sub-block are prepared, an inner circumference track where other sub-blocks are prepared and a start logical sector are decided for every selected disk device (S2). The error correction data and the size of every sub-block are decided so as to secure a fixed ratio between the number of sectors of a track and the error correction data prepared on the track or the sub-block size (S3).

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、ディスクアレイ制
御方法および装置に関し、例えば、サイズの異なるサブ
ブロックから誤り訂正用データを生成することにより、
データの格納場所に拘らず、誤り訂正用データおよびサ
ブブロックの読み出しおよび書き込み時間を一定にする
ことができるディスクアレイ制御方法および装置に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a disk array control method and apparatus, for example, by generating error correction data from sub-blocks having different sizes.
The present invention relates to a disk array control method and apparatus capable of keeping reading and writing times of error correction data and sub-blocks constant irrespective of data storage locations.

【0002】[0002]

【従来の技術】近年のコンピュータシステムの発展はめ
ざましいが、その発展に伴い、外部記憶装置に対する要
求も高まっている。その要求に答えるべく開発されたの
がディスクアレイ装置である。このディスクアレイ装置
は、複数のディスク装置を内蔵して、大容量化を図り、
各ディスク装置を並列に動かし、読み出しあるいは書き
込みを高速化するとともに、誤り訂正用データを取り入
れることにより、信頼性を上げている。
2. Description of the Related Art In recent years, computer systems have been remarkably developed, and with the progress thereof, demands for external storage devices have been increasing. A disk array device has been developed to meet the demand. This disk array device incorporates a plurality of disk devices to increase capacity,
Each disk drive is operated in parallel to speed up reading or writing, and incorporates error correction data to increase reliability.

【0003】ディスクアレイ装置にデータを格納する場
合、データを分割して複数のサブブロックとし、それら
のサブブロックを元に、誤り訂正用データを生成し、全
てのサブブロックと誤り訂正用データをそれぞれ別々の
ディスク装置に書き込む。
When data is stored in a disk array device, the data is divided into a plurality of sub-blocks, error correction data is generated based on the sub-blocks, and all the sub-blocks and the error correction data are stored in the sub-blocks. Write to different disk units.

【0004】逆に、ディスクアレイ装置からデータを取
り出す場合、データを構成するサブブロックと誤り訂正
用データが格納されているディスク装置から、複数のサ
ブブロックと誤り訂正用データを同時に読み出し、読み
出したサブブロックから元のデータを構成し、エラーが
なければそのまま送出する。そのとき、サブブロックが
格納されている記録エリアが壊れている等の理由で、正
常に読み出すことができない場合、他の正常に読み出さ
れたサブブロックと誤り訂正用データを元に、正しいデ
ータを復元した後、送出する。
Conversely, when data is taken out from the disk array device, a plurality of sub-blocks and error correction data are simultaneously read out from the disk device storing the sub-blocks constituting the data and the error correction data. The original data is constructed from the sub-blocks, and is transmitted as it is if there is no error. At this time, if the data cannot be read normally because the recording area where the sub-block is stored is broken or the like, correct data is read based on the other normally read sub-blocks and the error correction data. And then send it out.

【0005】また、ディスクアレイ装置においては、1
つのディスク装置が完全に壊れた場合でも、壊れたディ
スク装置を新しいものに交換し、他のディスク装置のデ
ータを用いて、壊れたデータを復旧するという機能を備
えるようにすることもできる。
In a disk array device, 1
Even if one disk device is completely broken, the function of replacing the broken disk device with a new one and using the data of another disk device to recover the damaged data can be provided.

【0006】誤り訂正用データを取り入れたディスクア
レイ装置にはいくつかの異なる方式がある。UCバーク
レイ校のDvid A.Patterson教授らは、
その方式を5段階に分類し、RAID(Redundant Arra
ys of Inexpensive Disks)のレベルという用語を初め
て提唱した。以下にその内容を簡単に紹介する。
There are several different types of disk array devices incorporating error correction data. David A. from UC Berkeley. Professor Patternson and others
The method is classified into five stages, and RAID (Redundant Arra
ys of Inexpensive Disks) for the first time. The contents are briefly introduced below.

【0007】RAID−1は、ディスク装置のデータを
2重化するものであり、ミラードディスクとも呼ばれ
る。RAID−1では、全く同一のデータが2つのディ
スク装置に格納される。RAID−2,3は、入力デー
タをビット単位やバイト単位で分割し、複数のディスク
装置に格納する。RAID−2ではハミング符号を、R
AID−3ではパリティを誤り訂正用データとして使用
する。RAID−4,5は、データをセクタ単位でイン
タリーブする。RAID−4は、パリティを同一のディ
スク装置に格納するのに対し、RAID−5では複数の
ディスク装置に分散させる。
[0007] RAID-1 duplicates data in a disk device and is also called a mirrored disk. In RAID-1, exactly the same data is stored in two disk devices. In RAID-2 and RAID-3, input data is divided in units of bits or bytes and stored in a plurality of disk devices. In RAID-2, the Hamming code is represented by R
In AID-3, parity is used as error correction data. RAID-4 and RAID-5 interleave data in sector units. In RAID-4, parity is stored in the same disk device, whereas in RAID-5, parity is distributed to a plurality of disk devices.

【0008】これらのRAIDのレベルうち、通常のデ
ィスクアレイ装置に最もよく採用されている方式は、R
AID-3とRAID−5である。図18は、RAID
−3の方式のディスクアレイ装置の一例の構成を表し、
図19は、RAID−5の方式のディスクアレイ装置の
一例の構成を表している。
[0008] Of these RAID levels, the scheme most often employed in ordinary disk array systems is R
AID-3 and RAID-5. FIG. 18 shows the RAID
-3 represents an example of a configuration of a disk array device of a type-3,
FIG. 19 shows an example of the configuration of a RAID-5 type disk array device.

【0009】即ち、図18に示したRAID−3方式の
ディスクアレイ装置においては、入力データをバイト単
位に分割し、バイト単位に分割された各データを複数の
ディスク装置に格納する。そして、訂正用データとして
のパリティを所定のディスク装置に格納する。ここで
は、複数のディスク装置に格納されたNo.1乃至4の
データに対するパリティP1-4と、No.5乃至8のデ
ータに対するパリティP5 -8が格納されている。
That is, in the RAID-3 type disk array device shown in FIG. 18, input data is divided into bytes, and each data divided into bytes is stored in a plurality of disk devices. Then, the parity as correction data is stored in a predetermined disk device. Here, the No. stored in a plurality of disk devices is used. Parities P 1-4 for the data of Nos. 1 to 4 and No. 1 Parities P 5 -8 for data 5 to 8 are stored.

【0010】また、図19に示したRAID−5方式の
ディスクアレイ装置においては、入力データをセクタ単
位に分割し、それらのデータをインタリーブして複数の
ディスク装置に分散させる。この場合、最初のディスク
装置にはデータA,E,I、次のディスク装置にはデー
タB,F,J、次のディスク装置にはデータC,G,と
データI乃至Lに対するパリティPI-Lが格納されてい
る。そして、次のディスクには、データD,Kと、デー
タE乃至Hに対するパリティPE-Hが格納され、最後の
ディスク装置には、データA乃至Dに対するパリティP
A-Dと、データH,Lが格納されている。
In the RAID-5 disk array device shown in FIG. 19, input data is divided into sectors, and the data is interleaved and distributed to a plurality of disk devices. In this case, the data A, E, and I are stored in the first disk device, the data B, F, and J are stored in the next disk device, the data C, G, and the parity P IL for the data I to L are stored in the next disk device. Is stored. The next disk stores data D and K and parity P EH for data E to H, and the last disk device stores parity P for data A to D.
AD and data H and L are stored.

【0011】一方、近年のコンピュータシステムの発展
により、画像や音声などに代表されるマルチメディアデ
ータを扱うことが可能となったが、これらのマルチメデ
ィアデータ用のストレージは、マルチメディアサーバと
呼ばれることがある。マルチメディアサーバは、大容量
かつ高転送レートが要求されるので、ハードウェアシス
テムとしてはディスクアレイ装置として実現されること
が多い。ただし、従来のコンピュータ用サーバにおいて
は処理を行う平均性能が重視されているのに対し、マル
チメディアサーバにおいては、処理を完了するまでに要
する時間の最悪値をいかに抑えるかという点が重視され
る。
On the other hand, with the development of computer systems in recent years, it has become possible to handle multimedia data typified by images and sounds, and the storage for these multimedia data is called a multimedia server. There is. Since the multimedia server requires a large capacity and a high transfer rate, it is often realized as a disk array device as a hardware system. However, while the conventional computer server emphasizes the average performance of processing, the multimedia server emphasizes how to minimize the worst time required to complete the processing. .

【0012】例えば、動画像の場合、毎秒30枚の画像
が一定の間隔で次々に表示されないと、動きがぎこちな
くなる。また、ディスク装置の能力が追い付かず、音声
データが不足すれば音が途切れて不快なノイズを発す
る。最悪の場合でもこれだけの時間で処理できるという
上限が保証されていることをリアルタイム性を保証する
という。マルチメディアサーバでは、このリアルタイム
性を保証することができるかどうかも重要である。
For example, in the case of a moving image, the movement becomes awkward unless 30 images per second are displayed one after another at regular intervals. Also, if the capacity of the disk device cannot keep up and the sound data is insufficient, the sound is interrupted and unpleasant noise is emitted. In the worst case, real-time performance is guaranteed if the upper limit that processing can be performed in this amount of time is guaranteed. It is also important for a multimedia server whether this real-time property can be guaranteed.

【0013】[0013]

【発明が解決しようとする課題】ところで、ハードディ
スクなどのディスク記憶装置には、ゾーン・ビット・レ
コーディング(ZBR)と呼ばれるフォーマット方法が
ある。記録密度が一定、かつディスクの回転速度が一定
という条件の下では、図20に示すように、内周より外
周の方でトラックあたりのセクタ数を多く取ることがで
きる。ZBRとは記録面をディスクの中心からの距離に
応じて複数のゾーンに分け、外側のゾーンでは、内側の
ゾーンよりトラックあたりのセクタ数を多くするように
してディスクの記録容量を増やすようにしたフォーマッ
ト方法である。
Meanwhile, a disk storage device such as a hard disk has a format method called zone bit recording (ZBR). Under the condition that the recording density is constant and the rotation speed of the disk is constant, as shown in FIG. 20, the number of sectors per track can be larger on the outer periphery than on the inner periphery. With ZBR, the recording surface is divided into a plurality of zones according to the distance from the center of the disk, and the number of sectors per track is increased in the outer zone than in the inner zone to increase the recording capacity of the disk. Formatting method.

【0014】図21は、ZBR方式を用いてフォーマッ
トされたディスク記憶装置におけるシリンダアドレスと
1トラックあたりのセクタ数の関係を示している。この
場合、外周側のトラックには例えば176個のセクタが
存在し、それより内側のトラックには例えば132個の
セクタが存在しており、外周側のトラックの方が内周側
のトラックより1トラックあたりのセクタ数が多くなっ
ている。
FIG. 21 shows the relationship between the cylinder address and the number of sectors per track in a disk storage device formatted using the ZBR method. In this case, the outer track has, for example, 176 sectors, the inner track has, for example, 132 sectors, and the outer track has one more track than the inner track. The number of sectors per track is increasing.

【0015】ZBR方式のディスク記憶装置では、内周
の方が外周よりセクタ数が少ないにも拘らず、回転速度
は常に一定であるから、同一のデータサイズであって
も、内周側よりに格納されているデータの方が読み出し
に時間がかかるという問題が生じる。このことは、ZB
R方式のディスク記憶装置を使用するディスクアレイ装
置についても当てはまり、データを分割してできたサブ
ブロックの格納場所により、読み出し時間が異なるの
で、ディスクアレイ装置がデータを送出することができ
る時間もそれによって決められてしまう。同様に、デー
タの書き込み時間も格納場所により異なることになる。
In the disk storage device of the ZBR system, the rotation speed is always constant even though the number of sectors is smaller on the inner circumference than on the outer circumference. There is a problem that stored data takes longer to read. This means that ZB
The same applies to a disk array device using an R-type disk storage device. Since the read time varies depending on the storage location of the sub-blocks obtained by dividing the data, the time during which the disk array device can transmit data also increases. Is determined by Similarly, the data writing time differs depending on the storage location.

【0016】図22は、RAID−3方式でデータを格
納した場合に、データが各ディスク記憶装置に分散され
る様子を表している。この例では、固定長データと誤り
訂正用データを各ディスクの最外周から順々に埋めるよ
うに書き込んでいる。この場合、一番最初のデータを構
成するサブブロックと、誤り訂正用データは最外周に格
納されるため、読み出し時間あるいは書き込み時間が最
も早くなる。逆に、一番最後のデータを構成するサブブ
ロックと誤り訂正用データは最内周に格納されるため、
読み出し時間あるいは書き込み時間が最も遅くなる。こ
のように、格納場所によりアクセス時間が変化する傾向
は、特にリアルタイム性の保証が要求されるマルチメデ
ィア分野の応用には向いていない。
FIG. 22 shows how data is distributed to the disk storage devices when data is stored in the RAID-3 system. In this example, the fixed-length data and the error correction data are written so as to be sequentially filled from the outermost periphery of each disk. In this case, since the sub-blocks constituting the first data and the error correction data are stored in the outermost periphery, the read time or the write time is the shortest. Conversely, since the sub-block and the error correction data that constitute the last data are stored in the innermost circumference,
The read or write time is the slowest. As described above, the tendency that the access time varies depending on the storage location is not particularly suitable for applications in the multimedia field where real-time guarantee is required.

【0017】また、図17に示すように、ZBR方式の
ディスク記憶装置を使用しているサーバにおいては、読
み出し時間あるいは書き込み時間を均一とするために、
データを構成するサブブロックをディスクの外周よりに
格納するものと内周よりに格納するものに分け、それぞ
れのサイズをデータの読み出し時間および書き込み時間
が一定となるように決めるようにすることが考えられ
る。
Further, as shown in FIG. 17, in a server using a disk storage device of the ZBR system, in order to make the reading time or the writing time uniform,
It is conceivable to divide the sub-blocks that compose the data into those that are stored from the outer circumference of the disk and those that are stored from the inner circumference, and determine the size of each of them so that the data read time and data write time are constant. Can be

【0018】そして、各サブブロックのサイズを決定す
るとき、それが格納されているトラックにおけるトラッ
クあたりのセクタ数に比例するようにサイズを決めるよ
うにする。その場合、各サブブロックのサイズは一定で
はなくなる。一方、RAID−1方式乃至RAID−5
方式を含めた従来方式における誤り訂正用データの生成
方法では、サブブロックのサイズは全て同一であるとい
う条件があった。従って、従来の方式ではサイズが異な
るサブブロックに対しては誤り訂正用データを生成する
ことができない。
When determining the size of each sub-block, the size is determined so as to be proportional to the number of sectors per track in the track where the sub-block is stored. In that case, the size of each sub-block is not constant. On the other hand, RAID-1 to RAID-5
In the method of generating error correction data in the conventional method including the method, there is a condition that all sub-blocks have the same size. Therefore, error correction data cannot be generated for sub-blocks having different sizes in the conventional method.

【0019】本発明はこのような状況に鑑みてなされた
ものであり、ディスクアレイ装置において、データを読
み出す時間あるいは書き込む時間を全て均一にすること
ができ、なおかつ各データに誤り訂正用データを付加す
ることができるようにし、データの信頼性を高めること
ができるようにするものである。
The present invention has been made in view of such a situation. In a disk array device, the time for reading data or the time for writing data can all be made uniform, and error correction data is added to each data. And improve the reliability of the data.

【0020】[0020]

【課題を解決するための手段】請求項1に記載のディス
クアレイ制御方法は、サイズが異なる第2のデータから
誤り訂正用データを生成し、ディスク装置に対して、第
2のデータおよび誤り訂正用データの読み出し、および
書き込みに要する時間が均一となるように、第2のデー
タを格納するディスク装置およびディスク装置上のアド
レスと、第2のデータのサイズと、誤り訂正用データを
格納するディスク装置およびディスク装置上のアドレス
とを決定することを特徴とする。
According to a first aspect of the present invention, there is provided a disk array control method, comprising: generating error correction data from second data having different sizes; Device for storing the second data, the address on the disk device, the size of the second data, and the disk for storing the error correction data so that the time required for reading and writing the data for use becomes uniform. And determining an address on the device and the disk device.

【0021】請求項16に記載のディスクアレイ制御装
置は、サイズが異なる第2のデータから誤り訂正用デー
タを生成する生成手段と、ディスク装置に対して、第2
のデータおよび誤り訂正用データの読み出し、および書
き込みに要する時間が均一となるように、第2のデータ
を格納するディスク装置およびディスク装置上のアドレ
スと、第2のデータのサイズと、誤り訂正用データを格
納するディスク装置およびディスク装置上のアドレスと
を決定する決定手段とを備えることを特徴とする。
According to another aspect of the present invention, there is provided a disk array control device, comprising: a generation unit configured to generate error correction data from second data having different sizes;
The disk device for storing the second data, the address on the disk device, the size of the second data, the error correction data, A disk device for storing data and a determination unit for determining an address on the disk device are provided.

【0022】請求項1に記載のディスクアレイ制御方法
においては、サイズが異なる第2のデータから誤り訂正
用データを生成し、ディスク装置に対して、第2のデー
タおよび誤り訂正用データの読み出し、および書き込み
に要する時間が均一となるように、第2のデータを格納
するディスク装置およびディスク装置上のアドレスと、
第2のデータのサイズと、誤り訂正用データを格納する
ディスク装置およびディスク装置上のアドレスとを決定
する。
In the disk array control method according to the first aspect, error correction data is generated from the second data having different sizes, and the second data and the error correction data are read out to the disk device. And a disk device for storing the second data and an address on the disk device so that the time required for writing is uniform,
The size of the second data, the disk device for storing the error correction data, and the address on the disk device are determined.

【0023】請求項16に記載のディスクアレイ制御装
置においては、生成手段が、サイズが異なる第2のデー
タから誤り訂正用データを生成し、決定手段が、ディス
ク装置に対して、第2のデータおよび誤り訂正用データ
の読み出し、および書き込みに要する時間が均一となる
ように、第2のデータを格納するディスク装置およびデ
ィスク装置上のアドレスと、第2のデータのサイズと、
誤り訂正用データを格納するディスク装置およびディス
ク装置上のアドレスとを決定する。
In the disk array control device according to the present invention, the generating means generates error correction data from the second data having different sizes, and the determining means sends the second data to the disk device. And a disk device for storing the second data, an address on the disk device, a size of the second data, and the like, so that the time required for reading and writing the error correction data becomes uniform.
The disk device storing the error correction data and the address on the disk device are determined.

【0024】[0024]

【発明の実施の形態】図1は、本発明を適用したマルチ
メディアサーバの実施の形態の構成を示すブロック図で
ある。
FIG. 1 is a block diagram showing a configuration of an embodiment of a multimedia server to which the present invention is applied.

【0025】配置部(Block Allocato
r)1(決定手段)は、入力されたフォーマットパラメ
ータと、ZBR(ゾーンビットレコーディング)テーブ
ル(ZBR Table)8からのデータに基づいて、
後述するブロックマップ(Block Map)3を作
成するようになされている。フォーマットパラメータ
は、データの1ブロックの大きさS、データを分割する
数n、および最適なスキュー値(θskew)などから構成
されている。
Arrangement part (Block Allocato)
r) 1 (determining means), based on the input format parameters and the data from the ZBR (zone bit recording) table (ZBR Table) 8,
A block map (Block Map) 3 described later is created. The format parameters include the size S of one block of data, the number n for dividing the data, an optimal skew value (θ skew ), and the like.

【0026】一方、ZBRテーブル8は、データの配置
場所と、その場所での1トラック(Track)あたり
のセクタ(Sector)数を対応づけた表であり、グ
ラフにすると図21に示したようになる。従って、デー
タの配置場所から、1トラックのセクタ数を調べること
ができる。その他に、ディスク記憶装置(Disk)6
−1乃至6−mの物理セクタアドレスから論理セクタア
ドレスに変換する処理が必要となるが、この実施の形態
では、後述するSCSI(ANSI Small Computer System
Interface)ドライバ5−1乃至5−mを介して、ディ
スク記憶装置6−1乃至6−mに直接問い合わせること
により、その変換を行うようになされている。なお、以
下では、特に区別する必要がない場合、SCSIドライ
バ5−1乃至5−mを単にSCSIドライバ5と、ま
た、ディスク記憶装置6−1乃至6−mを単にディスク
記憶装置6と記載することにする。
On the other hand, the ZBR table 8 is a table in which data arrangement locations are associated with the number of sectors (Sectors) per track (Track) at that location, and as a graph, as shown in FIG. Become. Therefore, the number of sectors on one track can be checked from the data arrangement location. In addition, a disk storage device (Disk) 6
A process of converting a physical sector address from -1 to 6-m to a logical sector address is required. In this embodiment, a SCSI (ANSI Small Computer System) described later is used.
(Interface) The conversion is performed by directly inquiring the disk storage devices 6-1 to 6-m via the drivers 5-1 to 5-m. In the following, the SCSI drivers 5-1 to 5-m are simply referred to as the SCSI driver 5 and the disk storage devices 6-1 to 6-m are simply referred to as the disk storage device 6, unless it is particularly necessary to distinguish them. I will.

【0027】ディスク記憶装置6の論理セクタアドレス
と物理セクタアドレスの関係については、図8を参照し
て後述する。
The relationship between the logical sector address and the physical sector address of the disk storage device 6 will be described later with reference to FIG.

【0028】誤り訂正コントローラ(ECC Cont
roller)9(生成手段)は、データバッファ4よ
りデータを読み出し、誤り訂正用データを生成し、デー
タバッファ4に供給したり、データバッファ4より読み
出したデータを構成するサブブロックに誤りがある場
合、そのデータを構成する誤り訂正用データを用いてそ
のサブブロックを訂正するようになされている。
An error correction controller (ECC Cont)
(Roller) 9 (generating means) reads data from the data buffer 4, generates error correction data, and supplies the data to the data buffer 4 or when there is an error in a sub-block constituting the data read from the data buffer 4. The sub-block is corrected using the error correction data constituting the data.

【0029】配置部1は、データの配置を決定した後、
ブロックマップ3を作成していく。ブロックマップ3
は、図2に示したように、k(データの総数を越えない
任意の自然数)番目のデータを分割して得られたn個の
サブブロックと誤り訂正用データをディスク上のどこに
格納するかを示すものである。各データの最上段には、
誤り訂正用データが配置され、その配置場所は、ディス
ク記憶装置番号Dkp、ディスク記憶装置上の開始論理セ
クタアドレスLkp、サブブロックを構成するセクタの数
kpより決定することができる。また、各サブブロック
の配置場所は、ディスク記憶装置番号Dki、ディスク記
憶装置上の開始論理セクタアドレスLki、サブブロック
を構成するセクタの数Skiより決定することができる。
ここで、iは、1≦i≦nの自然数である。
After arranging the data, the arranging unit 1 determines
The block map 3 is created. Block map 3
Is, as shown in FIG. 2, where n sub-blocks obtained by dividing the k-th (arbitrary natural number not exceeding the total number of data) data and error correction data are stored on the disk. It shows. At the top of each data,
The error correction data is arranged, and the arrangement location can be determined from the disk storage device number D kp , the starting logical sector address L kp on the disk storage device, and the number S kp of the sectors constituting the sub-block. The location of each sub-block can be determined from the disk storage device number D ki , the starting logical sector address L ki on the disk storage device, and the number S ki of sectors constituting the sub-block.
Here, i is a natural number satisfying 1 ≦ i ≦ n.

【0030】データを連続的に読み出す、あるいは書き
込むときは、まず、複数のデータのアクセス要求が発生
し、それらの要求を識別する情報としてのデータの番
号、データが置かれるデータバッファ(Data Bu
ffer)4上でのアドレス、および読み出しか書き込
みかを示すフラグがアクセス要求バッファ(Acces
s Request Buffer)7に蓄えられる。
When reading or writing data continuously, first, a plurality of data access requests are generated, a data number as information for identifying the requests, and a data buffer (Data Bu) in which the data is placed.
address) and a flag indicating read or write are stored in the access request buffer (Acses).
s Request Buffer 7).

【0031】スケジューラ(Scheduler)2
は、所定の時間にそれらの複数の情報をアクセス要求バ
ッファ7より読み出し、ブロックマップ3を参照して、
要求されているデータを構成するサブブロックと誤り訂
正用データの配置場所を調べるようになされている。配
置場所は、ディスク記憶装置6、ディスク記憶装置6上
での開始論理セクタアドレス、セクタ数からなり、スケ
ジューラ2は、該当するディスク記憶装置6をドライブ
するSCSIドライバ5にアクセス要求を行うようにな
されている。
Scheduler (Scheduler) 2
Reads the plurality of pieces of information from the access request buffer 7 at a predetermined time and refers to the block map 3 to
The sub-blocks constituting the requested data and the locations of the error correction data are checked. The location includes the disk storage device 6, the starting logical sector address on the disk storage device 6, and the number of sectors. The scheduler 2 issues an access request to the SCSI driver 5 that drives the relevant disk storage device 6. ing.

【0032】データバッファ4は、入力されたマルチメ
ディアデータ等を一時的に記憶したり、ディスク記憶装
置6より読み出されたマルチメディアデータ等を一時的
に記憶するようになされている。
The data buffer 4 temporarily stores the input multimedia data and the like, and temporarily stores the multimedia data and the like read from the disk storage device 6.

【0033】次に、データをディスク記憶装置6に書き
込む場合の各部の動作について説明する。最初に、ディ
スク記憶装置6に書き込むべきデータが、順次、データ
バッファ4に書き込まれる。このとき、スケジューラ2
は、ブロックマップ3よりデータをどのように分割する
かという情報を持っている。図3(A)は、k番目のデ
ータを異なるサイズのサブブロックに分割した例を示し
ている。即ち、サイズがSのデータをサイズがSk1のサ
ブブロック#1、サイズがSk2のサブブロック#2、サ
イズがSk3のサブブロック#3、およびサイズがSk4
サブブロック#4に分割する。
Next, the operation of each unit when writing data to the disk storage device 6 will be described. First, data to be written to the disk storage device 6 is sequentially written to the data buffer 4. At this time, scheduler 2
Has information on how to divide data from the block map 3. FIG. 3A shows an example in which k-th data is divided into sub-blocks of different sizes. That is, the division size is the data of S sub-blocks # 1 of size S k1, subblock # 2 size S k2, subblock # 3 of size S k3, and size in the sub-block # 4 in the S k4 I do.

【0034】ここで、サブブロックの分割について、さ
らに詳細に説明する。例えば、サイズSのデータを1フ
レームのデータとすると、1フレームのデータをサイズ
がそれぞれSk1,Sk2,Sk3およびSk4の4つのサ
ブブロック#1,#2,#3および#4に分割する。図
4に示すように、1フレームのデータが、M×N画素で
構成されている場合、1フレームを所定の画素数(L画
素)からなるパケットに分割する。そして、図4に示す
ように、分割された各パケットを順に4つのサブブロッ
クに割り当てる。例えば、パケットA0をサブブロック
#1に、パケットB0をサブブロック#2に、パケット
C0をサブブロック#3、パケットD0をサブブロック
#4に割り当て、さらに、パケットA1をサブブロック
#1に、パケットB1をサブブロック#2に、パケット
C1をサブブロック#3に、パケットD1をサブブロッ
ク#4に割り当てる。このように、各パケットを順に各
サブブロックに割り当てることにより、図5に示すよう
な、サブロック#1、サブブロック#2、サブブロック
#3およびサブブロック#4に分割されることになる。
Here, the division of the sub-block will be described in more detail. For example, if the data of one frame data size S, 1 frame data size respectively of Sk 1, Sk 2, Sk 3 and 4 sub-blocks # 1 of Sk 4, # 2, # 3 and # 4 To divide. As shown in FIG. 4, when one frame of data is composed of M × N pixels, one frame is divided into packets each having a predetermined number of pixels (L pixels). Then, as shown in FIG. 4, each divided packet is sequentially allocated to four sub-blocks. For example, packet A0 is assigned to subblock # 1, packet B0 is assigned to subblock # 2, packet C0 is assigned to subblock # 3, packet D0 is assigned to subblock # 4, and packet A1 is assigned to subblock # 1. B1 is allocated to sub-block # 2, packet C1 is allocated to sub-block # 3, and packet D1 is allocated to sub-block # 4. In this way, by allocating each packet to each sub-block in order, it is divided into sub-block # 1, sub-block # 2, sub-block # 3 and sub-block # 4 as shown in FIG.

【0035】誤り訂正コントローラ9は、スケジューラ
2からの指示に従って、これらのサブブロックをデータ
バッファ4より読み込み、読み込んだサブブロックに基
づいて誤り訂正用データを生成する。サブブロックのサ
イズは、大抵の場合、一定ではなく、誤り訂正用データ
のサイズは、分割されたサブブロックの中の最もサイズ
が大きいサブブロックのサイズと等しくなるようにす
る。
The error correction controller 9 reads these sub-blocks from the data buffer 4 in accordance with an instruction from the scheduler 2, and generates error correction data based on the read sub-blocks. In most cases, the size of the sub-block is not constant, and the size of the error correction data is set to be equal to the size of the largest sub-block among the divided sub-blocks.

【0036】基本的には、j番目の誤り訂正用データP
jは、各サブブロックのj番目のデータから生成され
る。このとき、図3(B)に示すように、jの値が小さ
い場合、全てのサブブロックに対応するj番目のデータ
が存在するので、全てのサブブロックのデータから、誤
り訂正用データPjが生成される。一方、jがある程度
より大きくなると、図3(C)に示すように、いくつか
のサブブロックではj番目のデータが存在しない場合が
ある。この場合、サブブロック#1,#3において、j
番目に該当するデータが存在しない。
Basically, the j-th error correction data P
j is generated from the j-th data of each sub-block. At this time, as shown in FIG. 3 (B), if the value of j is small, because j-th data corresponding to all the subblocks exist, the data of all the subblocks, error correction data P j Is generated. On the other hand, when j becomes larger than a certain level, the j-th data may not exist in some sub-blocks as shown in FIG. In this case, in sub-blocks # 1 and # 3, j
No corresponding data exists.

【0037】このような場合、サイズがj以上であるサ
ブブロック#2,#4からj番目のデータを読み出し、
それらのデータに基づいて、誤り訂正用データPjを生
成する。あるいは、サブブロック#1,#3に予め決め
られた所定のデータを付加し、図3(A)の場合と同様
に、すべてのサブブロックのデータから誤り訂正用デー
タPjを生成するようにすることもできる。なお、誤り
訂正用データを発生するアルゴリズムには様々な種類が
あるが、ここではその詳細までを述べる必要がないので
省略する。なお、図5には、複数のパケットにより構成
されるサブブロックから生成されたパリティが示されて
いる。
In such a case, the j-th data is read from the sub-blocks # 2 and # 4 having a size of j or more,
The error correction data Pj is generated based on the data. Alternatively, predetermined data is added to the sub-blocks # 1 and # 3, and the error correction data Pj is generated from the data of all the sub-blocks as in the case of FIG. You can also. Although there are various types of algorithms for generating error correction data, they are not described here in detail because they need not be described in detail. FIG. 5 shows parity generated from a sub-block composed of a plurality of packets.

【0038】誤り訂正コントローラ9により生成された
誤り訂正用データは、データバッファ4に書き込まれ
る。その後、スケジューラ2からの指示がなされたSC
SIドライバ5が、該当するディスク記憶装置6に対し
てデータバッファ4上のサブブロックと誤り訂正用デー
タを書き込むことにより、一連の書き込み処理が終了す
る。
The error correction data generated by the error correction controller 9 is written to the data buffer 4. After that, the SC instructed by the scheduler 2
When the SI driver 5 writes the sub-blocks on the data buffer 4 and the error correction data to the corresponding disk storage device 6, a series of write processing ends.

【0039】次に、データを読み出す場合における各部
の動作について説明する。まず、アクセス要求バッファ
7にアクセス要求が格納される。スケジューラ2は、ア
クセス要求バッファ7からアクセス要求を読み出し、そ
れを該当するSCSIドライバ5に供給する。SCSI
ドライバ5は、スケジューラ2より供給されたアクセス
要求に基づいて、該当するディスク記憶装置6からアク
セス要求によって指定されたサブブロックと誤り訂正用
データを読み出し、それらをデータバッファ4に書き込
む。
Next, the operation of each unit when reading data will be described. First, an access request is stored in the access request buffer 7. The scheduler 2 reads an access request from the access request buffer 7 and supplies it to the corresponding SCSI driver 5. SCSI
The driver 5 reads the sub-block and the error correction data designated by the access request from the corresponding disk storage device 6 based on the access request supplied from the scheduler 2, and writes them to the data buffer 4.

【0040】誤り訂正コントローラ9は、スケジューラ
2からの指示に従って、データバッファ4に書き込まれ
たこれらのサブブロックと誤り訂正用データを読み出
し、誤り訂正用データに基づいて、サブブロックに誤り
があるか否かを判断し、誤りがある場合、それを訂正す
る。
The error correction controller 9 reads out these sub-blocks and the data for error correction written in the data buffer 4 in accordance with the instruction from the scheduler 2 and determines whether there is an error in the sub-block based on the error correction data. Judgment is made, and if there is an error, correct it.

【0041】例えば、所定のサブブロックのj番目のデ
ータが誤っている場合、基本的には他のサブブロックの
j番目のデータと誤り訂正用データを用いて誤りを訂正
する。例えば、図6(A)に示すように、jの値が小さ
い場合、全てのサブブロックのj番目のデータから誤り
訂正用データが生成されているので、誤り訂正用データ
のj番目のデータと誤りのないサブブロック#1乃至#
3の全てのj番目のデータを用いて、サブブロック#4
のj番目のデータの訂正を行う。
For example, when the j-th data of a predetermined sub-block is incorrect, the error is basically corrected using the j-th data of another sub-block and the error correction data. For example, as shown in FIG. 6A, when the value of j is small, the error correction data is generated from the j-th data of all the sub-blocks. Error-free sub-blocks # 1 to #
3 using all j-th data, sub-block # 4
J is corrected.

【0042】一方、図6(B)に示すように、jの値が
ある程度大きくなると、サイズがj以上であるサブブロ
ックのj番目のデータから誤り訂正用データが生成され
るので、サイズがj以上であるサブブロックの中の誤り
がないものと、誤り訂正用データを使用して訂正を行
う。誤りが訂正されたサブブロックは、データバッファ
4上の指定された場所に書き込まれ、正しいデータとし
てディスクアレイ装置の外部に送出される。
On the other hand, as shown in FIG. 6B, when the value of j is increased to some extent, error correction data is generated from the j-th data of the sub-block having a size of j or more. Correction is performed using the above-described sub-blocks having no error and the error correction data. The sub-block in which the error has been corrected is written to a designated location on the data buffer 4, and sent out as correct data outside the disk array device.

【0043】ここで、図7を参照して、ディスク記憶装
置6の論理セクタアドレスと物理セクタアドレスの関係
について説明する。図7(B)に示すように、ディスク
記憶装置6は、通常、セクタと呼ばれる領域毎にアクセ
スすることができるようになされている。セクタは通常
512バイト乃至4キロバイト程度の大きさで、これを
円周上に並べたドーナツ型の領域をトラック、さらに図
6(A)に示すように、複数枚だけ重ねた記録メディア
(Media)の中心から同一の距離にあるトラックを
集めた円筒状の領域をシリンダ(Cylinder)と
呼ぶ。このように、シリンダ番号、メディア番号、およ
びセクタ番号からなるアドレスが物理セクタアドレスで
ある。
Here, the relationship between the logical sector address and the physical sector address of the disk storage device 6 will be described with reference to FIG. As shown in FIG. 7 (B), the disk storage device 6 is generally designed to be able to access each area called a sector. A sector is usually about 512 bytes to 4 kilobytes in size, and a donut-shaped area in which the sectors are arranged on a track is a track. Further, as shown in FIG. 6A, a plurality of recording media (Media) are stacked. A cylindrical area in which tracks at the same distance from the center of a circle are collected is called a cylinder. As described above, the address including the cylinder number, the media number, and the sector number is the physical sector address.

【0044】一方、近年、最も普及しているSCSI仕
様のドライブでは、ドライブ内の全てのセクタに通し番
号を与え、これを用いてデータをアクセスするようにな
っている。この通し番号が論理セクタアドレスである。
上述したように、配置部1は、SCSIドライバ5を介
してディスク記憶装置6に直接問い合わせることによ
り、物理セクタアドレスと論理セクタアドレスとの間の
変換を実現している。勿論、別の方法を用いて、図8に
示すような物理セクタアドレスと論理セクタアドレスと
の対応表を用意し、それを用いて物理セクタアドレスと
論理セクタアドレスとの間の変換を行うようにしてもよ
い。
On the other hand, in recent years, in a drive of the SCSI specification which is most widespread, a serial number is given to all sectors in the drive, and data is accessed using the serial number. This serial number is the logical sector address.
As described above, the arrangement unit 1 realizes the conversion between the physical sector address and the logical sector address by directly inquiring the disk storage device 6 via the SCSI driver 5. Of course, using another method, a correspondence table between the physical sector addresses and the logical sector addresses as shown in FIG. 8 is prepared, and the conversion between the physical sector addresses and the logical sector addresses is performed using the correspondence table. You may.

【0045】図8(A)に示したように、論理セクタア
ドレス(Logical Sector)Lkiは、シリ
ンダ番号(Cylinder)CYLki、メディア番号
(Media)MEDki、およびセクタ番号(Sect
or)SECkiより構成される物理セクタアドレスに対
応づけられている。図8(B)はその具体例を示してい
る。従って、この対応表により、論理セクタアドレスを
物理セクタアドレスに、あるいは、物理セクタアドレス
を論理セクタアドレスに変換することができる。
As shown in FIG. 8A, a logical sector address (Logical Sector) L ki is a cylinder number (Cylinder) CYL ki , a media number (Media) MED ki , and a sector number (Sect).
or) Corresponds to the physical sector address composed of SEC ki . FIG. 8B shows a specific example. Therefore, according to this correspondence table, a logical sector address can be converted into a physical sector address, or a physical sector address can be converted into a logical sector address.

【0046】図9は、ディスク装置上で隣接するサブブ
ロックの開始位置の角度差であるスキューθskewと、サ
ブブロックの終了位置と開始位置との角度差であるギャ
ップθgapをそれぞれ一定にするアロケーションを行っ
た例を示している。このようなアロケーションの最適化
を行うと、ヘッドの移動量が少なくなるようにディスク
アクセス要求の順番を入れ替えるSCANアルゴリズム
と組み合わせることにより、さらに回転待ち時間を抑え
ることができる。これについての詳細は、「特願平7−
282175」に示されている。なお、このアロケーシ
ョンは、上記実施の形態を理解しやすくするために導入
しただけであり、本発明は、スキューやギャップを用い
ないアロケーションにも十分に適用することができる。
FIG. 9 shows that the skew θ skew which is the angle difference between the start positions of adjacent sub-blocks on the disk device and the gap θ gap which is the angle difference between the end position and the start position of the sub-block are made constant. The example which performed allocation was shown. When such allocation optimization is performed, the rotation waiting time can be further reduced by combining with the SCAN algorithm for changing the order of disk access requests so as to reduce the moving amount of the head. For details on this, see “Japanese Patent Application No.
282175 ". Note that this allocation is merely introduced to make the above embodiment easier to understand, and the present invention can be sufficiently applied to an allocation that does not use a skew or a gap.

【0047】次に、図10乃至図15のフローチャート
を参照して、図1の配置部1が、k番目のデータをディ
スク記憶装置6の所定のものに配置する場合の処理手順
について説明する。
Next, with reference to the flowcharts of FIGS. 10 to 15, a description will be given of a processing procedure when the arranging unit 1 of FIG. 1 allocates the k-th data to a predetermined one of the disk storage devices 6.

【0048】最初、ステップS1において、全部でm個
あるディスク記憶装置6から、誤り訂正用データおよび
n個のサブブロックを格納するn+1個のディスク記憶
装置6を選択する。この例では、まず、誤り訂正用デー
タを格納するディスク装置を選択し、次に、サブブロッ
クを内周よりに配置するディスク装置、外周よりに配置
するディスク装置を選択している。
First, in step S1, n + 1 disk storage devices 6 for storing error correction data and n sub-blocks are selected from the m disk storage devices 6 in all. In this example, first, a disk device for storing the error correction data is selected, and then, a disk device for arranging the sub-blocks on the inner periphery and a disk device for arranging the sub-blocks on the outer periphery are selected.

【0049】各サブブロックに1乃至nの番号を付けた
とき、例えば、奇数番目のサブブロックは内周よりに、
偶数番目のサブブロックは外周よりに配置する。さら
に、少数のディスク記憶装置6に集中してサブブロック
が配置されないように、データによって配置するディス
ク記憶装置6をずらして選択するようにする。
When sub-blocks are numbered 1 to n, for example, odd-numbered sub-blocks
The even-numbered sub-blocks are arranged from the outer periphery. Further, the disk storage devices 6 to be arranged according to the data are shifted and selected so that the sub-blocks are not concentrated on a small number of disk storage devices 6.

【0050】図11は、この処理の詳細を示すフローチ
ャートである。即ち、ステップS11において、誤り訂
正用データを配置するディスク記憶装置6として、次式
(1)で表されるj番目のディスク記憶装置6を選択す
る。
FIG. 11 is a flowchart showing details of this processing. That is, in step S11, the j-th disk storage device 6 represented by the following equation (1) is selected as the disk storage device 6 in which the error correction data is arranged.

【0051】 j=MOD(k−1,m)+1 ・・・(式1) ここで、MODは、k−1をm(ディスク記憶装置6の
総数)で割った余りを演算する演算子である。
J = MOD (k−1, m) +1 (Equation 1) where MOD is an operator for calculating a remainder obtained by dividing k−1 by m (the total number of disk storage devices 6). is there.

【0052】次に、ステップS12において、内周より
に配置するディスク記憶装置6−i(i=1,3,5,
・・・)として、次式(2)で表されるj番目のディス
ク記憶装置6−iを選択する。
Next, in step S12, the disk storage devices 6-i (i = 1, 3, 5,
...), the j-th disk storage device 6-i represented by the following equation (2) is selected.

【0053】 j=MOD(k+i−1,m)+1 ・・・(式2)J = MOD (k + i−1, m) +1 (Equation 2)

【0054】次に、ステップS13に進み、外周よりに
配置するディスク記憶装置6−i(i=2,4,6,・
・・)として、上式(2)で表されるj番目のディスク
記憶装置6−iを選択する。
Then, the process proceeds to a step S13, wherein the disk storage devices 6-i (i = 2, 4, 6,.
..), the j-th disk storage device 6-i represented by the above equation (2) is selected.

【0055】図11に示したフローチャートでは、内周
よりに配置するサブブロックと外周よりに配置するサブ
ブロックを交互に決めていったが、バランスが取れてい
れば、交互でなくとも構わない。即ち、サブブロックを
順番に内周よりのディスク記憶装置6に配置し、次に、
残りのサブブロックを順番に外周よりのディスク記憶装
置6に配置するようにしてもよい。
In the flowchart shown in FIG. 11, the sub-blocks arranged from the inner periphery and the sub-blocks arranged from the outer periphery are determined alternately. However, the sub-blocks may be arranged alternately if the balance is maintained. That is, the sub-blocks are sequentially arranged in the disk storage device 6 from the inner circumference, and then
The remaining sub-blocks may be sequentially arranged in the disk storage device 6 from the outer periphery.

【0056】また、サブブロックが少数のディスク記憶
装置6に集中しないのであれば、上記式(1)、式
(2)で表されるj番目のディスク記憶装置6を選択し
なくとも構わない。例えば、内周よりにサブブロックを
配置するディスク記憶装置6に関しては、内周をあまり
使用していないディスク記憶装置6から、また、外周よ
りにサブブロックを配置するディスク記憶装置6に関し
ては、外周をあまり使用していないディスク記憶装置6
から選択する方法も有効である。いずれにしても、誤り
訂正用データは、ステップS11で選択されたディスク
記憶装置6上の外周よりに配置する。
If the sub-blocks are not concentrated on a small number of disk storage devices 6, the j-th disk storage device 6 represented by the above equations (1) and (2) may not be selected. For example, with respect to the disk storage device 6 in which the sub-blocks are arranged at the inner periphery, the disk storage device 6 which uses less the inner periphery is used. Storage device 6 that uses less storage
The method of selecting from is also effective. In any case, the error correction data is arranged from the outer periphery on the disk storage device 6 selected in step S11.

【0057】以上のようにして、ディスク記憶装置6を
決定するとリターンし、次に、図10のステップS2に
進む。
As described above, when the disk storage device 6 is determined, the process returns, and then proceeds to step S2 in FIG.

【0058】ステップS2においては、選択された各デ
ィスク記憶装置6上において、誤り訂正用データおよび
サブブロックを配置する開始論理セクタを決定する。
In step S2, on each of the selected disk storage devices 6, a starting logical sector in which error correction data and sub-blocks are to be arranged is determined.

【0059】図12は、この開始論理セクタを決定する
処理手順を示すフローチャートである。まず、ステップ
S21において、外周よりに誤り訂正用データを配置す
るディスク記憶装置6に関して、開始論理セクタアドレ
スLkpを求める。
FIG. 12 is a flowchart showing a processing procedure for determining the start logical sector. First, in step S21, a start logical sector address L kp is obtained for the disk storage device 6 in which error correction data is arranged from the outer periphery.

【0060】図13は、図12のステップS21におけ
る処理の詳細を示すフローチャートである。最初、ステ
ップS31において、サブブロックを配置するトラック
として、サブブロックが配置されていない未配置領域の
中から最外周トラックを選択する。これにより、物理セ
クタアドレスのシリンダ番号(CYLki)、メディア番
号(MEDki)が決まり、ZBRテーブル8を参照し
て、この配置場所における1トラックあたりのセクタ数
(Tki)が分かる。
FIG. 13 is a flowchart showing details of the processing in step S21 of FIG. First, in step S31, the outermost track is selected as a track for arranging a sub-block from an unarranged area where no sub-block is arranged. As a result, the cylinder number (CYL ki ) and the media number (MED ki ) of the physical sector address are determined, and the number of sectors (T ki ) per track at this arrangement location can be found by referring to the ZBR table 8.

【0061】次に、ステップS32において、シリンダ
番号(CYLki)と最適なスキュー(θskew)の値か
ら、次式(3)によって、ステップS31で選択された
トラックの先頭と、最外周トラックの先頭との間のなす
角度θkiが求められる。
Next, in step S32, based on the cylinder number (CYL ki ) and the optimum skew (θ skew ), the head of the track selected in step S31 and the outermost track are determined by the following equation (3). The angle θ ki between the head and the head is obtained.

【0062】 θki=θskew×CYLki ・・・(式3) ただし、θki>360のとき、θki<360となるま
で、θki=θki−360を繰り返す。
Θ ki = θ skew × CYL ki (Equation 3) However, when θ ki > 360, θ ki = θ ki −360 is repeated until θ ki <360.

【0063】次に、ステップS33に進み、式(3)に
おいて求めた角度θkiと、トラックあたりのセクタ数
(Tki)より、次式(4)によって、セクタ番号(SE
ki)が求められる。
Then, the process proceeds to a step S33, wherein the sector number (SE) is obtained by the following equation (4) from the angle θ ki obtained in the equation (3) and the number of sectors per track (T ki ).
C ki ) is required.

【0064】 SECki=Tki×θki/360 ・・・(式4)SEC ki = T ki × θ ki / 360 (Equation 4)

【0065】次に、ステップS34において、ステップ
S31乃至S33において求めた物理セクタアドレス
(CYLki、MEDki、SECki)から論理セクタアド
レス(Lki)を決定し、リターンする。
Next, in step S34, a logical sector address (L ki ) is determined from the physical sector addresses (CYL ki , MED ki , SEC ki ) obtained in steps S31 to S33, and the routine returns.

【0066】次に、図12のステップS22に進み、内
周よりに配置する全てのディスク記憶装置6に関して、
それぞれの開始論理セクタアドレスLki(i=1,3,
5,・・・)を求める。
Next, the process proceeds to step S22 in FIG. 12, and for all the disk storage devices 6 arranged from the inner periphery,
Each starting logical sector address L ki (i = 1, 3,
5, ...).

【0067】図14は、図12のステップS22におけ
る処理の詳細を示すフローチャートである。最初、ステ
ップS41において、サブブロックを配置するトラック
として、未配置領域の中から最内周トラックを選択す
る。これにより、物理セクタアドレスのシリンダ番号
(CYLki)、メディア番号(MEDki)が決まり、Z
BRテーブル8を参照して、この配置場所における1ト
ラックあたりのセクタ数(Tki)が分かる。
FIG. 14 is a flowchart showing details of the processing in step S22 in FIG. First, in step S41, the innermost track is selected from the unarranged area as the track on which the sub-block is arranged. Thus, the cylinder number (CYL ki ) and the media number (MED ki ) of the physical sector address are determined.
By referring to the BR table 8, the number of sectors per track (T ki ) at this location is known.

【0068】次に、ステップS42において、ステップ
S41で選択されたトラックの先頭と、最外周トラック
の先頭との間のなす角度θkiを求め、ステップS43に
おいてセクタ番号(SECki)を求める。そして、ステ
ップS44において、求めた物理セクタアドレス(CY
ki、MEDki、SECki)から論理セクタアドレス
(Lki)を決定し、リターンする。上述したステップS
42乃至S44における処理は、図13のステップS3
2乃至S34における処理と同様であるので、ここでは
その詳細な説明は省略する。
Next, in step S42, the angle θ ki between the head of the track selected in step S41 and the head of the outermost track is determined, and in step S43, the sector number (SEC ki ) is determined. Then, in step S44, the obtained physical sector address (CY
The logical sector address (L ki ) is determined from L ki , MED ki , and SEC ki ), and the process returns. Step S described above
The processing in steps S42 to S44 corresponds to step S3 in FIG.
Since the processing is the same as that in steps S2 to S34, a detailed description thereof is omitted here.

【0069】次に、図12のステップS23に進み、外
周よりに配置する全てのディスク記憶装置6に関して、
それぞれの開始論理セクタアドレスLki(i=1,3,
5,・・・)を求める。ここでの処理手順は、図13の
フローチャートを参照して上述した場合と同様であるの
で、ここではその説明は省略する。そして、処理が終了
すると、リターンする。
Next, the process proceeds to step S23 in FIG. 12, and for all the disk storage devices 6 arranged from the outer periphery,
Each starting logical sector address L ki (i = 1, 3,
5, ...). The processing procedure here is the same as the case described above with reference to the flowchart in FIG. 13, and a description thereof will be omitted here. Then, when the process ends, the process returns.

【0070】図12乃至図14に示した処理例において
は、サブブロックを外周よりのトラックに配置する場
合、サブブロックを配置するトラックを未配置領域の中
の最外周トラックから選択し、サブブロックを内周より
のトラックに配置する場合、サブブロックを配置するト
ラックを未配置領域の中の最内周トラックから選択する
ものとしたが、必ずしも最外周トラックや最内周トラッ
クを選択する必要はない。例えば、ZBR方式のフォー
マットでは、同一のゾーンであれば、トラックあたりの
セクタ数も同一であり、各サブブロックのサイズおよび
ギャップの値は変わらないからである。
In the processing examples shown in FIGS. 12 to 14, when the sub-blocks are arranged on the tracks from the outer periphery, the track on which the sub-blocks are arranged is selected from the outermost track in the non-arranged area, and the sub-block is arranged. When arranging tracks on the inner track, the track on which the sub-block is arranged is selected from the innermost track in the non-arranged area, but it is not always necessary to select the outermost track or the innermost track. Absent. For example, in the ZBR format, if the zone is the same, the number of sectors per track is the same, and the size and gap value of each sub-block do not change.

【0071】以上のようにして、開始論理セクタアドレ
スが求められると、次に、図10のステップS3に進
み、各サブブロックのサイズが決定される。サブブロッ
クのサイズを決定する場合の処理手順については、図1
5のフローチャートを参照して後述する。
After the start logical sector address is obtained as described above, the process proceeds to step S3 in FIG. 10, and the size of each sub-block is determined. The processing procedure for determining the size of the sub-block is shown in FIG.
5 will be described later.

【0072】次に、各サブブロックのサイズ(セクタ
数)はどうあるべきかを考えてみる。まず、各サブブロ
ックのサイズの和は、元のデータのサイズに等しい。即
ち、各サブブロックのサイズ(セクタ数)をSki(i=
1,2,3,・・・,n)とし、元のデータのサイズ
(セクタ数)をSとすると、次式(5)で表される。
Next, what should be the size (the number of sectors) of each subblock should be considered. First, the sum of the sizes of each sub-block is equal to the size of the original data. That is, the size (the number of sectors) of each sub-block is set as S ki (i =
1, 2, 3,..., N) and S is the size of the original data (the number of sectors), and is represented by the following equation (5).

【0073】 Sk1+Sk2+,・・・,+Skn=S ・・・(式5)S k1 + S k2 +,..., + S kn = S (Equation 5)

【0074】一方、各サブブロックの読み出し時間およ
び書き込み時間が等しくなるためには、各サブブロック
のギャップの値が等しくなければならない。即ち、次の
式(6)が成り立っていなければならない。
On the other hand, in order for the reading time and the writing time of each sub-block to be equal, the value of the gap of each sub-block must be equal. That is, the following equation (6) must be satisfied.

【0075】 Sk1/Tk1=Sk2/Tk2=,・・・,=Skn/Tkn ・・・(式6)S k1 / T k1 = S k2 / T k2 =,..., = S kn / T kn (Equation 6)

【0076】上記式(6)において、Tki(i=1,
2,3,・・・,n)は、i番目のサブブロックが配置
されるトラックのセクタ数である。
In the above equation (6), T ki (i = 1,
(2, 3,..., N) is the number of sectors on the track where the i-th sub-block is arranged.

【0077】式(5)および式(6)より、各サブブロ
ックのセクタ数Skiは次式(7)で与えられる。
From equations (5) and (6), the number of sectors S ki of each sub-block is given by the following equation (7).

【0078】Ski=S×Tki/T ・・・(式7) ただし、T=Tk1+Tk2+,・・・,+Tknとする。S ki = S × T ki / T (Equation 7) where T = T k1 + T k2 +,..., + T kn .

【0079】実際には、セクタ数Skiは整数で与えられ
るので、各サイズは若干の微調整が必要である。
In practice, since the number of sectors S ki is given by an integer, each size requires a slight fine adjustment.

【0080】一方、誤り訂正用データのサイズSkpは、
各サブブロックのサイズが決まっているとき、次式
(8)で与えられる。
On the other hand, the size S kp of the error correction data is
When the size of each sub-block is determined, it is given by the following equation (8).

【0081】 Skp=MAX(Sk1,Sk2,・・・,Skn) ・・・(式8)S kp = MAX (S k1 , S k2 ,..., S kn ) (Equation 8)

【0082】式(8)において、MAXは、サブブロッ
クのサイズSk1乃至Sknのうち、最も大きいものを求め
る演算子である。
In equation (8), MAX is an operator for finding the largest one of the sub-block sizes S k1 to S kn .

【0083】誤り訂正用データは、図10のステップS
1およびステップS2より、ディスク記憶装置6の外周
よりのトラックに配置されることが保証されているの
で、次式(9)が成立することがわかる。
The error correction data is stored in step S in FIG.
From step 1 and step S2, since it is guaranteed that the track is arranged on the track from the outer periphery of the disk storage device 6, it can be seen that the following equation (9) holds.

【0084】 Sk1/Tk1=Sk2/Tk2=,・・・,=Skn/Tkn=Skp/Tkp (式9) ここで、Tkpは、サブブロックSkpが配置されるトラッ
クのセクタ数である。
S k1 / T k1 = S k2 / T k2 =,..., = S kn / T kn = S kp / T kp (Equation 9) where T kp is a sub-block S kp. Is the number of sectors in the track.

【0085】以上の手順を実現するフローチャートが図
15に示したものである。最初に、ステップS51にお
いて、n個のサブブロックが配置される配置場所に対応
するトラックの1トラックあたりのセクタ数Tki(i=
1,2,・・・,n)の和Tを求める。次に、上記式
(7)で表される演算を、変数iが1からnまでについ
て行い、各サブブロックのサイズSki(i=1,2,・
・・,n)を求める。
FIG. 15 is a flowchart for realizing the above procedure. First, in step S51, the number of sectors T ki (i = i) per track of the track corresponding to the location where the n sub-blocks are located.
, N) is obtained. Next, the operation represented by the above equation (7) is performed for the variable i from 1 to n, and the size S ki (i = 1, 2 ,.
···, n)

【0086】次に、ステップS52に進み、上記式
(5)で表される演算を行い、ステップS51で求めた
各サブブロックのサイズSkiの和が、元のデータのサイ
ズSと等しいか否かが判定される。各サブブロックのサ
イズSkiの和が、元のデータのサイズSと等しくないと
判定された場合、ステップS53に進み、各サブブロッ
クのサイズSkiの和が、元のデータのサイズSと等しく
なるように、各サブブロックのサイズSkiを微増減させ
る。その後、ステップS52に戻り、各サブブロックの
サイズSkiの和が、元のデータのサイズSと等しいと判
定されるまで、ステップS52およびS53の処理が繰
り返される。
Then, the process proceeds to a step S52, at which the operation represented by the above equation (5) is performed, and it is determined whether or not the sum of the sizes S ki of the sub-blocks obtained at the step S51 is equal to the size S of the original data. Is determined. If it is determined that the sum of the sizes S ki of the sub-blocks is not equal to the size S of the original data, the process proceeds to step S53, and the sum of the sizes S ki of the sub-blocks is equal to the size S of the original data. So that the size S ki of each sub-block is slightly increased or decreased. Thereafter, the process returns to step S52, and the processes of steps S52 and S53 are repeated until it is determined that the sum of the sizes S ki of the sub-blocks is equal to the size S of the original data.

【0087】一方、ステップS52において、各サブブ
ロックのサイズSkiの和が、元のデータのサイズSと等
しいと判定された場合、ステップS54に進み、誤り訂
正用のデータのサイズSkpが求められる。即ち、サブブ
ロックSkiの中の最も大きいサイズが誤り訂正用データ
のサイズSkpとされる。
On the other hand, if it is determined in step S52 that the sum of the sizes S ki of the sub-blocks is equal to the size S of the original data, the flow advances to step S54 to determine the size S kp of the data for error correction. Can be That is, the largest size in the sub-block S ki is set as the size S kp of the error correction data.

【0088】ステップS54の処理が終了すると、リタ
ーンする。これにより、図10に示したフローチャート
のステップS3の処理が終了し、全ての処理を終了す
る。
Upon completion of the process in step S54, the process returns. Thus, the processing in step S3 of the flowchart shown in FIG. 10 ends, and all the processing ends.

【0089】図16は、以上のようにしてディスク記憶
装置6に分配されたサブブロックの例を表している。こ
こでは、ディスク記憶装置6の数を6とし、サブブロッ
クの数を4としている。即ち、図17に示したように、
サイズの異なるサブブロックに対しても、上述した方法
で誤り訂正用データを生成することができる。
FIG. 16 shows an example of sub-blocks distributed to the disk storage device 6 as described above. Here, the number of disk storage devices 6 is 6, and the number of sub-blocks is 4. That is, as shown in FIG.
Even for sub-blocks having different sizes, it is possible to generate error correction data by the above-described method.

【0090】1番目のデータの誤り訂正用データ(この
場合パリティ(Parity))は、ディスク記憶装置
6−1に、サブブロックは、ディスク記憶装置6−2乃
至6−5に分配して配置される。ディスク記憶装置6−
1に配置される誤り訂正用データと、ディスク記憶装置
6−3,6−5に配置されるサブブロックは、最外周ト
ラックに入れられ、ディスク記憶装置6−2,6−4に
配置されるサブブロックは、最内周トラックに入れられ
る。
The error correction data (parity in this case) of the first data is allocated to the disk storage device 6-1 and the sub-blocks are allocated to the disk storage devices 6-2 to 6-5. You. Disk storage device 6
1 and the sub-blocks arranged in the disk storage devices 6-3 and 6-5 are placed in the outermost track and arranged in the disk storage devices 6-2 and 6-4. The sub-block is placed on the innermost track.

【0091】また、2番目のデータの誤り訂正用データ
は、ディスク記憶装置6−2に、サブブロックは、ディ
スク記憶装置6−3乃至6−6に、外周より、内周よ
り、外周より、内周より、外周よりの順番で入れられ、
3番目のデータの誤り訂正用データは、ディスク記憶装
置6−3に、サブブロックは、ディスク記憶装置6−4
乃至6−6、およびディスク記憶装置6−1に、同様に
して、外周より、内周より、外周より、内周より、外周
よりの順番で入れられる。以下同様にして、データが配
置され、最後のデータは、例えば、ディスク記憶装置6
−3乃至6−6およびディスク記憶装置6−1のシリン
ダのほぼ中間あたりに配置される。
The error correction data of the second data is stored in the disk storage device 6-2, and the sub-blocks are stored in the disk storage devices 6-3 to 6-6. From the inner circumference, put in order from the outer circumference,
The error correction data of the third data is stored in the disk storage device 6-3, and the sub-block is stored in the disk storage device 6-4.
6-6 and the disk storage device 6-1 in the same manner in the order of outer periphery, inner periphery, outer periphery, inner periphery, and outer periphery. In the same manner, data is arranged, and the last data is stored in, for example, the disk storage device 6.
-3 to 6-6 and about the middle of the cylinder of the disk storage device 6-1.

【0092】このように配置された誤り訂正用データと
サブブロックを、1つのディスク記憶装置6に注目して
観察してみると、各サブブロックのギャップの値がほと
んど同一であり、各サブブロックの読み出し、および書
き込みに要する時間がほぼ一定となる。
When observing the error correction data and the sub-blocks arranged as described above by focusing on one disk storage device 6, the values of the gaps of the respective sub-blocks are almost the same. The time required for reading and writing is almost constant.

【0093】以上のように、上記実施の形態において
は、ディスク記憶装置6上でのデータの格納場所に拘ら
ず、誤り訂正データおよびサブブロックを実際に読み出
しあるいは書き込みを行う時間を一定とすることができ
る。
As described above, in the above embodiment, the time for actually reading or writing error-corrected data and sub-blocks is fixed regardless of the data storage location on the disk storage device 6. Can be.

【0094】なお、上記実施の形態においては、ディス
ク記憶装置6に対するデータの読み出しおよび書き込み
の制御を専用のコントローラを用いて実現する場合につ
いて説明したが、それらのコントローラの制御ソフトウ
ェアをホストコンピュータ等のCPU上で動作させるこ
とにより、ディスク記憶装置6に対するデータの読み出
しおよび書き込みの制御を行うようにすることも可能で
ある。
In the above-described embodiment, a case has been described in which the control of reading and writing of data to and from the disk storage device 6 is realized using a dedicated controller. By operating on the CPU, it is possible to control the reading and writing of data from and to the disk storage device 6.

【0095】また、上記実施の形態においては、データ
にアクセスする場合、外周から内周方向にスキャンする
ようにしたが、内周から外周方向にスキャンするように
することも可能である。その場合、内周から外周にヘッ
ドを移動させながら、データにアクセスするときに最適
なスキューを設定するようにすることができる。
In the above embodiment, when accessing data, scanning is performed from the outer periphery to the inner periphery. However, scanning may be performed from the inner periphery to the outer periphery. In this case, it is possible to set an optimum skew when accessing data while moving the head from the inner circumference to the outer circumference.

【0096】さらに、上記実施の形態においては、デー
タを記録する媒体としてハードディスクを用いるように
したが、光ディスク、光磁気ディスク等のその他の記録
媒体を用いるようにすることも可能である。
Further, in the above embodiment, a hard disk is used as a medium for recording data, but other recording media such as an optical disk and a magneto-optical disk may be used.

【0097】[0097]

【発明の効果】請求項1に記載のディスクアレイ制御方
法、および請求項16に記載のディスクアレイ制御装置
によれば、サイズが異なる第2のデータから誤り訂正用
データを生成し、ディスク装置に対して、第2のデータ
および誤り訂正用データの読み出し、および書き込みに
要する時間が均一となるように、第2のデータを格納す
るディスク装置およびディスク装置上のアドレスと、第
2のデータのサイズと、誤り訂正用データを格納するデ
ィスク装置およびディスク装置上のアドレスとを決定す
るようにしたので、誤り訂正用データおよびサブブロッ
クの格納場所に拘らず、それらの読み出しおよび書き込
みに要する時間を一定とすることができ、高信頼性を保
ちながら、リアルタイム性を保証することができる。
According to the disk array control method of the first aspect and the disk array control apparatus of the sixteenth aspect, error correction data is generated from the second data having different sizes, and the error correction data is generated in the disk device. On the other hand, the disk device storing the second data, the address on the disk device, and the size of the second data so that the time required for reading and writing the second data and the data for error correction becomes uniform. And the address on the disk device for storing the error correction data and the address on the disk device, so that the time required for reading and writing the error correction data and sub-blocks is fixed regardless of the storage location of the sub block. And real-time performance can be guaranteed while maintaining high reliability.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明のディスクアレイ装置を適用したマルチ
メディアサーバの一実施の形態の構成を示すブロック図
である。
FIG. 1 is a block diagram showing a configuration of an embodiment of a multimedia server to which a disk array device of the present invention is applied.

【図2】図1のブロックマップ3の例を示す図である。FIG. 2 is a diagram showing an example of a block map 3 of FIG.

【図3】誤り訂正用データを生成する方法を示す図であ
る。
FIG. 3 is a diagram illustrating a method for generating error correction data.

【図4】1フレームの画素を複数のパケットに分割した
状態を示す図である。
FIG. 4 is a diagram showing a state in which pixels of one frame are divided into a plurality of packets.

【図5】サブブロックの構成を示す図である。FIG. 5 is a diagram showing a configuration of a sub-block.

【図6】エラーデータの復旧方法を示す図である。FIG. 6 is a diagram showing a method for restoring error data.

【図7】ディスク記憶装置6の物理セクタを示す図であ
る。
FIG. 7 is a diagram showing physical sectors of the disk storage device 6;

【図8】論理セクタアドレスと物理セクタアドレスの関
係を示す図である。
FIG. 8 is a diagram showing a relationship between a logical sector address and a physical sector address.

【図9】スキューとギャップを一定にしたアロケーショ
ンを示す図である。
FIG. 9 is a diagram showing allocation in which a skew and a gap are made constant.

【図10】k番目のデータの配置場所を決定する処理手
順を説明するフローチャートである。
FIG. 10 is a flowchart illustrating a processing procedure for determining an arrangement location of k-th data.

【図11】ディスク記憶装置6を選択する処理手順を説
明するフローチャートである。
FIG. 11 is a flowchart illustrating a processing procedure for selecting a disk storage device 6;

【図12】開始論理セクタを決定する処理手順を説明す
るフローチャートである。
FIG. 12 is a flowchart illustrating a processing procedure for determining a start logical sector.

【図13】外周よりの開始論理セクタを決定する処理手
順を説明するフローチャートである。
FIG. 13 is a flowchart illustrating a processing procedure for determining a start logical sector from the outer periphery.

【図14】内周よりの開始論理セクタを決定する処理手
順を説明するフローチャートである。
FIG. 14 is a flowchart illustrating a processing procedure for determining a start logical sector from the inner circumference.

【図15】サイズを決定する処理手順を説明するフロー
チャートである。
FIG. 15 is a flowchart illustrating a processing procedure for determining a size.

【図16】誤り訂正用データとサブブロックを分配した
様子を示す図である。
FIG. 16 is a diagram showing how error correction data and sub-blocks are distributed.

【図17】サブブロックを分配した様子を示す図であ
る。
FIG. 17 is a diagram showing a state where sub-blocks are distributed.

【図18】RAID−3方式を説明するための図であ
る。
FIG. 18 is a diagram for explaining a RAID-3 system.

【図19】RAID−5方式を説明するための図であ
る。
FIG. 19 is a diagram for explaining a RAID-5 system.

【図20】ZBRディスクの物理セクタを示す図であ
る。
FIG. 20 is a diagram showing physical sectors of a ZBR disk.

【図21】ZBRディスクの1トラックあたりのセクタ
数とシリンダアドレスの関係を示すグラフである。
FIG. 21 is a graph showing a relationship between the number of sectors per track of a ZBR disk and a cylinder address.

【図22】サブブロックのサイズを一定にしてデータを
分配する従来の方法を示す図である。
FIG. 22 is a diagram showing a conventional method for distributing data while keeping the size of a sub-block constant.

【符号の説明】[Explanation of symbols]

1 配置部(決定手段),2 スケジューラ,3 ブロ
ックマップ,4 データバッファ,5 SCSIドライ
バ,6 ディスク記憶装置,7 アクセス要求バッフ
ァ,8 ZBRテーブル,9 誤り訂正コントローラ
(生成手段)
1 placement unit (decision means), 2 scheduler, 3 block map, 4 data buffer, 5 SCSI driver, 6 disk storage device, 7 access request buffer, 8 ZBR table, 9 error correction controller (generation means)

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 FI G11B 20/12 G11B 20/12 ──────────────────────────────────────────────────続 き Continued on the front page (51) Int.Cl. 6 Identification code FI G11B 20/12 G11B 20/12

Claims (16)

【特許請求の範囲】[Claims] 【請求項1】 第1のデータを複数の第2のデータに分
割し、複数のディスク装置に格納するディスクアレイ制
御方法において、 サイズが異なる前記第2のデータから誤り訂正用データ
を生成し、 前記ディスク装置に対して、前記第2のデータおよび前
記誤り訂正用データの読み出し、および書き込みに要す
る時間が均一となるように、前記第2のデータを格納す
る前記ディスク装置および前記ディスク装置上のアドレ
スと、前記第2のデータのサイズと、前記誤り訂正用デ
ータを格納する前記ディスク装置および前記ディスク装
置上のアドレスとを決定することを特徴とするディスク
アレイ制御方法。
1. A disk array control method for dividing first data into a plurality of second data and storing the divided data in a plurality of disk devices, comprising: generating error correction data from the second data having different sizes; The disk device that stores the second data and the disk device and the disk device so that the time required to read and write the second data and the error correction data to and from the disk device are uniform. A disk array control method comprising: determining an address, a size of the second data, and an address on the disk device that stores the error correction data and an address on the disk device.
【請求項2】 前記第1のデータを構成する前記第2の
データの数をn、i番目の前記第2のデータを構成する
第3のデータのうち、j番目のものをAijとしたとき、
前記誤り訂正用データを、n個以下の異なる前記第2の
データから選択されたAijに基づいて生成し、各Aij
少なくとも1回以上、いずれかの誤り訂正用データを生
成するときに使用することを特徴とする請求項1に記載
のディスクアレイ制御方法。
2. The number of the second data constituting the first data is represented by n, and the j-th one of the third data constituting the i-th second data is represented by A ij . When
When the error correction data is generated based on A ij selected from n or less different second data, and when each A ij is generated at least once, any error correction data is generated. 2. The disk array control method according to claim 1, wherein the method is used.
【請求項3】 前記第1のデータを構成する前記第2の
データの数をn、i番目の前記第2のデータのサイズを
i(1≦i≦n)、i番目の前記第2のデータのj番
目の前記第3のデータをAij(1≦i≦n,1≦j≦S
i)としたとき、前記誤り訂正用データのサイズSpは、
iの最大値であり、前記誤り訂正用データのj番目の
データPj(1≦j≦Sp)を、j≦Siを満足するよう
な全ての第2のデータのj番目の第3のデータAijから
生成することを特徴とする請求項2に記載のディスクア
レイ制御方法。
3. The number of the second data constituting the first data is n, the size of the i-th second data is S i (1 ≦ i ≦ n), and the i-th second data is Aj (1 ≦ i ≦ n, 1 ≦ j ≦ S
when a i), the size S p of the error correction data,
The j-th data P j (1 ≦ j ≦ Sp ) of the error correction data is the maximum value of S i and the j-th data P j of all the second data satisfying j ≦ S i 3. The disk array control method according to claim 2, wherein the data is generated from the third data Aij .
【請求項4】 前記第1のデータのサイズをS、前記第
1のデータを分割して得られる各第2のデータのサイズ
をSi(1≦i≦n)、前記第2のデータから生成した
前記誤り訂正用データのサイズをSp、各第2のデータ
が前記ディスク装置上に配置されるトラックに含まれる
セクタ数をTi(1≦i≦n)、前記誤り訂正用データ
が前記ディスク装置上に配置されるトラックに含まれる
セクタ数をTpとすると、 S1+S2+,・・・,+Sn=S S1/T1=S2/T2=,・・・,Sn/Tn=Sp/Tp となるように、前記第1のデータが各第2のデータに分
割されることを特徴とする請求項3に記載のディスクア
レイ制御方法。
4. The size of the first data is S, the size of each second data obtained by dividing the first data is S i (1 ≦ i ≦ n), and the size of the second data is The size of the generated error correction data is S p , the number of sectors in which each second data is included in a track arranged on the disk device is T i (1 ≦ i ≦ n), and the error correction data is Assuming that the number of sectors included in a track arranged on the disk device is T p , S 1 + S 2 +,..., + S n = S S 1 / T 1 = S 2 / T 2 =,. 4. The disk array control method according to claim 3, wherein said first data is divided into respective second data so that S n / T n = S p / T p .
【請求項5】 前記第2のデータのサイズが一定でない
とき、前記第2のデータのうち最もサイズの大きい前記
第2のデータに、他の前記第2のデータのサイズが一致
するように、他の前記第2のデータに所定のデータを付
加することを特徴とする請求項1に記載のディスクアレ
イ制御方法。
5. When the size of the second data is not constant, the size of the second data is the same as the size of the second data having the largest size of the second data. 2. The disk array control method according to claim 1, wherein predetermined data is added to the other second data.
【請求項6】 前記第1のデータを構成する前記第2の
データの数をn、i番目の前記第2のデータのサイズを
i(1≦i≦n)、i番目の前記第2のデータのj番
目の第3のデータをAij(1≦i≦n、1≦j≦Si
としたとき、前記誤り訂正用データのサイズSpは、Si
の最大値であり、 Bij=Aij(1≦j≦Siのとき) または Bij=0 (Si<j≦Spのとき) とおいたとき、j番目の前記誤り訂正用データPj(1
≦j≦Sp)をBij(1≦i≦n)から生成することを
特徴とする請求項5に記載のディスクアレイ制御方法。
6. The number of the second data constituting the first data is n, the size of the i-th second data is S i (1 ≦ i ≦ n), and the i-th second data is Aj (1 ≦ i ≦ n, 1 ≦ j ≦ S i )
, The size S p of the error correction data is S i
When B ij = A ij (when 1 ≦ j ≦ S i ) or B ij = 0 (when S i <j ≦ S p ), the j-th error correction data P j (1
The disk array control method according to claim 5, wherein? J? Sp ) is generated from Bij (1? I? N).
【請求項7】 前記第1のデータのサイズをS、前記第
1のデータを分割して得られる各第2のデータのサイズ
をSi(1≦i≦n)、前記第2のデータから生成した
前記誤り訂正用データのサイズをSp、各第2のデータ
が前記ディスク装置上に配置されるトラックに含まれる
セクタ数をTi(1≦i≦n)、前記誤り訂正用データ
が前記ディスク装置上に配置されるトラックに含まれる
セクタ数をTpとすると、 S1+S2+,・・・,+Sn=S S1/T1=S2/T2=,・・・,Sn/Tn=Sp/Tp となるように、前記第1のデータが各第2のデータに分
割されることを特徴とする請求項6に記載のディスクア
レイ制御方法。
7. The size of the first data is S, the size of each second data obtained by dividing the first data is S i (1 ≦ i ≦ n), and the size of the second data is The size of the generated error correction data is S p , the number of sectors in which each second data is included in a track arranged on the disk device is T i (1 ≦ i ≦ n), and the error correction data is Assuming that the number of sectors included in a track arranged on the disk device is T p , S 1 + S 2 +,..., + S n = S S 1 / T 1 = S 2 / T 2 =,. 7. The disk array control method according to claim 6, wherein said first data is divided into respective second data such that S n / T n = S p / T p .
【請求項8】 同一の前記第1のデータを分割して得ら
れる各第2のデータを、各ディスク装置の外周よりのト
ラックに配置する第1の組と、各ディスク装置の内周よ
りのトラックに配置する第2の組に分け、 前記誤り訂正用データ、および前記第1の組を構成する
各第2のデータを配置するディスク装置のシリンダアド
レスおよびサイズをそれぞれ同一またはほぼ同一とし、
前記第2の組を構成する各第2のデータを配置するディ
スク装置のシリンダアドレスおよびサイズをそれぞれ同
一またはほぼ同一とすることを特徴とする請求項7に記
載のディスクアレイ制御方法。
8. A first group in which each second data obtained by dividing the same first data is arranged on a track from the outer periphery of each disk device, and The cylinder address and the size of the disk device on which the error correction data and the second data constituting the first set are arranged are the same or substantially the same, respectively,
8. The disk array control method according to claim 7, wherein the cylinder addresses and sizes of the disk devices in which the respective second data constituting the second group are arranged are the same or substantially the same.
【請求項9】 同一の前記第1のデータから分割された
各第2のデータの数をn、前記第2のデータのうち、前
記ディスク装置の外周よりのトラックに配置するものの
数をno、内周よりのトラックに配置するものの数をn
iとしたとき、no+ni=nであり、 前記誤り訂正用データと前記第2のデータを外周よりの
トラックに配置する前記ディスク装置を、全部でm個の
ディスク装置の中から(no+1)個、前記第2のデー
タを内周よりのトラックに配置する前記ディスク装置
を、残りの(m−no−1)個の前記ディスク装置の中
からni個だけ、所定の前記ディスク装置の外周若しく
は内周に前記第2のデータが集中して配置されないよう
に選択することを特徴とする請求項8に記載のディスク
アレイ制御方法。
9. The number n of each second data divided from the same first data, and the number no of the second data arranged on a track from the outer periphery of the disk device is no. The number of tracks arranged on the track from the inner circumference is n
When i, no + ni = n, and the number of the disk devices for arranging the error correction data and the second data on tracks from the outer periphery is (no + 1) out of a total of m disk devices, Out of the remaining (m-no-1) disk devices, ni disk devices for arranging the second data on tracks starting from the inner circumference are ni outer disks or inner disks of a predetermined disk device. 9. The disk array control method according to claim 8, wherein the selection is made so that the second data is not arranged in a concentrated manner.
【請求項10】 各ディスク装置のシリンダの総数をL
とし、前記シリンダに外周から内周に順に1乃至Lのシ
リンダ番号をつけたとき、j(1≦j≦m)番目のディ
スク装置上の第2のデータが記録されていない前記シリ
ンダのうち、最も外周よりにあるシリンダをMo
(j)、最も内周よりにあるシリンダをMi(j)とす
る(1≦Mo(j)≦Mi(j)≦L)と、前記誤り訂
正用データと前記第2のデータを外周よりのトラックに
配置するディスク装置を選択するときは、全部でm個の
ディスク装置の中からMo(j)が小さいものを順番に
(no+1)個だけ選択し、前記第2のデータを内周よ
りのトラックに配置するディスク装置を選択するとき
は、(m−no−1)個の前記ディスク装置の中からM
i(j)が大きいものを順番にni個だけ選択すること
を特徴とする請求項9に記載のディスクアレイ制御方
法。
10. The total number of cylinders of each disk device is represented by L
When the cylinders are numbered from 1 to L in order from the outer circumference to the inner circumference, among the cylinders in which the second data on the j-th (1 ≦ j ≦ m) -th disk device is not recorded, The cylinder at the outermost position is Mo
(J) When the cylinder located closest to the inner circumference is defined as Mi (j) (1 ≦ Mo (j) ≦ Mi (j) ≦ L), the error correction data and the second data When selecting a disk device to be arranged on a track, only (no + 1) devices with the smallest Mo (j) are selected in order from m disk devices in total, and the second data is transferred from the inner circumference. When selecting a disk device to be arranged on a track, M (no-no-1) disk devices are selected from among the (m-no-1) disk devices.
10. The disk array control method according to claim 9, wherein only ni items having a larger i (j) are selected in order.
【請求項11】 同一の前記第1のデータから分割され
た各第2のデータの数をn、前記第2のデータのうち、
前記ディスク装置の外周よりのトラックに配置するもの
の数をno、内周よりのトラックに配置するものの数を
niとしたとき、no+ni=nであり、 前記第2のデータを内周よりのトラックに配置する前記
ディスク装置を、全部でm個のディスク装置の中からn
i個、前記誤り訂正用データと前記第2のデータを外周
よりのトラックに配置する前記ディスク装置を、残りの
(m−ni)個の前記ディスク装置の中から(no+
1)個だけ、所定の前記ディスク装置の外周若しくは内
周に前記第2のデータが集中して配置されないように選
択することを特徴とする請求項8に記載のディスクアレ
イ制御方法。
11. The number of each second data segmented from the same first data is represented by n, and among the second data,
When the number of tracks arranged on the outer track of the disk device is no and the number of tracks arranged on the inner track is ni, no + ni = n, and the second data is stored on the track from the inner track. The disk devices to be arranged are n out of a total of m disk devices.
The disk devices for arranging i pieces of the error correction data and the second data on tracks from the outer periphery are replaced by (no + n) out of the remaining (m−ni) disk devices.
9. The disk array control method according to claim 8, wherein 1) the number of the second data is selected so as not to be concentrated on the outer circumference or the inner circumference of the predetermined disk device.
【請求項12】 各ディスク装置の前記第2のデータを
記憶可能なシリンダの総数をLとし、前記シリンダに外
周から内周に順番に1乃至Lのシリンダ番号をつけたと
き、j(1≦j≦m)番目のディスク装置上の前記第2
のデータが記録されていない前記シリンダのうち、最も
外周よりにあるシリンダをMo(j)、最も内周よりに
あるシリンダをMi(j)とする(1≦Mo(j)≦M
i(j)≦L)と、内周よりの前記第2のデータを配置
する前記ディスク装置を選択するとき、全部でm個のデ
ィスク装置の中からMi(j)が大きいものを順番にn
i個だけ選択し、誤り訂正用データと外周よりに前記第
2のデータを配置する前記ディスク装置を選択すると
き、(m−ni)個の前記ディスク装置の中からMo
(j)が小さいものを順番に(no+1)個だけ選択す
ることを特徴とする請求項11に記載のディスクアレイ
制御方法。
12. When the total number of cylinders capable of storing the second data of each disk device is L and the cylinders are numbered from 1 to L in order from the outer circumference to the inner circumference, j (1 ≦ 1) j ≦ m) the second disk device on the
Of the cylinders in which no data is recorded, Mo (j) is the cylinder located at the outermost periphery and Mi (j) is the cylinder located at the innermost periphery (1 ≦ Mo (j) ≦ M
i (j) ≦ L), and when selecting the disk device in which the second data from the inner circumference is to be arranged, the disk devices having the largest Mi (j) are sequentially selected from n disk devices out of m in total.
When selecting only the i disk devices and the disk device in which the error correction data and the second data are arranged from the outer periphery, Mo (Mo-n) disk devices are selected from among the (m-ni) disk devices.
12. The disk array control method according to claim 11, wherein only (no + 1) items having a smaller (j) are selected in order.
【請求項13】 前記第1のデータのk(=1,2、・
・・)番目のものが分割された各第2のデータをSBi
(1≦i≦n)とすると、SBiはiの値に基づいて、
前記トラックの外周よりに配置されるか内周よりに配置
されるかが決定され、 j=MOD(k+i−1,m)+1としたとき、 SBiは、j(1≦j≦m)番目のディスク装置に記憶
され、 前記誤り訂正用データを格納する前記ディスク装置は、 j=MOD(k−1,m)+1としたとき、 j(1≦j≦m)番目のディスク装置に記憶されること
を特徴とする請求項8に記載のディスクアレイ制御方
法。
13. The first data k (= 1, 2,...)
..) each of the divided second data is SB i
If (1 ≦ i ≦ n), SB i is based on the value of i,
It is determined whether the track is located closer to the outer circumference or the inner circumference of the track. When j = MOD (k + i−1, m) +1, SB i is the j (1 ≦ j ≦ m) -th When j = MOD (k−1, m) +1, the disk device that stores the error correction data is stored in the j (1 ≦ j ≦ m) th disk device. 9. The disk array control method according to claim 8, wherein:
【請求項14】 前記第2のデータSBiは、順にiの
値に基づいて、前記トラックの外周よりおよび内周より
に交互に配置されることを特徴とする請求項13に記載
のディスクアレイ制御方法。
14. The disk array according to claim 13, wherein the second data SB i is arranged alternately from the outer circumference and the inner circumference of the track based on the value of i in order. Control method.
【請求項15】 前記誤り訂正用データと前記ディスク
装置の外周よりのトラックに配置する前記第2のデータ
を、各ディスク装置上の前記誤り訂正用データおよび前
記第2のデータが記録されていない前記トラックのう
ち、最も外周よりのものに配置する処理と、前記ディス
ク装置の内周よりのトラックに配置する前記第2のデー
タを、各ディスク装置上の前記誤り訂正用データおよび
前記第2のデータが記録されていない前記トラックのう
ち、最も内周よりのものに配置する処理を交互に繰り返
し、順に、前記誤り訂正用データと前記第2のデータを
前記ディスク装置上に配置することを特徴とする請求項
9に記載のディスクアレイ制御方法。
15. The error correction data and the second data arranged on a track from the outer periphery of the disk device, wherein the error correction data and the second data on each disk device are not recorded. The processing of arranging the track on the outermost track among the tracks and the second data of the track arranged on the inner track of the disk device are performed by using the error correction data and the second data on each disk device. A process of arranging the error correction data and the second data on the disk device in turn is alternately repeated, and the error correction data and the second data are sequentially arranged on the disk device. The disk array control method according to claim 9, wherein
【請求項16】 第1のデータを複数の第2のデータに
分割し、複数のディスク装置に格納するディスクアレイ
制御装置において、 サイズが異なる前記第2のデータから誤り訂正用データ
を生成する生成手段と、 前記ディスク装置に対して、前記第2のデータおよび前
記誤り訂正用データの読み出し、および書き込みに要す
る時間が均一となるように、前記第2のデータを格納す
る前記ディスク装置および前記ディスク装置上のアドレ
スと、前記第2のデータのサイズと、前記誤り訂正用デ
ータを格納する前記ディスク装置および前記ディスク装
置上のアドレスとを決定する決定手段とを備えることを
特徴とするディスクアレイ制御装置。
16. A disk array control device that divides first data into a plurality of second data and stores the divided data in a plurality of disk devices, wherein error correction data is generated from the second data having different sizes. Means, the disk device and the disk storing the second data so that the time required for reading and writing the second data and the error correction data from and to the disk device is uniform. A disk array control comprising: an address on a device; a size of the second data; a disk device for storing the error correction data; and a determination unit for determining an address on the disk device. apparatus.
JP9269585A 1996-10-04 1997-10-02 Disk array control method and device therefor Withdrawn JPH10161819A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9269585A JPH10161819A (en) 1996-10-04 1997-10-02 Disk array control method and device therefor

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP8-264218 1996-10-04
JP26421896 1996-10-04
JP9269585A JPH10161819A (en) 1996-10-04 1997-10-02 Disk array control method and device therefor

Publications (1)

Publication Number Publication Date
JPH10161819A true JPH10161819A (en) 1998-06-19

Family

ID=26546409

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9269585A Withdrawn JPH10161819A (en) 1996-10-04 1997-10-02 Disk array control method and device therefor

Country Status (1)

Country Link
JP (1) JPH10161819A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004010433A1 (en) * 2002-07-23 2004-01-29 Sony Corporation Data recording/reproduction device and data recording/reproduction method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004010433A1 (en) * 2002-07-23 2004-01-29 Sony Corporation Data recording/reproduction device and data recording/reproduction method

Similar Documents

Publication Publication Date Title
US6591339B1 (en) Methods and systems for selecting block sizes for use with disk arrays
US6499083B1 (en) Disk-based storage system responsive to a direction-selection signal for autonomously controlling seeks in a sequence determined by the direction-selection signal and a locally-stored doubly linked list
US6076143A (en) Method and apparatus for managing the physical storage locations for blocks of information in a storage system to increase system performance
US6028725A (en) Method and apparatus for increasing disc drive performance
US5263145A (en) Method and means for accessing DASD arrays with tuned data transfer rate and concurrency
US6278566B1 (en) Method and apparatus for increasing disc drive performance
US5442752A (en) Data storage method for DASD arrays using striping based on file length
EP0485110A2 (en) Logical partitioning of a redundant array storage system
JP2682791B2 (en) Data storage device and method for recording with different linear densities
US6343343B1 (en) Disk arrays using non-standard sector sizes
JPH08129835A (en) Disk device
US6223249B1 (en) Apparatus and method for controlling access to one or more disc storage devices
US6078989A (en) Disc array control method and disc array control apparatus
JPH10161819A (en) Disk array control method and device therefor
JP3993921B2 (en) Storage device
US5659677A (en) Data storage apparatus for disk array
US7859969B2 (en) Resilient data storage on optical media
JP3865163B2 (en) Disk control method and apparatus
US7284087B2 (en) Method and apparatus for increasing sustainable bandwidth in a multiple disk drive storage system
JP3809674B2 (en) Disk control method and apparatus
JPH1124848A (en) Faulty area alteration processing method for disk array and disk array device
JP3304368B2 (en) Array disk device and control method therefor
JP2000099275A (en) Disk array control method and disk array device
JP3510747B2 (en) Recording medium having logical format, recording / reproducing device, logical format device, and logical format forming method
JP2002074847A (en) Hard disk drive

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20041207