JP5416843B2 - ストレージ装置、及びストレージ装置の制御方法 - Google Patents

ストレージ装置、及びストレージ装置の制御方法 Download PDF

Info

Publication number
JP5416843B2
JP5416843B2 JP2012530011A JP2012530011A JP5416843B2 JP 5416843 B2 JP5416843 B2 JP 5416843B2 JP 2012530011 A JP2012530011 A JP 2012530011A JP 2012530011 A JP2012530011 A JP 2012530011A JP 5416843 B2 JP5416843 B2 JP 5416843B2
Authority
JP
Japan
Prior art keywords
controller
expander
connection
diagnosis
physical port
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
JP2012530011A
Other languages
English (en)
Other versions
JP2013515981A (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
Publication of JP2013515981A publication Critical patent/JP2013515981A/ja
Application granted granted Critical
Publication of JP5416843B2 publication Critical patent/JP5416843B2/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/079Root cause analysis, i.e. error or fault diagnosis
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、ストレージ装置、及びストレージ装置の制御方法に関し、とくに障害が発生した場合に障害部位を精確に特定するための技術に関する。
特許文献1には、ハードディスクドライブを接続するインタフェースとしてSAS(Serial Attached SCSI)のエキスパンダを備え、ストレージコントローラに複数のエキスパンダをカスケード接続したストレージシステムに関し、拡張性や高可用性を確保するための構成が開示されている。
特許文献2には、計算機と、計算機に接続される第1記憶装置と、第1記憶装置に外部接続される第2記憶装置とを備え、第1記憶装置が第1記憶領域を計算機に提供し、第2記憶装置が第1記憶領域に対応する第2記憶領域を備える計算機システムに関し、経路障害による業務の停止を防ぐべく第1経路から第4経路の少なくとも一つに障害が発生したか否かを判定し、判定結果に基づき第1記憶領域又は第2記憶領域へのアクセスに使用される経路を選択し、選択された経路を用いて第1記憶領域又は第2記憶領域へのアクセス要求を送信することが記載されている。
特開2009−211140号公報 特開2009−259031号公報
カスケード接続されたエキスパンダを用いてストレージコントローラに接続されたハードディスクドライブを備えるストレージシステムにおいて、障害が発生した際の障害部位を特定する方法としてストレージコントローラからデータフレームを送信してその応答を参照するループバック診断がある。
しかしデータフレームを送信する上記ループバック診断では、例えばエキスパンダのコネクション系のフレームの処理を行っているハードウエア又はソフトウエアについては障害の有無を判断することができない。そのため、障害発生時に障害部位以外の正常な部位も停止又は閉塞する必要があり、障害の影響が不必要に拡大する場合がある。またエキスパンダはその通信ポートに実際に装置が接続されていないと活性化しない機能を備えていることがあり、通信ポートに装置が接続されていない場合はそのような機能について生じている障害を検知することができない。
本発明はこのような背景に鑑みてなされたもので、障害が発生した場合に障害部位を精確に特定することが可能なストレージ装置、及びストレージ装置の制御方法を提供することを目的とする。
上記目的を達成するための本発明の一つは、外部装置から送られてくるデータ入出力要求に応じて記憶ドライブに対するデータの書き込み又はデータの読み出しを行うコントローラと、一つ以上の物理ポートを有するスイッチ回路を備える一つ以上のエキスパンダとを備え、前記コントローラと前記記憶ドライブとが前記スイッチ回路を介して通信可能に接続される、ストレージ装置であって、前記コントローラは、前記エキスパンダを対象としてループバック診断を行い、前記ループバック診断にて障害が検知されている装置であるターゲットデバイスにコネクション系フレームを送信して行うコネクション系診断を行い、前記コネクション系フレームに対する応答に障害を示す情報が含まれていた場合に、前記ターゲットデバイスが接続している前記物理ポート、又は当該コントローラから前記ターゲットデバイスに至る経路に存在する前記スイッチ回路の前記物理ポートを閉塞し、前記コントローラは、前記コントローラから前記ターゲットデバイスに至る経路にワイドリンクが存在する場合、前記ワイドリンクに含まれる特定の経路を残し前記ワイドリンクの前記特定の経路以外の経路を閉塞してから前記コネクション系診断を開始し、前記コントローラは、前記コネクション系フレームに対する応答に障害を示す情報が含まれていなかった場合に、前記コントローラから前記コネクション系フレームを送信した前記ターゲットデバイスに至る経路に存在する、前記コネクション系フレームを未送信の前記スイッチ回路にコネクション系フレームを送信して前記コネクション系診断をさらに行い、前記コネクション系フレームに対する応答に障害を示す情報が含まれていた場合は前記スイッチ回路の前記物理ポートを閉塞し、前記コントローラは、前記ターゲットデバイスを特定する情報又は前記閉塞した前記物理ポートを特定する情報を前記外部装置に送信し、前記コントローラは、リンクの異常を通知してきた前記エキスパンダを対象として前記ループバック診断のコマンドを送信し、前記エキスパンダは、前記物理ポートにSATAデバイスが接続されている場合にそのSATAデバイスをSASデバイスとしてアクセスできるようにする機能である仮想接続機能を提供するSTP/SATAブリッジを備え、前記コントローラは、前記エキスパンダの前記物理ポートにSATAデバイスが接続されていない場合は前記仮想接続機能を活性化させてから前記ループバック診断及び/又は前記コネクション系診断を行い、前記コントローラは、前記エキスパンダの前記物理ポートにSATAデバイスが接続されておらず、かつ、前記エキスパンダに未使用の前記物理ポートが存在しない場合は、前記エキスパンダの使用中の前記物理ポートを閉塞した後に前記仮想接続機能を活性化させてから前記ループバック診断及び/又は前記コネクション系診断を行い、前記コントローラは、前記外部装置と通信する通信インタフェース、前記記憶ドライブと通信するドライブインタフェース、キャッシュメモリ、及び前記コントローラと前記キャッシュメモリとの間又は前記キャッシュメモリと前記記憶ドライブとの間のデータ転送を行うデータコントローラを備え、前記エキスパンダは、プロセッサ、メモリ、前記コントローラ又は他の前記エキスパンダと通信する通信インタフェース、前記物理ポートとして機能するPhyを有する前記スイッチ回路、ルーティング設定又はゾーニング設定を行うECM(Expander Connection Manager)、前記ルーティング設定又はゾーニング設定に従い前記Phy間のデータ転送を制御するECR(Expander Connection Router)、及び前記Phyの夫々の装置の接続状態又は前記Phyの夫々の障害の有無の監視を行うBPP(Broadcast Primitive Processor)を備えることとする。
その他本願が開示する課題やその解決方法については、発明の実施形態の欄及び図面により明らかにされる。
本発明によれば、ストレージ装置に障害が発生した場合に障害部位を精確に特定することができる。
ストレージシステム1の概略的な構成を示す図である。 ストレージ装置10のハードウエア構成を示す図である。 コントローラ11及びエンクロージャ12の主な機能を示す図である。 ストレージ装置10の基本的な動作を説明する図である。 ストレージ装置10の基本的な動作を説明する図である。 障害監視部1113が備える機能及びデータを示す図である。 装置情報管理テーブル621を示す図である。 エキスパンダ112,121のハードウエア構成を示す図である。 エキスパンダ112,121が備える主な機能及びデータを示す図である。 接続装置管理テーブル721を示す図である。 ループバック診断処理S1100を説明するフローチャートである。 コネクション系診断処理S1200を説明するフローチャートである。 コントローラ11及びエキスパンダ112,121の接続状態の一例である。 コントローラ11が保持する装置情報管理テーブル621の一例である。 「Expander1」が保持する接続装置管理テーブル721の一例である。 「Expander2」が保持する接続装置管理テーブル721の一例である。 「Expander3」が保持する接続装置管理テーブル721の一例である。 障害部位特定処理S1800を説明するフローチャートである。 メイン処理S1900を説明するフローチャートである。 診断処理S2000を説明するフローチャートである。
以下、実施形態について説明する。
第1実施形態
図1に第1実施形態として説明するストレージシステム1の概略的な構成を示している。同図に示すように、ストレージシステム1は、ストレージ装置10と、このストレージ装置10と通信ネットワーク5を介して通信可能に接続している一台以上の外部装置2(ホスト装置)とを含んで構成されている。
通信ネットワーク5は、例えばLAN(Local Area Network)、SAN(Storage Area Network)、インターネット、公衆通信網等である。外部装置2とストレージ装置10との間の通信は、例えばTCP/IP、iSCSI(internet Small Computer System Interface)、ファイバーチャネルプロトコル(Fibre Channel Protocol)、FICON(Fibre Connection)(登録商標)、ESCON(Enterprise System Connection) (登録商標)、ACONARC(Advanced Connection Architecture)(登録商標)、FIBARC(Fibre Connection Architecture)(登録商標)等のプロトコルを用いて行われる。
外部装置2は、ストレージ装置10が提供する記憶領域をデータの格納場所として利用する情報処理装置(コンピュータ)であり、例えばパーソナルコンピュータ、メインフレーム(Mainframe)、オフィスコンピュータ等である。外部装置2は、上記記憶領域にアクセスする際、ストレージ装置10にデータ入出力要求(以下、データI/O要求と称する。)を送信する。
ストレージ装置10は、基本筐体101と、基本筐体101にカスケード接続される一台以上の増設筐体102とを備える。このうち基本筐体101は、2つのコントローラ11A,11Bと、これらコントローラ11A,11Bと通信可能に接続される一台以上の記憶ドライブ171とを備えている。コントローラ11A,11Bの間は、バス等の通信線15を介して通信可能に接続している。
コントローラ11A,11B並びに記憶ドライブ171はいずれもユニット化されており、これらは基本筐体101に設けられている装着スロットに沿って挿抜されることにより基本筐体101に脱着される。図示していないが、基本筐体101には、さらに記憶ドライブ171等の発熱体を冷却するための冷却装置(冷却ファン等)、コントローラ11A,11B、記憶ドライブ171、冷却装置等を駆動するための電源装置などの各種の装置が付設されている。
増設筐体102は、2つのエンクロージャ12A,12B(Enclosure)とこれらエンクロージャ12A,12Bと通信可能に接続される一台以上の記憶ドライブ171を備えている。エンクロージャ12A,12Bは、バス等の通信線15を介して互いに通信可能に接続している。エンクロージャ12A,12Bはいずれもユニット化されており、増設筐体102に設けられている装着スロットに沿って挿抜されることにより増設筐体102に脱着することができる。図示していないが、増設筐体102には、さらに記憶ドライブ171等の発熱体を冷却するための冷却装置(冷却ファン等)、記憶ドライブ171、冷却装置等を駆動するための電源装置などの各種の装置が付設されている。
基本筐体101もしくは増設筐体102に設けられる記憶ドライブ171は、SAS(Serial Attached SCSI)、SATA(Serial ATA)、FC(Fibre Channel)、PATA(Parallel ATA)、SCSI(Small Computer System Interface)等のハードディスクドライブ(Hard Disk Drive)、半導体記憶装置(SSD(Solid State Drive))などである。
図2にストレージ装置10のハードウエア構成を示している。同図に示すように、基本筐体101が備えるコントローラ11A,11Bは、夫々、通信I/F31A,31B、データコントローラ32A,32B(DCTL)、ドライブI/F33A,33B(記憶媒体制御部)、キャッシュメモリ34A,34B(CM)、ブリッジ35A,35B、CPU36A,36B、ローカルメモリ37A,37B(LM)、及びエキスパンダ112A,112Bを備える。尚、キャッシュメモリ34A(又はキャッシュメモリ34B)の記憶領域の全部又は一部は2つのコントローラ11A,11B間で共有されており、コントローラ11A,11Bの一方に障害が発生した場合や一方が過負荷となった場合は、フェールオーバや負荷分散のために一方が保持している情報を他方に引き継ぐことができるようになっている。
増設筐体102はエキスパンダ121A,121Bを備えている。基本筐体101又は増設筐体102に設けられる記憶ドライブ171は、エキスパンダ112A,112B,121A,121Bによって構成されるファイバチャネルループ106を介して互いに通信可能に接続されている。尚、以下ではコントローラ11A,11Bと記憶ドライブ171との間の通信手段がファイバチャネルループ106であることを前提として説明するが、コントローラ11A,11Bと記憶ドライブ171との間の通信手段は必ずしもファイバチャネルループ106に限られない。
図3にコントローラ11(11A,11B)及びエンクロージャ12(12A,12B)が備える主な機能を示している。以下の説明において、例えばコントローラ11Aとコントローラ11Bが備える機能のように、両者で共通する機能について説明する場合には、「11A」や「11B」のように符号に後続して付している「A」や「B」の符号を省略して「11」のように単に数字の符号のみを表記している。
コントローラ11のドライブ制御部111は、I/O処理部1111、記憶ドライブ制御部1112、及び障害監視部1113の各機能を備えている。尚、ドライブ制御部111の機能は、CPU36がコントローラ11のローカルメモリ37に格納されているプログラムを読み出して実行することにより実現される。
I/O処理部1111は、ストレージ装置10が外部装置2との間で行う通信に際して主にデータ転送プロトコルに関する制御を行う。I/O処理部1111は、外部装置2から送られてくるデータI/O要求(データ書き込み要求、データ読み出し要求等)を受け付けると、エキスパンダ112,121に対し、記憶ドライブ171へのアクセス要求を送信する。またI/O処理部1111は、データI/O要求に応じて実行した処理についての応答(読み出したデータ、読み出し完了報告、書き込み完了報告等)を外部装置2に送信する。
I/O処理部1111は、データI/O要求に関する処理に際し、例えば記憶ドライブ171に書き込むデータ(以下、書き込みデータと称する。)や記憶ドライブ171から読み出したデータ(以下、読み出しデータと称する。)について、記憶ドライブ171からキャッシュメモリ34(CM)へのデータの読み出し(ステージング(Staging ))やキャッシュメモリ34(CM)から記憶ドライブ171へのデータの書き出し(デステージング(Destaging))を行う。またI/O処理部1111は、エキスパンダ112,121に対して記憶ドライブ171へのアクセス要求(以下、ドライブアクセス要求と称する。)を送信し、エキスパンダ112,121が上記ドライブアクセス要求に応じて送信する応答(記憶ドライブ171から読み出したデータ、記憶ドライブ171からの読み出し完了報告、記憶ドライブ171への書き込み完了報告等)を受信する。
ドライブ制御部111の記憶ドライブ制御部1112は、記憶ドライブ171の制御(例えばRAID(Redundant Arrays of Inexpensive (or Independent) Disks))方式(RAID0〜6)に関する制御)や、記憶ドライブ171の構成情報の管理(記憶ドライブ171の接続状態の管理、RAIDの構成情報の管理)などを行う。
ドライブ制御部111の障害監視部1113は、基本筐体101のコントローラ11が備えるエキスパンダ112、増設筐体102のエンクロージャ12が備えるエキスパンダ121、及び基本筐体101や増設筐体102に接続されている記憶ドライブ171等の障害監視や障害対応に関する処理を行う。
エキスパンダ112,121は、コントローラ11のドライブ制御部111と、記憶ドライブ171との間で行われる通信(Interconnect)を実現する中継装置(データ転送スイッチ)として機能する。エキスパンダ112,121は、複数の記憶ドライブ171を通信可能に接続するデバイス拡張スイッチとしての役割を有する。エキスパンダ112,121は、SMP(Serial Management Protocol)、SSP(Serial SCSI Protocol)、STP(Serial ATA tunneling Protocol)等のプロトコルにおけるイニシエータ(Initiator)又はターゲット(Target)として機能する。エキスパンダ112,121は、例えばコントローラ11のドライブ制御部111を基点(ルート)とするツリー型のネットワークトポロジーを構成する。
図4はストレージ装置10の基本的な動作を説明する図であり、ストレージ装置10が外部装置2からデータ書き込み要求を含んだフレームを受信した場合に、I/O処理部1111によって行われる処理(以下、データ書き込み処理S400と称する。)を説明するフローチャートである。以下、同図とともにデータ書き込み処理S400について説明する。尚、以下の説明において、符号の前に付している「S」の文字はステップを意味する。
外部装置2から送信されてくるフレームは、まずストレージ装置10の通信I/F31によって受信される(S411,S412)。通信I/F31は、フレームを受信するとその旨をデータコントローラ32に通知する(S413)。
データコントローラ32は、通信I/F31から上記通知を受信すると(S421)、当該フレームのデータ書き込み要求に基づくドライブ書き込み要求を生成し、書き込みデータをキャッシュメモリ34に格納する。そしてデータコントローラ32は、生成したドライブ書き込み要求をドライブI/F33に送信する(S422,S423)。通信I/F31は、外部装置2に完了報告を送信し(S414)、外部装置2は完了報告を受信する(S415)。
ドライブI/F33は、ドライブ書き込み要求を受信すると、受信したドライブ書き込み要求を図示しない書き込み処理待ちキューに登録する(S424)。ドライブI/F33は、書き込み処理待ちキューからドライブ書き込み要求を随時読み出す(S425)。ドライブI/F33は、読み出したドライブ書き込み要求に指定されている書き込みデータをキャッシュメモリ34から読み出し、読み出した書き込みデータを記憶ドライブ171に書き込む(S426)。
次にドライブI/F33は、ドライブ書き込み要求について書き込みデータの書き込みが完了した旨の報告(完了報告)をデータコントローラ32に通知し(S427)、データコントローラ32は、送られてきた完了報告を受信する(S428)。
図5はストレージ装置10の基本的な動作を説明する図であり、ストレージ装置10が外部装置2からデータ読み出し要求を含んだフレームを受信した場合にストレージ装置10のI/O処理部1111によって行われるI/O処理(以下、データ読み出し処理S500と称する。)を説明するフローチャートである。以下、同図とともにデータ読み出し処理S500について説明する。
外部装置2から送信されてくるフレームは、ストレージ装置10の通信I/F31によって受信される(S511,S512)。通信I/F31は、外部装置2からフレームを受信すると、その旨をデータコントローラ32に通知する(S513)。データコントローラ32は、フレームを受信した旨の通知を受けると、ドライブI/F33に、フレームを受信した旨を通知する(S514)。
ドライブI/F33は、通信I/F31から上記通知を受信すると(S515)、当該フレームに含まれているデータ読み出し要求に指定されているデータ(例えばLBA(Logical Block Address)によって指定される)を記憶装置17(記憶ドライブ171)から読み出す(S516)。尚、キャッシュメモリ34に読み出しデータが存在する場合(キャッシュヒットした場合)は記憶装置17からの読み出し処理(S516)は通常は省略される。データコントローラ32は、ドライブI/F33によって読み出されたデータをキャッシュメモリ34に書き込む(S517)。データコントローラ32は、キャッシュメモリ34に書き込んだデータを通信I/F31に随時転送する(S518)。
通信I/F31は、データコントローラ32から送られてくる読み出しデータを外部装置2に順次送信する(S519)。読み出しデータの送信が完了すると、通信I/F31は外部装置2に完了報告を送信する(S520)。外部装置2は送られてきた読み出しデータ及び完了報告を受信する(S521,S522)。
図6に障害監視部1113が備える主な機能及びデータを示している。同図に示すように、障害監視部1113は、ブロードキャスト処理部611、ディスカバー処理部612、ループバック診断処理部613、及び仮想接続設定処理部614の各機能を備える。また障害監視部1113は、装置情報管理テーブル621を管理(記憶)している。
このうちブロードキャスト処理部611は、エキスパンダ112,121のPhy1121が送信したブロードキャストフレームを受信すると、ディスカバー処理部612にその旨を通知する。
ディスカバー処理部612は、ブロードキャスト処理部611から上記通知を受信すると、コントローラ11、エキスパンダ112,121、及び記憶ドライブ171を結ぶ通信経路にディスカバーコマンド(Discover Command)を送信する。
ディスカバーコマンドは、エキスパンダ112,121の構成や状態を示す情報、エキスパンダ112,121の各Phy1121に現在どのような装置が接続されているのかを示す情報、接続されている装置の状態(障害の有無等)や通信状態(Link異常の有無等)を示す情報(以下、構成情報と称する。)を取得する際に発行されるコマンドである。ディスカバーコマンドの具体例として、前述したSMPが発行する「Discover」、SSPが発行する「SSP Discover Extended」などがある。ディスカバー処理部612はディスカバーコマンドに応じてエキスパンダ112,121が返送する構成情報に基づき装置情報管理テーブル621の内容を随時更新する。
ループバック診断処理部613は、エキスパンダ112,121にループバックテスト(Loopback Test)の実行を指示するループバック診断コマンドを送信する。ループバック診断コマンドとして、例えば「SAS Buffer Loopback」などがある。例えばループバック診断処理部613は、ディスカバー処理部612がエキスパンダ112,121から受信した構成情報に通信異常を示す情報が含まれていたことを契機としてループバック診断コマンドを送信する。
仮想接続設定処理部614は、後述する接続装置管理テーブル721のSATAデバイス仮想接続フラグ7216に「オン」又は「オフ」を設定することによりSTP/SATAブリッジ714の機能の活性/非活性を制御する。
装置情報管理テーブル621には、エキスパンダ112,121及びエキスパンダ112,121のPhy1121に現在接続している装置(例えば記憶ドライブ171)に関する情報が管理される。ディスカバー処理部612は、ディスカバーコマンドに対する応答としてエキスパンダ112,121から通知される構成情報に基づき、装置情報管理テーブル621の内容を更新する。
図7に障害監視部1113が管理する装置情報管理テーブル621の一例を示している。同図に示すように、装置情報管理テーブル621は、装置ID6211、障害情報6212、及びPhy状態6213の各項目を有する1つ以上のレコードからなる。
装置ID6211には、エキスパンダ112,121の識別子、又はエキスパンダ112,121が備えるPhy1121に接続している装置(例えば記憶ドライブ171)の識別子(以下、装置IDと称する。)が設定される。障害情報6212には、その装置の障害の有無を示す情報(障害有り/障害無し)が設定される。Phy状態6213には、エキスパンダ112,121のPhy1121の状態を示す情報(利用可(Enable)/閉塞中(Disable))が設定される。
図8にエキスパンダ112,121のハードウエア構成を示している。同図に示すように、エキスパンダ112,121は、複数の通信ポート(以下、Phy1121と称する。)、スイッチ回路1122、プロセッサ1123、メモリ1124、及び通信インタフェース1125を備える。
同図に示すPhy1121はSerDes(Serializer/DeSerializer)等のシリアルパラレル変換回路を備える。スイッチ回路1122は、メモリ1124に格納されているルーティング(Routing)やゾーニング(Zoning)の設定に従いPhy1121間のデータ転送を制御するECR(Expander Connection Router)、ルーティングやゾーニングの設定を行うECM(Expander Connection Manager)、及びBPP(Broadcast Primitive Processor)等を備える。
BPPはPhy1121に接続されている記憶ドライブ171の挿抜状態、リンクの有無(Linkup/Linkdown)、通信障害の有無等、スイッチ回路1122及びスイッチ回路1122に接続する装置や通信の状態変化を監視する。またBPPは上記状態変化を検知するとPhy1121からブロードキャストフレーム(Broadcast frame)を送信する。
図9にエキスパンダ112,121が備える主な機能及びデータを示している。同図に示すように、エキスパンダ112,121は、ルーティング処理部711、ループバック診断実行部712、ディスカバー応答処理部713、STP/SATAブリッジ714、及びブロードキャスト制御部715の各機能を備える。またエキスパンダ112,121は、接続装置管理テーブル721を管理(記憶)する。
ルーティング処理部711は、ルーティングやゾーニングの設定情報に従い、Phy1121間のデータ転送制御(ルーティング制御)を行う。ルーティング処理部711の機能は例えば前述したECR及びECMによって実現される。
ループバック診断実行部712は、コントローラ11から送信されるループバック診断コマンドに応じてループバック診断を実行し、その結果をコントローラ11に送信する。また後述するように、ループバック診断実行部712は、ループバック診断により所定の種類の異常を見つけるとエキスパンダ112,121のPhy1121を閉塞する。ループバック診断実行部712は、エキスパンダ112,121が備えるハードウエアによって、もしくはエキスパンダ112,121のプロセッサ1123が、メモリ1124に格納されているプログラムを読み出して実行することによって実現される。
ディスカバー応答処理部713は、ディスカバーコマンドを受信すると、コントローラ11に前述した構成情報を送信する。ディスカバー応答処理部713は、エキスパンダ112,121が備えるハードウエアによって、もしくはエキスパンダ112,121のプロセッサ1123が、メモリ1124に格納されているプログラムを読み出して実行することによって実現される。
STP/SATAブリッジ714は、SATA規格の記憶ドライブ171(以下、「SATAデバイス」と称する。)とSAS規格の記憶ドライブ171(以下、「SASデバイス」と称する。)との間のプロトコル変換層として機能する。尚、STP/SATAブリッジ714は複数のイニシエータによる並行アクセスができず(マルチイニシエータ非対応)、セッションが確立されている間はアフィリエーション(Affiliation)を維持することにより排他制御を行う。STP/SATAブリッジ714の機能は、エキスパンダ112,121が備えるハードウエアによって、もしくはエキスパンダ112,121のプロセッサ1123が、メモリ1124に格納されているプログラムを読み出して実行することによって実現される。
STP/SATAブリッジ714は、Phy1121にSATAデバイスが接続されるとそのSATAデバイスにSASの識別子を付与し、そのSATAデバイスをSASデバイスとしてコントローラ11からアクセスできるようにする機能(以下、仮想接続機能と称する。)を備える。
STP/SATAブリッジ714は、Phy1121にSATAデバイスが接続されていない場合は仮想接続機能を停止し、Phy1121にSATAデバイスが接続されていることを検知すると自動的に仮想接続機能を開始する。またSTP/SATAブリッジ714は、後述するSATAデバイス仮想接続フラグ7216の内容を随時参照し、SATAデバイス仮想接続フラグ7216に「オン」が設定されていることを検知するとPhy1121にSATAデバイスが接続されているか否かに拘わらず仮想接続機能を開始する。
ブロードキャスト制御部715は、各Phy1121に接続されている記憶ドライブ171の挿抜状態、リンクの有無(Linkup/Linkdown)、通信障害の有無等、各Phy1121の状態変化の有無を監視し、状態変化を検知するとPhy1121からブロードキャストフレームを送信する。ブロードキャスト制御部715は、例えば、前述したBPPによって、もしくはプロセッサ1123がメモリ1124に格納されているプログラムを読み出して実行することによって実現される。
図10に接続装置管理テーブル721の一例を示している。接続装置管理テーブル721にはエキスパンダ112,121が備えるPhy1121に関する情報が管理される。同図に示すように、接続装置管理テーブル721は、PhyID7211、接続装置ID7212、接続ドライブ種別7213、Phy状態7214、ループバック診断結果7215、及びSATAデバイス仮想接続フラグ7216の各項目を有する1つ以上のレコードからなる。
PhyID7211には、エキスパンダ112,121が備えるPhy1121の識別子(以下、PhyIDと称する。)が設定される。接続装置ID7212には、そのPhy1121に接続している装置(例えば記憶ドライブ171)の装置IDが設定される。
接続ドライブ種別7213には、そのPhy1121に接続している装置の種類を示す情報が設定される。例えばSASに準拠したハードディスクドライブが接続している場合は接続ドライブ種別7213に「SAS」が、SATAに準拠したハードディスクドライブが接続している場合は接続ドライブ種別7213に「SATA」が設定される。
Phy状態7214には、Phy1121の現在の状態を示す情報(利用可(Enable)/閉塞中(Disable))が設定される。ループバック診断結果7215には、ループバック診断実行部712によって行われたループバック診断の結果(正常/異常)が設定される。SATAデバイス仮想接続フラグ7216には、STP/SATAブリッジ714を強制的に機能させるか否かを制御するためのフラグが設定される。強制的に機能させる場合は「オン」を、それ以外は「オフ」を設定する。
次に記憶ドライブ171に関する障害が発生した場合に、コントローラ11のドライブ制御部111と、エキスパンダ112,121との間で行われる処理について説明する。尚、上記障害は、例えば記憶ドライブ171の障害、記憶ドライブ171と当該記憶ドライブ171が接続しているPhy1121との間の通信経路の障害、記憶ドライブ171が接続するエキスパンダ112,121の障害等、前述したブロードキャストフレームが送信される契機となる障害である。
図11は記憶ドライブ171に関する障害が発生した場合にドライブ制御部111又はエキスパンダ112,121によって行われる処理(以下、ループバック診断処理S1100と称する。)を説明するフローチャートである。尚、以下の説明において、符号の前に付した「S」の文字はステップを意味する。以下、同図とともにループバック診断処理S1100について説明する。
エキスパンダ112,121は、記憶ドライブ171に関する障害が発生したか否かを随時監視している(S1111)。障害の発生を検知すると(S1111:YES)、エキスパンダ112,121はPhy1121からブロードキャストフレームを送信する(S1112)。
コントローラ11のドライブ制御部111は、エキスパンダ112,121からブロードキャストフレームを受信すると(S1113)、ディスカバーコマンドを送信する(S1114)。エキスパンダ112,121は、ディスカバーコマンドを受信すると(S1115)、前述した構成情報をドライブ制御部111に送信する(S1116)。ドライブ制御部111は、送られてきた構成情報を受信する(S1117)。このようにドライブ制御部111はブロードキャストフレームを受信するとディスカバーコマンドを送信する。
次にドライブ制御部111は、受信した上記構成情報にPhy1121のリンク(Link)の異常(例えばファイバチャネルのポート間のリンクの異常)を示す情報が含まれているか否かを判定する(S1118)。受信した構成情報にPhy1121のリンク異常を示す情報が含まれていない場合は(S1118:NO)処理が終了する。一方、受信した構成情報にPhy1121のリンク異常を示す情報が含まれている場合には(S1118:YES)、ドライブ制御部111はその構成情報を送信してきたエキスパンダ112,121にループバック診断コマンドを送信する(S1119)。
エキスパンダ112,121は、ループバック診断コマンドを受信すると(S1121)、リンクの異常が生じているPhy1121についてループバック診断を実行し(S1122)、診断結果を接続装置管理テーブル721に反映する(S1123)。
続いてエキスパンダ112,121は、診断結果をコントローラ11に送信する(S1128)。ドライブ制御部111は、上記診断結果を受信すると(S1131)その内容を装置情報管理テーブル621に反映する(S1132)。
ところで、以上に説明したループバック診断処理S1100は、Phy1121間やPhy1121とPhy1121に接続するデバイスとの間のコネクションを確立させずに行うコネクションレス型の診断であるため、コネクションを確立する際に発生する障害を検知することができず、そのような障害については障害が発生した部位を精確に特定することができない。そこで本実施形態のストレージ装置10では、障害部位をより高い精度で特定できるようにすべく以下に説明する処理(以下、コネクション系診断処理S1200と称する。)を行う。
図12は、コネクション系診断処理S1200を説明するフローチャートである。以下同図とともにコネクション系診断処理S1200について説明する。コネクション系診断処理S1200は、例えば、ループバック診断処理S1100に後続して自動的に起動され実行される。
尚、以下の説明において、ストレージ装置10は、図13に示すように1つの基本筐体101及びこれにカスケード接続している2つの増設筐体102(「増設筐体1」、「増設筐体2」)を備えており、夫々のエキスパンダ112,121(「Expander1」、「Expander2」、「Expander3」)が同図に示す状態で物理的に接続されているものとする。またコントローラ11は図13に示す構成に対応して図14に示す装置情報管理テーブル621を保持しているものとする。またエキスパンダ112(「Expander1」)は、図13に示す構成に対応して図15に示す接続装置管理テーブル721を保持し、エキスパンダ121(「Expander2」)は、図13に示す構成に対応して図16に示す接続装置管理テーブル721を保持し、エキスパンダ121(「Expander3」)は、図13に示す構成に対応して図17に示す接続装置管理テーブル721を保持しているものとする。
図12に示すように、まずコントローラ11のドライブ制御部111は、装置情報管理テーブル621の装置ID6211で特定される装置のうちループバック診断処理S1100にて障害が検知されている装置(障害情報6212に「障害有り」が設定されている(未選択の)装置(以下、ターゲットデバイスと称する。))を一つ選択する(S1211)。尚、コネクション系診断処理S1200は、ループバック診断処理S1100にて障害が検知されている全てのターゲットデバイスについて行われる(S1211,S1221)。
続くS1212では、ドライブ制御部111はエキスパンダ112,121の夫々が管理している接続装置管理テーブル721から、コントローラ11からターゲットデバイスに至る経路に関する情報を取得する。そしてドライブ制御部111は、各エキスパンダ112,121から取得した情報に基づき、コントローラ11からターゲットデバイスに至る経路に冗長な経路(以下、ワイドリンク(Wide Link)と称する。)の存在有無を調べる(S1213)。
ここでワイドリンクの有無は次のようにして判断する。例えば図16に示した「Expander2」のエキスパンダ121が保持する接続装置管理テーブル721の場合、PhyID7211が「2−1」〜「2−4」の4つのPhy1121の接続装置ID7212のいずれにも「Expander1」が設定されているので「Expander2」と「Expander1」の間には4重のワイドリンクが存在することがわかる。またPhyID7211が「2−5」〜「2−8」のPhy1121の接続装置ID7212のいずれにも「Expander3」が設定されているので、「Expander2」と「Expander3」の間に4重のワイドリンクが存在することがわかる。
S1213においてワイドリンクが存在しないと判断した場合(S1213:無)、ドライブ制御部111は後述する障害部位特定処理S1800を行う(S1215)。
S1213においてワイドリンクが存在すると判断した場合には(S1213:有)ドライブ制御部111はまずワイドリンクに含まれている全ての経路を抽出する(S1216)。例えば図13の構成において「HDD3−1」という記憶ドライブ171がターゲットデバイスであり、「Expander1」、「Expander2」、「Expander3」の夫々が保持する接続装置管理テーブル721が図15乃至図17に示す内容である場合、ドライブ制御部111は、「Expander2」と「Expander1」の間に存在する4重のワイドリンクと「Expander2」と「Expander3」の間に存在する4重のワイドリンクとによって構成される16(=4×4)の経路を抽出する。
次にドライブ制御部111は、S1216にて抽出した経路のうちの一つを選択するとともに(S1217)、選択した経路以外の全ての経路を閉塞する(S1218)。尚、選択した経路以外の全ての経路の閉塞は、ドライブ制御部111から各エキスパンダ112,121にPhy1121の閉塞指示を送信することにより行う。
例えば図13に示す構成において「Phy1−1」→「Phy2−1」→「Phy2−5」→「Phy3−1」→「Phy3−9」の経路を選択した場合、ドライブ制御部111は選択した上記経路以外の経路を構成しているPhy1121、例えば「Phy1−2」、「Phy1−3」、「Phy1−4」、「Phy2−2」、「Phy2−3」、「Phy2−4」、「Phy2−6」、「Phy2−7」、「Phy2−8」、「Phy3−2」、「Phy3−3」、「Phy3−4」を全て閉塞する。尚、コントローラ11側を上位側とし、記憶ドライブ171側を下位側とした場合、閉塞した上位のPhy1121の下位に直接接続しているPhy1121(例えばPhy1−2を閉塞した場合におけるPhy2−2)については、上位のPhy1121を閉塞することにより下位のPhy1121も利用できなくなってしまうので、下位のPhy1121については必ずしも閉塞しなくてよい。
選択した経路以外の全ての経路を閉塞した後は(S1218)、ドライブ制御部111は後述する障害部位特定処理S1800を行う(S1219)。
S1220では、ドライブ制御部111は、S1216にて抽出した全ての経路について処理済(S1217にて選択済)か否かを判断する。抽出した全ての経路について処理済であれば(S1220:YES)S1221に進み、処理済でなければ(S1220:NO)S1217に戻り未選択の経路を選択して同様の処理を繰り返す。
図18は、前述した障害部位特定処理S1800(図12のS1215又はS1219で行われる処理)を説明するフローチャートである。以下同図とともに障害部位特定処理S1800について説明する。
まずドライブ制御部111は、ターゲットデバイスに通信を確立するためのフレーム(以下、コネクション系フレームと称する。)を送信し(S1811)、その応答に障害を示す情報(以下、障害情報と称する。)が含まれているか否かを調べる(S1812)。コネクション系フレームとしては、例えば「OPEN Address Frame」などがある。
コネクション系フレームに対するターゲットデバイスからの応答に障害情報が含まれていれば(S1812:YES)、ドライブ制御部111は、ターゲットデバイスが接続されているエキスパンダ112,121のPhy1121を閉塞し(S1813)、閉塞したPhy1121を備えるエキスパンダ112,121の接続装置管理テーブル721の当該Phy1121のPhy状態7214に「閉塞中」を設定する(S1814)。またドライブ制御部111は、装置情報管理テーブル621のターゲットデバイスのPhy状態6213に「閉塞中」を設定する(S1815)。そしてドライブ制御部111は、障害部位を示す情報(この場合はターゲットデバイスを特定する情報)を外部装置2(例えば障害監視に用いられている情報処理装置)に送信する(S1816)。
例えば図13の構成において「HDD3−1」という記憶ドライブ171がターゲットデバイスである場合、ドライブ制御部111は「HDD3−1」に対してコネクション系フレームを送信し(S1811)、その応答に障害情報が含まれているか否かを調べる(S1812)。応答に障害情報が含まれていれば(S1812:YES)、ドライブ制御部111は、「HDD3−1」が接続している「Expander3」というエキスパンダ121が備える「Phy3−9」というPhy1121を閉塞する(S1813)。そしてドライブ制御部111は、閉塞した「Phy3−9」を備える「Expander3」の接続装置管理テーブル721(図17)の「Phy3−9」のPhy状態7214に「閉塞中」を設定し(S1814)、装置情報管理テーブル621の「HDD3−1」のPhy状態6213に「閉塞中」を設定する(S1815)。またドライブ制御部111は「HDD3−1」が障害部位である旨を外部装置2に送信する(S1816)。
一方、S1812において、コネクション系フレームに対するターゲットデバイスからの応答に障害情報が含まれていない場合には(S1812:NO)S1831に進む。
S1831では、ドライブ制御部111は、コントローラ11からターゲットデバイスに至る経路上の全ての装置を診断済か否かを判断する。未診断の装置が存在すれば(S1831:NO)S1832に進む。全ての装置を診断済であれば(S1831:YES)ドライブ制御部111は障害部位を特定することができない旨を示す情報を外部装置2に送信する(S1841)。
S1832では、ドライブ制御部111は、ターゲットデバイスに至る経路上の未診断の装置を選択する。例えば図13の構成においてコントローラ11からターゲットデバイス(「HDD3−1」)に至る経路が「スイッチ回路1」→「Phy1−1」→「Phy2−1」→「スイッチ回路2」→「Phy2−5」→「Phy3−1」→「スイッチ回路3」→「Phy3−9」→「HDD3−1」のように設定されている場合、この経路上に存在する「スイッチ回路3」、「スイッチ回路2」、「スイッチ回路1」のいずれかを選択する。
次にドライブ制御部111は、選択中の装置に対してコネクション系フレームを送信し(S1833)、その応答に障害を示す情報(以下、障害情報と称する。)が含まれているか否かを調べる(S1834)。そして応答に障害情報が含まれていれば(S1834:YES)、ドライブ制御部111は、コントローラ11から選択中の装置に至る経路上の当該選択中の装置と直接接続しているPhy1121を閉塞し(S1835)、閉塞したPhy1121を備えるエキスパンダ112,121の接続装置管理テーブル721の当該Phy1121のPhy状態7214に「閉塞中」を設定する(S1836)。またドライブ制御部111は、装置情報管理テーブル621の選択中の装置の障害情報6212に「障害有り」を、また選択中の装置のPhy状態6213に「閉塞中」を設定する(S1837)。そしてドライブ制御部111は、障害部位を示す情報(この場合は選択中の装置を特定する情報)を外部装置2に送信する(S1838)。
例えば図13の構成において先程と同じ経路が設定されており、S1832にて「スイッチ回路3」を選択中である場合、ドライブ制御部111は、コントローラ11から「スイッチ回路3」に至る経路上の当該「スイッチ回路3」と直接接続している「Phy3−1」を閉塞し(S1835)、「スイッチ回路3」を備える「Expander3」の接続装置管理テーブル721(図17)の「Phy3−1」のPhy状態7214に「閉塞中」を設定し(S1836)、装置情報管理テーブル621の「Expander3」の障害情報6212に「障害有り」を、また「Expander3」のPhy状態6213に「閉塞中」を設定する(S1837)。そしてドライブ制御部111は、「スイッチ回路3」(又は「Expander3」)が障害部位である旨を外部装置2に送信する(S1838)。
また例えば図13の構成において先程と同じ経路が設定されており、S1832にて「スイッチ回路2」を選択中である場合、ドライブ制御部111は、コントローラ11から「スイッチ回路2」に至る経路上の当該「スイッチ回路2」と直接接続している「Phy2−1」及び「Phy2−5」を閉塞し(S1835)、「スイッチ回路2」を備える「Expander2」の接続装置管理テーブル721(図16)の「Phy2−1」及び「Phy2−5」のPhy状態7214に「閉塞中」を設定し(S1836)、装置情報管理テーブル621の「Expander2」の障害情報6212に「障害有り」を、また「Expander2」のPhy状態6213に「閉塞中」を設定する(S1837)。そしてドライブ制御部111は、「スイッチ回路2」(又は「Expander2」)が障害部位である旨を外部装置2に送信する(S1838)。
また例えば図13の構成において先程と同じ経路が設定されており、S1832にて「スイッチ回路1」を選択中である場合、ドライブ制御部111は、コントローラ11から「スイッチ回路1」に至る経路上の当該「スイッチ回路1」と直接接続している「Phy1−1」を閉塞し(S1835)、「スイッチ回路1」を備える「Expander1」の接続装置管理テーブル721(図15)の「Phy1−1」のPhy状態7214に「閉塞中」を設定し(S1836)、装置情報管理テーブル621の「Expander1」の障害情報6212に「障害有り」を、また「Expander1」のPhy状態6213に「閉塞中」を設定する(S1837)。そしてドライブ制御部111は、「スイッチ回路1」(又は「Expander1」)が障害部位である旨を外部装置2に送信する(S1838)。
以上に説明したように、本実施形態のストレージ装置10は、ループバック診断処理S1100により障害が検知された装置に対してコネクション系フレームを送信してコネクション系診断処理S1200を行い、コネクション系フレームに対する応答に基づき障害部位を特定するので、ループバック診断処理S1100のみを行う場合に比べて障害部位を精確に特定することができる。また特定した障害部位のみを停止(閉塞)させるので、不必要な部位まで停止させることがなく、障害による影響範囲が不必要に拡大するのを防ぐことができる。
またストレージ装置10は、コネクション系フレームに対する応答に障害情報が含まれていなかった場合(S1812:NO)、ターゲットデバイスに至る経路上に存在する他の装置(ドライブ制御部111がコネクション系フレームを未だ送信していないスイッチ回路1122)についてさらにコネクション系診断を行うので(S1831:NO)、コントローラ11からターゲットデバイスに至る経路上に多数の装置が介在しているような場合でも障害部位を確実に特定することができる。
またストレージ装置10は、コントローラ11からターゲットデバイスに至る経路にワイドリンクが存在する場合はワイドリンクに含まれる特定の経路を残してワイドリンクの上記特定の経路以外の経路を閉塞した後にコネクション系診断処理S1200を開始するので(S1216〜S1220)、ワイドリンクが存在する場合においても、ワイドリンクが存在しない場合と同様に高い精度で障害部位を特定することができる。
またストレージ装置10は、診断後に障害部位を示す情報(ターゲットデバイスを特定する情報又は閉塞したPhy1121を特定する情報)を外部装置2に送信するので、オペレータ等は障害部位を精確に把握することができる。
またストレージ装置10は、リンクの異常を通知してきたエキスパンダ112,121のみを対象としてループバック診断処理S1100を行うので(S1118〜S1132)、必要な部位に対してのみループバック診断処理S1100が行われ、ストレージ装置10の負荷を不必要に上昇させることなく効率よく障害部位の特定を行うことができる。
第2実施形態
次に第2実施形態について説明する。前述したように、STP/SATAブリッジ714の仮想接続機能は、エキスパンダ112,121が備えるいずれのPhy1121にもSATAデバイスが接続されていない場合は機能を停止しているので(非活性状態)、Phy1121にSATAデバイスが接続されていない状態でエキスパンダ112,121に対してループバック診断処理S1100やコネクション系診断処理S1200を実施した場合はSTP/SATAブリッジ714の仮想接続機能に生じている障害については検知することができない。そこで本実施形態では、仮想接続設定処理部614によりSATAデバイス仮想接続フラグ7216を「オン」に設定することによりSTP/SATAブリッジ714の仮想接続機能を強制的に機能(活性化)させた状態でループバック診断処理S1100及び/又はコネクション系診断処理S1200を実施するようにしている。
図19は、第2実施形態にかかるストレージ装置10の処理(以下、メイン処理S1900と称する。)を説明するフローチャートである。以下同図とともに説明する。
まずコントローラ11のドライブ制御部111は、装置情報管理テーブル621を参照し、当該コントローラ11の配下に接続しているエキスパンダ112,121の装置IDを取得する(S1911)。
次にドライブ制御部111は取得したエキスパンダ112,121を順に選択し(S1912,S1914)、各エキスパンダ112,121について後述する診断処理S2000を実行する(S1913)。
図20は、図19のS1913における診断処理S2000を説明するフローチャートである。以下、同図とともに診断処理S2000について説明する。
まずドライブ制御部111は、S1912にて選択中のエキスパンダ112,121のPhy1121に一つ以上のSATAデバイスが接続されているか否かを調べる(S2011)。選択中のエキスパンダ112,121にSATAデバイスが接続されている場合は(S2011:YES)S2021に進む。選択中のエキスパンダ112,121のいずれのPhy1121にもSATAデバイスが接続されていない場合は(S2011:NO)、S2012に進む。
S2012では、ドライブ制御部111は、選択中のエキスパンダ112,121の接続装置管理テーブル721にアクセスし、選択中のエキスパンダ112,121に未使用(接続装置ID7212が設定されていない)のPhy1121が存在するか否かを調べる。未使用のPhy1121が存在する場合は(S2012:YES)S2015に進む。一方、未使用のPhy1121が存在しない場合は(S2012:NO)使用中のPhy1121を選択し、選択したPhy1121の接続装置管理テーブル721のPhy状態7214に「閉塞中」を設定(S2014)した後にS2015に進む。
S2015では、ドライブ制御部111は、選択中のエキスパンダ112,121の接続装置管理テーブル721の、選択したPhy1121のSATAデバイス仮想接続フラグ7216に「オン」を設定する。これによりSTP/SATAブリッジ714の仮想接続機能が強制的に活性化される。その後はS2021に進む。
S2021では、ドライブ制御部111は、選択中のエキスパンダ112,121に対して第1実施形態にて説明したループバック診断処理S1100及び/又はコネクション系診断処理S1200を実施する。
S2022では、ドライブ制御部111は、S2021の診断処理の結果、障害が検出されたか否かを判断する。障害が検出されていない場合は(S2022:YES)、図19のS1914に戻り、障害が検出された場合は(S2022:NO)、S2023に進む。
S2023では、S2015にて「オン」に設定したPhy1121のSATAデバイス仮想接続フラグ7216を「オフ」に戻す。S2024では、S2014にて「閉塞中」を設定したPhy1121にS2021の診断処理において障害が検出されたか否かを判断する。障害が検出されている場合は(S2024:YES)図18のS1914に戻る。障害が検出されていない場合は(S2024:NO)、S2014にて「閉塞中」を設定したPhy1121の接続装置管理テーブル721のPhy状態7214に「利用可」を設定(S2025)した後、図19のS1914に戻る。
以上に説明したように、ストレージ装置10は、エキスパンダ112,121のPhy1121にSATAデバイスが一つも接続されていない場合は、STP/SATAブリッジ714の仮想接続機能を強制的に機能(活性化)させ、仮想接続機能を機能させた状態でループバック診断S1100及び/又はコネクション系診断処理S1200を行うので、Phy1121にSATAデバイスが接続されていない場合でもSTP/SATAブリッジ714の仮想接続機能に関する障害を確実に検知することができ、障害部位を精確に特定することができる。
またエキスパンダ112,121のPhy1121にSATAデバイスが一つも接続されておらず(S2011:NO)、かつ、エキスパンダ112,121に未使用のPhy1121が存在しない場合(S2012:NO)、ストレージ装置10はエキスパンダ112,121のPhy1121を強制的に閉塞してからSTP/SATAブリッジ714の機能を活性化させるので、エキスパンダ112,121のPhy1121にSATAデバイスが一つも接続されておらず、かつ、エキスパンダ112,121に未使用のPhy1121が存在しない場合でも、STP/SATAブリッジ714の機能を確実に活性化させて診断を行うことができる。このため、STP/SATAブリッジ714の仮想接続機能に関する障害を確実に検知することができ、障害部位を精確に特定することができる。
以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。

Claims (6)

  1. 外部装置から送られてくるデータ入出力要求に応じて記憶ドライブに対するデータの書き込み又はデータの読み出しを行うコントローラと、一つ以上の物理ポートを有するスイッチ回路を備える一つ以上のエキスパンダとを備え、前記コントローラと前記記憶ドライブとが前記スイッチ回路を介して通信可能に接続される、ストレージ装置であって、
    前記コントローラは、
    前記エキスパンダを対象としてループバック診断を行い、
    前記ループバック診断にて障害が検知されている装置であるターゲットデバイスにコネクション系フレームを送信して行うコネクション系診断を行い、
    前記コネクション系フレームに対する応答に障害を示す情報が含まれていた場合に、前記ターゲットデバイスが接続している前記物理ポート、又は当該コントローラから前記ターゲットデバイスに至る経路に存在する前記スイッチ回路の前記物理ポートを閉塞し、
    前記コントローラは、前記コントローラから前記ターゲットデバイスに至る経路にワイドリンクが存在する場合、前記ワイドリンクに含まれる特定の経路を残し前記ワイドリンクの前記特定の経路以外の経路を閉塞してから前記コネクション系診断を開始し、
    前記コントローラは、前記コネクション系フレームに対する応答に障害を示す情報が含まれていなかった場合に、前記コントローラから前記コネクション系フレームを送信した前記ターゲットデバイスに至る経路に存在する、前記コネクション系フレームを未送信の前記スイッチ回路にコネクション系フレームを送信して前記コネクション系診断をさらに行い、
    前記コネクション系フレームに対する応答に障害を示す情報が含まれていた場合は前記スイッチ回路の前記物理ポートを閉塞し、
    前記コントローラは、前記ターゲットデバイスを特定する情報又は前記閉塞した前記物理ポートを特定する情報を前記外部装置に送信し、
    前記コントローラは、リンクの異常を通知してきた前記エキスパンダを対象として前記ループバック診断のコマンドを送信し、
    前記エキスパンダは、前記物理ポートにSATAデバイスが接続されている場合にそのSATAデバイスをSASデバイスとしてアクセスできるようにする機能である仮想接続機能を提供するSTP/SATAブリッジを備え、
    前記コントローラは、前記エキスパンダの前記物理ポートにSATAデバイスが接続されていない場合は前記仮想接続機能を活性化させてから前記ループバック診断及び/又は前記コネクション系診断を行い、
    前記コントローラは、前記エキスパンダの前記物理ポートにSATAデバイスが接続されておらず、かつ、前記エキスパンダに未使用の前記物理ポートが存在しない場合は、前記エキスパンダの使用中の前記物理ポートを閉塞した後に前記仮想接続機能を活性化させてから前記ループバック診断及び/又は前記コネクション系診断を行い、
    前記コントローラは、前記外部装置と通信する通信インタフェース、前記記憶ドライブと通信するドライブインタフェース、キャッシュメモリ、及び前記コントローラと前記キャッシュメモリとの間又は前記キャッシュメモリと前記記憶ドライブとの間のデータ転送を行うデータコントローラを備え、
    前記エキスパンダは、プロセッサ、メモリ、前記コントローラ又は他の前記エキスパンダと通信する通信インタフェース、前記物理ポートとして機能するPhyを有する前記スイッチ回路、ルーティング設定又はゾーニング設定を行うECM(Expander Connection Manager)、前記ルーティング設定又はゾーニング設定に従い前記Phy間のデータ転送を制御するECR(Expander Connection Router)、及び前記Phyの夫々の装置の接続状態又は前記Phyの夫々の障害の有無の監視を行うBPP(Broadcast Primitive Processor)を備える
    ストレージ装置。
  2. 請求項1に記載のストレージ装置であって、
    前記コントローラは、リンクの異常を通知してきた前記エキスパンダを対象として前記ループバック診断のコマンドを送信する
    ストレージ装置。
  3. 請求項1に記載のストレージ装置であって、
    前記エキスパンダは、前記物理ポートにSATAデバイスが接続されている場合にそのSATAデバイスをSASデバイスとしてアクセスできるようにする機能である仮想接続機能を提供するSTP/SATAブリッジを備え、
    前記コントローラは、前記エキスパンダの前記物理ポートにSATAデバイスが接続されていない場合は前記仮想接続機能を活性化させてから前記ループバック診断及び/又は前記コネクション系診断を行う
    ストレージ装置。
  4. 請求項3に記載のストレージ装置であって、
    前記コントローラは、前記エキスパンダの前記物理ポートにSATAデバイスが接続されておらず、かつ、前記エキスパンダに未使用の前記物理ポートが存在しない場合は、前記エキスパンダの使用中の前記物理ポートを閉塞した後に前記仮想接続機能を活性化させてから前記ループバック診断及び/又は前記コネクション系診断を行う
    ストレージ装置。
  5. 外部装置から送られてくるデータ入出力要求に応じて記憶ドライブに対するデータの書き込み又はデータの読み出しを行うコントローラと、一つ以上の物理ポートを有するスイッチ回路を備える一つ以上のエキスパンダとを備え、前記コントローラと前記記憶ドライブとが前記スイッチ回路を介して通信可能に接続される、ストレージ装置の制御方法であって、
    前記コントローラが、
    前記エキスパンダを対象としてループバック診断を行い、
    前記ループバック診断にて障害が検知されている装置であるターゲットデバイスにコネクション系フレームを送信して行うコネクション系診断を行い、
    前記コネクション系フレームに対する応答に障害を示す情報が含まれていた場合に、前記ターゲットデバイスが接続している前記物理ポート、又は当該コントローラから前記ターゲットデバイスに至る経路に存在する前記スイッチ回路の前記物理ポートを閉塞し、
    前記エキスパンダは、前記物理ポートにSATAデバイスが接続されている場合にそのSATAデバイスをSASデバイスとしてアクセスできるようにする機能である仮想接続機能を提供するSTP/SATAブリッジを備え、
    前記コントローラは、前記エキスパンダの前記物理ポートにSATAデバイスが接続されていない場合は前記仮想接続機能を活性化させてから前記ループバック診断及び/又は前記コネクション系診断を行う
    ストレージ装置の制御方法。
  6. 請求項5に記載のストレージ装置の制御方法であって、
    前記コントローラは、前記エキスパンダの前記物理ポートにSATAデバイスが接続されておらず、かつ、前記エキスパンダに未使用の前記物理ポートが存在しない場合は、前記エキスパンダの使用中の前記物理ポートを閉塞した後に前記仮想接続機能を活性化させてから前記ループバック診断及び/又は前記コネクション系診断を行う
    ストレージ装置の制御方法。
JP2012530011A 2010-05-12 2010-05-12 ストレージ装置、及びストレージ装置の制御方法 Expired - Fee Related JP5416843B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/003215 WO2011141961A1 (en) 2010-05-12 2010-05-12 Storage apparatus and method for controlling the same

Publications (2)

Publication Number Publication Date
JP2013515981A JP2013515981A (ja) 2013-05-09
JP5416843B2 true JP5416843B2 (ja) 2014-02-12

Family

ID=43569170

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012530011A Expired - Fee Related JP5416843B2 (ja) 2010-05-12 2010-05-12 ストレージ装置、及びストレージ装置の制御方法

Country Status (3)

Country Link
US (1) US8443237B2 (ja)
JP (1) JP5416843B2 (ja)
WO (1) WO2011141961A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5327036B2 (ja) * 2009-12-21 2013-10-30 富士通株式会社 記憶装置接続装置,ストレージ装置,情報管理方法及び情報管理プログラム
JP5663950B2 (ja) * 2010-05-19 2015-02-04 富士通株式会社 接続拡張装置及びストレージシステム
US8694825B2 (en) * 2011-07-20 2014-04-08 International Business Machines Corporation Protecting storage fabrics from errant device causing single point of failure
US9870373B2 (en) 2011-09-21 2018-01-16 Kevin Mark Klughart Daisy-chain storage synchronization system and method
US9460110B2 (en) 2011-09-21 2016-10-04 Kevin Mark Klughart File system extension system and method
US8799523B2 (en) * 2011-09-21 2014-08-05 Kevin Mark Klughart Data storage architecture extension system and method
US9652343B2 (en) 2011-09-21 2017-05-16 Kevin Mark Klughart Raid hot spare system and method
US8943227B2 (en) 2011-09-21 2015-01-27 Kevin Mark Klughart Data storage architecture extension system and method
US8745448B2 (en) * 2012-06-06 2014-06-03 Hitachi, Ltd. Storage system, storage control apparatus and method for failure recovery
JP6036190B2 (ja) * 2012-11-07 2016-11-30 富士通株式会社 情報処理装置、情報処理システムの制御方法及び情報処理システムの制御プログラム
JP6056417B2 (ja) * 2012-11-27 2017-01-11 富士通株式会社 制御システム、制御システムの異常診断方法及び制御システムの異常診断プログラム
US9104562B2 (en) * 2013-04-05 2015-08-11 International Business Machines Corporation Enabling communication over cross-coupled links between independently managed compute and storage networks
US9531623B2 (en) 2013-04-05 2016-12-27 International Business Machines Corporation Set up of direct mapped routers located across independently managed compute and storage networks
US9378159B2 (en) 2013-07-23 2016-06-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Deadlock detection and recovery in SAS
US9213588B2 (en) * 2014-01-10 2015-12-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Fault detection and identification in a multi-initiator system
CN105468484B (zh) * 2014-09-30 2020-07-28 伊姆西Ip控股有限责任公司 用于在存储系统中确定故障位置的方法和装置
JP6777848B2 (ja) 2016-07-08 2020-10-28 富士通株式会社 制御装置、及びストレージ装置
US10255134B2 (en) * 2017-01-20 2019-04-09 Samsung Electronics Co., Ltd. Control plane method and apparatus for providing erasure code protection across multiple storage devices
CN111209236A (zh) * 2020-01-03 2020-05-29 苏州浪潮智能科技有限公司 一种多级级联expander的通信方法
US11327868B2 (en) 2020-02-24 2022-05-10 International Business Machines Corporation Read diagnostic information command
US11169946B2 (en) 2020-02-24 2021-11-09 International Business Machines Corporation Commands to select a port descriptor of a specific version
US11169949B2 (en) 2020-02-24 2021-11-09 International Business Machines Corporation Port descriptor configured for technological modifications
US11520678B2 (en) 2020-02-24 2022-12-06 International Business Machines Corporation Set diagnostic parameters command

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03214341A (ja) * 1990-01-19 1991-09-19 Fujitsu Ltd 経路診断方式
JP3620527B2 (ja) * 2002-09-03 2005-02-16 日本電気株式会社 ループ状インタフェースの障害解析方法及び障害解析機能を有するシステム
US7058749B2 (en) * 2003-11-13 2006-06-06 Dell Products L.P. System and method for communications in serial attached SCSI storage network
US7360119B1 (en) 2004-03-03 2008-04-15 Adaptec, Inc. Method and apparatus for handling SAS/SATA communication deadlock
JP2007094996A (ja) 2005-09-30 2007-04-12 Fujitsu Ltd データストレージシステム、データストレージ制御装置及びその障害箇所診断方法
EP2052326B1 (en) * 2006-06-08 2012-08-15 Dot Hill Systems Corporation Fault-isolating sas expander
US7673185B2 (en) * 2006-06-08 2010-03-02 Dot Hill Systems Corporation Adaptive SAS PHY configuration
US7536584B2 (en) * 2006-06-08 2009-05-19 Dot Hill Systems Corporation Fault-isolating SAS expander
JP4869123B2 (ja) * 2007-03-28 2012-02-08 株式会社日立製作所 ストレージシステム
JP2008276596A (ja) * 2007-05-01 2008-11-13 Hitachi Ltd 記憶装置を決定する方法及び計算機
JP4982304B2 (ja) * 2007-09-04 2012-07-25 株式会社日立製作所 電源障害の発生を把握するストレージシステム
JP2009211140A (ja) 2008-02-29 2009-09-17 Hitachi Ltd ストレージシステム及びその記憶媒体管理方法
JP4738438B2 (ja) 2008-04-17 2011-08-03 株式会社日立製作所 外部接続ストレージシステムのパス管理及び障害箇所検出方法
JP4571203B2 (ja) * 2008-05-09 2010-10-27 株式会社日立製作所 情報処理システムにおける管理サーバ、及びクラスタ管理方法
WO2010140189A1 (en) * 2009-06-02 2010-12-09 Hitachi, Ltd. Storage system and control methods for the same
US8255737B1 (en) * 2010-04-29 2012-08-28 Netapp, Inc. System and method for a redundant communication fabric in a network storage system

Also Published As

Publication number Publication date
US20110283150A1 (en) 2011-11-17
WO2011141961A1 (en) 2011-11-17
US8443237B2 (en) 2013-05-14
JP2013515981A (ja) 2013-05-09

Similar Documents

Publication Publication Date Title
JP5416843B2 (ja) ストレージ装置、及びストレージ装置の制御方法
US8402189B2 (en) Information processing apparatus and data transfer method
US9361262B2 (en) Redundant storage enclosure processor (SEP) implementation for use in serial attached SCSI (SAS) environment
US9213490B2 (en) Computer system and data migration method
US10901626B1 (en) Storage device
US7568119B2 (en) Storage control device and storage control device path switching method
US8667337B2 (en) Storage apparatus and method of controlling the same
JP2007058419A (ja) Pld上のメモリ内の情報に従って構築される論理回路を備えたストレージシステム
US20110246720A1 (en) Storage system with multiple controllers
US20170139605A1 (en) Control device and control method
TWI773155B (zh) 用以進行全快閃記憶體陣列伺服器的碟管理的方法與設備
JP2017010390A (ja) ストレージ制御装置、ストレージ制御プログラム、およびストレージ制御方法
US8095820B2 (en) Storage system and control methods for the same
TWI773152B (zh) 伺服器與應用於伺服器的控制方法
JP2005196490A (ja) データ多重化のためのシステム及び方法
JP4796251B2 (ja) ネットワークストレージシステム及びその制御方法
JP6777848B2 (ja) 制御装置、及びストレージ装置
JP2010033407A (ja) 仮想テープシステム
TWI756007B (zh) 用以進行全快閃記憶體陣列伺服器的高可用性管理的方法與設備
JP2007206949A (ja) ディスクアレイ装置、ディスクアレイ装置の制御方法、ディスクアレイ装置の制御プログラム
TWI766594B (zh) 伺服器與應用於伺服器的控制方法
TW202134901A (zh) 伺服器及相關的控制方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130903

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131015

TRDD Decision of grant or rejection written
A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131115

R150 Certificate of patent or registration of utility model

Ref document number: 5416843

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees