JPH10161819A - ディスクアレイ制御方法および装置 - Google Patents
ディスクアレイ制御方法および装置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
Links
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
- Detection And Correction Of Errors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
(57)【要約】
【課題】 データの読み出しおよび書き込み時間を一定
にするとともに、データの信頼性を高めることができる
ようにする。 【解決手段】 ステップS1において、全部でm個のデ
ィスク装置から、誤り訂正用データとデータを分割して
得られたn個のサブブロックを格納するn+1個のディ
スク装置を選択し、ステップS2において、選択された
各ディスク装置上において、誤り訂正用データおよび所
定のサブブロックを配置する外周よりのトラックと、他
のサブブロックを配置する内周よりのトラックと、開始
論理セクタをそれぞれ決定する。次に、ステップS3に
おいて、誤り訂正用データおよび各サブブロックのサイ
ズを、トラックのセクタ数とそのトラックに配置される
誤り訂正用データまたはサブブロックのサイズの比が一
定となるように決定する。
にするとともに、データの信頼性を高めることができる
ようにする。 【解決手段】 ステップS1において、全部でm個のデ
ィスク装置から、誤り訂正用データとデータを分割して
得られたn個のサブブロックを格納するn+1個のディ
スク装置を選択し、ステップS2において、選択された
各ディスク装置上において、誤り訂正用データおよび所
定のサブブロックを配置する外周よりのトラックと、他
のサブブロックを配置する内周よりのトラックと、開始
論理セクタをそれぞれ決定する。次に、ステップS3に
おいて、誤り訂正用データおよび各サブブロックのサイ
ズを、トラックのセクタ数とそのトラックに配置される
誤り訂正用データまたはサブブロックのサイズの比が一
定となるように決定する。
Description
【0001】
【発明の属する技術分野】本発明は、ディスクアレイ制
御方法および装置に関し、例えば、サイズの異なるサブ
ブロックから誤り訂正用データを生成することにより、
データの格納場所に拘らず、誤り訂正用データおよびサ
ブブロックの読み出しおよび書き込み時間を一定にする
ことができるディスクアレイ制御方法および装置に関す
る。
御方法および装置に関し、例えば、サイズの異なるサブ
ブロックから誤り訂正用データを生成することにより、
データの格納場所に拘らず、誤り訂正用データおよびサ
ブブロックの読み出しおよび書き込み時間を一定にする
ことができるディスクアレイ制御方法および装置に関す
る。
【0002】
【従来の技術】近年のコンピュータシステムの発展はめ
ざましいが、その発展に伴い、外部記憶装置に対する要
求も高まっている。その要求に答えるべく開発されたの
がディスクアレイ装置である。このディスクアレイ装置
は、複数のディスク装置を内蔵して、大容量化を図り、
各ディスク装置を並列に動かし、読み出しあるいは書き
込みを高速化するとともに、誤り訂正用データを取り入
れることにより、信頼性を上げている。
ざましいが、その発展に伴い、外部記憶装置に対する要
求も高まっている。その要求に答えるべく開発されたの
がディスクアレイ装置である。このディスクアレイ装置
は、複数のディスク装置を内蔵して、大容量化を図り、
各ディスク装置を並列に動かし、読み出しあるいは書き
込みを高速化するとともに、誤り訂正用データを取り入
れることにより、信頼性を上げている。
【0003】ディスクアレイ装置にデータを格納する場
合、データを分割して複数のサブブロックとし、それら
のサブブロックを元に、誤り訂正用データを生成し、全
てのサブブロックと誤り訂正用データをそれぞれ別々の
ディスク装置に書き込む。
合、データを分割して複数のサブブロックとし、それら
のサブブロックを元に、誤り訂正用データを生成し、全
てのサブブロックと誤り訂正用データをそれぞれ別々の
ディスク装置に書き込む。
【0004】逆に、ディスクアレイ装置からデータを取
り出す場合、データを構成するサブブロックと誤り訂正
用データが格納されているディスク装置から、複数のサ
ブブロックと誤り訂正用データを同時に読み出し、読み
出したサブブロックから元のデータを構成し、エラーが
なければそのまま送出する。そのとき、サブブロックが
格納されている記録エリアが壊れている等の理由で、正
常に読み出すことができない場合、他の正常に読み出さ
れたサブブロックと誤り訂正用データを元に、正しいデ
ータを復元した後、送出する。
り出す場合、データを構成するサブブロックと誤り訂正
用データが格納されているディスク装置から、複数のサ
ブブロックと誤り訂正用データを同時に読み出し、読み
出したサブブロックから元のデータを構成し、エラーが
なければそのまま送出する。そのとき、サブブロックが
格納されている記録エリアが壊れている等の理由で、正
常に読み出すことができない場合、他の正常に読み出さ
れたサブブロックと誤り訂正用データを元に、正しいデ
ータを復元した後、送出する。
【0005】また、ディスクアレイ装置においては、1
つのディスク装置が完全に壊れた場合でも、壊れたディ
スク装置を新しいものに交換し、他のディスク装置のデ
ータを用いて、壊れたデータを復旧するという機能を備
えるようにすることもできる。
つのディスク装置が完全に壊れた場合でも、壊れたディ
スク装置を新しいものに交換し、他のディスク装置のデ
ータを用いて、壊れたデータを復旧するという機能を備
えるようにすることもできる。
【0006】誤り訂正用データを取り入れたディスクア
レイ装置にはいくつかの異なる方式がある。UCバーク
レイ校のDvid A.Patterson教授らは、
その方式を5段階に分類し、RAID(Redundant Arra
ys of Inexpensive Disks)のレベルという用語を初め
て提唱した。以下にその内容を簡単に紹介する。
レイ装置にはいくつかの異なる方式がある。UCバーク
レイ校のDvid A.Patterson教授らは、
その方式を5段階に分類し、RAID(Redundant Arra
ys of Inexpensive Disks)のレベルという用語を初め
て提唱した。以下にその内容を簡単に紹介する。
【0007】RAID−1は、ディスク装置のデータを
2重化するものであり、ミラードディスクとも呼ばれ
る。RAID−1では、全く同一のデータが2つのディ
スク装置に格納される。RAID−2,3は、入力デー
タをビット単位やバイト単位で分割し、複数のディスク
装置に格納する。RAID−2ではハミング符号を、R
AID−3ではパリティを誤り訂正用データとして使用
する。RAID−4,5は、データをセクタ単位でイン
タリーブする。RAID−4は、パリティを同一のディ
スク装置に格納するのに対し、RAID−5では複数の
ディスク装置に分散させる。
2重化するものであり、ミラードディスクとも呼ばれ
る。RAID−1では、全く同一のデータが2つのディ
スク装置に格納される。RAID−2,3は、入力デー
タをビット単位やバイト単位で分割し、複数のディスク
装置に格納する。RAID−2ではハミング符号を、R
AID−3ではパリティを誤り訂正用データとして使用
する。RAID−4,5は、データをセクタ単位でイン
タリーブする。RAID−4は、パリティを同一のディ
スク装置に格納するのに対し、RAID−5では複数の
ディスク装置に分散させる。
【0008】これらのRAIDのレベルうち、通常のデ
ィスクアレイ装置に最もよく採用されている方式は、R
AID-3とRAID−5である。図18は、RAID
−3の方式のディスクアレイ装置の一例の構成を表し、
図19は、RAID−5の方式のディスクアレイ装置の
一例の構成を表している。
ィスクアレイ装置に最もよく採用されている方式は、R
AID-3とRAID−5である。図18は、RAID
−3の方式のディスクアレイ装置の一例の構成を表し、
図19は、RAID−5の方式のディスクアレイ装置の
一例の構成を表している。
【0009】即ち、図18に示したRAID−3方式の
ディスクアレイ装置においては、入力データをバイト単
位に分割し、バイト単位に分割された各データを複数の
ディスク装置に格納する。そして、訂正用データとして
のパリティを所定のディスク装置に格納する。ここで
は、複数のディスク装置に格納されたNo.1乃至4の
データに対するパリティP1-4と、No.5乃至8のデ
ータに対するパリティP5 -8が格納されている。
ディスクアレイ装置においては、入力データをバイト単
位に分割し、バイト単位に分割された各データを複数の
ディスク装置に格納する。そして、訂正用データとして
のパリティを所定のディスク装置に格納する。ここで
は、複数のディスク装置に格納されたNo.1乃至4の
データに対するパリティP1-4と、No.5乃至8のデ
ータに対するパリティP5 -8が格納されている。
【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が格納されている。
ディスクアレイ装置においては、入力データをセクタ単
位に分割し、それらのデータをインタリーブして複数の
ディスク装置に分散させる。この場合、最初のディスク
装置にはデータ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が格納されている。
【0011】一方、近年のコンピュータシステムの発展
により、画像や音声などに代表されるマルチメディアデ
ータを扱うことが可能となったが、これらのマルチメデ
ィアデータ用のストレージは、マルチメディアサーバと
呼ばれることがある。マルチメディアサーバは、大容量
かつ高転送レートが要求されるので、ハードウェアシス
テムとしてはディスクアレイ装置として実現されること
が多い。ただし、従来のコンピュータ用サーバにおいて
は処理を行う平均性能が重視されているのに対し、マル
チメディアサーバにおいては、処理を完了するまでに要
する時間の最悪値をいかに抑えるかという点が重視され
る。
により、画像や音声などに代表されるマルチメディアデ
ータを扱うことが可能となったが、これらのマルチメデ
ィアデータ用のストレージは、マルチメディアサーバと
呼ばれることがある。マルチメディアサーバは、大容量
かつ高転送レートが要求されるので、ハードウェアシス
テムとしてはディスクアレイ装置として実現されること
が多い。ただし、従来のコンピュータ用サーバにおいて
は処理を行う平均性能が重視されているのに対し、マル
チメディアサーバにおいては、処理を完了するまでに要
する時間の最悪値をいかに抑えるかという点が重視され
る。
【0012】例えば、動画像の場合、毎秒30枚の画像
が一定の間隔で次々に表示されないと、動きがぎこちな
くなる。また、ディスク装置の能力が追い付かず、音声
データが不足すれば音が途切れて不快なノイズを発す
る。最悪の場合でもこれだけの時間で処理できるという
上限が保証されていることをリアルタイム性を保証する
という。マルチメディアサーバでは、このリアルタイム
性を保証することができるかどうかも重要である。
が一定の間隔で次々に表示されないと、動きがぎこちな
くなる。また、ディスク装置の能力が追い付かず、音声
データが不足すれば音が途切れて不快なノイズを発す
る。最悪の場合でもこれだけの時間で処理できるという
上限が保証されていることをリアルタイム性を保証する
という。マルチメディアサーバでは、このリアルタイム
性を保証することができるかどうかも重要である。
【0013】
【発明が解決しようとする課題】ところで、ハードディ
スクなどのディスク記憶装置には、ゾーン・ビット・レ
コーディング(ZBR)と呼ばれるフォーマット方法が
ある。記録密度が一定、かつディスクの回転速度が一定
という条件の下では、図20に示すように、内周より外
周の方でトラックあたりのセクタ数を多く取ることがで
きる。ZBRとは記録面をディスクの中心からの距離に
応じて複数のゾーンに分け、外側のゾーンでは、内側の
ゾーンよりトラックあたりのセクタ数を多くするように
してディスクの記録容量を増やすようにしたフォーマッ
ト方法である。
スクなどのディスク記憶装置には、ゾーン・ビット・レ
コーディング(ZBR)と呼ばれるフォーマット方法が
ある。記録密度が一定、かつディスクの回転速度が一定
という条件の下では、図20に示すように、内周より外
周の方でトラックあたりのセクタ数を多く取ることがで
きる。ZBRとは記録面をディスクの中心からの距離に
応じて複数のゾーンに分け、外側のゾーンでは、内側の
ゾーンよりトラックあたりのセクタ数を多くするように
してディスクの記録容量を増やすようにしたフォーマッ
ト方法である。
【0014】図21は、ZBR方式を用いてフォーマッ
トされたディスク記憶装置におけるシリンダアドレスと
1トラックあたりのセクタ数の関係を示している。この
場合、外周側のトラックには例えば176個のセクタが
存在し、それより内側のトラックには例えば132個の
セクタが存在しており、外周側のトラックの方が内周側
のトラックより1トラックあたりのセクタ数が多くなっ
ている。
トされたディスク記憶装置におけるシリンダアドレスと
1トラックあたりのセクタ数の関係を示している。この
場合、外周側のトラックには例えば176個のセクタが
存在し、それより内側のトラックには例えば132個の
セクタが存在しており、外周側のトラックの方が内周側
のトラックより1トラックあたりのセクタ数が多くなっ
ている。
【0015】ZBR方式のディスク記憶装置では、内周
の方が外周よりセクタ数が少ないにも拘らず、回転速度
は常に一定であるから、同一のデータサイズであって
も、内周側よりに格納されているデータの方が読み出し
に時間がかかるという問題が生じる。このことは、ZB
R方式のディスク記憶装置を使用するディスクアレイ装
置についても当てはまり、データを分割してできたサブ
ブロックの格納場所により、読み出し時間が異なるの
で、ディスクアレイ装置がデータを送出することができ
る時間もそれによって決められてしまう。同様に、デー
タの書き込み時間も格納場所により異なることになる。
の方が外周よりセクタ数が少ないにも拘らず、回転速度
は常に一定であるから、同一のデータサイズであって
も、内周側よりに格納されているデータの方が読み出し
に時間がかかるという問題が生じる。このことは、ZB
R方式のディスク記憶装置を使用するディスクアレイ装
置についても当てはまり、データを分割してできたサブ
ブロックの格納場所により、読み出し時間が異なるの
で、ディスクアレイ装置がデータを送出することができ
る時間もそれによって決められてしまう。同様に、デー
タの書き込み時間も格納場所により異なることになる。
【0016】図22は、RAID−3方式でデータを格
納した場合に、データが各ディスク記憶装置に分散され
る様子を表している。この例では、固定長データと誤り
訂正用データを各ディスクの最外周から順々に埋めるよ
うに書き込んでいる。この場合、一番最初のデータを構
成するサブブロックと、誤り訂正用データは最外周に格
納されるため、読み出し時間あるいは書き込み時間が最
も早くなる。逆に、一番最後のデータを構成するサブブ
ロックと誤り訂正用データは最内周に格納されるため、
読み出し時間あるいは書き込み時間が最も遅くなる。こ
のように、格納場所によりアクセス時間が変化する傾向
は、特にリアルタイム性の保証が要求されるマルチメデ
ィア分野の応用には向いていない。
納した場合に、データが各ディスク記憶装置に分散され
る様子を表している。この例では、固定長データと誤り
訂正用データを各ディスクの最外周から順々に埋めるよ
うに書き込んでいる。この場合、一番最初のデータを構
成するサブブロックと、誤り訂正用データは最外周に格
納されるため、読み出し時間あるいは書き込み時間が最
も早くなる。逆に、一番最後のデータを構成するサブブ
ロックと誤り訂正用データは最内周に格納されるため、
読み出し時間あるいは書き込み時間が最も遅くなる。こ
のように、格納場所によりアクセス時間が変化する傾向
は、特にリアルタイム性の保証が要求されるマルチメデ
ィア分野の応用には向いていない。
【0017】また、図17に示すように、ZBR方式の
ディスク記憶装置を使用しているサーバにおいては、読
み出し時間あるいは書き込み時間を均一とするために、
データを構成するサブブロックをディスクの外周よりに
格納するものと内周よりに格納するものに分け、それぞ
れのサイズをデータの読み出し時間および書き込み時間
が一定となるように決めるようにすることが考えられ
る。
ディスク記憶装置を使用しているサーバにおいては、読
み出し時間あるいは書き込み時間を均一とするために、
データを構成するサブブロックをディスクの外周よりに
格納するものと内周よりに格納するものに分け、それぞ
れのサイズをデータの読み出し時間および書き込み時間
が一定となるように決めるようにすることが考えられ
る。
【0018】そして、各サブブロックのサイズを決定す
るとき、それが格納されているトラックにおけるトラッ
クあたりのセクタ数に比例するようにサイズを決めるよ
うにする。その場合、各サブブロックのサイズは一定で
はなくなる。一方、RAID−1方式乃至RAID−5
方式を含めた従来方式における誤り訂正用データの生成
方法では、サブブロックのサイズは全て同一であるとい
う条件があった。従って、従来の方式ではサイズが異な
るサブブロックに対しては誤り訂正用データを生成する
ことができない。
るとき、それが格納されているトラックにおけるトラッ
クあたりのセクタ数に比例するようにサイズを決めるよ
うにする。その場合、各サブブロックのサイズは一定で
はなくなる。一方、RAID−1方式乃至RAID−5
方式を含めた従来方式における誤り訂正用データの生成
方法では、サブブロックのサイズは全て同一であるとい
う条件があった。従って、従来の方式ではサイズが異な
るサブブロックに対しては誤り訂正用データを生成する
ことができない。
【0019】本発明はこのような状況に鑑みてなされた
ものであり、ディスクアレイ装置において、データを読
み出す時間あるいは書き込む時間を全て均一にすること
ができ、なおかつ各データに誤り訂正用データを付加す
ることができるようにし、データの信頼性を高めること
ができるようにするものである。
ものであり、ディスクアレイ装置において、データを読
み出す時間あるいは書き込む時間を全て均一にすること
ができ、なおかつ各データに誤り訂正用データを付加す
ることができるようにし、データの信頼性を高めること
ができるようにするものである。
【0020】
【課題を解決するための手段】請求項1に記載のディス
クアレイ制御方法は、サイズが異なる第2のデータから
誤り訂正用データを生成し、ディスク装置に対して、第
2のデータおよび誤り訂正用データの読み出し、および
書き込みに要する時間が均一となるように、第2のデー
タを格納するディスク装置およびディスク装置上のアド
レスと、第2のデータのサイズと、誤り訂正用データを
格納するディスク装置およびディスク装置上のアドレス
とを決定することを特徴とする。
クアレイ制御方法は、サイズが異なる第2のデータから
誤り訂正用データを生成し、ディスク装置に対して、第
2のデータおよび誤り訂正用データの読み出し、および
書き込みに要する時間が均一となるように、第2のデー
タを格納するディスク装置およびディスク装置上のアド
レスと、第2のデータのサイズと、誤り訂正用データを
格納するディスク装置およびディスク装置上のアドレス
とを決定することを特徴とする。
【0021】請求項16に記載のディスクアレイ制御装
置は、サイズが異なる第2のデータから誤り訂正用デー
タを生成する生成手段と、ディスク装置に対して、第2
のデータおよび誤り訂正用データの読み出し、および書
き込みに要する時間が均一となるように、第2のデータ
を格納するディスク装置およびディスク装置上のアドレ
スと、第2のデータのサイズと、誤り訂正用データを格
納するディスク装置およびディスク装置上のアドレスと
を決定する決定手段とを備えることを特徴とする。
置は、サイズが異なる第2のデータから誤り訂正用デー
タを生成する生成手段と、ディスク装置に対して、第2
のデータおよび誤り訂正用データの読み出し、および書
き込みに要する時間が均一となるように、第2のデータ
を格納するディスク装置およびディスク装置上のアドレ
スと、第2のデータのサイズと、誤り訂正用データを格
納するディスク装置およびディスク装置上のアドレスと
を決定する決定手段とを備えることを特徴とする。
【0022】請求項1に記載のディスクアレイ制御方法
においては、サイズが異なる第2のデータから誤り訂正
用データを生成し、ディスク装置に対して、第2のデー
タおよび誤り訂正用データの読み出し、および書き込み
に要する時間が均一となるように、第2のデータを格納
するディスク装置およびディスク装置上のアドレスと、
第2のデータのサイズと、誤り訂正用データを格納する
ディスク装置およびディスク装置上のアドレスとを決定
する。
においては、サイズが異なる第2のデータから誤り訂正
用データを生成し、ディスク装置に対して、第2のデー
タおよび誤り訂正用データの読み出し、および書き込み
に要する時間が均一となるように、第2のデータを格納
するディスク装置およびディスク装置上のアドレスと、
第2のデータのサイズと、誤り訂正用データを格納する
ディスク装置およびディスク装置上のアドレスとを決定
する。
【0023】請求項16に記載のディスクアレイ制御装
置においては、生成手段が、サイズが異なる第2のデー
タから誤り訂正用データを生成し、決定手段が、ディス
ク装置に対して、第2のデータおよび誤り訂正用データ
の読み出し、および書き込みに要する時間が均一となる
ように、第2のデータを格納するディスク装置およびデ
ィスク装置上のアドレスと、第2のデータのサイズと、
誤り訂正用データを格納するディスク装置およびディス
ク装置上のアドレスとを決定する。
置においては、生成手段が、サイズが異なる第2のデー
タから誤り訂正用データを生成し、決定手段が、ディス
ク装置に対して、第2のデータおよび誤り訂正用データ
の読み出し、および書き込みに要する時間が均一となる
ように、第2のデータを格納するディスク装置およびデ
ィスク装置上のアドレスと、第2のデータのサイズと、
誤り訂正用データを格納するディスク装置およびディス
ク装置上のアドレスとを決定する。
【0024】
【発明の実施の形態】図1は、本発明を適用したマルチ
メディアサーバの実施の形態の構成を示すブロック図で
ある。
メディアサーバの実施の形態の構成を示すブロック図で
ある。
【0025】配置部(Block Allocato
r)1(決定手段)は、入力されたフォーマットパラメ
ータと、ZBR(ゾーンビットレコーディング)テーブ
ル(ZBR Table)8からのデータに基づいて、
後述するブロックマップ(Block Map)3を作
成するようになされている。フォーマットパラメータ
は、データの1ブロックの大きさS、データを分割する
数n、および最適なスキュー値(θskew)などから構成
されている。
r)1(決定手段)は、入力されたフォーマットパラメ
ータと、ZBR(ゾーンビットレコーディング)テーブ
ル(ZBR Table)8からのデータに基づいて、
後述するブロックマップ(Block Map)3を作
成するようになされている。フォーマットパラメータ
は、データの1ブロックの大きさS、データを分割する
数n、および最適なスキュー値(θskew)などから構成
されている。
【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と記載することにする。
場所と、その場所での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と記載することにする。
【0027】ディスク記憶装置6の論理セクタアドレス
と物理セクタアドレスの関係については、図8を参照し
て後述する。
と物理セクタアドレスの関係については、図8を参照し
て後述する。
【0028】誤り訂正コントローラ(ECC Cont
roller)9(生成手段)は、データバッファ4よ
りデータを読み出し、誤り訂正用データを生成し、デー
タバッファ4に供給したり、データバッファ4より読み
出したデータを構成するサブブロックに誤りがある場
合、そのデータを構成する誤り訂正用データを用いてそ
のサブブロックを訂正するようになされている。
roller)9(生成手段)は、データバッファ4よ
りデータを読み出し、誤り訂正用データを生成し、デー
タバッファ4に供給したり、データバッファ4より読み
出したデータを構成するサブブロックに誤りがある場
合、そのデータを構成する誤り訂正用データを用いてそ
のサブブロックを訂正するようになされている。
【0029】配置部1は、データの配置を決定した後、
ブロックマップ3を作成していく。ブロックマップ3
は、図2に示したように、k(データの総数を越えない
任意の自然数)番目のデータを分割して得られたn個の
サブブロックと誤り訂正用データをディスク上のどこに
格納するかを示すものである。各データの最上段には、
誤り訂正用データが配置され、その配置場所は、ディス
ク記憶装置番号Dkp、ディスク記憶装置上の開始論理セ
クタアドレスLkp、サブブロックを構成するセクタの数
Skpより決定することができる。また、各サブブロック
の配置場所は、ディスク記憶装置番号Dki、ディスク記
憶装置上の開始論理セクタアドレスLki、サブブロック
を構成するセクタの数Skiより決定することができる。
ここで、iは、1≦i≦nの自然数である。
ブロックマップ3を作成していく。ブロックマップ3
は、図2に示したように、k(データの総数を越えない
任意の自然数)番目のデータを分割して得られたn個の
サブブロックと誤り訂正用データをディスク上のどこに
格納するかを示すものである。各データの最上段には、
誤り訂正用データが配置され、その配置場所は、ディス
ク記憶装置番号Dkp、ディスク記憶装置上の開始論理セ
クタアドレスLkp、サブブロックを構成するセクタの数
Skpより決定することができる。また、各サブブロック
の配置場所は、ディスク記憶装置番号Dki、ディスク記
憶装置上の開始論理セクタアドレスLki、サブブロック
を構成するセクタの数Skiより決定することができる。
ここで、iは、1≦i≦nの自然数である。
【0030】データを連続的に読み出す、あるいは書き
込むときは、まず、複数のデータのアクセス要求が発生
し、それらの要求を識別する情報としてのデータの番
号、データが置かれるデータバッファ(Data Bu
ffer)4上でのアドレス、および読み出しか書き込
みかを示すフラグがアクセス要求バッファ(Acces
s Request Buffer)7に蓄えられる。
込むときは、まず、複数のデータのアクセス要求が発生
し、それらの要求を識別する情報としてのデータの番
号、データが置かれるデータバッファ(Data Bu
ffer)4上でのアドレス、および読み出しか書き込
みかを示すフラグがアクセス要求バッファ(Acces
s Request Buffer)7に蓄えられる。
【0031】スケジューラ(Scheduler)2
は、所定の時間にそれらの複数の情報をアクセス要求バ
ッファ7より読み出し、ブロックマップ3を参照して、
要求されているデータを構成するサブブロックと誤り訂
正用データの配置場所を調べるようになされている。配
置場所は、ディスク記憶装置6、ディスク記憶装置6上
での開始論理セクタアドレス、セクタ数からなり、スケ
ジューラ2は、該当するディスク記憶装置6をドライブ
するSCSIドライバ5にアクセス要求を行うようにな
されている。
は、所定の時間にそれらの複数の情報をアクセス要求バ
ッファ7より読み出し、ブロックマップ3を参照して、
要求されているデータを構成するサブブロックと誤り訂
正用データの配置場所を調べるようになされている。配
置場所は、ディスク記憶装置6、ディスク記憶装置6上
での開始論理セクタアドレス、セクタ数からなり、スケ
ジューラ2は、該当するディスク記憶装置6をドライブ
するSCSIドライバ5にアクセス要求を行うようにな
されている。
【0032】データバッファ4は、入力されたマルチメ
ディアデータ等を一時的に記憶したり、ディスク記憶装
置6より読み出されたマルチメディアデータ等を一時的
に記憶するようになされている。
ディアデータ等を一時的に記憶したり、ディスク記憶装
置6より読み出されたマルチメディアデータ等を一時的
に記憶するようになされている。
【0033】次に、データをディスク記憶装置6に書き
込む場合の各部の動作について説明する。最初に、ディ
スク記憶装置6に書き込むべきデータが、順次、データ
バッファ4に書き込まれる。このとき、スケジューラ2
は、ブロックマップ3よりデータをどのように分割する
かという情報を持っている。図3(A)は、k番目のデ
ータを異なるサイズのサブブロックに分割した例を示し
ている。即ち、サイズがSのデータをサイズがSk1のサ
ブブロック#1、サイズがSk2のサブブロック#2、サ
イズがSk3のサブブロック#3、およびサイズがSk4の
サブブロック#4に分割する。
込む場合の各部の動作について説明する。最初に、ディ
スク記憶装置6に書き込むべきデータが、順次、データ
バッファ4に書き込まれる。このとき、スケジューラ2
は、ブロックマップ3よりデータをどのように分割する
かという情報を持っている。図3(A)は、k番目のデ
ータを異なるサイズのサブブロックに分割した例を示し
ている。即ち、サイズがSのデータをサイズがSk1のサ
ブブロック#1、サイズがSk2のサブブロック#2、サ
イズがSk3のサブブロック#3、およびサイズがSk4の
サブブロック#4に分割する。
【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に分割されることになる。
らに詳細に説明する。例えば、サイズ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に分割されることになる。
【0035】誤り訂正コントローラ9は、スケジューラ
2からの指示に従って、これらのサブブロックをデータ
バッファ4より読み込み、読み込んだサブブロックに基
づいて誤り訂正用データを生成する。サブブロックのサ
イズは、大抵の場合、一定ではなく、誤り訂正用データ
のサイズは、分割されたサブブロックの中の最もサイズ
が大きいサブブロックのサイズと等しくなるようにす
る。
2からの指示に従って、これらのサブブロックをデータ
バッファ4より読み込み、読み込んだサブブロックに基
づいて誤り訂正用データを生成する。サブブロックのサ
イズは、大抵の場合、一定ではなく、誤り訂正用データ
のサイズは、分割されたサブブロックの中の最もサイズ
が大きいサブブロックのサイズと等しくなるようにす
る。
【0036】基本的には、j番目の誤り訂正用データP
jは、各サブブロックのj番目のデータから生成され
る。このとき、図3(B)に示すように、jの値が小さ
い場合、全てのサブブロックに対応するj番目のデータ
が存在するので、全てのサブブロックのデータから、誤
り訂正用データPjが生成される。一方、jがある程度
より大きくなると、図3(C)に示すように、いくつか
のサブブロックではj番目のデータが存在しない場合が
ある。この場合、サブブロック#1,#3において、j
番目に該当するデータが存在しない。
jは、各サブブロックのj番目のデータから生成され
る。このとき、図3(B)に示すように、jの値が小さ
い場合、全てのサブブロックに対応するj番目のデータ
が存在するので、全てのサブブロックのデータから、誤
り訂正用データPjが生成される。一方、jがある程度
より大きくなると、図3(C)に示すように、いくつか
のサブブロックではj番目のデータが存在しない場合が
ある。この場合、サブブロック#1,#3において、j
番目に該当するデータが存在しない。
【0037】このような場合、サイズがj以上であるサ
ブブロック#2,#4からj番目のデータを読み出し、
それらのデータに基づいて、誤り訂正用データPjを生
成する。あるいは、サブブロック#1,#3に予め決め
られた所定のデータを付加し、図3(A)の場合と同様
に、すべてのサブブロックのデータから誤り訂正用デー
タPjを生成するようにすることもできる。なお、誤り
訂正用データを発生するアルゴリズムには様々な種類が
あるが、ここではその詳細までを述べる必要がないので
省略する。なお、図5には、複数のパケットにより構成
されるサブブロックから生成されたパリティが示されて
いる。
ブブロック#2,#4からj番目のデータを読み出し、
それらのデータに基づいて、誤り訂正用データPjを生
成する。あるいは、サブブロック#1,#3に予め決め
られた所定のデータを付加し、図3(A)の場合と同様
に、すべてのサブブロックのデータから誤り訂正用デー
タPjを生成するようにすることもできる。なお、誤り
訂正用データを発生するアルゴリズムには様々な種類が
あるが、ここではその詳細までを述べる必要がないので
省略する。なお、図5には、複数のパケットにより構成
されるサブブロックから生成されたパリティが示されて
いる。
【0038】誤り訂正コントローラ9により生成された
誤り訂正用データは、データバッファ4に書き込まれ
る。その後、スケジューラ2からの指示がなされたSC
SIドライバ5が、該当するディスク記憶装置6に対し
てデータバッファ4上のサブブロックと誤り訂正用デー
タを書き込むことにより、一連の書き込み処理が終了す
る。
誤り訂正用データは、データバッファ4に書き込まれ
る。その後、スケジューラ2からの指示がなされたSC
SIドライバ5が、該当するディスク記憶装置6に対し
てデータバッファ4上のサブブロックと誤り訂正用デー
タを書き込むことにより、一連の書き込み処理が終了す
る。
【0039】次に、データを読み出す場合における各部
の動作について説明する。まず、アクセス要求バッファ
7にアクセス要求が格納される。スケジューラ2は、ア
クセス要求バッファ7からアクセス要求を読み出し、そ
れを該当するSCSIドライバ5に供給する。SCSI
ドライバ5は、スケジューラ2より供給されたアクセス
要求に基づいて、該当するディスク記憶装置6からアク
セス要求によって指定されたサブブロックと誤り訂正用
データを読み出し、それらをデータバッファ4に書き込
む。
の動作について説明する。まず、アクセス要求バッファ
7にアクセス要求が格納される。スケジューラ2は、ア
クセス要求バッファ7からアクセス要求を読み出し、そ
れを該当するSCSIドライバ5に供給する。SCSI
ドライバ5は、スケジューラ2より供給されたアクセス
要求に基づいて、該当するディスク記憶装置6からアク
セス要求によって指定されたサブブロックと誤り訂正用
データを読み出し、それらをデータバッファ4に書き込
む。
【0040】誤り訂正コントローラ9は、スケジューラ
2からの指示に従って、データバッファ4に書き込まれ
たこれらのサブブロックと誤り訂正用データを読み出
し、誤り訂正用データに基づいて、サブブロックに誤り
があるか否かを判断し、誤りがある場合、それを訂正す
る。
2からの指示に従って、データバッファ4に書き込まれ
たこれらのサブブロックと誤り訂正用データを読み出
し、誤り訂正用データに基づいて、サブブロックに誤り
があるか否かを判断し、誤りがある場合、それを訂正す
る。
【0041】例えば、所定のサブブロックのj番目のデ
ータが誤っている場合、基本的には他のサブブロックの
j番目のデータと誤り訂正用データを用いて誤りを訂正
する。例えば、図6(A)に示すように、jの値が小さ
い場合、全てのサブブロックのj番目のデータから誤り
訂正用データが生成されているので、誤り訂正用データ
のj番目のデータと誤りのないサブブロック#1乃至#
3の全てのj番目のデータを用いて、サブブロック#4
のj番目のデータの訂正を行う。
ータが誤っている場合、基本的には他のサブブロックの
j番目のデータと誤り訂正用データを用いて誤りを訂正
する。例えば、図6(A)に示すように、jの値が小さ
い場合、全てのサブブロックのj番目のデータから誤り
訂正用データが生成されているので、誤り訂正用データ
のj番目のデータと誤りのないサブブロック#1乃至#
3の全てのj番目のデータを用いて、サブブロック#4
のj番目のデータの訂正を行う。
【0042】一方、図6(B)に示すように、jの値が
ある程度大きくなると、サイズがj以上であるサブブロ
ックのj番目のデータから誤り訂正用データが生成され
るので、サイズがj以上であるサブブロックの中の誤り
がないものと、誤り訂正用データを使用して訂正を行
う。誤りが訂正されたサブブロックは、データバッファ
4上の指定された場所に書き込まれ、正しいデータとし
てディスクアレイ装置の外部に送出される。
ある程度大きくなると、サイズがj以上であるサブブロ
ックのj番目のデータから誤り訂正用データが生成され
るので、サイズがj以上であるサブブロックの中の誤り
がないものと、誤り訂正用データを使用して訂正を行
う。誤りが訂正されたサブブロックは、データバッファ
4上の指定された場所に書き込まれ、正しいデータとし
てディスクアレイ装置の外部に送出される。
【0043】ここで、図7を参照して、ディスク記憶装
置6の論理セクタアドレスと物理セクタアドレスの関係
について説明する。図7(B)に示すように、ディスク
記憶装置6は、通常、セクタと呼ばれる領域毎にアクセ
スすることができるようになされている。セクタは通常
512バイト乃至4キロバイト程度の大きさで、これを
円周上に並べたドーナツ型の領域をトラック、さらに図
6(A)に示すように、複数枚だけ重ねた記録メディア
(Media)の中心から同一の距離にあるトラックを
集めた円筒状の領域をシリンダ(Cylinder)と
呼ぶ。このように、シリンダ番号、メディア番号、およ
びセクタ番号からなるアドレスが物理セクタアドレスで
ある。
置6の論理セクタアドレスと物理セクタアドレスの関係
について説明する。図7(B)に示すように、ディスク
記憶装置6は、通常、セクタと呼ばれる領域毎にアクセ
スすることができるようになされている。セクタは通常
512バイト乃至4キロバイト程度の大きさで、これを
円周上に並べたドーナツ型の領域をトラック、さらに図
6(A)に示すように、複数枚だけ重ねた記録メディア
(Media)の中心から同一の距離にあるトラックを
集めた円筒状の領域をシリンダ(Cylinder)と
呼ぶ。このように、シリンダ番号、メディア番号、およ
びセクタ番号からなるアドレスが物理セクタアドレスで
ある。
【0044】一方、近年、最も普及しているSCSI仕
様のドライブでは、ドライブ内の全てのセクタに通し番
号を与え、これを用いてデータをアクセスするようにな
っている。この通し番号が論理セクタアドレスである。
上述したように、配置部1は、SCSIドライバ5を介
してディスク記憶装置6に直接問い合わせることによ
り、物理セクタアドレスと論理セクタアドレスとの間の
変換を実現している。勿論、別の方法を用いて、図8に
示すような物理セクタアドレスと論理セクタアドレスと
の対応表を用意し、それを用いて物理セクタアドレスと
論理セクタアドレスとの間の変換を行うようにしてもよ
い。
様のドライブでは、ドライブ内の全てのセクタに通し番
号を与え、これを用いてデータをアクセスするようにな
っている。この通し番号が論理セクタアドレスである。
上述したように、配置部1は、SCSIドライバ5を介
してディスク記憶装置6に直接問い合わせることによ
り、物理セクタアドレスと論理セクタアドレスとの間の
変換を実現している。勿論、別の方法を用いて、図8に
示すような物理セクタアドレスと論理セクタアドレスと
の対応表を用意し、それを用いて物理セクタアドレスと
論理セクタアドレスとの間の変換を行うようにしてもよ
い。
【0045】図8(A)に示したように、論理セクタア
ドレス(Logical Sector)Lkiは、シリ
ンダ番号(Cylinder)CYLki、メディア番号
(Media)MEDki、およびセクタ番号(Sect
or)SECkiより構成される物理セクタアドレスに対
応づけられている。図8(B)はその具体例を示してい
る。従って、この対応表により、論理セクタアドレスを
物理セクタアドレスに、あるいは、物理セクタアドレス
を論理セクタアドレスに変換することができる。
ドレス(Logical Sector)Lkiは、シリ
ンダ番号(Cylinder)CYLki、メディア番号
(Media)MEDki、およびセクタ番号(Sect
or)SECkiより構成される物理セクタアドレスに対
応づけられている。図8(B)はその具体例を示してい
る。従って、この対応表により、論理セクタアドレスを
物理セクタアドレスに、あるいは、物理セクタアドレス
を論理セクタアドレスに変換することができる。
【0046】図9は、ディスク装置上で隣接するサブブ
ロックの開始位置の角度差であるスキューθskewと、サ
ブブロックの終了位置と開始位置との角度差であるギャ
ップθgapをそれぞれ一定にするアロケーションを行っ
た例を示している。このようなアロケーションの最適化
を行うと、ヘッドの移動量が少なくなるようにディスク
アクセス要求の順番を入れ替えるSCANアルゴリズム
と組み合わせることにより、さらに回転待ち時間を抑え
ることができる。これについての詳細は、「特願平7−
282175」に示されている。なお、このアロケーシ
ョンは、上記実施の形態を理解しやすくするために導入
しただけであり、本発明は、スキューやギャップを用い
ないアロケーションにも十分に適用することができる。
ロックの開始位置の角度差であるスキューθskewと、サ
ブブロックの終了位置と開始位置との角度差であるギャ
ップθgapをそれぞれ一定にするアロケーションを行っ
た例を示している。このようなアロケーションの最適化
を行うと、ヘッドの移動量が少なくなるようにディスク
アクセス要求の順番を入れ替えるSCANアルゴリズム
と組み合わせることにより、さらに回転待ち時間を抑え
ることができる。これについての詳細は、「特願平7−
282175」に示されている。なお、このアロケーシ
ョンは、上記実施の形態を理解しやすくするために導入
しただけであり、本発明は、スキューやギャップを用い
ないアロケーションにも十分に適用することができる。
【0047】次に、図10乃至図15のフローチャート
を参照して、図1の配置部1が、k番目のデータをディ
スク記憶装置6の所定のものに配置する場合の処理手順
について説明する。
を参照して、図1の配置部1が、k番目のデータをディ
スク記憶装置6の所定のものに配置する場合の処理手順
について説明する。
【0048】最初、ステップS1において、全部でm個
あるディスク記憶装置6から、誤り訂正用データおよび
n個のサブブロックを格納するn+1個のディスク記憶
装置6を選択する。この例では、まず、誤り訂正用デー
タを格納するディスク装置を選択し、次に、サブブロッ
クを内周よりに配置するディスク装置、外周よりに配置
するディスク装置を選択している。
あるディスク記憶装置6から、誤り訂正用データおよび
n個のサブブロックを格納するn+1個のディスク記憶
装置6を選択する。この例では、まず、誤り訂正用デー
タを格納するディスク装置を選択し、次に、サブブロッ
クを内周よりに配置するディスク装置、外周よりに配置
するディスク装置を選択している。
【0049】各サブブロックに1乃至nの番号を付けた
とき、例えば、奇数番目のサブブロックは内周よりに、
偶数番目のサブブロックは外周よりに配置する。さら
に、少数のディスク記憶装置6に集中してサブブロック
が配置されないように、データによって配置するディス
ク記憶装置6をずらして選択するようにする。
とき、例えば、奇数番目のサブブロックは内周よりに、
偶数番目のサブブロックは外周よりに配置する。さら
に、少数のディスク記憶装置6に集中してサブブロック
が配置されないように、データによって配置するディス
ク記憶装置6をずらして選択するようにする。
【0050】図11は、この処理の詳細を示すフローチ
ャートである。即ち、ステップS11において、誤り訂
正用データを配置するディスク記憶装置6として、次式
(1)で表されるj番目のディスク記憶装置6を選択す
る。
ャートである。即ち、ステップS11において、誤り訂
正用データを配置するディスク記憶装置6として、次式
(1)で表されるj番目のディスク記憶装置6を選択す
る。
【0051】 j=MOD(k−1,m)+1 ・・・(式1) ここで、MODは、k−1をm(ディスク記憶装置6の
総数)で割った余りを演算する演算子である。
総数)で割った余りを演算する演算子である。
【0052】次に、ステップS12において、内周より
に配置するディスク記憶装置6−i(i=1,3,5,
・・・)として、次式(2)で表されるj番目のディス
ク記憶装置6−iを選択する。
に配置するディスク記憶装置6−i(i=1,3,5,
・・・)として、次式(2)で表されるj番目のディス
ク記憶装置6−iを選択する。
【0053】 j=MOD(k+i−1,m)+1 ・・・(式2)
【0054】次に、ステップS13に進み、外周よりに
配置するディスク記憶装置6−i(i=2,4,6,・
・・)として、上式(2)で表されるj番目のディスク
記憶装置6−iを選択する。
配置するディスク記憶装置6−i(i=2,4,6,・
・・)として、上式(2)で表されるj番目のディスク
記憶装置6−iを選択する。
【0055】図11に示したフローチャートでは、内周
よりに配置するサブブロックと外周よりに配置するサブ
ブロックを交互に決めていったが、バランスが取れてい
れば、交互でなくとも構わない。即ち、サブブロックを
順番に内周よりのディスク記憶装置6に配置し、次に、
残りのサブブロックを順番に外周よりのディスク記憶装
置6に配置するようにしてもよい。
よりに配置するサブブロックと外周よりに配置するサブ
ブロックを交互に決めていったが、バランスが取れてい
れば、交互でなくとも構わない。即ち、サブブロックを
順番に内周よりのディスク記憶装置6に配置し、次に、
残りのサブブロックを順番に外周よりのディスク記憶装
置6に配置するようにしてもよい。
【0056】また、サブブロックが少数のディスク記憶
装置6に集中しないのであれば、上記式(1)、式
(2)で表されるj番目のディスク記憶装置6を選択し
なくとも構わない。例えば、内周よりにサブブロックを
配置するディスク記憶装置6に関しては、内周をあまり
使用していないディスク記憶装置6から、また、外周よ
りにサブブロックを配置するディスク記憶装置6に関し
ては、外周をあまり使用していないディスク記憶装置6
から選択する方法も有効である。いずれにしても、誤り
訂正用データは、ステップS11で選択されたディスク
記憶装置6上の外周よりに配置する。
装置6に集中しないのであれば、上記式(1)、式
(2)で表されるj番目のディスク記憶装置6を選択し
なくとも構わない。例えば、内周よりにサブブロックを
配置するディスク記憶装置6に関しては、内周をあまり
使用していないディスク記憶装置6から、また、外周よ
りにサブブロックを配置するディスク記憶装置6に関し
ては、外周をあまり使用していないディスク記憶装置6
から選択する方法も有効である。いずれにしても、誤り
訂正用データは、ステップS11で選択されたディスク
記憶装置6上の外周よりに配置する。
【0057】以上のようにして、ディスク記憶装置6を
決定するとリターンし、次に、図10のステップS2に
進む。
決定するとリターンし、次に、図10のステップS2に
進む。
【0058】ステップS2においては、選択された各デ
ィスク記憶装置6上において、誤り訂正用データおよび
サブブロックを配置する開始論理セクタを決定する。
ィスク記憶装置6上において、誤り訂正用データおよび
サブブロックを配置する開始論理セクタを決定する。
【0059】図12は、この開始論理セクタを決定する
処理手順を示すフローチャートである。まず、ステップ
S21において、外周よりに誤り訂正用データを配置す
るディスク記憶装置6に関して、開始論理セクタアドレ
スLkpを求める。
処理手順を示すフローチャートである。まず、ステップ
S21において、外周よりに誤り訂正用データを配置す
るディスク記憶装置6に関して、開始論理セクタアドレ
スLkpを求める。
【0060】図13は、図12のステップS21におけ
る処理の詳細を示すフローチャートである。最初、ステ
ップS31において、サブブロックを配置するトラック
として、サブブロックが配置されていない未配置領域の
中から最外周トラックを選択する。これにより、物理セ
クタアドレスのシリンダ番号(CYLki)、メディア番
号(MEDki)が決まり、ZBRテーブル8を参照し
て、この配置場所における1トラックあたりのセクタ数
(Tki)が分かる。
る処理の詳細を示すフローチャートである。最初、ステ
ップS31において、サブブロックを配置するトラック
として、サブブロックが配置されていない未配置領域の
中から最外周トラックを選択する。これにより、物理セ
クタアドレスのシリンダ番号(CYLki)、メディア番
号(MEDki)が決まり、ZBRテーブル8を参照し
て、この配置場所における1トラックあたりのセクタ数
(Tki)が分かる。
【0061】次に、ステップS32において、シリンダ
番号(CYLki)と最適なスキュー(θskew)の値か
ら、次式(3)によって、ステップS31で選択された
トラックの先頭と、最外周トラックの先頭との間のなす
角度θkiが求められる。
番号(CYLki)と最適なスキュー(θskew)の値か
ら、次式(3)によって、ステップS31で選択された
トラックの先頭と、最外周トラックの先頭との間のなす
角度θkiが求められる。
【0062】 θki=θskew×CYLki ・・・(式3) ただし、θki>360のとき、θki<360となるま
で、θki=θki−360を繰り返す。
で、θki=θki−360を繰り返す。
【0063】次に、ステップS33に進み、式(3)に
おいて求めた角度θkiと、トラックあたりのセクタ数
(Tki)より、次式(4)によって、セクタ番号(SE
Cki)が求められる。
おいて求めた角度θkiと、トラックあたりのセクタ数
(Tki)より、次式(4)によって、セクタ番号(SE
Cki)が求められる。
【0064】 SECki=Tki×θki/360 ・・・(式4)
【0065】次に、ステップS34において、ステップ
S31乃至S33において求めた物理セクタアドレス
(CYLki、MEDki、SECki)から論理セクタアド
レス(Lki)を決定し、リターンする。
S31乃至S33において求めた物理セクタアドレス
(CYLki、MEDki、SECki)から論理セクタアド
レス(Lki)を決定し、リターンする。
【0066】次に、図12のステップS22に進み、内
周よりに配置する全てのディスク記憶装置6に関して、
それぞれの開始論理セクタアドレスLki(i=1,3,
5,・・・)を求める。
周よりに配置する全てのディスク記憶装置6に関して、
それぞれの開始論理セクタアドレスLki(i=1,3,
5,・・・)を求める。
【0067】図14は、図12のステップS22におけ
る処理の詳細を示すフローチャートである。最初、ステ
ップS41において、サブブロックを配置するトラック
として、未配置領域の中から最内周トラックを選択す
る。これにより、物理セクタアドレスのシリンダ番号
(CYLki)、メディア番号(MEDki)が決まり、Z
BRテーブル8を参照して、この配置場所における1ト
ラックあたりのセクタ数(Tki)が分かる。
る処理の詳細を示すフローチャートである。最初、ステ
ップS41において、サブブロックを配置するトラック
として、未配置領域の中から最内周トラックを選択す
る。これにより、物理セクタアドレスのシリンダ番号
(CYLki)、メディア番号(MEDki)が決まり、Z
BRテーブル8を参照して、この配置場所における1ト
ラックあたりのセクタ数(Tki)が分かる。
【0068】次に、ステップS42において、ステップ
S41で選択されたトラックの先頭と、最外周トラック
の先頭との間のなす角度θkiを求め、ステップS43に
おいてセクタ番号(SECki)を求める。そして、ステ
ップS44において、求めた物理セクタアドレス(CY
Lki、MEDki、SECki)から論理セクタアドレス
(Lki)を決定し、リターンする。上述したステップS
42乃至S44における処理は、図13のステップS3
2乃至S34における処理と同様であるので、ここでは
その詳細な説明は省略する。
S41で選択されたトラックの先頭と、最外周トラック
の先頭との間のなす角度θkiを求め、ステップS43に
おいてセクタ番号(SECki)を求める。そして、ステ
ップS44において、求めた物理セクタアドレス(CY
Lki、MEDki、SECki)から論理セクタアドレス
(Lki)を決定し、リターンする。上述したステップS
42乃至S44における処理は、図13のステップS3
2乃至S34における処理と同様であるので、ここでは
その詳細な説明は省略する。
【0069】次に、図12のステップS23に進み、外
周よりに配置する全てのディスク記憶装置6に関して、
それぞれの開始論理セクタアドレスLki(i=1,3,
5,・・・)を求める。ここでの処理手順は、図13の
フローチャートを参照して上述した場合と同様であるの
で、ここではその説明は省略する。そして、処理が終了
すると、リターンする。
周よりに配置する全てのディスク記憶装置6に関して、
それぞれの開始論理セクタアドレスLki(i=1,3,
5,・・・)を求める。ここでの処理手順は、図13の
フローチャートを参照して上述した場合と同様であるの
で、ここではその説明は省略する。そして、処理が終了
すると、リターンする。
【0070】図12乃至図14に示した処理例において
は、サブブロックを外周よりのトラックに配置する場
合、サブブロックを配置するトラックを未配置領域の中
の最外周トラックから選択し、サブブロックを内周より
のトラックに配置する場合、サブブロックを配置するト
ラックを未配置領域の中の最内周トラックから選択する
ものとしたが、必ずしも最外周トラックや最内周トラッ
クを選択する必要はない。例えば、ZBR方式のフォー
マットでは、同一のゾーンであれば、トラックあたりの
セクタ数も同一であり、各サブブロックのサイズおよび
ギャップの値は変わらないからである。
は、サブブロックを外周よりのトラックに配置する場
合、サブブロックを配置するトラックを未配置領域の中
の最外周トラックから選択し、サブブロックを内周より
のトラックに配置する場合、サブブロックを配置するト
ラックを未配置領域の中の最内周トラックから選択する
ものとしたが、必ずしも最外周トラックや最内周トラッ
クを選択する必要はない。例えば、ZBR方式のフォー
マットでは、同一のゾーンであれば、トラックあたりの
セクタ数も同一であり、各サブブロックのサイズおよび
ギャップの値は変わらないからである。
【0071】以上のようにして、開始論理セクタアドレ
スが求められると、次に、図10のステップS3に進
み、各サブブロックのサイズが決定される。サブブロッ
クのサイズを決定する場合の処理手順については、図1
5のフローチャートを参照して後述する。
スが求められると、次に、図10のステップS3に進
み、各サブブロックのサイズが決定される。サブブロッ
クのサイズを決定する場合の処理手順については、図1
5のフローチャートを参照して後述する。
【0072】次に、各サブブロックのサイズ(セクタ
数)はどうあるべきかを考えてみる。まず、各サブブロ
ックのサイズの和は、元のデータのサイズに等しい。即
ち、各サブブロックのサイズ(セクタ数)をSki(i=
1,2,3,・・・,n)とし、元のデータのサイズ
(セクタ数)をSとすると、次式(5)で表される。
数)はどうあるべきかを考えてみる。まず、各サブブロ
ックのサイズの和は、元のデータのサイズに等しい。即
ち、各サブブロックのサイズ(セクタ数)をSki(i=
1,2,3,・・・,n)とし、元のデータのサイズ
(セクタ数)をSとすると、次式(5)で表される。
【0073】 Sk1+Sk2+,・・・,+Skn=S ・・・(式5)
【0074】一方、各サブブロックの読み出し時間およ
び書き込み時間が等しくなるためには、各サブブロック
のギャップの値が等しくなければならない。即ち、次の
式(6)が成り立っていなければならない。
び書き込み時間が等しくなるためには、各サブブロック
のギャップの値が等しくなければならない。即ち、次の
式(6)が成り立っていなければならない。
【0075】 Sk1/Tk1=Sk2/Tk2=,・・・,=Skn/Tkn ・・・(式6)
【0076】上記式(6)において、Tki(i=1,
2,3,・・・,n)は、i番目のサブブロックが配置
されるトラックのセクタ数である。
2,3,・・・,n)は、i番目のサブブロックが配置
されるトラックのセクタ数である。
【0077】式(5)および式(6)より、各サブブロ
ックのセクタ数Skiは次式(7)で与えられる。
ックのセクタ数Skiは次式(7)で与えられる。
【0078】Ski=S×Tki/T ・・・(式7) ただし、T=Tk1+Tk2+,・・・,+Tknとする。
【0079】実際には、セクタ数Skiは整数で与えられ
るので、各サイズは若干の微調整が必要である。
るので、各サイズは若干の微調整が必要である。
【0080】一方、誤り訂正用データのサイズSkpは、
各サブブロックのサイズが決まっているとき、次式
(8)で与えられる。
各サブブロックのサイズが決まっているとき、次式
(8)で与えられる。
【0081】 Skp=MAX(Sk1,Sk2,・・・,Skn) ・・・(式8)
【0082】式(8)において、MAXは、サブブロッ
クのサイズSk1乃至Sknのうち、最も大きいものを求め
る演算子である。
クのサイズSk1乃至Sknのうち、最も大きいものを求め
る演算子である。
【0083】誤り訂正用データは、図10のステップS
1およびステップS2より、ディスク記憶装置6の外周
よりのトラックに配置されることが保証されているの
で、次式(9)が成立することがわかる。
1およびステップS2より、ディスク記憶装置6の外周
よりのトラックに配置されることが保証されているの
で、次式(9)が成立することがわかる。
【0084】 Sk1/Tk1=Sk2/Tk2=,・・・,=Skn/Tkn=Skp/Tkp (式9) ここで、Tkpは、サブブロックSkpが配置されるトラッ
クのセクタ数である。
クのセクタ数である。
【0085】以上の手順を実現するフローチャートが図
15に示したものである。最初に、ステップS51にお
いて、n個のサブブロックが配置される配置場所に対応
するトラックの1トラックあたりのセクタ数Tki(i=
1,2,・・・,n)の和Tを求める。次に、上記式
(7)で表される演算を、変数iが1からnまでについ
て行い、各サブブロックのサイズSki(i=1,2,・
・・,n)を求める。
15に示したものである。最初に、ステップS51にお
いて、n個のサブブロックが配置される配置場所に対応
するトラックの1トラックあたりのセクタ数Tki(i=
1,2,・・・,n)の和Tを求める。次に、上記式
(7)で表される演算を、変数iが1からnまでについ
て行い、各サブブロックのサイズSki(i=1,2,・
・・,n)を求める。
【0086】次に、ステップS52に進み、上記式
(5)で表される演算を行い、ステップS51で求めた
各サブブロックのサイズSkiの和が、元のデータのサイ
ズSと等しいか否かが判定される。各サブブロックのサ
イズSkiの和が、元のデータのサイズSと等しくないと
判定された場合、ステップS53に進み、各サブブロッ
クのサイズSkiの和が、元のデータのサイズSと等しく
なるように、各サブブロックのサイズSkiを微増減させ
る。その後、ステップS52に戻り、各サブブロックの
サイズSkiの和が、元のデータのサイズSと等しいと判
定されるまで、ステップS52およびS53の処理が繰
り返される。
(5)で表される演算を行い、ステップS51で求めた
各サブブロックのサイズSkiの和が、元のデータのサイ
ズSと等しいか否かが判定される。各サブブロックのサ
イズSkiの和が、元のデータのサイズSと等しくないと
判定された場合、ステップS53に進み、各サブブロッ
クのサイズSkiの和が、元のデータのサイズSと等しく
なるように、各サブブロックのサイズSkiを微増減させ
る。その後、ステップS52に戻り、各サブブロックの
サイズSkiの和が、元のデータのサイズSと等しいと判
定されるまで、ステップS52およびS53の処理が繰
り返される。
【0087】一方、ステップS52において、各サブブ
ロックのサイズSkiの和が、元のデータのサイズSと等
しいと判定された場合、ステップS54に進み、誤り訂
正用のデータのサイズSkpが求められる。即ち、サブブ
ロックSkiの中の最も大きいサイズが誤り訂正用データ
のサイズSkpとされる。
ロックのサイズSkiの和が、元のデータのサイズSと等
しいと判定された場合、ステップS54に進み、誤り訂
正用のデータのサイズSkpが求められる。即ち、サブブ
ロックSkiの中の最も大きいサイズが誤り訂正用データ
のサイズSkpとされる。
【0088】ステップS54の処理が終了すると、リタ
ーンする。これにより、図10に示したフローチャート
のステップS3の処理が終了し、全ての処理を終了す
る。
ーンする。これにより、図10に示したフローチャート
のステップS3の処理が終了し、全ての処理を終了す
る。
【0089】図16は、以上のようにしてディスク記憶
装置6に分配されたサブブロックの例を表している。こ
こでは、ディスク記憶装置6の数を6とし、サブブロッ
クの数を4としている。即ち、図17に示したように、
サイズの異なるサブブロックに対しても、上述した方法
で誤り訂正用データを生成することができる。
装置6に分配されたサブブロックの例を表している。こ
こでは、ディスク記憶装置6の数を6とし、サブブロッ
クの数を4としている。即ち、図17に示したように、
サイズの異なるサブブロックに対しても、上述した方法
で誤り訂正用データを生成することができる。
【0090】1番目のデータの誤り訂正用データ(この
場合パリティ(Parity))は、ディスク記憶装置
6−1に、サブブロックは、ディスク記憶装置6−2乃
至6−5に分配して配置される。ディスク記憶装置6−
1に配置される誤り訂正用データと、ディスク記憶装置
6−3,6−5に配置されるサブブロックは、最外周ト
ラックに入れられ、ディスク記憶装置6−2,6−4に
配置されるサブブロックは、最内周トラックに入れられ
る。
場合パリティ(Parity))は、ディスク記憶装置
6−1に、サブブロックは、ディスク記憶装置6−2乃
至6−5に分配して配置される。ディスク記憶装置6−
1に配置される誤り訂正用データと、ディスク記憶装置
6−3,6−5に配置されるサブブロックは、最外周ト
ラックに入れられ、ディスク記憶装置6−2,6−4に
配置されるサブブロックは、最内周トラックに入れられ
る。
【0091】また、2番目のデータの誤り訂正用データ
は、ディスク記憶装置6−2に、サブブロックは、ディ
スク記憶装置6−3乃至6−6に、外周より、内周よ
り、外周より、内周より、外周よりの順番で入れられ、
3番目のデータの誤り訂正用データは、ディスク記憶装
置6−3に、サブブロックは、ディスク記憶装置6−4
乃至6−6、およびディスク記憶装置6−1に、同様に
して、外周より、内周より、外周より、内周より、外周
よりの順番で入れられる。以下同様にして、データが配
置され、最後のデータは、例えば、ディスク記憶装置6
−3乃至6−6およびディスク記憶装置6−1のシリン
ダのほぼ中間あたりに配置される。
は、ディスク記憶装置6−2に、サブブロックは、ディ
スク記憶装置6−3乃至6−6に、外周より、内周よ
り、外周より、内周より、外周よりの順番で入れられ、
3番目のデータの誤り訂正用データは、ディスク記憶装
置6−3に、サブブロックは、ディスク記憶装置6−4
乃至6−6、およびディスク記憶装置6−1に、同様に
して、外周より、内周より、外周より、内周より、外周
よりの順番で入れられる。以下同様にして、データが配
置され、最後のデータは、例えば、ディスク記憶装置6
−3乃至6−6およびディスク記憶装置6−1のシリン
ダのほぼ中間あたりに配置される。
【0092】このように配置された誤り訂正用データと
サブブロックを、1つのディスク記憶装置6に注目して
観察してみると、各サブブロックのギャップの値がほと
んど同一であり、各サブブロックの読み出し、および書
き込みに要する時間がほぼ一定となる。
サブブロックを、1つのディスク記憶装置6に注目して
観察してみると、各サブブロックのギャップの値がほと
んど同一であり、各サブブロックの読み出し、および書
き込みに要する時間がほぼ一定となる。
【0093】以上のように、上記実施の形態において
は、ディスク記憶装置6上でのデータの格納場所に拘ら
ず、誤り訂正データおよびサブブロックを実際に読み出
しあるいは書き込みを行う時間を一定とすることができ
る。
は、ディスク記憶装置6上でのデータの格納場所に拘ら
ず、誤り訂正データおよびサブブロックを実際に読み出
しあるいは書き込みを行う時間を一定とすることができ
る。
【0094】なお、上記実施の形態においては、ディス
ク記憶装置6に対するデータの読み出しおよび書き込み
の制御を専用のコントローラを用いて実現する場合につ
いて説明したが、それらのコントローラの制御ソフトウ
ェアをホストコンピュータ等のCPU上で動作させるこ
とにより、ディスク記憶装置6に対するデータの読み出
しおよび書き込みの制御を行うようにすることも可能で
ある。
ク記憶装置6に対するデータの読み出しおよび書き込み
の制御を専用のコントローラを用いて実現する場合につ
いて説明したが、それらのコントローラの制御ソフトウ
ェアをホストコンピュータ等のCPU上で動作させるこ
とにより、ディスク記憶装置6に対するデータの読み出
しおよび書き込みの制御を行うようにすることも可能で
ある。
【0095】また、上記実施の形態においては、データ
にアクセスする場合、外周から内周方向にスキャンする
ようにしたが、内周から外周方向にスキャンするように
することも可能である。その場合、内周から外周にヘッ
ドを移動させながら、データにアクセスするときに最適
なスキューを設定するようにすることができる。
にアクセスする場合、外周から内周方向にスキャンする
ようにしたが、内周から外周方向にスキャンするように
することも可能である。その場合、内周から外周にヘッ
ドを移動させながら、データにアクセスするときに最適
なスキューを設定するようにすることができる。
【0096】さらに、上記実施の形態においては、デー
タを記録する媒体としてハードディスクを用いるように
したが、光ディスク、光磁気ディスク等のその他の記録
媒体を用いるようにすることも可能である。
タを記録する媒体としてハードディスクを用いるように
したが、光ディスク、光磁気ディスク等のその他の記録
媒体を用いるようにすることも可能である。
【0097】
【発明の効果】請求項1に記載のディスクアレイ制御方
法、および請求項16に記載のディスクアレイ制御装置
によれば、サイズが異なる第2のデータから誤り訂正用
データを生成し、ディスク装置に対して、第2のデータ
および誤り訂正用データの読み出し、および書き込みに
要する時間が均一となるように、第2のデータを格納す
るディスク装置およびディスク装置上のアドレスと、第
2のデータのサイズと、誤り訂正用データを格納するデ
ィスク装置およびディスク装置上のアドレスとを決定す
るようにしたので、誤り訂正用データおよびサブブロッ
クの格納場所に拘らず、それらの読み出しおよび書き込
みに要する時間を一定とすることができ、高信頼性を保
ちながら、リアルタイム性を保証することができる。
法、および請求項16に記載のディスクアレイ制御装置
によれば、サイズが異なる第2のデータから誤り訂正用
データを生成し、ディスク装置に対して、第2のデータ
および誤り訂正用データの読み出し、および書き込みに
要する時間が均一となるように、第2のデータを格納す
るディスク装置およびディスク装置上のアドレスと、第
2のデータのサイズと、誤り訂正用データを格納するデ
ィスク装置およびディスク装置上のアドレスとを決定す
るようにしたので、誤り訂正用データおよびサブブロッ
クの格納場所に拘らず、それらの読み出しおよび書き込
みに要する時間を一定とすることができ、高信頼性を保
ちながら、リアルタイム性を保証することができる。
【図1】本発明のディスクアレイ装置を適用したマルチ
メディアサーバの一実施の形態の構成を示すブロック図
である。
メディアサーバの一実施の形態の構成を示すブロック図
である。
【図2】図1のブロックマップ3の例を示す図である。
【図3】誤り訂正用データを生成する方法を示す図であ
る。
る。
【図4】1フレームの画素を複数のパケットに分割した
状態を示す図である。
状態を示す図である。
【図5】サブブロックの構成を示す図である。
【図6】エラーデータの復旧方法を示す図である。
【図7】ディスク記憶装置6の物理セクタを示す図であ
る。
る。
【図8】論理セクタアドレスと物理セクタアドレスの関
係を示す図である。
係を示す図である。
【図9】スキューとギャップを一定にしたアロケーショ
ンを示す図である。
ンを示す図である。
【図10】k番目のデータの配置場所を決定する処理手
順を説明するフローチャートである。
順を説明するフローチャートである。
【図11】ディスク記憶装置6を選択する処理手順を説
明するフローチャートである。
明するフローチャートである。
【図12】開始論理セクタを決定する処理手順を説明す
るフローチャートである。
るフローチャートである。
【図13】外周よりの開始論理セクタを決定する処理手
順を説明するフローチャートである。
順を説明するフローチャートである。
【図14】内周よりの開始論理セクタを決定する処理手
順を説明するフローチャートである。
順を説明するフローチャートである。
【図15】サイズを決定する処理手順を説明するフロー
チャートである。
チャートである。
【図16】誤り訂正用データとサブブロックを分配した
様子を示す図である。
様子を示す図である。
【図17】サブブロックを分配した様子を示す図であ
る。
る。
【図18】RAID−3方式を説明するための図であ
る。
る。
【図19】RAID−5方式を説明するための図であ
る。
る。
【図20】ZBRディスクの物理セクタを示す図であ
る。
る。
【図21】ZBRディスクの1トラックあたりのセクタ
数とシリンダアドレスの関係を示すグラフである。
数とシリンダアドレスの関係を示すグラフである。
【図22】サブブロックのサイズを一定にしてデータを
分配する従来の方法を示す図である。
分配する従来の方法を示す図である。
1 配置部(決定手段),2 スケジューラ,3 ブロ
ックマップ,4 データバッファ,5 SCSIドライ
バ,6 ディスク記憶装置,7 アクセス要求バッフ
ァ,8 ZBRテーブル,9 誤り訂正コントローラ
(生成手段)
ックマップ,4 データバッファ,5 SCSIドライ
バ,6 ディスク記憶装置,7 アクセス要求バッフ
ァ,8 ZBRテーブル,9 誤り訂正コントローラ
(生成手段)
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 FI G11B 20/12 G11B 20/12
Claims (16)
- 【請求項1】 第1のデータを複数の第2のデータに分
割し、複数のディスク装置に格納するディスクアレイ制
御方法において、 サイズが異なる前記第2のデータから誤り訂正用データ
を生成し、 前記ディスク装置に対して、前記第2のデータおよび前
記誤り訂正用データの読み出し、および書き込みに要す
る時間が均一となるように、前記第2のデータを格納す
る前記ディスク装置および前記ディスク装置上のアドレ
スと、前記第2のデータのサイズと、前記誤り訂正用デ
ータを格納する前記ディスク装置および前記ディスク装
置上のアドレスとを決定することを特徴とするディスク
アレイ制御方法。 - 【請求項2】 前記第1のデータを構成する前記第2の
データの数をn、i番目の前記第2のデータを構成する
第3のデータのうち、j番目のものをAijとしたとき、
前記誤り訂正用データを、n個以下の異なる前記第2の
データから選択されたAijに基づいて生成し、各Aijを
少なくとも1回以上、いずれかの誤り訂正用データを生
成するときに使用することを特徴とする請求項1に記載
のディスクアレイ制御方法。 - 【請求項3】 前記第1のデータを構成する前記第2の
データの数をn、i番目の前記第2のデータのサイズを
Si(1≦i≦n)、i番目の前記第2のデータのj番
目の前記第3のデータをAij(1≦i≦n,1≦j≦S
i)としたとき、前記誤り訂正用データのサイズSpは、
Siの最大値であり、前記誤り訂正用データのj番目の
データPj(1≦j≦Sp)を、j≦Siを満足するよう
な全ての第2のデータのj番目の第3のデータAijから
生成することを特徴とする請求項2に記載のディスクア
レイ制御方法。 - 【請求項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に記載のディスクア
レイ制御方法。 - 【請求項5】 前記第2のデータのサイズが一定でない
とき、前記第2のデータのうち最もサイズの大きい前記
第2のデータに、他の前記第2のデータのサイズが一致
するように、他の前記第2のデータに所定のデータを付
加することを特徴とする請求項1に記載のディスクアレ
イ制御方法。 - 【請求項6】 前記第1のデータを構成する前記第2の
データの数をn、i番目の前記第2のデータのサイズを
Si(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に記載のディスクアレイ制御方法。 - 【請求項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に記載のディスクア
レイ制御方法。 - 【請求項8】 同一の前記第1のデータを分割して得ら
れる各第2のデータを、各ディスク装置の外周よりのト
ラックに配置する第1の組と、各ディスク装置の内周よ
りのトラックに配置する第2の組に分け、 前記誤り訂正用データ、および前記第1の組を構成する
各第2のデータを配置するディスク装置のシリンダアド
レスおよびサイズをそれぞれ同一またはほぼ同一とし、
前記第2の組を構成する各第2のデータを配置するディ
スク装置のシリンダアドレスおよびサイズをそれぞれ同
一またはほぼ同一とすることを特徴とする請求項7に記
載のディスクアレイ制御方法。 - 【請求項9】 同一の前記第1のデータから分割された
各第2のデータの数をn、前記第2のデータのうち、前
記ディスク装置の外周よりのトラックに配置するものの
数をno、内周よりのトラックに配置するものの数をn
iとしたとき、no+ni=nであり、 前記誤り訂正用データと前記第2のデータを外周よりの
トラックに配置する前記ディスク装置を、全部でm個の
ディスク装置の中から(no+1)個、前記第2のデー
タを内周よりのトラックに配置する前記ディスク装置
を、残りの(m−no−1)個の前記ディスク装置の中
からni個だけ、所定の前記ディスク装置の外周若しく
は内周に前記第2のデータが集中して配置されないよう
に選択することを特徴とする請求項8に記載のディスク
アレイ制御方法。 - 【請求項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に記載のディスクアレイ制御方
法。 - 【請求項11】 同一の前記第1のデータから分割され
た各第2のデータの数をn、前記第2のデータのうち、
前記ディスク装置の外周よりのトラックに配置するもの
の数をno、内周よりのトラックに配置するものの数を
niとしたとき、no+ni=nであり、 前記第2のデータを内周よりのトラックに配置する前記
ディスク装置を、全部でm個のディスク装置の中からn
i個、前記誤り訂正用データと前記第2のデータを外周
よりのトラックに配置する前記ディスク装置を、残りの
(m−ni)個の前記ディスク装置の中から(no+
1)個だけ、所定の前記ディスク装置の外周若しくは内
周に前記第2のデータが集中して配置されないように選
択することを特徴とする請求項8に記載のディスクアレ
イ制御方法。 - 【請求項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に記載のディスクアレイ
制御方法。 - 【請求項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に記載のディスクアレイ制御方
法。 - 【請求項14】 前記第2のデータSBiは、順にiの
値に基づいて、前記トラックの外周よりおよび内周より
に交互に配置されることを特徴とする請求項13に記載
のディスクアレイ制御方法。 - 【請求項15】 前記誤り訂正用データと前記ディスク
装置の外周よりのトラックに配置する前記第2のデータ
を、各ディスク装置上の前記誤り訂正用データおよび前
記第2のデータが記録されていない前記トラックのう
ち、最も外周よりのものに配置する処理と、前記ディス
ク装置の内周よりのトラックに配置する前記第2のデー
タを、各ディスク装置上の前記誤り訂正用データおよび
前記第2のデータが記録されていない前記トラックのう
ち、最も内周よりのものに配置する処理を交互に繰り返
し、順に、前記誤り訂正用データと前記第2のデータを
前記ディスク装置上に配置することを特徴とする請求項
9に記載のディスクアレイ制御方法。 - 【請求項16】 第1のデータを複数の第2のデータに
分割し、複数のディスク装置に格納するディスクアレイ
制御装置において、 サイズが異なる前記第2のデータから誤り訂正用データ
を生成する生成手段と、 前記ディスク装置に対して、前記第2のデータおよび前
記誤り訂正用データの読み出し、および書き込みに要す
る時間が均一となるように、前記第2のデータを格納す
る前記ディスク装置および前記ディスク装置上のアドレ
スと、前記第2のデータのサイズと、前記誤り訂正用デ
ータを格納する前記ディスク装置および前記ディスク装
置上のアドレスとを決定する決定手段とを備えることを
特徴とするディスクアレイ制御装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9269585A JPH10161819A (ja) | 1996-10-04 | 1997-10-02 | ディスクアレイ制御方法および装置 |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP26421896 | 1996-10-04 | ||
| JP8-264218 | 1996-10-04 | ||
| JP9269585A JPH10161819A (ja) | 1996-10-04 | 1997-10-02 | ディスクアレイ制御方法および装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH10161819A true JPH10161819A (ja) | 1998-06-19 |
Family
ID=26546409
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9269585A Withdrawn JPH10161819A (ja) | 1996-10-04 | 1997-10-02 | ディスクアレイ制御方法および装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH10161819A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2004010433A1 (ja) * | 2002-07-23 | 2004-01-29 | Sony Corporation | データ記録再生装置及びデータ記録再生方法 |
-
1997
- 1997-10-02 JP JP9269585A patent/JPH10161819A/ja not_active Withdrawn
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2004010433A1 (ja) * | 2002-07-23 | 2004-01-29 | Sony Corporation | データ記録再生装置及びデータ記録再生方法 |
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 | |
| US6151665A (en) | Method and apparatus for mirroring blocks of information in a disc drive storage system | |
| US6028725A (en) | Method and apparatus for increasing disc drive performance | |
| US6278566B1 (en) | Method and apparatus for increasing disc drive performance | |
| CA2042872C (en) | Method and means for accessing dasd arrays with tuned data transfer rate and concurrency | |
| US8019925B1 (en) | Methods and structure for dynamically mapped mass storage device | |
| US6487633B1 (en) | Methods and systems for accessing disks using forward and reverse seeks | |
| US5802344A (en) | Method and apparatus for dynamic segment allocation in log structured arrays | |
| CN1033407C (zh) | 多媒体数据存储设备 | |
| CN100337271C (zh) | 将流式音频视频数据写入磁盘驱动器的方法 | |
| US6343343B1 (en) | Disk arrays using non-standard sector sizes | |
| JPH08129835A (ja) | ディスク装置 | |
| 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 (ja) | ディスクアレイ制御方法および装置 | |
| JP3669103B2 (ja) | 記憶装置および記憶装置サブシステム | |
| JP4585052B2 (ja) | データ記録システム | |
| JP3809674B2 (ja) | ディスク制御方法および装置 | |
| US5659677A (en) | Data storage apparatus for disk array | |
| JP3865163B2 (ja) | ディスク制御方法および装置 | |
| CN1809889A (zh) | 用于记录信息的装置和方法 | |
| US7284087B2 (en) | Method and apparatus for increasing sustainable bandwidth in a multiple disk drive storage system | |
| JP3224741B2 (ja) | データ記憶装置 | |
| JP3510747B2 (ja) | 論理フォーマットを有する記録媒体、記録再生装置、論理フォーマット装置及び論理フォーマット形成方法 |
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 |