JP2004139482A - 磁気ディスク制御装置のコマンド処理時間監視設定方法 - Google Patents
磁気ディスク制御装置のコマンド処理時間監視設定方法 Download PDFInfo
- Publication number
- JP2004139482A JP2004139482A JP2002305276A JP2002305276A JP2004139482A JP 2004139482 A JP2004139482 A JP 2004139482A JP 2002305276 A JP2002305276 A JP 2002305276A JP 2002305276 A JP2002305276 A JP 2002305276A JP 2004139482 A JP2004139482 A JP 2004139482A
- Authority
- JP
- Japan
- Prior art keywords
- command
- magnetic disk
- time
- control device
- monitoring
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】従来の技術では、書き込み命令及び読み出し命令の全て対し、磁気ディスク制御装置のコマンド実行に優先順位がなく、エラーが発生した場合の再試行の最大時間も一定であったため、終了応答を送信し平均的な性能を重視する場合と、終了応答未送信でコマンドの応答時間を重視する場合とにおいて、時間設定を変更することが出来なかった。
【解決手段】磁気ディスク制御装置に対し、モード設定すること又はコマンド指示により、書き込み時の処理監視時間及び読み出し時の処理監視時間を、各々独立に設定可能とし、用途/目的別にコマンドの処理監視時間を切り替える。磁気ディスク制御装置内でのコマンド並び替え時のコマンド選択が最適となり、磁気ディスクの性能を最大限に引き出すことができる。
【選択図】 図1
【解決手段】磁気ディスク制御装置に対し、モード設定すること又はコマンド指示により、書き込み時の処理監視時間及び読み出し時の処理監視時間を、各々独立に設定可能とし、用途/目的別にコマンドの処理監視時間を切り替える。磁気ディスク制御装置内でのコマンド並び替え時のコマンド選択が最適となり、磁気ディスクの性能を最大限に引き出すことができる。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、磁気ディスク制御装置へのコマンド処理監視時間の設定方法に関し、特に、命令(コマンド)別に必要に応じ、コマンド処理監視時間の設定を変更する方法に関する。
【0002】
【従来の技術】
従来の磁気ディスク制御装置においては、媒体への書き込み及び読み込み処理において、エラーが発生した場合の再試行の最大時間をモードセレクトコマンドにより、設定する方法が一般的となっていた。この仕様は、ANSI(米国規格協会)による規格で定められたものであり、書き込み処理及び読み込み処理のそれぞれに共通のパラメータ設定により行われる。
【0003】
また最近のタグキューイング機能の普及に伴い、マルチコマンド受領時のコマンド並び替えに伴う、コマンドの沈み込み現象防止のため、コマンド受領から一定時間経過した後は優先してそのコマンドの処理を実施する制御方法が採用されている。つまり、タグキューイング実施時、磁気ディスク制御装置は、シーク時間及び回転待ちを考慮し、性能が最適となるようにコマンドの並び替えを実施する。物理的に離れた場所の読み出し/書き込み処理は、他の命令(コマンド)を先に実施するため、応答時間が遅れる。この応答時間の遅れ(沈み込み)を防止するため、コマンド受領から一定時間経過してもコマンド実行に移行しない命令は、優先的にそのコマンド処理を実施する機能がある。ただし、この方法も全ての命令(コマンド)に対し、一律の設定時間となっている。
【0004】
【特許文献1】特開平11−194963号公報
【発明が解決しようとする課題】
従来の技術では、書き込み命令及び読み出し命令の全てのコマンドに対し、磁気ディスク制御装置のコマンド実行には優先順位がなく、エラーが発生した場合の再試行の最大時間も一定であった。このため、上位装置が平均的な性能を重視する場合と、コマンドの応答時間を重視する場合とを区別することなく、時間設定を変更することが出来なかった。
【0005】
一般に、上位装置がディスクアレイ制御システムの場合、要求別に次の命令(コマンド)が考えられる。まず、ディスクアレイ制御システムの上位ホストコンピュータからの読み出し命令(コマンド)では、ディスクアレイ制御システムのキャッシュ内に要求データが存在していなければ、磁気ディスク制御装置に対し、ディスクアレイ制御システムから読み出し命令(コマンド)が発行される。読み出し命令(コマンド)は、上位ホストコンピュータからの直接の要求であるため、上位ホストコンピュータの監視時間以内の処理が磁気ディスク制御装置に求められる。
【0006】
また、ディスクアレイ制御システムの上位ホストコンピュータからの書き込み命令(コマンド)では、通常、ディスクアレイ制御システム内のキャッシュにデータを書き込んだ時点で、上位ホストコンピュータに終了報告を実施し、その後、磁気ディスク制御装置に対し、書き込み命令(コマンド)を発行し、磁気ディスク媒体へ書き込む。従って、上位ホストコンピュータに終了報告しているため、処理時間の監視は障害の場合以外には必要が無い。
【0007】
ディスクアレイ制御システムの場合、一般に、連続的な書き込み動作以外は、パリティデータを更新する必要がある。このため磁気ディスク制御装置に対し、書き込み命令(コマンド)を発行する前に、読み出し命令(コマンド)を発行する。その読み込み命令(コマンド)については、書き込み命令(コマンド)に付随して生じる読み込み命令(コマンド)のため、処理時間の監視は障害の場合以外には必要無い。
【0008】
ディスクアレイ制御システムの上位ホストコンピュータから、書き込み命令(コマンド)が発行された場合に、ディスクアレイ制御システム内のキャッシュに障害が発生していることもあるので、磁気ディスク制御装置に対し書き込みが完了した後、上位ホストコンピュータに終了報告を実施するため、上位ホストコンピュータの監視時間以内の処理が磁気ディスク制御装置に求められることもある。
【0009】
以上の様に、ディスクアレイ制御システムでは、読み出し命令(コマンド)及び書き込み命令(コマンド)それぞれに処理時間の規定が必要な場合と、障害を考慮しなければ不要な場合とが生じる。
【0010】
しかしながら、コマンド処理監視時間の設定は一律に為されており、監視時間の短い方に合わせざるを得ず、磁気ディスク制御装置及び磁気ディスク装置の性能を最大限引き出すことが出来ないという課題があった。
【0011】
本発明の目的は、ディスクアレイ制御システムが用途別に処理監視時間を変更可能とすることにより、磁気ディスク制御装置等の最大限の性能を引き出すことにある。
【0012】
【課題を解決するための手段】
磁気ディスク制御装置に対し、モード設定又はコマンド指示により、書き込み時の処理監視時間及び読み出し時の処理監視時間を、各々独立に設定可能とする。
【0013】
【発明の実施の形態】
以下、図面に示す実施例により説明する。図1、図2は、本発明を適用した磁気ディスク制御装置の一実施例のブロック図を示したものである。
図1において、10はディスクアレイシステム(上位装置)、20は磁気ディスク制御装置を示し、ディスクアレイシステム(上位装置)10及び、磁気ディスク制御装置20はドライブインターフェース50を介し接続される。
【0014】
70は磁気ディスクを示し、磁気ディスク制御装置20は、ホストコンピュータ10とのデータの転送等を制御するインターフェースコントローラ21、磁気ディスク70とのデータの転送等を制御するハードディスクコントローラ22、また、それらのデータ転送速度の違いを吸収し、制御装置20内部のデータ転送を制御するバッファコントローラ23及びバッファ(Cache)24、それらを制御する制御プロセッサ26、制御情報等を格納する揮発性の内部メモリ30により構成される。
【0015】
図2において、10はディスクアレイシステム(上位装置)、20は磁気ディスク制御装置、90はホストコンピュータを示し、ディスクアレイシステム(上位装置)10及び磁気ディスク制御装置20は、ドライブインターフェース50を介し接続される。ホストコンピュータ90及びディスクアレイシステム(上位装置)10はホストインターフェース80を介し接続される。ディスクアレイシステム(上位装置)10には複数台の磁気ディスク制御装置20が接続されている。ディスクアレイシステム(上位装置)10はキャッシュメモリ11を備えている。
【0016】
ディスクアレイシステム(上位装置)10から発行された書き込み(ライト)命令は、ホストインターフェース50を介し、インターフェースコントローラ21により制御プロセッサ26に通知される。制御プロセッサ26は、書き込み(ライト)命令を受領すると、要求アドレス、レングス、コマンド受領時間をコマンドキューテーブル31にセーブする。そしてディスクアレイシステム(上位装置)10からのデータ受領起動をインターフェースコントローラ21、バッファコントローラ23に、また、同時にアドレス、レングス31に基づいてハードディスクコントローラ22にライト起動を実施し、磁気ディスク70に書きこみ動作を行う。磁気ディスク70への書きこみに異常が発生せず、正常に終了した場合は、インタフェースコントローラ21を介して、ホストコンピュータ10に正常終了報告を実施する。
【0017】
ディスクアレイシステム(上位装置)10から発行された読み出し(リード)命令は、ホストインターフェース50を介し、インターフェースコントローラ21により制御プロセッサ26に通知される。
【0018】
制御プロセッサ26は、読み出し(リード)命令を受領すると、その要求アドレス、レングス、コマンド受領時間をコマンドキューテーブル31にセーブする。次にアドレス、レングス31に基づいてハードディスクコントローラ22にリード起動を実施し、バッファコントローラ23の起動と共に磁気ディスク70からの読み込みを行う。同時に、ディスクアレイシステム(上位装置)10へのデータ受領起動をインターフェースコントローラ21に実施する。磁気ディスク70への読み出しにつき異常が発生せず、正常に終了した場合は、インタフェースコントローラ21を介して、ホストコンピュータ10に正常終了報告を実施する。
【0019】
磁気ディスク70への書きこみ又は読み出し処理中に、位置付け障害その他の異常を検出した場合は、磁気ディスク70への書き込み又は書きこみの再試行を実施する。この再試行は、モード設定コマンドで指定されるリカバリタイムリミット値32を越えて新たな再試行を実施しない論理によって、コマンドの応答時間が所定値以内に納まるよう、保証している。
【0020】
つまり、再試行処理では、コマンドキューテーブル31のコマンド受領時刻と現在の時刻とを比較し、リカバリタイムリミット値32を超えている場合は、新たな再試行を実施しないようになっている。リカバリタイムリミット値32は、ANSI(米国規格協会)による規格であり、書き込み処理及び読み出し処理に共通したパラメータで設定される。
【0021】
ディスクアレイシステム(上位装置)10よりの書き込み(ライト)及び読み出し(リード)命令は、タグキューイング機能を使用することにより、前に発行した命令(コマンド)が終了する前に、次ぎの命令(コマンド)を受領可能である。このタグキューイング機能を使用して、複数命令(コマンド)を受領した磁気ディスク制御装置20は、受領した命令(コマンド)をコマンドキューテーブル31に格納し、並び替え処理を実施する。
【0022】
即ち、そのコマンドキューテーブル31に格納された命令(コマンド)の中から、磁気ディスク制御装置20はシーク時間及び回転待ち時間を考慮して最短の時間で処理できる命令(コマンド)を選択する。
【0023】
このタグキューイング機能によるコマンドの並び替え処理により、平均のコマンド処理時間において、最速の性能を実現することが可能である。しかしながら、物理的に離れた場所の読み出し/書き込み処理は、他の命令(コマンド)を先に実施するため、応答時間が遅れる。例えば、大半の命令(コマンド)が磁気ディスク70の外周に集中していた場合、内周への命令(コマンド)は実行が後に廻され(沈み込み)、外周の命令(コマンド)のみを実行することになる。
【0024】
この沈み込みによる応答時間の遅れを防止するため、コマンド受領から一定時間経過してもコマンド実行に移行しない命令は、優先的にそのコマンド処理を実施する機能が用いられている。すなわち、コマンドキューテーブル31のコマンド受領時刻と現在の時刻を比較し、コマンド受領から一定時間を超えている命令(コマンド)が存在した場合は、優先してコマンド実行を実施する。
【0025】
この時間は、前述のリカバリタイムリミット値32を基に計算してもよい。例えば、リカバリタイムリミット値32の半分の値を、このコマンド優先実行時間に用いる方法である。この方法では、全ての命令(コマンド)に対し、共通の時間割り当てとなる。この処理監視時間と平均の性能はトレードオフの関係にあり、処理監視時間が長いほど、平均の性能は向上することになる。
【0026】
ディスクアレイシステム(上位装置)10は、複数台の磁気ディスク制御装置20が接続されているが、一般にRAID5(Redundant Arrays of Inexpensive Disks 5)構成の場合は次の処理手順となる。
ディスクアレイシステム10へのホストコンピュータ90からの読み出し命令(コマンド)では、ディスクアレイシステム10のキャッシュメモリ11内に要求データが存在していなければ、磁気ディスク制御装置20に対し、ディスクアレイシステム10から読み出し命令(コマンド)が発行される。
【0027】
読み出し命令(コマンド)は、上位ホストコンピュータ90からの直接の要求であるため、上位ホストコンピュータ90の監視時間以内の処理が磁気ディスク制御装置20に求められる。
【0028】
ディスクアレイシステム10の上位ホストコンピュータ90からの書き込み命令(コマンド)では、通常、ディスクアレイシステム10内のキャッシュメモリ11にデータを受領した時点で、上位ホストコンピュータ90に終了報告を実施する。その後、磁気ディスク制御装置20に対し、書き込み命令(コマンド)が発行される。
【0029】
従って、上位ホストコンピュータ90に終了報告を実施しているため、障害が生じたとき以外には、処理時間の制約は無い。ディスクアレイシステム10の場合、連続的な書き込み動作以外は、パリティデータを更新するために磁気ディスク制御装置20に対し書き込み命令(コマンド)を発行する前に、磁気ディスク制御装置20に対し、読み出し命令(コマンド)を発行する。
【0030】
すなわち、RAID5構成では、新しいパリティデータを作成するためにデータ部においてもパリティ部においても、一度はデータを読み込む必要がある。読み出し命令(コマンド)は、上位ホストコンピュータ90に終了報告を実施している上位ホストコンピュータ90からの書き込み命令(コマンド)に付随する、読み出し命令(コマンド)のため、処理時間に関する制約は、障害発生時以外には、無い。
【0031】
上記のようなディスクアレイシステム10の上位ホストコンピュータ90からの書き込み命令(コマンド)でも、ディスクアレイシステム10内のキャッシュメモリ11の障害が発生している場合には、磁気ディスク制御装置20に対し書き込みが完了した後、上位ホストコンピュータ90に終了報告を実施するため、上位ホストコンピュータ90の監視時間以内の処理が磁気ディスク制御装置に求められる。
【0032】
以上の様に、磁気ディスク制御装置20の上位装置がディスクアレイシステム10の場合には、読み出し命令(コマンド)及び書き込み命令(コマンド)それぞれに処理時間の規定が必要になる場合と不要な場合が生じる。また処理時間の規定が不要なディスクアレイシステム10が、上位ホストコンピュータ90に終了報告を実施している場合においても、通信系の不良等の障害における回復を実施するために、監視時間は設ける必要がある。
【0033】
以上を整理すると、図3のように、目的/用途により、コマンド処理監視時間を分類することができる。目的/用途により、コマンド処理監視時間の要求は異なるが、コマンド処理監視時間の設定が従来は一律にしか出来なかったため、処理時間の厳しい方に合わせる必要があり、性能を最大限に引き出すことが出来なかった。
【0034】
この問題を解決ため、予めディスクアレイシステム10は磁気ディスク制御装置20への書き込み命令(コマンド)及び読み出し命令(コマンド)を発行する前に、読み出し及び書き込み時の監視時間を2段階で設定しておく。
【0035】
つまり、監視時間(a)33(図1)は、ホストコンピュータ90へ終了報告を実施していない命令(コマンド)におけるホストコピュータ90の監視時間以内の値とする。監視時間(b)34は、ホストコンピュータ90へ終了報告を実施している場合の障害のみを考慮した監視時間とする。ディスクアレイシステム10は、磁気ディスク制御装置20への書き込み命令(コマンド)及び読み出し命令(コマンド)を発行する段階で、コマンド内のベンダユニークなビット情報により、監視時間(a)33を使用する処理か、監視時間(b)34を使用する処理かを設定する。
【0036】
SCSIインタフェースではコマンドの最終バイトであるコントロールバイトのビット6、7にベンダユニークビットが割り当てられているため、当ビットを使用する。
【0037】
この方法を使用した場合の監視時間設定例を以下に示す。
ホストコンピュータ90からディスクアレイシステム10への命令(コマンド)に対する監視時間を5秒とする。ホストコンピュータ90へ終了報告を実施していない命令(コマンド)における監視時間(a)33は、エラー終了時のリカバリの時間を考慮して、4秒と設定する。
【0038】
ホストコンピュータ90へ終了報告を実施している場合の障害のみを考慮した監視時間(b)34は、30秒と設定する。かかる設定は、予めディスクアレイシステム10が、磁気ディスク制御装置20への書き込み命令(コマンド)及び読み出し命令(コマンド)を発行する前に、モード設定コマンドを使用して行う。
【0039】
ディスクアレイシステム10のホストコンピュータ90からの読み出し命令(コマンド)では、ディスクアレイシステム10のキャッシュメモリ11内に要求データが存在していなければ、磁気ディスク制御装置20に対し、監視時間(a)33を使用することを指示するためにコマンド内のベンダユニークビットを設定し、ディスクアレイシステム10から読み込み命令(コマンド)を発行する。
【0040】
また、ディスクアレイシステム10の上位ホストコンピュータ90からの書き込み命令(コマンド)では、通常、ディスクアレイシステム10内のキャッシュメモリ11にデータを受領した時点で、上位ホストコンピュータ90に終了報告を実施し、その後磁気ディスク制御装置20に対し、監視時間(b)34を使用することを指示するためにコマンド内のベンダユニークビットを設定し、ディスクアレイシステム10から書き込み命令(コマンド)を発行する。
【0041】
パリティデータを更新するために磁気ディスク制御装置20に対し書き込み命令(コマンド)を発行する前の磁気ディスク制御装置20に対しての読み出し命令(コマンド)では、監視時間(b)34を使用することを指示するためにコマンド内のベンダユニークビットを設定し、ディスクアレイシステム10から読み込み命令(コマンド)を発行する。
【0042】
ディスクアレイシステム10の上位ホストコンピュータ90からの書き込み命令(コマンド)でも、ディスクアレイシステム10内のキャッシュメモリ11の障害が発生し得ることを考慮する場合には、磁気ディスク制御装置20に対し、監視時間(a)33を使用することを指示するコマンド内のベンダユニークビットを設定し、ディスクアレイシステム10から書き込み命令(コマンド)を発行する。
【0043】
以上は、コマンド内の命令でコマンド監視時間を段階的に設定した例であるが、FC_ALインタフェースのようなコマンドがパケット化されているケースにおいては、コマンドフレーム内の空き領域を利用し、コマンド毎に時間を設定することも可能である。かかる方法では、書き込み命令(コマンド)/読み出し命令(コマンド)の処理ブロック数、先読みの際のリード命令(コマンド)を考慮して、細かく監視時間を設定することが可能である。
【0044】
【発明の効果】
以上、説明したように、上位装置から目的/用途別にコマンド処理監視時間を設定することにより、磁気ディスク制御装置内でのコマンド並び替えの際のコマンド選択が最適となり、磁気ディスクの性能を最大限に引き出す効果がある。
【図面の簡単な説明】
【図1】本発明を適用した磁気ディスク制御装置の一実施例のブロック図を示したものである。
【図2】本発明を適用した磁気ディスク制御装置の別の実施例のブロック図を示したものである。
【図3】目的/用途により分類したコマンド処理監視時間を説明するための図である。
【符号の説明】
10……ディスクアレイシステム(上位装置)
11……キャッシュメモリ
20……磁気ディスク制御装置
21……インターフェースコントローラ
22……ハードディスクコントローラ
23……バッファコントローラ
24……バッファ(Cache)
26……制御プロセッサ
30……内部メモリ
31……コマンドキューテーブル
32……リカバリタイムリミット値
33……監視時間(a)
34……監視時間(b)
50……ドライブインタフェース
70……磁気ディスク
80……ホストインタフェース
90……ホストコンピュータ
【発明の属する技術分野】
本発明は、磁気ディスク制御装置へのコマンド処理監視時間の設定方法に関し、特に、命令(コマンド)別に必要に応じ、コマンド処理監視時間の設定を変更する方法に関する。
【0002】
【従来の技術】
従来の磁気ディスク制御装置においては、媒体への書き込み及び読み込み処理において、エラーが発生した場合の再試行の最大時間をモードセレクトコマンドにより、設定する方法が一般的となっていた。この仕様は、ANSI(米国規格協会)による規格で定められたものであり、書き込み処理及び読み込み処理のそれぞれに共通のパラメータ設定により行われる。
【0003】
また最近のタグキューイング機能の普及に伴い、マルチコマンド受領時のコマンド並び替えに伴う、コマンドの沈み込み現象防止のため、コマンド受領から一定時間経過した後は優先してそのコマンドの処理を実施する制御方法が採用されている。つまり、タグキューイング実施時、磁気ディスク制御装置は、シーク時間及び回転待ちを考慮し、性能が最適となるようにコマンドの並び替えを実施する。物理的に離れた場所の読み出し/書き込み処理は、他の命令(コマンド)を先に実施するため、応答時間が遅れる。この応答時間の遅れ(沈み込み)を防止するため、コマンド受領から一定時間経過してもコマンド実行に移行しない命令は、優先的にそのコマンド処理を実施する機能がある。ただし、この方法も全ての命令(コマンド)に対し、一律の設定時間となっている。
【0004】
【特許文献1】特開平11−194963号公報
【発明が解決しようとする課題】
従来の技術では、書き込み命令及び読み出し命令の全てのコマンドに対し、磁気ディスク制御装置のコマンド実行には優先順位がなく、エラーが発生した場合の再試行の最大時間も一定であった。このため、上位装置が平均的な性能を重視する場合と、コマンドの応答時間を重視する場合とを区別することなく、時間設定を変更することが出来なかった。
【0005】
一般に、上位装置がディスクアレイ制御システムの場合、要求別に次の命令(コマンド)が考えられる。まず、ディスクアレイ制御システムの上位ホストコンピュータからの読み出し命令(コマンド)では、ディスクアレイ制御システムのキャッシュ内に要求データが存在していなければ、磁気ディスク制御装置に対し、ディスクアレイ制御システムから読み出し命令(コマンド)が発行される。読み出し命令(コマンド)は、上位ホストコンピュータからの直接の要求であるため、上位ホストコンピュータの監視時間以内の処理が磁気ディスク制御装置に求められる。
【0006】
また、ディスクアレイ制御システムの上位ホストコンピュータからの書き込み命令(コマンド)では、通常、ディスクアレイ制御システム内のキャッシュにデータを書き込んだ時点で、上位ホストコンピュータに終了報告を実施し、その後、磁気ディスク制御装置に対し、書き込み命令(コマンド)を発行し、磁気ディスク媒体へ書き込む。従って、上位ホストコンピュータに終了報告しているため、処理時間の監視は障害の場合以外には必要が無い。
【0007】
ディスクアレイ制御システムの場合、一般に、連続的な書き込み動作以外は、パリティデータを更新する必要がある。このため磁気ディスク制御装置に対し、書き込み命令(コマンド)を発行する前に、読み出し命令(コマンド)を発行する。その読み込み命令(コマンド)については、書き込み命令(コマンド)に付随して生じる読み込み命令(コマンド)のため、処理時間の監視は障害の場合以外には必要無い。
【0008】
ディスクアレイ制御システムの上位ホストコンピュータから、書き込み命令(コマンド)が発行された場合に、ディスクアレイ制御システム内のキャッシュに障害が発生していることもあるので、磁気ディスク制御装置に対し書き込みが完了した後、上位ホストコンピュータに終了報告を実施するため、上位ホストコンピュータの監視時間以内の処理が磁気ディスク制御装置に求められることもある。
【0009】
以上の様に、ディスクアレイ制御システムでは、読み出し命令(コマンド)及び書き込み命令(コマンド)それぞれに処理時間の規定が必要な場合と、障害を考慮しなければ不要な場合とが生じる。
【0010】
しかしながら、コマンド処理監視時間の設定は一律に為されており、監視時間の短い方に合わせざるを得ず、磁気ディスク制御装置及び磁気ディスク装置の性能を最大限引き出すことが出来ないという課題があった。
【0011】
本発明の目的は、ディスクアレイ制御システムが用途別に処理監視時間を変更可能とすることにより、磁気ディスク制御装置等の最大限の性能を引き出すことにある。
【0012】
【課題を解決するための手段】
磁気ディスク制御装置に対し、モード設定又はコマンド指示により、書き込み時の処理監視時間及び読み出し時の処理監視時間を、各々独立に設定可能とする。
【0013】
【発明の実施の形態】
以下、図面に示す実施例により説明する。図1、図2は、本発明を適用した磁気ディスク制御装置の一実施例のブロック図を示したものである。
図1において、10はディスクアレイシステム(上位装置)、20は磁気ディスク制御装置を示し、ディスクアレイシステム(上位装置)10及び、磁気ディスク制御装置20はドライブインターフェース50を介し接続される。
【0014】
70は磁気ディスクを示し、磁気ディスク制御装置20は、ホストコンピュータ10とのデータの転送等を制御するインターフェースコントローラ21、磁気ディスク70とのデータの転送等を制御するハードディスクコントローラ22、また、それらのデータ転送速度の違いを吸収し、制御装置20内部のデータ転送を制御するバッファコントローラ23及びバッファ(Cache)24、それらを制御する制御プロセッサ26、制御情報等を格納する揮発性の内部メモリ30により構成される。
【0015】
図2において、10はディスクアレイシステム(上位装置)、20は磁気ディスク制御装置、90はホストコンピュータを示し、ディスクアレイシステム(上位装置)10及び磁気ディスク制御装置20は、ドライブインターフェース50を介し接続される。ホストコンピュータ90及びディスクアレイシステム(上位装置)10はホストインターフェース80を介し接続される。ディスクアレイシステム(上位装置)10には複数台の磁気ディスク制御装置20が接続されている。ディスクアレイシステム(上位装置)10はキャッシュメモリ11を備えている。
【0016】
ディスクアレイシステム(上位装置)10から発行された書き込み(ライト)命令は、ホストインターフェース50を介し、インターフェースコントローラ21により制御プロセッサ26に通知される。制御プロセッサ26は、書き込み(ライト)命令を受領すると、要求アドレス、レングス、コマンド受領時間をコマンドキューテーブル31にセーブする。そしてディスクアレイシステム(上位装置)10からのデータ受領起動をインターフェースコントローラ21、バッファコントローラ23に、また、同時にアドレス、レングス31に基づいてハードディスクコントローラ22にライト起動を実施し、磁気ディスク70に書きこみ動作を行う。磁気ディスク70への書きこみに異常が発生せず、正常に終了した場合は、インタフェースコントローラ21を介して、ホストコンピュータ10に正常終了報告を実施する。
【0017】
ディスクアレイシステム(上位装置)10から発行された読み出し(リード)命令は、ホストインターフェース50を介し、インターフェースコントローラ21により制御プロセッサ26に通知される。
【0018】
制御プロセッサ26は、読み出し(リード)命令を受領すると、その要求アドレス、レングス、コマンド受領時間をコマンドキューテーブル31にセーブする。次にアドレス、レングス31に基づいてハードディスクコントローラ22にリード起動を実施し、バッファコントローラ23の起動と共に磁気ディスク70からの読み込みを行う。同時に、ディスクアレイシステム(上位装置)10へのデータ受領起動をインターフェースコントローラ21に実施する。磁気ディスク70への読み出しにつき異常が発生せず、正常に終了した場合は、インタフェースコントローラ21を介して、ホストコンピュータ10に正常終了報告を実施する。
【0019】
磁気ディスク70への書きこみ又は読み出し処理中に、位置付け障害その他の異常を検出した場合は、磁気ディスク70への書き込み又は書きこみの再試行を実施する。この再試行は、モード設定コマンドで指定されるリカバリタイムリミット値32を越えて新たな再試行を実施しない論理によって、コマンドの応答時間が所定値以内に納まるよう、保証している。
【0020】
つまり、再試行処理では、コマンドキューテーブル31のコマンド受領時刻と現在の時刻とを比較し、リカバリタイムリミット値32を超えている場合は、新たな再試行を実施しないようになっている。リカバリタイムリミット値32は、ANSI(米国規格協会)による規格であり、書き込み処理及び読み出し処理に共通したパラメータで設定される。
【0021】
ディスクアレイシステム(上位装置)10よりの書き込み(ライト)及び読み出し(リード)命令は、タグキューイング機能を使用することにより、前に発行した命令(コマンド)が終了する前に、次ぎの命令(コマンド)を受領可能である。このタグキューイング機能を使用して、複数命令(コマンド)を受領した磁気ディスク制御装置20は、受領した命令(コマンド)をコマンドキューテーブル31に格納し、並び替え処理を実施する。
【0022】
即ち、そのコマンドキューテーブル31に格納された命令(コマンド)の中から、磁気ディスク制御装置20はシーク時間及び回転待ち時間を考慮して最短の時間で処理できる命令(コマンド)を選択する。
【0023】
このタグキューイング機能によるコマンドの並び替え処理により、平均のコマンド処理時間において、最速の性能を実現することが可能である。しかしながら、物理的に離れた場所の読み出し/書き込み処理は、他の命令(コマンド)を先に実施するため、応答時間が遅れる。例えば、大半の命令(コマンド)が磁気ディスク70の外周に集中していた場合、内周への命令(コマンド)は実行が後に廻され(沈み込み)、外周の命令(コマンド)のみを実行することになる。
【0024】
この沈み込みによる応答時間の遅れを防止するため、コマンド受領から一定時間経過してもコマンド実行に移行しない命令は、優先的にそのコマンド処理を実施する機能が用いられている。すなわち、コマンドキューテーブル31のコマンド受領時刻と現在の時刻を比較し、コマンド受領から一定時間を超えている命令(コマンド)が存在した場合は、優先してコマンド実行を実施する。
【0025】
この時間は、前述のリカバリタイムリミット値32を基に計算してもよい。例えば、リカバリタイムリミット値32の半分の値を、このコマンド優先実行時間に用いる方法である。この方法では、全ての命令(コマンド)に対し、共通の時間割り当てとなる。この処理監視時間と平均の性能はトレードオフの関係にあり、処理監視時間が長いほど、平均の性能は向上することになる。
【0026】
ディスクアレイシステム(上位装置)10は、複数台の磁気ディスク制御装置20が接続されているが、一般にRAID5(Redundant Arrays of Inexpensive Disks 5)構成の場合は次の処理手順となる。
ディスクアレイシステム10へのホストコンピュータ90からの読み出し命令(コマンド)では、ディスクアレイシステム10のキャッシュメモリ11内に要求データが存在していなければ、磁気ディスク制御装置20に対し、ディスクアレイシステム10から読み出し命令(コマンド)が発行される。
【0027】
読み出し命令(コマンド)は、上位ホストコンピュータ90からの直接の要求であるため、上位ホストコンピュータ90の監視時間以内の処理が磁気ディスク制御装置20に求められる。
【0028】
ディスクアレイシステム10の上位ホストコンピュータ90からの書き込み命令(コマンド)では、通常、ディスクアレイシステム10内のキャッシュメモリ11にデータを受領した時点で、上位ホストコンピュータ90に終了報告を実施する。その後、磁気ディスク制御装置20に対し、書き込み命令(コマンド)が発行される。
【0029】
従って、上位ホストコンピュータ90に終了報告を実施しているため、障害が生じたとき以外には、処理時間の制約は無い。ディスクアレイシステム10の場合、連続的な書き込み動作以外は、パリティデータを更新するために磁気ディスク制御装置20に対し書き込み命令(コマンド)を発行する前に、磁気ディスク制御装置20に対し、読み出し命令(コマンド)を発行する。
【0030】
すなわち、RAID5構成では、新しいパリティデータを作成するためにデータ部においてもパリティ部においても、一度はデータを読み込む必要がある。読み出し命令(コマンド)は、上位ホストコンピュータ90に終了報告を実施している上位ホストコンピュータ90からの書き込み命令(コマンド)に付随する、読み出し命令(コマンド)のため、処理時間に関する制約は、障害発生時以外には、無い。
【0031】
上記のようなディスクアレイシステム10の上位ホストコンピュータ90からの書き込み命令(コマンド)でも、ディスクアレイシステム10内のキャッシュメモリ11の障害が発生している場合には、磁気ディスク制御装置20に対し書き込みが完了した後、上位ホストコンピュータ90に終了報告を実施するため、上位ホストコンピュータ90の監視時間以内の処理が磁気ディスク制御装置に求められる。
【0032】
以上の様に、磁気ディスク制御装置20の上位装置がディスクアレイシステム10の場合には、読み出し命令(コマンド)及び書き込み命令(コマンド)それぞれに処理時間の規定が必要になる場合と不要な場合が生じる。また処理時間の規定が不要なディスクアレイシステム10が、上位ホストコンピュータ90に終了報告を実施している場合においても、通信系の不良等の障害における回復を実施するために、監視時間は設ける必要がある。
【0033】
以上を整理すると、図3のように、目的/用途により、コマンド処理監視時間を分類することができる。目的/用途により、コマンド処理監視時間の要求は異なるが、コマンド処理監視時間の設定が従来は一律にしか出来なかったため、処理時間の厳しい方に合わせる必要があり、性能を最大限に引き出すことが出来なかった。
【0034】
この問題を解決ため、予めディスクアレイシステム10は磁気ディスク制御装置20への書き込み命令(コマンド)及び読み出し命令(コマンド)を発行する前に、読み出し及び書き込み時の監視時間を2段階で設定しておく。
【0035】
つまり、監視時間(a)33(図1)は、ホストコンピュータ90へ終了報告を実施していない命令(コマンド)におけるホストコピュータ90の監視時間以内の値とする。監視時間(b)34は、ホストコンピュータ90へ終了報告を実施している場合の障害のみを考慮した監視時間とする。ディスクアレイシステム10は、磁気ディスク制御装置20への書き込み命令(コマンド)及び読み出し命令(コマンド)を発行する段階で、コマンド内のベンダユニークなビット情報により、監視時間(a)33を使用する処理か、監視時間(b)34を使用する処理かを設定する。
【0036】
SCSIインタフェースではコマンドの最終バイトであるコントロールバイトのビット6、7にベンダユニークビットが割り当てられているため、当ビットを使用する。
【0037】
この方法を使用した場合の監視時間設定例を以下に示す。
ホストコンピュータ90からディスクアレイシステム10への命令(コマンド)に対する監視時間を5秒とする。ホストコンピュータ90へ終了報告を実施していない命令(コマンド)における監視時間(a)33は、エラー終了時のリカバリの時間を考慮して、4秒と設定する。
【0038】
ホストコンピュータ90へ終了報告を実施している場合の障害のみを考慮した監視時間(b)34は、30秒と設定する。かかる設定は、予めディスクアレイシステム10が、磁気ディスク制御装置20への書き込み命令(コマンド)及び読み出し命令(コマンド)を発行する前に、モード設定コマンドを使用して行う。
【0039】
ディスクアレイシステム10のホストコンピュータ90からの読み出し命令(コマンド)では、ディスクアレイシステム10のキャッシュメモリ11内に要求データが存在していなければ、磁気ディスク制御装置20に対し、監視時間(a)33を使用することを指示するためにコマンド内のベンダユニークビットを設定し、ディスクアレイシステム10から読み込み命令(コマンド)を発行する。
【0040】
また、ディスクアレイシステム10の上位ホストコンピュータ90からの書き込み命令(コマンド)では、通常、ディスクアレイシステム10内のキャッシュメモリ11にデータを受領した時点で、上位ホストコンピュータ90に終了報告を実施し、その後磁気ディスク制御装置20に対し、監視時間(b)34を使用することを指示するためにコマンド内のベンダユニークビットを設定し、ディスクアレイシステム10から書き込み命令(コマンド)を発行する。
【0041】
パリティデータを更新するために磁気ディスク制御装置20に対し書き込み命令(コマンド)を発行する前の磁気ディスク制御装置20に対しての読み出し命令(コマンド)では、監視時間(b)34を使用することを指示するためにコマンド内のベンダユニークビットを設定し、ディスクアレイシステム10から読み込み命令(コマンド)を発行する。
【0042】
ディスクアレイシステム10の上位ホストコンピュータ90からの書き込み命令(コマンド)でも、ディスクアレイシステム10内のキャッシュメモリ11の障害が発生し得ることを考慮する場合には、磁気ディスク制御装置20に対し、監視時間(a)33を使用することを指示するコマンド内のベンダユニークビットを設定し、ディスクアレイシステム10から書き込み命令(コマンド)を発行する。
【0043】
以上は、コマンド内の命令でコマンド監視時間を段階的に設定した例であるが、FC_ALインタフェースのようなコマンドがパケット化されているケースにおいては、コマンドフレーム内の空き領域を利用し、コマンド毎に時間を設定することも可能である。かかる方法では、書き込み命令(コマンド)/読み出し命令(コマンド)の処理ブロック数、先読みの際のリード命令(コマンド)を考慮して、細かく監視時間を設定することが可能である。
【0044】
【発明の効果】
以上、説明したように、上位装置から目的/用途別にコマンド処理監視時間を設定することにより、磁気ディスク制御装置内でのコマンド並び替えの際のコマンド選択が最適となり、磁気ディスクの性能を最大限に引き出す効果がある。
【図面の簡単な説明】
【図1】本発明を適用した磁気ディスク制御装置の一実施例のブロック図を示したものである。
【図2】本発明を適用した磁気ディスク制御装置の別の実施例のブロック図を示したものである。
【図3】目的/用途により分類したコマンド処理監視時間を説明するための図である。
【符号の説明】
10……ディスクアレイシステム(上位装置)
11……キャッシュメモリ
20……磁気ディスク制御装置
21……インターフェースコントローラ
22……ハードディスクコントローラ
23……バッファコントローラ
24……バッファ(Cache)
26……制御プロセッサ
30……内部メモリ
31……コマンドキューテーブル
32……リカバリタイムリミット値
33……監視時間(a)
34……監視時間(b)
50……ドライブインタフェース
70……磁気ディスク
80……ホストインタフェース
90……ホストコンピュータ
Claims (3)
- 上位装置からの書き込み命令により、受領したデータを磁気ディスク装置に書き込む機能を有し、また読み込み命令により、磁気ディスク装置のデータをホストコンピュータに送信する機能を有する磁気ディスク制御装置において、命令別にコマンド処理時間の監視を実施することを特徴とした磁気ディスク制御装置のコマンド処理時間監視設定方法。
- 請求項1記載の磁気ディスク制御装置のコマンド処理時間監視設定方法において、命令毎にコマンド処理監視時間を設定可能とするコマンド処理時間監視設定方法。
- 請求項2記載の磁気ディスク制御装置のコマンド処理時間監視設定方法において、上位装置への終了報告を実施しているか否かにより、命令毎にコマンド処理監視時間を変更するコマンド処理時間監視設定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002305276A JP2004139482A (ja) | 2002-10-21 | 2002-10-21 | 磁気ディスク制御装置のコマンド処理時間監視設定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002305276A JP2004139482A (ja) | 2002-10-21 | 2002-10-21 | 磁気ディスク制御装置のコマンド処理時間監視設定方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004139482A true JP2004139482A (ja) | 2004-05-13 |
Family
ID=32452435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002305276A Pending JP2004139482A (ja) | 2002-10-21 | 2002-10-21 | 磁気ディスク制御装置のコマンド処理時間監視設定方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004139482A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007299315A (ja) * | 2006-05-02 | 2007-11-15 | Ricoh Co Ltd | データ転送装置 |
JP2013061795A (ja) * | 2011-09-13 | 2013-04-04 | Toshiba Corp | 記憶装置、コントローラ、およびリードコマンド実行方法 |
JP2014010519A (ja) * | 2012-06-28 | 2014-01-20 | Fujitsu Ltd | 制御装置、ストレージ装置、制御方法及び制御プログラム |
US9152519B2 (en) | 2010-10-14 | 2015-10-06 | Fujitsu Limited | Storage control apparatus, method of setting reference time, and computer-readable storage medium storing reference time setting program |
-
2002
- 2002-10-21 JP JP2002305276A patent/JP2004139482A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007299315A (ja) * | 2006-05-02 | 2007-11-15 | Ricoh Co Ltd | データ転送装置 |
US9152519B2 (en) | 2010-10-14 | 2015-10-06 | Fujitsu Limited | Storage control apparatus, method of setting reference time, and computer-readable storage medium storing reference time setting program |
JP2013061795A (ja) * | 2011-09-13 | 2013-04-04 | Toshiba Corp | 記憶装置、コントローラ、およびリードコマンド実行方法 |
JP2014010519A (ja) * | 2012-06-28 | 2014-01-20 | Fujitsu Ltd | 制御装置、ストレージ装置、制御方法及び制御プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8151014B2 (en) | RAID performance using command descriptor block pointer forwarding technique | |
US7937542B2 (en) | Storage controller and storage control method for accessing storage devices in sub-block units | |
US7975168B2 (en) | Storage system executing parallel correction write | |
US6944707B2 (en) | Storage subsystem, information processing system and method of controlling I/O interface | |
US20070260756A1 (en) | Method for Processing Command via SATA Interface | |
KR20050013938A (ko) | 하드 디스크 드라이브에서의 자율적인 데이터 스크럽시스템 및 방법 | |
JPH05502314A (ja) | データ転送方法 | |
JP2005276196A (ja) | ドライブ故障に続いてドライブリカバリを行うためのシステムおよび方法 | |
US9977602B2 (en) | Storage system, storage device, and control method of storage system | |
US5887128A (en) | Method and apparatus for redundant disk storage system with offset | |
US6389508B1 (en) | Information storing apparatus having a data prewrite unit | |
EP0701208A2 (en) | Disk array subsystem and data generation method therefor | |
US6567886B1 (en) | Disk drive apparatus and control method thereof | |
JP3800903B2 (ja) | 記憶装置及びそのアクセス制御方法 | |
JP2004139482A (ja) | 磁気ディスク制御装置のコマンド処理時間監視設定方法 | |
US6640274B1 (en) | Method and apparatus for reducing the disk drive data transfer interrupt service latency penalty | |
US20100325373A1 (en) | Duplexing Apparatus and Duplexing Control Method | |
US5875458A (en) | Disk storage device | |
US7526605B2 (en) | System and method for optimizing random XOR command performance | |
JP2548475B2 (ja) | アレイディスク装置のデータ復元量制御方法 | |
JP2012174037A (ja) | ディスクアレイ装置及びその制御方法 | |
JP2004185477A (ja) | 光記憶媒体アレイ装置およびデータ転送方法 | |
JP2007011659A (ja) | インターフェース装置、ディスクドライブ及びインターフェース制御方法 | |
JP2000155737A (ja) | デ―タパケット受信装置 | |
JP2007323377A (ja) | 記録装置、管理データの書き込み方法および管理データの修復方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20041224 |