JP3304368B2 - アレイディスク装置及びその制御方法 - Google Patents

アレイディスク装置及びその制御方法

Info

Publication number
JP3304368B2
JP3304368B2 JP28975391A JP28975391A JP3304368B2 JP 3304368 B2 JP3304368 B2 JP 3304368B2 JP 28975391 A JP28975391 A JP 28975391A JP 28975391 A JP28975391 A JP 28975391A JP 3304368 B2 JP3304368 B2 JP 3304368B2
Authority
JP
Japan
Prior art keywords
data
disk
disk device
zone
array
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.)
Expired - Fee Related
Application number
JP28975391A
Other languages
English (en)
Other versions
JPH056624A (ja
Inventor
仁 角田
善久 加茂
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP28975391A priority Critical patent/JP3304368B2/ja
Publication of JPH056624A publication Critical patent/JPH056624A/ja
Application granted granted Critical
Publication of JP3304368B2 publication Critical patent/JP3304368B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピュータ等の情報処
理装置に用いられるディスクファイル装置に係り、特に
ディスク面上を複数のゾーンに分け、各ゾーン毎にトラ
ック当りのデータ容量を変えて情報が記録される複数の
ディスク装置を用いたアレイディスク装置に関する。
【0002】
【従来の技術】現在のコンピュータなどの情報処理装置
においては、中央処理装置(CPU)等の上位側が必要と
するデータは2次記憶装置に格納され、CPUからの要
求に応じて2次記憶装置に対するデータの書込み、読み
出しが行なわれる。2次記憶装置には一般に不揮発な記
憶媒体が使用されている。2次記憶装置の代表的なもの
としては、磁気ディスク装置、光ディスク装置などがあ
る。
【0003】近年、高度情報化に伴い、2次記憶装置の
処理速度等に対する高性能化が要求されてきている。例
えば磁気ディスク装置における処理能力の向上を図る一
手法として、以下に述べるような多数の比較的容量の小
さな磁気ディスク装置により構成されるアレイディスク
装置が考えられている。アレイディスク装置は、CPU
から転送されてくるデータを分割し、分割したデータの
それぞれを複数の磁気ディスク装置に同時に記録する。
また、記録したデータを読み出す場合は、これとは逆に
各々の磁気ディスク装置に記録されているデータを同時
に読み出し、各磁気ディスク装置より読み出したデータ
から元のデータを再生してCPUへ転送するパラレル処
理を行う。このような、複数の磁気ディスク装置のパラ
レル処理では、パラレルに処理を行なう磁気ディスク装
置のグループを単位として記録媒体であるディスクの回
転を同期させ、グループ内の各磁気ディスク装置に対し
て同一アドレスにアクセスする。これにより、複数の磁
気ディスク装置が同じ動作を行う。
【0004】アレイディスク装置に関する代表的な論文
として、パターソン,ギブソン,カーツ著「ア ケース
フォー リダンダント アレイス オブ インイクス
ペンシブ ディスクス」(D.Patterson,G.Gibson,and
R.H.Kartz: A Case for Redundant Arrays of Inexpen
sive Disks(RAID),in ACM SIGMOD Conference,Chicago,
IL,(June1988)) がある。この論文には、1回の処理単
位であるデータを分割してパラレルに処理を行うアレイ
ディスク装置と、データを分割せずに個々のデータを分
散して独立に扱うアレイディスク装置について、その性
能および信頼性の検討結果が報告されている。現在この
論文に書かれている方式のアレイディスク装置が、最も
一般的なアレイディスク装置であると考えられている。
【0005】アレイディスク装置では信頼性を向上させ
るため、データを記録するときは、分割したデータから
エラーコレクションコード(以下、単にECCという)
を作成し、データの記録と同時にECCをECC格納用
の磁気ディスク装置(以下、ECCドライブという)に
記録しておく。このようにECCを作成しておくことに
より、分割したデータを記録した磁気ディスク装置のグ
ループの中で、ある1台のディスク装置に障害が発生
し、データが読み出せなくなったような場合でも、残り
の磁気ディスク装置に記録されたデータとECCとか
ら、障害が発生した磁気ディスク装置に記録されたデー
タを復元することができる。
【0006】パラレル処理を行うアレイディスク装置に
使用される各々のディスク装置では、一般的なディスク
装置と同様に複数のディスク面上の同心円状のトラック
にデータが記録される。各ディスク面へのデータの読み
書きは、各ディスク面に対応して設けられるリード/ラ
イトヘッドにより行なわれ、全てのリード/ライトヘッ
ドのトラックへの位置決めは同時に行なわれる。1回の
位置決めによりアクセスすることのできるトラックの集
合をシリンダと呼び、通常、外周から内周に向けて各シ
リンダに対してシリンダアドレスが付けられている。ま
た、各トラックに記録されるデータの容量は全てのトラ
ックにおいて同一である。従って、アレイディスク装置
を構成する各磁気ディスク装置においては、どのシリン
ダ内のどのトラックをアクセスしても、同一時間で同一
のデータ量を扱うことができる。現在一般に使用されて
いるディスク装置を用いたアレイディスク装置において
パラレル処理を行う場合、アレイディスク装置を構成す
る各ディスク装置では、記録されているデータの物理的
なアドレスは全て同じになっている。そのため、各ディ
スク装置の回転を同期させ、各ディスク装置に対し同一
のアクセス命令を出すことにより、リード/ライトヘッ
ドを同一方向にシークさせ、全てのディスク装置が常に
同じアドレスを同時にアクセスするようにしている。ア
レイディスク装置では、このように複数のディスク装置
に対し、あたかも一台のディスク装置を扱うかのように
制御が行われている。
【0007】
【発明が解決しようとする課題】ディスク面上において
は、内周側のトラックと外周側のトラックとではその長
さが異なっている。このため、上述したように、ディス
ク面上のすべてのトラックについて各トラックに記録さ
れるデータの容量を同じにしているディスク装置では、
ディスク面上の外周側のトラックほど記録密度を低下さ
せて使用していることになる。
【0008】しかし近年、ディスク装置の大容量化への
要求が高まり、図5に示すように、ディスク面上を複数
のゾーンに分け、それぞれのゾーン内ではトラック内に
記録されるデータの容量を同一とし、各ゾーン毎にトラ
ック内に記録されるデータの容量を変えてデータを記録
する技術が開発された。このような技術を適用すること
により、ディスク上の各トラックにおけるトラック方向
の記録密度(線密度)をほぼ同じにして、外周においても
記録密度を低下させずに、ディスク1枚当りの記憶容量
を増加させることが可能となる。従って、ディスク面上
の全てのトラックで記録されるデータの容量を一定とし
た場合に比較し、記録できるデータの容量(記憶容量)
の大きなディスク装置が実現できる。
【0009】アレイディスク装置の記憶容量をさらに大
きくするために、アレイディスクを構成するディスク装
置として、このようなディスク面上を複数のゾーンに分
け、各ゾーン毎にトラック当りのデータ容量を変えたデ
ィスク装置を適用することが考えられる。しかし、ディ
スク面上を複数のゾーンに分け、各ゾーン毎にトラック
当りのデータ容量を変えてデータを記録するディスク装
置をアレイディスク装置に適用した場合、以下に示すよ
うな問題がある。
【0010】アレイディスク装置でパラレル処理を行な
う場合、上述したようにアレイディスク装置を構成する
複数のディスク装置は、あたかも一台のディスク装置を
扱うように制御される。例えば、アレイディスク装置を
構成する各ディスク装置内では、物理的に同じ位置に位
置するシリンダには、同じアドレスが付けられている。
そして、データの記録・再生時には、各ディスク装置の
リード/ライトヘッドを一斉に同じシリンダ位置へアク
セスする。ディスクがゾーン毎にトラック当りのデータ
容量を変えて記録されている場合、内周側のゾーンほど
トラック当りのデータ容量が小さくなるため、このよう
に各ディスク装置が同一のゾーン(シリンダ)をアクセ
スすると、アクセスするゾーンにより同一時間で記録で
きるデータ量(データ処理速度)が異なってしまう。つ
まり、同じデータ量を処理するとき内周に行くほど読み
出し/書込みにかかる時間が大きくなるという問題を生
じる。
【0011】例えば、ディスクの外周の半径をro,内
周の半径をriとし、線密度をcとすると、一定時間t
で処理できるデータ量の比は、 外周でのデータ量/内周でのデータ量 =(2×ro×π×c)/(2×ri×π×c)=ro/ri となる。従って、ディスクの内周側に対しアクセスが集
中すると、ディスク装置の処理性能は大きく低下してし
まう。
【0012】また、このようにアクセスするゾーンによ
り処理速度が異なると、一番処理速度の高い一番外側の
ゾーンに対応した、処理回路を用意しなければならな
い。
【0013】さらに、アレイディスク装置では複数のデ
ィスク装置を論理的に一台のディスク装置として扱うた
め、例えば、4台のディスク装置を用いるときには、4
台のディスク装置のそれぞれについて1本のトラック、
合わせて4本のトラックを1トラックとして処理する。
従って、ゾーン毎に記憶容量を変えた場合、アクセスし
ているゾーンにより、図16(b)に示すようにトラッ
ク内に記録されるデータの容量が異なってしまう。一般
に汎用大型計算機システムで用いられるOSでは、ディ
スク装置の各トラック内に記録されるデータの容量は、
常に一定であることを前提としている。このため、アク
セスするゾーンによりトラック内に記録されるデータの
容量が異なると、このOSを変更する等の対策が必要に
なる。このOSの変更は非常に大きな作業となり、容易
に行うことはできない。
【0014】本発明は、ディスク面上を複数のゾーンに
分け、各ゾーン毎にトラック方向の記録密度を変えてデ
ータを記録する方式のディスク装置をアレイディスク装
置に適用した場合の上記問題点を解決し、トラックの記
録密度が一定として作られている汎用大形計算機のOS
が活用できるアレイディスク装置を提供することを目的
とする。
【0015】
【課題を解決するための手段】上記の目的を達成するた
めの本発明のアレイディスク装置は、ディスク面上を複
数のゾーンに分け、各ゾーン毎にトラック当りのデータ
容量を変えてデータを記録する複数のディスク装置から
なり、例えばリード/ライトヘッドの位置するゾーン
と、シリンダアドレスによりリード/ライトヘッドを移
動させるシークの向きとをディスク装置によりまたはデ
ィスク装置のグループにより異ならせる。好ましくは、
複数のデータ格納用のディスク装置のそれぞれのリード
/ライトヘッドの位置するゾーンのトラックのデータ容
量の総和が、リード/ライトヘッドがアクセスするゾー
ンの位置の如何によらず、常に一定になるようゾーン毎
にトラック当りのデータ容量を設定する。
【0016】ここで、上記のシリンダアドレスによるリ
ード/ライトヘッドの位置付けは、上位側から指定され
た同一のシリンダアドレスに対して実際にヘッドがアク
セスするゾーンを、ディスク装置によりまたはディスク
装置のグループにより異なるよう設定する。各ゾーンへ
のリード/ライトヘッドのアクセスの設定は上位装置か
ら指定されたシリンダアドレスを変換して行うものとす
ればよい。
【0017】また、リード/ライトヘッドのシークの向
きは、ディスクの半径方向の中で、外周から内周に向か
うものと内周から外周に向かうものとの両者を有するよ
うにすればよい。
【0018】このようなアレイディスク装置において、
ディスク装置のそれぞれに並列に同時に読み書き処理す
るためのデータの分割は、それぞれのディスク装置のヘ
ッドが位置するゾーンにおいて、同一時間に処理できる
データ量の比に分割するのが好ましい。
【0019】さらに以上のアレイディスク装置におい
て、ECCの作成は、ディスク装置のそれぞれが処理し
たデータの中で最も長いデータの長さに合わせて作成す
るようにすればよい。ここでECCを、ディスク装置の
それぞれが処理したデータの中で最も長いデータの長さ
に合わせて作成する場合に、各ディスク装置が処理した
データと最も長いデータとの長さの差分を、あるビット
パターンで埋めて、各データの長さを最も長いデータに
揃えるように作成するのが好ましい。
【0020】
【作用】ディスク面上を複数のゾーンに分け、各ゾーン
毎にトラック当りのデータ容量を変えてデータを記録す
る方式では、各ゾーンのトラック当りのデータ容量は半
径に比例する。このため外周側のゾーン程トラック当り
のデータ容量は大きく、内周側になる程トラック当りの
データ容量は小さくなる。したがって、リード/ライト
ヘッドの位置するゾーンと、シリンダアドレスによりリ
ード/ライトヘッドを移動するシークの向きとをディス
ク装置毎、あるいはディスク装置のグループ毎に異なら
せることにより上位側から指定されるアドレスによるア
クセス時間の差を小さくすることができる。また、複数
のデータ格納用のディスク装置のそれぞれのリード/ラ
イトヘッドの位置するゾーンのトラック当りのデータ容
量の総和が、リード/ライトヘッド位置の如何によら
ず、一定になるよう各ゾーンのトラック当りのデータ容
量を設定することにより、アレイディスク装置全体とし
て1回に処理するデータ量を、リード/ライトヘッド位
置の如何によらず、一定にすることが可能になる。
【0021】これにより、アレイディスク装置の処理性
能の低下を招いたりすることなく、しかも従来の汎用大
型計算機のOSをそのまま使用することが可能になる。
【0022】また本発明では上記のように、リード/ラ
イトヘッドの位置するゾーンが、例えばディスク装置に
より異なるようにしてデータの並列処理をしている。し
たがってデータの並列処理のためのデータの分割は、そ
れぞれのディスク装置のリード/ライトヘッドが位置す
るゾーンにおいて、同一時間に処理できるデータ量の比
に分割することにより、トラック毎のデータ容量はリー
ド/ライトヘッドの位置の如何によらず常に一定とな
り、従来の汎用大型計算機のOSがそのまま使用可能に
なる。
【0023】
【実施例】図1は本発明の一実施例のアレイディスク装
置の構成図である。
【0024】1はアレイディスク装置であり、アレイデ
ィスクコントローラ2とアレイディスクユニット3によ
り構成されている。4は、アレイディスク装置1のホス
トとなるCPUである。アレイディスクコントローラ2
はさらに、コマンド解読部12、データ分割部14、及
びECC生成部15を有するデータコントロールユニッ
ト(DCU)5、データバッファ(DB)6、データ復
元部7、及びCPU4との間で入出力要求及びデータの
通信を行うインタフェースコントロールユニット11を
含んで構成されている。また、アレイディスクユニット
3は、複数のデータ格納用のディスク装置(以下、デー
タドライブという)8、及びECC格納用のディスク装
置(以下、ECCドライブという)9を有している。
【0025】CPU4から転送されてきたデータは、図
2に示すように、データ分割部14の制御のもとで、例
えば、データ,,,と所定のデータ長に4分割
される。ECC生成部15は、この分割された4つのデ
ータからECCを作成する。4分割されたデータとEC
Cは一旦データバッファ6に格納された後、コマンド解
読部12の制御の下、それぞれデータドライブ8及びE
CCドライブ9に格納される。なお、後で説明するよう
に、本実施例において1回のリード/ライトで使用され
るECCドライブ9はどちらか1台であるため、図2で
はECCドライブ9を1台のみ示している。
【0026】本実施例では、ECCは図3に示すよう
に、分割したデータ,,,の互いに対応するビ
ットが構成するグループ(パリティグループ)により作
成されるパリティビットとする。図3の例では、パリテ
ィグループ内の1となるビットの数が奇数個となるよう
にECCを生成している。すなわち、ビットデータ,
,,の各対応するビットが奇数個の1を有すると
きはECCを0、データ,,,が偶数個の1を
有するときはECCを1としている。ECCをこのよう
に生成してECCドライブ9に格納しておけば、データ
再生時に各データドライブ8からのデータ,,,
とECCドライブ9からのECCが構成するパリティ
グループ内の1となるビットの数が奇数個とならない場
合、そのパリティグループ内のビットに誤りが有ること
がわかり、アレイディスクユニット3内のデータドライ
ブ8またはECCドライブ9のいずれかに障害が発生し
たことを検知することができる。
【0027】アレイディスク装置1からデータを読み出
す場合は、CPU4からデータを転送する場合とは逆
に、各データドライブ8からデータ,,,、E
CCドライブ9からECCを読み出し、DB6に一端格
納する。その後、DCU5のデータ分割部14の制御の
下で、各データを組み合わせて一つのデータに再編成
し、CPU4に転送する。
【0028】アレイディスク装置1からデータを読み出
す場合は、CPU4からデータを転送する場合とは逆
に、各データドライブ8からデータ,,,、E
CCドライブ9からECCを読み出し、DB6に一端格
納する。その後、DCU5のデータ分割部14の制御の
下で、各データを組み合わせて一つのデータに再編成
し、CPU4に転送する。
【0029】データ復元部7は、例えば、データドライ
ブ9の内の1台に障害が発生し、その内部のデータが読
み出せなくなった場合、正常なデータドライブ8から読
み出したデータとECCドライブ9から読み出したEC
Cとを用い、障害ドライブ内のデータを復元してDB6
の該当部分に格納する。
【0030】アレイディスクユニット3内の各データド
ライブ8とECCドライブ9の回転は同期させ、パラレ
ルに処理する。これにより、CPU4からはあたかも一
台のディスク装置に対し処理しているようにタイミング
の制御を行う。
【0031】図4には、データドライブ8、またはEC
Cドライブ9として用いられるディスク装置の内部構造
を示す。
【0032】ディスク装置内には、記録媒体となる複数
のディスク21が一本の軸27を中心として回転するよ
うに設けられている。各ディスク21上では、同心円状
のトラック28にデータが記録される。本実施例では、
図5に示すように、ディスク21上を4つのゾーンに分
け、各ゾーン毎にトラック28に記録できるデータの容
量を変え、全てのトラック28におけるデータの記録密
度がほぼ等しくなるようにされている。
【0033】ディスク21上のデータを読み書きするリ
ード/ライトヘッド22はアクチュエータ23に取り付
けられており、1枚のディスク21のデータ記録面に対
して少なくとも1個設けられる。これらのリード/ライ
トヘッド22は、アクチュエータ23によりディスク2
1上のトラック28に対し同時に位置決めされる。以
下、ヘッドの位置決め動作をシーク動作という。1回の
シーク動作でアクセスすることのできるトラックの集合
がシリンダであり、各シリンダに対してシリンダアドレ
スが付けられている。このシリンダアドレスは、図6に
示すように、ディスクへの記録情報が記録されているト
ラック上のホームアドレス部にヘッドアドレス等ととも
に記録されている。
【0034】ディスク21上にデータを書き込み、ある
いは読みだす場合、アレイディスクコントローラ2は、
CPU4からのコマンドをコマンド解読部12で解析
し、アレイディスクユニット3の各ディスク装置8、9
にアクセス命令を発行する。アレイディスクユニット3
内の各ディスク装置8、9は、アクセス命令で指定され
たヘッドアドレスに対応したヘッドをヘッドセレクタ2
4で選択し、アクチュエータ23によりシリンダアドレ
スに対応したトラックまでシーク動作を行なう。その
後、パスセレクタ26でホストとのパスを選択し、リー
ド/ライト回路25によりデータの読み書きを行なう。
【0035】本実施例においては、アレイディスクユニ
ット3内の各データドライブ8を2つのグループに分け
ている。グループ1(データドライブ#1、データドラ
イブ#2)はディスク21の外周から内周に向けて順に
シリンダアドレスが付され、グループ2(データドライ
ブ#3、データドライブ#4)は、ディスク21の内周
から外周に向けて順にシリンダアドレスが付されてい
る。なお、本実施例ではECCドライブを2台設け、E
CCドライブ#1にはグループ1のデータドライブと同
様にシリンダアドレスが付けられ、ECCドライブ#2
にはグループ2のデータドライブと同様にシリンダアド
レスが付けられている。
【0036】このようにしておくことにより、アレイデ
ィスクユニット3に対し、DCU5からアレイディスク
ユニット3を構成する各データドライブ8に対し、同一
のシリンダアドレスへのアクセス命令を発行した場合で
も、グループ1、2においてアクセスするゾーンを異な
らせることができる。例えば、図7に示すように、グル
ープ1がゾーン1をアクセスした場合、グループ2はゾ
ーン4をアクセスし(パターン1)、グループ1がゾー
ン2をアクセスした場合、グループ2はゾーン3をアク
セスする(パターン2)。同様に、グループ1がゾーン
3をアクセスした場合、グループ2はゾーン2をアクセ
スし(パターン3)、グループ1がゾーン4をアクセス
した場合、グループ2はゾーン1をアクセスする(パタ
ーン4)。
【0037】このように、ディスク装置のグループによ
りアクセスするゾーンを変えた場合、各ゾーンにおける
トラック内のデータ容量について以下に示す。
【0038】ゾーン1から4までの各トラックのデータ
容量をC1,C2,C3,C4としたときに、C1+C
4とC2+C3とが等しくなるように各ゾーンのトラッ
ク容量を設定する。このように各ゾーンにおけるトラッ
ク容量を設定すると、ゾーン1から4のそれぞれにおい
て、単位時間(t)当りに読み書きできるデータ量d
1,d2,d3,d4の間にはd1+d4=d2+d3
なる関係が成立する。従って、図8に示すように上記パ
ターン1から4の各パターン相互で、単位時間当りに読
み書きできるデータの量を一定にすることができる。
【0039】次に、本実施例におけるデータの分割方法
について説明する。
【0040】本実施例におけるデータ分割の仕方には、
図9に示すような2つのパターンがある。パターン1
は、グループ1または2のどちらかがゾーン1内のトラ
ックをアクセスし、残りのグループがゾーン4内のトラ
ックをアクセスするような場合である。パターン2はグ
ループ1または2のどちらかがゾーン2内のトラックを
アクセスし、残りのグループがゾーン3内のトラックを
アクセスするような場合である。
【0041】データの分割は、DCU5のコマンド解読
部12において上位側から指定されたシリンダアドレス
をもとに、アクセスするゾーンがパターン1あるいはパ
ターン2のいずれとなるかを判断する。この判断に基づ
いてデータ分割部14はCPU4から転送されたデータ
を分割する。
【0042】例えば、各ゾーンにおけるトラック当りの
データ容量C1,C2,C3,C4をそれぞれ、60,
50,40,30KBとした場合、それぞれのゾーンで
単位時間内に読み書きできるデータ量d1,d2,d
3,d4の比は、6:5:4:3となる。CPU4から
転送されたデータはこの比に従って分割すればよい。こ
の場合において、90KBのデータの書き込み要求が発
行され、上位側から指定されたシリンダアドレスより、
グループ1のゾーン1、グループ2のゾーン4に書き込
むパターン1であると判断された場合は、グループ1即
ちデータドライブ#1、#2のゾーン1に書き込むデー
タの量D1は30KB、グループ2即ちデータドライブ
#3、#4のゾーン4に書き込むデータの量D4は15
KBとなる。図10(a)に示すように、上位から転送
されてきたデータをデータ分割部14の制御のもと、バ
イト単位でデータ、、、と振り分けDB6に格
納していく。ことのき同時にECC生成部15でECC
を作成し、同様にDB6に格納していく。
【0043】このようにバイト単位でデータを振り分け
を行ない、図10(b)に示すように、データ、に
振り分けられたデータがそれぞれ15KBのデータとな
った後は、データ、へのデータの振り分けを止め、
データ、のみに残りのデータを振り分けていく。
【0044】アレイディスクユニット3からデータを読
み出す場合は、逆にアレイディスクユニット3からパラ
レルに転送されてきたデータをDB6に一旦格納し、デ
ータ分割部14においてバイト単位でデータ、、
、を組み立てCPU4へ転送していく。データ、
からそれぞれ15KBのデータが供給された後は、デ
ータ、のみからデータを組み立てていく。
【0045】グループ1のゾーン4、グループ2のゾー
ン1にデータを書き込む場合も、先の場合と同様にCP
U4から転送されたデータをデータ、、、に振
り分けDB6に格納していき、データ、にそれぞれ
に15KBのデータを振り分けた後は、データ、の
みにデータを振り分けていく。アレイディスクユニット
3からデータを読み出す場合もアレイディスクユニット
3からパラレルに転送されてきたデータをDB6内にお
いてバイト単位でデータ、、、を組み立ててい
き、データ、からそれぞれ15KBのデータが供給
された後は、データ、のみからデータを組み立てて
いく。
【0046】データの分割の方法がパターン2となる場
合についてもパターン1と同様に処理が行なわれる。こ
の場合例えばグループ1のゾーン2、グループ2のゾー
ン3にデータを書き込むとすると、グループ1即ちデー
タドライブ#1及びデータドライブ#2のゾーン2に記
録されるデータは25KB、グループ2即ちデータドラ
イブ#3及びデータドライブ#4のゾーン3に記録され
るデータは20KBとなる。
【0047】図9のパターン1、またはパターン2のよ
うに分割されたデータについて図3に示すようなECC
を作成した場合、図9に示すように、ECCの長さは分
割したデータの中で最も長いデータに等くなる。つま
り、図9中に示すようにECCのデータ量は、パターン
1ではゾーン1に書き込まれるデータの量D1に等しく
なり、パターン2ではゾーン2に書き込まれるデータの
量D2に等しくなる。
【0048】そこで、ECCを作成する場合、図9の斜
線で表わされる部分にデータの分割がパターン1となる
ときにはD1とD4の差の分、また、パターン2となる
ときにはD2とD3の差の分だけ、あるビットパター
ン、例えば、図10(b)に示すように、斜線を施した
部分をすべて0で構成されたビット列によるビットパタ
ーン等で埋めてECCを作成する。ECC生成部15
は、このように分割したすべてのデータの長さを最も長
いデータの長さと等しくしてECCを生成する。このよ
うに作成されたECCは、ECCドライブ9に格納され
る。
【0049】本実施例では上記のようにECCを作成す
るため、作成されるECCの量はゾーン1に記録される
データの量D1またはゾーン2に記録されるデータの量
D2のどちらかに等しいものとなる。そこで、これらE
CCをデータの格納と同じタイミングで格納するには、
ECCドライブ9を2台用意しておく必要がある。
【0050】例えば、グループ1がゾーン1、グループ
2がゾーン4をアクセスする場合ECCの量はD1とな
り、ECCドライブ#1のゾーン1にECCを書き込
む。また、グループ1がゾーン2、グループ2がゾーン
3をアクセスする場合、ECCの量はD2となり、EC
Cドライブ#1のゾーン2にECCを書き込む。グルー
プ1がゾーン3、グループ2がゾーン2をアクセスする
場合はECCドライブ#1はゾーン3をアクセスするた
めデータ量D2のECCを書き込むにはデータ容量が不
足する。そこで、ECCを格納するドライブをECCド
ライブ#2に切り換え、ECCドライブ#2のゾーン2
にECCを書き込む。同様にグループ1がゾーン4、グ
ループ2がゾーン1をアクセスする場合はECCドライ
ブ#2のゾーン1にECCを書き込む。
【0051】以上のように各ゾーンのトラック容量を設
定し、グループ1、2ごとにアクセスするゾーンを変え
ることにより、図8に示すように、同一時間内に処理で
きるデータ量を各ドライブのアクセスするゾーンによら
ず常に一定とすることができる。
【0052】本実施例ではアレイディスク装置8内のデ
ータドライブ9の数を4台にしたが、台数によらず実現
可能であることは明らかである。
【0053】なお、本実施例ではECCドライブとして
専用のディスク装置を2台有する場合を例示したが、E
CCドライブへのアクセスをデータドライブへのアクセ
スとは独立に扱うようにすることにより、ECC専用の
ディスク装置を1台のみにすることも可能である。
【0054】以上説明した第1の実施例ではECCドラ
イブ9のゾーン3及び4は、使用されないこととなり、
ディスク装置の記録領域に無駄を生じている。そこで、
データの分割の方法を変え、全ての記録領域を有効に活
用できるようにした第2の実施例について以下に説明す
る。
【0055】図11に第2の実施例であるアレイディス
ク装置の構成図を示す。図11のアレイディスク装置
は、アレイディスクユニットを構成するディスク装置の
うちECC書き込み用のECCドライブ9を省略した他
は、図1のアレイディスクと同じ構成のものである。本
実施例では、アレイディスクユニット3a内のディスク
装置8aの一部をデータとECCの兼用とすることによ
り、第1の実施例のようにディスク装置内にデータ(E
CC)の読み書きがされない無駄な領域が生じることを
なくしている。
【0056】本実施例でも先に説明した第1の実施例と
同様に、アレイディスクユニット3a内の各ディスク装
置8aを、2グループに分け、グループ1(ディスク装
置#1、ディスク装置#2)は外周から内周に向かって
順にシリンダアドレスを付け、グループ2(ディスク装
置#3、ディスク装置#4)は逆に内周から外周に向か
って順にシリンダアドレスを付ける。本実施例では、ゾ
ーン1から4までの各トラックのデータ容量をC1,C
2,C3,C4とした場合に、 C1+C4×2=C2+C3×2 を満たすように各ゾーンのトラックのデータ容量を設定
する。これによりアレイディスクユニット3aでは、デ
ィスク面上のリード/ライトヘッドの位置によらず同一
時間内に処理できるデータ量を一定とすることができ
る。
【0057】このようにトラック当りのデータ容量を設
定したことにより、CPU4から転送されてきたデータ
を図12に示すような2パターンで3つのデータに分割
する。
【0058】図12に示すような2パターンで3つに分
割されたデータについて、第1の実施例と同様の方法で
ECCを作成した場合、ECCのデータ量は分割したデ
ータの中で最も大きなデータの量に等くなる。
【0059】つまり、データの分割がパターン1である
ときはECCの容量はD1に等しくなり、パターン2で
あるときはD2に等しくなる。ECC生成部15では、
図10に斜線で表わした部分、即ちパターン1ではD1
とD4の差の部分、パターン2ではD2とD3の差の部
分をある特定のビットパターン、例えばすべて0で構成
されたビット列によるビットパターンで埋め、分割した
データの長さをすべて等しくしてECCを作成する。
【0060】次に、アレイディスクユニット3a内の各
ディスク装置8aのアクセスの様子を図13および図1
4に示す。以下、図13および図14を用いて各状態に
おけるデータ、ECCの書き込み動作について説明す
る。
【0061】図13の状態1には、ディスク装置#1,
#2ではリード/ライトヘッド22がゾーン1にあり、
ディスク装置#3,#4ではリード/ライトヘッド2が
ゾーン4にある場合を示す。この状態は、データの分割
が図11のパターン1となる場合である。分割された3
つのデータのうち、データ量D1のデータはディスク装
置#1のゾーン1に書き込み、データ量D4のデータは
ディスク装置#3とドライブ#4それぞれのゾーン4に
書き込む。このとき、作成されたECCはその量がD1
に等しいのでディスク装置#2のゾーン1に書き込まれ
る。
【0062】図13の状態2は、ディスク装置#1,#
2ではリード/ライトヘッド22がゾーン2にあり、デ
ィスク装置#3,#4ではリード/ライトヘッド22が
ゾーン3にある場合を示している。この場合は、データ
は図12のパターン2のように分割される。分割された
データのうち、データ量がD2となるデータはディスク
装置#1のゾーン2に書き込み、データ量がD3となる
データはディスク装置#3とディスク装置#4それぞれ
のゾーン3に書き込む。このとき、作成されたECCの
データ量はD2に等しくなるので、ディスク装置#2の
ゾーン2に書き込めばよい。
【0063】一方、図14の状態3に示すように、ディ
スク装置#1,#2ではリード/ライトヘッド22がゾ
ーン4にあり、ディスク装置#3,#4ではリード/ラ
イトヘッド22がゾーン1にある場合、CPU4から転
送されてきたデータは、図12のパターン1のように分
割される。分割されたデータのうち、データ量がD1で
あるデータはディスク装置#4のゾーン1に書き込ま
れ、データの量がD4であるデータはディスク装置#1
とディスク装置#2のゾーン4に書き込まれる。このと
き、ECC生成部15で作成されるECCのデータ量は
D1と等しくり、ディスク装置#3のゾーン1に書き込
まれる。図13に示した状態1、2ではECCが書き込
まれたディスク装置#2は、図14に示す状態3、およ
び次に説明する状態4ではデータ書き込み用のディスク
装置となる。また、図13に示した状態1、2ではデー
タ書き込み用のディスク装置であったディスク装置#3
は、図14に示す状態3、4ではECC書き込み用のデ
ィスク装置となる。
【0064】図14の状態4は、ディスク装置#1,#
2ではリード/ライトヘッド22がゾーン3にあり、デ
ィスク装置#3,#4ではリード/ライトヘッド22が
ゾーン2にある場合を示している。この場合、CPU4
からのデータは、図12のパターン2のように分割され
る。分割されたデータのうち、データ量D2のデータは
ディスク装置#4のゾーン2に書き込まれ、データ量D
3のデータはディスク装置#1とディスク装置#2それ
ぞれのゾーン3に書き込まれる。このとき、ECC生成
部15で作成されたECCは、その量がD2に等しくな
り、ディスク装置#3のゾーン2に書き込まれる。
【0065】以上のように本実施例では、ECCを書き
込むディスク装置を固定せず、リード/ライトヘッドの
移動にともなってにダイナミックに変えるものである。
【0066】第1の実施例では、ECCドライブ9はゾ
ーン1、2しか使用せず、ECCドライブ9のゾーン
3、4にはデータ、ECCともに記録されておらず、無
駄な領域となっている。しかし本実施例ではECCを書
き込むディスク装置を固定せず、データ用のディスク装
置の一部にECC用の領域を設け、ECCを書き込むデ
ィスク装置をダイナミックに変えて、すべてのゾーンの
使用を可能としている。なお、本実施例においても第1
の実施例と同様の効果が期待できることは明らかであ
る。また、グループの分け方、アレイディスク装置を構
成するディスク装置の台数にも制約はない。
【0067】次に、本発明のさらに他の実施例について
説明する。
【0068】先に説明した第1、第2の実施例では、D
CU5はディスクユニット内のディスク装置が実際にア
クセスするゾーン(シリンダ)を意識せずに、アレイデ
ィスクユニット内の各ディスク装置に同一のシリンダア
ドレスを指示し、ディスク装置のグループ毎に、シリン
ダアドレスの付け方を変えて異なるシリンダをアクセス
している。従って、第1、第2の実施例はアレイディス
クユニットにおいてシリンダアドレスの変換を行なって
いるということができる。これに対して、本実施例は、
DCU5においてアドレス変換を行うものであり、図1
5に示すように、DCU5のコマンド解読部12内にア
ドレス変換部13を有している。また、アレイディスク
ユニット3bを構成する全てのディスク装置8bのシリ
ンダアドレスは物理的に同一となるように付けられてい
る。例えば、全てのディスク装置に対し、シリンダアド
レスは、ディスクの外周側から内周側に向かって順に付
けられる。
【0069】本実施例では、第2の実施例と同様にアレ
イディスクユニット3b内の各ディスク装置を、2グル
ープに分ける。アレイディスクユニット3をアクセスす
る場合、コマンド解読部12はCPU4からのコマンド
を解析するとともに、アドレス変換部13でディスク装
置のグループごとにCPU4から転送されたシリンダア
ドレスをアドレス変換する。そして、ディスク装置のグ
ループごとにゾーンを変えてアクセスするようにアクセ
ス命令を発行する。
【0070】アドレス変換部13におけるアドレス変換
動作は、例えば、次のようにすればよい。ここで、各デ
ィスク装置のディスク面上に外周から内周に向って、0
から1000までのシリンダアドレスがつけられている
とする。
【0071】CPU4からアレイディスク装置1に対し
シリンダアドレスXへのアクセス命令が発行された場
合、DCU5ではアドレス変換部13において、グルー
プ1のシリンダアドレスを基準としてアドレス変換を行
なう。つまり、グループ1のシリンダアドレスをCPU
4から指定されたシリンダアドレスと一致させてアドレ
ス変換を行なう。従って、アドレス変換部13はシリン
ダアドレスXをそのままグループ1のシリンダアドレス
として求める。一方、グループ2のシリンダアドレス
は、シリンダアドレスの最大値である1000からCP
U4より転送されてきたシリンダアドレスを引くことに
より求める。従って、この場合アドレス変換部13は、
1000−Xをグループ2のシリンダアドレスとして求
める。
【0072】コマンド解読部12は、このようにして変
換されたシリンダアドレスを用いてグループ1、グルー
プ2に対しアクセス命令を発行する。このようにして、
グループ1に属するディスク装置8bに対してはシリン
ダアドレスX、グループ2に属するディスク装置8bに
対してはシリンダアドレス1000−Xへのアクセス命
令を発行することによりそれぞれのグループ間でディス
ク上の異なるゾーンをアクセスすることができる。
【0073】本実施例においても、アレイディスクユニ
ット3b内の各ディスク装置8bに書き込むデータの分
割及びECCの生成、書き込みについては、先に説明し
た第2の実施例と同様に行なわれる。
【0074】本実施例では、アレイディスクユニット3
内のディスクタドライブの数を4台とし、ECC専用の
ECCドライブは設けないものを示したが、第1の実施
例のようにECC書き込み専用のECCドライブを設
け、データ用のディスク装置とECC用のディスク装置
とを分けた場合にも対応できることは明らかである。こ
の場合には、ECCドライブについてもデータドライブ
と同様の方法でアドレス変換を行なってアクセス命令を
発行すればよい。
【0075】
【発明の効果】以上述べたように、本発明によれば、ア
レイディスク装置を構成するディスク装置にディスク上
を複数のゾーンに分け、このゾーン毎にトラック当りの
データ容量を変えたディスク装置を用いた場合であって
も、アレイディスク装置全体では、同一時間内に処理で
きるデータ量を均一化することができる。このため、ホ
ストから指示されるシリンダアドレスにより極端に処理
性能が変化することを防止することが可能となる。
【図面の簡単な説明】
【図1】本発明の第1の実施例の構成を示す図である。
【図2】本発明の第1の実施例におけるデータ転送の様
子を示す図である。
【図3】ECCの生成方法の説明図である。
【図4】アレイディスクユニットを構成する各ディスク
装置の構造図である。
【図5】ディスク上のゾーン分けの様子を示す図であ
る。
【図6】ディスク上のトラックの構成を示す図である。
【図7】本発明におけるディスクアクセスの様子を示す
図である。
【図8】本発明のリード/ライトヘッド位置によるデー
タ量変化の説明図である。
【図9】第1の実施例のデータ分割パターンの説明図で
ある。
【図10】各ディスク装置へのデータの振り分けの説明
図である。
【図11】本発明の第2の実施例の構成を示す図であ
る。
【図12】第2の実施例のデータ分割パターンの説明図
である。
【図13】第2の実施例のシーク動作及びデータ記録の
説明図である。
【図14】第2の実施例のシーク動作及びデータ記録の
説明図である。
【図15】本発明の第3の実施例の構成を示す図であ
る。
【図16】ディスクのゾーン毎にトラック当りのデータ
容量を変えたディスクドライブをアレイディスク装置に
適用したときの問題点を説明するための図である。
【符号の説明】
1…アレイディスク装置、2…アレイディスクコントロ
ーラ、3…アレイディスクユニット、4…CPU、5…
データコントロールユニット、6…データバッファ、7
…データ復元部、8…データドライブ、9…ECCドラ
イブ。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G11B 20/10 - 20/16 G06F 3/06 - 3/08

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】複数のトラックを備えかつディスク面が複
    数のゾーンに分割された記録媒体と、リード/ライトヘ
    ッドと備えたディスク装置を複数備え、ホストシステム
    との間で転送されるデータを前記複数のディスク装置に
    同時に読み書きするアレイディスク装置であって、前記複数のゾーンは各々トラック当たりのデータ容量が
    異なり、 前記ホストシステムから指定されるシリンダアドレスに
    基づいて、前記複数のディスク装置に搭載されたリード
    /ライトヘッドの各々が位置付けされるトラックのデー
    タ容量の複数のディスク装置間における和が、前記シリ
    ンダアドレスによらず一定となるように、前記ディスク
    装置に搭載されたリード/ライトヘッドの各々を所定の
    トラックに位置付けする手段と、 前記ホストシステムからの出力要求に応じて、前記ホス
    トシステムから転送されたデータを複数のデータに分割
    し前記複数のディスク装置のそれぞれに同時に書き込む
    手段と、 前記ホストシステムからの入力要求に応じて前記複数の
    ディスク装置から複数のデータを同時に読みだし前記ホ
    ストシステムに転送すべきデータを再生する手段と 前記分割されたデータのうちデータ長の最も長いデータ
    のデータ長にあわせてエラーコレクションコードを作成
    する手段と、前記エラーコレクションコードを記録する
    手段とを有する ことを特徴とするアレイディスク装置。
  2. 【請求項2】 請求項1に記載のアレイディスク装置にお
    いて、前記エラーコレクションコードを作成する手段
    は、分割されたデータのそれぞれについて、データ長の
    最も長いデータとのデータ長の差分を所定のビットで埋
    めて前記エラーコレクションコードを生成することを特
    徴とするアレイディスク装置。
  3. 【請求項3】 請求項1に記載のアレイディスク装置にお
    いて、データが記録される前記複数のディスク装置の中
    に前記エラーコレクションコードを記録するディスク装
    置を兼ねたディスク装置を含むことを特徴とするアレイ
    ディスク装置。
  4. 【請求項4】 複数のトラックを備えかつディスク面が複
    数のゾーンに分割された記録媒体と、リード/ライトヘ
    ッドと備えたディスク装置を複数備え、前記ゾーン毎の
    トラック当たりのデータ容量が異なり、ホストシステム
    との間で転送されるデータを前記複数のディスク装置に
    同時に読み書きするアレイディスク装置の制御方法にお
    いて、 前記ホストシステムから入出力要求及び書き込みデータ
    を受け、前記ホストシステムからの入出力要求を解読
    し、 前記複数のディスク装置に搭載されたリード/ライトヘ
    ッドの各々が位置付けされるトラックのデータ容量の複
    数のディスク装置間における和が前記シリンダアドレス
    によらず一定となるように前記ディスク装置に搭載され
    たリード/ライトヘッドの各々を所定のトラックに位置
    付けし、 前記ホストシステムから転送されたデータを複数のデー
    タに分割し、 前記データの分割により分割されたデータのうちデータ
    長の最も長いデータ長にあわせてエラーコレクションコ
    ードを生成し、 前記分割されたデータを同時に前記複数のディスク装置
    のそれぞれに書き込み、更に前記エラーコレクションコ
    ードは前記複数のディスク装置の一部のディスク装置に
    書き込むことを特徴とするアレイディスク装置の制御方
    法。
  5. 【請求項5】 請求項4に記載のアレイディスク装置の制
    御方法において、前記エラーコレクションコードを生成
    するステップは、分割されたデータのそれぞれについ
    て、データ長の最も長いデータとのデータ長の差分を所
    定のビットで埋めるステップを有することを特徴とする
    アレイディスク装置の制御方法。
  6. 【請求項6】 請求項5に記載のアレイディスク装置の制
    御方法において、前記エラーコレクションコードの書き
    込みを前記分割されたデータの書き込みと同時に行なう
    ことを特徴とするアレイディスク装置の制御方法。
JP28975391A 1990-11-21 1991-11-06 アレイディスク装置及びその制御方法 Expired - Fee Related JP3304368B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28975391A JP3304368B2 (ja) 1990-11-21 1991-11-06 アレイディスク装置及びその制御方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2-314276 1990-11-21
JP31427690 1990-11-21
JP28975391A JP3304368B2 (ja) 1990-11-21 1991-11-06 アレイディスク装置及びその制御方法

Publications (2)

Publication Number Publication Date
JPH056624A JPH056624A (ja) 1993-01-14
JP3304368B2 true JP3304368B2 (ja) 2002-07-22

Family

ID=26557724

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28975391A Expired - Fee Related JP3304368B2 (ja) 1990-11-21 1991-11-06 アレイディスク装置及びその制御方法

Country Status (1)

Country Link
JP (1) JP3304368B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5666511A (en) * 1992-10-08 1997-09-09 Fujitsu Limited Deadlock suppressing schemes in a raid system

Also Published As

Publication number Publication date
JPH056624A (ja) 1993-01-14

Similar Documents

Publication Publication Date Title
JP3304115B2 (ja) 構成可能な冗長アレイ記憶装置
JP2794080B2 (ja) データ記憶方法
US6115788A (en) Multi-drive array with improved data transfer rate performance
JP3135751B2 (ja) データ記憶装置
CA2042872C (en) Method and means for accessing dasd arrays with tuned data transfer rate and concurrency
US6170037B1 (en) Method and apparatus for storing information among a plurality of disk drives
US6502166B1 (en) Method and apparatus for distributing data across multiple disk drives
US6950900B1 (en) Method and apparatus for migrating data having a format of a first type to a format of a second type
JPH08212018A (ja) Raidを動的に拡張する方法及び装置
US5274507A (en) Parallel data encoding for moving media
US20020138694A1 (en) Magnetic disc drive, method for recording data, and method for reproducing data
US5457703A (en) Array disk system and control method thereof
JP3304368B2 (ja) アレイディスク装置及びその制御方法
JPH03142760A (ja) 情報記録再生装置
KR100364895B1 (ko) 데이터 액세스 제어 방법 및 시스템
JP3190546B2 (ja) ブロックアドレスの変換方法および回転型記憶サブシステムの制御方法ならびにディスクサブシステム
JPH10240453A (ja) ディスクアレイ装置
JP3584665B2 (ja) 可搬媒体を用いたライブラリ記憶装置
JP3341094B2 (ja) 記録媒体読出し装置
JP3084756B2 (ja) ディスクストライピング装置
JP2000357060A (ja) ディスクアレイ装置
JPH0744331A (ja) ディスクアレイ装置およびその制御方法
JP2000099275A (ja) ディスクアレイ制御方法及びディスクアレイ装置
JPH10320134A (ja) 光ディスクライブラリ装置
JPH1166692A (ja) ディスク記憶装置およびその制御方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees