(57)【要約】【課題】ホストインターフェースと論理ディスクを増設しても、構成によらずに性能低下のないディスクアレイ装置等を提供すること【解決手段】ディスクアレイ装置１は、特定のホストインターフェースユニット１０により占有される占有キャッシュメモリ１２を備え、制御部３０は、ホストインターフェースユニット１０がホストコンピュータ２から占有ディスク４に対する読み出しまたは書き込みの命令を受信したときには、占有キャッシュメモリ１２に対して読み出しまたは書き込みを実行する。【選択図】図１
2007206949.tif 000002
【特許請求の範囲】
【請求項１】
特定のホストインターフェースユニットが占有し特定のホストコンピュータと対応付けられた占有キャッシュメモリを備え、
前記ホストインターフェースユニットは、前記ホストコンピュータから、そのホストインターフェースユニットによって占有される論理ディスクである占有ディスクに対する書き込みまたは読み出しの命令を受信したときに前記占有キャッシュメモリに対して前記命令を実行する制御部を備えたことを特徴としたディスクアレイ装置。
【請求項２】
前記占有キャッシュメモリは、前記ホストインターフェースユニットに実装されていることを特徴とした請求項１に記載のディスクアレイ装置。
【請求項３】
複数のホストインターフェースユニットによって使用される共有キャッシュメモリをディスクインターフェースユニット上に備え、
前記制御部は、前記ホストインターフェースユニットが前記ホストコンピュータから、そのホストインターフェースユニットと他のホストインターフェースユニットによって共有される論理ディスクである共有ディスクに対する書き込みまたは読み出しの命令を受信したときに前記共有キャッシュメモリに対して前記命令を実行することを特徴とした請求項１または請求項２に記載のディスクアレイ装置。
【請求項４】
前記ホストインターフェースユニットは、前記占有キャッシュメモリを備えた複数のホストインターフェースカードを備え、
前記制御部は、前記複数のホストインターフェースカードのすべてが正常に動作している場合にのみ、前記占有キャッシュメモリに対して前記書き込み命令を実行することを特徴とした請求項２または請求項３に記載のディスクアレイ装置。
【請求項５】
前記論理ディスクが前記占有ディスクであるか前記共有ディスクであるかを示すディスクアクセス情報を前記ホストインターフェースユニット毎に記憶するディスクアクセス情報記憶部を備え、
前記制御部は前記ディスクアクセス情報を参照して対象論理ディスクが占有ディスクであるか共有ディスクであるかを判定することを特徴とした請求項１ないし請求項４のいずれかひとつに記載のディスクアレイ装置。
【請求項６】
ホストインターフェースユニットがホストコンピュータから論理ディスクに対する書き込みまたは読み出し命令を受信したときに作動し、
対象論理ディスクが前記ホストインターフェースユニットにより占有される占有ディスクである場合には前記命令を前記ホストインターフェースユニットにより占有される占有キャッシュメモリに対して実行し、前記対象論理ディスクが前記ホストインターフェースユニットと他のホストインターフェースユニットにより共有される共有ディスクである場合には前記命令を前記ホストインターフェースユニットと他のホストインターフェースユニットにより共有される共有キャッシュメモリに対して実行する命令実行工程を備えたディスクアレイ装置の制御方法。
【請求項７】
前記命令実行工程では、前記ホストインターフェースユニットを構成する複数のホストインターフェースカードの一部が正常に機能していない場合には、前記対象論理ディスクが占有ディスクであっても書き込み命令を前記共有キャッシュメモリに対して実行することを特徴とした請求項６に記載のディスクアレイ装置の制御方法。
【請求項８】
ホストインターフェースユニットがホストコンピュータから論理ディスクに対する書き込みまたは読み出し命令を受信したときに作動し、
コンピュータに、
対象論理ディスクが前記ホストインターフェースユニットにより占有される占有ディスクである場合には前記命令を前記ホストインターフェースユニットにより占有される占有キャッシュメモリに対して実行し、前記対象論理ディスクが前記ホストインターフェースユニットと他のホストインターフェースユニットにより共有される共有ディスクである場合には前記命令を前記ホストインターフェースユニットと他のホストインターフェースユニットにより共有される共有キャッシュメモリに対して実行する命令実行機能を実行させるディスクアレイ装置の制御プログラム。
【請求項９】
前記命令実行機能は、前記ホストインターフェースユニットを構成する複数のホストインターフェースカードの一部が正常に機能していない場合には、前記対象論理ディスクが前記占有ディスクであっても書き込み命令を前記共有キャッシュメモリに対して実行することを特徴とした請求項８に記載のディスクアレイ装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクアレイ装置に関し、特に、構成によらずに、性能のボトルネックとなるパスが発生しないようにホストインターフェースや、ディスクの増設をすることができるディスクアレイ装置に関する。
【背景技術】
【０００２】
複数のハードディスク装置により構成されたディスクアレイ装置は、コンピュータの大容量記憶装置として広く用いられている。ディスクアレイ装置の中には、ハードディスク装置等を追加して装置の規模を拡大することができるものもある。
特許文献１には、そのようなディスクアレイ装置の一例が記載されている。このディスクアレイ装置は、ホストアダプタとアレイディスクとディスクアダプタとキャッシュメモリを備えている。ホストアダプタ、ディスクアダプタ、キャッシュメモリは、コモンバスに挿抜自在に取り付けられ、ホストアダプタ等を増設することにより装置規模を拡大することができるように構成されている。
【０００３】
【特許文献１】特開２００２−２４０８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
次に、従来のディスクアレイ装置の問題点について説明する。
図９は、従来の大型アレイ装置２００の構成を示すブロック図である。
図９において、ホストインターフェースカード２０２はホストコンピュータ２０１からのコマンドに従ってホストコンピュータ２０１とキャッシュメモリ２０３との間でのデータ転送を起動する。ホストインターフェースカード２０２は、リードコマンドにおいてキャッシュミスの場合には、ディスクインターフェースカード２０４に対してリード指示を行う。ディスクインターフェースカード２０４は、ホストインターフェースカード２０２からの指示で論理ディスク２０５からキャッシュメモリ２０３へのデータ転送おこなう。ディスクインターフェースカード２０４は、また、キャッシュメモリ２０３上にライトデータが存在する場合にはキャッシュメモリ２０３から論理ディスク２０５へのデータ転送を起動する。
しかしながら、従来の大型ディスクアレイ装置２００においては、次のような課題がある。
複数のホストインターフェースカード２０２により共有されているキャッシュメモリ２０３にデータ転送が集中するため、ホストインターフェースカード２０２またはディスクインターフェースカード２０４を増設するほどキャッシュメモリ２０３の負荷が上がり性能低下が生じる。そのため、増設の幅には限度がある。また、このような性能低下を予防するため、将来ありうる増設のため、共有キャッシュメモリを大量に用意した場合には、コストスケーラビリティが悪くなってしまう。
【０００５】
図１０は、従来の小型ディスクアレイ装置２１３を組み合わせたストレージサブシステム２１０の構成を示すブロック図である。
図１０において、複数の小型ストレージ装置２１３はスイッチ２１２を介して複数のホストコンピュータ２１１に接続され、ストレージエリアネットワークを構成している。小型ストレージ装置２１３はホストコンピュータ２１１からのコマンドに従ってホストコンピュータ２１１とキャッシュメモリ２１４との間でのデータ転送を起動し、必要に応じてキャッシュメモリ２１４と論理ディスク２１５の間のデータ転送を起動する。
しかしながら、従来のストレージサブシステム２１０においては、次のような課題がある。
第１の課題は、小型ストレージ装置２１３が独立した装置であるため、論理ディスク２１５の増設を行うと、その小型ストレージ装置２１３のキャッシュメモリ２１４の負荷が上がり性能低下してしまうということである。
第２の課題は、小型ストレージ装置２１３が独立した装置であるため、ホストコンピュータ２１１の増設を行うと、増設したホストコンピュータ２１１が使用する論理ディスク２１５が存在する小型ストレージ装置２１３のホストインターフェースバス２１６の負荷が上がってしまい、性能低下してしまうということである。
【０００６】
そこで、本発明は、ホストインターフェースと論理ディスクを増設しても、構成によらずに性能低下のないディスクアレイ装置等を提供することをその目的とする。
【課題を解決するための手段】
【０００７】
本発明のディスクアレイ装置は、特定のホストインターフェースユニットにより占有される占有キャッシュメモリを備え、ディスクインターフェースユニットの制御部は、ホストインターフェースユニットがホストコンピュータから占有ディスクに対する読み出しまたは書き込みの命令を受信したときには、占有キャッシュメモリに対して読み出しまたは書き込みを実行する（請求項１ないし請求項５）。
【０００８】
上記ディスクアレイ装置によれば、占有キャッシュメモリを備え、ホストインターフェースユニットは、占有ディスクに対するデータの読み出しまたは書き込み命令を受けたときには、占有キャッシュメモリを使用することができる。
そのため、ホストインターフェースユニットと論理ディスクを増設した場合の、キャッシュメモリの負荷増大による性能低下を防止することができる。
【０００９】
上記ディスクアレイ装置において、占有キャッシュメモリをホストインターフェースユニットに実装してもよい（請求項２）。
ディスクアレイ装置を利用するホストコンピュータを増設する場合は、通常ホストインターフェースユニットも増設される。上記のようにすれば、増設されるホストインターフェースユニットは占有キャッシュメモリを備えているから、ホストコンピュータを増設した際にキャッシュメモリの負荷増大による性能低下を確実に防止することができる。
【００１０】
上記ディスクアレイ装置において、複数のホストインターフェースユニットによって使用される共有キャッシュメモリをディスクインターフェースユニット上に備え、制御部は、ホストインターフェースユニットがホストコンピュータから、そのホストインターフェースユニットと他のホストインターフェースユニットによって共有される論理ディスクである共有ディスクに対する書き込みまたは読み出しの命令を受信したときに共有キャッシュメモリに対して命令を実行するようにしてもよい（請求項３）。
このようにすれば、共有ディスクに対するデータの読み出しまたは書き込みに占有キャッシュが使用されることがないから、共有ディスクが存在する場合でもキャッシュメモリに保留されているデータの正当性を保証することができる。
【００１１】
上記ディスクアレイ装置において、ホストインターフェースユニットは、占有キャッシュメモリを備えた複数のホストインターフェースカードを備え、制御部は、複数のホストインターフェースカードのすべてが正常に動作している場合にのみ、占有キャッシュメモリに対して書き込み命令を実行するようにしてもよい（請求項４）。
このようにすれば、ホストインターフェースユニットが備えている複数のホストインターフェースカードの一部が正常に動作していないとき、すなわち、ホストインターフェースユニットは一応機能しているが冗長性が失われ縮退状態にある場合には、占有キャッシュメモリに対する書き込みは行われない。
そのため、ホストインターフェースユニットが縮退状態にある場合でも、キャッシュメモリに保留されているデータの正当性を保証することができる。
【００１２】
上記ディスクアレイ装置において、論理ディスクが占有ディスクであるか共有ディスクであるかを示すディスクアクセス情報をホストインターフェースユニット毎に記憶するディスクアクセス情報記憶部を備え、制御部はディスクアクセス情報を参照して対象論理ディスクが占有ディスクであるか共有ディスクであるかを判定するようにしてもよい（請求項５）。
このようにすれば、共有ディスクと占有ディスクが混在している場合にも、制御部は、確実にディスクの種別を判定することができる。
【００１３】
本発明のディスクアレイ装置の制御方法は、ホストインターフェースユニットがホストコンピュータから論理ディスクに対する書き込みまたは読み出し命令を受信したときに作動し、対象論理ディスクがホストインターフェースユニットにより占有される占有ディスクである場合には命令をホストインターフェースユニットにより占有される占有キャッシュメモリに対して実行し、対象論理ディスクがホストインターフェースユニットと他のホストインターフェースユニットにより共有される共有ディスクである場合には命令をホストインターフェースユニットと他のホストインターフェースユニットにより共有される共有キャッシュメモリに対して実行する命令実行工程によりホストコンピュータから受理した読み出し及び書き込み命令を処理する（請求項６及び請求項７）。
【００１４】
上記ディスクアレイ装置の制御方法によれば、ホストコンピュータから受理した命令の対象となる対象論理ディスクが占有ディスクである場合は、占有キャッシュメモリに対してデータの書き込みまたは読み出しを行う。そのため、ディスクアレイ装置を利用するホストコンピュータまたは対象論理ディスクが増設された場合のキャッシュメモリの負荷増大による性能低下を防止することができる。
また、命令の対象が共有ディスクである場合は、共有キャッシュメモリに対してデータの書き込みまたは読み出しを行う。そのため、共有ディスクが存在する場合もキャッシュメモリに保留されているデータの正当性を保証することができる。
【００１５】
上記ディスクアレイ装置の制御方法において、命令実行工程では、ホストインターフェースユニットを構成する複数のホストインターフェースカードの一部が正常に機能していない場合には、対象論理ディスクが占有ディスクであっても書き込み命令を共有キャッシュメモリに対して実行するようにしてもよい（請求項７）。
このようにすれば、ホストインターフェースユニットが備えている複数のホストインターフェースカードの一部が正常に動作していないとき、すなわちホストインターフェースユニットは一応機能しているが冗長性が失われ縮退状態にある場合には、占有キャッシュメモリは使用されない。
そのため、ホストインターフェースユニットが縮退状態にある場合でも、キャッシュメモリに保留されているデータの正当性を保証することができる。
【００１６】
本発明のディスクアレイ装置の制御プログラムは、コンピュータに、ホストインターフェースユニットがホストコンピュータから論理ディスクに対する書き込みまたは読み出し命令を受信したときに作動し、対象論理ディスクがホストインターフェースユニットにより占有される占有ディスクである場合には命令をホストインターフェースユニットにより占有される占有キャッシュメモリに対して実行し、対象論理ディスクがホストインターフェースユニットと他のホストインターフェースユニットにより共有される共有ディスクである場合には命令をホストインターフェースユニットと他のホストインターフェースユニットにより共有される共有キャッシュメモリに対して実行する命令実行機能を実行させることによりホストコンピュータから受理した読み出し及び書き込み命令を処理する（請求項８及び請求項９）。
【００１７】
上記ディスクアレイ装置の制御プログラムによれば、ホストコンピュータから受理した命令の対象となる対象論理ディスクが占有ディスクである場合は、占有キャッシュメモリに対してデータの書き込みまたは読み出しを行う。そのため、ディスクアレイ装置を利用するホストコンピュータまたは対象論理ディスクが増設された場合のキャッシュメモリの負荷増大による性能低下を防止することができる。
また、命令の対象が共有ディスクである場合は、共有キャッシュメモリに対してデータの書き込みまたは読み出しを行う。そのため、共有ディスクが存在する場合もキャッシュメモリに保留されているデータの正当性を保証することができる。
【００１８】
上記ディスクアレイ装置の制御方法において、命令実行機能は、ホストインターフェースユニットを構成する複数のホストインターフェースカードの一部が正常に機能していない場合には、ハードディスクが占有ディスクであっても書き込み命令を共有キャッシュメモリに対して実行するものとしてもよい（請求項９）。
このようにすれば、ホストインターフェースユニットが備えている複数のホストインターフェースカードの一部が正常に動作していないとき、すなわちホストインターフェースユニットは一応機能しているが冗長性が失われ縮退状態にある場合には、占有キャッシュメモリは使用されない。
そのため、ホストインターフェースユニットが縮退状態にある場合でも、キャッシュメモリに保留されているデータの正当性を保証することができる。
【発明の効果】
【００１９】
本発明によれば、占有キャッシュメモリを備え、ホストインターフェースユニットは、共有ディスクに対するデータの読み出しまたは書き込み命令を受けたときには、占有キャッシュメモリを使用する。
占有キャッシュは、ホストコンピュータと対応付けされているから、ホストコンピュータが増設され、また、それに伴ってホストインターフェースユニットが増設されると占有キャッシュも増設されることになる。
そのため、ホストコンピュータの増設によってホストコンピュータと論理ディスクとの間で転送されるデータの量が増えても、キャッシュメモリの負荷増大による性能低下を防止することができる。
【発明を実施するための最良の形態】
【００２０】
以下、図を参照しながら本発明の一実施形態であるディスクアレイ装置１の構成と動作について説明する。
図１は、ディスクアレイ装置１の構成を示すブロック図である。
ディスクアレイ装置１は、スイッチ３、論理ディスク５ホストインターフェースユニット１０、ディスクインターフェースユニット２０を備えている。
ホストインターフェースユニット１０は、ホストコンピュータ２に接続され、ホストコンピュータ２から受信したコマンドの処理を行う。また、ホストインターフェースユニット１０は、たとえばＭＰＵ(Micro Processing Unit)で構成され、ディスクアレイ装置１の各ハードウェアの動作を制御する制御部１７と、キャッシュメモリ１２（占有キャッシュメモリの一例）を備え、図示しないＲＡＭ(Random Access Memory)には論理ディスクアクセス情報１１（ディスクアクセス情報記憶部の一例）を記憶している。
ディスクインターフェースユニット２０は論理ディスク４に接続されているが、これは実体としてはＲＡＩＤ（Redundant Array of Independent Disks）構成をとる複数のディスクドライブとなっている。また、ディスクインターフェースユニット２０はキャッシュメモリ２２（共有キャッシュメモリの一例）を搭載するとともに、論理ディスクアクセス情報２１を記憶している。ひとつのディスクインターフェースユニット２０には、複数の論理ディスク４が接続され、それらの複数の論理ディスク４によりディスクユニット５が構成されている。
ホストインターフェースユニット１０とディスクインターフェースユニット２０はスイッチ３を介してファイバーチャネルにより接続されている。
【００２１】
論理ディスクアクセス情報１１および２１は各論理ディスク４についてどのホストインターフェースユニット１０からアクセスされるかという情報を保持している。
ホストインターフェースユニット１０は、論理ディスク４のＩ／Ｏ制御において、論理ディスクアクセス情報１１を参照し、Ｉ／Ｏ制御の対象となる論理ディスク４が他のホストインターフェースユニット１０からのアクセスが無い場合（以下、このような論理ディスを「占有ディスク」という）にはホストインターフェースユニット１０上のキャッシュメモリ１２を使用する。また、他のホストインターフェースユニット１０からのアクセスが有る場合（以下、このような論理ディスクを「共有ディスク」という）にはホストインターフェースユニット１０上のキャッシュメモリ１２は使用せず、目的とする論理ディスク４が接続されているディスクインターフェースユニット２０上のキャッシュメモリ２２を使用する。
【００２２】
ディスクインターフェースユニット２０に格納されている論理ディスクアクセス情報２１は、ホストインターフェースユニット１０に格納されているものと同内容である。たとえば、ホストインターフェースユニット１０の電源が保守のために落とされた場合に、ディスクインターフェースユニット２０からホストインターフェースユニット１０に転送してデータ内容を復旧するのに用いる。
また、ディスクインターフェースユニット２０のキャッシュメモリ２２のデータ保持状態を監視する機能を制御部２７に持たせ、論理ディスクアクセス情報２１とデータ保持状態が一定の条件を満たす場合には、ディスクインターフェースユニット２０からホストインターフェースユニット１０へのデータ転送を省略するようにしても良い。
【００２３】
図８に、論理ディスクアクセス情報１１、２１の一例を示す。
論理ディスクアクセス情報１１、２１には、論理ディスク４を識別する情報、たとえば論理ディスク４に予め付与されたユニークな番号と、その論理ディスク４の種別を示す情報と、その論理ディスク４にアクセスするホストインターフェースユニット１０を識別する情報、たとえばホストインターフェースユニット１０に予め付与されたユニークな番号とが含まれている。
図８の例は、ディスクアレイ装置が４個の論理ディスクと３個のホストインターフェースユニットを備えている場合の例である。図の１行目は、識別番号「１」を付与された論理ディスクは、占有ディスクであり識別番号「１」を付与されたホストインターフェースユニットからアクセスされることを示している。図の２行目は、識別番号「２」を付与された論理ディスクは、共有ディスクであり識別番号「１」を付与されたホストインターフェースユニットと識別番号「２」を付与されたホストインターフェースユニットからアクセスされることを示している。３行目、４行目も同様である。
【００２４】
論理ディスクアクセス情報は、たとえば、ホストインターフェースユニット１０またはディスクインターフェースユニット２０が備えているＲＡＭに予め格納しておき、ホストインターフェースユニット１０の追加等の構成の変化があったときに更新する。更新は、手動で行っても良いし、ホストコンピュータ２から論理ディスク４へのアクセス状況を検出する機能を制御部１７または制御部２７に持たせ、検出されたアクセス状況に応じて自動的に更新するようにしても良い。
【００２５】
図２も、ディスクアレイ装置１のブロック図であるが、ホストインターフェースユニット１０とディスクインターフェースユニット２０の構成を、図１よりも詳細に示してある。
ホストインターフェースユニット１０はホストインターフェースカード１５を２枚搭載していて、コマンド処理機能を二重化している。ホストインターフェースカード１５は、ホストインターフェースポート１３およびキャッシュメモリ１２および内部インターフェースポート１４を搭載していて、また、論理ディスクアクセス情報１１を記憶している。
ホストインターフェースポート１３はホストコンピュータ２と接続される。ホストコンピュータ２とホストインターフェースポート１３間の接続パス１６は二重化されていて、そのいずれか一方にパス障害が発生しても運用が継続できるようになっている。ホストコンピュータ２は、通常使用する接続パスとして予め定められている方のパス１６を介してホストインターフェースユニット１０にコマンドを送信し、それが失敗した場合にもう一方のパス１６を用いてリトライをする。
キャッシュメモリ１２には、ホストコンピュータ２から受領したライトデータや、ホストコンピュータ２に送信するリードデータが格納される。
内部インターフェースポート１４は、スイッチ３を介してディスクインターフェースユニット２０の内部インターフェースポート２３に接続されている。
【００２６】
ディスクインターフェースユニット２０はディスクインターフェースカード２５を２枚搭載していて、各機能を二重化している。ディスクインターフェースカード２５は内部インターフェースポート２３およびキャッシュメモリ２２およびディスクインターフェースポート２４を搭載していて、また、論理ディスクアクセス情報２１を持っている。
内部インターフェースポート２３は、スイッチ３を介してホストインターフェースユニット１０の内部インターフェースポート１４に接続されている。キャッシュメモリ２２には、ホストインターフェースユニット１０から受領したライトデータや、ホストインターフェースユニット１０に送信するリードデータが格納される。ディスクインターフェースポート２４はディスクユニット５と接続される。ディスクユニット５には複数の論理ディスク４が存在するが、論理ディスク４は、実体は複数のディスクドライブによるＲＡＩＤ構成となっている。
【００２７】
次に、ディスクアレイ装置１の動作について説明する。
図３は、ディスクアレイ装置１がホストコンピュータ２からリードコマンドを受信したときの動作を示すフローチャートである。
ホストインターフェースユニット１０がホストコンピュータ２からリードコマンドを受信する（Ｓ１０１）と、コマンドを受信したホストインターフェースカード１５の制御部１７は、論理ディスクアクセス情報１１を参照し読み取りを実行する対象論理ディスクが占有ディスクであるのか共有ディスクであるのか判定する（Ｓ１０２）。
対象論理ディスクが占有ディスクであった場合、制御部１７は、キャッシュメモリ１２上でリードキャッシュのヒット判定を行う（Ｓ１０３）。キャッシュミスとなった場合、ホストインターフェースユニット１０は、ディスクインターフェースユニット２０に対してリードコマンドを発行し（Ｓ１０４）、ディスクインターフェースユニット２０は、ホストインターフェースユニット１０上のキャッシュメモリ１２にリードデータを転送する（Ｓ１０５）。ホストインターフェースユニット１０は、キャッシュメモリ１２からリードデータを読み出してホストコンピュータ２へ転送する（Ｓ１０６）。
Ｓ１０３の判定でキャッシュヒットになった場合にはすぐにホストインターフェースユニット１０がキャッシュメモリ１２からリードデータを読み出してホストコンピュータ２へ転送する（Ｓ１０６）。
【００２８】
Ｓ１０２の判定で対象論理ディスクが共有ディスクであった場合、ホストインターフェースユニット１０は、ディスクインターフェースユニット２０に対してリードコマンドを発行する（Ｓ１０７）。これを受けたディスクインターフェースユニット２０は、リードデータがキャッシュメモリ２２にある場合はキャッシュメモリ２２から、そうでない場合は、論理ディスク４からリードデータを読み出してスイッチ３を介してホストインターフェースユニット１０に送信する。ホストインターフェースユニット１０は、受信したリードデータをホストコンピュータ２に転送する（Ｓ１０８）。
【００２９】
図４は、ディスクアレイ装置１がホストコンピュータ２からライトコマンドを受信したときの動作を示すフローチャートである。
ホストインターフェースユニット１０がホストコンピュータ２からライトコマンドを受信すると（Ｓ１１１）、制御部１７は、論理ディスクアクセス情報１１を参照し書き込みの対象論理ディスクが占有ディスクであるのか共有ディスクであるのか判定する（Ｓ１１２）。
対象論理ディスクが占有ディスクである場合、制御部１７は、キャッシュメモリ１２上にホストコンピュータ２から受信するデータを格納するためのライトキャッシュ領域の確保を行う（Ｓ１１３）。次に、ホストコンピュータ２から受信したデータをＳ１１３で確保したライトキャッシュ領域に格納する（Ｓ１１４）。
Ｓ１１２の判定において対象論理ディスクが共有ディスクであった場合、ホストインターフェースユニット１０は、ディスクインターフェースユニット２０に対してライトコマンドを発行する（Ｓ１１５）。ディスクインターフェースユニット２０は、ホストインターフェースユニット１０から転送されたライトデータをキャッシュメモリ２２に格納する（Ｓ１１６）。
【００３０】
図５は、ディスクアレイ装置１がホストインターフェースユニット１０上のキャッシュメモリ１２上に滞留しているライトデータをライトバックするときの動作を示すフローチャートである。
ホストインターフェースユニット１０がライトバック処理を開始すると（Ｓ１２１）、ホストインターフェースユニット１０は、ディスクインターフェースユニット２０に対してライトコマンドを発行する（Ｓ１２２）。ホストインターフェースユニット１０上のキャッシュメモリ１２からディスクインターフェースユニット２０にライトデータが転送される（Ｓ１２３）。
【００３１】
図６は、図１のディスクアレイ装置１に、２個の増設ホストインターフェースユニット１０ａが増設され、各増設ホストインターフェースユニット１０ａに増設ホストコンピュータ２ａが接続され、さらに、２個のディスクユニット５には、それぞれ２個の論理ディスクドライブ４ａが増設された構成を示している。
このような場合、ホストコンピュータ２、２ａと論理ディスク４、４ａとの間で転送されるデータの量は図１の場合に比べて増加する。そのため、たとえば図９に示したようにキャッシュメモリをすべてのホストインターフェースユニットで共有する従来の方式では、キャッシュメモリの利用率が増加してキャッシュミスとなる割合が増加する。その結果、ディスクアレイ装置全体としての性能は低下してしまう。
しかし、ディスクアレイ装置１は、各ホストインターフェースユニット１０、１０ａがキャッシュメモリ１２を備え、データの読み書きの対象の論理ディスク４、４ａが占有ディスクである場合には、キャッシュメモリ１２に対してデータの読み書きを実行する。
そのため、ディスクアレイ装置１によれば、ホストインターフェースユニット１０や論理ディスク４を増設したときの性能低下を防止することができる。
【００３２】
ディスクアレイ装置１を利用するホストコンピュータ２を増設する場合は、通常ホストインターフェースユニット１０も増設される。増設ホストインターフェースユニット１０ａは、キャッシュメモリ１２を備えているから、ホストコンピュータ２を増設した際にキャッシュメモリの負荷増大による性能低下を確実に防止することができる。
【００３３】
ホストインターフェースユニット１０の制御部１７は、ホストコンピュータ２から受信したコマンドの対象が共有ディスクである場合は、ホストインターフェースユニット１０のキャッシュメモリ１２を使用せずディスクインターフェースユニット２０のキャッシュメモリ２２を使用するから、共有ディスクが存在する場合でもキャッシュメモリに保留されているデータの正当性を保証することができる。
【００３４】
ホストインターフェースユニット１０の制御部１７は、ホストインターフェースユニット１０に記憶されている論理ディスクアクセス情報１１を参照して、コマンドの対象となっている論理ディスク４の種別を判定するから、共有ディスクと占有ディスクが混在している場合にも、制御部１７は、確実に論理ディスクの種別を判定することができる。
【００３５】
次に、ディスクアレイ装置１の別の動作例について説明する。この例では、ホストインターフェースユニット１０に障害が発生した時の動作についてさらに工夫している。
【００３６】
図７は、ディスクアレイ装置１の動作を示すフローチャートである。
ホストインターフェースカード１０がホストコンピュータ２からライトコマンドを受信すると（Ｓ１３１）、制御部１７は、書き込み対象の論理ディスク４が占有ディスクであるか共有ディスクであるかを判定する（Ｓ１３２）。
書き込み対象の論理ディスク４が占有ディスクである場合は、ライトコマンド処理時にホストインターフェースカード１５が縮退状態にあるか否かを判定する（Ｓ１３３）。ここでは、縮退状態とは、ホストインターフェースユニット１０の２枚のホストインターフェースカード１５のうちの１枚が正常に動作していない状態を指す。この判定は、たとえば、２枚のホストインターフェースカード１５が互いに送受信している正常動作をしていることを通知する信号の有無を制御部１７が判定することにより行う。
ホストインターフェースカード１５が障害により縮退状態である場合にはライトデータの二重化ができないため、ファストライト動作を行うと、万が一もうひとつのホストインターフェースカード１５で障害が発生した場合にライトデータが失われてしまう。そのため、この動作例ではＳ１３３においてホストインターフェースカード１５が冗長状態であると判定すればファストライトを行うが（Ｓ１３４、Ｓ１３５）、ホストインターフェースカード１５が冗長状態でない場合には、共有ディスクの動作と同様に、ホストインターフェースカード１５上のキャッシュメモリ１２をライトキャッシュとして使用せず、直接ディスクインターフェースユニット２０へデータを転送する（Ｓ１３６、Ｓ１３７）。この場合でも、ディスクインターフェースユニット２０上のキャッシュメモリ２２をライトキャッシュとして使用できるため、ホストインターフェースカード１５の障害が無い場合に比べると、性能は低下するものの、ある程度のキャッシュヒット性能は得られる。
【００３７】
ディスクアレイ装置１を上記のように動作させると、障害によって冗長性が失われているホストインターフェースカード１５上のキャッシュメモリ１２をライトキャッシュとして使用しないので、ホストインターフェースカード１５のうちのいずれかが正常に動作していない場合においてもライトデータデータの正当性は保証される。また、このような場合においても、ディスクインターフェースカード２５上のキャッシュメモリ２２は、ライトキャッシュとして使用されるため、若干の性能低下におさえられるという効果が得られる。
【００３８】
本発明は、ホストインターフェースユニット１０に登載されたコンピュータにより実行されるプログラムとしても実施することができる。
【図面の簡単な説明】
【００３９】
【図１】本発明の実施形態であるディスクアレイ装置の概略ブロック図である。
【図２】本発明の実施形態であるディスクアレイ装置の詳細ブロック図である。
【図３】ディスクアレイ装置がホストコンピュータからリードコマンドを受信したときの動作を示すフローチャートである。
【図４】ディスクアレイ装置がホストコンピュータからライトコマンドを受信したときの動作を示すフローチャートである。
【図５】ディスクアレイ装置がライトバックを実施するときの動作を示すフローチャートである。
【図６】ディスクアレイ装置にホストインターフェースユニットと論理ディスクを増設した状態を示すブロック図である。
【図７】ディスクアレイ装置がホストコンピュータからライトコマンドを受信したときの動作を示すフローチャートである。
【図８】論理ディスクアクセス情報のデータ例を示す図である。
【図９】従来の大型ディスクアレイ装置の構成を示すブロック図である。
【図１０】従来のストレージサブシステムの構成を示すブロック図である。
【符号の説明】
【００４０】
１  ディスクアレイ装置
２  ホストコンピュータ
３  スイッチ
４  論理ディスク
５  ディスクユニット
１０  ホストインターフェースユニット
１１  論理ディスクアクセス情報
１２  キャッシュメモリ
１３  ホストインターフェースポート
１４  内部インターフェースポート
１５  ホストインターフェースカード
１７  制御部
２０  ディスクインターフェースユニット
２１  論理ディスクアクセス情報
２２  キャッシュメモリ
２３  内部インターフェースポート
２４  ディスクインターフェースポート
２７  制御部
【図１】
2007206949.tif 000003
【図２】
2007206949.tif 000004
【図３】
2007206949.tif 000005
【図４】
2007206949.tif 000006
【図５】
2007206949.tif 000007
【図６】
2007206949.tif 000008
【図７】
2007206949.tif 000009
【図８】
2007206949.tif 000010
【図９】
2007206949.tif 000011
【図１０】
2007206949.tif 000012