JPH09258907A - 複数の記憶ディスク部を有した高可用性の外部記憶装置 - Google Patents

複数の記憶ディスク部を有した高可用性の外部記憶装置

Info

Publication number
JPH09258907A
JPH09258907A JP8068405A JP6840596A JPH09258907A JP H09258907 A JPH09258907 A JP H09258907A JP 8068405 A JP8068405 A JP 8068405A JP 6840596 A JP6840596 A JP 6840596A JP H09258907 A JPH09258907 A JP H09258907A
Authority
JP
Japan
Prior art keywords
command
disk
external storage
processing
time
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.)
Pending
Application number
JP8068405A
Other languages
English (en)
Inventor
Masaru Nagashima
勝 長島
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP8068405A priority Critical patent/JPH09258907A/ja
Publication of JPH09258907A publication Critical patent/JPH09258907A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 外部記憶装置に対して発行されたコマンドの
キューが最適に処理されておらず、レスポンスやスルー
プットといった性能が不十分である。 【解決手段】 外部記憶制御部40のコマンドバッチ生
成部54は、予測値テーブル52によるコマンドの処理
時間予測値の和が所定時間となる数のコマンドをグルー
プ(バッチ)として受入キュー50から読み出す。バッ
チは送出キュー58に格納される。コマンドキューイン
グ部60はその中のコマンド処理時間の予測値が最長の
ディスク装置38を選択し、それに対するコマンドを取
り出して対応するディスク装置38に発行するという動
作を繰り返す。送出キュー58は空になると、これに次
のバッチが読み込まれる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、計算機システムに
用いられる複数の記憶ディスク部を有した外部記憶装置
に関し、特にそのレスポンスとスループットの向上によ
る可用性の向上に関する。
【0002】
【従来の技術】ディスク装置における読み出し/書き込
み処理には機械的動作が伴うため、その処理速度は、計
算機のCPU処理速度に比べると段違いに遅い。しか
し、ディスク装置は、大量のデータを安価に記憶できる
点で優れている。このため、現在の計算機システムにお
いては、上記処理速度の格差を補う様々な工夫をした上
で、ディスク装置は大規模容量を有する外部記憶装置に
採用されている。
【0003】図15は、例えば特開平6−19625に
示される従来の外部記憶装置の模式的な構成図である。
この外部記憶装置2は、2つの記憶ディスク部4、6を
含み、2つのディスク制御部8、10がディスク接続部
12を介して記憶ディスク部4、6に接続されている。
ディスク制御部8、10にはそれぞれホスト計算機1
4、16、18に接続され、各ホストコンピュータは一
方のディスク制御部が使用中でももう一方のディスク制
御部にアクセスし外部記憶装置2を利用することができ
る。各ディスク制御部はホスト計算機14、16、18
が発行する外部記憶装置2に対するコマンドに基づい
て、各記憶ディスク部を制御する。
【0004】ホスト計算機14、16、18が発行する
コマンドはディスク接続部12内の共有メモリ20に設
けられる待ち行列(キュー)に格納される。キュー内の
コマンドはバスを介して順次、記憶ディスク部に対し送
られる。記憶ディスク部がコマンドのキューイング機能
を有する場合、すなわち記憶ディスク部自身が受け付け
たコマンドのキューを備えている場合には、共有メモリ
内の前記キューからのコマンドの送出は、それ以前に送
出されたコマンドの処理終了を待たずに行うことができ
る。
【0005】上記のようにディスク制御部を複数にする
ことにより、ディスク制御部の獲得におけるホストコン
ピュータ間の競合が緩和され、ホストコンピュータが外
部記憶装置2に対してアクセスするまでの時間が短縮さ
れる。また、記憶ディスク部を複数にすることにより、
1つの記憶ディスク部がヘッドのシークによるポジショ
ニング動作やディスクの回転動作を行う間に、ディスク
制御部8、10と他の記憶ディスク部との間でコマンド
の発行やデータ転送を行うことができ、コンピュータが
実行するプログラム全体でのレスポンス時間の低減やス
ループットの向上が図られる。また、メモリ20をディ
スクキャッシュとして機能させてもレスポンス時間を低
減することができる。
【0006】さて、外部記憶装置の処理性能を向上させ
るため前記キューを用いる方法として、特開平6−25
9198に、アクセスされる記憶ディスク部の領域を連
続とすることができる場合には、それに応じてキュー中
のコマンドを並べ換え、これにより上記ポジショニング
動作やディスクの回転動作を効率化する方法が示されて
いる。
【0007】
【発明が解決しようとする課題】従来は、キュー内のコ
マンドをどのように処理すれば外部記憶装置の処理性能
が向上するかについては十分な配慮がなされているとは
言えず、外部記憶装置の処理はレスポンスやスループッ
トに関し必ずしも効率的には行われていないという問題
点があった。例えば、上述の構成のように複数の記憶デ
ィスク部がバスを介してディスク制御部に接続されてい
る場合ではバスアービトレーション、すなわちバスの使
用権の獲得等を考慮しなければ、最適な処理を行うこと
はできない。ここで、複数の記憶ディスク部を有する外
部記憶装置における最適な処理とは、装置全体のレスポ
ンスやスループットが優れているだけでなく、記憶ディ
スク部間におけるレスポンスやスループットの不均衡が
ないことである。
【0008】本発明は複数の記憶ディスク部を有した上
記最適な処理を実現する外部記憶装置を提供することを
目的とする。
【0009】
【課題を解決するための手段】本発明に係る外部記憶装
置においては、外部記憶制御部は、コマンドの処理に要
すると予測される時間であるコマンド処理時間予測値を
生成する予測処理時間生成手段と、所定のタイミングで
受入キュー内のコマンドをその前記コマンド処理時間予
測値の和が所定の処理タイムスライスに応じた値となる
個数だけ格納される前記コマンドの待ち行列である送出
キューと、前記予測処理時間生成手段に基づき各記憶デ
ィスク部別の処理時間を予測する処理時間予測手段と、
この予測された処理時間が最大の前記記憶ディスク部に
対する前記コマンドを前記送出キューから取り出して対
応する前記記憶ディスク部にキューイングするコマンド
キューイング手段と、前記各送出キューが空になると前
記受入キューから前記送出キューへ前記コマンドを格納
するコマンドバッチ生成手段と、を含むことを特徴とす
る。
【0010】本発明によれば、送出キューが空になる
と、受入キューに蓄えられたコンピュータからのコマン
ドが一群ずつ取り出され、送出キューに振り分けられ
る。このとき、この一群をなすコマンドの個数は、その
コマンド処理時間予測値の和が所定の処理タイムスライ
スに応じた値となるように定められる。送出キューから
各記憶ディスク部へのコマンドの発行は、キュー内のコ
マンドの前記コマンド処理時間予測値の和が最大である
送出キューを選択し、そのキュー内のコマンドを所定個
数(例えば1個)、取り出して送出するという動作を繰
り返す。1回の送出動作はある程度の時間を要する。こ
れは例えば、外部記憶制御部と記憶ディスク部とがバス
で接続されている場合には、1回の送出動作に、外部記
憶制御部によるバスアービトレーションの時間やバスの
専有時間が必要であるためである。各記憶ディスク部は
キューイング可能であり、複数のコマンドを受け付ける
ことができる。よって基本的にはある記憶ディスク部に
対する送出動作は、その記憶ディスク部で前に送出され
たコマンドの処理を行っている最中でも可能である。前
記コマンド処理時間予測値は、例えば記憶ディスク部の
最大シーク時間や最大回転待ち時間などに基づいて予測
処理時間生成手段により生成される。この予測処理時間
生成手段は、コマンド処理時間予測値を格納したテーブ
ルでもよい。さて、ヘッドのシークやディスクの回転と
いった機械的動作など各記憶ディスク部における処理時
間の多くは記憶ディスク部間で独立であり、その部分は
並列処理することができる。ここで上記のように処理時
間長の長い記憶ディスク部に対するコマンドの処理を優
先して開始することにより、この並列処理の割合が向上
し、上記送出キューに振り分けられた一群のコマンドの
各処理時間が短縮される。また、ある一群のコマンドの
各記憶ディスク部への送出が終了してから、次の一群の
コマンドの送出が開始される。そのためどのコマンドの
処理も基本的に処理タイムスライス以下に終了し、最大
レスポンス時間及び最低スループットが保証される。
【0011】本発明に係る外部記憶装置においては、前
記外部記憶制御部と前記記憶ディスク部はバスにより接
続され、前記外部記憶制御部は前記記憶ディスク部に前
記コマンドを試行的に発行し、そのコマンドに対し前記
記憶ディスク部が前記バスの使用権を獲得するまでの応
答時間を計測する応答計測手段を有し、前記コマンドキ
ューイング手段は前記コマンドの発行を前記バスのフリ
ー状態の検出から前記応答時間に応じた時間、遅延させ
る遅延手段を有すること、を特徴とする。一般に、外部
記憶制御部はバス・フリー検出からアービトレーション
の実行までを記憶ディスク部より短い時間で行うことが
できる。本発明によれば、例えば記憶ディスク部に格納
されたデータに影響を及ぼさないコマンドを試行的に発
行し、その記憶ディスク部からのレスポンスが外部記憶
制御部に戻るまでの時間に基づいて応答時間を定める。
望ましくはこの応答時間として、コマンドの試行的な発
行を複数回行ってそれらの平均を採用するのがよい。こ
の応答時間だけ外部記憶制御部から記憶ディスク部への
コマンドの発行を遅延させることにより、記憶ディスク
部のバス獲得における優先度が増し、記憶ディスク部か
らのレスポンス時間が短縮される。
【0012】本発明に係る外部記憶装置においては、前
記外部記憶制御部は、前記記憶ディスク部に対する読み
出しコマンドの処理待ち数を計数するコマンド計数手段
と、複数の読み出しコマンドに対する前記記憶ディスク
部からの読み出しデータを保持するバッファを有し、前
記処理待ち数に基づいて前記バッファを制御し複数の読
み出しコマンドの前記読み出しデータを前記バッファへ
蓄積させ、その蓄積された読み出しデータをコンピュー
タへ一括転送させるバッファ制御手段と、を含むことを
特徴とする。
【0013】本発明によれば、コマンド計数手段が、受
入キューから取り出された一群のコマンド中の読み出し
コマンドのうち記憶ディスク部からレスポンスが帰って
きていないコマンド数である前記処理待ち数をカウント
する。バッファ制御手段はこの処理待ち数に基づき記憶
ディスク部から読み出されるデータがあるか否かを判断
し、基本的にまだ読み出されるデータがある場合にはバ
ッファからコンピュータへの転送を見合わせて次の読み
出しデータの到着を待ち、一方、もう読み出されるデー
タがない場合やバッファの残り空き容量が少ない場合に
は、バッファからコンピュータへの転送を行う。このよ
うに複数の読み出しコマンドに対応するデータを一括し
てコンピュータへ転送することにより、その転送の際の
外部記憶装置からコンピュータへのチャネルの接続処理
といった時間的オーバーヘッドが低減され、レスポンス
やスループットの向上が図られる。
【0014】本発明に係る外部記憶装置においては、前
記外部記憶制御部は、前記各送出キューから送出され処
理待ち状態にあるコマンドについての前記コマンド処理
時間予測値の最大値をタイムアウト値として前記各記憶
ディスク部ごとに保持するタイムアウト値保持手段と、
直前のコマンドの処理終了からの経過時間を、前記各記
憶ディスク部ごとに計測する経過時間計測手段と、前記
経過時間がその対応する前記記憶ディスク部の前記タイ
ムアウト値を越えたときエラーとして判定するエラー判
定手段と、を含むことを特徴とする。
【0015】本発明によれば、前記経過時間はコマンド
の処理が終了すればリセットされるので、経過時間はコ
マンドの処理が正常に行われているならば対応するタイ
ムアウト値よりも小さい値である。一方、前記タイムア
ウト値は前記各送出キューから送出され記憶ディスク部
側にキューイングされたコマンドのうち未処理のコマン
ドについての前記コマンド処理時間予測値の最大値であ
るので、経過時間がタイムアウト値より大きくなるとい
うことは、それら未処理コマンドのうちいずれのコマン
ドも終了しないという異常を示している。エラー判定手
段は、この経過処理時間がタイムアウト値を超えたタイ
ミングにおいてエラーを検出する。よって、エラー判定
手段は、前記各送出キューの予測された処理時間の終了
より早くエラーを検出することができる。
【0016】本発明に係る外部記憶装置においては、前
記コマンドキューイング手段は、前記コマンドによりア
クセスされる前記記憶ディスク部のアドレスに基づい
て、アクセス時間が最小と予測されるコマンドを選択す
るアクセス最適化手段を有することを特徴とする。
【0017】本発明によれば、アクセス最適化手段は、
前記送出キュー内の前記コマンドにより指定される前記
アドレスが例えば昇順、降順となるようにコマンドを選
択し、これらコマンドの実行における記憶ディスク部の
ヘッドのシーク時間やディスクの回転時間といったアク
セス時間を最小とする。これによりレスポンスやスルー
プットの向上が図られる。
【0018】本発明に係る外部記憶装置においては、前
記外部記憶制御部が複数個設けられて前記記憶ディスク
部を共有し、この各外部記憶制御部はアクセスした前記
記憶ディスク部のアドレスに基づくアドレス情報を他の
外部記憶制御部に通知するアドレス情報通知手段を有
し、前記アクセス最適化手段は前記アドレス情報を参照
して前記送出キューから前記コマンドを選択すること、
を特徴とする。
【0019】本発明によれば、アドレス情報通知手段
が、一方の外部記憶制御部において最後にアクセスされ
たアドレスに関する情報を、次の処理を行う外部記憶制
御部に通知する。次の処理を行う外部記憶制御部はこの
アドレス情報に基づいて、例えば前記アクセス時間が最
小であるコマンドから処理を開始する。これによりレス
ポンスやスループットの向上が図られる。
【0020】本発明に係る外部記憶装置においては、前
記記憶ディスク部は2つのディスク装置を含みこれらデ
ィスク装置間においてミラーリングが行われるレベル1
のRAIDアレイ・ディスクであり、前記外部記憶制御
部は前記送出キューの中の前記2つのディスク装置に対
する読み出しコマンドをそれらの前記コマンド処理時間
予測値に基づいて前記2つのディスク装置に振り分けて
発行しこれら両ディスク装置の読み出し処理時間の均等
化を図るRAID1負荷分散手段を有すること、を特徴
とする。レベル1のRAIDアレイ・ディスクでは、読
み出し処理は一方のディスク装置に対してのみ行えばよ
い。本発明によれば、送出キュー中に複数の読み出しコ
マンドがあれば、それらをレベル1のRAIDアレイ・
ディスクを構成する2つのディスク装置に振り分けて発
行し、これら両ディスク装置において異なる読み出しコ
マンドを並列に処理させることにより、コマンド処理の
効率が向上する。
【0021】本発明に係る外部記憶装置においては、前
記記憶ディスク部は複数のディスク装置を含みこれら各
ディスク装置に格納されるデータに基づいて生成される
パリティをこれら全ディスク装置に分割して保持するレ
ベル5のRAIDディスク・アレイであり、前記外部記
憶制御部は書き込みコマンドの処理における新しいパリ
ティの生成処理に用いるデータとして、更新されるデー
タと現パリティとを読み出すかこれら以外の現パリティ
の生成に用いたデータを読み出すかを、読み出し処理時
間が前記ディスク装置間にて均等化されるように前記コ
マンド処理時間予測値に基づいて選択するRAID5負
荷分散手段を有すること、を特徴とする。
【0022】レベル5のRAIDディスク・アレイで
は、データの書き込み処理はパリティの更新処理を伴
う。例えばn個のデータをDk (k=1〜n)、これら
により生成されるパリティをPとする。これらはレベル
5のRAIDディスク・アレイを構成する各ディスク装
置に分散して保持されている。ここでDj (1≦j≦
n)をDj ’で更新する書き込み処理を考える。新たな
n個のデータに対するパリティを求める第1の方法はD
j ’、Dj 及びPから求める方法であり、第2の方法は
Dj ’及びDk (k≠j)から求める方法である。この
第1の方法においてはDj 及びPをディスク装置から読
み出さなければならない。一方、第2の方法においては
Dk (k≠j)を読み出さなければならない。この第1
の方法と第2の方法とでは、読み出し処理が行われるデ
ィスク装置が異なる。本発明によれば、RAID5負荷
分散手段は送出キュー中に複数の書き込みコマンドがあ
れば、それらに伴う上記パリティ更新における読み出し
処理が、各ディスク装置に分散し処理時間が均等化する
ように、上記第1の方法、第2の方法を選択する。すな
わち書き込みコマンドに伴う読み出し処理が各ディスク
装置間において並列に処理されることにより、コマンド
処理の効率が向上する。
【0023】本発明に係る外部記憶装置においては、前
記記憶ディスク部は複数のディスク装置を含み前記各デ
ィスク装置に格納されるデータに基づいてそのセクタ単
位にパリティを生成しこのパリティを特定の前記ディス
ク装置に集中して保持させて高転送速度を実現するレベ
ル3のRAIDディスク・アレイであり、前記外部記憶
制御部は分割された複数の前記セクタ範囲ごとに、パリ
ティを保持する前記ディスク装置が異なるようにパリテ
ィ格納位置を生成するパリティ位置割付手段を有するこ
と、を特徴とする。
【0024】本発明によれば、例えばm個のディスク装
置から構成されるレベル3のRAIDディスク・アレイ
において、データはm個のディスク装置に格納される。
これにより、従来の1つのディスク装置がパリティ専用
であって残りの(m−1)個がデータを格納するディス
ク・アレイよりも、データの分散度合いが高まり、コマ
ンド処理が各ディスク装置間において並列に処理される
可能性が高くなり、コマンド処理の効率が向上する。
【0025】本発明に係る外部記憶装置においては、前
記外部記憶制御部は起動時に前記ディスク装置のシーク
時間及び回転時間を測定しこの測定値に基づいて前記コ
マンド処理時間予測値を設定する予測処理時間設定手段
を有することを特徴とする。本発明によれば、シーク時
間及び回転時間の実測値を利用することにより、コマン
ド処理時間予測値の精度が高まり、外部記憶制御部によ
るコマンド処理の効率向上のための制御精度が上がる。
【0026】
【発明の実施の形態】以下、本発明の好適な実施形態を
図面を参照して説明する。
【0027】[実施形態1]図1は、本発明が適用され
る共有外部記憶装置の模式的な構成図である。共有外部
記憶装置30は、ホスト計算機32、34、36で共有
される外部記憶装置である。共有外部記憶装置30は、
データを格納する3つのディスク装置38(ディスク装
置A、B、C)を有し、これらがそれぞれ記憶ディスク
部を構成する。また共有外部記憶装置30は、外部記憶
制御部40を有し、これが各ホスト計算機とディスク装
置38との間のデータの入出力を制御する。ディスク装
置38と外部記憶制御部40とはSCSIバス42によ
り互いに接続されている。なお、各ホスト計算機と外部
記憶制御部40との間もそれぞれSCSIバス44によ
り接続されている。
【0028】図2は共有外部記憶装置30の内部処理を
説明するためのブロック図である。外部記憶制御部40
内の処理を中心に説明する。受入キュー50が、ホスト
計算機32、34、36から発行された読み出しコマン
ド又は書き込みコマンドを一括して受付て蓄積する。本
外部記憶制御部40は予測処理時間生成手段として、コ
マンド処理時間予測値を格納した予測値テーブル52を
有している。このコマンド処理時間予測値は、ディスク
装置38の最大シーク時間、最大回転待ち時間、ディス
ク装置38内部のデータ転送レート、SCSIバス42
のデータ転送レート等の性能値から予測したコマンドの
実行時間であり、例えば読み出し/書き込みの別や転送
されるデータ量などによって異なる。
【0029】コマンドバッチ生成部54は、予測値テー
ブル52に基づいて受入キュー50内のコマンドの実行
時間を予測し、コマンド処理時間予測値の和が所定のバ
ッチ時間tを超えない範囲でできる限り多くのコマンド
56を受入キュー50の先頭から読み込む。コマンドバ
ッチ生成部54は、読み込んだ一群(バッチ)のコマン
ドの処理が終了するまで、次の読み出し動作を行わな
い。すなわち、コマンドバッチ生成部54は、受入キュ
ー50をバッチ処理する。コマンド56はコマンドバッ
チ生成部54から送出キュー58に格納される。
【0030】コマンドキューイング部60は後述するや
り方で送出キュー58から1つずつコマンドをSCSI
バス42に送出する。各ディスク装置38はディスク側
キュー62を有しコマンド・キューイングをサポートし
ている。よってコマンドキューイング部60はSCSI
バス42がフリーであれば、先に送出したコマンドのレ
スポンスがディスク装置38から返っていなくても、同
一のディスク装置38に対して多重にコマンドを発行す
ることができる。各ディスク装置38は、自身に多重に
発行されたコマンドをディスク側キュー62に蓄積し、
これから順次読み出して実行する。実行された結果、例
えば読み出しデータはディスク装置38からSCSIバ
ス42を介して、外部記憶制御部40に送られるが、こ
の戻りの経路は図示していない。
【0031】図3は、コマンドキューイング部60の処
理を説明するための送出キューの模式図である。コマン
ドバッチ生成部54は受入キュー50から上述したよう
にバッチ時間tを基準として1群のコマンドを読み出
す。図3に示す例は、10個のコマンドが読み出され、
そのうち4個がディスク装置A、1個がディスク装置
B、5個がディスク装置Cを対象とするものであり、こ
れらは送出キュー58に格納される。キュー70、7
2、74はそれぞれディスク装置A、B、Cに対応する
処理待ちコマンドの列を表している。これらキューに含
まれる1〜10の番号を付したブロックは各コマンドを
表し、これら各ブロックの高さは各コマンドのコマンド
処理時間予測値を表す。よって各キューの縦方向の長さ
は各記憶ディスク部における処理時間の予測値である。
【0032】コマンドキューイング部60は、送出キュ
ー58から処理時間の予測値が最長の記憶ディスク部に
対応するコマンドを1つ選択して読み出し、SCSIバ
スを介して、対応するディスク装置38に送出する。例
えば、図3においてディスク装置Cに対応するキュー7
4が最長であるので、その中のコマンド(番号“1”で
表す)を送出する。この状態で、まだ同じキュー74が
最長なので、このキュー74からコマンド“2”を送出
する。すると今度は、ディスク装置Aに対応するキュー
70が最長となるので、そのキュー70からコマンド
“3”を送出する。同様に続いてコマンド“4”〜“1
0”が順次送出される。なお、これら各キュー間の比較
はコマンド処理時間予測値によるものであり、コマンド
数には依存しない。例えば、コマンド“5”まで送出し
た時点で、キュー70、74にはコマンドがそれぞれ2
個残っており、キュー72には1個しか残っていない。
しかし処理時間はキュー72の方が他の2つのキューよ
りも長いので、他のキューより優先してキュー72のコ
マンド“6”が送出される。
【0033】図4、図5は上述したコマンドキューイン
グの効果を説明するための図である。図4は、ディスク
装置38を2つとした場合における送出キュー内のコマ
ンド列の1例を示す模式図である。図5は、図4に示し
た例における処理のタイミングチャートである。図4に
示す例では、ディスク装置Aに対応するキュー80は3
個のコマンドa、b、cを有し、ディスク装置Bに対応
するキュー82は1個のコマンドを有する。コマンド
a、b、c、dはそれぞれコマンド処理時間予測値とし
て2τ、4τ、6τ、7τを有する(τは任意の時間単
位)。なお、コマンドをディスク装置38に送る際、及
びディスク装置38からコマンドの処理結果を返す際
の、SCSIバスの使用権の獲得からその開放までの時
間をそれぞれセンド時間、リターン時間と称することと
する。センド時間、リターン時間はこの例ではτであ
る。図5(a)は本実施形態のコマンドキューイング部
の処理のタイミングチャートを示す。一方、図5(b)
は、本実施形態のコマンドキューイング部とは異なる処
理のタイミングチャートを示す。コマンドの対応するデ
ィスク装置への送出の順序は、図5(a)に示す本実施
形態の場合においてはコマンドc、d、b、a(それぞ
れセンド時間90、92、94、96に対応)の順であ
り、一方、図5(b)に示す例ではコマンドd、c、
b、a(それぞれセンド時間100、102、104、
106に対応)の順である。送出されたコマンドはディ
スク装置において実行された後、リターン時間110、
112、114、116、120、122、124、1
26において、外部記憶制御部40に応答が返される。
【0034】本実施形態では、2つのキューのうち短い
処理時間を有するキュー82の処理期間(コマンドdの
処理期間)は処理時間の長い方のキュー80の処理期間
(コマンドc、b、aの処理期間)に包含される。この
ように、上記コマンドキューイング部の処理によれば、
短い処理時間を有する記憶ディスク部の処理期間は、そ
れより長い処理時間を有する記憶ディスク部の処理期間
の背後に隠されるように、処理がスケジューリングされ
る。これに対し、本実施形態を異なる図5(b)に示す
方法では、短い処理時間を有する記憶ディスク部の処理
期間は、それより長い処理時間を有する記憶ディスク部
の処理期間からはみ出す。図5(a)、(b)に示す例
では処理開始から終了までの時間は、それぞれ14τ、
15τである。このように本発明の実施形態において
は、全記憶ディスク部に対するコマンド処理終了までの
時間が短縮され、レスポンス及びスループットが向上す
る。
【0035】本実施形態の他の特徴を次に説明する。コ
マンドの処理に際して、上述のようにSCSIバスの使
用に関するセンド時間、リターン時間が必要になる。こ
れらの時間中には、外部記憶制御部40やディスク装置
38がバス42の使用権を獲得するアービトレーション
という動作を実行する必要がある。しかしディスク装置
38がバス・フリー状態を検出してアービトレーション
を開始するまでの時間は、外部記憶制御部40のその時
間よりも遅い。さらに、ディスク装置38のSCSI
IDの優先順位は、外部記憶制御部40のそれよりも低
い値に設定されている。そのため、外部記憶制御部40
が連続的にコマンドをディスク装置38のいずれかに送
出しようとする場合、ディスク装置38側は、バス42
の使用権を獲得することが困難となり、ディスク装置3
8からのレスポンス時間が長くなる可能性がある。
【0036】図6、図7は、本装置の外部記憶制御部4
0における上記問題を解決するための上記方法を説明す
るフローチャートである。図6は、本装置の電源オン時
における自己診断での動作を説明するフローチャートで
ある。外部記憶制御部40は、本装置の電源オン時の自
己診断の一環として、バス・フリー状態を検出し試行的
にコマンドを発行して、ディスク装置38がこのコマン
ドに対しレスポンスを返すためにバス42の使用権を獲
得するまでの時間を測定する。ここで発行されるコマン
ドは、ディスクコネクトを要求するがディスク装置38
内のデータに影響を及ぼさないコマンドであり、例えば
INQUIRY、READ、CAPACITY等であ
る。外部記憶制御部40はこれらのコマンドを複数回発
行して、それらに対してディスク装置38からのレスポ
ンスを得るまでの応答時間の平均値を計測する。この応
答時間の平均値は、コマンドキューイング部60に与え
られる。図7は実際のコマンド発行処理におけるコマン
ドキューイング部60の動作を説明するフローチャート
である。コマンドキューイング部60はコマンドに対す
るアービトレーションの開始をバス・フリー状態の検出
から前記応答時間の平均値に応じた時間、例えば、平均
値に安全係数を乗じた時間だけ遅延させる。ちなみに、
安全係数はデフォルト値として例えば2を与える。な
お、アービトレーションの実行を遅延させている間にバ
ス・ビジー状態となった場合には、バス・フリー状態と
なるのを待って再度処理を試みる処理を行う。
【0037】上記処理により、ディスク装置38のバス
獲得における優先度が増し、外部記憶制御部40がディ
スク装置38からのレスポンスを迅速に受け取ることが
できる。また、遅延時間はディスク装置38ごとに変え
ることができ、バス・フリー状態の検出からアービトレ
ーションの開始までの時間がディスク装置38ごとに異
なる場合でも対応可能である。
【0038】また本装置では、複数の読み出しコマンド
に対するホスト計算機32へのデータ転送処理を一括し
て行う。これによるSCSIバス44を介したホスト計
算機32とのデータ転送の処理時間は、その処理をコマ
ンドごとに行う場合より短くなり、ホスト計算機32に
対するレスポンスが向上する。この一括転送処理を以下
に説明する。外部記憶制御部40は、1回のコマンドの
バッチ中に含まれる読み出しコマンドのうち処理待ち状
態にあるコマンド数を計数する機能と、ディスク装置3
8からの読み出しデータを蓄積することができるバッフ
ァとを有する。外部記憶制御部40は、バッファにでき
るだけ多くの読み出しコマンドに対する読み出しデータ
を蓄積し、バッファが一杯になると、バッファからホス
ト計算機32への転送処理を開始する。これにより、ホ
スト計算機32とのバスの接続処理といったオーバーヘ
ッドが減るのでホスト計算機32に対するレスポンスが
向上する。前記処理待ちの読み出しコマンドの数が0に
なれば、バッファが一杯にならなくても、外部記憶制御
部40はバッファ内のデータをホスト計算機32に転送
する。また、外部記憶制御部40は、コマンド処理時間
予測値に基づいてコマンド処理の予測スケジュールを作
成することができるので、このスケジュールに基づいて
読み出しコマンドに対するディスク装置からの応答の間
隔を予測することができる。外部記憶制御部40は、そ
の間隔とホスト計算機に対する転送処理のオーバーヘッ
ド時間との比較に基づいて、バッファに次の読み出しコ
マンドのデータが到着するのを待つことの得失を判断し
て、バッファからの転送処理を制御してもよい。
【0039】本装置は、なんらかのエラーにより発行さ
れたコマンドに対するレスポンスがない場合のタイムア
ウト処理を以下のように行う。ディスク装置38は、そ
のディスク側キュー62内のコマンドを例えばアクセス
されるアドレスに基づいて最適な順序で実行する。外部
記憶制御部40は、ディスク装置38側にキューイング
済みであり処理待ちであるコマンドのコマンド処理時間
予測値の最大値をタイムアウト値として保持するととも
に、直前のコマンドの処理終了からの経過時間を計測す
る。
【0040】図8はタイムアウト処理を説明する模式図
である。図8(a)はある1つのディスク装置38に4
つのコマンドA、B、C、Dを発行した場合の、コマン
ド処理時間予測値によるディスク装置の占有時間のタイ
ムチャートである。コマンド処理時間予測値の大小関係
は、A<C<D<Bであるとする。外部記憶制御部40
は、ディスク装置において最初に処理されるコマンドA
の処理が完了し、そのレスポンスが返された時点から経
過時間を計測し始める。またこれと同時にこのディスク
装置に対するタイムアウト値は、処理待ちコマンドB、
C、Dのうち最長のコマンド処理時間予測値を有するコ
マンドBのその予測値を設定される(図8(b))。次
にコマンドBの処理が開始される。ディスク装置はコマ
ンドBの処理をタイムアウト値以内に完了し、外部記憶
制御部40にレスポンスを返す(図8(c))。外部記
憶制御部40はこの時点においてはディスク装置38が
正常動作を行っていると判断し、経過時間をリセット
し、またタイムアウト値をコマンドDのコマンド処理時
間予測値に変更する(図8(d))。
【0041】図8(a)に示すコマンド実行のスケジュ
ールはディスク装置により決定され、外部記憶制御部4
0はその実行順序を知らない。よって、外部記憶制御部
40はコマンドBのレスポンスがあった時点で、次にコ
マンドC、Dのいずれが実行されるかを知らない。しか
し、タイムアウト値は、まだ実行されていないコマンド
のうち最長のコマンド処理時間予測値である。よって、
外部記憶制御部40は新たに設定されたタイムアウト値
以内になんらのレスポンスもディスク装置から得られな
ければ、コマンドC、Dのいずれも実行されずエラーと
判断することができる(図8(e))。
【0042】このエラーが検出されるまでの時間は、コ
マンドA、Bの処理に要した実時間とコマンドDのコマ
ンド処理時間予測値との和である。もしコマンドのバッ
チ単位でタイムアウトを監視したならば、エラーはディ
スク装置の占有時間(コマンドA、B、C、Dのコマン
ド処理時間予測値の和)が経過しないと検出されない。
よって上述のようにコマンド単位でタイムアウトを監視
することにより、タイムアウトの検出が早まる。これに
よりエラーに対する対応がそれだけ早く行われ、外部記
憶装置のレスポンスの向上を図ることができる。
【0043】さらに、外部記憶制御部40は、バッチ
(コマンドのグループ)の処理が最適に行われるよう
に、コマンド発行のスケジューリングを行う。コマンド
・キューイング機能を有するディスク装置38は、それ
自身がスケジューリング機能を有している。このディス
ク装置38におけるスケジューリングは、ディスク装置
の回転待ち時間、ヘッドのシーク時間、不良セクタの置
き換えなどを考慮して行われる。これらの点は外部記憶
制御部40では把握困難であるので、これらの点に基づ
くスケジューリングはディスク装置側で行うのがよい。
【0044】しかし、ディスク装置側は、そのディスク
側キュー62に蓄積されたコマンドの範囲内でスケジュ
ーリングを行い、外部記憶制御部40から未発行でディ
スク側キュー62に無いコマンドをスケジューリングに
際して考慮することができないので、バッチ単位で見た
場合、必ずしも最適な順序で処理が行われていない可能
性がある。例えば、ディスク側キュー62が空であると
きに受け取ったコマンドは、無条件で実行開始されるた
め、シーク時間や回転待ち時間が多くかかるコマンドか
ら処理が行われる可能性がある。
【0045】そこで、外部記憶制御部40は送出キュー
58内のコマンドを各ディスク装置ごとにそのアクセス
する論理アドレスに基づき並べ換えて、順に各ディスク
装置に発行する。このとき、コマンド処理時間の予測値
が最長であるディスク装置に対するコマンドを取り出す
ことは上述した通りである。また、バッチが連続する場
合には、後のバッチの処理は、アドレスに基づいて前の
バッチの最後に実行したコマンドに対して実行時間が短
いと予想されるコマンドから始める。具体的には、コマ
ンドの発行順序をアクセスする論理アドレスの大きい順
もしくは小さい順に発行する。また例えば、前のバッチ
が論理アドレスの大きい順にコマンドを発行した場合
は、それに続くバッチは論理アドレスの小さい順にコマ
ンドを発行する。このように外部記憶制御部40が論理
アドレスに基づいてアクセス時間が最適となるようにコ
マンドを発行することにより、ディスク装置38がディ
スク側キュー62にのみ基づいてスケジューリングを行
う場合の上記問題が解決され、外部記憶装置のレスポン
スが向上する。
【0046】[実施形態2]図9は、本発明が適用され
る他の共有外部記憶装置の模式的な構成図である。図
中、特に断らない限り、図1の符号に200を加えた構
成要素は、図1と同一の機能を有するものとする。本実
施形態と実施形態1との主たる相違点は、本実施形態の
外部記憶装置230は2つの外部記憶制御部250、2
52を有し、これらがディスク装置238を共有して制
御する点にある。外部記憶制御部250、252及び2
つのディスク装置238(ディスク装置A、B)はSC
SIバス254にて接続される。両外部記憶制御部間に
は、それらの間での通信を可能にするバス256が設け
られている。両外部記憶制御部は、それぞれ実施形態1
の外部記憶制御部40と基本的には同一の動作を行う。
外部記憶制御部250、252が、外部記憶制御部40
と異なるのは、一方の外部記憶制御部からバッチを処理
した後、続いて他のバッチをもう一方の外部記憶制御部
から処理する場合である。これは、外部記憶制御部を2
つ有する本装置に特有である。
【0047】本装置では、一方の外部記憶制御部が処理
するバッチにおける最後のコマンドのアクセス先の論理
アドレスが、ディスク装置のアドレスの最小値、最大値
のいずれに近いかを、バス256を介して他方の外部記
憶制御部に通知する。すなわち、バス256はアドレス
情報通知手段として機能する。例えば、外部記憶制御部
250は各ディスク装置238ごとに、その最後のコマ
ンドの論理アドレスが0に近い場合には、バス256に
L(low)レベルの制御信号を送出し、逆に論理アド
レスが最大値に近い場合にはH(high)レベルの制
御信号を送出する。例えば、外部記憶制御部252はバ
ス256からディスク装置AについてLレベル、ディス
ク装置BについてHレベルの制御信号を受けた場合に
は、そのディスクAに対しては、そのアクセスする論理
アドレスの小さいコマンドから順に発行し、ディスクB
に対しては、そのアクセスする論理アドレスの大きいコ
マンドから順に発行する。
【0048】このように2つの外部記憶制御部250、
252間においても、コマンドが論理アドレスに基づい
てアクセス時間が最適となるよう発行され外部記憶装置
のレスポンスが向上する。
【0049】[実施形態3]図10は、レベル1のRA
IDディスク・アレイを備え本発明が適用される共有外
部記憶装置の模式的な構成図である。図中、特に断らな
い限り、図9の符号に100を加えた構成要素は、図9
と同一の機能を有するものとする。本実施形態と実施形
態2との主たる相違点は、本実施形態の外部記憶装置3
30は2つのレベル1のRAIDディスク・アレイ(R
AID1ディスク・アレイ)358、360を記憶ディ
スク部として有する点にある。各RAID1ディスク・
アレイは2つのディスク装置から構成され、これらディ
スク装置間でミラーリングが行われる。各RAID1デ
ィスク・アレイを構成する2つのディスク装置は互いに
異なるSCSIバス362、364に接続される。これ
ら2つのSCSIバス362、364は、外部記憶制御
部350、352にもそれぞれ接続される。両外部記憶
制御部350、352は基本的には、各RAID1ディ
スク・アレイをそれぞれ1個の記憶ディスク部として扱
い、実施形態2と同様の制御を行う。但し、本装置にお
いては、読み出し処理における最適化を行う点が、上記
実施形態と異なる。以下、この点を、RAID1ディス
ク・アレイ360を例にとって説明する。
【0050】RAID1ディスク・アレイ360では、
書き込み処理は、同一のデータを2つのディスク装置3
66、368の双方に書き込まなければならない。しか
し、読み出し処理については、ディスク装置366、3
68のいずれか一方から読み出せばよい。そこで、外部
記憶制御部350、352は、コマンド処理時間予測値
に基づいて、RAID1ディスク・アレイ360に対す
る読み出し処理をディスク装置366、368に振り分
け、並列処理させる。これにより、コマンドの全体の処
理時間が短縮され、装置のレスポンスが向上する。
【0051】表1は、上記処理を説明するためのRAI
D1ディスク・アレイ360に対するコマンド群の例を
表しており、これらは外部記憶制御部350から発行さ
れるものとする。表にはコマンドの読み出し/書き込み
の種別とコマンド処理時間予測値である予測実行時間が
示されている。
【0052】
【表1】 コマンドc、eは書き込みコマンドであるので、ディス
ク装置366、368の双方に発行される。残りのコマ
ンドa、b、d、fは読み出しコマンドであるので、デ
ィスク装置366、368のいずれかに発行されればよ
い。外部記憶制御部350は、これら読み出しコマンド
をそのコマンド処理時間予測値の和がなるべく均等化す
るように2つのグループに分ける。ここでは、コマンド
a、d、fとコマンドbとに分ける。これらは各グルー
プは120mSのコマンド処理時間予測値の和を有す
る。この外部記憶制御部350は、コマンドa、d、f
をディスク装置366に発行し、コマンドbをディスク
装置368に発行する。
【0053】上記の処理はRAIDタスクにて行われ
る。RAIDタスクはコマンドバッチ生成手段であるモ
ニタにより生成されたコマンド群を受け取り、それを上
記の手法により効率的にディスク装置に割り振る。
【0054】[実施形態4]図11は、レベル5のRA
IDディスク・アレイを備え本発明が適用される共有外
部記憶装置の模式的な構成図である。図中、特に断らな
い限り、図10の符号に100を加えた構成要素は、図
10と同一の機能を有するものとする。本実施形態と実
施形態3との主たる相違点は、本実施形態の外部記憶装
置430は2つのレベル5のRAIDディスク・アレイ
(RAID5ディスク・アレイ)458、460を記憶
ディスク部として有する点にある。各RAID5ディス
ク・アレイは5つのディスク装置から構成され、これら
ディスク装置の格納するデータから生成されるパリティ
は、ディスク装置間で分割して保持される。各RAID
5ディスク・アレイを構成する5つのディスク装置は互
いに異なるSCSIバス462、464、466、46
8、470に接続される。これら5つのSCSIバス
は、外部記憶制御部450、452にもそれぞれ接続さ
れる。両外部記憶制御部450、452は基本的には、
各RAID5ディスク・アレイをそれぞれ1個の記憶デ
ィスク部として扱い、実施形態2と同様の制御を行う。
但し、本装置においては、パリティの書き込み処理にお
ける最適化を行う点が、上記実施形態と異なる。以下、
この点を、RAID5ディスク・アレイ460を例にと
ってを説明する。
【0055】RAID5ディスク・アレイ460では、
データの書き込み処理はパリティの更新処理を伴う。例
えばn個のデータをDk (k=1〜n)、これらにより
生成されるパリティをPとする。これらはレベル5のR
AIDディスク・アレイを構成する各ディスク装置に分
散して保持されている。ここでDj (1≦j≦n)をD
j ’で更新する書き込み処理を考える。新たなn個のデ
ータに対するパリティを求める第1の方法はDj ’、D
j 及びPから求める方法であり、第2の方法はDj ’及
びDk (k≠j)から求める方法である。この第1の方
法においてはDj 及びPをディスク装置から読み出さな
ければならない。一方、第2の方法においてはDk (k
≠j)を読み出さなければならない。この第1の方法と
第2の方法とでは、読み出し処理が行われるディスク装
置が異なる。そこで外部記憶制御部450、452は、
RAID5ディスク・アレイ460に対する複数の書き
込みコマンドについての上記パリティ更新における読み
出し処理が各ディスク装置に分散し処理時間が均等化す
るように、上記第1の方法、第2の方法を選択する。す
なわち書き込みコマンドに伴う読み出し処理が各ディス
ク装置間において並列に処理される。これにより、コマ
ンドの全体の処理時間が短縮され、装置のレスポンスが
向上する。
【0056】表2は、上記処理を説明するためのRAI
D5ディスク・アレイ460に対するコマンド群の例を
表しており、これらは外部記憶制御部450から発行さ
れるものとする。表にはコマンドの読み出し/書き込み
の種別、アクセス先の論理アドレス、データ長及び予測
実行時間が示されている。ここで書き込みコマンドの予
測実行時間は、パリティ計算のための読み出し動作に必
要な時間を含まないコマンド処理時間予測値である。
【0057】
【表2】 コマンド処理時間予測値を求める際に、ディスク装置4
72、474、476、478、480(ディスク装置
A、B、C、D、E)に関して、最大シーク時間は18
mS、最大回転待ち時間は12mS、内部データ転送レ
ートは5MB/S及びコントローラのオーバーヘッドは
0.7mSであるという条件を使用し、また1ブロック
のデータ長は1KB、SCSIバス462、464、4
66、468、470の転送レートは10MB/Sであ
るとした。
【0058】図12はRAID5ディスク・アレイ46
0のセクタ・アドレスの割付けマップを表す模式図であ
る。セクタ・アドレスは図12に示されるような規則性
に基づいて割り付けられる。この割付け方と表2の各コ
マンドのアドレスとに基づいて、各ディスク装置ごとの
処理時間の予測値を求めると、ディスク装置A、B、
C、D、Eそれぞれについて、93mS、93mS、0
mS、62mS、62mSとなる。
【0059】さて、コマンドb、c、e、fは書き込み
コマンドであるので、上述のようにパリティ計算のた
め、ディスク装置に対する読み出し動作を伴う。例え
ば、コマンドbに対する上述の第1のパリティ生成方法
は、ディスク装置Bの古いデータとディスク装置Aの古
いパリティとを読み出す動作を伴い、また第2のパリテ
ィ生成方法は、ディスク装置C、D、Eの対応セクタの
古いデータを読み出す動作を伴う。パリティ計算のため
の読み出し動作を含まないディスク装置の占有時間(表
2)に基づく比較では、ディスク装置A、Bの負荷が高
くなっている。そこでコマンドbのパリティ生成処理は
上記第2の方法により行い、ディスク装置間でその占有
時間を平均化する。コマンドc、e、fについても上記
第1、第2の方法のいずれかを、ディスク装置間の処理
の均等化が図られるように選択する。これによりコマン
ド全体の処理が効率化され、外部記憶装置430のレス
ポンスが向上する。
【0060】上記の処理はRAIDタスクにて行われ
る。RAIDタスクはコマンドバッチ生成手段であるモ
ニタにより生成されたコマンド群を受け取り、それを上
記の手法により効率的にディスク装置に割り振る。
【0061】また、上では、コマンド処理時間予測値
を、接続されるディスク装置の最大シーク時間、最大回
転待ち時間等を基に算出しているが、これらの値に代え
て、予め測定により得た評価値を用いて算出することも
できる。測定値を取り入れることで、コマンド処理時間
予測値の精度が向上し、外部記憶制御部の制御精度が向
上する。これにより、装置のレスポンスの向上も期待で
きる。
【0062】具体的には、外部記憶制御部450、45
2は電源オン時に自己診断として、SEEKコマンドを
複数回発行する。そして、その際にシーク・回転時間を
測定し、それぞれの平均値を算出し、その値に安全係数
を掛けた値をシーク時間、回転待ち時間の評価値とす
る。この評価値に基づきコマンドの実行時間を予測する
ことにより、最大値を使用した場合より精度のよい予測
が可能となり、処理の効率向上が図られる。なお安全係
数は2をデフォルト値とし、また、システムごとに選択
・変更可能とする。
【0063】[実施形態5]模式的な構成は図11と同
一の装置であって記憶ディスク部458、460をレベ
ル3のRAIDディスク・アレイで置換した装置にも本
発明は適用される。この場合を図11を流用して、実施
形態4と異なる点のみを説明する。本実施形態と実施形
態4との主たる相違点は、記憶ディスク部内のデータの
持ち方にある。図13は、従来のRAID3ディスク・
アレイのセクタ・アドレスの割付けマップを表す模式図
である。従来においては、1つのディスク装置(図では
ディスク装置E)がパリティ専用に割り当てられてい
た。これに対し、図14は本装置におけるRAID3デ
ィスク・アレイのセクタ・アドレスの割付けマップを表
す模式図である。本装置では、パリティを格納するディ
スク装置は、128セクタごとに変わる。すなわち、パ
リティは、0〜127セクタ(0〜511バイトに相
当)ではディスク装置Eに格納され、次の128〜25
5セクタ(512〜1023バイト)ではディスク装置
Aに格納され、以降128セクタごとにディスク装置
B、C、D、…に格納される。
【0064】ここで、外部記憶制御装置が5ブロック分
(0〜2560バイト)のデータを読み出すコマンドを
発行した場合を説明する。既存のRAID3ディスク・
アレイでは、データが格納されている4つのディスク装
置A〜Dのそれぞれに640回のリード・アクセスを行
う必要があった。ところが、本装置では、セクタ単位で
パリティが割り振られているため、5つのディスク装置
A〜Eのそれぞれに512回のリード・アクセスを行う
こことなる。これにより、アクセスがディスク装置間に
て均等化され、20%性能が向上する。この方式は、1
度に大量のデータ転送を必要とする画像データ等のマル
チメディアアプリケーション用データの入出力において
特に効果を発揮する。
【0065】
【発明の効果】本発明の外部記憶装置によれば、複数の
記憶ディスク部を有する外部記憶装置において、装置全
体のレスポンスやスループットが優れているとともに、
記憶ディスク部間におけるレスポンスやスループットの
不均衡がないという効果がある。コマンドの処理をバッ
チごとに進めることにより最大レスポンス時間、最低ス
ループットが保証された外部記憶装置が得られるという
効果がある。
【0066】また、本発明の外部記憶装置によれば、バ
ス獲得における優先度に関し、外部記憶制御部と記憶デ
ィスク部との間の均衡がとれ、記憶ディスク部からのレ
スポンス時間が短縮され、装置のレスポンスが向上する
という効果がある。
【0067】本発明の外部記憶装置によれば、複数の読
み出しコマンドに対応するデータが一括してコンピュー
タへ転送されるので、その転送の際の外部記憶装置から
コンピュータへのチャネルの接続処理といった時間的オ
ーバーヘッドが低減され、レスポンスやスループットが
向上するという効果が得られる。
【0068】本発明の外部記憶装置によれば、コマンド
単位でタイムアウトを監視することにより、タイムアウ
トの検出が早まる。これによりエラーに対する対応がそ
れだけ早く行われ、外部記憶装置のレスポンスの向上を
図ることができる。
【0069】本発明の外部記憶装置によれば、送出キュ
ー内の前記コマンドにより指定される前記アドレスが例
えば昇順、降順となるようにコマンドが選択され、これ
らコマンドの実行における記憶ディスク部のヘッドのシ
ーク時間やディスクの回転時間といったアクセス時間が
最小となる。これによりレスポンスやスループットが向
上するという効果が得られる。
【0070】本発明の外部記憶装置によれば、複数の外
部記憶制御部を有する場合、一方の外部記憶制御部にお
いて最後にアクセスされたアドレスに関する情報を、次
の処理を行う外部記憶制御部に通知する。次の処理を行
う外部記憶制御部はこのアドレス情報に基づいて、例え
ば前記アクセス時間が最小であるコマンドから処理を開
始するので、レスポンスやスループットが向上するとい
う効果が得られる。
【0071】本発明の外部記憶装置によれば、送出キュ
ー中に複数の読み出しコマンドがあれば、それらをRA
ID1アレイ・ディスクを構成する2つのディスク装置
に振り分けて発行し、これら両ディスク装置において異
なる読み出しコマンドを並列に処理させることにより、
コマンド処理の効率が向上する。
【0072】本発明の外部記憶装置によれば、RAID
5アレイ・ディスクを記憶ディスク部とする場合、送出
キュー中に複数の書き込みコマンドがあれば、それらに
伴う上記パリティ更新における読み出し処理が、各ディ
スク装置に分散し処理時間が均等化するように、上記第
1の方法、第2の方法を選択する。これにより、書き込
みコマンドに伴う読み出し処理が各ディスク装置間にお
いて並列に処理され、コマンド処理の効率が向上すると
いう効果が得られる。
【0073】本発明の外部記憶装置によれば、RAID
3アレイ・ディスクを記憶ディスク部とする場合、デー
タの分散度合いが高まり、コマンド処理が各ディスク装
置間において並列に処理される可能性が高くなり、コマ
ンド処理の効率が向上するという効果が得られる。
【0074】本発明の外部記憶装置によれば、シーク時
間及び回転時間の実測値を利用することにより、コマン
ド処理時間予測値の精度が高まり、外部記憶制御部によ
るコマンド処理の効率向上のための制御精度が上がると
いう効果がある。
【図面の簡単な説明】
【図1】 本発明が適用される共有外部記憶装置の模式
的な構成図。
【図2】 共有外部記憶装置の内部処理を説明するため
のブロック図。
【図3】 コマンドキューイング部の処理を説明するた
めの送出キュー内のコマンド列の模式図。
【図4】 コマンドキューイング処理を説明するための
送出キュー内のコマンド列の1例を示す模式図。
【図5】 コマンドキューイング処理を説明するタイミ
ングチャート。
【図6】 電源オン時における自己診断の動作を説明す
るフローチャート。
【図7】 実際のコマンド発行処理におけるコマンドキ
ューイング部の動作を説明するフローチャート。
【図8】 タイムアウト処理を説明する模式図。
【図9】 本発明が適用される他の共有外部記憶装置の
模式的な構成図。
【図10】 RAID1ディスク・アレイを備え本発明
が適用される共有外部記憶装置の模式的な構成図。
【図11】 RAID5ディスク・アレイを備え本発明
が適用される共有外部記憶装置の模式的な構成図。
【図12】 RAID5ディスク・アレイのセクタ・ア
ドレスの割付けマップを表す模式図。
【図13】 従来のRAID3ディスク・アレイのセク
タ・アドレスの割付けマップを表す模式図。
【図14】 実施形態におけるRAID3ディスク・ア
レイのセクタ・アドレスの割付けマップを表す模式図。
【図15】 従来の外部記憶装置の模式的な構成図。
【符号の説明】
30 共有外部記憶装置、32,34,36 ホスト計
算機、38 ディスク装置、40 外部記憶制御部、4
2,44 SCSIバス、50 受入キュー、52 予
測値テーブル、54 コマンドバッチ生成部、58 送
出キュー、60コマンドキューイング部、62 ディス
ク側キュー、250,252 外部記憶制御部、256
バス、358,360 RAID1ディスク・アレ
イ、458,460 RAID5ディスク・アレイ。

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 データを格納しこのデータに対する読み
    出し/書き込みコマンドをキューイング可能な複数の記
    憶ディスク部と、コンピュータからの前記コマンドを受
    入キューに蓄え前記記憶ディスク部に順次発行し、前記
    コンピュータと前記記憶ディスク部との間のデータ入出
    力処理を制御する外部記憶制御部とを備えた外部記憶装
    置において、 前記外部記憶制御部は、 前記コマンドの処理に要すると予測される時間であるコ
    マンド処理時間予測値を生成する予測処理時間生成手段
    と、 所定のタイミングで前記受入キュー内のコマンドをその
    前記コマンド処理時間予測値の和が所定の処理タイムス
    ライスに応じた値となる個数だけ格納される、前記コマ
    ンドの待ち行列である送出キューと、 前記予測処理時間生成手段に基づき前記各記憶ディスク
    部別の処理時間を予測する処理時間予測手段と、 この予測された処理時間が最大の前記記憶ディスク部に
    対する前記コマンドを前記送出キューから取り出して、
    対応する前記記憶ディスク部にキューイングするコマン
    ドキューイング手段と、 前記各送出キューが空になると、前記受入キューから前
    記送出キューへ前記コマンドを格納するコマンドバッチ
    生成手段と、 を含むことを特徴とする外部記憶装置。
  2. 【請求項2】 請求項1記載の外部記憶装置において、 前記外部記憶制御部と前記記憶ディスク部はバスにより
    接続され、 前記外部記憶制御部は、前記記憶ディスク部に前記コマ
    ンドを試行的に発行し、そのコマンドに対し前記記憶デ
    ィスク部が前記バスの使用権を獲得するまでの応答時間
    を計測する応答計測手段を有し、 前記コマンドキューイング手段は、前記コマンドの発行
    を前記バスのフリー状態の検出から前記応答時間に応じ
    た時間、遅延させる遅延手段を有すること、 を特徴とする外部記憶装置。
  3. 【請求項3】 請求項1記載の外部記憶装置において、 前記外部記憶制御部は、 前記記憶ディスク部に対する読み出しコマンドの処理待
    ち数を計数するコマンド計数手段と、 複数の読み出しコマンドに対する前記記憶ディスク部か
    らの読み出しデータを保持するバッファを有し、 前記処理待ち数に基づいて前記バッファを制御し、複数
    の読み出しコマンドの前記読み出しデータを前記バッフ
    ァへ蓄積させ、その蓄積された読み出しデータをコンピ
    ュータへ一括転送させるバッファ制御手段と、 を含むことを特徴とする外部記憶装置。
  4. 【請求項4】 請求項1記載の外部記憶装置において、 前記外部記憶制御部は、 前記各送出キューから送出され処理待ち状態にあるコマ
    ンドについての前記コマンド処理時間予測値の最大値を
    タイムアウト値として前記各記憶ディスク部ごとに保持
    するタイムアウト値保持手段と、 直前のコマンドの処理終了からの経過時間を、前記各記
    憶ディスク部ごとに計測する経過時間計測手段と、 前記経過時間がその対応する前記記憶ディスク部の前記
    タイムアウト値を越えたときエラーとして判定するエラ
    ー判定手段と、 を含むことを特徴とする外部記憶装置。
  5. 【請求項5】 請求項1記載の外部記憶装置において、 前記コマンドキューイング手段は、前記コマンドにより
    アクセスされる前記記憶ディスク部のアドレスに基づい
    て、アクセス時間が最小と予測されるコマンドを選択す
    るアクセス最適化手段を有することを特徴とする外部記
    憶装置。
  6. 【請求項6】 請求項5記載の外部記憶装置において、 前記外部記憶制御部が複数個設けられて前記記憶ディス
    ク部を共有し、 この各外部記憶制御部は、アクセスした前記記憶ディス
    ク部のアドレスに基づくアドレス情報を他の外部記憶制
    御部に通知するアドレス情報通知手段を有し、 前記アクセス最適化手段は、前記アドレス情報を参照し
    て前記送出キューから前記コマンドを選択すること、 を特徴とする外部記憶装置。
  7. 【請求項7】 請求項1記載の外部記憶装置において、 前記記憶ディスク部は、2つのディスク装置を含み、こ
    れらディスク装置間においてミラーリングが行われるレ
    ベル1のRAIDアレイ・ディスクであり、 前記外部記憶制御部は、前記送出キューの中の前記2つ
    のディスク装置に対する読み出しコマンドを、それらの
    前記コマンド処理時間予測値に基づいて前記2つのディ
    スク装置に振り分けて発行し、これら両ディスク装置の
    読み出し処理時間の均等化を図るRAID1負荷分散手
    段を有すること、 を特徴とする外部記憶装置。
  8. 【請求項8】 請求項1記載の外部記憶装置において、 前記記憶ディスク部は、複数のディスク装置を含み、こ
    れら各ディスク装置に格納されるデータに基づいて生成
    されるパリティをこれら全ディスク装置に分割して保持
    するレベル5のRAIDディスク・アレイであり、 前記外部記憶制御部は、書き込みコマンドの処理におけ
    る新しいパリティの生成処理に用いるデータとして、更
    新されるデータと現パリティとを読み出すか、これら以
    外の現パリティの生成に用いたデータを読み出すかを、
    読み出し処理時間が前記ディスク装置間にて均等化され
    るように前記コマンド処理時間予測値に基づいて選択す
    るRAID5負荷分散手段を有すること、 を特徴とする外部記憶装置。
  9. 【請求項9】 請求項1記載の外部記憶装置において、 前記記憶ディスク部は、複数のディスク装置を含み、前
    記各ディスク装置に格納されるデータに基づいてそのセ
    クタ単位にパリティを生成し、このパリティを特定の前
    記ディスク装置に集中して保持させて高転送速度を実現
    するレベル3のRAIDディスク・アレイであり、 前記外部記憶制御部は、分割された複数の前記セクタ範
    囲ごとに、パリティを保持する前記ディスク装置が異な
    るようにパリティ格納位置を生成するパリティ位置割付
    手段を有すること、 を特徴とする外部記憶装置。
  10. 【請求項10】 請求項7から請求項9までのいずれか
    に記載の外部記憶装置において、 前記外部記憶制御部は、起動時に前記ディスク装置のシ
    ーク時間及び回転時間を測定し、この測定値に基づいて
    前記コマンド処理時間予測値を設定する予測処理時間設
    定手段を有することを特徴とする外部記憶装置。
JP8068405A 1996-03-25 1996-03-25 複数の記憶ディスク部を有した高可用性の外部記憶装置 Pending JPH09258907A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8068405A JPH09258907A (ja) 1996-03-25 1996-03-25 複数の記憶ディスク部を有した高可用性の外部記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8068405A JPH09258907A (ja) 1996-03-25 1996-03-25 複数の記憶ディスク部を有した高可用性の外部記憶装置

Publications (1)

Publication Number Publication Date
JPH09258907A true JPH09258907A (ja) 1997-10-03

Family

ID=13372752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8068405A Pending JPH09258907A (ja) 1996-03-25 1996-03-25 複数の記憶ディスク部を有した高可用性の外部記憶装置

Country Status (1)

Country Link
JP (1) JPH09258907A (ja)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001099107A1 (fr) * 2000-06-22 2001-12-27 Matsushita Electric Industrial Co., Ltd. Dispositif de reproduction/d'enregistrement
US6532502B1 (en) 1998-12-17 2003-03-11 Nec Corporation Command queue control device
KR100620921B1 (ko) * 2003-03-27 2006-09-13 산요덴키가부시키가이샤 은닉해야 할 데이터를 암호화하여 입출력하는 방법 및 장치
US7136970B2 (en) 2002-12-26 2006-11-14 Fujitsu Limited Storage system and dynamic load management method thereof
US7188166B2 (en) 2003-12-04 2007-03-06 Hitachi, Ltd. Storage system, storage control device, and control method for storage system
JP2007304883A (ja) * 2006-05-11 2007-11-22 Fuji Xerox Co Ltd コマンドキューイング制御装置、コマンドキューイングプログラム及びストレージシステム
JP2008016175A (ja) * 2006-06-29 2008-01-24 Seagate Technology Llc 方向性および浮動ライトバンドを有するコマンドキュー順序付け
JP2009077959A (ja) * 2007-09-26 2009-04-16 Toshiba Corp 超音波画像診断装置およびその制御プログラム
JP2009116805A (ja) * 2007-11-09 2009-05-28 Fuji Xerox Co Ltd コマンドキューイング制御装置、コマンドキューイングプログラム及びストレージシステム
JP2009163499A (ja) * 2008-01-07 2009-07-23 Nec Corp ストレージ装置と方法とプログラム
JP2009211162A (ja) * 2008-02-29 2009-09-17 Toshiba Corp 情報処理装置および起動制御方法
US7721346B2 (en) 2003-03-28 2010-05-18 Sanyo Electric Co., Ltd Method and apparatus for encrypting data to be secured and inputting/outputting the same
JP2011138401A (ja) * 2009-12-28 2011-07-14 Fujitsu Ltd プロセッサシステム、プロセッサシステムの制御方法、及び制御回路
WO2011128936A1 (ja) * 2010-04-14 2011-10-20 株式会社日立製作所 記憶制御装置及び記憶制御装置の制御方法
JP2013196389A (ja) * 2012-03-19 2013-09-30 Fujitsu Ltd 情報処理装置、情報処理プログラム及び情報処理方法
JP2013251734A (ja) * 2012-05-31 2013-12-12 Toshiba Corp データ転送方法ならびに電子機器
US9069721B2 (en) 2012-06-29 2015-06-30 Fujitsu Limited Storage control device, computer-readable recording medium, and method thereof
JP2015130150A (ja) * 2013-10-29 2015-07-16 シーゲイト テクノロジー エルエルシー メモリデバイスのための装置、メモリデバイスおよびメモリデバイスの制御のための方法
US9086808B2 (en) 2011-07-25 2015-07-21 Fujitsu Limited Storage apparatus, load condition reduction method of the storage apparatus and system
US10606514B2 (en) 2017-05-17 2020-03-31 Fujitsu Limited Storage device, storage control device, and storage control program

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6532502B1 (en) 1998-12-17 2003-03-11 Nec Corporation Command queue control device
US6785745B2 (en) 2000-06-22 2004-08-31 Matsushita Electric Industrial Co., Ltd. Recording/reproducing device
WO2001099107A1 (fr) * 2000-06-22 2001-12-27 Matsushita Electric Industrial Co., Ltd. Dispositif de reproduction/d'enregistrement
US7136970B2 (en) 2002-12-26 2006-11-14 Fujitsu Limited Storage system and dynamic load management method thereof
KR100620921B1 (ko) * 2003-03-27 2006-09-13 산요덴키가부시키가이샤 은닉해야 할 데이터를 암호화하여 입출력하는 방법 및 장치
US7721346B2 (en) 2003-03-28 2010-05-18 Sanyo Electric Co., Ltd Method and apparatus for encrypting data to be secured and inputting/outputting the same
US7188166B2 (en) 2003-12-04 2007-03-06 Hitachi, Ltd. Storage system, storage control device, and control method for storage system
JP2007304883A (ja) * 2006-05-11 2007-11-22 Fuji Xerox Co Ltd コマンドキューイング制御装置、コマンドキューイングプログラム及びストレージシステム
JP2008016175A (ja) * 2006-06-29 2008-01-24 Seagate Technology Llc 方向性および浮動ライトバンドを有するコマンドキュー順序付け
JP2009077959A (ja) * 2007-09-26 2009-04-16 Toshiba Corp 超音波画像診断装置およびその制御プログラム
JP2009116805A (ja) * 2007-11-09 2009-05-28 Fuji Xerox Co Ltd コマンドキューイング制御装置、コマンドキューイングプログラム及びストレージシステム
JP2009163499A (ja) * 2008-01-07 2009-07-23 Nec Corp ストレージ装置と方法とプログラム
JP2009211162A (ja) * 2008-02-29 2009-09-17 Toshiba Corp 情報処理装置および起動制御方法
JP2011138401A (ja) * 2009-12-28 2011-07-14 Fujitsu Ltd プロセッサシステム、プロセッサシステムの制御方法、及び制御回路
CN102741801B (zh) * 2010-04-14 2015-03-25 株式会社日立制作所 存储控制装置和存储控制装置的控制方法
CN102741801A (zh) * 2010-04-14 2012-10-17 株式会社日立制作所 存储控制装置和存储控制装置的控制方法
JP5451874B2 (ja) * 2010-04-14 2014-03-26 株式会社日立製作所 記憶制御装置及び記憶制御装置の制御方法
US8984352B2 (en) 2010-04-14 2015-03-17 Hitachi, Ltd. Storage control apparatus and control method of storage control apparatus
WO2011128936A1 (ja) * 2010-04-14 2011-10-20 株式会社日立製作所 記憶制御装置及び記憶制御装置の制御方法
US9086808B2 (en) 2011-07-25 2015-07-21 Fujitsu Limited Storage apparatus, load condition reduction method of the storage apparatus and system
JP2013196389A (ja) * 2012-03-19 2013-09-30 Fujitsu Ltd 情報処理装置、情報処理プログラム及び情報処理方法
JP2013251734A (ja) * 2012-05-31 2013-12-12 Toshiba Corp データ転送方法ならびに電子機器
US9052841B2 (en) 2012-05-31 2015-06-09 Kabushiki Kaisha Toshiba Electronic device and data transfer method
US9069721B2 (en) 2012-06-29 2015-06-30 Fujitsu Limited Storage control device, computer-readable recording medium, and method thereof
JP2015130150A (ja) * 2013-10-29 2015-07-16 シーゲイト テクノロジー エルエルシー メモリデバイスのための装置、メモリデバイスおよびメモリデバイスの制御のための方法
US10606514B2 (en) 2017-05-17 2020-03-31 Fujitsu Limited Storage device, storage control device, and storage control program

Similar Documents

Publication Publication Date Title
JPH09258907A (ja) 複数の記憶ディスク部を有した高可用性の外部記憶装置
CN109426557B (zh) 基于信用的命令调度
JP4318914B2 (ja) ストレージシステム及びその動的負荷管理方法
JP4922496B2 (ja) I/o要求に優先順位を与える方法
US6178486B1 (en) Time allocation shared memory arbitration for disk drive controller
US5426736A (en) Method and apparatus for processing input/output commands in a storage system having a command queue
US8706962B2 (en) Multi-tier storage system configuration adviser
JP4322068B2 (ja) ストレージシステム及びそのデイスク負荷バランス制御方法
JP3588311B2 (ja) ディスク・ドライブへコマンドを出すかどうかを決定する方法及びディスク・コントローラ
US20170017524A1 (en) Quality of service implementation in a networked storage system with hierarchical schedulers
JP4654273B2 (ja) ストレージ装置および制御装置
JP5270077B2 (ja) 調停回路、クロスバ、リクエスト選択方法、及び情報処理装置
US20050240934A1 (en) Task management based on system utilization
US20020091746A1 (en) System and method for adaptive performance optimization of data processing systems
JPH10207833A (ja) Scsiバス・アービトレーションを実行するための方法および装置
JP5171602B2 (ja) Raidドライバ及びこれを備えた電子機器並びにraidに対するアクセス要求調停方法
US20050066138A1 (en) Multiple storage element command queues
US6311257B1 (en) Method and system for allocating memory for a command queue
JP3440219B2 (ja) 入出力装置及びディスク・タイムシェアリング方法
CN110716691B (zh) 调度方法、装置、闪存设备和系统
JP2003131908A (ja) 記憶制御装置
US8769195B2 (en) Storage apparatus and storage apparatus control method
JP2002023962A (ja) ディスク装置及び制御方法
JP4091225B2 (ja) ディスク・タイムシェアリング装置及び方法
JP3623697B2 (ja) ディスク・タイムシェアリング装置及び方法