JP2007011682A - 記憶制御装置及び記憶制御装置のパス切替方法 - Google Patents

記憶制御装置及び記憶制御装置のパス切替方法 Download PDF

Info

Publication number
JP2007011682A
JP2007011682A JP2005191600A JP2005191600A JP2007011682A JP 2007011682 A JP2007011682 A JP 2007011682A JP 2005191600 A JP2005191600 A JP 2005191600A JP 2005191600 A JP2005191600 A JP 2005191600A JP 2007011682 A JP2007011682 A JP 2007011682A
Authority
JP
Japan
Prior art keywords
switching
controller
unit
preparation
failure
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005191600A
Other languages
English (en)
Inventor
Akihiro Inamura
昭宏 稲村
Shiyoumei Kyo
小明 姜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2005191600A priority Critical patent/JP2007011682A/ja
Priority to US11/212,845 priority patent/US7568119B2/en
Publication of JP2007011682A publication Critical patent/JP2007011682A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • G06F11/2092Techniques of failing over between control units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】 コントローラ間の電気的な接続構造を複雑化させることなく、コントローラ間で伝達される指令の妥当性を確認し、信頼性を向上させる。
【解決手段】 初期設定完了検出部6Aは、下位通信部5の初期設定が完了したか否かを検出する。障害検出部6Bによって、記憶部3へのパスに発生した障害が検出されると、切替要求出力部6Cは、切替許可部8に切替要求信号を出力する。準備状態検出部6Dは、相手方コントローラの下位通信部5が初期設定を完了したことを知ると、準備完了信号を切替許可部8に出力する。切替許可部8は、切替要求信号及び準備完了信号の両方が入力されると、パス切替部7に切替信号を出力する。パス切替部7は、切替許可部8からの信号に従って、パスを切り替える。
【選択図】 図1

Description

本発明は、記憶制御装置及び記憶制御装置のパス切替方法に関する。
例えば、政府、官公庁、地方自治体、企業、教育機関等の各組織では、多種多量のデータを取り扱うために、比較的大規模な記憶制御装置を用いてデータを管理する。この記憶制御装置は、冗長情報を利用して冗長性を備えた記憶領域(RAID:Redundant Array of Independent Disks)を構成し、この記憶領域にデータを記憶させる(特許文献1)。そして、この文献に記載の従来技術では、旧記憶制御装置から新記憶制御装置に段階的にホストからのアクセスパスを切り替えていくことにより、ホストからのアクセスを停止させることなく装置間のデータ移行を行うことができるようになっている。
特開2003−108315号公報
ところで、記憶制御装置は、多量のデータを管理するため、データへのアクセス性能もさることながら、高い可用性(信頼性)も要求される。このため、記憶制御装置は、冗長記憶構造を採用し、また、記憶デバイスへのアクセス経路やコントローラを二重化することにより、高可用性の実現を図ることが考えられる。
しかし、アクセス経路やコントローラのみを二重化しても、各コントローラ間を接続する制御信号が二重化されていなければ、適切に対応できない場合もあり得る。例えば、各コントローラ間を接続するための制御信号線に障害が生じた場合、この制御信号線の障害に適切に対応することができない可能性がある。しかし、制御信号線まで二重化すると、制御信号線の数が倍増するため、各コントローラ間の電気的な接続構造が複雑化し、装置の大型化を招くおそれがある。
特に、記憶デバイスへのアクセス経路をプライマリパスからオルタネートパスへ切り替えさせるための制御信号に障害が生じた場合、切替元となるコントローラの切替準備が完了する前に、パスが切り替えられてしまう可能性がある。
そこで、本発明の目的は、より信頼性を向上できるようにした記憶制御装置及び記憶制御装置のパス切替方法を提供することにある。本発明の他の目的は、コントローラ間の接続構造を複雑化させることなく、信頼性を向上できるようにした記憶制御装置及び記憶制御装置のパス切替方法を提供することにある。本発明の更なる目的は、コントローラ間の接続構造を複雑化させずに、高い信頼性で記憶デバイスへのアクセス経路を切り替えることができるようにした記憶制御装置及び記憶制御装置のパス切替方法の提供にある。本発明の更なる目的は、後述する実施の形態の記載から明らかになるであろう。
上記課題を解決すべく、本発明に従う記憶制御装置は、以下に述べるように、ホスト装置及び複数の記憶デバイスにそれぞれ接続され、複数のコントローラによって多重化された記憶制御装置において、各コントローラのうち一方のコントローラから所定の動作の実行を指示する制御指令が出力された場合、各コントローラのうち他方のコントローラは、所定の動作を実行する前に、その制御指令の発行に関する情報(実行環境情報)を一方のコントローラ(指令発行元コントローラ)から取得して実行の是非を判断し、実行可と判定したときは、制御指令に従って所定の動作を実行するようになっている。
本発明の一つの観点に従う記憶制御装置は、ホスト装置及び複数の記憶デバイスにそれぞれ接続されており、各記憶デバイスにそれぞれ異なる下位通信ネットワークを介して接続される複数のコントローラを備えている。そして、各コントローラは、上位通信ネットワークを介してホスト装置との間で通信を行う上位通信部と、下位通信ネットワークを介して各記憶デバイスとの間でそれぞれ通信を行う下位通信部と、上位通信部を介してホスト装置から入力された指示に基づいて、下位通信部を介して各記憶デバイスとの間でデータを入出力させる制御部と、下位通信部の接続先を下位通信ネットワークと相手方コントローラの下位通信ネットワークとの間で切り替える切替部と、下位通信ネットワークに発生した障害を検出する障害検出部と、障害検出部によって障害が検出された場合は、障害の検出された下位通信ネットワークから相手方コントローラの下位通信ネットワークに切り替えさせるための切替要求を出力する切替要求部と、切替準備が完了したか否かを検出する準備状態検出部と、準備状態検出部が切替準備の完了を検出した場合は、切替要求に基づいて、切替部による切替を許可する切替許可部と、をそれぞれ備えている。
ここで、例えば、障害検出部及び切替要求部は制御部内に設けることもできる。記憶制御装置は、一方のコントローラ及び他方のコントローラにより多重化されており、各コントローラは、それぞれ独立した下位通信ネットワークを介して記憶デバイスにそれぞれアクセスすることができる。
一方の下位通信ネットワークに障害が生じた場合、一方のコントローラ(切替元)の切替要求部から他方のコントローラ(切替先)の切替許可部に切替要求が出力される。また、他方のコントローラの準備状態検出部は、一方のコントローラにおいて切替準備が完了したか否かを検出し、切替準備が完了したことを検出した場合は、準備完了を他方のコントローラの切替許可部に出力する。切替許可部は、切替準備の完了を確認してから、切替部による下位通信ネットワークの切替を許可する。従って、もしも一方のコントローラの切替要求部が誤って切替要求を出力した場合でも、切替準備が完了していなければ、下位通信ネットワークの切り替えは行われない。従って、信頼性が向上する。
一つの実施形態では、準備状態検出部は、障害が検出された側のコントローラにおいて切替準備が完了したか否かを検出する。これにより、いわゆる活線挿入の場合の信頼性を向上させることができる。例えば、一方のコントローラの切替要求部が故障している場合において、一方のコントローラを稼働状態にある記憶制御装置に装着すると、切替要求部から直ちに切替要求が出力される場合がある。しかし、準備状態検出部によって一方のコントローラの準備完了が確認されるまでは、下位通信ネットワークの切り替えは行われなず、信頼性が向上する。
一つの実施形態では、準備状態検出部は、障害が検出された側のコントローラにおいて、下位通信部の初期設定が完了した場合には、切替準備が完了したものと検出する。これにより、切替要求部が故障している一方のコントローラを記憶制御装置に装着した場合でも、一方のコントローラの下位通信部が初期設定を完了するまでは、下位通信ネットワークの切り替えが行われないため、信頼性が向上する。
一つの実施形態では、各コントローラは、制御用通信経路を介して互いに接続されており、準備状態検出部は、制御用通信経路を介して、障害が検出された側のコントローラにおいて切替準備が完了したか否かを検出する。これにより、切替準備が完了した旨を通知するための信号線を各コントローラ間に設ける必要がなく、既存の制御用通信経路を利用して、パス切替の信頼性を高めることができる。
他の実施形態では、各コントローラは、切替準備が完了した場合に、切替準備が完了した旨を示す状態通知情報を各記憶デバイスのうち所定の記憶デバイスに書き込み、準備状態検出部は、所定の記憶デバイスから状態通知情報を取得した場合に、切替準備の完了を検出するようになっている。
また、別の実施形態では、さらに、各コントローラに管理用ネットワークを介してそれぞれ接続される管理用コンピュータを備え、各コントローラは、切替準備が完了した旨を示す状態通知情報を管理用コンピュータを介して通知するようになっている。
本発明の他の観点に従う記憶制御装置のパス切替方法は、複数の記憶デバイスにそれぞれ異なる下位通信ネットワークを介して接続される複数のコントローラを備え、これら各コントローラによって二重化された記憶制御装置のパス切替方法であって、下位通信ネットワークに障害が発生したか否かを検出するステップと、障害の発生が検出された場合、この障害の検出された下位通信ネットワークから切替先のコントローラの下位通信ネットワークに切り替えさせるための切替要求を、切替元のコントローラから切替先のコントローラに通知させるステップと、切替元のコントローラにおいて切替準備が完了したか否かを検出し、切替準備の完了を検出した場合は、準備完了を切替先のコントローラに通知するステップと、切替要求及び準備完了の両方が通知された場合に、切替元のコントローラが使用する下位通信ネットワークを、障害の検出された下位通信ネットワークから切替先のコントローラの下位通信ネットワークに切り替えさせるステップと、を含む。
本発明のさらに別の観点に従う記憶制御装置は、複数の記憶デバイスにそれぞれ異なるプライマリループを介して接続される複数のコントローラを備え、各プライマリループは互いに相手方のオルタネートループとなっている記憶制御装置であって、(1)各コントローラは、ホスト装置との間で通信を行う上位通信部と、プライマリループを介して各記憶デバイスとの間でそれぞれ通信を行う下位通信部と、上位通信部を介してホスト装置から入力された指示に基づいて、下位通信部を介して各記憶デバイスとの間でデータを入出力させる制御部と、下位通信部の接続先をプライマリループとオルタネートループとの間で切り替える切替部と、プライマリループに発生した障害を検出する障害検出部と、障害検出部によって障害が検出された場合は、障害の検出されたプライマリループからオルタネートループに切り替えさせるための切替要求信号を出力する切替要求信号出力部と、をそれぞれ備え、(2)さらに、各コントローラは、各コントローラの各制御部を互いに接続する制御用通信経路を介して、相手側コントローラの有する下位通信部が初期設定を完了したか否かを検出し、初期設定が完了した場合は、準備完了信号を出力する準備状態検出部と、入力側に準備状態検出部と相手方コントローラの有する切替要求信号出力部とがそれぞれ接続され、出力側に切替部が接続されたアンドゲートとを、それぞれ備えおり、(3)アンドゲートは、準備完了信号及び切替要求信号がそれぞれ入力された場合に、切替部に切替信号を出力する。
一つの実施形態では、切替要求信号出力部は、通常の場合に切替要求信号の信号レベルをローレベルとし、障害が検出された場合に切替要求信号の信号レベルをローレベルからハイレベルに変化させるものであり、準備状態検出部は、通常の場合に準備完了信号の信号レベルをローレベルとし、初期設定が完了した場合に準備完了信号の信号レベルをローレベルからハイレベルに変化させるものであり、アンドゲートは、準備完了信号及び切替要求信号がそれぞれローレベルからハイレベルに変化した場合に、切替信号を切替部に出力する。
本発明の手段、機能、ステップの全部または一部は、コンピュータシステムにより実行されるコンピュータプログラムとして構成可能な場合がある。本発明の構成の全部または一部がコンピュータプログラムから構成された場合、このコンピュータプログラムは、例えば、各種記憶媒体に固定して配布等することができ、あるいは、通信ネットワークを介して送信することもできる。
図1は、本発明の実施形態の全体概要を示す構成説明図である。本実施形態では、後述のように、複数のコントローラによって多重化された記憶制御装置において、一方のコントローラから所定の動作の実行を指示する制御指令(切替要求信号)が出力された場合、他方のコントローラは、所定の動作(ループの切替)を行う前に、所定の動作の実行環境(下位通信部の初期設定完了)が一方のコントローラにおいて整っているか否かを確認し、一方のコントローラにおける実行環境を確認してから、所定の動作を実行するようにしている。即ち、本実施形態では、一方のコントローラから他方のコントローラに制御指令が発行された場合に、その制御指令の妥当性を、その制御指令に関する別の情報に基づいて判断してから、実行する。
図1に示す記憶制御装置1は、例えば、SAN(Storage Area Network)等の上位通信ネットワークを介してホスト装置(以下「ホスト」)9と接続されており、ホスト9にボリュームを提供する。
記憶制御装置1は、複数のコントローラ2A,2Bと記憶部3とを備えている。各コントローラ2A,2Bは、それぞれ独立して記憶部3にアクセスし、データの入出力を行うことができる。また、コントローラ2A,2Bは、互いに相手をバックアップする関係にあり、いずれか一方のコントローラが障害や保守等で停止した場合でも、他方のコントローラがホスト9からのアクセス要求を処理できるようになっている。
従って、各コントローラ2A,2Bは同一の構成を有し、上位通信部4と、下位通信部5と、制御部6と、パス切替部7と、切替許可部8とをそれぞれ備えている。なお、図1中では発明の理解のために、切替許可部8は、コントローラ2Bのみが備えるかのように示してあるが、コントローラ2Aも備えている。
記憶部3は、例えば、ハードディスクドライブや半導体メモリドライブ、光ディスクドライブ等のような複数の記憶デバイスから構成することができる。これらの各記憶デバイスがそれぞれ有する物理的な記憶領域を仮想化することにより、論理ボリュームが生成される。ホスト9は、論理ボリュームにアクセスしてデータの読み書きを行う。記憶部3は、少なくとも2つの入出力ポートを備えており、各ポートにはそれぞれ異なるパス7A,7Bが接続されている。従って、記憶部3には、パス7A,7Bの両方からそれぞれアクセスすることができる。
上位通信部4は、ホスト9との間の通信を担当するものである。下位通信部5は、記憶部3との間の通信を担当するものである。上位通信部4は、SAN等の上位通信ネットワークを介してホスト9に接続されており、ファイバチャネルプロトコルに基づいてブロック単位のデータ通信を行う。下位通信部5は、SAN等の下位通信ネットワーク7A,7Bを介して、記憶部3との間でブロック単位のデータ通信を行う。なお、プロトコルの種類はファイバチャネルSAN(FC-SAN)に限られず、例えば、TCP/IP(Transmission Control Protocol/Internet Protocol)等の他のプロトコルを利用できる場合もある。
制御部6は、コントローラ2A,2Bの動作を制御するものであり、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、ASIC(Application Specific Integrated Circuit)等を備えた制御装置として構成することができる。制御部6の機能は、さらに後述する。
パス切替部7は、下位通信部5と記憶部3との間のパスを制御するものである。パス切替部7は、通常状態ではプライマリパスを選択しているが、障害が発生した場合にはオルタネートパスに切り替えるようになっている。各コントローラ2A,2Bのパス切替部7は、パス7Cを介して接続されている。
例えば、一方のコントローラ2Aに着目すると、その下位通信部5は、通常状態では、プライマリパス7Aを介して記憶部3にアクセスする。プライマリパス7Aに障害が発生して使用できなくなった場合、パス切替部7は、制御部6からの指示に基づいて、オルタネートパス7Bに切り替える。これにより、コントローラ2Aの制御部6は、オルタネートパス7Bを介して記憶部3にアクセスし、データの読み書きを行うことができる。
他方のコントローラ2Bに着目すると、その下位通信部5は、通常状態では、プライマリパス7Bを介して記憶部3にアクセスする。プライマリパス7Bに障害が生じた場合、パス切替部7によってプライマリパス7Bからオルタネートパス7Aへ切り替えられるため、コントローラ2Bの制御部6は、オルタネートパス7Aを介して記憶部3にアクセスすることができる。
切替許可部8は、制御部6からの指示に基づいて、パス切替部7に切替許可を与えるものである。切替許可部8から許可された場合に、パス切替部7はパスを切り替えるようになっている。
制御部6の機能について説明する。コントローラ2Aの制御部6に示すように、制御部6は、例えば、初期設定完了検出部6Aと、障害検出部6Bと、切替要求出力部6Cとを備えることができる。また、コントローラ2Bに示すように、制御部6は、準備状態検出部6Dを備えることもできる。各コントローラ2A,2Bの制御部6は、これら各部6A〜6Dをそれぞれ備えており、同一の構成を有する。
初期設定完了検出部6Aは、下位通信部5の初期設定が完了したか否かを検出するためのものである。例えば、コントローラ2A,2Bを記憶制御装置1に装着した場合、下位通信部5は初期設定を開始する。下位通信部5の初期設定が完了すると、下位通信部5を利用可能となる。初期設定が完了するまでには例えば数分間程度の時間を必要とする。
障害検出部6Bは、記憶部3へのパスに障害が発生したか否かを検出するためのものである。例えば、ファイバケーブルの脱落やポート故障等による障害が発生すると、障害検出部6Bはこれを検出し、障害検出信号を切替要求出力部6Cに出力する。切替要求出力部6Cは、障害発生が通知されると、制御用パス8Aを介して、切替許可部8に切替要求信号を出力する。
準備状態検出部6Dは、制御用パス6Eを介して、相手方コントローラの初期設定完了検出部6Aに接続されている。準備状態検出部6Dは、相手方コントローラの下位通信部5が初期設定を完了したことを知ると、準備完了信号を切替許可部8に出力する。
切替許可部8は、切替要求信号及び準備完了信号の両方が入力されると、パス切替部7に切替信号を出力する。これにより、パス切替部7は、パスを切り替える。例えば、一方のコントローラ2Aのパス7Aに障害が発生した場合、このコントローラ2Aの下位通信部5は、パス7C,7Bを介して記憶部3にアクセスする。同様に、他方のコントローラ2Bのパス7Bに障害が発生した場合、コントローラ2Bの下位通信部5は、パス7C,7Aを介して記憶部3にアクセスする。
本実施形態では、記憶部3へのパス7A,7Bのいずれかに障害が発生した場合、切替用パス7Cから他方のパス7B,7Aを介して、記憶部3にアクセスすることができるため、耐障害性が向上する。
さらに、本実施形態では、切替要求信号のみでパスを切り替えるのではなく、切替準備が完了したか否かを示す準備完了信号も用いて、パスを切り替える構成とした。従って、切替元(障害の発生元)のコントローラにおいて切替準備が完了したことを確認してから、記憶部3へのパスを切り替えることができ、より一層信頼性が向上する。
例えば、何らかの原因によって切替要求出力部6Cが故障することも考えられるが、この故障に気づかないまま、稼働中の記憶制御装置1にコントローラ2Aを取り付ける場合もあり得る。この場合、切替要求出力部6Cは故障しているため、パスに障害が発生していないにもかかわらず、切替要求信号を出力することがあり得る。一方、このコントローラ2Aを記憶制御装置1に取り付けると、下位通信部5は初期設定を開始する。
下位通信部5の初期設定が完了するよりも前に、誤った切替要求信号に従って、記憶部3へのパスが強制的に切り替えられてしまうと、いずれのコントローラ2A,2Bも記憶部3にアクセスすることができなくなる。コントローラ2Aの下位通信部5が初期設定を完了して使用可能状態にならなければ、パスを確立させることができないため、ホスト9からのアクセス要求を処理できない場合がある。
これに対し、本実施形態では、切替要求信号のみならず、準備完了信号の状態も考慮してパスの切替を制御する構成としている。従って、切替準備が完了する前にパスが切り替えられてしまう事態の発生を防止することができ、信頼性が向上する。以下、本実施形態をより詳細に説明する。
図2は、本実施例による記憶制御装置10の全体構成を示すブロック図である。図2には、記憶制御装置10を含むストレージシステムの全体が概略的に示されている。先に、図1との対応関係について述べると、図2中の記憶制御装置10は図1中の記憶制御装置1に、図2中のホスト100は図1中のホスト9に、図2中のディスクドライブ30は図1中の記憶部3に、図2中の高速バス40は図1中のパス6Eに、図2中の信号線41,42は図1中のパス7Cに、図2中の信号線43は図1中のパス8Aに、図2中のループ50,50は図1中のパス7A,7Bに、それぞれ対応する。また、図2中のFPC21は図1中の上位通信部4に、図2中のFPC22は図1中の下位通信部5に、図2中のPBC26は図1中のパス切替部7に、図2中のアンドゲート27は図1中の切替許可部8に、それぞれ対応する。図2中のD_CTL23,MPU24,キャッシュメモリ25は全体として、図1中の制御部6に対応する。
記憶制御装置10は、例えば、FC-SW(Fibre Channel-Switch)110等の中継装置を介して、複数のホスト100にそれぞれ接続可能である。各ホスト100と記憶制御装置10とは、SANのようなネットワークを介して接続することができる。
ホスト100は、例えば、パーソナルコンピュータ、ワークステーション、メインフレーム等として構成できる。ホスト100と記憶制御装置10との間を接続するネットワークとしては、SANに限られず、例えば、LAN(Local Area Network)、インターネット、専用回線、公衆回線等を、場合に応じて適宜用いることができる。LANやインターネットを使用する場合、例えば、TCP/IPプロトコルに基づいてファイル単位のデータ転送を行うことができる。なお、ホスト100がメインフレームとして構成される場合、ホスト100は、例えば、FICON(Fibre Connection:登録商標)、ESCON(Enterprise System Connection:登録商標)、ACONARC(Advanced Connection Architecture:登録商標)、FIBARC(Fibre Connection Architecture:登録商標)等の通信プロトコルに従ってデータ転送を行うことができる。
記憶制御装置10は、例えば、ディスクアレイサブシステムとして構成されるもので、例えば、図3の外観図にも示すように、基本筐体11と増設筐体12とから構成することができる。図3に示すように、記憶制御装置10のラックには、一つの基本筐体11と、複数の増設筐体12とがそれぞれ着脱可能に取り付けられている。基本筐体11は、記憶制御装置10の動作を制御するものである。増設筐体12は、ディスクドライブ30を増設するためのものである。
図2に戻る。基本筐体11は、例えば、複数のコントローラ(CTL)20,20と、複数のディスクドライブ30とを備えて構成することができる。各コントローラ20は、ホスト100から受信したコマンドをそれぞれ独立して処理し、ディスクドライブ30へデータの読み書きを行う。各コントローラ20は二重化されており、それぞれ同一の構成を備えている。
そこで一方のコントローラ20について説明する。コントローラ20は、例えば、FPC((Fibre channel Protocol Chip)21,22と、D_CTL(Data Control Chip)23と、MPU(Micro Processing Unit)24と、キャッシュメモリ25と、PBC(Port Bypass Circuit)26と、アンドゲート27と、を備えて構成することができる。
一つのFPC21は、ホスト100との間の通信を行う回路であり、PCI(Peripheral Components Interconnect)とファイバチャネルプロトコルとの間の変換を行う。他のFPC22は、ディスクドライブ(図中「HDD」)30との間の通信を行う回路であり、PCIとファイバチャネルプロトコルとの間の変換を行う。
D_CTL23は、データ処理を行う回路である。MPU24は、所定のプログラムを読み込んで実行することにより、後述する各機能をそれぞれ実現し、コントローラ20の制御を行うようになっている。キャッシュメモリ25は、ホスト100から受信したデータを記憶したり、ディスクドライブ30から読出したデータを記憶するものである。PBC26は、各ディスクドライブ30への接続経路を制御するための回路である。PBC26の具体例については、さらに後述する。
アンドゲート27は、自系及び他系のD_CTL23からそれぞれ出力される制御信号が、ともにハイレベルを示す場合に、PBC26に切替信号を出力するようになっている。ここで、「自系」とは、そのアンドゲート27が存在する方の制御体系(コントローラ20等)を意味し、「他系」とは、そのアンドゲートが存在しない方の制御体系を意味する。
各コントローラ20は、基本筐体11の背面側を施蓋するようにして設けられたバックボード11Aを介して、接続される。各コントローラ20のD_CTL23は、高速バス40を介して接続されている。アンドゲート27は、その一方の入力側に信号線44を介して自系のD_CTL23が接続され、他方の入力側に信号線43を介して他系のD_CTL23が接続されており、また、アンドゲート27の出力側は、自系のPBC26に接続されている。各PBC26は、オルタネート接続用パス41,42を介して、接続されている。これらの高速バス40,信号線43,オルタネート接続用パス41,42は、バックボード11Aを利用して構成される。また、バックボード11Aには、各ディスクドライブ30へ接続するためのコネクタ等も設けられている。
次に、記憶部の構成を説明する。基本筐体11及び増設筐体12は、それぞれ複数のディスクドライブ30を備えることができる。基本筐体11の有するディスクドライブ30だけでは記憶容量が不足する場合、増設筐体12が基本筐体11に接続される。このように、ユーザの希望に応じて、記憶容量を段階的に増加させることができる。
ディスクドライブ30は、例えば、FC(Fibre Channel)ディスクやSATA(Serial AT Attachment)ディスク等のようなハードディスクドライブとして構成される。しかし、これに限らず、半導体メモリドライブや光ディスクドライブ等の他の記憶デバイスを用いることもできる。
各ディスクドライブ30は、それぞれ複数の入出力インターフェース31A,31B及び32A,32Bを備えている。そして、一方のコントローラ20(CTL#1)は、一方のインターフェースを介して、各ディスクドライブ30に接続されており、他方のコントローラ20(CTL#2)は、他方のインターフェースを介して、各ディスクドライブ30に接続されている。
各ディスクドライブ30は、各インターフェースを介して、それぞれループ状に接続されている。一方のループ50(#1)には、一方のコントローラ20(CTL#1)が参加し、他方のループ50(#2)には、他方のコントローラ20(CTL#2)が参加している。一方のコントローラ20(CTL#1)から見ると、一方のループ50(#1)がプライマリループであり、他方のループ50(#2)はオルタネートループとなる。逆に、他方のコントローラ20(CTL#2)から見ると、他方のループ50(#2)がプライマリループであり、一方のループ50(#1)はオルタネートループとなる。
通常の場合、各コントローラ20は、それぞれのプライマリループを介して、各ディスクドライブ30にアクセスし、データの読み書きを行う。プライマリループに障害が生じた場合、自系及び他系のPBC26が接続先ループの切り替えを行うため、各コントローラ20は、オルタネートループを介して、各ディスクドライブ30にアクセスする。
一方のコントローラ20(#1)に着目して説明すると、通常状態において、D_CTL23は、FPC22,PBC26及びループ50(#1)をそれぞれ介して、ディスクドライブ30にアクセスする。ループ50(#1)に障害が発生すると、アンドゲート27からの切替信号によってPBC26が作動し、ループ50(#1)からループ50(#2)に切り替えられる。即ち、異常状態において、D_CTL23は、FPC22,PBC26,オルタネート接続用パス42を介して、他系のループ50(#2)に接続される。
図4は、コントローラの要部を示す回路図である。D_CTL23は、高速バス40へ接続するための高速バスインターフェースP1と、PCIバスを介してFPC22に接続するためのPCIインターフェースP2と、切替制御信号(「オルタネート制御信号」とも呼ぶ)を出力するための端子P3と、準備完了信号(図中「LOOP-READY」信号)を出力するための端子P4と、をそれぞれ備えることができる。
各コントローラ20の高速バスインターフェースP1は、高速バス40にそれぞれ接続されており、各コントローラ間で制御情報等の交換を高速に行うことができる。各コントローラ20は、PCIインターフェースP2を介して、FPC22に接続されている。各コントローラ20の端子P3は、自系のPBC26に入力されていると共に、信号線43を介して他系のアンドゲート27にも入力されている。各コントローラ20の端子P4は、自系のアンドゲート27に入力されている。
PBC26は、例えば、複数のセレクタ(またはマルチプレクサ)IS1〜IS6を多段に接続することにより、構成することができる。図4中では、各PBC26をそれぞれ簡略化して示しているが、各PBC26の役割は、FPC22の接続先ループを切り替えることにある。
図5は、通常状態のデータの流れを示す図である。図中の太線は、データの流れる信号線を、点線はデータが流れない信号線を、細線は制御用の信号線をそれぞれ示す。各コントローラ20は、それぞれのループ50を介して、各ディスクドライブ30にそれぞれアクセスする。
次に、本実施例の動作について説明する。図6は、コントローラ20によるコマンド処理を示すフローチャートである。
コントローラ20は、FPC21を介してホスト100からコマンドを受信すると(S10:YES)、受信したコマンドのタイプを識別する(S11)。ライトコマンドを受信した場合、コントローラ20は、ホスト100から受信したライトデータをキャッシュメモリ25に記憶させた後(S12)、書込み完了をホスト100に通知する(S13)。その後、コントローラ20は、例えば、所定のタイミングを見計らって、キャッシュメモリ25に記憶されたライトデータを所定のディスクドライブ30に書き込む(S14)。
ここで、所定のディスクドライブ30とは、ホスト100によりアクセスされる論理ボリュームに対応するディスクドライブを意味する。ホスト100は、論理ボリュームの論理アドレス(LBA:Logical Block Address)を指定してライトデータを発行する。コントローラ20は、この論理アドレスをディスクドライブ30の物理アドレスに変換して、データを書き込む。なお、上述のように、ディスクドライブ30へのライトデータ書込みタイミングとホスト100への書込み完了報告のタイミングとが一致しない構成(非同期式)に限らず、ディスクドライブ30にライトデータを書き込んでから、ホスト100に書込み完了を通知する構成(同期式)でもよい。
ホスト100から受信したコマンドがリードコマンドの場合、コントローラ20は、ホスト100から要求されたデータがキャッシュメモリ25に記憶されているか否かを判定する(S15)。ホスト100から要求されたデータがキャッシュメモリ25に記憶されている場合(S15:YES)、コントローラ20は、キャッシュメモリ25に記憶されているデータを読み出して、FPC21からホスト100に送信させる(S17)。ホスト100から要求されたデータがキャッシュメモリ25に記憶されていない場合(S15:NO)、コントローラ20は、FPC22,PBC26,ループ50を介してディスクドライブ30にアクセスする。コントローラ20は、所定のディスクドライブ30からデータを読み出して、キャッシュメモリ25に記憶させる(S16)。そして、コントローラ20は、キャッシュメモリ25に記憶させたデータを、ホスト100に送信させる(S17)。
ホスト100から受信したコマンドがライトコマンドでもリードコマンドでも無い場合、その他のコマンド処理が行われる(S18)。その他のコマンドとしては、例えば、Inquiryコマンド、Read-Capacityコマンド等を挙げることができる。
次に、図7は、ループ50に障害が発生した場合のパス切替処理を示すフローチャートである。切替元となるコントローラ20のMPU24は、所定の周期でループ50の状態を監視している(S20)。例えば、ディスクドライブ30のポートが故障したり、あるいは、ファイバケーブルが破損等すると、ループ50は切断される。ループ50の切断は、MPU24によって検出される(S20:YES)。MPU24は、D_CTL23にオルタネート接続を指示する(S21)。
切替元となるコントローラ20のD_CTL23は、MPU24からの指示を受信すると(S22)、端子P3から出力されるオルタネート制御信号の信号レベルを”0”から”1”に変化させる。即ち、通常の場合、端子P3の出力はローレベルになっており、オルタネート接続を行う場合に、端子P3の出力はローレベルからハイレベルに変化する。なお、D_CTL23は、切替元となるコントローラ20のPBC26にもオルタネート制御信号を出力する。
続いて、D_CTL23は、FPC22の初期設定が完了しているか否かを判定し(S24)、初期設定が完了している場合(S24:YES)、高速バス40を介して、切替先となるコントローラ20のD_CTL23に通知する(S25)。ここでは、記憶制御装置10が稼働中に障害が発生した場合を説明しているので、既にFPC22の初期設定は完了しており、この旨が相手方のコントローラ20に通知される。
切替先となるコントローラ20に目を転じる。切替先となるコントローラ20のD_CTL23は、切替元となるコントローラ20のD_CTL23から、FBC22の初期設定が完了した旨の通知(FPC22が使用可能状態であることを示す通知)を受信する(S26)。D_CTL23は、この通知を受信すると、端子P4から出力されるLOOP-READY信号(準備完了信号)の信号レベルを、ローレベルからハイレベルに変化させる(S27)。
切替先となるコントローラ20のアンドゲート27は、オルタネート制御信号及びLOOP-READY信号の両方がそれぞれハイレベルに変化すると、ハイレベルの切替信号をPBC26に出力する。
PBC26は、アンドゲート27から切替信号を受信すると、オルタネートパスに切り替えて(S28)、他系のFPC22(つまり切替元となるコントローラ20のFPC22)を、自系のループ50に参加させる(S29)。これにより、障害の発生したコントローラ20は、他のループ50を介して、各ディスクドライブ30にアクセス可能となる。
図8,図9には、図7で説明した動作の様子が示されている。図8のブロック図に示すように、例えば、コントローラ20(#2)のループ50(#2)に障害が発生した場合、このコントローラ20(#2)のFPC22は、オルタネート接続用パス41等を介して、他系のループ50(#1)に接続される。
その詳細が図9の回路図に示されている。切替元となるコントローラ20(#2)のPBC26は、そのセレクタIS2の出力が、オルタネート接続用パス41を介して、切替先となるコントローラ20(#1)のPBC26のセレクタIS4に接続される。コントローラ20(#2)からのデータは、セレクタIS4から各ディスクドライブ30及びセレクタIS5,IS6を介して、ループ50(#1)を流れ、第1段目のセレクタIS1に入力される。そして、データは、IS1からFPC22,IS2,IS3を介して、オルタネート接続用パス41に流れ、切替元のPBC26に戻る。
次に、図10,図11を参照して、故障したコントローラ20を活線挿入する場合の動作を説明する。ここでは、コントローラ20(#2)にオルタネート制御信号に関する故障が生じているものとする。この故障は、ループ50(#2)が正常であるにもかかわらず、D_CTL23からハイレベルのオルタネート制御信号が出力されるというものである。
記憶制御装置10は、その動作を停止させることなく、また、ホスト100からのアクセスを停止させることなく、コントローラ20(#1),20(#2)のいずれか一方を交換することができる。このような稼働状態でのコントローラ20の着脱を、ここでは活線挿抜と呼ぶ。システム管理者等のユーザが、コントローラ20(#2)を記憶制御装置10から引き抜いて、再び記憶制御装置10に装着する場合を例に挙げて説明する。
故障しているコントローラ20(#2)を記憶制御装置10に活線挿入すると(S30)、このコントローラ20(#2)のD_CTL23は、ループ50(#1)の状態にかかわらず、ハイレベルのオルタネート制御信号を出力する(S31)。切替先となるコントローラ20(#1)では、オルタネート制御信号が入力されたことを検出する(S37)。しかし、この時点では、未だLOOP-READY信号が入力されていないため、オルタネートループ50(#1)への参加は許可されない。
記憶制御装置10に装着されたコントローラ20(#2)では、そのFPC22が初期設定を開始する(S32)。FPC22の初期設定が完了すると(S33:YES)、コントローラ20(#2)は、FPC22の初期設定が完了して作動可能状態になったことを、切替先となるコントローラ20(#1)に通知する(S34)。この切替可能状態になった旨の通知は、D_CTL23間を接続する高速バス40を介して、行われる。
切替先となるコントローラ20(#1)は、切替元となるコントローラ20(#2)のFPC22が初期設定を完了したことを知ると(S35:YES)、LOOP-READY信号をローレベルからハイレベルに変化させる(S36)。
これにより、コントローラ20(#1)のアンドゲート27には、オルタネート制御信号及びLOOP-READY信号の両方がそれぞれ入力されるため(S38:YES)、アンドゲート27からPBC26に切替信号が出力され、パスが切り替えられる(S39)。これにより、コントローラ20(#2)は、ループ50(#1)に参加し、各ディスクドライブ30にアクセスすることができるようになる(S40)。この後、切替元となるコントローラ20(#2)のプライマリループ50(#2)は閉塞される。
本実施例は上述の構成を備えるため、以下の効果を奏する。本実施例では、オルタネート制御信号とLOOP-READY信号の両方が揃った場合に、PBC26によるパスの切替を許可する構成とした。従って、万が一、オルタネート制御信号の出力部分が故障しているコントローラ20(#2)を記憶制御装置10に活線挿入した場合でも、正常にパスを切り替えることができ、ホスト100からのアクセス要求を処理することができる。
この点について、図12,図13を参照しつつ説明する。図11,図12は、本実施例の効果を説明するために使用される比較例としての記憶制御装置10Aを示す。この記憶制御装置10Aからは、LOOP-READY信号に関する構成及びアンドゲート27に関する構成が取り除かれている。この記憶制御装置10Aでは、オルタネート制御信号のみに基づいて、ディスクドライブ30へのパス切替が行われる。
故障しているコントローラ20(#2)が記憶制御装置10Aに活線挿入されると、ハイレベルのオルタネート制御信号が、切替先となるコントローラ20(#1)のPBC26に入力される。これにより、PBC26は、直ちにパスを切り替えるため、切替元となるコントローラ20(#2)はループ50(#1)に強制的に接続される。
しかし、コントローラ20(#2)を記憶制御装置10Aに装着した直後は、まだFPC22の初期設定が完了していない。従って、図13の回路図に示すように、ループ50(#1)は、この作動状態になっていないFPC22の箇所で途切れてしまい、リンクアップ(同期完了)することができない。このため、ループ50(#1)は使用不能状態となり、各ディスクドライブ30からのデータの読出し及びデータの書込みを行うことができない。これにより、同期式のライトコマンド処理や、キャッシュメモリ25に記憶されていないデータに関するリードコマンド処理を行うことができなくなる。
これに対し、本実施例では、オルタネート制御信号及びLOOP-READY信号の両方に基づいて、パスを切り替える構成のため、オルタネート制御信号の出力部分が故障しているコントローラ20(#2)を記憶制御装置10に活線挿入した場合でも、安定したパス切替を行うことができる。従って、記憶制御装置10の信頼性が向上する。
また、本実施例では、切替元となるコントローラ20(#2)において、切替準備が完了したか否かの情報を、高速バス40を介して、切替先となるコントローラ20(#1)に通知する構成とした。従って、バックボード11A等の構成を変化させることなく、安定したパスの切替を行うことができる。
図12,図13と共に述べた問題を解決するために、オルタネート制御信号を出力する部分の構成を多重化することも考えられる。しかし、オルタネート制御信号に関する構成を多重化すると、コントローラ20からバックボード11Aに接続される出力端子の数や、バックボード11Aに設けられる信号線43の数も増加する。この結果、バックボード11Aのプリント配線等が過密化し、記憶制御装置10の更なる高性能化を阻害するおそれがある。バックボード11Aの面積や構造を変えずに、ループ数を増加させるのが難しくなるためである。
これに対し、本実施例では、オルタネート制御信号に関する構成を単純に多重化するのではなく、切替元となるコントローラ20において切替準備が完了したか否かを、高速バス40を介して確認する構成を採用する。従って、コントローラ20の出力端子数や信号線43の数を増加させずに、記憶制御装置10の信頼性を高めることができ、より多くのループに対応することができる。
図14、図15に基づいて第2実施例を説明する。本実施例を含む以下の実施例は、第1実施例の変形例に該当する。本実施例では、切替元のコントローラ20から管理端末120を介して、切替先のコントローラ20に切替準備完了の通知を行う。
図14は、本実施例による記憶制御装置10の全体構成を示すブロック図である。管理端末120は、例えば、パーソナルコンピュータ等のように構成できる。管理端末120は、LAN等の管理用ネットワーク121を介して、各コントローラ20にそれぞれ接続されている。
図15は、パス切替処理を示すフローチャートである。上述のステップと重複する説明を省略し、本実施例の変更点を中心に説明する。切替元となるコントローラ20(#2)は、FPC22の初期設定が完了すると(S33:YES)、FPC22の初期設定が完了した旨を管理端末120に通知する(S34A)。
この通知は、例えば、ループ情報200として、管理端末120のメモリまたはローカルディスクに記憶される。ループ情報200は、このループ情報200を作成した側のコントローラにおいて、このループ情報200を作成した時点では、プライマリループが正常状態にあることを示す。
切替先となるコントローラ20(#1)は、管理端末120からループ情報200を取得することにより、切替元での切替準備が完了したか否かを検出する(S35A)。
このように構成される本実施例も前記第1実施例と同様の効果を奏する。なお、当然ではあるが、このループ情報200は、各コントローラ20がそれぞれ作成して、管理端末120に記憶させる。
図16に基づいて第3実施例を説明する。本実施例では、所定のディスクドライブ30を用いて、切替準備が完了した旨の情報を受け渡すようになっている。図16は、パス切替処理を示すフローチャートである。
切替元となるコントローラ20(#2)は、FPC22の初期設定が完了すると(S33:YES)、初期設定が完了した旨を、例えばループ情報200として、所定のディスクドライブ30に記憶させる(S34B)。切替先となるコントローラ20(#1)は、所定のディスクドライブ30からループ情報200を取得することにより、切替元での切替準備が完了したか否かを検出する(S35B)。
ここで、ループ50が正常状態になければ、FPC22は初期設定を完了させることはできない。従って、ループ情報200を所定のディスクドライブ30に書き込めたときは、少なくとも、その時点でループ50は正常状態にあった場合である。その後、何らかの原因によって、ループ50に障害が発生した場合、他系のコントローラは、オルタネート制御信号とループ情報200とに基づいて、パスの切替可否を判断し、実行する。
このように構成される本実施例も第1実施例と同様の効果を奏する。なお、各コントローラ20が、それぞれ自己のループ状態を確認してループ情報200を生成し、所定のディスクドライブ30に記憶させる。ここで、ループ情報200の消失防止のために、複数のディスクドライブ30にループ情報200を書き込むこともできる。
なお、本発明は、上述した各実施例に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。例えば、オルタネート制御信号及びLOOP-READY信号の両方が入力されたか否かを検出するための回路として、アンドゲートを例に挙げたが、これに代えて、NOT素子及びオアゲートを用いてもよい。両信号が出揃ったか否かをD_CTL等の内部で検出する構成でもよい。
また、前記各実施例では、下位通信ネットワークの切替制御信号(オルタネート制御信号)の信頼性を向上させる場合を例に挙げて説明したが、これに限らず、例えば、電源オフの指令等のように、一方のコントローラからの指令に基づいて他方のコントローラが所定の動作を実行する種々の場合に適用可能である。さらに、前記各実施例を適宜組み合わせて使用することもできる。
本発明の実施形態の全体概念を示す説明図である。 記憶制御装置の全体構造を示すブロック図である。 記憶制御装置の外観図である。 記憶制御装置の一部を拡大して示す回路図である。 通常状態におけるデータの流れを示す回路図である。 ホストからのコマンドを処理するフローチャートである。 ディスクドライブへ接続するためのパスの切替処理を示すフローチャートである。 ループに障害が発生した場合のパス切替の様子を示すブロック図である。 パス切替時のデータの流れを示す回路図である。 オルタネート制御信号の出力に関して故障しているコントローラを記憶制御装置に活線挿入した場合のパス切替処理を示すフローチャートである。 オルタネート制御信号の出力に関して故障しているコントローラを記憶制御装置に活線挿入した様子を示すブロック図である。 本実施例との比較のために使用される記憶制御装置のブロック図である。 比較例においてパス切替時にループが切断される様子を示す回路図である。 第2実施例に係る記憶制御装置のブロック図である。 パス切替処理を示すフローチャートである。 第3実施例に係り、パス切替処理を示すフローチャートである。
符号の説明
1…記憶制御装置、2A,2B…コントローラ、3…記憶部、4…上位通信部、5…下位通信部、6…制御部、6A…初期設定完了検出部、6B…障害検出部、6C…切替要求出力部、6D…準備状態検出部、6E…制御用パス、7…パス切替部、7A,7B…パス(下位通信ネットワーク)、7C…切替用パス、8…切替許可部、8A…制御用パス、9…ホスト、10,10A…記憶制御装置、11…基本筐体、11A…バックボード、12…増設筐体、20…コントローラ、21,22…FPC(ファイバチャネルプロトコルチップ)、23…D_CTL(データコントロールチップ)、24…MPU(マイクロプロセッシングユニット)、25…キャッシュメモリ、26…PBC(ポートバイパスサーキット)、27…アンドゲート、30…ディスクドライブ、31A,31B,32A,32B…入出力インターフェース、40…高速バス、41,42…オルタネート接続用パス、43…信号線(オルタネート制御信号)、44…信号線(LOOP-READY信号)、50…ループ、100…ホスト、120…管理端末、121…管理用ネットワーク、200…ループ情報

Claims (9)

  1. ホスト装置及び複数の記憶デバイスにそれぞれ接続される記憶制御装置であって、
    前記各記憶デバイスにそれぞれ異なる下位通信ネットワークを介して接続される複数のコントローラを有し、
    前記各コントローラは、
    上位通信ネットワークを介して前記ホスト装置との間で通信を行う上位通信部と、
    前記下位通信ネットワークを介して前記各記憶デバイスとの間でそれぞれ通信を行う下位通信部と、
    前記上位通信部を介して前記ホスト装置から入力された指示に基づいて、前記下位通信部を介して前記各記憶デバイスとの間でデータを入出力させる制御部と、
    前記下位通信部の接続先を前記下位通信ネットワークと相手方コントローラの下位通信ネットワークとの間で切り替える切替部と、
    前記下位通信ネットワークに発生した障害を検出する障害検出部と、
    前記障害検出部によって前記障害が検出された場合は、前記障害の検出された下位通信ネットワークから前記相手方コントローラの下位通信ネットワークに切り替えさせるための切替要求を出力する切替要求部と、
    切替準備が完了したか否かを検出する準備状態検出部と、
    前記準備状態検出部が前記切替準備の完了を検出した場合は、前記切替要求に基づいて、前記切替部による切替を許可する切替許可部と、
    をそれぞれ備えて構成された記憶制御装置。
  2. 前記準備状態検出部は、前記障害が検出された側のコントローラにおいて前記切替準備が完了したか否かを検出する請求項1に記載の記憶制御装置。
  3. 前記準備状態検出部は、前記障害が検出された側のコントローラにおいて、前記下位通信部の初期設定が完了した場合には、前記切替準備が完了したものと検出する請求項1に記載の記憶制御装置。
  4. 前記各コントローラは、制御用通信経路を介して互いに接続されており、
    前記準備状態検出部は、前記制御用通信経路を介して、前記障害が検出された側のコントローラにおいて前記切替準備が完了したか否かを検出する請求項1に記載の記憶制御装置。
  5. 前記各コントローラは、前記切替準備が完了した場合に、前記切替準備が完了した旨を示す状態通知情報を前記各記憶デバイスのうち所定の記憶デバイスに書き込み、
    前記準備状態検出部は、前記所定の記憶デバイスから前記状態通知情報を取得した場合に、前記切替準備の完了を検出する請求項1に記載の記憶制御装置。
  6. さらに、前記各コントローラに管理用ネットワークを介してそれぞれ接続される管理用コンピュータを備え、
    前記各コントローラは、切替準備が完了した旨を示す状態通知情報を前記管理用コンピュータを介して通知する請求項1に記載の記憶制御装置。
  7. 複数の記憶デバイスにそれぞれ異なる下位通信ネットワークを介して接続される複数のコントローラを備え、これら各コントローラによって二重化された記憶制御装置のパス切替方法であって、
    前記下位通信ネットワークに障害が発生したか否かを検出するステップと、
    前記障害の発生が検出された場合、この障害の検出された下位通信ネットワークから切替先のコントローラの下位通信ネットワークに切り替えさせるための切替要求を、前記切替元のコントローラから前記切替先のコントローラに通知させるステップと、
    前記切替元のコントローラにおいて切替準備が完了したか否かを検出し、切替準備の完了を検出した場合は、準備完了を前記切替先のコントローラに通知するステップと、
    前記切替要求及び前記準備完了の両方が通知された場合に、前記切替元のコントローラが使用する下位通信ネットワークを、前記障害の検出された下位通信ネットワークから前記切替先のコントローラの下位通信ネットワークに切り替えさせるステップと、
    を含んだ記憶制御装置のパス切替方法。
  8. 複数の記憶デバイスにそれぞれ異なるプライマリループを介して接続される複数のコントローラを備え、前記各プライマリループは互いに相手方のオルタネートループとなっている記憶制御装置であって、
    (1)前記各コントローラは、
    前記ホスト装置との間で通信を行う上位通信部と、
    前記プライマリループを介して前記各記憶デバイスとの間でそれぞれ通信を行う下位通信部と、
    前記上位通信部を介してホスト装置から入力された指示に基づいて、前記下位通信部を介して前記各記憶デバイスとの間でデータを入出力させる制御部と、
    前記下位通信部の接続先をプライマリループとオルタネートループとの間で切り替える切替部と、
    前記プライマリループに発生した障害を検出する障害検出部と、
    前記障害検出部によって前記障害が検出された場合は、前記障害の検出されたプライマリループから前記オルタネートループに切り替えさせるための切替要求信号を出力する切替要求信号出力部と、をそれぞれ備え、
    (2)さらに、前記各コントローラは、
    前記各コントローラの前記各制御部を互いに接続する制御用通信経路を介して、相手側コントローラの有する前記下位通信部が初期設定を完了したか否かを検出し、初期設定が完了した場合は、準備完了信号を出力する準備状態検出部と、
    入力側に前記準備状態検出部と前記相手方コントローラの有する前記切替要求信号出力部とがそれぞれ接続され、出力側に前記切替部が接続されたアンドゲートとを、それぞれ備えおり、
    (3)前記アンドゲートは、前記準備完了信号及び前記切替要求信号がそれぞれ入力された場合に、前記切替部に切替信号を出力する、記憶制御装置。
  9. 前記切替要求信号出力部は、通常の場合に前記切替要求信号の信号レベルをローレベルとし、前記障害が検出された場合に前記切替要求信号の信号レベルをローレベルからハイレベルに変化させるものであり、
    前記準備状態検出部は、通常の場合に前記準備完了信号の信号レベルをローレベルとし、前記初期設定が完了した場合に前記準備完了信号の信号レベルをローレベルからハイレベルに変化させるものであり、
    前記アンドゲートは、前記準備完了信号及び前記切替要求信号がそれぞれローレベルからハイレベルに変化した場合に、前記切替信号を前記切替部に出力する、請求項8に記載の記憶制御装置。
JP2005191600A 2005-06-30 2005-06-30 記憶制御装置及び記憶制御装置のパス切替方法 Pending JP2007011682A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005191600A JP2007011682A (ja) 2005-06-30 2005-06-30 記憶制御装置及び記憶制御装置のパス切替方法
US11/212,845 US7568119B2 (en) 2005-06-30 2005-08-29 Storage control device and storage control device path switching method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005191600A JP2007011682A (ja) 2005-06-30 2005-06-30 記憶制御装置及び記憶制御装置のパス切替方法

Publications (1)

Publication Number Publication Date
JP2007011682A true JP2007011682A (ja) 2007-01-18

Family

ID=37589428

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005191600A Pending JP2007011682A (ja) 2005-06-30 2005-06-30 記憶制御装置及び記憶制御装置のパス切替方法

Country Status (2)

Country Link
US (1) US7568119B2 (ja)
JP (1) JP2007011682A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009053946A (ja) * 2007-08-27 2009-03-12 Toshiba Corp 二重化コントーラ構成ブロックデバイス制御装置
JP2009157859A (ja) * 2007-12-28 2009-07-16 Fujitsu Ltd ストレージシステム及び情報処理装置のアクセス制御方法
US7911788B2 (en) 2008-11-12 2011-03-22 Hitachi, Ltd. Storage control device
US8189329B2 (en) 2008-11-12 2012-05-29 Hitachi, Ltd. Storage control apparatus
JP2012208896A (ja) * 2011-03-30 2012-10-25 Nec Corp ディスクアレイ装置、接続経路制御方法、及び接続経路制御プログラム
US8341347B2 (en) 2008-11-12 2012-12-25 Hitachi, Ltd. Storage controller

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009515278A (ja) * 2005-11-04 2009-04-09 トムソン ライセンシング メディア記憶デバイスを管理する方法および装置
JP2008176526A (ja) * 2007-01-18 2008-07-31 Hitachi Ltd 記憶制御装置及び記憶制御装置の制御方法
TW201105406A (en) * 2009-03-10 2011-02-16 Calera Corp Systems and methods for processing CO2
JP6094070B2 (ja) * 2012-06-29 2017-03-15 富士通株式会社 システムおよび異常箇所特定方法
KR20180049338A (ko) * 2016-10-31 2018-05-11 삼성전자주식회사 저장 장치 및 그것의 동작 방법
US11734131B2 (en) * 2020-04-09 2023-08-22 Micron Technology, Inc. Memory device having redundant media management capabilities

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050027276A (ko) * 2002-08-02 2005-03-18 그라스 밸리 (유.에스.) 아이엔씨. 미디어 영역 네트워크를 위한 실시간 페일-오버 복구
JP3781369B2 (ja) 2002-09-02 2006-05-31 株式会社日立製作所 記憶サブシステム
US7360010B2 (en) * 2003-04-14 2008-04-15 Copan Systems, Inc. Method and apparatus for storage command and data router

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009053946A (ja) * 2007-08-27 2009-03-12 Toshiba Corp 二重化コントーラ構成ブロックデバイス制御装置
JP2009157859A (ja) * 2007-12-28 2009-07-16 Fujitsu Ltd ストレージシステム及び情報処理装置のアクセス制御方法
US7911788B2 (en) 2008-11-12 2011-03-22 Hitachi, Ltd. Storage control device
US8189329B2 (en) 2008-11-12 2012-05-29 Hitachi, Ltd. Storage control apparatus
US8341347B2 (en) 2008-11-12 2012-12-25 Hitachi, Ltd. Storage controller
US8681489B2 (en) 2008-11-12 2014-03-25 Hitachi, Ltd. Storage control apparatus
JP2012208896A (ja) * 2011-03-30 2012-10-25 Nec Corp ディスクアレイ装置、接続経路制御方法、及び接続経路制御プログラム

Also Published As

Publication number Publication date
US7568119B2 (en) 2009-07-28
US20070002847A1 (en) 2007-01-04

Similar Documents

Publication Publication Date Title
JP2007011682A (ja) 記憶制御装置及び記憶制御装置のパス切替方法
JP4723290B2 (ja) ディスクアレイ装置及びその制御方法
US10191669B2 (en) Redundant SAS storage virtualization subsystem and system using the same and method therefor
KR100793224B1 (ko) Raid 시스템, raid 컨트롤러 및 그 재구성/재복사처리 방법
JP5932287B2 (ja) マルチレーンpciエクスプレスio相互接続に対するケーブル冗長性およびフェイルオーバのための方法、装置、およびコンピュータ・プログラム
JP5739308B2 (ja) フェイルオーバー動作のための方法、装置、およびコンピュータ・プログラム
US7444541B2 (en) Failover and failback of write cache data in dual active controllers
EP1845450A2 (en) Storage Controller
CN101645915B (zh) 一种磁盘阵列主机通道子卡、在线切换系统及其切换方法
CN113342261A (zh) 伺服器与应用于伺服器的控制方法
JP4252551B2 (ja) データストレージシステム及びストレージ制御装置の異常時のログデータ出力方法
CN107294759B (zh) 服务器系统及数据存取方法
JP4404754B2 (ja) データストレージ装置及び情報処理システム
US7127621B2 (en) Peer power control
JP2011076528A (ja) Raidカードの冗長化方法及びraidカードの冗長化装置
JP7409700B2 (ja) ストレージシステム、サーバ、パス切替方法、およびプログラム
KR20110030002A (ko) 활성-활성 멀티플렉싱 유닛 또는 포트 선택자 유닛을 가지는 네트워크 직접 연결 저장 장치
JP6930153B2 (ja) パス切替装置、パス切替方法及びパス切替プログラム、並びに、コンピュータシステム
JP2005196331A (ja) ディスクアレイ装置及びディスクアレイ装置の構成変更方法
CN113345495A (zh) 伺服器及相关的控制方法
JP2005301350A (ja) フォールトトレラントサーバ