JP2013516666A - バックエンドでの通信の規格がsasであるストレージシステム - Google Patents

バックエンドでの通信の規格がsasであるストレージシステム Download PDF

Info

Publication number
JP2013516666A
JP2013516666A JP2012530801A JP2012530801A JP2013516666A JP 2013516666 A JP2013516666 A JP 2013516666A JP 2012530801 A JP2012530801 A JP 2012530801A JP 2012530801 A JP2012530801 A JP 2012530801A JP 2013516666 A JP2013516666 A JP 2013516666A
Authority
JP
Japan
Prior art keywords
expander
command
controller
phy
information
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
JP2012530801A
Other languages
English (en)
Other versions
JP5535322B2 (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 JP2013516666A publication Critical patent/JP2013516666A/ja
Application granted granted Critical
Publication of JP5535322B2 publication Critical patent/JP5535322B2/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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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/202Error 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 processing functionality is redundant
    • G06F11/2035Error 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 processing functionality is redundant without idle spare hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • 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/2005Error 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 controllers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)

Abstract

第1のコントローラ及び複数の記憶デバイス(PDEV)に接続された第1の通信経路と、第2のコントローラ及びそれら複数のPDEVに接続された第2の通信経路がある。各通信経路は、直列に接続された複数のエクスパンダを有する。通信経路がI/Oに使用されない時間を短くするために、(A)通信経路についてI/O抑止が設定されている時間長を短くする、又は、(B)I/Oの処理以外の処理(例えばディスカバープロセス)にかかる全体的な時間が短くされる。(A)では、I/O抑止の通信経路について、エクスパンダとエクスパンダ間の接続が切断されているか否かが判断され、その判断の結果が否定的であれば、その通信経路についてI/O抑止を解除してから、ディスカバープロセスが行われる。(B)では、エクスパンダが有するルーティング制御情報を更新するためのコマンドの発行数が減らされる。
【選択図】図2

Description

本発明は、バックエンドでの通信の規格がSAS(Serial Attached SCSI)であるストレージシステムに関する。
バックエンド(コントローラと記憶デバイスとの間)での通信の規格がSASであるストレージシステムとして、例えば、図1に示すストレージシステム101が知られている。以下の説明では、同種の複数の要素を、要素の識別番号を用いて区別することがある。例えば、複数の要素Aを区別する場合、「A#x」と記載することがある。「A#x」は、識別番号がxの要素Aであることを意味する。“x”は、0以上の整数である。
ストレージシステム101は、複数の記憶デバイス151と、冗長化されたコントローラ131(コントローラ#0及び#1)と、コントローラ#0及び複数の記憶デバイス151に接続された第1の通信経路161と、コントローラ#1及び複数の記憶デバイス151に接続された第2の通信経路163とを有する。
各コントローラ131は、通信ネットワーク105を介してホスト103に接続されており、SASプロトコルに従って通信するSASコントローラ141を有する。コントローラ#0(#1)は、ホスト103からI/O要求を受信する。コントローラ#0(#1)は、そのI/O要求を基に特定される記憶デバイス151をターゲットとしたI/O(Input/Output)コマンドを、SASコントローラ#0(#1)を介して発行する。或いは、コントローラ#0(#1)は、ホスト103からのI/O要求を他方のコントローラ#1(#0)に転送し、コントローラ#1(#0)が、そのI/O要求を基に特定される記憶デバイス151をターゲットしたI/Oコマンドを、SASコントローラ#1(#0)を介して発行する。第2の通信経路163は、第1の通信経路161の冗長経路である。このため、各記憶デバイス151には、第1及び第2の通信経路163のいずれを経由してもアクセスすることができる。
各通信経路は、直列に接続された複数のSASエクスパンダ(以下、エクスパンダ)143を有する。複数のエクスパンダ143のうちの最前段のエクスパンダ143が、コントローラ131に接続されている。従って、コントローラ131及び複数のエクスパンダ143が直列になっている。コントローラ131とエクスパンダ143間、及び、エクスパンダ143とエクスパンダ143間は、物理リンク(物理的な配線)で接続されている。
この種のストレージシステムでは、バックエンドで、ディスカバープロセスが行われる。ディスカバープロセスでは、SMP(Serial Management Protocol)に従うコマンド(SMPコマンド)がコントローラ131から発行される。SMPコマンドは、記憶デバイス151に対するI/O(Input/Output)で使用され得る物理リンクと同じ物理リンクを経由する。SMPによれば、コントローラ131(イニシエータ)からターゲットデバイス(エクスパンダ143又は記憶デバイス151)にコマンドが発行されて応答がコントローラ131に戻るまで、そのコマンドが経由する物理リンクが占有される。従って、その物理リンクは、コマンドが処理されている間も占有される。このため、SMPコマンドの数が多いほど、物理リンクをI/Oに使用することが難しく、故に、I/O性能が低下する可能性がある。
特許文献1は、コマンドが処理されている間に物理リンクを占有しないタイプのプロトコルとして、SSP(Serial SCSI Protocol)を開示している。ディスカバープロセスにおいて、SMPコマンドではなくSSPコマンドが発行されれば、I/O性能の低下を軽減することが期待できる。
特開2008−242872号公報
しかし、ディスカバープロセスにおいて発行されるコマンドの種類に関わらず(例えばそのコマンドがSMPコマンドであるかSSPコマンドであるかに関わらず)、ディスカバープロセス中に記憶デバイスにI/Oコマンドを発行することが、必ずしも好ましいとは言えない。ディスカバープロセス中にI/Oコマンドを発行すると、たくさんのエラー応答(エラーを表す応答)をコントローラ131が受信してしまうケースがある。
そのケースの一例は、図2に示すように、エクスパンダ#01とエクスパンダ#02間の全ての物理リンクが切れてしまうケース(例えば、エクスパンダ#01とエクスパンダ#02間のケーブルが抜けてしまうケース)である。このケースでは、ディスカバープロセスを行わないと、エクスパンダ#01とエクスパンダ#02間の全物理リンクが切れていることを検知することができない。
コントローラ#0は、それを検知する前に、I/Oコマンドを発行する。しかし、I/Oコマンドのターゲットが、エクスパンダ#01以降のエクスパンダに接続されている記憶デバイスであれば、コントローラ#0は、I/Oコマンドに対してエラー応答を受けることになる。従って、コントローラ#0は、エクスパンダ#01以降のエクスパンダに接続されている記憶デバイスをターゲットとしたI/Oコマンドをたくさん発行されれば、たくさんのエラー応答を受信することになる。
このようなケースでは、I/Oコマンドは、図3に示すように、ディスカバープロセスに使用中の通信経路(第1の通信経路161)ではなく、その冗長経路(第2の通信経路163)を経由することが好ましい。
しかし、このように、ディスカバープロセスに使用中の通信経路とは別の通信経路を介して記憶デバイス151にI/Oコマンドを発行するケースでは、ディスカバープロセスに使用中の通信経路がI/Oのために使用されない。このため、下記の問題が生じる。
(1)I/O性能が低下する。
(2)冗長度が低下する。具体的には、通信経路がp重化されており、ディスカバープロセスに使用中の通信経路の数がqの場合、冗長度は、(p−q)となる。従って、冗長度が2の場合、1つの通信経路がディスカバープロセスに使用中であれば、冗長度がゼロになってしまう。
そこで、本発明の目的は、通信経路がI/Oに使用されない時間を短くすることにある。
第1のコントローラ及び複数の記憶デバイスに接続された第1の通信経路(SASに従う通信の経路)と、第2のコントローラ及びそれら複数の記憶デバイスに接続された第2の通信経路(SASに従う通信の経路)がある。各通信経路は、直列に接続された複数のエクスパンダを有する。各エクスパンダが、複数のphyを有し、複数のphyが、他のエクスパンダが接続されているphyと、記憶デバイスが接続されている。各エクスパンダは、ルーティングに使用するルーティング制御情報を有している。ルーティング制御情報は、Phy毎に、間接的に接続されているデバイスのSASアドレスを表すSASアドレス情報を有することができる。
第1の観点によれば、第1の通信経路についてI/O抑止が設定されるが、I/O抑止としておく時間長が短くされる。具体的には、第1のコントローラは、エクスパンダとエクスパンダ間の接続(或いは、第1のコントローラとエクスパンダ間の接続)が切断されているか否かを先に判断する。その判断の結果が否定的であれば、第1のコントローラは、第1の通信経路についてI/O抑止を解除してから、第1の通信経路における少なくとも1つのエクスパンダについてそのエクスパンダに直接的に接続されているデバイスに関する情報を取得するためのコマンドを発行する処理を含んだ調査処理(例えば、ディスカバープロセス)を行う。これにより、第1の通信経路において、調査処理中であっても、第1の通信経路を介して、記憶デバイスをターゲットとしたI/Oコマンドが流れる。上記判断の結果が否定的であるケースとしては、例えば、エクスパンダと記憶デバイス間の接続が切断されているケースがある。しかし、エクスパンダと記憶デバイス間の接続が切断されていても、エラーが応答されるのは、その記憶デバイスをターゲットとしたI/Oコマンドについてだけであるから、影響は小さい。
第2の観点によれば、記憶デバイスに対するI/Oの処理以外の処理(例えばディスカバープロセス)にかかる全体的な時間が短くされる。ストレージシステムに搭載される記憶デバイスの数は、将来増加する見込みであるから、I/Oの処理以外の処理にかかる全体的な時間が短くなることは、有効である。具体的には、第2の観点によれば、エクスパンダが有するルーティング制御情報を更新するためのコマンド(典型的には、CRI(Configure Route Information)コマンド)の発行数が減らされる。より具体的には、例えば、下記の(1)及び(3)のうちの少なくとも1つが採用される。
(1)ワイドリンクに接続されている2以上のphyについて同一のSASアドレス情報を設定するための第1のオリジナルCRIコマンドが発行される。これにより、1つのCRIコマンドで、2以上のphyについてSASアドレス情報をルーティング制御情報に設定することができる。つまり、SASアドレス情報を設定するためにCRIコマンドをphy毎に発行する必要が無い。
(2)記憶デバイスについてリンクダウンが検出されても、そのリンクダウンについて所定の条件が満たされていれば、CRIコマンドの発行がスキップされる。
(3)コントローラとエクスパンダとの接続が切断された後に、そのコントローラにエクスパンダが接続された場合、そのコントローラからそのエクスパンダに第2のオリジナルCRIコマンドが発行される。第2のオリジナルCRIコマンドを受けたエクスパンダは、ルーティング制御情報から全てのSASアドレス情報を消去する。つまり、SASアドレス情報を消去するためのCRIコマンドをSASアドレス情報毎に発行する必要が無い。
バックエンドでの通信の規格がSASであるストレージシステムの構成の一例を示す。 エクスパンダとエクスパンダとの接続が切断した場合に生じる問題を説明するための図である。 第1の通信経路についてディスカバープロセスが行われている間は第2の通信経路を介してI/Oが行われることを示す。 本発明の一実施例に係るストレージシステムの構成を示す。 コントローラ431の構成を示す。 エクスパンダ443の構成を示す。 図7Aは、エクスパンダルートテーブル611の構成を示す。図7Bは、図7Aに示すテーブル611に対応する通信経路構成を示す。 デバイス管理テーブル511の構成を示す。 ディスカバープロセスの流れを示す。 図10Aは、I/O抑止が維持されることが好ましいケースの一例を示す。図10Bは、I/O抑止が解除されることが好ましいケースの一例を示す。 観点1に関わる処理の流れを示す。 観点2−1の概要を示す。 ワイドリンク纏めコマンドの構成を示す。 一般的なCRI(Configure Route Information)コマンドの構成を示す。 phyビットマップの一例を示す。 観点2−1に従う処理(コントローラ431が行う処理)の流れを示す。 エクスパンダ443が行う処理の流れを示す。 図18Aは、観点2−2が適用されないストレージシステムに生じ得る問題を示す。図18Bは、リンクダウンが生じたPDEV:K(SASアドレスが「K」である記憶デバイス)に間接的に接続されている全てのphyについて「無効」がエクスパンダルートテーブルに設定されることを示す。図18Cは、リンクアップしたPDEV:Kに間接的に接続されている全てのphyについて「有効」がエクスパンダルートテーブルに設定されることを示す。 観点2−2に従う処理(コントローラ431が行う処理)の流れを示す。 障害チェックプロセス(図19のS1905)の流れを示す。 リンクダウンチェックプロセス(図19のS1907)の流れを示す。 図22Aは、1つのエクスパンダ#00に2つのエクスパンダ#011及び#012が直接的に接続された構成の一例を示す。図22Bは、コントローラ#0とエクスパンダ#00との接続が切断されたことを示す。 図23Aは、図22Bに示した切断の後に、エクスパンダ#00のphy#1及びphy#2に接続されるエクスパンダが交換されたことを示す。図23Bは、図23Aに示した交換の後に、コントローラ#0とエクスパンダ#00とが接続されたことを示す。 図24Aは、図23Bに示した接続の後にディスカバープロセスを行った結果(エクスパンダ#00のエクスパンダルートテーブル611)を示す。図24Bは、図24Aに示したテーブル611に基づくルーティングにおいて転送先の検出が不可になることを示す。 図25Aは、図23Bに示した接続の後に、ディスカバープロセスの前に、エクスパンダ#00のエクスパンダルートテーブル611から全てのSASアドレス情報を一括して消去することを示す。図25Bは、図25Aに示した一括消去の後にディスカバープロセスを行った結果(エクスパンダ#00のエクスパンダルートテーブル611)を示す。 転送先検出不可という問題が生じ得る、ストレージシステムの構成の一例を示す。 観点2−3の概要を示す。 一括消去コマンドの構成を示す。 観点2−3に従う処理(コントローラ431が行う処理)の流れを示す。
以下、図面を参照して、本発明の一実施例を説明する。
なお、以下の説明では、「kkkテーブル」の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「kkkテーブル」を「kkk情報」と呼ぶことができる。
また、以下の説明では、種々の対象の識別情報として、番号が使用されるが、番号以外種類の識別情報(例えば、英字や符号を含んだ識別子)も採用可能である。
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び/又は通信インタフェース装置(例えば通信ポート)を用いながら行うため、処理の主語がプロセッサとされてもよい。プログラムを主語として説明された処理は、ストレージシステム、コントローラ又はエクスパンダが行う処理としても良い。また、プロセッサは、プロセッサが行う処理の一部又は全部を行うハードウェア回路を含んでも良い。コンピュータプログラムは、プログラムソースから各計算機にインストールされても良い。プログラムソースは、例えば、プログラム配布サーバ又は記憶メディアであっても良い。
また、以下の説明では、同種の複数の要素を、要素の識別番号を用いて区別することがある。例えば、複数の要素Aを区別する場合、「A#x」と言うことがある。「A#x」は、識別番号がxの要素Aであることを意味する。“x”は、0以上の整数である。
また、以下の説明では、SASエクスパンダを、単に「エクスパンダ」と言う。エクスパンダは、スイッチデバイスである。
また、以下の説明では、コントローラ側を「前段」と言い、コントローラ側と逆の側を「後段」と言うことがある。
また、以下の説明では、phyに1つのphyを隔てることなく接続されていることを「直接的に接続されている」と言い、phyに1以上のphyを介してデバイス(記憶デバイス又はエクスパンダ)が接続されることを「間接的に接続される」と言う。
また、以下の説明では、phyに直接的に接続されているデバイス(記憶デバイス又はエクスパンダ)を「直接デバイス」と言い、phyに間接的に接続されているデバイスを「間接デバイス」と言うことがある。
また、以下の説明では、1つのphyを介してそのphyに直接的に接続されているデバイスに通信ができないことを、「リンクダウン」と言い、そのリンクダウンの回復(つまり通信可能になること)を「リンクアップ」と言うことがある。
また、以下の説明では、エクスパンダ#x(又はコントローラ)からエクスパンダ#(x+1)(エクスパンダ#xの次の後段のエクスパンダ)に通信ができないことを、「エクスパンダ#x(又はコントローラ)とエクスパンダ#(x+1)との接続が切断されている」と言うことがある。切断は、例えば、エクスパンダ#x(又はコントローラ)とエクスパンダ#(x+1)とを接続するためのケーブルが切れる或いは抜かれることにより、生じる。エクスパンダ#x(又はコントローラ)とエクスパンダ#(x+1)がワイドリンクで接続されており、且つ、ワイドリンクに接続されている全てのphyについてリンクダウンが生じている場合、「切断」が生じていると言うことができる。
図4は、本発明の一実施例に係るストレージシステムの構成を示す。
ストレージシステム401は、基本筺体411と、複数の増設筺体413とで構成される。基本筺体411に増設筺体413が接続され、その増設筺体413の後段に、直列に、1以上の増設筺体413が接続される。
基本筺体411は、二重化されたコントローラ431(コントローラ#0及び#1)を有する。基本筺体411は、記憶デバイス(以下、PDEV)451を有しても良い。
コントローラ#0及び#1は、通信ネットワーク405を介してホスト403に接続されている。通信ネットワーク405は、例えば、SAN(Storage Area Network)である。ホスト403は、物理的な1以上の計算機であっても良いし、仮想的な1以上の計算機であっても良い。ホスト403は、I/O要求を発行する。
コントローラ431は、SASコントローラ441を有する。
増設筺体413は、二重化されたエンクロージャ433と、複数のPDEV451とを有する。各エンクロージャ433は、エクスパンダ443を有する。PDEV451は、例えば、SATA(Serial Attached SCSI)又はSASのインタフェースを搭載したHDD(Hard Disk Drive)又はSSD(Solid State Drive)である。
コントローラ#0及び複数のPDEV451に接続された第1の通信経路461と、コントローラ#1及び複数のPDEV451に接続された第2の通信経路463がある。第2の通信経路463は、第1の通信経路461の冗長経路である。このため、各PDEV451には、第1及び第2の通信経路463のいずれを経由してもアクセスすることができる。
各通信経路は、直列に接続された複数のエクスパンダ443を有する。最前段のエクスパンダ443が、コントローラ431に接続されている。従って、コントローラ431及び複数のエクスパンダ443が直列になっている。コントローラ431とエクスパンダ443間、及び、エクスパンダ443とエクスパンダ443間は、ワイドリンク461で接続されている。ワイドリンク461は、並列の2以上の物理リンクで構成されている。コントローラ431とエクスパンダ443間、及び/又は、エクスパンダ443とエクスパンダ443間は、ワイドリンク461に代えて、ワイドリンクを構成しない物理リンクで接続されても良い。
コントローラ#0(#1)は、ホスト403からI/O要求を受信する。コントローラ#0(#1)は、受信したI/O要求を基に、I/O先のPDEV451を特定する。コントローラ#0(#1)は、特定されたPDEV451をターゲットとしたI/Oコマンドを、SASコントローラ#0(#1)を介して発行する。そのI/Oコマンドは、コントローラ#0(#1)に接続されている第1の通信経路461(第2の通信経路463)におけるエクスパンダ#0n(#1n)を経由する(nは0以上の整数)。
図5は、コントローラ431の構成を示す。
コントローラ431は、RAIDコントローラ571と、バックエンドI/F521とを有する。
RAIDコントローラ571は、ホスト403からI/O要求(ライト要求又はリード要求)を受信し、そのI/O要求から特定される論理ボリュームの基になっているPDEV451を特定し、特定したPDEV451をターゲットとしたI/Oコマンドを生成し、SASコントローラ441に送る。RAIDコントローラ571は、ホストI/F507と、キャッシュメモリ503と、タイマ505と、メモリ509と、それらに接続されたプロセッサ(例えばCPU)501とを有する。
ホストI/F507は、ホスト403との通信のためのインタフェース装置である。ホストI/F507が、ホスト403からI/O要求を受信する。
キャッシュメモリ503は、ホスト403からのI/O要求に従ってPDEV451に対して書き込まれる又は読み出されるデータを一時的に記憶する。
タイマ505は、現在時刻を測る。
メモリ509は、情報及びコンピュータプログラム、例えば、初回時間退避テーブル510、デバイス管理テーブル511、リンクダウン回数テーブル512、RAID制御プログラム513、I/O発行プログラム514、デバイスコマンド発行プログラム515、障害処理プログラム516及びデバイス制御プログラム517を記憶する。CPU501がプログラム513〜517を実行する。テーブル510〜512については後に説明する。
RAID制御プログラム513は、RAID演算を行う。具体的には、例えば、2以上のPDEV451でRAIDグループが構成されており、RAID制御プログラム513は、データの書込み先のRAIDグループのRAIDレベルに応じて、そのデータを用いたRAID演算を行う。
I/O発行プログラム514は、RAID演算の結果を基に、データの書込み先のPDEV451を特定し、特定したPDEV451をターゲットとしたライトコマンドを生成し、その生成したライトコマンドを発行する。
デバイスコマンド発行プログラム515は、I/Oコマンドとは異なるコマンド(例えば、後述のワイドリンク纏めコマンド等のオリジナルコマンド)を発行する。
障害処理プログラム516は、障害のチェックに関する処理(例えば、エラー回数のカウント、時間の監視、様々な判断)を行う。
デバイス制御プログラム517は、デバイスコマンド発行プログラム515が発行したコマンドに対する応答を基に、デバイス管理テーブル511を更新する。
バックエンドI/F521は、SASに従う通信を行うためのインタフェース装置である。バックエンドI/F521が、SASコントローラ441を有する。
SASコントローラ441は、エクスパンダ443とRAIDコントローラ517との間の通信のプロトコル変換を制御することができる。SASコントローラ441は、例えば、ワイドポートを有する。ワイドポートは、2以上の物理ポートから構成されるポートであり、ワイドリンクを経由して、最前段のエクスパンダ443に接続される。SASコントローラ441は、複数のワイドポートを有しても良いし、ワイドポートを構成しない物理ポートを有しても良い。SASコントローラ441に、複数のエクスパンダ443が接続されても良い。
コントローラ431(例えば#0)は、他方のコントローラ431(例えば#1)と、ホストI/F507、バックエンドI/F521、又は、それらとは別の通信インタフェース装置(図示せず)を介して、接続されている。これにより、コントローラ431は、ホスト403からのI/O要求、又は、PDEV451をターゲットとしたI/Oコマンドを、他方のコントローラ431に転送することができる。
図6は、エクスパンダ443の構成を示す。
エクスパンダ443は、例えばLSI(Large Scale Integration)である。エクスパンダ443は、デバイスI/F601と、スイッチ回路603と、メモリ607と、プロセッサ(例えばCPU)605とを有する。
デバイスI/F601は、デバイスに対するインタフェース装置である。ここで言う「デバイス」は、PDEV451又は別のエクスパンダ443である。デバイスI/F601は、複数のPhy(物理ポート)621で構成されている。複数のphy621は、PDEV451が直接的に接続されているphy621と、別のエクスパンダ443が直接的に接続されているphy621とを含む。エクスパンダ443が最前段のエクスパンダ443の場合、複数のphy621は、コントローラ431が直接的に接続されたphyを含む。
スイッチ回路603は、ルーティングを行うハードウェア回路である。スイッチ回路603には、複数のPhy621とプロセッサ605とが接続されている。スイッチ回路603は、メモリ605を有し、メモリ605が、エクスパンダルートテーブル611を記憶する。ルーティングは、そのエクスパンダルートテーブル611を基に行われる。
メモリ607は、情報及びコンピュータプログラム、例えば、デバイスI/F情報623、及び、ファームウェア631を記憶する。
デバイスI/F情報623は、phy621毎のステータス情報(例えば、通信可能を意味する“Ready”、通信不可能であることを意味する“Not-ready”)を有する。
ファームウェア631は、デバイスI/F制御プログラム641、デバイスI/F監視プログラム642、ブロードキャスト発行プログラム643、及び、コマンド処理プログラム644を有する。
デバイスI/F制御プログラム641は、phyの有効/無効を制御する。
デバイスI/F監視プログラム642は、各phyのステータスを、各phyをポーリングすることにより検出する。デバイスI/F監視プログラム642は、phyについて検出したステータスを表す情報をデバイスI/F情報623に書き込む。また、デバイスI/F監視プログラム642は、検出されたステータスがエラーを意味するステータスの場合、ブロードキャスト発行プログラム643を起動する。
ブロードキャスト発行プログラム643は、エラー情報をブロードキャストする。つまり、エラー情報は、前段側と後段側の両方へ出力される。前段側へ出力されたエラー情報は、やがて、コントローラ443に届く。なお、ブロードキャストされるエラー情報は、例えば、BP(SES)である。BP(Broadcast Primitive)とは、SASの規格でサポートされている情報フレームである。BPとしては、例えば、BP(SES)と、BP(CHANGE)とがある(SESは、「SCSI Enclosure Service」の略である)。BP(SES)は、例えば、監視対象のデバイスのステータスが変化したことが検知された場合に作成されて発行される情報フレームである。BP(CHANGE)は、例えば、エクスパンダ443で管理されているトポロジに変化があったこと(例えばPDEV451が新たに追加或いは取り外されたこと)が検知された場合に作成されて発行される情報フレームである。
コマンド処理プログラム644は、コントローラ431から受信したコマンドを解析して、コマンドの種類を特定し、特定したコマンドの種類に応じて、そのコマンドを処理する。
図7Aは、エクスパンダルートテーブル611の構成を示す。
テーブル611は、エクスパンダ(そのテーブル611を有するエクスパンダ)443が有するphy毎に、phyに間接的に接続されているデバイス(PDEV又はエクスパンダ)のSASアドレスを表すSASアドレス情報と、そのデバイスが有効か無効かを表すステータス情報とを有する。
図7Aに示したテーブル611は、例えば、エクスパンダ#00が有し、図7Bに示す構成を表す。なお、エクスパンダ443の識別番号は、通し番号であり、より後段になるにつれて、1加算された番号となる。すなわち、エクスパンダ#xに直接的に接続されている後段のエクスパンダは、エクスパンダ#(x+1)であり、エクスパンダ#xに直近的に接続されている前段のエクスパンダは、エクスパンダ#(x−1)である。
図7Bに示すように、エクスパンダ#01に、SASアドレス「A」のPDEV(以下、PDEV:A)と、PDEV:Bとが直接的に接続されていて、エクスパンダ#02に、PDEV:Cが直接的に接続されている。
図7Bに示す構成によれば、エクスパンダ#00のphy#0〜#3のどのphyを通じても、PDEV:A、PDEV:B、及びPDEV:Cのいずれにもアクセス可能である。このため、図7Aに示すように、エクスパンダ#00のエクスパンダルートテーブル611には、phy#0及び#1について、PDEV:A、PDEV:B、及びPDEV:CのSASアドレス情報「A」、「B」及び「C」が設定される。図示は省略されているが、エクスパンダ#00のphy#02及び#03についても、PDEV:A、PDEV:B、及びPDEV:CのSASアドレス情報「A」、「B」及び「C」が設定される。
なお、図示は省略されているが、各エクスパンダ443は、エクスパンダルートテーブル611の他に、ダイレクトデバイステーブルを有することができる。ダイレクトデバイステーブルは、そのテーブルを有するエクスパンダのどのphyにどんなSASアドレス情報を有するデバイスが直接的に接続されているかを表す。エクスパンダ443は、例えば、SASアドレス情報を有するI/Oコマンドを受信した場合、そのSASアドレス情報に一致するSASアドレス情報がエクスパンダルートテーブル611とダイレクトデバイステーブルのどちらにあるかを判断することができる。エクスパンダ443は、その一致するSASアドレス情報がエクスパンダルートテーブル611にあれば、その一致するSASアドレス情報に対応する1以上のphy番号から1つのphy番号を選択し、選択したphy番号のphyから、上記受信したI/Oコマンドを出力することができる。一方、エクスパンダ443は、その一致するSASアドレス情報がダイレクトデバイステーブルにあれば、その一致するSASアドレス情報に対応するphy番号のphyから、上記受信したI/Oコマンドを出力することができる。
図8は、デバイス管理テーブル511の構成を示す。
テーブル511は、コントローラ431が有する(図5参照)。テーブル511は、エクスパンダ毎に、下記の情報、
(8−1)各phyについて、ワイドリンクを構成する物理リンクに接続されているか(Wide)、或いは、ワイドリンクを構成しない物理リンクに接続されているか(Narrow)を表す情報、
(8−2)各phyについて、正常か異常かを表すステータス情報、
を有する。図8の例によれば、エクスパンダ#00のphy#0、#1及び#2に、ワイドリンク#0を構成する物理リンクが接続されていて(図7B参照)、phy#0、#1及び#2のいずれも正常であることがわかる。
この図8は、コントローラ#0が有するテーブル511を示している。コントローラ#1が有するテーブル511には、エクスパンダ#1n(nは0以上の整数)について、前述した情報(8−1)及び(8−2)を有する。
図9は、ディスカバープロセスの流れを示す。
ディスカバープロセスは、各通信経路461、463において行われる。ディスカバープロセスは、前段側のエクスパンダから後段側のエクスパンダにかけて1つずつ順次に行われる。つまり、ディスカバープロセスのターゲットは、1つずつ後段のエクスパンダに移っていく。
ディスカバープロセスでは、以下の3種類のコマンド、
(1)RG(Report General)コマンド、
(2)ディスカバーコマンド、
(3)CRI(Configure Route Information)コマンド、
が発行される。(1)〜(3)のコマンドのいずれも、SMPコマンドである。
RGコマンドは、ターゲットのエクスパンダに発行されるコマンドである。RGコマンドは、ターゲットのエクスパンダが有するphyに関する情報(例えば、phyの数、phyの識別番号)を取得するために発行される。RGコマンドは、エクスパンダ毎に発行される。
ディスカバーコマンドは、ターゲットのエクスパンダに発行されるコマンドである。ディスカバーコマンドは、ターゲットのエクスパンダが有するphyに直接的に接続されているデバイス(エクスパンダ又はPDEV)に関する情報(例えば、PDEVのSASアドレス)を取得するために発行される。ディスカバーコマンドは、そのエクスパンダが有するphy毎に、発行される。
CRIコマンドは、ターゲットのエクスパンダよりも前段のエクスパンダに発行されるコマンドである。CRIコマンドは、エクスパンダルートテーブル611に情報を設定するために発行されるコマンドである。CRIコマンドは、ターゲットのエクスパンダよりも前段にある各エクスパンダに発行され、且つ、各エクスパンダについて、phy毎に発行される。
以下、説明を分かりやすくするために、図7Bに示した構成において、エクスパンダ#01が、ディスカバープロセスのターゲットであるとする。
コントローラ#00が、まず、エクスパンダ#01に、RGコマンドを発行する(S901)。エクスパンダ#01(コマンド処理プログラム)が、RGコマンドを受信し、phyに関する情報を含んだ応答を、コントローラ#00に返す。phyに関する情報は、エクスパンダ#01が有する全てのphyについて、phy番号を含む。コントローラ#00は、RGコマンドに対する応答から、エクスパンダ#01が有する全てのphyのphy番号を取得できる。
次に、コントローラ#00は、phy番号を有するディスカバーコマンドをエクスパンダ#01に発行する(S902)。ディスカバーコマンドは、エクスパンダ#01が有するphy毎に発行される。エクスパンダ#01は、ディスカバーコマンドを受信し、受信したディスカバーコマンドが有するphy番号のphyに直接的に接続されているデバイスのSASアドレス情報を含んだ応答を、コントローラ#00に返す。例えば、エクスパンダ#01は、phy番号「7」を有するディスカバーコマンドを受信した場合、SASアドレス情報「A」を含んだ応答を、コントローラ#00に返す。コントローラ#00は、ディスカバーコマンドに対する応答から、そのディスカバーコマンドが有するphy番号のphyに直接的に接続されているデバイスのSASアドレス情報を取得できる。
次に、コントローラ#00は、エクスパンダ#01よりも前段にある全てのエクスパンダ#00に、CRIコマンドを発行する(S903)。そのCRIコマンドは、そのCRIコマンドの発行先のエクスパンダが有するphyの番号と、そのphyに間接的に接続されているデバイスのSASアドレス情報(ディスカバーコマンドに対する応答から取得されたSASアドレス情報)とを有する。例えば、CRIコマンドの発行先がエクスパンダ#00の場合、CRIコマンドは、例えば、phy番号「0」と、SASアドレス情報「A」と、インデックス番号「0」とを有する。エクスパンダ#00(コマンド処理プログラム)は、そのCRIコマンドに従って、エクスパンダルートテーブル611における、phy番号「0」及びインデックス番号「0」に対応した位置に、SASアドレス情報「A」を設定する(その際、例えば、ステータス情報として「Valid」も設定されてよい)。これにより、PDEV#Aをターゲットとしたコマンドが、エクスパンダ#00のphy#0を経由することが可能となる。なお、SASアドレス情報「A」とインデックス番号「0」とを含んだCRIコマンドは、phy番号「1」〜「3」のそれぞれについても発行される。
ターゲットのエクスパンダ#01についてディスカバープロセス(S901〜S903)が終わった場合、コントローラ#0は、エクスパンダ#01の後段にエクスパンダがあるか否かを判断する(S904)。この判断は、例えば、ディスカバーコマンドに対する応答を基に行うことができる。S904の判断の結果が否定的の場合、ターゲットのエクスパンダが最後段のエクスパンダであるため、処理が終了する。一方、S904の判断の結果が肯定的の場合、ターゲットのエクスパンダが、エクスパンダ#01の次のエクスパンダ#02とされ、エクスパンダ#02について、ディスカバープロセスが行われる。そのディスカバープロセスにおいて、CRIコマンドは、エクスパンダ#02の前段のエクスパンダ#00及び#01に発行される。
以上の説明から、ディスカバープロセスのターゲットのエクスパンダが後段であればあるほど、ディスカバープロセスに時間がかかる。なぜなら、ターゲットのエクスパンダの前段に多くのエクスパンダが存在することになり、それ故、発行するCRIコマンドの数が多くなるからである。
本実施例は、下記の観点1及び2のうちの少なくとも一方の観点に従って、通信経路がI/Oに使用されない時間を短くすることができる。
(観点1)I/O抑止としておく時間長が短縮される。
(観点2)発行するCRIコマンドの数が削減される。本観点は、具体的には、下記である。
(観点2−1)SASアドレス情報をエクスパンダルートテーブル611に一括して設定するための第1のオリジナルCRIコマンドが定義される。以下、第1のオリジナルCRIコマンドを、「ワイドリンク纏めコマンド」と言う。ディスカバープロセスにおいて、発行されるCRIコマンドは、適宜、ワイドリンク纏めコマンドである。1つのワイドリンク纏めコマンドで、1つのワイドリンクに接続されている2以上のphyの全てについて、SASアドレス情報がエクスパンダルートテーブル611に一括して設定される。これにより、phy毎にCRIコマンドを発行する必要が無い。従って、ディスカバープロセスにかかる時間を短縮することができる。
(観点2−2)エクスパンダルートテーブル611にステータス情報「無効」を設定するためのCRIコマンドを発行することが適宜にスキップされる。これにより、発行されるCRIコマンドの数が削減される。
(観点2−3)エクスパンダルートテーブル611からSASアドレス情報を一括して消去するための第2のオリジナルCRIコマンドが定義される。以下、第2のオリジナルCRIコマンドを、「一括消去コマンド」と言う。1つの一括消去コマンドで、エクスパンダルートテーブル611から、そのテーブル611が有する全てのSASアドレス情報が消去される。これにより、SASアドレス情報毎に、SASアドレス情報を消去するためのCRIコマンドを発行する必要が無い。
以下、各観点を詳細に説明する。
<観点1:I/O抑止の時間長の短縮>。
エクスパンダ443は、何らかのエラーを検出すると、エラー情報(BP(SES))をブロードキャストする。前段側に出力されたエラー情報は、エラーを検出したエクスパンダ443の前段にある1以上のエクスパンダ443を次々に経由して、コントローラ431に届く。コントローラ431は、エラー情報を受けた場合、そのエラー情報が経由した通信経路について、I/O抑止を設定する。コントローラ431は、I/O抑止を設定した通信経路へ、I/Oコマンドを出力しない。
図10Aに示すように、エクスパンダ#x(例えば#00)と次のエクスパンダ#(x+1)(例えば#01)との接続が切断されたとする。このケースでは、コントローラ(例えば#0)が、エクスパンダ#(x+1)以降のエクスパンダに直接的に接続されているどのPDEVをターゲットとしたI/Oコマンドを発行しても、エラー応答(エラーを表す応答)を受けることになる。なぜなら、エクスパンダ#xより後段のエクスパンダにI/Oコマンドを転送することができないからである。
一方、図10Bに示すように、エクスパンダ#x(例えば#02)に直接的に接続されているPDEV(例えばPDEV:I)がリンクダウンしたとする。このケースでは、I/Oコマンドに対してエラー応答を受けることになるのは、PDEV:IをターゲットとしたI/Oコマンドに対してだけである。このため、ストレージシステム全体に与える影響は小さい。
そこで、本実施例では、コントローラ431は、エクスパンダ#xと次のエクスパンダ#(x+1)との接続が切断されているか否かだけを先にチェックする。そのチェックの結果が否定的であれば(すなわち、切断が生じていなければ)、コントローラ431は、I/O抑止を解除し(図10B参照)、その後に、ディスカバープロセスを行う。このため、コントローラ431は、そのコントローラ431に接続されている通信経路でディスカバープロセス中であっても、その通信経路へI/Oコマンドを出力する。一方、上記チェックの結果が肯定的であれば、I/O抑止が維持される(図10A参照)。I/O抑止が維持されている間に、ディスカバープロセスが行われる。
図11は、観点1に関わる処理の流れを示す。
この処理は、エラー情報を受けたコントローラ431によって開始される。以下、そのコントローラ431は、コントローラ#0であるとし、エラー情報が経由した通信経路(当該経路)は、第1の通信経路461であるとする。
コントローラ#0は、第1の通信経路461について、I/O抑止を、例えばメモリ509に設定する(S1101)。
次に、コントローラ#0は、エクスパンダ#0nをターゲットとして、下記の処理を行う。最初にターゲットとなるエクスパンダ#0nは、エクスパンダ#00(つまり最前段のエクスパンダ)である。
(*)コントローラ#0は、エクスパンダ#0nにRGコマンドを発行する(S1102)。
(*)コントローラ#0は、そのRGコマンドに対して正常応答(正常を表す応答)を受信したか否かを判断する(S1103)。
S1103の判断の結果が否定的の場合、エクスパンダ#0nと次のエクスパンダ#0(n+1)との接続が切断されているということである。この場合、コントローラ#0は、I/O抑止を解除することなく、最前段のエクスパンダ#00から最後段のエクスパンダにかけて順次にディスカバープロセスを行う(S1105)。第1の通信経路461における全てのエクスパンダについてディスカバープロセスが終わった後に、コントローラ#0は、第1の通信経路のI/O抑止を解除する(S1106:NO、S1107)。
S1103の判断の結果が肯定的の場合、コントローラ#0は、次のエクスパンダ#0n(n=n+1)に、RGコマンドを発行する(S1102)。ターゲットが最後段のエクスパンダになり、その最後段のエクスパンダに発行したRGコマンドに対しても正常応答を受信したならば、コントローラ#0は、第1の通信経路461のI/O抑止を解除する(S1104)。その後に、コントローラ#0は、最前段のエクスパンダ#00から最後段のエクスパンダにかけて順次にディスカバープロセスを行う(S1105)。
以上、観点1によれば、コントローラ431は、ブロードキャストされたエラー情報を受信した場合、ディスカバープロセスの開始前に、エラー情報がブロードキャストされた原因が、エクスパンダ#xと次のエクスパンダ#(x+1)との接続の切断であるか否かをチェックする。そのチェックの結果が否定的であれば、コントローラ431は、エラー情報が経由した通信経路のI/O抑止を解除し、その後で、ディスカバープロセスを開始する。つまり、エラー情報が経由した通信経路のI/O抑止を解除しても影響が小さいことが特定された場合に、I/O抑止が設定されている時間長を短縮することができる。
なお、S1105では、RGコマンドの発行は省略されて良い。具体的には、S1105では、S1102のRGコマンドの応答から特定されるphy番号を指定したディスカバーコマンドが発行されて良い。
<観点2−1:ワイドリンク纏めコマンド>。
以下、ワイドリンクを構成する各物リンクに接続されている各phyを、「ワイドphy」と言う。また、後段のエクスパンダに直接的に接続されているワイドphyを、「下位ワイドphy」と言う。
エクスパンダ#xにPDEV:Tが直接的に接続されたとする。また、エクスパンダ#xよりも前段にある1以上のエクスパンダは、ワイドリンクで接続されていて、ワイドリンクに接続されている2以上の下位ワイドphyのうちのいずれの下位ワイドphyを介しても、PDEV:TにI/O可能であるとする。
SASの規格によれば、コントローラ431は、PDEV:Tを新たに認識した場合、エクスパンダ#xよりも前段にある全てのエクスパンダに、下位ワイドphy毎に、SASアドレス情報「M」を設定するためのCRIコマンドを発行しなければならない。具体的には、発行されるべきCRIコマンドの数は、(エクスパンダ#xよりも前段にあるエクスパンダの数)と(エクスパンダ#xよりも前段にある下位ワイドphyの数)との積である。
同一のワイドリンクに接続されている2以上の下位ワイドphyについて、エクスパンダルートテーブル611には、同一のSASアドレス情報「M」が設定されることになる。
この事実に着目し、本実施例では、オリジナルのCMIコマンド(拡張されたCMIコマンド)として、ワイドリンク纏めコマンドが定義されている。ディスカバープロセスにおいて発行されるCRIコマンドは、適宜、ワイドリンク纏めコマンドである。
具体的には、例えば、図12に示すように、コントローラ#0は、エクスパンダ#00よりも後段のエクスパンダのディスカバープロセスにおいて、CRIコマンドとして、ワイドリンク纏めコマンド1201を、エクスパンダ#00(ディスカバープロセスの対象のエクスパンダよりも前段にあるエクスパンダ)に発行する。ワイドリンク纏めコマンド1201は、パラメータとして、phy情報、インデックス番号及びSASアドレス情報を有する。図12の例によれば、phy情報は、ワイドリンクに接続されている全ての下位ワイドphyの識別番号「0」、「1」、「2」及び「3」を表す。インデックス番号は、例えば「3」である。SASアドレス情報は、新たに認識されたPDEV:XのSASアドレス「X」を表す。
エクスパンダ#00が、ワイドリンク纏めコマンド1201を受信する。ファームウェア631(コマンド処理プログラム)が、ワイドリンク纏めコマンド1201に従い、点線枠に示すように、インデックス番号「3」のカラム(ルーティングテーブル611内のカラム)における、phy番号「0」、「1」、「2」及び「3」に対応した全てのエントリに、SASアドレス情報「X」を設定する。
このように、観点2−1によれば、1つのワイドリンク纏めコマンドで、同一のワイドリンクに接続されている2以上の下位ワイドphyについて、エクスパンダルートテーブル611に、同一のSASアドレス情報を設定することができる。
以下、ワイドリンク纏めコマンドの構成を説明する。
図13は、ワイドリンク纏めコマンドの構成を示す。図14は、一般的なCRIコマンドの構成を示す。
以下の説明では、CRIコマンドが、複数のエントリで構成されていて、各エントリのサイズは1バイトであり、各エントリは、8個のサブエントリで構成されていて、各サブエントリのサイズは1ビットであるとする。また、f番目のエントリを、「エントリ#f」と記載する(図13及び図14によれば、fは0〜43の整数)。
ワイドリンク纏めコマンドの構成は、下記の点を除き、一般的なCRIコマンドと実質的に同じである。
(*)エントリ#1。ワイドドリンク纏めコマンドも一般的なCRIコマンドも、エントリ#1に、ファクションを表すコードを有する。ファンクションは、コマンドの種類を表す。ワイドリンク纏めコマンドのファンクションコードは、複数のファンクションコードのうちの2以上の未定義のファンクションコードからワイドリンク纏めコマンドに割り当てられたファンクションコード「C0h」である。具体的には、例えば、SAS2.0の規格によれば、「C0h」〜「FFh」が、ベンダが自由に利用可能なコードである。本実施例では、そのうちの「C0h」が、ワイドリンク纏めコマンドに割り当てられる。
(*)エントリ#9。一般的なCRIコマンドは、9バイト目のエントリに、1つのphy識別子(phy番号)を有する。一方、ワイドリンク纏めコマンドは、同一のワイドリンクに接続されている2以上の下位ワイドphyの全てを指定しなければならず、且つ、それら2以上の下位ワイドphyを表す情報のサイズが1バイトを超えることもあるため、1つのエントリ#9にphy番号を有しない。
(*)エントリ#24〜#39。一般的なCRIコマンドは、エントリ#24〜#39に特に有効な情報を有しない。一方、ワイドリンク纏めコマンドは、エントリ#24〜#39に、phy情報を有する。本実施例では、phy情報は、ターゲットphy識別子ビットマップ(以下、phyビットマップ)である。phyビットマップの一例は、図15に示す通りである。phyビットマップは、複数のphy(例えば128個のphy)にそれぞれ対応した複数のビット(128個のビット)で構成されている。phyビットマップのうち、指定された2以上のphy(同一のワイドリンクに接続されている2以上の下位ワイドphy)に対応した2以上のビットは、それぞれ、オン(例えば“1”)とされ、それ以外のビットは、オフ(例えば“0”)とされる。なお、phy情報は、phyビットマップに代えて、他種の情報、例えば、指定された2以上のphyを表す2以上のphy番号であっても良い。
なお、ワイドドリンク纏めコマンドも一般的なCRIコマンドも、インデックス番号を、エントリ#6及び#7に有し、SASアドレス情報を、エントリ#16〜#23に有する。
図16は、観点2−1に従う処理(コントローラ431が行う処理)の流れを示す。なお、図16の説明において、ディスカバープロセスにおけるCRIコマンドの発行先のエクスパンダ(ディスカバープロセスのターゲットのエクスパンダより前段にあるエクスパンダ)を、「対象エクスパンダ」と言う。
コントローラ431は、デバイス管理テーブル511(図8参照)を基に、対象エクスパンダが有する複数のphyのうち、同一のワイドリンクに接続されている2以上の下位ワイドphyを特定する(S1601)。どれが下位phy(後段のエクスパンダに直接的に接続されているphy)であるかを表す情報を、デバイス管理テーブル511が有していても良い。
コントローラ431は、ワイドリンク纏めコマンドを生成する(S1602)。具体的には、コントローラ431は、CRIコマンドに、フォーマットコード「C0h」と、インデックス番号と、SASアドレス情報と、S1601で特定した2以上の下位ワイドphyに対応する2以上のビットをオンにしたphyビットマップとを設定する。
コントローラ431は、S1602で生成したワイドリンク纏めコマンドを、対象エクスパンダに発行する(S1603)。
図17は、エクスパンダ443が行う処理の流れを示す。
エクスパンダ443が、コマンドを受信する(S1701)。
ファームウェア631内のコマンド処理プログラム644が、コマンドを解析し、そのコマンドがワイドリンク纏めコマンドか否かを判断する(S1702)。受信したコマンド内のファンクションコードから、そのコマンドの種類を特定することができる。
S1702の判断の結果が否定的の場合、プログラム644は、受信したコマンドに従う処理を行う(S1706)。例えば、コマンドが、I/Oコマンドであれば、そのI/Oコマンドの転送が行われる。また、コマンドが、一括消去コマンドであれば、エクスパンダルートテーブル611から全てのSASアドレス情報が消去される。
S1702の判断の結果が肯定的の場合、プログラム644は、phyビットマップを先頭から末尾にかけて、順に、下記の処理を行う。
(*)プログラム644は、S1702の判断が行われていない1以上のビットのうち最前のビットについて、オンか否かを判断する(S1703)。
(*)S1703の判断の結果が肯定的であれば(S1703:YES)、プログラム644は、SASアドレス情報をエクスパンダルートテーブル611に設定する(S1704)。具体的には、プログラム644は、受信したワイドリンク纏めコマンド内のインデックス番号に対応したカラムにおける、そのビットに対応したphy番号についてのエントリに、そのコマンド内のSASアドレス情報を設定する。
(*)S1704の後、或いは、S1703の判断の結果が否定的の場合、プログラム644は、S1703でのビットが末尾であるか否かを判断する。その判断の結果が否定的であれば、プログラム644は、次のビットについてS1703を行い、その判断の結果が肯定的であれば、S1705を行う。
プログラム644は、ワイドリンク纏めコマンドに対する応答をコントローラ431に返す(S1705)。
以上、観点2−1によれば、ディスカバープロセスにおいて、1つのワイドリンク纏めコマンド(オリジナルCRIコマンド)で、同一のワイドリンクを構成する2以上の下位ワイドphyについて、同一のSASアドレス情報をエクスパンダルートテーブル611に設定することができる。このため、ディスカバープロセスにおいて発行されるCRIコマンドの数を削減でき、以って、ディスカバープロセスにかかる時間を短縮することができる。
<観点2−2:無効化スキップ>。
図18Aに示すように、エクスパンダ#02に直接的に接続されているPDEV:Kについてステータス変化(例えば、リンクダウン)が生じたとする。エクスパンダ#02が、そのステータス変化を検出し、その報告(例えば、エラー情報)をブロードキャストする。コントローラ#0が、報告を受信し、最前段のエクスパンダ#00から、順次に、ディスカバーコマンドを発行する。ディスカバーコマンドは、phy毎に発行される。これにより、コントローラ#0は、エクスパンダ#02に直接的に接続されているPDEV:Kについてのステータス変化(例えば、リンクダウン)を検出することができる。
コントローラ#0は、PDEV:Kについてリンクダウンを検出した場合、エクスパンダ#02よりも前段にある全てのエクスパンダ#00及び#01に、CRIコマンドを発行する必要がある。そのCRIコマンドは、そのコマンドの発行先のエクスパンダ#00又は#01に間接的に接続されているPDEV:Kについてステータス情報「無効」をエクスパンダルートテーブル611に設定するためのコマンドである。そのCRIコマンドは、PDEV:Kに間接的に接続されている下位phy毎に発行される。その結果、エクスパンダ#00(及び#01)のエクスパンダルートテーブル611は、例えば、図18Bに点線枠で示すように更新される。このような処理は、PDEVについてリンクダウンが検出される都度に行われる。
また、コントローラ#0は、PDEV:Kについてリンクアップを検出した場合も、エクスパンダ#02よりも前段にある全てのエクスパンダ#00及び#01に、CRIコマンドを発行する必要がある。そのCRIコマンドは、そのコマンドの発行先のエクスパンダ#00又は#01に間接的に接続されているPDEV:Kについてステータス情報「有効」をエクスパンダルートテーブル611に設定するためのコマンドである。そのCRIコマンドは、PDEV:Kに間接的に接続されている下位phy毎に発行される。その結果、エクスパンダ#00(及び#01)のエクスパンダルートテーブル611は、例えば、図18Cに点線枠で示すように更新される。このような処理は、PDEVについてリンクアップが検出される都度に行われる。
図18A〜図18Cを参照した説明によれば、リンクダウン及びリンクアップが検出される回数が多いほど、CRIコマンドが発行される。
しかし、リンクダウンとしては、インターミッテントなリンクダウンがある。また、リンクダウンが検出されたPDEVは、継続使用可能であることがある。これらのようなケースについてまで、リンクダウンが検出されたからといって、無効を設定するためのCRIコマンドを発行することは、無駄である。やがて、リンクアップが検出され、有効を設定するためのCRIコマンドが発行されることになるからである。
観点2−2によれば、リンクダウンが検出された場合、下記の判断(1)及び(2)の少なくとも1つが行われ、
(1)リンクダウンが検出されたPDEVの継続使用が可能か否か、
(2)リンクダウンがインターミッテントなリンクダウンであるか否か、
少なくとも1つの判断の結果が肯定的であれば(本実施例では両方の判断の結果が肯定的であれば)、無効を設定するためのCRIコマンドの発行がスキップされる。
また、観点2−2によれば、リンクアップが検出されても、有効を設定するためのCRIコマンドは発行されない。
このため、観点2−2によれば、発行されるCRIコマンドの数が削減される。
以下、観点2−2を、より詳細に説明する。
図19は、観点2−2に従う処理(コントローラ431(特に、デバイスコマンド発行プログラム515)が行う処理)の流れを示す。以下、コントローラ#0を例に採り、その処理の流れを説明する。また、以下、リンクダウンが検出されたPDEVを、「対象PDEV」と言い、対象PDEVに直接的に接続されているphyを「対象phy」と言い、対象phyを有するエクスパンダを「対象エクスパンダ」と言う。
コントローラ#0は、エラー情報を受けた場合(S1901:Yes)、ディスカバーコマンドを発行する(S1902)。ディスカバーコマンドの発行先は、エクスパンダ#00から、順次に、1つずつ後段に移る。また、ディスカバーコマンドで指定されるphyの数は1であるため、各エクスパンダ#0nについて、ディスカバーコマンドは、そのエクスパンダ#0nが有するphy毎に発行される。対象エクスパンダに対象phyを指定したディスカバーコマンドが発行されることにより、リンクダウンがコントローラ#0によって検出される(S1903:Yes)。
なお、S1901:Yesでは、観点1で述べた処理、すなわち、下記の処理、
(1)エラー情報が経由した第1の通信経路461についてのI/O抑止の設定、
(2)RGコマンドの発行(RGコマンドの発行先は、エクスパンダ#00から、順次に、1つずつ後段に移る)、
が行われても良い。観点2−2では、エクスパンダと次のエクスパンダとの接続が切断されているわけではなく、PDEVについてのリンクダウンが生じているにすぎない。このため、コントローラ#0は、I/O抑止を解除し、その後で、S1902を行って良い。
S1903:Yesの場合、コントローラ#0は、対象phyについて、デバイス管理テーブル511(図8参照)に、「異常」を設定する(S1904)。
次に、コントローラ#0は、障害チェックプロセスを実行する(S1905)。このプロセスでは、対象PDEVを継続して使用可能か否かが判断される。このプロセスでは、対象PDEVのリンクダウン回数が規定回数を越えていれば、対象PDEVの継続使用は不可能と判断される。一方、対象PDEVのリンクダウン回数が規定回数以下であれば、対象PDEVの継続使用は可能と判断される。
S1905において、継続使用不可能と判断された場合(S1906:No)、コントローラ#0は、対象エクスパンダよりも前段にある各エクスパンダに、対象PDEVのSASアドレス情報について「無効」を設定するためのCRIコマンドを発行する(S1909)。
S1905において、継続使用可能と判断された場合(S1906:Yes)、コントローラ#0は、リンクダウンチェックプロセスを実行する(S1907)。このプロセスでは、リンクダウンがインターミッテントかパーマネントかが判断される。このプロセスでは、対象PDEVについて、このプロセスの開始時刻から規定時間以内にリンクアップが検出されれば、検出されたリンクダウンはインターミッテントと判断される。一方、対象PDEVについて、このプロセスの開始時刻から規定時間を経過してもリンクアップが検出されなければ、検出されたリンクダウンはパーマネントと判断される。
S1907において、パーマネントと判断された場合(S1908:No)、コントローラ#0は、前述したS1909を行う。
S1907において、インターミッテントと判断された場合(S1908:Yes)、コントローラ#0は、S1909をスキップする。
図20は、障害チェックプロセス(図19のS1905)の流れを示す。
コントローラ#0(デバイスコマンド発行プログラム515)は、対象PDEVについてのリンクダウン回数を1インクリメントする(S2001)。具体的には、リンクダウン回数テーブル512(図5参照)は、PDEV毎に、SASアドレス情報と、リンクダウン回数を表すカウント値とを有する。プログラム515は、対象PDEVのSASアドレス情報に対応したカウント値を1インクリメントする。
プログラム515は、更新後のリンクダウン回数が規定回数を超えたか否かを判断する(S2002)。
S2002の判断の結果が肯定的であれば(S2002:Yes)、プログラム515は、対象PDEVの継続使用が不可能と判断する(S2003)。
S2002の判断の結果が否定的であれば(S2002:No)、プログラム515は、対象PDEVの継続使用が可能と判断する(S2004)。
図21は、リンクダウンチェックプロセス(図19のS1907)の流れを示す。
コントローラ#0(デバイスコマンド発行プログラム515)は、対象PDEVについて、現在時刻(タイマ505から取得される時刻)を表す情報を、初回時間退避テーブル510に登録する(S2101)。具体的には、初回時間退避テーブル510(図5参照)は、PDEV毎に、SASアドレス情報と、リンクダウンチェックプロセス開始時の時刻を表す情報とを有する。プログラム515は、対象PDEVのSASアドレス情報に対応したエントリに、リンクダウンチェックプロセス開始時にタイマ505から取得された時刻を表す情報を登録する。以下、図21の説明において、対象PDEVについて、テーブル510のエントリに登録された情報が表す時刻を「初回時刻」と言う。
プログラム515は、S2101から一定時間待って(S2102)、対象phyを指定したディスカバーコマンドを対象エクスパンダに発行する(S2103)。
S2103で発行したディスカバーコマンドに対する応答から、リンクアップが検出された場合(S2104:Yes)、プログラム515は、リンクダウンはインターミッテントであると判断する(S2108)。
S2103で発行したディスカバーコマンドに対する応答から、リンクアップが検出されなかった場合(リンクダウンが検出された場合)(S2104:No)、プログラム515は、現在時刻を取得し、規定時間を経過したか否かを判断する(S2106)。具体的には、プログラム515は、その現在時刻と初回時刻との差が一定時間以上か否かを判断する。
S2106の判断の結果が肯定的であれば(S2106:Yes)、プログラム515は、リンクダウンがパーマネントであると判断する(S2107)。
S2106の判断の結果が否定的であれば(S2106:No)、プログラム515は、一定時間待って(S2102)、再び、対象phyを指定したディスカバーコマンドを対象エクスパンダに発行する(S2103)。
以上、観点2−2によれば、発行されるCRIコマンドの数を削減することができる。
<観点2−3:一括消去コマンド>。
ディスカバープロセスにて新しく検出されたエクスパンダのエクスパンダルートテーブル611に、どんなSASアドレス情報が設定されているか未定である。このため、エクスパンダルートテーブル611から一度全てのSASアドレス情報を消去し、その後、ディスカバープロセスを最前段のエクスパンダから順次に行っていかないと、エクスパンダルートテーブル611に正しく情報が設定されないことがある。この場合、特定のデバイスにアクセスすることが不可能となる。
しかし、通常のCRIコマンドで、エクスパンダルートテーブル611から全てのSASアドレス情報を消去するとなると、CRIコマンドをエントリ毎に発行する必要がある。このため、CRIコマンドの発行回数が膨大となる。
そこで、観点2−3では、1つのコマンドで、エクスパンダルートテーブル611から全てのSASアドレス情報を消去する。これにより、CRIコマンドの数を削減することができる。
以下、観点2−3を詳細に説明する。なお、「SASアドレス情報の消去」は、SASアドレス情報を実際に消去することに代えて、SASアドレス情報を有するエントリに「無効」を設定すること(つまり実質的にSASアドレス情報を消去すること)であっても良い。
エクスパンダルートテーブル611を一度全て無効化しておかないと特定のデバイスにアクセスすることが不可能になるケースとして、例えば、図22A乃至図24Bのケースがある。
図22Aに示すように、エクスパンダ#00のphy#1に、エクスパンダ#011が直接的に接続されており、エクスパンダ#00のphy#2に、エクスパンダ#012が直接的に接続されている。エクスパンダ#011に、PDEV:A、PDEV:B及びPDEV:Cが直接的に接続されていて、エクスパンダ#012に、PDEV:X及びPDEV:Yが直接的に接続されている。このため、エクスパンダ#00のエクスパンダルートテーブル611は、図22Aに示すように、phy#1にPDEV:A、PDEV:B及びPDEV:Cが間接的に接続されていて、phy#2にPDEV:X及びPDEV:Yが間接的に接続されていることを表す。
ここで、下記が行われたとする。
(1)図22Bに参照符号2211で示すように、コントローラ#0とエクスパンダ#00との接続が切断される(例えば、ケーブルが外される)。
(2)次に、図23Aに参照符号2301で示すように、エクスパンダ#00のphy#1に、エクスパンダ#011に代えてエクスパンダ#012が直接的に接続され、且つ、エクスパンダ#00のphy#2に、エクスパンダ#012に代えてエクスパンダ#011が直接的に接続される。
(3)最後に、図23Bに参照符号2311で示すように、SASコントローラ#0とエクスパンダ#00とが再び接続される(例えば、ケーブルが接続される)。
その後、コントローラ#0は、図24Aに示すように、エクスパンダ#00から後段のエクスパンダにかけて、順次に、ディスカバープロセスを行う(S2401)。
ここで、phy#2については、古いSASアドレス情報(A、B、C)の数よりも新しいSASアドレス情報(X、Y)の数の方が多い。このため、全ての古いSASアドレス情報は新しいSASアドレス情報に更新され、それ故、phy#2については、テーブル611に、古いSASドレス情報は残らない。
しかし、phy#1については、古いSASアドレス情報(A、B、C)の数よりも新しいSASアドレス情報(X、Y)の数の方が少ない。このため、phy#1について、図24Aに符号2402で示すように、新しいSASアドレス情報で更新されない古いSASアドレス情報「C」が、テーブル611に残ってしまう。この結果、phy#1について残った古いSASアドレス情報「C」は、phy#2についての新しいSASアドレス情報「C」と重複してしまう。
各エクスパンダは、受信したコマンドのターゲット(SASアドレス情報)に間接的に接続されている複数のphyがある場合、それら複数のphyのうち、phy番号が最も小さいphyからコマンドを転送する。テーブル611には、phy#1及び#2の両方について、SASアドレス情報「C」が設定されている。このため、エクスパンダ#00は、PDEV:Cをターゲットとしたコマンドを受けた場合、phy#1にはPDEV:Cが接続されていないにも関わらず、phy#1からコマンドを転送する。しかし、コマンドの転送先のエクスパンダ#012には、PDEV:Cが接続されていないので、エクスパンダ#012は、そのコマンドを受信しても、図24Bに示すように、そのコマンドの転送先を検出することができない。
そこで、図25Aに示すように、コントローラ#0(デバイスコマンド発行プログラム515)は、新規に検出されたエクスパンダ#00に、一括消去コマンドを発行し、エクスパンダ#00(コマンド処理プログラム644)が、その一括消去コマンドに従い、エクスパンダ#00のエクスパンダルートテーブル611から一括して全てのSASアドレス情報を消去する。
その後に、図25Bに示すように、エクスパンダ#00から後段のエクスパンダにかけて、順次に、ディスカバープロセスが行われる(S2511)。これにより、図25Bに示すように、エクスパンダ#00のエクスパンダルートテーブル611に、phy#1及び#2に、正しいSASアドレス情報が設定される。つまり、図24A及び図24Bに示したように、誤ってSASアドレス情報が重複してしまうことが無い。
上記のように、新規に検出されたエクスパンダが有するエクスパンダルートテーブル611から全てのSASアドレス情報を消去することが必要になり得る1つのケースとして、図26に示すようなケースがある。図26によれば、1つのエクスパンダに直接的に接続される後段のエクスパンダの数が2以上である。具体的には、ストレージシステムが、筐体413と413間(または、筐体411と413との間)に、スイッチボックス2601を有する。スイッチボックス2601は、二重化されたエクスパンダ(#01、#11)を有する(以下、スイッチボックス2601内のエクスパンダを「SWエクスパンダ」と言う)。一方のSWエクスパンダ#01に、2以上の増設筐体413内の2以上の一方のエクスパンダ#021及び#022が直接的に接続され、他方のSWエクスパンダ#11に、2以上の増設筐体413内の2以上の他方のエクスパンダ#121及び#122が直接的に接続される。
図26に示す構成によれば、転送先検出不可という前述した問題が生じ得る。例えば、SWエクスパンダ#01の第1のphyに直接的に接続されているエクスパンダを、エクスパンダ#021からエクスパンダ#022に変えて、且つ、SWエクスパンダ#01の第2のphyに直接的に接続されているエクスパンダを、エクスパンダ#022からエクスパンダ#021に変えた場合に、転送先検出不可という問題が生じ得る。
図27は、一括消去コマンドの発行とSASアドレス情報の一括消去とを示す(図27は、コントローラ#0を例に採っている)。
コントローラ#0は、一括消去コマンド2701を、新規に検出されたエクスパンダ#00に発行する。エクスパンダ#00は、そのコマンド2701に従って、エクスパンダルートテーブル611から全てのSASアドレス情報を消去する。
図28は、一括消去コマンドの構成を示す。
一括消去コマンドは、オリジナルのCRIコマンド(拡張されたCRIコマンド)である。SAS2.0の規格によれば、前述したように、「C0h」〜「FFh」が、ベンダが自由に利用可能なコードである。本実施例では、そのうちの「C1h」が、ファンクションコードとして、一括消去コマンドに割り当てられる。エクスパンダ443は、受信したCRIコマンド内のファンクションコードが「C1h」であることを検出した場合、そのCRIコマンドが一括消去コマンドであることを特定し、エクスパンダルートテーブル611から全てのSASアドレス情報を消去する。
図29は、観点2−3に従う処理(コントローラ431(特に、デバイスコマンド発行プログラム515)が行う)の流れを示す。
プログラム515が、S2902のターゲットとなっていないエクスパンダのうちの最前段のエクスパンダに、ディスカバーコマンドを発行する(S2902)。プログラム515は、そのディスカバーコマンドに対する応答から、新規にエクスパンダが検出されたか否かを判断する(S2903)。この判断は、例えば、コントローラ431が有する管理情報を基に行われる。ここで言う「管理情報」は、例えば、エクスパンダ毎に、phyの番号とそのphyに直接的に接続されているSASアドレス情報との対応関係を有する。従って、下記の(p)及び(q)が互いに異なっている場合に、新規にエクスパンダが検出されたということになる(以下、新規に検出されたエクスパンダを「新規検出エクスパンダ」と言う)。
(p)ディスカバーコマンドに対する応答が有するSASアドレス情報。
(q)ディスカバーコマンドで指定したphy番号に管理情報において対応付けられているSASアドレス情報。
ディスカバーコマンドのターゲットは、前段のエクスパンダから後段のエクスパンダへと変わるが、初めて新規のエクスパンダが検出された場合、その新規検出エクスパンダより後段のエクスパンダは、以後、全て、新規に検出されることになる。
S2903の判断の結果が否定的の場合(S2903:No)、プログラム515は、最近のS2902のターゲットが最後段のエクスパンダか否かを判断する。その判断の結果が否定的の場合、最近のS2902のターゲットの次のエクスパンダをターゲットとして、S2902が行われる。
一方、S2903の判断の結果が肯定的の場合(S2903:Yes)、下記が行われる。
(S2904)プログラム515は、S2902のターゲットよりも前段にある全てのエクスパンダに、CRIコマンドを発行する。そのCRIコマンドは、新規検出エクスパンダのSASアドレス情報と、インデックス番号と、S2902のディスカバーコマンドで指定されたphy番号とを有する。そのCRIコマンドを受けたエクスパンダは、エクスパンダルートテーブル611における、CRIコマンド内とphy番号及びインデックス番号に対応したエントリに、CRIコマンド内のSASアドレス情報を設定する。
(S2905)プログラム515が、新規検出エクスパンダに、一括消去コマンドを発行する。新規検出エクスパンダは、一括消去コマンドを受信し、そのエクスパンダが有するエクスパンダルートテーブルから全てのSASアドレス情報を消去する。
(S2906)プログラム515が、新規検出エクスパンダについて、ディスカバープロセスを実行する。これにより、新規検出エクスパンダに直接的に接続されているデバイスのSASアドレス情報が、新規検出エクスパンダよりも前段にある全てのエクスパンダのエクスパンダルートテーブル611に設定される。
以上、本発明の一実施例を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
401…ストレージシステム 431…コントローラ 443…エクスパンダ

Claims (14)

  1. 複数の記憶デバイスと、
    ホストに接続された第1及び第2のコントローラと、
    前記第1のコントローラ及び前記複数の記憶デバイスに接続されSASに従う通信の経路である第1の通信経路と、
    前記第2のコントローラ及び前記複数の記憶デバイスに接続されSASに従う通信の経路である第2の通信経路と
    を有し、
    各通信経路は、直列に接続された複数のエクスパンダを有し、それら複数のエクスパンダの最前段のエクスパンダが前記コントローラに接続されており、
    各エクスパンダは、複数のPhyを有し、それら複数のPhyは、記憶デバイスが接続されているPhyと、エクスパンダが接続されているPhyとを含み、
    前記第1のコントローラが、
    (A)前記第1の通信経路について、I/O抑止を設定し、
    (B)前記(A)の後に、前記第1のコントローラとエクスパンダ間の接続、又は、エクスパンダとエクスパンダ間の接続が切断されているか否かを判断し、
    (C)前記(B)の判断の結果が肯定的であれば、前記I/O抑止を解除することなく、前記第1の通信経路における少なくとも1つのエクスパンダについて、そのエクスパンダに直接的に接続されているデバイスに関する情報を取得するためのコマンドを発行する処理を含んだ調査処理を実行し、その後で、前記I/O抑止を解除する、
    (D)前記(B)の判断の結果が否定的であれば、前記I/O抑止を解除してから、前記第1の通信経路における少なくとも1つのエクスパンダについて、前記調査処理を実行し、
    前記第1の通信経路についてI/O抑止の間、前記第1及び第2のコントローラは、前記第2の通信経路を介して、記憶デバイスをターゲットとしたI/Oコマンドを発行する、
    ストレージシステム。
  2. 請求項1記載のストレージシステムであって、
    前記第1のコントローラは、前記(B)において、
    (b1)前記第1の通信経路における最前段のエクスパンダにRG(Report General)コマンドを発行し、
    (b2)発行したRGコマンドに対して正常に応答を受信した否かを判断し、
    (b3)前記(b2)の判断の結果が肯定的の場合、未だRGコマンドの発行先とされていない1以上のエクスパンダのうちの最前段のエクスパンダに、RGコマンドを発行し、その後、前記(b2)を行い、
    前記(b2)の判断の結果が否定的であるということが、前記(B)の判断の結果が肯定的であるということであり、
    前記第1の通信経路における全てのエクスパンダについて前記(b2)の判断の結果が肯定的であるということが、前記(B)の判断の結果が否定的であるということである、
    ストレージシステム。
  3. 請求項2記載のストレージシステムであって、
    各エクスパンダは、ルーティングに使用するルーティング制御情報を有しており、
    前記ルーティング制御情報は、Phy毎に、間接的に接続されているデバイスのSASアドレスを表すSASアドレス情報を有することができ、
    (X)前記第1のコントローラが、前記調査処理において、Phy情報とSASアドレス情報とを含んだ第1の情報設定コマンドを、そのコントローラに接続されている通信経路内のエクスパンダに発行し、
    (Y)前記第1の情報設定コマンドを受けたエクスパンダは、その第1の情報設定コマンド内の前記Phy情報から特定されるPhyについて、そのエクスパンダが有するルーティング制御情報に、その第1の情報設定コマンド内のSASアドレス情報を設定し、
    前記各コントローラは、そのコントローラに接続されている通信経路内のどのエクスパンダのどのPhyがワイドリンク内の物理リンクに接続されているかを表すデバイス管理情報を有し、
    前記(X)において、前記第1のコントローラは、前記デバイス管理情報を基に、前記第1の情報設定コマンドの発行先のエクスパンダが有する複数のPhyのうち、同一のワイドリンクを構成する2以上の物理リンクに接続されている2以上のPhyを特定し、
    前記Phy情報は、前記特定した2以上のPhyを表す情報を有し、
    前記(Y)において、前記エクスパンダは、前記受けた情報設定コマンド内の前記Phy情報から特定される2以上のPhyの全てについて、前記ルーティング制御情報に、その情報設定コマンド内のSASアドレス情報を設定する、
    ストレージシステム。
  4. 請求項3記載のストレージシステムであって、
    前記第1の情報設定コマンドは、ワイドリンク纏めコマンドであり、
    前記ワイドリンク纏めコマンドは、SMP(Serial Management Protocol)に従うコマンドであって、特定コードが所定の位置に記述されたCRI(Configure Route Information)コマンドであり、
    前記特定のコードは、複数のファンクションコードのうちの2以上の未定義のファンクションコードからワイドリンク纏めコマンドに割り当てられたファンクションコードであり、
    前記phy情報は、前記CRIコマンドにおいて、phyの識別情報が設定される位置に代えて、その位置とは別に位置に記述され、
    前記phy情報は、ビットマップであり、そのビットマップは、複数のphyにそれぞれ対応した複数のビットで構成されており、そのビットマップにおいて、前記2以上のphyにそれぞれ対応した2以上のビットがオンになっており、
    CRIコマンドを受けたエクスパンダは、そのCRIコマンドの前記所定の位置に記述されているファンクションコードが前記特定のコードであることを検出した場合に、前記(Y)を行う、
    ストレージシステム。
  5. 請求項2記載のストレージシステムであって、
    各エクスパンダは、ルーティングに使用するルーティング制御情報を有しており、
    前記ルーティング制御情報は、Phy毎に、間接的に接続されているデバイスのSASアドレスを表すSASアドレス情報と、その記憶デバイスが有効か無効かを表すステータス情報とを有することができ、
    前記(D)において、
    (d1)前記第1のコントローラが、前記調査処理において、前記第1の通信経路内の或るエクスパンダの或るPhyに直接的に接続されている記憶デバイスである対象デバイスについてリンクダウンを検出し、
    (d2)前記第1のコントローラが、そのリンクダウンが所定の条件を満たすか否かを判定し、
    (d3)前記(d2)の判定の結果が否定的であれば、前記第1のコントローラが、前記或るエクスパンダより前段に存在する各エクスパンダに、前記対象デバイスが無効であることを表す情報と前記対象デバイスに間接的に接続されているPhyを表すphy情報とを含んだ第2の情報設定コマンドを発行し、前記第2の情報設定コマンドを受けたエクスパンダは、その第2の情報設定コマンド内の前記Phy情報から特定されるPhyについて、前記ルーティング制御情報に、前記対象デバイスが無効であることを表すステータス情報を設定し、
    (d4)前記(d2)の判定の結果が肯定的であれば、前記前記第1のコントローラが、前記或るエクスパンダより前記対象コントローラ側に存在する各エクスパンダに前記第2の情報設定コマンドを発行しない、
    ストレージシステム。
  6. 複数の記憶デバイスと、
    ホストに接続された第1及び第2のコントローラと、
    前記第1のコントローラ及び前記複数の記憶デバイスに接続されSASに従う通信の経路である第1の通信経路と、
    前記第2のコントローラ及び前記複数の記憶デバイスに接続されSASに従う通信の経路である第2の通信経路と
    を有し、
    各通信経路は、直列に接続された複数のエクスパンダを有し、それら複数のエクスパンダのうちの最前段のエクスパンダが前記コントローラに接続されており、コントローラとエクスパンダ、及び、エクスパンダとエクスパンダは、物理リンクで互いに接続されており、且つ、少なくとも1つのエクスパンダが、コントローラ又はエクスパンダと、2以上の物理リンクから成るワイドリンクで接続されており、
    各エクスパンダは、複数のPhyを有し、それら複数のPhyは、記憶デバイスが接続されているPhyと、エクスパンダが接続されているPhyとを含み、
    各エクスパンダは、ルーティングに使用するルーティング制御情報を有しており、
    前記ルーティング制御情報は、Phy毎に、間接的に接続されているデバイスのSASアドレスを表すSASアドレス情報を有することができ、
    (X)各コントローラが、Phy情報とSASアドレス情報とを含んだ第1の情報設定コマンドを、そのコントローラに接続されている通信経路内のエクスパンダに発行し、
    (Y)前記第1の情報設定コマンドを受けたエクスパンダは、その第1の情報設定コマンド内の前記Phy情報から特定されるPhyについて、そのエクスパンダが有するルーティング制御情報に、その第1の情報設定コマンド内のSASアドレス情報を設定し、
    前記各コントローラは、そのコントローラに接続されている通信経路内のどのエクスパンダのどのPhyがワイドリンク内の物理リンクに接続されているかを表すデバイス管理情報を有し、
    前記(X)において、前記各コントローラは、前記デバイス管理情報を基に、前記第1の情報設定コマンドの発行先のエクスパンダが有する複数のPhyのうち、同一のワイドリンクを構成する2以上の物理リンクに接続されている2以上のPhyを特定し、
    前記Phy情報は、前記特定した2以上のPhyを表す情報を有し、
    前記(Y)において、前記エクスパンダは、前記受けた情報設定コマンド内の前記Phy情報から特定される2以上のPhyの全てについて、前記ルーティング制御情報に、その情報設定コマンド内のSASアドレス情報を設定する、
    ストレージシステム。
  7. 請求項6記載のストレージシステムであって、
    前記第1の情報設定コマンドは、ワイドリンク纏めコマンドであり、
    前記ワイドリンク纏めコマンドは、SMP(Serial Management Protocol)に従うコマンドであって、特定コードが所定の位置に記述されたCRI(Configure Route Information)コマンドであり、
    前記特定のコードは、複数のファンクションコードのうちの2以上の未定義のファンクションコードからワイドリンク纏めコマンドに割り当てられたファンクションコードであり、
    前記phy情報は、前記CRIコマンドにおいて、phyの識別情報が設定される位置に代えて、その位置とは別に位置に記述され、
    前記phy情報は、ビットマップであり、そのビットマップは、複数のphyにそれぞれ対応した複数のビットで構成されており、そのビットマップにおいて、前記2以上のphyにそれぞれ対応した2以上のビットがオンになっており、
    CRIコマンドを受けたエクスパンダは、そのCRIコマンドの前記所定の位置に記述されているファンクションコードが前記特定のコードであることを検出した場合に、前記(Y)を行う、
    ストレージシステム。
  8. 複数の記憶デバイスと、
    ホストに接続された第1及び第2のコントローラと、
    前記第1のコントローラ及び前記複数の記憶デバイスに接続されSASに従う通信の経路である第1の通信経路と、
    前記第2のコントローラ及び前記複数の記憶デバイスに接続されSASに従う通信の経路である第2の通信経路と
    を有し、
    各通信経路は、直列に接続された複数のエクスパンダを有し、それら複数のエクスパンダの最前段のエクスパンダが前記コントローラに接続されており、
    各エクスパンダは、複数のPhyを有し、それら複数のPhyは、記憶デバイスが接続されているPhyと、エクスパンダが接続されているPhyとを含み、
    各エクスパンダは、ルーティングに使用するルーティング制御情報を有しており、
    前記ルーティング制御情報は、Phy毎に、間接的に接続されているデバイスのSASアドレスを表すSASアドレス情報と、その記憶デバイスが有効か無効かを表すステータス情報とを有することができ、
    前記第1及び第2のコントローラのいずれかが、そのコントローラに接続されている通信経路内の或るエクスパンダの或るPhyに直接的に接続されている記憶デバイスである対象デバイスについてリンクダウンを検出した場合、
    (A)そのリンクダウンを検出したコントローラである対象コントローラが、そのリンクダウンが所定の条件を満たすか否かを判定し、
    (B)前記(A)の判定の結果が否定的であれば、前記対象コントローラが、前記或るエクスパンダより前段に存在する各エクスパンダに、前記対象デバイスが無効であることを表す情報と前記対象デバイスに間接的に接続されているPhyを表すphy情報とを含んだ第2の情報設定コマンドを発行し、前記第2の情報設定コマンドを受けたエクスパンダは、その第2の情報設定コマンド内の前記Phy情報から特定されるPhyについて、前記ルーティング制御情報に、前記対象デバイスが無効であることを表すステータス情報を設定し、
    (C)前記(A)の判定の結果が肯定的であれば、前記対象コントローラが、前記或るエクスパンダより前記対象コントローラ側に存在する各エクスパンダに前記第2の情報設定コマンドを発行しない、
    ストレージシステム。
  9. 請求項8記載のストレージシステムであって、
    前記(A)において、前記対象コントローラは、
    (a01)前記対象デバイスについてリンクダウンが検出された回数を更新し、
    (a02)更新後の回数が所定の回数未満か否かを判断し、
    前記(a02)の判断の結果が否定的であれば、前記(A)の判定の結果が否定的である、
    ストレージシステム。
  10. 請求項9記載のストレージシステムであって、
    前記(a02)の判断の結果が否定的の場合、前記(A)において、前記対象コントローラは、
    (a11)前記対象デバイスについてリンクダウンが検出された時刻から規定時間以内にリンクアップしたか否かをチェックし、
    前記(a11)のチェックの結果が否定的であれば、前記(A)の判定の結果が否定的であり、
    前記(a11)のチェックの結果が肯定的であれば、前記(A)の判定の結果が肯定的である、
    ストレージシステム。
  11. 請求項8記載のストレージシステムであって、
    前記(A)において、前記対象コントローラは、
    (a11)前記対象デバイスについてリンクダウンが検出された時刻から規定時間以内にリンクアップしたか否かをチェックし、
    前記(a11)のチェックの結果が否定的であれば、前記(A)の判定の結果が否定的である、
    ストレージシステム。
  12. 複数の記憶デバイスと、
    ホストに接続された第1及び第2のコントローラと、
    前記第1のコントローラ及び前記複数の記憶デバイスに接続されSASに従う通信の経路である第1の通信経路と、
    前記第2のコントローラ及び前記複数の記憶デバイスに接続されSASに従う通信の経路である第2の通信経路と
    を有し、
    各通信経路は、直列に接続された複数のエクスパンダを有し、それら複数のエクスパンダの最前段のエクスパンダが前記コントローラに接続されており、
    各エクスパンダは、複数のPhyを有し、それら複数のPhyは、記憶デバイスが接続されているPhyと、エクスパンダが接続されているPhyとを含み、
    各エクスパンダは、ルーティングに使用するルーティング制御情報を有しており、
    前記ルーティング制御情報は、Phy毎に、間接的に接続されているデバイスのSASアドレスを表すSASアドレス情報を有することができ、
    (P)各コントローラは、そのコントローラとエクスパンダとの間の接続が切断され、そのコントローラにエクスパンダが接続されたことを検出した場合、その接続されたエクスパンダに、前記ルーティング制御情報から全てのSASアドレス情報を消去することのコマンドである一括消去コマンドを発行し、
    (Q)そのエクスパンダが、その一括消去コマンドを受信し、前記ルーティング制御情報から全てのSASアドレス情報を消去する、
    ストレージシステム。
  13. 請求項12記載のストレージシステムであって、
    前記一括消去コマンドは、SMP(Serial Management Protocol)に従うコマンドであって、特定コードが所定の位置に記述されたCRI(Configure Route Information)コマンドであり、
    前記特定のコードは、複数のファンクションコードのうちの2以上の未定義のファンクションコードから一括消去コマンドに割り当てられたファンクションコードであり、
    エクスパンダは、前記(Q)において、そのCRIコマンドの前記所定の位置に記述されているファンクションコードが前記特定のコードであることを検出した場合に、前記ルーティング制御情報から全てのSASアドレス情報を消去する、
    ストレージシステム。
  14. 請求項13記載のストレージシステムであって、
    各通信経路において、1つのエクスパンダが有する第1のphyに第1のエクスパンダが接続され、その1つのエクスパンダが有する第2のphyに第2のエクスパンダが接続され、前記第1及び第2のエクスパンダは、前記1つのエクスパンダよりも後段に存在し、
    前記第1又は第2のコントローラとエクスパンダとの接続が切断された後、前記第1のphyに、前記第1のエクスパンダに代えて前記第2のエクスパンダが接続され、前記第2のphyに、前記第2のエクスパンダに代えて前記第1のエクスパンダが接続されることがある、
    ストレージシステム。
JP2012530801A 2010-06-02 2010-06-02 バックエンドでの通信の規格がsasであるストレージシステム Expired - Fee Related JP5535322B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/003696 WO2011151861A1 (en) 2010-06-02 2010-06-02 Storage system having sas as its backend communication standard

Publications (2)

Publication Number Publication Date
JP2013516666A true JP2013516666A (ja) 2013-05-13
JP5535322B2 JP5535322B2 (ja) 2014-07-02

Family

ID=43480778

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012530801A Expired - Fee Related JP5535322B2 (ja) 2010-06-02 2010-06-02 バックエンドでの通信の規格がsasであるストレージシステム

Country Status (3)

Country Link
US (2) US8463949B2 (ja)
JP (1) JP5535322B2 (ja)
WO (1) WO2011151861A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8463949B2 (en) * 2010-06-02 2013-06-11 Hitachi, Ltd. Storage system having SAS as its backend communication standard
WO2012127529A1 (en) * 2011-03-23 2012-09-27 Hitachi, Ltd. Storage apparatus and failure detection method
US8799523B2 (en) * 2011-09-21 2014-08-05 Kevin Mark Klughart Data storage architecture extension system and method
US9460110B2 (en) 2011-09-21 2016-10-04 Kevin Mark Klughart File system extension system and method
US9652343B2 (en) 2011-09-21 2017-05-16 Kevin Mark Klughart Raid hot spare system and method
US9870373B2 (en) 2011-09-21 2018-01-16 Kevin Mark Klughart Daisy-chain storage synchronization system and method
WO2013046607A1 (ja) * 2011-09-29 2013-04-04 パナソニック株式会社 制御装置
US20130138851A1 (en) * 2011-11-30 2013-05-30 Lsi Corporation Method and apparatus for expander-based data duplication
JP2013134607A (ja) * 2011-12-26 2013-07-08 Fujitsu Ltd ストレージ装置及びストレージ装置の制御方法
US20130304943A1 (en) * 2012-05-11 2013-11-14 Lsi Corporation Method for broadcast processing with reduced redundancy
US20160246748A1 (en) * 2015-02-20 2016-08-25 Avago Technologies General Ip (Singapore) Pte. Ltd. Enhanced connection pathway architectures for sas systems
CN107708212B (zh) * 2016-08-09 2023-02-21 中兴通讯股份有限公司 断链维持时间的配置方法及装置
US12001676B2 (en) 2016-09-01 2024-06-04 Samsung Electronics Co., Ltd. Storage device and host for the same
US10969960B2 (en) 2016-09-01 2021-04-06 Samsung Electronics Co., Ltd. Storage device and host for the same
CN108768859B (zh) * 2018-05-17 2021-05-25 迈普通信技术股份有限公司 数据处理方法、装置及系统
CN114415957B (zh) * 2022-01-20 2022-11-29 无锡众星微系统技术有限公司 一种级联expander自动配置方法和装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004206462A (ja) * 2002-12-25 2004-07-22 Mitsubishi Electric Corp 入出力制御装置の拡張モジュール増設方法及び入出力制御装置
US20080005470A1 (en) * 2006-06-30 2008-01-03 Dot Hill Systems Corporation System and method for sharing sata drives in active-active raid controller system
JP2008242872A (ja) * 2007-03-28 2008-10-09 Hitachi Ltd ストレージシステム
JP2008250631A (ja) * 2007-03-30 2008-10-16 Hitachi Ltd ストレージ装置及びその制御方法
JP2009064067A (ja) * 2007-09-04 2009-03-26 Hitachi Ltd 電源障害の発生を把握するストレージシステム
JP2009187483A (ja) * 2008-02-08 2009-08-20 Hitachi Ltd ストレージサブシステム及びこれの制御方法
JP2009211140A (ja) * 2008-02-29 2009-09-17 Hitachi Ltd ストレージシステム及びその記憶媒体管理方法
JP2009540436A (ja) * 2006-06-08 2009-11-19 ドット・ヒル・システムズ・コーポレイション 障害を分離するsasエクスパンダ

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001222385A (ja) * 2000-02-10 2001-08-17 Hitachi Ltd 記憶装置および情報処理システム
US20070088917A1 (en) * 2005-10-14 2007-04-19 Ranaweera Samantha L System and method for creating and maintaining a logical serial attached SCSI communication channel among a plurality of storage systems
US7721021B2 (en) * 2006-11-21 2010-05-18 Lsi Corporation SAS zone group permission table version identifiers
JP4354495B2 (ja) * 2007-02-09 2009-10-28 富士通株式会社 ディスクドライブの自動認識設定装置
US8051436B2 (en) * 2007-06-29 2011-11-01 Emulex Design & Manufacturing Corporation SAS expander-side optimization for the re-discovery process
US7961601B2 (en) * 2007-08-16 2011-06-14 Ericsson Ab Lesser disruptive open shortest path first handling of bidirectional forwarding detection state changes
US7475163B1 (en) * 2008-01-17 2009-01-06 International Business Machines Corporation Method and system for resolving SAS timing issues for long-distance SAS extender
JP5439608B2 (ja) * 2010-04-21 2014-03-12 株式会社日立製作所 ディスクアレイ装置及びトラフィック制御方法
US8463949B2 (en) * 2010-06-02 2013-06-11 Hitachi, Ltd. Storage system having SAS as its backend communication standard

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004206462A (ja) * 2002-12-25 2004-07-22 Mitsubishi Electric Corp 入出力制御装置の拡張モジュール増設方法及び入出力制御装置
JP2009540436A (ja) * 2006-06-08 2009-11-19 ドット・ヒル・システムズ・コーポレイション 障害を分離するsasエクスパンダ
US20080005470A1 (en) * 2006-06-30 2008-01-03 Dot Hill Systems Corporation System and method for sharing sata drives in active-active raid controller system
JP2008242872A (ja) * 2007-03-28 2008-10-09 Hitachi Ltd ストレージシステム
JP2008250631A (ja) * 2007-03-30 2008-10-16 Hitachi Ltd ストレージ装置及びその制御方法
JP2009064067A (ja) * 2007-09-04 2009-03-26 Hitachi Ltd 電源障害の発生を把握するストレージシステム
JP2009187483A (ja) * 2008-02-08 2009-08-20 Hitachi Ltd ストレージサブシステム及びこれの制御方法
JP2009211140A (ja) * 2008-02-29 2009-09-17 Hitachi Ltd ストレージシステム及びその記憶媒体管理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6013051132; Rob Elliott: Serial Attached SCSI Management upper layers and port layer , 20030930, pp.1-62, Hewlett-Packard Corporation *

Also Published As

Publication number Publication date
WO2011151861A1 (en) 2011-12-08
US20110302368A1 (en) 2011-12-08
US20130254429A1 (en) 2013-09-26
US8843680B2 (en) 2014-09-23
US8463949B2 (en) 2013-06-11
JP5535322B2 (ja) 2014-07-02

Similar Documents

Publication Publication Date Title
JP5535322B2 (ja) バックエンドでの通信の規格がsasであるストレージシステム
KR101196547B1 (ko) 결정론적 sas 검색 및 구성을 위한 방법
US9137148B2 (en) Information processing system and information processing apparatus
JP5670598B2 (ja) コンピュータプログラムおよび管理計算機
US20120233399A1 (en) Storage apparatus and method of controlling the same
US7904744B2 (en) Data storage using multiple protocols
US8271492B2 (en) Computer for identifying cause of occurrence of event in computer system having a plurality of node apparatuses
US20150074342A1 (en) Method for managing storage system using flash memory, and computer
AU2016203273A1 (en) A method for a source storage device sending data to a backup storage device for storage, and storage device
US10229023B2 (en) Recovery of storage device in a redundant array of independent disk (RAID) or RAID-like array
JP2005326935A (ja) 仮想化ストレージを備える計算機システムの管理サーバおよび障害回避復旧方法
US8667098B2 (en) Cluster storage setting method, system, and management system
WO2015118865A1 (ja) 情報処理装置、情報処理システム及びデータアクセス方法
CN107888405B (zh) 管理设备和信息处理系统
US10915405B2 (en) Methods for handling storage element failures to reduce storage device failure rates and devices thereof
JP2015525910A (ja) ディスクアレイシステム及び接続方法
WO2015019488A1 (ja) 管理システム及びその管理システムによるイベント解析方法
US10409663B2 (en) Storage system and control apparatus
US20120166588A1 (en) Shared-bandwidth multiple target remote copy
CN110134572B (zh) 验证存储系统中的数据
US20070260835A1 (en) Storage controlling device of disk array device and redundancy restoring method
JP2007293738A (ja) ストレージシステムおよびストレージシステムの情報処理方法
JP6600752B2 (ja) ストレージシステム及びストレージシステムのシステム構築方法
US11662908B2 (en) Space-efficient storage of system-monitoring data
WO2014068773A1 (ja) 情報処理装置及びプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131015

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131213

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140422

R150 Certificate of patent or registration of utility model

Ref document number: 5535322

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees