(57)【要約】【課題】本発明の記憶制御装置は、各筐体をスイッチ接続し、アクセスされていない筐体への通電を個別に停止させて電力消費量を低減させる。【解決手段】基本筐体１には、複数の増設筐体２が装置間スイッチ４を介してスイッチ接続される。所定時間以上アクセスされていないドライブ２Ｂは、スピンダウンされる。筐体内の全ドライブ２Ｂがスピンダウン状態になると、筐体内電源から各ドライブ２Ｂへの電源供給が停止される。基本筐体１は、ある筐体２内の全ドライブ２Ｂがスピンダウンした場合、その筐体２に接続されている電源分配回路３内のスイッチ３Ａをオフさせる。これにより、その筐体２への通電が停止される。障害診断部１Ｆは、装置間スイッチ４を用いた通信上に発生した障害を検出し、その発生箇所を特定する。【選択図】図１
2009015584.tif 000002
【特許請求の範囲】
【請求項１】
複数の筐体を備える記憶制御装置であって、
上位装置からのアクセス要求に応じて記憶デバイスにデータを入出力させるための第１筐体と、
前記第１筐体からの指示に応じて動作する少なくとも一つ以上の第２筐体であって、前記記憶デバイスをそれぞれ備える第２筐体と、
前記第１筐体と前記各第２筐体とをスイッチ接続する筐体間接続スイッチと、
前記第１筐体と前記各第２筐体及び前記筐体間接続スイッチにそれぞれ個別に電源を供給する電源供給回路部と、を備え、
前記第１筐体は、前記上位装置との間で通信を行うための上位通信部と、前記筐体間接続スイッチを介して前記各第２筐体と通信を行うための下位通信部と、前記第１筐体及び前記各第２筐体の構成に関する情報を管理する構成情報管理部と、前記構成情報を用いて前記各第２筐体または前記筐体間接続スイッチ毎に電源の供給または停止を制御する電源制御部と、前記下位通信部と前記各第２筐体との間の通信に関する障害を検出して診断する障害診断部と、を備える記憶制御装置。
【請求項２】
前記構成情報には、前記各記憶デバイスのスピン状態と、前記各第２筐体及び前記筐体間接続スイッチの省電力状態とが少なくとも含まれており、
前記電源制御部は、前記各第２筐体及び前記筐体間接続スイッチの全体に電源を供給しようとする初期起動時に前記構成情報を参照し、省電力状態に設定されていない前記各第２筐体及び前記筐体間接続スイッチにのみ電源を供給し、省電力状態に設定されている前記各第２筐体及び前記筐体間接続スイッチには電源を供給しない、請求項１に記載の記憶制御装置。
【請求項３】
前記構成情報には、前記第１筐体から前記筐体間接続スイッチを介して前記各第２筐体内の前記記憶デバイスに至るまでの接続構成を示す状態が少なくとも含まれており、
前記障害診断部は、
前記筐体間接続スイッチまたは前記各第２筐体のいずれかの診断対象装置で生じた、前記通信に関する障害を検出する障害検出部と、
前記構成情報を用いることにより、前記障害の発生箇所を特定する特定部と、
前記特定された障害に関して通知する通知部と、
を備えている請求項１に記載の記憶制御装置。
【請求項４】
（１）前記第１筐体から前記各記憶デバイスに至る通信経路は、プライマリパス及びセカンダリパスによって冗長化されており、
（２）前記筐体間接続スイッチ及び前記各第２筐体は、（2-1）前記電源供給回路から電源が供給される電源回路と、（2-2）前記電源回路から出力される電源によって駆動し、前記プライマリパスに接続されるプライマリ制御基板と、（2-3）前記電源回路から出力される電源によって駆動し、前記セカンダリパスに接続されるセカンダリ制御基板と、（2-4）前記プライマリ制御基板と前記セカンダリ制御基板との間に設けられ、前記プライマリパスと前記セカンダリパスとを相互に接続するための制御線と、
をそれぞれ備えており、
（３）前記特定部は、前記障害検出部により前記障害が検出された場合、
（3-1）障害の検出された前記診断対象装置に、前記セカンダリパスを介してアクセスを試み、
（3-2）前記セカンダリパスを介して前記診断対象装置にアクセスできない場合には、前記診断対象装置内の前記電源回路に接続されている前記電源供給回路部の電源出力状態を調べ、（3-2-1）前記電源供給回路から電源が正常に出力されていない場合には、前記電源供給回路の障害であると判定し、（3-2-2）前記電源供給回路から電源が正常に出力されている場合には、前記診断対象装置内の前記電源回路の障害であると判定し、
（3-3）前記セカンダリパスを介して前記診断対象装置にアクセスできる場合には、前記セカンダリパスから前記制御線を介して前記プライマリパスを使用可能か否かを調査し、（3-3-1）前記制御線を介しても前記プライマリパスを使用できない場合、前記診断対象装置内の電圧が正常か否かを調査して、前記電圧が正常な場合は前記診断対象装置内の通信制御回路の障害であると判定し、前記電圧が正常ではない場合は前記診断対象装置内の前記電源回路または前記電源回路から前記通信制御回路に至る給電路の障害であると判定し、（3-3-2）前記制御線を介して前記プライマリパスを使用できる場合、リンク障害であると判定する、
請求項３に記載の記憶制御装置。
【請求項５】
前記特定部は、（４）前記リンク障害であると判定した場合に、（4-1）前記プライマリパスを用いて第１の内部ループバックテストを行い、この第１の内部ループバックテストにより応答が得られた場合には、前記診断対象装置に接続されている接続先装置と前記診断対象装置との間のパスの障害であると判定し、（4-2）前記第１の内部ループバックテストにより応答が得られない場合は、前記セカンダリパスを用いて第２のループバックテストを行い、この第２の内部ループバックテストにより応答が得られない場合は、前記診断対象装置内の前記通信制御回路の障害であると判定し、前記第２の内部ループバックテストにより応答が得られた場合は、前記診断対象装置と前記第１筐体との間のパスに障害が生じていると判定する、請求項４に記載の記憶制御装置。
【請求項６】
前記第１筐体は、カスケード接続された複数の前記筐体間接続スイッチを介して、複数の前記第２筐体に接続されている請求項１に記載の記憶制御装置。
【請求項７】
前記各第２筐体は、上位第２筐体と下位第２筐体とに分類することができ、
前記上位第２筐体は、前記筐体間接続スイッチを介して前記第１筐体にスター接続されており、
前記下位第２筐体は、前記上位第２筐体にディジーチェーン接続されている、請求項１に記載の記憶制御装置。
【請求項８】
前記電源制御部は、（１）前記各第２筐体のうち、その筐体内の全ての前記記憶デバイスが節電モードに移行している第２筐体への電源供給を停止させ、（２）前記上位装置から発行されるアクセス要求に応じて、前記電源供給の停止された第２筐体への電源供給を再開させる、請求項１に記載の記憶制御装置。
【請求項９】
筐体単位で記憶制御装置の電源供給を制御する方法であって、
（１）前記記憶制御装置は、上位装置からのアクセス要求に応じて記憶デバイスにデータを入出力させるための第１筐体と、この第１筐体からの指示に応じて動作する少なくとも一つ以上の第２筐体であって、前記記憶デバイスをそれぞれ備える第２筐体と、前記第１筐体と前記各第２筐体とをスイッチ接続する筐体間接続スイッチと、前記第１筐体と前記各第２筐体及び前記筐体間接続スイッチにそれぞれ個別に電源を供給する電源供給回路部と、を備えており、
（２）前記第１筐体は、前記上位装置との間で通信を行うための上位通信部と、前記筐体間接続スイッチを介して前記各第２筐体と通信を行うための下位通信部と、前記第１筐体及び前記各第２筐体の構成に関する情報を管理する構成情報管理部と、前記構成情報を用いて前記各第２筐体または前記筐体間接続スイッチ毎に電源の供給または停止を制御する電源制御部と、前記下位通信部と前記各第２筐体との間の通信に関する障害を検出して診断する障害診断部と、を備えており、
（３）前記構成情報には、前記各記憶デバイスのスピン状態と、前記各第２筐体及び前記筐体間接続スイッチの省電力状態と、前記第１筐体から前記筐体間接続スイッチを介して前記各第２筐体内の前記記憶デバイスに至るまでの接続構成を示す状態とが少なくとも含まれており、
（４）前記障害診断部は、
前記筐体間接続スイッチまたは前記各第２筐体のいずれかの診断対象装置で生じた、前記通信に関する障害を検出する検出ステップと、
前記構成情報を用いることにより、前記障害の発生箇所を特定する特定ステップと、
前記特定された障害に関して通知する通知ステップと、
をそれぞれ実行する、筐体単位の電源制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶制御装置及び筐体単位の電源制御方法に関する。
【背景技術】
【０００２】
記憶制御装置は、多数のハードディスクドライブをアレイ状に接続した記憶部を備えており、サーバ等のホストコンピュータ（以下「ホスト」）に、論理的な記憶領域（論理ボリューム）を提供する。信頼性等を高めるために、記憶制御装置では、RAID（Redundant Array of Independent Disks）に基づく冗長化された記憶領域をホストに提供する。
【０００３】
企業等で管理すべきデータは日々増大する。従って、データ量の増大に応じて、記憶容量を適宜増加させることのできる記憶制御装置が好ましい。そこで、制御機能を司る基本筐体に、記憶領域を提供する増設筐体を複数個接続させることにより、ユーザの希望に応じた記憶領域を提供可能な記憶制御装置が提案されている（特許文献１）。
【０００４】
この第１文献に記載の従来技術では、基本筐体への電源供給の開始または停止と、各増設筐体への電源供給の開始または停止とを連動させる。これにより、記憶制御装置を完全に停止させる場合には、基本筐体への電源供給を停止させるだけで、各増設筐体への電源供給を全て自動的に停止させることができる。
【０００５】
第２文献に記載の他の従来技術では、RAIDグループを構成する各磁気ディスク装置を節電モードに移行させるようになっている（特許文献２）。
【特許文献１】特開２００１−３３９８５３号公報
【特許文献２】特開２０００−２９３３１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前記第１文献に記載の従来技術では、基本筐体への電源供給動作と各増設筐体の電源供給動作とを連動させるだけのものであり、記憶制御装置の電力消費量を低減させるという観点からは効果が乏しい。
【０００７】
これに対し、前記第２文献に記載の従来技術では、一定期間アクセスされない磁気ディスク装置を節電モードに移行させるため、記憶制御装置の電力消費量を低減させることができる。
【０００８】
しかし、第２文献に記載の従来技術では、RAIDグループを構成する各磁気ディスク装置の電力消費量を節減するに留まり、さらなる改善の余地がある。即ち、各磁気ディスク装置が節電モードに移行した場合でも、筐体内の制御回路部や冷却ファン、電源回路には電源が供給されており、稼働を続けている。従って、磁気ディスク装置以外の各部における電力消費量について改善の余地がある。
【０００９】
本発明は、上記の問題点に鑑みてなされたもので、その目的は、第１筐体と各第２筐体とをスイッチ接続することにより、筐体単位で電源の供給及び停止を行うことができ、かつ、第１筐体と各第２筐体との間の通信に関する障害を検出して診断することができるようにした、記憶制御装置及び筐体単位の電源制御方法を提供することにある。本発明の他の目的は、第１筐体と各第２筐体とをスイッチ接続することにより、筐体単位で電源の供給及び停止を行うことができ、かつ、省電力状態に設定された筐体及び筐体間接続スイッチについては初期起動時に電源を供給しないことにより、より一層電力消費量を低減することのできる記憶制御装置及び筐体単位の電源制御方法を提供することにある。本発明のさらなる目的は、後述する実施形態の記載から明らかになるであろう。
【課題を解決するための手段】
【００１０】
上記課題を解決すべく、本発明の一つの観点に従う、複数の筐体を備える記憶制御装置は、上位装置からのアクセス要求に応じて記憶デバイスにデータを入出力させるための第１筐体と、第１筐体からの指示に応じて動作する少なくとも一つ以上の第２筐体であって、記憶デバイスをそれぞれ備える第２筐体と、第１筐体と各第２筐体とをスイッチ接続する筐体間接続スイッチと、第１筐体と各第２筐体及び筐体間接続スイッチにそれぞれ個別に電源を供給する電源供給回路部と、を備え、第１筐体は、上位装置との間で通信を行うための上位通信部と、筐体間接続スイッチを介して各第２筐体と通信を行うための下位通信部と、第１筐体及び各第２筐体の構成に関する情報を管理する構成情報管理部と、構成情報を用いて各第２筐体または筐体間接続スイッチ毎に電源の供給または停止を制御する電源制御部と、下位通信部と各第２筐体との間の通信に関する障害を検出して診断する障害診断部と、を備える。
【００１１】
本発明の実施形態では、構成情報には、各記憶デバイスのスピン状態と、各第２筐体及び筐体間接続スイッチの省電力状態とが少なくとも含まれており、電源制御部は、各第２筐体及び筐体間接続スイッチの全体に電源を供給しようとする初期起動時に構成情報を参照し、省電力状態に設定されていない各第２筐体及び筐体間接続スイッチにのみ電源を供給し、省電力状態に設定されている各第２筐体及び筐体間接続スイッチには電源を供給しない。
【００１２】
本発明の実施形態では、構成情報には、第１筐体から筐体間接続スイッチを介して各第２筐体内の記憶デバイスに至るまでの接続構成を示す状態が少なくとも含まれており、障害診断部は、筐体間接続スイッチまたは各第２筐体のいずれかの診断対象装置で生じた、通信に関する障害を検出する障害検出部と、構成情報を用いることにより、障害の発生箇所を特定する特定部と、特定された障害に関して通知する通知部と、を備える。
【００１３】
本発明の実施形態では、（１）第１筐体から各記憶デバイスに至る通信経路は、プライマリパス及びセカンダリパスによって冗長化されており、（２）筐体間接続スイッチ及び各第２筐体は、（2-1）電源供給回路から電源が供給される電源回路と、（2-2）電源回路から出力される電源によって駆動し、プライマリパスに接続されるプライマリ制御基板と、（2-3）電源回路から出力される電源によって駆動し、セカンダリパスに接続されるセカンダリ制御基板と、（2-4）プライマリ制御基板とセカンダリ制御基板との間に設けられ、プライマリパスとセカンダリパスとを相互に接続するための制御線と、をそれぞれ備えており、（３）特定部は、障害検出部により障害が検出された場合、（3-1）障害の検出された診断対象装置に、セカンダリパスを介してアクセスを試み、（3-2）セカンダリパスを介して診断対象装置にアクセスできない場合には、診断対象装置内の電源回路に接続されている電源供給回路部の電源出力状態を調べ、（3-2-1）電源供給回路から電源が正常に出力されていない場合には、電源供給回路の障害であると判定し、（3-2-2）電源供給回路から電源が正常に出力されている場合には、診断対象装置内の電源回路の障害であると判定し、（3-3）セカンダリパスを介して診断対象装置にアクセスできる場合には、セカンダリパスから制御線を介してプライマリパスを使用可能か否かを調査し、（3-3-1）制御線を介してもプライマリパスを使用できない場合、診断対象装置内の電圧が正常か否かを調査して、電圧が正常な場合は診断対象装置内の通信制御回路の障害であると判定し、電圧が正常ではない場合は診断対象装置内の電源回路または電源回路から通信制御回路に至る給電路の障害であると判定し、（3-3-2）制御線を介してプライマリパスを使用できる場合、リンク障害であると判定する。
【００１４】
本発明の実施形態では、特定部は、（４）リンク障害であると判定した場合に、（4-1）プライマリパスを用いて第１の内部ループバックテストを行い、この第１の内部ループバックテストにより応答が得られた場合には、診断対象装置に接続されている接続先装置と診断対象装置との間のパスの障害であると判定し、（4-2）第１の内部ループバックテストにより応答が得られない場合は、セカンダリパスを用いて第２のループバックテストを行い、この第２の内部ループバックテストにより応答が得られない場合は、診断対象装置内の通信制御回路の障害であると判定し、第２の内部ループバックテストにより応答が得られた場合は、診断対象装置と第１筐体との間のパスに障害が生じていると判定するようになっている。
【００１５】
本発明の実施形態では、第１筐体は、カスケード接続された複数の筐体間接続スイッチを介して、複数の第２筐体に接続されている。
【００１６】
本発明の実施形態では、各第２筐体は、上位第２筐体と下位第２筐体とに分類することができ、上位第２筐体は、筐体間接続スイッチを介して第１筐体にスター接続されており、下位第２筐体は、上位第２筐体にディジーチェーン接続されている。
【００１７】
本発明の実施形態では、電源制御部は、（１）各第２筐体のうち、その筐体内の全ての記憶デバイスが節電モードに移行している第２筐体への電源供給を停止させ、（２）上位装置から発行されるアクセス要求に応じて、電源供給の停止された第２筐体への電源供給を再開させる。
【００１８】
本発明の他の観点に従う、筐体単位で記憶制御装置の電源供給を制御する方法は、（１）記憶制御装置は、上位装置からのアクセス要求に応じて記憶デバイスにデータを入出力させるための第１筐体と、この第１筐体からの指示に応じて動作する少なくとも一つ以上の第２筐体であって、記憶デバイスをそれぞれ備える第２筐体と、第１筐体と各第２筐体とをスイッチ接続する筐体間接続スイッチと、第１筐体と各第２筐体及び筐体間接続スイッチにそれぞれ個別に電源を供給する電源供給回路部と、を備えており、（２）第１筐体は、上位装置との間で通信を行うための上位通信部と、筐体間接続スイッチを介して各第２筐体と通信を行うための下位通信部と、第１筐体及び各第２筐体の構成に関する情報を管理する構成情報管理部と、構成情報を用いて各第２筐体または筐体間接続スイッチ毎に電源の供給または停止を制御する電源制御部と、下位通信部と各第２筐体との間の通信に関する障害を検出して診断する障害診断部と、を備えており、（３）構成情報には、各記憶デバイスのスピン状態と、各第２筐体及び筐体間接続スイッチの省電力状態と、第１筐体から筐体間接続スイッチを介して各第２筐体内の記憶デバイスに至るまでの接続構成を示す状態とが少なくとも含まれており、（４）障害診断部は、筐体間接続スイッチまたは各第２筐体のいずれかの診断対象装置で生じた、通信に関する障害を検出する検出ステップと、構成情報を用いることにより、障害の発生箇所を特定する特定ステップと、特定された障害に関して通知する通知ステップと、をそれぞれ実行する。
【発明を実施するための最良の形態】
【００１９】
以下、図面に基づき、本発明の実施の形態を説明する。図１は、本実施形態に係る記憶制御装置の全体概要を示す説明図である。本実施形態では、以下に述べるように、「第１筐体」としての基本筐体１と「第２筐体」としての増設筐体２とを「筐体間接続スイッチ」としての装置間スイッチ４を介してスイッチ接続し、いずれの増設筐体２も筐体単位で個別に電源供給を制御できるようにしている。さらに、本実施形態では、基本筐体１と各増設筐体２との間の通信経路上に生じた障害を検出し、その障害の発生箇所を特定することができるようになっている。
【００２０】
本実施形態による記憶制御装置は、基本筐体１と、複数の増設筐体２とを備えて構成されている。基本筐体１と各増設筐体２とは、装置間スイッチ（以下、スイッチと略す場合がある）４を介して、スイッチ接続される。また、スイッチ４は通信経路４Ａを介してカスケード接続することができ、これにより、多数の増設筐体２を基本筐体１に接続できるようになっている。
【００２１】
基本筐体１と各増設筐体２との間の信号やデータの伝達は、装置間スイッチ４を介して行われる。即ち、基本筐体１を中心として、各増設筐体２がスター接続されている。基本筐体１は、記憶制御装置全体の制御を司る筐体であり、上位装置としてのホスト５及び各増設筐体２と接続される。基本筐体１は、ホスト５から発行されたコマンドに応じて、増設筐体２内のディスクドライブ２Ｂにアクセスし、データの読み書きを行う。
【００２２】
基本筐体１は、例えば、上位通信部１Ａと、下位通信部１Ｂと、I/O処理部１Ｃと、電源制御部１Ｄと、構成情報管理部１Ｅと、障害診断部１Ｆとを備えている。後述の実施例からも明らかなように、基本筐体１は、ディスクドライブを備えることもできる。
【００２３】
上位通信部１Ａは、ホスト５との間で通信を行うためのものである。下位通信部１Ｂは、スイッチ４を介して各増設筐体２との間で通信を行うためのものである。ホスト５と上位通信部１Ａとは、例えば、ファイバチャネルプロトコル、iSCSI（internet Small Computer System Interface）、ＩＰ（Internet Protocol）プロトコル等のプロトコルに従って、通信を行う。下位通信部１Ｂと各増設筐体２とは、例えば、ファイバチャネルプロトコルに従って通信を行う。以上は例示であり、本発明はプロトコルの種類で限定されない。
【００２４】
I/O処理部１Ｃは、ホスト５から発行されたコマンドに基づいて、各増設筐体２内のディスクドライブ２Ｂにアクセスすることにより、データを書き込んだり、または、データを読み出したりする。
【００２５】
電源制御部１Ｄは、基本筐体１が有する制御機能の一つであり、各増設筐体２に関する電源の供給及び停止を制御する。電源制御部１Ｄは、例えば、複数種類の省電力モードをそれぞれのタイミングで実行させることができる。
【００２６】
ドライブ単体の省電力を実現させるモードでは、例えば、一定時間アクセスされないディスクドライブ２Ｂのモータへの通電を停止させたり、電子回路の一部を停止させることにより、ドライブ毎の省電力を実現する。
【００２７】
全ドライブへの通電を停止させるモードでは、同一筐体に設けられている全てのディスクドライブ２Ｂへの通電を停止させることにより、筐体内のディスクドライブ全体について省電力を実現する。なお、この省電力モードでは、例えば、冷却ファン２Ｃのような、全ディスクドライブ２Ｂの停止に伴って停止させることのできる装置への通電を停止させることもできる。
【００２８】
筐体全体への通電を停止させるモードでは、電源供給回路部３のスイッチ３Ａを開くことにより、外部電源６から増設筐体２への電源供給を完全に停止させる。この省電力モードでは、増設筐体２の各機能は停止され、最も省電力効果が高くなる。
【００２９】
電源制御部１Ｄは、自己診断モードを備えることもできる。自己診断モードでは、筐体全体への通電が停止された増設筐体２に対して、定期的にまたは不定期に通電することにより、その増設筐体２が正常に動作するか否かを診断する。
【００３０】
構成情報管理部１Ｅは、記憶制御装置のシステム構成に関する情報を記憶し、管理している。システム構成に関する情報としては、例えば、ディスクドライブ２Ｂの配置に関する情報、RAIDグループや論理ボリュームの構成に関する情報、増設筐体２と電源供給回路部３との接続構成に関する情報、基本筐体１と各増設筐体２の接続構成に関する情報等を挙げることができる。本実施形態では、記憶制御装置に関する全ての構成情報を基本筐体１が一元的に管理する。電源制御部１Ｄは、システム構成情報を参照することにより、目的の増設筐体２への通電停止等を行う。
【００３１】
障害診断部１Ｆは、下位通信部１Ｂと各増設筐体２との間の通信に関して発生した障害を検出し、その発生箇所を特定して管理装置７に通知する。障害の検出方法及び障害発生箇所の特定方法は後述の実施例で詳細に説明する。
【００３２】
電源供給回路部３は、例えば、外部電源６からの交流電源を各筐体１，２にそれぞれ分配するための回路である。ここでは、基本筐体１への電源分配については省略しているが、後述の実施例から明らかなように、電源供給回路部３を介して、外部電源６と基本筐体１とは接続されている。
【００３３】
電源供給回路部３は、各筐体１，２及び各スイッチ４に電源をそれぞれ供給するための回路である。電源供給回路部３は、各増設筐体２と外部電源６とをそれぞれ接続するスイッチ３Ａを備えている。従って、目的の増設筐体２またはスイッチ４への電源供給を停止させる場合は、その増設筐体２またはスイッチ４に接続されたスイッチ３Ａを開く。これにより、目的の増設筐体２またはスイッチ４への電力供給経路が遮断される。
【００３４】
電源供給回路部３は、各筐体１，２と独立した装置として構成可能である。これに限らず、電源供給回路部３を各筐体１，２内に設けることもできる。即ち、例えば、スイッチ３Ａを各増設筐体２内に設ける構成でもよい。
【００３５】
各増設筐体２は、例えば、制御基板２Ａと、複数のディスクドライブ２Ｂと、筐体内電源部（後述の実施例を参照）と、冷却ファン２Ｃとをそれぞれ備えて構成される。制御基板２Ａは、基本筐体１からの指示に基づいて、ディスクドライブ２Ｂへのデータ入出力を行う。
【００３６】
ディスクドライブ２Ｂは、記憶デバイスに該当する。ここでは、便宜上、ディスクドライブと呼ぶが、ディスク以外の媒体を用いる記憶デバイスでもよい。ディスクドライブ２Ｂとしては、例えば、ハードディスクドライブ、半導体メモリデバイス、フラッシュメモリデバイス、光ディスクドライブ、光磁気ディスクドライブ、磁気テープデバイス、ホログラフィックスメモリデバイス等を用いることができる。
【００３７】
筐体内電源部は、例えば、外部電源６から電源供給回路部３を介して入力された交流電源または直流電源を、所定の電圧を有する直流電源に変換し、制御基板２Ａ，各ディスクドライブ２Ｂ及び冷却ファン２Ｃにそれぞれ供給する。筐体内電源部は、制御基板２Ａからの指示に応じて、各ディスクドライブ２Ｂへの通電を停止させることができるように構成することができる。
【００３８】
冷却ファン２Ｃは、増設筐体２内に冷却風を導いて冷却させるものである。冷却ファン２Ｃは、増設筐体２内に存在するディスクドライブ２Ｂ以外の負荷の一例である。冷却ファン２Ｃは、制御基板２Ａからの信号によって動作する。即ち、制御基板２Ａは、例えば、冷却ファン２Ｃの動作開始や動作停止、回転数を制御することができる。なお、空冷機構として冷却ファン２Ｃを挙げたが、増設筐体２は水冷機構を備える構成でもよい。水冷機構の場合は、例えば、冷却水循環ポンプや熱交換器の動作を制御することにより、増設筐体２の電力消費量を節減する。
【００３９】
上述のように、本実施形態では、基本筐体１を中心として各増設筐体２がスター型に配置されている。従って、基本筐体１との間で通信を行う上では、各増設筐体２はそれぞれ独立しており、互いに他の増設筐体２に影響を与えない。即ち、基本筐体１は、目的の増設筐体２と直接的に通信を行うことができるため、ある増設筐体２への電源供給が遮断されている場合でも、他の増設筐体２は、基本筐体１と通信を行うことができる。従って、基本筐体１は、全ディスクドライブ２Ｂが省電力モードに移行している増設筐体２への電源供給を自由に停止させることができる。
【００４０】
なお、ディスクドライブ２Ｂは、その性能や信頼性によって複数のグループに分類することができる。例えば、FC（Fibre
Channel）ディスク等のような高性能のディスクドライブと、例えば、SATA（Serial AT Attachment）ディスク等のような低性能のディスクドライブ等である。各増設筐体２には、それぞれ同一種類のディスクドライブ２Ｂを内蔵させることができる。即ち、ある増設筐体２は、高性能のディスクドライブ２Ｂのみを内蔵し、他の増設筐体２は、低性能のディスクドライブ２Ｂのみを内蔵する。
【００４１】
そして、例えば、高性能のディスクドライブ２Ｂには、ホスト５によって頻繁に使用されるデータを記憶させ、低性能のディスクドライブ２Ｂにはホスト５による利用頻度の少ないデータ（例えば、バックアップデータやアーカイブデータ）を記憶させる。これにより、低性能のディスクドライブ２Ｂを内蔵する増設筐体２に電源を供給する時間を短くすることができ、電力消費量を低減できる。以下、本実施形態の記憶制御装置を詳細に説明する。
【実施例１】
【００４２】
図２は、記憶制御装置の正面図を模式的に示す説明図である。記憶制御装置は、例えば、基本ラック１０と一つまたは複数の増設ラック１１とをケーブル等で接続することにより、構成される。基本ラック１０は、例えば、基本筐体１００と、複数の増設筐体２００と、複数のスイッチボックス４００とを備える。基本ラック１０は、記憶制御装置の最小構成であり、基本ラック１０のみで記憶制御装置の機能を実現することができる。
【００４３】
増設ラック１１は、例えば、複数の増設筐体２００及び複数のスイッチボックス４００を備える。基本ラック１０の記憶容量が足りなくなった場合、増設ラック１１を基本ラック１０に接続することにより、記憶容量を増加させることができる。
【００４４】
図３は、基本筐体１００を前面側から見た斜視図である。基本筐体１００のケーシング１０１には、その前面側１０１Ｆに、複数のバッテリ１４０及び複数のディスクドライブ２３０がそれぞれ設けられる。基本筐体１００は、ディスクドライブ２３０を備える構成でもよいし、ディスクドライブ２３０を備えない構成でもよい。ディスクドライブ２３０を備えない場合、前面１０１Ｆの所定箇所は、バッテリ等の他の構成品が搭載されるか、又は、化粧板等で施蓋される。
【００４５】
図４は、基本筐体１００を後面側から見た斜視図である。ケーシング１０１の後面側１０１Ｒには、例えば、複数のコントローラ１１０と、複数の筐体内電源部１２０と、複数の冷却ファン１３０とがそれぞれ取り付けられる。
【００４６】
冷却ファン１３０は、複数のファンが一体化されたファンアッセンブリとして構成されており、ケーシング１０１の左右両側にそれぞれ配置される。コントローラ１１０は、ケーシング１０１の中央に上下に並んで配置される。筐体内電源部１２０は、ケーシング１０１の下側に、左右に並んで配置される。なお、以下の増設筐体２００の説明でも同様であるが、基本筐体１００及び増設筐体２００の構成は、図示するものに限定されない。
【００４７】
図５は、増設筐体２００を前面側から見た斜視図である。増設筐体２００のケーシング２０１には、その前面側２０１Ｆに、複数のディスクドライブ２３０を取り付けることができる。本実施例では、＃０〜＃１４の合計１５台のディスクドライブ２３０が取り付けられる場合を例に挙げて説明する。１つの筐体当たりのディスクドライブ搭載数は、１５に限定されない。ディスクドライブ２３０が取り付けられていない空間は、化粧板等で施蓋することにより、外部の塵埃等がケーシング２０１内に侵入するのを防止する。
【００４８】
図６は、増設筐体２００を後面側から見た斜視図である。ケーシング２０１の後面側２０１Ｒには、複数の制御基板２１０及び複数の筐体内電源部２２０がそれぞれ取り付けられている。なお、図６の構成においては、冷却ファンは筐体内電源部２２０内に搭載されているが、図１０に示すように、増設筐体２００には、冷却ファン２０２を設けることができる。即ち、冷却ファンと電源部とを別々の構成部品としてもよい。
【００４９】
図７は、記憶制御装置の構成を模式的に示す説明図である。各ラック１０，１１内には、各筐体１００，２００に外部からの電源を供給するための電源分配回路部３００がそれぞれ設けられている。以下の説明では、電源分配回路部３００をPDB（Power Distribution Box）と呼ぶ。
【００５０】
記憶制御装置は、複数の電源供給系統を備えることができる。１つの系統は、図７中の左側にPDB＃０で示すプライマリ系統であり、他の１つの系統は、図７中の右側にPDB＃１で示すセカンダリ系統である。即ち、記憶制御装置の電源供給構造は、プライマリ系統及びセカンダリ系統によって冗長化されている。
【００５１】
各PDB３００は、例えば、４個，６個等のような所定数の筐体に、外部からの電源を分配することができる。従って、１つのラック内に多数の筐体が取り付けられる場合、複数の電源供給系統のそれぞれにおいて、複数のPDB３００が必要となる。なお、これに代えて、ラックに装着可能な最大数の筐体に外部からの電源を分配可能な単一のPDBを、各電源供給系統毎に使用する構成でもよい。
【００５２】
各PDB３００は、所定数のスイッチ３１０を備えている。各スイッチ３１０は、それぞれ対応する筐体内の電源部に接続される。図中では、AC/DC電源部を「PS」と略記して示している。
【００５３】
基本筐体１００の有する各筐体内電源部１２０は、それぞれ別系統のPDB３００のスイッチ３１０に接続されている。同様に、各増設筐体２００の有する各筐体内電源部２２０も、それぞれ別系統のPDB３００のスイッチ３１０にそれぞれ接続されている。従って、いずれか一方のPDB３００に障害が生じた場合でも、他方のPDB３００から各筐体１００，２００に電源を供給することができる。
【００５４】
基本筐体１００のコントローラ１１０は、図中に一点鎖線で示すように、信号線Ｌ１を介して、各PDB３００にそれぞれ接続されている。コントローラ１１０は、各スイッチ３１０の開閉を個別に制御することができる。コントローラ１１０は、目的の増設筐体２００への電源供給を完全に停止させる場合、その増設筐体２００に接続された各系統のスイッチ３１０をそれぞれ開くことにより、外部電源と筐体内電源部２２０との間の電源供給経路を遮断させる。
【００５５】
なお、各コントローラ１１０と各PDB３００とは、有線接続でもよいし、無線接続でもよい。無線接続の場合は、PDB３００内に、コントローラ１１０からの無線信号に応じて各スイッチ３１０を開閉させるための回路を設ければよい。また、各コントローラ１１０と各PDB３００とをスイッチボックス４００を介して接続する構成としてもよい。
【００５６】
スイッチボックス４００は、基本筐体１００と各増設筐体２００とをスイッチ接続するための装置であり、「筐体間接続スイッチ」に該当する。各スイッチボックス４００は、図中点線で示すように、信号線Ｌ３を介して、それぞれ所定の増設筐体２００と接続されている。
【００５７】
各スイッチボックス４００と基本筐体１００のコントローラ１１０とは、信号線Ｌ２を介して接続されている。各コントローラ１１０は、所望の増設筐体２００に接続されたスイッチボックス４００を介して、所望の増設筐体２００と通信する。なお、図８と共に述べる通り、複数のスイッチボックス４００をカスケード接続することもできる。
【００５８】
図８は、スイッチボックス４００と各筐体１００，２００との接続構成を示す説明図である。基本筐体１００、増設筐体２００及びPDB３００の詳細な構成は、それぞれ別図と共に後述する。
【００５９】
図８の上側に示すように、基本筐体１００は、例えば、SAN等の通信ネットワークCN１を介して、一つまたは複数のホスト１３に接続されている。さらに、基本筐体１００は、LAN等の通信ネットワークCN２を介して、少なくとも一つの管理装置１４に接続されている。基本筐体１００は、ホスト１３から発行されたアクセス要求に基づいて、ディスクドライブ２３０にアクセスし、その処理結果をホスト１３に応答する。管理装置１４は、記憶制御装置の各種状態に関する情報（例えば、キャッシュメモリやボリュームの使用率、プロセッサ使用率、I/O量、内部の電圧値、内部温度等）を収集し、端末画面に表示させたり、ユーザに通知する。また、管理装置１４からの指示によって、記憶制御装置の構成を変更させることもできる。
【００６０】
基本筐体１００は、それぞれ２つずつのコントローラ（図中「CTL」と略す場合がある）１１０及び筐体内電源部１２０を備えている。増設筐体２００は、それぞれ２つずつの制御基板（図中、「EXP」と略す場合がある）２１０及び筐体内電源部２２０と、複数の（例えば１５個の）ディスクドライブ２３０とを備える。
【００６１】
スイッチボックス４００は、それぞれ２つずつの通信制御回路（図中「EXP」と略す場合がある）４１０及び筐体内電源部４２０を備える。通信制御回路４１０は、信号線Ｌ２を介して基本筐体１００内コントローラ１１０に接続されると共に、信号線Ｌ３を介して増設筐体２００内の制御基板２１０に接続されている。
【００６２】
基本筐体１００からディスクドライブ２３０に至る経路は、プライマリ系統（＃０）とセカンダリ系統（＃１）の２種類の経路で冗長化されている。即ち、プライマリのコントローラ１１０（＃０）は、信号線Ｌ２を介してプライマリの通信制御回路４１０（＃０）に接続され、この通信制御回路４１０（＃０）は、信号線Ｌ３を介してプライマリの制御基板２１０（＃０）に接続される。セカンダリ系統も同様である。
【００６３】
さらに、スイッチボックス４００内の各通信制御回路４１０は、制御線４１１を介して相互に接続されている。これにより、プライマリの通信制御回路４１０（＃０）は、制御線４１１を介して、セカンダリの制御基板２１０（＃１）にアクセスでき、同様に、セカンダリの通信制御回路４１０（＃１）は、制御線４１１を介して、プライマリの制御基板２１０（＃０）にアクセスできる。
【００６４】
プライマリの基板とセカンダリの基板との間を制御線で接続する構成は、基本筐体１００及び各増設筐体２００でも同様である。基本筐体１００内の各コントローラ１１０（＃０，＃１）は、制御線１１９を介して相互に接続されている。増設筐体２００内の各制御基板２１０（＃０，＃１）は、制御線２１５を介して相互に接続されている。このように、本実施例の記憶制御装置は、通信系統が多重化されており、プライマリ系統またはセカンダリ系統のいずれかで障害が発生した場合でも、ディスクドライブ２３０へのアクセスを行うことができるようになっている。
【００６５】
図８の左側に示すように、複数のスイッチボックス４００を、信号線Ｌ４を介して、カスケード接続することもできる。一方のスイッチボックス４００内の通信制御回路４１０（＃０）は、信号線Ｌ４を介して、他方のスイッチボックス４００内の通信制御回路４１０（＃０）にカスケード接続される。同様に、一方のスイッチボックス４００内の通信制御回路４１０（＃１）は、別の信号線Ｌ４を介して、他方のスイッチボックス４００内の通信制御回路４１０（＃１）にカスケード接続される。複数のスイッチボックス４００をカスケード接続することにより、多数のディスクドライブ２３０へのデータ入出力を行うことができる。
【００６６】
電源供給系統に着目すると、各装置１００，２００，４００内にそれぞれ設けられている２つの筐体内電源部１２０，２２０，４２０は、それぞれ対応する系統のPDB３００に接続されている。即ち、プライマリ系統の筐体内電源部には、プライマリ系統のPDB３００から電源が供給され、セカンダリ系統の筐体内電源部には、セカンダリ系統のPDB３００から電源が供給される。
【００６７】
図９は、PDB３００の構成に着目した回路図である。PDB３００は、例えば、複数のスイッチ３１０と、制御回路３２０と、AC/DC電源部３３０と、複数のブレーカ３４０と、を備えて構成される。外部から入力される交流電源は、AC/DC電源部３３０によって直流電源に変換される。この変換された直流電源は、ブレーカ３４０及びスイッチ３１０を介して、基本筐体１００内の筐体内電源部１２０や増設筐体２００内の筐体内電源部２２０に供給される。
【００６８】
制御回路３２０は、例えば、LAN（Local Area Network）のような信号線Ｌ１を介して、コントローラ１１０に接続されている。制御回路３２０は、コントローラ１１０から発行されるコマンドに従って、指定されたスイッチ３１０をオンまたはオフさせる。ここで、スイッチ３１０をオンにするとは、スイッチ３１０の接点を閉じて導通状態にすることを意味し、スイッチ３１０をオフにするとは、スイッチ３１０の接点を開いて遮断状態にすることを意味する。
【００６９】
図９に示すように、スイッチボックス４００は、アクセス先のパスを切り替えるための通信制御回路４１０を備えている。通信制御回路４１０は、信号線Ｌ２を介してコントローラ１１０に接続されている。通信制御回路４１０は、各信号線Ｌ３を介して、各増設筐体２００にそれぞれ接続されている。通信制御回路４１０は、コントローラ１１０からの指示に応じて、指定された増設筐体２００と基本筐体１００とを接続させる。
【００７０】
図１０は、記憶制御装置の電源供給構造を模式的に示す説明図である。図１０中では、紙面の都合上、一部の構成を省略して示す。
【００７１】
図１１は、記憶制御装置の内部構成を模式的に示す説明図である。基本筐体１００の各コントローラ１１０は、通信ネットワークCN１を介して、ホスト１３にそれぞれ接続されている。各コントローラ１１０は、図１２に示すように、通信ネットワークCN２を介して管理装置１４にもそれぞれ接続されている。
【００７２】
ホスト１３は、例えば、図外のクライアント端末からの要求に応じて、記憶制御装置にアクセスし、データの読み書きを行う。ホスト１３としては、例えば、メインフレームコンピュータやサーバコンピュータ等を挙げることができる。通信ネットワークCN１としては、例えば、LAN、SAN（Storage Area Network）、インターネットあるいは専用回線等を挙げることができる。
【００７３】
LANを用いる場合、ホストコンピュータ１３と記憶制御装置とは、TCP/IP（Transmission Control Protocol/Internet Protocol）に従って通信を行う。SANを用いる場合、ホストコンピュータ１３と記憶制御装置とは、ファイバチャネルプロトコルに従って通信を行う。また、ホストコンピュータ１３がメインフレームコンピュータである場合、例えば、FICON（Fibre Connection：登録商標）、ESCON（Enterprise System Connection：登録商標）、ACONARC（Advanced Connection Architecture：登録商標）、FIBARC（Fibre Connection Architecture：登録商標）等の通信プロトコルに従ってデータ転送が行われる。
【００７４】
上述の通り、記憶制御装置の制御系統も、電源供給系統と同様に冗長化される。プライマリのコントローラ１１０（＃０）とセカンダリのコントローラ１１０（＃１）とは、それぞれ配下にある全てのディスクドライブ２３０にアクセス可能である。即ち、いずれか一方の系統に障害が発生した場合でも、他方の系統からディスクドライブ２３０にアクセス可能である。記憶制御装置の全体動作は、基本筐体１００内のコントローラ１１０によって制御される。従って、各コントローラ１１０は、基本筐体１００内の各ディスクドライブ２３０のみならず、増設筐体２００内の各ディスクドライブ２３０にもそれぞれアクセス可能である。
【００７５】
基本筐体１００の各筐体内電源部１２０は、各コントローラ１１０及び基本筐体１００内の各ディスクドライブ２３０に、それぞれ所定電圧の直流電源を供給する。筐体内電源部１２０は、例えば、直流５ボルトや直流１２ボルト等のような複数種類の電圧を出力可能である。なお、図中では、説明の便宜上、下段側のディスクドライブ２３０にのみ電源が供給されるかのように示されているが、各筐体内電源部１２０は、筐体内の全てのディスクドライブ２３０に電源を供給する。
【００７６】
図１１中の下側には増設筐体２００が簡略化されて示されている。紙面の都合上、１つの増設筐体２００のみを示している。上述のように、基本筐体１００は、複数の増設筐体２００とスイッチボックス４００を介してスイッチ接続されている。
【００７７】
増設筐体２００の筐体内電源部２２０は、筐体内電源部１２０と同様に、外部から入力された電源を所定電圧の直流電源に変換して出力する。筐体内に存在する全てのディスクドライブ２３０，制御基板２１０及び冷却ファン２０２には、各筐体内電源部２２０から直流電源がそれぞれ供給される。
【００７８】
なお、説明の便宜のために、各筐体内電源部２２０から直流電源がそれぞれ供給されると述べたが、例えば、通常時においては、いずれか一方の筐体内電源部２２０（例えば、プライマリ（＃０）の筐体内電源部）のみから各ディスクドライブ２３０や制御基板２１０等に直流電源が供給される構成でもよい。ディスクドライブ２３０や制御基板２１０等の負荷から各筐体内電源部２２０を見たときのインピーダンスに差をつけることにより、いずれか一方の筐体内電源部２２０から電源を供給させることができる。例えば、いずれかの筐体内電源部２２０からの出力に、他方の筐体内電源部２２０よりも多い段数のダイオードを設ければよい。これにより、障害発生時には、スイッチ切替等を行うことなく、他方の筐体内電源部２２０に自動的に切り替わる。
【００７９】
ディスクドライブ２３０は、例えば、ATA（AT Attachment）ディスク、SCSI（Small Computer System Interface）ディスク、FC（Fibre
Channel）ディスク等のようなハードディスクドライブとして構成される。これに限らず、例えば、半導体メモリドライブ（フラッシュメモリデバイスを含む）、光ディスクドライブ、光磁気ディスクドライブ等の他の記憶デバイスを用いてもよい。
【００８０】
例えば、４個１組、８個１組等のような所定数のディスクドライブ２３０によって、RAIDグループ２４０が構成される。RAIDグループ２４０は、別々の筐体に存在する複数のディスクドライブ２３０から構成することもできるし、同一筐体に存在する１つまたは複数のディスクドライブ２３０から構成することもできる。
【００８１】
図１２に示すように、RAIDグループ２４０には、１つまたは複数の論理ボリューム２５０を設けることができる。論理ボリューム２５０は、ホスト１３からアクセスされる対象であり、ホスト１３により使用されるデータを記憶している。
【００８２】
図１２は、１つのコントローラ１１０に着目した場合のブロック図である。コントローラ１１０は、例えば、ホストインターフェース回路１１１と、ドライブインターフェース回路１１２と、データ転送回路１１３と、キャッシュメモリ１１４と、プログラムメモリ１１５と、プロセッサ（図中「MPU」と略記）１１６と、ブリッジ１１７と、LANインターフェース１１８とを備えて構成される。
【００８３】
ホストインターフェース回路１１１は、ホスト１３との間の通信を制御する。ホスト１３から発行された各種コマンドやデータは、ホストインターフェース回路１１１によって受信される。ディスクドライブ２３０から読み出されたデータやコマンドの処理完了を告げる通知は、ホストインターフェース回路１１１からホスト１３に送信される。
【００８４】
ドライブインターフェース回路１１２は、各ディスクドライブ２３０との間の通信を制御する。ドライブインターフェース回路１１２は、論理ブロックアドレス（LBA）とディスクドライブ２３０の物理的なアドレスとの変換操作等を行う。
【００８５】
データ転送回路１１３は、コントローラ１１０内のデータ転送を制御するための回路である。データ転送回路１１３は、ホストインターフェース回路１１１とキャッシュメモリ１１４との間のデータ転送や、ドライブインターフェース回路１１２とキャッシュメモリ１１４との間のデータ転送を制御する。
【００８６】
プロセッサ１１６は、一つまたは複数のプロセッサコアを備えている。プロセッサ１１６は、プログラムメモリ１１５に記憶された電源管理プログラム等の種々のプログラムを読み込んで実行することにより、後述の電源制御等を実現する。
【００８７】
キャッシュメモリ１１４は、ホスト１３から受信したデータやホスト１３により読み出されたデータを記憶する。キャッシュメモリ１１４には、記憶制御装置のシステム構成に関する情報も記憶されている。キャッシュメモリ１１４の記憶内容は、バッテリ１４０によってバックアップされる。ブリッジ１１７は、プロセッサ１１６とプログラムメモリ１１５とを接続する。
【００８８】
プロセッサ１１６は、ブリッジ１１７を介してデータ転送回路１１３に接続される。LANインターフェース１１８は、管理装置１４とコントローラ１１０とを接続するための回路である。
【００８９】
図１３は、増設筐体２００のブロック図である。先に、筐体内電源部２２０の構成を説明する。筐体内電源部２２０は、例えば、電圧変換回路２２１と、複数の出力ダイオード２２２Ａ〜２２２Ｃと、出力制御スイッチ２２３とを備えている。
【００９０】
電圧変換回路２２１は、PDB３００を介して入力された電源を複数種類の直流電圧Ｖ１，Ｖ２に変換して出力する。例えば、Ｖ１は直流５ボルト程度、Ｖ２は直流１２ボルト程度にそれぞれ設定される。出力ダイオード２２２Ａ〜２２２Ｃは、逆流防止のために設けられている。スイッチ２２３は、直流電圧を出力させるか否かを制御するためのもので、制御基板２１０によって切り替えられる。
【００９１】
各ディスクドライブ２３０には、Ｖ１，Ｖ２がそれぞれ供給される。各制御基板２１０及び各冷却ファン２０２には、Ｖ２がそれぞれ供給される。図１３に示すように、２つの筐体内電源部２２０の出力は、それぞれＯＲ接続されている。従って、いずれか一方の筐体内電源部２２０に障害が生じた場合でも、他方の筐体内電源部２２０から制御基板２１０やディスクドライブ２３０等に所定電圧の電源が供給される。各筐体内電源部２２０からの出力Ｖ１，Ｖ２が停止した場合、筐体内の全てのディスクドライブ２３０への電源供給が同時に停止する。
【００９２】
各制御基板２１０は、信号線Ｐ２を介して、各筐体内電源部２２０内の各スイッチ２２３にそれぞれ接続されている。各制御基板２１０は、各スイッチ２２３をそれぞれ個別に開閉させることができる。また、各制御基板２１０は、信号線Ｐ３を介して、各冷却ファン２０２にもそれぞれ接続されている。各制御基板２１０は、各冷却ファン２０２の作動を開始または停止、あるいは回転数を調節することができる。
【００９３】
図１４は、１つの制御基板２１０に着目した構成説明図である。制御基板２１０は、例えば、マイクロプロセッサ部２１１と、通信インターフェース部２１２と、制御信号出力回路２１３とを備えて構成される。
【００９４】
マイクロプロセッサ部２１１は、制御基板２１０の動作を制御するものであり、例えば、資源管理機能２１１Ａ、コマンド処理機能２１１Ｂ、電源制御機能２１１Ｃ、冷却ファン制御機能２１１Ｄをそれぞれ実現する。
【００９５】
資源管理機能２１１Ａは、例えば、増設筐体２００内の各資源（ディスクドライブ２３０，筐体内電源部２２０等）の配置や状態等を管理する機能である。コマンド処理機能２１１Ｂは、コントローラ１１０から入力された指示を実行するための機能である。即ち、コマンド処理機能２１１Ｂは、コントローラ１１０からデータの書込みを要求された場合は、指定されたディスクドライブ２３０の指定されたアドレスにデータを書き込む。また、コマンド処理機能２１１Ｂは、コントローラ１１０からデータの読出しを要求された場合は、指定されたディスクドライブ２３０の指定されたアドレスから、指定された長さのデータを読み出してコントローラ１１０に転送する。
【００９６】
電源制御機能２１１Ｃは、コントローラ１１０からの指示に基づいて、スイッチ２２３を開閉させることにより、筐体内電源部２２０の出力を制御する機能である。冷却ファン制御機能２１１Ｄは、コントローラ１１０からの指示に基づいて、冷却ファン２０２の作動を制御する機能である。
【００９７】
通信インターフェース部２１２は、スイッチボックス４００を介して、基本筐体１００との間で通信を行うものである。基本筐体１００のコントローラ１１０から出力されたコマンドやデータは、スイッチボックス４００を介して、通信インターフェース部２１２に入力される。
【００９８】
図１５は、論理ボリューム２５０を管理するためのテーブルＴ１の構成を示す説明図である。このテーブルＴ１は、図１６に示す省電力管理テーブルＴ２と共に、記憶制御装置の構成情報を構成する。これら各テーブルＴ１，Ｔ２は、例えば、キャッシュメモリ１１４内に記憶される。
【００９９】
ボリューム管理テーブルＴ１は、例えば、ボリューム番号（LU＃）Ｃ１１と、容量Ｃ１２と、RAIDグループ番号Ｃ１３と、RAIDレベルＣ１４と、ドライブ番号リストＣ１５と、最新アクセス時刻Ｃ１６とのような項目を対応付けて管理する。なお、図に示す以外の項目を管理する構成でもよい。また、テーブルＴ１を複数のテーブルに分割して管理する構成でもよい。
【０１００】
論理ボリューム番号Ｃ１１は、記憶制御装置内に設けられている全ての論理ボリューム２５０を一意に特定するための識別情報である。容量Ｃ１２は、論理ボリューム２５０の記憶容量を示す情報である。RAIDグループ番号Ｃ１３は、論理ボリューム２５０が設けられているRAIDグループ２４０を一意に特定するための識別情報である。RAIDレベルＣ１４とは、RAIDグループ２４０のRAIDレベルを示す情報である。RAIDレベルとしては、例えば、RAID１，RAID５，RAID６等を挙げることができる。ドライブ番号リストＣ１５とは、RAIDグループ２４０を構成しているディスクドライブ２３０を特定するための情報である。最新アクセス時刻Ｃ１６とは、ホスト１３が論理ボリューム２５０に最後にアクセスした時刻を示す情報である。なお、紙面の都合上、図示していないが、例えば、所定の期間毎のアクセス頻度や、各論理ボリューム２５０の空き容量等をテーブルＴ１で管理することもできる。
【０１０１】
図１６は、各筐体１００，２００における電源供給状態を管理するための省電力管理テーブルＴ２を示す説明図である。この省電力管理テーブルＴ２は、例えば、スイッチボックス４００の番号Ｃ２１毎に、筐体番号Ｃ２２と、ドライブ番号Ｃ２３と、スピン状態Ｃ２４と、各PDB３００のスイッチ（図中「SW」と略記）番号Ｃ２５と、そのスイッチ状態Ｃ２６と、筐体に電源が供給されているか否かを示す供給状態Ｃ２７と、カスケード接続の状態Ｃ２８と、診断結果Ｃ２９とをそれぞれ対応付けて管理している。
【０１０２】
スイッチボックス番号Ｃ２１とは、各スイッチボックス４００を一意に特定するための識別情報である。筐体番号Ｃ２２とは、各筐体１００，２００を一意に特定するための識別情報である。ドライブ番号Ｃ２３とは、その筐体に設けられている各ディスクドライブ２３０を特定するための識別情報である。
【０１０３】
スピン状態Ｃ２４とは、そのディスクドライブ２３０がスピンアップしているか、スピンダウンしているかを示す情報である。スピンアップ状態の場合は「ON」で示され、スピンオフ状態の場合は「OFF」で示される。スピンアップ状態とは、ディスクが所定速度で回転している状態であり、データの読み書きが可能である。スピンダウン状態とは、ディスクが所定速度以下で回転または停止している状態であり、この状態ではデータの読み書きを行うことはできない。
【０１０４】
PDBスイッチ番号Ｃ２５とは、その筐体に接続されている各PDB３００のスイッチ３１０をそれぞれ特定するための情報である。スイッチ状態Ｃ２６とは、Ｃ２５で特定されたスイッチ３１０の開閉状態をそれぞれ示す情報である。スイッチ３１０が閉じている場合は「ON」で示され、スイッチ３１０が開いている場合は「OFF」で示される。
【０１０５】
筐体への電源供給状態Ｃ２７とは、その筐体に電源が供給されているか否かを示す情報である。電源が供給されている場合には「ON」が設定され、電源供給が停止されている場合には「OFF」が設定される。また、Ｃ２７では、その筐体に接続されているスイッチボックス４００への電源供給状態も同時に示されている。電源供給の停止されている状態を本実施例では「省電力状態」または「省電力モード」と呼ぶ。
【０１０６】
カスケード状態Ｃ２８は、カスケード接続されたスイッチボックス４００の番号を表示する。例えば、仮に、スイッチボックス４００（＃１）にスイッチボックス４００（＃２）がカスケード接続されている場合、４００（＃２）の行において、カスケード状態Ｃ２８には、接続元である「＃１」が設定される。診断結果Ｃ２９は、各筐体１００，２００等が正常に動作しているか否かの診断結果を示す。診断結果Ｃ２９には、例えば、診断日や診断の良否等が記される。
【０１０７】
図１７は、ディスクドライブ２３０をスピンダウン状態にするための、電源供給停止処理を示すフローチャートである。
【０１０８】
コントローラ１１０は、テーブルＴ１を参照することにより、所定時間以上アクセスされていないディスクドライブ２３０が存在するか否かを判定する（Ｓ１０）。ユーザは、例えば、１時間等のように、任意の値を所定時間として設定できる。
【０１０９】
コントローラ１１０は、所定時間以上アクセスされていないディスクドライブ２３０を検出した場合（S10:YES）、そのディスクドライブ２３０をスピンダウン状態に変更させるための指示を、そのディスクドライブ２３０の存在する増設筐体２００に向けて発行する（Ｓ１１）。コントローラ１１０は、Ｓ１０で検出されたディスクドライブ２３０のスピン状態をスピンオフとしてテーブルＴ２に記録する（Ｓ１２）。コントローラ１１０から発行された指示（コマンド）は、スイッチボックス４００を介して、目的の増設筐体２００に伝達される。
【０１１０】
コントローラ１１０からの指示を受領した増設筐体２００の制御基板２１０は、指定されたディスクドライブ２３０をスピンダウンさせる（Ｓ１３）。また、制御基板２１０は、それが可能であれば、冷却ファン２０２の回転数を低下させる（Ｓ１４）。
【０１１１】
例えば、筐体内で他のディスクドライブ２３０が稼働している場合は、筐体内の温度を保つために、冷却ファン２０２の回転数は一定値に保持される。これに対し、Ｓ１３で、１つまたは複数のディスクドライブ２３０をスピンダウンさせたことにより、冷却能力を低下させることが可能な場合、制御基板２１０は、冷却ファン２０２の回転数を低下させることもできる。なお、冷却ファン２０２の回転数を低下させるか否かは、コントローラ１１０によって決定してもよいし、あるいは、増設筐体２００の制御基板２１０によって決定してもよい。
【０１１２】
図１８、筐体単位で電源供給を停止させるための、電源供給停止処理を示すフローチャートである。
【０１１３】
コントローラ１１０は、テーブルＴ２を参照し（Ｓ２０）、対象筐体内の各ディスクドライブ２３０のスピン状態を確認する（Ｓ２１）。対象筐体内の全ディスクドライブ２３０がスピンダウン状態であると判定された場合（S22:YES）、コントローラ１１０は、対象筐体の制御基板２１０に向けて、全ディスクドライブ２３０への通電停止を指示する（Ｓ２３）。対象筐体の制御基板２１０は、筐体内電源部２２０内のスイッチ２２３を開くことにより、出力Ｖ１，Ｖ２をそれぞれ停止させ、筐体内の全ディスクドライブ２３０への通電を停止させる。なお、この場合、コントローラ１１０は、全ディスクドライブ２３０への通電停止のみならず、冷却ファン２０２の停止を要求することができる。
【０１１４】
コントローラ１１０は、対象筐体に接続された各PDB３００のスイッチ３１０をオフさせる（Ｓ２４）。これにより、対象筐体への電源供給が完全に停止される。コントローラ１１０は、テーブルＴ２のＣ２６及びＣ２７をそれぞれ更新させる（Ｓ２５）。
【０１１５】
コントローラ１１０は、記憶制御装置内の全筐体について判断したか否かを判定し（Ｓ２６）、未判定の筐体が存在する場合（S26:NO）、対象筐体を次の筐体に変更する（Ｓ２７）。そして、コントローラ１１０は、Ｓ２０〜Ｓ２６を繰り返す。
【０１１６】
図１９は、スイッチボックス４００への電源供給を停止させるための、電源供給停止処理を示すフローチャートである。
【０１１７】
コントローラ１１０は、テーブルＴ２を参照し（Ｓ３０）、対象スイッチボックスに接続されている各筐体の省電力状態を確認する（Ｓ３１）。対象スイッチボックスに接続されている全筐体が省電力モードに設定されている場合（S32:YES）、コントローラ１１０は、対象スイッチボックスに接続された各PDB３００のスイッチ３１０をそれぞれオフさせる（Ｓ３３）。これにより、対象スイッチボックスへの電源供給が完全に停止する。そして、コントローラ１１０は、テーブルＴ２のＣ２６及びＣ２７をそれぞれ更新させる（Ｓ３４）。
【０１１８】
コントローラ１１０は、記憶制御装置内の全スイッチボックスについて判断したか否かを判定し（Ｓ３５）、未判定の筐体が存在する場合（S35:NO）、対象筐体を次の筐体に変更する（Ｓ３６）。そして、コントローラ１１０は、Ｓ３０〜Ｓ３５を繰り返す。
【０１１９】
図２０は、ホスト１３から発行されたライトコマンドを処理するためのフローチャートを示す。コントローラ１１０は、ホスト１３からライトコマンド及びライトデータを受領すると（Ｓ４０）、ライトデータをキャッシュメモリ１１４に記憶させる（Ｓ４１）。コントローラ１１０は、ライトデータをキャッシュメモリ１１４に記憶させた時点で、ホスト１３にライトコマンドの処理が完了した旨を通知する（Ｓ４２）。コントローラ１１０は、ライトコマンドに明示された論理アドレスをディスクドライブ２３０の物理的なアドレスに変換して（Ｓ４３）、アクセス対象のディスクドライブ２３０を特定する（Ｓ４４）。以下の説明では、便宜上、アクセス対象のディスクドライブ２３０をアクセス先ドライブと表現する場合がある。
【０１２０】
コントローラ１１０は、テーブルＴ２を用いることにより、Ｓ４４で特定されたアクセス先ドライブにアクセス可能か否かを判定する（Ｓ４５）。アクセス先ドライブがスピンアップ状態である場合、直ちにアクセス先ドライブにアクセス可能である。アクセス先ドライブにアクセス可能であると判定された場合（S45:YES）、コントローラ１１０は、アクセス先ドライブにライトデータを転送する（Ｓ４６）。ライトデータは、スイッチボックス４００を介して、アクセス先ドライブを有する増設筐体２００に伝達される。制御基板２１０は、ライトデータを受領すると、指定されたディスクドライブ２３０（アクセス先ドライブである）にライトデータを書き込む。
【０１２１】
これに対し、アクセス先ドライブへのアクセスが不能であると判定された場合（S45:NO）、後述する電源供給開始処理が実行される（Ｓ６０）。このように、本実施例では、ライトデータをアクセス先ドライブに転送する前に、アクセス先ドライブにアクセス可能であるか否かを判断し、アクセス不能な場合は電源供給開始処理を実行する。これに代えて、アクセス先ドライブへのライトデータの書込みができなかった場合に、電源供給開始処理を実行させることもできる。
【０１２２】
図２１は、ホスト１３から発行されたリードコマンドを処理するためのフローチャートを示す。コントローラ１１０は、ホスト１３からリードコマンドを受領すると（Ｓ５０）、アクセス先ドライブを特定する（Ｓ５１）。ここでのアクセス先ドライブとは、読出しを要求されたデータを記憶しているディスクドライブ２３０である。
【０１２３】
コントローラ１１０は、ホスト１３から要求されたデータがキャッシュメモリ１１４に記憶されているか否かを判定する（Ｓ５２）。以下の説明では、ホスト１３により読出しが要求されているデータをリードデータと呼ぶ場合がある。
【０１２４】
リードデータがキャッシュメモリ１１４に記憶されている場合（S52:YES）、後述のＳ５３，Ｓ５４をスキップして、キャッシュメモリ１１４に記憶されているリードデータをホスト１３に送信する（Ｓ５５）。
【０１２５】
リードデータがキャッシュメモリ１１４に記憶されていない場合（S52:NO）、コントローラ１１０は、テーブルＴ２を用いることにより、アクセス先ドライブにアクセス可能か否かを判断する（Ｓ５３）。アクセス先ドライブにアクセス可能であると判定された場合（S53:YES）、コントローラ１１０は、アクセス先ドライブからリードデータを読み出してキャッシュメモリ１１４に記憶させる（Ｓ５４）。コントローラ１１０は、キャッシュメモリ１１４に記憶されたリードデータをホスト１３に送信する（Ｓ５５）。これに対し、アクセス先ドライブにアクセス不能であると判定された場合（S53:NO）、コントローラ１１０は、電源供給開始処理を実行する（Ｓ６０）。
【０１２６】
図２２は、電源供給開始処理（Ｓ６０）の詳細を示すフローチャートである。コントローラ１１０は、対象筐体の番号として、アクセス先ドライブを有する増設筐体２００の番号をセットする（Ｓ６１）。
【０１２７】
コントローラ１１０は、対象筐体に接続された各系統のPDB３００内のスイッチ３１０をそれぞれオンに設定し、対象筐体に電源を供給させる（Ｓ６２）。続いて、コントローラ１１０は、アクセス先ドライブをスピンアップさせるためのコマンドを、対象筐体に送信する（Ｓ６３）。対象筐体の制御基板２１０は、コントローラ１１０からのコマンドに従って、アクセス先ドライブを起動し、スピンアップさせる（Ｓ６４）。
【０１２８】
図２３は、記憶制御装置システム全体の起動処理を示すフローチャートである。最初に、ユーザは、基本筐体１００に電源を供給させる（Ｓ７０）。これにより、コントローラ１１０が起動し、以下の各ステップが実行される。
【０１２９】
コントローラ１１０は、テーブルＴ２を参照し（Ｓ７１）、省電力モードに設定されていないスイッチボックス４００にPDB３００から電源を供給させる（Ｓ７２）。同様に、コントローラ１１０は、省電力モードに設定されていない各筐体２００にPDB３００から電源を供給させる（Ｓ７３）。コントローラ１１０は、電源の供給されたスイッチボックス４００及び筐体２００について、テーブルＴ２を更新する（Ｓ７４）。つまり、本実施例では、前回の記憶制御装置システムの停止時において省電力モードに設定されたスイッチボックス４００及び筐体２００には、記憶制御装置システムの起動時に電源を供給しないようになっている。
【０１３０】
コントローラ１１０は、電源を供給すべき各装置に、つまり、省電力モードに設定されていないスイッチボックス４００及び筐体２００に、それぞれ電源が供給されて起動したか否かを確認する（Ｓ７５）。電源を供給すべき各装置に電源が供給されたことを確認すると（S75:YES）、コントローラ１１０は、記憶制御装置システムの使用準備が完了したことを確認し、管理装置１４に通知する（Ｓ７６）。
【０１３１】
さらに、コントローラ１１０は、省電力モードに設定されているスイッチボックス４００及び筐体２００を診断するか否かを判定する（Ｓ７７）。例えば、バックアップデータ等のようなアクセス頻度の低いデータを記憶している増設筐体２００への通電を長時間停止した場合、通電停止中に増設筐体２００に障害が発生してもこの障害を検出することができないため、必要な場合にデータを取り出せない可能性がある。
【０１３２】
そこで、本実施例では、定期的にまたは不定期に、休止中の増設筐体２００及びスイッチボックス４００に通電することにより、正常に動作するか否かを確認する。この自己診断処理は、予め設定された所定周期で定期的に行うこともできるし、ユーザが任意に指定した時刻で不定期に行うこともできる。診断の結果はテーブルＴ２に記録される。
【０１３３】
コントローラ１１０は、自己診断の開始を決定すると（S77:YES）、診断対象の装置（スイッチボックスや増設筐体）に電源を供給して起動させる（Ｓ７８）。コントローラ１１０は、コマンドに対する正常な応答の有無等によって、診断対象の装置が正常に動作するか否かを確認する（Ｓ７９）。コントローラ１１０は、診断の結果及び診断日時を、テーブルＴ２のＣ２９に登録する（Ｓ８０）。もしも、異常状態が検出された場合、コントローラ１１０は、所定のエラー検出処理を行う（Ｓ８１）。エラー検出処理では、例えば、異常の検出された装置に関する警報を管理装置１４に送信する。
【０１３４】
図２４は、障害を検出するための処理を示すフローチャートである。スイッチボックス４００内の通信制御回路４１０は、例えば、増設筐体２００との通信を行えなかった場合等に、コントローラ１１０に障害の発生を通知する。コントローラ１１０は、スイッチボックス４００から障害の検出を示す情報を受領すると（Ｓ９０）、テーブルＴ２を参照し（Ｓ９１）、障害の検出された筐体２００の省電力状態を確認する（Ｓ９２）。
【０１３５】
コントローラ１１０は、スイッチボックス４００から通知された障害が、省電力モードに設定されている筐体２００に関する障害であるか否かを判定する（Ｓ９３）。省電力モードに設定されている筐体２００に関する障害である場合（S93:YES）、コントローラ１１０は、スイッチボックス４００から通知された障害を障害として扱わず、管理装置１４に障害発生を通知しない（Ｓ９４）。スイッチボックス４００が、電源供給の停止されている筐体２００と通信できないのは予定されたことだからである。これに対し、スイッチボックス４００から通知された障害が、省電力モードに設定されていない筐体２００に関する障害である場合（S93:NO）、コントローラ１１０は、後述のように、その障害の発生箇所を特定し、障害処理を実行する（Ｓ９５）。
【０１３６】
図２５は、障害の発生箇所を特定するための処理を示すフローチャートである。以下の説明では、障害の発生をコントローラに通知した通知元の装置がスイッチボックス４００であり、プライマリ系統で障害が検出された場合を中心に説明する。
【０１３７】
通知元の装置は、診断対象装置と呼ぶ場合もある。診断対象装置としては、スイッチボックス４００や増設筐体２００を挙げることができる。診断対象装置が増設筐体２００の場合、即ち、障害の発生をコントローラに通報した装置が増設筐体２００である場合、以下の説明中、必要な箇所において、通信制御回路４１０を制御基板２１０と読み替えればよい。
【０１３８】
コントローラ１１０は、検出された障害がスイッチボックス４００の障害であるか否かを判定する（Ｓ１００）。図２４では、スイッチボックス４００が障害の発生を検出してコントローラ１１０に通知する場合を説明したが、各増設筐体２００もそれぞれ障害の発生を検出してコントローラ１１０に通知する機能を備えている。コントローラ１１０は、障害発生を知らせる情報を受領した場合、その通知元がスイッチボックス４００であるか増設筐体２００であるかを判別する（Ｓ１００）。
【０１３９】
スイッチボックス４００から障害発生が通知された場合（S100:YES）、他方のコントローラ１１０（＃１）から交替パスＬ２（＃１）を介して、そのスイッチボックス４００にアクセスを試みる（Ｓ１０１）。増設筐体２００から障害発生が通知された場合（S100:NO）、同様に、他方のコントローラ１１０（＃１）から交替パスＬ２（＃１）を介して、そのスイッチボックス４００にアクセスを試みる（Ｓ１０２）。
【０１４０】
障害の発生をコントローラに通知した装置に、交替パスＬ２（＃１）を介して正常にアクセスできたか否かが判定される（Ｓ１０３）。正常にアクセスできた場合（S103:YES）、他方のコントローラ１１０（＃１）から、交替パスＬ２（＃１）と制御線４１１及び制御線２１５を介して、プライマリの制御基板２１０（＃０）にアクセスを試みる（Ｓ１０４）。プライマリの制御基板２１０（＃０）にアクセスできた場合（S104:YES）、図２７に示すループバック診断処理を実行する（Ｓ１０６）。ループバック診断処理については、後述する。
【０１４１】
Ｓ１０３で「NO」と判定された場合、コントローラ１１０は、診断対象装置に接続されているPDB３００から正常に電源が出力されているか否かを判定する（Ｓ１０７）。PDB３００が正常に動作している場合（S107:YES）、コントローラ１１０は、スイッチボックス４００の電源部４２０の故障であると判定する（Ｓ１０８）。診断対象装置が増設筐体２００の場合、電源部２２０の故障であると判定される（Ｓ１０８）。これに対し、PDB３００から電源が正常に出力されていない場合（S107:NO）、コントローラ１１０は、そのPDB３００が故障していると判定する（Ｓ１０９）。
【０１４２】
Ｓ１０５で「NO」と判定された場合、コントローラ１１０は、スイッチボックス４００の基板上の電圧が正常か否かを判定する（Ｓ１１０）。基板上の電圧が正常な場合（S110:YES）、コントローラ１１０は、通信回路部分（EXP）の故障であると判定する（Ｓ１１１）。基板上の電圧が正常ではない場合（S110:NO）、コントローラ１１０は、基板上の電源経路上に障害が発生していると判定する（Ｓ１１２）。
【０１４３】
図２６は、障害発生箇所を特定する一例を示す説明図である。スイッチボックス４００のプライマリの通信制御回路４１０（＃０）が故障した場合を説明する。図２６（ａ）は、スイッチボックス４００から障害の発生が通知されたときの状態を示す。
【０１４４】
まず最初に、セカンダリ系統を用いて正常なアクセスを行うことができるか否かが検査される（Ｓ１０１）。コントローラ１１０（＃１）は、交替パスＬ２（＃１）を介してセカンダリの通信制御回路４１０（＃１）及びセカンダリの制御基板２１０（＃１）にアクセスすることができる（S103:YES）。
【０１４５】
次に、コントローラ１１０（＃１）は、交替パスＬ２（＃１）、セカンダリの通信制御回路４１０（＃１）、セカンダリの制御基板２１０（＃１）及び制御線２１５を介して、プライマリの制御基板２１０（＃０）にアクセスを試みる（Ｓ１０４）。つまり、プライマリの通信制御回路４１０（＃０）を迂回して、プライマリの制御基板２１０（＃０）にアクセスできるか否かを検査する。
【０１４６】
図２６（ｂ）に示すように、プライマリの通信制御回路４１０（＃０）を迂回すれば、プライマリの制御基板２１０（＃０）にアクセスできる場合（S105:YES）、プライマリの通信制御回路４１０（＃０）の故障であると判定することができる。そこで、ループバック診断処理を実行する。
【０１４７】
図２７は、ループバック診断処理を示すフローチャートである。コントローラ１１０は、プライマリパスを用いてループバックテストを開始させ（Ｓ１２０）、応答が返って来なかったか否かを判定する（Ｓ１２１）。応答があった場合（S120:NO）、コントローラ１１０は、応答結果に基づいて、障害の発生したパスを特定する（Ｓ１２３）。
【０１４８】
応答が無かった場合（S121:YES）、コントローラ１１０は、セカンダリパスを用いてループバックテストを開始させ（Ｓ１２２）、応答が無かったか否かを判定する（Ｓ１２３）。応答が無かった場合（S124:YES）、コントローラ１１０は、スイッチボックス４００内の通信制御回路４１０の故障であると判定する（Ｓ１２５）。応答があった場合（S124:NO）、コントローラ１１０は、コントローラ１１０とスイッチボックス４００との間の通信パスＬ２にリンク障害が発生していると判定する（Ｓ１２６）。
【０１４９】
図２８は、障害を検出し、その検出された障害の発生箇所を特定し、特定された障害について対応するための、障害処理の全体概要を示すフローチャートである。まず、図２４に示す処理により、記憶制御装置内で発生した障害が検出される（Ｓ１３０）。次に、図２５に示す処理により、障害の発生した箇所が特定される（Ｓ１３１）。
【０１５０】
コントローラ１１０は、障害の発生したパス（以下、障害パスとも呼ぶ）を特定することができたか否かを判定する（Ｓ１３２）。障害パスを特定できた場合（S132:YES）、コントローラ１１０は、障害パスを閉塞させる（Ｓ１３３）。
【０１５１】
障害パスを特定できない場合（S132:NO）、コントローラ１１０は、各通信制御回路４１０（＃０，＃１）間及び各制御基板２１０（＃０，＃１）間の通信により、障害情報を入手し、この障害情報に基づいて、パスと通信制御回路４１０のいずれに障害が生じたのかを判定する。
【０１５２】
通信制御回路４１０の障害ではなく、パスの障害であると判定した場合（S135:NO）、コントローラ１１０は、そのパスを閉塞させる（Ｓ１３３）。通信制御回路４１０の障害であると判定した場合（S135:YES）、コントローラ１１０は、その通信制御回路４１０から延びる全てのパスを閉塞させ、通信制御回路４１０の障害であると認定する（Ｓ１３８）。そして、コントローラ１１０は、スイッチボックス４００の早期の交換をユーザに促すために、アラームを管理装置１４に出力する（Ｓ１３９）。
【０１５３】
一方、障害パスを個別に閉塞した後（Ｓ１３３）、コントローラ１１０は、通信制御回路４１０から延びる全てのパスが閉塞されたか否かを判定する（Ｓ１３６）。全てのパスが閉塞された場合（S136:YES）、コントローラ１１０は、通信制御回路４１０の障害であると判断し（Ｓ１３８）、アラームを出力する（Ｓ１３９）。なお、Ｓ１３６からＳ１３８に移行した場合、既に通信制御回路４１０から延びる各パス（Ｌ３）は閉塞されているため、Ｓ１３８ではパスの閉塞を行う必要はない。
【０１５４】
一部のパスのみが閉塞された場合（S136:NO）、コントローラ１１０は、ユーザに保守交換の必要性を訴えるべく、ワーニングを管理装置１４に出力する（Ｓ１３７）。この時点では、交替パス等を使用してディスクドライブ２３０にアクセス可能であるから、記憶制御装置は通常通り動作する。但し、閉塞されたパスについては、冗長性が失われているため、保守交換されるのが好ましい。
【０１５５】
上述のように、本実施例の記憶制御装置は、障害発生を検出した場合、障害発生箇所を特定することができる。そして、ワーニングやアラームを管理装置１４に出力し、記憶制御装置の状態をユーザに通知することができる。
【０１５６】
図２９は、記憶制御装置の状態を表形式でユーザに通知するための画面Ｇ１を示す説明図である。この状態確認画面Ｇ１は、各装置（スイッチボックス、筐体、PDB）毎の状態表示部Ｇ１１〜Ｇ１３を備えている。
【０１５７】
各状態表示部Ｇ１１〜Ｇ１３は、例えば、その装置を識別する情報と、その装置全体の作動状態の良否と、その装置内の各構成要素の個別の作動状態や省電力状態、接続先の部位の情報、接続先の部位の省電力状態等を表示する。
【０１５８】
図３０は、記憶制御装置の状態をグラフィカルに表示するための画面Ｇ２を示す説明図である。この状態確認画面Ｇ２は、記憶制御装置の構成を図形化して表現し、各装置の状態を表示色等で示す。例えば、保守交換の必要な装置またはその構成要素は、赤く着色して表示し、早期の交換が必要な装置またはその構成要素は、赤く点滅させて表示することができる。
【０１５９】
このように構成される本実施例によれば、基本筐体１００と各増設筐体２００とをスイッチボックス４００を介してスイッチ接続するため、PDB３００を用いて各筐体への電源供給を個別に制御することができる。また、本実施例では、スイッチボックス４００を介した通信に障害が発生した場合に、その発生箇所を特定し、閉塞処理や警報等の必要な処理を行うことができるため、ユーザの使い勝手が向上する。
【実施例２】
【０１６０】
図３１に基づいて、本発明の第２実施例を説明する。本実施例を含む以下の各実施例は、第１実施例の変形例に該当する。本実施例では、PDB３００Ａに情報収集機能を設けている。
【０１６１】
図３１は、本実施例による記憶制御装置の構成を部分的に示すブロック図である。PDB３００Ａは、通信線Ｌ７によって、スイッチボックス４００内の各通信制御回路４１０とコントローラ１１０とを接続する。説明の便宜上、図３１中の左側のPDB３００Ａについてのみ示しているが、右側のPDB３００Ａも同様である。通信線Ｌ７は、例えば、ＬＡＮのように構成することができる。コントローラ１１０は、通信線Ｌ７を介して、各通信制御回路４１０の状態を取得することができる。
【０１６２】
なお、PDBを経由する電力線搬送通信（PLC：Power Line Communications）により、スイッチボックス４００内の各通信制御回路４１０とコントローラ１１０とが通信を行う構成としてもよい。
【実施例３】
【０１６３】
図３２は、第３実施例に係る記憶制御装置の接続構成を模式的に示す説明図である。本実施例の増設筐体２００は、上位筐体２００Ａと下位筐体２００Ｂとに大別される。上位筐体２００Ａは、前記第１実施例で述べたように、スイッチボックス４００を介して、基本筐体１００にスイッチ接続される。下位筐体２００Ｂは、上位筐体２００Ａにディジーチェーン接続されている。
【０１６４】
本実施例では、ディジーチェーン単位で、電源供給を制御する。即ち、上位筐体２００Ａ及び上位筐体２００Ａに繋がる全ての下位筐体２００Ｂにおいて、それぞれ全ディスクドライブ２３０がスピンダウンした場合に、上位筐体２００Ａ及び各下位筐体２００Ｂへの電源供給を停止させる。
【０１６５】
本実施例では、電源供給を制御する単位が第１実施例よりも大きくなるが、ディジーチェーン接続を用いる既存の記憶制御装置に、スイッチボックス４００によるスイッチ接続を比較的容易に導入することができる。
【０１６６】
なお、本発明は、上述した実施の形態に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。例えば、各実施例を適宜組み合わせることができる。
【図面の簡単な説明】
【０１６７】
【図１】本発明の実施形態の概念を示す説明図である。
【図２】記憶制御装置の正面図である。
【図３】基本筐体を前側から見た斜視図である。
【図４】基本筐体を後側から見た斜視図である。
【図５】増設筐体を前側から見た斜視図である。
【図６】増設筐体を後側から見た斜視図である。
【図７】記憶制御装置の接続構成を模式的に示す説明図である。
【図８】記憶制御装置のブロック図である。
【図９】記憶制御装置の一部を抜き出して示す回路図である。
【図１０】記憶制御装置の電源供給構造を示す説明図である。
【図１１】記憶制御装置の構成を簡略化して示す説明図である。
【図１２】コントローラの構成を示す説明図である。
【図１３】増設筐体の構成を示す説明図である。
【図１４】制御基板の構成を示す説明図である。
【図１５】ボリュームを管理するためのテーブルを示す説明図である。
【図１６】電源供給状態を管理するためのテーブルを示す説明図である。
【図１７】各ドライブ毎に節電するための処理を示すフローチャートである。
【図１８】増設筐体毎に電源供給を停止するための処理を示すフローチャートである。
【図１９】スイッチボックス毎に電源供給を停止するための処理を示すフローチャートである。
【図２０】ライト処理を示すフローチャートである。
【図２１】リード処理を示すフローチャートである。
【図２２】電源供給を開始する場合の処理を示すフローチャートである。
【図２３】記憶制御装置を起動させる場合の処理を示すフローチャートである。
【図２４】障害検出処理を示すフローチャートである。
【図２５】障害発生箇所を特定する処理を示すフローチャートである。
【図２６】障害を特定する様子を説明するための説明図である。
【図２７】ループバック診断処理を示すフローチャートである。
【図２８】障害処理の全体を示すフローチャートである。
【図２９】記憶制御装置の各部の状態を示す画面例である。
【図３０】記憶制御装置の各部の状態を示す別の画面例である。
【図３１】第２実施例に係る記憶制御装置の構成を部分的に示すブロック図である。
【図３２】第３実施例に係る記憶制御装置の構成を部分的に示すブロック図である。
【符号の説明】
【０１６８】
１…基本筐体、１Ａ…上位通信部、１Ｂ…下位通信部、１Ｃ…I/O処理部、１Ｄ…電源制御部、１Ｅ…構成情報管理部、１Ｆ…障害診断部、２…増設筐体、２Ａ…制御基板、２Ｂ…ディスクドライブ、２Ｃ…冷却ファン、３…電源供給回路部、３Ａ…スイッチ、４…装置間スイッチ、４Ａ…カスケード接続用通信経路、５…ホスト、６…外部電源、７…管理装置、１０…基本ラック、１１…増設ラック、１３…ホスト、１４…管理装置、１００…基本筐体、１０１…ケーシング、１１０…コントローラ、１１１…ホストインターフェース回路、１１２…ドライブインターフェース回路、１１３…データ転送回路、１１４…キャッシュメモリ、１１５…プログラムメモリ、１１６…プロセッサ、１１７…ブリッジ、１１８…ＬＡＮインターフェース、１１９…制御線、１２０…筐体内電源部、１３０…冷却ファン、１４０…バッテリ、２００…増設筐体、２００Ａ…上位筐体、２００Ｂ…下位筐体、２０１…ケーシング、２０２…冷却ファン、２１０…制御基板、２１１…マイクロプロセッサ部、２１１Ａ…資源管理機能、２１１Ｂ…コマンド処理機能、２１１Ｃ…電源制御機能、２１１Ｄ…冷却ファン制御機能、２１２…通信インターフェース部、２１３…制御信号出力回路、２１５…制御線、２２０…筐体内電源部、２２１…電圧変換回路、２２２Ａ〜２２２Ｃ…出力ダイオード、２２３…出力制御スイッチ、２３０…ディスクドライブ、２４０…ＲＡＩＤグループ、２５０…論理ボリューム、３００…電源分配回路部（PDB）、３１０…スイッチ、３２０…制御回路、３３０…電源部、３４０…ブレーカ、４００…スイッチボックス、４１０…通信制御回路、４１１…制御線、４２０…筐体内電源部、Ｔ１…ボリューム管理テーブル、Ｔ２…省電力管理テーブル
【図１】
2009015584.tif 000003
【図２】
2009015584.tif 000004
【図３】
2009015584.tif 000005
【図４】
2009015584.tif 000006
【図５】
2009015584.tif 000007
【図６】
2009015584.tif 000008
【図７】
2009015584.tif 000009
【図８】
2009015584.tif 000010
【図９】
2009015584.tif 000011
【図１０】
2009015584.tif 000012
【図１１】
2009015584.tif 000013
【図１２】
2009015584.tif 000014
【図１３】
2009015584.tif 000015
【図１４】
2009015584.tif 000016
【図１５】
2009015584.tif 000017
【図１６】
2009015584.tif 000018
【図１７】
2009015584.tif 000019
【図１８】
2009015584.tif 000020
【図１９】
2009015584.tif 000021
【図２０】
2009015584.tif 000022
【図２１】
2009015584.tif 000023
【図２２】
2009015584.tif 000024
【図２３】
2009015584.tif 000025
【図２４】
2009015584.tif 000026
【図２５】
2009015584.tif 000027
【図２６】
2009015584.tif 000028
【図２７】
2009015584.tif 000029
【図２８】
2009015584.tif 000030
【図２９】
2009015584.tif 000031
【図３０】
2009015584.tif 000032
【図３１】
2009015584.tif 000033
【図３２】
2009015584.tif 000034