JP2009187483A - ストレージサブシステム及びこれの制御方法 - Google Patents

ストレージサブシステム及びこれの制御方法 Download PDF

Info

Publication number
JP2009187483A
JP2009187483A JP2008029561A JP2008029561A JP2009187483A JP 2009187483 A JP2009187483 A JP 2009187483A JP 2008029561 A JP2008029561 A JP 2008029561A JP 2008029561 A JP2008029561 A JP 2008029561A JP 2009187483 A JP2009187483 A JP 2009187483A
Authority
JP
Japan
Prior art keywords
switch devices
switch
ports
storage subsystem
disk controller
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.)
Granted
Application number
JP2008029561A
Other languages
English (en)
Other versions
JP5127491B2 (ja
Inventor
Tetsuya Inoue
哲也 井上
Hiroshi Suzuki
弘志 鈴木
Tsutomu Koga
努 小賀
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 JP2008029561A priority Critical patent/JP5127491B2/ja
Priority to US12/100,569 priority patent/US7774641B2/en
Priority to EP08253957.8A priority patent/EP2088508B1/en
Priority to CN2009100059659A priority patent/CN101504592B/zh
Publication of JP2009187483A publication Critical patent/JP2009187483A/ja
Application granted granted Critical
Publication of JP5127491B2 publication Critical patent/JP5127491B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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

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)
  • Safety Devices In Control Systems (AREA)

Abstract

【課題】本発明の課題は、信頼性及び可用性を向上させつつ、システムパフォーマンスの劣化を最小限に抑制するストレージサブシステムを提供することである。
【解決手段】本発明は、複数の第1のスイッチデバイスを介して接続された複数のドライブユニットを制御する第1のコントローラ及び当該複数の第1のスイッチデバイスに対応付けられた複数の第2のスイッチデバイスを介して接続された当該複数のドライブユニットを制御する第2のコントローラを含むストレージサブシステムであって、当該複数の第1のスイッチデバイスと当該対応する複数の第2のスイッチデバイスとを相互に接続したコネクションパスを有するストレージサブシステムである。当該ストレージシステムは、障害の発生を検出すると、コネクションパス中の障害部位を特定し、当該障害部位を迂回するように、スイッチデバイスの接続構成を変更する。
【選択図】図1

Description

