記憶制御装置及び筐体単位の電源制御方法
【課題】本発明の記憶制御装置は、各筐体をスイッチ接続し、アクセスされていない筐体への通電を個別に停止させて電力消費量を低減させる。
【解決手段】基本筐体1には、複数の増設筐体2が装置間スイッチ4を介してスイッチ接続される。所定時間以上アクセスされていないドライブ2Bは、スピンダウンされる。筐体内の全ドライブ2Bがスピンダウン状態になると、筐体内電源から各ドライブ2Bへの電源供給が停止される。基本筐体1は、ある筐体2内の全ドライブ2Bがスピンダウンした場合、その筐体2に接続されている電源分配回路3内のスイッチ3Aをオフさせる。これにより、その筐体2への通電が停止される。障害診断部1Fは、装置間スイッチ4を用いた通信上に発生した障害を検出し、その発生箇所を特定する。
【解決手段】基本筐体1には、複数の増設筐体2が装置間スイッチ4を介してスイッチ接続される。所定時間以上アクセスされていないドライブ2Bは、スピンダウンされる。筐体内の全ドライブ2Bがスピンダウン状態になると、筐体内電源から各ドライブ2Bへの電源供給が停止される。基本筐体1は、ある筐体2内の全ドライブ2Bがスピンダウンした場合、その筐体2に接続されている電源分配回路3内のスイッチ3Aをオフさせる。これにより、その筐体2への通電が停止される。障害診断部1Fは、装置間スイッチ4を用いた通信上に発生した障害を検出し、その発生箇所を特定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、記憶制御装置及び筐体単位の電源制御方法に関する。
【背景技術】
【0002】
記憶制御装置は、多数のハードディスクドライブをアレイ状に接続した記憶部を備えており、サーバ等のホストコンピュータ(以下「ホスト」)に、論理的な記憶領域(論理ボリューム)を提供する。信頼性等を高めるために、記憶制御装置では、RAID(Redundant Array of Independent Disks)に基づく冗長化された記憶領域をホストに提供する。
【0003】
企業等で管理すべきデータは日々増大する。従って、データ量の増大に応じて、記憶容量を適宜増加させることのできる記憶制御装置が好ましい。そこで、制御機能を司る基本筐体に、記憶領域を提供する増設筐体を複数個接続させることにより、ユーザの希望に応じた記憶領域を提供可能な記憶制御装置が提案されている(特許文献1)。
【0004】
この第1文献に記載の従来技術では、基本筐体への電源供給の開始または停止と、各増設筐体への電源供給の開始または停止とを連動させる。これにより、記憶制御装置を完全に停止させる場合には、基本筐体への電源供給を停止させるだけで、各増設筐体への電源供給を全て自動的に停止させることができる。
【0005】
第2文献に記載の他の従来技術では、RAIDグループを構成する各磁気ディスク装置を節電モードに移行させるようになっている(特許文献2)。
【特許文献1】特開2001−339853号公報
【特許文献2】特開2000−293314号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
前記第1文献に記載の従来技術では、基本筐体への電源供給動作と各増設筐体の電源供給動作とを連動させるだけのものであり、記憶制御装置の電力消費量を低減させるという観点からは効果が乏しい。
【0007】
これに対し、前記第2文献に記載の従来技術では、一定期間アクセスされない磁気ディスク装置を節電モードに移行させるため、記憶制御装置の電力消費量を低減させることができる。
【0008】
しかし、第2文献に記載の従来技術では、RAIDグループを構成する各磁気ディスク装置の電力消費量を節減するに留まり、さらなる改善の余地がある。即ち、各磁気ディスク装置が節電モードに移行した場合でも、筐体内の制御回路部や冷却ファン、電源回路には電源が供給されており、稼働を続けている。従って、磁気ディスク装置以外の各部における電力消費量について改善の余地がある。
【0009】
本発明は、上記の問題点に鑑みてなされたもので、その目的は、第1筐体と各第2筐体とをスイッチ接続することにより、筐体単位で電源の供給及び停止を行うことができ、かつ、第1筐体と各第2筐体との間の通信に関する障害を検出して診断することができるようにした、記憶制御装置及び筐体単位の電源制御方法を提供することにある。本発明の他の目的は、第1筐体と各第2筐体とをスイッチ接続することにより、筐体単位で電源の供給及び停止を行うことができ、かつ、省電力状態に設定された筐体及び筐体間接続スイッチについては初期起動時に電源を供給しないことにより、より一層電力消費量を低減することのできる記憶制御装置及び筐体単位の電源制御方法を提供することにある。本発明のさらなる目的は、後述する実施形態の記載から明らかになるであろう。
【課題を解決するための手段】
【0010】
上記課題を解決すべく、本発明の一つの観点に従う、複数の筐体を備える記憶制御装置は、上位装置からのアクセス要求に応じて記憶デバイスにデータを入出力させるための第1筐体と、第1筐体からの指示に応じて動作する少なくとも一つ以上の第2筐体であって、記憶デバイスをそれぞれ備える第2筐体と、第1筐体と各第2筐体とをスイッチ接続する筐体間接続スイッチと、第1筐体と各第2筐体及び筐体間接続スイッチにそれぞれ個別に電源を供給する電源供給回路部と、を備え、第1筐体は、上位装置との間で通信を行うための上位通信部と、筐体間接続スイッチを介して各第2筐体と通信を行うための下位通信部と、第1筐体及び各第2筐体の構成に関する情報を管理する構成情報管理部と、構成情報を用いて各第2筐体または筐体間接続スイッチ毎に電源の供給または停止を制御する電源制御部と、下位通信部と各第2筐体との間の通信に関する障害を検出して診断する障害診断部と、を備える。
【0011】
本発明の実施形態では、構成情報には、各記憶デバイスのスピン状態と、各第2筐体及び筐体間接続スイッチの省電力状態とが少なくとも含まれており、電源制御部は、各第2筐体及び筐体間接続スイッチの全体に電源を供給しようとする初期起動時に構成情報を参照し、省電力状態に設定されていない各第2筐体及び筐体間接続スイッチにのみ電源を供給し、省電力状態に設定されている各第2筐体及び筐体間接続スイッチには電源を供給しない。
【0012】
本発明の実施形態では、構成情報には、第1筐体から筐体間接続スイッチを介して各第2筐体内の記憶デバイスに至るまでの接続構成を示す状態が少なくとも含まれており、障害診断部は、筐体間接続スイッチまたは各第2筐体のいずれかの診断対象装置で生じた、通信に関する障害を検出する障害検出部と、構成情報を用いることにより、障害の発生箇所を特定する特定部と、特定された障害に関して通知する通知部と、を備える。
【0013】
本発明の実施形態では、(1)第1筐体から各記憶デバイスに至る通信経路は、プライマリパス及びセカンダリパスによって冗長化されており、(2)筐体間接続スイッチ及び各第2筐体は、(2-1)電源供給回路から電源が供給される電源回路と、(2-2)電源回路から出力される電源によって駆動し、プライマリパスに接続されるプライマリ制御基板と、(2-3)電源回路から出力される電源によって駆動し、セカンダリパスに接続されるセカンダリ制御基板と、(2-4)プライマリ制御基板とセカンダリ制御基板との間に設けられ、プライマリパスとセカンダリパスとを相互に接続するための制御線と、をそれぞれ備えており、(3)特定部は、障害検出部により障害が検出された場合、(3-1)障害の検出された診断対象装置に、セカンダリパスを介してアクセスを試み、(3-2)セカンダリパスを介して診断対象装置にアクセスできない場合には、診断対象装置内の電源回路に接続されている電源供給回路部の電源出力状態を調べ、(3-2-1)電源供給回路から電源が正常に出力されていない場合には、電源供給回路の障害であると判定し、(3-2-2)電源供給回路から電源が正常に出力されている場合には、診断対象装置内の電源回路の障害であると判定し、(3-3)セカンダリパスを介して診断対象装置にアクセスできる場合には、セカンダリパスから制御線を介してプライマリパスを使用可能か否かを調査し、(3-3-1)制御線を介してもプライマリパスを使用できない場合、診断対象装置内の電圧が正常か否かを調査して、電圧が正常な場合は診断対象装置内の通信制御回路の障害であると判定し、電圧が正常ではない場合は診断対象装置内の電源回路または電源回路から通信制御回路に至る給電路の障害であると判定し、(3-3-2)制御線を介してプライマリパスを使用できる場合、リンク障害であると判定する。
【0014】
本発明の実施形態では、特定部は、(4)リンク障害であると判定した場合に、(4-1)プライマリパスを用いて第1の内部ループバックテストを行い、この第1の内部ループバックテストにより応答が得られた場合には、診断対象装置に接続されている接続先装置と診断対象装置との間のパスの障害であると判定し、(4-2)第1の内部ループバックテストにより応答が得られない場合は、セカンダリパスを用いて第2のループバックテストを行い、この第2の内部ループバックテストにより応答が得られない場合は、診断対象装置内の通信制御回路の障害であると判定し、第2の内部ループバックテストにより応答が得られた場合は、診断対象装置と第1筐体との間のパスに障害が生じていると判定するようになっている。
【0015】
本発明の実施形態では、第1筐体は、カスケード接続された複数の筐体間接続スイッチを介して、複数の第2筐体に接続されている。
【0016】
本発明の実施形態では、各第2筐体は、上位第2筐体と下位第2筐体とに分類することができ、上位第2筐体は、筐体間接続スイッチを介して第1筐体にスター接続されており、下位第2筐体は、上位第2筐体にディジーチェーン接続されている。
【0017】
本発明の実施形態では、電源制御部は、(1)各第2筐体のうち、その筐体内の全ての記憶デバイスが節電モードに移行している第2筐体への電源供給を停止させ、(2)上位装置から発行されるアクセス要求に応じて、電源供給の停止された第2筐体への電源供給を再開させる。
【0018】
本発明の他の観点に従う、筐体単位で記憶制御装置の電源供給を制御する方法は、(1)記憶制御装置は、上位装置からのアクセス要求に応じて記憶デバイスにデータを入出力させるための第1筐体と、この第1筐体からの指示に応じて動作する少なくとも一つ以上の第2筐体であって、記憶デバイスをそれぞれ備える第2筐体と、第1筐体と各第2筐体とをスイッチ接続する筐体間接続スイッチと、第1筐体と各第2筐体及び筐体間接続スイッチにそれぞれ個別に電源を供給する電源供給回路部と、を備えており、(2)第1筐体は、上位装置との間で通信を行うための上位通信部と、筐体間接続スイッチを介して各第2筐体と通信を行うための下位通信部と、第1筐体及び各第2筐体の構成に関する情報を管理する構成情報管理部と、構成情報を用いて各第2筐体または筐体間接続スイッチ毎に電源の供給または停止を制御する電源制御部と、下位通信部と各第2筐体との間の通信に関する障害を検出して診断する障害診断部と、を備えており、(3)構成情報には、各記憶デバイスのスピン状態と、各第2筐体及び筐体間接続スイッチの省電力状態と、第1筐体から筐体間接続スイッチを介して各第2筐体内の記憶デバイスに至るまでの接続構成を示す状態とが少なくとも含まれており、(4)障害診断部は、筐体間接続スイッチまたは各第2筐体のいずれかの診断対象装置で生じた、通信に関する障害を検出する検出ステップと、構成情報を用いることにより、障害の発生箇所を特定する特定ステップと、特定された障害に関して通知する通知ステップと、をそれぞれ実行する。
【発明を実施するための最良の形態】
【0019】
以下、図面に基づき、本発明の実施の形態を説明する。図1は、本実施形態に係る記憶制御装置の全体概要を示す説明図である。本実施形態では、以下に述べるように、「第1筐体」としての基本筐体1と「第2筐体」としての増設筐体2とを「筐体間接続スイッチ」としての装置間スイッチ4を介してスイッチ接続し、いずれの増設筐体2も筐体単位で個別に電源供給を制御できるようにしている。さらに、本実施形態では、基本筐体1と各増設筐体2との間の通信経路上に生じた障害を検出し、その障害の発生箇所を特定することができるようになっている。
【0020】
本実施形態による記憶制御装置は、基本筐体1と、複数の増設筐体2とを備えて構成されている。基本筐体1と各増設筐体2とは、装置間スイッチ(以下、スイッチと略す場合がある)4を介して、スイッチ接続される。また、スイッチ4は通信経路4Aを介してカスケード接続することができ、これにより、多数の増設筐体2を基本筐体1に接続できるようになっている。
【0021】
基本筐体1と各増設筐体2との間の信号やデータの伝達は、装置間スイッチ4を介して行われる。即ち、基本筐体1を中心として、各増設筐体2がスター接続されている。基本筐体1は、記憶制御装置全体の制御を司る筐体であり、上位装置としてのホスト5及び各増設筐体2と接続される。基本筐体1は、ホスト5から発行されたコマンドに応じて、増設筐体2内のディスクドライブ2Bにアクセスし、データの読み書きを行う。
【0022】
基本筐体1は、例えば、上位通信部1Aと、下位通信部1Bと、I/O処理部1Cと、電源制御部1Dと、構成情報管理部1Eと、障害診断部1Fとを備えている。後述の実施例からも明らかなように、基本筐体1は、ディスクドライブを備えることもできる。
【0023】
上位通信部1Aは、ホスト5との間で通信を行うためのものである。下位通信部1Bは、スイッチ4を介して各増設筐体2との間で通信を行うためのものである。ホスト5と上位通信部1Aとは、例えば、ファイバチャネルプロトコル、iSCSI(internet Small Computer System Interface)、IP(Internet Protocol)プロトコル等のプロトコルに従って、通信を行う。下位通信部1Bと各増設筐体2とは、例えば、ファイバチャネルプロトコルに従って通信を行う。以上は例示であり、本発明はプロトコルの種類で限定されない。
【0024】
I/O処理部1Cは、ホスト5から発行されたコマンドに基づいて、各増設筐体2内のディスクドライブ2Bにアクセスすることにより、データを書き込んだり、または、データを読み出したりする。
【0025】
電源制御部1Dは、基本筐体1が有する制御機能の一つであり、各増設筐体2に関する電源の供給及び停止を制御する。電源制御部1Dは、例えば、複数種類の省電力モードをそれぞれのタイミングで実行させることができる。
【0026】
ドライブ単体の省電力を実現させるモードでは、例えば、一定時間アクセスされないディスクドライブ2Bのモータへの通電を停止させたり、電子回路の一部を停止させることにより、ドライブ毎の省電力を実現する。
【0027】
全ドライブへの通電を停止させるモードでは、同一筐体に設けられている全てのディスクドライブ2Bへの通電を停止させることにより、筐体内のディスクドライブ全体について省電力を実現する。なお、この省電力モードでは、例えば、冷却ファン2Cのような、全ディスクドライブ2Bの停止に伴って停止させることのできる装置への通電を停止させることもできる。
【0028】
筐体全体への通電を停止させるモードでは、電源供給回路部3のスイッチ3Aを開くことにより、外部電源6から増設筐体2への電源供給を完全に停止させる。この省電力モードでは、増設筐体2の各機能は停止され、最も省電力効果が高くなる。
【0029】
電源制御部1Dは、自己診断モードを備えることもできる。自己診断モードでは、筐体全体への通電が停止された増設筐体2に対して、定期的にまたは不定期に通電することにより、その増設筐体2が正常に動作するか否かを診断する。
【0030】
構成情報管理部1Eは、記憶制御装置のシステム構成に関する情報を記憶し、管理している。システム構成に関する情報としては、例えば、ディスクドライブ2Bの配置に関する情報、RAIDグループや論理ボリュームの構成に関する情報、増設筐体2と電源供給回路部3との接続構成に関する情報、基本筐体1と各増設筐体2の接続構成に関する情報等を挙げることができる。本実施形態では、記憶制御装置に関する全ての構成情報を基本筐体1が一元的に管理する。電源制御部1Dは、システム構成情報を参照することにより、目的の増設筐体2への通電停止等を行う。
【0031】
障害診断部1Fは、下位通信部1Bと各増設筐体2との間の通信に関して発生した障害を検出し、その発生箇所を特定して管理装置7に通知する。障害の検出方法及び障害発生箇所の特定方法は後述の実施例で詳細に説明する。
【0032】
電源供給回路部3は、例えば、外部電源6からの交流電源を各筐体1,2にそれぞれ分配するための回路である。ここでは、基本筐体1への電源分配については省略しているが、後述の実施例から明らかなように、電源供給回路部3を介して、外部電源6と基本筐体1とは接続されている。
【0033】
電源供給回路部3は、各筐体1,2及び各スイッチ4に電源をそれぞれ供給するための回路である。電源供給回路部3は、各増設筐体2と外部電源6とをそれぞれ接続するスイッチ3Aを備えている。従って、目的の増設筐体2またはスイッチ4への電源供給を停止させる場合は、その増設筐体2またはスイッチ4に接続されたスイッチ3Aを開く。これにより、目的の増設筐体2またはスイッチ4への電力供給経路が遮断される。
【0034】
電源供給回路部3は、各筐体1,2と独立した装置として構成可能である。これに限らず、電源供給回路部3を各筐体1,2内に設けることもできる。即ち、例えば、スイッチ3Aを各増設筐体2内に設ける構成でもよい。
【0035】
各増設筐体2は、例えば、制御基板2Aと、複数のディスクドライブ2Bと、筐体内電源部(後述の実施例を参照)と、冷却ファン2Cとをそれぞれ備えて構成される。制御基板2Aは、基本筐体1からの指示に基づいて、ディスクドライブ2Bへのデータ入出力を行う。
【0036】
ディスクドライブ2Bは、記憶デバイスに該当する。ここでは、便宜上、ディスクドライブと呼ぶが、ディスク以外の媒体を用いる記憶デバイスでもよい。ディスクドライブ2Bとしては、例えば、ハードディスクドライブ、半導体メモリデバイス、フラッシュメモリデバイス、光ディスクドライブ、光磁気ディスクドライブ、磁気テープデバイス、ホログラフィックスメモリデバイス等を用いることができる。
【0037】
筐体内電源部は、例えば、外部電源6から電源供給回路部3を介して入力された交流電源または直流電源を、所定の電圧を有する直流電源に変換し、制御基板2A,各ディスクドライブ2B及び冷却ファン2Cにそれぞれ供給する。筐体内電源部は、制御基板2Aからの指示に応じて、各ディスクドライブ2Bへの通電を停止させることができるように構成することができる。
【0038】
冷却ファン2Cは、増設筐体2内に冷却風を導いて冷却させるものである。冷却ファン2Cは、増設筐体2内に存在するディスクドライブ2B以外の負荷の一例である。冷却ファン2Cは、制御基板2Aからの信号によって動作する。即ち、制御基板2Aは、例えば、冷却ファン2Cの動作開始や動作停止、回転数を制御することができる。なお、空冷機構として冷却ファン2Cを挙げたが、増設筐体2は水冷機構を備える構成でもよい。水冷機構の場合は、例えば、冷却水循環ポンプや熱交換器の動作を制御することにより、増設筐体2の電力消費量を節減する。
【0039】
上述のように、本実施形態では、基本筐体1を中心として各増設筐体2がスター型に配置されている。従って、基本筐体1との間で通信を行う上では、各増設筐体2はそれぞれ独立しており、互いに他の増設筐体2に影響を与えない。即ち、基本筐体1は、目的の増設筐体2と直接的に通信を行うことができるため、ある増設筐体2への電源供給が遮断されている場合でも、他の増設筐体2は、基本筐体1と通信を行うことができる。従って、基本筐体1は、全ディスクドライブ2Bが省電力モードに移行している増設筐体2への電源供給を自由に停止させることができる。
【0040】
なお、ディスクドライブ2Bは、その性能や信頼性によって複数のグループに分類することができる。例えば、FC(Fibre
Channel)ディスク等のような高性能のディスクドライブと、例えば、SATA(Serial AT Attachment)ディスク等のような低性能のディスクドライブ等である。各増設筐体2には、それぞれ同一種類のディスクドライブ2Bを内蔵させることができる。即ち、ある増設筐体2は、高性能のディスクドライブ2Bのみを内蔵し、他の増設筐体2は、低性能のディスクドライブ2Bのみを内蔵する。
【0041】
そして、例えば、高性能のディスクドライブ2Bには、ホスト5によって頻繁に使用されるデータを記憶させ、低性能のディスクドライブ2Bにはホスト5による利用頻度の少ないデータ(例えば、バックアップデータやアーカイブデータ)を記憶させる。これにより、低性能のディスクドライブ2Bを内蔵する増設筐体2に電源を供給する時間を短くすることができ、電力消費量を低減できる。以下、本実施形態の記憶制御装置を詳細に説明する。
【実施例1】
【0042】
図2は、記憶制御装置の正面図を模式的に示す説明図である。記憶制御装置は、例えば、基本ラック10と一つまたは複数の増設ラック11とをケーブル等で接続することにより、構成される。基本ラック10は、例えば、基本筐体100と、複数の増設筐体200と、複数のスイッチボックス400とを備える。基本ラック10は、記憶制御装置の最小構成であり、基本ラック10のみで記憶制御装置の機能を実現することができる。
【0043】
増設ラック11は、例えば、複数の増設筐体200及び複数のスイッチボックス400を備える。基本ラック10の記憶容量が足りなくなった場合、増設ラック11を基本ラック10に接続することにより、記憶容量を増加させることができる。
【0044】
図3は、基本筐体100を前面側から見た斜視図である。基本筐体100のケーシング101には、その前面側101Fに、複数のバッテリ140及び複数のディスクドライブ230がそれぞれ設けられる。基本筐体100は、ディスクドライブ230を備える構成でもよいし、ディスクドライブ230を備えない構成でもよい。ディスクドライブ230を備えない場合、前面101Fの所定箇所は、バッテリ等の他の構成品が搭載されるか、又は、化粧板等で施蓋される。
【0045】
図4は、基本筐体100を後面側から見た斜視図である。ケーシング101の後面側101Rには、例えば、複数のコントローラ110と、複数の筐体内電源部120と、複数の冷却ファン130とがそれぞれ取り付けられる。
【0046】
冷却ファン130は、複数のファンが一体化されたファンアッセンブリとして構成されており、ケーシング101の左右両側にそれぞれ配置される。コントローラ110は、ケーシング101の中央に上下に並んで配置される。筐体内電源部120は、ケーシング101の下側に、左右に並んで配置される。なお、以下の増設筐体200の説明でも同様であるが、基本筐体100及び増設筐体200の構成は、図示するものに限定されない。
【0047】
図5は、増設筐体200を前面側から見た斜視図である。増設筐体200のケーシング201には、その前面側201Fに、複数のディスクドライブ230を取り付けることができる。本実施例では、#0〜#14の合計15台のディスクドライブ230が取り付けられる場合を例に挙げて説明する。1つの筐体当たりのディスクドライブ搭載数は、15に限定されない。ディスクドライブ230が取り付けられていない空間は、化粧板等で施蓋することにより、外部の塵埃等がケーシング201内に侵入するのを防止する。
【0048】
図6は、増設筐体200を後面側から見た斜視図である。ケーシング201の後面側201Rには、複数の制御基板210及び複数の筐体内電源部220がそれぞれ取り付けられている。なお、図6の構成においては、冷却ファンは筐体内電源部220内に搭載されているが、図10に示すように、増設筐体200には、冷却ファン202を設けることができる。即ち、冷却ファンと電源部とを別々の構成部品としてもよい。
【0049】
図7は、記憶制御装置の構成を模式的に示す説明図である。各ラック10,11内には、各筐体100,200に外部からの電源を供給するための電源分配回路部300がそれぞれ設けられている。以下の説明では、電源分配回路部300をPDB(Power Distribution Box)と呼ぶ。
【0050】
記憶制御装置は、複数の電源供給系統を備えることができる。1つの系統は、図7中の左側にPDB#0で示すプライマリ系統であり、他の1つの系統は、図7中の右側にPDB#1で示すセカンダリ系統である。即ち、記憶制御装置の電源供給構造は、プライマリ系統及びセカンダリ系統によって冗長化されている。
【0051】
各PDB300は、例えば、4個,6個等のような所定数の筐体に、外部からの電源を分配することができる。従って、1つのラック内に多数の筐体が取り付けられる場合、複数の電源供給系統のそれぞれにおいて、複数のPDB300が必要となる。なお、これに代えて、ラックに装着可能な最大数の筐体に外部からの電源を分配可能な単一のPDBを、各電源供給系統毎に使用する構成でもよい。
【0052】
各PDB300は、所定数のスイッチ310を備えている。各スイッチ310は、それぞれ対応する筐体内の電源部に接続される。図中では、AC/DC電源部を「PS」と略記して示している。
【0053】
基本筐体100の有する各筐体内電源部120は、それぞれ別系統のPDB300のスイッチ310に接続されている。同様に、各増設筐体200の有する各筐体内電源部220も、それぞれ別系統のPDB300のスイッチ310にそれぞれ接続されている。従って、いずれか一方のPDB300に障害が生じた場合でも、他方のPDB300から各筐体100,200に電源を供給することができる。
【0054】
基本筐体100のコントローラ110は、図中に一点鎖線で示すように、信号線L1を介して、各PDB300にそれぞれ接続されている。コントローラ110は、各スイッチ310の開閉を個別に制御することができる。コントローラ110は、目的の増設筐体200への電源供給を完全に停止させる場合、その増設筐体200に接続された各系統のスイッチ310をそれぞれ開くことにより、外部電源と筐体内電源部220との間の電源供給経路を遮断させる。
【0055】
なお、各コントローラ110と各PDB300とは、有線接続でもよいし、無線接続でもよい。無線接続の場合は、PDB300内に、コントローラ110からの無線信号に応じて各スイッチ310を開閉させるための回路を設ければよい。また、各コントローラ110と各PDB300とをスイッチボックス400を介して接続する構成としてもよい。
【0056】
スイッチボックス400は、基本筐体100と各増設筐体200とをスイッチ接続するための装置であり、「筐体間接続スイッチ」に該当する。各スイッチボックス400は、図中点線で示すように、信号線L3を介して、それぞれ所定の増設筐体200と接続されている。
【0057】
各スイッチボックス400と基本筐体100のコントローラ110とは、信号線L2を介して接続されている。各コントローラ110は、所望の増設筐体200に接続されたスイッチボックス400を介して、所望の増設筐体200と通信する。なお、図8と共に述べる通り、複数のスイッチボックス400をカスケード接続することもできる。
【0058】
図8は、スイッチボックス400と各筐体100,200との接続構成を示す説明図である。基本筐体100、増設筐体200及びPDB300の詳細な構成は、それぞれ別図と共に後述する。
【0059】
図8の上側に示すように、基本筐体100は、例えば、SAN等の通信ネットワークCN1を介して、一つまたは複数のホスト13に接続されている。さらに、基本筐体100は、LAN等の通信ネットワークCN2を介して、少なくとも一つの管理装置14に接続されている。基本筐体100は、ホスト13から発行されたアクセス要求に基づいて、ディスクドライブ230にアクセスし、その処理結果をホスト13に応答する。管理装置14は、記憶制御装置の各種状態に関する情報(例えば、キャッシュメモリやボリュームの使用率、プロセッサ使用率、I/O量、内部の電圧値、内部温度等)を収集し、端末画面に表示させたり、ユーザに通知する。また、管理装置14からの指示によって、記憶制御装置の構成を変更させることもできる。
【0060】
基本筐体100は、それぞれ2つずつのコントローラ(図中「CTL」と略す場合がある)110及び筐体内電源部120を備えている。増設筐体200は、それぞれ2つずつの制御基板(図中、「EXP」と略す場合がある)210及び筐体内電源部220と、複数の(例えば15個の)ディスクドライブ230とを備える。
【0061】
スイッチボックス400は、それぞれ2つずつの通信制御回路(図中「EXP」と略す場合がある)410及び筐体内電源部420を備える。通信制御回路410は、信号線L2を介して基本筐体100内コントローラ110に接続されると共に、信号線L3を介して増設筐体200内の制御基板210に接続されている。
【0062】
基本筐体100からディスクドライブ230に至る経路は、プライマリ系統(#0)とセカンダリ系統(#1)の2種類の経路で冗長化されている。即ち、プライマリのコントローラ110(#0)は、信号線L2を介してプライマリの通信制御回路410(#0)に接続され、この通信制御回路410(#0)は、信号線L3を介してプライマリの制御基板210(#0)に接続される。セカンダリ系統も同様である。
【0063】
さらに、スイッチボックス400内の各通信制御回路410は、制御線411を介して相互に接続されている。これにより、プライマリの通信制御回路410(#0)は、制御線411を介して、セカンダリの制御基板210(#1)にアクセスでき、同様に、セカンダリの通信制御回路410(#1)は、制御線411を介して、プライマリの制御基板210(#0)にアクセスできる。
【0064】
プライマリの基板とセカンダリの基板との間を制御線で接続する構成は、基本筐体100及び各増設筐体200でも同様である。基本筐体100内の各コントローラ110(#0,#1)は、制御線119を介して相互に接続されている。増設筐体200内の各制御基板210(#0,#1)は、制御線215を介して相互に接続されている。このように、本実施例の記憶制御装置は、通信系統が多重化されており、プライマリ系統またはセカンダリ系統のいずれかで障害が発生した場合でも、ディスクドライブ230へのアクセスを行うことができるようになっている。
【0065】
図8の左側に示すように、複数のスイッチボックス400を、信号線L4を介して、カスケード接続することもできる。一方のスイッチボックス400内の通信制御回路410(#0)は、信号線L4を介して、他方のスイッチボックス400内の通信制御回路410(#0)にカスケード接続される。同様に、一方のスイッチボックス400内の通信制御回路410(#1)は、別の信号線L4を介して、他方のスイッチボックス400内の通信制御回路410(#1)にカスケード接続される。複数のスイッチボックス400をカスケード接続することにより、多数のディスクドライブ230へのデータ入出力を行うことができる。
【0066】
電源供給系統に着目すると、各装置100,200,400内にそれぞれ設けられている2つの筐体内電源部120,220,420は、それぞれ対応する系統のPDB300に接続されている。即ち、プライマリ系統の筐体内電源部には、プライマリ系統のPDB300から電源が供給され、セカンダリ系統の筐体内電源部には、セカンダリ系統のPDB300から電源が供給される。
【0067】
図9は、PDB300の構成に着目した回路図である。PDB300は、例えば、複数のスイッチ310と、制御回路320と、AC/DC電源部330と、複数のブレーカ340と、を備えて構成される。外部から入力される交流電源は、AC/DC電源部330によって直流電源に変換される。この変換された直流電源は、ブレーカ340及びスイッチ310を介して、基本筐体100内の筐体内電源部120や増設筐体200内の筐体内電源部220に供給される。
【0068】
制御回路320は、例えば、LAN(Local Area Network)のような信号線L1を介して、コントローラ110に接続されている。制御回路320は、コントローラ110から発行されるコマンドに従って、指定されたスイッチ310をオンまたはオフさせる。ここで、スイッチ310をオンにするとは、スイッチ310の接点を閉じて導通状態にすることを意味し、スイッチ310をオフにするとは、スイッチ310の接点を開いて遮断状態にすることを意味する。
【0069】
図9に示すように、スイッチボックス400は、アクセス先のパスを切り替えるための通信制御回路410を備えている。通信制御回路410は、信号線L2を介してコントローラ110に接続されている。通信制御回路410は、各信号線L3を介して、各増設筐体200にそれぞれ接続されている。通信制御回路410は、コントローラ110からの指示に応じて、指定された増設筐体200と基本筐体100とを接続させる。
【0070】
図10は、記憶制御装置の電源供給構造を模式的に示す説明図である。図10中では、紙面の都合上、一部の構成を省略して示す。
【0071】
図11は、記憶制御装置の内部構成を模式的に示す説明図である。基本筐体100の各コントローラ110は、通信ネットワークCN1を介して、ホスト13にそれぞれ接続されている。各コントローラ110は、図12に示すように、通信ネットワークCN2を介して管理装置14にもそれぞれ接続されている。
【0072】
ホスト13は、例えば、図外のクライアント端末からの要求に応じて、記憶制御装置にアクセスし、データの読み書きを行う。ホスト13としては、例えば、メインフレームコンピュータやサーバコンピュータ等を挙げることができる。通信ネットワークCN1としては、例えば、LAN、SAN(Storage Area Network)、インターネットあるいは専用回線等を挙げることができる。
【0073】
LANを用いる場合、ホストコンピュータ13と記憶制御装置とは、TCP/IP(Transmission Control Protocol/Internet Protocol)に従って通信を行う。SANを用いる場合、ホストコンピュータ13と記憶制御装置とは、ファイバチャネルプロトコルに従って通信を行う。また、ホストコンピュータ13がメインフレームコンピュータである場合、例えば、FICON(Fibre Connection:登録商標)、ESCON(Enterprise System Connection:登録商標)、ACONARC(Advanced Connection Architecture:登録商標)、FIBARC(Fibre Connection Architecture:登録商標)等の通信プロトコルに従ってデータ転送が行われる。
【0074】
上述の通り、記憶制御装置の制御系統も、電源供給系統と同様に冗長化される。プライマリのコントローラ110(#0)とセカンダリのコントローラ110(#1)とは、それぞれ配下にある全てのディスクドライブ230にアクセス可能である。即ち、いずれか一方の系統に障害が発生した場合でも、他方の系統からディスクドライブ230にアクセス可能である。記憶制御装置の全体動作は、基本筐体100内のコントローラ110によって制御される。従って、各コントローラ110は、基本筐体100内の各ディスクドライブ230のみならず、増設筐体200内の各ディスクドライブ230にもそれぞれアクセス可能である。
【0075】
基本筐体100の各筐体内電源部120は、各コントローラ110及び基本筐体100内の各ディスクドライブ230に、それぞれ所定電圧の直流電源を供給する。筐体内電源部120は、例えば、直流5ボルトや直流12ボルト等のような複数種類の電圧を出力可能である。なお、図中では、説明の便宜上、下段側のディスクドライブ230にのみ電源が供給されるかのように示されているが、各筐体内電源部120は、筐体内の全てのディスクドライブ230に電源を供給する。
【0076】
図11中の下側には増設筐体200が簡略化されて示されている。紙面の都合上、1つの増設筐体200のみを示している。上述のように、基本筐体100は、複数の増設筐体200とスイッチボックス400を介してスイッチ接続されている。
【0077】
増設筐体200の筐体内電源部220は、筐体内電源部120と同様に、外部から入力された電源を所定電圧の直流電源に変換して出力する。筐体内に存在する全てのディスクドライブ230,制御基板210及び冷却ファン202には、各筐体内電源部220から直流電源がそれぞれ供給される。
【0078】
なお、説明の便宜のために、各筐体内電源部220から直流電源がそれぞれ供給されると述べたが、例えば、通常時においては、いずれか一方の筐体内電源部220(例えば、プライマリ(#0)の筐体内電源部)のみから各ディスクドライブ230や制御基板210等に直流電源が供給される構成でもよい。ディスクドライブ230や制御基板210等の負荷から各筐体内電源部220を見たときのインピーダンスに差をつけることにより、いずれか一方の筐体内電源部220から電源を供給させることができる。例えば、いずれかの筐体内電源部220からの出力に、他方の筐体内電源部220よりも多い段数のダイオードを設ければよい。これにより、障害発生時には、スイッチ切替等を行うことなく、他方の筐体内電源部220に自動的に切り替わる。
【0079】
ディスクドライブ230は、例えば、ATA(AT Attachment)ディスク、SCSI(Small Computer System Interface)ディスク、FC(Fibre
Channel)ディスク等のようなハードディスクドライブとして構成される。これに限らず、例えば、半導体メモリドライブ(フラッシュメモリデバイスを含む)、光ディスクドライブ、光磁気ディスクドライブ等の他の記憶デバイスを用いてもよい。
【0080】
例えば、4個1組、8個1組等のような所定数のディスクドライブ230によって、RAIDグループ240が構成される。RAIDグループ240は、別々の筐体に存在する複数のディスクドライブ230から構成することもできるし、同一筐体に存在する1つまたは複数のディスクドライブ230から構成することもできる。
【0081】
図12に示すように、RAIDグループ240には、1つまたは複数の論理ボリューム250を設けることができる。論理ボリューム250は、ホスト13からアクセスされる対象であり、ホスト13により使用されるデータを記憶している。
【0082】
図12は、1つのコントローラ110に着目した場合のブロック図である。コントローラ110は、例えば、ホストインターフェース回路111と、ドライブインターフェース回路112と、データ転送回路113と、キャッシュメモリ114と、プログラムメモリ115と、プロセッサ(図中「MPU」と略記)116と、ブリッジ117と、LANインターフェース118とを備えて構成される。
【0083】
ホストインターフェース回路111は、ホスト13との間の通信を制御する。ホスト13から発行された各種コマンドやデータは、ホストインターフェース回路111によって受信される。ディスクドライブ230から読み出されたデータやコマンドの処理完了を告げる通知は、ホストインターフェース回路111からホスト13に送信される。
【0084】
ドライブインターフェース回路112は、各ディスクドライブ230との間の通信を制御する。ドライブインターフェース回路112は、論理ブロックアドレス(LBA)とディスクドライブ230の物理的なアドレスとの変換操作等を行う。
【0085】
データ転送回路113は、コントローラ110内のデータ転送を制御するための回路である。データ転送回路113は、ホストインターフェース回路111とキャッシュメモリ114との間のデータ転送や、ドライブインターフェース回路112とキャッシュメモリ114との間のデータ転送を制御する。
【0086】
プロセッサ116は、一つまたは複数のプロセッサコアを備えている。プロセッサ116は、プログラムメモリ115に記憶された電源管理プログラム等の種々のプログラムを読み込んで実行することにより、後述の電源制御等を実現する。
【0087】
キャッシュメモリ114は、ホスト13から受信したデータやホスト13により読み出されたデータを記憶する。キャッシュメモリ114には、記憶制御装置のシステム構成に関する情報も記憶されている。キャッシュメモリ114の記憶内容は、バッテリ140によってバックアップされる。ブリッジ117は、プロセッサ116とプログラムメモリ115とを接続する。
【0088】
プロセッサ116は、ブリッジ117を介してデータ転送回路113に接続される。LANインターフェース118は、管理装置14とコントローラ110とを接続するための回路である。
【0089】
図13は、増設筐体200のブロック図である。先に、筐体内電源部220の構成を説明する。筐体内電源部220は、例えば、電圧変換回路221と、複数の出力ダイオード222A〜222Cと、出力制御スイッチ223とを備えている。
【0090】
電圧変換回路221は、PDB300を介して入力された電源を複数種類の直流電圧V1,V2に変換して出力する。例えば、V1は直流5ボルト程度、V2は直流12ボルト程度にそれぞれ設定される。出力ダイオード222A〜222Cは、逆流防止のために設けられている。スイッチ223は、直流電圧を出力させるか否かを制御するためのもので、制御基板210によって切り替えられる。
【0091】
各ディスクドライブ230には、V1,V2がそれぞれ供給される。各制御基板210及び各冷却ファン202には、V2がそれぞれ供給される。図13に示すように、2つの筐体内電源部220の出力は、それぞれOR接続されている。従って、いずれか一方の筐体内電源部220に障害が生じた場合でも、他方の筐体内電源部220から制御基板210やディスクドライブ230等に所定電圧の電源が供給される。各筐体内電源部220からの出力V1,V2が停止した場合、筐体内の全てのディスクドライブ230への電源供給が同時に停止する。
【0092】
各制御基板210は、信号線P2を介して、各筐体内電源部220内の各スイッチ223にそれぞれ接続されている。各制御基板210は、各スイッチ223をそれぞれ個別に開閉させることができる。また、各制御基板210は、信号線P3を介して、各冷却ファン202にもそれぞれ接続されている。各制御基板210は、各冷却ファン202の作動を開始または停止、あるいは回転数を調節することができる。
【0093】
図14は、1つの制御基板210に着目した構成説明図である。制御基板210は、例えば、マイクロプロセッサ部211と、通信インターフェース部212と、制御信号出力回路213とを備えて構成される。
【0094】
マイクロプロセッサ部211は、制御基板210の動作を制御するものであり、例えば、資源管理機能211A、コマンド処理機能211B、電源制御機能211C、冷却ファン制御機能211Dをそれぞれ実現する。
【0095】
資源管理機能211Aは、例えば、増設筐体200内の各資源(ディスクドライブ230,筐体内電源部220等)の配置や状態等を管理する機能である。コマンド処理機能211Bは、コントローラ110から入力された指示を実行するための機能である。即ち、コマンド処理機能211Bは、コントローラ110からデータの書込みを要求された場合は、指定されたディスクドライブ230の指定されたアドレスにデータを書き込む。また、コマンド処理機能211Bは、コントローラ110からデータの読出しを要求された場合は、指定されたディスクドライブ230の指定されたアドレスから、指定された長さのデータを読み出してコントローラ110に転送する。
【0096】
電源制御機能211Cは、コントローラ110からの指示に基づいて、スイッチ223を開閉させることにより、筐体内電源部220の出力を制御する機能である。冷却ファン制御機能211Dは、コントローラ110からの指示に基づいて、冷却ファン202の作動を制御する機能である。
【0097】
通信インターフェース部212は、スイッチボックス400を介して、基本筐体100との間で通信を行うものである。基本筐体100のコントローラ110から出力されたコマンドやデータは、スイッチボックス400を介して、通信インターフェース部212に入力される。
【0098】
図15は、論理ボリューム250を管理するためのテーブルT1の構成を示す説明図である。このテーブルT1は、図16に示す省電力管理テーブルT2と共に、記憶制御装置の構成情報を構成する。これら各テーブルT1,T2は、例えば、キャッシュメモリ114内に記憶される。
【0099】
ボリューム管理テーブルT1は、例えば、ボリューム番号(LU#)C11と、容量C12と、RAIDグループ番号C13と、RAIDレベルC14と、ドライブ番号リストC15と、最新アクセス時刻C16とのような項目を対応付けて管理する。なお、図に示す以外の項目を管理する構成でもよい。また、テーブルT1を複数のテーブルに分割して管理する構成でもよい。
【0100】
論理ボリューム番号C11は、記憶制御装置内に設けられている全ての論理ボリューム250を一意に特定するための識別情報である。容量C12は、論理ボリューム250の記憶容量を示す情報である。RAIDグループ番号C13は、論理ボリューム250が設けられているRAIDグループ240を一意に特定するための識別情報である。RAIDレベルC14とは、RAIDグループ240のRAIDレベルを示す情報である。RAIDレベルとしては、例えば、RAID1,RAID5,RAID6等を挙げることができる。ドライブ番号リストC15とは、RAIDグループ240を構成しているディスクドライブ230を特定するための情報である。最新アクセス時刻C16とは、ホスト13が論理ボリューム250に最後にアクセスした時刻を示す情報である。なお、紙面の都合上、図示していないが、例えば、所定の期間毎のアクセス頻度や、各論理ボリューム250の空き容量等をテーブルT1で管理することもできる。
【0101】
図16は、各筐体100,200における電源供給状態を管理するための省電力管理テーブルT2を示す説明図である。この省電力管理テーブルT2は、例えば、スイッチボックス400の番号C21毎に、筐体番号C22と、ドライブ番号C23と、スピン状態C24と、各PDB300のスイッチ(図中「SW」と略記)番号C25と、そのスイッチ状態C26と、筐体に電源が供給されているか否かを示す供給状態C27と、カスケード接続の状態C28と、診断結果C29とをそれぞれ対応付けて管理している。
【0102】
スイッチボックス番号C21とは、各スイッチボックス400を一意に特定するための識別情報である。筐体番号C22とは、各筐体100,200を一意に特定するための識別情報である。ドライブ番号C23とは、その筐体に設けられている各ディスクドライブ230を特定するための識別情報である。
【0103】
スピン状態C24とは、そのディスクドライブ230がスピンアップしているか、スピンダウンしているかを示す情報である。スピンアップ状態の場合は「ON」で示され、スピンオフ状態の場合は「OFF」で示される。スピンアップ状態とは、ディスクが所定速度で回転している状態であり、データの読み書きが可能である。スピンダウン状態とは、ディスクが所定速度以下で回転または停止している状態であり、この状態ではデータの読み書きを行うことはできない。
【0104】
PDBスイッチ番号C25とは、その筐体に接続されている各PDB300のスイッチ310をそれぞれ特定するための情報である。スイッチ状態C26とは、C25で特定されたスイッチ310の開閉状態をそれぞれ示す情報である。スイッチ310が閉じている場合は「ON」で示され、スイッチ310が開いている場合は「OFF」で示される。
【0105】
筐体への電源供給状態C27とは、その筐体に電源が供給されているか否かを示す情報である。電源が供給されている場合には「ON」が設定され、電源供給が停止されている場合には「OFF」が設定される。また、C27では、その筐体に接続されているスイッチボックス400への電源供給状態も同時に示されている。電源供給の停止されている状態を本実施例では「省電力状態」または「省電力モード」と呼ぶ。
【0106】
カスケード状態C28は、カスケード接続されたスイッチボックス400の番号を表示する。例えば、仮に、スイッチボックス400(#1)にスイッチボックス400(#2)がカスケード接続されている場合、400(#2)の行において、カスケード状態C28には、接続元である「#1」が設定される。診断結果C29は、各筐体100,200等が正常に動作しているか否かの診断結果を示す。診断結果C29には、例えば、診断日や診断の良否等が記される。
【0107】
図17は、ディスクドライブ230をスピンダウン状態にするための、電源供給停止処理を示すフローチャートである。
【0108】
コントローラ110は、テーブルT1を参照することにより、所定時間以上アクセスされていないディスクドライブ230が存在するか否かを判定する(S10)。ユーザは、例えば、1時間等のように、任意の値を所定時間として設定できる。
【0109】
コントローラ110は、所定時間以上アクセスされていないディスクドライブ230を検出した場合(S10:YES)、そのディスクドライブ230をスピンダウン状態に変更させるための指示を、そのディスクドライブ230の存在する増設筐体200に向けて発行する(S11)。コントローラ110は、S10で検出されたディスクドライブ230のスピン状態をスピンオフとしてテーブルT2に記録する(S12)。コントローラ110から発行された指示(コマンド)は、スイッチボックス400を介して、目的の増設筐体200に伝達される。
【0110】
コントローラ110からの指示を受領した増設筐体200の制御基板210は、指定されたディスクドライブ230をスピンダウンさせる(S13)。また、制御基板210は、それが可能であれば、冷却ファン202の回転数を低下させる(S14)。
【0111】
例えば、筐体内で他のディスクドライブ230が稼働している場合は、筐体内の温度を保つために、冷却ファン202の回転数は一定値に保持される。これに対し、S13で、1つまたは複数のディスクドライブ230をスピンダウンさせたことにより、冷却能力を低下させることが可能な場合、制御基板210は、冷却ファン202の回転数を低下させることもできる。なお、冷却ファン202の回転数を低下させるか否かは、コントローラ110によって決定してもよいし、あるいは、増設筐体200の制御基板210によって決定してもよい。
【0112】
図18、筐体単位で電源供給を停止させるための、電源供給停止処理を示すフローチャートである。
【0113】
コントローラ110は、テーブルT2を参照し(S20)、対象筐体内の各ディスクドライブ230のスピン状態を確認する(S21)。対象筐体内の全ディスクドライブ230がスピンダウン状態であると判定された場合(S22:YES)、コントローラ110は、対象筐体の制御基板210に向けて、全ディスクドライブ230への通電停止を指示する(S23)。対象筐体の制御基板210は、筐体内電源部220内のスイッチ223を開くことにより、出力V1,V2をそれぞれ停止させ、筐体内の全ディスクドライブ230への通電を停止させる。なお、この場合、コントローラ110は、全ディスクドライブ230への通電停止のみならず、冷却ファン202の停止を要求することができる。
【0114】
コントローラ110は、対象筐体に接続された各PDB300のスイッチ310をオフさせる(S24)。これにより、対象筐体への電源供給が完全に停止される。コントローラ110は、テーブルT2のC26及びC27をそれぞれ更新させる(S25)。
【0115】
コントローラ110は、記憶制御装置内の全筐体について判断したか否かを判定し(S26)、未判定の筐体が存在する場合(S26:NO)、対象筐体を次の筐体に変更する(S27)。そして、コントローラ110は、S20〜S26を繰り返す。
【0116】
図19は、スイッチボックス400への電源供給を停止させるための、電源供給停止処理を示すフローチャートである。
【0117】
コントローラ110は、テーブルT2を参照し(S30)、対象スイッチボックスに接続されている各筐体の省電力状態を確認する(S31)。対象スイッチボックスに接続されている全筐体が省電力モードに設定されている場合(S32:YES)、コントローラ110は、対象スイッチボックスに接続された各PDB300のスイッチ310をそれぞれオフさせる(S33)。これにより、対象スイッチボックスへの電源供給が完全に停止する。そして、コントローラ110は、テーブルT2のC26及びC27をそれぞれ更新させる(S34)。
【0118】
コントローラ110は、記憶制御装置内の全スイッチボックスについて判断したか否かを判定し(S35)、未判定の筐体が存在する場合(S35:NO)、対象筐体を次の筐体に変更する(S36)。そして、コントローラ110は、S30〜S35を繰り返す。
【0119】
図20は、ホスト13から発行されたライトコマンドを処理するためのフローチャートを示す。コントローラ110は、ホスト13からライトコマンド及びライトデータを受領すると(S40)、ライトデータをキャッシュメモリ114に記憶させる(S41)。コントローラ110は、ライトデータをキャッシュメモリ114に記憶させた時点で、ホスト13にライトコマンドの処理が完了した旨を通知する(S42)。コントローラ110は、ライトコマンドに明示された論理アドレスをディスクドライブ230の物理的なアドレスに変換して(S43)、アクセス対象のディスクドライブ230を特定する(S44)。以下の説明では、便宜上、アクセス対象のディスクドライブ230をアクセス先ドライブと表現する場合がある。
【0120】
コントローラ110は、テーブルT2を用いることにより、S44で特定されたアクセス先ドライブにアクセス可能か否かを判定する(S45)。アクセス先ドライブがスピンアップ状態である場合、直ちにアクセス先ドライブにアクセス可能である。アクセス先ドライブにアクセス可能であると判定された場合(S45:YES)、コントローラ110は、アクセス先ドライブにライトデータを転送する(S46)。ライトデータは、スイッチボックス400を介して、アクセス先ドライブを有する増設筐体200に伝達される。制御基板210は、ライトデータを受領すると、指定されたディスクドライブ230(アクセス先ドライブである)にライトデータを書き込む。
【0121】
これに対し、アクセス先ドライブへのアクセスが不能であると判定された場合(S45:NO)、後述する電源供給開始処理が実行される(S60)。このように、本実施例では、ライトデータをアクセス先ドライブに転送する前に、アクセス先ドライブにアクセス可能であるか否かを判断し、アクセス不能な場合は電源供給開始処理を実行する。これに代えて、アクセス先ドライブへのライトデータの書込みができなかった場合に、電源供給開始処理を実行させることもできる。
【0122】
図21は、ホスト13から発行されたリードコマンドを処理するためのフローチャートを示す。コントローラ110は、ホスト13からリードコマンドを受領すると(S50)、アクセス先ドライブを特定する(S51)。ここでのアクセス先ドライブとは、読出しを要求されたデータを記憶しているディスクドライブ230である。
【0123】
コントローラ110は、ホスト13から要求されたデータがキャッシュメモリ114に記憶されているか否かを判定する(S52)。以下の説明では、ホスト13により読出しが要求されているデータをリードデータと呼ぶ場合がある。
【0124】
リードデータがキャッシュメモリ114に記憶されている場合(S52:YES)、後述のS53,S54をスキップして、キャッシュメモリ114に記憶されているリードデータをホスト13に送信する(S55)。
【0125】
リードデータがキャッシュメモリ114に記憶されていない場合(S52:NO)、コントローラ110は、テーブルT2を用いることにより、アクセス先ドライブにアクセス可能か否かを判断する(S53)。アクセス先ドライブにアクセス可能であると判定された場合(S53:YES)、コントローラ110は、アクセス先ドライブからリードデータを読み出してキャッシュメモリ114に記憶させる(S54)。コントローラ110は、キャッシュメモリ114に記憶されたリードデータをホスト13に送信する(S55)。これに対し、アクセス先ドライブにアクセス不能であると判定された場合(S53:NO)、コントローラ110は、電源供給開始処理を実行する(S60)。
【0126】
図22は、電源供給開始処理(S60)の詳細を示すフローチャートである。コントローラ110は、対象筐体の番号として、アクセス先ドライブを有する増設筐体200の番号をセットする(S61)。
【0127】
コントローラ110は、対象筐体に接続された各系統のPDB300内のスイッチ310をそれぞれオンに設定し、対象筐体に電源を供給させる(S62)。続いて、コントローラ110は、アクセス先ドライブをスピンアップさせるためのコマンドを、対象筐体に送信する(S63)。対象筐体の制御基板210は、コントローラ110からのコマンドに従って、アクセス先ドライブを起動し、スピンアップさせる(S64)。
【0128】
図23は、記憶制御装置システム全体の起動処理を示すフローチャートである。最初に、ユーザは、基本筐体100に電源を供給させる(S70)。これにより、コントローラ110が起動し、以下の各ステップが実行される。
【0129】
コントローラ110は、テーブルT2を参照し(S71)、省電力モードに設定されていないスイッチボックス400にPDB300から電源を供給させる(S72)。同様に、コントローラ110は、省電力モードに設定されていない各筐体200にPDB300から電源を供給させる(S73)。コントローラ110は、電源の供給されたスイッチボックス400及び筐体200について、テーブルT2を更新する(S74)。つまり、本実施例では、前回の記憶制御装置システムの停止時において省電力モードに設定されたスイッチボックス400及び筐体200には、記憶制御装置システムの起動時に電源を供給しないようになっている。
【0130】
コントローラ110は、電源を供給すべき各装置に、つまり、省電力モードに設定されていないスイッチボックス400及び筐体200に、それぞれ電源が供給されて起動したか否かを確認する(S75)。電源を供給すべき各装置に電源が供給されたことを確認すると(S75:YES)、コントローラ110は、記憶制御装置システムの使用準備が完了したことを確認し、管理装置14に通知する(S76)。
【0131】
さらに、コントローラ110は、省電力モードに設定されているスイッチボックス400及び筐体200を診断するか否かを判定する(S77)。例えば、バックアップデータ等のようなアクセス頻度の低いデータを記憶している増設筐体200への通電を長時間停止した場合、通電停止中に増設筐体200に障害が発生してもこの障害を検出することができないため、必要な場合にデータを取り出せない可能性がある。
【0132】
そこで、本実施例では、定期的にまたは不定期に、休止中の増設筐体200及びスイッチボックス400に通電することにより、正常に動作するか否かを確認する。この自己診断処理は、予め設定された所定周期で定期的に行うこともできるし、ユーザが任意に指定した時刻で不定期に行うこともできる。診断の結果はテーブルT2に記録される。
【0133】
コントローラ110は、自己診断の開始を決定すると(S77:YES)、診断対象の装置(スイッチボックスや増設筐体)に電源を供給して起動させる(S78)。コントローラ110は、コマンドに対する正常な応答の有無等によって、診断対象の装置が正常に動作するか否かを確認する(S79)。コントローラ110は、診断の結果及び診断日時を、テーブルT2のC29に登録する(S80)。もしも、異常状態が検出された場合、コントローラ110は、所定のエラー検出処理を行う(S81)。エラー検出処理では、例えば、異常の検出された装置に関する警報を管理装置14に送信する。
【0134】
図24は、障害を検出するための処理を示すフローチャートである。スイッチボックス400内の通信制御回路410は、例えば、増設筐体200との通信を行えなかった場合等に、コントローラ110に障害の発生を通知する。コントローラ110は、スイッチボックス400から障害の検出を示す情報を受領すると(S90)、テーブルT2を参照し(S91)、障害の検出された筐体200の省電力状態を確認する(S92)。
【0135】
コントローラ110は、スイッチボックス400から通知された障害が、省電力モードに設定されている筐体200に関する障害であるか否かを判定する(S93)。省電力モードに設定されている筐体200に関する障害である場合(S93:YES)、コントローラ110は、スイッチボックス400から通知された障害を障害として扱わず、管理装置14に障害発生を通知しない(S94)。スイッチボックス400が、電源供給の停止されている筐体200と通信できないのは予定されたことだからである。これに対し、スイッチボックス400から通知された障害が、省電力モードに設定されていない筐体200に関する障害である場合(S93:NO)、コントローラ110は、後述のように、その障害の発生箇所を特定し、障害処理を実行する(S95)。
【0136】
図25は、障害の発生箇所を特定するための処理を示すフローチャートである。以下の説明では、障害の発生をコントローラに通知した通知元の装置がスイッチボックス400であり、プライマリ系統で障害が検出された場合を中心に説明する。
【0137】
通知元の装置は、診断対象装置と呼ぶ場合もある。診断対象装置としては、スイッチボックス400や増設筐体200を挙げることができる。診断対象装置が増設筐体200の場合、即ち、障害の発生をコントローラに通報した装置が増設筐体200である場合、以下の説明中、必要な箇所において、通信制御回路410を制御基板210と読み替えればよい。
【0138】
コントローラ110は、検出された障害がスイッチボックス400の障害であるか否かを判定する(S100)。図24では、スイッチボックス400が障害の発生を検出してコントローラ110に通知する場合を説明したが、各増設筐体200もそれぞれ障害の発生を検出してコントローラ110に通知する機能を備えている。コントローラ110は、障害発生を知らせる情報を受領した場合、その通知元がスイッチボックス400であるか増設筐体200であるかを判別する(S100)。
【0139】
スイッチボックス400から障害発生が通知された場合(S100:YES)、他方のコントローラ110(#1)から交替パスL2(#1)を介して、そのスイッチボックス400にアクセスを試みる(S101)。増設筐体200から障害発生が通知された場合(S100:NO)、同様に、他方のコントローラ110(#1)から交替パスL2(#1)を介して、そのスイッチボックス400にアクセスを試みる(S102)。
【0140】
障害の発生をコントローラに通知した装置に、交替パスL2(#1)を介して正常にアクセスできたか否かが判定される(S103)。正常にアクセスできた場合(S103:YES)、他方のコントローラ110(#1)から、交替パスL2(#1)と制御線411及び制御線215を介して、プライマリの制御基板210(#0)にアクセスを試みる(S104)。プライマリの制御基板210(#0)にアクセスできた場合(S104:YES)、図27に示すループバック診断処理を実行する(S106)。ループバック診断処理については、後述する。
【0141】
S103で「NO」と判定された場合、コントローラ110は、診断対象装置に接続されているPDB300から正常に電源が出力されているか否かを判定する(S107)。PDB300が正常に動作している場合(S107:YES)、コントローラ110は、スイッチボックス400の電源部420の故障であると判定する(S108)。診断対象装置が増設筐体200の場合、電源部220の故障であると判定される(S108)。これに対し、PDB300から電源が正常に出力されていない場合(S107:NO)、コントローラ110は、そのPDB300が故障していると判定する(S109)。
【0142】
S105で「NO」と判定された場合、コントローラ110は、スイッチボックス400の基板上の電圧が正常か否かを判定する(S110)。基板上の電圧が正常な場合(S110:YES)、コントローラ110は、通信回路部分(EXP)の故障であると判定する(S111)。基板上の電圧が正常ではない場合(S110:NO)、コントローラ110は、基板上の電源経路上に障害が発生していると判定する(S112)。
【0143】
図26は、障害発生箇所を特定する一例を示す説明図である。スイッチボックス400のプライマリの通信制御回路410(#0)が故障した場合を説明する。図26(a)は、スイッチボックス400から障害の発生が通知されたときの状態を示す。
【0144】
まず最初に、セカンダリ系統を用いて正常なアクセスを行うことができるか否かが検査される(S101)。コントローラ110(#1)は、交替パスL2(#1)を介してセカンダリの通信制御回路410(#1)及びセカンダリの制御基板210(#1)にアクセスすることができる(S103:YES)。
【0145】
次に、コントローラ110(#1)は、交替パスL2(#1)、セカンダリの通信制御回路410(#1)、セカンダリの制御基板210(#1)及び制御線215を介して、プライマリの制御基板210(#0)にアクセスを試みる(S104)。つまり、プライマリの通信制御回路410(#0)を迂回して、プライマリの制御基板210(#0)にアクセスできるか否かを検査する。
【0146】
図26(b)に示すように、プライマリの通信制御回路410(#0)を迂回すれば、プライマリの制御基板210(#0)にアクセスできる場合(S105:YES)、プライマリの通信制御回路410(#0)の故障であると判定することができる。そこで、ループバック診断処理を実行する。
【0147】
図27は、ループバック診断処理を示すフローチャートである。コントローラ110は、プライマリパスを用いてループバックテストを開始させ(S120)、応答が返って来なかったか否かを判定する(S121)。応答があった場合(S120:NO)、コントローラ110は、応答結果に基づいて、障害の発生したパスを特定する(S123)。
【0148】
応答が無かった場合(S121:YES)、コントローラ110は、セカンダリパスを用いてループバックテストを開始させ(S122)、応答が無かったか否かを判定する(S123)。応答が無かった場合(S124:YES)、コントローラ110は、スイッチボックス400内の通信制御回路410の故障であると判定する(S125)。応答があった場合(S124:NO)、コントローラ110は、コントローラ110とスイッチボックス400との間の通信パスL2にリンク障害が発生していると判定する(S126)。
【0149】
図28は、障害を検出し、その検出された障害の発生箇所を特定し、特定された障害について対応するための、障害処理の全体概要を示すフローチャートである。まず、図24に示す処理により、記憶制御装置内で発生した障害が検出される(S130)。次に、図25に示す処理により、障害の発生した箇所が特定される(S131)。
【0150】
コントローラ110は、障害の発生したパス(以下、障害パスとも呼ぶ)を特定することができたか否かを判定する(S132)。障害パスを特定できた場合(S132:YES)、コントローラ110は、障害パスを閉塞させる(S133)。
【0151】
障害パスを特定できない場合(S132:NO)、コントローラ110は、各通信制御回路410(#0,#1)間及び各制御基板210(#0,#1)間の通信により、障害情報を入手し、この障害情報に基づいて、パスと通信制御回路410のいずれに障害が生じたのかを判定する。
【0152】
通信制御回路410の障害ではなく、パスの障害であると判定した場合(S135:NO)、コントローラ110は、そのパスを閉塞させる(S133)。通信制御回路410の障害であると判定した場合(S135:YES)、コントローラ110は、その通信制御回路410から延びる全てのパスを閉塞させ、通信制御回路410の障害であると認定する(S138)。そして、コントローラ110は、スイッチボックス400の早期の交換をユーザに促すために、アラームを管理装置14に出力する(S139)。
【0153】
一方、障害パスを個別に閉塞した後(S133)、コントローラ110は、通信制御回路410から延びる全てのパスが閉塞されたか否かを判定する(S136)。全てのパスが閉塞された場合(S136:YES)、コントローラ110は、通信制御回路410の障害であると判断し(S138)、アラームを出力する(S139)。なお、S136からS138に移行した場合、既に通信制御回路410から延びる各パス(L3)は閉塞されているため、S138ではパスの閉塞を行う必要はない。
【0154】
一部のパスのみが閉塞された場合(S136:NO)、コントローラ110は、ユーザに保守交換の必要性を訴えるべく、ワーニングを管理装置14に出力する(S137)。この時点では、交替パス等を使用してディスクドライブ230にアクセス可能であるから、記憶制御装置は通常通り動作する。但し、閉塞されたパスについては、冗長性が失われているため、保守交換されるのが好ましい。
【0155】
上述のように、本実施例の記憶制御装置は、障害発生を検出した場合、障害発生箇所を特定することができる。そして、ワーニングやアラームを管理装置14に出力し、記憶制御装置の状態をユーザに通知することができる。
【0156】
図29は、記憶制御装置の状態を表形式でユーザに通知するための画面G1を示す説明図である。この状態確認画面G1は、各装置(スイッチボックス、筐体、PDB)毎の状態表示部G11〜G13を備えている。
【0157】
各状態表示部G11〜G13は、例えば、その装置を識別する情報と、その装置全体の作動状態の良否と、その装置内の各構成要素の個別の作動状態や省電力状態、接続先の部位の情報、接続先の部位の省電力状態等を表示する。
【0158】
図30は、記憶制御装置の状態をグラフィカルに表示するための画面G2を示す説明図である。この状態確認画面G2は、記憶制御装置の構成を図形化して表現し、各装置の状態を表示色等で示す。例えば、保守交換の必要な装置またはその構成要素は、赤く着色して表示し、早期の交換が必要な装置またはその構成要素は、赤く点滅させて表示することができる。
【0159】
このように構成される本実施例によれば、基本筐体100と各増設筐体200とをスイッチボックス400を介してスイッチ接続するため、PDB300を用いて各筐体への電源供給を個別に制御することができる。また、本実施例では、スイッチボックス400を介した通信に障害が発生した場合に、その発生箇所を特定し、閉塞処理や警報等の必要な処理を行うことができるため、ユーザの使い勝手が向上する。
【実施例2】
【0160】
図31に基づいて、本発明の第2実施例を説明する。本実施例を含む以下の各実施例は、第1実施例の変形例に該当する。本実施例では、PDB300Aに情報収集機能を設けている。
【0161】
図31は、本実施例による記憶制御装置の構成を部分的に示すブロック図である。PDB300Aは、通信線L7によって、スイッチボックス400内の各通信制御回路410とコントローラ110とを接続する。説明の便宜上、図31中の左側のPDB300Aについてのみ示しているが、右側のPDB300Aも同様である。通信線L7は、例えば、LANのように構成することができる。コントローラ110は、通信線L7を介して、各通信制御回路410の状態を取得することができる。
【0162】
なお、PDBを経由する電力線搬送通信(PLC:Power Line Communications)により、スイッチボックス400内の各通信制御回路410とコントローラ110とが通信を行う構成としてもよい。
【実施例3】
【0163】
図32は、第3実施例に係る記憶制御装置の接続構成を模式的に示す説明図である。本実施例の増設筐体200は、上位筐体200Aと下位筐体200Bとに大別される。上位筐体200Aは、前記第1実施例で述べたように、スイッチボックス400を介して、基本筐体100にスイッチ接続される。下位筐体200Bは、上位筐体200Aにディジーチェーン接続されている。
【0164】
本実施例では、ディジーチェーン単位で、電源供給を制御する。即ち、上位筐体200A及び上位筐体200Aに繋がる全ての下位筐体200Bにおいて、それぞれ全ディスクドライブ230がスピンダウンした場合に、上位筐体200A及び各下位筐体200Bへの電源供給を停止させる。
【0165】
本実施例では、電源供給を制御する単位が第1実施例よりも大きくなるが、ディジーチェーン接続を用いる既存の記憶制御装置に、スイッチボックス400によるスイッチ接続を比較的容易に導入することができる。
【0166】
なお、本発明は、上述した実施の形態に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。例えば、各実施例を適宜組み合わせることができる。
【図面の簡単な説明】
【0167】
【図1】本発明の実施形態の概念を示す説明図である。
【図2】記憶制御装置の正面図である。
【図3】基本筐体を前側から見た斜視図である。
【図4】基本筐体を後側から見た斜視図である。
【図5】増設筐体を前側から見た斜視図である。
【図6】増設筐体を後側から見た斜視図である。
【図7】記憶制御装置の接続構成を模式的に示す説明図である。
【図8】記憶制御装置のブロック図である。
【図9】記憶制御装置の一部を抜き出して示す回路図である。
【図10】記憶制御装置の電源供給構造を示す説明図である。
【図11】記憶制御装置の構成を簡略化して示す説明図である。
【図12】コントローラの構成を示す説明図である。
【図13】増設筐体の構成を示す説明図である。
【図14】制御基板の構成を示す説明図である。
【図15】ボリュームを管理するためのテーブルを示す説明図である。
【図16】電源供給状態を管理するためのテーブルを示す説明図である。
【図17】各ドライブ毎に節電するための処理を示すフローチャートである。
【図18】増設筐体毎に電源供給を停止するための処理を示すフローチャートである。
【図19】スイッチボックス毎に電源供給を停止するための処理を示すフローチャートである。
【図20】ライト処理を示すフローチャートである。
【図21】リード処理を示すフローチャートである。
【図22】電源供給を開始する場合の処理を示すフローチャートである。
【図23】記憶制御装置を起動させる場合の処理を示すフローチャートである。
【図24】障害検出処理を示すフローチャートである。
【図25】障害発生箇所を特定する処理を示すフローチャートである。
【図26】障害を特定する様子を説明するための説明図である。
【図27】ループバック診断処理を示すフローチャートである。
【図28】障害処理の全体を示すフローチャートである。
【図29】記憶制御装置の各部の状態を示す画面例である。
【図30】記憶制御装置の各部の状態を示す別の画面例である。
【図31】第2実施例に係る記憶制御装置の構成を部分的に示すブロック図である。
【図32】第3実施例に係る記憶制御装置の構成を部分的に示すブロック図である。
【符号の説明】
【0168】
1…基本筐体、1A…上位通信部、1B…下位通信部、1C…I/O処理部、1D…電源制御部、1E…構成情報管理部、1F…障害診断部、2…増設筐体、2A…制御基板、2B…ディスクドライブ、2C…冷却ファン、3…電源供給回路部、3A…スイッチ、4…装置間スイッチ、4A…カスケード接続用通信経路、5…ホスト、6…外部電源、7…管理装置、10…基本ラック、11…増設ラック、13…ホスト、14…管理装置、100…基本筐体、101…ケーシング、110…コントローラ、111…ホストインターフェース回路、112…ドライブインターフェース回路、113…データ転送回路、114…キャッシュメモリ、115…プログラムメモリ、116…プロセッサ、117…ブリッジ、118…LANインターフェース、119…制御線、120…筐体内電源部、130…冷却ファン、140…バッテリ、200…増設筐体、200A…上位筐体、200B…下位筐体、201…ケーシング、202…冷却ファン、210…制御基板、211…マイクロプロセッサ部、211A…資源管理機能、211B…コマンド処理機能、211C…電源制御機能、211D…冷却ファン制御機能、212…通信インターフェース部、213…制御信号出力回路、215…制御線、220…筐体内電源部、221…電圧変換回路、222A〜222C…出力ダイオード、223…出力制御スイッチ、230…ディスクドライブ、240…RAIDグループ、250…論理ボリューム、300…電源分配回路部(PDB)、310…スイッチ、320…制御回路、330…電源部、340…ブレーカ、400…スイッチボックス、410…通信制御回路、411…制御線、420…筐体内電源部、T1…ボリューム管理テーブル、T2…省電力管理テーブル
【技術分野】
【0001】
本発明は、記憶制御装置及び筐体単位の電源制御方法に関する。
【背景技術】
【0002】
記憶制御装置は、多数のハードディスクドライブをアレイ状に接続した記憶部を備えており、サーバ等のホストコンピュータ(以下「ホスト」)に、論理的な記憶領域(論理ボリューム)を提供する。信頼性等を高めるために、記憶制御装置では、RAID(Redundant Array of Independent Disks)に基づく冗長化された記憶領域をホストに提供する。
【0003】
企業等で管理すべきデータは日々増大する。従って、データ量の増大に応じて、記憶容量を適宜増加させることのできる記憶制御装置が好ましい。そこで、制御機能を司る基本筐体に、記憶領域を提供する増設筐体を複数個接続させることにより、ユーザの希望に応じた記憶領域を提供可能な記憶制御装置が提案されている(特許文献1)。
【0004】
この第1文献に記載の従来技術では、基本筐体への電源供給の開始または停止と、各増設筐体への電源供給の開始または停止とを連動させる。これにより、記憶制御装置を完全に停止させる場合には、基本筐体への電源供給を停止させるだけで、各増設筐体への電源供給を全て自動的に停止させることができる。
【0005】
第2文献に記載の他の従来技術では、RAIDグループを構成する各磁気ディスク装置を節電モードに移行させるようになっている(特許文献2)。
【特許文献1】特開2001−339853号公報
【特許文献2】特開2000−293314号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
前記第1文献に記載の従来技術では、基本筐体への電源供給動作と各増設筐体の電源供給動作とを連動させるだけのものであり、記憶制御装置の電力消費量を低減させるという観点からは効果が乏しい。
【0007】
これに対し、前記第2文献に記載の従来技術では、一定期間アクセスされない磁気ディスク装置を節電モードに移行させるため、記憶制御装置の電力消費量を低減させることができる。
【0008】
しかし、第2文献に記載の従来技術では、RAIDグループを構成する各磁気ディスク装置の電力消費量を節減するに留まり、さらなる改善の余地がある。即ち、各磁気ディスク装置が節電モードに移行した場合でも、筐体内の制御回路部や冷却ファン、電源回路には電源が供給されており、稼働を続けている。従って、磁気ディスク装置以外の各部における電力消費量について改善の余地がある。
【0009】
本発明は、上記の問題点に鑑みてなされたもので、その目的は、第1筐体と各第2筐体とをスイッチ接続することにより、筐体単位で電源の供給及び停止を行うことができ、かつ、第1筐体と各第2筐体との間の通信に関する障害を検出して診断することができるようにした、記憶制御装置及び筐体単位の電源制御方法を提供することにある。本発明の他の目的は、第1筐体と各第2筐体とをスイッチ接続することにより、筐体単位で電源の供給及び停止を行うことができ、かつ、省電力状態に設定された筐体及び筐体間接続スイッチについては初期起動時に電源を供給しないことにより、より一層電力消費量を低減することのできる記憶制御装置及び筐体単位の電源制御方法を提供することにある。本発明のさらなる目的は、後述する実施形態の記載から明らかになるであろう。
【課題を解決するための手段】
【0010】
上記課題を解決すべく、本発明の一つの観点に従う、複数の筐体を備える記憶制御装置は、上位装置からのアクセス要求に応じて記憶デバイスにデータを入出力させるための第1筐体と、第1筐体からの指示に応じて動作する少なくとも一つ以上の第2筐体であって、記憶デバイスをそれぞれ備える第2筐体と、第1筐体と各第2筐体とをスイッチ接続する筐体間接続スイッチと、第1筐体と各第2筐体及び筐体間接続スイッチにそれぞれ個別に電源を供給する電源供給回路部と、を備え、第1筐体は、上位装置との間で通信を行うための上位通信部と、筐体間接続スイッチを介して各第2筐体と通信を行うための下位通信部と、第1筐体及び各第2筐体の構成に関する情報を管理する構成情報管理部と、構成情報を用いて各第2筐体または筐体間接続スイッチ毎に電源の供給または停止を制御する電源制御部と、下位通信部と各第2筐体との間の通信に関する障害を検出して診断する障害診断部と、を備える。
【0011】
本発明の実施形態では、構成情報には、各記憶デバイスのスピン状態と、各第2筐体及び筐体間接続スイッチの省電力状態とが少なくとも含まれており、電源制御部は、各第2筐体及び筐体間接続スイッチの全体に電源を供給しようとする初期起動時に構成情報を参照し、省電力状態に設定されていない各第2筐体及び筐体間接続スイッチにのみ電源を供給し、省電力状態に設定されている各第2筐体及び筐体間接続スイッチには電源を供給しない。
【0012】
本発明の実施形態では、構成情報には、第1筐体から筐体間接続スイッチを介して各第2筐体内の記憶デバイスに至るまでの接続構成を示す状態が少なくとも含まれており、障害診断部は、筐体間接続スイッチまたは各第2筐体のいずれかの診断対象装置で生じた、通信に関する障害を検出する障害検出部と、構成情報を用いることにより、障害の発生箇所を特定する特定部と、特定された障害に関して通知する通知部と、を備える。
【0013】
本発明の実施形態では、(1)第1筐体から各記憶デバイスに至る通信経路は、プライマリパス及びセカンダリパスによって冗長化されており、(2)筐体間接続スイッチ及び各第2筐体は、(2-1)電源供給回路から電源が供給される電源回路と、(2-2)電源回路から出力される電源によって駆動し、プライマリパスに接続されるプライマリ制御基板と、(2-3)電源回路から出力される電源によって駆動し、セカンダリパスに接続されるセカンダリ制御基板と、(2-4)プライマリ制御基板とセカンダリ制御基板との間に設けられ、プライマリパスとセカンダリパスとを相互に接続するための制御線と、をそれぞれ備えており、(3)特定部は、障害検出部により障害が検出された場合、(3-1)障害の検出された診断対象装置に、セカンダリパスを介してアクセスを試み、(3-2)セカンダリパスを介して診断対象装置にアクセスできない場合には、診断対象装置内の電源回路に接続されている電源供給回路部の電源出力状態を調べ、(3-2-1)電源供給回路から電源が正常に出力されていない場合には、電源供給回路の障害であると判定し、(3-2-2)電源供給回路から電源が正常に出力されている場合には、診断対象装置内の電源回路の障害であると判定し、(3-3)セカンダリパスを介して診断対象装置にアクセスできる場合には、セカンダリパスから制御線を介してプライマリパスを使用可能か否かを調査し、(3-3-1)制御線を介してもプライマリパスを使用できない場合、診断対象装置内の電圧が正常か否かを調査して、電圧が正常な場合は診断対象装置内の通信制御回路の障害であると判定し、電圧が正常ではない場合は診断対象装置内の電源回路または電源回路から通信制御回路に至る給電路の障害であると判定し、(3-3-2)制御線を介してプライマリパスを使用できる場合、リンク障害であると判定する。
【0014】
本発明の実施形態では、特定部は、(4)リンク障害であると判定した場合に、(4-1)プライマリパスを用いて第1の内部ループバックテストを行い、この第1の内部ループバックテストにより応答が得られた場合には、診断対象装置に接続されている接続先装置と診断対象装置との間のパスの障害であると判定し、(4-2)第1の内部ループバックテストにより応答が得られない場合は、セカンダリパスを用いて第2のループバックテストを行い、この第2の内部ループバックテストにより応答が得られない場合は、診断対象装置内の通信制御回路の障害であると判定し、第2の内部ループバックテストにより応答が得られた場合は、診断対象装置と第1筐体との間のパスに障害が生じていると判定するようになっている。
【0015】
本発明の実施形態では、第1筐体は、カスケード接続された複数の筐体間接続スイッチを介して、複数の第2筐体に接続されている。
【0016】
本発明の実施形態では、各第2筐体は、上位第2筐体と下位第2筐体とに分類することができ、上位第2筐体は、筐体間接続スイッチを介して第1筐体にスター接続されており、下位第2筐体は、上位第2筐体にディジーチェーン接続されている。
【0017】
本発明の実施形態では、電源制御部は、(1)各第2筐体のうち、その筐体内の全ての記憶デバイスが節電モードに移行している第2筐体への電源供給を停止させ、(2)上位装置から発行されるアクセス要求に応じて、電源供給の停止された第2筐体への電源供給を再開させる。
【0018】
本発明の他の観点に従う、筐体単位で記憶制御装置の電源供給を制御する方法は、(1)記憶制御装置は、上位装置からのアクセス要求に応じて記憶デバイスにデータを入出力させるための第1筐体と、この第1筐体からの指示に応じて動作する少なくとも一つ以上の第2筐体であって、記憶デバイスをそれぞれ備える第2筐体と、第1筐体と各第2筐体とをスイッチ接続する筐体間接続スイッチと、第1筐体と各第2筐体及び筐体間接続スイッチにそれぞれ個別に電源を供給する電源供給回路部と、を備えており、(2)第1筐体は、上位装置との間で通信を行うための上位通信部と、筐体間接続スイッチを介して各第2筐体と通信を行うための下位通信部と、第1筐体及び各第2筐体の構成に関する情報を管理する構成情報管理部と、構成情報を用いて各第2筐体または筐体間接続スイッチ毎に電源の供給または停止を制御する電源制御部と、下位通信部と各第2筐体との間の通信に関する障害を検出して診断する障害診断部と、を備えており、(3)構成情報には、各記憶デバイスのスピン状態と、各第2筐体及び筐体間接続スイッチの省電力状態と、第1筐体から筐体間接続スイッチを介して各第2筐体内の記憶デバイスに至るまでの接続構成を示す状態とが少なくとも含まれており、(4)障害診断部は、筐体間接続スイッチまたは各第2筐体のいずれかの診断対象装置で生じた、通信に関する障害を検出する検出ステップと、構成情報を用いることにより、障害の発生箇所を特定する特定ステップと、特定された障害に関して通知する通知ステップと、をそれぞれ実行する。
【発明を実施するための最良の形態】
【0019】
以下、図面に基づき、本発明の実施の形態を説明する。図1は、本実施形態に係る記憶制御装置の全体概要を示す説明図である。本実施形態では、以下に述べるように、「第1筐体」としての基本筐体1と「第2筐体」としての増設筐体2とを「筐体間接続スイッチ」としての装置間スイッチ4を介してスイッチ接続し、いずれの増設筐体2も筐体単位で個別に電源供給を制御できるようにしている。さらに、本実施形態では、基本筐体1と各増設筐体2との間の通信経路上に生じた障害を検出し、その障害の発生箇所を特定することができるようになっている。
【0020】
本実施形態による記憶制御装置は、基本筐体1と、複数の増設筐体2とを備えて構成されている。基本筐体1と各増設筐体2とは、装置間スイッチ(以下、スイッチと略す場合がある)4を介して、スイッチ接続される。また、スイッチ4は通信経路4Aを介してカスケード接続することができ、これにより、多数の増設筐体2を基本筐体1に接続できるようになっている。
【0021】
基本筐体1と各増設筐体2との間の信号やデータの伝達は、装置間スイッチ4を介して行われる。即ち、基本筐体1を中心として、各増設筐体2がスター接続されている。基本筐体1は、記憶制御装置全体の制御を司る筐体であり、上位装置としてのホスト5及び各増設筐体2と接続される。基本筐体1は、ホスト5から発行されたコマンドに応じて、増設筐体2内のディスクドライブ2Bにアクセスし、データの読み書きを行う。
【0022】
基本筐体1は、例えば、上位通信部1Aと、下位通信部1Bと、I/O処理部1Cと、電源制御部1Dと、構成情報管理部1Eと、障害診断部1Fとを備えている。後述の実施例からも明らかなように、基本筐体1は、ディスクドライブを備えることもできる。
【0023】
上位通信部1Aは、ホスト5との間で通信を行うためのものである。下位通信部1Bは、スイッチ4を介して各増設筐体2との間で通信を行うためのものである。ホスト5と上位通信部1Aとは、例えば、ファイバチャネルプロトコル、iSCSI(internet Small Computer System Interface)、IP(Internet Protocol)プロトコル等のプロトコルに従って、通信を行う。下位通信部1Bと各増設筐体2とは、例えば、ファイバチャネルプロトコルに従って通信を行う。以上は例示であり、本発明はプロトコルの種類で限定されない。
【0024】
I/O処理部1Cは、ホスト5から発行されたコマンドに基づいて、各増設筐体2内のディスクドライブ2Bにアクセスすることにより、データを書き込んだり、または、データを読み出したりする。
【0025】
電源制御部1Dは、基本筐体1が有する制御機能の一つであり、各増設筐体2に関する電源の供給及び停止を制御する。電源制御部1Dは、例えば、複数種類の省電力モードをそれぞれのタイミングで実行させることができる。
【0026】
ドライブ単体の省電力を実現させるモードでは、例えば、一定時間アクセスされないディスクドライブ2Bのモータへの通電を停止させたり、電子回路の一部を停止させることにより、ドライブ毎の省電力を実現する。
【0027】
全ドライブへの通電を停止させるモードでは、同一筐体に設けられている全てのディスクドライブ2Bへの通電を停止させることにより、筐体内のディスクドライブ全体について省電力を実現する。なお、この省電力モードでは、例えば、冷却ファン2Cのような、全ディスクドライブ2Bの停止に伴って停止させることのできる装置への通電を停止させることもできる。
【0028】
筐体全体への通電を停止させるモードでは、電源供給回路部3のスイッチ3Aを開くことにより、外部電源6から増設筐体2への電源供給を完全に停止させる。この省電力モードでは、増設筐体2の各機能は停止され、最も省電力効果が高くなる。
【0029】
電源制御部1Dは、自己診断モードを備えることもできる。自己診断モードでは、筐体全体への通電が停止された増設筐体2に対して、定期的にまたは不定期に通電することにより、その増設筐体2が正常に動作するか否かを診断する。
【0030】
構成情報管理部1Eは、記憶制御装置のシステム構成に関する情報を記憶し、管理している。システム構成に関する情報としては、例えば、ディスクドライブ2Bの配置に関する情報、RAIDグループや論理ボリュームの構成に関する情報、増設筐体2と電源供給回路部3との接続構成に関する情報、基本筐体1と各増設筐体2の接続構成に関する情報等を挙げることができる。本実施形態では、記憶制御装置に関する全ての構成情報を基本筐体1が一元的に管理する。電源制御部1Dは、システム構成情報を参照することにより、目的の増設筐体2への通電停止等を行う。
【0031】
障害診断部1Fは、下位通信部1Bと各増設筐体2との間の通信に関して発生した障害を検出し、その発生箇所を特定して管理装置7に通知する。障害の検出方法及び障害発生箇所の特定方法は後述の実施例で詳細に説明する。
【0032】
電源供給回路部3は、例えば、外部電源6からの交流電源を各筐体1,2にそれぞれ分配するための回路である。ここでは、基本筐体1への電源分配については省略しているが、後述の実施例から明らかなように、電源供給回路部3を介して、外部電源6と基本筐体1とは接続されている。
【0033】
電源供給回路部3は、各筐体1,2及び各スイッチ4に電源をそれぞれ供給するための回路である。電源供給回路部3は、各増設筐体2と外部電源6とをそれぞれ接続するスイッチ3Aを備えている。従って、目的の増設筐体2またはスイッチ4への電源供給を停止させる場合は、その増設筐体2またはスイッチ4に接続されたスイッチ3Aを開く。これにより、目的の増設筐体2またはスイッチ4への電力供給経路が遮断される。
【0034】
電源供給回路部3は、各筐体1,2と独立した装置として構成可能である。これに限らず、電源供給回路部3を各筐体1,2内に設けることもできる。即ち、例えば、スイッチ3Aを各増設筐体2内に設ける構成でもよい。
【0035】
各増設筐体2は、例えば、制御基板2Aと、複数のディスクドライブ2Bと、筐体内電源部(後述の実施例を参照)と、冷却ファン2Cとをそれぞれ備えて構成される。制御基板2Aは、基本筐体1からの指示に基づいて、ディスクドライブ2Bへのデータ入出力を行う。
【0036】
ディスクドライブ2Bは、記憶デバイスに該当する。ここでは、便宜上、ディスクドライブと呼ぶが、ディスク以外の媒体を用いる記憶デバイスでもよい。ディスクドライブ2Bとしては、例えば、ハードディスクドライブ、半導体メモリデバイス、フラッシュメモリデバイス、光ディスクドライブ、光磁気ディスクドライブ、磁気テープデバイス、ホログラフィックスメモリデバイス等を用いることができる。
【0037】
筐体内電源部は、例えば、外部電源6から電源供給回路部3を介して入力された交流電源または直流電源を、所定の電圧を有する直流電源に変換し、制御基板2A,各ディスクドライブ2B及び冷却ファン2Cにそれぞれ供給する。筐体内電源部は、制御基板2Aからの指示に応じて、各ディスクドライブ2Bへの通電を停止させることができるように構成することができる。
【0038】
冷却ファン2Cは、増設筐体2内に冷却風を導いて冷却させるものである。冷却ファン2Cは、増設筐体2内に存在するディスクドライブ2B以外の負荷の一例である。冷却ファン2Cは、制御基板2Aからの信号によって動作する。即ち、制御基板2Aは、例えば、冷却ファン2Cの動作開始や動作停止、回転数を制御することができる。なお、空冷機構として冷却ファン2Cを挙げたが、増設筐体2は水冷機構を備える構成でもよい。水冷機構の場合は、例えば、冷却水循環ポンプや熱交換器の動作を制御することにより、増設筐体2の電力消費量を節減する。
【0039】
上述のように、本実施形態では、基本筐体1を中心として各増設筐体2がスター型に配置されている。従って、基本筐体1との間で通信を行う上では、各増設筐体2はそれぞれ独立しており、互いに他の増設筐体2に影響を与えない。即ち、基本筐体1は、目的の増設筐体2と直接的に通信を行うことができるため、ある増設筐体2への電源供給が遮断されている場合でも、他の増設筐体2は、基本筐体1と通信を行うことができる。従って、基本筐体1は、全ディスクドライブ2Bが省電力モードに移行している増設筐体2への電源供給を自由に停止させることができる。
【0040】
なお、ディスクドライブ2Bは、その性能や信頼性によって複数のグループに分類することができる。例えば、FC(Fibre
Channel)ディスク等のような高性能のディスクドライブと、例えば、SATA(Serial AT Attachment)ディスク等のような低性能のディスクドライブ等である。各増設筐体2には、それぞれ同一種類のディスクドライブ2Bを内蔵させることができる。即ち、ある増設筐体2は、高性能のディスクドライブ2Bのみを内蔵し、他の増設筐体2は、低性能のディスクドライブ2Bのみを内蔵する。
【0041】
そして、例えば、高性能のディスクドライブ2Bには、ホスト5によって頻繁に使用されるデータを記憶させ、低性能のディスクドライブ2Bにはホスト5による利用頻度の少ないデータ(例えば、バックアップデータやアーカイブデータ)を記憶させる。これにより、低性能のディスクドライブ2Bを内蔵する増設筐体2に電源を供給する時間を短くすることができ、電力消費量を低減できる。以下、本実施形態の記憶制御装置を詳細に説明する。
【実施例1】
【0042】
図2は、記憶制御装置の正面図を模式的に示す説明図である。記憶制御装置は、例えば、基本ラック10と一つまたは複数の増設ラック11とをケーブル等で接続することにより、構成される。基本ラック10は、例えば、基本筐体100と、複数の増設筐体200と、複数のスイッチボックス400とを備える。基本ラック10は、記憶制御装置の最小構成であり、基本ラック10のみで記憶制御装置の機能を実現することができる。
【0043】
増設ラック11は、例えば、複数の増設筐体200及び複数のスイッチボックス400を備える。基本ラック10の記憶容量が足りなくなった場合、増設ラック11を基本ラック10に接続することにより、記憶容量を増加させることができる。
【0044】
図3は、基本筐体100を前面側から見た斜視図である。基本筐体100のケーシング101には、その前面側101Fに、複数のバッテリ140及び複数のディスクドライブ230がそれぞれ設けられる。基本筐体100は、ディスクドライブ230を備える構成でもよいし、ディスクドライブ230を備えない構成でもよい。ディスクドライブ230を備えない場合、前面101Fの所定箇所は、バッテリ等の他の構成品が搭載されるか、又は、化粧板等で施蓋される。
【0045】
図4は、基本筐体100を後面側から見た斜視図である。ケーシング101の後面側101Rには、例えば、複数のコントローラ110と、複数の筐体内電源部120と、複数の冷却ファン130とがそれぞれ取り付けられる。
【0046】
冷却ファン130は、複数のファンが一体化されたファンアッセンブリとして構成されており、ケーシング101の左右両側にそれぞれ配置される。コントローラ110は、ケーシング101の中央に上下に並んで配置される。筐体内電源部120は、ケーシング101の下側に、左右に並んで配置される。なお、以下の増設筐体200の説明でも同様であるが、基本筐体100及び増設筐体200の構成は、図示するものに限定されない。
【0047】
図5は、増設筐体200を前面側から見た斜視図である。増設筐体200のケーシング201には、その前面側201Fに、複数のディスクドライブ230を取り付けることができる。本実施例では、#0〜#14の合計15台のディスクドライブ230が取り付けられる場合を例に挙げて説明する。1つの筐体当たりのディスクドライブ搭載数は、15に限定されない。ディスクドライブ230が取り付けられていない空間は、化粧板等で施蓋することにより、外部の塵埃等がケーシング201内に侵入するのを防止する。
【0048】
図6は、増設筐体200を後面側から見た斜視図である。ケーシング201の後面側201Rには、複数の制御基板210及び複数の筐体内電源部220がそれぞれ取り付けられている。なお、図6の構成においては、冷却ファンは筐体内電源部220内に搭載されているが、図10に示すように、増設筐体200には、冷却ファン202を設けることができる。即ち、冷却ファンと電源部とを別々の構成部品としてもよい。
【0049】
図7は、記憶制御装置の構成を模式的に示す説明図である。各ラック10,11内には、各筐体100,200に外部からの電源を供給するための電源分配回路部300がそれぞれ設けられている。以下の説明では、電源分配回路部300をPDB(Power Distribution Box)と呼ぶ。
【0050】
記憶制御装置は、複数の電源供給系統を備えることができる。1つの系統は、図7中の左側にPDB#0で示すプライマリ系統であり、他の1つの系統は、図7中の右側にPDB#1で示すセカンダリ系統である。即ち、記憶制御装置の電源供給構造は、プライマリ系統及びセカンダリ系統によって冗長化されている。
【0051】
各PDB300は、例えば、4個,6個等のような所定数の筐体に、外部からの電源を分配することができる。従って、1つのラック内に多数の筐体が取り付けられる場合、複数の電源供給系統のそれぞれにおいて、複数のPDB300が必要となる。なお、これに代えて、ラックに装着可能な最大数の筐体に外部からの電源を分配可能な単一のPDBを、各電源供給系統毎に使用する構成でもよい。
【0052】
各PDB300は、所定数のスイッチ310を備えている。各スイッチ310は、それぞれ対応する筐体内の電源部に接続される。図中では、AC/DC電源部を「PS」と略記して示している。
【0053】
基本筐体100の有する各筐体内電源部120は、それぞれ別系統のPDB300のスイッチ310に接続されている。同様に、各増設筐体200の有する各筐体内電源部220も、それぞれ別系統のPDB300のスイッチ310にそれぞれ接続されている。従って、いずれか一方のPDB300に障害が生じた場合でも、他方のPDB300から各筐体100,200に電源を供給することができる。
【0054】
基本筐体100のコントローラ110は、図中に一点鎖線で示すように、信号線L1を介して、各PDB300にそれぞれ接続されている。コントローラ110は、各スイッチ310の開閉を個別に制御することができる。コントローラ110は、目的の増設筐体200への電源供給を完全に停止させる場合、その増設筐体200に接続された各系統のスイッチ310をそれぞれ開くことにより、外部電源と筐体内電源部220との間の電源供給経路を遮断させる。
【0055】
なお、各コントローラ110と各PDB300とは、有線接続でもよいし、無線接続でもよい。無線接続の場合は、PDB300内に、コントローラ110からの無線信号に応じて各スイッチ310を開閉させるための回路を設ければよい。また、各コントローラ110と各PDB300とをスイッチボックス400を介して接続する構成としてもよい。
【0056】
スイッチボックス400は、基本筐体100と各増設筐体200とをスイッチ接続するための装置であり、「筐体間接続スイッチ」に該当する。各スイッチボックス400は、図中点線で示すように、信号線L3を介して、それぞれ所定の増設筐体200と接続されている。
【0057】
各スイッチボックス400と基本筐体100のコントローラ110とは、信号線L2を介して接続されている。各コントローラ110は、所望の増設筐体200に接続されたスイッチボックス400を介して、所望の増設筐体200と通信する。なお、図8と共に述べる通り、複数のスイッチボックス400をカスケード接続することもできる。
【0058】
図8は、スイッチボックス400と各筐体100,200との接続構成を示す説明図である。基本筐体100、増設筐体200及びPDB300の詳細な構成は、それぞれ別図と共に後述する。
【0059】
図8の上側に示すように、基本筐体100は、例えば、SAN等の通信ネットワークCN1を介して、一つまたは複数のホスト13に接続されている。さらに、基本筐体100は、LAN等の通信ネットワークCN2を介して、少なくとも一つの管理装置14に接続されている。基本筐体100は、ホスト13から発行されたアクセス要求に基づいて、ディスクドライブ230にアクセスし、その処理結果をホスト13に応答する。管理装置14は、記憶制御装置の各種状態に関する情報(例えば、キャッシュメモリやボリュームの使用率、プロセッサ使用率、I/O量、内部の電圧値、内部温度等)を収集し、端末画面に表示させたり、ユーザに通知する。また、管理装置14からの指示によって、記憶制御装置の構成を変更させることもできる。
【0060】
基本筐体100は、それぞれ2つずつのコントローラ(図中「CTL」と略す場合がある)110及び筐体内電源部120を備えている。増設筐体200は、それぞれ2つずつの制御基板(図中、「EXP」と略す場合がある)210及び筐体内電源部220と、複数の(例えば15個の)ディスクドライブ230とを備える。
【0061】
スイッチボックス400は、それぞれ2つずつの通信制御回路(図中「EXP」と略す場合がある)410及び筐体内電源部420を備える。通信制御回路410は、信号線L2を介して基本筐体100内コントローラ110に接続されると共に、信号線L3を介して増設筐体200内の制御基板210に接続されている。
【0062】
基本筐体100からディスクドライブ230に至る経路は、プライマリ系統(#0)とセカンダリ系統(#1)の2種類の経路で冗長化されている。即ち、プライマリのコントローラ110(#0)は、信号線L2を介してプライマリの通信制御回路410(#0)に接続され、この通信制御回路410(#0)は、信号線L3を介してプライマリの制御基板210(#0)に接続される。セカンダリ系統も同様である。
【0063】
さらに、スイッチボックス400内の各通信制御回路410は、制御線411を介して相互に接続されている。これにより、プライマリの通信制御回路410(#0)は、制御線411を介して、セカンダリの制御基板210(#1)にアクセスでき、同様に、セカンダリの通信制御回路410(#1)は、制御線411を介して、プライマリの制御基板210(#0)にアクセスできる。
【0064】
プライマリの基板とセカンダリの基板との間を制御線で接続する構成は、基本筐体100及び各増設筐体200でも同様である。基本筐体100内の各コントローラ110(#0,#1)は、制御線119を介して相互に接続されている。増設筐体200内の各制御基板210(#0,#1)は、制御線215を介して相互に接続されている。このように、本実施例の記憶制御装置は、通信系統が多重化されており、プライマリ系統またはセカンダリ系統のいずれかで障害が発生した場合でも、ディスクドライブ230へのアクセスを行うことができるようになっている。
【0065】
図8の左側に示すように、複数のスイッチボックス400を、信号線L4を介して、カスケード接続することもできる。一方のスイッチボックス400内の通信制御回路410(#0)は、信号線L4を介して、他方のスイッチボックス400内の通信制御回路410(#0)にカスケード接続される。同様に、一方のスイッチボックス400内の通信制御回路410(#1)は、別の信号線L4を介して、他方のスイッチボックス400内の通信制御回路410(#1)にカスケード接続される。複数のスイッチボックス400をカスケード接続することにより、多数のディスクドライブ230へのデータ入出力を行うことができる。
【0066】
電源供給系統に着目すると、各装置100,200,400内にそれぞれ設けられている2つの筐体内電源部120,220,420は、それぞれ対応する系統のPDB300に接続されている。即ち、プライマリ系統の筐体内電源部には、プライマリ系統のPDB300から電源が供給され、セカンダリ系統の筐体内電源部には、セカンダリ系統のPDB300から電源が供給される。
【0067】
図9は、PDB300の構成に着目した回路図である。PDB300は、例えば、複数のスイッチ310と、制御回路320と、AC/DC電源部330と、複数のブレーカ340と、を備えて構成される。外部から入力される交流電源は、AC/DC電源部330によって直流電源に変換される。この変換された直流電源は、ブレーカ340及びスイッチ310を介して、基本筐体100内の筐体内電源部120や増設筐体200内の筐体内電源部220に供給される。
【0068】
制御回路320は、例えば、LAN(Local Area Network)のような信号線L1を介して、コントローラ110に接続されている。制御回路320は、コントローラ110から発行されるコマンドに従って、指定されたスイッチ310をオンまたはオフさせる。ここで、スイッチ310をオンにするとは、スイッチ310の接点を閉じて導通状態にすることを意味し、スイッチ310をオフにするとは、スイッチ310の接点を開いて遮断状態にすることを意味する。
【0069】
図9に示すように、スイッチボックス400は、アクセス先のパスを切り替えるための通信制御回路410を備えている。通信制御回路410は、信号線L2を介してコントローラ110に接続されている。通信制御回路410は、各信号線L3を介して、各増設筐体200にそれぞれ接続されている。通信制御回路410は、コントローラ110からの指示に応じて、指定された増設筐体200と基本筐体100とを接続させる。
【0070】
図10は、記憶制御装置の電源供給構造を模式的に示す説明図である。図10中では、紙面の都合上、一部の構成を省略して示す。
【0071】
図11は、記憶制御装置の内部構成を模式的に示す説明図である。基本筐体100の各コントローラ110は、通信ネットワークCN1を介して、ホスト13にそれぞれ接続されている。各コントローラ110は、図12に示すように、通信ネットワークCN2を介して管理装置14にもそれぞれ接続されている。
【0072】
ホスト13は、例えば、図外のクライアント端末からの要求に応じて、記憶制御装置にアクセスし、データの読み書きを行う。ホスト13としては、例えば、メインフレームコンピュータやサーバコンピュータ等を挙げることができる。通信ネットワークCN1としては、例えば、LAN、SAN(Storage Area Network)、インターネットあるいは専用回線等を挙げることができる。
【0073】
LANを用いる場合、ホストコンピュータ13と記憶制御装置とは、TCP/IP(Transmission Control Protocol/Internet Protocol)に従って通信を行う。SANを用いる場合、ホストコンピュータ13と記憶制御装置とは、ファイバチャネルプロトコルに従って通信を行う。また、ホストコンピュータ13がメインフレームコンピュータである場合、例えば、FICON(Fibre Connection:登録商標)、ESCON(Enterprise System Connection:登録商標)、ACONARC(Advanced Connection Architecture:登録商標)、FIBARC(Fibre Connection Architecture:登録商標)等の通信プロトコルに従ってデータ転送が行われる。
【0074】
上述の通り、記憶制御装置の制御系統も、電源供給系統と同様に冗長化される。プライマリのコントローラ110(#0)とセカンダリのコントローラ110(#1)とは、それぞれ配下にある全てのディスクドライブ230にアクセス可能である。即ち、いずれか一方の系統に障害が発生した場合でも、他方の系統からディスクドライブ230にアクセス可能である。記憶制御装置の全体動作は、基本筐体100内のコントローラ110によって制御される。従って、各コントローラ110は、基本筐体100内の各ディスクドライブ230のみならず、増設筐体200内の各ディスクドライブ230にもそれぞれアクセス可能である。
【0075】
基本筐体100の各筐体内電源部120は、各コントローラ110及び基本筐体100内の各ディスクドライブ230に、それぞれ所定電圧の直流電源を供給する。筐体内電源部120は、例えば、直流5ボルトや直流12ボルト等のような複数種類の電圧を出力可能である。なお、図中では、説明の便宜上、下段側のディスクドライブ230にのみ電源が供給されるかのように示されているが、各筐体内電源部120は、筐体内の全てのディスクドライブ230に電源を供給する。
【0076】
図11中の下側には増設筐体200が簡略化されて示されている。紙面の都合上、1つの増設筐体200のみを示している。上述のように、基本筐体100は、複数の増設筐体200とスイッチボックス400を介してスイッチ接続されている。
【0077】
増設筐体200の筐体内電源部220は、筐体内電源部120と同様に、外部から入力された電源を所定電圧の直流電源に変換して出力する。筐体内に存在する全てのディスクドライブ230,制御基板210及び冷却ファン202には、各筐体内電源部220から直流電源がそれぞれ供給される。
【0078】
なお、説明の便宜のために、各筐体内電源部220から直流電源がそれぞれ供給されると述べたが、例えば、通常時においては、いずれか一方の筐体内電源部220(例えば、プライマリ(#0)の筐体内電源部)のみから各ディスクドライブ230や制御基板210等に直流電源が供給される構成でもよい。ディスクドライブ230や制御基板210等の負荷から各筐体内電源部220を見たときのインピーダンスに差をつけることにより、いずれか一方の筐体内電源部220から電源を供給させることができる。例えば、いずれかの筐体内電源部220からの出力に、他方の筐体内電源部220よりも多い段数のダイオードを設ければよい。これにより、障害発生時には、スイッチ切替等を行うことなく、他方の筐体内電源部220に自動的に切り替わる。
【0079】
ディスクドライブ230は、例えば、ATA(AT Attachment)ディスク、SCSI(Small Computer System Interface)ディスク、FC(Fibre
Channel)ディスク等のようなハードディスクドライブとして構成される。これに限らず、例えば、半導体メモリドライブ(フラッシュメモリデバイスを含む)、光ディスクドライブ、光磁気ディスクドライブ等の他の記憶デバイスを用いてもよい。
【0080】
例えば、4個1組、8個1組等のような所定数のディスクドライブ230によって、RAIDグループ240が構成される。RAIDグループ240は、別々の筐体に存在する複数のディスクドライブ230から構成することもできるし、同一筐体に存在する1つまたは複数のディスクドライブ230から構成することもできる。
【0081】
図12に示すように、RAIDグループ240には、1つまたは複数の論理ボリューム250を設けることができる。論理ボリューム250は、ホスト13からアクセスされる対象であり、ホスト13により使用されるデータを記憶している。
【0082】
図12は、1つのコントローラ110に着目した場合のブロック図である。コントローラ110は、例えば、ホストインターフェース回路111と、ドライブインターフェース回路112と、データ転送回路113と、キャッシュメモリ114と、プログラムメモリ115と、プロセッサ(図中「MPU」と略記)116と、ブリッジ117と、LANインターフェース118とを備えて構成される。
【0083】
ホストインターフェース回路111は、ホスト13との間の通信を制御する。ホスト13から発行された各種コマンドやデータは、ホストインターフェース回路111によって受信される。ディスクドライブ230から読み出されたデータやコマンドの処理完了を告げる通知は、ホストインターフェース回路111からホスト13に送信される。
【0084】
ドライブインターフェース回路112は、各ディスクドライブ230との間の通信を制御する。ドライブインターフェース回路112は、論理ブロックアドレス(LBA)とディスクドライブ230の物理的なアドレスとの変換操作等を行う。
【0085】
データ転送回路113は、コントローラ110内のデータ転送を制御するための回路である。データ転送回路113は、ホストインターフェース回路111とキャッシュメモリ114との間のデータ転送や、ドライブインターフェース回路112とキャッシュメモリ114との間のデータ転送を制御する。
【0086】
プロセッサ116は、一つまたは複数のプロセッサコアを備えている。プロセッサ116は、プログラムメモリ115に記憶された電源管理プログラム等の種々のプログラムを読み込んで実行することにより、後述の電源制御等を実現する。
【0087】
キャッシュメモリ114は、ホスト13から受信したデータやホスト13により読み出されたデータを記憶する。キャッシュメモリ114には、記憶制御装置のシステム構成に関する情報も記憶されている。キャッシュメモリ114の記憶内容は、バッテリ140によってバックアップされる。ブリッジ117は、プロセッサ116とプログラムメモリ115とを接続する。
【0088】
プロセッサ116は、ブリッジ117を介してデータ転送回路113に接続される。LANインターフェース118は、管理装置14とコントローラ110とを接続するための回路である。
【0089】
図13は、増設筐体200のブロック図である。先に、筐体内電源部220の構成を説明する。筐体内電源部220は、例えば、電圧変換回路221と、複数の出力ダイオード222A〜222Cと、出力制御スイッチ223とを備えている。
【0090】
電圧変換回路221は、PDB300を介して入力された電源を複数種類の直流電圧V1,V2に変換して出力する。例えば、V1は直流5ボルト程度、V2は直流12ボルト程度にそれぞれ設定される。出力ダイオード222A〜222Cは、逆流防止のために設けられている。スイッチ223は、直流電圧を出力させるか否かを制御するためのもので、制御基板210によって切り替えられる。
【0091】
各ディスクドライブ230には、V1,V2がそれぞれ供給される。各制御基板210及び各冷却ファン202には、V2がそれぞれ供給される。図13に示すように、2つの筐体内電源部220の出力は、それぞれOR接続されている。従って、いずれか一方の筐体内電源部220に障害が生じた場合でも、他方の筐体内電源部220から制御基板210やディスクドライブ230等に所定電圧の電源が供給される。各筐体内電源部220からの出力V1,V2が停止した場合、筐体内の全てのディスクドライブ230への電源供給が同時に停止する。
【0092】
各制御基板210は、信号線P2を介して、各筐体内電源部220内の各スイッチ223にそれぞれ接続されている。各制御基板210は、各スイッチ223をそれぞれ個別に開閉させることができる。また、各制御基板210は、信号線P3を介して、各冷却ファン202にもそれぞれ接続されている。各制御基板210は、各冷却ファン202の作動を開始または停止、あるいは回転数を調節することができる。
【0093】
図14は、1つの制御基板210に着目した構成説明図である。制御基板210は、例えば、マイクロプロセッサ部211と、通信インターフェース部212と、制御信号出力回路213とを備えて構成される。
【0094】
マイクロプロセッサ部211は、制御基板210の動作を制御するものであり、例えば、資源管理機能211A、コマンド処理機能211B、電源制御機能211C、冷却ファン制御機能211Dをそれぞれ実現する。
【0095】
資源管理機能211Aは、例えば、増設筐体200内の各資源(ディスクドライブ230,筐体内電源部220等)の配置や状態等を管理する機能である。コマンド処理機能211Bは、コントローラ110から入力された指示を実行するための機能である。即ち、コマンド処理機能211Bは、コントローラ110からデータの書込みを要求された場合は、指定されたディスクドライブ230の指定されたアドレスにデータを書き込む。また、コマンド処理機能211Bは、コントローラ110からデータの読出しを要求された場合は、指定されたディスクドライブ230の指定されたアドレスから、指定された長さのデータを読み出してコントローラ110に転送する。
【0096】
電源制御機能211Cは、コントローラ110からの指示に基づいて、スイッチ223を開閉させることにより、筐体内電源部220の出力を制御する機能である。冷却ファン制御機能211Dは、コントローラ110からの指示に基づいて、冷却ファン202の作動を制御する機能である。
【0097】
通信インターフェース部212は、スイッチボックス400を介して、基本筐体100との間で通信を行うものである。基本筐体100のコントローラ110から出力されたコマンドやデータは、スイッチボックス400を介して、通信インターフェース部212に入力される。
【0098】
図15は、論理ボリューム250を管理するためのテーブルT1の構成を示す説明図である。このテーブルT1は、図16に示す省電力管理テーブルT2と共に、記憶制御装置の構成情報を構成する。これら各テーブルT1,T2は、例えば、キャッシュメモリ114内に記憶される。
【0099】
ボリューム管理テーブルT1は、例えば、ボリューム番号(LU#)C11と、容量C12と、RAIDグループ番号C13と、RAIDレベルC14と、ドライブ番号リストC15と、最新アクセス時刻C16とのような項目を対応付けて管理する。なお、図に示す以外の項目を管理する構成でもよい。また、テーブルT1を複数のテーブルに分割して管理する構成でもよい。
【0100】
論理ボリューム番号C11は、記憶制御装置内に設けられている全ての論理ボリューム250を一意に特定するための識別情報である。容量C12は、論理ボリューム250の記憶容量を示す情報である。RAIDグループ番号C13は、論理ボリューム250が設けられているRAIDグループ240を一意に特定するための識別情報である。RAIDレベルC14とは、RAIDグループ240のRAIDレベルを示す情報である。RAIDレベルとしては、例えば、RAID1,RAID5,RAID6等を挙げることができる。ドライブ番号リストC15とは、RAIDグループ240を構成しているディスクドライブ230を特定するための情報である。最新アクセス時刻C16とは、ホスト13が論理ボリューム250に最後にアクセスした時刻を示す情報である。なお、紙面の都合上、図示していないが、例えば、所定の期間毎のアクセス頻度や、各論理ボリューム250の空き容量等をテーブルT1で管理することもできる。
【0101】
図16は、各筐体100,200における電源供給状態を管理するための省電力管理テーブルT2を示す説明図である。この省電力管理テーブルT2は、例えば、スイッチボックス400の番号C21毎に、筐体番号C22と、ドライブ番号C23と、スピン状態C24と、各PDB300のスイッチ(図中「SW」と略記)番号C25と、そのスイッチ状態C26と、筐体に電源が供給されているか否かを示す供給状態C27と、カスケード接続の状態C28と、診断結果C29とをそれぞれ対応付けて管理している。
【0102】
スイッチボックス番号C21とは、各スイッチボックス400を一意に特定するための識別情報である。筐体番号C22とは、各筐体100,200を一意に特定するための識別情報である。ドライブ番号C23とは、その筐体に設けられている各ディスクドライブ230を特定するための識別情報である。
【0103】
スピン状態C24とは、そのディスクドライブ230がスピンアップしているか、スピンダウンしているかを示す情報である。スピンアップ状態の場合は「ON」で示され、スピンオフ状態の場合は「OFF」で示される。スピンアップ状態とは、ディスクが所定速度で回転している状態であり、データの読み書きが可能である。スピンダウン状態とは、ディスクが所定速度以下で回転または停止している状態であり、この状態ではデータの読み書きを行うことはできない。
【0104】
PDBスイッチ番号C25とは、その筐体に接続されている各PDB300のスイッチ310をそれぞれ特定するための情報である。スイッチ状態C26とは、C25で特定されたスイッチ310の開閉状態をそれぞれ示す情報である。スイッチ310が閉じている場合は「ON」で示され、スイッチ310が開いている場合は「OFF」で示される。
【0105】
筐体への電源供給状態C27とは、その筐体に電源が供給されているか否かを示す情報である。電源が供給されている場合には「ON」が設定され、電源供給が停止されている場合には「OFF」が設定される。また、C27では、その筐体に接続されているスイッチボックス400への電源供給状態も同時に示されている。電源供給の停止されている状態を本実施例では「省電力状態」または「省電力モード」と呼ぶ。
【0106】
カスケード状態C28は、カスケード接続されたスイッチボックス400の番号を表示する。例えば、仮に、スイッチボックス400(#1)にスイッチボックス400(#2)がカスケード接続されている場合、400(#2)の行において、カスケード状態C28には、接続元である「#1」が設定される。診断結果C29は、各筐体100,200等が正常に動作しているか否かの診断結果を示す。診断結果C29には、例えば、診断日や診断の良否等が記される。
【0107】
図17は、ディスクドライブ230をスピンダウン状態にするための、電源供給停止処理を示すフローチャートである。
【0108】
コントローラ110は、テーブルT1を参照することにより、所定時間以上アクセスされていないディスクドライブ230が存在するか否かを判定する(S10)。ユーザは、例えば、1時間等のように、任意の値を所定時間として設定できる。
【0109】
コントローラ110は、所定時間以上アクセスされていないディスクドライブ230を検出した場合(S10:YES)、そのディスクドライブ230をスピンダウン状態に変更させるための指示を、そのディスクドライブ230の存在する増設筐体200に向けて発行する(S11)。コントローラ110は、S10で検出されたディスクドライブ230のスピン状態をスピンオフとしてテーブルT2に記録する(S12)。コントローラ110から発行された指示(コマンド)は、スイッチボックス400を介して、目的の増設筐体200に伝達される。
【0110】
コントローラ110からの指示を受領した増設筐体200の制御基板210は、指定されたディスクドライブ230をスピンダウンさせる(S13)。また、制御基板210は、それが可能であれば、冷却ファン202の回転数を低下させる(S14)。
【0111】
例えば、筐体内で他のディスクドライブ230が稼働している場合は、筐体内の温度を保つために、冷却ファン202の回転数は一定値に保持される。これに対し、S13で、1つまたは複数のディスクドライブ230をスピンダウンさせたことにより、冷却能力を低下させることが可能な場合、制御基板210は、冷却ファン202の回転数を低下させることもできる。なお、冷却ファン202の回転数を低下させるか否かは、コントローラ110によって決定してもよいし、あるいは、増設筐体200の制御基板210によって決定してもよい。
【0112】
図18、筐体単位で電源供給を停止させるための、電源供給停止処理を示すフローチャートである。
【0113】
コントローラ110は、テーブルT2を参照し(S20)、対象筐体内の各ディスクドライブ230のスピン状態を確認する(S21)。対象筐体内の全ディスクドライブ230がスピンダウン状態であると判定された場合(S22:YES)、コントローラ110は、対象筐体の制御基板210に向けて、全ディスクドライブ230への通電停止を指示する(S23)。対象筐体の制御基板210は、筐体内電源部220内のスイッチ223を開くことにより、出力V1,V2をそれぞれ停止させ、筐体内の全ディスクドライブ230への通電を停止させる。なお、この場合、コントローラ110は、全ディスクドライブ230への通電停止のみならず、冷却ファン202の停止を要求することができる。
【0114】
コントローラ110は、対象筐体に接続された各PDB300のスイッチ310をオフさせる(S24)。これにより、対象筐体への電源供給が完全に停止される。コントローラ110は、テーブルT2のC26及びC27をそれぞれ更新させる(S25)。
【0115】
コントローラ110は、記憶制御装置内の全筐体について判断したか否かを判定し(S26)、未判定の筐体が存在する場合(S26:NO)、対象筐体を次の筐体に変更する(S27)。そして、コントローラ110は、S20〜S26を繰り返す。
【0116】
図19は、スイッチボックス400への電源供給を停止させるための、電源供給停止処理を示すフローチャートである。
【0117】
コントローラ110は、テーブルT2を参照し(S30)、対象スイッチボックスに接続されている各筐体の省電力状態を確認する(S31)。対象スイッチボックスに接続されている全筐体が省電力モードに設定されている場合(S32:YES)、コントローラ110は、対象スイッチボックスに接続された各PDB300のスイッチ310をそれぞれオフさせる(S33)。これにより、対象スイッチボックスへの電源供給が完全に停止する。そして、コントローラ110は、テーブルT2のC26及びC27をそれぞれ更新させる(S34)。
【0118】
コントローラ110は、記憶制御装置内の全スイッチボックスについて判断したか否かを判定し(S35)、未判定の筐体が存在する場合(S35:NO)、対象筐体を次の筐体に変更する(S36)。そして、コントローラ110は、S30〜S35を繰り返す。
【0119】
図20は、ホスト13から発行されたライトコマンドを処理するためのフローチャートを示す。コントローラ110は、ホスト13からライトコマンド及びライトデータを受領すると(S40)、ライトデータをキャッシュメモリ114に記憶させる(S41)。コントローラ110は、ライトデータをキャッシュメモリ114に記憶させた時点で、ホスト13にライトコマンドの処理が完了した旨を通知する(S42)。コントローラ110は、ライトコマンドに明示された論理アドレスをディスクドライブ230の物理的なアドレスに変換して(S43)、アクセス対象のディスクドライブ230を特定する(S44)。以下の説明では、便宜上、アクセス対象のディスクドライブ230をアクセス先ドライブと表現する場合がある。
【0120】
コントローラ110は、テーブルT2を用いることにより、S44で特定されたアクセス先ドライブにアクセス可能か否かを判定する(S45)。アクセス先ドライブがスピンアップ状態である場合、直ちにアクセス先ドライブにアクセス可能である。アクセス先ドライブにアクセス可能であると判定された場合(S45:YES)、コントローラ110は、アクセス先ドライブにライトデータを転送する(S46)。ライトデータは、スイッチボックス400を介して、アクセス先ドライブを有する増設筐体200に伝達される。制御基板210は、ライトデータを受領すると、指定されたディスクドライブ230(アクセス先ドライブである)にライトデータを書き込む。
【0121】
これに対し、アクセス先ドライブへのアクセスが不能であると判定された場合(S45:NO)、後述する電源供給開始処理が実行される(S60)。このように、本実施例では、ライトデータをアクセス先ドライブに転送する前に、アクセス先ドライブにアクセス可能であるか否かを判断し、アクセス不能な場合は電源供給開始処理を実行する。これに代えて、アクセス先ドライブへのライトデータの書込みができなかった場合に、電源供給開始処理を実行させることもできる。
【0122】
図21は、ホスト13から発行されたリードコマンドを処理するためのフローチャートを示す。コントローラ110は、ホスト13からリードコマンドを受領すると(S50)、アクセス先ドライブを特定する(S51)。ここでのアクセス先ドライブとは、読出しを要求されたデータを記憶しているディスクドライブ230である。
【0123】
コントローラ110は、ホスト13から要求されたデータがキャッシュメモリ114に記憶されているか否かを判定する(S52)。以下の説明では、ホスト13により読出しが要求されているデータをリードデータと呼ぶ場合がある。
【0124】
リードデータがキャッシュメモリ114に記憶されている場合(S52:YES)、後述のS53,S54をスキップして、キャッシュメモリ114に記憶されているリードデータをホスト13に送信する(S55)。
【0125】
リードデータがキャッシュメモリ114に記憶されていない場合(S52:NO)、コントローラ110は、テーブルT2を用いることにより、アクセス先ドライブにアクセス可能か否かを判断する(S53)。アクセス先ドライブにアクセス可能であると判定された場合(S53:YES)、コントローラ110は、アクセス先ドライブからリードデータを読み出してキャッシュメモリ114に記憶させる(S54)。コントローラ110は、キャッシュメモリ114に記憶されたリードデータをホスト13に送信する(S55)。これに対し、アクセス先ドライブにアクセス不能であると判定された場合(S53:NO)、コントローラ110は、電源供給開始処理を実行する(S60)。
【0126】
図22は、電源供給開始処理(S60)の詳細を示すフローチャートである。コントローラ110は、対象筐体の番号として、アクセス先ドライブを有する増設筐体200の番号をセットする(S61)。
【0127】
コントローラ110は、対象筐体に接続された各系統のPDB300内のスイッチ310をそれぞれオンに設定し、対象筐体に電源を供給させる(S62)。続いて、コントローラ110は、アクセス先ドライブをスピンアップさせるためのコマンドを、対象筐体に送信する(S63)。対象筐体の制御基板210は、コントローラ110からのコマンドに従って、アクセス先ドライブを起動し、スピンアップさせる(S64)。
【0128】
図23は、記憶制御装置システム全体の起動処理を示すフローチャートである。最初に、ユーザは、基本筐体100に電源を供給させる(S70)。これにより、コントローラ110が起動し、以下の各ステップが実行される。
【0129】
コントローラ110は、テーブルT2を参照し(S71)、省電力モードに設定されていないスイッチボックス400にPDB300から電源を供給させる(S72)。同様に、コントローラ110は、省電力モードに設定されていない各筐体200にPDB300から電源を供給させる(S73)。コントローラ110は、電源の供給されたスイッチボックス400及び筐体200について、テーブルT2を更新する(S74)。つまり、本実施例では、前回の記憶制御装置システムの停止時において省電力モードに設定されたスイッチボックス400及び筐体200には、記憶制御装置システムの起動時に電源を供給しないようになっている。
【0130】
コントローラ110は、電源を供給すべき各装置に、つまり、省電力モードに設定されていないスイッチボックス400及び筐体200に、それぞれ電源が供給されて起動したか否かを確認する(S75)。電源を供給すべき各装置に電源が供給されたことを確認すると(S75:YES)、コントローラ110は、記憶制御装置システムの使用準備が完了したことを確認し、管理装置14に通知する(S76)。
【0131】
さらに、コントローラ110は、省電力モードに設定されているスイッチボックス400及び筐体200を診断するか否かを判定する(S77)。例えば、バックアップデータ等のようなアクセス頻度の低いデータを記憶している増設筐体200への通電を長時間停止した場合、通電停止中に増設筐体200に障害が発生してもこの障害を検出することができないため、必要な場合にデータを取り出せない可能性がある。
【0132】
そこで、本実施例では、定期的にまたは不定期に、休止中の増設筐体200及びスイッチボックス400に通電することにより、正常に動作するか否かを確認する。この自己診断処理は、予め設定された所定周期で定期的に行うこともできるし、ユーザが任意に指定した時刻で不定期に行うこともできる。診断の結果はテーブルT2に記録される。
【0133】
コントローラ110は、自己診断の開始を決定すると(S77:YES)、診断対象の装置(スイッチボックスや増設筐体)に電源を供給して起動させる(S78)。コントローラ110は、コマンドに対する正常な応答の有無等によって、診断対象の装置が正常に動作するか否かを確認する(S79)。コントローラ110は、診断の結果及び診断日時を、テーブルT2のC29に登録する(S80)。もしも、異常状態が検出された場合、コントローラ110は、所定のエラー検出処理を行う(S81)。エラー検出処理では、例えば、異常の検出された装置に関する警報を管理装置14に送信する。
【0134】
図24は、障害を検出するための処理を示すフローチャートである。スイッチボックス400内の通信制御回路410は、例えば、増設筐体200との通信を行えなかった場合等に、コントローラ110に障害の発生を通知する。コントローラ110は、スイッチボックス400から障害の検出を示す情報を受領すると(S90)、テーブルT2を参照し(S91)、障害の検出された筐体200の省電力状態を確認する(S92)。
【0135】
コントローラ110は、スイッチボックス400から通知された障害が、省電力モードに設定されている筐体200に関する障害であるか否かを判定する(S93)。省電力モードに設定されている筐体200に関する障害である場合(S93:YES)、コントローラ110は、スイッチボックス400から通知された障害を障害として扱わず、管理装置14に障害発生を通知しない(S94)。スイッチボックス400が、電源供給の停止されている筐体200と通信できないのは予定されたことだからである。これに対し、スイッチボックス400から通知された障害が、省電力モードに設定されていない筐体200に関する障害である場合(S93:NO)、コントローラ110は、後述のように、その障害の発生箇所を特定し、障害処理を実行する(S95)。
【0136】
図25は、障害の発生箇所を特定するための処理を示すフローチャートである。以下の説明では、障害の発生をコントローラに通知した通知元の装置がスイッチボックス400であり、プライマリ系統で障害が検出された場合を中心に説明する。
【0137】
通知元の装置は、診断対象装置と呼ぶ場合もある。診断対象装置としては、スイッチボックス400や増設筐体200を挙げることができる。診断対象装置が増設筐体200の場合、即ち、障害の発生をコントローラに通報した装置が増設筐体200である場合、以下の説明中、必要な箇所において、通信制御回路410を制御基板210と読み替えればよい。
【0138】
コントローラ110は、検出された障害がスイッチボックス400の障害であるか否かを判定する(S100)。図24では、スイッチボックス400が障害の発生を検出してコントローラ110に通知する場合を説明したが、各増設筐体200もそれぞれ障害の発生を検出してコントローラ110に通知する機能を備えている。コントローラ110は、障害発生を知らせる情報を受領した場合、その通知元がスイッチボックス400であるか増設筐体200であるかを判別する(S100)。
【0139】
スイッチボックス400から障害発生が通知された場合(S100:YES)、他方のコントローラ110(#1)から交替パスL2(#1)を介して、そのスイッチボックス400にアクセスを試みる(S101)。増設筐体200から障害発生が通知された場合(S100:NO)、同様に、他方のコントローラ110(#1)から交替パスL2(#1)を介して、そのスイッチボックス400にアクセスを試みる(S102)。
【0140】
障害の発生をコントローラに通知した装置に、交替パスL2(#1)を介して正常にアクセスできたか否かが判定される(S103)。正常にアクセスできた場合(S103:YES)、他方のコントローラ110(#1)から、交替パスL2(#1)と制御線411及び制御線215を介して、プライマリの制御基板210(#0)にアクセスを試みる(S104)。プライマリの制御基板210(#0)にアクセスできた場合(S104:YES)、図27に示すループバック診断処理を実行する(S106)。ループバック診断処理については、後述する。
【0141】
S103で「NO」と判定された場合、コントローラ110は、診断対象装置に接続されているPDB300から正常に電源が出力されているか否かを判定する(S107)。PDB300が正常に動作している場合(S107:YES)、コントローラ110は、スイッチボックス400の電源部420の故障であると判定する(S108)。診断対象装置が増設筐体200の場合、電源部220の故障であると判定される(S108)。これに対し、PDB300から電源が正常に出力されていない場合(S107:NO)、コントローラ110は、そのPDB300が故障していると判定する(S109)。
【0142】
S105で「NO」と判定された場合、コントローラ110は、スイッチボックス400の基板上の電圧が正常か否かを判定する(S110)。基板上の電圧が正常な場合(S110:YES)、コントローラ110は、通信回路部分(EXP)の故障であると判定する(S111)。基板上の電圧が正常ではない場合(S110:NO)、コントローラ110は、基板上の電源経路上に障害が発生していると判定する(S112)。
【0143】
図26は、障害発生箇所を特定する一例を示す説明図である。スイッチボックス400のプライマリの通信制御回路410(#0)が故障した場合を説明する。図26(a)は、スイッチボックス400から障害の発生が通知されたときの状態を示す。
【0144】
まず最初に、セカンダリ系統を用いて正常なアクセスを行うことができるか否かが検査される(S101)。コントローラ110(#1)は、交替パスL2(#1)を介してセカンダリの通信制御回路410(#1)及びセカンダリの制御基板210(#1)にアクセスすることができる(S103:YES)。
【0145】
次に、コントローラ110(#1)は、交替パスL2(#1)、セカンダリの通信制御回路410(#1)、セカンダリの制御基板210(#1)及び制御線215を介して、プライマリの制御基板210(#0)にアクセスを試みる(S104)。つまり、プライマリの通信制御回路410(#0)を迂回して、プライマリの制御基板210(#0)にアクセスできるか否かを検査する。
【0146】
図26(b)に示すように、プライマリの通信制御回路410(#0)を迂回すれば、プライマリの制御基板210(#0)にアクセスできる場合(S105:YES)、プライマリの通信制御回路410(#0)の故障であると判定することができる。そこで、ループバック診断処理を実行する。
【0147】
図27は、ループバック診断処理を示すフローチャートである。コントローラ110は、プライマリパスを用いてループバックテストを開始させ(S120)、応答が返って来なかったか否かを判定する(S121)。応答があった場合(S120:NO)、コントローラ110は、応答結果に基づいて、障害の発生したパスを特定する(S123)。
【0148】
応答が無かった場合(S121:YES)、コントローラ110は、セカンダリパスを用いてループバックテストを開始させ(S122)、応答が無かったか否かを判定する(S123)。応答が無かった場合(S124:YES)、コントローラ110は、スイッチボックス400内の通信制御回路410の故障であると判定する(S125)。応答があった場合(S124:NO)、コントローラ110は、コントローラ110とスイッチボックス400との間の通信パスL2にリンク障害が発生していると判定する(S126)。
【0149】
図28は、障害を検出し、その検出された障害の発生箇所を特定し、特定された障害について対応するための、障害処理の全体概要を示すフローチャートである。まず、図24に示す処理により、記憶制御装置内で発生した障害が検出される(S130)。次に、図25に示す処理により、障害の発生した箇所が特定される(S131)。
【0150】
コントローラ110は、障害の発生したパス(以下、障害パスとも呼ぶ)を特定することができたか否かを判定する(S132)。障害パスを特定できた場合(S132:YES)、コントローラ110は、障害パスを閉塞させる(S133)。
【0151】
障害パスを特定できない場合(S132:NO)、コントローラ110は、各通信制御回路410(#0,#1)間及び各制御基板210(#0,#1)間の通信により、障害情報を入手し、この障害情報に基づいて、パスと通信制御回路410のいずれに障害が生じたのかを判定する。
【0152】
通信制御回路410の障害ではなく、パスの障害であると判定した場合(S135:NO)、コントローラ110は、そのパスを閉塞させる(S133)。通信制御回路410の障害であると判定した場合(S135:YES)、コントローラ110は、その通信制御回路410から延びる全てのパスを閉塞させ、通信制御回路410の障害であると認定する(S138)。そして、コントローラ110は、スイッチボックス400の早期の交換をユーザに促すために、アラームを管理装置14に出力する(S139)。
【0153】
一方、障害パスを個別に閉塞した後(S133)、コントローラ110は、通信制御回路410から延びる全てのパスが閉塞されたか否かを判定する(S136)。全てのパスが閉塞された場合(S136:YES)、コントローラ110は、通信制御回路410の障害であると判断し(S138)、アラームを出力する(S139)。なお、S136からS138に移行した場合、既に通信制御回路410から延びる各パス(L3)は閉塞されているため、S138ではパスの閉塞を行う必要はない。
【0154】
一部のパスのみが閉塞された場合(S136:NO)、コントローラ110は、ユーザに保守交換の必要性を訴えるべく、ワーニングを管理装置14に出力する(S137)。この時点では、交替パス等を使用してディスクドライブ230にアクセス可能であるから、記憶制御装置は通常通り動作する。但し、閉塞されたパスについては、冗長性が失われているため、保守交換されるのが好ましい。
【0155】
上述のように、本実施例の記憶制御装置は、障害発生を検出した場合、障害発生箇所を特定することができる。そして、ワーニングやアラームを管理装置14に出力し、記憶制御装置の状態をユーザに通知することができる。
【0156】
図29は、記憶制御装置の状態を表形式でユーザに通知するための画面G1を示す説明図である。この状態確認画面G1は、各装置(スイッチボックス、筐体、PDB)毎の状態表示部G11〜G13を備えている。
【0157】
各状態表示部G11〜G13は、例えば、その装置を識別する情報と、その装置全体の作動状態の良否と、その装置内の各構成要素の個別の作動状態や省電力状態、接続先の部位の情報、接続先の部位の省電力状態等を表示する。
【0158】
図30は、記憶制御装置の状態をグラフィカルに表示するための画面G2を示す説明図である。この状態確認画面G2は、記憶制御装置の構成を図形化して表現し、各装置の状態を表示色等で示す。例えば、保守交換の必要な装置またはその構成要素は、赤く着色して表示し、早期の交換が必要な装置またはその構成要素は、赤く点滅させて表示することができる。
【0159】
このように構成される本実施例によれば、基本筐体100と各増設筐体200とをスイッチボックス400を介してスイッチ接続するため、PDB300を用いて各筐体への電源供給を個別に制御することができる。また、本実施例では、スイッチボックス400を介した通信に障害が発生した場合に、その発生箇所を特定し、閉塞処理や警報等の必要な処理を行うことができるため、ユーザの使い勝手が向上する。
【実施例2】
【0160】
図31に基づいて、本発明の第2実施例を説明する。本実施例を含む以下の各実施例は、第1実施例の変形例に該当する。本実施例では、PDB300Aに情報収集機能を設けている。
【0161】
図31は、本実施例による記憶制御装置の構成を部分的に示すブロック図である。PDB300Aは、通信線L7によって、スイッチボックス400内の各通信制御回路410とコントローラ110とを接続する。説明の便宜上、図31中の左側のPDB300Aについてのみ示しているが、右側のPDB300Aも同様である。通信線L7は、例えば、LANのように構成することができる。コントローラ110は、通信線L7を介して、各通信制御回路410の状態を取得することができる。
【0162】
なお、PDBを経由する電力線搬送通信(PLC:Power Line Communications)により、スイッチボックス400内の各通信制御回路410とコントローラ110とが通信を行う構成としてもよい。
【実施例3】
【0163】
図32は、第3実施例に係る記憶制御装置の接続構成を模式的に示す説明図である。本実施例の増設筐体200は、上位筐体200Aと下位筐体200Bとに大別される。上位筐体200Aは、前記第1実施例で述べたように、スイッチボックス400を介して、基本筐体100にスイッチ接続される。下位筐体200Bは、上位筐体200Aにディジーチェーン接続されている。
【0164】
本実施例では、ディジーチェーン単位で、電源供給を制御する。即ち、上位筐体200A及び上位筐体200Aに繋がる全ての下位筐体200Bにおいて、それぞれ全ディスクドライブ230がスピンダウンした場合に、上位筐体200A及び各下位筐体200Bへの電源供給を停止させる。
【0165】
本実施例では、電源供給を制御する単位が第1実施例よりも大きくなるが、ディジーチェーン接続を用いる既存の記憶制御装置に、スイッチボックス400によるスイッチ接続を比較的容易に導入することができる。
【0166】
なお、本発明は、上述した実施の形態に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。例えば、各実施例を適宜組み合わせることができる。
【図面の簡単な説明】
【0167】
【図1】本発明の実施形態の概念を示す説明図である。
【図2】記憶制御装置の正面図である。
【図3】基本筐体を前側から見た斜視図である。
【図4】基本筐体を後側から見た斜視図である。
【図5】増設筐体を前側から見た斜視図である。
【図6】増設筐体を後側から見た斜視図である。
【図7】記憶制御装置の接続構成を模式的に示す説明図である。
【図8】記憶制御装置のブロック図である。
【図9】記憶制御装置の一部を抜き出して示す回路図である。
【図10】記憶制御装置の電源供給構造を示す説明図である。
【図11】記憶制御装置の構成を簡略化して示す説明図である。
【図12】コントローラの構成を示す説明図である。
【図13】増設筐体の構成を示す説明図である。
【図14】制御基板の構成を示す説明図である。
【図15】ボリュームを管理するためのテーブルを示す説明図である。
【図16】電源供給状態を管理するためのテーブルを示す説明図である。
【図17】各ドライブ毎に節電するための処理を示すフローチャートである。
【図18】増設筐体毎に電源供給を停止するための処理を示すフローチャートである。
【図19】スイッチボックス毎に電源供給を停止するための処理を示すフローチャートである。
【図20】ライト処理を示すフローチャートである。
【図21】リード処理を示すフローチャートである。
【図22】電源供給を開始する場合の処理を示すフローチャートである。
【図23】記憶制御装置を起動させる場合の処理を示すフローチャートである。
【図24】障害検出処理を示すフローチャートである。
【図25】障害発生箇所を特定する処理を示すフローチャートである。
【図26】障害を特定する様子を説明するための説明図である。
【図27】ループバック診断処理を示すフローチャートである。
【図28】障害処理の全体を示すフローチャートである。
【図29】記憶制御装置の各部の状態を示す画面例である。
【図30】記憶制御装置の各部の状態を示す別の画面例である。
【図31】第2実施例に係る記憶制御装置の構成を部分的に示すブロック図である。
【図32】第3実施例に係る記憶制御装置の構成を部分的に示すブロック図である。
【符号の説明】
【0168】
1…基本筐体、1A…上位通信部、1B…下位通信部、1C…I/O処理部、1D…電源制御部、1E…構成情報管理部、1F…障害診断部、2…増設筐体、2A…制御基板、2B…ディスクドライブ、2C…冷却ファン、3…電源供給回路部、3A…スイッチ、4…装置間スイッチ、4A…カスケード接続用通信経路、5…ホスト、6…外部電源、7…管理装置、10…基本ラック、11…増設ラック、13…ホスト、14…管理装置、100…基本筐体、101…ケーシング、110…コントローラ、111…ホストインターフェース回路、112…ドライブインターフェース回路、113…データ転送回路、114…キャッシュメモリ、115…プログラムメモリ、116…プロセッサ、117…ブリッジ、118…LANインターフェース、119…制御線、120…筐体内電源部、130…冷却ファン、140…バッテリ、200…増設筐体、200A…上位筐体、200B…下位筐体、201…ケーシング、202…冷却ファン、210…制御基板、211…マイクロプロセッサ部、211A…資源管理機能、211B…コマンド処理機能、211C…電源制御機能、211D…冷却ファン制御機能、212…通信インターフェース部、213…制御信号出力回路、215…制御線、220…筐体内電源部、221…電圧変換回路、222A〜222C…出力ダイオード、223…出力制御スイッチ、230…ディスクドライブ、240…RAIDグループ、250…論理ボリューム、300…電源分配回路部(PDB)、310…スイッチ、320…制御回路、330…電源部、340…ブレーカ、400…スイッチボックス、410…通信制御回路、411…制御線、420…筐体内電源部、T1…ボリューム管理テーブル、T2…省電力管理テーブル
【特許請求の範囲】
【請求項1】
複数の筐体を備える記憶制御装置であって、
上位装置からのアクセス要求に応じて記憶デバイスにデータを入出力させるための第1筐体と、
前記第1筐体からの指示に応じて動作する少なくとも一つ以上の第2筐体であって、前記記憶デバイスをそれぞれ備える第2筐体と、
前記第1筐体と前記各第2筐体とをスイッチ接続する筐体間接続スイッチと、
前記第1筐体と前記各第2筐体及び前記筐体間接続スイッチにそれぞれ個別に電源を供給する電源供給回路部と、を備え、
前記第1筐体は、前記上位装置との間で通信を行うための上位通信部と、前記筐体間接続スイッチを介して前記各第2筐体と通信を行うための下位通信部と、前記第1筐体及び前記各第2筐体の構成に関する情報を管理する構成情報管理部と、前記構成情報を用いて前記各第2筐体または前記筐体間接続スイッチ毎に電源の供給または停止を制御する電源制御部と、前記下位通信部と前記各第2筐体との間の通信に関する障害を検出して診断する障害診断部と、を備える記憶制御装置。
【請求項2】
前記構成情報には、前記各記憶デバイスのスピン状態と、前記各第2筐体及び前記筐体間接続スイッチの省電力状態とが少なくとも含まれており、
前記電源制御部は、前記各第2筐体及び前記筐体間接続スイッチの全体に電源を供給しようとする初期起動時に前記構成情報を参照し、省電力状態に設定されていない前記各第2筐体及び前記筐体間接続スイッチにのみ電源を供給し、省電力状態に設定されている前記各第2筐体及び前記筐体間接続スイッチには電源を供給しない、請求項1に記載の記憶制御装置。
【請求項3】
前記構成情報には、前記第1筐体から前記筐体間接続スイッチを介して前記各第2筐体内の前記記憶デバイスに至るまでの接続構成を示す状態が少なくとも含まれており、
前記障害診断部は、
前記筐体間接続スイッチまたは前記各第2筐体のいずれかの診断対象装置で生じた、前記通信に関する障害を検出する障害検出部と、
前記構成情報を用いることにより、前記障害の発生箇所を特定する特定部と、
前記特定された障害に関して通知する通知部と、
を備えている請求項1に記載の記憶制御装置。
【請求項4】
(1)前記第1筐体から前記各記憶デバイスに至る通信経路は、プライマリパス及びセカンダリパスによって冗長化されており、
(2)前記筐体間接続スイッチ及び前記各第2筐体は、(2-1)前記電源供給回路から電源が供給される電源回路と、(2-2)前記電源回路から出力される電源によって駆動し、前記プライマリパスに接続されるプライマリ制御基板と、(2-3)前記電源回路から出力される電源によって駆動し、前記セカンダリパスに接続されるセカンダリ制御基板と、(2-4)前記プライマリ制御基板と前記セカンダリ制御基板との間に設けられ、前記プライマリパスと前記セカンダリパスとを相互に接続するための制御線と、
をそれぞれ備えており、
(3)前記特定部は、前記障害検出部により前記障害が検出された場合、
(3-1)障害の検出された前記診断対象装置に、前記セカンダリパスを介してアクセスを試み、
(3-2)前記セカンダリパスを介して前記診断対象装置にアクセスできない場合には、前記診断対象装置内の前記電源回路に接続されている前記電源供給回路部の電源出力状態を調べ、(3-2-1)前記電源供給回路から電源が正常に出力されていない場合には、前記電源供給回路の障害であると判定し、(3-2-2)前記電源供給回路から電源が正常に出力されている場合には、前記診断対象装置内の前記電源回路の障害であると判定し、
(3-3)前記セカンダリパスを介して前記診断対象装置にアクセスできる場合には、前記セカンダリパスから前記制御線を介して前記プライマリパスを使用可能か否かを調査し、(3-3-1)前記制御線を介しても前記プライマリパスを使用できない場合、前記診断対象装置内の電圧が正常か否かを調査して、前記電圧が正常な場合は前記診断対象装置内の通信制御回路の障害であると判定し、前記電圧が正常ではない場合は前記診断対象装置内の前記電源回路または前記電源回路から前記通信制御回路に至る給電路の障害であると判定し、(3-3-2)前記制御線を介して前記プライマリパスを使用できる場合、リンク障害であると判定する、
請求項3に記載の記憶制御装置。
【請求項5】
前記特定部は、(4)前記リンク障害であると判定した場合に、(4-1)前記プライマリパスを用いて第1の内部ループバックテストを行い、この第1の内部ループバックテストにより応答が得られた場合には、前記診断対象装置に接続されている接続先装置と前記診断対象装置との間のパスの障害であると判定し、(4-2)前記第1の内部ループバックテストにより応答が得られない場合は、前記セカンダリパスを用いて第2のループバックテストを行い、この第2の内部ループバックテストにより応答が得られない場合は、前記診断対象装置内の前記通信制御回路の障害であると判定し、前記第2の内部ループバックテストにより応答が得られた場合は、前記診断対象装置と前記第1筐体との間のパスに障害が生じていると判定する、請求項4に記載の記憶制御装置。
【請求項6】
前記第1筐体は、カスケード接続された複数の前記筐体間接続スイッチを介して、複数の前記第2筐体に接続されている請求項1に記載の記憶制御装置。
【請求項7】
前記各第2筐体は、上位第2筐体と下位第2筐体とに分類することができ、
前記上位第2筐体は、前記筐体間接続スイッチを介して前記第1筐体にスター接続されており、
前記下位第2筐体は、前記上位第2筐体にディジーチェーン接続されている、請求項1に記載の記憶制御装置。
【請求項8】
前記電源制御部は、(1)前記各第2筐体のうち、その筐体内の全ての前記記憶デバイスが節電モードに移行している第2筐体への電源供給を停止させ、(2)前記上位装置から発行されるアクセス要求に応じて、前記電源供給の停止された第2筐体への電源供給を再開させる、請求項1に記載の記憶制御装置。
【請求項9】
筐体単位で記憶制御装置の電源供給を制御する方法であって、
(1)前記記憶制御装置は、上位装置からのアクセス要求に応じて記憶デバイスにデータを入出力させるための第1筐体と、この第1筐体からの指示に応じて動作する少なくとも一つ以上の第2筐体であって、前記記憶デバイスをそれぞれ備える第2筐体と、前記第1筐体と前記各第2筐体とをスイッチ接続する筐体間接続スイッチと、前記第1筐体と前記各第2筐体及び前記筐体間接続スイッチにそれぞれ個別に電源を供給する電源供給回路部と、を備えており、
(2)前記第1筐体は、前記上位装置との間で通信を行うための上位通信部と、前記筐体間接続スイッチを介して前記各第2筐体と通信を行うための下位通信部と、前記第1筐体及び前記各第2筐体の構成に関する情報を管理する構成情報管理部と、前記構成情報を用いて前記各第2筐体または前記筐体間接続スイッチ毎に電源の供給または停止を制御する電源制御部と、前記下位通信部と前記各第2筐体との間の通信に関する障害を検出して診断する障害診断部と、を備えており、
(3)前記構成情報には、前記各記憶デバイスのスピン状態と、前記各第2筐体及び前記筐体間接続スイッチの省電力状態と、前記第1筐体から前記筐体間接続スイッチを介して前記各第2筐体内の前記記憶デバイスに至るまでの接続構成を示す状態とが少なくとも含まれており、
(4)前記障害診断部は、
前記筐体間接続スイッチまたは前記各第2筐体のいずれかの診断対象装置で生じた、前記通信に関する障害を検出する検出ステップと、
前記構成情報を用いることにより、前記障害の発生箇所を特定する特定ステップと、
前記特定された障害に関して通知する通知ステップと、
をそれぞれ実行する、筐体単位の電源制御方法。
【請求項1】
複数の筐体を備える記憶制御装置であって、
上位装置からのアクセス要求に応じて記憶デバイスにデータを入出力させるための第1筐体と、
前記第1筐体からの指示に応じて動作する少なくとも一つ以上の第2筐体であって、前記記憶デバイスをそれぞれ備える第2筐体と、
前記第1筐体と前記各第2筐体とをスイッチ接続する筐体間接続スイッチと、
前記第1筐体と前記各第2筐体及び前記筐体間接続スイッチにそれぞれ個別に電源を供給する電源供給回路部と、を備え、
前記第1筐体は、前記上位装置との間で通信を行うための上位通信部と、前記筐体間接続スイッチを介して前記各第2筐体と通信を行うための下位通信部と、前記第1筐体及び前記各第2筐体の構成に関する情報を管理する構成情報管理部と、前記構成情報を用いて前記各第2筐体または前記筐体間接続スイッチ毎に電源の供給または停止を制御する電源制御部と、前記下位通信部と前記各第2筐体との間の通信に関する障害を検出して診断する障害診断部と、を備える記憶制御装置。
【請求項2】
前記構成情報には、前記各記憶デバイスのスピン状態と、前記各第2筐体及び前記筐体間接続スイッチの省電力状態とが少なくとも含まれており、
前記電源制御部は、前記各第2筐体及び前記筐体間接続スイッチの全体に電源を供給しようとする初期起動時に前記構成情報を参照し、省電力状態に設定されていない前記各第2筐体及び前記筐体間接続スイッチにのみ電源を供給し、省電力状態に設定されている前記各第2筐体及び前記筐体間接続スイッチには電源を供給しない、請求項1に記載の記憶制御装置。
【請求項3】
前記構成情報には、前記第1筐体から前記筐体間接続スイッチを介して前記各第2筐体内の前記記憶デバイスに至るまでの接続構成を示す状態が少なくとも含まれており、
前記障害診断部は、
前記筐体間接続スイッチまたは前記各第2筐体のいずれかの診断対象装置で生じた、前記通信に関する障害を検出する障害検出部と、
前記構成情報を用いることにより、前記障害の発生箇所を特定する特定部と、
前記特定された障害に関して通知する通知部と、
を備えている請求項1に記載の記憶制御装置。
【請求項4】
(1)前記第1筐体から前記各記憶デバイスに至る通信経路は、プライマリパス及びセカンダリパスによって冗長化されており、
(2)前記筐体間接続スイッチ及び前記各第2筐体は、(2-1)前記電源供給回路から電源が供給される電源回路と、(2-2)前記電源回路から出力される電源によって駆動し、前記プライマリパスに接続されるプライマリ制御基板と、(2-3)前記電源回路から出力される電源によって駆動し、前記セカンダリパスに接続されるセカンダリ制御基板と、(2-4)前記プライマリ制御基板と前記セカンダリ制御基板との間に設けられ、前記プライマリパスと前記セカンダリパスとを相互に接続するための制御線と、
をそれぞれ備えており、
(3)前記特定部は、前記障害検出部により前記障害が検出された場合、
(3-1)障害の検出された前記診断対象装置に、前記セカンダリパスを介してアクセスを試み、
(3-2)前記セカンダリパスを介して前記診断対象装置にアクセスできない場合には、前記診断対象装置内の前記電源回路に接続されている前記電源供給回路部の電源出力状態を調べ、(3-2-1)前記電源供給回路から電源が正常に出力されていない場合には、前記電源供給回路の障害であると判定し、(3-2-2)前記電源供給回路から電源が正常に出力されている場合には、前記診断対象装置内の前記電源回路の障害であると判定し、
(3-3)前記セカンダリパスを介して前記診断対象装置にアクセスできる場合には、前記セカンダリパスから前記制御線を介して前記プライマリパスを使用可能か否かを調査し、(3-3-1)前記制御線を介しても前記プライマリパスを使用できない場合、前記診断対象装置内の電圧が正常か否かを調査して、前記電圧が正常な場合は前記診断対象装置内の通信制御回路の障害であると判定し、前記電圧が正常ではない場合は前記診断対象装置内の前記電源回路または前記電源回路から前記通信制御回路に至る給電路の障害であると判定し、(3-3-2)前記制御線を介して前記プライマリパスを使用できる場合、リンク障害であると判定する、
請求項3に記載の記憶制御装置。
【請求項5】
前記特定部は、(4)前記リンク障害であると判定した場合に、(4-1)前記プライマリパスを用いて第1の内部ループバックテストを行い、この第1の内部ループバックテストにより応答が得られた場合には、前記診断対象装置に接続されている接続先装置と前記診断対象装置との間のパスの障害であると判定し、(4-2)前記第1の内部ループバックテストにより応答が得られない場合は、前記セカンダリパスを用いて第2のループバックテストを行い、この第2の内部ループバックテストにより応答が得られない場合は、前記診断対象装置内の前記通信制御回路の障害であると判定し、前記第2の内部ループバックテストにより応答が得られた場合は、前記診断対象装置と前記第1筐体との間のパスに障害が生じていると判定する、請求項4に記載の記憶制御装置。
【請求項6】
前記第1筐体は、カスケード接続された複数の前記筐体間接続スイッチを介して、複数の前記第2筐体に接続されている請求項1に記載の記憶制御装置。
【請求項7】
前記各第2筐体は、上位第2筐体と下位第2筐体とに分類することができ、
前記上位第2筐体は、前記筐体間接続スイッチを介して前記第1筐体にスター接続されており、
前記下位第2筐体は、前記上位第2筐体にディジーチェーン接続されている、請求項1に記載の記憶制御装置。
【請求項8】
前記電源制御部は、(1)前記各第2筐体のうち、その筐体内の全ての前記記憶デバイスが節電モードに移行している第2筐体への電源供給を停止させ、(2)前記上位装置から発行されるアクセス要求に応じて、前記電源供給の停止された第2筐体への電源供給を再開させる、請求項1に記載の記憶制御装置。
【請求項9】
筐体単位で記憶制御装置の電源供給を制御する方法であって、
(1)前記記憶制御装置は、上位装置からのアクセス要求に応じて記憶デバイスにデータを入出力させるための第1筐体と、この第1筐体からの指示に応じて動作する少なくとも一つ以上の第2筐体であって、前記記憶デバイスをそれぞれ備える第2筐体と、前記第1筐体と前記各第2筐体とをスイッチ接続する筐体間接続スイッチと、前記第1筐体と前記各第2筐体及び前記筐体間接続スイッチにそれぞれ個別に電源を供給する電源供給回路部と、を備えており、
(2)前記第1筐体は、前記上位装置との間で通信を行うための上位通信部と、前記筐体間接続スイッチを介して前記各第2筐体と通信を行うための下位通信部と、前記第1筐体及び前記各第2筐体の構成に関する情報を管理する構成情報管理部と、前記構成情報を用いて前記各第2筐体または前記筐体間接続スイッチ毎に電源の供給または停止を制御する電源制御部と、前記下位通信部と前記各第2筐体との間の通信に関する障害を検出して診断する障害診断部と、を備えており、
(3)前記構成情報には、前記各記憶デバイスのスピン状態と、前記各第2筐体及び前記筐体間接続スイッチの省電力状態と、前記第1筐体から前記筐体間接続スイッチを介して前記各第2筐体内の前記記憶デバイスに至るまでの接続構成を示す状態とが少なくとも含まれており、
(4)前記障害診断部は、
前記筐体間接続スイッチまたは前記各第2筐体のいずれかの診断対象装置で生じた、前記通信に関する障害を検出する検出ステップと、
前記構成情報を用いることにより、前記障害の発生箇所を特定する特定ステップと、
前記特定された障害に関して通知する通知ステップと、
をそれぞれ実行する、筐体単位の電源制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【公開番号】特開2009−15584(P2009−15584A)
【公開日】平成21年1月22日(2009.1.22)
【国際特許分類】
【出願番号】特願2007−176401(P2007−176401)
【出願日】平成19年7月4日(2007.7.4)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成21年1月22日(2009.1.22)
【国際特許分類】
【出願日】平成19年7月4日(2007.7.4)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]