JP4786312B2 - 記憶制御装置及び記憶制御装置のエラー情報管理方法 - Google Patents

記憶制御装置及び記憶制御装置のエラー情報管理方法 Download PDF

Info

Publication number
JP4786312B2
JP4786312B2 JP2005337836A JP2005337836A JP4786312B2 JP 4786312 B2 JP4786312 B2 JP 4786312B2 JP 2005337836 A JP2005337836 A JP 2005337836A JP 2005337836 A JP2005337836 A JP 2005337836A JP 4786312 B2 JP4786312 B2 JP 4786312B2
Authority
JP
Japan
Prior art keywords
error
storage
control unit
communication
communication control
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.)
Expired - Fee Related
Application number
JP2005337836A
Other languages
English (en)
Other versions
JP2007141185A (ja
Inventor
哲也 井上
弘志 鈴木
博実 松重
正人 小川
智一 横山
雅光 黒川
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 JP2005337836A priority Critical patent/JP4786312B2/ja
Priority to US11/334,629 priority patent/US7571356B2/en
Priority to EP06253540A priority patent/EP1788482B1/en
Publication of JP2007141185A publication Critical patent/JP2007141185A/ja
Application granted granted Critical
Publication of JP4786312B2 publication Critical patent/JP4786312B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0784Routing of error reports, e.g. with a specific transmission path or data flow
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • 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/2002Error 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 interconnections or communication control functionality are redundant
    • G06F11/2007Error 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 interconnections or communication control functionality are redundant using redundant communication media
    • G06F11/201Error 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 interconnections or communication control functionality are redundant using redundant communication media between storage system components
    • 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

Description

本発明は、記憶制御装置及び記憶制御装置のエラー情報管理方法に関する。
記憶制御装置は、例えば、ハード記憶デバイス等の記憶デバイスをアレイ状に配設して構成されており、例えば、RAID(Redundant Array of Independent Disks)に基づく記憶領域をホストコンピュータ(以下、ホストと略記する場合がある)に提供する。記憶デバイス群が提供する物理的な記憶領域上には少なくとも1つ以上の論理ボリュームが形成され、この論理ボリュームがホストに提供される。ホストは、所定のコマンドを送信することにより、論理ボリュームに対してデータの書込み、読出しを行う。
複数の記憶デバイスは、ポートバイパスサーキットと呼ばれる回路によって、ディジーチェーンモードで接続される。あるいは、複数の記憶デバイスをクロスバスイッチで接続する技術も知られている(特許文献1)
特開2003−303055号公報
同一のパス上に存在する複数の記憶デバイスをディジーチェーン方式で接続する場合は、そのうちのいずれか1台の記憶デバイスが故障すると、そのパスに繋がる他の全ての正常な記憶デバイスまでも使用不能となる。パスが切断されてしまうためである。もっとも、セカンダリパス(冗長パス)が用意されている場合は、プライマリパスからセカンダリパスに切り替えることにより、正常な記憶デバイスにアクセス可能である。しかし、パスの切替に時間を必要とするため、記憶制御装置の応答性が低下する。
なお、前記文献に記載の技術では、各記憶デバイスをスイッチ接続させることにより、ディスクアダプタと記憶デバイス間のスループットを増大させている。しかし、前記文献では、記憶デバイスに生じる障害を検出する方法や、障害を回復させる方法についての考察がされておらず、改善の余地がある。
本発明は、上記の問題点に鑑みてなされたもので、その一つの目的は、耐障害性を向上できるようにした記憶制御装置及び記憶制御装置のエラー情報管理方法を提供することにある。本発明の他の目的は、記憶デバイスに生じた障害を検出して自動的に回復させることができ、耐障害性及び使い勝手を向上できるようにした記憶制御装置及び記憶制御装置のエラー情報管理方法を提供することにある。本発明の他の目的は、後述する実施形態の記載から明らかになるであろう。
上記課題を解決すべく、本発明の一つの観点に従う記憶制御装置は、ホスト装置との通信を制御する上位通信制御部と、複数の記憶デバイスとの通信を制御する下位通信制御部と、各記憶デバイスと下位通信制御部とをスイッチ接続させる接続制御部と、を備え、接続制御部は、各記憶デバイス毎のエラー情報をそれぞれ監視するエラー監視部を備えたことを特徴とする。ここで、接続制御部は、下位通信制御部に直接的または間接的に接続される通信ポートを、各記憶デバイスにそれぞれ接続される他の通信ポートのいずれか一つに接続させることができる。本発明の記憶制御装置は、接続制御部の内部で、各記憶デバイスに生じるエラーをそれぞれ監視することにより、アクセス障害またはアクセス障害の予兆を早期に検出することができる。
本発明の実施形態では、エラー監視部は、下位通信制御部からの要求を受領した場合に、エラー情報を下位通信制御部に送信する。即ち、エラー監視部によるエラー情報の監視と下位通信制御部によるエラー情報の取得とは、非同期である。これにより、記憶デバイスにインターミッテントエラーが検出された場合でも、その軽微なエラーによって当該記憶デバイスへのアクセスが中止されたりするのを防止することができる。
本発明の実施形態では、下位通信制御部は、各記憶デバイスとの通信結果に基づいてエラーが発生したか否かを検出し、エラーを検出した場合は、エラー監視部にエラー情報の送信を要求する。即ち、下位通信制御部は、記憶デバイスへのアクセスに障害が検出された場合に、エラー監視部にエラー情報の取得を要求する。従って、下位通信制御部は、アクセス障害の発生した場合にのみエラー情報を取得して、故障した記憶デバイスを特定することができる。
本発明の実施形態では、下位通信制御部は、エラー監視部から取得したエラー情報に基づいて障害の発生した記憶デバイスを特定し、この障害の発生した記憶デバイスに記憶されているデータを回復させるための障害回復処理を実行する。アクセス障害の生じた記憶デバイスを特定して自動的に障害回復処理を行うことにより、耐障害性及び使い勝手が向上する。障害回復処理としては、例えば、障害の発生した記憶デバイスとRAIDグループを構成する他の記憶デバイスからデータ及びパリティを取得し、これらデータ及びパリティに基づいて演算を行うことにより、データを回復させる方法が挙げられる。
本発明の実施形態では、接続制御部は、複数の通信ポートを介してそれぞれ異なる複数の記憶デバイスに接続される複数のスイッチ回路と、これら各スイッチ回路にそれぞれ接続される制御回路とを備えて構成され、エラー監視部は、各スイッチ回路内にそれぞれ設けられ、該各スイッチ回路が有する各通信ポートに生じたエラーをそれぞれ検出し、エラー情報として記憶するエラー情報収集部と、制御回路内に設けられ、各エラー収集部に記憶されたエラー情報を所定のタイミングでそれぞれ読み出して保存する中継記憶部と、制御回路内に設けられ、下位通信制御部からの要求に応じて、中継記憶部に記憶されたエラー情報を下位通信制御部に送信するエラー情報送信部と、を備えて構成される。即ち、各記憶デバイスに接続される各通信ポートに生じたエラーをそれぞれ検出するすることにより、各記憶デバイスのエラー状況を個別に監視することができる。個別のエラー情報は、制御回路内の中継記憶部にいったん記憶させてから、エラー情報送信部を介して下位通信制御部に送信される。例えば、中継記憶部を不揮発性メモリから構成した場合に、接続制御部が記憶制御装置から取り外された場合においても、エラー情報をそのまま保持し続けることができ、その後のエラー解析作業等に役立たせることができる。
本発明の実施形態では、エラー情報収集部は、通信ポートにそれぞれ設けられたエラーカウンタと、これら各エラーカウンタのカウント値をエラー情報としてそれぞれ記憶するレジスタとを備えており、各エラーカウンタは、通信ポートを流れるデータのビットパターンが予め設定された所定のエラーパターンに一致する場合に、カウント値を増加させるようになっている。
本発明の実施形態では、中継記憶部は、予め設定された所定の周期で、エラー収集部にエラー情報の取得を要求し、エラー情報収集部は、中継記憶部からの要求に応じて、各エラーカウンタのカウント値をレジスタに転送させ、レジスタに記憶された各カウント値を中継記憶部に転送させるようになっている。
本発明の実施形態では、各スイッチ回路は、各記憶デバイスと各通信ポートとの対応関係を示すポート管理テーブルをそれぞれ備えており、このポート管理テーブルを用いて、下位通信制御部と各通信ポートのうち所定の通信ポートとをスイッチ接続させるようになっている。
本発明の実施形態では、各スイッチ回路は、直列に接続されている。これに代えて、各スイッチ回路は、所定のスイッチ回路を中心として、この所定のスイッチ回路に他の全てのスイッチ回路がそれぞれ接続されている構成としてもよい。あるいは、各スイッチ回路は、リング状に接続されている構成としてもよい。
本発明の他の実施形態では、エラー監視部は、予め緊急度の高いエラーであるとして設定された所定のエラーを検出した場合は、所定のエラーを検出した旨を下位通信制御部に直ちに通知する。
本発明のさらに別の実施形態では、エラー監視部は、予め設定された所定のテスト用パターンを発生させる信号発生器を備えており、各記憶デバイスのうち下位通信制御部に接続されていない記憶デバイスにテスト用パターンを供給し、このテスト用パターンに対する記憶デバイスからの応答信号に基づいて、エラーを検出するようになっている。
本発明の他の観点に従う記憶制御装置のエラー情報管理方法は、ホスト装置との通信を制御する上位通信制御部と、複数の記憶デバイスとの通信を制御する下位通信制御部と、各記憶デバイスと下位通信制御部とをスイッチ接続させる接続制御部とを備えた記憶制御装置のエラー情報管理方法であって、接続制御部は、各記憶デバイスにそれぞれ接続される各通信ポートに、予め設定された所定のエラーパターンに一致するビットパターンが出現したか否かを判定するステップと、エラーパターンに一致するビットパターンが出現した場合は、その通信ポートのエラーカウンタのカウント値を増加させるステップと、予め設定された所定時間が経過したか否かを判定するステップと、所定時間が経過した場合は、各エラーカウンタのカウント値をそれぞれ取得して記憶させるステップと、下位通信制御部から各記憶デバイスのいずれかに対するアクセスエラーが検出されたか否かを判定するステップと、アクセスエラーが検出された場合は、記憶された各カウント値をそれぞれ取得するステップと、取得された各カウント値に基づいて、障害の発生した記憶デバイスを特定するステップと、を含む。
さらに、特定された記憶デバイスに関する情報を外部の管理端末に送信させるステップを備えてもよい。
さらに、特定された記憶デバイスに記憶されているデータを回復させるステップを備えてもよい。
また、データを回復させるステップは、記憶デバイスのうち未使用の記憶デバイスをいずれか一つ選択するステップと、特定された記憶デバイスとRAIDグループを構成する他の記憶デバイスに記憶されているデータに基づいて、特定された記憶デバイスに記憶されているデータを復元させるステップと、復元されたデータを選択された未使用の記憶デバイスに記憶させるステップと、を含んで構成してもよい。
本発明の手段、機能、ステップの全部または一部は、コンピュータシステムにより実行されるコンピュータプログラムとして構成可能な場合がある。本発明の構成の全部または一部がコンピュータプログラムから構成された場合、このコンピュータプログラムは、例えば、各種記憶媒体に固定して配布等することができ、あるいは、通信ネットワークを介して送信することもできる。
図1は、本発明の実施形態の全体概要を示す構成説明図である。本実施形態の記憶制御装置1は、コントローラ2及び記憶部3を備えており、ホストHにデータストレージサービスを提供する。
コントローラ2は、記憶制御装置1の全体動作を制御するものである。コントローラ2は、例えば、上位通信制御部2Aと、メモリ部2B及び下位通信制御部2Cを備えて構成することができる。
上位通信制御部2Aは、ホストHとの間の通信を制御するものである。ホストHは、例えば、サーバコンピュータ、メインフレーム等のコンピュータ装置として構成され、記憶制御装置1にコマンドを発行する。上位通信制御部2Aは、ホストHから受領したコマンドに応じた処理を行う。
下位通信制御部2Cは、記憶部3の各ディスクドライブ5との間の通信を制御するものである。下位通信制御部2Cは、ホストHから要求されたデータを所定のディスクドライブ5から読み出して、メモリ部2Bに格納させる。上位通信制御部2Aは、メモリ部2Bに記憶されたデータを読み出して、このデータをホストHに送信する。また、下位通信制御部2Cは、ホストHから書込みを要求された場合、ライトデータを所定のディスクドライブ5に書き込むようになっている。さらに、下位通信制御部2Cには、障害回復制御部2C1が設けられている。障害回復制御部2C1は、ディスクドライブ5へのアクセス障害が検出された場合に、この障害から回復するための処理を実行する。
記憶部3の構成を説明する。記憶部3は、ホストHによって使用される種々のデータを記憶するためのものである。記憶部3は、例えば、複数のスイッチ回路4と、複数のディスクドライブ5と、接続用基板6及びエラー監視部7を備えて構成できる。そして、ドライブ接続制御部8は、スイッチ回路4及びエラー監視部7を含んで構成される。
スイッチ回路4は、例えば、一つの共通ポート4A及び複数のデバイス接続ポート4Bを備えて構成される。図中では、一つのスイッチ回路4に4つのディスクドライブ5を接続する場合を示すが、実際には、複数のスイッチ回路4が設けられており、各スイッチ回路4にはそれぞれ複数のディスクドライブ5が接続されている。スイッチ回路4は、下位通信制御部2Cから入力されたコマンドに基づいて、共通ポート4Aといずれか一つのデバイス接続ポート4Bとを一対一で接続させ、これらポート4A,4B間で全二重通信を行わせる。
接続用基板6には、複数のディスクドライブ5が取り付けられている。接続用基板6には、各ディスクドライブ5とスイッチ回路4とを接続するための信号線や、各ディスクドライブ5に電源を供給するための電源線が形成されている。ディスクドライブ5は、例えば、ハードディスクドライブや半導体メモリドライブ、あるいは、光ディスクドライブ、磁気テープドライブ等のような記憶デバイスから構成される。各ディスクドライブ5は、接続用基板6を介してスイッチ回路4に接続されており、さらに、スイッチ回路4を介して下位通信制御部2Cに接続される。
エラー監視部7は、例えば、エラー情報収集部7Aと、中継記憶部7B及びエラー情報通知部7Cを備えて構成される。エラー情報収集部7Aは、各ポート4A,4Bを流れるデータを監視することにより、エラーの発生を示すエラー情報を収集する。収集されたエラー情報は、中継記憶部7Bに記憶される。エラー情報通知部7Cは、下位通信制御部2Cからの要求に応じて、中継記憶部7Bに記憶されたエラー情報を読み出し、この読出したエラー情報を下位通信制御部2Cに送信する。
管理端末9は、記憶制御装置1の状態を管理するためのコンピュータ装置である。管理端末9は、コントローラ2に構成変更指示を発行したり、あるいは、記憶制御装置1の各種ステータス情報を取得する。
次に、ネットワーク構成を説明する。ホストHと記憶制御装置1とは、例えば、SAN(Storage Area Network)やインターネット等の通信ネットワークCN1を介して、双方向通信可能に接続されている。コントローラ2と記憶部3とは、例えば、SAN等の通信ネットワークCN2を介して、双方向通信可能に接続されている。コントローラ2と管理端末9とは、例えば、LAN(Local Area Network)等の通信ネットワークCN3を介して、双方向通信可能に接続されている。
本実施形態の動作を説明する。ホストHは、記憶制御装置1にリードコマンドやライトコマンドを発行する。これにより、コントローラ2は、ドライブ接続制御部8を介して、所定のディスクドライブ5にアクセスし、ホストHから要求されたデータを所定のディスクドライブ5から読み出して、ホストHに提供する(リードコマンドの場合)。あるいは、コントローラ2は、ドライブ接続制御部8を介して所定のディスクドライブ5にアクセスし、ホストHから受信したライトデータをブロックデータに分割して、所定のディスクドライブ5に記憶させる(ライトコマンドの場合)。
ここで、スイッチ回路4は、共通ポート4Aといずれか一つのデバイス接続ポート4Bとを接続させることにより、特定のディスクドライブ5と下位通信制御部2Cとを接続させる。複数のデバイス接続ポート4Bを周期的に切り替えていくことにより、複数のディスクドライブ5にデータが分散して記憶される場合もある。
エラー監視部7は、各ディスクドライブ5に生じるエラーを監視する。エラー情報収集部7Aは、例えば、各ポート4A,4Bを流れるデータのビットパターンを監視し、既知のエラーパターンが検出されたか否かを判定する。
例えば、下位通信制御部2Cと各ディスクドライブ5とは、ファイバチャネルプロトコルに基づいてブロックレベルのデータ転送を行うが、ファイバチャネルプロトコルでは、”0”または”1”のビットが所定数以上連続することを禁じている。従って、エラー情報収集部7Aは、ポートに発生したエラーを監視することができる。あるいは、あるデータをディスクドライブ5に入力した場合の応答が、期待される値とは異なる場合に、そのディスクドライブ5にエラーが生じたことを検出することができる。このために、エラー情報収集部7Aは、共通ポート4Aから入力されるデータ及びデバイス接続ポートから返信されるデータの両方をそれぞれ監視する。
検出されたエラーは、例えば、各デバイス接続ポート4B毎のエラーカウント値のようなエラー情報として、中継記憶部7Bに記憶される。下位通信制御部2Cは、例えば、ディスクドライブ5へのアクセスに支障が生じた場合に、エラー監視部7にエラー情報の転送を要求する。エラー監視部7は、下位通信制御部2Cからの要求に応じて、中継記憶部7Bに記憶されたエラー情報を、エラー情報通知部7Cから下位通信制御部2Cに送信させる。
即ち、いずれかのディスクドライブ5におけるエラーの発生がエラー監視部7によって検出された場合でも、そのエラー情報は下位通信制御部2Cに直ちに報告されるわけではない。下位通信制御部2Cがディスクドライブ5へのアクセス障害を認識した場合に、エラー情報がエラー監視部7から下位通信制御部2Cに送信される。そして、下位通信制御部2Cは、そのエラー情報に基づいて、障害回復処理を実行するか否かを決定し、必要があれば障害回復処理を実行させる。
このように構成される本実施形態によれば、ディスクドライブ5と下位通信制御部2Cとをスイッチ接続させると共に、ディスクドライブ5に生じたエラー情報をそれぞれ個別に監視する構成とした。従って、どのディスクドライブ5に障害が発生したかを早期に発見することができ、使い勝手が向上する。
本実施形態では、下位通信制御部2Cが要求した場合に、エラー監視部7は、エラー情報を下位通信制御部2Cに通知する構成とした。従って、緊急性が比較的低いインターミッテントエラーが検出された場合に、この軽微なエラーの発生によって、そのディスクドライブ5の閉塞処理や障害回復処理が開始されたりするのを抑制できる。この結果、例えば、記憶制御装置1としての動作に影響が無いような場合、障害の生じたディスクドライブ5を閉塞処理させずに、そのまま使用し続けることができる。これにより、記憶制御装置1の稼働時間を増大させることができ、また、閉塞処理や障害回復処理の実行による応答性の低下を抑制することができ、使い勝手が向上する。
本実施形態では、ディスクドライブ5へのアクセスに障害が発生したことを下位通信制御部2Cが認識した場合に、エラー監視部7からエラー情報を取得する構成とした。従って、エラー情報を周期的に取得する場合に比べて、エラー監視部7や下位通信制御部2Cの処理負担を軽減させることができる。
本実施形態では、ディスクドライブ5の障害が検出された場合、障害回復制御部2C1によって障害を自動的に回復させる構成とした。従って、耐障害性及び使い勝手を向上させることができる。
本発明の実施形態を詳細に説明する。図1との関係を先に述べると、図1中のホストHは図3中のホスト20に、図1中の記憶制御装置1は図3中の記憶制御装置10に、図1中のコントローラ2は図3中のコントローラ100に、図1中の記憶部3は図3中の記憶部200に、図1中の管理端末9は図3中の管理端末30に、図1中の上位通信制御部2Aは図3中のCHA110に、図1中の下位通信制御部2Cは図3中のDKA120に、図1中のメモリ部2Bは図3中のキャッシュメモリ130及び共有メモリ140に、図1中のディスクドライブ5は図3中のディスクドライブ210に、図1中の接続用基板6は図3中の接続用基板220に、図1中のドライブ接続制御部8は図3中の接続制御部230に、図1中のスイッチ回路4は図3中のスイッチ回路240に、それぞれ対応する。
図2は、記憶制御装置10の外観構成を示す概略斜視図である。記憶制御装置10は、例えば、基本筐体11と複数の増設筐体12とから構成可能である。
基本筐体11は、記憶制御装置10の最小構成単位であり、記憶機能及び制御機能の両方を備えている。増設筐体12は、記憶制御装置10のオプションであり、基本筐体11の有する制御機能により制御される。例えば、最大4個の増設筐体12を基本筐体11に接続可能である。
基本筐体11には、例えば、複数の制御パッケージ13と、複数の電源ユニット14と、複数のバッテリユニット15と、複数のディスクドライブ210とがそれぞれ着脱可能に設けられている。増設筐体12には、複数のディスクドライブ210と、複数の電源ユニット14及び複数のバッテリユニット15が着脱可能に設けられている。また、基本筐体11及び各増設筐体12には、複数の冷却ファン16もそれぞれ設けられている。基本筐体11と各増設筐体12とは、例えば、メタルケーブルまたはファイバケーブルによって接続されており、ファイバチャネルプロトコルに基づいた通信を行う。
制御パッケージ13は、後述するチャネルアダプタ(以下、CHA)110、ディスクアダプタ(以下、DKA)120、キャッシュメモリ130及び共有メモリ140等をそれぞれ実現するためのモジュールである。即ち、基本筐体11には、複数のCHAパッケージ、複数のDKAパッケージ及び1つ以上のメモリパッケージがそれぞれ着脱可能に設けられ、パッケージ単位で交換可能となっている。
図3は、記憶制御装置10の全体概要を示すブロック図である。記憶制御装置10は、通信ネットワークCN11を介して、複数のホスト20と双方向通信可能にそれぞれ接続可能である。記憶制御装置10は、後述のように、記憶制御装置10の動作を制御するためのコントローラ100と、記憶部200とを備えている。
通信ネットワークCN11は、例えば、LAN、SAN(Storage Area Network)、インターネットあるいは専用回線等である。LANを用いる場合、ホスト20と記憶制御装置10との間のデータ転送は、TCP/IPに従って行われる。SANを用いる場合、ホスト20と記憶制御装置10とは、ファイバチャネルプロトコルに従ってデータ転送を行う。また、ホスト20がメインフレームの場合は、例えば、FICON(Fibre Connection:登録商標)、ESCON(Enterprise System Connection:登録商標)、ACONARC(Advanced Connection Architecture:登録商標)、FIBARC(Fibre Connection Architecture:登録商標)等の通信プロトコルに従ってデータ転送が行われる。
各ホスト20は、例えば、サーバ、パーソナルコンピュータ、ワークステーション、メインフレーム等として実現されるものである。例えば、各ホスト20は、図外に位置する複数のクライアント端末と別の通信ネットワークを介して接続されている。各ホスト20は、例えば、各クライアント端末からの要求に応じて、記憶制御装置10にデータの読み書きを行うことにより、各クライアント端末へのサービスを提供する。
各CHA110は、各ホスト20との間のデータ転送を制御するもので、複数の通信ポート111を備えている。記憶制御装置10には、例えば32個のCHA110を設けることができる。CHA110は、例えば、オープン系用CHA、メインフレーム系用CHA等のように、ホスト20の種類に応じて用意される。
各CHA110は、それぞれに接続されたホスト20から、データの読み書きを要求するコマンド及びデータを受信し、ホスト20から受信したコマンドに従って動作する。
DKA120の動作も含めて先に説明すると、CHA110は、ホスト20からリードコマンドを受信すると、このリードコマンドを共有メモリ140に記憶させる。DKA120は、共有メモリ140を随時参照しており、未処理のリードコマンドを発見すると、ディスクドライブ210からデータを読み出して、キャッシュメモリ130に記憶させる。CHA110は、キャッシュメモリ130に移されたデータを読み出し、ホスト20に送信する。
一方、CHA110は、ホスト20からライトコマンドを受信すると、このライトコマンドを共有メモリ140に記憶させる。また、CHA110は、受信したライトデータをキャッシュメモリ130に記憶させる。CHA110は、キャッシュメモリ130にライトデータを記憶させた後、ホスト20に書込み完了を報告する。DKA120は、共有メモリ140に記憶されたライトコマンドに従って、キャッシュメモリ130に記憶されたデータを読出し、所定のディスクドライブ210に記憶させる。
各DKA120は、記憶制御装置10内に例えば4個や8個等のように複数個設けることができる。各DKA120は、各ディスクドライブ210との間のデータ通信をそれぞれ制御するものである。各DKA120と各ディスクドライブ210とは、接続制御回路(FSW)230等を介して接続されている。そして、各DKA120と各ディスクドライブ210とは、例えば、SAN等の通信ネットワークCN12を介して、ファイバチャネルプロトコルに基づくブロック単位のデータ転送を行う。また、各DKA120は、ディスクドライブ210の状態を随時監視しており、この監視結果は、内部ネットワークCN14を介して、SVP160に送信される。
各CHA110及び各DKA120は、例えば、プロセッサやメモリ等が実装されたプリント基板と、メモリに格納された制御プログラムとをそれぞれ備えており、これらのハードウェアとソフトウェアとの協働作業によって、それぞれ所定の機能を実現するようになっている。CHA110及びDKA120は、キャッシュメモリ130や共有メモリ140等と共にコントローラ100を構成する。
キャッシュメモリ130は、例えば、ホスト20から受信したデータ等を記憶するものである。キャッシュメモリ130は、例えば不揮発メモリから構成される。共有メモリ(あるいは制御メモリ)140は、例えば不揮発メモリから構成される。共有メモリ140には、例えば、制御情報や管理情報等が記憶される。制御情報等の情報は、複数の共有メモリ140により多重管理することができる。
なお、共有メモリ140及びキャッシュメモリ130は、それぞれ複数個設けることができる。また、同一のメモリ基板にキャッシュメモリ130と共有メモリ140とを混在させて実装することもできる。あるいは、メモリの一部をキャッシュ領域として使用し、他の一部を制御領域として使用することもできる。
スイッチ部150は、各CHA110と、各DKA120と、キャッシュメモリ130及び共有メモリ140をそれぞれ接続させる。これにより、全てのCHA110,DKA120は、キャッシュメモリ130及び共有メモリ140にそれぞれアクセス可能である。スイッチ部150は、例えばクロスバスイッチ等として構成することができる。
サービスプロセッサ(SVP)160は、LAN等の内部ネットワークCN14を介して、各CHA110及び各DKA120とそれぞれ接続されている。また、SVP160は、LAN等の通信ネットワークCN13を介して、一つまたは複数の管理端末30に接続可能である。SVP160は、記憶制御装置10内部の各種状態を収集し、管理端末30に提供する。なお、SVP160は、CHA110またはDKA120のいずれか一方にのみ接続されてもよい。SVP160は、共有メモリ140を介して、各種のステータス情報を収集可能だからである。
次に、記憶制御装置10の記憶部200について説明する。上述のように、ディスクドライブ210が多数設けられた記憶部200は、基本筐体11及び増設筐体12のそれぞれに備えさせることができる。
各ディスクドライブ210は、例えば、ハードディスクドライブや半導体メモリドライブあるいは光ディスクドライブ等として実現される。ディスクドライブ210は、物理的なディスクドライブである。各ディスクドライブ210は、例えば、記憶媒体と、記憶媒体にデータを読み書きするための制御回路と、冷却機構及び電源回路等を備えて構成することができる。
RAID構成等によっても相違するが、例えば、3個1組や4個1組等の所定数のディスクドライブ210が提供する物理的な記憶領域上には、冗長化された論理的記憶領域が構築される。そして、この冗長化された記憶領域上には、少なくとも一つ以上の論理デバイス(LU:Logigal Unit)を設定可能である。この論理デバイスは、LUN(Logical Unit Number )に対応付けられて、ホスト20に提供される。ホスト20は、例えば、論理デバイスをアクセス対象としてデータの読み書きを行う。
なお、記憶制御装置10により使用される記憶資源は、全て記憶制御装置10内に設けられている必要はない。記憶制御装置10は、記憶制御装置10の外部に存在する記憶資源を、あたかも自己の記憶資源であるかのように取り込んで、利用可能である。例えば、別の記憶制御装置が存在する場合、その別の記憶制御装置と記憶制御装置10とをSAN等で接続し、別の記憶制御装置の有する論理デバイスを、記憶制御装置10の論理デバイスの下層に設けられた仮想デバイスに接続することにより、外部の記憶資源を利用することができる。
さて、記憶部200は、複数のスイッチ回路240を備える接続制御部(以下、FSWと略記)230と、複数のディスクドライブ210が取り付けられた接続用基板220とを含んでいる。接続用基板220は、例えば、プリント配線基板のように構成されており、各ディスクドライブ210が取り付けられるためのコネクタ類やプリント配線が設けられている。各ディスクドライブ210は、接続用基板220を介して、FSW230に接続されている。また、各ディスクドライブ210は、接続用基板220を介して、電源ユニット14やバッテリユニット15に接続されている。
FSW230は、DKA120から各ディスクドライブ210へのアクセスを制御するための制御回路である。FSW230は、例えば、複数設けることができる。そして、一方のFSW230を一方のDKA120に接続し、他方のFSW230を他方のDKA120に接続することにより、いずれか一方のパスに障害が生じた場合でも、残された正常なパスを介してディスクドライブ210へのアクセスを行うことができる。FSW230の詳細は後述する。
図4は、FSW230の要部を模式的に示す説明図である。FSW230は、FSW制御回路231と、マイクロコントローラ232及び複数のスイッチ回路240を備えている。FSW制御回路231は、例えば、記憶部200の電圧状態や冷却ファンの作動状態を監視する回路である。これ以外に、FSW制御回路231は、DKA120とマイクロコントローラ232との間の通信を中継する。
FSW制御回路231は、制御線C7を介して、DKA120に接続されており、DKA120との間で双方向の通信可能となっている。また、FSW制御回路231は、マイクロコントローラ232とも双方向通信可能に接続されている。従って、FSW制御回路231は、マイクロコントローラ232とDKA120との間の通信を中継することができる。FSW制御回路231は「エラー情報通知部7C」に対応し、マイクロコントローラ232は「中継記憶部7B」に対応する。FSW制御回路231とマイクロコントローラ232とを一体化して1チップの集積回路として構成してもよい。
スイッチ回路240は、FSW230に複数設けられている。図4中では3個のスイッチ回路240を示すが、これに限らず、3個未満または4個以上のスイッチ回路240をFSW230に設けることができる。
図4に示す例では、各スイッチ回路240は、例えば、ポートP1〜P6の複数の入出力ポート(通信ポート)を備えている。ポートP1は、他の装置からのデータを受信するための共通ポートであり、ポートP2〜P6はディスクドライブ210に接続するためのデバイス接続ポートである。また、ポートP6は、他のスイッチ回路240の共通ポートP1に接続されている。
詳細は後述するが、DKA120から通信ネットワークCN12を介して、最初のスイッチ回路240に入力されたブロックデータは、所定のポートから所定のディスクドライブ210に転送され、そのディスクドライブ210に書き込まれる。
図5は、FSW230の機能構成を模式的に示す説明図である。スイッチ回路240は、共通ポートP1を、デバイス接続ポートP2〜P6のうちいずれか一つのポートに一対一で接続させるようになっている。各ポートP1〜P6は、それぞれ全二重通信可能な通信ポートである。従って、DKA120に接続されたディスクドライブ210は、DKA120との間で比較的高速なデータ通信を行うことができる。
各ポートには、それぞれエラーカウンタ241が設けられている。エラーカウンタ241の詳細は後述するが、各エラーカウンタ241は、ポートを流れるデータのパターン(ビット列)を監視してエラーの有無を検出する。
スイッチ回路240には、スイッチ回路240の作動を制御するためのスイッチ制御回路(図中「SW_CTL」)242が設けられている。スイッチ制御回路242は、ポート管理テーブルT1に基づいて、共通ポートP1とデバイス接続ポートP2〜P6との接続を制御する。また、スイッチ制御回路242は、各エラーカウンタ241から取得したカウント値を診断レジスタ243に記憶させる。スイッチ制御回路242は、マイクロコントローラ232からの要求に応じて、診断レジスタ243に記憶された各ポート毎のカウント値をマイクロコントローラ232に転送する。
なお、図5において、DKA120と共通ポートP1との間にはチャネルC1が、デバイス接続ポートP2〜P5と各ディスクドライブ210との間にはチャネルC2〜C5が、接続用ポートP6と後続のスイッチ回路240との間にはチャネルC6が、それぞれ設けられている。
図6は、データのルーティング方法の一例を示す説明図である。ここでは、スイッチ回路240a,240b,240cを直列に接続する場合を例に挙げて説明する。上述のように、各スイッチ回路240a〜240cには、それぞれポート管理テーブルT1が設けられている。ここでは、説明の便宜上、DKA120に最初に接続されたスイッチ回路240aのポート管理テーブルをT1aと、次に接続されるスイッチ回路240bのポート管理テーブルをT1bと、最後に接続されるスイッチ回路240cのポート管理テーブルをT1cとする。なお、ドライブ番号は、記憶制御装置10内において一意に決定されているものとする。
各ポート管理テーブルT1a〜T1cは、ポート番号とドライブ番号とを対応付けることによりそれぞれ構成されている。例えば、テーブルT1aでは、共通ポートP1にドライブ番号#0が対応付けられている。ドライブ番号#0は、DKA120に割り当てられた番号である。ポートP2はドライブ番号#1に、ポートP3はドライブ番号#2に、ポートP4はドライブ番号#3に、ポートP5はドライブ番号#4に、ポートP6は他のドライブ番号#5〜#12に対応付けられている。つまり、後続のスイッチ回路240bに接続される接続用ポートP6には、後段の各スイッチ回路240b,240cにそれぞれ接続されている全てのディスクドライブ210を特定するためのドライブ番号が、対応付けられている。
テーブルT1bに着目すると、テーブルT1bにおいて、前段のスイッチ回路240aのポートP6に接続されるポートP1には、前段のスイッチ回路240aに接続されている全てのドライブ番号#0〜#4が対応付けられている。そして、ポートP6には、後続するスイッチ回路240cの管理下にある各ディスクドライブ210のドライブ番号#9〜#12が対応付けられている。
同様にテーブルT1cに着目すると、直前のスイッチ回路240bのポートP6に接続されるポートP1には、このスイッチ回路240cよりも前に位置する各スイッチ回路240a,240bにそれぞれ接続されているドライブの番号#0〜#8が対応付けられている。ポートP6には、ドライブ番号が対応付けられていない。この例では、スイッチ回路240cは、最終段のスイッチ回路であり、後続するスイッチ回路が存在しないためである。
DKA120は、目的のドライブ番号を明示して、リードコマンドまたはライトコマンドを発行する。スイッチ回路240a〜240cのスイッチ制御回路242は、コマンド中に明示されたドライブ番号に基づいてポート管理テーブルT1a〜T1cを参照することにより、そのコマンドを自分で処理すべきなのか他のスイッチ回路240に任せるべきなのかを判定する。そして、各スイッチ回路240a〜240cは、ポートP1とポートP2〜P6のいずれか一つを接続させる。
図7は、DKA120とFSW230の機能構成を示す説明図である。DKA120は、アクセス制御部121及び障害回復制御部122を備えている。アクセス制御部121は、キャッシュメモリ130及び共有メモリ140にそれぞれ接続されている。アクセス制御部121は、共有メモリ140に記憶されたコマンドに基づいて、所定のディスクドライブ210にアクセスし、データの読み書きを行う。
例えば、アクセス制御部121は、共有メモリ140に記憶されたリードコマンドに基づいて、所定のディスクドライブ210にアクセスし、要求されたデータを読み出す。読み出されたデータのアドレスは論理アドレスに変換されて、キャッシュメモリ130に記憶される。また例えば、アクセス制御部121は、共有メモリ140に記憶されたライトコマンドに基づいて、所定のディスクドライブ210にアクセスし、キャッシュメモリ130に記憶されたライトデータを所定のディスクドライブ210に書き込む。
DKA120は、複数のディスクドライブ210を切替ながらアクセスする。この場合、スイッチ回路240は、DKA120からの要求に応じて、所定のディスクドライブ210をDKA120に接続させる。
これらのコマンドを処理する際に、アクセス制御部121は、所定のディスクドライブ210へのアクセスに障害が生じたか否かを検出可能である。例えば、期待する結果がディスクドライブ210から得られなかった場合、アクセス制御部121は、アクセス障害の発生であると認識し、障害回復制御部122に対して障害の回復を要求する。
障害回復制御部122は、SVP160に接続されている。障害回復制御部122は、アクセス制御部121からの要求に応じて、マイクロコントローラ232に記憶された障害情報を読み出し、障害を回復させるための処理を自動的に開始させる。また、障害回復制御部122は、SVP160を介して、障害の発生及び障害回復に関する通知を管理端末30に行う。
図8は、診断レジスタ243と障害情報T3との関係を示す説明図である。ここでは、図6と同様に、各スイッチ回路240a〜240cに対応させて、診断レジスタ243の記憶内容に符号a〜cを添える。図8の上側に示すように、診断レジスタ243は、各ポート番号毎にカウント値を対応付けて記憶する。カウント値とは、各ポートで検出されたエラーの回数である。
図8の下側に示すように、マイクロコントローラ232は、各スイッチ回路240の診断レジスタ243から記憶内容T2a〜T2cをそれぞれ取得して、障害情報T3を記憶する。マイクロコントローラ232は、例えば、不揮発性のメモリを内蔵している。障害情報T3は、マイクロコントローラ232の内蔵メモリに記憶される。この障害情報T3は、例えば、スイッチ回路240を識別するためのスイッチ番号と、各ポートを識別するためのポート番号と、エラーのカウント値とを対応付けることにより、構成される。
図9は、エラーカウンタ241によるエラーの検出方法を示す説明図である。エラーカウンタ241は、予め設定されたエラーパターンテーブルT4を備えている。予め設定されるエラーパターンとしては、例えば、プロトコルにおいて定められているエラーパターン等を挙げることができる。あるいは、コマンド中で示されたアドレスとディスクドライブ210からの応答に含まれるアドレスとが一致するか否かを、エラーパターンとして設定することもできる。
エラーカウンタ241は、ディスクドライブ210に入出力されるデータのパターン(ビット列)を検出し、この検出されたデータパターンとエラーパターンとを照合することにより、エラーの有無を判定する。エラーが検出された場合、エラーカウンタ241は、カウント値メモリ241Aに記憶されているカウント値をインクリメントさせる。
次に、図10は、エラーの検出方法及び障害情報T3の記憶方法を示すフローチャートである。以下に述べる各フローチャートも同様であるが、各フローチャートは、処理の概要を示しており、実際のプログラムとは相違する場合がある。また、ステップを「S」と略記する。
エラーカウンタ241の動作を先に説明する。エラーカウンタ241は、ディスクドライブ210からの応答を検出すると(S11)、エラーパターンテーブルT4を参照することにより(S12)、ディスクドライブ210の応答がエラーパターンに該当するか否かを判定する(S13)。ディスクドライブ210からの応答にエラーパターンが検出されなかった場合(S13:NO)、S14をスキップしてS15に移る。
エラーパターンが検出された場合(S13:YES)、エラーカウンタ241は、カウント値を1つインクリメントさせる(S14)。そして、エラーカウンタ241は、スイッチ制御回路242からカウント値の転送要求があったか否かを判定し(S15)、転送を要求された場合(S15:YES)、カウント値を診断レジスタ243に格納させる(S16)。このように、各ポート毎にそれぞれ設けられているエラーカウンタ241は、エラーの発生回数をカウントして記憶し、転送を要求された場合にのみ、カウント値を診断レジスタ243に転送して記憶させる。
マイクロコントローラ232及びスイッチ制御回路242の動作を説明する。マイクロコントローラ232は、例えば、数秒(5秒程度)に設定された所定時間が経過したか否かを判定する(S31)。
所定時間が経過すると(S31:YES)、マイクロコントローラ232は、スイッチ制御回路242に障害情報(各ポートのカウント値)の送信を要求する(S32)。つまり、マイクロコントローラ232は、所定周期毎に障害情報T3を更新させる。
スイッチ制御回路242は、マイクロコントローラ232からの要求を受信すると(S21)、各ポートのエラーカウンタ241にカウント値の転送を要求する(S22)。スイッチ制御回路242は、各エラーカウンタ241からそれぞれ受信したカウント値を診断レジスタ243に記憶させる(S23)。そして、スイッチ制御回路242は、診断レジスタ243の記憶内容T2をマイクロコントローラ232に送信する(S24)。
マイクロコントローラ232は、スイッチ制御回路242から診断レジスタ243の記憶内容T2を受信すると(S33)、障害情報T3を更新させる(S34)。
このように、各エラーカウンタ241は、それぞれ別々にエラーの発生回数をカウントしており、マイクロコントローラ232は所定周期毎にカウント値を収集して障害情報T3を更新させる。カウント値の更新と障害情報T3の更新とは非同期である。
図11は、DKA120によるアクセス制御処理を示すフローチャートである。DKA120は、共有メモリ140に記憶された未処理のコマンドを検出すると(S41)、このコマンドに含まれている論理アドレスを物理アドレスに変換して、アクセスすべきディスクドライブ210の番号を特定する(S42)。
DKA120は、特定されたドライブ番号を有するディスクドライブ210に向けてコマンドを送信する(S43)。上述のように、各スイッチ回路240は、コマンド中に含まれるドライブ番号とポート管理テーブルT1とを照合することにより、所定のポート同士をスイッチ接続させる。
ディスクドライブ210は、DKA120からのコマンドを受信すると(S51)、このコマンドに応じた処理を実行する(S52)。コマンドに応じた処理とは、例えば、コマンドで指定されたアドレスへのデータの読み書きである。そして、ディスクドライブ210は、その実行結果をDKA120に応答する(S53)。ディスクドライブ210の応答は、エラーカウンタ241により検査される。
ディスクドライブ210の応答は、スイッチ回路240を介して、DKA120に受信される(S44)。DKA120は、ディスクドライブ210の応答が期待した通りの結果であるか否かを判定する(S45)。期待通りの結果がディスクドライブ210から戻ってきた場合(S45:YES)、DKA120が発行したコマンドは正常に処理された場合なので、処理を終了する。
これに対し、ディスクドライブ210からの応答が期待通りの結果ではなかった場合(S45:NO)、DKA120は、ディスクドライブ210へのアクセス障害が発生したものと判定し、障害回復制御処理を実行する(S60)。例えば、DKA120が発行したコマンド中のアドレスとディスクドライブ210からの応答に含まれるアドレスとが相違するような場合や、ディスクドライブ210から所定時間経過しても応答が無い場合等に、アクセス障害が発生したものと判定することができる。
図12は、障害回復制御処理を示すフローチャートである。DKA120は、アクセス障害の発生を認識すると(S61)、マイクロコントローラ232に障害情報T3の送信を要求する(S62)。マイクロコントローラ232は、DKA120からの要求を受信すると(S71)、障害情報T3をDKA120に送信する(S72)。
DKA120は、マイクロコントローラ232から障害情報T3を受信すると(S63)、障害情報T3をSVP160に送信する(S64)。SVP160は、この障害情報T3を受信すると、例えば、管理端末30に警告メッセージを表示させる。DKA120は、障害情報T3の内容に基づいて、障害回復処理を実行する(S65)。
図13は、障害回復処理を示すフローチャートである。DKA120は、障害情報T3に基づいて、アクセス障害の発生したディスクドライブ210を特定する(S81)。アクセス障害の生じているディスクドライブ210は、そのエラーのカウント値も他のディスクドライブ210に比べて大幅に増加しているため、直ちに特定可能である。
DKA120は、記憶部200に実装されているディスクドライブ210の中から、未使用のスペアドライブを選択する(S82)。例えば、SATA(Serial AT Attachment)ディスクやSCSI(Small Computer System Interface)ディスク等のように、複数種類のディスクドライブ210が記憶部200に混在している場合、DKA120は、アクセス障害の生じたディスクドライブ210と同一種類で同一容量のスペアドライブを選択する。
そして、DKA120は、アクセス障害の生じたディスクドライブ210(以下、障害ドライブとも呼ぶ)に記憶されているデータを復元させ(S83)、復元したデータをスペアドライブに記憶させる(S84)。DKA120は、障害ドライブに記憶されている全データを復元させるまでS83,S84のステップを繰り返す(S85)。
障害ドライブからスペアドライブへのデータ移動が完了すると(S85:YES)、DKA120は、データの復元が完了した旨をSVP160に通知する(S86)。
SVP160は、DKA120からの通知を受信すると、例えば、管理端末30に所定の交換メッセージを表示させる。交換メッセージには、交換すべきディスクドライブ210のドライブ番号と、データが復元されたスペアドライブの番号とが含まれる。ユーザや保守員は、この交換メッセージを確認すると、障害ドライブを記憶部200から引き抜き、スペアドライブを障害ドライブの装着されていた位置に取り付ける。
データ復元方法は、RAIDレベルによって相違する。例えば、ミラーリングの場合、正常なディスクドライブ210に記憶されているデータをスペアドライブにコピーする。RAID5のようにパリティを算出している場合、パリティ及び他のデータに基づいて論理演算を行うことにより、障害ドライブに記憶されているデータを復元させる。
次に、図14は、本実施例によるRAIDグループ構成方法の一例を模式的に示す説明図である。説明の便宜上、図14では、各FSW230内にそれぞれ一つずつのスイッチ回路240を示している。
図14に示すように、それぞれ異なるFSW230に接続されたディスクドライブ210によってRAIDグループRG1〜RG4を構成することができる。これにより、いずれか一つのFSW230が故障した場合でも、その故障したFSW230に接続されているディスクドライブ210のデータを、他のFSW230に接続されている同一RAIDグループのディスクドライブ210に基づいて、復元することができる。
なお、FSW230に接続されている複数のディスクドライブ210によってRAIDグループを構成してもよい。
本実施例は上述のように構成されるので、以下の効果を奏する。本実施例では、スイッチ回路240によって、ディスクドライブ210とDKA120とを一対一でスイッチ接続させると共に、各ディスクドライブ210に生じたエラーをそれぞれ個別に監視する構成とした。従って、いずれかのディスクドライブ210に障害が発生した場合でも、この障害ドライブを直ちに特定することができ、使い勝手が向上する。
本実施例では、エラーカウンタ241によるエラーのカウントと、マイクロコントローラ232によるカウント値の記憶と、DKA120による障害情報T3の取得とは、それぞれ非同期で実行される構成とした。つまり、エラーカウンタ241またはマイクロコントローラ232がエラーの発生を検出した場合でも、DKA120がアクセス障害を認識しない限り、障害情報T3はマイクロコントローラ232からDKA120に転送されない。従って、DKA120が実際にアクセス障害を認識するまでの間、記憶制御装置10の正常動作を継続させることができる。これにより、軽微なエラーで障害回復制御処理が実行されるのを防止し、使い勝手や耐障害性が向上する。
本実施例では、障害ドライブを特定した後、自動的に障害回復制御処理を実行する構成とした。従って、保守員が記憶制御装置10の設置場所に駆けつけるよりも前に、障害ドライブに記憶されていたデータを復元しておくことができる。これにより、障害回復までの時間を短縮することができ、信頼性を向上させることができる。
図15に基づいて第2実施例を説明する。本実施例では、マイクロコントローラ232が障害情報T3を更新した時点で、障害発生の有無をDKA120に通知する。本実施例を含む以下の各実施例は、第1実施例の変形例に該当し、共通の構成を備えている。そこで、第1実施例との相違部分を中心に説明する。
マイクロコントローラ232は、スイッチ制御回路242の診断レジスタ243に記憶された各ポートのカウント値を受信すると(S33)、障害情報T3を更新記憶させ(S34)、さらに、障害情報T3をDKA120に送信する(S35)。つまり、本実施例では、DKA120がアクセス障害を認識するよりも前に、マイクロコントローラ232からDKA120に障害情報T3を送信する。
このように構成される本実施例では、DKA120がアクセス障害に遭遇する前に、ディスクドライブ210に障害が生じたか否かを検出することができ、障害回復制御を早期に開始させることができる。
図16に基づいて第3実施例を説明する。本実施例では、各ポートにおけるエラー発生回数(カウント値)が、予め設定された所定値Thに達している場合に、障害情報T3をマイクロコントローラ232からDKA120に送信させる。
即ち、マイクロコントローラ232は、診断レジスタ243の記憶内容を受信すると(S33)、カウント値が所定値Thに達しているポートが存在するか否かを判定する(S36)。マイクロコントローラ232は、カウント値が所定値Th以上になっているポートを発見した場合(S36:YES)、障害情報T3をDKA120に送信する(S35)。
このように構成される本実施例では、軽微なエラーが偶発的に発生した場合に、障害情報T3がマイクロコントローラ232からDKA120に送信されるのを抑制でき、DKA120が無駄に障害回復制御を行う事態を抑制できる。
図17〜図19に基づいて第4実施例を説明する。本実施例では、DKA120に接続されていないディスクドライブ210にテスト用パターンを供給することにより、そのディスクドライブ210の動作状態を調査する。
図17の模式図に示すように、各エラーカウンタ241には、テスト用パターンを発生させるための信号発生回路241Bがそれぞれ設けられている。図18のエラーカウンタ241の模式図に示すように、信号発生回路241Bは、ディスクドライブ210に所定のテスト用パターン(ビット列)を供給する。エラーカウンタ241は、テスト用パターンに対するディスクドライブ210の応答信号を検出し、エラーパターンに該当するか否かを判定する。
図19のフローチャートを参照する。エラーカウンタ241は、DKA120に接続されていないディスクドライブ210にテスト用パターンを入力する(S10)。そして、エラーカウンタ241は、テスト用パターンに対するディスクドライブ210の応答を検出し(S11)、エラーパターンに該当するか否かを検査する(S12,S13)。
このように、本実施例では、DKA120にスイッチ接続されていないディスクドライブ210にテスト用パターンを供給してエラーの有無を検査する。従って、DKA120によって使用されていないディスクドライブ210についても、そのエラーの有無を検出することができ、障害検知の精度を高めることができる。
図20に基づいて第5実施例を説明する。本実施例では、マイクロコントローラ232は、DKA120から要求があった場合のみ、診断レジスタ243の記憶内容を取得して障害情報T3を生成するようになっている。
DKA120は、アクセス障害の発生を認識すると(S61)、マイクロコントローラ232に障害情報の送信を要求する(S62)。マイクロコントローラ232は、この要求を受信すると(S71)、スイッチ制御回路242に、診断レジスタ243の記憶内容を転送するように要求する(S73)。
スイッチ制御回路242は、マイクロコントローラ232からの要求を受信すると(S21)、各エラーカウンタ241のカウント値をそれぞれ読み出して(S22)、診断レジスタ243に記憶させる(S23)。そして、スイッチ制御回路242は、診断レジスタ243の記憶内容をマイクロコントローラ232に送信する(S24)。マイクロコントローラ232は、診断レジスタ243の記憶内容を受信すると(S74)、障害情報T3を生成してDKA120に送信する(S72)。
このように構成される本実施例では、DKA120によるアクセス障害の認識と同期して、マイクロコントローラ232は障害情報T3を生成する。従って、所定周期毎に障害情報T3を更新させる場合に比較して、マイクロコントローラ232の負荷を低減させることができる。
図21のフローチャートに基づいて第6実施例を説明する。本実施例では、エラーカウンタ241が予め設定されている重大なエラーを検出した場合、エラーカウンタ241からDKA120に向けて、エラーの発生を直ちに通知する。
エラーカウンタ241は、ディスクドライブ210からの応答を検出すると(S91)、エラーパターンテーブルT4を参照して(S92)、その応答にエラーパターンが含まれているか否かを判定する(S93)。
エラーパターンが検出された場合(S93:YES)、エラーカウンタ241は、カウント値をインクリメントさせる(S94)。さらに、エラーカウンタ241は、検出されたエラーが予め設定されている所定の重大エラーであるか否かを判定する(S95)。重大エラーである場合(S95:YES)、エラーカウンタ241は、マイクロコントローラ232等を介して、重大エラーが検出された旨をDKA120に通知する(S96)。
重大エラーではない場合(S95:NO)、スイッチ制御回路242から転送要求されたか否かを判定し(S97)、転送要求された場合(S97:YES)、カウント値を診断レジスタ243に転送して記憶させる(S98)。
DKA120は、エラーカウンタ241からのエラー通知に基づいて、障害の発生を認識し(S101)、障害回復処理を実行する(S102)。また、DKA120は、障害が検出された旨及び障害回復処理が開始された旨をSVP160に通知する(S103)。
なお、重大エラーであるか否かを先に判定し(S95)、重大エラーの場合は、予め設定された数だけカウント値を増大させる構成でもよい。そして、カウント値が所定の閾値以上になった場合に、DKA120にエラーの発生を通知してもよい。また、重大エラーであるか否かの判定をマイクロコントローラ232内で行う構成としてもよい。
このように構成される本実施例では、重大なエラーがエラーカウンタ241によって検出された場合、直ちにDKA120に通知するため、アクセス障害がDKA120によって検出されるよりも前に障害回復処理を行うことができる。
図22に基づいて第7実施例を説明する。本実施例では、スイッチ回路240をスター型のトポロジで接続している。図22の模式図に示すように、本実施例では、第1のスイッチ回路240aを中心とし、このスイッチ回路240aに他のスイッチ回路240b,240cをそれぞれ接続している。
図23に基づいて第8実施例を説明する。本実施例では、スイッチ回路240をループ型のトポロジで接続している。図23の模式図に示すように、本実施例では、第1のスイッチ回路240aに第2のスイッチ回路240bを接続し、第2のスイッチ回路240bに第3のスイッチ回路240cを接続し、さらに、第3のスイッチ回路240cと第1のスイッチ回路240aを接続している。
このようにスイッチ回路240をループ状に接続することにより、特に、スイッチ回路240を4個以上接続した場合、いずれか一つのスイッチ回路240が故障しても、他のスイッチ回路240は使用することができ、より一層使い勝手が向上する。
なお、本発明は、上述した各実施例に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。
本発明の実施形態の概要を示す説明図である。 記憶制御装置の外観構成を示す斜視図である。 記憶制御装置のブロック図である。 接続制御回路(FSW)の構成を示す説明図である。 スイッチ回路の構成を示す説明図である。 スイッチ回路内でルーティングを行う様子を示す説明図である。 接続制御回路とDKAの関係を示す説明図である。 診断レジスタの記憶内容と障害情報の関係を示す説明図である。 エラーカウンタによるエラー検出方法を示す説明図である。 エラー検出方法の全体動作を示すフローチャートである。 アクセス制御処理を示すフローチャートである。 障害回復制御処理を示すフローチャートである。 障害回復処理を示すフローチャートである。 異なるFSWを用いてRAIDグループを構成する様子を示す説明図である。 第2実施例に係るエラー検出方法の全体動作を示すフローチャートである。 第3実施例に係るエラー検出方法の全体動作を示すフローチャートである。 第4実施例に係るスイッチ回路の構成を示す説明図である。 エラーカウンタによるエラー検出方法を示す説明図である。 エラー検出方法の全体動作を示すフローチャートである。 第5実施例に係るエラー検出方法を示すフローチャートである。 第6実施例に係るエラー検出方法を示すフローチャートである。 第7実施例に係るスイッチ回路の接続形態を示す説明図である。 第8実施例に係るスイッチ回路の接続形態を示す説明図である。
符号の説明
1…記憶制御装置、2…コントローラ、2A…上位通信制御部、2B…メモリ部、2C…下位通信制御部、2C1…障害回復制御部、3…記憶部、4…スイッチ回路、4A…共通ポート、4B…デバイス接続ポート、5…ディスクドライブ、6…接続用基板、7…エラー監視部、7A…エラー情報収集部、7B…中継記憶部、7C…エラー情報通知部、8…ドライブ接続制御部、9…管理端末、10…記憶制御装置、11…基本筐体、12…増設筐体、13…制御パッケージ、14…電源ユニット、15…バッテリユニット、16…冷却ファン、20…ホスト、30…管理端末、100…コントローラ、110…チャネルアダプタ(CHA)、111…ポート、120…ディスクアダプタ(DKA)、121…アクセス制御部、122…障害回復制御部、130…キャッシュメモリ、140…共有メモリ、150…スイッチ部、160…サービスプロセッサ(SVP)、200…記憶部、210…ディスクドライブ、220…接続用基板、230…接続制御部、231…FSW制御回路、232…マイクロコントローラ、240,240a,240b,240c…スイッチ回路、241…エラーカウンタ、241A…カウント値メモリ、241B…信号発生回路、242…スイッチ制御回路、243…診断レジスタ、C1〜C6…チャネル、C7…制御線、CN1,CN2,CN3,CN11,CN12,CN13,CN14…通信ネットワーク、P1〜P6…ポート、RG1〜RG4…グループ、T1,T1a,T1b,T1c…ポート管理テーブル、T2,T2a,T2b,T2c…診断レジスタの記憶内容、T3…障害情報、T4…エラーパターンテーブル

Claims (18)

  1. ホスト装置とのデータの通信を制御する上位通信制御部と、
    複数の記憶デバイスとのデータの通信を制御する下位通信制御部と、
    複数の通信ポートを介してそれぞれ異なる複数の記憶デバイスと接続し、さらに前記下位通信制御部とも通信ポートを介して接続される複数のスイッチ回路と、前記各記憶デバイスと前記下位通信制御部との間のデータ転送を制御する制御回路と、を有する接続制御部と、
    を備え、
    前記接続制御部は、前記各通信ポートを流れるデータを前記各スイッチ回路内で監視し、前記各記憶デバイス毎のエラーを前記各スイッチ回路内でそれぞれ検出し、前記各記憶デバイス毎のエラーカウント値を含むエラー情報を前記制御回路内で記憶するエラー監視部を備え
    前記エラー監視部は、
    前記下位通信制御部からの要求を受領した場合、前記エラー情報を前記制御回路から前記下位通信制御部に送信し、
    前記エラーカウント値が所定の閾値を超えた場合、前記エラー情報を前記制御回路から前記下位通信制御部に送信し、
    前記下位通信制御部は、前記エラーカウント値に基づいて、障害の発生した記憶デバイスを特定する
    ことを特徴とする記憶制御装置。
  2. 前記下位通信制御部は、前記各記憶デバイスとの通信結果に基づいてエラーが発生したか否かを検出し、エラーを検出した場合は、前記エラー監視部に前記エラー情報の送信を要求する請求項1に記載の記憶制御装置。
  3. 前記下位通信制御部は、前記障害の発生した記憶デバイスを特定し、この障害の発生した記憶デバイスに記憶されているデータを回復させるための障害回復処理を実行する請求項1に記載の記憶制御装置。
  4. 記エラー監視部は、
    前記各スイッチ回路内にそれぞれ設けられ、該各スイッチ回路が有する前記各通信ポートに生じたエラーをそれぞれ検出し、エラー情報として記憶するエラー情報収集部と、
    前記制御回路内に設けられ、前記各エラー収集部に記憶された前記エラー情報を所定のタイミングでそれぞれ読み出して保存する中継記憶部と、
    前記制御回路内に設けられ、前記下位通信制御部からの要求に応じて、前記中継記憶部に記憶された前記エラー情報を前記下位通信制御部に送信するエラー情報送信部と、を備えて構成される請求項1に記載の記憶制御装置。
  5. 前記エラー監視部は、前記通信ポートを流れるデータのビットパターンが予め設定された所定のエラーパターンに一致する場合に、前記エラーカウント値を増加させるようになっている請求項に記載の記憶制御装置。
  6. 前記中継記憶部は、予め設定された所定の周期で、前記エラー収集部に前記エラー情報の取得を要求し、
    前記エラー情報収集部は、前記中継記憶部からの前記要求に応じて、前記各エラーカウンタのエラーカウント値を前記レジスタに転送させ、前記レジスタに記憶された前記各エラーカウント値を前記中継記憶部に転送させるようになっている請求項に記載の記憶制御装置。
  7. 前記接続制御部は、前記下位通信制御部に直接的または間接的に接続される前記通信ポートを、前記各記憶デバイスにそれぞれ接続される他の通信ポートのいずれか一つに接続させる請求項1に記載の記憶制御装置。
  8. 前記各スイッチ回路は、前記各記憶デバイスと前記各通信ポートとの対応関係を示すポート管理テーブルをそれぞれ備えており、このポート管理テーブルを用いて、前記下位通信制御部と前記各通信ポートのうち所定の通信ポートとをスイッチ接続させるようになっている請求項に記載の記憶制御装置。
  9. 前記各スイッチ回路は、直列に接続されている請求項に記載の記憶制御装置。
  10. 前記各スイッチ回路は、所定のスイッチ回路を中心として、この所定のスイッチ回路に他の全てのスイッチ回路がそれぞれ接続されている請求項に記載の記憶制御装置。
  11. 前記各スイッチ回路は、リング状に接続されている請求項に記載の記憶制御装置。
  12. 前記エラー監視部は、予め設定された所定のエラーを検出した場合は、前記所定のエラーを検出した旨を前記下位通信制御部に直ちに通知する請求項に記載の記憶制御装置。
  13. 前記エラー監視部は、予め設定された所定のテスト用パターンを発生させる信号発生器を備えており、前記各記憶デバイスのうち前記下位通信制御部に接続されていない記憶デバイスに前記テスト用パターンを供給し、このテスト用パターンに対する記憶デバイスからの応答信号に基づいて、前記エラーを検出するようになっている請求項に記載の記憶制御装置。
  14. ホスト装置とのデータの通信を制御する上位通信制御部と、
    複数の記憶デバイスとのデータの通信を制御する下位通信制御部と、
    複数の通信ポートを介してそれぞれ異なる複数の記憶デバイスと接続し、さらに前記下位通信制御部とも通信ポートを介して接続される複数のスイッチ回路と、前記各記憶デバイスと前記下位通信制御部との間のデータ転送を制御する制御回路と、を有する接続制御部とを備えた記憶制御装置のエラー情報管理方法であって、
    前記接続制御部は、
    前記各記憶デバイスにそれぞれ接続される各通信ポートに、予め設定された所定のエラーパターンに一致するビットパターンが出現したか否かを前記スイッチ回路で判定するステップと、
    前記エラーパターンに一致するビットパターンが出現した場合は、その通信ポートのエラーカウンタのエラーカウント値を増加させるステップと、
    予め設定された所定時間が経過したか否かを判定するステップと、
    前記所定時間が経過した場合は、前記各エラーカウンタのエラーカウント値をそれぞれ取得して記憶させるステップと、
    前記下位通信制御部から前記各記憶デバイスのいずれかに対するアクセスエラーが検出されたか否かを判定するステップと、
    前記アクセスエラーが検出された場合は、前記記憶された各エラーカウント値をそれぞれ取得し、前記取得された各エラーカウント値に基づいて、障害の発生した記憶デバイスを特定するステップと、
    前記エラーカウント値が、閾値を超えた場合、前記エラー情報を前記下位通信制御部に送信し、前記取得された各エラーカウント値に基づいて、障害の発生した記憶デバイスを特定するステップと、
    を含んだ記憶制御装置のエラー情報管理方法。
  15. さらに、前記特定された記憶デバイスに関する情報を外部の管理端末に送信させるステップを備えた請求項1に記載の記憶制御装置のエラー情報管理方法。
  16. さらに、前記特定された記憶デバイスに記憶されているデータを回復させるステップを備えた請求項1に記載の記憶制御装置のエラー情報管理方法。
  17. 前記データを回復させるステップは、
    前記記憶デバイスのうち未使用の記憶デバイスをいずれか一つ選択するステップと、
    前記特定された記憶デバイスとRAIDグループを構成する他の記憶デバイスに記憶されているデータに基づいて、前記特定された記憶デバイスに記憶されているデータを復元させるステップと、
    前記復元されたデータを前記選択された未使用の記憶デバイスに記憶させるステップと、を含んで構成される請求項1に記載の記憶制御装置のエラー情報管理方法。
  18. ホスト装置とのデータの通信を制御する上位通信制御部と、
    複数の記憶デバイスとのデータの通信を制御する下位通信制御部と、
    前記各記憶デバイスと前記下位通信制御部とをそれぞれ一対一でスイッチ接続させ、かつ、前記各記憶デバイス毎のエラー情報をそれぞれ監視するエラー監視回路を有する接続制御部とを備え、
    前記接続制御部は、複数の通信ポートを介してそれぞれ異なる複数の記憶デバイスに接続され、かつ、前記下位通信制御部とも通信ポートを介して接続される複数のスイッチ回路と、これら各スイッチ回路にそれぞれ接続され、前記各記憶デバイスと前記下位通信制御部との間のデータ転送を制御する制御回路とを備えて構成され、
    前記エラー監視回路は、
    前記各スイッチ回路内にそれぞれ設けられ、該各スイッチ回路が有する前記各通信ポートを流れるデータを監視して、前記各記憶デバイスに生じるエラーをそれぞれ検出し、エラー情報として記憶するエラー情報収集回路と、
    前記制御回路内に設けられ、前記各エラー収集回路に記憶された前記エラー情報を所定のタイミングでそれぞれ読み出して保存する中継記憶回路と、
    前記制御回路内に設けられ、前記下位通信制御部からの要求に応じて、前記中継記憶回路に記憶された前記エラー情報を前記下位通信制御部に送信するエラー情報送信回路と、を備えて構成されており、かつ、
    前記エラー情報収集回路は、
    前記通信ポートにそれぞれ設けられ、前記エラーの回数をカウントして記憶するエラーカウンタと、これら各エラーカウンタに記憶されたエラーカウント値を前記エラー情報としてそれぞれ記憶するレジスタとを備えており、
    前記各エラーカウンタは、前記通信ポートを流れるデータのビットパターンが予め設定された所定のエラーパターンに一致する場合に、前記エラーカウント値を増加させるようになっており、
    前記エラー監視回路は、
    前記下位通信制御部からの要求を受領した場合、前記エラー情報を前記中継記憶回路から前記下位通信制御部に送信し、
    前記エラーカウント値が所定の閾値を超えた場合、前記エラー情報を前記中継記憶回路から前記下位通信制御部に送信し、
    前記下位通信制御部は、前記エラーカウント値に基づいて、障害の発生した記憶デバイスを特定す
    記憶制御装置。
JP2005337836A 2005-11-22 2005-11-22 記憶制御装置及び記憶制御装置のエラー情報管理方法 Expired - Fee Related JP4786312B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005337836A JP4786312B2 (ja) 2005-11-22 2005-11-22 記憶制御装置及び記憶制御装置のエラー情報管理方法
US11/334,629 US7571356B2 (en) 2005-11-22 2006-01-19 Storage control device, and error information management method for storage control device
EP06253540A EP1788482B1 (en) 2005-11-22 2006-07-06 Storage control device, and error information management method for storage control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005337836A JP4786312B2 (ja) 2005-11-22 2005-11-22 記憶制御装置及び記憶制御装置のエラー情報管理方法

Publications (2)

Publication Number Publication Date
JP2007141185A JP2007141185A (ja) 2007-06-07
JP4786312B2 true JP4786312B2 (ja) 2011-10-05

Family

ID=37983859

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005337836A Expired - Fee Related JP4786312B2 (ja) 2005-11-22 2005-11-22 記憶制御装置及び記憶制御装置のエラー情報管理方法

Country Status (3)

Country Link
US (1) US7571356B2 (ja)
EP (1) EP1788482B1 (ja)
JP (1) JP4786312B2 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007188428A (ja) * 2006-01-16 2007-07-26 Fuji Xerox Co Ltd 半導体ストレージ装置およびストレージシステム
US7805630B2 (en) * 2006-07-27 2010-09-28 Microsoft Corporation Detection and mitigation of disk failures
US20080028180A1 (en) * 2006-07-31 2008-01-31 Newman Alex P Inappropriate access detector based on system segmentation faults
US20080075057A1 (en) * 2006-09-25 2008-03-27 Mediatek Inc. Frequency correction burst detection
US7779306B1 (en) * 2007-03-23 2010-08-17 Emc Corporation Method for automatically diagnosing hardware faults in a data storage system
US20090077299A1 (en) * 2007-09-14 2009-03-19 Layerwalker Technology, Inc. Method and System for Accessing Data
JP4952605B2 (ja) * 2008-02-07 2012-06-13 日本電気株式会社 ディスクアレイ装置、データ切り戻し方法およびデータ切り戻しプログラム
JP5127491B2 (ja) 2008-02-08 2013-01-23 株式会社日立製作所 ストレージサブシステム及びこれの制御方法
US8108570B2 (en) * 2008-02-14 2012-01-31 International Business Machines Corporation Determining the state of an I/O operation
US7848106B2 (en) * 2008-04-17 2010-12-07 Teradyne, Inc. Temperature control within disk drive testing systems
US7934130B2 (en) * 2008-08-29 2011-04-26 Cadence Design Systems, Inc. System and method for managing non-volatile memory based on health
US8407527B1 (en) * 2009-06-30 2013-03-26 Emc Corporation Diagnosing hardware faults in a data storage system
JP5640543B2 (ja) 2010-08-10 2014-12-17 富士通株式会社 ストレージシステム及びその制御方法
JP5849491B2 (ja) * 2011-07-22 2016-01-27 富士通株式会社 ディスク制御装置、ディスク装置異常検出方法、及びプログラム
JP2013093012A (ja) * 2011-10-07 2013-05-16 Panasonic Corp メモリコントローラ、記憶装置
KR101977733B1 (ko) * 2012-07-12 2019-05-13 삼성전자주식회사 오류 기반 공격의 검출 방법
JP2016186719A (ja) * 2015-03-27 2016-10-27 富士通株式会社 入出力制御装置、情報処理装置及び入出力制御装置の制御方法
JP6481490B2 (ja) 2015-04-30 2019-03-13 富士通株式会社 ストレージシステム、制御装置および制御プログラム
JP2016212512A (ja) 2015-04-30 2016-12-15 富士通株式会社 ストレージシステム、制御装置および制御プログラム
JP6288141B2 (ja) * 2016-03-30 2018-03-07 日本電気株式会社 情報処理装置、情報処理方法、プログラム
US10289466B2 (en) 2017-02-01 2019-05-14 International Business Machines Corporation Error data collection improvements in storage network components
JP2021092877A (ja) * 2019-12-09 2021-06-17 Necプラットフォームズ株式会社 サーバシステム、検出方法及びプログラム
US11809859B2 (en) * 2021-03-25 2023-11-07 Kyndryl, Inc. Coordinated source code commits utilizing risk and error tolerance

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63251987A (ja) * 1987-04-07 1988-10-19 Yamashita Denshi Sekkei:Kk 伝送系検査方式
US5140592A (en) * 1990-03-02 1992-08-18 Sf2 Corporation Disk array system
WO1992005495A1 (en) * 1990-09-20 1992-04-02 Fujitsu Limited Input/output controller
JPH04215142A (ja) * 1990-12-14 1992-08-05 Fujitsu Ltd 二重化ディスク制御方式
JPH05143242A (ja) * 1991-11-25 1993-06-11 Hitachi Ltd 磁気デイスクシステム
US5867640A (en) * 1993-06-01 1999-02-02 Mti Technology Corp. Apparatus and method for improving write-throughput in a redundant array of mass storage devices
JP3078972B2 (ja) * 1993-11-05 2000-08-21 富士通株式会社 ディスクアレイ装置
JPH08286839A (ja) * 1995-02-13 1996-11-01 Tsubasa Syst Kk コンピュータシステム及び中継器
JP3967739B2 (ja) * 1995-09-12 2007-08-29 株式会社東芝 実時間ストリームサーバ
JPH11149351A (ja) * 1997-11-14 1999-06-02 Hitachi Ltd 情報転送制御システム及びディスクアレイ装置
JP3638773B2 (ja) * 1998-01-09 2005-04-13 株式会社日立製作所 ディスクアレイ装置
US6859888B2 (en) * 2000-09-19 2005-02-22 Matsushita Electric Industrial Co., Ltd. Data storage array apparatus storing error information without delay in data access, and method, program recording medium, and program for the same
US7058844B2 (en) * 2001-06-15 2006-06-06 Sun Microsystems, Inc. System and method for rapid fault isolation in a storage area network
JP2003084919A (ja) * 2001-09-06 2003-03-20 Hitachi Ltd ディスクアレイ装置の制御方法およびディスクアレイ装置
JP2003303055A (ja) 2002-04-09 2003-10-24 Hitachi Ltd ディスクアダプタとディスクアレイをスイッチを介して接続したディスク装置
US6971042B2 (en) * 2002-04-18 2005-11-29 Huge Systems, Inc. Media server with single chip storage controller
JP4206707B2 (ja) * 2002-08-27 2009-01-14 株式会社日立製作所 通信品質設定装置、方法及びプログラム
JP2004227449A (ja) * 2003-01-27 2004-08-12 Hitachi Ltd ディスクアレイ装置における障害の診断装置
JP4285058B2 (ja) 2003-04-21 2009-06-24 株式会社日立製作所 ネットワーク管理プログラム、管理計算機及び管理方法
JP2005071196A (ja) * 2003-08-27 2005-03-17 Hitachi Ltd ディスクアレイ装置、及びその障害情報の制御方法
JP4391192B2 (ja) * 2003-10-09 2009-12-24 株式会社日立製作所 ディスクアレイ装置
US20050108444A1 (en) 2003-11-19 2005-05-19 Flauaus Gary R. Method of detecting and monitoring fabric congestion
US20050228943A1 (en) * 2004-04-02 2005-10-13 Decenzo David P Multipath redundant storage system architecture and method
JP2005337836A (ja) 2004-05-26 2005-12-08 Matsushita Electric Ind Co Ltd 位置情報提供装置及び位置情報利用端末装置
JP2006127217A (ja) * 2004-10-29 2006-05-18 Hitachi Ltd 計算機システムおよび計算機システムの制御方法

Also Published As

Publication number Publication date
EP1788482A2 (en) 2007-05-23
US20070174719A1 (en) 2007-07-26
EP1788482A3 (en) 2009-09-30
JP2007141185A (ja) 2007-06-07
US7571356B2 (en) 2009-08-04
EP1788482B1 (en) 2012-02-08

Similar Documents

Publication Publication Date Title
JP4786312B2 (ja) 記憶制御装置及び記憶制御装置のエラー情報管理方法
JP4723290B2 (ja) ディスクアレイ装置及びその制御方法
JP5087249B2 (ja) ストレージシステムおよびストレージシステムの制御方法
JP3078972B2 (ja) ディスクアレイ装置
JP5511960B2 (ja) 情報処理装置、及びデータの転送方法
EP1895414B1 (en) Storage control apparatus and failure recovery method for storage control apparatus
US7441130B2 (en) Storage controller and storage system
JP4749308B2 (ja) 電源装置及び電源装置の電源供給方法
JP2005339216A (ja) 記憶制御システム
US7568119B2 (en) Storage control device and storage control device path switching method
JP2007328408A (ja) ストレージシステム及び記憶制御装置
JP2007086972A (ja) ストレージシステム、二重化制御方法、及びプログラム
JP2006107080A (ja) ストレージ装置システム
US7730474B2 (en) Storage system and automatic renewal method of firmware
US8099634B2 (en) Autonomic component service state management for a multiple function component
US8095820B2 (en) Storage system and control methods for the same
JP2005267111A (ja) 記憶制御システム及び記憶制御システムの制御方法
JP2007305150A (ja) 高速欠陥許容大量記憶ネットワーク情報サーバ
WO2004031967A1 (en) Systems and methods of multiple access paths to single ported storage devices
US7421596B2 (en) Disk array system
US20100050012A1 (en) Computer system, storage system and configuration management method
JP4454299B2 (ja) ディスクアレイ装置及びディスクアレイ装置の保守方法
JP2008176526A (ja) 記憶制御装置及び記憶制御装置の制御方法
JP2005134940A (ja) 記憶制御装置及び記憶制御装置の保守システム
EP1628218B1 (en) Storage system with storages varying in interfaces and reliability

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080929

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110323

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110520

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110712

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110713

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140722

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees