(57)【要約】【課題】高速インタフェースを採用した場合でも低コスト化する。【解決手段】  ディスクアレイコントローラ１とディスク装置２とホスト３をすべて１つのインタフェース３１に接続し、ディスクアレイコントローラ１とホスト３の間の通信およびディスクアレイコントローラ１とディスク装置２の間の通信を１つのホストインタフェース３１を介して行う。【効果】  fibre channelのような高速インタフェースでも低コスト化を実現できる。特に、ディスクアレイコントローラ１のＩ／Ｆ制御手段１２をホスト用およびディスク装置用として共用すれば、より低コスト化できる。【選択図】  図１
2008102967.tif 000002
【特許請求の範囲】
【請求項１】
複数のディスク装置と、
前記複数のディスク装置を制御する制御装置とを有し、
前記複数のディスク装置及び前記制御装置は、ホストが接続されているネットワークに
接続されており、
前記複数のディスク装置は各々、ディスク装置に対するコマンドを受信して、受信した
コマンドに基づいてディスク装置へのデータのライトを制御する制御部を有しており、
前記制御装置は、前記ホストからライトコマンドを受信し、該ライトコマンドに基づい
てライトデータが格納されるディスク装置を決定し、
前記制御装置によって決定されたディスク装置が、前記ホストによって送信されたライ
トデータを前記ネットワークから受信して格納することを特徴とするシステム。
【請求項２】
請求項１記載のシステムであって、
前記制御装置は、前記ライトデータを前記ホストからから受信し、受信したライトデー
タを前記制御装置によって決定されたディスク装置に前記ネットワークを介して送信し、
前記制御装置によって決定されたディスク装置は、前記制御装置から前記ネットワーク
を介して前記ライトデータを受信して格納することを特徴とするシステム。
【請求項３】
請求項１記載のシステムであって、
前記制御装置によって決定されたディスク装置は、前記ホストから前記制御装置を介さ
ずに前記ライトデータを前記ネットワークを介して受信して格納することを特徴とするシ
ステム。
【請求項４】
請求項３記載のシステムであって、
前記制御装置は、前記ライトコマンドに基づいて決定したライトデータが格納されるデ
ィスク装置を、前記ネットワークを介して前記ホストに通知し、
前記制御装置によって決定されたディスク装置は、前記ホストから前記ライトデータを
受信することを特徴とするシステム。
【請求項５】
請求項１記載のシステムであって、
前記制御装置は更に、前記ライトデータを用いて冗長データを生成し、該冗長データを
ライトデータが格納されるディスク装置とは異なるディスク装置に前記ネットワークを介
して送信し、
該冗長データを受信したディスク装置が該冗長データを格納することを特徴とするシス
テム。
【請求項６】
請求項１記載のシステムであって、
前記制御装置は、前記ライトコマンドに基づいてライトデータが格納されるディスク装
置を複数決定し、
前記ホストによって送信されるライトデータは、前記制御装置によって決定された複数
のディスク装置に分散されて格納されることを特徴とするシステム。
【請求項７】
請求項６記載のシステムであって、
前記制御装置は更に、前記制御装置によって決定された複数のディスク装置に分散され
て格納されるデータから生成される冗長データを、該複数のディスク装置とは異なるディ
スク装置に前記ネットワークを介して送信し、
該冗長データを受信したディスク装置が該冗長データを格納することを特徴とするシス
テム。
【請求項８】
複数のディスク装置と、
前記複数のディスク装置を制御する制御装置とを有し、
前記複数のディスク装置及び前記制御装置は、ホストが接続されるネットワークに接続
されており、
前記複数のディスク装置は各々、ディスク装置に対するコマンドを受信して、受信した
コマンドに応じてディスク装置からのデータのリードを制御する制御部を有しており、
前記制御装置は、前記ホストからリードコマンドを受信し、該リードコマンドに基づい
て、リード対象のデータが格納されているディスク装置を特定し、特定したディスク装置
から前記ネットワークを介してリード対象のデータを読出し、読み出したリード対象のデ
ータを前記ネットワークを介して前記ホストに送信することを特徴とするシステム。
【請求項９】
請求項８記載のシステムであって、
前記制御装置は、前記リードコマンドに基づいて、前記特定したディスク装置にリード
対象のデータを読み出すためのコマンドを送信し、該コマンドを受信したディスク装置は
該コマンドに基づいてデータを前記制御装置に送信することを特徴とするシステム。
【請求項１０】
請求項８記載のシステムであって、
前記制御装置は、前記リードコマンドに基づいて、リード対象のデータが格納されてい
る複数のディスク装置を特定し、特定した複数のディスク装置各々から前記ネットワーク
を介してリード対象のデータを読出し、読み出したリード対象のデータを、前記ネットワ
ークを介してホストに送信することを特徴とするシステム。
【請求項１１】
複数のディスク装置と、
前記複数のディスク装置を制御する制御装置とを有し、
前記複数のディスク装置と前記制御装置とは、ホストが接続されるネットワークに接続
されており、
前記複数のディスク装置は各々、ディスク装置に対するコマンドを受信して、受信した
コマンドに応じてディスク装置からのデータのリードを制御する制御部を有しており、
前記制御装置は、前記ホストからリードコマンドを受信して、該リードコマンドに基づ
いてリード対象のデータが格納されているディスク装置を複数特定し、
前記制御装置によって特定された複数のディスク装置では各々、ディスクのシーク及び
回転待ちを行い、リード対象のデータの転送準備が終了したディスク装置から、リード対
象のデータを前記ネットワークを介して前記ホストに送信することを特徴とするシステム
。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクアレイ制御方法およびディスクアレイ制御装置に関し、さらに詳し
くは、低コスト化と高速化とを可能とするディスクアレイ制御方法およびディスクアレイ
制御装置に関する。
【背景技術】
【０００２】
(1) ＲＡＩＤ
ディスクアレイは、複数のディスク装置を並列に動作させることで高速化を実現する技
術である。しかし、ディスク装置をｎ（＞１）台並べた場合、その故障確率はｎ倍に悪化
する。そこで、高速化と高信頼化を両立するための技術として、非特許文献１に述べられ
ている。
【０００３】
ＲＡＩＤは、複数のディスク装置を並列に動作させることにより、高速化を実現する。
また、パリティと呼ぶ冗長データをパリティ用ディスク装置に格納しておき、データを格
納するデータ用ディスク装置の１台が故障したときに、その故障したデータ用ディスク装
置のデータを他のデータ用ディスク装置のデータとパリティ用ディスク装置のパリティと
から復元することにより、高信頼化を実現する。ＲＡＩＤは、そのパリティの格納の方法
によりレベル１からレベル５まである。
【０００４】
図１３に、レベル４のＲＡＩＤのデータ配置図の一例を示す。
【０００５】
この例では、ディスク装置が５台で、そのうちの４台がデータ用ディスク装置２００〜
２０３、１台がパリティ用ディスク装置２０４とすると、データを所定単位のデータブロ
ックＤ０，Ｄ１，Ｄ２，Ｄ３に分解し、データ用ディスク装置２００、データ用ディスク
装置２０１、データ用ディスク装置２０２、データ用ディスク装置２０３の順に分散して
格納する。これらデータブロックのことをストライプと称し、この分散する制御のことを
ストライピングと称する。
【０００６】
さらに、ストライプＤ０〜Ｄ３の排他的論理和を計算し、パリティＰ０を生成し、パリ
ティ用ディスク装置２０４に格納する。一つのパリティを生成するための同一列のストラ
イプ及びパリティをパリティグループと称する。レベル４の外、レベル３，５が上記と同
一の方法でパリティを生成する。
【０００７】
なお、ＲＡＩＤを構成するディスク装置群のことをＲＡＩＤグループと称する。
【０００８】
たとえば、データ（Ｄ０，Ｄ１，Ｄ２，Ｄ３）を読み出したいときにデータ用ディスク
装置２００が故障した場合には、データＤ１，Ｄ２，Ｄ３とパリティＰ０を読み出し、こ
れらの排他的論理和を計算し、データＤ０を復元する。
【０００９】
(2) ディスクアレイコントローラ
上記のようなＲＡＩＤ型ディスクアレイを実現するためには、ホスト（ホストコンピュ
ータ）からのリード／ライト要求を各ディスク装置へのリード／ライト要求に変換し、ラ
イト時にはデータを各ディスク装置へ分散し、リード時には各ディスク装置からデータを
集合するデータ分散・集合制御を行う必要がある。また、パリティを計算するパリティ生
成制御を行う必要がある。これらの制御を行うため、通常、ホストと複数のディスク装置
の間に、ディスクアレイコントローラと呼ぶディスクアレイ制御装置を設ける。
【００１０】
図１４に、従来の計算機システムの第１例を示す。
【００１１】
この計算機システム５００は、ホスト３と、ディスクアレイ４とを備えてなる。３１は
、ホスト３とディスクアレイコントローラ４を接続するホストインターフェースである。
【００１２】
ディスクアレイ４は、ディスクアレイコントローラ１と、ディスク装置２００〜２０４
を備えてなる。２１０〜２１４は、ディスクアレイコントローラ１とディスク装置２００
〜２０４を接続するディスクインタフェースである。
【００１３】
ディスクアレイコントローラ１は、ディスクアレイコントローラ全体の制御を司る中央
制御手段１０と、データ分散・集中のために一時的にデータを格納するとともにキャッシ
ュとして使用するためのデータキャッシュ手段１１と、ホストインタフェース３１に対す
る制御を行うホストＩ／Ｆコントローラ１２０と、ディスクインタフェース２１０〜２１
４を制御するディスクＩ／Ｆコントローラ１３０〜１３４を備えてなる。
【００１４】
ホストインタフェース３１およびディスクインタフェース２１０〜２１４には、ＳＣＳ
Ｉ（Small
Computer System Interface）が使われている。そこで、このようなディスク
アレイのことをＳＣＳＩ型ディスクアレイと称することにする。
【００１５】
(3) Fibre Channel
近年、ＳＣＳＩに対して性能が高く、接続距離が長いFibre Channel（以下、ＦＣと略
記する）が登場してきた。
【００１６】
Fibre Channelは、ホストとディスクアレイを１対１で接続するポイント−ポイントト
ポロジの外に、複数のホストおよびディスクアレイをループ構成で接続するループトポロ
ジ、さらには、ファブリックと呼ぶスイッチ装置を用い、ポイント−ポイントやループの
任意の組み合わせで大規模なネットワークを組むことができるスイッチトポロジの３つの
形態をとることができる。
【００１７】
特に、ループトポロジは、ＦＣ-ＡＬ（FibreChannel−Arbitrated Loop）と呼ばれ、複
数のホストと複数のストレージを相互に接続するネットワークであるＳＡＮ（Storage Ar
ea Network）を容易に構築できる。
【００１８】
また、ＦＣ-ＡＬは、ディスク装置インタフェース２１０〜２１４にも使用されるよう
になってきた。ＦＣ-ＡＬは、ＳＣＳＩに対する性能、接続距離の長所に加え、ディスク
装置の活線挿抜が可能、ディスク装置の接続台数が１ループあたり１２６台と多い、シリ
アルケーブルなので引き回しが容易、などの長所を備えており、ディスク装置インタフェ
ースに適用するために好ましい機能を備えている。
【００１９】
(4) ＦＣ型ディスクアレイ
図１５に、従来の計算機システムの第２例を示す。
【００２０】
この計算機システム６００は、ホストインタフェース３１にＦＣ−ＡＬを用いると共に
、ディスクインタフェース１３にもＦＣ−ＡＬを用いた構成である。
【００２１】
ホストホストインタフェース３１には、複数台のホスト３、３ａ、３ｂが接続しており
、同様に複数台のディスクアレイ４、４ａも接続している。
【００２２】
ディスクアレイ４のディスクアレイコントローラ１は、１つのディスクインタフェース
１３に複数台のディスク装置２００〜２０４が接続するループ構成である。ディスクイン
タフェース１３を制御するディスクＩ／Ｆコントローラ１３０も１つである。このような
ディスクアレイを、ＦＣ型ディスクアレイと称することにする。
【００２３】
Fibre Channelをホストインタフェースに使う例は、”日経エレクトロニクス 1994.7.4
(no.612)号 特集「ポストSCSIの設計思想を探る。三つの新インタフェースを比較」p.12
8”（非特許文献２）に示されている。
【００２４】
また、Fibre Channelをディスクインタフェースに使う例は、同資料p.131（非特許文献
３）に示されている。
【００２５】
(5) マルチポートＩ／Ｆ
図１４に示すＳＣＳＩ型ディスクアレイ４の場合、ＲＡＩＤグループを構築する複数の
ディスク装置２００〜２０４を１台ずつ異なるディスクインタフェース２１０〜２１４に
接続することで、１つのディスクインタフェースに障害が発生しても運転を継続できる。
【００２６】
また、ホストインタフェース３１も複数本用意し、同一のホスト３から複数のホストイ
ンタフェース３１を介してディスクアレイ４に接続すると、ホストインタフェース３１に
ついても耐障害性を持たせることができる。
【００２７】
このように複数ホストインタフェース、複数ディスクインタフェースを持つ構成をマル
チポートＩ／Ｆと称する。
【００２８】
これに対して、１つのホストインタフェース、１つのディスクインタフェースしか持た
ない構成をシングルポートＩ／Ｆと称する。
【００２９】
ＦＣ型ディスクアレイにおいても、耐障害性を持たせるためには、マルチポートＩ／Ｆ
化する必要があり、各々２つずつＩ／Ｆを設ける。
【００３０】
【非特許文献１】デビット、エー、パターソン(David A. Patterson)、外2名、「ケースフォーリダンダントアレイオブインエクスペンシヴディスク（A Case for Redundant Arrays of Inexpensive Disks）」、エーシエムシグモッド（In Proc. ACM SIGMOD）、1988年6月、p.109-p.116
【非特許文献２】特集「ポストSCSIの設計思想を探る。三つの新インタフェースを比較」、日経エレクトロニクス、612号、1994年7月4日、p.128
【非特許文献３】特集「ポストSCSIの設計思想を探る。三つの新インタフェースを比較」、日経エレクトロニクス、612号、1994年7月4日、p.131
【発明の開示】
【発明が解決しようとする課題】
【００３１】
(1) コスト上昇の課題
ＦＣ型ディスクアレイ（図１５）は、ＳＣＳＩ型ディスクアレイ（図１４）を越える性
能、機能を実現できる。
【００３２】
しかしながら、Fibre Channel用のＩ／Ｆ制御手段はＳＣＳＩ用のＩ／Ｆ制御手段に対
し、非常に高価であるため、ホストインタフェースとディスクインタフェースの両方にFi
bre Channelを使用すると、ディスクアレイ制御装置のコストが上昇してしまう問題点が
ある。
【００３３】
この問題点は、Fibre Channelに限るものではなく、一般に、高速なインタフェースに
なるほど高価格になる傾向があるので、他の高速インタフェースでも同様の問題点がある
。マルチポートＩ／Ｆ化すると、高コスト化はさらに助長される。
【００３４】
(2) 応答時間低下、技術的困難性の課題
従来のＦＣ型ディスクアレイ、ＳＣＳＩ型ディスクアレイのいずれにしても、ディスク
装置からホストにデータをリードするときに、ディスク装置からディスクアレイ制御装置
内部にデータの一部もしくは全部をバッファリングしてから、そのデータをホストに転送
する。そのため、応答時間が低下する問題点がある。
【００３５】
また、ホストインタフェース、ディスクインタフェースともにFibre Channelとした場
合、その両者の転送速度を各々１００ＭＢ／Ｓとすると、この帯域を最大限発揮したデー
タ転送を実現するためには、ディスクアレイ制御装置内部の転送速度は少なくとも２００
ＭＢ／Ｓが必要となり、高速なデータバスが必要である。また、ディスク装置がＲＡＩＤ
の場合、データ転送と並行してパリティも生成する必要がある。そこで、ディスクアレイ
制御装置内部のキャッシュメモリには、データ転送に必要な帯域の２００ＭＢ／Ｓに加え
、さらに１００ＭＢ／Ｓの帯域が必要である。また、デュアルコントローラ構成にする場
合、ホストからのデータを一方のディスクアレイコントローラが受信し、そのデータを他
系のディスクアレイコントローラに転送する二重化ライトを行うので、キャッシュメモリ
には他系から転送されるのデータをライトする分の１００ＭＢ／Ｓの帯域がさらに必要で
ある。以上より、１００ＭＢ／Ｓのホストインタフェース、ディスクインタフェースの一
対あたり、データバスには２００ＭＢ／Ｓの転送帯域、キャッシュメモリには４００ＭＢ
／Ｓの転送帯域が必要である。さらに、ホストインタフェースとディスクインタフェース
をｎ対にマルチポートＩ／Ｆ化した場合、そのマルチポート分の性能を発揮させようとす
ると、データバス、キャッシュメモリは各々上記のｎ倍の転送帯域が必要である。このよ
うに、インタフェースの高速化やマルチポート化により、ディスクアレイ制御装置内部の
転送速度は非常に高い転送帯域が必要になる。そのため、内部バスやキャッシュメモリの
動作周波数の向上やビット数の拡大が必要になり、技術的難易度が上昇し、実現困難にな
る。また、実現可能な転送速度であってもコスト的に非常に高くなってしまう問題点があ
る。
【００３６】
そこで、本発明の第一の目的は、高速インタフェースを使用しても低コスト化を図るこ
とが出来るディスクアレイ制御方法およびディスクアレイ制御装置を提供することにある
。
【００３７】
また、本発明の第二の目的は、応答性を改善でき、高速インタフェースの性能を最大限
発揮することができ、かつ、ディスクアレイ制御装置内部の転送速度を低く押さえ、技術
的にも容易に開発可能で、さらに低コスト化を図ることが出来るディスクアレイ制御方法
およびディスクアレイ制御装置を提供することにある。
【課題を解決するための手段】
【００３８】
第１の観点では、本発明は、ホストと、複数台のディスク装置をホストから見て論理的
に１台以上のディスクアレイ装置として動作させるべく制御するディスクアレイ制御装置
と、前記複数台のディスク装置とを１つのホストインタフェースに接続し、ディスクアレ
イ制御装置とホストの間の通信およびディスクアレイ制御装置と複数台のディスク装置の
間の通信を１つのホストインタフェースを介して行うことを特徴とするディスクアレイ制
御方法を提供する。
【００３９】
上記第１の観点のディスクアレイ制御方法では、ディスクアレイ制御装置とホストの間
の通信を行うホストインタフェースを利用して、ディスクアレイ制御装置とディスク装置
の間の通信をも行うため、インタフェースが１つで済み、高速インタフェースでも低コス
ト化を実現できる。特に、ディスクアレイ制御装置のＩ／Ｆ制御手段をホスト用およびデ
ィスク装置用として共用すれば、より低コスト化できる。
【００４０】
第２の観点では、本発明は、ホストおよび複数台のディスク装置が接続されるホストイ
ンタフェースに接続され、前記複数台のディスク装置を前記ホストから見て論理的に１台
以上のディスクアレイ装置として動作させるべく制御するディスクアレイ制御装置であっ
て、ホストインタフェースに対する制御を行うＩ／Ｆ制御手段と、ホストからコマンドを
受信する等の処理を行うホストコマンド制御手段と、ホストコマンドを解釈しその結果に
応じてホストとディスクアレイ制御装置と複数台のディスク装置の三者間の転送経路およ
び転送形態を決定する転送形態制御手段と、決定された転送経路および転送形態ならびに
ディスクアレイの構成に基づきホストコマンドに指示されたアドレスからディスク装置の
アドレスへと変換し対応するディスク装置へのディスクコマンドを生成するアドレス変換
制御手段と、ディスクコマンドをディスク装置へ発行する等の処理を行うディスクコマン
ド制御手段とを備えたことを特徴とするディスクアレイ制御装置を提供する。
【００４１】
上記第２の観点のディスクアレイ制御装置では、上記第１の観点のディスクアレイ制御
方法を好適に実施可能となる。
【００４２】
第３の観点では、本発明は、上記第２の観点のディスクアレイ制御装置において、前記
転送形態制御手段は、ホストコマンドがリードのときには、「ディスク装置からディスク
アレイ制御装置にデータを転送し、次いでディスクアレイ制御装置からホストにデータを
転送するノーマル転送」を転送形態として選択可能であり、ホストコマンドがライトのと
きには、「ホストからディスクアレイ制御装置にデータを転送し、次いでディスクアレイ
制御装置からディスク装置にデータを転送するノーマル転送」を転送形態として選択可能
であることを特徴とするディスクアレイ制御装置を提供する。
【００４３】
上記第３の観点のディスク制御装置では、従来のホストとディスク装置とを用いて、上
記第１の観点のディスクアレイ制御方法を実施可能となる。
【００４４】
第４の観点では、本発明は、上記第２または第３の観点のディスクアレイ制御装置にお
いて、前記転送形態制御手段は、ホストコマンドがリードのときには、「ディスク装置か
らディスクアレイ制御装置を経由せずにホストにデータを直接転送するダイレクト転送」
を転送形態として選択可能か、および、ホストコマンドがライトのときには、「ホストか
らディスクアレイ制御装置を経由せずにディスク装置にデータを直接転送するダイレクト
転送」を転送形態として選択可能かの、少なくとも一方が可能であることを特徴とするデ
ィスクアレイ制御装置を提供する。
【００４５】
上記第４の観点のディスク制御装置では、ディスクアレイ制御装置を経由せずに、ホス
トとディスク装置の間でデータを直接転送するため、応答性を改善でき、高速インタフェ
ースの性能を最大限発揮することができ、かつ、ディスクアレイ制御装置内部の転送速度
を低く押さえることが出来る。よって、技術的に容易に開発可能となり、低コスト化でき
る。また、ディスクアレイ制御装置における処理負担を軽減できる。
【００４６】
第５の観点では、本発明は、上記第２から第４の観点のディスクアレイ制御装置におい
て、前記転送形態制御手段は、ホストコマンドがリードで且つキャッシュミスしたときに
は、「ディスク装置からディスクアレイ制御装置とホストの両方にデータを転送するマル
チターゲットダイレクト転送」を転送形態として選択可能か、および、ホストコマンドが
ライトのときには、「ホストからディスクアレイ制御装置とディスク装置の両方にデータ
を転送するマルチターゲットダイレクト転送」を転送形態として選択可能であるかの、少
なくとも一方が可能であることを特徴とするディスクアレイ制御装置を提供する。
【００４７】
上記第５の観点のディスク制御装置では、ディスクアレイ制御装置を経由せずに、ホス
トとディスク装置の間でデータを直接転送するため、応答性を改善でき、高速インタフェ
ースの性能を最大限発揮することができ、かつ、ディスクアレイ制御装置内部の転送速度
を低く押さえることが出来る。よって、技術的に容易に開発可能となり、低コスト化でき
る。また、ディスクアレイ制御装置における処理負担を軽減できる。
【００４８】
また、データをディスクアレイ制御装置にも転送するため、キャッシュによる応答性の
改善も期待できる。
【００４９】
さらに、ホストコマンドがライトのときにマルチターゲットダイレクト転送すれば、デ
ィスクアレイ制御装置で迅速にパリティを生成可能となり、特にディスク装置がＲＡＩＤ
のときに有用となる。
【００５０】
第６の観点では、本発明は、上記ディスクアレイ制御装置およびディスク装置が接続さ
れるホストインタフェースに接続されるホストであって、ホストインタフェースに対する
制御を行うホストインタフェース制御手段と、ホストインタフェースに送出された転送形
態の情報を受信し、その情報に従ってディスク装置またはディスク制御装置とのデータ転
送を行うよう前記ホストインタフェース制御手段を制御するホスト転送形態制御手段とを
備えたことを特徴とするホストを提供する。
【００５１】
上記第６の観点のホストを用いれば、上記ディスクアレイ制御方法を好適に実施可能と
なる。
【００５２】
第７の観点では、本発明は、上記ディスクアレイ制御装置および上記ホストが接続され
るホストインタフェースに接続されるディスク装置であって、ホストインタフェースに対
する制御を行うディスクインタフェース制御手段と、ホストインタフェースに送出された
転送形態の情報を受信し、その情報に従ってホストもしくはディスクアレイ制御装置との
データ転送を行うよう前記ディスクインタフェース制御手段を制御するディスク転送形態
制御手段とを備えたことを特徴とするディスク装置を提供する。
【００５３】
上記第７の観点のディスク装置を用いれば、上記ディスクアレイ制御方法を好適に実施
可能となる。
【００５４】
第８の観点では、本発明は、上記ディスクアレイ制御装置と、上記ホストと、上記ディ
スク装置とを、ホストインタフェースに接続し、前記３者すべてが同一の転送形態でデー
タ転送を行うことを特徴とする計算機システムを提供する。
【００５５】
上記第８の観点の計算機システムでは、上記ディスクアレイ制御方法を好適に実施可能
となる。
【発明の効果】
【００５６】
本発明のディスクアレイ制御方法およびディスクアレイ制御装置によれば、次の効果が
得られる。
【００５７】
（１）高速インタフェースを採用したとしても、ホスト用インタフェースとディスク装
置用インタフェースを１つのインタフェースで共用するので、低コスト化できる。
【００５８】
（２）ダイレクト転送を用いることで、ディスクアレイ制御装置を経由せずに、ディス
ク装置とホスト間でデータを直接転送することができるので、バッファリングに要してい
たオーバヘッド時間を削減でき、応答性を改善でき、高速インタフェースの性能を最大限
発揮することができ、かつ、ディスクアレイ制御装置内部の転送速度を低く押さえること
ができるので、技術的にも容易に開発可能となり、低コスト化を図ることができる。
【００５９】
（３）マルチターゲットダイレクト転送を用いることで、ダイレクト転送による上記効
果と、キャッシュによる応答性の向上を図ることができる。
【発明を実施するための最良の形態】
【００６０】
以下、図を参照して本発明の実施形態を説明する。なお、これにより本発明が
限定されるものではない。
【実施例１】
【００６１】
（ノーマル転送の例）
第一実施形態では、本発明のディスクアレイが備える転送形態の一つである「
ノーマル転送」と呼ぶ転送形態を説明する。
【００６２】
「ノーマル転送」は、ホストとディスクアレイコントローラ、およびディスクアレイコ
ントローラとディスク装置の間でのみデータ転送を行なう転送形態である。これは従来の
ディスクアレイの転送形態と同一であるが、後述するようにホストインタフェースとディ
スクインタフェースを一つのインタフェースに統合した点が従来と異なっている。
【００６３】
(1) ディスクアレイの構成
図１に、第一実施形態の計算機システムの構成例を示す。
【００６４】
この計算機システム１００は、ホスト３と、ホストインタフェース３１と、ディスクア
レイ４とを具備している。
【００６５】
ホストインタフェース３１は、ＦＣ−ＡＬである。
【００６６】
ディスクアレイ４は、ディスクアレイコントローラ１と、ディスク装置２００〜２０４
（これらを総称してディスク装置２と表現する）を具備している。図１では簡略化して表
現しているが、ディスク装置２００〜２０４は、ホストインタフェース３１に接続してい
る。
【００６７】
(2) ディスクアレイコントローラの構成
ディスクアレイコントローラ１は、中央制御手段１０と、データキャッシュ手段１１と
、Ｉ／Ｆ制御手段１２と、パリティ演算手段１４と、内部バス１５とを具備している。
【００６８】
前記Ｉ／Ｆ制御手段１２は、ホスト３との通信に用いるときにはＩ／Ｆ制御手段１２を
ターゲットモードにし、ディスク装置２との通信に用いるときにはＩ／Ｆ制御手段１２を
イニシエータモードに切り替える制御を行うイニシエータ／ターゲット切り替え部１２１
を備えている。
【００６９】
前記中央制御手段１０は、ＭＰＵ(Micro Processing Unit)を用いて実現している。そ
して、各種制御部は、ＭＰＵで動作する制御プログラムで実現している。
【００７０】
図２に、中央制御手段１０の構成を示す。
【００７１】
中央制御手段１０は、Ｉ／Ｆ制御手段１２の操作を行いホスト３からコマンドを受信す
る等のホスト３との通信を行うホストコマンド制御部１０１と、受信したホストコマンド
を解析しキャッシュのヒットミス判定やアクセスのシーケンシャル性判定などを行いコマ
ンド毎にホスト３とディスクアレイコントローラ４とディスク装置２の間の転送の経路等
のデータ転送形態を決定する転送形態制御部１０２と、ホストコマンドに格納されたディ
スクアレイ４への論理アドレスからディスク装置２への物理アドレスに変換するアドレス
変換制御部１０３と、ディスクコマンドを生成しＩ／Ｆ制御手段１２の操作を行いディス
ク装置２にコマンドを発行する等のディスク装置２との通信を行うディスクコマンド制御
部１０４とを具備している。
【００７２】
なお、上記において、ディスク装置２のアドレスを物理アドレスと称したが、一般に、
Fibre ChannelをＩ／Ｆとするディスク装置は論理的なアドレス（ＬＢＡ：ロジカルブロ
ックアドレス）を用いて操作する。しかし、ここでは、ホスト３からディスクアレイ４を
１台のディスク装置と見なしてアクセスするために用いるアドレスを論理アドレスと呼び
、ディスク装置２をアクセスするために用いるディスク装置のアドレスを物理アドレスと
呼んで、両者を区別することにする。
【００７３】
また、前記転送形態制御部１０２は、第一実施形態でも使用しているが、「ノーマル転
送」のみで動作する場合は省略可能である。
【００７４】
(3) ホストとディスク装置の構成
図１に戻り、ホスト３は、ディスクアレイコントローラ１を接続するホストＩ／Ｆ制御
手段３２を具備している。なお、ホスト３は、ホスト転送形態制御手段３３を具備してい
るが、ホスト転送形態制御手段３３は第一実施形態では使用しない（第二実施形態以降で
使用する）ため、説明しない。従って、第一実施形態「ノーマル転送」のみで動作する場
合はホスト転送形態制御手段３３を省略可能である。
【００７５】
ディスク装置２００〜２０４は、それぞれディスクＩ／Ｆ制御手段２１を具備している
。なお、ディスク装置２００〜２０４は、ディスク転送形態制御手段２２を具備している
が、ディスク転送形態制御手段２２は第一実施形態では使用しない（第三実施形態以降で
使用する）ため、説明しない。従って、第一実施形態「ノーマル転送」のみで動作する場
合はディスク転送形態制御手段２２を省略可能である。
【００７６】
(4) アクセス種類
一般に、アクセスの種類を大別すると、ランダムアクセスと、シーケンシャルアクセス
とがある。
【００７７】
ランダムアクセスは、ディスクアレイ４の論理アドレス空間の任意のアドレスのリード
ライトを行うアクセスである。データベースのレコード参照等で発生する。一般に、ラン
ダムアクセスは、４ＫＢ程度の小転送長でアクセスされることが多い。ランダムアクセス
では、データ転送長が短いため、転送時間はわずかである。従って、全処理時間において
、ディスク装置のシーク、回転待ち時間が支配的である。
【００７８】
シーケンシャルアクセスは、ディスクアレイ４の連続した論理アドレスを続けてリード
ライトするアクセスである。バッチ処理や画像アクセス等で発生する。一般に、シーケン
シャルアクセスは、６４ＫＢ等の大転送長でアクセスされることが多い。シーケンシャル
アクセスでは、連続アクセスのためディスク装置のシークはほとんど発生しないし、シー
ケンシャルリード時にはディスク装置の内部でデータの先読みを行うので回転待ちもほと
んど発生しないが、データ転送長が長いため転送時間は長い。よって、全処理時間におい
て、データ転送時間が支配的である。
【００７９】
以下では、シーケンシャルアクセスとランダムアクセスの２つに分けて説明するが、シ
ーケンシャルアクセスとランダムアクセスの中間または混合に位置するようなアクセスは
、シーケンシャルアクセスとランダムアクセスのいずれかの処理方法で対処可能である。
【００８０】
(5) ランダムリード
図３は、ディスクアレイのランダムリード動作を説明する概念図である。
【００８１】
・リードコマンド受信（図３(1)）
ホスト３は、小転送長のリードホストコマンドを生成し、ホストＩ／Ｆ制御手段３２を
制御し、ホストインタフェース３１を介して、ディスクアレイコントローラ１へと発行す
る。
【００８２】
ディスクアレイコントローラ１のＩ／Ｆ制御手段１２は、ターゲットモードでコマンド
を待ち受けており、リードホストコマンドを受信し、中央制御手段１０に通知する。
【００８３】
通知を受けた中央制御手段１０のホストコマンド制御部１０１は、リードホストコマン
ドを受領する。
【００８４】
・転送形態の判定
転送形態制御部１０２は、リードホストコマンドを解析し、キャッシュのヒットミス判
定を行う。
【００８５】
キャッシュがヒットした場合、データキャッシュ手段１１からホスト３へのデータ転送
を開始する。この動作は、後述するディスクアレイコントローラ１からホスト３へのデー
タ転送と同一である（図３(5)(6)）。
【００８６】
キャッシュがミスした場合、転送形態制御部１０２は、シーケンシャルアクセス判定を
行う。シーケンシャル判定は、前回のリードコマンドの論理アドレスと今回のリードコマ
ンドの論理アドレスの連続性を判定することで行う。ここでは、ランダムアクセスのため
、シーケンシャル判定がミスする。すると、転送形態制御部１０２は、転送形態を「ノー
マル転送」であると判定する。
【００８７】
「ノーマル転送」においては、その転送形態をホスト３およびディスク装置２に通知す
る必要はない。そこで、続けて、転送形態制御部１０２は、データキャッシュ手段１１の
適切なアドレスに、このリードホストコマンドのデータを格納するキャッシュ領域を確保
する。
【００８８】
・アドレス変換
アドレス変換制御部１０３は、リードホストコマンドに格納されたディスクアレイへの
論理アドレスから、ディスクアレイの構成に基づき、この論理アドレスのデータを格納す
るディスク装置番号を特定し、そのディスク装置の物理アドレスに変換する。
【００８９】
・ディスクコマンドの発行（図３(2)）
ディスクコマンド制御部１０４は、対象ディスク装置へのリードディスクコマンドを生
成し、Ｉ／Ｆ制御部１２にリードディスクコマンドを発行する。Ｉ／Ｆ制御手段１２は、
このリードディスクコマンドを受信する。イニシエータ／ターゲット切り替え制御部１２
１は、Ｉ／Ｆ制御部１２をターゲットモードに切り替える。Ｉ／Ｆ制御部１２は、ホスト
インタフェース３１を介し、ディスク装置２にリードディスクコマンドを発行する。リー
ドディスクコマンドは、Fibre Channelのフレームとして送信する。
【００９０】
・ディスク装置２からディスクアレイコントローラ４へのデータ転送（図３(3)）
ディスク装置２は、リードディスクコマンドを受領すると、リードディスクコマンドを
解析し、ヘッドのシーク、回転待ちを行い、指示された物理アドレスから指示された転送
長のデータをリードする。次に、全データ転送に必要な個数のデータフレームを生成し、
ディスクアレイコントローラ１にホストインタフェース３１を介し発行する。
【００９１】
ディスクアレイコントローラ１のＩ／Ｆ制御手段１２は、イニシエータモードとして動
作し、データフレームを受信し、データキャッシュ手段１１に転送する。
【００９２】
・ディスクコマンド終了（図３(4)）
ディスク装置２は、データフレームの転送終了後に、ステータスを格納したフレームを
作成し、ディスクアレイコントローラ１に送信する。
【００９３】
ディスクアレイコントローラ１のＩ／Ｆ制御手段１２は、ステータスを格納したフレー
ムを受信し、中央制御手段１０に通知する。
【００９４】
中央制御手段１０のディスクコマンド制御部１０４は、正常にコマンド処理が終了した
ことを確認する。
【００９５】
・ディスクアレイコントローラからホストへのデータ転送（図３(5)）
ホストコマンド制御部１０１は、Ｉ／Ｆ制御手段１２にデータ転送開始を指示する。Ｉ
／Ｆ制御手段１２のイニシエータ／ターゲット切り替え制御部１２１は、Ｉ／Ｆ制御手段
１２をターゲットモードに切り替える。Ｉ／Ｆ制御手段１２は、データキャッシュ手段１
１からデータをリードし、データフレームを作成し、ホスト３にホストインタフェース３
１を介し転送を行う。
【００９６】
・リードホストコマンドの終了（図３(6)）
ディスクアレイコントローラ１のＩ／Ｆ制御手段１２は、全データフレームを転送終了
すると、ステータスフレームを生成し、ホスト３に送信する。
【００９７】
ホスト３は、ステータスフレームを受信し、データ転送が完了し、リードコマンドが正
常終了したことを確認する。
【００９８】
(6) ランダムライト
図４に、ディスクアレイ４のランダムリード動作の概念図を示す。
【００９９】
・ライトホストコマンドの処理（図４(1)(2)(3)）
ホスト３は、ライトホストコマンドを生成し、ホストＩ／Ｆ制御手段３２を制御し、ホ
ストインタフェース３１を介して、ディスクアレイコントローラ１へと発行する。
【０１００】
ディスクアレイコントローラ１のＩ／Ｆ制御手段１２は、ターゲットモードでコマンド
を待ち受けており、ライトホストコマンドを受信し、中央制御手段１０に通知する。
【０１０１】
通知を受けた中央制御手段１０のホストコマンド制御部１０１は、ライトホストコマン
ドを受領する。
【０１０２】
転送形態制御部１０２は、ホストコマンドを解析し、「ノーマル転送」と判断し、デー
タを格納するためのキャッシュ領域をデータキャッシュ手段１１に確保する。
【０１０３】
ホストコマンド制御部１０１は、Ｉ／Ｆ制御手段１２にキャッシュ領域のアドレスを通
知し、転送開始を指示する。
【０１０４】
Ｉ／Ｆ制御手段１２は、転送許可フレームをホスト３に送信する。
【０１０５】
ホスト３は、データフレームを送信する。
【０１０６】
Ｉ／Ｆ制御手段１２は、データを受信し、データキャッシュ手段１１の指定された領域
に格納し、転送が終了したらステータスフレームをホスト３に送信し、データ転送が完了
したことを中央制御手段１０に通知する。
【０１０７】
ホスト３は、ステータスフレームを受信し、転送が完了し、ライトホストコマンドが正
常終了したことを確認する。
【０１０８】
以上のように、ディスクアレイコントローラ１のデータキャッシュ手段１１にデータを
ライトした時点でホストコマンドを終了する方法を、ライトバックキャッシュと呼ぶ。ま
た、データキャッシュ手段１１中にディスク装置２には書き込まれずに保存されているデ
ータをダーティデータと呼び、ダーティデータを保存しているキャッシュのことを、ダー
ティキャッシュと呼ぶ。
【０１０９】
ダーティデータの量が規定値以上になった場合や所定時間以上ダーティデータが保存さ
れていた場合、ディスクアレイコントローラ１は、ダーティデータをディスク装置２に書
き戻す処理を行う。この処理を、デステージ処理と呼ぶ。
【０１１０】
・パリティの生成（図４(4)(5)(6)）
デステージに先立ち、ダーティデータに対応するパリティを生成する。ここで、ダーテ
ィデータがＤ１(new)であるとすると、それに対応した新パリティＰ０(new)は、Ｄ１(new
)とＤ１(old)とＰ０(old)の排他的論理和により求める。このため、Ｄ１(old)とＰ０(old
)をディスク装置２からリードする必要がある。そこで、両データをデータキャッシュ制
御手段１１上に一時的に格納する領域を割り当て、その領域に前記リードホストコマンド
に対するディスク装置からディスクアレイコントローラへのデータ転送と同一の方法でリ
ードする。
【０１１１】
中央制御手段１０は、パリティ演算手段１４にパリティＰ０(new)の生成要求を発行す
る。
【０１１２】
パリティ演算手段１４は、パリティＰ０(new)を生成し、データキャッシュ手段１１に
予め用意した領域に格納する。
【０１１３】
・デステージ処理（ディスク装置ライト処理）（図４(7)(8)(9)）
新データと新パリティのデステージ処理は、前記リードホストコマンドに対するディス
ク装置からディスクアレイコントローラへのデータ転送と基本的に同一である。相違点は
、転送方向が逆である（リードがライトになる）こと、および、ディスクアレイコントロ
ーラ１がディスク装置２にライトディスクコマンドを発行すると、ディスク装置２は転送
許可フレームをディスクアレイコントローラ１に発行し、これを受信したディスクアレイ
コントローラ１のＩ／Ｆ制御手段１２がデータフレームをディスク装置２に送出すること
である。
【０１１４】
ディスク装置２は、データのライトが終了すると、ステータスフレームをディスクアレ
イコントローラ１に送信する。
【０１１５】
これを受信すると、ディスクアレイコントローラ１の中央制御手段１０は、新データお
よび新パリティのデータキャッシュ領域をダーティからクリーンに属性を変更すると共に
、旧データおよび旧パリティのデータキャッシュ領域を無効化する。以上で、ライトホス
トコマンドの処理を終了する。
【０１１６】
・シーケンシャルアクセス
キャッシュのヒットミス判定でミスし、さらにシーケンシャル判定でヒットすると、シ
ーケンシャルアクセスの処理の行なうが、これは上記ランダムアクセスと基本的に同一の
手順である。異なる点は、シーケンシャルリード時には、複数のディスク装置２０１〜２
０４に対し同時に複数のリードコマンドを発行し、データキャッシュ手段１１上でデータ
を集合しホスト３に転送することと、シーケンシャルライト時には、データキャッシュ手
段１１上にパリティグループのデータがそろう場合があるため、ディスク装置２から旧デ
ータ，旧パリティをリードすることなく新パリティを生成する場合があることである。
【０１１７】
(7) 第一実施形態の効果
以上の第一実施形態によれば、ディスクアレイコントローラ１は、ホスト３との接続イ
ンタフェースおよびディスク装置２との接続インタフェースを一つのホストインタフェー
ス３１で共用し、これを唯一つのＩ／Ｆ制御手段１２で制御しているので、fibre channe
lのような高価なインタフェースであっても、ディスクアレイコントローラ１を低コスト
化できる。
【実施例２】
【０１１８】
（ダイレクト転送の例１）
第二実施形態では、本発明のディスクアレイが備える転送形態の一つである「ダイレク
ト転送」と呼ぶ転送形態を説明する。
【０１１９】
「ダイレクト転送」は、ホストとディスク装置がディスクアレイコントローラを介さず
にデータ転送を行なう転送形態である。「ダイレクト転送」は、主にシーケンシャルリー
ド時に有効な転送形態である。
【０１２０】
(1) ディスクアレイの構成
ディスクアレイ１は、図１，図２を参照して第一実施形態で説明した構成と同様である
。「ダイレクト転送」を行う際には、図２の中央制御手段１０の転送形態制御手段１０２
を使用する。
【０１２１】
(2) ホストの構成
ホスト３は、図１を参照して第一実施形態で説明した構成と同様である。「ダイレクト
転送」を行う際には、ホスト転送形態制御手段３３を使用する。ホスト転送形態制御手段
３３は、ディスクアレイコントローラ１が決定し通知してきた転送形態情報を受信し、指
示された転送形態を用いてデータを授受できるようにホストＩ／Ｆ制御手段３２を制御す
る。
【０１２２】
(3) ディスク装置の構成
ディスク装置２は、図１を参照して第一実施形態で説明した構成と同様である。なお、
ディスク装置２００〜２０４は、ディスク転送形態制御手段２２を具備しているが、ディ
スク転送形態制御手段２２は第二実施形態では使用しない（第三実施形態以降で使用する
）ため、説明しない。従って、第一実施形態「ノーマル転送」および第二実施形態「ダイ
レクト転送の例１」のみで動作する場合はディスク転送形態制御手段２２を省略可能であ
る。
【０１２３】
(4) シーケンシャルリード
・リードコマンド受信（図５(1)）
ホスト３は、シーケンシャルアクセスを行うため、リードホストコマンドを生成し、ホ
ストＩ／Ｆ制御手段３２を制御し、ホストインタフェース３１を介して、ディスクアレイ
コントローラ１に発行する。ここで、転送長は６４ＫＢであると仮定する。
【０１２４】
ディスクアレイコントローラ1のＩ/Ｆ制御手段1には、ターゲットモードでコマンドを
待ち受けしており、リードホストコマンドを受信し、中央制御手段１０に通知する。
【０１２５】
通知を受けた中央制御手段１０のホストコマンド制御部１０１は、リードホストコマン
ドを受領する。
【０１２６】
・転送形態の判定
中央制御手段１０の転送形態制御部１０２は、リードホストコマンドを解析し、キャッ
シュのヒットミス判定を行う。シーケンシャルアクセスなのでキャッシュはミスする。
【０１２７】
キャッシュがミスした場合、転送形態制御部１０２は、シーケンシャルアクセス判定を
行う。ここでは、シーケンシャルアクセスなので、シーケンシャル判定はヒットする。す
ると、転送形態制御部１０２は、転送形態を「ダイレクト転送」と決定する。
【０１２８】
・アドレス変換
アドレス変換制御部１０３は、リードホストコマンドの論理アドレスからディスクアレ
イの構成に基づき、この論理アドレスのデータを格納するディスク装置番号を特定し、そ
のディスク装置の物理アドレスに変換する。この変換を次に具体的に説明する。
【０１２９】
図６は、ＲＡＩＤ４もしくはＲＡＩＤ５のディスクアレイの一つのパリティグループを
示した図である。
【０１３０】
ストライプ２２０，…，２２４は、ディスク装置２００，…，２０４のそれぞれのスト
ライプを示している。ステップ２２０〜２２３はデータストライプであり、ストライプ２
２４はパリティストライプである。ストライプサイズは、６４ＫＢとする。
【０１３１】
シーケンシャルアクセス対象のデータの転送長が６４ＫＢであるが、アドレス変換の結
果、このデータがディスク装置２００のストライプ２２０の後半１６ＫＢとディスク装置
２０１のストライプ２２１の前半４８ＫＢに該当する場合、シーケンシャルアクセス対象
のデータは図６の斜線のようになる。
【０１３２】
図７は、論理アドレスと物理アドレスの関係の説明図である。
【０１３３】
一般に、ホスト３のホストメモリは、仮想記憶と呼ばれるメモリメカニズムを使用して
おり、４ＫＢ等のメモリブロックをページと呼び、ページ単位で必要なメモリの割り当て
を行っている。このため、アプリケーションから見て連続した論理アドレスでも、実際の
ホストメモリへのマッピングは、いくつかの領域に分断されていることが多い。そこで、
ホストメモリアドレスと論理アドレスとディスクアレイ４の物理アドレスの対応を管理し
ている。
【０１３４】
そして、その対応に従って、ホストＩ／Ｆ制御手段３２は、受信したデータを適切なホ
ストメモリアドレスに転送する。
【０１３５】
このようなメカニズムをScatter/Gather（Ｓ／Ｇ）と呼び、論理アドレスとメモリアド
レスとの関係を示したリストをＳ／Ｇリストと呼び、ホストコマンドを発行する際には、
ホスト３が生成し、ホストＩ／Ｆ制御手段３２に通知してある。このリストに従って、ホ
ストＩ／Ｆ制御手段３２が、データ転送を行う。
【０１３６】
図８に、アドレス変換制御部１０３が作成するアドレス変換リスト１０３０を例示する
。
【０１３７】
このアドレス変換リスト１０３０は、ある論理アドレス（例えばＬＡ０）からある転送
長分（例えば１６ＫＢ）のデータが特定のディスク装置（例えばディスク装置２００）の
特定の物理アドレス（例えばＰＡ１）から開始することを示している。
【０１３８】
・ダイレクト転送メッセージの転送（図５(2)、(3)）
図５に戻り、次にホストコマンド制御部１０１は、ホスト３に対するダイレクト転送メ
ッセージを作成し、Ｉ／Ｆ制御手段１２に発行する。ダイレクト転送メッセージには、ダ
イレクト転送メッセージであることを示す識別子と、上記アドレス変換リスト１０３０を
格納する。
【０１３９】
Ｉ／Ｆ制御手段１２は、メッセージフレームを作成し、そのメッセージフレームをホス
ト３に送付し、さらに、ステータスフレームをホスト３に転送し、リードホストコマンド
を一旦終了する。
【０１４０】
・ダイレクト転送Ｓ／Ｇリストの生成
ホスト３のホストＩ／Ｆ制御手段３２は、メッセージフレームを受信し、さらに続けて
テータスフレームを受信し、ここで一旦リードホストコマンドを仮終了とする。
【０１４１】
ホスト転送形態制御手段３３は、このメッセージフレームに格納されたダイレクト転送
メッセージを解析し、転送形態が「ダイレクト転送」であることを認識する。そして、ダ
イレクト転送メッセージに格納された上記アドレス変換リスト１０３０とＳ／Ｇリストを
比較し、各ディスク装置毎の物理アドレスとメモリ転送先アドレスとの関係を調査し、各
ディスク装置２００，２０１に対応したダイレクト転送Ｓ／Ｇリストを生成する。
【０１４２】
図９に、ダイレクト転送Ｓ／Ｇリストを例示する。
【０１４３】
ダイレクト転送Ｓ／Ｇリスト３３００がディスク装置２００に対応し、ダイレクト転送
Ｓ／Ｇリスト３３０１がディスク装置２０１に対応する。
【０１４４】
・ダイレクト転送の実行（図５(4)、(5)、(6)）
次に、ホスト転送形態制御手段３３は、アドレス変換リスト１０３０を用い、各ディス
ク装置に対するディスクコマンドを作成し、ホストＩ／Ｆ制御手段３２に発行する。
【０１４５】
ホストＩ／Ｆ制御手段３２は、ホストインタフェース３１を介して、各ディスク装置２
００，２０１にディスクコマンドを発行する。
【０１４６】
ディスク装置２００，３００は、独立にシーク，回転待ちを行い、どちらか先に準備の
出来たものからデータ転送を開始する。
【０１４７】
ホストＩ／Ｆ制御手段３２は、データフレームを受信し、フレームのヘッダから転送元
ディスク装置の番号を確認し、それぞれのディスク装置毎のダイレクト転送Ｓ／Ｇリスト
に従ってホストメモリにデータ転送を行う。この例では、ディスク装置２００からデータ
が送られてきた場合、最初の８ＫＢをホストメモリのメモリアドレスＭＡ０に格納し、次
の８ＫＢをメモリアドレスＭＡ１に格納する。また、ディスク装置２０１からデータが送
られてきた場合、最初の２４ＫＢをメモリアドレス（ＭＡ１＋８ＫＢ）に格納し、次の２
４ＫＢをメモリアドレスＭＡ２に格納する。この際、ディスク装置２００，２０１の物理
アドレスは意識する必要はなく、送られてきたデータの順番にダイレクト転送Ｓ／Ｇリス
トに従ってデータを格納していけばよい。
【０１４８】
全てのディスク装置からのデータ転送が完了し、ステータスフレームを受信すると、デ
ィスクコマンドが正常終了する。
【０１４９】
・ホストコマンドの終了
全てのディスクコマンドが正常終了した時点で、データ転送が完了するので、ホストＩ
／Ｆ制御手段３２は、先に仮終了したホストコマンドを正常終了し、この要求を発行した
アプリケーションに対して正常終了ステータスを返し、処理を終える。
【０１５０】
(5) シーケンシャルリード以外の処理
上記ではシーケンシャルリードの処理について説明したが、シーケンシャルリード以外
（例えばランダムリード）においても上記と同様にダイレクト転送を行うことが出来る。
【０１５１】
上記ダイレクト転送の場合、ディスクアレイコントローラ１内部のデータキャッシュ手
段１１にデータをキャッシュすることが出来ないため、キャッシュヒットによるアクセス
の高速化を実現できなくなる。
【０１５２】
しかし、２度と使わないデータであることが分かっている（キャッシュをする必要がな
い）場合や、データキャッシュ手段１１のメモリ容量が小さい（データキャッシュ手段１
１でのキャッシュのヒットが期待できない）場合や、ホスト３に設けたディスク装置キャ
ッシュの容量が大きい（データキャッシュ手段１１を使う必要がない）場合などでは、上
記ダイレクト転送も有効である。
【０１５３】
なお、後述の第四実施形態では、ディスクアレイコントローラ１においてキャッシング
を行うと同時にダイレクト転送を行う。
【０１５４】
(6) 第二実施形態の効果
以上の第二実施形態によれば、シーケンシャルリードの際には、ディスク装置２からリ
ードしたデータをディスクアレイコントローラ１を経由せず、直接ホスト３に転送するの
で、ホストインタフェース３１の転送速度を最大限に利用したデータ転送を実現できる。
また、ホストＩ／Ｆとディスク装置Ｉ／Ｆが１本になり、低価格化できる。さらに、第一
実施形態の「ノーマル転送」のようにディスク装置２からディスクアレイコントローラ１
への転送とディスクアレイコントローラ１からホスト３への転送の２回に渡って同一のＩ
／Ｆを使用するのでは性能の低下があるが、このような性能の低下を引き起こすことなく
高速転送を実現できる。すなわち、データを一旦ディスクアレイコントローラ１のデータ
キャッシュ手段１１にリードするデータバッファリングに要していた処理時間を削減でき
、アクセス応答時間を短縮できる。
【０１５５】
さらに、ディスク装置２からのデータは、ディスクアレイコントローラ１内部のデータ
バスを通らないので、ディスクアレイコントローラ１のデータバスとキャッシュメモリの
帯域を大きくする必要がない。その結果、バスのビット幅を減らしたり、周波数を下げた
り、メモリのビット幅を減らしたり、インタリーブの数を少なくしたりすることができ、
ディスクアレイコントローラ１を容易に開発でき、さらにディスクアレイコントローラ１
のコストを著しく低下させることができる。
【０１５６】
さらに、シーケンシャルアクセス時にはキャッシュヒットはほとんどないため、従来の
ディスクアレイにおいて無駄にデータキャッシュを使用していたことによるキャッシュヒ
ット率の低下を防止することができ、ランダムアクセスのようなキャッシュヒットするア
クセスの高速化を実現できる。
【０１５７】
さらに、従来と同一のディスク装置を使用したままでダイレクト転送による高速化を実
現でき、従来システムからの移行が容易である。
【実施例３】
【０１５８】
（ダイレクト転送の例２）
第三実施形態では、上記第二実施形態とは異なる「ダイレクト転送」を説明する。
【０１５９】
第三実施形態の「ダイレクト転送」も、第二実施形態同様、主にシーケンシャルリード
時に有効な転送形態である。
【０１６０】
(1) ディスクアレイの構成
上記第二実施形態と同一である。
【０１６１】
(2) ホストの構成
上記第二実施形態と同一である。
【０１６２】
(3) ディスク装置の構成
上記第二実施形態と同一である。第三実施形態では、ディスクアレイコントローラ１が
決定した転送形態を受信し、それに基づき転送形態を決定するディスク転送形態制御手段
２２を使用する。
【０１６３】
(4)シーケンシャルリード
・リードコマンド受信（図１０(1)）
ホスト３は、シーケンシャルアクセスを行うため、リードホストコマンドを生成し、ホ
ストＩ／Ｆ制御手段３２を制御し、ホストインタフェース３１を介して、ディスクアレイ
コントローラ１に発行する。ここで、転送長は６４ＫＢであると仮定する。
【０１６４】
ディスクアレイコントローラ１のＩ／Ｆ制御手段１２は、ターゲットモードでコマンド
を待ち受けしており、リードホストコマンドを受信し、中央制御手段１０に通知する。
【０１６５】
通知を受けた中央制御手段１０のホストコマンド制御部１０１は、リードホストコマン
ドを受領する。
【０１６６】
・転送形態の判定
中央制御手段１０の転送形態制御部１０２は、リードホストコマンドを解析し、キャッ
シュのヒットミス判定を行う。シーケンシャルアクセスなのでキャッシュはミスする。
【０１６７】
キャッシュがミスした場合、転送形態制御部１０２は、シーケンシャルアクセス判定を
行う。ここでは、シーケンシャルアクセスなので、シーケンシャル判定はヒットする。す
ると、転送形態制御部１０２は、転送形態を「ダイレクト転送」と決定する。
【０１６８】
・アドレス変換
アドレス変換制御部１０３は、リードホストコマンドの論理アドレスからディスクアレ
イの構成に基づき、この論理アドレスのデータを格納するディスク装置番号を特定し、そ
のディスク装置の物理アドレスに変換する。ここで、アドレス変換制御部１０３は、図８
に示すアドレス変換リスト１０３０を生成したものとする。
【０１６９】
・ダイレクト転送メッセージの転送（図１０(2)）
図１０に戻り、次にホストコマンド制御部１０１は、ホスト３に対するダイレクト転送
メッセージを作成し、Ｉ／Ｆ制御手段１２に発行する。
【０１７０】
Ｉ／Ｆ制御手段１２は、メッセージフレームを作成し、そのメッセージフレームをホス
ト３に送付する。ただし、第二実施形態とは異なり、この時点では、ステータスフレーム
は送出しない。
【０１７１】
・ダイレクト転送Ｓ／Ｇリストの生成
ホスト３のホストＩ／Ｆ制御手段３２は、メッセージフレームを受信する。
【０１７２】
ホスト転送形態制御手段３３は、受信したメッセージフレームに格納されたダイレクト
転送メッセージを解析し、転送形態が「ダイレクト転送」であることを認識する。
【０１７３】
そして、第二実施形態と同様にして、ダイレクト転送Ｓ／Ｇリスト３３００，３３０１
を生成し、ディスク装置２からデータ転送が行われるのを待機する。
【０１７４】
・ディスク装置へのコピーコマンドの発行（図１０(3)）
一方、ディスクアレイコントローラ１において、中央制御手段１０のディスクコマンド
制御部１０４は、アドレス変換リスト１０３０に基づいて、ディスク装置２の指定アドレ
スから指定長のデータをホスト３に対して転送するよう指示するコピーコマンドを生成し
、Ｉ／Ｆ制御手段１２に発行する。このコピーコマンドは、ディスクアレイコントローラ
１にディスク装置２からデータをリードするリードコマンドとは区別する。
【０１７５】
Ｉ／Ｆ制御手段１２は、各ディスク装置２００，２０１にそれぞれコピーコマンドを発
行する。
【０１７６】
・コピーコマンドによるダイレクト転送の実行（図１０(4)、(5)）
ディスク装置２００，２０１では、それぞれのディスクＩ／Ｆ制御手段２１がコピーコ
マンドを受信する。
【０１７７】
ディスク転送形態制御手段２２は、コピーコマンドによるダイレクト転送を実施するこ
とを確認する。
【０１７８】
そして、ディスク装置２００，２０１は、独立にシーク、回転待ちを行い、どちらか先
に準備の出来たものからホスト３に対しデータ転送を開始する。
【０１７９】
ホスト３のホストＩ／Ｆ制御手段３２は、データフレームを受信し、そのデータフレー
ムのヘッダから転送元ディスク装置の番号を確認し、それぞれのディスク装置毎のダイレ
クト転送Ｓ／Ｇリスト３３００，３３０１に従ってホストメモリにデータ転送を行う。
【０１８０】
全てのディスク装置からのデータ転送が完了すると、ディスク装置２００，２０１は、
ステータスフレームを作成し、ディスクアレイコントローラ１に送出する。
【０１８１】
そのステータスフレームをディスクアレイコントローラ１のＩ／Ｆ制御手段１２が受信
すると、コピーコマンドが正常終了する。
【０１８２】
・ホストコマンドの終了
全てのコピーコマンドが正常終了した時点で、ディスクアレイコントローラ１のホスト
コマンド制御部１０１は、リードホストコマンドに対するステータスを作成する。
【０１８３】
Ｉ／Ｆ制御手段１２は、ステータスフレームを作成し、ホスト３に送出する。
【０１８４】
ホスト３は、このステータスフレームを受信し、ホストコマンドが正常終了したことを
認識し、この要求を発行したアプリケーションに対して正常終了ステータスを返し、処理
を終える。
【０１８５】
(5) 第三実施形態の効果
以上の第三実施形態によっても、第二実施形態と同様の効果を得ることができる。
【実施例４】
【０１８６】
（マルチターゲットダイレクト転送の例）
第四実施形態では、本発明のディスクアレイが備える転送形態の一つである「マルチタ
ーゲットダイレクト転送」と呼ぶ転送形態を説明する。
【０１８７】
「マルチターゲットダイレクト転送」は、主にランダムリード時に有効な転送形態であ
り、第二および第三実施形態と同様にインタフェース帯域の消費と応答時間の遅延の両方
を解決できると共に、キャッシュによる高速化も可能となる。
【０１８８】
(1) ディスクアレイの構成
第三実施形態と同一である。
【０１８９】
(2) ホストの構成
第三実施形態と同一である。
【０１９０】
(3) ディスク装置の構成
第三実施形態と同一である。
【０１９１】
(4)ランダムリード
・リードコマンド受信（図１１(1)）
図１１に示すように、ホスト３は、リードアクセスを行うため、リードホストコマンド
を生成し、ホストインタフェース制御手段３２を制御し、ホストインタフェース３１を介
して、ディスクアレイコントローラ１に発行する。
【０１９２】
ディスクアレイコントローラ１のＩ／Ｆ制御手段１２は、ターゲットモードでコマンド
を待ち受けしており、リードホストコマンドを受信し、中央制御手段１０に通知する。
【０１９３】
通知を受けた中央制御手段１０のホストコマンド制御部１０１は、リードホストコマン
ドを受領する。
【０１９４】
・転送形態の判定
転送形態制御部１０２は、リードホストコマンドを解析し、キャッシュのヒットミス判
定を行う。ここでは、キャッシュミスであったとする。すると、転送形態制御部１０２は
、次にシーケンシャルアクセス判定を行う。ここでは、ランダムアクセスなので、ミスヒ
ットとなる。そこで、転送形態制御部１０２は、転送形態を「マルチターゲットダイレク
ト転送」と決定する。
【０１９５】
・アドレス変換
次に、アドレス変換制御部１０３は、リードホストコマンドの論理アドレスからディス
クアレイの構成に基づきディスク装置番号と物理アドレスを得て、対象ディスク装置への
マルチターゲットリードディスクコマンドを生成する。このマルチターゲットリードディ
スクコマンドは、ディスク装置２からリードしたデータをディスクアレイコントローラ１
とホスト３の両方に同時に転送することを指令する命令であり、イニシエータＩＤと複数
のターゲットＩＤとを持つことができる。
【０１９６】
・ダイレクト転送メッセージの転送（図１１(2)）
次に、ホストコマンド制御部１０１は、ホスト３に対するダイレクト転送メッセージを
作成し、Ｉ／Ｆ制御手段１２に発行する。
【０１９７】
Ｉ／Ｆ制御手段１２は、メッセージフレームを作成し、ホスト３に送付する。
【０１９８】
・ダイレクト転送Ｓ／Ｇリストの生成
ホスト３のホストＩ／Ｆ制御手段３２は、メッセージフレームを受信する。
【０１９９】
ホスト転送形態制御手段３３は、受信したメッセージフレームに格納されたダイレクト
転送メッセージを解析し、転送形態が「マルチターゲットダイレクト転送」であることを
認識する。そして、ダイレクト転送Ｓ／Ｇリストを生成し、ディスク装置２からデータ転
送が行われるのを待機する。
【０２００】
・マルチターゲットリードディスクコマンドの発行（図１１(3)）
一方、ディスクコマンド制御部１０４は、Ｉ／Ｆ制御部１２に、マルチターゲットリー
ドディスクコマンドを発行する。
【０２０１】
Ｉ／Ｆ制御手段１２は、ホストインタフェース３１を介し、ディスク装置２にコマンド
フレームを発行する。
【０２０２】
・ディスク装置からディスクアレイコントローラとホストへのデータ転送（図１１(4)
）
ディスク装置２のディスクＩ／Ｆ制御手段２１は、コマンドフレームを受領する。
【０２０３】
ディスク転送形態制御手段２２は、コマンドを解析し、マルチターゲットリードディス
クコマンドであることを認識し、データをディスクアレイコントローラ１とホスト３の両
者に転送することを判断する。そして、ヘッドのシーク，回転待ちを行い、目的の物理ア
ドレスから指示された転送長のデータをリードする。
【０２０４】
次に、ディスクＩ／Ｆ制御手段２１は、ディスクアレイコントローラ１とホスト３の２
つのターゲットＩＤを有するデータフレームを全データ転送に必要な個数生成し、ホスト
インタフェース３１を介して発行する。
【０２０５】
ディスクアレイコントローラ１のＩ／Ｆ制御手段１２とホスト３のホストＩ／Ｆ制御手
段３２とは、同一のデータフレームを受信する。
【０２０６】
ディスクアレイコントローラ１のＩ／Ｆ制御手段１２は、あらかじめ指示されたデータ
キャッシュ手段１１の領域にデータを格納する。
【０２０７】
また、ホスト３のホストＩ／Ｆ制御手段３２は、ダイレクトＳ／Ｇリストに従ってホス
トメモリにデータを格納する。
【０２０８】
・ディスクコマンド終了（図１１(5)）
転送終了後に、ディスク装置２のディスクＩ／Ｆ制御手段２１は、ステータスを格納し
たフレームを作成し、ディスクアレイコントローラ１に送信する。
【０２０９】
ディスクアレイコントローラ１のＩ／Ｆ制御手段１２は、これを受信し、中央制御手段
１０に通知する。
【０２１０】
中央制御手段１０のディスクコマンド制御部１０４は、正常にコマンド処理が終了した
ことを確認する。
【０２１１】
・ホストコマンドの終了（図１１(6)）
ディスクアレイコントローラ１のＩ／Ｆ制御手段１２は、ステータスフレームを生成し
、ホスト３に送信する。
【０２１２】
ホスト３は、ステータスフレームを受信し、データ転送が完了し、リードコマンドが正
常終了したことを確認する。
【０２１３】
(5)シーケンシャルライト
・ライトコマンド受信（図１２(1)）
図１２に示すように、ホスト３は、ライトアクセスを行うため、ライトホストコマンド
を生成し、ホストインタフェース制御手段３２を制御し、ホストインタフェース３１を介
して、ディスクアレイコントローラ１に発行する。
【０２１４】
ディスクアレイコントローラ１のＩ／Ｆ制御手段１２は、ターゲットモードでコマンド
を待ち受けしており、ライトホストコマンドを受信し、中央制御手段１０に通知する。
【０２１５】
通知を受けた中央制御手段１０のホストコマンド制御部１０１は、ライトホストコマン
ドを受領する。
【０２１６】
・転送形態の判定
転送形態制御部１０２は、ライトホストコマンドを解析し、パリティグループの全デー
タのライトであることを認識し、「マルチターゲットダイレクト転送」と判定する。
【０２１７】
・アドレス変換
次に、アドレス変換制御部１０３は、ライトホストコマンドの論理アドレスからディス
クアレイの構成に基づきディスク装置番号と物理アドレスを得て、対象ディスク装置への
マルチターゲットライトディスクコマンドを生成する。このマルチターゲットライトディ
スクコマンドは、ライトするデータをホスト３からディスク装置２とディスクアレイコン
トローラ１の両方に同時に転送することを指令する命令であり、イニシエータＩＤと複数
のターゲットＩＤとを持つことができる。
【０２１８】
・ダイレクト転送メッセージの転送（図１２(2)）
次に、ホストコマンド制御部１０１は、ホスト３に対するダイレクト転送メッセージを
作成し、Ｉ／Ｆ制御手段１２に発行する。
【０２１９】
Ｉ／Ｆ制御手段１２は、メッセージフレームを作成し、ホスト３に送付する。
・ダイレクト転送Ｓ／Ｇリストの生成
ホスト３のホストＩ／Ｆ制御手段３２は、メッセージフレームを受信する。
【０２２０】
ホスト転送形態制御手段３３は、受信したメッセージフレームに格納されたダイレクト
転送メッセージを解析し、転送形態が「マルチターゲットダイレクト転送」であることを
認識する。そして、ダイレクト転送Ｓ／Ｇリストを生成する。
【０２２１】
・マルチターゲットライトディスクコマンドの発行（図１２(3)）
一方、ディスクコマンド制御部１０４は、Ｉ／Ｆ制御部１２に、マルチターゲットライ
トディスクコマンドを発行する。
【０２２２】
Ｉ／Ｆ制御手段１２は、ホストインタフェース３１を介し、ディスク装置２にコマンド
フレームを発行する。
【０２２３】
ディスク装置２のディスクＩ／Ｆ制御手段２１は、コマンドフレームを受領する。
【０２２４】
ディスク転送形態制御手段２２は、コマンドを解析し、マルチターゲットライトディス
クコマンドであることを認識する。
【０２２５】
・ホストからディスク装置とディスクアレイコントローラへのデータ転送（図１２(4)
）
ホスト３は、ディスク装置２とディスクアレイコントローラ１の両方にデータを転送す
る。
【０２２６】
ディスクアレイコントローラ１は、キヤッシュにデータを格納する。
【０２２７】
ディスク装置２は、データを格納する。
【０２２８】
・ディスクコマンド終了（図１２(5)）
データ格納終了後に、ディスク装置２のディスクＩ／Ｆ制御手段２１は、ステータスを
格納したフレームを作成し、ディスクアレイコントローラ１に送信する。
【０２２９】
ディスクアレイコントローラ１のＩ／Ｆ制御手段１２は、これを受信し、中央制御手段
１０に通知する。
【０２３０】
中央制御手段１０のディスクコマンド制御部１０４は、正常にコマンド処理が終了した
ことを確認する。
【０２３１】
・ホストコマンドの終了（図１２(6)）
ディスクアレイコントローラ１のＩ／Ｆ制御手段１２は、ステータスフレームを生成し
、ホスト３に送信する。
【０２３２】
ホスト３は、ステータスフレームを受信し、データ転送が完了し、ライトコマンドが正
常終了したことを確認する。
【０２３３】
・パリティのライト（図１２(7)(8)）
ディスクアレイコントローラ１は、キャッシュにパリティグループの全データがそろっ
ていれば、パリティを生成し、ディスク装置２にライトする。一方、パリティグループの
全データがそろわない場合は、ディスクアレイコントローラ１がディスク装置２から旧デ
ータおよび旧パリティのリードを行い、新データと旧データと旧パリティから新パリティ
を生成し、新パリティをディスク装置２にライトする。
【０２３４】
・ディスクコマンドの終了（図１２(9)）
パリティ格納終了後に、ディスク装置２のディスクＩ／Ｆ制御手段２１は、ステータス
を格納したフレームを作成し、ディスクアレイコントローラ１に送信する。
【０２３５】
ディスクアレイコントローラ１のＩ／Ｆ制御手段１２は、これを受信し、中央制御手段
１０に通知する。
【０２３６】
中央制御手段１０のディスクコマンド制御部１０４は、正常にコマンド処理が終了した
ことを確認する。
【０２３７】
(6) ランダムリードおよびシーケンシャルライト以外の処理
ランダムライトやシーケンシャルリードの場合も、上記と同様にマルチターゲットダイ
レクト転送を行える。
【０２３８】
(7) 第四実施形態の効果
以上の第四実施形態によれば、ホスト３とディスクアレイコントローラ１とディスク装
置２のすべてが同一のホストインタフェース３１に接続しているので、１回のディスク装
置２からの転送によりホスト３とディスクアレイコントローラ１の両方に同時にデータを
転送できると共に１回のホスト３からの転送によりディスク装置２とディスクアレイコン
トローラ１の両方に同時にデータを転送でき、ホストインタフェース３１のトラフィック
を低減できる。すなわち、第二実施形態と同様の効果をすべてのアクセス種類において実
現できる。また、ディスクアレイコントローラ１のデータキャッシュ手段１１にデータを
キャッシュできる。特に、常時パリティグループ単位でライトするＲＡｌＤ３のライト動
作で有効に機能する。
【実施例５】
【０２３９】
（デュアルコントローラ構成）
第五実施形態では、第一実施形態〜第四実施形態において、同一のディスクアレイコン
トローラを２台設け、それぞれが同一のホストインタフェースとディスク装置Ｉ／Ｆ（と
ディスク装置）を共有する構成にする。このような構成をデュアルコントローラ構成と称
する。
【０２４０】
デュアルコントローラ構成では、コントローラ内部のバス、ＭＰＵ、キャッシュメモリ
等の構成部のそれぞれの障害に対して耐性を持たせることができる。
【０２４１】
第１実施形態または第四実施形態にデュアルコントローラ構成を適用した場合、ホスト
３からのデータライト時には、一方のディスクアレイコントローラがデータをキャッシュ
にライトすると同時に、他方のディスクアレイコントローラのキャッシュにもライトし、
データを二重化する。
【０２４２】
このとき、一方のディスクアレイコントローラがデータを受け取った後、そのディスク
アレイコントローラが他方のディスクアレイコントローラにデータをコピーしてもよいが
、マルチターゲット転送によりホスト３から両方のディスクアレイコントローラに同時に
データを転送するのが好ましい。これにより、ディスクアレイコントローラ間のコピー処
理を削減できる。
【実施例６】
【０２４３】
（インタフェースの分離）
上記第一実施形態〜第五実施形態では、ホスト３に対する通信を行うＩ／Ｆ制御手段と
ディスク装置２に対する通信を行うＩ／Ｆ制御手段とを一つのＩ／Ｆ制御手段１２で共用
したが、両者を別々のＩ／Ｆ制御手段に分離し、両Ｉ／Ｆ制御手段を同一のホストインタ
フェース３１に接続する構成としてもよい。
【０２４４】
この場合、Ｉ／Ｆ制御手段のコストが２倍になるものの、イニシエータ／ターゲットを
切り替えずに使用できるので、制御が容易になり、性能が向上する。
【０２４５】
［追記］
本発明の転送形態は、上記第一から第四の実施形態で説明したアクセス種類との組み合
わせに限定されるものではなく、任意のアクセス種類（上記していないアクセス種類でも
よい）と組み合わせて使用することができる。
【図面の簡単な説明】
【０２４６】
【図１】本発明の一実施形態の計算機システムの構成図である。
【図２】本発明の一実施形態のディスクアレイコントローラにおける中央制御手段の内部構成図である。
【図３】本発明の第一実施形態のランダムリードにおける「ノーマル転送」の動作説明図である。
【図４】本発明の第一実施形態のランダムライトにおける「ノーマル転送」の動作説明図である。
【図５】本発明の第二実施形態のシーケンシャルリードにおける「ダイレクト転送」の動作説明図である。
【図６】本発明の第二実施形態を説明するためのリードデータの概念図である。
【図７】本発明の第二実施形態を説明するための論理アドレスと物理アドレスの関係の説明図である。
【図８】本発明の第二実施形態を説明するためのアドレス変換リストの構成図である。
【図９】本発明の第二実施形態を説明するためのダイレクト転送Ｓ／Ｇリストの構成図である。
【図１０】本発明の第三実施形態のシーケンシャルリードにおける「ダイレクト転送」の動作説明図である。
【図１１】本発明の第四実施形態のランダムリードにおける「マルチターゲットダイレクト転送」の動作説明図である。
【図１２】本発明の第四実施形態のシーケンシャルライトにおける「マルチターゲットダイレクト転送」の動作説明図である。
【図１３】従来のＲＡＩＤ型ディスクアレイのデータ構造の説明図である。
【図１４】従来のＳＣＳＩ型ディスクアレイの一例の構成図である。
【図１５】従来のＦＣ型ディスクアレイの一例の構成図である。
【符号の説明】
【０２４７】
１        ディスクアレイコントローラ
２        ディスク装置
３        ホスト
４        ディスクアレイ
１０        中央制御手段
１１        データキャッシュ手段
１２        Ｉ／Ｆ制御手段
１４        パリティ演算手段
２１        ディスクＩ／Ｆ制御手段
２２        ディスク転送形態制御手段
３１        ホストインタフェース
３２        ホストＩ／Ｆ制御手段
３３        ホスト転送形態制御手段
１００        計算機システム
１０１        ホストコマンド制御部
１０２        転送形態制御部
１０３        アドレス変換制御部
１０４        ディスクコマンド制御部
１２１        イニシエータ／ターゲット切り替え制御部
２００〜２０４        ディスク装置
【図１】
2008102967.tif 000003
【図２】
2008102967.tif 000004
【図３】
2008102967.tif 000005
【図４】
2008102967.tif 000006
【図５】
2008102967.tif 000007
【図６】
2008102967.tif 000008
【図７】
2008102967.tif 000009
【図８】
2008102967.tif 000010
【図９】
2008102967.tif 000011
【図１０】
2008102967.tif 000012
【図１１】
2008102967.tif 000013
【図１２】
2008102967.tif 000014
【図１３】
2008102967.tif 000015
【図１４】
2008102967.tif 000016
【図１５】
2008102967.tif 000017
【手続補正書】
【提出日】平成20年1月25日(2008.1.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワークを介して計算機と接続される複数のディスク装置と、
ネットワークを介して前記計算機と接続され、前記複数のディスク装置へのデータの入出力を制御する制御装置とを有し、
前記複数のディスク装置は各々、前記計算機からコマンドを受信して当該コマンドに基づいて前記ディスク装置へのデータの入出力処理を実行する制御部を有しており、
前記制御装置は、前記計算機から第一のリードコマンドを受信し、当該第一のリードコマンドに基づいてリード対象のデータが格納されているディスク装置と当該リード対象のデータの当該ディスク装置におけるリードアドレスとをそれぞれ特定し、
前記制御装置は、特定された前記ディスク装置及び前記リードアドレスを前記計算機に通知し、
前記計算機は、前記制御装置から通知された前記ディスク装置に対して、前記制御装置から通知された前記リードアドレスを用いた第二のリードコマンドを発行し、
前記第二のリードコマンドを受信した前記ディスク装置は、当該第二のリードコマンドに基づいてリード対象のデータの送信準備を行い、当該送信準備の完了後に当該リード対象のデータを前記計算機へ送信することを特徴とするシステム。
【請求項２】
請求項１記載のシステムであって、
前記制御装置は、前記計算機から受信した前記第一のリードコマンドに基づいて前記リード対象のデータが格納されている複数のディスク装置を特定し、当該複数のディスク装置各々について当該リード対象のデータが格納されている位置を示すリードアドレスを特定し、
前記制御装置は、特定された前記複数のディスク装置及び当該複数のディスク装置各々について特定されたリードアドレスを前記計算機に通知し、
前記計算機は、前記制御装置から通知された前記複数のディスク装置各々に対して、前記制御装置から通知された当該複数のディスク装置各々について特定されたリードアドレスを用いた第二のリードコマンドを発行することを特徴とするシステム。
【請求項３】
請求項２記載のシステムであって、
前記第二のリードコマンドを受信した前記複数のディスク装置は各々、当該第二のリードコマンドに基づいてリード対象のデータの送信準備を行い、当該送信準備が完了したディスク装置から順に当該リード対象のデータを前記計算機へ送信することを特徴とするシステム。
【請求項４】
請求項１記載のシステムであって、
前記制御装置は、前記計算機からライトコマンドを受信し、当該ライトコマンドに基づいてライト対象のデータが格納されるディスク装置と、当該ライト対象のデータが格納される当該ディスク装置におけるライトアドレスとをそれぞれ特定し、
前記制御装置は、特定された前記ディスク装置及び前記ライトアドレスを前記計算機に通知し、
前記計算機は、前記制御装置から通知された前記ディスク装置に対してライト対象のデータを送信し、
前記ディスク装置は、前記計算機から受信したライト対象のデータを格納することを特徴とするシステム。
【請求項５】
請求項４記載のシステムであって、
前記計算機は更に、前記ライト対象のデータを前記制御装置へも送信し、
前記制御装置は、前記計算機から受信した前記ライト対象のデータを用いてパリティデータを生成し、当該パリティデータを前記複数のディスク装置の内当該パリティデータが格納されるディスク装置へ送信することを特徴とするシステム。
【請求項６】
ネットワークを介して計算機と接続される複数のディスク装置と、ネットワークを介して前記計算機と接続され、前記複数のディスク装置へのデータの入出力を制御する制御装置とを備えるシステムを制御する方法であって、
前記制御装置は、前記計算機から第一のリードコマンドを受信し、当該第一のリードコマンドに基づいてリード対象のデータが格納されているディスク装置と当該リード対象のデータの当該ディスク装置におけるリードアドレスとをそれぞれ特定し、さらに、特定された前記ディスク装置及び前記リードアドレスを前記計算機に通知し、
前記計算機は、前記制御装置から通知された前記ディスク装置に対して、前記制御装置から通知された前記リードアドレスを用いた第二のリードコマンドを発行し、
前記第二のリードコマンドを受信した前記ディスク装置は、当該第二のリードコマンドに基づいてリード対象のデータの送信準備を行い、当該送信準備の完了後に当該リード対象のデータを前記計算機へ送信する、
システムの制御方法。
【請求項７】
請求項６記載のシステムの制御方法であって、
前記制御装置は、前記計算機から受信した前記第一のリードコマンドに基づいて前記リード対象のデータが格納されている複数のディスク装置を特定し、
当該複数のディスク装置の各々について当該リード対象のデータが格納されている位置を示すリードアドレスを特定し、さらに、特定された前記複数のディスク装置及び当該複数のディスク装置各々について特定されたリードアドレスを前記計算機に通知し、
前記計算機は、前記制御装置から通知された前記複数のディスク装置各々に対して、前記制御装置から通知された当該複数のディスク装置各々について特定されたリードアドレスを用いた第二のリードコマンドを発行する、システムの制御方法。
【請求項８】
請求項７記載のシステムの制御方法であって、
前記第二のリードコマンドを受信した前記複数のディスク装置は各々、当該第二のリードコマンドに基づいてリード対象のデータの送信準備を行い、当該送信準備が完了したディスク装置から順に当該リード対象のデータを前記計算機へ送信する、システムの制御方法。
【請求項９】
請求項６記載のシステムの制御方法であって、
前記制御装置は、前記計算機からライトコマンドを受信し、当該ライトコマンドに基づいてライト対象のデータが格納されるディスク装置と、当該ライト対象のデータが格納される当該ディスク装置におけるライトアドレスとをそれぞれ特定し、
前記制御装置は、特定された前記ディスク装置及び前記ライトアドレスを前記計算機に通知し、
前記計算機は、前記制御装置から通知された前記ディスク装置に対してライト対象のデータを送信し、
前記ディスク装置は、前記計算機から受信したライト対象のデータを格納する、システムの制御方法。
【請求項１０】
請求項９記載のシステムの制御方法であって、
前記計算機は更に、前記ライト対象のデータを前記制御装置へも送信し、
前記制御装置は、前記計算機から受信した前記ライト対象のデータを用いてパリティデータを生成し、当該パリティデータを前記複数のディスク装置の内当該パリティデータが格納されるディスク装置へ送信する、システムの制御方法。