[go: up one dir, main page]

JP5179031B2 - 空きポートを有効に活用したストレージシステム - Google Patents

空きポートを有効に活用したストレージシステム Download PDF

Info

Publication number
JP5179031B2
JP5179031B2 JP2006247558A JP2006247558A JP5179031B2 JP 5179031 B2 JP5179031 B2 JP 5179031B2 JP 2006247558 A JP2006247558 A JP 2006247558A JP 2006247558 A JP2006247558 A JP 2006247558A JP 5179031 B2 JP5179031 B2 JP 5179031B2
Authority
JP
Japan
Prior art keywords
switch
controller
port
storage device
routing table
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
JP2006247558A
Other languages
English (en)
Other versions
JP2008071005A (ja
Inventor
聖志 本田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2006247558A priority Critical patent/JP5179031B2/ja
Priority to US11/588,335 priority patent/US7814241B2/en
Priority to EP07251114A priority patent/EP1901522A1/en
Publication of JP2008071005A publication Critical patent/JP2008071005A/ja
Priority to US12/881,841 priority patent/US8086775B2/en
Application granted granted Critical
Publication of JP5179031B2 publication Critical patent/JP5179031B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element

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)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、複数の記憶装置を備えたストレージシステムに関する。
ストレージシステムには、例えば、複数の記憶装置と、上位装置からの各記憶装置へのアクセスを制御するコントローラと、コントローラと複数の記憶装置との間に介在するスイッチ装置とが備えられる。この種のストレージシステムは、例えば、文献1(特開2004−145497号公報)及び文献2(特開2003−280824号公報)に開示されている。これらの文献1及び文献2には、複数のストレージシステムにそれぞれ備えられる複数のコントローラ間の接続が開示されている。
特開2004−145497号公報 特開2003−280824号公報
ところで、ストレージシステムには、例えば、スイッチ装置と複数の記憶装置とを備えた記憶装置ユニットを、増設或いは減設できるタイプがある。具体的には、例えば、コントローラが、上位装置に接続される通信ポート(以下、上位ポート)の他に、記憶装置ユニットに接続される複数の通信ポート(以下、下位ポート)を備え、記憶装置ユニットのスイッチ装置が、複数の通信ポート(以下、スイッチポート)を備える。コントローラの複数の下位ポートのうちの少なくとも一つに、記憶装置ユニットのスイッチ装置のスイッチポートが接続される。スイッチポートには、コントローラ、記憶装置或いは他のスイッチ装置が接続される。
所定の規則(例えば、SAS(Serial Attached SCSI)或いはFC(Fibre Channel)に従う規則)に従って物理的な接続を行っていくと、物理的な接続が不要となってしまう通信ポート、つまり空きポートが生じてしまうことがある。具体的には、例えば、コントローラ及び記憶装置ユニットの両方にそれぞれ空きポートが生じることもあれば、コントローラには生じないが二つの記憶装置ユニットにそれぞれ空きポートが生じてしまうことがある。
空きポートを有効に活用することが望ましいが、このための技術を、上記文献1及び文献2から導き出すことはできない。なぜなら、これらの文献1及び文献2は、いずれも、前述したように、複数のストレージシステムにそれぞれ備えられる複数のコントローラ間の相互接続のための技術であり、コントローラと記憶装置ユニットとの接続に関わるものではないためである。
従って、本発明の目的は、コントローラと一又は複数の記憶装置ユニットとの接続において生じた空きポートを有効に活用するための新規な技術を提供することにある。
本発明の他の目的は、後述の説明から明らかになるであろう。
コントローラ又はスイッチ装置にある第一の空きポートに、該第一の空きポートを備えるコントローラ又はスイッチ装置とは別のスイッチ装置(別の記憶装置ユニット内のスイッチ装置)にある第二の空きポートを、物理的に接続する。そして、ストレージシステムにおいて、該第一の空きポートと該第二の空きポートとを結ぶ物理的なパスを介した論理的な接続を可能にするか否かを制御する。
なお、ここで、「論理的な接続」とは、例えば、コントローラと記憶装置とのコネクションが確立することを意味し、「論理的な接続を可能にする」とは、そのようなコネクションの確立をすることが可能であることを意味する。具体的には、例えば、コントローラと第一の記憶装置とがスイッチ装置を介して物理的に接続されていても、論理的な接続が不可能である場合には、コントローラと第一の記憶装置との間でコネクションが確立することはなく、その論理的な接続が可能となった場合に、そのコネクションを確立することができるようになる。
本発明により、コントローラと一又は複数の記憶装置ユニットとの接続において生じた空きポートを有効に活用するための新規な技術が提供される。
以下、本発明の一実施形態について説明する。
コントローラと一以上の記憶装置ユニットとを、所定の規則に従って接続していく。所定の規則としては、例えば、SAS(Serial Attached SCSI)やファイバチャネルの規則などがある。
コントローラには、上位装置に接続される通信ポートである上位ポートと、記憶装置ユニットに接続される通信ポートである下位ポートとの2種類の通信ポートが用意されている。コントローラには、少なくとも2つの下位ポートが用意される。各下位ポートには、上位装置(例えば、ホスト計算機或いは他のストレージシステム)は接続されず、下位装置、具体的には記憶装置ユニットが接続される。
一方、記憶装置ユニットには、複数の通信ポート(以下、スイッチポート)を有したスイッチ装置と、該スイッチ装置の二以上のスイッチポートにそれぞれ接続される二以上の記憶装置とが備えられる。スイッチ装置は、どのスイッチポートにどんな種類の装置(コントローラ、他のスイッチ装置、記憶装置)を接続しても良い構成となっている。記憶装置としては、ハードディスクドライブ、フラッシュメモリデバイスなど、種々の記憶装置を採用し得る。
この実施形態では、コントローラに対し、一以上の記憶装置ユニットが、カスケード状に(例えば直列に或いは木構造に)物理的に接続される。このため、接続後のカスケード構成において、最上流は、コントローラであり、最下流は、記憶装置ユニットである。
カスケード状に接続していくと、コントローラ又は記憶装置ユニットに、物理的に接続されないままになる通信ポート(以下、空きポート)が生じる。別の言い方をすれば、通信ポートが余ってしまう。具体的には、例えば、小規模構成のストレージシステムでは、コントローラに、第一の空きポートができ、記憶装置ユニットに、第二の空きポートができる。一方、大規模構成のストレージシステムでは、カスケード接続の最下流にある第一の記憶装置ユニットに、第一の空きポートができ、最下流にある第二の記憶装置ユニットに、第二の空きポートができる。
本実施形態では、第一の空きポートに第二の空きポートを物理的に接続する。そして、第一の空きポートと第二の空きポートとを結ぶ物理的なパスを介した論理的な接続を可能にするか否かを、ルーティングテーブルの構成により制御する。ルーティングテーブルとは、どの通信ポートを介してどこにアクセスするかを制御するためのテーブルである。本実施形態では、ルーティングテーブルは、コントローラ及びスイッチ装置のそれぞれに用意される。以下の説明では、コントローラに用意されるルーティングテーブルを「CTLルーティングテーブル」と称し、スイッチ装置に用意されるルーティングテーブルを「SWルーティングテーブル」と称する。
以下、下位ポートの数よりも記憶装置ユニットの数が少ない構成を、「小規模構成」という。一方、下位ポートの数以上に記憶装置ユニットが存在する構成を、「大規模構成」という。そして、ストレージシステムが小規模構成である場合を第一実施例とし、大規模構成である場合を第二実施例として、更に詳細に説明する。なお、以下の説明では、SASの規約の下でカスケード接続が行われるものとする。また、本実施形態において、或る物に対して「上位」或いは「下位」という言葉を用いる場合、その物にとって、上位にあるか下位にあるかを示す。「上位」とは、カスケード接続に従うデータの書込み流れにおいてより上流側にあることを意味し、「下位」とは、カスケード接続に従うデータの書込みの流れにおいてより下流側にあることを意味する。そのため、例えば、コントローラが備える「上位ポート」とは、コントローラの上位装置と通信可能に接続される通信ポートである。「上位装置」とは、コントローラよりも上位に存在する装置であり、具体例としては、ホスト計算機、他のストレージシステムなどがある。一方、コントローラが備える「下位ポート」とは、コントローラの下位に存在する装置と通信可能に接続される通信ポートである。コントローラの下位に存在する装置としては、例えば、スイッチ装置がある。
第一実施例では、小規模構成のストレージシステムの性能の向上を実現することができる。具体的には、このストレージシステムでは、パスグループという概念に基づいてポート接続管理が行われる。より具体的には、例えば、各パスグループに、下位ポートやスイッチポートが割り当てられ、故に、下位ポート毎に、論理的に接続可能な記憶装置が区別される。なお、この第一実施例において、論理的に接続するとは、SASイニシエータ装置とSASターゲット装置との間で所定のやり取りの後にコネクションが確立することを意味する。
以下、図面を参照して詳細に説明する。なお、以下の小規模構成のストレージシステムでは、説明を分かり易くするため、1つのコントローラに備えられる下位ポートの数を2つとし、記憶装置ユニットの数を1つとする。
図1は、本発明の第一実施例において、空きポートが生じた小規模構成のストレージシステムの構成例を示す。図2は、その空きポートを有効活用する構成となった小規模構成のストレージシステムを示す。以下、同種の要素には、同一の親番号を付し、同種の要素を個々に説明する場合には、親番号に子符号を付して説明する。
基本筐体110に一つの増設筐体120がカスケード状に接続されることで、ストレージシステム100が構成される。ストレージシステム100では、上位装置から記憶装置122へのアクセス系統が二重化されている。以下、一方のアクセス系統を主に説明する。
基本筐体110には、二重化された(二重化以上の多重化でも良い)コントローラ111がある。コントローラ111には、例えば、フロントエンドインタフェース装置(以下、FE IF)116と、マイクロプロセッサユニット(以下、MPU)112と、キャッシュメモリ113と、バックエンドインタフェース装置(以下、BE IF)114とが備えられる。基本筐体110に、一又は複数の記憶装置が搭載されてもよい。
FE IF116は、上位装置(例えばホスト計算機或いは他のストレージシステム)に接続される通信ポート(上位ポート)(図示せず)を有する。FE IF116は、上位装置から送信された第一のI/O要求(ライト/リード要求)を受信する。
MPU112は、マイクロプロセッサ(MP)を含んだ装置であり、コントローラ111としての動作を制御する。例えば、MPU112は、FE IF116で受信した第一のI/O要求を受信し、該第一のI/O要求に従ってアクセスすべき記憶装置122を増設筐体120から特定し、該特定した記憶装置122に、該第一のI/O要求に従うデータの書込み或いは読出しを行うことの第二のI/O要求を送信する。これにより、該第二のI/O要求が、スイッチ装置121を介して、上記特定された記憶装置122に送信され、データの書込み或いは読出しが行われる。
キャッシュメモリ113は、記憶装置122に書込まれるデータや、記憶装置122から読み出されたデータが、一時的に記憶される。上記第一のI/O要求が、ライト要求の場合、該ライト要求に従う書込み対象のデータがキャッシュメモリ113に一時的に記憶され、該記憶されたデータが、上記第二のI/O要求の送信先の記憶装置に送信される。一方、上記第一のI/O要求が、リード要求の場合、該リード要求に従う読出し対象のデータが、上記第二のI/O要求の送信先の記憶装置から読み出され、読み出されたデータがキャッシュメモリ113に一時記憶され、該記憶されたデータが、上位装置に送信される。
BE IF114は、2つの通信ポート(下位ポート)115A及び115Bを備える(下位ポートの数は2つに限らずそれ以上あってよい)。
増設筐体120は、記憶装置ユニットの一種である。増設筐体120には、SASエクスパンダであるスイッチ装置121と、二以上の記憶装置122とが備えられる。スイッチ装置121には、複数のスイッチポート123がある。複数のスイッチポート123の各々には、コントローラ111或いは記憶装置122が接続される。以下、記憶装置122が接続されたスイッチポート123には、子符号としてCを付加し、「スイッチポート123C」と言う。一方、記憶装置122が接続されていないスイッチポート123には、他の子符号を付加して説明する。
SASの規約の下で、コントローラ111と増設筐体120とをカスケード状に接続する場合、図1に示すように、コントローラ111における下位ポート115Aと、スイッチ装置121のスイッチポート123Aとが、物理パス(例えばケーブル)510Aで結ばれる。この構成で、ストレージシステム100は正常に稼動することができる。しかし、この構成によれば、図1に示すように、コントローラ111の下位ポート115Bと、スイッチ装置121のスイッチポート123Bとが、それぞれ、物理的に接続されない空きポートとなってしまう。こうなるのは、小規模構成では、増設筐体120の数が、コントローラ111が備える下位ポート115の数未満であるためである。
そこで、この第一実施例では、図2に示すように、コントローラ111の下位ポート115Bと、スイッチ装置121のスイッチポート123Bとも、物理パス510Bで結ぶ。これにより、使い切れていないハード資源が使われる。
なお、単にこのようにするだけでは、本来区別して管理されるべき下位ポート123A、123Bを通じて、増設筐体120内の全ての記憶装置122にアクセス可能となってしまうので、コントローラ111での制御が煩雑になり得る。
そこで、この第一実施例では、更に、SWルーティングテーブル(スイッチ装置121に用意されたルーティングテーブル)とCTLルーティングテーブル(コントローラ111に用意されたルーティングテーブル)との構成を工夫することで、小規模構成ストレージシステム100の性能向上を実現することができる。以下、各ルーティングテーブルについて説明する。
図3は、SWルーティングテーブルの構成例を示す。
SWルーティングテーブル301は、スイッチ装置121でのハードウェア的なルーティング制御に使用される。このSWルーティングテーブル301は、ソフトウェア的なルーティング制御に使用されても良い。SWルーティングテーブル301には、スイッチ装置121における各スイッチポート毎に、PHY ID、コネクションタイプ、デバイスタイプ、RAIDグループID、パスグループID、デバイスアドレス及びステータスが記録される。
PHY IDとは、このSWルーティングテーブル301を備えるスイッチ装置121での各スイッチポートの識別子である。PHYとは、SASの規約において通信ポートを表す用語である。
コネクションタイプとは、接続のタイプを表す。例えば、上位装置であるコントローラ111が接続されているスイッチポート123A及び123Bについては、“Upper”という値(言い換えれば、上位との接続を意味する値)が入り、記憶装置122が接続されているスイッチポート123Cについては、“End Dev”という値(言い換えれば、増設筐体内部の装置との接続を意味する値)が入る。この他に、例えば、“Lower”という値(言い換えれば、下位との接続を意味する値)も入り得る。
デバイスタイプとは、接続されているデバイスのタイプを表す。例えば、コントローラ111が接続されているスイッチポート123A及び123Bについては、“Initiator”という値(言い換えれば、SASイニシエータ装置が接続されていることを意味する値)が入り、記憶装置122が接続されているスイッチポート123Cについて、“Target”という値(言い換えれば、SASターゲット装置が接続されていることを意味する値)が入る。この他に、例えば“SW”という値(言い換えれば、他のスイッチ装置が接続されていることを意味する値)も入り得る。
RAIDグループIDとは、RAIDグループの識別子である。RAIDグループとは、RAID(Redundant Array of Independent (or Inexpensive) Disks)の規則に従って二以上の記憶装置で構成されたグループである。それら二以上の記憶装置は、一つの増設筐体120内に存在しても良いし、他の増設筐体に跨って存在してもよい。以下、“RG_A”や“RG_B”にそれぞれ対応したRAIDグループを、説明の冗長を防ぐため、“RAIDグループA”、“RAIDグループB”のように言うことがある。これは、パスグループについても同様である。
パスグループIDとは、パスグループの識別子である。パスグループとは、複数の記憶装置122を論理的に区分するための概念であり、ゾーンという言葉に置換しても良い。第一実施例では、一つのパスグループに、下位ポート115A或いは115BのPHY IDや、スイッチポート123A或いは123BのPHY IDや、スイッチポート123CのPHY IDが割り当てられ、結果として、一つのパスグループに、下位ポート115A或いは115Bとスイッチポート123A或いは123Bとを結ぶ物理パスや、スイッチポート123Cと記憶装置122とを結ぶ物理パスが割り当てられることになり、そのため、「パスグループ」という言葉を用いている。一つの上位の物理パス(換言すれば、一つのスイッチポート123A又は123B、若しくは、一つの下位ポート115A又は115B)には、一種類のパスグループを割り当てることができる。なお、パスグループIDは、RAIDグループ単位で割り当てて良い。この場合、下位ポートからは、自分と同じパスグループに割り当てられていないRAIDグループにはアクセスすることができないので、信頼性の向上に貢献することができる。
デバイスアドレスは、接続されるデバイスのアドレスを表す。
ステータスは、通信ポートの状態(換言すれば、デバイスとの接続状態)を表す。具体的には、例えば、“Act”という値は、該値に対応するスイッチポートを介して論理的な接続をすることが可能である(言い換えれば有効である)ことを意味し、図示していないが、“Inact”という値は、該値に対応するスイッチポートを介して論理的な接続をすることが不可能である(言い換えれば無効である)ことを意味する。第一のポートのステータスである第一のステータスと、該第一のポートに物理パス510を介して接続される第二のポートのステータスである第二のステータスとの両方の値が、“Act”であれば、該物理パス510を介して論理的に接続することが可能な状態となる。一方、第一のステータスの値と第二のステータスの値の少なくとも一方が“Inact”であれば、該物理パス510を介して論理的に接続することが不可能な状態となる。すなわち、物理パス510に接続される両ポートのステータス値を制御することにより、該物理パス510を介して論理的に接続することが可能か否かを制御することができる。なお、“Act”は、Activeの略であり、“Inact”は、Inactiveの略である。
スイッチ装置121は(具体的には、例えば、図示しないプロセッサ等のスイッチ装置制御部が)、このSWルーティングテーブル301に基づいて、スイッチポート123A、123Bから提供する情報を制御する。具体的には、スイッチ装置121は、スイッチポート123Aからは、パスグループID“PG_A”が割り当てられているスイッチポート123Cの接続先の記憶装置122に関する情報を提供するが、別のパスグループID“PG_B”が割り当てられているスイッチポート123Cの接続先の記憶装置122に関する情報は提供しない。これは、別のスイッチポート123Bについても同様である。これにより、図4に例示するCTLルーティングテーブルが構築される。
図4は、CTLルーティングテーブルの構成例を示す。
CTLルーティングテーブル303に記録される情報項目の種類は、図4に示すように、SWルーティングテーブル301に記録される情報項目の種類と同じである。
本実施例では、下位ポート115の数は2つなので、PHY IDは2つである。各PHY IDには、該PHY IDに対応した下位ポート115を介して認識可能な記憶装置(ターゲット)に関する情報が対応付けられる。図示の例によれば、PHY ID“0”に対応した下位ポート115からは、RAIDグループAに属する3つの記憶装置を認識できる。一方、PHY ID“1”に対応した下位ポート115からは、RAIDグループBに属する3つの記憶装置と、RAIDグループCに属する2つの記憶装置とを認識できる。
以上の通り、コントローラ111は、一つの下位ポート115A或いは115Bから全ての記憶装置122を認識できるわけではなく、一つの下位ポート115A或いは115Bからは、同一のパスグループIDが割り当てられているスイッチポート123Cに接続された記憶装置のみ認識できることになる。言い換えれば、この第一実施例では、コントローラ111から複数の記憶装置122へのアクセス経路が、論理的に分割される。
さて、この第一実施例では、前述したように、下位ポート115Bとスイッチポート123Bとも物理パス510Bで結ぶことで、ハード資源が使われるようにし、それと共に、パスグループという概念を基に、コントローラ111から複数の記憶装置122へのアクセス経路を論理的に分割している。しかし、このまま何の工夫もされないと、例えば、図5に例示するように、一方の物理パス510Aに障害(例えば切断)が生じた場合には、これまで該物理パス510Aを介して論理的に接続することができた記憶装置に論理的に接続することができなくなってしまう。
そこで、この第一実施例では、関連付け変更部が備えられる。関連付け変更部は、物理パス510Aに障害が生じた場合に、その物理パス510Aが関連付けられているパスグループAに対する二以上のスイッチポート123Cの関連付けを解除し、関連付けが解除された二以上のスイッチポート123Cに対して、障害の生じていない物理パス510Bが関連付けられているパスグループBを関連付ける。この関連付け変更部は、例えば、コントローラ111、スイッチ装置121及び管理端末150のいずれに備えられても良い。関連付け変更部は、ハードウェア及びコンピュータプログラムのいずれであってもよい。或いは、関連付け変更部は、一部をハードウェアで実現し残りをコンピュータプログラムで実現しても良い。
具体的には、例えば、物理パス510Aに障害が生じた場合、コントローラ111及びスイッチ装置121の少なくとも一方が、その物理パス510Aが接続されている下位ポート115A或いはスイッチポート123Aに関して障害を検出することができる。このような障害が生じた場合、スイッチ装置121が、例えば、図3に例示したSWルーティングテーブル301を、図6に例示するSWルーティングテーブル301に更新する。すなわち、スイッチ装置121は、図6に例示するように、スイッチポート123A(PHY ID“0”)に対応したパスグループID“PG_A”を消去し、且つ、該スイッチポート123Aに対応したステータスを、“Act”から“Inact”に変更する。また、スイッチ装置121は、PHY ID“2”、“3”及び“4”にそれぞれ対応付けられていたパスグループID“PG_A”を、“PG_B”に変更する。一方、コントローラ111は、図4に例示したCTLルーティングテーブル303を、図7に例示するCTLルーティングテーブル303に更新する。すなわち、コントローラ111は、下位ポート115A(PHY ID“0”)に対応付けられた情報を外し、該下位ポート113Aに対応したステータスを、“Act”から“Inact”に変更する。そして、コントローラ111は、上記外した情報(パスグループID“PG_A”を含んだ情報)を、該パスグループIDを“PG_B”に変更して、PHY ID“1”に新たに対応付ける。
以上のように、この第一実施例では、上位の物理パス510A或いは510Bで障害が生じた場合には、該物理パス510A或いは510Bに対応したパスグループに割り当てられている各種ポートの割当て先を、障害の生じていない物理パス51A或いは510Bに対応したパスグループに変更する。これにより、物理パス510或いは510Bに障害が生じても、ストレージシステム100の稼動を停止することなく継続することができる。
さて、この第一実施例では、コントローラ111や増設筐体120に情報を設定することができる。
図8は、コントローラ111や増設筐体120に情報を設定するための仕組みの一例を示す。
この図は、いわゆるIn-bandで情報を設定するための仕組みを示す。すなわち、ストレージシステム100の外に、管理端末150がある。管理端末150は、例えば、CPU、メモリ、表示装置、入力装置等を有した計算機である。
コントローラ111に、管理端末150とのインタフェース装置である管理IF119が備えられる。管理端末150と管理IF119が、通信ネットワーク(例えばLAN(Local Area Network))160を介して接続される。管理端末150は、コントローラ111及び/又はスイッチ装置121に設定する制御/管理情報を送信する。制御/管理情報は、ストレージシステム100での制御及び/又は管理のための情報であり、具体的には、例えば、CTLルーティングテーブル303やSWルーティングテーブル301の情報要素を含む。
コントローラ111に、第一の情報保持部118が備えられる。第一の情報保持部118は、例えば、メモリ上の領域である。管理IF119が管理端末150から受信した制御/管理情報は、この第一の情報保持部118に記憶される。なお、図示していないが、この第一の情報保持部118に記憶された制御/管理情報は、他方のコントローラから参照可能であっても良い。また、第一の情報保持部118では、全てのスイッチ装置121のSWルーティングテーブルが一元管理されていてもよい。この場合、例えば、コントローラ111が、定期的に、各スイッチ装置121からSWルーティングテーブルを読み出し、読み出したSWルーティングテーブルを、第一の情報保持部118に書込んで良い。
この第一の情報保持部118に記憶された制御/管理情報の全部又は一部が、例えばMPU112により、下位ポート115A或いは115B経由で、増設筐体120のスイッチ装置121に送信される。増設筐体120では、第二の情報保持部128がスイッチ装置121にアクセス可能に備えられる。スイッチ装置121は、コントローラ111から受信した制御/管理情報を、第二の情報保持部128に書込む。第二の情報保持部128は、例えば、メモリ上の記憶域である。
例えば、コントローラ111が、第一の情報保持部118に記憶された制御/管理情報を基に、CTLルーティングテーブル303を更新して良い。また、コントローラ111は、CTLルーティングテーブル303の更新に合わせてSWルーティングテーブル301を更新するための情報(以下、第一のルーティング更新情報)を、第二の情報保持部128に書いて良い。この場合、スイッチ装置121が、第二の情報保持部128から第一のルーティング更新情報を読出し、該読み出した第一のルーティング更新情報を基に、SWルーティングテーブル301を更新して良い。
また、例えば、スイッチ装置121が、例えば図6を参照して説明した更新を行い、該更新に合わせてCTLルーティングテーブル303を更新するための情報(以下、第二のルーティング更新情報)を、第二の情報保持部128に書いて良い。この場合、コントローラ111が、第二の情報保持部128から第二のルーティング更新情報を読出し、該読み出した第二のルーティング更新情報を基に、CTLルーティングテーブル303を更新して良い。
また、図示しないが、管理端末150から、コントローラ111を経由せず、直接、制御/管理情報が第二の情報保持部128に書込まれても良い。この場合、スイッチ装置121は、その第二の制御情報保持部128から制御/管理情報を読出し、該読み出した制御/管理情報を基に、SWルーティングテーブル301を更新して良い。
また、例えば、コントローラ111は、増設筐体120の電源投入時などの所定のタイミングで、第一の情報保持部118に記憶された制御/管理情報を読出し、該読み出した情報を第二の情報保持部128に書込んでも良い。或いは、例えば、増設筐体120の増設前に、第二の情報保持部128に所定の制御/管理情報を記憶させ、該増設筐体120の増設の際に該増設筐体120に電源が投入された時に、該増設筐体120のスイッチ装置121が、第二の情報保持部128に予め記憶されている制御/管理情報を読出し、SWルーティングテーブル301を構築してよい。この方法であれば、コントローラ111が制御/管理情報を第二の情報保持部128に書込まなくて済むので、コントローラ111の負荷を抑えることができる。
コントローラ111やスイッチ装置121に対する情報設定は、他の方法でも行うことが可能である。例えば、ストレージシステム100に、保守端末を取り付け、該保守端末から設定しても良い。
さて、この第一実施例では、記憶装置122に入出力されるデータのサイズを各記憶装置122毎に監視する転送データサイズ監視部と、該転送データサイズ監視部による監視の結果に基づいて、各下位ポート115と各スイッチポート123との間の関連付けを制御することによりロードバランスを行う関連付け制御部とが備えられる。転送データサイズ監視部及び関連付け制御部のうちの少なくとも一方が、コントローラ111、スイッチ装置121及び管理端末150のうちの少なくとも一つに備えることが可能である。転送データサイズ監視部及び関連付け制御部のうちの少なくとも一方が、ハードウェア及びコンピュータプログラムのいずれであってもよい。或いは、関連付け変更部は、一部をハードウェアで実現し残りをコンピュータプログラムで実現しても良い。
具体的には、例えば、コントローラ111やスイッチ装置121における情報設定のための仕組みを利用し、CTLルーティングテーブル303やSWルーティングテーブル301を更新することで、ロードバランスを実現することができる。ロードバランスを行うために、例えば、通信ポートの負荷を監視する必要があるが、この負荷監視を行うための装置である負荷モニタを、コントローラ111及びスイッチ装置121の一方又は両方に備えることが考えられる。そして、例えば、管理端末150で実行されるコンピュータプログラムが、コントローラ111及び/又はスイッチ装置121から、負荷の監視結果の情報を収集し、該収集された情報を基に、CTLルーティングテーブル303やSWルーティングテーブル301をどのように構成変更することでロードバランスを行うかを計算し、計算された更新後のCTLルーティングテーブル303やSWルーティングテーブル301を設定するための情報(例えば更新後のテーブル303、301それ自体)を、コントローラ111及び/又はスイッチ装置121に送信してよい。或いは、ロードバランスのための計算は、コントローラ111が行って、コントローラ111が、CTLルーティングテーブル303やSWルーティングテーブル301を構成変更してもよい。以下、コントローラ111がそのような処理を行う場合を例に採り、詳細に説明する。
図9は、負荷モニタを搭載したコントローラ111の構成例を示す。
負荷モニタ201が、例えば、FE IF116とBE IF114との間に介在される。負荷モニタ201は、例えば、FE IF116、BE IF114、MPU112及びキャッシュメモリ113のそれぞれの間のデータ転送を制御するLSI(Large Scale Integration)として構成されてよい。負荷モニタ201は、例えば、各記憶装置(ターゲット装置)毎に、送受信されるデータのサイズ(以下、転送データサイズ)を監視することができる。転送データサイズは、バイト数であらわされてもよいし、送受信されるフレームの数であらわされてもよい。
負荷モニタ201は、監視結果を表す情報(以下、監視結果情報)を、第一の情報保持部118に書込むことができる。MPU112が、該監視結果情報を第一の情報保持部118から読出し、該監視結果情報を基に、ロードバランスを行うことができる。すなわち、MPU112は、該監視結果情報を基に、CTLルーティングテーブル303を更新し、且つ、その更新に合わせてSWルーティングテーブル301を更新するための第一のルーティング情報を、第二の情報保持部128に書込むことができる。
図10は、負荷モニタを搭載したスイッチ装置121の構成例を示す。
負荷モニタ203が、各スイッチポートの負荷を監視する。負荷モニタ203は、各スイッチポート間でのデータ転送を制御するデータ転送LSIとして構成されて良い。
負荷モニタ203は、監視結果情報を、第二の情報保持部128に書込むことができる。第二の情報保持部128に書込まれた監視結果情報は、コントローラ111によって読み出すことができる。言い換えれば、コントローラ111が、スイッチ装置121での監視結果情報を収集することができる。そして、該監視結果情報を基に、コントローラ111が適切なロードバランスを計算し、CTLルーティングテーブル303を更新することができる。また、その更新にあわせた第一のルーティング制御情報を、コントローラ111が第二の情報保持部128に書込むことができる。第二の情報保持部128に書込まれた第一のルーティング制御情報を、スイッチ装置121の図示しない制御部により読み出し、該第一のルーティング制御情報を基に、SWルーティングテーブル301を更新することができる。
以下、ロードバランスの幾つかの例を示す。
図11は、ロードバランスの第一の例に係る更新後のSWルーティングテーブルを示す。更新されたエントリを太線枠で示している。
コントローラ111が、各RAIDグループ毎に、転送データサイズを算出することができる。具体的には、例えば、コントローラ111が、各記憶装置(ターゲット装置)毎に検出された転送データサイズを、RAIDグループ毎に合計(RAIDグループの転送データサイズ)を算出することができる。そして、例えば、RAIDグループCの転送データサイズが、或る閾値よりも大きい(或いは、他のRAIDグループA、Bに比して大きい)場合に、RAIDグループCに属する記憶装置122が接続されたスイッチポート123Cに対して、パスグループBに加えてパスグループAが割り当てられる。つまり、コントローラ111は、RAIDグループCに属する記憶装置122に対しては、下位ポート115A、115Bのいずれからでも論理的に接続することができるようになる。
図12は、ロードバランスの第二の例に係る更新後のSWルーティングテーブルを示す。更新されたエントリを太線枠で示している。
コントローラ111が、各スイッチポート123に、異なるパスグループを均等に割り当てる。つまり、複数のパスグループの各々に割り当てられるスイッチポートの数を、それぞれなるべく同じにする。その際、同一のRAIDグループに属する複数の記憶装置122がそれぞれ接続された複数のスイッチポート123Cに、なるべく同じパスグループを割り当てるようにしても良いし、図12に示すように、そのような複数のスイッチポート123Cについても、割り当てるパスグループを均等に違えても良い。
図13は、ロードバランスの第三の例に係る更新前のCTLルーティングテーブルを示す。図14は、図13のCTLルーティングテーブルの更新後の構成を示す。図15は、ロードバランスの第三の例に係る更新前のSWルーティングテーブルを示す。図16は、図15のSWルーティングテーブルの更新後の構成を示す。更新されたエントリを太線枠で示している。
CTLルーティングテーブル303及びSWルーティングテーブル301のそれぞれに、転送データサイズ(Xfer Data Size)という新たな情報項目(カラム)が用意される。負荷モニタの監視結果情報を基に、各記憶装置122に対応したエントリに、転送データサイズが記録される。
コントローラ111は、複数の物理パス510A及び510Bのそれぞれの転送データサイズがなるべく同じになるようなロードバランスを行う。言い換えれば、コントローラ111は、下位ポート115A(PHY ID“0”)及びスイッチポート123A(PHY ID“0”)のそれぞれ転送データサイズと、下位ポート115B(PHY ID“1”)及びスイッチポート123B(PHY ID“1”)のそれぞれの転送データサイズとがなるべく同じになるようなロードバランスを行う(転送データサイズを平準化する)。この実施例では、各物理パスに異なるパスグループIDが割り当てられていることから、コントローラ111は、パリティグループID別に、転送データサイズの合計を算出する。そして、コントローラ111は、各パリティグループIDの転送データサイズがなるべく同じになるように、パスグループの割当てを変更する。具体的には、例えば、下位ポート115A(PHY ID“0”、パスグループA)の転送データサイズが450で、下位ポート115B(PHY ID“1”、パスグループB)の転送データサイズが1350である。それらを平準化すると900である。そこで、コントローラ111は、RAIDグループCに属する記憶装置に接続したスイッチポートに対するパスグループを、パスグループBからパスグループAに変更する。これにより、RAIDグループCの転送データサイズ450の分だけ、下位ポート115Bから下位ポート115Aに移ることになるので、転送データサイズがそれぞれ900となり平準化される。
なお、必ずしも平準化である必要は無い。例えば、パスグループ毎に、転送データサイズの比率を予め設定しておき、負荷モニタの監視結果情報から分かる、複数のパスグループのそれぞれの転送データサイズが、上記予め設定された比率となるように、ロードバランスを行うことも可能である。
以上が、第一実施例についての説明である。なお、この第一実施例では、例えば、管理端末150が、第一の情報保持部118及び/又は第二の情報保持部128から、各ルーティングテーブル303,301を読み出し、各ルーティグテーブル303,301を、図示しない表示装置に表示しても良い。
前述した第一実施例では、小規模構成のストレージシステムの性能の向上を実現したが、この第二実施例では、大規模構成のストレージシステムの信頼性の向上を実現することができる。具体的には、カスケード構成の最下流の第一の記憶装置ユニットにある第一の空きポートに、該カスケード構成の最下流の第二の記憶装置ユニットにある第二の空きポートを物理的に接続することで、物理的にはループ状に接続することができる。しかし、いずれかの互いに接続されたスイッチ装置の各ルーティングテーブルにおいて、互いに接続されたスイッチポートにそれぞれ対応したステータス値を“Inact”(つまり無効)に設定しておくことで、該互いのスイッチポート間を結ぶ第一の物理パスを介しては論理的に接続できない状態にしておく(つまり論理的に切り離しておく)。そして、第二の物理パスで障害が発生した時に、各ステータス値を“Inact”から“Act”(つまり有効)に変更することで、第一の物理パスを介して論理的に接続できる状態にする。これにより、第一の物理パスに障害が発生してもストレージシステムの稼動を停止することなく継続可能となり、故に、信頼性の向上になる。
以下、図面を参照して詳細に説明する。なお、以下の大規模構成のストレージシステムでは、説明を分かり易くするため、1つのコントローラに備えられる下位ポートの数を2つとし、記憶装置ユニットの数を3つとする。また、以下の説明では、第一実施例との相違点を主に説明し、第一実施例との共通点については、説明を省略或るいは簡略する。
図17は、本発明の第二実施例において、空きポートが生じた大規模構成のストレージシステムの構成例を示す。図18は、その空きポートを有効活用する構成となった大規模構成のストレージシステムを示す。
図17に示すように、コントローラ111が最上流となり、各下位ポート115が空きポートとならないように、コントローラ111及び3つの記憶装置ユニット120A、120B及び120Cをカスケード状に接続した場合、二重化されたアクセス系統のうちの一方のアクセス系統で、第一と第二の2つのカスケード状の経路ができる。
第一のカスケード状の経路は、コントローラ111の下位ポート115A、物理パス210A、増設筐体120Aのスイッチ装置121Aのスイッチポート123A1、該スイッチ装置121Aのスイッチポート123B1、物理パス210C、増設筐体120Cのスイッチ装置121Cのスイッチポート123A3で構成される。
第二のカスケード状の経路は、コントローラ111の下位ポート115B、物理パス210B、増設筐体120Bのスイッチ装置121Bのスイッチポート123A2で構成される。
従って、カスケード接続の最下流にある一方の記憶装置ユニット120Bで、スイッチポート123B2が、第一の空きポートとなり、該最下流にある他方の記憶装置ユニット120Cで、スイッチポート123B3が、第二の空きポートとなる。
そこで、この第二実施例では、図18に示すように、第一の空きポートであるスイッチポート123B2と、第二の空きポートであるスイッチポート123B3とを、物理パス210Dで結ぶ。これにより、第一のカスケード状の経路の終端と、第二のカスケード状の経路の終端とが物理的に接続されるので、物理的にはループ状に接続される。こうなると、コントローラ111からは、どの下位ポート115A、115Bからも同一の記憶装置(ターゲット装置)にアクセスできてしまうことになり得る。
この第二実施例では、物理的にはループ状になるが、論理的には切り離しておくことで、論理的には2つのカスケード状の経路とされる。これは、互いに接続されたスイッチ装置121のそれぞれのルーティングテーブル303の構成を工夫することにより、実現できる。以下、各スイッチ装置121A、121B、121Cのルーティングテーブルの構成を説明する。
図19は、スイッチ装置121AのSWルーティングテーブル301Aの構成例を示す。
このテーブル301Aでは、スイッチポート123B1に対応するPHY ID“1”について、コネクションタイプの値として、“Lower”(下位の装置との接続を意味する値)が設定され、デバイスタイプの値として、“SW”(他のスイッチ装置との接続を意味する値)が記録される。また、該PHY ID“1”について、デバイスアドレスの値としてNullを意味する値が記録される。なぜなら、デバイスタイプの値が“SW”であり、SASイニシエータ装置でもSASターゲット装置でもないためである。
また、この第二実施例では、パスグループに基づくゾーニングは行われないので、パスグループIDが記録されなくても良い。パスグループIDが記録される場合としては、例えば、第一のカスケード状の経路にあることを意味するパスグループID(例えばPG_A)が記録されても良い。
図20は、スイッチ装置121BのSWルーティングテーブル301Bの構成例を示す。図21は、スイッチ装置121CのSWルーティングテーブル301Cの構成例を示す。
物理パス210Dを介して論理的に接続することが不可能な状態とされる。すなわち、SWルーティングテーブル301Bにおいて、スイッチポート123B2(PHY ID“1”)に対応したステータスの値が、“Inact”とされ、同様に、SWルーティングテーブル301Cにおいて、スイッチポート123B3(PHY ID“1”)に対応したステータスの値が、“Inact”とされる。
さて、図18に例示した大規模構成にすることは、図2に例示した小規模構成で増設筐体120B、120Cを増設することで可能である。逆に、増設筐体120B、120Cを減設することで、図2に例示した小規模構成にすることも可能である。以下、小規模構成から大規模構成に構成変更することを代表的に例に採り、手順を説明する。
まず、例えば管理端末150が、構成変更で影響を受けるポートに対応したステータス値を、“Inact”に設定する。そのポートとしては、具体的には、図2の小規模構成で言えば、115B、123B(123B1)である。
次に、物理パス(ケーブル)の繋ぎ変えを行う。それにより、図2の小規模構成から図18の大規模構成に変更される。
最後に、各ポートのステータス値を設定する。具体的には、例えば、管理端末150が、“Inact”に設定されたポート115B及び123Bのステータス値を“Act”に設定する。また、スイッチポート123B2及び123B3間を物理パス210Dで繋ぐことで構築されるループを論理的に切り離すために、管理端末150が、スイッチポート123B2及び123B3にそれぞれ対応したステータス値を“Inact”に設定する。
なお、上記の増設において、例えば、各増設筐体120B及び12Cでの各SWルーティングテーブル301B、301Cでは、全てのPHY IDにそれぞれ対応した全てのステータス値が“Act”にデフォルトで設定されていても良い。
さて、図18に示した大規模構成ストレージシステム500では、物理パス210Dを介しては、コントローラ111と記憶装置122とが論理的に接続することが不可能な状態とされているが(つまり論理的に切り離されているが)、他の物理パス210A、210B或いは210Cで障害が発生した場合には、該物理パス210Dを介して論理的な接続が可能な状態とする。
具体的には、例えば、図22に示すように、物理パス210Cで障害が発生した場合、コントローラ111が、それを検出することができる。これは、例えば、コントローラ111が、各下位ポート115A、115Bから所定の問合せ信号を出し、それに対する戻り値から、特定することができる。物理パス210Cで障害が発生すると、点線矢印で示すように、物理パス210Cを介しては、コントローラ111が記憶装置122と論理的に接続することは不可能となる。この場合、例えば、図24に示すように、コントローラ111により、SWルーティングテーブル301C上の、物理パス210Cが接続されているスイッチポート123A(PHY ID“0”)に対応したステータス値が、太線枠で示すように、“Act”から“Inact”に変更される。
そして、コントローラ111が、前述したSWルーティングテーブル301B及び301Cのそれぞれにおいて、図23及び図24で太線枠に示すように、PHY ID“1”に対応したステータス値を、“Inact”から“Act”に変更する。つまり、物理パス210Dを介して論理的に接続することが不可能な状態から可能な状態に変更される。これにより、図22において一点鎖線で示すように、コントローラ111は、物理パス210Cを介して論理的に接続することが記憶装置122に対し、物理パス210Dを介して論理的に接続することができるようになる。これにより、大規模構成ストレージシステム500の稼動を停止することなく継続することができるので、信頼性が向上する。
なお、物理パス210Dを介して論理的に接続することができるようにするための、ルーティングテーブルの構成変更に代えて、図22において二点鎖線で示すように、他方のアクセス系統を介して、物理パス210Cを介して論理的に接続することが記憶装置122に対してアクセスするようにしても良い。ルーティングテーブルの構成変更を行うか、或いは、他方のアクセス系統を経由するかは、例えば、予め設定したポリシーを基に決定されても良い。
また、上述した例では、ステータス値を変更することで、障害発生に対応したが、ステータス値の変更の際に、コネクションタイプ値やデバイスタイプ値を設定することができる。
また、例えば、管理端末150が、各増設筐体120A、120B、120Cの図示しない第一の情報保持部118及び/又は第二の情報保持部128から、各ルーティングテーブル303,301A、301B、301Cを読み出し、各ルーティグテーブル303,301A、301B、301Cを、図示しない表示装置に表示しても良い。
以上、本発明の好適な実施形態及び幾つかの実施例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施形態及び実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。例えば、大規模構成ストレージシステムの一変形例を構築する場合、例えば図25に示すように、コントローラ111の下位ポート115Bと、増設筐体120Cのスイッチポート123B3が、それぞれ空きポートとなる場合もあり得る。この場合は、図26に例示するように、下位ポート115Bとスイッチポート123B3とを物理パス310で接続し、それにより物理的にループとなる或る部分を論理的に切り離しておいてもよい。
本発明の第一実施例において、空きポートが生じた小規模構成のストレージシステムの構成例を示す。 その空きポートを有効活用する構成となった小規模構成のストレージシステムを示す。 SWルーティングテーブルの構成例を示す。 CTLルーティングテーブルの構成例を示す。 図2の小規模構成ストレージシステムにおいて一つの上位物理パスで障害が発生したことを示す。 図5での障害発生により更新されたSWルーティングテーブルの構成を示す。 図5での障害発生により更新されたCTLルーティングテーブルの構成を示す。 コントローラ111や増設筐体120に情報を設定するための仕組みの一例を示す。 負荷モニタを搭載したコントローラ111の構成例を示す。 負荷モニタを搭載したスイッチ装置121の構成例を示す。 ロードバランスの第一の例に係る更新後のSWルーティングテーブルを示す。 ロードバランスの第二の例に係る更新後のSWルーティングテーブルを示す。 ロードバランスの第三の例に係る更新前のCTLルーティングテーブルを示す。 図13のCTLルーティングテーブルの更新後の構成を示す。 ロードバランスの第三の例に係る更新前のSWルーティングテーブルを示す。 図15のSWルーティングテーブルの更新後の構成を示す。 本発明の第二実施例において、空きポートが生じた大規模構成のストレージシステムの構成例を示す。 その空きポートを有効活用する構成となった大規模構成のストレージシステムを示す。 スイッチ装置121AのSWルーティングテーブル301Aの構成例を示す。 スイッチ装置121BのSWルーティングテーブル301Bの構成例を示す。 スイッチ装置121CのSWルーティングテーブル301Cの構成例を示す。 図18の大規模構成ストレージシステムで物理パスに障害が発生したことを示す。 図20のSWルーティングテーブル301Bの更新後の例を示す。 図21のSWルーティングテーブル301Cの更新後の例を示す。 大規模構成ストレージシステムの変形例において空きポートが生じる例を示す。 大規模構成ストレージシステムの変形例において空きポートを有効活用した例を示す。
符号の説明
100…ストレージシステム 110…基本筐体 111…コントローラ 114…バックエンドインタフェース装置 116…フロントエンドインタフェース装置 113…キャッシュメモリ 115…下位ポート 120…増設筐体 121…スイッチ装置 122…記憶装置 123…スイッチポート

Claims (1)

  1. 上位装置から送信されたI/O要求を受信するストレージシステムにおいて、
    それぞれがスイッチ装置と複数の記憶装置とを備えた一又は複数の記憶装置ユニットと、
    上位装置からI/O要求を受信し処理するコントローラと、
    関連付け変更部と、
    記憶装置に入出力されるデータのサイズである転送データサイズを前記記憶装置毎に監視する転送データサイズ監視部と、
    関連付け制御部と
    を備え、
    前記コントローラと前記一又は複数の記憶装置ユニットがカスケードに接続され、
    前記コントローラは、上位側の通信ポートであり前記上位装置に接続される上位ポートと、下位側の通信ポートであり前記複数の記憶装置に前記スイッチ装置を介してSAS(Serial Attached SCSI)プロトコルで接続される複数の下位ポートとを有し、
    前記スイッチ装置が、通信ポートであるスイッチポートを複数個有し、
    各記憶装置ユニットの前記複数の記憶装置の各々と前記コントローラの前記下位ポートが、前記複数のスイッチポートのうちのそれぞれ異なるスイッチポートを介して前記スイッチ装置に接続されており、前記スイッチ装置と前記コントローラが、複数の下位ポートと複数のスイッチポートとを繋ぐ2以上の物理パスを介して接続されており、
    前記一又は複数の記憶装置ユニットを論理的に区分することにより、第一及び第二のパスグループを含んだ複数のパスグループが得られ、
    第一の下位ポートに対応する前記第一のパスグループが、複数の第一の記憶装置と、それぞれが第一の記憶装置又は第一の下位ポートに接続されている複数の第一のスイッチポートとを含み、
    第二の下位ポートに対応する前記第二のパスグループが、複数の第二の記憶装置と、それぞれが第二の記憶装置又は第二の下位ポートに接続されている複数の第二のスイッチポートとを含み、
    前記コントローラが、前記I/O要求に応答して、前記I/O要求に従うアクセス先の記憶装置を特定し、
    前記特定された記憶装置が、前記第一のパスグループに含まれていれば、前記コントローラが、前記I/O要求に従うデータを、前記第一の下位ポートと、前記特定された記憶装置が接続されている少なくとも1つの前記第一のスイッチポートとを介して、前記特定された記憶装置に送信し、
    前記特定された記憶装置が、前記第二のパスグループに含まれていれば、前記コントローラが、前記I/O要求に従うデータを、前記第二の下位ポートと、前記特定された記憶装置が接続されている少なくとも1つの前記第二のスイッチポートとを介して、前記特定された記憶装置に送信し、
    一つのパスグループには、RAIDグループ単位でスイッチポートが関連付けられ、
    前記RAIDグループは、RAIDの規則に従うRAIDグループを構成する二以上の記憶装置であり、
    前記コントローラは、コントローラに用意されたルーティングテーブルであるコントローラルーティングテーブルを有しており、
    前記コントローラテーブルは、下位ポート毎に、下位ポートを介して認識可能な記憶装置のアドレスと、その記憶装置を含んだRAIDグループのIDと、の接続されているデバイスのタイプ、その記憶装置を含んだパスグループのIDと、その下位ポートの接続状態を表す情報とを含んでおり、
    各スイッチ装置は、スイッチ装置に用意されたルーティングテーブルであるスイッチルーティングテーブルを有しており、
    前記スイッチルーティングテーブルは、そのテーブルを有するスイッチ装置が有するスイッチポート毎に、スイッチポートに接続されているデバイスのタイプ及びアドレスと、そのデバイスが記憶装置である場合にその記憶装置を含んだRAIDグループのIDと、そのデバイスを含んだパスグループのIDと、そのスイッチポートの接続状態を表す情報とを含んでおり、
    或る物理パスに障害が生じた場合、前記関連付け変更部が、前記スイッチ装置及び前記コントローラの各々のルーティングテーブルにおいて、前記或る物理パスに対応したパスグループIDを、障害が生じていない別の物理パスに対応したパスグループIDに変更し、
    前記関連付け制御部が、前記転送データサイズ監視部による監視の結果に基づいて、前記RAIDグループ毎に、転送データサイズを合計し、前記RAIDグループ毎の転送データサイズ合計に基づくロードバランスのために、前記スイッチ装置及び/又は前記コントローラのルーティングテーブルにおいて、下位ポート又はスイッチポートに対応付けられているパスグループIDを別のパスグループIDに変更する、
    ストレージシステム。
JP2006247558A 2006-09-13 2006-09-13 空きポートを有効に活用したストレージシステム Expired - Fee Related JP5179031B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006247558A JP5179031B2 (ja) 2006-09-13 2006-09-13 空きポートを有効に活用したストレージシステム
US11/588,335 US7814241B2 (en) 2006-09-13 2006-10-27 Storage system with free ports where logical connections via physical paths connecting free ports are controlled
EP07251114A EP1901522A1 (en) 2006-09-13 2007-03-15 Storage system effectively using free ports
US12/881,841 US8086775B2 (en) 2006-09-13 2010-09-14 Storage system effectively using free ports

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006247558A JP5179031B2 (ja) 2006-09-13 2006-09-13 空きポートを有効に活用したストレージシステム

Publications (2)

Publication Number Publication Date
JP2008071005A JP2008071005A (ja) 2008-03-27
JP5179031B2 true JP5179031B2 (ja) 2013-04-10

Family

ID=38873396

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006247558A Expired - Fee Related JP5179031B2 (ja) 2006-09-13 2006-09-13 空きポートを有効に活用したストレージシステム

Country Status (3)

Country Link
US (2) US7814241B2 (ja)
EP (1) EP1901522A1 (ja)
JP (1) JP5179031B2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4819088B2 (ja) 2008-04-25 2011-11-16 富士通株式会社 記憶装置および当該記憶装置の起動方法
JP5176816B2 (ja) * 2008-09-24 2013-04-03 日本電気株式会社 情報処理装置、モジュール、及び通信リンクの形成方法
US8112562B2 (en) 2008-12-11 2012-02-07 Hitachi, Ltd. Path changeover support device and method
US8321622B2 (en) * 2009-11-10 2012-11-27 Hitachi, Ltd. Storage system with multiple controllers and multiple processing paths
US8380894B2 (en) * 2009-12-11 2013-02-19 International Business Machines Corporation I/O mapping-path tracking in a storage configuration
JP5531639B2 (ja) 2010-01-19 2014-06-25 富士通株式会社 ストレージ装置および同装置の増設方法
JP5663950B2 (ja) * 2010-05-19 2015-02-04 富士通株式会社 接続拡張装置及びストレージシステム
CN101950279B (zh) * 2010-09-30 2012-09-19 华为技术有限公司 均衡数据信息流量的方法、总线系统和译码器
CN102129400B (zh) 2010-12-29 2013-12-04 华为数字技术(成都)有限公司 存储系统连接配置方法、设备及其存储系统
JP5821041B2 (ja) 2011-02-10 2015-11-24 富士通株式会社 データ転送装置およびストレージ装置
JP5246306B2 (ja) * 2011-08-01 2013-07-24 富士通株式会社 ストレージシステムおよび起動方法
US8751757B1 (en) * 2011-12-30 2014-06-10 Emc Corporation Acquisition and kernel memory storage of I/O metrics
JP2014026529A (ja) * 2012-07-27 2014-02-06 Fujitsu Ltd ストレージシステムおよびその制御方法
WO2014020745A1 (ja) * 2012-08-02 2014-02-06 富士通株式会社 情報処理装置およびその制御方法
US10715435B2 (en) 2014-04-09 2020-07-14 Red Hat, Inc. Routing tier for highly-available applications on a multi-tenant platform-as-a-service (PaaS) system
US9841904B2 (en) * 2015-03-02 2017-12-12 Samsung Electronics Co., Ltd. Scalable and configurable non-volatile memory module array
WO2018154743A1 (ja) * 2017-02-27 2018-08-30 株式会社日立製作所 ストレージシステム及びストレージの制御方法
US10216685B1 (en) * 2017-07-19 2019-02-26 Agiga Tech Inc. Memory modules with nonvolatile storage and rapid, sustained transfer rates
JP7080863B2 (ja) * 2019-08-02 2022-06-06 株式会社日立製作所 ストレージ装置
CN113407401B (zh) * 2021-06-18 2023-12-05 北京汇钧科技有限公司 一种自动化测试方法及装置、电子设备及存储介质

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7137011B1 (en) * 1993-09-01 2006-11-14 Sandisk Corporation Removable mother/daughter peripheral card
US6728258B1 (en) * 1995-11-15 2004-04-27 Hitachi, Ltd. Multi-processor system and its network
US6148414A (en) * 1998-09-24 2000-11-14 Seek Systems, Inc. Methods and systems for implementing shared disk array management functions
JP2000105723A (ja) * 1998-09-29 2000-04-11 Fujitsu Ltd メモリの空き管理装置
US6330687B1 (en) * 1998-11-13 2001-12-11 Digi-Data Corporation System and method to maintain performance among N single raid systems during non-fault conditions while sharing multiple storage devices during conditions of a faulty host computer or faulty storage array controller
JP2000242434A (ja) * 1998-12-22 2000-09-08 Hitachi Ltd 記憶装置システム
JP2000187561A (ja) * 1998-12-24 2000-07-04 Hitachi Ltd 記憶装置システム
JP2000253007A (ja) * 1999-02-26 2000-09-14 Toshiba Corp データ伝送システム
US6571355B1 (en) * 1999-12-29 2003-05-27 Emc Corporation Fibre channel data storage system fail-over mechanism
JP2001222385A (ja) * 2000-02-10 2001-08-17 Hitachi Ltd 記憶装置および情報処理システム
JP4150159B2 (ja) * 2000-03-01 2008-09-17 富士通株式会社 伝送経路制御装置及び伝送経路制御方法並びに伝送経路制御プログラムを記録した媒体
US6775230B1 (en) * 2000-07-18 2004-08-10 Hitachi, Ltd. Apparatus and method for transmitting frames via a switch in a storage area network
US20020195736A1 (en) * 2001-06-20 2002-12-26 Potter William R. Steam chest for use with vertical and horizontal presses and method of use thereof
US6732243B2 (en) * 2001-11-08 2004-05-04 Chaparral Network Storage, Inc. Data mirroring using shared buses
JP4338068B2 (ja) * 2002-03-20 2009-09-30 株式会社日立製作所 ストレージシステム
JP2003303055A (ja) * 2002-04-09 2003-10-24 Hitachi Ltd ディスクアダプタとディスクアレイをスイッチを介して接続したディスク装置
JP4704659B2 (ja) * 2002-04-26 2011-06-15 株式会社日立製作所 記憶装置システムの制御方法および記憶制御装置
JP4483168B2 (ja) * 2002-10-23 2010-06-16 株式会社日立製作所 ディスクアレイ制御装置
US7263593B2 (en) * 2002-11-25 2007-08-28 Hitachi, Ltd. Virtualization controller and data transfer control method
US6987464B2 (en) 2003-01-29 2006-01-17 Pearson Jeremiah W Automated traffic control system having an interactive emergency vehicle warning therein
JP4253224B2 (ja) * 2003-07-02 2009-04-08 株式会社日立製作所 アドレス管理方法および装置
JP4080970B2 (ja) * 2003-07-30 2008-04-23 株式会社日立製作所 パス切替えを提供するスイッチ
JP4297747B2 (ja) * 2003-08-06 2009-07-15 株式会社日立製作所 ストレージ装置
JP4492084B2 (ja) * 2003-10-07 2010-06-30 株式会社日立製作所 ストレージパス制御方法
JP4012498B2 (ja) * 2003-11-18 2007-11-21 株式会社日立製作所 情報処理システム、情報処理装置、情報処理装置の制御方法及びプログラム
JP2005251078A (ja) * 2004-03-08 2005-09-15 Hitachi Ltd 情報処理装置、及び情報処理装置の制御方法
JP2006072717A (ja) 2004-09-02 2006-03-16 Hitachi Ltd ディスクサブシステム
US20060294317A1 (en) * 2005-06-22 2006-12-28 Berke Stuart A Symmetric multiprocessor architecture with interchangeable processor and IO modules

Also Published As

Publication number Publication date
US7814241B2 (en) 2010-10-12
JP2008071005A (ja) 2008-03-27
US20080126698A1 (en) 2008-05-29
EP1901522A1 (en) 2008-03-19
US20110004712A1 (en) 2011-01-06
US8086775B2 (en) 2011-12-27

Similar Documents

Publication Publication Date Title
JP5179031B2 (ja) 空きポートを有効に活用したストレージシステム
JP4775846B2 (ja) 物理リンクの割当てを制御するコンピュータシステム及び方法
JP6074056B2 (ja) 計算機システムおよびデータ制御方法
US6571354B1 (en) Method and apparatus for storage unit replacement according to array priority
JP5511960B2 (ja) 情報処理装置、及びデータの転送方法
JP4814617B2 (ja) ストレージシステム
JP2010231807A (ja) 記憶装置システム
JP2008065561A (ja) ストレージシステムおよびストレージシステムの制御方法
JP2007086972A (ja) ストレージシステム、二重化制御方法、及びプログラム
JP2002366398A (ja) クラスタ構成記憶システム
US7886186B2 (en) Storage system and management method for the same
JP2008287405A (ja) パス管理方法、ホスト計算機及びパス管理プログラム
JP4786255B2 (ja) ストレージシステム及び記憶制御方法
JP5182162B2 (ja) 計算機システム及びi/o制御方法
JP6244970B2 (ja) ストレージシステム、制御装置及び制御プログラム
JP4509089B2 (ja) 仮想化制御装置及びデータ移行制御方法
JP6600752B2 (ja) ストレージシステム及びストレージシステムのシステム構築方法
JP2004145901A (ja) 記憶装置システム
JP2007141264A (ja) 記憶装置システム
JP4087387B2 (ja) 記憶制御装置
JP2001325074A (ja) ディスクアレイシステム
JP2005190499A (ja) 記憶サブシステム及び記憶制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090713

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121212

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130109

R150 Certificate of patent or registration of utility model

Ref document number: 5179031

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees