(57)【要約】  【課題】  記憶制御装置の性能向上、特にファイバチャネルのもつ高速データ転送を生かすような高性能をもつとともに、信頼性の向上を図る。また複数種類のインタフェースをもつホストコンピュータを接続可能とする。  【解決手段】  ループ１３３はファイバチャネルインタフェースをもつ共通のループ伝送路である。ＨＩＦＣ１０３，１０４，１０５は、各々インタフェースの異なるホストコンピュータ１００，１０１，１０２と接続し、必要に応じファイバチャネルインタフェースとの間の変換機能を有する。制御プロセッサ１１４〜１１７は、ＨＩＦＣ１０３〜１０５によって共有されるプロセッサである。制御プロセッサ１１４〜１１７は、各々ＦＣＡＬ管理情報１１３を参照し、ループ１３３を流れるフレームのうち設定されたアドレスをもつフレームを取り込み、設定されたＬＵＮ範囲の入出力要求の処理をする。【選択図】  図１
2005190498.tif 000002
【特許請求の範囲】
【請求項１】
上位レベル装置から受け取った入出力要求に応じて下位レベル装置との間で入出力データの転送を制御する記憶制御装置において、前記記憶制御装置は、
前記入出力要求を受け取る複数の外部インタフェースコントローラと、
前記入出力要求の処理をする複数台の制御プロセッサと、
前記外部インタフェースコントローラと前記制御プロセッサとの間に介在し、両者間の情報伝送の伝送路となるファイバチャネルインタフェースのループと、
前記制御プロセッサによって共通にアクセスされ前記制御プロセッサ対応に処理すべき入出力要求の論理ユニット番号を記憶する記憶手段とを有し、
前記制御プロセッサは、他の制御プロセッサの稼動状態を監視する手段と、
他の制御プロセッサが停止していることを検出したとき、前記記憶手段上の前記論理ユニット番号を書き換えることにより、停止した制御プロセッサに関する処理を引き継ぐ手段とを有することを特徴とする記憶制御装置。
【請求項２】
前記記憶手段は、前記複数台の制御プロセッサが現在時刻情報を書き込むための時刻情報領域を有し、
前記複数台の制御プロセッサの各々は、さらに一定周期で現在時刻情報を書き込む手段を有し、
前記監視する手段は、他の制御プロセッサによって書き込まれた前記現在時刻情報をチェックし、前記制御プロセッサが停止したか否かを検出することを特徴とする請求項１記載の記憶制御装置。
【請求項３】
前記外部インタフェースコントローラと前記上位レベル装置との間の通信に使用される外部インタフェースは、複数のタイプをもち、
前記外部インタフェースコントローラの各々は、前記上位レベル装置から受け取った前記外部インタフェースの情報形式をもつ前記入出力要求を、前記ファイバチャネルインタフェースのループで用いられる他の情報形式に変換することを特徴とする請求項１記載の記憶制御装置。
【請求項４】
前記外部インタフェースは、ファイバチャネルインタフェースを含み、前記外部インタフェースコントローラは、前記上位レベル装置から受け取った入出力要求を前記ファイバチャネルインタフェースのループへ転送することを特徴とする請求項３記載の記憶制御装置。
【請求項５】
前記外部インタフェースは、ＳＣＳＩを含み、前記外部インタフェースコントローラは、ＳＣＳＩ形式の前記入出力要求を前記ファイバチャネルインタフェースのループで用いられる情報形式に変換することを特徴とする請求項３記載の記憶制御装置。
【請求項６】
前記外部インタフェースは、メインフレーム系で用いられるチャネルインタフェースを含み、前記外部インタフェースコントローラは、チャネルインタフェース形式の前記入出力要求を前記ファイバチャネルインタフェースのループで用いられる情報形式の要求に変換することを特徴とする請求項３記載の記憶制御装置。
【請求項７】
前記記憶制御装置は、さらに前記制御プロセッサに接続され前記下位レベル装置に格納されるデータを一時的に記憶するためのデータ記憶メモリを有し、
前記制御プロセッサの各々は、さらに情報を前記ループへ転送するための伝送手段を有し、
前記入出力要求がデータ読み出し要求であるとき、前記制御プロセッサは、前記データ記憶メモリから要求されたデータを読み出し、前記伝送手段を介して前記ループへ要求されたデータを送出することを特徴とする請求項１記載の記憶制御装置。
【請求項８】
前記入出力要求が書き込み要求であるとき、前記制御プロセッサは、前記データ記憶メモリにデータを書き込むことを特徴とする請求項７記載の記憶制御装置。
【請求項９】
前記外部インタフェースコントローラと前記上位レベル装置との間の通信に使用される外部インタフェースは、複数のタイプをもち、
前記外部インタフェースコントローラは、前記上位レベル装置から受け取った前記外部インタフェースの情報形式をもつ前記入出力要求を、前記ファイバチャネルインタフェースのループで用いられる他の情報形式に変換することを特徴とする請求項７記載の記憶制御装置。
【請求項１０】
前記外部インタフェースは、ファイバチャネルインタフェースを含み、前記外部インタフェースコントローラは、前記上位レベル装置から受け取った入出力要求を前記ファイバチャネルインタフェースのループへ転送することを特徴とする請求項９記載の記憶制御装置。
【請求項１１】
前記外部インタフェースは、ＳＣＳＩを含み、前記外部インタフェースコントローラは、ＳＣＳＩ形式の前記入出力要求を前記ファイバチャネルインタフェースのループで用いられる情報形式に変換することを特徴とする請求項９記載の記憶制御装置。
【請求項１２】
前記外部インタフェースは、メインフレーム系で用いられるチャネルインタフェースを含み、前記外部インタフェースコントローラは、チャネルインタフェース形式の前記入出力要求を前記ファイバチャネルインタフェースのループで用いられる情報形式の要求に変換することを特徴とする請求項９記載の記憶制御装置。
【請求項１３】
前記記憶制御装置は、さらに前記制御プロセッサに接続され前記下位レベル装置に格納されるデータを一時的に記憶するためのデータ記憶メモリを有し、
前記入出力要求が書き込み要求であるとき、前記制御プロセッサの前記入出力要求を処理するための処理手段は、データを前記データ記憶メモリに書き込むことを特徴とする請求項１記載の記憶制御装置。
【請求項１４】
前記制御プロセッサの各々は、さらに情報を前記ループへ転送するための伝送手段を有し、
前記入出力要求がデータ読み出し要求であるとき、前記制御プロセッサは、前記データ記憶メモリから要求されたデータを読み出し、前記伝送手段を介して前記ループへ要求されたデータを送出することを特徴とする請求項１３記載の記憶制御装置。
【請求項１５】
前記外部インタフェースコントローラと前記上位レベル装置との間の通信に使用される外部インタフェースは、複数のタイプをもち、
前記外部インタフェースコントローラは、前記上位レベル装置から受け取った前記外部インタフェースの情報形式をもつ前記入出力要求を、前記ファイバチャネルインタフェースのループで用いられる他の情報形式の入出力要求に変換することを特徴とする請求項１３記載の記憶制御装置。
【請求項１６】
前記外部インタフェースは、ファイバチャネルインタフェースを含み、前記外部インタフェースコントローラは、前記上位レベル装置から受け取った入出力要求を前記ファイバチャネルインタフェースのループへ転送することを特徴とする請求項１５記載の記憶制御装置。
【請求項１７】
前記外部インタフェースは、ＳＣＳＩを含み、前記外部インタフェースコントローラは、ＳＣＳＩ形式の前記入出力要求を前記ファイバチャネルインタフェースのループで用いられる情報形式に変換することを特徴とする請求項１５記載の記憶制御装置。
【請求項１８】
前記外部インタフェースは、メインフレーム系で用いられるチャネルインタフェースを含み、前記外部インタフェースコントローラは、チャネルインタフェース形式の前記入出力要求を前記ファイバチャネルインタフェースのループで用いられる情報形式の要求に変換することを特徴とする請求項１５記載の記憶制御装置。
【請求項１９】
上位レベル装置から受け取った入出力要求に応じて下位レベル装置との間で入出力データの転送を制御する記憶制御装置において、
前記記憶制御装置は、
前記入出力要求を受け取る複数の外部インタフェースコントローラと、
前記入出力要求の処理をする複数台の制御プロセッサと、
前記外部インタフェースコントローラと前記制御プロセッサとの間に介在し、両者間の情報伝送の伝送路となるファイバチャネルインタフェースのループと、
前記制御プロセッサによって共通にアクセスされ、前記制御プロセッサの各々に対応した入出力要求の論理ユニット番号を記憶する記憶手段と、を有し、
前記制御プロセッサは、
他の制御プロセッサの稼動状態を監視する手段を備え、
前記他のプロセッサが停止していることを検出した場合には、
前記他のプロセッサが前記他のプロセッサに対応した前記論理ユニット番号に係る入出力処理を行うことのないように制御することを特徴とする記憶制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上位側でホストコンピュータと接続する記憶サブシステム及び記憶制御装置に係わり、特に処理性能及び信頼性の向上を図る記憶サブシステム及び記憶制御装置に関する。
【背景技術】
【０００２】
近年、コンピュータシステムの大規模化、データ処理の高速化、２４時間あるいは３６５日無停止運転の必要性、データ転送インタフェースの高速化などに伴い、記憶制御装置に対して性能、信頼性、可用性の向上が強く要求されている。性能向上を目的とする記憶制御装置の例として、記憶制御装置内に内部ネットワークを備えることにより性能向上を図ることを目的とする特開平１１-７３５９号公報（特許文献１）に開示される技術がある。
【０００３】
また記憶制御装置に接続するホストコンピュータとの間のインタフェースについて着眼すると、図８に示すように複数種類のインタフェースをもつホストコンピュータを接続する必要が生じている。記憶制御装置内のホストインタフェース部は、ホストインタフェースごとに設けられ、その制御プロセッサは、ホストコンピュータから受け取った入出力コマンドを解析し、信号線を介してキャッシュメモリ２１５との間でデータ転送を行う。例えば特開平９−３２５９０５号公報（特許文献２）はこのような記憶制御装置を開示する。
【０００４】
さらに近年、性能及び可用性を向上させるために、ホストコンピュータと記憶制御装置との間のインタフェースをＳＣＳＩ(Small Computer System Interface)からファイバチャネルインタフェースに置き換えた公知技術が知られている。例えば特開平１０-３３３８３９号公報（特許文献３）は、記憶制御装置とホストコンピュータ間をファイバチャネルインタフェースによって接続する技術を開示する。これはファイバチャネルインタフェースを有するホストコンピュータ専用の記憶制御装置である。
【０００５】
【特許文献１】特開平１１-７３５９号公報
【特許文献２】特開平９−３２５９０５号公報
【特許文献３】特開平１０-３３３８３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記の特開平１１−７３５９号公報および特開平９−３２５９０５号公報に開示される技術は、ホストコンピュータから受け取った入出力要求を一つの制御プロセッサが処理するため、制御プロセッサの性能によって記憶制御装置全体の性能が押さえられるという問題がある。また制御プロセッサの障害によって関連するホストコンピュータから記憶制御装置が使用できなくなるという問題がある。特に昨今のファイバチャネルは１００ＭＢ／Ｓという高速データ転送が可能であるため、制御プロセッサの処理性能がネックとなってファイバチャネルのもつデータ転送速度を充分生かせない。
【０００７】
さらに特開平１０-３３３８３９号公報に開示された技術はファイバチャネルインタフェース専用の記憶制御装置であるため、ＳＣＳＩインタフェースを有するホストコンピュータを接続することができない。
【０００８】
本発明の目的は、記憶制御装置の性能向上、特にファイバチャネルのもつ高速データ転送を生かすような高性能をもつとともに、信頼性、可用性の高い記憶サブシステム及び記憶制御装置を提供することにある。
【０００９】
本発明の他の目的は、複数種類のインタフェースをもつホストコンピュータを接続可能な記憶サブシステム及び記憶制御装置を提供することにある。
【課題を解決するための手段】
【００１０】
本発明は、上位外部から受け取った入出力要求に応じて下位側の記憶媒体の駆動装置との間で入出力データの転送を制御する記憶サブシステムにおいて、この記憶サブシステムは、上位外部とのインタフェースに応じて入出力要求を受け取る少なくとも１台の外部インタフェースコントローラと、入出力要求の処理をする少なくとも１台の制御プロセッサと、外部インタフェースコントローラと制御プロセッサとの間に介在し、両者間の情報伝送の伝送路となるファイバチャネルインタフェースのループとを有する記憶サブシステムを特徴とする。またこのような記憶制御装置を特徴とする。
【００１１】
また本発明は、上位外部とのインタフェースがファイバチャネルインタフェースであるような外部インタフェースコントローラ、およびファイバチャネルインタフェースと異なる上位外部とのインタフェースとファイバチャネルインタフェースとの間のインタフェース変換機能を有する外部インタフェースコントローラを設けた記憶サブシステム及び記憶制御装置を特徴とする。
【発明の効果】
【００１２】
以上述べたように本発明によれば、ホストコンピュータから送られる入出力要求を複数の制御プロセッサによって並列処理するとともに、制御プロセッサ間で負荷の分散をするので、記憶制御装置の性能向上を図ることができる。特に高速のファイバチャネルの性能を充分生かすことができる。また１つの制御プロセッサが障害により停止した場合に、他の制御プロセッサが障害制御プロセッサの処理を引き継ぐので、信頼性の高い記憶制御装置を提供できる。
【００１３】
さらに本発明の記憶制御装置は、複数種類のインタフェースをもつホストコンピュータを接続可能であるとともに、複数のホストコンピュータが記憶制御装置内部のファイバチャネルループ及び制御プロセッサを共有するので、コスト／性能比のよい記憶制御装置を提供できる。また異なる種類の記憶媒体の駆動装置を接続可能な記憶制御装置を提供できる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施形態について図面により詳細に説明する。
【００１５】
図１は、本発明の一実施形態を示すディスクサブシステムを含むシステムの構成図である。ディスク制御装置１０７は、上位外部側で、ホストコンピュータ１００，１０１及び１０２と接続する。ホストコンピュータ１０１は、メインフレーム系のコンピュータであり、メインフレーム系チャネルを介してディスク制御装置１０７と接続する。ホストコンピュータ１００は、オープンシステム系のホストコンピュータであり、ファイバチャネルインタフェースを介してディスク制御装置１０７と接続する。ホストコンピュータ１０２は、オープンシステム系のコンピュータであり、ＳＣＳＩ(Small Computer System Interface)を介してディスク制御装置１０７と接続する。ディスク制御装置１０７は、下位外部側でファイバチャネルインタフェースのループ１２５及び１２６を介してドライブ１２７，１２８，１２９及び１３０と接続する。
【００１６】
ホストインタフェースコントローラ（ＨＩＦＣ）１０３，１０４及び１０５は、それぞれホストコンピュータ１００，１０１及び１０２と接続し、また他方でファイバチャネルインタフェースに準拠するループ１３３と接続する。制御プロセッサ１１４，１１５，１１６及び１１７は、一方でループ１３３と接続し、また他方で共通バス１１８と接続する。共通バス１１８には、制御プロセッサ１１４〜１１７のほかに共通制御メモリ１１２、キャッシュメモリ１２２、制御プロセッサ１１９及び１２０が接続される。制御プロセッサ１１９および１２０は、それぞれファイバチャネル１４１を介してドライブインタフェースコントローラ（ＤＩＦＣ）１２３及び１２４と接続する。ＤＩＦＣ１２３および１２４は、それぞれループ１２５及び１２６を介してドライブ１２７，１２８，１２９及び１３０と接続する。制御プロセッサ１１４，１１５，１１６及び１１７は、信号線１３２を介してサービスプロセッサ１３１と接続する。
【００１７】
ＨＩＦＣ１０３は、上位外部との間のインタフェースコントローラであり、ホストコンピュータ１００からフレームの形式で受け取った入出力コマンド、データ及び制御情報をそのままの形式でループ１３３を介して制御プロセッサ１１４〜１１７のいずれかへ転送する。またループ１３３を介して制御プロセッサ１１４〜１１７からフレームの形式で受け取ったデータ及び制御情報をそのままホストコンピュータ１００へ転送する。ＨＩＦＣ１０４は、ホストコンピュータ１０１から受け取ったチャネルコマンド、データ及び制御情報をファイバチャネルのフレーム形式に変換し、ループ１３３を介して制御プロセッサ１１４〜１１７のいずれかへ転送する。また制御プロセッサ１１４〜１１７からフレームの形式で受け取ったデータ及び制御情報をメインフレーム系のチャネルインタフェースに従うデータ形式に変換してホストコンピュータ１０１へ転送する。ＨＩＦＣ１０５は、ホストコンピュータ１０２から受け取った入出力コマンド、データ及び制御情報をファイバチャネルのフレーム形式に変換し、ループ１３３を介して制御プロセッサ１１４〜１１７のいずれかへ転送する。また制御プロセッサ１１４〜１１７からフレームの形式で受け取ったデータ及び制御情報をＳＣＳＩに従うデータ形式に変換してホストコンピュータ１０２へ転送する。１台のＨＩＦＣ１０３，１０４又は１０５にそれぞれ複数台のホストコンピュータ１００，１０１及び１０２を接続することも可能である。
【００１８】
キャッシュメモリ１２２は、共通バス１１８のバスインタフェースを介してすべての制御プロセッサ１１４〜１１７，１１９及び１２０からアクセス可能なメモリであり、ホストコンピュータ１００〜１０２から送られたデータ及びドライブ１２７〜１３０から読み出したデータを一時的に格納するために用いられる。キャッシュメモリ１２２上のデータは、キャッシュスロットと呼ばれるデータ管理単位に分割されている。
【００１９】
共通制御メモリ１１２は、共通バス１１８を介してすべての制御プロセッサ１１４〜１１７，１１９及び１２０からアクセス可能な共通メモリであり、制御プロセッサ間の通信のための領域、キャッシュスロット管理テーブルなどのほかに、制御プロセッサ１１４〜１１７の各々がループ１３３を介して取り込むべきフレームを設定するＦＣＡＬ(Fibre Channel Arbitrated Loop)管理情報１１３を格納する。
【００２０】
制御プロセッサ１１４〜１１７の各々は、共通制御メモリ１１２上のＦＣＡＬ管理情報１１３を参照し、ループ１３３上を流れるフレームのうち設定されたアドレスをもつフレームを取り込み、入出力コマンドによって指定された入出力要求を実行する。すなわちリードコマンドの場合には、キャッシュメモリ１２２上に要求されたデータがあれば読み出して、ループ１３３及びＨＩＦＣ１０３〜１０５のいずれかを介して要求元のホストコンピュータへ送信する。キャッシュメモリ１２２上に要求されたデータがなければ、制御プロセッサ１１９及び１２０に対して入出力要求を通知する。またライトコマンドの場合には、書き込みデータをキャッシュメモリ１２２上のキャッシュスロットに書き込み、制御プロセッサ１１９及び１２０に対して入出力要求を通知する。
【００２１】
制御プロセッサ１１９及び１２０は、制御プロセッサ１１４〜１１７から入出力要求の通知を受け取り、リードコマンドの場合にはドライブ１２７〜１３０から要求されたデータを読み出してキャッシュメモリ１２２上のキャッシュスロットに書き込む。またライトコマンドの場合には、キャッシュメモリ１２２上のデータをドライブ１２７〜１３０上に書き込む。
【００２２】
図２は、ＨＩＦＣ１０３〜１０６と制御プロセッサ１１４〜１１７との間に介在し、両者間の伝送路となるループ１３３及び関連機構の構成を示す図である。ループ１３３は、ＰＢＣ(Port Bypass Circuit)１０８，１０９，１１０及び１１１を有し、いわゆるハブ（ＨＵＢ）構造を形成している。ＰＢＣ１０８〜１１１は、各々１入力ｎ出力の電子スイッチであり、図示するようにＨＩＦＣ１０３〜１０６及び制御プロセッサ１１４〜１１７と接続するとともに、ＰＢＣ１０８、ＰＢＣ１１１間及びＰＢＣ１０９、ＰＢＣ１１０間を接続する。本例のＰＢＣ１０８〜１１１は、１入力２出力のスイッチであり、ＰＢＣに入力信号を与えると出力経路を限定することができる。ファイバコントローラ（ＦＣ）１５１は、制御プロセッサ１１４〜１１７の各々に前置するファイバチャネルインタフェースコントローラであり、ループ１３３を介して送られるフレームの宛先アドレスを認識し、あらかじめ設定されたアドレスを宛先アドレスとするフレームを取り込んで接続される制御プロセッサへ送る。また制御プロセッサ１１４〜１１７から受け取ったデータ及び制御情報をフレーム形式のデータにしてループ１３３へ送出する。ループ１３３は、ＨＩＦＣ１０３〜１０６、ＦＣ１５１及び制御プロセッサ１１４〜１１７を端末としてFibre Channel Arbitrated Loop(ＦＣＡＬ)と呼ばれるトポロジカルなループ伝送路を形成する。ファイバチャネルの通信プロトコルについては、例えばＡＮＳＩ公開マニュアル「FIBRE CHANNEL PHYSICAL AND SIGNALLING (FC-PH)REV.4.3」に記載されている。
【００２３】
例えばＰＢＣ１０８は、ＨＩＦＣ１０３を介してホストコンピュータ１００と接続され、制御プロセッサ１１４，１１５及びＰＢＣ１１１と接続可能である。従ってホストコンピュータ１００から送られた入出力要求のコマンドは、ＰＢＣ１０８を介して制御プロセッサ１１４，１１５又はＰＢＣ１１１を介して制御プロセッサ１１６，１１７で処理することができる。同様にホストコンピュータ１０１から送られた入出力要求のコマンドは、ＰＢＣ１０９を介して制御プロセッサ１１４，１１５又はＰＢＣ１１０を介して制御プロセッサ１１６，１１７で処理することができる。
【００２４】
本実施形態では、ファイバチャネル１４１，ループ１２５及び１２６にも、ファイバチャネルインタフェースを採用している。従って図示していないが、制御プロセッサ１１９，１２０とファイバチャネル１４１との間にＦＣ１５１が介在する。
【００２５】
図３は、ＦＣＡＬ管理情報１１３のデータ構成を示す図である。ＦＣＡＬ管理情報１１３は、制御プロセッサ１１４〜１１７の各々についてループ１３３を介して取り込むべきフレームと入出力処理の対象とするデバイス番号の範囲を設定するテーブルである。ＦＣＡＬ管理情報１１３の各エントリは、制御プロセッサ２０１、ＡＬ−ＰＡ(Arbitrated Loop Physical Address)２０２及びＬＵＮ(Logical Unit Number)２０３を有する。制御プロセッサ２０１は、制御プロセッサ１１４〜１１７のいずれかの制御プロセッサの識別子である。ＡＬ−ＰＡ２０２は、その制御プロセッサに割り当てられたループ１３３上のアドレスである。ＬＵＮ２０３は、制御プロセッサが入出力処理を分担する論理デバイス番号又は論理デバイス番号の範囲である。ＦＣＡＬ管理情報１１３の情報は、サービスプロセッサ１３１からの指示により設定又は設定解除することができる。
【００２６】
図４は、制御プロセッサ１１４〜１１７の処理の流れを示すフローチャートである。制御プロセッサ１１４〜１１７は、各々周期的にＦＣＡＬ管理情報１１３から自プロセッサのエントリを読み込み、接続されているＦＣ１５１に自プロセッサのＡＬ−ＰＡを設定し、変更があればＡＬ−ＰＡを再設定する。ＦＣ１５１は、ＨＩＦＣ１０３及びループ１３３を介してホストコンピュータ１００から送られるフレーム上のＡＬ−ＰＡを読み取り(ステップ３０１)、接続されている制御プロセッサのＡＬ−ＰＡでなければ(ステップ３０２ＮＯ)、処理を終了する。接続されている制御プロセッサのＡＬ−ＰＡであれば(ステップ３０２ＹＥＳ)、その制御プロセッサに通知する。通知を受けた制御プロセッサ１１４〜１１７のいずれかは、ＦＣ１５１を介してフレームを読み込み(ステップ３０３)、フレーム中の入出力コマンドのＬＵＮがＬＵＮ２０３の範囲にあるか否かをチェックする(ステップ３０４)。もし指定されたＬＵＮがＬＵＮ２０３の範囲になければホストコンピュータ１００へエラー応答を返す。次に制御プロセッサは受け取った入出力コマンドに従って入出力要求を実行する(ステップ３０５)。
【００２７】
制御プロセッサ１１４〜１１７は、入出力要求が書き込み要求であれば、ホストコンピュータ１００からデータを受領し、キャッシュメモリ１２２上の該当するキャッシュスロットにデータを書き込み、書き込み要求処理を終了する。データを書き込むべきキャッシュスロットのスロット番号はデータに付されたＬＢＡ（Logical Block Address）から計算される。またスロット番号に対応するキャッシュメモリ１２２上のメモリアドレスは、共通制御メモリ１１２上のキャッシュスロット管理テーブルから得られる。入出力要求が読み出し要求であれば、キャッシュメモリ１２２上に要求されたデータがある場合、キャッシュメモリ１２２から読み出し、ループ１３３及びＨＩＦＣ１０３を介してホストコンピュータ１００へ送る。キャッシュスロット管理テーブルを参照することによって目的のデータの有無を判定することができる。キャッシュメモリ１２２上に要求されたデータがなければ、共通制御メモリ１１２上のプロセッサ間連絡領域に読み出し要求を書き込み、目的のデータがキャッシュメモリ１２２上に格納されたと判定したとき、キャッシュメモリ１２２から読み出してホストコンピュータ１００へ送る。
【００２８】
制御プロセッサ１１９，１２０は、キャッシュメモリ１２２を探索し、キャッシュスロットにドライブ１２７〜１３０に書き込むべきデータがあれば、ファイバチャネル１４１、ＤＩＦＣ１２３，１２４及びループ１２５，１２６を介してそのデータをドライブ１２７〜１３０に書き込む。この書き込みは、ホストコンピュータ１００と制御プロセッサ１１４〜１１７との間の入出力要求の処理動作とは非同期に行われる。制御プロセッサ１１９，１２０は、指定されたＬＵＮ及びＬＢＡを物理デバイス番号と物理アドレスに変換して書き込み対象とするドライブとドライブ内アドレスを決定する。制御プロセッサ１１９，１２０は、共通制御メモリ１１２上のプロセッサ間連絡領域を参照し、データ読み出し要求があれば、該当するドライブ１２７〜１３０からデータを読み出し、キャッシュメモリ１２２上の該当するキャッシュスロットに書き込み、キャッシュスロット管理テーブル上で該当するデータ有に更新する。
【００２９】
ドライブ１２７〜１３０への入出力要求は、制御プロセッサ１１９，１２０のいずれでも処理可能である。例えば制御プロセッサ１１９またはファイバインタフェースのループ１２５が故障等で使用できないとき、制御プロセッサ１２０とファイバインタフェースのループ１２６によって入出力要求を処理できる。これにより障害発生時もドライブ１２７〜１３０への入出力を停止することなく入出力要求を実行できる。
【００３０】
制御プロセッサ１１４，１１５，１１６及び１１７は、お互いの制御プロセッサの状態を監視している。各制御プロセッサは、一定周期で共通制御メモリ１１２に現在時刻を書き込む。それを他の制御プロセッサが一定周期で参照し、前回参照時と時刻の差分があるか否かをチェックし、差分がなければ当該制御プロセッサは停止していると判断する。停止状態を見つけた制御プロセッサは、ＦＣＡＬ管理情報１１３からその制御プロセッサの管理情報を引き継ぎ、処理を継続する。例えば制御プロセッサ１１４が制御プロセッサ１１５の停止を検出したとする。このとき制御プロセッサ１１４は、ＦＣＡＬ管理情報１１３を図５のように書き換える。これにより制御プロセッサ１１４は、制御プロセッサ１１５が処理していたＬＵＮ１０〜１９に関する入出力要求を引き継いで処理することが可能である。
【００３１】
また制御プロセッサ１１４〜１１７は、処理した入出力要求の処理数を計数し、一定周期で共通制御メモリ１１２に格納する。他の制御プロセッサは、この処理数を参照し、処理数の多い制御プロセッサを見つけ出し、より処理数の少ない制御プロセッサの処理数を上げることにより、各制御プロセッサの処理数を平均化する。例えば制御プロセッサ１１７が制御プロセッサ１１６の処理数の低下と制御プロセッサ１１５の処理数の上昇を検出したとする。制御プロセッサ１１７は、ＦＣＡＬ管理情報１１３を図６のように書き換える。ただしループ１３３を介してＡＬ−ＰＡがＥ８を有するフレームが制御プロセッサ１１６に伝送されるように、ＰＢＣ１０８〜１１１のうちの該当するＰＢＣのスイッチ制御を変更しなければならない。これにより制御プロセッサ１１６は、ＬＵＮ１０〜１９及びＬＵＮ２０〜２９に関する入出力要求を処理することが可能となり、制御プロセッサ間の処理数を平均化し、負荷分散を実現できる。
【００３２】
なお制御プロセッサの管理するＬＵＮ２０３のうち一部のＬＵＮのみを他の制御プロセッサが引き継いで処理を継続することも可能である。例えば制御プロセッサ１１５の管理するＬＵＮ１０〜１９のうち制御プロセッサ１１６がＬＵＮ１５〜１９のみを引き継ぐことも可能である。このときＦＣＡＬ管理情報１１３は図７のように書き換えられる。ただしＬＵＮ１５〜１９についてＡＬ−ＰＡ２０２とＬＵＮ２０３との対応づけが変更となるので、制御プロセッサは、ホストコンピュータ１００，１０１，１０２にこの変更を通知しなければならない。
【００３３】
なお上記制御プロセッサ１１４〜１１７の処理の流れは、ファイバチャネルインタフェースによってディスク制御装置１０７と接続されるホストコンピュータ１００に関する入出力要求の処理について説明した。ホストコンピュータ１０１，１０２は、ファイバチャネルインタフェースとは異なるインタフェースによってディスク制御装置１０７と接続するので、ＨＩＦＣ１０４および１０５は、ホストコンピュータ１０１及び１０２から受け取った入出力コマンドをファイバチャネルインタフェースに従うフレームの形式に変換した後に、ループ１３３を介して制御プロセッサ１１４〜１１７へ送信する。これによってホストコンピュータ１０１および１０２から送られる入出力要求の処理は上記処理と同様となる。ＨＩＦＣ１０４は、ＥＳＣＯＮ(Enterprize System Connection)と呼ばれるインタフェースに従うコマンド、制御情報、データとファイバチャネルインタフェースに従うコマンド、制御情報、データとの間の変換をする機能を有する。またＨＩＦＣ１０５は、ＳＣＳＩに従うコマンド、制御情報、データとファイバチャネルインタフェースに従うコマンド、制御情報、データとの間の変換をする機能を有する。このようにホストインタフェースの変換機能を有するＨＩＦＣをディスク制御装置１０７に搭載することによって、ホストインタフェースの種類に関係なく、任意のホストコンピュータをディスク制御装置１０７に接続することができる。
【００３４】
また本実施形態はドライブ１２７〜１３０がディスクドライブの場合について説明したが、ＤＩＦＣ１２３，１２４を変更することによって磁気テープ装置やフロッピディスク・ドライブを接続することができる。またＤＩＦＣに、ＳＣＳＩとファイバチャネルインタフェースの変換機能を設けることによって、ループ１２５，１２６をＳＣＳＩによるケーブルに置き換えることもできる。
【００３５】
本実施形態のディスク制御装置１０７によれば、ホストコンピュータ１００から送られる入出力要求は制御プロセッサ１１４〜１１７のうちのどの制御プロセッサでも処理できる。従ってホストコンピュータ１００とＨＩＦＣ１０３との間およびループ１３３のデータ転送速度に応じてホストコンピュータ１００からの入出力要求の数が多い場合には、制御プロセッサ１１４〜１１７すべてがホストコンピュータ１００からの入出力要求を処理することが可能であり、制御プロセッサの台数がより少ない場合に比べてスループットが向上する。同様にホストコンピュータ１０１及び１０２から送られる入出力要求は、各々制御プロセッサ１１４〜１１７のうちのどの制御プロセッサでも処理できる。このようにホストコンピュータ１００，１０１及び１０２がループ１３３及び制御プロセッサ１１４〜１１７を共有するので、従来のようにホストコンピュータ１００，１０１及び１０２ごとに共通バスに接続するホストインタフェース部が独立している構成に比べて機構の分割損をなくし、記憶制御装置の性能向上を図るとともにコスト／性能比の向上を図ることができる。
【図面の簡単な説明】
【００３６】
【図１】実施形態の記憶サブシステムの構成図である。
【図２】実施形態のループ１３３と関連機構の構成図である。
【図３】実施形態のＦＣＡＬ管理情報１１３のデータ構成を示す図である。
【図４】実施形態の制御プロセッサ１１４〜１１７の処理の流れを示すフローチャートである。
【図５】制御プロセッサが停止したときに書き換えたＦＣＡＬ管理情報１１３の例を示す図である。
【図６】制御プロセッサの負荷の不平衡を検出したときに書き換えたＦＣＡＬ管理情報１１３の例を示す図である。
【図７】制御プロセッサの負荷の不平衡を検出したときに書き換えた他のＦＣＡＬ管理情報１１３の例を示す図である。
【図８】従来の記憶制御装置の構成例を示す図である。
【符号の説明】
【００３７】
１００，１０１，１０２：ホストコンピュータ、１０３，１０４，１０５，１０６：ホストインタフェースコントローラ、１０７：ディスク制御装置、１１３：ＦＣＡＬ管理情報、１１４〜１１７，１１９〜１２０：制御プロセッサ、１２３，１２４：ドライブインタフェースコントローラ、１２７，１２８，１２９，１３０：ドライブ。
【図１】
2005190498.tif 000003
【図２】
2005190498.tif 000004
【図３】
2005190498.tif 000005
【図４】
2005190498.tif 000006
【図５】
2005190498.tif 000007
【図６】
2005190498.tif 000008
【図７】
2005190498.tif 000009
【図８】
2005190498.tif 000010