(57)【特許請求の範囲】
【請求項１】
ホストコンピュータから送られてくるデータ入出力要求を受信する複数の入出力チャネルと、
前記入出力チャネルの夫々に設けられる複数のキャッシュメモリと、
ディスクドライブに対するデータの入出力を行うディスクアダプタと、
前記入出力チャネルと前記ディスクアダプタとを通信可能に接続する通信手段と、
前記入出力チャネルに他のディスクアレイ装置を通信可能に接続することにより、前記他のディスクアレイ装置と接続する手段と、
データ入出力要求としてデータ書き込み要求を受信した場合に、当該データ書き込み要求で指定されるデータを自身のディスクドライブに書き込むとともに、そのデータについての書き込み要求を前記他のディスクアレイ装置に送信する手段と
を備え、
前記入出力チャネルは、前記ホストコンピュータからデータ書き込み要求を受信した場合に、自身がデータの入出力を行う前記ディスクドライブにデータを書き込むノーマルモード、又は前記他のディスアレイ装置に前記データ書き込み要求を送信するコピーモードのいずれかのモードで動作し、
前記入出力チャネルのうちの一つが、前記ホストコンピュータからデータ書き込み要求を受信した場合に、当該データ書き込み要求の書き込み対象であるデータを自身の前記キャッシュメモリに記憶するとともに前記データを前記ディスクアダプタに送信し、
前記ディスクアダプタが、前記データを受信すると、受信した前記データの前記ディスクドライブへの書き込みを行う
ディスクアレイ装置の制御方法であって、
前記入出力チャネルのうちの一つが、前記ホストコンピュータからデータ書き込み要求を受信した場合に、
前記ディスクアダプタが、前記データ書き込み要求の書き込み対象であるデータと同じデータを送信したことがある、前記データ書き込み要求を受信した前記入出力チャネル以外の他の前記入出力チャネルを検索し、検索された前記他の入出力チャネルに、前記他の入出力チャネルの夫々の前記キャッシュメモリから当該データを削除するための無効化コマンドを送信するステップと、
前記他の入出力チャネルが、前記無効化コマンドを受信すると自身の前記キャッシュメモリから前記データを削除するステップと、
当該ディスクアレイ装置が、前記データ書き込み要求を受信した前記入出力チャネルが前記コピーモードで動作している場合にのみ、当該データ書き込み要求の書き込み対象のデータを自身の前記キャッシュメモリに書き込んだ際に前記ホストコンピュータに完了通知を送信するステップを実行するステップと
を含むことを特徴とするディスクアレイ装置の制御方法。
【請求項２】
ホストコンピュータから送られてくるデータ入出力要求を受信する複数の入出力チャネルと、
前記入出力チャネルの夫々に設けられる複数のキャッシュメモリと、
ディスクドライブに対するデータの入出力を行うディスクアダプタと、
前記入出力チャネルと前記ディスクアダプタとを通信可能に接続する通信手段と、
前記入出力チャネルに他のディスクアレイ装置を通信可能に接続することにより、前記他のディスクアレイ装置と接続する手段と、
データ入出力要求としてデータ書き込み要求を受信した場合に、当該データ書き込み要求で指定されるデータを自身のディスクドライブに書き込むとともに、そのデータについての書き込み要求を前記他のディスクアレイ装置に送信する手段と
前記入出力チャネルが、前記ホストコンピュータからデータ書き込み要求を受信した場合に、自身がデータの入出力を行う前記ディスクドライブにデータを書き込むノーマルモード、又は前記他のディスアレイ装置に前記データ書き込み要求を送信するコピーモードのいずれかのモードで動作する手段と、
前記入出力チャネルのうちの一つが、前記ホストコンピュータからデータ書き込み要求を受信した場合に、当該データ書き込み要求の書き込み対象であるデータを自身の前記キャッシュメモリに記憶するとともに前記データを前記ディスクアダプタに送信する手段と、
前記ディスクアダプタが、前記データを受信すると、受信した前記データの前記ディスクドライブへの書き込みを行う手段と、
前記入出力チャネルのうちの一つが、前記ホストコンピュータからデータ書き込み要求を受信した場合に、
前記ディスクアダプタが、前記データ書き込み要求の書き込み対象であるデータと同じデータを送信したことがある、前記データ書き込み要求を受信した前記入出力チャネル以外の他の前記入出力チャネルを検索し、検索された前記他の入出力チャネルに、前記他の入出力チャネルの夫々の前記キャッシュメモリから当該データを削除するための無効化コマンドを送信する手段と、
前記他の入出力チャネルが、前記無効化コマンドを受信すると自身の前記キャッシュメモリから前記データを削除する手段と
当該ディスクアレイ装置が、前記データ書き込み要求を受信した前記入出力チャネルが前記コピーモード動作している場合にのみ、当該データ書き込み要求の書き込み対象のデータを自身の前記キャッシュメモリに書き込んだ際に前記ホストコンピュータに完了通知を送信するステップを実行する手段と
を備えることを特徴とするディスクアレイ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ディスクアレイ装置の制御方法、及びディスクアレイ装置に関する。
【０００２】
【従来の技術】
一般的なディスクアレイ装置では、ディスクドライブへのデータの入出力を制御するディスクアダプタと、ホストコンピュータとの接続を制御する入出力チャネルと、キャッシュメモリとがディスクアレイ装置の内部に設けられたネットワークスイッチを介して接続する構成となっている。
【０００３】
【特許文献１】
特開２００１−２９０７９０号公報
【０００４】
【発明が解決しようとする課題】
このため、ディスクアレイ装置のネットワークスイッチには、入出力チャネル、ディスクアダプタ、キャッシュメモリの間でのトラフィックが競合し、これによりネットワークスイッチの利用率が高くなり、これがホストコンピュータへの応答速度を低下させる要因となっていた。
本発明はこのような観点からなされたもので、ディスクアレイ装置の制御方法、及びディスクアレイ装置を提供することを目的とする。
【０００５】
【課題を解決するための手段】
この目的を達成するための主たる発明は、ホストコンピュータから送られてくるデータ入出力要求を受信する複数の入出力チャネルと、前記入出力チャネルの夫々に設けられる複数のキャッシュメモリと、ディスクドライブに対するデータの入出力を行うディスクアダプタと、前記入出力チャネルと前記ディスクアダプタとを通信可能に接続する通信手段と、前記入出力チャネルに他のディスクアレイ装置を通信可能に接続することにより、前記他のディスクアレイ装置と接続する手段と、データ入出力要求としてデータ書き込み要求を受信した場合に、当該データ書き込み要求で指定されるデータを自身のディスクドライブに書き込むとともに、そのデータについての書き込み要求を前記他のディスクアレイ装置に送信する手段とを備え、前記入出力チャネルは、前記ホストコンピュータからデータ書き込み要求を受信した場合に、自身がデータの入出力を行う前記ディスクドライブにデータを書き込むノーマルモード、又は前記他のディスアレイ装置に前記データ書き込み要求を送信するコピーモードのいずれかのモードで動作し、前記入出力チャネルのうちの一つが、前記ホストコンピュータからデータ書き込み要求を受信した場合に、当該データ書き込み要求の書き込み対象であるデータを自身の前記キャッシュメモリに記憶するとともに前記データを前記ディスクアダプタに送信し、前記ディスクアダプタが、前記データを受信すると、受信した前記データの前記ディスクドライブへの書き込みを行うディスクアレイ装置の制御方法であって、前記入出力チャネルのうちの一つが、前記ホストコンピュータからデータ書き込み要求を受信した場合に、前記ディスクアダプタが、前記データ書き込み要求の書き込み対象であるデータと同じデータを送信したことがある、前記データ書き込み要求を受信した前記入出力チャネル以外の他の前記入出力チャネルを検索し、検索された前記他の入出力チャネルに、前記他の入出力チャネルの夫々の前記キャッシュメモリから当該データを削除するための無効化コマンドを送信するステップと、前記他の入出力チャネルが、前記無効化コマンドを受信すると自身の前記キャッシュメモリから前記データを削除するステップと、当該ディスクアレイ装置が、前記データ書き込み要求を受信した前記入出力チャネルが前記コピーモードで動作している場合にのみ、当該データ書き込み要求の書き込み対象のデータを自身の前記キャッシュメモリに書き込んだ際に前記ホストコンピュータに完了通知を送信するステップを実行するステップとを含むこととする。
【０００６】
【発明の実施の形態】
＝＝＝開示の概要＝＝＝
以下の開示により、少なくともつぎのことが明らかにされる。
前述の目的に対応して、本発明者らは、上記のように、入出力チャネルごとにキャッシュメモリを設けることを着想した。図１にそのように構成したディスクアレイ装置1を用いて構成したストレージシステムの概略構成を示す。この構成では、ホストコンピュータからのデータ入出力要求の対象となるデータが、そのデータ入出力要求を受信した入出力チャネル10a〜10dに対応して用意されているキャッシュメモリ11a〜11dに存在する場合には、そのデータをホストコンピュータに返すことができるので、キャッシュメモリ11a〜11dにデータが存在する場合には、ホストコンピュータに迅速に応答を返すことが可能である。
【０００７】
ところで、図１の構成において、例えば、異なる入出力チャネル10a〜10dで受信したデータ入出力要求により、ディスクドライブの同一の記憶領域に記憶されているデータに対してアクセスがあると、ディスクドライブのある記憶領域に記憶されていたデータが複数のキャッシュメモリ11a〜11dに同時に記憶されることになる。
【０００８】
ここでこの状態において、例えば、ある入出力チャネル10a〜10dが受信したデータ入出力要求に起因して前記データに対する更新が行われる場合には、それぞれのキャッシュメモリ11a〜11dが記憶しているデータの整合性を保つために、例えば、他のキャッシュメモリ11a〜11dに記憶しているデータを無効化してしまう処理（無効化処理）や、他のキャッシュメモリ11a〜11dに記憶しているデータを書き換える、といった整合性を確保するための処理を行う必要がある。
【０００９】
しかしながら、この整合性を確保するための処理においては、無効化のための通信や各キャッシュメモリ11a〜11dへの更新後のデータの通知のための通信などによりネットワークスイッチのトラフィックを増大させ、これによりホストコンピュータに対する応答速度が低下し、入出力チャネル10a〜10dごとにキャッシュメモリ11a〜11dを設けたことにより得られる効果が希釈することになる。
【００１０】
ところで、整合性を確保するための処理は、必ずしも必要でないこともある。例えば、ある記憶領域に記憶されているデータに対するアクセスが、特定の入出力チャネル10a〜10dを介してしか行われないような場合である。
【００１１】
また、同じ記憶領域に記憶されているデータに対して複数の入出力チャネル10a〜10dからのアクセスが想定される場合であっても、ホストコンピュータで動作するソフトウエアの仕様や性質などにより、必ずしも整合性を確保する必要がなかったり、また、必要があったとしても厳密な整合性までは要求されないこともある。
【００１２】
そこで、本発明の他の一態様では、外部装置からのデータ入出力要求を受信する複数の入出力チャネルと、入出力チャネルごとに用意され、それぞれ対応する入出力チャネルに接続する複数のキャッシュメモリと、ディスクドライブと、ディスクドライブに対してデータ入出力を行うディスク制御手段と、入出力チャネルとディスク制御手段とを通信可能に接続する通信手段と、各キャッシュメモリに記憶しているデータに関する整合性を確保するための整合性確保処理を実行する手段と、を備えるディスクアレイ装置において、前記データ入出力要求を受信した場合に、そのデータ入出力要求の内容に応じて、そのデータ入出力要求に対するホストコンピュータへの応答処理と前記整合性確保処理との実行順を制御する手段を設けることとした。
【００１３】
なお、整合性確保処理には、例えば、ある前記キャッシュメモリに記憶しているデータについての更新が行われる場合に、そのデータが記憶されている前記ディスクドライブの記憶領域と同一の記憶領域に記憶される他の前記キャッシュメモリに記憶しているデータを無効化する処理や、ある前記キャッシュメモリに記憶しているデータについての更新が行われる場合に、当該キャッシュメモリの当該データを更新するとともに、そのデータが記憶されている前記ディスクドライブの記憶領域と同一の記憶領域に記憶される他の前記キャッシュメモリに記憶されているデータについても更新する処理などがある。
【００１４】
前述したように、整合性を確保するための処理は、ホストコンピュータで動作するソフトウエアの仕様や性質などにより、必ずしも必要でなかったり、また、必要があるとしても厳密な整合性までは要求されないことがある。そこで、本発明のように、ホストコンピュータから送信されたデータ入出力要求の内容に応じて、そのデータ入出力要求に対するホストコンピュータへの応答処理と整合性確保処理との実行順を制御するようにし、整合性を確保する必要がある場合とそうでない場合とで実行順を制御することで、ディスクアレイ装置を効率よく利用することが可能となる。具体的には、例えば、整合性を確保するための処理が必ずしも必要で無い場合には、ホストコンピュータへの応答処理を行った後に整合性確保処理を実行することで、ホストコンピュータへの応答を迅速に行うようにすることができる。
【００１５】
また、ディスクドライブの記憶領域上に論理的な記憶領域である複数の論理ボリュームが設定され、データ入出力要求に当該データ入出力要求の処理対象となる論理ボリュームの識別子が設定されている場合に、前記実行順の制御は、前記データ入出力要求に設定されている前記論理ボリュームの識別子に応じて行われるようにすることもできる。
【００１６】
このように論理ボリュームの識別子により実行順を制御することができることで、設定方法のバリエーションが増え、例えば、ホストコンピュータで動作するアプリケーションごとに個別に論理ボリュームを割り当てているような場合には、アプリケーションプログラムの性質に応じて、前記実行順の制御に関する設定を簡単に行うことができる。
【００１７】
また、本発明の他の態様では、ディスクアレイ装置には他のディスクアレイ装置が接続しており、ディスクアレイ装置はデータ入出力要求としてデータ書き込み要求を受信した場合に、この要求で指定されるデータを自身のディスクドライブに書き込むとともにそのデータについての書き込み要求を前記他のディスクアレイ装置に送信し、前記入出力チャネルは、データ書き込み要求を受信した場合に、自身のディスクドライブにデータを書き込む動作モード（ノーマルモード）と、他のディスアレイ装置に前記書き込み要求を送信する動作モード（コピーモード）と、のいずれかのモードで動作し、前記実行順の制御は、前記外部装置からのデータ入出力要求が入力される前記入出力チャネルが、前記いずれの動作モードで動作しているかに応じて行われることを特徴とする。
【００１８】
ここで例えば、コピーモードで動作中の入出力チャネルで受信したデータ入出力要求の処理は、ノーマルモードで動作中の入出力チャネルで受信したデータ入出力要求の処理に比べて整合性確保の必要性が少ないような場合には、例えば、ホストコンピュータへの応答処理を行った後に整合性確保処理を実行することで、ホストコンピュータへの応答を迅速に行うようにすることができる。
【００１９】
＝＝＝詳細＝＝＝
＜システム構成＞
図１のストレージシステムの構成について詳述する。ディスクアレイ装置1は、例えば、ＳＡＮ（Storage Area Network）やＬＡＮ（Local Area Network）などの通信手段を介して外部装置であるホストコンピュータに接続している。ディスクアレイ装置1は、ホストコンピュータとの間で通信を行う4つの入出力チャネル10a〜10dと、入出力チャネル10a〜10dごとに用意されそれぞれ対応する入出力チャネルに接続するキャッシュメモリ11a〜11d、ディスクドライブ14a〜14d、ディスクドライブ14a〜14dに接続しディスクドライブ14a〜14dへのデータの入出力を制御する４つのディスクアダプタ13a〜13d、入出力チャネル10a〜10dとディスクアダプタ13a〜13dの間を接続する二つのネットワークスイッチ12a、12b、などを備えて構成される。
【００２０】
なお、図１では、ネットワークスイッチ12a、12bは複数設けられ、入出力チャネル10a〜10dとディスクアダプタ13a〜13dの間の経路には冗長性を持たせているが、ネットワークスイッチは単数で構成してもよい。4つの入出力チャネル10a〜10dには、ホストコンピュータから、データ要求やデータ書き込み要求などのデータ入出力要求が送信されてくる。ディスクアレイ装置1は、入出力チャネル10a〜10dが受信したデータ入出力要求に応じて、ディスクドライブ14a〜14dに対するデータの読み出しや書き込みを行い、必要に応じて、その結果や読み出したデータなどを、ホストコンピュータに送信する。
【００２１】
＜入出力チャネル＞
図２は入出力チャネル10a〜10dの構成の例である。入出力チャネル10a〜10dはそれぞれプロセッサ201を備える。 またプロセッサ201で実行される制御プログラムや、処理に必要な情報(データ)を記憶するローカルメモリ202を備える。さらにホストコンピュータと接続するためのホストI/F回路204や、ネットワークスイッチ12a，12bと接続するためのネットワーク接続回路203，203bを備える。
【００２２】
これらは高速な信号線バスであるプロセッサバス205で接続される。さらにキャッシュメモリ11a〜11dも、このプロセッサバス205に接続される。この構成によりプロセッサ201はキャッシュメモリ11a〜11dに対して読み出しや書き込みを高速に行うことができる。
【００２３】
なお、図２ではローカルメモリ202に格納した制御プログラムをプロセッサ201で実行することにより、入出力チャネル10a〜10dの処理を行うことを想定している。制御プログラムの一部また全部の機能をハードウェア化することも考えられる。
【００２４】
＜ディスクアダプタ＞
図３はディスクアダプタ13a〜13dの構成の一例である。ディスクアダプタ13a〜13dはそれぞれプロセッサ301を備えている。またプロセッサ301で実行される制御プログラムや、処理に必要な情報(データ)を記憶するために、ローカルメモリ302を備えている。
【００２５】
さらにディスクドライブ14a〜14dと直接接続するディスクドライブI/F回路304や、ネットワークスイッチ12a，12bと接続するためのネットワーク接続回路303a，303bを備える。これらはプロセッサ301と高速な信号線バスであるプロセッサバス305で接続される。
【００２６】
なお、図３ではローカルメモリ302に格納した制御プログラムをプロセッサ301で実行することにより、ディスクアダプタの処理を行うことを想定しているが、入出力チャネルの場合と同様に、制御プログラムの一部また全部の機能をハードウェア化することも考えられる。
【００２７】
＜キャッシュメモリ＞
図４は、キャッシュメモリ11a〜11dの構成の例である。キャッシュメモリは検索制御部40とメモリ部41とを備え、メモリ部41内に各々のデータを、有効ビットV 401、書き換えビットD 402、データブロック番号403、データ内容404の組で記憶している。
【００２８】
入出力チャネル10a〜10dは、アドレスバス411によってホストコンピュータに要求されたデータブロック番号を通知し、メモリ部41内でデータブロック番号403が一致し、有効ビットV 401が有効状態（例えば'１'）であるデータがあるかどうか検索制御部40に検索させる。
【００２９】
検索した結果、データが見つかると返答信号バス412によってヒット信号が伝達され、見つかったことが報告される。またデータバス413によって、データ内容404が読み出される。データの書き込みの場合には、制御コマンドバス414によって書き込みコマンド信号が通知され、データバス413によって伝達されるデータが当該データ内容404に書き込まれて、書き換えビットD 402がセット状態(例えば'１')になって書き換えが生じたことが記録される。検索した結果、データが見つからない場合には、返答信号バス412によってミス信号が伝達され、見つからなかったことが報告される。
【００３０】
ディスクアダプタ13a〜13dからキャッシュメモリ上のデータを無効化するための無効化信号が送信されてきた場合には、同様に入出力チャネル10a〜10dは、アドレスバス411によって当該データブロック番号を通知し、メモリ部41内でデータブロック番号403が一致し、有効ビットV 401が有効状態（例えば'１'）であるデータがあるかどうか検索制御部40に検索させる。
【００３１】
検索した結果見つかった場合、書き換えビットD 402の内容も調べる。もし書き換えビットD 402がセット状態である場合には、返答信号バス412によってダーティヒット信号が伝達される。
【００３２】
ダーティヒット信号を受け取った入出力チャネル10a〜10dは、データ内容404をデータバス413によって読み出し、無効化信号を送信してきたディスクアダプタ13a〜13dに返送する。書き換えビットD 402がセット状態でない場合には、返答信号バス412によってクリーンヒット信号が伝達される。
【００３３】
これらの二つの場合において、その後、入出力チャネル10a〜10dは、再びアドレスバス411によって当該データブロック番号、制御コマンドバス414によって無効化コマンド信号を通知し、有効ビットV 401を無効状態(例えば'０')としてそのデータの組を無効とする。
【００３４】
また検索した結果見つからなかった場合には、返答信号バス412によってミス信号が伝達されて、見つからなかったことが入出力チャネル10a〜10dに報告される。これらすべての場合において、最後に入出力チャネル10a〜10dは無効化信号を送信してきたディスクアダプタ13a〜13dに無効化処理終了信号を返送して、無効化に関する処理が終了したことを伝える。
【００３５】
なお、書き換えビットD 402がセット状態になって、ディスクドライブから読み出したデータの書き換えが生じたことが記録された場合、上述の無効化によるほか、適当な時間経過、もしくはキャッシュメモリが溢れた時に、ディスクアダプタ13a〜13dに書き換えられたデータを送り、ディスクドライブに書き戻しを行わせたら当該書き換えビットD 402はリセット状態(例えば'0')にし、書き換えが生じたという記録を消去する。
【００３６】
なお、図４では、検索制御部40が実際にメモリ部41の検索制御を行うとしたが、メモリ部41だけを備え、検索制御部40は特に備えずに、同等の機能を入出力チャネル10a〜10dのプロセッサ201に行わせるようにすることもできる。
【００３７】
また図４では、アドレスバス411、返答信号バス412、データパス413、制御コマンドバス414の各種の信号バスがあって、これらが統合されて入出力チャネル10a〜10dに接続されるとしたが、単一の信号バスを備え、アドレスバス411、返答信号バス412、データパス413、制御コマンドバス414の各種の信号バスに相当する信号コマンドが該単一の信号パス上を伝達されるようにすることもできる。
【００３８】
図４の例では、単一のメモリ部41に有効ビットV 401、書き換えビットD 402、データブロック番号403、データ内容404のデータの組がすべて格納され、当該データがあるかどうかを検索する場合には、メモリ部41全体を検索する必要がある。このため、メモリ部41の容量が大きくなってくると検索に時間がかかることが考えられる。
【００３９】
このような場合には図５のようにすることが考えられる。 図５では、制御検索部50と、タグ部51、データ部52より構成され、タグ部51には、有効ビットV 501、書き換えビットD 502、データブロック番号503、キャッシュ内データ位置504が格納される。データ部52にはデータ内容505が格納される。
タグ部51において、有効ビットV 501、書き換えビットD 502、データブロック番号503は、図４で示したものと同等の内容を記録する。キャッシュ内データ位置504には、データ部52における当該データの位置が記録される。
データ部52よりデータ内容を取り出す場合には、当該データブロック番号503に対応するキャッシュ内データ位置504より当該データの位置がデータ位置信号515によってデータ部52に伝達され、データバス513に読み出される。
書き込みの時も同様にデータ位置信号515によって指定された位置にデータバス513によって伝達されたデータが書き込まれる。 その他のアドレスバス511、制御コマンドバス514、返答信号バス512によって伝達される信号等は、図４の場合と同等である。
【００４０】
このような構成を採ることにより、図５の例では、当該データの有無を検索する際にタグ部51内のみを検索すればよく、データ部512の容量が大きくなっても、検索時間にはあまり影響しないようにすることが可能である。
すなわち、図４の場合には、メモリ部41にデータ内容も一緒に格納されるため、データブロック数が多くなると多数の半導体チップが必要になり、多数の半導体チップに渡って検索する必要が生じ、検索に要する時間が大きくなる。
これに対し図５の場合には、データ内容を記憶するデータ部が格納される半導体チップと、タグ部を格納する半導体チップは別々になり、タグ部を格納する半導体チップの数は少なくてすみ、少ない半導体チップに渡って検索すればよいため、検索に要する時間は小さくなる。
【００４１】
なお、図５では、検索制御部50が実際にタグ部51の検索制御を行うとしたが、図４の例と同様に、タグ部51、データ部52だけを備え、検索制御部50は特に備えずに、同等の機能を入出力チャネル10a〜10dのプロセッサ201で行わせることも考えられる。
【００４２】
また図５では、アドレスバス511、返答信号バス512、データパス513、制御コマンドバス514の各種の信号バスがあって、これらが統合されて入出力チャネル10a〜10dに接続されるとしたが、やはり図４の例と同様に、単一の信号バスを備え、アドレスバス511、返答信号バス512、データパス513、制御コマンドバス514の各種の信号バスに相当する信号コマンドが該単一の信号パス上を伝達されるようにしてもよい。
【００４３】
＜データテーブル＞
図６は、入出力チャネル10a〜10dにおいて、ホストコンピュータから要求されたデータブロック番号のデータが自分に接続されたキャッシュメモリ11a〜11dに存在しなかったとき、どのディスクアダプタ13a〜13dに当該データを要求すればよいか記録した各入出力チャネルに設けられたデータテーブルの形式の例である。
【００４４】
データブロック番号とディスクアダプタ番号が組みとなって記録され、当該入出力チャネル10a〜10dにそれぞれ接続されたホストコンピュータとの間で予め取り決めた分だけのデータブロック番号についての組みが存在する。
また、ある個数(例えば１６個)の連続したデータブロック番号を同一のディスクアダプタに接続されたディスクドライブに格納することとして、その個数分(例えば１６個)まとめ、先頭のディスクドライブ番号とディスクアダプタ番号の組みを作ってもよい。このようにすると、例えば１６分の１にデータテーブルの大きさを縮小することができる。
なお、このようなデータテーブルは、例えば図２におけるローカルメモリ202に格納され、プロセッサ201によって必要に応じて読み書きされる。
【００４５】
図７は、ディスクアダプタ13a〜13dにおいて、入出力チャネル10a〜10dから要求されたデータブロック番号のデータが、ディスクドライブ14a〜14dのどのディスクドライブのどの位置に存在するかを記録したデータテーブルの形式の例である。
【００４６】
データブロック番号、ディスクドライブ番号、ドライブ内データ位置、さらにはデータを送信した先の入出力チャネルを、送信先入出力チャネル番号として、これらを組みとして記録する。また未だ当該データブロック番号のデータをどの入出力チャネルにも送信したことがなければ、この送信先入出力チャネル番号としては、予め定める無効な入出力チャネル番号を記録しておく。あるいは、送信した入出力チャネルのキャッシュメモリが溢れて当該データが追い出され削除されたときにも、この送信先入出力番号として、無効な入出力チャネル番号を設定してもよい。
【００４７】
このデータテーブルは、それぞれのディスクアダプタ13a〜13dにおいて、ディスクドライブ14a〜14dのうちのそれぞれのディスクアダプタ13a〜13dに接続されたディスクドライブに格納されているデータブロック番号の分だけ持てばよい。なお、このデータテーブルは、実際には例えば図3におけるローカルメモリ302に格納され、プロセッサ301によって必要に応じ読み書きされる。
【００４８】
＜コマンド形式＞
キャッシュメモリに記憶しているデータに関する整合性確保処理において用いられる無効化コマンドと更新コマンドの、それぞれのコマンド形式について説明する。
【００４９】
図８は、ディスクアダプタ13a〜13dにおいて、入出力チャネル10a〜10dのうちの一つに一旦送信したデータを他の入出力チャネル10a〜10dから要求されたときに、先に送った方の入出力チャネル10a〜10dのキャッシュメモリ11a〜11d内のデータを無効化するために当該入出力チャネル10a〜10dに向けて送信する無効化コマンドのコマンド形式の例である。無効化コマンドは、無効化コマンドコードと、無効化されるデータブロック番号からなる。
【００５０】
図９は、同一データを持つ複数の入出力チャネル10a〜10d間である入出力チャネル10a〜10dのデータの書き換えが起こった場合に、これを当該ディスクアダプタ13a〜13dを通じてディスクドライブ14a〜14dに書き戻すと同時に、他の入出力チャネル10a〜10dのキャッシュメモリ11a〜11dのデータも書き換えて更新する場合に、図８の無効化コマンドに替えて、ディスクアダプタ13a〜13dより入出力チャネル10a〜10dに送信する更新コマンドのコマンド形式の例である。更新コマンドを表すコマンドコード、当該データブロック番号に加えて、新しくデータ内容を更新するための更新データからなる。
【００５１】
＜処理説明＞
つぎに、ホストコンピュータから送られてくる、データ要求やデータ書き込み要求などのデータ入出力要求を受信した場合に行われるディスクアレイ装置1の処理について詳述する。
【００５２】
図１０は、ホストコンピュータからディスクアレイ装置1に送られてくるデータ入出力要求のデータフォーマットの一例を示す。ヘッダにはホストコンピュータのＩＤなどが設定される。ポートＩＤには、そのデータ入出力要求の処理対象となる論理ボリュームが接続するポートのポートＩＤが設定される。ここで論理ボリュームとは、ディスクドライブ14a〜14dの記憶領域上に区画設定された論理的な記憶領域である。ＬＵＮ（Logical Unit Number）の欄には、当該データ入出力要求が対象とする論理ボリュームの識別子が設定される。アドレスの欄およびデータ長の欄は、例えば、データ入出力要求がデータ要求である場合に設定され、この場合、アドレスの欄には読み出し先のデータが格納されている論理ボリュームの先頭アドレスが設定され、また、データ長の欄には読み出し対象となるデータのデータ長が設定される。
【００５３】
モードの欄には、そのデータ入出力要求に対するホストコンピュータへの応答処理と、各キャッシュメモリのデータの整合性確保処理の実行順を制御するためにディスクアレイ装置1に参照される値が設定される。この実施例では、モードの欄には、「０」または「１」のいずれかの値が設定されるものとする。
【００５４】
なお、「０」は、例えば、そのデータ入出力要求の処理について、各キャッシュメモリに記憶しているデータの整合性を確保することよりも、ホストコンピュータに対する応答速度が要求される場合に設定される。また、「１」は、例えば、そのデータ入出力要求の処理について、各キャッシュメモリに記憶しているデータの整合性を確保する必要がある場合に設定される。
【００５５】
＜データ要求＞
まず、ホストコンピュータから送信されてくるデータ入出力要求として、データ要求を受信した場合にディスクアレイ装置1において行われる処理を、図１１に示すフローチャートとともに説明する。なお、ここではデータ要求を入出力チャネル10ａが受信した場合について説明するが、他の入出力チャネル10b〜10dが受信した場合でも同様である。
【００５６】
ホストコンピュータからデータ要求を受信（1110）した入出力チャネル10aは、まず、読み出し対象となるデータがキャッシュメモリ11a上に存在するかどうかを調べる（1112）。ここで存在する場合（1112:YES）には、入出力チャネル10aはそのデータをキャッシュメモリ11aから読み出して、これをホストコンピュータに送信する（1113）。
【００５７】
一方、キャッシュメモリ11aに要求されたデータが存在しない場合（1112:NO）には、入出力チャネル10aはデータ要求で指定されているデータブロック番号に基づいて当該データが存在するディスクドライブに接続されているディスクアダプタ13a〜13dを決定し、データ要求をネットワークスイッチ12aまたは12bを用いてそのディスクアダプタ13a〜13dに送信する。ディスクアダプタ13aは、データ要求を受け取ると、そのデータブロック番号に基づいて具体的にデータが存在するディスクドライブ14a〜14d内のディスクドライブを決定し（1114）、そのディスクドライブからのデータの読み出しを開始する（1115）。
【００５８】
ここでデータ要求のモードの欄の内容を調べ（1116）、モード欄に「０」が設定されていた場合（1116:YES）には、ディスクドライブから読み出したデータを入出力チャネル10aに送信（1117）した後、（1118）以下の処理に進む。
一方、モード欄に「１」が設定されていた場合（1116:NO）には、そのまま（1118）以下の処理に進む。
【００５９】
（1118）では、ディスクアダプタ13aが、ここで要求されているデータを他の入出力チャネル10aとは別の入出力チャネル10b〜10dに以前に送信したことがあるかどうかを検索する。この検索は、具体的には、ディスクアダプタ13aにおいて、図７のデータテーブルの送信先入出力チャネル番号に、有効な入出力チャネルの番号が登録されているかどうかを検索することにより行われる。
【００６０】
ここで他の入出力チャネルのキャッシュメモリに送ったことがない場合には、（1125）へ進む。一方、他の入出力チャネルのキャッシュメモリに送ったことがある場合には、その入出力チャネルに図８に示した無効化コマンドを送信し(1120)、当該データをその入出力チャネルのキャッシュから削除させる。
【００６１】
この際その入出力チャネルのキャッシュメモリにおいて当該データの書き換えが生じてまだその書き換えられたデータがディスクドライブに書き戻していなかったかどうか判定される（1121）。この判定は、具体的には図４または図５における書き換えビットD 402または502を検査することにより行われる。書き戻していない場合には、その入出力チャネルにおいて書き戻していないデータをそのキャッシュメモリから読み出し、当該ディスクアダプタに返送させる。そして、当該ディスクアダプタは、（1115）で開始したディスクドライブからのデータの読み出しが完了するのを待って、ディスクドライブから読み出されたデータの上に、入出力チャネルから返送されてきた書き換えデータを上書きする（1122）。
【００６２】
つぎにディスクアダプタは、その入出力チャネルから無効化処理完了信号が送信されてくるのを待ち、無効化されたことの確認を行う（1123）。
【００６３】
つぎに図７に示したデータテーブルにおいて、送信先入出力チャネル番号に予め定める無効なチャネル番号を設定することで、データ送信先の記録を削除する(1124)。なお、この後この送信先入出力チャネル番号には、後述する（1125）で新たにデータを送信した入出力チャネル番号を記録するので、この（1124）の処理はなくてもよい。
【００６４】
つぎに、（1110）新たにデータを要求してきた入出力チャネルのキャッシュメモリにデータを送信することを決定し、この入出力チャネルを記録する。具体的には、この記録は、図７のようなデータテーブルの送信先入出力チャネル番号に有効なチャネル番号で記録することにより行われる。
【００６５】
つぎに、もしまだ（1115）で開始したディスクドライブの読み出しが完了していなかった場合には、読み出しが完了するまで待ち、読み出したデータを当該入出力チャネルに送信して、その入出力チャネルに接続されたキャッシュメモリに格納させる（1126）。
【００６６】
つぎにディスクアダプタは、データ要求のモードの欄の内容を調べ（1127）、モード欄に「１」が設定されていた場合（1127:YES）には、ディスクドライブから読み出したデータを入出力チャネル10aに送信（1128）した後、（1129）以下の処理に進む。一方、モード欄に「０」が設定されていた場合（1127:NO）には、そのまま（1129）以下の処理に進む。
【００６７】
（1129）では、(1122)を通過し、ディスクドライブから読み出したデータに対して上書きが生じたかどうかを判定する。もし上書きが生じた場合には、上書きされたデータを当該ディスクドライブへ書き戻す（1130）。
【００６８】
なお、以上の処理において、モード欄の設定値が「１」であった場合、すなわち、ホストコンピュータに応答を返すより前に無効化処理を行う場合には、ディスクドライブからのデータの読み出し（1115）の処理を、（1122）や（1126）の処理完了までに完了することにより、すなわち、これらの処理をオーバーラップさせて処理するようにし、処理速度の向上を図るようにしてもよい。
【００６９】
以上に説明したように、この実施例では、（1116）において、モード欄に「０」が設定されている場合には、ディスクドライブから読み出したデータを先にホストコンピュータに送信した後に、（1118）に後続する処理を実行する。すなわち、そのデータ入出力要求のモード欄に「０」が設定されている場合には、各キャッシュメモリに記憶しているデータに関する整合性を確保するために必要となる（1118）〜（1130）の処理は、ディスクアレイ装置1からホストコンピュータへの応答処理が行われた後で行われることとなり、これによりホストコンピュータに対する応答速度が向上する。
【００７０】
従って、ホストコンピュータで動作するソフトウエアの仕様や性質などにより、整合性を確保する必要がなかったり、また、必要があるとしてもさほど厳密性が要求されないような場合には、そのようなソフトウエアからのデータ入出力要求のモード欄に「０」を設定しておくことで、このようなデータ入出力要求についてはホストコンピュータに対する応答速度を向上させることができる。
【００７１】
とくに、（1120）などの無効化に関する処理では、無効化要求や無効化がされたことの確認のための通信がスイッチを介して行われ、ホストコンピュータへの応答速度を低下させる要因となるが、このように無効化処理が事後的に行われることで、ホストコンピュータに対する応答速度が改善されることになる。
【００７２】
なお、図１１では、(1118)の前にモード「０」の判定とホストコンピュータへの送信処理（1116,1117）を行うようにしているが、これらの処理は、例えば(1118)と（1119）の間や（1119）と（1120）の間で行っても良い。つまり、各キャッシュメモリに記憶しているデータに関する整合性を確保するために必要となる処理のうち、ホストコンピュータへの応答速度を低下させる主因となる処理が行われるよりも前に、ホストコンピュータに応答を返す構成であれば、ホストコンピュータへの応答速度の向上が期待できることになる。
【００７３】
＜データ書き込み要求＞
つぎに、ホストコンピュータから送信されてくるデータ入出力要求として、データ書き込み要求を受信した場合にディスクアレイ装置1において行われる処理について説明する。なお、ここではデータ書き込み要求を入出力チャネル10ａが受信した場合について説明するが、他の入出力チャネル10b〜10dが受信した場合でも同様である。
【００７４】
図１２に示すフローチャートは、ディスクアダプタ13a〜13dが、入出力チャネル10a〜10dのうちの一つに一旦送信したデータを他の入出力チャネル10a〜10dから要求されたときに、先に送った方の入出力チャネル10a〜10dのキャッシュメモリ11a〜11d内のデータを無効化するための無効化信号を該当の入出力チャネル10a〜10dに向けて送信することで各キャッシュメモリ11a〜11dのデータに関する整合性を確保するようにしている場合に、この整合性確保の処理とホストコンピュータへの完了通知との実行順を、データ入出力要求の内容であるモードに応じて制御するようにした場合のディスクアレイ装置1の処理についての実施例を説明している。
【００７５】
ホストコンピュータからデータ書き込み要求を受信（1211）した入出力チャネル10aは、そのデータ書き込み要求のモードの欄の内容を調べる（1212）。ここでモードの欄に「０」が設定されていた場合（1212:YES）、当該入出力チャネル10aのキャッシュメモリ11aへの書き込みを許可して書き込みデータをキャッシュメモリ11aに書き込み（1213）、書き込み完了通知をホストコンピュータに送信する（1214）。一方、（1212）において、モード欄に「１」が設定されていた場合（1212:NO）には、入出力チャネル10aはすぐにキャッシュメモリ11aにデータを書き込まず、(1215）に進む。
【００７６】
つぎに、入出力チャネル10aは、書き込み要求があったことを該当のディスクアダプタ13a〜13dに通知し、通知を受けたディスクアダプタは、書き込み要求があった入出力チャネル10a以外に、当該データを送信した入出力チャネルのキャッシュメモリがあったかどうかを検索する（1215）。ここでもし他に送信した入出力チャネルのキャッシュメモリがなければ（1216：NO）、（1220）に進む。一方、他に送った入出力チャネルのキャッシュメモリがあれば、それらの入出力チャネルのすべてのキャッシュメモリを対象として該当の入出力チャネルに無効化要求を送信する（1217）。ここでこの無効化要求には、例えば図８に示した、無効化コマンドを用いることができる。
無効化されたことが確認されたら（1218）、無効化したキャッシュメモリの入出力チャネル番号を、送信先入出力チャネル番号の記録から削除する（1219）。
【００７７】
つぎに（1220）では、そのデータ書き込み要求のモード欄の内容を調べる。ここでモード欄に「１」が設定されている場合には、（1221）に進み、書き込み要求を受け取った入出力チャネル10aのキャッシュメモリ11aへの書き込みを許可し、ホストコンピュータからの書き込みデータを受信してキャッシュメモリ11aへの書き込みを行い（1221）、また、書き込み完了通知をホストコンピュータに送信する（1222）。そして、キャッシュメモリ11aに書き込んだデータを当該入出力チャネル10aより該当のディスクアダプタ13a〜13dに送信し、ディスクドライブ14a〜14dにも書き戻しを行わせる（1223）。
他方、（1220）においてモード欄に「０」が設定されていた場合には(1221)に相当する処理は既に（1213）にて行われているので（1223）に進む。
【００７８】
以上に説明したように、この実施例のディスクアレイ装置1は、モード欄に「０」が設定されている場合には、ディスクドライブ14a〜14dから読み出したデータを、先にホストコンピュータに送信してしまった後に、整合性確保に関する処理を実行する。すなわち、そのデータ入出力要求にモードが「０」が設定されている場合には、整合性確保に関する処理は、ディスクアレイ装置1からホストコンピュータへの応答処理が行われた後に事後的に行われることとなり、ホストコンピュータに対する応答速度の向上が図られる。
【００７９】
従って、ホストコンピュータで動作するソフトウエアの仕様や性質などにより、整合性を確保する必要が無かったり、また、必要があるとしても厳密性が要求されないような場合には、そのようなソフトウエアからのデータ入出力要求のモード欄には「０」を設定しておけば、このようなデータ入出力要求についてはホストコンピュータに対する応答速度を向上させることができる。
【００８０】
図１３に示すフローチャートは、ある入出力チャネル10a〜10dに対応するキャッシュメモリ11a〜11dのデータの書き換えが生じた場合に、これをディスクアダプタ13a〜13dを通じてディスクドライブ14a〜14dに書き戻すと同時に、他の入出力チャネル10a〜10dのキャッシュメモリ11a〜11dのデータを書き換えて更新することで各キャッシュメモリ11a〜11dのデータに関する整合性を確保するようにしている場合に、この整合性確保の処理とホストコンピュータへの完了通知との実行順を、データ入出力要求の内容であるモードに応じて制御するようにした場合のディスクアレイ装置1の処理についての実施例を説明している。
【００８１】
ホストコンピュータからデータ書き込み要求を受信（1311）した入出力チャネル10aは、当該入出力チャネル10aのキャッシュメモリ11aへの書き込みを許可して書き込みデータをキャッシュメモリ11aに書き込む（1312）。
【００８２】
つぎに、そのデータ書き込み要求のモードの欄の内容を調べ（1313）、モードの欄に「０」が設定されていた場合（1313:YES）には、書き込み完了通知をホストコンピュータに送信する（1314）。一方、（1313）において、モード欄に「１」が設定されていた場合（1313:NO）には（1315）に進む。
【００８３】
（1315）では、適宜なタイミングで当該入出力チャネル10aから書き込みデータを該当のディスクアダプタ13a〜13dに送信し、キャッシュメモリ11aに書き込んだデータを元のディスクドライブ14a〜14dにも書き戻す（1315）。
【００８４】
つぎに、ディスクアダプタ13a〜13dは、書き込みが行われた入出力チャネル10a以外に、以前にそのデータを送信した入出力チャネルのキャッシュメモリがあったかどうかを検索する（1316）。もし他に送った入出力チャネルのキャッシュメモリがあれば（1317:YES）、（1318）に進む。無ければ（1319）に進む。
【００８５】
（1318）では、当該データをもつ他の入出力チャネルのキャッシュメモリのすべてに当該ディスクアダプタからディスクドライブに書き込んだ書き込みデータを送信し、データの変更を行わせる。
【００８６】
（1319）では、データ書き込み要求のモードの欄の値を調べ、モードの欄に「１」が設定されていた場合（1319:YES）には、書き込み完了通知をホストコンピュータに送信する（1320）。一方、モードの欄に「０」が設定されていた場合（1320:NO）には、完了報告は既に（1314）で行っているのでここでは行わない。
【００８７】
以上のように、この実施例では、モード欄に「０」が設定されている場合には、ディスクドライブ14a〜14dから読み出したデータを、先にホストコンピュータに送信してしまった後に、整合性確保に関する処理を実行する。すなわち、モードの欄に「０」が設定されている場合には、整合性確保に関する処理は、ディスクアレイ装置1からホストコンピュータへの応答処理が行われた後で行われ、整合性確保に関する処理よりも前にホストコンピュータへの応答がされることになるので、ホストコンピュータへの応答速度が向上することになる。
【００８８】
このため、ホストコンピュータで動作するソフトウエアの仕様や性質などにより、各キャッシュメモリ間でのデータに関する整合性を確保する必要が無かったり、また、必要があるとしてもさほど厳密性が要求されないような場合には、そのようなソフトウエアからのデータ入出力要求のモード欄に「０」を設定しておくことで、ホストコンピュータに対する応答速度を向上させることができる。
【００８９】
＜他の実施形態＞
前述の実施例では、データ入出力要求のモード欄の値に応じて、そのデータ入出力要求に対するホストコンピュータへの応答処理と、各キャッシュメモリ11a〜11dのデータに関する整合性確保処理の実行順を制御するようにしているが、モード欄に代えて、データ入出力要求に記述されているＬＵＮの値に応じて処理の切り替えを行うようにすることもできる。
【００９０】
具体的には、例えば、図１１〜図１３に示したフローチャートにおけるモード欄の値により実行制御を行っている部分において、モード欄の値に代えて、ＬＵＮを参照するようにし、ＬＵＮの値に応じて処理を分岐させるようにする。なお、モード欄の設定値やＬＵＮごとに前記実行順をどのように制御するかを、例えば、オペレータがディスクアレイ装置1の管理用端末を操作して設定できるようにすることもできる。
【００９１】
また、最近のディスクアレイ装置の中には、アベイラビリティの向上や、ディザスタリカバリ性能の向上などを目的として、ディスクアレイ装置がデータ入出力要求に応じて自身の論理ボリュームに管理しているデータの内容を、遠隔地などに設置され当該ディスクアレイ装置に接続する他のディスクアレイ装置にも記憶する機能（「リモートコピー機能」と称されることもある）を備えるものが存在する。
【００９２】
そして、この機能の実現方式として、ディスクアレイ装置1が備える入出力チャネルに他のディスクアレイ装置を通信可能に接続し、各入出力チャネルを自身のディスクドライブに書き込ませる動作モード（以下、「ノーマルモード」と称する）で動作させるか、他のディスクアレイ装置にデータ入出力要求を送信させる動作モード（以下、「コピーモード」と称する）で動作させるかをホストコンピュータからディスクアレイ装置1に送信するコマンドにより切り替えられるようにし、ホストコンピュータから入出力チャネルの動作モードを切り替えるようにしていることがある。
【００９３】
ここでこのような方式で前記機能が実現されている場合には、データ入出力要求を受信した入出力チャネルが、いずれの動作モードで動作しているかに応じて、そのデータ入出力要求に対するホストコンピュータへの応答処理と、各キャッシュメモリのデータに関する整合性確保処理の実行順を制御するようにすることが考えられる。すなわち、例えば、コピーモードで動作している入出力チャネルで受信したデータ入出力要求については、ホストコンピュータへの応答を優先させて、整合性確保のための処理は後で行うようにし、また、ノーマルモードで動作している入出力チャネルで受信したデータ入出力要求については、整合性確保のための処理を優先させ、その後でホストコンピュータへの応答を行うようにする。
【００９４】
つまり、コピーモードで動作中の入出力チャネルで受信したデータ入出力要求の処理は、ノーマルモードで動作中の入出力チャネルで受信したデータ入出力要求の処理に比べて整合性確保の必要性が少ないことが多いと考えられ、このような場合には、この仕組みを適用することでホストコンピュータへの応答速度を向上させることができる。
【００９５】
以上、本発明に係るディスクアレイ装置等について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることは勿論である。
【００９６】
【発明の効果】
本発明によれば、ディスクアレイ装置、ディスクアレイ装置の制御方法、及びストレージシステムを提供することができる。
【図面の簡単な説明】
【図１】  本発明の一実施例による、ストレージシステムの概略構成を示す図である。
【図２】  本発明の一実施例による入出力チャネルの構成を示す図である。
【図３】  本発明の一実施例によるディスクアダプタの構成を示す図である。
【図４】  本発明の一実施例によるキャッシュメモリの構成を示す図である。
【図５】  本発明の一実施例によるキャッシュメモリの構成を示す図である。
【図６】  本発明の一実施例によるデータテーブルの形式を示す図である。
【図７】  本発明の一実施例によるデータテーブルの形式を示す図である。
【図８】  本発明の一実施例による無効化コマンドのコマンド形式を示す図である。
【図９】  本発明の一実施例による、更新コマンドのコマンド形式を示す図である。
【図１０】  本発明の一実施例による、データ入出力要求のデータフォーマットを示す図である。
【図１１】  本発明の一実施例による、データ要求を受信した場合にディスクアレイ装置において行われる処理を説明するフローチャートを示す図である。
【図１２】  本発明の一実施例による、データ書き込み要求を受信した場合にディスクアレイ装置において行われる処理を説明するフローチャートを示す図である。
【図１３】  本発明の一実施例による、データ書き込み要求を受信した場合にディスクアレイ装置において行われる処理を説明するフローチャートを示す図である。
【符号の説明】
１  ディスクアレイ装置
１０ａ〜１０ｄ  入出力チャネル
１１ａ〜１１ｄ  キャッシュメモリ
１２ａ、１２ｂ  ネットワークスイッチ
１３ａ〜１３ｄ  ディスクアダプタ
１４ａ〜１４ｄ  ドライブ群
２０１、３０１  プロセッサ
２０２、３０２  ローカルメモリ
２０３ａ、２０３ｂ、３０３ａ、３０３ｂ  ネットワーク接続回路
２０４  ホストＩ／Ｆ回路
３０４  ディスクドライブＩ／Ｆ回路
３０５  プロセッサバス
４０、５０  検索制御部
４１  メモリ部
４１１、５１１  アドレスバス
４１２、５１２  返答信号バス
４１３、５１３  データバス
４１４、５１４  制御コマンドバス
５１  タグ部
５２  データ部
５１５  データ位置信号
【図１】
0004439798.tif 000002
【図２】
0004439798.tif 000003
【図３】
0004439798.tif 000004
【図４】
0004439798.tif 000005
【図５】
0004439798.tif 000006
【図６】
0004439798.tif 000007
【図７】
0004439798.tif 000008
【図８】
0004439798.tif 000009
【図９】
0004439798.tif 000010
【図１０】
0004439798.tif 000011
【図１１】
0004439798.tif 000012
【図１２】
0004439798.tif 000013
【図１３】
0004439798.tif 000014