ストレージサブシステム及びこれの制御方法に関し、特に、冗長化パス構成を採用し、複数のスイッチデバイスにより形成されたコネクションパスを有するストレージサブシステム及び当該コネクションパスの制御方法に関する。
ストレージサブシステムは、ホストコンピュータに対してデータストレージサービスを提供する装置である。ストレージサブシステムは、典型的には、データを記憶するためのハードディスクドライブ群とこれを制御するディスクコントローラとで構成される。ディスクコントローラは、ストレージサブシステム全体を制御するためのプロセッサと、ホストコンピュータに接続するためのフロントエンドインターフェースと、ハードディスクドライブ群を接続するためのバックエンドインタフェースとを備える。典型的には、ユーザデータをキャッシュするためのキャッシュメモリが両者のインターフェースの間に配置される。また、ハードディスクドライブ群は、多段に配置されたスイッチ回路を介して、アレイ状に配設される。
ストレージサブシステムは、一般に、ミッションクリティカルな業務に用いられることから、高信頼性、高可用性が要求される。このため、耐障害性の観点から、ストレージサブシステム内のコンポーネントは、典型的には、冗長的に構成される。例えば、バックエンドインターフェースにおいて、ハードディスクドライブにアクセスするためのパスは二重化され、いずれかのパスに障害が発生しても、他方のパスを用いて、システムを継続的に運用できるようになっている。また、ストレージサブシステム内で障害が発生した場合には、当該障害が発生したコンポーネントは直ちに特定され、障害の復旧が行われる。
下記特許文献1は、ディスクドライブを接続したスイッチ回路の複数のポートを監視し、いずれかのポートでエラーを検出した場合には、コントローラに設けられた障害回復制御部により障害部位を特定し、障害回復処理を行う記憶制御装置を開示している。
特開2007-141185号公報
ストレージサブシステムは、一般に、ミッションクリティカルな業務に用いられることから、高信頼性、高可用性が要求される。ストレージサブシステムを構成するコンポーネントの障害は、確率的に起こりうることであり、これを避けることはできず、従って、システム設計の観点から耐障害性を十分に考慮する必要がある。
例えば、上述したように、ストレージサブシステムは、二重化されたパスの一方に障害が発生した場合であっても、残された他方のパスを介してハードディスクドライブにアクセスすることでシステムの運用を継続し、障害に耐えうるようになっている。
しかしながら、このような従来のストレージサブシステムでは、二重化されたパスはそれぞれ全体に亘って独立に構成されていたため、一旦、障害が発生すると、当該障害が発生したパス自体を使用することができず、障害の影響が広範囲に及んでしまうという課題があった。
また、当該障害が回復するまでの間は、他方のパスのみによる運用となるため、もはやさらなる障害に対しては対応することができない。従って、万が一、残りのパスに障害が発生した場合には、システムダウンを引き起こしてしまうという課題があった。
さらに、他方のパスのみによる運用では、当該他方のパスにアクセス負荷が集中するため、スループット性能が低下するという課題があった。
そこで、本発明は、上記課題に鑑み、信頼性及び可用性を向上させつつ、システムパフォーマンスの劣化を最小限に抑制することができるストレージサブシステム及びこれの制御方法を提供することを目的とする。
より具体的には、本発明の一つの目的は、ストレージサブシステム内に障害が発生した場合であっても、障害の影響を最小限に抑えることができるストレージサブシステム及びこれの制御方法を提供することである。
また、本発明の他の目的は、ストレージサブシステム内に障害が発生した場合であっても、障害が回復するまでの間、障害が発生していないコンポーネントにより可能な限り冗長構成を維持することで負荷分散を行って、スループット性能の低下を防止することができるストレージサブシステム及びこれの制御方法を提供することである。
本発明のさらなる他の目的は、後述される実施形態の記載から明らかになる。
本発明は、上記課題に鑑みなされたものであり、その要旨は、本発明のストレージサブシステムは、ドライブユニットに対するコネクションパス中に障害部位を検出した場合に、当該障害部位を迂回乃至は回避するように当該コネクションパスを再構築すること、である。
すなわち、ある観点に従う本発明は、複数の第1のスイッチデバイスを介して接続された複数のドライブユニットを制御する第1のコントローラ及び当該複数の第1のスイッチデバイスに対応付けられた複数の第2のスイッチデバイスを介して接続された当該複数のドライブユニットを制御する第2のコントローラを含むストレージサブシステムであって、当該複数の第1のスイッチデバイスと当該対応する複数の第2のスイッチデバイスとを相互に接続したコネクションパスを有するストレージサブシステムである。当該ストレージシステムは、障害の発生を検出すると、コネクションパス中の障害部位を特定し、当該障害部位を迂回するように、スイッチデバイスの接続構成を変更する。
これにより、ストレージサブシステムは、内部で障害が発生した場合であっても、障害の影響を最小限に抑えることができるようになる。また、このような障害が発生した場合であっても、ストレージシステムは、障害が回復するまでの間、障害が発生していないコンポーネントにより可能な限り冗長構成を維持することができるようになり、従って、負荷分散を可能にし、スループット性能の低下を防止することができるようになる。
また、別の観点に従う本発明は、データを記憶するための記憶媒体を有する複数のドライブユニットと、複数のポートを有し、当該複数のポートの少なくとも一つに当該複数のドライブユニットの少なくとも一つを接続する複数の第1のスイッチデバイスと、当該複数の第1のスイッチデバイスの少なくとも一つを接続し、当該複数のドライブユニットを制御する第1のディスクコントローラと、複数のポートを有し、当該複数のポートの少なくとも一つに当該複数のドライブユニットの少なくとも一つを接続する複数の第2のスイッチデバイスであって、それぞれが当該複数の第1のスイッチのそれぞれに対応する複数の第2のスイッチデバイスと、当該複数の第2のスイッチデバイスの少なくとも一つを接続し、当該複数のドライブユニットを制御する第2のディスクコントローラと、を備えるストレージサブシステムである。そして、当該ストレージサブシステムは、当該複数の第1のスイッチデバイスのそれぞれにおける当該複数のポートの少なくとも一つと当該対応する複数の第2のスイッチデバイスのそれぞれにおける当該複数のポートの少なくとも一つとは相互に接続された構成を有する。
さらに、別の観点に従う本発明は、データを記憶するための記憶媒体を有する複数の第1のドライブユニットと、データを記憶するための記憶媒体を有する複数の第2のドライブユニットと、複数のポートを有し、当該複数のポートの少なくとも一つに当該複数の第1のドライブユニットの少なくとも一つを接続する複数の第1のスイッチデバイスと、複数のポートを有し、当該複数のポートの少なくとも一つに当該複数の第1のドライブユニットの少なくとも一つを接続する複数の第2のスイッチデバイスであって、それぞれが当該複数の第1のスイッチのそれぞれに対応する複数の第2のスイッチデバイスと、複数のポートを有し、当該複数のポートの少なくとも一つに当該複数の第2のドライブユニットの少なくとも一つを接続する複数の第3のスイッチデバイスと、複数のポートを有し、当該複数のポートの少なくとも一つに当該複数の第2のドライブユニットの少なくとも一つを接続する複数の第4のスイッチデバイスと、当該複数の第1のスイッチデバイスの少なくとも一つを接続し、当該複数の第1のドライブユニットを制御するとともに、当該複数の第3のスイッチデバイスの少なくとも一つを接続し、当該複数の第2のドライブユニットを制御する第1のディスクコントローラと、当該複数の第2のスイッチデバイスの少なくとも一つを接続し、当該複数の第1のドライブユニットを制御するとともに、当該複数の第4のスイッチデバイスの少なくとも一つを接続し、当該複数の第2のドライブユニットを制御する第1のディスクコントローラと、を備えるストレージサブシステムである。そして、当該ストレージサブシステムは、当該複数の第1のスイッチデバイスのそれぞれにおける当該複数のポートの少なくとも一つと当該対応する複数の第2のスイッチデバイスのそれぞれにおける当該複数のポートの少なくとも一つとは接続され、当該複数の第3のスイッチデバイスのそれぞれにおける当該複数のポートの少なくとも一つと当該対応する複数の第4のスイッチデバイスのそれぞれにおける当該複数のポートの少なくとも一つとは接続された構成を有する。
さらにまた、別の観点に従う本発明は、方法の発明としても把握される。すなわち、本発明は、縦列接続された複数の第1のスイッチデバイスを介して接続された複数のドライブユニットを制御する第1のコントローラ及び縦列接続され、当該複数の第1のスイッチデバイスに対応付けられた複数の第2のスイッチデバイスを介して接続された当該複数のドライブユニットを制御する第2のコントローラを含むストレージサブシステムにおけるスイッチデバイス間コネクションパスの制御方法である。当該制御方法は、当該第1のコントローラ及び当該第2のディスクコントローラの少なくとも一方が、自身に接続された当該複数のスイッチデバイスを介して、当該複数のドライブユニットの少なくとも一つにアクセスするためのコマンドに基づくデータフレームを送信するステップと、当該少なくとも一方のディスクコントローラが、当該コマンドに応答して当該複数のスイッチデバイスを介して送信されてくるデータフレームを受信し、当該受信したデータフレームにおけるエラーをチェックするステップと、当該少なくとも一方のディスクコントローラが、当該チェックの結果、当該データフレームにおいてエラーを検出した場合に、当該複数のスイッチデバイスに対してエラー情報送信要求を送信するステップと、当該少なくとも一方のディスクコントローラが、当該エラー情報送信要求に応答して送信されてくるエラー情報を受信するステップと、当該少なくとも一方のディスクコントローラが、当該受信したエラー情報に基づいて、エラーが検出されたスイッチデバイス及び当該スイッチデバイスのポートを障害部位として特定するステップと、当該少なくとも一方のディスクコントローラが、当該特定した障害部位に基づいて、所定のコネクションパス再構築パターンに従い、当該スイッチデバイス間コネクションパスを変更するステップとを含む。
本発明によれば、ストレージサブシステムは、信頼性及び可用性を向上させつつ、システムパフォーマンスの劣化を最小限に抑制することができるようになる。
本発明の他の技術的特徴及び利点は、添付した図面を参照して説明される以下の実施形態のより明らかにされる。
次に、本発明の実施の形態について、図面を参照しつつ説明する。
[第1の実施形態]
図1は、本発明の一実施形態に係るストレージサブシステムの全体構成を説明するための図である。同図に示すストレージサブシステム1は、ネットワーク2Aを介してホストコンピュータ3に接続され、コンピュータシステムを形成している。ストレージサブシステム1はまた、管理用ネットワーク2Bを介して管理装置4に接続されている。
ネットワーク2Aは、例えば、LAN、インターネット、又はSAN(Storage Area Network)のいずれかを用いることができ、典型的には、ネットワークスイッチやハブ等を含んで構成される。本実施形態では、ネットワーク2Aは、ファイバーチャネルプロトコルを用いたSAN(FC−SAN)で構成され、管理用ネットワーク2Bは、LANで構成されているものとする。
ホストコンピュータ3は、プロセッサと、メインメモリと、通信インターフェースと、ローカル入出力装置等のハードウェア資源を備えるとともに、デバイスドライバやオペレーティングシステム(OS)、アプリケーションプログラム等のソフトウェア資源を備える(図示せず)。これによって、ホストコンピュータ3は、プロセッサの制御の下、各種のアプリケーションプログラムを実行して、ハードウェア資源との協働作用により、ストレージサブシステム1にアクセスしながら、所望の処理を実現する。
ストレージサブシステム1は、データストレージサービスをホストコンピュータ3に提供する補助記憶装置である。ストレージサブシステム1は、データを記憶する記憶媒体を含むストレージデバイス11と、これを制御するディスクコントローラ12とを備える。ストレージデバイス11とディスクコントローラ12とは、ディスクチャネルを介して接続される。ディスクコントローラ12の内部構成は二重化されており、ディスクコントローラ12は、ストレージデバイス11に対して2つのチャネル(コネクションパス)を用いてアクセスすることができる。
ストレージデバイス11は、一つ以上のドライブユニット110を含んで構成される。ドライブユニット110は、例えばハードディスクドライブ111及び当該ハードディスクドライブ111の駆動を制御する制御回路112からなる。ハードディスクドライブ111は、例えば、ドライブユニット110の筐体に嵌装され、実装される。ハードディスクドライブ111に代えて、フラッシュメモリ等のソリッドステート装置が用いられてもよい。ディスクコントローラ12における二重化パス構成に対応して、制御回路112もまた二重化されている。
ドライブユニット110は、典型的には、スイッチデバイス(エクスパンダ)13を介して、ディスクコントローラ12に接続される。複数のスイッチデバイス13を用いることで、複数のドライブユニット110をさまざまな形態で接続することができる。本実施形態では、縦列に接続された複数のスイッチデバイス13のそれぞれにドライブユニット110が接続されている。つまり、ディスクコントローラ120は、その配下に属する縦列接続された複数のスイッチデバイス13を介してドライブユニット110にアクセスする。従って、スイッチデバイス13を縦列に追加接続することにより、ドライブユニット110を容易に増設することができ、ストレージサブシステム1の記憶容量を容易に拡張することができる。ストレージサブシステム1内のドライブユニット110の接続形態は、後述するコネクションマップにより定義される。
ドライブユニット110のハードディスクドライブ111は、典型的には、所定のRAID構成(例えばRAID 5)に基づいてRAIDグループが構成され、RAID制御の下、アクセスされる。RAID制御は、例えば、ディスクコントローラ12に実装されたRAIDコントローラ(図示せず)により、行われる。RAIDグループは、複数のドライブユニット110に亘っていてもよい。同一のRAIDグループに属するハードディスクドライブ111は、1つの仮想的な論理デバイスとして、ホストコンピュータ3に認識される。
ディスクコントローラ12は、ストレージサブシステム1全体を制御するシステムコンポーネントであり、その主たる役割は、ホストコンピュータ3からのアクセス要求に基づいて、ストレージデバイス11に対するI/O処理を実行することである。ディスクコントローラ12はまた、管理装置4からの各種の要求に基づいて、ストレージサブシステム1の管理に関わる処理を実行する。
上述したように、本実施形態では、ディスクコントローラ12内のコンポーネントは、耐障害性の観点から、二重化されている。以下では、二重化された個々のディスクコントローラ12を指すときは、「ディスコントローラ120」というものとする。また、ディスクコントローラ120のそれぞれを指すときは、「第1のディスクコントローラ120」及び「第2のディスクコントローラ120」というものとする。
各ディスクコントローラ120は、チャネルアダプタ121、データコントローラ122、ディスクアダプタ123、プロセッサ124、メモリユニット125、LANインターフェース126を含む。ディスクコントローラ120どうしは、相互に通信可能なようにバス127で接続される。
チャネルアダプタ(CHA)121は、ネットワーク2Aを介してホストコンピュータ3を接続するためのインターフェースであり、ホストコンピュータ3との間の所定のプロトコルに従ったデータ通信を制御する。チャネルアダプタ121は、ホストコンピュータ3からの例えば書き込みコマンドを受信すると、データコントローラ122を介して、メモリユニット125に当該書き込みコマンド及びこれに従うデータを書き込む。チャネルアダプタ121は、ホストインターフェースやフロントエンドインターフェースと呼ばれることもある。
データコントローラ122は、ディスクコントローラ120内のコンポーネント間のインターフェースであり、コンポーネント間のデータの送受を制御する。
ディスクアダプタ(DKA)123は、ドライブユニット110を接続するためのインターフェースであり、ホストコンピュータ3からのI/Oコマンドに従って、ドライブユニット110との間の所定のプロトコルに従ったデータ通信を制御する。すなわち、ディスクアダプタ123は、メモリユニット125を周期的にチェックし、メモリユニット125上にI/Oコマンドを見つけると、当該コマンドに従ってドライブユニット110にアクセスする。
より具体的には、ディスクアダプタ123は、例えば、メモリユニット125上に書き込みコマンドを見つけると、当該書き込みコマンドが指定するメモリユニット125上のデータをストレージデバイス11(すなわち、ハードディスクドライブ111の所定の記憶領域)にデステージングするため、ストレージデバイス11に対してアクセスを行う。また、ディスクアダプタ123は、メモリユニット125上に読み出しコマンドを見つけると、当該読み出しコマンドが指定するストレージデバイス11上のデータをメモリユニット125上にステージングするため、ストレージデバイス11に対してアクセスを行う。
本実施形態のディスクアダプタ123は、上記のI/O機能に加え、障害回復機能を実装している。これらの機能は、例えば、ファームウェアとして実現される。
ディスクアダプタ123は、ディスクインターフェースやバックエンドインターフェースと呼ばれることもある。
プロセッサ124は、メモリユニット125上にロードされた各種の制御プログラムを実行して、ディスクコントローラ120(すなわちストレージサブシステム1)全体の動作を司る。プロセッサ124は、マルチコアタイプのプロセッサであってもよい。
メモリユニット125は、プロセッサ124のメインメモリとして機能するとともに、チャネルアダプタ121及びディスクアダプタ123のキャッシュメモリとして機能する。メモリユニット125は、例えば、DRAM等の揮発性メモリで構成され、あるいは、フラッシュメモリ等の不揮発性メモリで構成される。メモリユニット125は、例えば、図2に示すように、ストレージサブシステム1自体のシステム構成情報を記憶する。システム構成情報は、論理ボリューム構成情報やRAID構成情報、コネクションパスマップ、コネクションパス再構築テーブル等を含む。システム構成情報は、例えば、ストレージサブシステム1に電源が投入されると、プロセッサ124の制御の下、イニシャルプロセスに従ってハードディスクドライブ111の特定の記憶領域から読み出され、メモリユニット125にロードされる。コネクションパスマップ及びコネクションパス再構築テーブルは後述される。
LANインターフェース126は、LANを介して管理装置4を接続するためのインターフェース回路である。LANインターフェースは、例えば、TCP/IP及びイーサネット(登録商標)に従ったネットワークボードを採用することができる。
管理装置4は、システム管理者がストレージサブシステム1全体を管理するための装置であり、典型的には、管理プログラムを実装した汎用コンピュータで構成される。管理装置4は、サービスプロセッサと呼ばれることもある。同図では、管理装置4は、管理用ネットワーク2Bを介してストレージ装置1の外側に設けられているが、これに限らず、ストレージサブシステム1の内部に設けられるようにしてもかまわない。あるいは、管理装置4と同等の機能を含むように、ディスクコントローラ120が構成されてもよい。
システム管理者は、管理装置4によって提供されるユーザインターフェースを介して、ディスクコントローラに指示を与え、これによって、ストレージサブシステム1のシステム構成情報を取得して、参照したり、システム構成情報を設定・変更したりすることができる。例えば、システム管理者は、管理装置4を操作して、ハードディスクドライブの増設に併せて、論理ボリュームや仮想ボリュームを設定し、また、RAID構成を設定することができる。
図3は、本発明の一実施形態に係るストレージサブシステム1内のスイッチデバイス13の構成を説明するための図である。
同図に示すように、スイッチデバイス13は、複数のポート部131と、スイッチ回路132と、アドレステーブル133と、エラーレジスタ134とを備える。
ポート部131は、外部接続のための複数のポート1311と、エラー検出回路1312とを含む。また、ポート部131は、図示していないが、バッファを含み、受信データフレーム及び送信データフレームを一時的に格納することができる。ポート1311には、例えば、ディスクコントローラ120、他のスイッチデバイス13、及びドライブユニット110が接続される。各ポート1311には、スイッチデバイス13内で固有の番号(ポート番号)が割り当てられ、識別できるようになっている。ポート番号は、ポート部131ごとに割り当てられてもよい。同図では、複数のポート部131が配置され、それぞれに他のデバイスが接続されることが示されているが、特にこれにこだわるものでなく、単一のポート部131に設けられた複数のポート1311にそれぞれのデバイスが接続されてもよい。
スイッチデバイス13の内部では、各ポート1311は、データ線Dを介して、スイッチ回路132に接続されている。また、エラーチェック回路1312は、図4に示されるようなエラーパターンテーブルに従って、各ポート1311における通信エラーを監視する。具体的には、エラーチェック回路1312は、各ポート1311を通過するデータフレームに含まれるパリティをチェックし、当該パリティが所定のエラーパターンに一致する場合に、当該エラーパターンに対するエラーカウンタの値をインクリメントする。エラーチェック回路1312は、エラーカウンタの値が所定の閾値を超える場合に、エラー情報をエラー信号線Eに出力する。エラー情報は、スイッチ回路132を介して、エラーレジスタ134に書き込まれる。
スイッチ回路132は、アドレスラッチ及びセレクタから構成されたスイッチング素子を含む。スイッチ回路132は、入力されてくるデータフレームのヘッダ情報を解析して、アドレステーブル133に従って、データフレームの送出先を切り替える。
エラーレジスタ134は、各ポート部131のエラーチェック回路1312から送出されるエラー情報を保持するためのレジスタである。
図4は、本発明の一実施形態に係るスイッチデバイス13内のエラーパターンテーブルの一例を示す図である。エラーパターンテーブルは、エラーチェック回路1312に保持されている。
同図に示すように、エラーパターンテーブル400は、所定のビット配列で定義された各エラーパターン401ごとに、エラーカウンタ値402及び所定の閾値403が対応付けられている。エラーパターン401は、正常なデータ通信であれば、データフレーム内のパリティに現れないビットパターンである。エラーカウンタ値402は、エラーパターン401ごとに発生したエラーの回数であり、閾値403は、当該エラー発生回数の許容上限値である。
エラーチェック回路1312は、データフレーム内のパリティがエラーパターン401のいずれかに一致する場合に、エラーが発生したものとして、当該検出したエラーパターン401に対するエラーカウンタ値402をインクリメントする。さらに、エラーチェック回路1312は、当該エラーカウンタ値402と閾値403とを比較して、当該エラーカウンタ値402が閾値403超えたと判断する場合に、エラー信号線Eにエラー情報を出力する。
図5は、本発明の一実施形態に係るスイッチデバイス13内のエラーレジスタ134の内容を説明するための図である。
同図に示すように、エラーレジスタ134は、エラーチェック回路1312から送信されるエラー情報を格納する。エラー情報は、例えば、ポート番号1341と、エラーコード1342と、エラーカウンタ値1343とからなる。ポート番号1341は、エラーが検出されたポート1311のポート番号である。エラーコード1342は、例えば、エラーパターン401ごとに割り当てられたコードであり、エラーコード1342を参照することによって、エラーの内容等が認識できる。エラーレジスタ134のエラー情報は、外部のデバイス(例えばチャネルアダプタ123)から送信されるエラー情報送信要求に応答して、読み出される。
図6及び図7は、本発明の一実施形態に係るディスクコントローラ120のメモリユニット125に保持されるコネクションパスマップ600の一例を示す図である。コネクションパスマップ600は、二重化されたディスクコントローラ120のそれぞれのメモリユニット125に記憶される。図6は、第1のディスクコントローラ120におけるコネクションパスマップ600を示し、図7は、第2のディスクコントローラ120におけるコネクションマップ600を示している。ディスクコントローラ120は、バス127を介して、他のディスクコントローラ120のコネクションパスマップ600を参照することができる。
コネクションパスマップ600は、各スイッチデバイス13の各ポート1311に接続されているデバイス及び当該ポート1311の状態を示すテーブルである。すなわち、コネクションパスマップ600は、デバイス名601と、ポート番号602と、接続先デバイス名603と、状態604と、を含む。デバイス名601は、スイッチデバイス13に一意に割り当てられた識別名である。ポート番号602は、スイッチデバイス13に設けられたポート1311のポート番号である。接続先デバイス名603は、当該ポート1311に接続されたデバイスを一意に識別するために割り当てられた識別名である。また、状態604は、当該ポート1311が有効状態になっているか、無効状態になっているかを示す。
例えば、図6に示すように、デバイス名「Switch−11」で示されるスイッチデバイス13は、ポート番号「#1」で示されるポートに、接続先デバイス名「Controller−1」で示される第1のディスクコントローラ120を接続している。このときの当該ポートの状態は「有効」になっている。同様に、「Switch−11」のポート「#2」及び「#3」には「HDD#1」及び「HDD#2」がそれぞれ接続され、また、ポート「#4」には、「Switch−12」が接続されている。また、ポート「#5」には、何も接続されておらず、当該ポートの状態は「無効」になっている。
図8は、本発明の一実施形態に係るディスクコントローラ120のメモリユニット125に保持されるコネクションパス再構築テーブル800の一例を示す図である。コネクションパス再構築テーブル800は、二重化されたディスクコントローラ120のそれぞれのメモリユニット125に記憶される。
すなわち、同図に示すように、コネクションパス再構築テーブル800は、障害パターン801とコネクションパス再構築パターン802とからなる。障害パターン801は、エラーが検出された障害部位の組み合わせである。障害部位は、エラーが検出されたスイッチデバイス13のポート1311である。本例では、障害パターン801は、ポート1311の組み合わせに応じた6つのパターンが定義されている。図中、「F」は、当該ポート番号のポート1311が障害部位であることを意味し、また、「E」は、当該ポート番号のポート1311が有効状態(使用中)であることを意味している。また、空欄は、有効/無効の状態を問わないことを意味し、「−」は、変更がないことを意味する。例えば、1行目に示された障害パターン801は、ポート番号#1及び#4を使用中に、ポート番号#1にエラーが検出されたことを示す。
コネクションパス再構築パターン802は、障害部位を迂回するためのコネクションパスを再構築するのに必要な各スイッチデバイス13のポート1311の状態を定義する。図中、ハッチングで示された部分が、コネクションパスを再構築するために、ポート1311の状態変更があったことを示している。
コネクションパス再構築テーブル800を用いたコネクションパスの再構築処理については、図13乃至図21を参照しながら、詳細に説明される。
図9は、本発明の一実施形態に係るスイッチデバイス13におけるエラーチェック処理を説明するためのフローチャートである。
すなわち、同図に示すように、スイッチデバイス13の各ポート部131のエラーチェック回路1312は、データフレームがポート部131のバッファに書き込まれるか否かを監視している(STEP901)。データフレームがバッファに書き込まれる場合としては、スイッチデバイス13がポート部131のポート1311を介して外部からデータフレームを受信する場合と、当該スイッチデバイス13内の他のポート部131が受信したデータフレームがスイッチ回路132を介して転送されてきた場合とがある。前者は、データフレームの受信であり、後者は、データフレームの送信である。バッファにデータフレームが書き込まれると、エラーチェック回路1312は、エラーパターンテーブル400を参照し(STEP902)、当該データフレーム内のパリティがいずれかのエラーパターン401に一致するか否かを判断する(STEP903)。エラーパターン401は、上述したように、データ通信上、異常なビット配列である。
エラーチェック回路1312は、当該パリティがいずれかのエラーパターン401に一致しないと判断する場合には(STEP903のNo)、データフレームは正常であるとみなして、当該データフレームを次に転送する(STEP906)。つまり、データフレームの外部からの受信であれば、エラーチェック回路1312は、当該データフレームをスイッチ回路132に送出し、データフレームの外部への送信であれば、ポート1311に接続された他のデバイスにデータを送出する。
これに対して、エラーチェック回路1312は、当該パリティがいずれかのエラーパターン401に一致すると判断する場合には(STEP903のYes)、エラーパターンテーブル400における一致したエラーパターン401に対するエラーカウンタ値402を1つインクリメントする(STEP904)。続いて、エラーチェック回路1312は、当該エラーが検出されたポート1311のポート番号及びエラーカウンタ値402を含むエラー情報をエラー信号線Eに出力する。これを受けて、当該エラー情報は、エラーレジスタ134に書き込まれることになる。そして、エラーチェック回路1312は、当該データフレームを次に転送する(STEP906)。
図10は、本発明の一実施形態に係るディスクコントローラ120のディスクアダプタ123によるI/O処理を説明するためのフローチャートである。本実施形態のディスクアダプタ123によるI/O処理は、エラー検出時の障害回復処理を含んでいる。I/O処理は、例えば、I/O処理プログラムにより実現される。あるいは、ディスクアダプタ123のファームウェアの一部として実現される。
すなわち、同図に示すように、ディスクアダプタ123は、メモリユニット125に格納されたコマンドを取り出して、所定のプロトコル変換によりデータフレームを作成し、内部バッファに格納する(STEP1001)。ここで、コマンドが読み出しコマンドであれば、当該読み出しコマンドに基づくデータフレームが作成される。また、コマンドが書き込みコマンドであれば、当該書き込みコマンド及び書き込み対象データに基づくデータフレームが作成される。
ディスクアダプタ123は、次に、当該作成したデータフレームについてエラーチェックを行う(STEP1002)。ディスクアダプタ123におけるエラーチェックもまた、上述したスイッチデバイス13におけるエラーチェック処理と同様に、データフレームに含まれるパリティが所定のエラーパターンに一致するか否かにより行われる。ディスクアダプタ123は、エラーチェックの結果、当該データフレームにエラーがないと判断する場合には(STEP1002のNo)、ポートを介して当該データフレームを送出する(STEP1003)。これにより、当該データフレームは、スイッチデバイス13を介して、当該データフレームのヘッダ情報に従って転送され、最終的には、送信先のドライブユニット110に送信される。
これに対して、ディスクアダプタ123は、当該データフレームにエラーがあると判断する場合には(STEP1002のYes)、エラーレポートを管理装置4に送信し(STEP1008)、I/O処理を終了する。
ディスクアダプタ123は、送信したデータフレームに応答して、スイッチデバイス13を介してドライブユニット110から送信されるデータフレームを受信し、内部バッファに格納する(STEP1004)。続いて、ディスクアダプタ123は、受信したデータフレームについてエラーチェックを行う(STEP1005)。
ディスクアダプタ123は、エラーチェックの結果、当該受信したデータフレームにエラーがないと判断する場合には(STEP1005のNo)、当該受信したデータフレームをプロトコル変換した後、メモリユニット125に書き込む(STEP1006)。例えば、コマンドが読み出しコマンドであれば、ハードディスクドライブ111の所定の領域から読み出されたデータがメモりユニット125のキャッシュ領域に書き込まれることになる。
これに対して、ディスクアダプタ123は、当該受信したデータフレームにエラーがあると判断する場合には(STEP1005のYes)、以下で詳述される障害回復処理を行う(STEP1007)。つまり、受信したデータフレームにエラーパターンが含まれているということは、データフレームの伝送経路のどこかで障害が発生している可能性があるということである。障害回復処理の後、ディスクアダプタ123は、データフレームの再送を試みる(STEP1003)。
障害回復処理は、障害が発生したデバイス及びその部位(障害部位)を特定する処理及び特定した障害部位を迂回した新たなコネクションパスを構築する処理を含む。図11は、本発明の一実施形態に係るディスクコントローラ120のディスクアダプタ123による障害回復処理を説明するためのフローチャートである。
すなわち、同図に示すように、ディスクアダプタ123は、受信したデータフレームにエラーがあると判断する場合、ポートを介してエラー情報送信要求をブロードキャスト送信する(STEP1101)。ブロードキャスト送信は、コネクションパス上の全てのデバイスを送信先とする送信である。これにより、エラー情報送信要求は、ディスクアダプタ123に縦列に接続された全てのスイッチデバイス13に送信されることになる。エラー情報送信要求を受信したスイッチデバイス13は、自身のエラーレジスタ134に格納されているエラー情報を上位のスイッチデバイス13に送信するとともに、エラー情報送信要求を下位のスイッチデバイス13に転送する。
ディスクアダプタ123は、エラー情報送信要求に応答して各スイッチデバイス13から送信されてくるエラー情報を受信する(STEP1102)。本実施形態では、各スイッチデバイス13のエラーレジスタ134に保持されているエラー情報が収集される。エラーが検出されなかったスイッチデバイス13から送信されるエラー情報は、「エラーなし」を示すステータスを含んでいる。
次に、ディスクアダプタ123は、当該収集したエラー情報に基づいて障害部位を特定する(STEP1103)。障害部位は、エラー情報に含まれるスイッチデバイス13のデバイス名及びポート番号により特定される。続いて、ディスクアダプタ123は、特定した障害部位を含む障害情報を作成し、これを管理装置4に送信する(STEP1104)。これを受けて、管理装置4は、ユーザインターフェース上に障害情報を表示する。
ディスクアダプタ123は、次に、特定した障害部位を迂回したコネクションパスを再構築するため、メモリユニットに記憶されているコネクションパス再構築テーブル800を参照し、特定された障害部位の組み合わせ(障害パターン801)からコネクションパス再構築パターン802を特定する(STEP1105)。そして、ディスクアダプタ123は、特定したコネクションパス再構築パターン802に従って、コネクションパスマップ600を更新する(STEP1105)。
以上のように、ストレージデバイス11内のコネクションパス内の障害部位に応じて、これを迂回した新たなコネクションパスが構築され、ストレージサブシステム1は、二重化構成を最大限確保しつつ、ストレージサービスの運用を継続することができる。
図12は、本発明の一実施形態に係るストレージサブシステム1のバックエンドにおけるI/O処理に伴うエラー検出時の処理を説明するためのシーケンスである。
ディスクコントローラ120のディスクアダプタ123は、メモリユニット125からコマンドを取り出すと、所定のプロトコル変換を行った後、縦列接続された最上位のスイッチデバイス13に送信する(STEP1201)。
最上位のスイッチデバイス13は、当該コマンドを受信すると(STEP1202)、受信エラーチェックを行い、ヘッダ情報に従って送信先を選択し、さらに送信エラーチェックを行って(STEP1203)、下位のスイッチデバイス13に送出する(STEP1204)。下位のスイッチデバイス13では、同様に、当該コマンドを受信すると、受信エラーチェックを行い、ヘッダ情報に従って送信先を選択し、さらに送信エラーチェックを行って、より下位のスイッチデバイス13に送出する。また、各スイッチデバイス13は、当該コマンドの送信先が自身に接続されたドライブユニット110である場合には、当該コマンドをドライブユニット110に送出する。
ドライブユニット110は、当該コマンドを受信すると(STEP1205)、当該コマンドに基づくアクセス処理を行って(STEP1206)、当該コマンドに対する処理結果(コマンド応答)をスイッチデバイス13に送信する(STEP1207)。コマンド応答は、例えばコマンドが書き込みコマンドであれば、書き込み成功ステータスである。また、例えばコマンドが読み出しコマンドであれば、コマンド応答は、ハードディスクドライブ111から読み出されたデータとなる。スイッチデバイス13は、コマンド応答を受信すると(STEP1208)、同様に、受信エラーチェックを行い、ヘッダ情報に従って送信先を選択し、さらに送信エラーチェックを行って(STEP1209)、上位のスイッチデバイス13に送出する(STEP1210)。このようにして、ディスクアダプタ123は、一つ以上のスイッチデバイス13を介して、ドライブユニット110からコマンド応答を受信する(STEP1211)。
コマンド応答を受信したディスクアダプタ123は、受信エラーチェックを行う(STEP(STEP1212)。本例では、コマンド応答に、エラーが検出されたとする。ディスクアダプタ123は、エラーを検出すると、エラー情報送信要求をブロードキャスト送信する(STEP1213)。ブロードキャスト送信は、全てのスイッチデバイス13を送信先とする送信である。
スイッチデバイス13は、エラー情報送信要求を受信すると(STEP1214)、自身のエラーレジスタ134に格納されているエラー情報を上位のスイッチデバイス13に送信するとともに(STEP1215)、エラー情報送信要求を下位のスイッチデバイス13に転送する(STEP1216)。エラー情報送信要求を受信した下位のスイッチデバイス13は、同様に、自身のエラーレジスタ134に格納されているエラー情報を上位のスイッチデバイス13に送信するとともに、エラー情報送信要求をより下位のスイッチデバイスに転送する。最下位のスイッチデバイス13は、エラー情報送信要求を受信すると(STEP1217)、自身のエラーレジスタ134に格納されているエラー情報を上位のスイッチデバイス13に送信する(STEP1218)。また、各スイッチデバイス13は、下位のスイッチデバイス13からエラー情報を受信すると(STEP1219)、これを上位のスイッチデバイス13に転送する(STEP1220)。このようにして、ディスクアダプタ123は、コネクションパス上の全てのスイッチデバイス13から、エラー情報を収集する(STEP1221)。
次に、本実施形態の障害回復処理によるコネクションパスの再構築の具体例を説明する。図13は、本発明の一実施形態に係るストレージサブシステム1におけるバックエンドを模式的に示す図である。
同図に示すように、本実施形態のストレージサブシステム1におけるバックエンドは、二重化されたディスクコントローラ120のディスクアダプタ123が、4つのスイッチデバイス13を縦列に接続し、各スイッチデバイス13が、ドライブユニット110を接続したコネクションパスを構成している。このようなバックエンドインターフェースの構成は、例えば、図6及び7に示したコネクションパスマップ600として示される。
以下の説明では、第1のディスクコントローラ120のディスクアダプタ123を「DKA−1」といい、これに接続された4つのスイッチデバイス13をそれぞれ「Switch−11」、「Switch−12」、「Switch−13」、及び「Switch−14」というものとする。また、第2のディスクコントローラ120のディスクアダプタ123を「DKA−2」といい、これに接続された4つのスイッチデバイス13をそれぞれ「Switch−21」、「Switch−22」、「Switch−23」、及び「Switch−24」というものとする。さらに、「Switch−11」及び「Switch−21」に接続されたドライブユニット110を「HDD#1」及び「HDD#2」、「Switch−12」及び「Switch−22」に接続されたドライブユニットを「HDD#3」及び「HDD#4」、「Switch−13」及びSwitch−23」に接続されたドライブユニットを「HDD#5」及び「HDD#6」、及び「Switch−14」及び「Switch−24」に接続されたドライブユニットを「HDD#7」及び「HDD#8」というものとする。また、図中、各スイッチデバイス13内の#に続く数字は、ポート1311のポート番号を示す。さらに、実線矢印は、当該ポート1311の状態が有効になっていることを示し、破線矢印は、当該ポート1311の状態が無効になっていることを示す。
(具体例1)
今、図14に示すように、Switch−12のポート番号#1に障害が発生したとする。DKA−1は、上述したように、エラー情報送信要求を送信し、障害部位を認識すると、図8に示すようなコネクションパス再構築テーブル800を参照し、障害部位を迂回するために必要なコネクションパス再構築パターン802を決定する。本例では、Switch−12のポート番号#1の障害であるため、1行目に示すコネクションパス再構築パターンに決定される。従って、DKA−1は、Switch−11のポート番号#5、Switch−12のポート番号#5、Switch−21のポート番号#5、及びSwitch−22のポート番号#5をそれぞれ有効化するとともに、Switch−11のポート番号#4及びSwitch−12のポート番号#4を無効化する。これにより、DKA−1とSwitch12との間は、Switch−11、Switch−21、及びSwitch−22を通る迂回パスが構築される(図中の2点鎖線で示される)。図15及び16は、このときのコネクションパスマップ600を示している。
(具体例2)
図17に示すように、Switch−12のポート番号#1及び#5に障害が発生したとする。この場合は、DKA−1は、図8に示すようなコネクションパス再構築テーブル800に従って、Switch−11のポート番号#5、Switch−13のポート番号#5、Switch−21のポート番号#5、及びSwitch−23のポート番号#5をそれぞれ有効化するとともに、Switch−11のポート番号#4及びSwitch−12のポート番号#4を無効化する。これにより、DKA−1とSwitch13との間は、Switch−11、Switch−21、Switch−22、及びSwitch−23を通る迂回パスが構築される。
(具体例3)
図18に示すように、Switch−12のポート番号#4に障害が発生したとする。この場合は、DKA−1は、Switch−12のポート番号#5、Switch−13のポート番号#5、Switch−22のポート番号#5、及びSwitch−23のポート番号#5をそれぞれ有効化するとともに、Switch−12のポート番号#4及びSwitch−13のポート番号#4を無効化する。これにより、DKA−1とSwitch13との間は、Switch−11、Switch−12、Switch−22、Switch−23を通る迂回パスが構築される。
(具体例4)
図19に示すように、Switch−12のポート番号#4及び#5に障害が発生したとする。この場合は、DKA−1は、Switch−11のポート番号#5、Switch−13のポート番号#5、Switch−21のポート番号#5、及びSwitch−23のポート番号#5をそれぞれ有効化するとともに、Switch−11のポート番号#4、及びSwitch−13のポート番号#1を無効化する。これにより、DKA−1とSwitch12との間のパスを維持しつつ、DKA−1とSwitch13との間は、Switch−11、Switch−21、Switch−22、及びSwitch−23を通る迂回パスが構築される。
(具体例5)
図20に示すように、Switch−12のポート番号#1及び#4に障害が発生したとする。この場合は、DKA−1は、Switch−11のポート番号#5、Switch−12のポート番号#5、Switch−13のポート番号#5、Switch−21のポート番号#5、Switch−22のポート番号#5、及びSwitch−23のポート番号#5をそれぞれ有効化するとともに、Switch−11のポート番号#4、Switch−12のポート番号#1及び#4、並びにSwitch−13のポート番号#4を無効化する。これにより、DKA−1とSwitch12との間は、Switch−11、Switch−21、及びSwitch−22のを通る迂回パスが構築されるとともに、DKA−1とSwitch13との間は、Switch−11、Switch−21、Switch−22、及びSwitch−23を通る迂回パスが構築される。
(具体例6)
図21に示すように、Switch−12のポート番号#1、#4、及び#5に障害が発生したとする。この場合は、DKA−1は、Switch−11のポート番号#5、Switch−131のポート番号#5、Switch−21のポート番号#5、及びSwitch−23のポート番号#5をそれぞれ有効化するとともに、Switch−11のポート番号#4及びSwitch−21のポート番号#1及び#4を無効化する。これにより、DKA−1とSwitch13との間は、Switch−11、Switch−21、Switch−22、及びSwitch−23を通る迂回パスが構築される。
[第2の実施形態]
図22は、本発明の一実施形態に係るストレージサブシステムの構成を示す図である。
同図に示すように、本実施形態のストレージサブシステム1は、各ディスクコントローラ120のディスクアダプタ123が、ストレージデバイス11に対する複数のチャネル(図では2チャネル)を制御するように構成されている。各チャネルにおける各スイッチデバイス13は、上記実施形態と同様に、縦列に接続され、それぞれドライブユニット110を接続しているが、各スイッチデバイス13は、同一のディスクアダプタ123の他チャネルにおける対応するスイッチデバイス13と接続されている。このような構成に従って、コネクションパスマップ400及びコネクションパス再構築テーブル800の内容は定義され。その他の各部の構成及び処理内容については、上記実施形態と同様である。
図23は、本発明の一実施形態に係るストレージサブシステム1におけるバックエンドを模式的に示す図であり、具体的には、同図は、Switch−12で示されるスイッチデバイス13のポート番号#1で示されるポート1311に障害が発生した場合の再構築されたコネクションパスを示している。ディスクアダプタ123による障害回復処理は、上述した実施形態と同様である。
すなわち、DKA−1は、Switch−12のポート番号#1が障害部位であることを特定すると、所定のコネクションパス再構築テーブルに従って、コネクションパスを再構築する。本例では、DKA−1は、Switch−11のポート番号#5、Switch−12のポート番号#5、Switch−31のポート番号#5、及びSwitch−32のポート番号#5をそれぞれ有効化するとともに、Switch−11のポート番号#4及びSwitch−12のポート番号#4をそれぞれ無効化する。
ここで特記すべきことは、迂回するパスを形成する対応するスイッチデバイス13どうしは、同一のディスクアダプタ123の配下に属している点である。すなわち、一方のディスクアダプタ123に属するいずれかのチャネル内のスイッチデバイス13でエラーが検出された場合であっても、他方のディスクアダプタ123は再構築されたコネクションパスに介在しない。従って、二重化されたディスクコントローラ120におけるディスクアダプタ123間で競合が発生しないため、より効率的にデータフレームを転送することが可能になる。
[第3の実施形態]
本実施形態は、パススイッチデバイス13のポート1311がビジー状態になった場合に、コネクションパスの再構築処理を行うものである。本実施形態は、上記第1の実施形態及び第2の実施形態で示されたストレージサブシステム1の構成のいずれにも適用することができる。
図24は、本発明の一実施形態に係るディスクコントローラ120のディスクアダプタ123によるI/O処理を説明するためのフローチャートである。本実施形態のディスクアダプタ123によるI/O処理は、データフレームの転送遅延を検出する処理を含んでいる点が、上記の実施形態と異なっている。
すなわち、同図に示すように、ディスクアダプタ123は、メモリユニット125に格納されたコマンドを取り出して、所定のプロトコル変換によりデータフレームを作成し、内部バッファに格納する(STEP2401)。
ディスクアダプタ123は、次に、ポートを介して当該データフレームを送出する(STEP2402)。ディスクアダプタ123は、上記実施形態と同様に、送信データフレームについてのエラーチェックを行っても良い。これにより、当該データフレームは、スイッチデバイス13を介して、当該データフレームのヘッダ情報に従って転送され、最終的には、送信先のドライブユニット110に送信される。
ディスクアダプタ123は、データフレームの送信後、所定の時間内にコマンド応答があるか監視する(STEP2403)。所定の時間以内にコマンド応答がない場合には、タイムアウトと判断される。ディスクアダプタ123は、所定の時間内にコマンド応答を受信した場合には(STEP2403のNo)、当該受信したデータフレームを内部バッファに格納し(STEP2404)、所定のプロトコル変換した後、メモリユニット125に書き込む(STEP2405)。
これに対して、ディスクアダプタ123は、所定の時間内にコマンド応答を受信しなかった場合には(STEP2403のYes)、障害が発生しているものとして、以下で詳述される障害回復処理を行う(STEP2406)。障害回復処理の後、ディスクアダプタ123は、データフレームの再送を試みる(STEP2402)。
図25は、本発明の一実施形態に係るディスクコントローラ120のディスクアダプタ123による障害回復処理を説明するためのフローチャートである。
すなわち、同図に示すように、ディスクアダプタ123は、受信したデータフレームにエラーがあると判断する場合、ポートを介してエラー情報送信要求をブロードキャスト送信する(STEP2501)。これにより、ディスクアダプタ123は、全てのスイッチデバイス13からエラー情報を収集することができる(STEP2502)。この場合、エラー情報収集のパス内にビジー状態のポート1311が含まれている可能性があるため、応答(エラー情報)を受けるまでのタイムアウト時間を通常のコマンド送信の際のタイムアウト時間に比べて長くすることが好ましい。本実施形態では、スイッチデバイス13から送信されるエラー情報は、各ポート1311の送受信エラー情報及び各ポート1311のビジー情報を含んでいる。送受信エラー情報は、図5で示されたエラー情報に等価である。
次に、ディスクアダプタ123は、当該収集したエラー情報に送受信エラー情報が含まれているか否かを判断する(STEP2503)。ディスクアダプタ123は、当該収集したエラー情報に送受信エラー情報が含まれている場合には(STEP2503のYes)、当該収集したエラー情報に基づいて障害部位を特定する(STEP2504)。以降の処理は、図11に示したSTEP1104〜STEP1106と同様であるため、説明を省略する。
ディスクアダプタ123は、当該収集したエラー情報に送受信エラー情報が含まれていないと判断する(STEP2503のNo)、当該収集したエラー情報に含まれるビジー情報に基づいて、ビジー状態にある部位を障害部位として特定する(STEPSTEP2508)。ディスクアダプタ123は、次に、特定した障害部位を迂回したコネクションパスを再構築するため、メモリユニットに記憶されているコネクションパス再構築テーブル800を参照し、コネクションパス再構築パターン802を特定する(STEP2509)。
続いて、ディスクアダプタ123は、現在のコネクションパスマップ600のバックアップを作成するとともに、特定したコネクションパス再構築パターン802に従って、コネクションパスマップ600を更新する(STEP2510)。そして、ディスクアダプタ123は、ビジー状態監視処理を別に起動して(STEP2510)、当該障害回復処理を終了する。ビジー状態監視処理は、ビジー状態にあるとされたポート1311のビジー状態が解消したか否かを監視し、ビジー状態が解消したと判断する場合に、もとのコネクションパスマップに復元する。
図26は、本発明の一実施形態に係るディスクアダプタ123によるビジー状態監視処理を説明するためのフローチャートである。ビジー状態監視処理は、上述したI/O処理とは独立に(別スレッドで)実行される。
すなわち、同図に示すように、ディスクアダプタ123は、一定時間経過するごとに(STEP2601のYes)、ビジー状態とされたポート1311のビジー状態が解消したか否かをチェックする(STEP2602)。ディスクアダプタ123は、ポート1311のビジー状態が解消したと判断する場合には(STEP2602のYes)、再構築されたコネクションパスマップを、バックアップしておいたコネクションパスマップ600に置き換える(STEP2603)。これにより、ストレージデバイス11内のコネクションパスは、ビジー状態が発生する前のものに復元されることになる。
以上のように、ストレージデバイス11におけるコネクションパス内の部位のビジー状態に応じて、これを迂回した新たなコネクションパスが構築され、ストレージサブシステム1は、二重化構成を最大限確保しつつ、ストレージサービスの運用を継続することができる。
また、ビジー状態が解消した場合には、ストレージサブシステム1は、もとのコネクションパスに復元するので、より柔軟かつ効果的なストレージサービスの運用をすることができる。
なお、本実施形態では、ディスクアダプタ123は、所定の時間内にコマンド応答を受信した場合には、エラーチェックをせずに、メモリユニット125に当該コマンド応答を書き込んだが、上記実施形態と同様に、エラーチェックを行い、当該エラーチェックの結果に従って、障害回復処理を行うようにしてもよい。
[その他の実施形態]
上記各実施形態は、本発明を説明するための例示であり、本発明をこれらの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱しない限り、さまざまな形態で実施することができる。例えば、上記実施形態では、各種プログラムの処理をシーケンシャルに説明したが、特にこれにこだわるものではない。従って、処理結果に矛盾が生じない限り、処理の順序を入れ替えまたは並行動作するように構成しても良い。
また、上記実施形態では、ディスクアダプタ123が障害回復処理を行うように構成したが、特にこれにこだわるものではない。例えば、ディスクアダプタ123に代えて、プロセッサ124が障害回復処理等を行うように構成しても良い。
さらに、上記実施形態では、ドライブユニット110とスイッチデバイス13とを別体で構成したが、スイッチデバイス13の機能を含むようにドライブユニット110を構成してもよい。
本発明は、冗長化パス構成を採用し、複数のスイッチデバイスを用いてコネクションパスを形成するストレージサブシステムに広く適用することができる。
本発明の一実施形態に係るストレージサブシステムの全体構成を説明するための図である。 本発明の一実施形態に係るディスクコントローラのメモリユニットの内容の一例を示す図である。 本発明の一実施形態に係るストレージサブシステムのスイッチデバイスの構成を説明するための図である。 本発明の一実施形態に係るスイッチデバイスのエラーパターンテーブルの一例を示す図である。 本発明の一実施形態に係るスイッチデバイスのエラーレジスタの内容を説明するための図である。 本発明の一実施形態に係るディスクコントローラに保持されるコネクションパスマップの一例を示す図である。 本発明の一実施形態に係るディスクコントローラに保持されるコネクションパスマップの一例を示す図である。 本発明の一実施形態に係るディスクコントローラに保持されるコネクションパス再構築テーブルの一例を示す図である。 本発明の一実施形態に係るスイッチデバイスにおけるエラーチェック処理を説明するためのフローチャートである。 本発明の一実施形態に係るディスクコントローラによるI/O処理を説明するためのフローチャートである。 本発明の一実施形態に係るディスクコントローラによる障害回復処理を説明するためのフローチャートである。 本発明の一実施形態に係るストレージサブシステムのバックエンドにおけるI/O処理に伴うエラー検出時の処理を説明するためのシーケンスである。 本発明の一実施形態に係るストレージサブシステムにおけるバックエンドを模式的に示す図である。 本発明の一実施形態に係るストレージサブシステムにおけるバックエンドを模式的に示す図である。 本発明の一実施形態に係るディスクコントローラに保持されるコネクションパスマップの一例を示す図である。 本発明の一実施形態に係るディスクコントローラに保持されるコネクションパスマップの一例を示す図である。 本発明の一実施形態に係るストレージサブシステムにおけるバックエンドを模式的に示す図である。 本発明の一実施形態に係るストレージサブシステムにおけるバックエンドを模式的に示す図である。 本発明の一実施形態に係るストレージサブシステムにおけるバックエンドを模式的に示す図である。 本発明の一実施形態に係るストレージサブシステムにおけるバックエンドを模式的に示す図である。 本発明の一実施形態に係るストレージサブシステムにおけるバックエンドを模式的に示す図である。 本発明の一実施形態に係るストレージサブシステムの構成を示す図である。 本発明の一実施形態に係るストレージサブシステム1におけるバックエンドを模式的に示す図である。 本発明の一実施形態に係るディスクコントローラによるI/O処理を説明するためのフローチャートである。 本発明の一実施形態に係るディスクコントローラによる障害回復処理を説明するためのフローチャートである。 本発明の一実施形態に係るディスクコントローラによるビジー状態監視処理を説明するためのフローチャートである。
符号の説明
1…ストレージサブシステム
12,120…ディスクコントローラ
121…チャネルアダプタ
122…データコントローラ
123…ディスクアダプタ
124…プロセッサ
125…メモリユニット
126…LANインターフェース
127…バス
2A,2B…ネットワーク
3…ホストコンピュータ
4…管理装置
11…ストレージデバイス
110…ドライブユニット
111…ハードディスクドライブ
112…制御回路

Claims (14)

  1. データを記憶するための記憶媒体を有する複数のドライブユニットと、
    複数のポートを有し、当該複数のポートの少なくとも一つに前記複数のドライブユニットの少なくとも一つを接続する複数の第1のスイッチデバイスと、
    前記複数の第1のスイッチデバイスの少なくとも一つを接続し、前記複数のドライブユニットを制御する第1のディスクコントローラと、
    複数のポートを有し、当該複数のポートの少なくとも一つに前記複数のドライブユニットの少なくとも一つを接続する複数の第2のスイッチデバイスであって、それぞれが前記複数の第1のスイッチのそれぞれに対応する複数の第2のスイッチデバイスと、
    前記複数の第2のスイッチデバイスの少なくとも一つを接続し、前記複数のドライブユニットを制御する第2のディスクコントローラと、を備え、
    前記複数の第1のスイッチデバイスのそれぞれにおける前記複数のポートの少なくとも一つと前記対応する複数の第2のスイッチデバイスのそれぞれにおける前記複数のポートの少なくとも一つとは相互に接続されていることを特徴とするストレージサブシステム。
  2. 請求項1に記載のストレージサブシステムであって、
    前記複数の第1のスイッチデバイス及び前記複数の第2のスイッチデバイスはそれぞれ、自身の前記複数のポートを介して、縦列に接続されていることを特徴とするストレージサブシステム。
  3. 請求項2に記載のストレージサブシステムであって、
    前記第1のディスクコントローラは、
    前記複数の第1のスイッチデバイスのそれぞれにおける前記複数のポートのそれぞれに接続されたデバイス及び当該複数のポートのそれぞれの接続状態を管理する第1のコネクションパスマップを有し、
    前記第2のディスクコントローラは、
    前記複数の第2のスイッチデバイスのそれぞれにおける前記複数のポートのそれぞれに接続されたデバイス及び当該複数のポートのそれぞれの接続状態を管理する第2のコネクションパスマップを有することを特徴とするストレージサブシステム。
  4. 請求項3に記載のストレージサブシステムであって、
    前記複数の第1のスイッチデバイスのそれぞれ及び前記複数の第2のスイッチデバイスのそれぞれは、
    前記複数のポートのそれぞれに送信されるデータフレームにおけるエラーをチェックするエラーチェック回路を備え、
    前記エラーチェック回路は、前記データフレームにおいてエラーを検出した場合に、所定のエラー情報を出力することを特徴とするストレージサブシステム。
  5. 請求項4に記載のストレージサブシステムであって、
    前記第1のディスクコントローラ及び前記第2のディスクコントローラの少なくとも一方は、
    自身に接続された前記複数のスイッチデバイスの少なくとも一つを介して、前記複数のドライブユニットの少なくとも一つにアクセスするためのコマンドに基づくデータフレームを送信し、
    前記コマンドに応答して送信されてくるデータフレームにおいてエラーを検出した場合に、前記複数のスイッチデバイスに対してエラー情報送信要求を送信することを特徴とするストレージサブシステム。
  6. 請求項5に記載のストレージサブシステムであって、
    前記少なくとも一方のディスクコントローラに接続された前記複数のスイッチデバイスのそれぞれは、前記エラー情報送信要求に応答して、前記エラー情報を前記少なくとも一方のディスクコントローラに送信することを特徴とするストレージサブシステム。
  7. 請求項6に記載のストレージサブシステムであって、
    前記少なくとも一方のディスクコントローラは、前記エラー情報送信要求に応答して前記複数のスイッチデバイスのそれぞれから送信されるエラー情報に基づいて、エラーが検出されたスイッチデバイス及びポートを障害部位として特定することを特徴とするストレージサブシステム。
  8. 請求項7に記載のストレージサブシステムであって、
    前記少なくとも一方のディスクコントローラは、前記特定した障害部位に基づいて、所定のコネクションパス再構築パターンに従い、自身の前記コネクションパスマップの内容を更新することを特徴とするストレージサブシステム。
  9. 請求項1に記載のストレージサブシステムであって、
    前記第1のディスクコントローラ及び前記第2のディスクコントローラの少なくとも一方は、自身に接続された前記複数のスイッチデバイスの少なくとも一つ及び当該対応する前記スイッチデバイスのそれぞれにおける前記複数のポートの少なくとも一つの接続状態を有効状態にセットすることを特報とするストレージサブシステム。
  10. 請求項3に記載のストレージサブシステムであって、
    前記複数の第1のスイッチデバイスのそれぞれ及び前記複数の第2のスイッチデバイスのそれぞれは、自身の前記複数のポートのそれぞれにおけるビジー情報を出力することを特徴とするストレージサブシステム。
  11. 請求項10に記載のストレージサブシステムであって、
    前記第1のディスクコントローラ及び前記第2のディスクコントローラの少なくとも一方は、前記複数の第1のスイッチデバイス及び前記複数の第2のスイッチデバイスのいずれかが出力するビジー情報に基づいて、所定のコネクションパス再構築パターンに従い、自身の前記コネクションパスマップの内容を更新することを特徴とするストレージサブシステム。
  12. データを記憶するための記憶媒体を有する複数の第1のドライブユニットと、
    データを記憶するための記憶媒体を有する複数の第2のドライブユニットと、
    複数のポートを有し、当該複数のポートの少なくとも一つに前記複数の第1のドライブユニットの少なくとも一つを接続する複数の第1のスイッチデバイスと、
    複数のポートを有し、当該複数のポートの少なくとも一つに前記複数の第1のドライブユニットの少なくとも一つを接続する複数の第2のスイッチデバイスであって、それぞれが前記複数の第1のスイッチのそれぞれに対応する複数の第2のスイッチデバイスと、
    複数のポートを有し、当該複数のポートの少なくとも一つに前記複数の第2のドライブユニットの少なくとも一つを接続する複数の第3のスイッチデバイスと、
    複数のポートを有し、当該複数のポートの少なくとも一つに前記複数の第2のドライブユニットの少なくとも一つを接続する複数の第4のスイッチデバイスと、
    前記複数の第1のスイッチデバイスの少なくとも一つを接続し、前記複数の第1のドライブユニットを制御するとともに、前記複数の第3のスイッチデバイスの少なくとも一つを接続し、前記複数の第2のドライブユニットを制御する第1のディスクコントローラと、
    前記複数の第2のスイッチデバイスの少なくとも一つを接続し、前記複数の第1のドライブユニットを制御するとともに、前記複数の第4のスイッチデバイスの少なくとも一つを接続し、前記複数の第2のドライブユニットを制御する第1のディスクコントローラと、を備え、
    前記複数の第1のスイッチデバイスのそれぞれにおける前記複数のポートの少なくとも一つと前記対応する複数の第2のスイッチデバイスのそれぞれにおける前記複数のポートの少なくとも一つとは接続され、
    前記複数の第3のスイッチデバイスのそれぞれにおける前記複数のポートの少なくとも一つと前記対応する複数の第4のスイッチデバイスのそれぞれにおける前記複数のポートの少なくとも一つとは接続されていることを特徴とするストレージサブシステム。
  13. 縦列接続された複数の第1のスイッチデバイスを介して接続された複数のドライブユニットを制御する第1のコントローラ及び縦列接続され、前記複数の第1のスイッチデバイスに対応付けられた複数の第2のスイッチデバイスを介して接続された前記複数のドライブユニットを制御する第2のコントローラを含むストレージサブシステムにおけるスイッチデバイス間コネクションパスの制御方法であって、
    前記第1のコントローラ及び前記第2のディスクコントローラの少なくとも一方が、自身に接続された前記複数のスイッチデバイスを介して、前記複数のドライブユニットの少なくとも一つにアクセスするためのコマンドに基づくデータフレームを送信するステップと、
    前記少なくとも一方のディスクコントローラが、前記コマンドに応答して前記複数のスイッチデバイスを介して送信されてくるデータフレームを受信し、当該受信したデータフレームにおけるエラーをチェックするステップと、
    前記少なくとも一方のディスクコントローラが、前記チェックの結果、前記データフレームにおいてエラーを検出した場合に、前記複数のスイッチデバイスに対してエラー情報送信要求を送信するステップと、
    前記少なくとも一方のディスクコントローラが、前記エラー情報送信要求に応答して送信されてくるエラー情報を受信するステップと、
    前記少なくとも一方のディスクコントローラが、前記受信したエラー情報に基づいて、エラーが検出されたスイッチデバイス及び当該スイッチデバイスのポートを障害部位として特定するステップと、
    前記少なくとも一方のディスクコントローラが、前記特定した障害部位に基づいて、所定のコネクションパス再構築パターンに従い、前記スイッチデバイス間コネクションパスを変更するステップと、
    を含むことを特徴とする制御方法。
  14. 請求項13に記載の制御方法であって、
    前記変更するステップは、前記特定した障害部位を迂回するように、前記複数の第1のスイッチデバイスの少なくとも一つとこれに対応する前記複数の第2のスイッチデバイスの少なくとも一つとの接続状態を有効状態にセットすることを特徴とする制御方法。
JP2008029561A 2008-02-08 2008-02-08 ストレージサブシステム及びこれの制御方法 Expired - Fee Related JP5127491B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008029561A JP5127491B2 (ja) 2008-02-08 2008-02-08 ストレージサブシステム及びこれの制御方法
US12/100,569 US7774641B2 (en) 2008-02-08 2008-04-10 Storage subsystem and control method thereof
EP08253957.8A EP2088508B1 (en) 2008-02-08 2008-12-10 Storage subsystem and control method thereof
CN2009100059659A CN101504592B (zh) 2008-02-08 2009-01-22 存储子系统及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008029561A JP5127491B2 (ja) 2008-02-08 2008-02-08 ストレージサブシステム及びこれの制御方法

Publications (2)

Publication Number Publication Date
JP2009187483A true JP2009187483A (ja) 2009-08-20
JP5127491B2 JP5127491B2 (ja) 2013-01-23

Family

ID=40592070

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008029561A Expired - Fee Related JP5127491B2 (ja) 2008-02-08 2008-02-08 ストレージサブシステム及びこれの制御方法

Country Status (4)

Country Link
US (1) US7774641B2 (ja)
EP (1) EP2088508B1 (ja)
JP (1) JP5127491B2 (ja)
CN (1) CN101504592B (ja)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011108006A (ja) * 2009-11-18 2011-06-02 Nec Corp ディスクアレイ装置の故障診断システム、故障診断方法、故障診断プログラムおよびディスク装置
WO2012140692A1 (en) 2011-04-12 2012-10-18 Hitachi, Ltd. Storage apparatus and method of controlling the same
JP2013516666A (ja) * 2010-06-02 2013-05-13 株式会社日立製作所 バックエンドでの通信の規格がsasであるストレージシステム
EP2677430A1 (en) 2012-05-28 2013-12-25 Fujitsu Limited Relay device, connection management method, and information communication system
JP2014194610A (ja) * 2013-03-28 2014-10-09 Fujitsu Ltd ストレージ装置、制御装置、及びメモリ装置
JP2015525910A (ja) * 2012-07-17 2015-09-07 株式会社日立製作所 ディスクアレイシステム及び接続方法
JP2016212515A (ja) * 2015-04-30 2016-12-15 富士通株式会社 通信システム,制御装置および管理装置
JP2017535195A (ja) * 2014-11-11 2017-11-24 華為技術有限公司Huawei Technologies Co.,Ltd. Sasシステム、sasシステムトラバーサル方法および装置
JP2018060419A (ja) * 2016-10-06 2018-04-12 富士通株式会社 ストレージ制御装置およびストレージ装置
US10409660B2 (en) 2015-06-05 2019-09-10 Hitachi Ltd. Storage system and control method therefor
JP2019200709A (ja) * 2018-05-18 2019-11-21 キヤノン株式会社 ストレージシステム及びその制御方法、プログラム、並びに記憶制御システム
US10509700B2 (en) 2015-11-10 2019-12-17 Hitachi, Ltd. Storage system and storage management method
JP2019220107A (ja) * 2018-06-22 2019-12-26 日本電気株式会社 コンピュータシステム
JP2020095550A (ja) * 2018-12-13 2020-06-18 株式会社日立製作所 ストレージ装置及びストレージ装置における構成管理リクエストの処理方法
JP2021192306A (ja) * 2018-11-07 2021-12-16 株式会社日立製作所 ストレージシステム

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7882389B2 (en) * 2008-11-18 2011-02-01 International Business Machines Corporation Dynamic reassignment of devices attached to redundant controllers
WO2010116538A1 (en) * 2009-04-06 2010-10-14 Hitachi, Ltd. Storage apparatus and data transfer method
US8407527B1 (en) * 2009-06-30 2013-03-26 Emc Corporation Diagnosing hardware faults in a data storage system
CN101615145B (zh) * 2009-07-24 2011-12-07 中兴通讯股份有限公司 一种提高存储器数据缓存可靠性的方法和装置
JP5358736B2 (ja) * 2009-11-10 2013-12-04 株式会社日立製作所 複数のコントローラを備えたストレージシステム
US8468385B1 (en) * 2010-10-27 2013-06-18 Netapp, Inc. Method and system for handling error events
US9015519B2 (en) * 2012-01-31 2015-04-21 Symantec Corporation Method and system for cluster wide adaptive I/O scheduling by a multipathing driver
US20130232377A1 (en) * 2012-03-01 2013-09-05 Hitachi, Ltd. Method for reusing resource and storage sub-system using the same
US9135097B2 (en) * 2012-03-27 2015-09-15 Oracle International Corporation Node death detection by querying
WO2014081414A1 (en) * 2012-11-20 2014-05-30 Empire Technology Development Llc Multi-element solid-state storage device management
WO2015121998A1 (ja) * 2014-02-17 2015-08-20 株式会社日立製作所 ストレージシステム
JP6185668B2 (ja) * 2014-07-25 2017-08-23 株式会社日立製作所 ストレージ装置
CN105743731B (zh) 2014-12-11 2019-03-29 国际商业机器公司 用于存储系统中的故障检测的方法和装置
US10644976B2 (en) * 2015-05-18 2020-05-05 Denso Corporation Relay apparatus
US10372364B2 (en) * 2016-04-18 2019-08-06 Super Micro Computer, Inc. Storage enclosure with daisy-chained sideband signal routing and distributed logic devices
US10365981B2 (en) 2016-08-19 2019-07-30 Samsung Electronics Co., Ltd. Adaptive multipath fabric for balanced performance and high availability
US10353640B2 (en) * 2016-12-06 2019-07-16 Dell Products L.P. Seamless data migration in a clustered environment
US10402361B2 (en) * 2017-04-28 2019-09-03 Hitachi, Ltd. Storage system
JP6899852B2 (ja) * 2019-01-15 2021-07-07 株式会社日立製作所 ストレージ装置
US11023402B2 (en) * 2019-07-02 2021-06-01 National Instruments Corporation Switch pruning in a switch fabric bus chassis
JP7080863B2 (ja) * 2019-08-02 2022-06-06 株式会社日立製作所 ストレージ装置
US11163630B2 (en) * 2019-10-18 2021-11-02 Dell Products L.P. Using real-time analytics to manage application features

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10243096A (ja) * 1997-02-24 1998-09-11 Yuseisho Tsushin Sogo Kenkyusho コネクション型通信網での障害回復方式および輻輳回復方式
JP2002185484A (ja) * 2000-12-14 2002-06-28 Hitachi Ltd 情報ネットワークの制御方法および情報処理システム
JP2007141185A (ja) * 2005-11-22 2007-06-07 Hitachi Ltd 記憶制御装置及び記憶制御装置のエラー情報管理方法
JP2007272702A (ja) * 2006-03-31 2007-10-18 Nec Corp ディスクアレイサブシステム、冗長性維持方法、および冗長性維持プログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5617425A (en) * 1993-05-26 1997-04-01 Seagate Technology, Inc. Disc array having array supporting controllers and interface
US7127633B1 (en) * 2001-11-15 2006-10-24 Xiotech Corporation System and method to failover storage area network targets from one interface to another
GB0214669D0 (en) * 2002-06-26 2002-08-07 Ibm Method for maintaining data access during failure of a controller
JP2005222379A (ja) * 2004-02-06 2005-08-18 Hitachi Ltd ディスクアレイ装置およびその障害回避制御方法
JP2006072717A (ja) * 2004-09-02 2006-03-16 Hitachi Ltd ディスクサブシステム
US20060106947A1 (en) * 2004-11-18 2006-05-18 Benhase Michael T Information storage and retrieval system comprising a storage controller and a fibre channel switch controller
JP4713902B2 (ja) * 2005-03-01 2011-06-29 株式会社日立製作所 ストレージシステム
US7302539B2 (en) * 2005-04-20 2007-11-27 Hewlett-Packard Development Company, L.P. Migrating data in a storage system
JP2007206766A (ja) * 2006-01-31 2007-08-16 Fujitsu Ltd データストレージシステム、データストレージ制御装置及びその障害箇所診断方法。
US7761657B2 (en) * 2006-07-10 2010-07-20 Hitachi, Ltd. Storage control system, control method for storage control system, port selector, and controller
US7596723B2 (en) * 2006-09-22 2009-09-29 International Business Machines Corporation Apparatus, system, and method for selective cross communications between autonomous storage modules

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10243096A (ja) * 1997-02-24 1998-09-11 Yuseisho Tsushin Sogo Kenkyusho コネクション型通信網での障害回復方式および輻輳回復方式
JP2002185484A (ja) * 2000-12-14 2002-06-28 Hitachi Ltd 情報ネットワークの制御方法および情報処理システム
JP2007141185A (ja) * 2005-11-22 2007-06-07 Hitachi Ltd 記憶制御装置及び記憶制御装置のエラー情報管理方法
JP2007272702A (ja) * 2006-03-31 2007-10-18 Nec Corp ディスクアレイサブシステム、冗長性維持方法、および冗長性維持プログラム

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011108006A (ja) * 2009-11-18 2011-06-02 Nec Corp ディスクアレイ装置の故障診断システム、故障診断方法、故障診断プログラムおよびディスク装置
JP2013516666A (ja) * 2010-06-02 2013-05-13 株式会社日立製作所 バックエンドでの通信の規格がsasであるストレージシステム
WO2012140692A1 (en) 2011-04-12 2012-10-18 Hitachi, Ltd. Storage apparatus and method of controlling the same
US8667337B2 (en) 2011-04-12 2014-03-04 Hitachi, Ltd. Storage apparatus and method of controlling the same
EP2677430A1 (en) 2012-05-28 2013-12-25 Fujitsu Limited Relay device, connection management method, and information communication system
JP2015525910A (ja) * 2012-07-17 2015-09-07 株式会社日立製作所 ディスクアレイシステム及び接続方法
JP2014194610A (ja) * 2013-03-28 2014-10-09 Fujitsu Ltd ストレージ装置、制御装置、及びメモリ装置
US10049068B2 (en) 2014-11-11 2018-08-14 Huawei Technologies Co., Ltd. SAS system, SAS system traversal method, and apparatus
JP2017535195A (ja) * 2014-11-11 2017-11-24 華為技術有限公司Huawei Technologies Co.,Ltd. Sasシステム、sasシステムトラバーサル方法および装置
JP2016212515A (ja) * 2015-04-30 2016-12-15 富士通株式会社 通信システム,制御装置および管理装置
US10235315B2 (en) 2015-04-30 2019-03-19 Fujitsu Limited Communication system, control apparatus, and management apparatus for waveform adjustment based on cable types
US10409660B2 (en) 2015-06-05 2019-09-10 Hitachi Ltd. Storage system and control method therefor
US10509700B2 (en) 2015-11-10 2019-12-17 Hitachi, Ltd. Storage system and storage management method
JP2018060419A (ja) * 2016-10-06 2018-04-12 富士通株式会社 ストレージ制御装置およびストレージ装置
JP2019200709A (ja) * 2018-05-18 2019-11-21 キヤノン株式会社 ストレージシステム及びその制御方法、プログラム、並びに記憶制御システム
JP7179489B2 (ja) 2018-05-18 2022-11-29 キヤノン株式会社 ストレージシステム及びその制御方法、プログラム、並びに記憶制御システム
JP2019220107A (ja) * 2018-06-22 2019-12-26 日本電気株式会社 コンピュータシステム
JP7087719B2 (ja) 2018-06-22 2022-06-21 日本電気株式会社 コンピュータシステム
JP2021192306A (ja) * 2018-11-07 2021-12-16 株式会社日立製作所 ストレージシステム
JP7213928B2 (ja) 2018-11-07 2023-01-27 株式会社日立製作所 ストレージシステム
JP2020095550A (ja) * 2018-12-13 2020-06-18 株式会社日立製作所 ストレージ装置及びストレージ装置における構成管理リクエストの処理方法

Also Published As

Publication number Publication date
CN101504592A (zh) 2009-08-12
EP2088508A3 (en) 2009-09-02
US7774641B2 (en) 2010-08-10
JP5127491B2 (ja) 2013-01-23
US20090204743A1 (en) 2009-08-13
EP2088508A2 (en) 2009-08-12
EP2088508B1 (en) 2013-09-04
CN101504592B (zh) 2011-04-13

Similar Documents

Publication Publication Date Title
JP5127491B2 (ja) ストレージサブシステム及びこれの制御方法
US8392752B2 (en) Selective recovery and aggregation technique for two storage apparatuses of a raid
US7529965B2 (en) Program, storage control method, and storage system
US8423818B2 (en) Disk array apparatus and method for controlling the same
JP2007072571A (ja) 計算機システム及び管理計算機ならびにアクセスパス管理方法
US8775867B2 (en) Method and system for using a standby server to improve redundancy in a dual-node data storage system
US11573737B2 (en) Method and apparatus for performing disk management of all flash array server
JP4939205B2 (ja) データ記憶システムに配置された記憶アレイを再構成するための装置及び方法
US9092398B2 (en) Restoring expander operations in a data storage switch
US8095820B2 (en) Storage system and control methods for the same
JP2000181887A (ja) 情報処理装置における障害処理方法及び記憶制御装置
JP2017010390A (ja) ストレージ制御装置、ストレージ制御プログラム、およびストレージ制御方法
US8782465B1 (en) Managing drive problems in data storage systems by tracking overall retry time
CN114868117A (zh) 通过控制总线进行的对等存储设备消息传送
US7904747B2 (en) Restoring data to a distributed storage node
US8381027B1 (en) Determining alternate paths in faulted systems
US8065556B2 (en) Apparatus and method to manage redundant non-volatile storage backup in a multi-cluster data storage system
US7529776B2 (en) Multiple copy track stage recovery in a data storage system
US10915405B2 (en) Methods for handling storage element failures to reduce storage device failure rates and devices thereof
JP3776438B2 (ja) 記憶装置
WO2017081748A1 (ja) ストレージシステム、及び、ストレージ管理方法
US20220066889A1 (en) Method and apparatus for performing node information exchange management of all flash array server
JP2007334764A (ja) Nasシステムおよびnasシステムの情報処理方法
RU2810634C2 (ru) Способ повышения надежности систем хранения данных и соответствующее устройство
KR100363221B1 (ko) 대용량 디스크 저장 장치 및 이를 위한 폴트 톨로런스제공 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100903

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120604

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: 20121002

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: 20121030

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5127491

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20151109

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees