JP2914261B2 - 外部記憶制御装置及び外部記憶装置制御方法 - Google Patents

外部記憶制御装置及び外部記憶装置制御方法

Info

Publication number
JP2914261B2
JP2914261B2 JP7349609A JP34960995A JP2914261B2 JP 2914261 B2 JP2914261 B2 JP 2914261B2 JP 7349609 A JP7349609 A JP 7349609A JP 34960995 A JP34960995 A JP 34960995A JP 2914261 B2 JP2914261 B2 JP 2914261B2
Authority
JP
Japan
Prior art keywords
external storage
storage device
reading
data
read
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 - Lifetime
Application number
JP7349609A
Other languages
English (en)
Other versions
JPH09171440A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP7349609A priority Critical patent/JP2914261B2/ja
Priority to US08/733,606 priority patent/US5778166A/en
Publication of JPH09171440A publication Critical patent/JPH09171440A/ja
Application granted granted Critical
Publication of JP2914261B2 publication Critical patent/JP2914261B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1879Direct read-after-write methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/36Monitoring, i.e. supervising the progress of recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B2020/10916Seeking data on the record carrier for preparing an access to a specific address
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1816Testing
    • G11B2020/183Testing wherein at least one additional attempt is made to read or write the data when a first attempt is unsuccessful
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2508Magnetic discs
    • G11B2220/2516Hard disks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/40Combinations of multiple record carriers
    • G11B2220/41Flat as opposed to hierarchical combination, e.g. library of tapes or discs, CD changer, or groups of record carriers that together store one title
    • G11B2220/415Redundant array of inexpensive disks [RAID] systems

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、情報処理装置によっ
て使用される外部記憶装置を制御する外部記憶制御装置
に関し、特に、情報処理装置からの読み出し命令に対し
て読み出したデータの転送速度を保証する外部記憶制御
装置に関する。
【0002】
【従来の技術】パーソナルコンピュータ等の情報処理装
置によって使用される外部記憶装置としては、例えば、
ランダムアクセス可能なハードディスクがある。ハード
ディスクは低コスト且つ大容量であるが、RAM等の半
導体メモリと比較するとデータ転送が低速である。この
ため、ハードディスク高速化技術として、ハードディス
クを並列制御する技術が注目されている。これは並列デ
ィスクと呼ばれ、ハードディスク単体の数倍(最大で並
列台数倍)の転送速度が得られる。このような制御装置
を用いたものとして、特開平1−140326号公報
や、文献 D.A.Patterson、G.Gibs
on、R.H.Katz、”A Case for R
edundant Arrays of Inexpe
nsive Disks (RAID)”、ACM S
IGMOD Conference、Chicago、
IL (June 1988)にその例が開示されてい
る。
【0003】図21、図22および図23を参照して、
従来の並列ディスクを説明する。図21において、10
1は#1〜#NのN個のディスク(外部記憶装置)を並
列に配した外部記憶装置、102は読み出し手段、10
3は終了検出手段、104は選択手段であり、105は
外部記憶手段101にコマンドやデータを入力する入力
信号線、106は外部記憶装置101が読み出し処理の
終了を通知する出力信号線、107は外部記憶装置10
1がデータを出力する出力信号線、108は情報処理装
置が読み出し手段102にコマンドやデータを入力する
入力信号線、109は読み出し手段102が情報処理装
置に読み出し処理の終了を通知する出力信号線、110
は終了検出手段103が読み出し手段102に終了を通
知する出力信号線、111は選択手段104が情報処理
装置へデータを出力する出力信号線である。
【0004】上記のような構成において、例えば、ホス
ト(情報処理装置)が外部記憶装置101(並列ディス
ク)にディスクアドレス”512”から1MB分のファ
イルを読み出させる場合を図22を参照して説明する。
ここで、簡単のためにN=4として外部記憶装置101
が4台のディスク #1〜#4から構成されているとす
ると、並列ディスク装置101は#1〜#4の4台のデ
ィスクからホストのバッファメモリに同時にデータを読
み出す。まず、ディスクに発行されるアドレスは全て5
12÷4=128、リード長は全て1MB÷4=256
kB に変換される(ステップS121)。なお、これ
らホストからのコマンドのアドレス及び読み出し長の変
換は、読み出し手段102が行う。
【0005】この後、読み出し手段102が入力信号線
105を介してディスク#1〜#4を起動し、それぞれ
のディスクから出力信号線107を介して選択手段10
4へデータを出力する(ステップS122)。なお、選
択手段104はディスク#1〜#4から入力されたデー
タを適宜選択し、出力信号線111を介してバッファメ
モリの適切なアドレスに出力する。そして、各ディスク
が出力信号線106を介して処理の終了を終了検出手段
103に通知すると(ステップS123)、終了検出手
段103はこれら通知を記憶し(ステップS124)、
終了検出手段103が全てのディスクでの処理の終了を
検出すると(ステップS125)、終了検出手段103
は出力信号線110を介して読み出し手段102に読み
出し終了を通知し、読み出し手段102はホストに出力
信号線109を介して読み出し終了を通知する。
【0006】図23には、アドレスAからデータ長L
(=1MBとする)のデータを読み出す場合のバッフ
ァ、ディスク上のデータ配置、および転送順序を示して
ある。なお、図中の単体ディスクアドレスは各ディスク
101(#1〜#4)単体のアドレスであり、ディスク
101(#1〜#4)内に記載してある数字はこれら並
列ディスクを1台のディスクとして捉えたときのアドレ
スである。並列ディスクの読み出しアドレス区間Rと、
ディスク #i(i=1,2,3,4)の読み出しアド
レス区間Riは、式(1)〜(3)のように示される。
【0007】
【数1】 R={A,A+1,A+2,・・・,A+L−1} ・・・・・(1)
【0008】
【数2】 R=R1+R2+R3+R4 ・・・・・(2)
【0009】
【数3】 Ri={j∈R|j≡i−1(mod4)} ・・・・・(3)
【0010】各ディスクへのコマンド発行時にはRiを
使用し、並列ディスクアドレスAからデータ長Lのデー
タを読み出す時は各ディスクにアドレスA/4から(A
/4)+(L/4)−1までを読み出させる。ここで
は、ディスクからバッファメモリへの転送時に、DMA
Cのアレイチェインを用いてデータの並べかえを行って
いるが、読み出し終了後にホストがデータの並べかえを
行っても構わない。以上の動作により、並列ディスクア
ドレスのAからA+L−1までを4並列で読み出すこと
が可能となる。
【0011】この時のデータ転送タイムチャートを示す
と、図19(b)のようになる。なお、図中の矢印実線
は平均読み出し時間(ディスクリード)である。単体デ
ィスクの通常時のデータ転送タイムチャートを示す図1
9(a)と比較すると、単体ディスクでは4単位時間か
かるが、並列ディスクでは1単位時間しかかからない。
このように、4台のディスクにより並列ディスク構成を
することにより、ディスク1台だけを使用する時と比較
して最大4倍の転送速度が得られる。
【0012】また、近年では、高速プリントサーバ、V
OD(ビデオ・オン・デマンド)サーバ等、画像をリア
ルタイムで扱うシステムが増加してきた。これらは大量
の画像データを扱うために高速な記憶装置を必要とする
が、それと同時にデータ読み出し時の速度保証が必要で
ある。例えば、高速プリントサーバの場合には、プリン
タが一定速度でプリント処理を行うことから、サーバが
プリンタに一定速度で画像データを供給しなければ、白
紙、あるいは一部が欠落した画像が出力される可能性が
ある。また、VODの場合には、サーバがクライアント
に一定速度で画像データを供給しなければ、フレーム落
ちや映像の乱れが発生する。
【0013】上記のような不具合は、動画像を扱うVO
Dにおいてはフレーム落ちは一瞬であるため利用者に発
見されない場合が多く、上記の不具合はそれほど問題と
はならないが、プリントサーバにおいては静止画像を扱
うためラインやブロックの欠落が発生すればほとんどの
利用者に発見されるため重大な問題となり、欠落が発生
すれば紙詰まりと同様に破棄されることとなる。因み
に、プリンタそのもののエラー率は10-6程度であるた
め、プリンタに本来の性能を発揮させるためには、デー
タを供給するプリントサーバはこれより例えば1〜2桁
以上小さなエラー率が要求される。ところが、ハードデ
ィスク単体では読み出し時の速度が一定でないという欠
点があるため、現実には、読み出し速度の保証どころ
か、読み出し速度(読み出し時間)の予想すら困難であ
る。
【0014】ハードディスクの読み出し速度にばらつき
を与えている主な要因には、以下のようなものがある。 (1)シーク時間(所要時間10ms程度、読み出し毎
に発生)、ハードディスクのメディアは円盤であり、デ
ータの読み出し・書き込み対象となるトラックは、同心
円状に配置される。トラックには複数のセクタが存在
し、ヘッドが目的のトラックの目的のセクタへと移動し
て初めてデータの読み出し・書き込みが可能になる。複
数のメディアが存在する場合、中心から同一距離にある
トラックをまとめてシリンダと呼ぶが、ヘッドを目的の
シリンダに移動させるためにかかる時間がシーク時間で
あり、このようなシーク動作は次のような過程からなっ
ている。
【0015】i)加速:シークする距離の半分に達する
か、あるいは、定められた最大移動速度になるまでヘッ
ドを加速する。 ii)定速移動:長い距離をシークするときには、加速
された最大速度でヘッドを移動させる。 iii)減速:ヘッドを目的のトラックの近傍に停止さ
せる。 iv)セトリング:サーボ機構によってヘッド位置の微
調整を行う。 例えば、現在主流のハードディスクにおいては、平均シ
ーク速度は10ms程度であり、数シリンダ以下の非常
に短いシークにおいては、シーク時間のほとんどはセト
リングの時間で、1〜2ms程度である。また、500
シリンダ以下の短距離シークでは、シーク時間のほとん
どは加速の時間であり、10〜15ms程度である。ま
た、それ以上の長距離シークでは、定速移動に時間がか
かり、20〜30ms程度である。
【0016】ハードディスクが半導体メモリからなるバ
ッファを所持する場合には、平均シーク時間を短縮する
ことも可能である。減速後からセトリングが終了するま
での間に、その時点で読み出し可能なトラックから半導
体メモリにデータを読み出す。もし、目的のトラックで
あったならば、この時に読み出したデータを採用して読
み出し終了までの時間を短縮することができる。ホスト
やハードディスクが読み出しや書き込みコマンドの順序
を入れ換えてシーク時間が短くなるようにスケジューリ
ングすることにより、総シーク時間を減少させることも
可能であるが、これには限界がある。
【0017】(2)回転待ち時間(所要時間5ms程
度、読み出し毎に発生)、前述のようにハードディスク
のメディアは円盤であるため、ヘッドが目的のトラック
に移動した後に目的のセクタに到達するまでに時間がか
かる。平均回転待ち時間は回転数の逆数の半分であり、
例えば、最近主流の7200rpm(=120rps)
の製品であれば、1÷120÷2=4.2×10-3秒と
なる。なお、最大回転待ち時間は回転数の逆数であり、
最小回転待ち時間は”0”である。ハードディスクが半
導体メモリからなるバッファを所持する場合には、実質
的な回転待ち時間を短縮することも可能である。例え
ば、シーク終了後、目的のセクタがヘッドを既に通り過
ぎていた時に、その時点で読み出し可能なセクタから半
導体メモリにデータを読み出すことにする。この時に読
み出したデータが読み出し対象であるならば、新たに同
じデータを読み出すことなく半導体メモリのデータを使
用することにより、読み出し終了までの時間を短縮する
ことができるが、アクセスパターンに依存するため時間
短縮にも限界がある。
【0018】(3)リードエラーリトライ(所要時間1
0ms程度、読み出し時に10-10でランダムに発
生)、メディアからアナログ情報を読み出してディジタ
ル情報に復号する時に、アナログ情報が不安定であった
り、あるいはノイズによる影響でエラーが検出されるこ
とがある。訂正可能なエラーであった場合には、データ
は復号LSIにより訂正されるだけで処理時間の遅延は
ないが、訂正不可能なエラーであった場合には、リトラ
イを行うこととなる。リトライ回数の上限は設定可能
で、通常は10回程度である。リトライ方法は、エラー
データを含むセクタの再読み出しである。したがって、
リトライ1回当たりの遅延はメディアが1回転する時間
であり、7200rpmのハードディスクの場合には
8.3msである。エラーの原因がノイズのような偶発
的なのもであるならば、ほとんどの場合は1回のリトラ
イで回復する。しかしながら、メディアの破損やハード
ディスクの故障が原因であるならば、例え10回リトラ
イしての回復しない場合が多い。この時は、100ms
以上の遅延が発生するだけでなく、読み出しそのものが
失敗してしまう。
【0019】(4)シークエラーリトライ(所要時間1
00ms以上、読み出し時に10-6でランダムに発
生)、シーク時に、目的のシリンダを発見できないこと
がある。この原因は、温度変化によるベアリングの粘性
抵抗の変化やメディアの温度膨張によるシーク失敗、外
部からの振動、サーボ面の破損等といった様々なものが
考えられる。これらの原因により、ヘッドが目的のシリ
ンダ付近へシークできず、シークエラーが発生する。シ
ークエラーが発生した場合には、リトライを行うが、リ
トライ回数は最高で5回程度である。リトライ時の成功
確率を向上させるために、ヘッドをいったん最外周のシ
リンダへ移動させてから目的のシリンダへ移動させるた
め、リトライ1回当たりの遅延は大きく、100ms程
度である。
【0020】(5)サーマルリキャリブレーション(所
要時間500〜1000ms程度、数十分に1回発
生)、ハードディスクはモータの発熱、LSIの発熱、
設置されている環境等に応じて、使用中に温度が変化す
る。この場合、前述したようにシークエラーと温度変化
に密接な関係があるので、シークパラメータを再調整す
る必要があり、これをサーマルリキャリブレーションと
呼ぶ。サーマルリキャリブレーションは、前回のサーマ
ルリキャリブレーションの終了から一定時間経過後、あ
るいは温度変化が設定値を越えたときに行われる。サー
マルリキャリブレーションの間隔は製品によって異なる
が、10分〜20分に1回というものが多い。サーマル
リキャリブレーションはコマンド実行中には発生しない
が、コマンド実行時に併せてサーマルリキャリブレーシ
ョンを実行するような製品も存在し、最大で約1秒の遅
延が発生する。サーマルリキャリブレーションは、例え
ば、予め設定したシリンダ間でシーク→シリンダ位置確
認→パラメータへのフィードバック→シーク・・・・・
という手順で行われ、目的のシリンダ位置と実際のシリ
ンダ位置との差が設定値以下となるまで、各ヘッドに対
してシークパラメータを更新する。
【0021】(6)アドレスによる読み出し速度の違い
(最大で40〜50%の速度差、読み出し毎に発生)、
ハードディスクのメディアは円盤であるため、データが
同一密度で記録されるならば、外周部の方が内周部より
多くのデータを記録できる。メディアの回転数は一定で
あることを考えると、外周部からの読み出しの方が内周
部からより高速になり、製品によって異なるが、外周部
からの方が40〜50%高速となる。
【0022】上記した(1)〜(6)の内、(1)、
(2)、(6)は必ず発生するものであるため、これら
に対しては期待値の代わりに最悪値を使用することによ
り、読み出し速度を保証することができる。しかしなが
ら、(3)〜(5)のようなイレギュラーに対しては予
測不能であり、有効な対策を図る必要がある。このよう
なイレギュラーは、温度や湿度の影響を受けやすい。従
来、外部記憶装置は計算機本体と共に温度変化が小さい
計算機室に設置されていたが、例えば、プリントサーバ
の外部記憶装置であると、必然的に温度変化が大きいオ
フィス内に設置される場合が多い。したがって、近年で
は、従来より高い確率でイレギュラーが発生すると考え
られる。
【0023】ここで、従来の並列ディスクにおいてもハ
ードディスク単体と同様に、読み出し時の速度保証がな
いという欠点があった。これは、並列ディスクにおい
て、データが複数のディスクに分散・配置されているた
めに、データが配置されているディスクが全て正常に動
作しない限り、期待通りの速度が得られないことが原因
である。単位時間当たりのイレギュラー発生確率がpの
単体ディスクをN台使用した時、並列ディスク全体での
単位時間当たりのイレギュラー発生確率pAは式(4)
のようになる。
【0024】
【数4】 pA=1−(1−p)N ・・・・・(4)
【0025】イレギュラーとは、リキャリブレーション
(再調整)やエラー等により、処理速度が低下すること
を意味する。例えば、温度変化に対応するためのサーマ
ルリキャリブレーションは、通常、10〜20分に1回
という高い頻度で発生する。ディスクが4台ならば、イ
レギュラーは単体ディスク時と比較して4倍近い頻度で
発生するので、3〜5分に1回のイレギュラーが発生す
ると予想される。イレギュラー発生時のデータ転送タイ
ムチャートを示すと、図20(b)のようになる。ここ
では、イレギュラー発生による時間経過を7単位時間と
している。図20(b)において、並列ディスクではデ
ィスク#2にイレギュラーが発生したために8単位時間
かかっており、図20(a)に示す単体ディスクの場合
の11単位時間と比較すると、約40%しか高速になっ
ていない。イレギュラーが発生していない時の速度と比
較すると、単体ディスクの速度は、4.0÷11.0=
(約)1/2.8に低下しているだけだが、並列ディス
クの速度は、1.0÷8.0=1/8.0に著しく低下
している。従って、並列ディスクのリード速度に対し
て、イレギュラーの影響が大きいことが分かる。
【0026】上記のようなイレギュラーが発生する度
に、高速プリンタならば白紙が出力され、VODならば
フレーム落ちが発生する可能性がある。これらを回避す
るためには、最悪データ供給速度が高速プリンタやVO
Dクライアントが要求する速度以上であることを保証す
る必要がある。これらに対する解決策として、バッファ
にデータを蓄えておき、イレギュラー発生時にはバッフ
ァのデータを使用する方法がある。しかしながら、大容
量データの供給速度を保証するためには大容量のバッフ
ァが必要になるという欠点がある。例えば、A4サイズ
のフルカラー(24bits/dot)・400dot
s/25.4mmの原稿を、毎秒1枚出力する高速プリ
ンタを利用するアプリケーションにおいて、イレギュラ
ーが最大1秒間継続し、その間は並列ディスクからのデ
ータ転送が停止する場合には、約50MB/秒のデータ
を必要とするので、必要なバッファ量は50MB/秒×
1秒=50MBとなる。VODでも同様に、10Mbi
ts/秒のデータを必要とするVODクライアントが5
0人いるなら、10Mbits/秒×1秒×50=6
2.5MBにも達する。このように、上記のアプリケー
ションに従来例を適用する場合には、大容量のバッファ
が必要となる。
【0027】また、大容量のバッファを実装した場合に
は、レスポンスが低下するという問題がある。レスポン
スとは、サービス要求を受け付けてからサービスを開始
できるまでにかかる時間を意味する。読み出し速度保証
をするために、バッファをリードデータで満たすまで、
プリントやビデオ送信は開始できない。例えば、前記の
条件で、並列ディスクが平均70MB/秒で動作すると
仮定すると、バッファなしの場合と比較して、高速プリ
ンタの場合は、50MB÷70MB/秒=0.7秒、V
ODの場合は、62.5MB÷70MB/秒=0.9
秒、レスポンスが低下する。
【0028】ここで、以上の計算は、イレギュラーが連
続発生しないと仮定した場合のものである。先の条件で
一度イレギュラーが発生した場合に、再びリード速度保
証が可能になるまでにかかる時間は、高速プリンタの場
合は、50MB÷(70MB/秒−50MB/秒)=
2.5秒、VODの場合は、62.5MB÷(70MB
/秒−62.5MB/秒)=8.3秒となる。この間、
リード速度保証は出来ない。ここで、以下のように仮定
する。 ・イレギュラー発生の確率過程をポアソン過程とする。 ・イレギュラー継続時間は1秒とする。 ・複数のディスク間でのイレギュラー発生は独立事象で
あるとする。 ・イレギュラー発生確率は、1秒÷5分=1/300と
する。 このような仮定に基づくと、イレギュラー発生直後から
t秒以内に再びイレギュラーが発生する条件付き確率p
i(t)は、式(5)のようになる。
【0029】
【数5】 pi(t)=1−exp(−t/300) ・・・・・(5)
【0030】例えば、式(5)にt=2.5、t=8.
3を代入して、高速プリンタ、VODの条件付きイレギ
ュラー発生確率を求めると、それぞれ、8.3×1
-3、2.7×10-2となる。従って、高速プリンタで
は、5分÷(8.3×10-3)=10時間に1回、VO
Dでは、5分÷(2.7×10-2)=3時間に1回の期
待値で連続イレギュラーが発生し、データ供給が途切れ
ることとなる。
【0031】
【発明が解決しようとする課題】従来の並列ディスクに
あっては、速度を高めようとして並列度を高めるほど、
イレギュラー発生確率も高くなる。従って、読み出し速
度保証をするために大量のバッファが必要になる。その
結果、レスポンスの低下、および、連続イレギュラーに
よるデータ供給停止の確率増大を招く。従って、従来の
並列ディスクでは、読み出し時の速度保証を求めるシス
テムには適用できないという問題があった。そこで、こ
の発明の目的は、複数の外部記憶装置(ディスク)を用
いてデータの多重化を行い、多重化されたデータを複数
の外部記憶装置から並列して読み出すような制御を行う
ことにより、イレギュラーが発生しても読み出し時の速
度を保証する外部記憶制御装置及び制御方法を提供する
ことにある。
【0032】
【課題を解決するための手段】前記目的を達成するため
に、請求項1、請求項2、または請求項7に係る発明
は、図1に示すように、同一のデータがそれぞれに記憶
された複数の外部記憶装置#1〜#Nと、入力された読
み出し命令に応じてそれぞれの前記外部記憶装置から同
時にデータを読み出す読み出し手段2と、読み出し手段
2による読み出しが最も早く終了した外部装置を検出す
る終了検出手段3と、終了検出手段3により検出された
外部記憶装置から読み出されたデータを選択する選択手
段4と、終了検出手段3により検出された外部記憶装置
以外の外部記憶装置の内のイレギュラーが発生した外部
記憶装置を検出するイレギュラー検出手段5と、イレギ
ュラー検出手段5により検出された外部記憶装置に対し
て次回の読み出し命令を禁止する読み出し禁止手段6
と、を具備する。なお、図1には、複数の外部記憶装置
#1〜#Nをまとめて符号1で示してある。
【0033】この発明では、読み出し手段2は図外のホ
ストから入力信号線11を介して読み出しが指示される
と、複数の外部記憶装置#1〜#Nに読み出しコマンド
を発行し、この読み出しが終了したときには出力信号線
12を介してホストに終了を通知する。終了検出手段3
は、複数の外部記憶装置の読み出し終了を検出可能であ
り、最初の1台の終了を検出すると読み出し手段2と選
択手段4に出力信号線13を介して終了した当該外部記
憶装置を通知する。選択手段4はこの終了通知を受け取
ると、出力信号線14を介して外部記憶装置から出力さ
れたデータを出力信号線15を介して出力する。
【0034】イレギュラー検出手段5は、読み出し手段
2から入力信号線16を介して読み出しコマンドを発行
した外部記憶装置を通知され、また、外部記憶装置から
は読み出しが終了した外部記憶装置が出力信号線17を
介して通知される。イレギュラー検出手段5は通知に含
まれる2種の情報(例えば、時刻とデータ転送量)から
イレギュラーが発生している外部記憶装置を検出し、読
み出し禁止手段6に入力信号線18を介してイレギュラ
ーが発生している外部記憶装置を通知する。この通知に
基づいて、読み出し禁止手段6はイレギュラーが発生し
ている外部記憶装置へ読み出しコマンドを発行しないよ
うに制御する。したがって、この発明によれば、外部記
憶装置にイレギュラーが発生しても、他の正常な外部記
憶装置の読み出し結果が採用される。また、イレギュラ
ーが発生した外部記憶装置は、イレギュラー中に読み出
しコマンドを実行しないように制御される。
【0035】また、前記目的を達成するために、請求項
3、請求項4、または請求項8に係る発明は、図2に示
すように、複数のブロックに分割された同一のデータが
それぞれに記憶された複数の外部記憶装置#1〜#N
と、外部記憶装置からデータを等分なブロック数ずつ重
複することなく読み出す読み出し手段2と、読み出し手
段2による読み出しが遅れている外部記憶装置を検出す
る遅れ検出手段と、読み出し手段2による読み出しが終
了している外部記憶装置を検出する終了検出手段3と、
遅れ検出手段7により遅れが検出された外部記憶装置の
読み出しが未終了なデータブロックを、終了検出手段3
により終了が検出された外部記憶装置から読み出す追加
読み出し手段8と、を具備する。なお、この発明は概ね
図1に示した構成に対して、イレギュラー検出手段5を
削除するとともに、遅れ検出手段7と追加読み出し手段
を追加した構成となっており、図2中には図1と同等な
部分については同一符号を付してある。
【0036】この発明では、読み出し手段2は図外のホ
ストから入力信号線11を介して読み出しを指示される
と、複数の外部記憶装置に対して読み出しコマンドを発
行し、読み出し終了時にはホストに対して出力信号線1
2を介して読み出し終了を通知する。終了検出手段3
は、複数の外部記憶装置の終了を出力信号線17を介し
て検出可能であり、予め設定された終了台数を検出する
と、読み出し手段2と選択手段4には出力信号線13を
介して、また、追加読み出し手段8には出力信号線19
を介して読み出しを終了した外部記憶装置を通知する。
選択手段4はこの終了通知を受け取ると、外部記憶装置
から出力信号線14を介して送られてきたデータを出力
信号線15を介して出力する。
【0037】遅れ検出手段7は読み出し禁止手段6から
入力信号線16を介して読み出し対象の外部記憶装置を
通知され、外部記憶装置からは出力信号線17を介して
読み出しの終了が通知される。遅れ検出手段7は通知に
含まれる2種の情報(例えば、時刻とデータ転送量)か
ら遅れが発生している外部記憶装置を検出し、読み出し
禁止手段6に出力信号線20、追加読み出し手段8、出
力信号線21を介して遅れが発生している外部記憶装置
を通知する。この通知に基づいて、読み出し禁止手段6
はイレギュラーが発生している外部記憶装置へ読み出し
コマンドを発行しないように制御する。また、追加読み
出し手段8は終了検出手段3からの通知と遅れ検出手段
7からの通知に基づいて、追加読み出しを行う外部記憶
手段を決定し、追加読み出しを行う。したがって、この
発明によれば、外部記憶装置にイレギュラーに基づく遅
れが発生しても、他の正常な外部記憶装置から代わりに
データを読み出す。また、イレギュラーが発生した外部
記憶装置はイレギュラー中には読み出しコマンドを実行
しない。
【0038】前記目的を達成するため、請求項5または
請求項6に係る発明は、図3に示すように、読み出し制
御手段9と書き込み制御手段10を有するものである。
読み出し制御手段9は図2中に破線で囲んで示すよう
に、読み出し手段2、終了検出手段3、選択手段4、読
み出し禁止手段6、遅れ検出手段7、追加読み出し手段
8により同様に構成されるが、外部記憶装置からデータ
を読み出すアドレスは書き込み制御手段10に従う。書
き込み制御手段10はデータを全ての外部記憶手段に分
散して書き込むように制御する第1の書き込み手段と、
第1の書き込み手段が分散して書き込んだデータをそれ
ぞれ別の外部記憶装置の別のアドレスに書き込むように
制御する第2の書き込み手段から構成される。
【0039】この発明では、読み出し制御手段9または
書き込み制御手段10は図外のホストから入力信号線2
2を介して読み出しまたは書き込みを指示され、また、
読み出しまたは書き込み終了時にはホストに対して出力
信号線23を介して読み出しまたは書き込み終了を通知
する。読み出し制御手段9からは読み出しコマンドが、
書き込み制御手段10からは書き込みコマンド及びデー
タが、各外部記憶装置に対して出力信号線24を介して
出力される。また、外部記憶装置からのデータ及び通知
は出力信号線25、26を介して読み出し制御手段9及
び書き込み制御手段10へ入力される。この書き込み
は、第1の書き込み手段と第2の書き込み9手段とが協
働して行い、例えば、第1の書き込み手段が外部記憶装
置の高速なアドレスにデータを書き込むように制御すれ
ば、読み出しは遅れが検出されない限り高速なアドレス
を利用し続けることが可能になる。
【0040】
【発明の実施の形態】まず、本発明の第1実施例を図
1、図4〜図10、図19(c)および図20(c)を
参照して説明する。図4において、29はホストコンピ
ュータ(ホスト)、30は周辺バス(バス)、31〜3
4はそれぞれ外部記憶装置としてのディスク#1〜#
4、41〜44はそれぞれディスク#1〜#4に対応し
たバッファメモリ#1〜#4であり、ホスト29、バッ
ファメモリ#1〜#4、ディスク#1〜#4はバス30
を介して接続されている。本実施例では、ホスト29
が、図1に示した読み出し手段2、終了検出手段3、選
択手段4、イレギュラー検出手段5、読み出し禁止手段
6を有する外部記憶制御装置を構成しており、バス30
を介してバッファメモリ#1〜#4への読み出し及び書
き込み、ディスク#1〜#4に対する読み出し及び書き
込み制御を行う。
【0041】バッファメモリ#1〜#4はそれぞれディ
スク#1〜#4からのデータ読み出し、およびディスク
#1〜#4へのデータ書き込みに使用し、ホスト29か
ら自由に読み出しおよび書き込みが行える。これらバッ
ファメモリ#1〜#4は通常のハードディスク製品に
0.5〜1MB程度内蔵されており、図4には説明し易
くするために分離して示してある。ディスク#1〜#4
は全て同じタイプであることが望ましいが、一部を高速
なディスクにすれば読み出し高速化に有効である。ま
た、本実施例ではディスクは4台としているが、これ以
上多くても少なくてもよく、要は、複数台備えられてい
ればよい。
【0042】図1、図5および図6を参照して、本実施
例における読み出し処理の手順を説明する。まず、読み
出し手段2がディスク(外部記憶装置)#1〜#4に発
行するコマンドをディスクの台数分準備し(ステップS
1)、以下の処理を外部記憶装置の台数分繰り返し行
う。すなわち、外部記憶装置にコマンドを発行する前
に、読み出し禁止手段6が指定された外部記憶装置が使
用可能かをチェックする(ステップS2)。なお、初期
状態では外部記憶装置は使用可能となっている。
【0043】指定された外部記憶装置が使用可能な場合
には、読み出し禁止手段6は内部のフラグを使用可能か
ら使用不可能に変更して当該外部記憶装置を専有した後
(ステップS3)、イレギュラー検出手段5にコマンド
の内容を通知するとともに(ステップS4)、指定され
た外部記憶装置にコマンドを発行して起動させる(ステ
ップS5)。なお、イレギュラー検出手段5は、通知さ
れた外部記憶装置の起動時刻およびデータ転送量を記録
する(ステップS4)。そして、読み出し手段2が外部
記憶装置の指定を変更して(ステップS6)、以上の処
理(ステップS2〜S5)を繰り返し行わせ、このよう
な繰り返し処理が外部記憶装置の台数分行われたところ
で処理を一旦終了して(ステップS7)、起動した外部
記憶装置からの読み出し終了の割り込み発生を待つ。
【0044】図6に示すように、この読み出し終了の割
り込みが発生した場合には(ステップS11)、終了検
出手段3が当該割り込みを発生した外部記憶装置が同じ
読み出しコマンドによって起動されている外部記憶装置
の内で読み出し終了が最も早いかをチェックする(ステ
ップS12)。この結果、最も読み出しが早い割り込み
である場合には、終了検出手段3が読み出し手段2と選
択手段4へ読み出し終了を通知し(ステップS13)、
選択手段4に当該外部記憶装置が読み出したデータをホ
ストに転送させる(ステップS14)。なお、割り込み
が最も早くない場合には、当該外部記憶装置が読み出し
たデータは既にホストに転送されており、専有する必要
がないので前記内部フラグを使用可能に変更する(ステ
ップS15)。
【0045】上記の処理(ステップS14、S15)の
後、イレギュラー検出手段5は、その時点で使用不可能
な外部記憶装置が使用可能になっているか否かを、例え
ば式(6)を使用してチェックする(ステップS1
6)。なお。式(6)中の、Sはその時点までのデータ
転送量、Xは外部記憶装置の正常時の最悪データ転送速
度、tは起動からの経過時間であり、f(S,t)が負で
あるときにはイレギュラーが発生してデータ転送が遅れ
ているとみなす。ここで、イレギュラーが発生していな
いと判断された外部記憶装置については当該外部記憶装
置についての前記内部フラグを使用可能に変更した後、
(ステップS18)、使用可能になった外部記憶装置を
読み出し禁止手段6に通知する(ステップS19)。こ
の結果、今回新たに使用可能となった外部記憶装置につ
いて、読み出し禁止手段6は内部フラグを使用可能に変
更して処理を終了する(ステップS20)。
【0046】
【数6】f(S,t)=S−Xt ・・・・・(6)
【0047】ここで、上記した読み出し禁止手段6の内
部フラグは、図7に示すような内部フラグテーブルに設
定され、ディスク(外部記憶装置)#1〜#4毎に使用
可または使用不可を示すフラグが設定される。このよう
にフラグによってそれぞれのディスク(外部記憶装置)
の状態を管理する理由は、イレギュラーが発生したもの
から次のデータ読み出しを行っても無駄だからである。
図8には、読み出しにおける各ディスク#1〜#4の処
理時間をタイムチャートで示してある。例えば、ディス
ク#2〜の読み出しが、1回目はイレギュラーが発生
し、2回目は正常であった場合、1回目のイレギュラー
による遅れで2回目の読み出しは他のディスクにイレギ
ュラーが発生しない限り間に合わない。イレギュラー検
出手段5はこのような事態を式(6)によって検出し、
読み出し禁止手段6はこの検出に基づいて内部フラグを
更新する。
【0048】また、上記の処理(ステップS18)で読
み出しが未終了の外部記憶装置を使用可能にする理由
は、連続して効率的な読み出しを行うためである。すな
わち、最初の1台の読み出しが終了した時点では、他の
外部記憶装置は全て未終了であるので、次の読み出しは
この終了した1台の外部記憶装置で行うこととなってし
まう。通常、最初の1台の外部記憶装置の読み出しが終
了した時には、他の外部記憶装置の読み出しも終了に近
いと考えられるので、終了が近いと考えられる装置は使
用可能にして次の読み出しに使用できるようにし、1台
の外部記憶装置だけで読み出しを行う事態を回避する。
【0049】次に、本実施例におけるデータ書き込み動
作を図9を参照して説明し、更に、本実施例のデータ読
み出し動作を図10を参照して説明する。データ書き込
み動作では、まず、ホスト29がディスクアドレスA
と、データ長Lを決定する。ここでは、データ長Lを1
MBとし、データ長Lはバッファメモリ#1〜#4のサ
イズ以下であるとする。次いで、ディスク#1〜#4を
起動しデータを書き込むが、ディスク#1〜#4に書き
込むデータは全て同一のデータを用いる。そして、全て
のディスク#1〜#4に同一のデータを転送して処理を
終了する。
【0050】データ読み出し動作では、上記のようにデ
ィスク#1〜#4に書き込まれたデータを読み出す。図
10には、ディスク#1〜#4からバッファメモリ#1
〜#4にデータを読み出すときのディスクアドレスとバ
ッファメモリアドレスとの対応を示してあり、ディスク
#1〜#4のデータは図中に矢印で示されたバッファメ
モリ#1〜#4に転送される。なお、ディスク#1〜#
4内に記載してある数字はディスクアドレスであり、各
ディスク#1〜#4で同一の数字が存在するのは、デー
タを4台のディスクに多重化して書き込んであるからで
ある。また、バッファメモリ#1〜#4内の数字は数字
に対応するディスクアドレス(オフセットA)のデータ
が格納されることを示している。また、単体ディスクア
ドレスは、各ディスクを単体ディスクとみなしたときの
アドレスを示し。転送順序は、図中の矢印(アドレス昇
順)にディスク読み出しおよびデータ転送が行われる。
【0051】このデータ読み出し動作では、まず、ホス
ト29がディスクアドレスAと、データ長Lを決定す
る。そして、全てのディスク#1〜#4を起動して読み
出しを行わせ、最初の1台のデータ転送が終了するのを
待ち、最初に終了したディスクからのデータを採用す
る。なお、最初の1台のデータ転送が終了した時に、次
回の読み出しの妨げとならないように、読み出し終了を
待つよりアボートする方が早いと考えられるときは、終
了していないディスクをアボートする。
【0052】図19(c)と図20(c)には、通常時
とイレギュラー発生時とのデータ転送タイムチャートを
示してある。図19(a)と図20(a)に示す単体デ
ィスクの場合と比較すると、通常時は単体ディスクと同
程度の速度であるが、イレギュラー発生時には、単体デ
ィスクの場合は11単位時間要するのに対して4単位時
間で済み、11.0÷4.0=2.8倍に速度が向上す
る。
【0053】また、単位時間当たりのイレギュラー発生
率がpの単体ディスクをN台使用しtた時、本実施例に
おける装置全体での単位時間当たりのイレギュラー発生
確率を計算すると次のようになる。全てのディスクがイ
レギュラーの時のみ、装置全体がイレギュラーとなるの
で、イレギュラー発生確率pTは式(7)のようにな
る。そして、式(4)および式(7)より、従来例と本
実施例とのイレギュラー発生確率pAとpTとを比較する
と、式(8)のようになる。従って、本実施例のイレギ
ュラー発生確率は、従来例のイレギュラー発生確率より
小さいものとなっている。
【0054】
【数7】pT=pN ・・・・・(7)
【数8】pT<p<pA ・・・・・(8)
【0055】次に、図2、図11〜図13、図19
(d)、および図20(d)を参照して本発明の第2実
施例を説明する。この実施例は、第1実施例と同様に速
度保証を行いつつ、読み出し平均速度を並列ディスクと
同程度に向上させたものである。図11に示すように、
ハードウェア構成は第1実施例とほぼ同様であるが、異
なるのは、バッファメモリ40をまとめてディスク側か
らホスト29上に移設したこと、転送にDMAC46を
使用した点である。なお、DMAC46はディスクの台
数以上のチャネル数を有しており、本実施例では4本以
上有している。
【0056】本実施例においては、データ書き込み動作
は上記した第1実施例と同様であるので、図12を参照
してイレギュラーが発生しなかった場合のデータ読み出
し動作を説明し、また、図13を参照してイレギュラー
が発生した場合のデータ読み出し動作を説明する。図1
2には、ディスク#1〜#4からバッファメモリ40に
データを読み出す時のディスクアドレスとバッファメモ
リアドレスの対応を示してある。ただし、図9のときと
異なり、バッファメモリの総量が1/4であり、また、
各ディスクの読み出し開始位置が{データ長/4}ずつ
ずれている。なお、{/}は剰余を切り上げる除算であ
る。
【0057】書き込み動作では、まず、ホスト29がデ
ィスクアドレスAと、データ長Lを決定するが、アドレ
スとデータ長を以下のように変換する。 Ai=A+(i−1)・L/4、 Li = L/4、 (ここに、Ai、Liはそれぞれ、ディスク#iに対す
るディスクアドレス、データ長であり、i = 1,
2,3,4である。)
【0058】DMAC46は、図12のように、Aiか
らAi+L/4−1をバッファメモリアドレスM+(i
−1)・L/4に転送するように設定する。ここで、M
はバッファ40のオフセットであり、バッファ40の先
頭から使用する場合はM=0である。次いで、全てのデ
ィスク#1〜#4とDMAC46を起動して読み出しを
開始する。読み出しデータは4つのブロックに分割され
ているとともに、それぞれのディスクの読み出し開始ア
ドレスは総読み出しサイズの1/4ずつずれており、各
ディスク#1〜#4からブロック毎に並列に読み出され
る。この結果、各ディスク#1〜#4からブロック毎に
読み出された4つのデータはバッファ上で1つのデータ
になる。従って、単位時間当たりの読み出しデータ量が
4倍になっているので、第1実施例の4倍の速度が期待
できる。
【0059】以上はイレギュラーが発生しなかった場合
であるが、イレギュラーが発生した場合の動作について
は図13を参照して説明する。図13に示す状態は、図
12に示した状態から一定時間経過した状態であり、デ
ィスク#1の読み出しは終了し、ディスク#2にイレギ
ュラーが発生した例である。なお、ディスク#3、#4
にはイレギュラーは発生していないが、ディスク#1よ
り遅れており、それぞれx、y迄の読み出しが終了して
いる。ディスク#2が遅れている事は、遅れ装置検出手
段7が検出する。具体的には、ホスト29がDMAC4
6のデータ転送カウンタを調べることによって分かる
が、遅れているかどうかの評価式は、例えば、式(9)
を使用する。
【0060】
【数9】 f(S,t)=S−Xt+T ・・・・・(9)
【0061】ここに、Sはデータ転送カウンタから得ら
れるデータ転送長、Xはイレギュラーが発生しない時の
ディスクの最悪データ供給速度、tは転送開始からの経
過時間、Tはディスクやコントローラのオーバヘッドを
考慮するための固定値である。なお、XとTは、予め実
験により、適切な値を求めておく。式(9)によれば、
f(S,t)が正またはゼロの時は、ディスクにイレギ
ュラーが発生しておらず、逆にf(S,t)が負の時
は、ディスクにイレギュラーが発生していると判断す
る。
【0062】図13では、ディスク#2においてf
(S,t)<0であるので、読み出しが終了したディス
ク#1を追加読み出し手段8が選択し、ディスク#2か
ら読み出されるべきデータを読み出す。この時までのデ
ィスク#2のデータ読み出し量がSであるので、ディス
ク#1に対して、新たにA+L/4+SからA+L/2
−1までの読み出しを開始する。バッファメモリアドレ
ス、転送アドレス、データ長、DMAC46の設定は、
最初の設定と同様にホスト29が行う。
【0063】実際に採用されるデータは、選択手段4が
バッファメモリ40上に構成する。採用されるデータ
は、ディスク#1あるいはディスク#2のうち、先に終
了した方の読み出しデータである。どちらかが終了した
時点で、次回の読み出しの妨げにならないように、終了
していない方のディスクをアボートしても良い。もし、
ディスク#1からの読み出しが先に終了すれば、選択手
段4は、DMACh.#2のデータ転送を強制停止さ
せ、ディスク#1から追加読み出ししたデータをディス
ク#2から読み出ししていたバッファメモリアドレスに
コピーする。このように、一部のディスク(ディスク#
2)にイレギュラーが発生しても、他のディスク(ディ
スク#1)でカバーすることができる。
【0064】通常時とイレギュラー発生時のデータ転送
タイムチャートを、それぞれ図19(d)、図20
(d)に示す。通常時は、全てのディスク#1〜#4が
正常に動作しているとホスト29が判断したため、図1
9(b)の並列ディスクの従来例と同じ結果が得られて
いる。これに対して、イレギュラー発生時はホスト29
がディスク#2の代わりにディスク#1を割り当てたた
め、読み出しは1.5単位時間で終了している。これ
は、図20(b)のイレギュラー発生時の従来例と比較
して、8.0÷1.5=(約)5.3倍高速となってい
る。
【0065】次に、図3、図14〜図18、図19
(e)および図20(e)を参照して、本発明の第3実
施例を説明する。本実施例のハードウェア構成は第2実
施例とほぼ同様であるが、異なるのは、ホスト29が発
行するディスクアドレスから読み出し・書き込み手段が
使用するディスクアドレスへの変換式、およびデータ選
択手段4であり、この実施例ではプログラムの変更によ
り対応している。この実施例は、従来の並列ディスクに
対してデータ多重化を行ったものと考えることが出来
る。図14〜図18において、各ディスク31〜34の
同一模様の陰影部に同一データが多重化・格納されてい
る。ここでは多重化数をディスク台数と同じ4としてい
るが、4以外でも構わない。
【0066】アドレスAにデータ長L(=1MBとす
る)のデータを書き込むときのバッファ、ディスク上の
データ配置、および転送順序をそれぞれのディスク#1
〜#4(31〜34)に対応する図14〜図17に示
す。図中の単体ディスクアドレスは各ディスク単体のア
ドレスであり、ディスク#1〜#4(31〜34)内の
数字は本実施例を1台のディスクとみなしたときのアド
レスである。1台のディスク装置としての書き込みアド
レス区間Rと、ディスク#i(i=1,2,3,4)、
エリア#j(j=1,2,3,4)の書き込みアドレス
区間Rijは、式(10)、式(11)のように示され
る。
【0067】
【数10】 R={A,A+1,A+2,・・・,A+L−1} ・・・・・(10)
【数11】 Rij ={k∈R|k≡i−1+j−1(mod4)},R= ∪Rij 1i4 1j4 ・・・・・(11)
【0068】例えば、1台のディスク装置としてのアド
レスが4で割り切れるブロックは、ディスク#1では先
頭から1/4、ディスク#4では全体の1/4から1/
2、ディスク#3では全体の1/2から3/4、ディス
ク#2では3/4から最後にかけて格納されている。書
き込み動作の終了は読み込み動作と異なり、全てのディ
スク#1〜#4の全てのエリアに対する書き込みの終了
時となる。ディスク#1〜#4への書き込みは、高速化
のために並列で行われることが望ましいが、順次行われ
てもかまわない。
【0069】アドレスAからデータ長L(=1MBとす
る)のデータを読み出すときのバッファ、ディスク上の
データ配置、および転送順序を図18に示す。図中の単
体ディスクアドレスは各ディスク単体のアドレスであ
り、ディスク#1〜#4(31〜34)内の数字は本実
施例を1台のディスクとみなしたときのアドレスであ
る。1台のディスク装置としての読み出しアドレス区間
Rと、ディスク#i(i=1,2,3,4)、エリア#
j(j=1,2,3,4)の読み出しアドレス区間Rij
は、書き込み時と同様に式(10)、式(11)のよう
に示される。エラー発生時は、第2実施例と同様に他の
ディスクの多重化されたデータブロックを読み出す。
【0070】最近のディスクの記録方式は、従来の角速
度一定方式から、ゾーン化角速度一定方式に移行してき
ている。これは、ディスクの構成要素であるプラッター
の外周と内周とで線記録密度をほぼ一定にして容量を増
加させる技術である。プラッターの角速度は一定である
ため、外周部分の読み出し・書き込み速度が向上すると
いう作用がある。従って、出来る限り外周部分を使用す
ることで、読み出し・書き込み速度が向上する。通常、
ディスクのアドレスは、外周から内周方向へとアドレッ
シングされている。従って、出来る限り先頭に近いアド
レスを使用することによって、読み出し速度の向上が期
待できる。本実施例では、読み出し時においては、イレ
ギュラーが発生しない限り、先頭から1/4のアドレス
に対してのみアクセスされる。なぜなら、データが4つ
のブロックに分割され、それぞれのディスクの先頭から
1/4のブロックに格納されているからである。
【0071】さらに、イレギュラー発生時にも、読み出
し速度の向上が期待できる。例えば、ディスク#2にお
いてイレギュラーが発生した場合、ディスク#1から該
当データを読み出すとすれば次の2つの長所が得られ
る。 (1)隣接ブロックであるので、ヘッドの移動距離が小
さくなる。 (2)他のディスクより外周部分であるので、データ転
送が高速である。 (1)はディスク#2の第1ブロックのデータが、ディ
スク#1の第2ブロックのデータ、ディスク#3の第4
ブロックのデータ、ディスク#4の第3ブロックのデー
タに該当するためであり、(2)は同様に第2ブロック
であることから第3や第4のブロックよりディスクの外
周部に位置するため、データの読み出しが高速となる。
従って、ディスク#3や#4が先に終了した場合でも、
ディスク#1の終了を待つ方がよい場合がある。その判
断は、例えば式(12)を用いて行う。
【0072】
【数12】 f(S)=S−L/N+T ・・・・・(11)
【0073】ここで、Lは総データ転送長、Nはディス
ク台数、Sはデータ転送カウンタから得られるデータ転
送長、Tは固定値である。ディスク#1に対してf
(S)のい計算を行い、例えば、f(S)が正またはゼ
ロの時は、読み出しはすぐに終了するのでディスク#1
の終了を待って追加読み出しを行う。逆に、f(S)が
負の時は、読み出しはすぐには終了しないので、ディス
ク#3を用いて追加読み出しを行う。以上により、本実
施例は、従来の並列ディスクや第2実施例と比較して、
読み出しが高速になることが期待できる。通常時とイレ
ギュラー発生時のデータ転送タイムチャートを、それぞ
れ図19(e)、図20(e)に示す。通常時もイレギ
ュラー発生時も、それぞれ図19(d)、図20(d)
の第2実施例よりわずかながら高速になっている。
【0074】
【発明の効果】本発明により、全ての外部記憶装置にイ
レギュラーが発生しない限り、必要とされる読み出し速
度を保証することができる。外部記憶装置の台数に制限
はないので、外部記憶装置を増設することにより、読み
出し速度が保証できなくなる確率をいくらでも”0”に
近づけることが出来る。例えば、式(4)、式(6)に
おいて、p=0.01、N=4ならば、pA=0.03
94、pT=10-8となり、イレギュラー発生率が従来
の394万分の1の確率になる。また、従来の技術で述
べたように、従来の並列ディスクを高速プリンタサーバ
に使用すると、10時間に1回程度のデータ供給停止が
発生するが、この発明によれば、データ供給を事実上停
止させないようになる。
【0075】さらに、第2および第3実施例のようなデ
ータアクセス方法、データ配置方法、イレギュラーカバ
ー方法を用いることにより、並列ディスクと同程度、あ
るいはそれ以上の平均読み出し速度が期待できる。ま
た、ハードディスクと半導体メモリのコスト比は約10
0:1であるが、近年、ハードディスクの帯容量化、低
コスト化が著し反面、半導体メモリの大容量化、低コス
ト化は鈍化傾向にあり、両者のコスト比は今後さらに大
きくなると予想されている。従って、大量の半導体メモ
リを用いて読み出し速度の保証を行うより、数台のハー
ドディスクを冗長として使用して読み出し速度の保証を
行った方がコスト的にはるかに有利であり、本発明によ
れば、このようなコスト面の利点を速度保証を達成しつ
つ得ることができる。
【0076】従って、本発明によれば、高速プリントサ
ーバ、VODサーバのような高速かつリアルタイムにデ
ータを供給するシステムの構築が非常に容易になる。ま
た、外部記憶装置の障害発生時において、複数の外部記
憶装置のうち1台でも正常ならば、完全に修復可能であ
るという効果が得られる。
【図面の簡単な説明】
【図1】 本発明の第1実施例に係る外部記憶制御装置
の構成図である。
【図2】 本発明の第2実施例に係る外部記憶制御装置
の構成図である。
【図3】 本発明の第3実施例に係る外部記憶制御装置
の構成図である。
【図4】 第1実施例を適用したシステムの構成図であ
る。
【図5】 第1実施例の読み出し処理を示すフローチャ
ートである。
【図6】 第1実施例の割り込み発生処理を示すフロー
チャートである。
【図7】 読み出し禁止手段の内部フラグを説明する図
である。
【図8】 第1実施例に係るデータ転送タイムチャート
である。
【図9】 第1実施例に係る書き込みデータ転送の説明
図である。
【図10】 第1実施例に係る読み出しデータ転送の説
明図である。
【図11】 本発明の第2実施例を適用したシステムの
構成図である。
【図12】 第2実施例に係るイレギュラーが発生しな
かった場合の読み出しデータ転送の説明図である。
【図13】 第2実施例に係るイレギュラーが発生した
場合の読み出しデータ転送の説明図である。
【図14】 本発明の第3実施例に係る書き込みデータ
転送の説明図である。
【図15】 本発明の第3実施例に係る書き込みデータ
転送の説明図である。
【図16】 本発明の第3実施例に係る書き込みデータ
転送の説明図である。
【図17】 本発明の第3実施例に係る書き込みデータ
転送の説明図である。
【図18】 本発明の第3実施例に係る読み出しデータ
転送の説明図である。
【図19】 従来技術と本発明の実施例とにおける通常
時の読み出しデータ転送の説明図である。
【図20】 従来技術と本発明の実施例とにおけるイレ
ギュラー発生時の読み出しデータ転送の説明図である。
【図21】 従来に係る外部記憶制御装置の構成図であ
る。
【図22】 従来例の読み出し処理を示すフローチャー
トである。
【図23】 従来例の読み出しデータ転送の説明図であ
る。
【符号の説明】
1、31〜34・・・外部記憶装置(ディスク)、 2
・・・読み出し手段、3・・・終了検出手段、 4・・
・選択手段、5・・・イレギュラー検出手段、 7・・
・遅れ検出手段、8・・・追加読み出し手段、 29・
・・ホスト、40、41〜44・・・バッファメモリ、
───────────────────────────────────────────────────── フロントページの続き (72)発明者 越 裕 神奈川県足柄上郡中井町境430 グリー ンテクなかい 富士ゼロックス株式会社 内 (72)発明者 上澤 功 神奈川県足柄上郡中井町境430 グリー ンテクなかい 富士ゼロックス株式会社 内 (56)参考文献 特開 平2−148124(JP,A) 特開 平3−73014(JP,A) 特開 平6−324816(JP,A) 実開 昭62−129650(JP,U) (58)調査した分野(Int.Cl.6,DB名) G06F 3/06

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】 同一のデータがそれぞれに記憶されてお
    り、読み出し速度を異ならせるイレギュラーの発生タイ
    ミングがそれぞれ異なる複数の外部記憶装置と、 入力された読み出し命令に応じて、それぞれの前記外部
    記憶装置から同時にデータを読み出す読み出し手段と、 前記読み出し手段による読み出しが最も早く終了した外
    部記憶装置を検出する終了検出手段と、 前記終了検出手段により検出された外部記憶装置から読
    み出されたデータを選択する選択手段と、 前記終了検出手段により検出された外部記憶装置以外の
    外部記憶装置の内の、所定の時間後も動作している外部
    記憶装置を検出するイレギュラー検出手段と、 前記イレギュラー検出手段により検出された外部記憶装
    置に対して、次回の読み出し命令を禁止する読み出し禁
    止手段と、 を具備することを特徴とする外部記憶制御装置。
  2. 【請求項2】 前記外部記憶装置は読み出されたデータ
    を記憶するバッファを具備し、 前記選択手段による選択とは前記外部記憶装置のバッフ
    ァからデータを読み出すことであること、 を特徴とする請求項1に記載の外部記憶制御装置。
  3. 【請求項3】 複数のブロックに分割された同一データ
    がそれぞれ記憶されている複数の外部記憶装置と、 前記外部記憶装置から前記データを等分なブロック数ず
    つ重複することなく読み出す読み出し手段と、 前記読み出し手段による読み出しが遅れている外部記憶
    装置を検出する遅れ検出手段と、 前記読み出し手段による読み出しが終了している外部記
    憶装置を検出する終了検出手段と、 前記遅れ検出手段により遅れが検出された外部記憶装置
    の読み出しが未終了なデータブロックを、前記終了検出
    手段により終了が検出された外部記憶装置から読み出す
    追加読み出し手段と、 を具備することを特徴とする外部記憶制御装置。
  4. 【請求項4】 前記遅れ検出手段は、Sをその外部記憶
    装置が転送したデータ量、Xをその外部記憶装置の正常
    時の最悪データ転送速度、tを転送開始からの経過時
    間、Tをその外部記憶装置の固定値として、 f(S,t)=S−Xt+T による、f(S,t)が負の場合にその外部記憶装置が
    遅れていることを検出することを特徴とする請求項3に
    記載の外部記憶制御装置。
  5. 【請求項5】 N台(Nは、2以上の整数)の外部記憶
    装置と、 M個のブロックに分けられているデータを、第K台目
    (Kは1からNの整数)の外部記憶装置に対して、Nに
    よる剰余がK−1となる第J番目(Jは0からM−1の
    整数)の全てのブロックを順に外部記憶装置の最初の領
    域に書き込む第1の書き込み手段と、 前記第1の書き込み手段により書き込みが行われていな
    い残りの全てのブロックを、前記第1の書き込み手段が
    書き込みを行った第K番目の外部記憶装置の次の領域に
    書き込む第2の書き込み手段と、 を具備することを特徴とする外部記憶制御装置。
  6. 【請求項6】 N台(Nは、2以上の整数)の外部記憶
    装置と、 M個のブロックに分けられている総データ長Lのデータ
    を、第K台目(Kは1からNの整数)の外部記憶装置に
    対して、Nによる剰余がK−1となる第J番目(Jは0
    からM−1の整数)の全てのブロックを順に外部記憶装
    置の最初の領域に書き込む第1の書き込み手段と、 前記第1の書き込み手段により書き込みが行われていな
    い残りの全てのブロックを、前記第1の書き込み手段が
    書き込みを行った第K番目の外部記憶装置の次の領域に
    書き込む第2の書き込み手段と、 総データ長Lのデータを、前記外部記憶装置毎に、デー
    タ長{L/N}ずつ(ただし、{/}は剰余を切り上げ
    る除算)読み出す読み出し手段と、 前記読み出し手段による読み出しが遅れている外部記憶
    装置を検出する遅れ検出手段と、 前記読み出し手段による読み出しが終了している外部記
    憶装置を検出する終了検出手段と、 前記遅れ検出手段により遅れが検出された外部記憶装置
    の読み出しが未終了なデータブロックを、前記終了検出
    手段により終了が検出された外部記憶装置から読み出す
    追加読み出し手段と、 を具備することを特徴とする外部記憶制御装置。
  7. 【請求項7】 読み出し命令を入力し、 同一のデータをそれぞれ記憶し且つ読み出し速度を異な
    らせるイレギュラーの発生タイミングがそれぞれ異なる
    複数の外部記憶装置から、入力された読み出し命令に応
    じて同時にデータを読み出し、 読み出しが終了している外部装置を検出し、 その終了している外部装置から読み出されたデータを選
    択し、 その終了している外部装置以外の外部記憶装置の内の、
    所定の時間後も動作している外部記憶装置を検出し、 その動作している外部記憶装置に対して、次回の読み出
    し命令を禁止する、 ことを特徴とする外部記憶装置制御方法。
  8. 【請求項8】 総データ長Lのデータを同一データが記
    憶されているN台(Nは、2以上の整数)の外部記憶装
    置毎に、読み出し開始位置を{L/N}ずらし且つデー
    タ長{L/N}ずつ(ただし、{/}は剰余を切り上げ
    る除算)読み出し、 読み出しが遅れている外部記憶装置を検出し、 読み出しが終了している外部記憶装置を検出し、 遅れが検出されたときには、終了が検出された外部記憶
    装置から遅れが検出された外部記憶装置の読み出しが未
    終了部分のデータを読み出す、 ことを特徴とする外部記憶装置制御方法。
JP7349609A 1995-12-20 1995-12-20 外部記憶制御装置及び外部記憶装置制御方法 Expired - Lifetime JP2914261B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP7349609A JP2914261B2 (ja) 1995-12-20 1995-12-20 外部記憶制御装置及び外部記憶装置制御方法
US08/733,606 US5778166A (en) 1995-12-20 1996-10-18 Auxiliary storage controlling method and auxiliary storage controlling apparatus using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7349609A JP2914261B2 (ja) 1995-12-20 1995-12-20 外部記憶制御装置及び外部記憶装置制御方法

Publications (2)

Publication Number Publication Date
JPH09171440A JPH09171440A (ja) 1997-06-30
JP2914261B2 true JP2914261B2 (ja) 1999-06-28

Family

ID=18404893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7349609A Expired - Lifetime JP2914261B2 (ja) 1995-12-20 1995-12-20 外部記憶制御装置及び外部記憶装置制御方法

Country Status (2)

Country Link
US (1) US5778166A (ja)
JP (1) JP2914261B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1122737A1 (en) * 2000-01-31 2001-08-08 STMicroelectronics S.r.l. Circuit for managing the transfer of data streams from a plurality of sources within a system
JP2007087528A (ja) * 2005-09-22 2007-04-05 Fujitsu Ltd 記憶装置、記憶装置の制御方法および記憶装置に用いられる制御プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1091633B (it) * 1977-12-30 1985-07-06 Olivetti C Ing E C Spa Dispositivo per la gestione del l accesso diretto alla memoria di un calcolatore
JP2523715B2 (ja) * 1987-11-27 1996-08-14 株式会社日立製作所 磁気ディスク装置
US5459853A (en) * 1992-11-23 1995-10-17 International Business Machines Corporation Efficient variable-block data storage system employing a staggered fixed-block-architecture array
CA2138301C (en) * 1994-01-21 1998-12-15 Hal Hjalmar Ottesen Apparatus and method for providing multimedia data
US5559764A (en) * 1994-08-18 1996-09-24 International Business Machines Corporation HMC: A hybrid mirror-and-chained data replication method to support high data availability for disk arrays
US5519435A (en) * 1994-09-01 1996-05-21 Micropolis Corporation Multi-user, on-demand video storage and retrieval system including video signature computation for preventing excessive instantaneous server data rate
US5586264A (en) * 1994-09-08 1996-12-17 Ibm Corporation Video optimized media streamer with cache management
US5603058A (en) * 1994-09-08 1997-02-11 International Business Machines Corporation Video optimized media streamer having communication nodes received digital data from storage node and transmitted said data to adapters for generating isochronous digital data streams
US5592612A (en) * 1995-04-28 1997-01-07 Birk; Yitzhak Method and apparatus for supplying data streams
US5649093A (en) * 1995-05-22 1997-07-15 Sun Microsystems, Inc. Server disk error recovery system

Also Published As

Publication number Publication date
US5778166A (en) 1998-07-07
JPH09171440A (ja) 1997-06-30

Similar Documents

Publication Publication Date Title
JP3135751B2 (ja) データ記憶装置
JP5958020B2 (ja) ストレージシステム
JP2005516329A (ja) データ記憶装置及びデータ記憶装置を扱う方法
JPH04205619A (ja) ディスク制御システム
US6397348B1 (en) Redundant array of disk drives with asymmetric mirroring and asymmetric mirroring data processing method
US6571314B1 (en) Method for changing raid-level in disk array subsystem
US7761659B2 (en) Wave flushing of cached writeback data to a storage array
US10860490B2 (en) Distributed media cache
JP6867591B2 (ja) ストレージ制御装置、ストレージ制御方法およびストレージ制御プログラム
JPH05292265A (ja) 画像処理装置
JPH06131233A (ja) マルチファイル型記憶媒体のアクセス方法およびライブラリ装置
JP7197783B2 (ja) 情報処理システム、管理装置および管理プログラム
US6070225A (en) Method and apparatus for optimizing access to coded indicia hierarchically stored on at least one surface of a cyclic, multitracked recording device
JP2001195835A (ja) 代替セクタの割付け方法、データ読出し方法、ディスクドライブ装置およびavデータの読出し書込み装置
JP2914261B2 (ja) 外部記憶制御装置及び外部記憶装置制御方法
JPH06139027A (ja) ディスクドライバ,ディスクアレイ装置,データ記憶システム及びディスクアレイシステムのデータバックアップ方法
JP2001101842A (ja) ディスク装置
JPH11191037A (ja) データ記憶装置
JPH0467469A (ja) 回転型記憶装置およびその制御方法
JP3669103B2 (ja) 記憶装置および記憶装置サブシステム
US20090237825A1 (en) Storage device and control method thereof
JP2021149401A (ja) ストレージ管理システム、ストレージ管理方法及びプログラム
JP3847888B2 (ja) ディスク装置及び同装置における欠陥による再配置データの高速ホスト転送方法
JPH1124848A (ja) ディスクアレイの障害領域交代処理方法およびディスクアレイ装置
JP3584665B2 (ja) 可搬媒体を用いたライブラリ記憶装置