JPH0736635A - ディスクアレイ装置 - Google Patents
ディスクアレイ装置Info
- Publication number
- JPH0736635A JPH0736635A JP5176960A JP17696093A JPH0736635A JP H0736635 A JPH0736635 A JP H0736635A JP 5176960 A JP5176960 A JP 5176960A JP 17696093 A JP17696093 A JP 17696093A JP H0736635 A JPH0736635 A JP H0736635A
- Authority
- JP
- Japan
- Prior art keywords
- disk
- data
- group
- block
- drive
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B17/00—Guiding record carriers not specifically of filamentary or web form, or of supports therefor
- G11B17/22—Guiding record carriers not specifically of filamentary or web form, or of supports therefor from random access magazine of disc records
- G11B17/228—Control systems for magazines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/002—Programmed access in sequence to a plurality of record carriers or indexed parts, e.g. tracks, thereof, e.g. for editing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B7/00—Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor
- G11B7/002—Recording, reproducing or erasing systems characterised by the shape or form of the carrier
- G11B7/0037—Recording, reproducing or erasing systems characterised by the shape or form of the carrier with discs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1026—Different size groups, i.e. non uniform size of groups in RAID systems with parity
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/103—Hybrid, i.e. RAID systems with parity comprising a mix of RAID types
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/40—Combinations of multiple record carriers
- G11B2220/41—Flat as opposed to hierarchical combination, e.g. library of tapes or discs, CD changer, or groups of record carriers that together store one title
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
さえながらエラー発生時の復元処理の高速化を計ったデ
ィスクアレイ装置を提供する。 【構成】アクセス頻度が多いディスクをディスク構成数
の少ないグループに装填し、アクセス頻度が少ない複数
ディスクをディスク構成数の多いグループに装填する。
ディスク構成数の少ないグループでは復元に使うディス
クが少ないから復元時のディスクアクセスが小となり復
元処理を高速化できる。ディスク構成数の多いグループ
ではパリティディスクが占める割合が少ないのでディス
ク容量の減少が少ない。
Description
持つディスクアレイ装置、特に情報記録媒体として複数
の光ディスクを採用した集合光ディスク装置に関する。
増大しており、これら大量のデータを管理するために、
集合光ディスク装置を用いた電子ファイリングシステム
が多く提案されている。
スクドライブと、複数の光ディスクを格納するセルと、
光ディスクドライブとセル間で光ディスクを適宜移動さ
せるアクセサとで構成されている。
移動は他の処理に比較して非常に時間がかかる処理であ
るため、光ディスクの格納位置を工夫してディスクの移
動距離をできるだけ少なくする提案がなされている(た
とえば特開平5ー28615号の「集合光ディスク装置
制御方式」参照)。
管理するために、記憶するデータに冗長性を持たせ、こ
のデータをブロック単位毎に複数のディスクに分散して
記憶するシステムが提案されている(たとえば特開平2
ー236714号の「アレイ型ディスク駆動機構システ
ム及び方法」、あるいは雑誌インターフェイス1993
年4月号「ディスクの耐故障性と信頼性を改善するRA
ID技術]参照)。
dundant Arrays of Inexpensive Disks )では、1台目
から(Nー1)台目までのデータディスクの同一ブロッ
ク番号のデータに対するパリティデータがN台目のパリ
ティディスクの同一ブロック番号に記憶されている。こ
れらのN台のデータディスクおよびパリティディスクの
集合体をグループと呼ぶことにする。
す場合は、対応するブロックが記憶されている各データ
ディスクを同時にアクセスできるため、高速読出が可能
となる。
ラーが発生した場合は、グループ内の他の(Nー1)台
のデータディスクの同一ブロックのデータからエラーの
復元ができ、信頼性が向上する。
用ディスクで構成されるディスクグループにおいて、デ
ータ用ディスク1〜3のブロックデータA〜Cからパリ
ティ用ディスクのブロックデータDを生成する処理と、
データ用ディスク2、3のブロックデータB、Cとパリ
ティ用ディスクのブロックデータDからエラーの発生し
たデータ用ディスク1のブロックデータAを復元する処
理を説明するための図である。
ディスク1〜3とパリティ用ディスク4の4台で構成さ
れている。光ディスクODD1〜ODD3(あるいはハ
ードディスクHDD1〜HDD3)がデータ用であり、
ODD4(あるいはHDD4)がパリティ用である。各
ディスクは、所定サイズのデータ記録用ブロックを複数
持ち、各ブロックには所定のブロック番号が付与されて
いる。
ロックデータをA、B、C、Dとすると、 A xor B xor C = D ・・・・・・(1) の関係が成立するようにパリティデータDが決められて
いる。式(1)においてxorは排他的論理和演算をさ
し、図3に示すような論理演算を定義する記号である。
スク1のブロックAからのデータ読出しにエラーが発生
したとする。この場合は B xor C xor D = A ・・・・・・(2) の演算を行なうことによってブロックデータAを復元で
きる。
N=4)を減らせば信頼性が向上し、最低であるN=2
とした場合はミラーディスク構成となる(つまり、1台
のパリティディスクの内容がもう1台のデータディスク
の内容を鏡で写し取ったようなものになる)。しかしこ
の場合は全ディスク容量の半分がパリティ用(冗長デー
タ保持用)となってしまい、全ディスク容量に対して実
際にデータ記憶に利用できる容量の割合が激減してしま
う。
度を最重要視し、コストを無視すれば、現在のところハ
ードディスクを用いたRAIDシステムが最適である。
しかし総記憶容量と記憶容量当たりのコストを重要視し
た場合には、集合光ディスク装置を用いたRAIDシス
テムのほうが有利となる場合がある。
用いてRAIDシステムを構成した場合、アクセス速度
を決定する最大の要因は、アクセサによる光ディスク移
動回数および移動距離である。したがって、アクセスさ
れる確立の高い光ディスクは、優先的に光ディスクドラ
イブ内に残すか、それができなければ光ディスクドライ
ブ近傍の格納セルに置いておくような配慮が重要とな
る。
読出エラー発生時にはグループ内のエラー発生ディスク
以外の光ディスク全てをアクセスしてデータを復元する
ため、復元処理に時間がかかってしまうという問題があ
る。とくに、復元に必要な光ディスクを光ディスクドラ
イブ内に装填する回数が増えるほどこの処理時間が増え
る。
大きくすると総記憶容量は増えるがエラー発生時の復元
処理が遅くなり、グループ内のディスク構成数Nを小さ
くするとエラー発生時の復元処理は速くなるがデータ記
憶に実際に使用できる総記憶容量が少なくなる、という
以下のようなトレードオフが生じる。
憶容量の実質的な減少を最小限に押さえながら、エラー
発生時の復元処理の高速化を計ったディスクアレイ装置
を提供することである。
2)を複数のディスクグループ(1〜3)に任意に割り
振ることができるディスクアレイ装置において、構成デ
ィスク数がNであるグループを複数(実施例では3)用
意する(グループ内ディスクの少なくとも1台はパリテ
ィ用、残りはデータ用)。複数のディスクグループ(1
〜3)中の少なくとも2つについて、各グループの構成
ディスク数(図17の実施例ではN=2、4、6)は互
いに異なる。各グループのディスクへのアクセス頻度を
記録しておく(ディスク管理テーブル)。アクセス頻度
の高いディスク(4)は構成ディスク数の少ない(N=
2)グループ(1)に装填し、アクセス頻度の低いディ
スク(3、5、6、8、9)は構成ディスク数の多い
(N=6)グループ(3)に装填する。
ー復元処理の計算(xor 演算)に用いられるディス
ク数が少ない(N=2)ので復元処理を高速化でき、そ
の一方で、構成ディスク数の大きい(N=6)グループ
(3)では、パリティ用ディスクのグループ内での容量
比率が小さい(1/6)のでデータ記憶に使えないディ
スク容量(冗長分)を相対的に小さくできる。構成ディ
スク数の大きいグループ(3)は復元処理の計算(xo
r)に用いられるディスク数が多い(N=6)ので復元
処理は遅いが、アクセス頻度が低いので装置の運用上全
体的に見れば復元処理に取られる時間は少ない。
アレイ装置の構成を示すブロック図である。図1におい
て、システムバス10には、装置全体の動作を制御する
CPU12と、CPU12で実行されるソフトウエア
(各種プログラム)およびそこで使用されるデータなど
を適宜格納するメモリ14と、このソフトウエアや後述
する種々な管理テーブルの情報を格納するHDD16
と、ローカルエリアネットワーク(LAN)の通信回線
30を介して図示しない外部機器(ホストコンピュータ
など)とデータ通信を行なう通信制御部18と、この実
施例装置の動作に伴う各種データ(光ディスクからの読
取データや光ディスクへの書込データなど)を一時的に
格納するバッファ140が接続されている。
(ブロックバッファ、作業バッファなど)により構成さ
れ、メモリ14の一部をバッファ140として使用する
こともできる。
器から送られてくるコマンドを通信制御部18が受信す
ると、CPU12はそのコマンドを実行する。このコマ
ンド実行の結果は、必要に応じて、通信制御部18から
LAN通信回線30を介してコマンドを送った外部機器
に返信されるようになっている。
ィスクドライブ201〜204を同時に制御できるドラ
イブ制御部20と、光ディスク28を光ディスクドライ
ブ201〜204に装填(オートローディング)する制
御を行なうアクセサ制御部22が接続されている。
ラムをメモリ14に読み出し、その内容にしたがって図
1の各部を制御する。たとえば光ディスクドライブ20
1〜204各々に装填された光ディスク28に対する情
報の読み書きは、CPU12からの指示に基づき、ドラ
イブ制御部20により制御される。
ク28を格納できるセル部24に設けられたアクセサ2
6を制御する。たとえば、CPU12上で走っているプ
ログラムがディスク番号1の光ディスク28を光ディス
クドライブ201に装填(ローディング)するよう指令
したとする。すると、この指令を受け取ったアクセサ制
御部22は、アクセサ26を駆動して、スロット0の出
入口からディスク番号1の光ディスク28を取り出しそ
れをドライブ201に装填させる。
26を駆動することにより、所定の光ディスクドライブ
(201〜204のいずれか)から所定の光ディスク2
8を取り外しそれをセル部24内の空の収納部(セル)
に戻す制御も行なう。つまり、アクセサ制御部22によ
り制御されるアクセサ26は、12枚の光ディスク28
中の任意のものについて、セル部24の各収納部と4台
の光ディスクドライブ201〜204のいずれかとの間
で、ディスクの移動(オートチェンジ)を行なう機能を
担う。
(図示せず)が特定光ディスク28のあるブロックから
データを読み出すコマンドを送信した場合は、CPU1
2は次のような操作を行なう。
ィスク28がアクセサ26によりセル部24から取り出
されそれが特定の光ディスクドライブ(201〜204
のいずれか)に装填されるように、アクセサ制御部22
が制御される。(上記特定光ディスク28が光ディスク
ドライブ201〜204のいずれかに既に装填されてい
る場合は、このアクセサ制御はスキップされる。また4
台の光ディスクドライブ201〜204全てがディスク
装填済みである場合は、その時点で不要なディスクが装
着されているディスクドライブから不要光ディスクを取
り外してそれをセル部24に戻し、しかる後に空いたデ
ィスクドライブに上記特定光ディスク28を装填するア
クセサ制御が行なわれる。)続いて、ドライブ制御部2
0により、この光ディスクが装填された光ディスクドラ
イブから、上記コマンドで指定されたブロックのデータ
が読み出される。読み出されたデータはシステムバス1
0を通じて通信制御部18内の通信バッファ(図示せ
ず)に送られ、この通信バッファの内容(所定の光ディ
スクの所定ブロックのデータ)が前記コマンドを出した
外部機器へ返信される。
られるグループ管理テーブル、ディスク管理テーブル、
およびドライブ管理テーブルの内容を示す。この内容は
図1のディスクアレイ装置の稼働初期時の例である。
枚の光ディスク28で構成されている。これらの光ディ
スク28にはそれぞれ1から12までのディスク番号が
割り当てられており、このディスク番号で光ディスク2
8各々を特定できるようになっている。
は、外部とディスクを出し入れする窓としてのセル番号
0のスロットと、12枚の光ディスク28を1枚づつ収
納するセル番号1〜12のセルとで構成されている。
あり、それぞれドライブ番号1〜4が割り当てられてい
る。図4(a)は、各ディスク28(ディスク番号1〜
12)がどのディスクグループに属しているかを示す。
ここではディスク番号1〜12の光ディスク28が3つ
のグループ1〜3に分けられており、グループ1のディ
スク構成数は2枚、グループ2のディスク構成数は4
枚、グループ3のディスク構成数は6枚としている。
は、ディスク番号1の光ディスク28がデータ用に割り
当てられ、ディスク番号10の光ディスク28がパリテ
ィ用に割り当てられている。
は、ディスク番号2、3、4の光ディスク28がデータ
用に割り当てられ、ディスク番号11の光ディスク28
がパリティ用に割り当てられている。
は、ディスク番号5〜9の光ディスク28がデータ用に
割り当てられ、ディスク番号12の光ディスク28がパ
リティ用に割り当てられている。
ィスク番号1〜12の光ディスク28とそれらが格納さ
れるセル部24のセル番号1〜12との(装置の稼働初
期時における)対応関係を示すとともに、ディスク番号
1〜12の光ディスク28各々のアクセス回数および累
積アクセス回数を示す。この例は稼働初期時のものなの
で、各ディスクのアクセス回数および累積アクセス回数
は全て0となっている。
台の光ディスクドライブ201〜204とこれらのドラ
イブに装填された4枚の光ディスク28(たとえばディ
スク番号1〜4)との(装置の稼働初期時における)対
応関係を示すとともに、ドライブ番号1〜4に装填され
た光ディスク28各々のアクセス回数を示す。この例は
稼働初期時のものなので、各ディスクドライブ201〜
204のアクセス回数は全て0となっている。
ル、図4(b)のディスク管理テーブル、および図4
(c)のドライブ管理テーブルは、HDD16に格納さ
れる。図5は、図1のディスクアレイ装置の全体的な動
作を説明するフローチャートである。
管理テーブル(図4(a))とディスク管理テーブル
(図4(b))とドライブ管理テーブル(図4(c))
の各データが読み出され、メモリ14に格納される(ス
テップST10)。
ているディスク番号で示される光ディスクが格納されて
いるセル番号をディスク管理テーブルより求め、その光
ディスクをそのセル番号のところから取り出し、取り出
した光ディスクをドライブ管理テーブル内に設定されて
いるドライブ番号で示される光ディスクドライブに装填
する(ステップST12)。
しない外部機器(ホストコンピュータ)からコマンドが
送られてきたとする。通信制御部18がこのコマンドを
受信すると(ステップST14)、CPU12はそのコ
マンドを解読する(ステップST16)。
(ステップST16、イエス)、所定の読出処理が行な
われ(ステップST18)、この処理により特定の光デ
ィスク28の所定ブロックから読み出されたデータは通
信制御部18内の図示しない通信バッファに書き込まれ
る。このあと、読出結果(読出エラーの有無および読出
処理の完了通知など)および通信バッファ内のブロック
データは、読出コマンドを出した外部機器に、通信回線
30を介して送り返される(ステップST20)。
く(ステップST16、ノー)書込コマンドであれば
(ステップST22、イエス)、所定の書込処理が行な
われる(ステップST24)。この処理により、外部機
器から通信制御部18内の図示しない通信バッファに送
り込まれたデータは、特定の光ディスク28の所定ブロ
ックに書き込まれる。このあと、書込結果(書込エラー
の有無および書込処理の完了通知など)が通信回線30
を介して書込コマンドを出した外部機器に送り返される
(ステップST26)。
書込コマンドでもなく(ステップST16、ノー;ステ
ップST22、ノー)グループ再編成コマンドであれば
(ステップST28、イエス)、所定のグループ再編成
処理が行なわれる(ステップST30)。この処理によ
り、各ディスクグループ1〜3を構成するディスク番号
の組み合わせが変更され、かつこの組合せ変更に伴う各
グループのパリティ用ディスクの書き換えが行なわれ
る。このあと、グループ再編成結果(変更後のグループ
管理テーブルの内容およびグループ再編成処理の完了通
知など)が通信回線30を介して書込コマンドを出した
外部機器に送り返される(ステップST32)。
書込コマンドでもグループ再編成コマンドでもないとき
は(ステップST16、ノー;ステップST22、ノ
ー;ステップST28、ノー)、そのコマンドはシャッ
トダウンコマンドであると解釈される(ステップST3
4)。このシャットダウンコマンドが実行されると、メ
モリ14内のグループ管理テーブル、ディスク管理テー
ブル、およびドライブ管理テーブルの内容がHDD16
に書き込まれる(ステップST36)。このあと、光デ
ィスクドライブ201〜204に装填されている光ディ
スク28はアクセサ26により順次取り外され、セル部
24の所定の空きセルに戻される(ステップST3
8)。
るフローチャートである。図5のステップST14で読
出コマンドが受信されると、まずこのコマンドにより、
データ読み出しを行なう光ディスク28のディスク番号
と、読み取ろうとするデータが格納されているデータブ
ロック番号と、読み出されたブロックデータを格納する
ブロックバッファ(たとえばブロックバッファ1)が指
定される。
ッファ1およびデータディスク番号(例えば1)が指定
されると(ステップST180)、アクセサ26により
ディスク番号1の光ディスク28が空ドライブ(ドライ
ブ201〜204のいずれか)に装填される(番号1の
ディスクがいずれかのドライブに装填済みであるとき
は、この装填処理はスキップされる。)所定の光ディス
ク28(ディスク番号1)が例えばドライブ番号1のド
ライブ201に装填されると、読出コマンドが指定する
ブロック番号(例えばブロック番号1000)からデー
タが読み取られそれが指定されたブロックバッファ1に
格納される(ステップST182)。
ップST184、イエス)、図4(b)のディスク管理
テーブルにおいて読出が行なわれたディスク番号1のア
クセス回数の欄に「1」が加えられ(ステップST18
6)、図4(c)のドライブ管理テーブルにおいて読出
を行なったドライブ番号1のアクセス回数の欄に「1」
が加えられる(ステップST188)。
ロック番号(1000)からのデータ読取時にエラーが
発生した場合は(ステップST184、ノー)、エラー
発生ブロック(1000)のデータの復元処理が行なわ
れる(ステップST190)。
ディスク10のブロック番号1000でもエラーが発生
したなど)した場合は(ステップST192、ノー)、
エラー終了する。この復元処理が成功ならば(ステップ
ST192、イエス)、ブロックバッファ1の内容は、
ディスク番号1の光ディスク28の特定ブロック番号
(1000)からのデータとなっている。
るフローチャートである。また図15(a)はディスク
装填処理前のドライブ管理テーブルを示し、図15
(b)はディスク装填処理後のドライブ管理テーブルを
示す。
スク28が4台の光ディスクドライブ201〜204の
いずれにも装填されていない場合に行なわれる。この処
理においては、たとえば図15(a)に示すドライブ管
理テーブルに記録されたアクセス回数がチェックされ、
最もアクセス回数の少ないドライブ番号4の光ディスク
ドライブ204が選択される。
スク交換の対象とし、過去にたびたびアクセスされたド
ライブをディスク交換の対象としない理由は、過去に頻
繁にアクセスのあったドライブは今後も頻繁にアクセス
される可能性が高く、そのようなドライブのディスクを
交換することは後に時間のかかるディスク交換の必要性
を増やす結果となるからである。最もアクセス回数の少
ないドライブをディスク交換の対象とすれば、その後の
ディスク交換回数を減少させることができる。
数が1枚(x=1)であり、1枚(x枚)の装填すべき
ディスクとしてディスク番号7が指定されたと仮定す
る。まず、ドライブ管理テーブル(図15(a))を参
照し、装填が指示されたディスク番号7の光ディスク2
8がドライブ番号1〜4の光ディスクドライブ201〜
204のいずれかに既に装填済みであるかどうかチェッ
クされる。もしディスク番号7の光ディスク28がドラ
イブ番号1〜4のいずれかに既に装填済みであれば、デ
ィスク番号7の光ディスクが装填済みのドライブ番号の
アクセス回数欄に「ー1」を設定する(ステップST1
800)。しかし図15(a)のドライブ管理テーブル
ではどのドライブ番号にもディスク番号7のディスクは
装填されていないから、この「ー1」はどこにも設定さ
れない。
求める。すなわち、装填すべき光ディスクの数x(=
1)から、アクセス回数欄に「ー1」が設定されたドラ
イブの数を差し引く(ステップST1802)。
に「ー1」が設定されたドライブ数はゼロであるから、
M=xー(「ー1」が設定されたドライブ数)=1とな
る。この場合Mはゼロでない(ステップST1804、
ノー)。
ち、アクセス回数が少ないほうからM個(図15(a)
の例ではドライブ番号4の1個)が、ドライブ管理テー
ブルから選択される(ステップST1806)。
例では1個)のドライブ、すなわちドライブ番号4の光
ディスクドライブ204(過去におけるアクセス頻度が
相対的に小さかったドライブ)から、そこに装填されて
いるディスク番号4の光ディスク28が取り外され、取
り外されたディスクはディスク管理テーブル(図4
(b))のスロット番号(セル番号)で示されるスロッ
ト(セル)4に戻される(ステップST1808)。
(ドライブ番号4)にまだ装填されていないディスク番
号7の光ディスク28がディスク管理テーブル(図4
(b))内のスロット番号(セル番号)7で示されるス
ロット(セル)より取り出され、ドライブ番号4のドラ
イブ204に装填される(ステップST1810)。
に装填されていた低アクセス頻度の光ディスク(ディス
ク番号4)がディスク番号7の光ディスク28と交換さ
れると、図15(b)に示すように、新たに装填したデ
ィスク番号7がドライブ管理テーブルのドライブ番号4
の欄に書き込まれ、その後ドライブ番号1〜4全てのア
クセス回数が0にリセットされる(ステップST181
2)。
容を説明するフローチャートである。復元処理が行なわ
れる場合は、まず、復元処理に用いる光ディスク28の
ディスク番号(1〜12のいずれか)と、復元処理に用
いるデータが格納されている光ディスク28のブロック
番号と、復元されたブロックデータを格納するブロック
バッファが指定される。
4(a)のデータディスク番号3のディスク28である
とすれば、上記復元処理に用いる光ディスク28のディ
スク番号は2、4、11となる。またディスク番号3の
光ディスクのブロック番号1000でエラーが発生した
とすれば、復元処理に用いるデータが格納されている光
ディスク28のブロック番号も「1000」となる。各
グループ毎にブロックバッファ1〜3が用意されている
とすれば、グループ2のディスク番号3のエラー復元処
理に用いるバッファメモリとしてブロックバッファ2が
指定される。
示すグループ管理テーブルから、復元すべきエラーが発
生した光ディスク28(ディスク番号3)の属するグル
ープ番号G(=2)と、グループGのディスク構成数N
(=4)と、復元処理に用いる光ディスク28のディス
ク番号(2、4、11)とが読み出される(ステップS
T1900)。(この読出結果に基づいて、復元処理に
用いるNー1枚の光ディスクの装填処理を行なうことが
できる。)続くディスク装填処理において、作業バッフ
ァ1およびパリティディスク番号(11)が指定される
(ステップST1902)。すると、アクセサ26によ
りディスク番号11の光ディスク28が空ドライブ(ド
ライブ201〜204のいずれか)に装填される(番号
11のディスクがいずれかのドライブに装填済みである
ときは、この装填処理はスキップされる。)このディス
ク装填処理は、図7の処理と同様に行なわれる。すなわ
ち、光ディスクドライブ201〜204のいずれかが空
いておればその空ドライブにディスク番号2の光ディス
ク28が装填される。空ドライブがなければ、ドライブ
201〜204(ドライブ番号1〜4)のうち過去のア
クセス頻度が小さかった例えばドライブ4(図15
(a)参照)から光ディスク28が取り外され、そこに
ディスク番号11の光ディスク28が装填される。その
後、ドライブ管理テーブルにおけるアクセス回数欄は全
て0にリセットされる(図15(b)参照)。
ティ用ディスク)がドライブ番号4のドライブ204に
装填されると、エラーが発生したブロック番号1000
からブロックデータが読み取られそれが指定された作業
バッファ1(バッファ番号L=1)に格納される(ステ
ップST1904)。
ック番号1000からのデータ読取時にエラーが発生し
た場合は(ステップST1906、イエス)、エラーと
なり復元処理は終了される。
ST1906、ノー)、図4(b)のディスク管理テー
ブルにおいて、読出が行なわれたドライブ番号4/ディ
スク番号11のアクセス回数の欄に「1」が加えられ、
かつ図4(c)のドライブ管理テーブル(ただしディス
ク番号は図4(c)と違う)において、読出を行なった
ドライブ番号4のアクセス回数の欄に「1」が加えられ
る(ステップST1908)。
のデータ用光ディスク28の装填処理が行なわれる。ま
ず、復元用ブロックデータの一時格納用バッファLとし
て作業バッファ2が設定される(ステップST191
0)。この後、ステップST1900で読み出しておい
たディスク番号リストに基づいて、ディスク番号2の光
ディスク28の装填処理が行なわれる(ステップST1
912)。
様に行なわれる。すなわち、光ディスクドライブ201
〜204のいずれかが空いておればその空ドライブにデ
ィスク番号2の光ディスク28が装填される。空ドライ
ブがなければ、ドライブ201〜204(ドライブ番号
1〜4)のうち過去のアクセス頻度が小さかった例えば
ドライブ1(図15(b)参照;ただしドライブ4のア
クセス回数はステップST1908の処理で「1」にな
っている)から光ディスク28が取り外され、そこにデ
ィスク番号2の光ディスク28が装填される。
が光ディスクドライブ201(ドライブ番号1)に装填
されると、ディスク番号2の光ディスク28のブロック
番号1000からそのブロックのデータが読み出され、
読み出されたブロックデータは作業バッファ2(L=
2)に格納される(ステップST1914)。
ク番号1000からのデータ読取時にエラーが発生した
場合は(ステップST1916、イエス)、エラーとな
り復元処理は終了される。
ST1916、ノー)、図4(b)のディスク管理テー
ブルにおいて、読出が行なわれたドライブ番号1/ディ
スク番号2のアクセス回数の欄に「1」が加えられ、か
つ図4(c)のドライブ管理テーブル(ただしドライブ
番号とディスク番号との対応関係は図4(c)と違う)
において、読出を行なったドライブ番号1のアクセス回
数の欄に「1」が加えられる(ステップST191
8)。
ク構成数Nは4であり、バッファ番号パラメータLは2
であるから、L(=2)<Nー1(=3)である(ステ
ップST1920、イエス)。この場合はLが1つイン
クリメントされ(ステップST1922)、作業バッフ
ァ3(=L)を用いてディスク番号4の光ディスク28
に対してディスク装填処理が行なわれる(ステップST
1912)。
様に行なわれる。すなわち、光ディスクドライブ201
〜204のいずれかが空いておればその空ドライブにデ
ィスク番号2の光ディスク28が装填される。空ドライ
ブがなければ、ドライブ201〜204(ドライブ番号
1〜4)のうち過去のアクセス頻度が小さかった例えば
ドライブ2(図15(b)参照;ただしドライブ1、4
のアクセス回数はステップST1908、ステップST
1918の処理でそれぞれ「1」になっている)から光
ディスク28が取り外され、そこにディスク番号4の光
ディスク28が装填される。
が光ディスクドライブ202(ドライブ番号2)に装填
されると、ディスク番号4の光ディスク28のブロック
番号1000からそのブロックのデータが読み出され、
読み出されたブロックデータは作業バッファ3(L=
3)に格納される(ステップST1914)。
ク番号1000からのデータ読取時にエラーが発生した
場合は(ステップST1916、イエス)、エラーとな
り復元処理は終了される。
ST1916、ノー)、図4(b)のディスク管理テー
ブルにおいて、読出が行なわれたドライブ番号2/ディ
スク番号4のアクセス回数の欄に「1」が加えられ、か
つ図4(c)のドライブ管理テーブル(ただしドライブ
番号とディスク番号との対応関係は図4(c)と違う)
において、読出を行なったドライブ番号2のアクセス回
数の欄に「1」が加えられる(ステップST191
8)。
バッファ番号パラメータLは3にインクリメントされて
いたから、L(=3)<Nー1(=3)でない(ステッ
プST1920、ノー)。この場合は、まず作業バッフ
ァ2(=L)が指定される(ステップST1942)。
(ステップST1926、イエス)、作業バッファ1内
のブロックデータ(ディスク番号11のパリティ用ディ
スク28のブロック番号1000の読取データ)と作業
バッファ2(=L)内のブロックデータ(ディスク番号
2のデータ用ディスク28のブロック番号1000の読
取データ)とのxor演算が行なわれ、その演算結果が
作業バッファ1に格納される(ステップST192
8)。
(ステップST1930)。するとL(=3)≦Nー1
(=3)となり(ステップST1926、イエス)、作
業バッファ1内のブロックデータ(ディスク番号2、1
1間でxor演算が行なわれたブロック番号1000の
読取データ)と作業バッファ3(=L)内のブロックデ
ータ(ディスク番号4のデータ用ディスク28のブロッ
ク番号1000の読取データ)とのxor演算が行なわ
れ、その演算結果が作業バッファ1に格納される(ステ
ップST1928)。
(ステップST1930)。するとL(=4)≦Nー1
(=3)となり(ステップST1926、ノー)、ディ
スク番号2、4、11間でxor演算が行なわれたブロ
ック番号1000の読取データが作業バッファ1からブ
ロックバッファ2に転送される(ステップST193
2)。このブロックバッファ2の内容が、エラーの起き
たグループ2/ディスク番号3/ブロック番号1000
の復元ブロックデータとなる。
ディスク番号5の光ディスク28でエラーが発生したと
きは、その復元処理には5枚のディスク(ディスク番号
6、7、8、9、12)が必要となる。この場合、図1
の構成では光ディスクドライブは4台しかないので、こ
の5枚のディスクのうち少なくとも1枚についてはディ
スク交換が必要になる。このディスク交換は、図7のデ
ィスク装填処理と同様な処理により、図8のステップS
T1912において行なわれる。この際、交換されたデ
ィスクの該当ブロックデータは、5つの作業バッファL
(この場合はL=1〜5)に残っているので、復元処理
に差しつかえはない。
の内容を説明するフローチャートである。例えば図4
(a)のグループ2/ディスク番号2の光ディスク28
のブロック番号1000に所定のデータを書き込む場合
を想定する。この場合、図4(a)のグループ管理テー
ブルから、書込用光ディスク28のディスク番号2と、
書込を行なうブロック位置を示すブロック番号1000
と、書込用ブロックデータが既に格納されているバッフ
ァ、たとえばブロックバッファ2が指定される。
番号2が指定されると、図4(a)のグループ管理テー
ブルを参照することにより、このディスク番号2の光デ
ィスク28のグループ2に属するパリティ用ディスクの
ディスク番号11が求められる(ステップST24
0)。
により、データディスク番号2およびパリティディスク
番号11の光ディスク28それぞれについて、光ディス
クドライブ201〜204のいずれかへのディスク装填
が行なわれる(ステップST242)。
スク番号11のディスクそれぞれの光ディスクドライブ
(201〜204中の2台)への装填が済むと、装填さ
れたディスク番号2のデータディスク28のブロック番
号1000からそこに記録されているブロックデータが
読み出され、それが作業バッファ1に格納される(ステ
ップST244)。
ク番号1000からのデータ読取時にエラーが発生した
場合は(ステップST246、イエス)、エラーとなり
書込処理は終了される。
ST246、ノー)、装填されたディスク番号11のパ
リティディスク28のブロック番号1000からそこに
記録されているブロックデータが読み出され、それが作
業バッファ2に格納される(ステップST248)。
ック番号1000からのデータ読取時にエラーが発生し
た場合は(ステップST250、イエス)、エラーとな
り書込処理は終了される。
ST250、ノー)、ブロックバッファ2内のブロック
データ(書込データ)と作業バッファ1内のブロックデ
ータ(ディスク番号2/ブロック番号1000の読取デ
ータ)とのxor演算が行なわれ、その演算結果が作業
バッファ3に格納される(ステップST252)。
タ(ステップST252で得られた演算結果)と作業バ
ッファ2内のブロックデータ(ディスク番号11/ブロ
ック番号1000のパリティデータ)とのxor演算が
行なわれ、その演算結果(新たなパリティデータ)が作
業バッファ4に格納される(ステップST254)。
ファ4に得られたあと、ブロックバッファ2内の書込用
ブロックデータがディスク番号2のデータ用光ディスク
28のブロック番号1000に書き込まれ(ステップS
T256)、作業バッファ4内の新たなパリティデータ
がディスク番号11のパリティ用光ディスク28のブロ
ック番号1000に書き込まれる(ステップST25
8)。
管理テーブルが参照される。そして、ディスク番号2の
データ用光ディスク28が装填された光ディスクドライ
ブ(たとえば202)のドライブ番号(たとえば2)に
該当するアクセス回数欄に「1」が加算され(ステップ
ST260)、ディスク番号11のパリティ用光ディス
ク28が装填された光ディスクドライブ(たとえば20
4)のドライブ番号(たとえば4)に該当するアクセス
回数欄に「1」が加算される(ステップST260)。
を伴うデータ書込処理が完了する。図12ないし図14
は、図5中のグループ再編成処理(ディスク単位の処
理)の内容を説明するフローチャートである。
る程度稼働したあとに得られるグループ管理テーブルお
よびディスク管理テーブルの例を示す。図17は、図1
6のディスク管理テーブルに記録された各ディスクのア
クセス回数をその多さ順にソートし並べ変えた場合と、
この並べ換え結果に基づき変更されたグループ管理テー
ブルの例を示す。
スク管理テーブルがメモリ14に読み込まれ、データ用
ディスクであるディスク番号1〜9について、過去にお
けるアクセス回数の大きい順にソートが行なわれる(ス
テップST300)。このソートの結果、図16(b)
のディスク管理テーブル内容は、図17(b)に示すよ
うに変化する。
回)ディスク(ディスク番号4)ほどセル部24の出入
口に近いセル(セル番号1)に収納して、光ディスクド
ライブ201〜204とセル部24との間のディスク移
動時間が短くなるように工夫する。一方、アクセス頻度
の低いディスクについては、そのディスク装填処理に多
少時間がかかっても全体的にみれば装置の稼働効率(処
理時間の短縮化)への影響は少ない。したがってこのよ
うなアクセス頻度の低い(5回)ディスク(ディスク番
号9)は、セル部24の出入口から遠いセル(セル番号
9)に収納される。
ィスク(ディスク番号4)は、エラーが生じた場合の復
元処理を高速化するために、ディスク構成数の少ないグ
ループ1に割り当てられる(ステップST302)。
は、装置全体の稼働率に対するその復元処理所要時間の
影響が比較的少ない。したがってアクセス頻度が中程度
の(150回〜500回)ディスク(ディスク番号2、
1、7)は、ディスク構成数が中位のグループ2に割り
当てられる(ステップST304)。
ては、その復元処理に多少時間がかかっても全体的にみ
れば装置の稼働効率(処理時間の短縮化)への影響はさ
して大きくはならない。したがってアクセス頻度の相対
的に低い(5回〜100回)ディスク(ディスク番号
3、5、6、8、9)は、ディスク構成数の多いグルー
プ3に割り当てられる(ステップST306)。
ブルは、図17(a)のように変更される。こうしてグ
ループ管理テーブルの内容変更(ディスク単位のグルー
プ再編成)が済むと、光ディスクドライブ201〜20
4内の全ての光ディスク28が取り外される。取り外さ
れた光ディスク28は、図17(b)のディスク管理テ
ーブルの内容にしたがって、所定のセル番号の位置に格
納される(ステップST308)。
が変更されると、各グループのパリティ用ディスク(デ
ィスク番号10〜12)の内容も修正しなければならな
くなる。この修正は、図13、図14のフローチャート
に示すようにして行なわれる。
データ書き換えのために、グループ番号パラメータGに
「1」がセットされる(ステップST310)。次にグ
ループG(グループ1)のパリティ用ディスク(ディス
ク番号10)をドライブ番号1の光ディスクドライブ2
01に装填し、装填されたパリティ用ディスクの全ブロ
ックにデータ「0」を書込んで、ディスク番号10のパ
リティ用ディスクをクリアする(ステップST31
2)。
ータIに「1」がセットされる(ステップST31
4)。(このディスクパラメータIは、図17(a)の
ディスク番号欄に示されるように、1〜5のいずれかの
値をとる。)すると、グループG(=1)のディスクパ
ラメータI(=1)のディスク、すなわちディスク番号
4のデータ用ディスクがドライブ番号2の光ディスクド
ライブ202に装填される(ステップST316)。
1、202にそれぞれ装填されたパリティ用ディスクお
よびデータ用ディスクについて、これらのディスクのブ
ロック番号を示すブロックパラメータBに「1」がセッ
トされる(ステップST318)。
リティ用ディスクのブロック番号1(=B)からブロッ
クデータ(この時点では全て0)が読み出されそれが作
業バッファ1に格納される。また、ドライブ202に装
填されたデータ用ディスクのブロック番号1(=B)か
らブロックデータ(ディスク番号4のディスクのブロッ
ク1の内容)が読み出されそれが作業バッファ2に格納
される(ステップST320)。
(ディスク番号10のパリティ用ディスク28のブロッ
ク番号1の読取データ)と作業バッファ2内のブロック
データ(ディスク番号4のデータ用ディスク28のブロ
ック番号1の読取データ)とのxor演算が行なわれ、
その演算結果が作業バッファ1に格納される(ステップ
ST322)。こうして得られた作業バッファ1の内容
が、パリティ用ディスク(ディスク番号10)のブロッ
ク番号1(=B)に書き込まれる(ステップST32
4)。
ントされ(ステップST326)、インクリメント後の
ブロック番号B(=2)と光ディスク28のトータルブ
ロック数TB(たとえば1万ブロック)と比較される
(ステップST328)。ここではB≦TBであるので
(ステップST328、イエス)、ブロック番号2のブ
ロックデータについて、ステップST320〜ステップ
ST324のパリティデータ書込処理が行なわれ、ブロ
ック番号Bがさらに1つインクリメントされる(ステッ
プST326)。
28のトータルブロック数TB分反復されたあとは(ス
テップST328、ノー)、データ用ディスク(ディス
ク番号4)がドライブ202から取り外され、セル部2
4の該当スロット(図17(b)の例ではセル番号1の
位置)に戻される(ステップST330)。
ィスクについてのパリティデータ書込が済むと、このグ
ループG(=1)のディスクパラメータIが1つインク
リメントされる(ステップST332)。
成数N(=2)から1を引いた数Nー1(=1)(すな
わちそのグループの全ディスク数からパリティ用ディス
クの1枚分を引いた数)と、ステップST332でイン
クリメントされたグループG(=1)のディスクパラメ
ータI(=2)とが比較される(ステップST33
4)。
(ステップST334、ノー)、ドライブ201内のパ
リティ用ディスク(ディスク番号10)はセル部24の
セル番号10のスロット位置に戻され(ステップST3
36)、グループパラメータGが1つインクリメントさ
れる(ステップST338)。このインクリメントによ
りG=2となる。
ループの最大数(=3)とが比較される(ステップST
340)。G(=2)≦3なので(ステップST34
0、イエス)、ディスク構成数4のグループ2のパリテ
ィ用ディスク(ディスク番号11)およびデータ用ディ
スク(ディスク番号2、1、7)について、ステップS
T312〜ステップST336の処理が再度実行され
る。
メントされたグループパラメータG(=3)とグループ
の最大数(=3)とが比較される(ステップST34
0)。G(=3)≦3なので(ステップST340、イ
エス)、ディスク構成数6のグループ3のパリティ用デ
ィスク(ディスク番号12)およびデータ用ディスク
(ディスク番号3、5、6、8、9)について、ステッ
プST312〜ステップST336の処理が再度実行さ
れる。
データ(エラー修復用冗長データ)の書き換えが完了す
る。この場合、ドライブ管理テーブル中のディスク番号
は、図17(b)に示すディスク管理テーブルの内容に
したがって上から順に4ドライブ分選択され、たとえば
図17(c)に示すように設定される。
メントされたグループパラメータG(=4)とグループ
の最大数(=3)とが比較される(ステップST34
0)。今度はG(=4)≦3ではないので(ステップS
T340、ノー)、図17(c)のドライブ管理テーブ
ルの内容にしたがって、ドライブ番号1〜4の光ディス
クドライブ201〜204に、ディスク番号4、2、
1、7の光ディスク28が装填される(ステップST3
42)。こうして、グループ再編成処理は終了する。
(セル番号1〜12)にディスク28があっても、同じ
速さでそのディスク28を所定の光ディスクドライブに
装填できるようにアクセサ26が構成されているなら
ば、図17(b)に示すようなセル番号に対するディス
ク番号の並べ変えをする必要はない。この場合は、図1
7(a)、図17(b)の各テーブルは、図18
(a)、図18(b)に示すようになる。
スク管理テーブル中の各ディスク番号のアクセス回数の
欄は全て0にリセットされ、それ以前のアクセス回数デ
ータは、累積アクセス回数の欄に加算される。図18
(b)はこの場合の状態を例示している。
成処理は大量のデータ演算処理を伴うので処理に時間が
かかる(とくに図13のステップST320〜ステップ
ST328)。したがって、図1の装置の使用頻度が少
ない夜間あるいは装置の稼働が停止している祝祭日にお
いて、外部機器(ホストコンピュータ)からLAN回線
30を介して指令することにより、このグループ再編成
処理を行なうようにするとよい。
れるディスクグループを構成するディスク数がどのよう
にして決定されるのか説明するフローチャートである。
まず図16(b)に示すようなディスク管理テーブルが
メモリ14に読み込まれ、データ用ディスクであるディ
スク番号1〜9について、過去におけるアクセス回数の
大きい順にソートが行なわれる(ステップST10
0)。このソートの結果、図16(b)のディスク管理
テーブル内容は、図17(b)に示すように変化する。
ラメータIをつけ、初期値として1を代入する(ステッ
プST102)。また3個のグループに対応してパラメ
ータGをつけ、初期値として1を代入する(ステップS
T104)。さらにアクセス回数の累計を記憶するパラ
メータSに初期値として0を代入する(ステップST1
06)。そして一時変数記憶パラメータKに1を代入す
る(ステップST107)。
の例ではディスク番号4)に対するアクセス回数(90
0回)をパラメータSに加える(ステップST10
8)。その後、パラメータIが1つインクリメントされ
(ステップST110)、パラメータSの値が全ディス
クの合計アクセス回数(2052回)のたとえば43%
(882回)以上かどうかがチェックされる(ステップ
ST112)。(この43%という値は、図1の装置の
運用結果から実験的に決められる。)ここではS(=9
00)≧全アクセス数の43%(=882)であるので
(ステップST112、イエス)、グループ番号G(=
1)のディスク構成数はI(=2)ーK(=1)+1
(パリティディスク1枚分)で与えられ、この場合はデ
ィスク構成数が2となる(ステップST114)。
ープ管理テーブルにおけるグループ番号1のディスク構
成数が、2と決定される。この後、パラメータSに0が
代入され(ステップST116)、パラメータKに現在
のパラメータIの値が代入され(ステップST11
7)、そしてパラメータGが1つインクリメントされる
(ステップST118)。
ェックされる(ステップST120)。ここではG=2
であるからステップST108に戻り、パラメータSが
I番目のディスクに対するアクセス回数分増加される
(ステップST108)。
が4になった時点でパラメータS(=950)が全アク
セス回数の43%(=882)以上となると、グループ
2のディスク構成数はI(=4)ーK(=1)+1=4
と決定される(ステップST114)。
1つインクリメントされG=3になると(ステップST
120、ノー)、データ用ディスクの総数(=12)か
らグループ1およびグループ2のディスク構成数の和
(=6)を差し引いたディスク残り枚数(=6)が、グ
ループ3のディスク構成数として決定される。
れない場合とでどの程度速度差が生じるのかの例を示
す。図20はこの発明が適用されない場合のディスクア
レイ装置におけるディスク装填回数の例を示す。この例
では、データ用に9枚の光ディスク28を使用し、パリ
ティ用に3枚の光ディスク28を使用し、これら12枚
の光ディスク28を3つのグループに分割し、各グルー
プを3枚のデータ用ディスクと1枚のパリティ用ディス
クで構成した場合を仮定している。
ディスクアレイ装置におけるディスク装填回数の例を示
す。この例では、図4(a)その他に示すように、デー
タ用に9枚の光ディスク28を使用し、パリティ用に3
枚の光ディスク28を使用し、これら12枚の光ディス
ク28を3つのグループに分割し、アクセス頻度の高い
順に、第1のグループを1枚のデータ用ディスクと1枚
のパリティ用ディスクで構成し、第2のグループを3枚
のデータ用ディスクと1枚のパリティ用ディスクで構成
し、第3のグループを5枚のデータ用ディスクと1枚の
パリティ用ディスクで構成した場合を仮定している。
イブを1台とし、アクセス内容を読出処理のみとし、読
出時のエラー発生率を10%とし、外部機器(ホストコ
ンピュータ)から読出コマンドが100回LAN回線3
0経由で与えられた場合を想定する。
クセス回数は外部機器からの100回のコマンドアクセ
スが各光ディスクにどのように分散されたかを示してお
り、これは図20と図21との間で同じにしてある。
ためにディスクがアクセスされる回数を示す。たとえば
ディスク番号1の光ディスクには80回の読出アクセス
があるが、エラー発生率を10%と仮定しているので、
8回のエラーが発生することになる。この場合、グルー
プ1内のエラー発生ディスク以外のディスクとグループ
1のパリティディスクはそれぞれ8回アクセスされる。
のディスクが復元処理のためにアクセスされる回数は、
グループ1内のディスク番号2および3のディスクのア
クセスエラー発生時の回数、すなわち(7回+5回)の
10%で平均1.2回となるこれに対し、図21の本願
実施例の場合では、グループ1内にディスク番号2およ
び3のディスクが存在しないので、図20の例のような
平均1.2回のディスクアクセスは生じない。
ス回数の合計を比較すると、図20の例では30回もあ
るのに、図21の本願実施例では15.2回と半減して
いる。これは、よりアクセス頻度の高いディスク(ディ
スク番号1)をよりディスク構成数の少ないグループ
(グループ1)に割り当てたことによる効果である。
ドアクセス回数の合計(100回)と復元処理アクセス
回数の合計(30回)との和(130回)で、各ディス
ク毎のコマンドアクセス回数と復元処理アクセス回数と
の和(ディスク番号1では80+1.2=81.2)を
割ったものである。また図21において、アクセス比率
は、コマンドアクセス回数の合計(100回)と復元処
理アクセス回数の合計(15.2回)との和(115.
2回)で、各ディスク毎のコマンドアクセス回数と復元
処理アクセス回数との和(ディスク番号1では80+0
=80)を割ったものである。
ドライブに装填される回数であり、ディスクへのアクセ
ス回数の合計とアクセス比率とから求められる。すなわ
ち、ディスク装填回数=(それ以前に異なるディスクが
アクセスされる確率)*(アクセス回数)=(1ーアク
セス比率)*アクセス回数となる。
ィスク装填回数は図20が75.4回もあるのに対し、
図21の本願実施例では58.1回で済んでいる。つま
り、本願実施例によりディスク装填回数を25%も低減
できることになる。これも、よりアクセス頻度の高いデ
ィスク(ディスク番号1)をよりディスク構成数の少な
いグループ(グループ1)に割り当てたことによる効果
である。
ライブが1台の場合を想定したが、ドライブ台数が2台
以上あっても、同様な効果が得られる。図12〜図14
ではディスク単位でのグループ再編成を説明したが、こ
のグループ再編成は1枚のディスク中のブロックを単位
として行なうこともできる。
されるディスクブロック管理テーブルは、図24および
図25に示すように構成される。この管理テーブルにお
いては、各ブロックに対して、セル番号、アクセス回
数、累積アクセス回数、実際の光ディスク28との対応
を管理する物理ディスク番号と、物理ブロック番号とが
用意されている。
から送られてくるコマンドによりデータアクセスを行な
う場合、このディスクブロック管理テーブルを参照する
ことにより、実際にアクセスする光ディスク28が決定
される。
で用いられるグループ管理テーブルおよびドライブ管理
テーブルは図4(a)および図4(c)と同様な構成で
よいが、図4(a)および図4(c)におけるディスク
番号はブロック単位のグループ再編成処理では全て物理
ディスク番号となる。
各ディスクのブロック単位で行なう場合を説明するフロ
ーチャートである。まず、図24のディスクブロック管
理テーブルの行を示すパラメータiに「1」をセットし
(ステップST400)、同じくこのテーブルの行を示
すパラメータjに「y」をセットする(ステップST4
02)。ここでセットされるyは、ディスクブロック管
理テーブルの総行数(たとえば9000)を示す。
(=y)のディスク番号9/ブロック番号1000のア
クセス回数(15回)と(jー1)行(=yー1)のア
クセス回数とを比較する(ステップST404)。(j
ー1)行の方がアクセス回数が大きいならば(ステップ
ST404、イエス)、j行と(jー1)行とのブロッ
ク入れ替え処理が行なわれる(ステップST406)。
このブロック入れ替え処理については図23を参照して
後述する。
アクセス回数以上であれば(ステップST404、ノ
ー)、ブロック入れ替えは行なわず、パラメータjが1
つデクリメントされる(ステップST408)。
2)より大きいときは(ステップST410、イエ
ス)、再びj行のアクセス回数と(jー1)行のアクセ
ス回数とが比較され(ステップST404)、(jー
1)行の方がアクセス回数が大きいならば(ステップS
T404、イエス)、j行と(jー1)行とのブロック
入れ替え処理が行なわれる(ステップST406)。こ
のあとパラメータjが再び1つデクリメントされ(ステ
ップST408)、デクリメント後のjがi+1(ここ
では2)と比較される(ステップST410)。
場合のステップST406のブロック入れ替え処理は、
パラメータjがi+1未満になるまで(ステップST4
10、ノー)反復される。
トされ(ステップST412)、インクリメント後のi
が(yー1)以下の間(ステップST414、イエ
ス)、ステップST402〜ステップST412の処理
が反復される。
ると(ステップST414、ノー)、図24のテーブル
内の全ての行に対して、「累積アクセス回数=アクセス
回数+累積アクセス回数」なる演算が行なわれその結果
が書き込まれる(ステップST416)。このあと、図
13を参照して説明したと同様なパリティディスクの書
き換え処理が行なわれ(ステップST418)、図22
の処理が終了する。
ST416のソート処理の結果、図24に示すディスク
ブロック管理テーブルは図25のように書き換えられ
る。このソート処理は、公知のアルゴリズム(たとえば
バブルソート法)で実現できる。
理を説明するフローチャートである。まず、図24のデ
ィスクブロック管理テーブルのi行目とj行目の物理デ
ィスク番号に対応する光ディスク28を光ディスクドラ
イブ201〜204のいずれか2台に装填する処理が行
なわれる(ステップST4060)。
填されたある光ディスクドライブから、i行目の物理ブ
ロック番号で示されるブロックデータが読み出され、そ
れが作業バッファ1に格納される(ステップST406
2)。
装填された他の光ディスクドライブから、j行目の物理
ブロック番号で示されるブロックデータが読み出され、
それが作業バッファ2に格納される(ステップST40
64)。
ロックデータが、j行目に対応する物理ディスクの装填
された光ディスクドライブの該当物理ブロック番号の箇
所に書き込まれる(ステップST4066)。
ックデータが、i行目に対応する物理ディスクの装填さ
れた光ディスクドライブの該当物理ブロック番号の箇所
に書き込まれる(ステップST4068)。
の「ディスク番号」から「累積アクセス回数」までの5
項目に関し、i行目のデータとj行目のデータが交換さ
れ(ステップST4070)、ブロック入れ替え処理が
完了する。
再編成処理を行なう前のディスクブロック管理テーブル
の一例を示しており、また図25は図22のブロック単
位グループ再編成処理を行なった後のディスクブロック
管理テーブルを示している。
は、アクセス回数の多い順に各ディスクにまたがってブ
ロックデータが入れ替えられる。たとえば、アクセス回
数が最大であるディスク番号2でブロック番号2のブロ
ックデータの実際の格納位置が、物理ディスク番号2/
物理ブロック番号1から物理ディスク番号1/物理ブロ
ック番号1(図25の先頭)に配置転換されている。
転換が済んだあと、各ディスクグループ(1〜3)での
パリティデータを生成し、それらを各グループのパリテ
ィ用ディスクに書込み、処理を終了する。この場合は、
各グループを構成する物理ディスク番号は変更しない。
度)に応じたブロック配置入れ替えをブロック単位で行
なえば、よりアクセス頻度の高いデータをディスク構成
数の少ないグループ(1)に集中させることができる。
このようにすれば、アクセス頻度の高いデータを持つ光
ディスクのディスク交換回数を最小限に押さえることが
できるし、そのディスクでエラーが発生した場合はディ
スク構成数が少ない(図4(a)では2枚)のでエラー
修復のための復元処理時間も最小限に押さえることがで
きる。
て各ディスク(または各ディスクの情報記録ブロック)
をグループ分割することで全体としては高速アクセスが
でき(複数グループに並列アクセスできるから)、同時
に信頼性が高く(各グループにパリティ用ディスクがあ
るのでデータ用ディスクにエラーが出てもエラー復元処
理ができるから)、かつ記憶容量が大きい(アクセス頻
度の小さいディスクグループではパリティ用ディスク容
量の相対比率を小さくするから)ディスクアレイ装置が
得られる。
レイ装置の構成を示すブロック図。
ィスクで構成されるディスクグループにおいて、パリテ
ィ用ディスクのブロックデータDを生成する処理および
エラーの発生したデータ用ディスク1のブロックデータ
Aを復元する処理を説明する図。
出たデータの復元に用いられる排他的論理和演算の内容
を示す図。
るグループ管理テーブル、ディスク管理テーブル、およ
びドライブ管理テーブルの一例を示す図。
動作を説明するフローチャート。
ローチャート。
ローチャート。
するフローチャート。
するフローチャート。
説明するフローチャート。
説明するフローチャート。
ィスク単位の処理)の内容の前半を説明するフローチャ
ート。
容の中盤を説明するフローチャート。
容の後半を説明するフローチャート。
られるドライブ管理テーブルの他例を示す図。
られるグループ管理テーブルおよびディスク管理テーブ
ルの他例を示す図。
られるグループ管理テーブル、ディスク管理テーブル、
およびドライブ管理テーブルのさらに他の例を示す図。
られるグループ管理テーブルおよびディスク管理テーブ
ルのさらに他の例を示す図。
るディスクグループを構成するディスク数を決定する処
理を説明するフローチャート。
ィスクアレイ装置におけるディスク装填回数を例示する
図。
クアレイ装置におけるディスク装填回数を例示する図。
ディスクのブロック単位で行なう場合を説明するフロー
チャート。
を説明するフローチャート。
編成処理を行なう前のディスクブロック管理テーブルの
一例を示す図。
編成処理を行なった後のディスクブロック管理テーブル
を示す図。
ータ)、14…メモリ、140…ブロックバッファ/作
業バッファ、16…HDD(ハードディスクドライ
ブ)、18…通信制御部(LANターミナル)、20…
ドライブ制御部、201〜204…光ディスクドライブ
(情報読書部)、22…アクセサ制御部、24…セル部
(情報記録媒体格納部)、26…アクセサ(搬送部)、
28…光ディスク(情報記録媒体)、30…LAN通信
回線。
Claims (3)
- 【請求項1】 複数のデータ用ディスクおよび複数のパ
リティ用ディスクを含む複数の情報記録媒体を着脱可能
に格納する格納部と、これらの情報記録媒体に対してデ
ータの読み書きを行なう複数の情報読書部と、前記情報
記録媒体を前記格納部または前記情報読書部に適宜搬送
する搬送部とを持つものにおいて、 前記データ用ディスクおよび前記パリティ用ディスクで
各々が構成される複数のグループについて、各グループ
とそのグループの構成ディスクとの対応関係を特定する
グループ管理情報を格納するグループ管理部と;前記グ
ループ内のパリティ用ディスクに、同じグループ内のデ
ータ用ディスクに記録されたデータに関する冗長データ
を書き込む手段と;前記情報記録媒体を構成する複数デ
ィスク各々とこれらのディスクへのアクセス回数との対
応関係を特定するディスク管理情報を格納するディスク
管理部と;前記ディスク管理情報からアクセス回数の多
いディスクを検出し、前記グループ管理情報から構成デ
ィスク数の少ないグループを特定し、検出されたアクセ
ス回数の多いディスクを特定された構成ディスク数の少
ないグループに割り当てる手段とを具備したことを特徴
とするディスクアレイ装置。 - 【請求項2】前記ディスク管理情報からアクセス回数の
少ないディスクを検出し、前記グループ管理情報から構
成ディスク数の多いグループを特定し、検出されたアク
セス回数の少ないディスクを特定された構成ディスク数
の多いグループに割り当てる手段をさらに具備したこと
を特徴とする請求項1に記載のディスクアレイ装置。 - 【請求項3】 複数の情報記録ブロックを持つデータ用
ディスクおよび複数の情報記録ブロックを持つパリティ
用ディスクで構成される複数の情報記録媒体に対してデ
ータの読み書きを行なうものにおいて、 前記パリティ用ディスクに、前記データ用ディスクに記
録されたデータに関する冗長データを、これらのディス
クの情報記録ブロック毎に書き込む手段と;前記データ
用ディスクの情報記録ブロック各々へのアクセス回数を
記録するディスクブロック管理部と;前記ディスクブロ
ック管理部からアクセス回数の多いブロックを検出し、
検出されたアクセス回数の多いブロックをまとめて単一
のディスクに割り当てる手段とを具備したことを特徴と
するディスクアレイ装置。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP05176960A JP3099930B2 (ja) | 1993-07-16 | 1993-07-16 | ディスクアレイ装置 |
| US08/275,439 US5652741A (en) | 1993-07-16 | 1994-07-15 | Data storage apparatus having data and parity media |
| US08/910,139 US5781920A (en) | 1993-07-16 | 1997-08-13 | Data storage apparatus having data and parity media |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP05176960A JP3099930B2 (ja) | 1993-07-16 | 1993-07-16 | ディスクアレイ装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0736635A true JPH0736635A (ja) | 1995-02-07 |
| JP3099930B2 JP3099930B2 (ja) | 2000-10-16 |
Family
ID=16022730
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP05176960A Expired - Fee Related JP3099930B2 (ja) | 1993-07-16 | 1993-07-16 | ディスクアレイ装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (2) | US5652741A (ja) |
| JP (1) | JP3099930B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10254646A (ja) * | 1997-03-14 | 1998-09-25 | Hitachi Ltd | 可搬記録メディアのバックアップの方法 |
Families Citing this family (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08115174A (ja) * | 1994-10-17 | 1996-05-07 | Nippon Telegr & Teleph Corp <Ntt> | ライブラリ装置のデータアクセス制御方法 |
| US5894376A (en) * | 1996-06-25 | 1999-04-13 | Spectra Logic Corporation | Apparatus and method for monitoring read/write reliability of data storage device |
| JP3290365B2 (ja) * | 1996-11-19 | 2002-06-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | エラー回復プロシージャを実行する方法 |
| US5938740A (en) * | 1997-04-21 | 1999-08-17 | Primax Electronics Ltd. | Programmable peripheral control device for controlling peripherals of a computer system |
| WO1999040516A1 (fr) * | 1998-02-04 | 1999-08-12 | Hitachi, Ltd. | Procede de gestion d'antememoire disque, structure a disques et memoire |
| US6157768A (en) * | 1999-02-03 | 2000-12-05 | Matsushita Electric Industrial Co., Ltd. | Recording/reproducing apparatus and information medium transfer method |
| JP4023404B2 (ja) * | 2003-07-04 | 2007-12-19 | 株式会社日立製作所 | 再生装置、プログラムおよび記録媒体 |
| US7249277B2 (en) * | 2004-03-11 | 2007-07-24 | Hitachi, Ltd. | Disk array including plural exchangeable magnetic disk unit |
| JP4440058B2 (ja) * | 2004-09-28 | 2010-03-24 | パナソニック株式会社 | 半導体集積回路 |
| US20100110859A1 (en) * | 2008-10-30 | 2010-05-06 | Millenniata, Inc. | Archival optical disc arrays |
| KR20110106594A (ko) * | 2010-03-23 | 2011-09-29 | 주식회사 히타치엘지 데이터 스토리지 코리아 | 광디스크 드라이브 아카이브 시스템에서의 패리티 드라이브 설정 장치 및 방법 |
| JP2013089275A (ja) * | 2011-10-21 | 2013-05-13 | Hitachi-Lg Data Storage Inc | データライブラリ装置 |
| JP2014053066A (ja) * | 2012-08-08 | 2014-03-20 | Toshiba Corp | 情報記録装置、情報再生装置、及びフォーマット方法 |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS59100964A (ja) * | 1982-12-01 | 1984-06-11 | Hitachi Ltd | ディスク制御システム及びその並列データ転送方法 |
| AU630635B2 (en) * | 1988-11-14 | 1992-11-05 | Emc Corporation | Arrayed disk drive system and method |
| US5148432A (en) * | 1988-11-14 | 1992-09-15 | Array Technology Corporation | Arrayed disk drive system and method |
| US5121483A (en) * | 1990-05-21 | 1992-06-09 | International Business Machines Corporation | Virtual drives in an automated storage library |
| WO1992015935A1 (fr) * | 1991-03-07 | 1992-09-17 | Fujitsu Limited | Bibliotheque de stockage |
| JPH0528615A (ja) * | 1991-07-17 | 1993-02-05 | Nec Eng Ltd | 集合光デイスク装置制御方式 |
| US5309451A (en) * | 1992-08-12 | 1994-05-03 | Digital Equipment Corporation | Data and parity prefetching for redundant arrays of disk drives |
| US5490274A (en) * | 1993-06-30 | 1996-02-06 | Microsoft Corporation | Modified buddy system for managing disk space |
-
1993
- 1993-07-16 JP JP05176960A patent/JP3099930B2/ja not_active Expired - Fee Related
-
1994
- 1994-07-15 US US08/275,439 patent/US5652741A/en not_active Expired - Fee Related
-
1997
- 1997-08-13 US US08/910,139 patent/US5781920A/en not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10254646A (ja) * | 1997-03-14 | 1998-09-25 | Hitachi Ltd | 可搬記録メディアのバックアップの方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US5781920A (en) | 1998-07-14 |
| US5652741A (en) | 1997-07-29 |
| JP3099930B2 (ja) | 2000-10-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6961816B2 (en) | Disk array device with selectable method for generating redundant data | |
| JP2501752B2 (ja) | コンピユ―タ・システムのストレ―ジ装置及びデ―タのストア方法 | |
| US5388013A (en) | Data storage format conversion method and system, data access method and access control apparatus | |
| EP0801344B1 (en) | An apparatus for reallocating logical to physical disk devices using a storage controller and method of the same | |
| US7213166B2 (en) | In-place data transformation for fault-tolerant disk storage systems | |
| US5778426A (en) | Methods and structure to maintain a two level cache in a RAID controller and thereby selecting a preferred posting method | |
| US5542066A (en) | Destaging modified data blocks from cache memory | |
| JP2784430B2 (ja) | ディスク・サブシステム及びそのデータ記憶方法 | |
| US5802344A (en) | Method and apparatus for dynamic segment allocation in log structured arrays | |
| EP0874313A2 (en) | Method of storing data in a redundant array of disks | |
| US7228381B2 (en) | Storage system using fast storage device for storing redundant data | |
| EP0552580A2 (en) | Data storage method and apparatus for DASD arrays | |
| EP0690379B1 (en) | Enhanced data management in data storage subsystems | |
| JP3099930B2 (ja) | ディスクアレイ装置 | |
| US20040064641A1 (en) | Storage device with I/O counter for partial data reallocation | |
| CA2125201A1 (en) | Digital storage system and method having alternating deferred updating of mirrored storage disks | |
| US5636356A (en) | Disk array with original data stored in one disk drive and duplexed data distributed and stored in different disk drives | |
| JPH07320422A (ja) | ディスク・アレイ・システムおよび記憶方法並びに制御装置 | |
| US5420983A (en) | Method for merging memory blocks, fetching associated disk chunk, merging memory blocks with the disk chunk, and writing the merged data | |
| EP0657801A1 (en) | System and method for supporting reproduction of full motion video on a plurality of playback platforms | |
| US6029230A (en) | Data storage library with media destaging and prestaging for improved response time | |
| JP2003029934A (ja) | ストレージ制御装置及びその制御方法 | |
| JPH10254642A (ja) | 記憶装置システム | |
| KR19980047273A (ko) | 레이드 레벨 5 시스템에서 캐쉬 관리 방법 | |
| JP3648311B2 (ja) | ディスクアレイ装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070818 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080818 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090818 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100818 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100818 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110818 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120818 Year of fee payment: 12 |
|
| LAPS | Cancellation because of no payment of annual fees |