JP4775846B2 - 物理リンクの割当てを制御するコンピュータシステム及び方法 - Google Patents

物理リンクの割当てを制御するコンピュータシステム及び方法 Download PDF

Info

Publication number
JP4775846B2
JP4775846B2 JP2006076505A JP2006076505A JP4775846B2 JP 4775846 B2 JP4775846 B2 JP 4775846B2 JP 2006076505 A JP2006076505 A JP 2006076505A JP 2006076505 A JP2006076505 A JP 2006076505A JP 4775846 B2 JP4775846 B2 JP 4775846B2
Authority
JP
Japan
Prior art keywords
sas
physical
switch
link
storage
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
JP2006076505A
Other languages
English (en)
Other versions
JP2007256993A (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 JP2006076505A priority Critical patent/JP4775846B2/ja
Priority to US11/414,675 priority patent/US7913037B2/en
Priority to EP20060254560 priority patent/EP1837750A3/en
Priority to CN2007100055659A priority patent/CN101042632B/zh
Priority to CN201110277026.7A priority patent/CN102306087B/zh
Publication of JP2007256993A publication Critical patent/JP2007256993A/ja
Priority to US13/029,011 priority patent/US8275938B2/en
Application granted granted Critical
Publication of JP4775846B2 publication Critical patent/JP4775846B2/ja
Priority to US13/587,003 priority patent/US8543762B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/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; 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/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • 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/0637Permissions
    • 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/0661Format or protocol conversion arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、物理的なリンクを備えるコンピュータシステムに関し、具体的には、例えば、SAS(Serial Attached SCSI)に従う通信のための物理リンクをバックエンドに備えたコンピュータシステムに関する。
コンピュータシステムの一種として、複数の記憶装置(例えばハードディスクドライブやDVD(Digital Versatile Disk)ドライブ等のディスクドライブ)を備えるストレージシステムが知られている。ストレージシステムは、アクセス元装置(例えばホスト計算機或いは別のストレージシステム)からI/Oコマンド(ライトコマンド又はリードコマンドである入力/出力コマンド)を受信し、受信したI/Oコマンドに従うデータを、記憶装置に書きこむ、又は、記憶装置から読み出してアクセス元装置に送信することができる。
この種のストレージシステムとして、例えば、特開2005−149173号公報に開示のディスク装置が知られている。このディスク装置では、ファイバチャネル・アービトレイテッド・ループ(FC−AL)に、複数のディスクドライブが接続されている。
特開2005−149173号公報
ところで、通信I/Fとして、SAS(Serial Attached SCSI)が知られている。SASは、異なるプロトコル種類(例えばSCSIとATA)のディスクドライブを同一の物理的な配線で接続することが可能なI/F技術である。SASに従う通信をバックエンドで行うことのできるコンピュータシステムとして、複数のディスクドライブと、各ディスクドライブへのアクセスを制御するコントローラとを備えたストレージシステムが考えられる。その場合、そのストレージシステムには、ディスクドライブを拡張接続するためのスイッチであり、複数の物理的な通信ポート(以下、物理ポート)を備えたSASエクスパンダを備えることが考えられる。SASエクスパンダは、複数個備えることができ、コントローラを最上流とした場合、最上流から下流にかけて、複数のSASエクスパンダをカスケード接続する(例えば直列に或いは木構造に接続する)ことができる。ただし、コントローラ側が最上流である必要はなく、SASエクスパンダのどの場所にもSASイニシエータは接続できる。各SASエクスパンダの任意の物理ポートには、コントローラ、上流のSASエクスパンダ、下流のSASエクスパンダ、又はディスクドライブを接続することができる。
このストレージシステムでは、バックエンドにおいて、コントローラとSASエクスパンダとの間、SASエクスパンダ間、及びSASエクスパンダとディスクドライブと間に、物理的な配線(以下、物理リンク)が施されている。コントローラ(SASイニシエータ)は、ディスクドライブ(SASターゲット)にアクセスする場合、コントローラからディスクドライブにかけて各物理リンクを介してディスクドライブにアクセスすることができる。具体的には、例えば、コントローラは、コントローラの直下の第一のSASエクスパンダに接続されているディスクドライブにアクセスする場合、コントローラと第一のSASエクスパンダとを結ぶ第一の物理リンク、第一のSASエクスパンダ、及び、第一のSASエクスパンダとディスクドライブとを結ぶ第二の物理リンクを介して、ディスクドライブにアクセスすることができる。
SASには、一つのデバイス間で並列になった複数の物理リンクを1つの論理的なリンク(以下、論理リンク)として集約することができる「ワイドリンク」と呼ばれる技術がある。すなわち、ワイドリンクは、SASエクスパンダ〜SASエクスパンダ間、および、SASイニシエータ〜SASエクスパンダ間のように、一方のデバイスと他方のデバイスとを接続する並列になった複数の物理リンクで形成することができる。また、ワイドリンクは、SASイニシエータの指示なしに、SASエクスパンダ〜SASエクスパンダ間、又は、SASイニシエータ〜SASエクスパンダ間で自動的に形成することもできる。
また、SASには、一つの物理リンクを時分割することにより複数の仮想的な物理リンク(以降、論理リンク)を形成できる技術がある。従って、ワイドリンクを形成する個々の物理リンクに、複数の論理リンクを構成できる。例えば、転送速度が6Gbpsの2本の物理リンクで1本のワイドリンクを形成している場合において、転送速度を1/4にした1.5Gbpsの論理リンクを、1本の物理リンクに形成できるため、合計8本の論理リンクをそのワイドリンク内に形成することができる。この場合において、SASイニシエータ装置は、同時に8つのSASターゲット装置とコネクションを確立してフレームの送受信を同時に転送できる。
コントローラは、ワイドリンクを構成する複数の物理リンクを経由して、複数のデバイスとコネクション確立を同時に行うことができる。コントローラとSASエクスパンダ間がワイドリンクで接続され、かつ、そのSASエクスパンダに複数のディスクドライブが接続されている場合、コントローラは、複数のディスクドライブに対して、ワイドリンクを構成する物理リンク数だけのコネクション確立を同時に行うことができる。1つのコントローラは、ワイドリンクにより、複数のディスクドライブに対して同時にフレーム転送を実行できる。
このストレージシステムにおいて、例えば以下の第一と第二のケースの各々において、そのケースに特有の問題が起こり得る。
第一のケースとは、SASエクスパンダに、通信I/Fが異なるディスクドライブを接続したケースである。例えば、一又は複数のSASエクスパンダに、SAS I/Fを有するディスクドライブ(以下、SASドライブ)と、SATA(Serial ATA)I/Fを有するディスクドライブ(以下、SATAドライブ)とを接続したケースである。このケースは、SASドライブまたはSASデバイスにアクセスするためのSSP(Serial SCSI Protocol)のフレームと、SATAドライブとアクセスするためのSATAプロトコルをトンネリングする、STP(Serial ATA Tunneled Protocol)のフレームを、同一の物理リンクを用いて転送することにより、実現することができる。ここで、SATAとSASとでは、転送効率が異なる(具体的には、SATAの転送効率はSASの転送効率より劣り、物理リンクの占有時間が長い)。このため、SATAフレームのI/O転送要求が多いと、SASドライブに対するスループットに悪影響を及ぼす可能性がある。この種の問題点は、これらの2種のI/Fに限らず他種のI/F間でも存在し得る問題点である。
第二のケースとは、二以上のディスクドライブを、RAID(Redundant Array of Independent (or Inexpensive) Disks)の法則に従う一つのグループ(以下、RAIDグループ)とし、RAIDグループをSASエクスパンダに接続したケースである。複数のSASエクスパンダはカスケード接続されているため、コントローラから或るRAIDグループへの経路におけるワイドリンクと、コントローラから別のRAIDグループへの経路におけるワイドリンクとが、バックエンド内の上流側において共通することがある。そのため、特定のRAIDグループへのアクセスが増加すると、他のRAIDグループに対するスループットに悪影響を及ぼす可能性がある。
以上のような問題点は、ストレージシステムに限らず、他種のコンピュータシステムにも存在し得る。例えば、コンピュータシステムに複数のSASターゲット装置が存在する場合において、特定のSASターゲット装置へのアクセスが集中すると、そのコンピュータシステムのスループットが落ちる可能性が考えられる。
また、SASというプロトコルの制約上、ワイドリンクを構成する複数の物理リンクから、フレーム転送を実行する物理リンクを選択する手順は、SASイニシエータ装置が制御することはできない。
従って、本発明の目的は、複数のSASターゲット装置のうちの特定のSASターゲット装置へのアクセスが集中してもコンピュータシステムのスループットがなるべく落ちないようにすることにある。好ましくは、その目的を、バックエンドでの通信プロトコルの制約を破ることなく実現することにある。
本発明の他の目的は、後述の説明から明らかになるであろう。
本発明に従うコンピュータシステムは、SASプロトコルに従うターゲットである複数のSASターゲット装置と、SASプロトコルに従うイニシエータであるSASイニシエータ装置と、物理的な配線である物理リンクで各SASターゲット装置に接続され、且つ、複数の物理リンクにより構成されたワイドリンクで前記SASイニシエータ装置に接続されたスイッチ部とを備える。前記スイッチ部は、一又は複数のスイッチ装置であり、該スイッチ部が複数のスイッチ装置である場合には、前記SASイニシエータ装置に接続されたスイッチ装置を先頭としてカスケード接続されており、一方のスイッチ装置と他方のスイッチ装置とが互いにワイドリンクで接続されている。前記コンピュータシステムが、物理リンク割当て制御部を更に備える。前記物理リンク割当て制御部が、前記スイッチ部と前記SASイニシエータ装置との間のワイドリンク及び前記スイッチ部内のワイドリンクのうちの少なくとも一つのワイドリンクのうちの何本の物理リンクをどのSASターゲット装置に割り当てるかを制御する。前記SASイニシエータ装置からSASターゲット装置へのI/Oは、該SASターゲット装置に割り当てられた物理リンクを経由して行われ、該SASターゲット装置に割り当てられていない物理リンクを経由できないようになっている。
第一の実施態様では、SASターゲット装置に要求されるI/O性能であるI/O要求性能を各SASターゲット装置について監視する監視部が更に備えられてもよい。前記物理リンク割当て制御部が、各SASターゲット装置に対するI/O要求性能に基づいて、各SASターゲット装置に割り当てる物理リンクの数を制御することができる。
第二の実施態様では、第一の実施態様において、前記物理リンク割当て制御部が、I/O要求性能の高いSASターゲット装置には、I/O要求性能の低いSASターゲット装置よりも多くの数の物理リンクを割り当てることができる。
第三の実施態様では、前記複数のSASターゲット装置には、通信プロトコルの異なるSASターゲット装置が混在している。前記物理リンク割当て制御部が、SASターゲット装置の通信プロトコルの種類に基づいて、各SASターゲット装置に割り当てる物理リンクの数を制御することができる。
第四の実施態様では、前記第三の実施態様において、前記物理リンク割当て制御部が、転送効率の悪い通信プロトコルで通信するSASターゲット装置には、転送効率の良い通信プロトコルで通信するSASターゲット装置よりも多くの数の物理リンクを割り当てることができる。逆に、転送効率の良い通信プロトコルで通信するSASターゲット装置には、転送効率の悪い通信プロトコルで通信するSASターゲット装置よりも多くの数の物理リンクを割り当てることもできる。
第五の実施態様では、各SASターゲット装置は、記憶装置である。二以上の記憶装置が、RAIDの法則に従ってグループ化されることによりRAIDグループとされていてもよい。前記物理リンク割当て制御部が、RAIDグループ単位で、割り当てる物理リンクの数を制御することができる。
第六の実施態様では、前記SASイニシエータ装置から前記複数のSASターゲット装置へのアクセス経路を論理的な複数のゾーンに分割したゾーン設定を行うゾーン設定部が更に備えられても良い。前記物理リンク割当て制御部が、前記設定された複数のゾーンに基づいて、各SASターゲット装置に割り当てる物理リンクの数を制御することができる。
第七の実施態様では、前記第六の実施態様において、前記物理リンク割当て制御部が、一つのゾーンに複数のSASターゲット装置が属する場合、それら複数のSASターゲット装置の各々に割り当てる物理リンクの数の制御を、前記一つのゾーンの範囲内で行うことができる。
第八の実施態様では、複数のSASターゲット装置を接続している筐体の資源(例えばSASターゲット装置)を定期的に監視するための資源監視コマンドを定期的に発行する資源監視部が更に備えられても良い。この場合、前記ゾーン設定部が、前記資源監視コマンドの発行には利用されずSASターゲット装置へのI/Oに利用されるI/O専用ゾーンと、前記I/Oには利用されず前記資源監視コマンドの発行に利用される資源監視専用ゾーンとを設定することができる。
第九の実施態様では、前記第一の実施態様において、前記SASイニシエータ装置が、前記コンピュータシステムの外部に存在するアクセス元からI/O要求を受信し、該I/O要求に従う第一のSASターゲット装置に対して第一のI/Oを行い、且つ、前記アクセス元からのI/O要求に関わらずにバックエンドで第二のSASターゲット装置に対して第二のI/Oを行うことができる。前記物理リンク割当て制御部が、前記第一のI/OのI/O要求性能と、前記第二のI/OのI/O要求性能とに基づいて、前記第一のSASターゲット装置に割り当てる物理リンクの数と前記第二のSASターゲット装置に割り当てる物理リンクの数を制御することができる。
第十の実施態様では、前記第九の実施態様において、前記物理リンク割当て制御部が、前記第一のI/OのI/O要求性能の方が前記第二のI/OのI/O要求性能よりも高い場合には、前記第一のSASターゲット装置に割り当てる物理リンクの数を前記第二のSASターゲット装置に割り当てる物理リンクの数よりも多くすることができる。
第十一の実施態様では、前記SASイニシエータ装置が、前記コンピュータシステムの外部に存在する複数のアクセス元からそれぞれI/O要求を受信し、該I/O要求に従うSASターゲット装置に対してI/Oを行うことができる。前記物理リンク割当て制御部が、前記複数のアクセス元の各々の優先度に基づき、優先度の高いアクセス元からのI/O要求に従うSASターゲット装置に割り当てる物理リンクの数を、優先度の低いアクセス元からのI/O要求に従うSASターゲット装置に割り当てる物理リンクの数よりも多くすることができる。
第十二の実施態様では、前記物理リンク割当て制御部が、前記スイッチ部と前記SASイニシエータ装置との間のワイドリンク及び前記スイッチ部内のワイドリンクのうちの少なくとも一つのワイドリンクにおいて、或るSASターゲット装置に割り当てる物理リンクの数をゼロとする、又は、前記或るSASターゲット装置と前記スイッチ部とを接続する物理リンクの割当てを解除することにより、前記或るSASターゲット装置へのI/Oを防ぐことができる。
第十三の実施態様では、前記一又は複数のスイッチ装置の各々が、複数の物理リンクにそれぞれ接続される複数の通信ポートと、スイッチ制御情報を記憶した記憶域とを備えることができる。前記スイッチ制御情報には、前記複数の通信ポートの各々について、他の通信ポートを介することなく直接接続された装置を表す直接装置データと、他の通信ポートを介して間接的に接続されたSASターゲット装置を表す間接装置データとが記録される。通信ポートについての前記直接装置データが、SASターゲット装置を表すデータである場合、該SASターゲット装置は、該通信ポートに接続されている物理リンクが割り当てられたSASターゲット装置であるとすることができる。通信ポートについての前記間接装置データは、該通信ポートに接続されている物理リンクが割り当てられたSASターゲット装置を表すデータであるとすることができる。前記物理リンク割当て制御部は、前記一又は複数のスイッチ装置のうちの少なくとも一つのスイッチ装置の前記スイッチ制御情報を更新することで、SASターゲット装置に割り当てる物理リンクを制御する。
第十四の実施態様では、前記第十三の実施態様において、前記一又は複数のスイッチの各々が、或るSASターゲット装置とのコネクションを確立するためのコネクションオープン指示を、前記或るSASターゲット装置に割り当てられていない物理リンクを介して受けたならば、該物理リンクを介して、該コネクションオープン指示の発行元にエラーを返し、該物理リンクを介してコネクションが確立しないようにすることができる。
第十五の実施態様では、前記コンピュータシステムには、前記コンピュータシステムを管理するための管理端末が通信可能に接続されていてもよい。前記物理リンク割当て制御部が、前記管理端末からの指示に従って、何本の物理リンクをどのSASターゲット装置に割り当てるかを制御することができる。
第十六の実施態様では、前記コンピュータシステムは、複数の記憶装置を備えるストレージシステムであってもよい。前記複数のSASターゲット装置が、前記複数の記憶装置であってもよい。前記SASイニシエータ装置が、各記憶装置へのI/Oを制御するコントローラであってもよい。前記スイッチ部が、複数のスイッチ装置であってもよい。前記複数のスイッチ装置の各々が、複数の物理リンクにそれぞれ接続される複数の通信ポートと、スイッチ制御情報を記憶した記憶域とを有することができる。前記スイッチ制御情報には、前記複数の通信ポートの各々について、他の通信ポートを介することなく直接接続された装置を表す直接装置データと、他の通信ポートを介して間接的に接続された記憶装置を表す間接装置データとが記録されてもよい。通信ポートについての前記直接装置データが、記憶装置を表すデータである場合、該記憶装置は、該通信ポートに接続されている物理リンクが割り当てられた記憶装置であるとすることができる。通信ポートについての前記間接装置データは、該通信ポートに接続されている物理リンクが割り当てられた記憶装置を表すデータであるとすることができる。前記ストレージシステムが、記憶装置に要求されるI/O性能であるI/O要求性能を各記憶装置について監視する監視部を更に備えてもよい。前記物理リンク割当て制御部が、各記憶装置に対するI/O要求性能に基づいて、前記複数のスイッチ装置のうちの少なくとも一つのスイッチ装置の前記スイッチ制御情報を更新することで、各記憶装置に割り当てる物理リンクの数を制御することができる。
第十七の実施態様では、前記第十六の実施態様において、二以上の記憶装置が、RAIDの法則に従ってグループ化されることによりRAIDグループとされていて、前記物理リンク割当て制御部が、RAIDグループ単位で、割り当てる物理リンクの数を制御することができる。
第十八の実施態様では、前記コンピュータシステムは、複数の記憶装置を備えるストレージシステムであってもよい。前記複数のSASターゲット装置が、前記複数の記憶装置であってもよい。前記複数の記憶装置には、SCSIプロトコルに従う通信を行う記憶装置であるSCSI記憶装置と、ATAプロトコルに従う通信を行う記憶装置であるATA記憶装置とが混在していてもよい。前記SASイニシエータ装置が、各記憶装置へのI/Oを制御するコントローラであってもよい。前記スイッチ部が、複数のスイッチ装置であってもよい。前記複数のスイッチ装置の各々が、複数の物理リンクにそれぞれ接続される複数の通信ポートと、スイッチ制御情報を記憶した記憶域とを有することができる。前記スイッチ制御情報には、前記複数の通信ポートの各々について、他の通信ポートを介することなく直接接続された装置を表す直接装置データと、他の通信ポートを介して間接的に接続された記憶装置を表す間接装置データとが記録されてもよい。通信ポートについての前記直接装置データが、記憶装置を表すデータである場合、該記憶装置は、該通信ポートに接続されている物理リンクが割り当てられた記憶装置であってもよい。通信ポートについての前記間接装置データは、該通信ポートに接続されている物理リンクが割り当てられた記憶装置を表すデータであってもよい。前記物理リンク割当て制御部が、各記憶装置の通信プロトコルがSCSIであるかATAであるかに基づいて、前記複数のスイッチ装置のうちの少なくとも一つのスイッチ装置の前記スイッチ制御情報を更新することで、各記憶装置に割り当てる物理リンクの数を制御することができる。
第十九の実施態様では、前記割当て制御される物理リンクは、仮想的な物理リンクであってもよい。前記仮想的な物理リンクは、一つの物理リンクを時分割することにより形成された論理リンクである。前記SASイニシエータ装置からSASターゲット装置へのI/Oは、該SASターゲット装置に割り当てられた論理リンクを経由して行われ、該SASターゲット装置に割り当てられていない論理リンクを経由できないようになっている。前記SASイニシエータ装置は、1つの物理リンクにおける論理リンクにて、複数の前記SASターゲット装置と同時にコネクションを確立することができる。
上述した各部は、各手段と言い換えてもよい。各部は、ハードウェア(例えば回路)、コンピュータプログラム、或いはそれらの組み合わせ(例えば、コンピュータプログラムを読み込んで実行する一又は複数のCPU)によって実現することもできる。各コンピュータプログラムは、コンピュータマシンに備えられる記憶資源(例えばメモリ)から読み込むことができる。その記憶資源には、CD−ROMやDVD(Digital Versatile Disk)等の記録媒体を介してインストールすることもできるし、インターネットやLAN等の通信ネットワークを介してダウンロードすることもできる。
また、上述した物理リンク割当て制御部や監視部等のうちの少なくとも一つが、SASイニシエータ装置に搭載されていても良い。
本発明により、複数のSASターゲット装置のうちの特定のSASターゲット装置へのアクセスが集中しても、コンピュータシステムのスループットがなるべく落ちないようにすることができる。
以下、図面を参照して、本発明の一実施形態に係るコンピュータシステムが適用されたストレージシステムを例に採り説明する。
図1は、本発明の一実施形態に係るストレージシステムの構成例を示すブロック図である。以下、同種の要素には、同一の親番号を付し、同種の要素を個々に説明する場合には、親番号に子符号を付して説明する。
ストレージシステム100は、一又は複数(例えば2台)のホスト計算機101a、10bが接続されたSAN(ストレージエリアネットワーク)102に対し、FC(Fiber Channel)、SCSI(Small Computer System Interface)、SAS(Serial Attached SCSI)、IP(Internet Protocol)などのインタフェース103で接続することができる。また、ストレージシステム100は、例えば、管理端末104が接続された管理用ネットワーク106にも接続することができる。管理用ネットワーク106として、種々のネットワーク(例えばLAN(Local Area Network))を採用することができる。SAN102に代えて、他種のネットワークであってもよい。また、管理用ネットワーク106とSAN102は、一つの通信ネットワークであっても良い。
各ホスト計算機101a、101bは、例えば、CPU、メモリ、及び、ストレージシステム100との通信に用いるI/Oポートなどのハードウェア資源を備える計算機である。各ホスト計算機101a、101bは、SAN102を経由して、ストレージシステム100内のデータにアクセスすることができる。
管理端末104は、CPU、入出力装置、メモリ及びインタフェースなどのハードウェア資源を備える計算機である。管理端末104のCPUが、ストレージシステム管理プログラム105を実行することにより、ストレージシステム100を制御(例えば、構成情報取得等の操作指示)することができる。
ストレージシステム100は、データを記憶することができる複数のディスクドライブ114と、ディスクドライブ114を拡張接続するためのスイッチである一又は複数のSASエクスパンダ130と、ストレージシステム100を制御する一又は複数のストレージ制御コントローラ200とを備える。ディスクドライブ114は、ハードディスクドライブであるが、DVD(Digital Versatile Disk)ドライブ、CD(Compact Disk)ドライブなど他種のディスクドライブが採用されてもよい。SASエクスパンダ130に接続された物理リンク108には、異なるプロトコルを用いるディスクドライブ114を、同一の物理リンク108に接続できる。物理リンク108は、ドライブ114がサポートしているプロトコルのフレームを転送することができる。SASエクスパンダ130は、ハードウェア回路基盤で構成することができる。
図1には、三台のディスクドライブ114a、114b、114cと、2つのSASエクスパンダ130a、130bと、一つのストレージ制御コントローラ200とを例に採り示している。以下の説明では、その例を適宜に用いて説明する。また、以下の説明では、ストレージ制御コントローラ200を最上流とする。
2つのSASエクスパンダ130a、130bは、上流から下流にかけてカスケード接続されている。この例では、SASエクスパンダの数が2つなので、直列の接続となっているが、SASエクスパンダの数が3以上の場合には、SASエクスパンダ130aを先頭にして木構造となってもよい。
ストレージ制御コントローラ200と、その直下のSASエクスパンダ130aとは、複数の物理リンク108a、108b、108cで接続され、それら複数の物理リンク108a、108b、108cにより、一つのワイドリンク120aが形成されている。同様に、SASエクスパンダ130aと、SASエクスパンダ130bも、複数の物理リンク108d、108e、108fで接続されており、それら複数の物理リンク108d、108e、108fにより、ワイドリンク120bが形成されている。
各SASエクスパンダ130a、130bには、物理リンクが接続されるポート(以下、物理ポート)を識別するためにIDが割り当てられている。本実施形態では、SASエクスパンダ130aの物理ポート番号0は物理リンク108a、
SASエクスパンダ130aの物理ポート番号1は物理リンク108b、
SASエクスパンダ130aの物理ポート番号2は物理リンク108c、
SASエクスパンダ130aの物理ポート番号3は物理リンク108g、
SASエクスパンダ130aの物理ポート番号4は物理リンク108d、
SASエクスパンダ130aの物理ポート番号5は物理リンク108e、
SASエクスパンダ130aの物理ポート番号6は物理リンク108f、
にそれぞれ対応する。同様に、
SASエクスパンダ130bの物理ポート番号1は物理リンク108d、
SASエクスパンダ130bの物理ポート番号2は物理リンク108e、
SASエクスパンダ130bの物理ポート番号3は物理リンク108f、
SASエクスパンダ130bの物理ポート番号4は物理リンク108h、
SASエクスパンダ130bの物理ポート番号5は物理リンク108i、
にそれぞれ対応する。
SASエクスパンダ130aの物理ポート番号4〜6は、下流の物理ポートとして設定されており、SASエクスパンダ130bの物理ポート番号1〜3は、上流の物理ポートとして設定されている。SASエクスパンダ130bから見て、SASエクスパンダ130aは、上流のデバイスである。
複数のディスクドライブ114は、同種のプロトコルでの通信を行う(換言すれば同種のI/Fを有する)ディスクドライブのみで構成されていても良いし、異なるプロトコルのディスクドライブが混在していてもよい。後者の例としては、例えば、SCSI I/Fを有するディスクドライブ(以下、SCSIドライブ)と、ATA I/Fを有するディスクドライブ(以下、ATAドライブ)とが混在してもよい。SCSIドライブとしては、SAS I/Fを有するディスクドライブを採用することができる。ATAドライブとしては、SATA I/F(或いはPATA(Parallel ATA) I/F)を有するディスクドライブを採用することができる。なお、PATA I/Fのドライブが採用された場合、そのドライブとSASエクスパンダ130との通信では、シリアル伝送をパラレル伝送に変換する処理(PATAとSATAとの物理層変換)が行われる。
ディスクドライブ114は、ストレージシステム100内の冗長化を目的に、複数の物理ポートをもつこともある。例えば、ディスクドライブ114がSATAドライブの場合、冗長化を目的としてポート数を増やすために、SATAポートセレクタを、SASエクスパンダ130とSATAドライブと間に介在させる場合もある(なお、図1にはSATAポートセレクタを示していない)。
ディスクドライブ114aは、物理リンク108gを経由してSASエクスパンダ130aの物理ポート番号3に接続されている。ディスクドライブ114bは、物理リンク108hを経由してSASエクスパンダ130bの物理ポート番号4に接続されている。ディスクドライブ114cは、物理リンク108iを経由してSASエクスパンダ130bの物理ポート番号5に接続されている。
ディスクドライブ114b及び114cは、RAIDの法則に従うグループ(以下、RAIDグループ)140を構成している。一つのRAIDグループ140は、複数のディスクドライブ114で構成することができるが、それら複数のディスクドライブ114の各々は、一つのストレージ制御コントローラ200の配下において、一つのSASエクスパンダ130に接続されていても良いし、異なるSASエクスパンダ130に接続されていても良いし、或いは、異なるストレージ制御コントローラ200の配下にあっても良い。すなわち、RAIDグループ140は、複数のSASエクスパンダ130を跨いで構成することもできるし、複数のストレージ制御コントローラ200を跨いで構成することもできる。
SASエクスパンダ130は、記憶域(例えばメモリ)を備える。その記憶域には、ゾーン設定プログラム190、ダイレクトデバイステーブル195及びエクスパンダルートテーブル196が記憶される。ダイレクトデバイステーブル195には、そのテーブル195を有するSASエクスパンダ130に直接接続されているデバイスの情報が記録される。一方、エクスパンダルートテーブル196には、そのテーブル196を有するSASエクスパンダ130に間接接続されているデバイスの情報が記録される。テーブル195、196は、一体になっていてもよい。
ゾーン設定プログラム190は、ストレージ制御コントローラ200にあるSASエクスパンダ制御プログラム320(図3)からの指示により、ダイレクトデバイステーブル195及び/又はエクスパンダルートテーブル196の内容を変更し、それにより、ゾーン150の設定を変更することができる。ダイレクトデバイステーブル195、エクスパンダルートテーブル196及びゾーン150の詳細については後述する。
ストレージシステム100には、仮想的な一又は複数のゾーン150を設定することができる。ストレージシステム100は、ゾーン150の設定に基づいて、物理リンクの割当てを制御することができる。ゾーン150は、種々の条件に基づいて設定することができる。具体的には、例えば、ディスクドライブ114のプロトコル種類に基づいて、或いは、RAIDグループ140単位で、ゾーン150を設定することができる。
図1に例示するゾーン150aは、物理リンク108a及び108b、物理リンク108d及び108e、及び、物理リンク108h及び108iを含む。この場合、ストレージ制御コントローラ200がRAIDグループ140にアクセスする場合には、ワイドリンク120aでは、物理リンク108aと108bの何れかが用いられ、ゾーン150aに含まれない物理リンク108cは用いられない。
一方、図1に例示するゾーン150bは、物理リンク108c及び108gを含む。このため、ストレージ制御コントローラ200がディスクドライブ114aにアクセスする場合には、ワイドリンク120aでは、物理リンク108cのみが用いられ、ゾーン150aに含まれない物理リンク108a及び108bは用いられない。
図2は、ストレージ制御コントローラ200の構成例を示すブロック図である。
ストレージ制御コントローラ200は、ホストI/Fコントローラ210、管理端末I/F211、RAID制御コントローラ212、メモリ213、およびSASコントローラ214を備える。ホストI/Fコントローラ210、SASコントローラ214、RAID制御コントローラ212及びメモリ213の少なくとも一つは、一つに限らず複数個あっても良い。
ホストI/Fコントローラ210は、図1のインタフェース103にてSAN102を経由してホスト101と通信可能に接続される。ホストI/Fコントローラ210は、ホスト計算機101とRAID制御コントローラ212との間の通信のプロトコル変換を制御することができる。
管理端末I/F211は、図1の管理用ネットワーク106を経由して管理端末104と通信可能に接続される。管理端末I/F211は、管理端末104とRAID制御コントローラ212との間の通信のプロトコル変換を制御することができる。
ホストI/Fコントローラ210、管理端末I/F211、メモリ213、およびSASコントローラ214は、それぞれ、バス220a、220b、220c、220dにて、RAID制御コントローラ212と接続している。バス220は、例えば、PCIやPCI-Express等である。
メモリ213は、制御プログラム300を格納しており、RAID制御コントローラ212に読み込まれて実行される。制御プログラム300の詳細については後述する。
SASコントローラ214は、SASエクスパンダ130とRAID制御コントローラ212との間の通信のプロトコル変換を制御することができる。SASコントローラ214は、ワイドポート250を有している。ワイドポート250は、2以上の物理ポートから構成されるポートであり、ワイドリンク120aを経由して、SASエクスパンダ130aに接続される。SASコントローラ214は、複数のワイドポート250を有していても良い。換言すれば、SASコントローラ214に複数のSASエクスパンダ130が接続される場合、SASコントローラ214は、ワイドポート250を複数個有することとなる。
RAID制御コントローラ212は、例えば、マイクロプロセッサ、データ転送を行うブリッジ(例えばLSI(Large Scale Integration))、及びRAID制御論理回路(例えば排他的論理和X-orエンジン)等を備えることができる。RAID制御コントローラ212内の、プロセッサやブリッジ、RAID制御論理回路等は、複数のチップに分割していてもよい。
ストレージ制御コントローラ200は、ホスト計算機101からライトコマンドを受けた場合、そのライトコマンドに従うデータをメモリ213に一旦記憶させ、メモリ213に記憶させたデータを、ディスクドライブ114に書くことができる。一方、ストレージ制御コントローラ200は、ホスト計算機101からリードコマンドを受けた場合、そのリードコマンドに従うデータをディスクドライブ114から読み出し、読み出したデータを一旦メモリ213に記憶させ、メモリ213に記憶させたデータを、ホスト計算機101に送信することができる。
図3は、制御プログラム300の構成例を示す。
制御プログラム300は、例えば、SASエクスパンダ制御プログラム320、RG/LU設定プログラム330、ゾーン構成制御プログラム340、性能監視プログラム350、バックグラウンド制御プログラム360及び障害処理プログラム370を有する。
SASエクスパンダ制御プログラム320は、SASエクスパンダ130内にあるダイレクトデバイステーブル195に対する問い合わせを発行し、それにより、ディスクドライブ114およびSASエクスパンダ130の物理的な実装位置を取得することができる。
また、SASエクスパンダ制御プログラム320は、下流の間接接続デバイスのアドレスを登録し、経路情報をエクスパンダルートテーブル196に設定することができる。間接接続デバイスとは、SASエクスパンダ130aのエクスパンダルートテーブル196aの場合、そのSASエクスパンダ130aの各物理ポートについて、その物理ポートに直接接続されているのではなく、その物理ポートから、少なくとも一つの他の物理ポートを介してアクセスすることのできるデバイスである。具体的には、図1の例で言えば、物理ポート番号0、1にとっての間接接続デバイスは、ディスクドライブ114b及び114cであり、物理ポート番号2にとっての間接接続デバイスは、ディスクドライブ114aである。従って、例えば、ディスクドライブ114b及び114cとのコネクションを確立するためには、SASエクスパンダ130aのエクスパンダルートテーブル196aに、ディスクドライブ114b及び114cに到達するための経路情報を登録する必要がある。
SASエクスパンダ制御プログラム320は、ワイドリンク120を構成する複数の物理リンク108の数、および、各物理リンクを識別するためのID(SASエクスパンダの物理ポート番号でも可)も取得し、ダイレクトデバイステーブル195に登録することができる。換言すれば、SASエクスパンダ130は、ワイドリンク120、および、ワイドリンク120を構成する物理リンク108の数および物理リンクを識別するためのIDを、SASエクスパンダのダイレクトデバイステーブル195に保持することができる。
RG/LU設定プログラム330は、RAIDグループ140を設定し、且つ、RAIDグループ140にLU(論理ユニット)を設定するためのプログラムである。LUは、論理ボリュームとも呼ばれる。ホスト計算機101は、LUを識別するためのIDであるLUN(論理ユニット番号)を指定したI/Oコマンドを発行する。ストレージ制御コントローラ200は、ホスト計算機101から指定されたLUNを用いて、そのLUNに対応するRAIDグループ140を特定し、特定したRAIDグループ140にアクセスすることができる。
ゾーン構成制御プログラム340は、ゾーン150の設定を変更するためのプログラムである。ゾーン構成制御プログラム340は、ワイドリンク120を構成する物理リンク108を、ディスクドライブ114又はRAIDグループ140に論理的に割り当てる設定を決定し、SASエクスパンダ130のゾーン設定プログラム190にゾーン変更を要求することができる。また、ゾーン構成制御プログラム340は、管理者によって操作されたストレージシステム管理プログラム105と協働することにより、ゾーン150の設定を管理者の手動により変更することもできる。
性能監視プログラム350は、ホスト計算機101又はバックグラウンド制御プログラム360のI/O要求を測定し、性能の統計情報を生成するためのプログラムである。性能監視プログラム350は、過去のI/O特性の履歴や測定した性能より、性能の統計情報を生成することができる。
バックグラウンド制御プログラム360は、バックエンドで実行されるコンピュータプログラムである。バックグラウンド制御プログラム360は、例えば、RAIDグループ140のコレクションコピーや、ディスクドライブ114間のデータの移動やコピー等、を実行するプログラムである。バックグラウンド制御プログラム360は、ストレージ内部にて実行するI/O処理に関するプログラムの総称である。以降、バックグラウンド制御プログラム360が実行するI/Oは、ホスト計算機101からのI/O要求に従って行われるI/Oではないため、内部I/Oと呼ぶこととする。また、データのコピー或いは移動は、ストレージシステム100内でのコピー或いは移動に限らず、例えば、外部のストレージシステム内のディスクドライブへのコピー(いわゆるリモートコピー)或いは移動であっても良い。
障害処理プログラム370は、ストレージシステム100の各種障害を検出するプログラムである。具体的には、例えば、障害処理プログラム370は、ワイドリンク120を構成する物理リンク108に障害が発生した場合にはそれを検出し、その障害に対応した処理を実行できるように構成されている。
次に、ダイレクトデバイステーブル195及びエクスパンダルートテーブル196について説明し、その際に、ゾーンの制御について説明する。
図4は、SASエクスパンダ130a内のダイレクトデバイステーブル195aの構成例及びそのテーブル195aに登録される情報を示す。図5は、SASエクスパンダ130b内のダイレクトデバイステーブル195bの構成例及びそのテーブル195bに登録される情報を示す。図6は、SASエクスパンダ130a内のエクスパンダルートテーブル196aの構成例及びそのテーブル196aに登録される情報を示す。図7は、SASエクスパンダ130b内のエクスパンダルートテーブル196bの構成例及びそのテーブル196bに登録される情報を示す。
ダイレクトデバイステーブル195は、SASエクスパンダ130に直接接続されているデバイス(ドライブ、SASコントローラ等)と、SASエクスパンダ130の物理ポート番号とを関連付けるためのテーブルである。また、ダイレクトデバイステーブル195には、ゾーン設定を管理するための情報も保持する。
図4について説明する。ダイレクトデバイステーブル195aのフィールド410には、SASエクスパンダ130aの複数の物理ポートにそれぞれ対応した複数の物理ポート番号が記録される。フィールド420には、SASエクスパンダ130aの各物理ポート毎に、その物理ポートに直接接続されているデバイスのSASに従うアドレス(以下、SASアドレス)が記録される。フィールド430には、SASエクスパンダ130aの各物理ポート毎に、通過が許可されているデバイス(以下、許可デバイス)のSASアドレスが記録される。許可デバイスは、ストレージシステム100のバックエンドにおけるアクセス元である。アクセス元は、上流から下流にかけてデータが送られるのか、或いは、下流から上流にかけてデータが送られるのかによって異なり、前者の場合はSASコントローラ214となり、後者の場合にはディスクドライブ114となる。故に、本実施形態では、許可デバイスは、SASコントローラ214かディスクドライブ114のいずれかとなる。
図1に例示した接続構成の場合、SASエクスパンダ130aの物理ポート番号0の物理ポートに直接接続されているデバイスは、SASコントローラ214である。よって、SASエクスパンダ130aは、フィールド420において、物理ポート番号0に対応する欄に、SASコントローラ214のSASアドレスを登録する。SASエクスパンダ130は、他の物理ポート番号についても同様に、図1に例示した接続構成を表す情報を登録する。
また、図1のゾーン150aの場合、SASエクスパンダ130aの物理ポート番号0を使用するデバイスは、ディスクドライブ144b及び144cのいずれかである。よって、ゾーン構成制御プログラム340は、物理ポート番号0に対応する許可デバイスとして、フィールド430に、ディスクドライブ144b及び144cのSASアドレスを登録する。ゾーン構成制御プログラム340は、他の物理ポート番号につても同様に、図1のゾーン150aおよびゾーン150bの通りに、各物理ポート番号に対応する許可デバイスのSASアドレスを登録する。なお、フィールド430におけるNULLは、許可デバイスが無いことを意味する。従って、SASエクスパンダ130aの物理ポート番号6のように、許可デバイスが全く存在しない場合には(図1参照)、許可デバイスの欄(フィールド430における欄)には、全てNULLが記録される。
また、ダイレクトデバイステーブル195aには、ワイドリンクとそのワイドリンクを構成する複数の物理リンクとを関連付けることができる。その際、そのワイドリンクが、このテーブル195aを有するSASエクスパンダ130aにとって上流側か否かを現す情報を設定することができる。これにより、SASエクスパンダ130aは、ディスクドライブ140からのデータをどのワイドリンクを介してより上流へと流せば良いのかを判別することができる。このテーブル195aによれば、ディスクドライブ144aへのI/Oを上流側の物理ポート番号2の物理ポートから受けた場合、SASエクスパンダ130aは、テーブル195aから、ディスクドライブ144aが物理ポート番号3の物理ポートに直接接続されていることがわかるので、物理ポート番号3の物理ポートからI/Oを出すことができる。
図5について説明する(その際、図4の説明との共通点については説明を省略或いは簡略する)。
図5のテーブル195bにも、図1に例示した接続構成を表す情報が登録される。すなわち、例えば、SASエクスパンダ130bの物理ポート番号0の物理ポートに直接接続されているのはSASエクスパンダ130aなので、その物理ポート番号0に対応する、フィールド410における欄には、SASエクスパンダ130aのSASアドレスが登録される。また、例えば、例えば、SASエクスパンダ130bの物理ポート番号5,6の物理ポートに直接接続されているデバイスは存在しないので、その物理ポート番号5,6にそれぞれ対応する、フィールド410における欄には、NULLが登録される。このテーブル195aによれば、ディスクドライブ144bへのI/Oを上流側の物理ポート番号1の物理ポートから受けた場合、SASエクスパンダ130bは、テーブル195bから、ディスクドライブ144bが物理ポート番号3の物理ポートに直接接続されていることがわかるので、物理ポート番号3の物理ポートからI/Oを出すことができる。
以上の通り、本実施形態では、ダイレクトデバイステーブル195には、そのテーブル195を有するSASエクスパンダ130の各物理ポート毎に、物理ポート番号(他種のIDであっても良い)と、その物理ポートに直接接続されているデバイスを表すSASアドレス(他種の情報であっても良い)と、その物理ポートを経由することが許可されたアクセス元デバイスを表すSASアドレス(他種の情報であっても良い)とが記録される。
次に、エクスパンダルートテーブル196について説明する。エクスパンダルートテーブル196は、そのテーブル196を有するSASエクスパンダ130の下流側に間接接続されている(少なくとも一つの物理ポートを隔てて接続されている)デバイスの情報を保持するテーブルである。SAS規格におけるSubtractive属性を指定したSASエクスパンダ130のワイドポート250(Logical port)を、以降「下流ワイドポート」と呼び、また、SAS規格におけるTable属性を指定したSASエクスパンダ130のワイドポートを、以降「上流ワイドポート」と呼ぶこととする。エクスパンダルートテーブル196の登録内容については、SAS規格のエクスパンダルートテーブルの通り、或るSASエクスパンダ130の下流ワイドポートに別のSASエクスパンダ130が接続され、間接接続デバイスがその別のSASエクスパンダ130に接続されている場合に、SASエクスパンダ制御プログラム320は、上流のSASエクスパンダ130のエクスパンダルートテーブル196に、間接接続デバイスのSASアドレスを登録する必要がある。
図6について説明する。図1において、SASエクスパンダ130aは、SASエクスパンダ130aの下流ワイドポートにSASエクスパンダ130bが接続されているため、SASエクスパンダ制御プログラム320は、エクスパンダルートテーブル196aの、ワイドリンク120aを構成する各物理ポートの番号に対応するフィールド510に、図1のワイドリンク120aを経由してアクセスする間接接続デバイス(ディスクドライブ144b、144c)のSASアドレスを登録する(なお、図6において「Physical Phy」とは、物理ポートを表す)。このテーブル196aによれば、ディスクドライブ144bへのI/Oを上流から受けた場合、SASエクスパンダ130aは、テーブル195a及び196aから、ディスクドライブ144bは間接接続デバイスであり、下流側の物理ポート番号4又は5に割り当てられていることがわかるので、物理ポート番号4又は5の物理ポートからI/Oを出すことができる。
図7について説明する。図1において、SASエクスパンダ130bは、SASエクスパンダ130bの下流ワイドポートに他のSASエクスパンダ130が接続されていない。そのため、エクスパンダルートテーブル196bのフィールド510は、全て未登録となる。
以上、図4〜図7に例示した各テーブル構成により、例えば、ストレージ制御コントローラ200から各ディスクドライブ114へのアクセスの制御を行うことができる。以下、それについて、図21を参照し、適宜に、図1、図2及び図4〜図7を更に参照して説明する。
ストレージ制御コントローラ200が、所望のディスクドライブ114にアクセスする場合、コネクション確立のための所定のフレーム(以下、オープンアドレスフレーム)を発行し、その後、コネクション確立を表す応答を受けた場合に、その所望のディスクドライブ114にアクセスすることができるようになる。
具体的には、例えば、ストレージ制御コントローラ200が、ディスクドライブ(以下、ここではSASターゲット装置)114bにデータを書く場合、まず、制御プログラム300が、フレーム(書込み要求及び書込み対象データを含んだフレーム)を送信することの要求を、SASコントローラ(以下、ここではSASイニシエータ装置)214に送信する(S0)。SASイニシエータ装置214は、その要求を受け、ワイドポート250の任意の物理ポート番号の物理ポートから、SASターゲット装置114bに対するオープンアドレスフレームを発行することにより、コネクション確立を試みる(S1)。この段階において、SASイニシエータ装置214は、所定の規則に従って物理ポート番号を指定するようになっており、SASプロトコルの制約上、その規則に従わない方法で物理ポート番号を選択することはできない。例えば、その規則が、物理ポート番号を若い順に指定することになっていれば、SASイニシエータ装置214は、まず、物理ポート番号0の物理ポートからオープンアドレスフレームを発行するようになっており、その規則を無視して、初回から、例えば物理ポート0, 1がコネクション確立していない状態で物理ポート番号2の物理ポートからオープンアドレスフレームを発行することはできない。
SASエクスパンダ130aは、オープンアドレスフレームを受けた場合、エクスパンダルートテーブル196aを参照し、SASターゲット装置114bとコネクション確立するための経路を調べる(S2)。ここで、SASエクスパンダ130aは、複数の物理ポートをワイドポートで備えている場合、他のコネクションやゾーン設定によって使用できない物理ポートを除いて、空いている物理ポートのうち若い番号を選択する。
SASエクスパンダ130aは、ダイレクトデバイスルートテーブル195aやエクスパンダルートテーブル196aを参照した結果、経路が見つからない、ターゲットがいない、ゾーン未登録で接続不可のいずれか一つにでも該当した場合、OPEN REJECTエラーをSASイニシエータ装置214に返答する。SASイニシエータ装置214は、OPEN REJECTエラーを受領した場合(S4)、そのエラーに含まれている情報、例えば、SASターゲット装置のアドレスエラー、又は、ゾーン未割り当てによるコネクション確立不可を制御プログラム300に送信し、制御プログラム300がそれを受領する(S6)。ゾーン未割り当てによるコネクション確立失敗の場合は、SASのPrimitiveと呼ばれる信号に新たにゾーン未割り当てによるコネクション確立失敗を意味するPrimitiveを定義し、SASエクスパンダが新たに定義した前記Primitiveを発行することにより、ゾーン未割り当てによるコネクション確立不可を識別することもできる。
この段落での一連の処理は、例えば、SASエクスパンダ130aが物理ポート番号2の物理ポートを介してオープンアドレスフレームを受けた場合に行われる。ダイレクトデバイスルートテーブル195aには、物理ポート番号2に対応した欄に、ディスクドライブ114bのSASアドレスは登録されておらず、且つ、エクスパンダルートテーブル196aにも、物理ポート番号2に対応した欄に、ディスクドライブ114bのSASアドレスは登録されていないためである。
S2において、経路が見つからない、ターゲットがいない、ゾーン未登録で接続不可のいずれにも該当しないが、ワイドポートを構成する全物理ポートが他のコネクションにて使用中の場合、SASエクスパンダ130aが、OPEN REJECTをSASイニシエータ装置214に返答する。SASイニシエータ装置214は、それを受領した場合(S5)、再度S1を行う。リトライ回数およびリトライに要する時間は、SASイニシエータ装置214が管理しており、閾値に達するとリトライ失敗を制御プログラムに通知する。
S2において、経路が見つからない、ターゲットがいない、ゾーン未登録で接続不可のいずれかにも該当せず、且つ、見つかった経路に従う空き物理ポートがある場合、SASエクスパンダ130aは、その空き物理ポートを選択し、アドレスフレーム入力側のSASエクスパンダの物理ポートと前記空き物理ポートの経路を確定させて(SASエクスパンダの内部スイッチングが確定)、選択した空き物理ポートを介して、下流のSASエクスパンダ130bに、アドレスフレームを転送する(S3)。これにより、SASエクスパンダ130bでも、SASエクスパンダ130aと同様のS2の処理が行われ、SASターゲット装置114bが見つかった場合に、SASエクスパンダ130bとSASターゲット装置114bとの間で通信が行われ、コネクション確立となる(S7)。SASターゲット装置114bは、OPEN Acceptを発行し、OPEN Acceptは、SASイニシエータ装置214とSASターゲット装置114bとの間で確立されたコネクション(経路)を通って、SASイニシエータ装置214に届く(S8)。SASイニシエータ装置214は、OPEN Acceptの受領に応答して、S1で受けたフレーム送信要求に従うフレームをSASターゲット装置114bに転送する(S9)。SASターゲット装置114bは、フレームを受領した場合(S10)、ACKを返す。SASイニシエータ装置214が、ACKを受領し(S11)、フレーム転送の必要がなくなった場合、コネクション終了シーケンスを実施し(S12)、全てのSASエクスパンダの物理ポートを解放することで、コネクションを終了する。
以上が、コネクション確立の際に行われる処理の流れの一例である。SASターゲット装置からSASイニシエータ装置にデータが送られる場合には、上記のSASターゲット装置がSASイニシエータ装置にコネクション要求を出して、フレームをSASターゲット装置からSASイニシエータ装置に転送する。コネクション要求がSASターゲット装置から実施される点をのぞき、図21のシーケンス図と同様のため、説明を省略する。
さて、以下、本実施形態に係るストレージシステム100で行われる処理の流れの一例を説明する。
図8は、ストレージシステムの立ち上げ時に行われる処理の流れの一例を示す。なお、図において、「RG」とは、RAIDグループを意味する。
RG/LU設定プログラム330が、設定済みのRAIDグループ140の情報を取得する(ステップ400)。その情報は、例えば、RAIDグループ管理テーブル509から取得することができる。RAIDグループ管理テーブル509には、各RAIDグループ毎に、そのRAIDグループを表す番号と、そのRAIDグループを構成するディスクドライブ114のプロトコル種類とが記録されている。図示しないが、その他に、各RAIDグループ毎に、RAIDグループを構成するディスクドライブを表す番号や、そのRAIDグループ上に設定されたLUのLUNなど、他種の情報も記録されても良い。
ゾーン構成制御プログラム340が、全RAIDグループ140に対応するゾーン150を初期化し(例えば、各RAIDグループ毎に、一つのゾーン150を設定する)(ステップ410)、各ゾーン150に、物理リンクを割り当てる(ステップ415)。
なお、この立ち上げ時において、あらかじめ管理端末104にて、プロトコルの種別によって使用する物理リンクを分ける指示があった場合は、ステップ415において、ゾーン構成制御プログラム340は、プロトコルの種別によってゾーン150をオーバラップしないように分割する。図1の例では、 ゾーン150aは、ワイドリンク120aを構成する物理リンク108a、108bを含み、ゾーン150bは、ワイドリンク120aを構成する物理リンク108cを含み、お互いのゾーンで共有する物理リンク108はないようにゾーン150を設定している。ワイドリンク120を構成する物理リンクの数は、種々の条件、例えば、RAIDグループ140を構成するドライブ種別、ドライブの性能、ドライブの台数、性能監視プログラム350にて監視しているRAIDグループ140のI/O要求性能の統計情報などを用いて算出することができる。
図9は、ゾーン150に割り当てている物理リンク108の数を変更する処理の流れの一例を示す。
管理端末104からの指示により、性能監視プログラム350が、実行を開始する。性能監視の指示が来た場合は、性能監視プログラム350が、各RAIDグループ140に対する性能の統計情報取得を実行開始し、ステップ520に進む。指示が来ない場合は、ステップ510のまま指示を待つ。なお、ここで言う「性能」とは、単位時間当たりに転送されるデータサイズである。
ステップ520にて、管理端末104から性能監視終了の指示が来たら、性能監視プログラム350が、実行を終了し、フローを終了する。終了指示のない場合は、ステップ530に進む。
ステップ530にて、性能の統計情報により、監視対象の或るRAIDグループ140の性能閾値をオーバーした場合は、ステップ600にすすみ、ステップ600が終了したら、ステップ520に戻る。ステップ530にて用いる性能閾値は、例えば、ゾーン150に含む物理リンク108の数に基づいて定められた値である。
図10は、図9のステップ600で行われる処理の流れの一例を示す。
ステップ610にて、性能監視プログラム350が、必要となる物理リンク108の数を、性能統計情報に基づいて算出する。具体的には、例えば、性能閾値をオーバーした性能に適した数、或いは、性能統計情報から推測される今後の最大性能に適した数の物理リンク108の数を算出する。
ステップ630にて、ゾーン構成制御プログラム340は、変更するゾーン150に、さらに物理リンク108を追加できるか否かを判断する。さらに物理リンクを追加できる場合は、ステップ640に進み、追加できない場合は、ステップ650に進む。ここで、追加できる場合とは、例えば、どのゾーンにも割り当てられていない物理リンク(或いは、既にゾーンに割当て済みであって、他のゾーンに更に割り当てられても構わない物理リンク)が存在する場合であり、追加できない場合とは、ゾーンに割り当てられていない物理リンク(或いは、ゾーンに割当て済みであって、他のゾーンには割り当てられない物理リンク)が存在しない場合である。
ステップ640にて、ゾーン構成制御プログラム340は、変更するゾーンのワイドリンク120が別のゾーン150とシェアしている場合(例えば、図1に例示したように、二つのゾーン150a、150bに一つのワイドリンク120aがシェアされている場合)、別のRAIDグループ140(或いはディスクドライブ114)に関する性能情報を考慮して、別のRAIDグループ140(或いはディスクドライブ114)の性能に悪影響を与えないように、変更対象のゾーン150のワイドリンク120に追加できる物理リンク108の数を算出する。
ステップ650にて、ゾーン構成制御プログラム340は、物理リンク108を割り当てたいゾーン150とは別のゾーン150が物理リンク108をシェアしているか否かを判断する。シェアしている場合は、ゾーン構成制御プログラム340は、別のゾーン150の物理リンク108の数が最小値(1つの物理リンク108のみを含む)であるか否かをチェックする。最小値ではない場合は、ゾーン構成制御プログラム340は、別ゾーン150の物理リンク108数を減少する余地があるため、ステップ660に進む。最小値の場合は、すべてのゾーン150を変更することができないため、ステップ680に進む。
ステップ660にて、ゾーン構成制御プログラム340は、別のゾーン150について削減する物理リンク数を算出し、ステップ670に進む。
ステップ670にて、ゾーン構成制御プログラム340は、ゾーン150における物理リンク108の数を変更する。
このステップ670について、ゾーン150に物理リンクを加える場合を例に採り説明する。例えば、ゾーン構成制御プログラム340は、図1において、物理リンク108aがRAIDグループ140(ディスクドライブ114b、114cの集合)に対して未割り当てになっている場合に、物理リンク108aをRAIDグループ140に割り当てるならば、SASエクスパンダ130aに対し、物理リンク追加指示を発行する。その物理リンク追加指示には、SASエクスパンダ130aの物理ポート番号0と、割当て対象のデバイスのアドレス(ディスクドライブ114b、114cのそれぞれのSASアドレス)とが含められる。ゾーン設定プログラム190aが、その物理リンク追加指示に従って、ダイレクトデバイステーブル195aの物理ポート番号0に対応した、フィールド430の欄に、割当て対象のデバイスのアドレス(ディスクドライブ114b、114cのそれぞれのSASアドレス)を記録する。さらに、ゾーン設定プログラム190aは、エクスパンダルートテーブル196aの物理ポート番号0に対応した欄に、ディスクドライブ114b、114cのそれぞれのSASアドレスを記録する。
ステップ670について、割当て済みの物理リンクをゾーン150から削除する場合を例に採り説明する。例えば、ゾーン構成制御プログラム340は、図1において、物理リンク108aがRAIDグループ140(ディスクドライブ114b、114cの集合)に対して割当て済みになっている場合に、その物理リンク108aの割当てを解除するならば、SASエクスパンダ130aに対し、物理リンク削除指示を発行する。その物理リンク削除指示には、SASエクスパンダ130aの物理ポート番号0と、割当て解除対象のデバイスのアドレス(ディスクドライブ114b、114cのそれぞれのSASアドレス)とが含められる。ゾーン設定プログラム190aが、その物理リンク削除指示に従って、ダイレクトデバイステーブル195aの物理ポート番号0に対応した、フィールド430の欄から、ディスクドライブ114b、114cのそれぞれのSASアドレスを削除し、NULLを記録する。さらに、ゾーン設定プログラム190aは、エクスパンダルートテーブル196aの物理ポート番号0に対応した欄から、割当て解除対象のデバイスのアドレス(ディスクドライブ114b、114cのそれぞれのSASアドレス)を削除し、未登録とする。
以上のように、物理リンクを割り当てたりその割当てを解除したりする処理は、割当て対象或いは割当て解除対象の物理リンクを有するSASエクスパンダ130における、ダイレクトデバイステーブル195及びエクスパンダルートテーブル196のうちの少なくとも一方に対し、物理リンクの割当て対象となるデバイス(SASターゲット)の情報を追加、或いは、物理リンクの割当て解除対象となるデバイスの情報を削除することである。制御プログラム300は、ストレージ制御コントローラ200の下流に存在するSASエクスパンダ130や、各SASエクスパンダ130の物理ポート番号を把握している(例えば、全てのSASエクスパンダ130のSASアドレスや、各SASエクスパンダ130の物理ポート番号を保持している)。制御プログラム300は、割当て対象或いは割当て解除対象の物理リンクを有するSASエクスパンダ130に対して、その物理リンクが接続されている物理ポートの物理ポート番号や、その物理ポート番号に新たに対応付ける或いはその物理ポート番号から削除するSASアドレスなどを指定することができる。全てのSASアドレスを削除する場合には、SASアドレスに代えてその旨を指定しても良い。
さて、ステップ680にて、ゾーン構成制御プログラム340は、性能が必要と判定されたゾーン150、および、そのゾーン150とシェアしているいかなるゾーン150について、物理リンク108の変更ができないため、ゾーン150の変更ができない旨を管理端末104に通知する。
図11は、ゾーン状態管理テーブル700の構成例を示す。なお、この図において、「RG」とは、RAIDグループを表し、「WL」とは、ワイドリンクを表し、「phy」とは、物理ポートを表す。
このゾーン状態管理テーブル700は、例えば、制御プログラム300が保持するテーブルであり、例えば、以下の情報を含む。各情報について説明する。
RG番号710は、RAIDグループ140の識別番号である。ドライブ種別720は、RAIDグループ140を構成するドライブの種別である(例えば、プロトコルの種別や、性能差のあるドライブであるか否かなどの他種の情報を含んでもよい)。LU番号730は、RG番号710に対応するデータを格納する論理的なユニットの番号のリストである。ゾーン番号740は、RAIDグループ140に対応するゾーン150の識別番号である。性能の統計情報750は、性能監視プログラム350にて取得した性能の統計情報を保持している。性能の閾値760は、オーバーラップしているゾーン150の情報790に基づいて計算産された値(閾値)である。この値を超えたI/O要求がホストから来る場合は、図9のステップ530にて閾値オーバーし、ゾーン150変更のフロー600を実行する。WLを構成する物理ポート番号770は、ワイドリンク120を構成するSASエクスパンダ130の物理ポート番号を格納している。ワイドリンク部分障害発生780は、ワイドリンク120を構成する物理リンク108の一部が障害発生した場合に、どの 物理リンク108に障害が発生したかを登録するリストである。正常状態または障害から回復したときには「未発生」として登録する。
制御プログラム300は、例えば、管理端末104のストレージシステム管理プログラム105からの要求に応答して、このテーブル700を管理端末104に提供することができる。ストレージシステム管理プログラム105は、そのテーブル700が表す情報を、管理端末104の表示装置に表示させることができる。
さて、以下、本実施形態で物理リンクの割当て変更が行われるケースの幾つかの例を説明する。なお、上記の説明から分かるように、一つのワイドリンクを構成する複数の物理リンクを、複数のゾーンに振り分けることができるが、以下、一つのゾーンにおける、一つのワイドリンク内の一以上の物理リンクを、「サブワイドリンク」と呼ぶことにする。
図12Aは、物理リンクの割当て変更が行われる第一のケースにおける割当て変更前の物理リンクの割当てを示す図であり、図12Bは、その割当て変更後の物理リンクの割当てを示す図である。
物理リンクの割当て変更前は、図12Aに例示するように、一つのRAIDグループ140に、一つのゾーン150が割り当てられているとする(例えば140aに対して150aが、140bに対して150bが割り当てられているとする)。また、RAIDグループ140aと140bとでは、各々を構成するドライブの種別が異なるものとする(例えば、140aは、SASドライブの集合であり、140bは、SATAドライブの集合であるとする)。一つのワイドリンク120が、4本の物理リンクで構成されているとする。そして、ゾーン150aのサブワイドリンク内の物理リンクも、ゾーン150bのサブワイドリンク内の物理リンクも、2本であるとする。
この場合において、性能監視プログラム350が、ホスト計算機101aからのI/O要求が、ホスト計算機101bからのI/O要求に比して、サステイン性能を必要としていると判断したとする。その場合、性能監視プログラム350は、ゾーン150aに対して、ワイドリンク120を構成する物理リンク108の数を多く設定する必要があると判断する。
そこで、ゾーン構成制御プログラム340は、図12Bに示すように、ゾーン150bのサブワイドリンク内の物理リンクを1本減らし、その分を、ゾーン150aのサブワイドリンクに追加する。ここでは、ゾーン構成制御プログラム340が、ゾーン150aとゾーン150bがオーバーラップしないように、物理リンクの割当て変更を行っている。RAIDグループ140aとRAIDグループ140bのドライブ種別の違いをみて、ゾーン150aとゾーン150bをオーバーラップしないように判断したためである。
これにより、制御プログラム300が、ワイドリンク120を構成する複数の物理リンクを、ドライブまたはRAIDグループに対して割り当てることができる。物理リンクを割り当てる数は、ホストからのI/O要求の要求性能(換言すれば負荷)の増大を監視し、物理リンクの割り当て制御をすることで、ストレージシステム内の帯域保証を実現することができる。また、ドライブの種別の違いによって生じるスループット性能への影響を緩和することができる。
図13は、物理リンクの割当て変更が行われる第二のケースにおける割当て変更前の物理リンクの割当てを示す図であり、図14は、その割当て変更後の物理リンクの割当てを示す図である。
物理リンクの割当て変更前は、図13に例示するように、一つのRAIDグループ140に、一つのゾーン150が割り当てられているとする。一つのワイドリンク120が、5本の物理リンクで構成されているとする。そして、ゾーン150aのサブワイドリンク内の物理リンクが1本であり、ゾーン150bのサブワイドリンク内の物理リンクが2本であり、ゾーン150cのサブワイドリンク内の物理リンクが2本であるとする。バックグラウンド制御プログラム360により、RAIDグループ140bからRAIDグループ140cへのデータコピーが行われているとする(つまり、RAIDグループ140bからデータを読み、読み出したデータをRAIDグループ140cに書込む処理が行われているとする)。
この場合において、性能監視プログラム350が、図14に示すように、ホスト計算機101からのRAIDグループ140aに対するI/O要求があった(又はそのI/O要求での要求性能が所定閾値をオーバーした)と判断したとする。
そこで、ゾーン構成制御プログラム340が、図14に示すように、ゾーン150bのサブワイドリンク内の物理リンクを1本減らし、且つ、ゾーン150cのサブワイドリンク内の物理リンクも1本減らし、それらの分を、ゾーン150aのサブワイドリンクに追加する。
これにより、ホストからのI/O要求での性能をなるべく満足させるための帯域保証をストレージシステム内で実現することができる。なお、ゾーン150b及び150cの両方のサブワイドリンクから物理リンクの数を減らしたが、もし、内部I/Oでも、ホスト計算機101からのI/O要求と同程度の性能が要求されている場合には、両方のサブワイドリンクから減らさなくても良い。減らしたり追加したりする物理リンク数は、上述したように、それぞれのI/Oで要求される性能、或いは、ドライブ種別に応じた適切な値にすることができる。
図15Aは、物理リンクの割当て変更が行われる第三のケースにおける割当て変更前の物理リンクの割当てを示す図であり、図15Bは、その割当て変更後の物理リンクの割当てを示す図である。
物理リンクの割当て変更前は、図15Aに例示するように、一つのRAIDグループ140に、一つのゾーン150が割り当てられているとする。一つのワイドリンク120が、4本の物理リンクで構成されているとする。そして、ゾーン150aのサブワイドリンク内の物理リンクが3本であり、ゾーン150bのサブワイドリンク内の物理リンクが1本であるとする。これにより、ホスト計算機101aからのRAIDグループ140aに対するI/O要求も、ホスト計算機101bからのRAIDグループ140bに対するI/O要求も処理することができるようになっている。
この場合において、障害処理プログラム370が、ゾーン150bのサブワイドリンクを構成する物理リンクに障害が発生したことを検出したとする。このままでは、ストレージ制御コントローラ200からRAIDグループ140bにアクセスすることはできず、故に、ホスト計算機101bからのI/O要求も処理することができない。
そこで、ゾーン構成制御プログラム340が、ゾーン150bのサブワイドリンクを、障害発生前と同じ状態に戻すように、物理リンクの割当て変更を行う。具体的には、図15Bに示すように、ゾーン構成制御プログラム340が、ゾーン150aのサブワイドリンク内の物理リンクを1本減らし、その分を、ゾーン150bのサブワイドリンクに追加する。
これにより、ワイドリンクを構成する物理リンクに障害が発生しても、物理リンク数の割り当てを修正することで、ディスクドライブ又はRAIDグループへのアクセスパスを維持することができる。
ところで、上述した実施形態では、以下のようなことを行っても良い。
例えば、図16に例示するように、一つのゾーン150aに複数のRAIDグループ140a、140bが対応付けられても良い。この場合、ストレージ制御コントローラ200は、ワイドリンク120において、RAIDグループ140aに対する物理リンクの数と、RAIDグループ140bに対する物理リンクの数は、ゾーン150aのサブワイドリンクの範囲内で、割当て変更し、他のゾーン150bのサブワイドリンク内の物理リンクをゾーン150aのサブワイドリンクに追加しないようにしてもよい。また、ゾーン150aのサブワイドリンクの範囲内で、割当て変更する際には、そのゾーン150aに属する他のRAIDグループ140bに悪影響を与えないような範囲で、RAIDグループ140aに割り当てる物理リンクの数を調整することができる。悪影響を与えないような範囲の下限として、例えば、RAIDグループ140bに対する要求性能を満たさなくならない数を下限とすることができる。
また、前述したかもしれないが、図17に例示するように、複数のゾーン150a、15bが、ワイドリンク120において重複していてもよい。すなわち、図17の例によれば、ストレージ制御コントローラ200は、ワイドリンク120から、RAIDグループ140aにも別のRAIDグループ140bにもアクセスすることができる。
また、図18に例示するように、ゾーンという概念が無くても良い。図18の例によれば、ワイドリンク120における複数の物理リンクのうちの何本の物理リンクをどのRAIDグループ140(或いはディスクドライブ)に対して割り当てるかが制御される。
また、図19に例示するように、ストレージシステム100の外部のアクセス元1000a、1000bに優先度を設定しておき、RAIDグループ(或いはディスクドライブ)に対して割当てる物理リンクの数は、アクセス先RAIDグループ(或いはディスクドライブ)の外部アクセス元の優先度の高さに基づいて決定されても良い。具体的には、例えば、優先度として大と小の2種類がある場合には、ストレージ制御コントローラ200は、ワイドリンク120において、優先度が大の外部アクセス元1000aからのアクセス先RAIDグループ140aに対し、優先度が小の外部アクセス元1000bからのアクセス先RAIDグループ140bに比して、2倍の数の物理リンクを割り当てることができる(例えば、140aに対して4本の物理リンクを割当て、140bに対して2本の物理リンクを割り当てることができる)。なお、この変形例において、外部アクセス元とは、ホスト計算機101或いはそのホスト計算機101内のアプリケーションプログラム(オペレーティングシステム上で動作するコンピュータプログラム)である。ストレージ制御コントローラ200は、各外部アクセス元毎に、その外部アクセス元の優先度を表す情報をメモリに記憶しておくことができる。ストレージ制御コントローラ200は、例えば、外部アクセス元とのコネクションを確立する際、或いはI/O要求を受信した際に、外部アクセス元を特定し、特定された外部アクセス元に対応する優先度をメモリから検出することで、上記のような、特定された外部アクセス元のアクセス先に割り当てる物理リンク数の変更を実行することができる。
また、図20に例示するように、ストレージ制御コントローラ200は、ワイドリンク120において、RAIDグループ140b(或いはディスクドライブ)に対して割り当てる物理リンクの数をゼロとしてもよい。そうすると、RAIDグループ140b(或いはディスクドライブ)にはストレージ制御コントローラ200からアクセスできなくなるが、これにより、RAIDグループ140b内のデータが更新されたりRAIDグループ140aからデータが読まれないようにすることができる。すなわち、RAIDグループ140bに高いセキュリティレベルが求められる場合には、上記のように物理リンクの数をゼロとすることにより、RAIDグループ140b内のデータを保護することができる。なお、この方法に代えて、RAIDグループ140bとSASエクスパンダ130とを接続する物理リンクの割当てを解除しても良いが、上記のように、ワイドリンク120における物理リンクをゼロとした方が、その分、他のRAIDグループ(或いはディスクドライブ)に割当て可能な物理リンク数が増えるので、望ましいと考えられる。また、上記の説明では、RAIDグループのセキュリティレベルと言っているが、RAIDグループを構成するディスクドライブ、或いはLUのセキュリティレベルであっても良い。
以上、本発明の好適な実施形態及び幾つかの変形例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施形態及び変形例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
例えば、上述したストレージシステムは、サーバシステムにも適用することができる。その際、例えば、ストレージ制御コントローラ200を、サーバマシン(例えばいわゆるブレードサーバ)とすることができる。
また、例えば、複数のディスクドライブは、筐体に搭載することができ、性能監視プログラム350が、その筐体の資源(例えばディスクドライブ)を定期的に監視するための資源監視コマンドを、所定の宛先に定期的に発行することで、その資源を定期的に監視しても良い。その際、その資源監視コマンド専用のゾーンが設けられても良い。それにより、ディスクドライブに対するI/O要求の処理の際に利用される物理リンクと、資源監視コマンドの発行に利用される物理リンクとを分離することができ、以って、ホスト計算機からのI/O要求に影響をなるべく与えないように、資源監視を行うことができる。
また、例えば、本発明の実施形態に係るコンピュータシステム(例えばストレージシステム)は、SAS I/Fを用いていることを前提としているが、SAS ワイドリンクに相当した機能を有する将来のI/Fにも本発明の実施形態を適用することもできる。
また、例えば、上述した説明において、割当て制御される「物理リンク」は、「論理リンク」であっても良い。論理リンクについても、上述の物理リンクと同様に、ダイレクトデバイステーブルやエクスパンダルートテーブルにより、管理することができる。論理リンクとは、一つの物理リンクを時分割することにより形成されたリンクである。具体的には、例えば、遅い転送レート(例えば1.5Gbps)と早い転送レート(例えば3Gbps)が混在しているコネクションにおける転送の場合、速度の速い物理リンク(例えば3Gbps)を時分割して、或る時間を、転送状態とし、他の時間を、本来は転送が可能であるが、無転送状態とすることができる。より具体的には、例えば、図22に例示するように、物理リンクを2つ、または、4つに時分割し、転送レートの遅い複数の論理リンクを、1つの物理リンクに束ねることで、低速で多台数のディスクドライブが接続されている環境にて、同時に複数の低速なコネクションを同時に確立することで、システム全体の転送速度を稼ぐことが実現することができる。各論理リンクについても、ダイレクトデバイステーブルおよびエクスパンダルートテーブルの物理ポート(phy)を示すインデックスを、論理phyのテーブルにすることにより、前述したゾーニング制御(各ゾーンに論理リンクを割り当てて制御)をすることができる。
図1は、本発明の一実施形態に係るストレージシステムの構成例を示すブロック図である。 図2は、ストレージ制御コントローラ200の構成例を示すブロック図である。 図3は、制御プログラム300の構成例を示す。 図4は、SASエクスパンダ130a内のダイレクトデバイステーブル195aの構成例及びそのテーブル195aに登録される情報を示す。 図5は、SASエクスパンダ130b内のダイレクトデバイステーブル195bの構成例及びそのテーブル195bに登録される情報を示す。 図6は、SASエクスパンダ130a内のエクスパンダルートテーブル196aの構成例及びそのテーブル196aに登録される情報を示す。 図7は、SASエクスパンダ130b内のエクスパンダルートテーブル196bの構成例及びそのテーブル196bに登録される情報を示す。 図8は、ストレージシステムの立ち上げ時に行われる処理の流れの一例を示す。 図9は、ゾーン150に割り当てている物理リンク108の数を変更する処理の流れの一例を示す。 図10は、図9のステップ600で行われる処理の流れの一例を示す。 図11は、ゾーン状態管理テーブル700の構成例を示す。 図12Aは、物理リンクの割当て変更が行われる第一のケースにおける割当て変更前の物理リンクの割当てを示す図である。図12Bは、その割当て変更後の物理リンクの割当てを示す図である。 図13は、物理リンクの割当て変更が行われる第二のケースにおける割当て変更前の物理リンクの割当てを示す図である。 図14は、その割当て変更後の物理リンクの割当てを示す図である。 図15Aは、物理リンクの割当て変更が行われる第三のケースにおける割当て変更前の物理リンクの割当てを示す図である。図15Bは、その割当て変更後の物理リンクの割当てを示す図である。 図16は、本発明の一実施形態の第一の変形例の説明図である。 図17は、本発明の一実施形態の第二の変形例の説明図である。 図18は、本発明の一実施形態の第三の変形例の説明図である。 図19は、本発明の一実施形態の第四の変形例の説明図である。 図20は、本発明の一実施形態の第五の変形例の説明図である。 図21は、SASターゲット装置とSASイニシエータ装置との間でコネクション確立のための処理流れの一例を示す。 図22は、一つのワイドリンクに物理リンクと論理リンクとが混在している例を示す。
符号の説明
100:ストレージシステム 101:ホスト計算機 102:SAN(ストレージエリアネットワーク) 103:インタフェース 104:管理端末 105:ストレージシステム管理プログラム 106:管理用ネットワーク 108:物理リンク 114:ディスクドライブ 120:ワイドリンク 130:SASエクスパンダ 140:RAIDグループ 150:ゾーン 190:ゾーン設定プログラム 195:ダイレクトデバイステーブル 196:エクスパンダルートテーブル 200:ストレージ制御コントローラ 210:ホストI/Fコントローラ 211:管理端末I/F 212:RAID制御コントローラ 213:メモリ 214:SASコントローラ 250:ワイドポート 300:制御プログラム 320:SASエクスパンダ制御プログラム 330:RG/LU設定プログラム 340:ゾーン構成制御プログラム 350:性能監視プログラム 360:バックグラウンド制御プログラム 370:障害処理プログラム

Claims (23)

  1. コンピュータシステムにおいて、
    SASプロトコルに従うターゲットである複数のSASターゲット装置と、
    SASプロトコルに従うイニシエータであるSASイニシエータ装置と、
    物理的な配線である物理リンクで各SASターゲット装置に接続され、且つ、複数の物理リンクにより構成されたワイドリンクで前記SASイニシエータ装置に接続されたスイッチ部と
    を備え、
    前記スイッチ部は、一又は複数のスイッチ装置であり、該スイッチ部が複数のスイッチ装置である場合には、前記SASイニシエータ装置に接続されたスイッチ装置を先頭としてカスケード接続されており、一方のスイッチ装置と他方のスイッチ装置とが互いにワイドリンクで接続されており、複数の物理リンクにそれぞれ接続される複数の通信ポートと、スイッチ制御情報を記憶した記憶域とを有し、
    前記スイッチ制御情報は、前記複数の通信ポートの各々について、他の通信ポートを解することなく直接接続された装置を表す直接装置データと、他の通信ポートを解して間接的に接続された記憶装置を表す間接装置データとが記録され、
    前記コンピュータシステムが、物理リンク割当て制御部を更に備え、
    前記物理リンク割当て制御部が、前記スイッチ部と前記SASイニシエータ装置との間のワイドリンク及び前記スイッチ部内のワイドリンクのうちの少なくとも一つのワイドリンクのうちの何本の物理リンクをどのSASターゲット装置に割り当てるかを、前記スイッチ制御情報を参照して制御し、
    前記SASイニシエータ装置からSASターゲット装置へのI/Oは、該SASターゲット装置に割り当てられた物理リンクを経由して行われ、該SASターゲット装置に割り当てられていない物理リンクを経由できないようになっている、
    コンピュータシステム。
  2. SASターゲット装置に要求されるI/O性能であるI/O要求性能を各SASターゲット装置について監視する監視部を更に備え、
    前記物理リンク割当て制御部が、各SASターゲット装置に対するI/O要求性能に基づいて、各SASターゲット装置に割り当てる物理リンクの数を制御する、
    請求項1記載のコンピュータシステム。
  3. 前記物理リンク割当て制御部が、I/O要求性能の高いSASターゲット装置には、I/O要求性能の低いSASターゲット装置よりも多くの数の物理リンクを割り当てる、
    請求項2記載のコンピュータシステム。
  4. 前記複数のSASターゲット装置には、通信プロトコルの異なるSASターゲット装置が混在しており、
    前記物理リンク割当て制御部が、SASターゲット装置の通信プロトコルの種類に基づいて、各SASターゲット装置に割り当てる物理リンクの数を制御する、
    請求項1記載のコンピュータシステム。
  5. 前記物理リンク割当て制御部が、転送効率の悪い通信プロトコルで通信するSASターゲット装置には、転送効率の良い通信プロトコルで通信するSASターゲット装置よりも多くの数の物理リンクを割り当てる、
    請求項4記載のコンピュータシステム。
  6. 前記物理リンク割当て制御部が、転送効率の良い通信プロトコルで通信するSASターゲット装置には、転送効率の悪い通信プロトコルで通信するSASターゲット装置よりも多くの数の物理リンクを割り当てる、
    請求項4記載のコンピュータシステム。
  7. 各SASターゲット装置は、記憶装置であり、
    二以上の記憶装置が、RAIDの法則に従ってグループ化されることによりRAIDグループとされており、
    前記物理リンク割当て制御部が、RAIDグループ単位で、割り当てる物理リンクの数を制御する、
    請求項1記載のコンピュータシステム。
  8. 前記SASイニシエータ装置から前記複数のSASターゲット装置へのアクセス経路を論理的な複数のゾーンに分割したゾーン設定を行うゾーン設定部を更に備え、
    前記物理リンク割当て制御部が、前記設定された複数のゾーンに基づいて、各SASター
    ゲット装置に割り当てる物理リンクの数を制御する、
    請求項1記載のコンピュータシステム。
  9. 前記物理リンク割当て制御部が、一つのゾーンに複数のSASターゲット装置が属する場合、それら複数のSASターゲット装置の各々に割り当てる物理リンクの数の制御を、前記一つのゾーンの範囲内で行う、
    請求項8記載のコンピュータシステム。
  10. 複数のSASターゲット装置を接続している筐体の資源を定期的に監視するための資源監視コマンドを定期的に発行する資源監視部を更に備え、
    前記ゾーン設定部が、前記資源監視コマンドの発行には利用されずSASターゲット装置へのI/Oに利用されるI/O専用ゾーンと、前記I/Oには利用されず前記資源監視コマンドの発行に利用される資源監視専用ゾーンとを設定する、
    請求項8記載のコンピュータシステム。
  11. 前記SASイニシエータ装置が、前記コンピュータシステムの外部に存在するアクセス元からI/O要求を受信し、該I/O要求に従う第一のSASターゲット装置に対して第一のI/Oを行い、且つ、前記アクセス元からのI/O要求に関わらずにバックエンドで第二のSASターゲット装置に対して第二のI/Oを行い、
    前記物理リンク割当て制御部が、前記第一のI/OのI/O要求性能と、前記第二のI/OのI/O要求性能とに基づいて、前記第一のSASターゲット装置に割り当てる物理リンクの数と前記第二のSASターゲット装置に割り当てる物理リンクの数を制御する、
    請求項2記載のコンピュータシステム。
  12. 前記物理リンク割当て制御部が、前記第一のI/OのI/O要求性能の方が前記第二のI/OのI/O要求性能よりも高い場合には、前記第一のSASターゲット装置に割り当てる物理リンクの数を前記第二のSASターゲット装置に割り当てる物理リンクの数よりも多くする、
    請求項11記載のコンピュータシステム。
  13. 前記SASイニシエータ装置が、前記コンピュータシステムの外部に存在する複数のアクセス元からそれぞれI/O要求を受信し、該I/O要求に従うSASターゲット装置に対してI/Oを行い、
    前記物理リンク割当て制御部が、前記複数のアクセス元の各々の優先度に基づき、優先度の高いアクセス元からのI/O要求に従うSASターゲット装置に割り当てる物理リンクの数を、優先度の低いアクセス元からのI/O要求に従うSASターゲット装置に割り当てる物理リンクの数よりも多くする、
    請求項1記載のコンピュータシステム。
  14. 前記物理リンク割当て制御部が、前記スイッチ部と前記SASイニシエータ装置との間のワイドリンク及び前記スイッチ部内のワイドリンクのうちの少なくとも一つのワイドリンクにおいて、或るSASターゲット装置に割り当てる物理リンクの数をゼロとする、又は、前記或るSASターゲット装置と前記スイッチ部とを接続する物理リンクの割当てを解除することにより、前記或るSASターゲット装置へのI/Oを防ぐ、
    請求項1記載のコンピュータシステム。
  15. 前記一又は複数のスイッチ装置の各々が、
    複数の物理リンクにそれぞれ接続される複数の通信ポートと、
    スイッチ制御情報を記憶した記憶域と
    を備え、
    前記スイッチ制御情報には、前記複数の通信ポートの各々について、他の通信ポートを介することなく直接接続された装置を表す直接装置データと、他の通信ポートを介して間接的に接続されたSASターゲット装置を表す間接装置データとが記録され、
    通信ポートについての前記直接装置データが、SASターゲット装置を表すデータである場合、該SASターゲット装置は、該通信ポートに接続されている物理リンクが割り当てられたSASターゲット装置であり、
    通信ポートについての前記間接装置データは、該通信ポートに接続されている物理リンクが割り当てられたSASターゲット装置を表すデータであり、
    前記物理リンク割当て制御部は、前記一又は複数のスイッチ装置のうちの少なくとも一つのスイッチ装置の前記スイッチ制御情報を更新することで、SASターゲット装置に割り当てる物理リンクを制御する、
    請求項1記載のコンピュータシステム。
  16. 前記一又は複数のスイッチの各々が、或るSASターゲット装置とのコネクションを確立するためのコネクションオープン指示を、前記或るSASターゲット装置に割り当てられていない物理リンクを介して受けたならば、該物理リンクを介して、該コネクションオープン指示の発行元にエラーを返し、該物理リンクを介してコネクションが確立しないようにする、
    請求項15記載のコンピュータシステム。
  17. 前記コンピュータシステムには、前記コンピュータシステムを管理するための管理端末が通信可能に接続されており、
    前記物理リンク割当て制御部が、前記管理端末からの指示に従って、何本の物理リンクをどのSASターゲット装置に割り当てるかを制御する、
    請求項1記載のコンピュータシステム。
  18. 前記コンピュータシステムは、複数の記憶装置を備えるストレージシステムであり、
    前記複数のSASターゲット装置が、前記複数の記憶装置であり、
    前記SASイニシエータ装置が、各記憶装置へのI/Oを制御するコントローラであり、
    前記スイッチ部が、複数のスイッチ装置であり、
    前記複数のスイッチ装置の各々が、複数の物理リンクにそれぞれ接続される複数の通信ポートと、スイッチ制御情報を記憶した記憶域とを有し、
    前記スイッチ制御情報には、前記複数の通信ポートの各々について、他の通信ポートを介することなく直接接続された装置を表す直接装置データと、他の通信ポートを介して間接的に接続された記憶装置を表す間接装置データとが記録され、
    通信ポートについての前記直接装置データが、記憶装置を表すデータである場合、該記憶装置は、該通信ポートに接続されている物理リンクが割り当てられた記憶装置であり、
    通信ポートについての前記間接装置データは、該通信ポートに接続されている物理リンクが割り当てられた記憶装置を表すデータであり、
    前記ストレージシステムが、記憶装置に要求されるI/O性能であるI/O要求性能を各記憶装置について監視する監視部を更に備え、
    前記物理リンク割当て制御部が、各記憶装置に対するI/O要求性能に基づいて、前記複数のスイッチ装置のうちの少なくとも一つのスイッチ装置の前記スイッチ制御情報を更新することで、各記憶装置に割り当てる物理リンクの数を制御する、
    請求項1記載のコンピュータシステム。
  19. 二以上の記憶装置が、RAIDの法則に従ってグループ化されることによりRAIDグループとされており、
    前記物理リンク割当て制御部が、RAIDグループ単位で、割り当てる物理リンクの数を制御する、
    請求項18記載のコンピュータシステム。
  20. 前記コンピュータシステムは、複数の記憶装置を備えるストレージシステムであり、
    前記複数のSASターゲット装置が、前記複数の記憶装置であり、
    前記複数の記憶装置には、SCSIプロトコルに従う通信を行う記憶装置であるSCSI記憶装置と、ATAプロトコルに従う通信を行う記憶装置であるATA記憶装置とが混在しており、
    前記SASイニシエータ装置が、各記憶装置へのI/Oを制御するコントローラであり、
    前記スイッチ部が、複数のスイッチ装置であり、
    通信ポートについての前記直接装置データが、記憶装置を表すデータである場合、該記憶装置は、該通信ポートに接続されている物理リンクが割り当てられた記憶装置であり、
    通信ポートについての前記間接装置データは、該通信ポートに接続されている物理リンクが割り当てられた記憶装置を表すデータであり、
    前記物理リンク割当て制御部が、各記憶装置の通信プロトコルがSCSIであるかATAであるかに基づいて、前記複数のスイッチ装置のうちの少なくとも一つのスイッチ装置の前記スイッチ制御情報を更新することで、各記憶装置に割り当てる物理リンクの数を制御する、
    請求項1記載のコンピュータシステム。
  21. SASプロトコルに従うターゲットである複数の記憶装置と、
    SASプロトコルに従うイニシエータであり、各記憶装置へのI/Oを制御するコントローラと
    物理的な配線である物理リンクで各記憶装置に接続され、且つ、複数の物理リンクにより構成された論理的なパスであるワイドリンクで前記コントローラに接続されたスイッチ部と
    を備え、
    二以上の記憶装置が、RAIDの法則に従ってグループ化されることによりRAIDグループとされており、
    前記スイッチ部は、複数のスイッチ装置であり、前記コントローラに接続されたスイッ
    チ装置を先頭としてカスケード接続されており、一方のスイッチ装置と他方のスイッチ装
    置とが互いにワイドリンクで接続されており、
    前記複数のスイッチ装置の各々が、複数の物理リンクにそれぞれ接続される複数の通信
    ポートと、スイッチ制御情報を記憶した記憶域とを有し、
    前記スイッチ制御情報には、前記複数の通信ポートの各々について、他の通信ポートを
    介することなく直接接続された装置を表す直接装置データと、他の通信ポートを介して間
    接的に接続された記憶装置を表す間接装置データとが記録され、
    通信ポートについての前記直接装置データが、記憶装置を表すデータである場合、該記憶装置は、該通信ポートに接続されている物理リンクが割り当てられた記憶装置であり、
    通信ポートについての前記間接装置データは、該通信ポートに接続されている物理リンクが割り当てられた記憶装置を表すデータであり、
    前記コントローラが、RAIDグループに要求されるI/O性能であるI/O要求性能を各RAIDグループについて監視し、該監視の結果に基づいて、前記複数のスイッチ装置のうちの少なくとも一つのスイッチ装置の前記スイッチ制御情報を更新することで、前記スイッチ部と前記コントローラとの間のワイドリンク及び前記スイッチ部内のワイドリンクのうちの少なくとも一つのワイドリンクのうちの何本の物理リンクをどのRAIDグループに割り当てるかを、前記スイッチ制御情報を参照して制御し、
    前記コントローラから記憶装置へのI/Oは、該記憶装置に割り当てられた物理リンクを経由して行われ、該記憶装置に割り当てられていない物理リンクを経由できないようになっている、
    ストレージシステム。
  22. SASプロトコルに従うターゲットである複数の記憶装置と、
    SASプロトコルに従うイニシエータであり、各記憶装置へのI/Oを制御するコントローラと
    物理的な配線である物理リンクで各記憶装置に接続され、且つ、複数の物理リンクにより構成された論理的なパスであるワイドリンクで前記コントローラに接続されたスイッチ部と
    を備え、
    前記複数の記憶装置には、SCSIプロトコルに従う通信を行う記憶装置であるSCSI記憶装置と、ATAプロトコルに従う通信を行う記憶装置であるATA記憶装置とが混在しており、
    前記スイッチ部は、複数のスイッチ装置であり、前記コントローラに接続されたスイッチ装置を先頭としてカスケード接続されており、一方のスイッチ装置と他方のスイッチ装置とが互いにワイドリンクで接続されており、
    前記複数のスイッチ装置の各々が、複数の物理リンクにそれぞれ接続される複数の通信ポートと、スイッチ制御情報を記憶した記憶域とを有し、
    前記スイッチ制御情報には、前記複数の通信ポートの各々について、他の通信ポートを介することなく直接接続された装置を表す直接装置データと、他の通信ポートを介して間接的に接続された記憶装置を表す間接装置データとが記録され、
    通信ポートについての前記直接装置データが、記憶装置を表すデータである場合、該記憶装置は、該通信ポートに接続されている物理リンクが割り当てられた記憶装置であり、
    通信ポートについての前記間接装置データは、該通信ポートに接続されている物理リンクが割り当てられた記憶装置を表すデータであり、
    前記コントローラが、各記憶装置の通信プロトコルがSCSIであるかATAであるかに基づいて、前記複数のスイッチ装置のうちの少なくとも一つのスイッチ装置の前記スイッチ制御情報を更新することで、前記スイッチ部と前記コントローラとの間のワイドリンク及び前記スイッチ部内のワイドリンクのうちの少なくとも一つのワイドリンクのうちの何本の物理リンクをどの記憶装置に割り当てるかを、前記スイッチ制御情報を参照して制御し、
    前記コントローラから記憶装置へのI/Oは、該記憶装置に割り当てられた物理リンクを経由して行われ、該記憶装置に割り当てられていない物理リンクを経由できないようになっている、
    ストレージシステム。
  23. 前記割当て制御される物理リンクは、仮想的な物理リンクであり、
    前記仮想的な物理リンクは、一つの物理リンクを時分割することにより形成された論理リンクであり、
    前記SASイニシエータ装置からSASターゲット装置へのI/Oは、該SASターゲット装置に割り当てられた論理リンクを経由して行われ、該SASターゲット装置に割り当てられていない論理リンクを経由できないようになっている、
    請求項1記載のコンピュータシステム。
JP2006076505A 2006-03-20 2006-03-20 物理リンクの割当てを制御するコンピュータシステム及び方法 Expired - Fee Related JP4775846B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2006076505A JP4775846B2 (ja) 2006-03-20 2006-03-20 物理リンクの割当てを制御するコンピュータシステム及び方法
US11/414,675 US7913037B2 (en) 2006-03-20 2006-04-27 Computer system for controlling allocation of physical links and method thereof
EP20060254560 EP1837750A3 (en) 2006-03-20 2006-08-31 Computer system for controlling allocation of physical links and method thereof
CN201110277026.7A CN102306087B (zh) 2006-03-20 2007-02-12 控制物理链接分配的计算机系统及方法
CN2007100055659A CN101042632B (zh) 2006-03-20 2007-02-12 控制物理链接分配的计算机系统及方法
US13/029,011 US8275938B2 (en) 2006-03-20 2011-02-16 Computer system for controlling allocation of physical links and method thereof
US13/587,003 US8543762B2 (en) 2006-03-20 2012-08-16 Computer system for controlling allocation of physical links and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006076505A JP4775846B2 (ja) 2006-03-20 2006-03-20 物理リンクの割当てを制御するコンピュータシステム及び方法

Publications (2)

Publication Number Publication Date
JP2007256993A JP2007256993A (ja) 2007-10-04
JP4775846B2 true JP4775846B2 (ja) 2011-09-21

Family

ID=38157826

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006076505A Expired - Fee Related JP4775846B2 (ja) 2006-03-20 2006-03-20 物理リンクの割当てを制御するコンピュータシステム及び方法

Country Status (4)

Country Link
US (3) US7913037B2 (ja)
EP (1) EP1837750A3 (ja)
JP (1) JP4775846B2 (ja)
CN (2) CN102306087B (ja)

Families Citing this family (90)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7673185B2 (en) * 2006-06-08 2010-03-02 Dot Hill Systems Corporation Adaptive SAS PHY configuration
US7536584B2 (en) * 2006-06-08 2009-05-19 Dot Hill Systems Corporation Fault-isolating SAS expander
US7949301B2 (en) 2006-07-21 2011-05-24 Research In Motion Limited Mobile communications device access from personal computer
US20080046567A1 (en) * 2006-08-18 2008-02-21 Microsoft Corporation Automatic detection and integration of network workloads
US7624223B2 (en) * 2006-12-29 2009-11-24 Lsi Corporation Apparatus and methods for multiple unidirectional virtual connections among SAS devices
JP4354495B2 (ja) * 2007-02-09 2009-10-28 富士通株式会社 ディスクドライブの自動認識設定装置
EP2003556A1 (fr) * 2007-05-25 2008-12-17 Axalto SA Procédé de traitement par un dispositif électronique portable de commandes applicatives issues de canaux physiques, dispositif et système correspondants
US7996509B2 (en) * 2007-09-26 2011-08-09 International Business Machines Corporation Zoning of devices in a storage area network
US8074105B2 (en) * 2007-10-08 2011-12-06 Dot Hill Systems Corporation High data availability SAS-based RAID system
US8683486B2 (en) * 2007-12-28 2014-03-25 Emulex Corporation SAS expander based persistent connections
US8929369B1 (en) * 2007-12-31 2015-01-06 Emc Corporation System and method for striping / mirroring data
JP5033041B2 (ja) * 2008-04-14 2012-09-26 株式会社日立製作所 ストレージシステム
US8417858B2 (en) * 2008-05-07 2013-04-09 Emulex Design & Manufacturing Corporation System and method for enabling multiple processors to share multiple SAS wide ports
WO2010002397A1 (en) 2008-07-01 2010-01-07 Hewlett-Packard Development Company, L.P. Segmenting bus topology
KR20110040849A (ko) * 2008-07-15 2011-04-20 엘에스아이 코포레이션 직렬 scsi 어레이 컨트롤러를 san에 연결하기 위한 시스템
US8244948B2 (en) * 2008-09-05 2012-08-14 Lsi Corporation Method and system for combining multiple SAS expanders into a SAS switch
US7913023B2 (en) * 2008-09-05 2011-03-22 Lsi Corporation Specifying lanes for SAS wide port connections
US8656058B2 (en) * 2008-09-05 2014-02-18 Lsi Corporation Back-off retry with priority routing
US8321596B2 (en) * 2008-09-05 2012-11-27 Lsi Corporation SAS paired subtractive routing
US7849248B2 (en) * 2008-09-05 2010-12-07 Lsi Corporation Method and system for combining multiple serial attached small computer system interface (SAS) expanders
US8077605B2 (en) * 2008-09-05 2011-12-13 Lsi Corporation Method for providing path failover for multiple SAS expanders operating as a single SAS expander
JP4809413B2 (ja) * 2008-10-08 2011-11-09 株式会社日立製作所 ストレージシステム
JP2010108409A (ja) * 2008-10-31 2010-05-13 Hitachi Ltd ストレージ管理方法及び管理サーバ
US7990961B2 (en) * 2009-02-25 2011-08-02 Lsi Corporation Apparatus and methods for improved dual device lookup in a zoning SAS expander
US20110022736A1 (en) * 2009-07-21 2011-01-27 Lsi Corporation Methods and apparatus dynamic management of multiplexed phys in a serial attached scsi domain
JP5391994B2 (ja) * 2009-10-19 2014-01-15 富士通株式会社 ストレージシステム,制御装置および診断方法
JP2013500510A (ja) 2009-11-12 2013-01-07 株式会社日立製作所 ディスクアレイシステム及びディスクアレイシステムにおけるハードディスクドライブの増設方法
US20110145452A1 (en) * 2009-12-16 2011-06-16 Lsi Corporation Methods and apparatus for distribution of raid storage management over a sas domain
WO2011132224A1 (en) * 2010-04-21 2011-10-27 Hitachi,Ltd. Disk array system and traffic control method
US9306849B2 (en) * 2010-05-03 2016-04-05 Pluribus Networks, Inc. Methods and systems for managing distribute media access control address tables
JP5614133B2 (ja) 2010-07-02 2014-10-29 富士通株式会社 アクセス制御装置、アクセス制御方法およびストレージシステム
US8463923B2 (en) * 2010-07-28 2013-06-11 International Business Machines Corporation Enhanced zoning user interface for computing environments
US8677048B2 (en) * 2010-10-26 2014-03-18 Netapp Inc. Communication with two or more storage devices via one SAS communication port
US9329790B2 (en) * 2010-12-27 2016-05-03 International Business Machines Corporation Method and system for managing a storage network to reduce power consumption
US8219719B1 (en) * 2011-02-07 2012-07-10 Lsi Corporation SAS controller with persistent port configuration
WO2012120565A1 (en) 2011-03-09 2012-09-13 Hitachi, Ltd. Storage apparatus and method of comparing an expected communication rate between a storage controller and an expander with an operational connection rate
US9319350B2 (en) * 2011-04-21 2016-04-19 Hewlett Packard Enterprise Development Lp Virtual address for virtual port
US20120278552A1 (en) * 2011-04-28 2012-11-01 Lsi Corporation Remote execution of raid in large topologies
US8918571B2 (en) * 2011-06-01 2014-12-23 Hewlett-Packard Development Company, L.P. Exposing expanders in a data storage fabric
US20120317357A1 (en) * 2011-06-13 2012-12-13 Infinidat Ltd. System And Method For Identifying Location Of A Disk Drive In A SAS Storage System
US9535866B2 (en) 2011-06-15 2017-01-03 Dell Products L.P. Asymmetric storage device wide link
JP5314737B2 (ja) * 2011-07-20 2013-10-16 株式会社日立製作所 ストレージシステム及びその制御方法
US9652343B2 (en) 2011-09-21 2017-05-16 Kevin Mark Klughart Raid hot spare system and method
US9460110B2 (en) 2011-09-21 2016-10-04 Kevin Mark Klughart File system extension system and method
US8799523B2 (en) * 2011-09-21 2014-08-05 Kevin Mark Klughart Data storage architecture extension system and method
US9870373B2 (en) 2011-09-21 2018-01-16 Kevin Mark Klughart Daisy-chain storage synchronization system and method
US8775876B2 (en) * 2011-11-22 2014-07-08 Lsi Corporation Method to improve I/O reliability on a degraded wide port connection
TW201324163A (zh) * 2011-12-02 2013-06-16 Hon Hai Prec Ind Co Ltd 籍由記憶體介面擴展器連接設備的電子裝置及其連接方法
WO2013079999A1 (en) * 2011-12-02 2013-06-06 Canon Kabushiki Kaisha Methods and devices for encoding and decoding messages
TW201324171A (zh) * 2011-12-09 2013-06-16 Hon Hai Prec Ind Co Ltd SAS Expander設備的PHY切換方法及系統
TW201327189A (zh) * 2011-12-16 2013-07-01 Hon Hai Prec Ind Co Ltd 調整sas擴展器連接磁碟陣列卡的系統及方法
JP5923976B2 (ja) * 2011-12-27 2016-05-25 富士通株式会社 接続装置、ストレージ装置、接続装置における処理方法、および処理プログラム
US8626974B2 (en) * 2012-01-19 2014-01-07 Lsi Corporation Methods and systems for reduced signal path count for interconnect signals within a storage system expander
US8918557B2 (en) * 2012-03-16 2014-12-23 Lsi Corporation SAS expander and method to arbitrate traffic in a redundant expander system
US8898514B2 (en) * 2012-06-25 2014-11-25 Hewlett-Packard Development Company, L.P. SAS storage device drive system with failure information table
US8856392B2 (en) 2012-07-16 2014-10-07 Hewlett-Packard Development Company, L.P. Dividing a port into smaller ports
US9160637B2 (en) * 2012-07-17 2015-10-13 Hewlett-Packard Development Company, L.P. Determination of whether storage domain paths for storage devices include a common routing module
US20140029467A1 (en) * 2012-07-25 2014-01-30 Balaji Natrajan Zoning record update
US8862794B2 (en) * 2012-08-21 2014-10-14 Lsi Corporation Non-disruptive selective traffic blocking in a SAS domain
US8904119B2 (en) 2012-10-31 2014-12-02 Lsi Corporation Method and structures for performing a migration of a logical volume with a serial attached SCSI expander
US9135198B2 (en) 2012-10-31 2015-09-15 Avago Technologies General Ip (Singapore) Pte Ltd Methods and structure for serial attached SCSI expanders that self-configure by setting routing attributes of their ports based on SMP requests
US8904108B2 (en) 2012-10-31 2014-12-02 Lsi Corporation Methods and structure establishing nested Redundant Array of Independent Disks volumes with an expander
US8756345B2 (en) 2012-10-31 2014-06-17 Lsi Corporation Methods and structure for managing protection information with a serial attached SCSI expander
US8782292B2 (en) 2012-10-31 2014-07-15 Lsi Corporation Methods and structure for performing a rebuild of a logical volume with a serial attached SCSI expander
US9336171B2 (en) * 2012-11-06 2016-05-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Connection rate management in wide ports
US9026702B2 (en) * 2012-11-12 2015-05-05 Avago Technologies General Ip (Singapore) Pte Ltd Methods and apparatus for fast context switching of serial advanced technology attachment in enhanced serial attached SCSI expanders
US9043529B2 (en) * 2012-11-21 2015-05-26 Avago Technologies General Ip (Singapore) Pte Ltd Method to facilitate fast context switching for partial and extended path extension to remote expanders
US20140195731A1 (en) * 2013-01-08 2014-07-10 Lsi Corporation Physical link management
US9137005B2 (en) * 2013-02-08 2015-09-15 Avago Technologies General Ip (Singapore) Pte Ltd Managing arbitration in mixed link rate wide ports
US9081910B2 (en) * 2013-02-12 2015-07-14 Avago Technologies General Ip (Singapore) Pte Ltd Methods and structure for fast context switching among a plurality of expanders in a serial attached SCSI domain
IN2013CH01005A (ja) * 2013-03-08 2015-08-14 Lsi Corp
CN104956348B (zh) * 2013-04-02 2018-04-20 慧与发展有限责任合伙企业 Sata发起方寻址和存储设备分片
WO2014162541A1 (ja) * 2013-04-03 2014-10-09 株式会社日立製作所 ディスクアレイシステムにおけるアクセスルート切り替え方法
US9425912B2 (en) 2013-05-15 2016-08-23 Avago Technologies General Ip (Singapore) Pte. Ltd. Lane-based multiplexing for physical links in serial attached small computer system interface architectures
JP2014238771A (ja) * 2013-06-10 2014-12-18 富士通株式会社 ストレージ制御装置、アクセス制御方法、及び制御プログラム
US9436630B2 (en) 2013-06-11 2016-09-06 Western Digital Technologies, Inc. Using dual phys to support multiple PCIe link widths
JP6200707B2 (ja) * 2013-06-28 2017-09-20 富士通株式会社 スイッチおよび制御方法
US9674312B2 (en) * 2013-06-28 2017-06-06 Netapp, Inc. Dynamic protocol selection
US9542349B2 (en) 2013-12-04 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Wide port emulation at serial attached SCSI expanders using virtual physical links
CN104111805B (zh) * 2014-07-15 2017-06-13 华为技术有限公司 一种i/o请求处理方法及存储系统
US9953005B2 (en) 2015-02-17 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Devices with asymmetric SAS generation support
US10671549B2 (en) 2015-03-25 2020-06-02 Toshiba Memory Corporation Memory system
US10171193B2 (en) * 2016-01-29 2019-01-01 Microsemi Solutions (U.S.), Inc. Fractional multiplexing of serial attached small computer system interface links
CN107688546A (zh) * 2016-08-04 2018-02-13 华为技术有限公司 一种i/o请求处理方法及设备
CN107885673A (zh) * 2016-09-29 2018-04-06 华为技术有限公司 一种i/o请求处理方法及设备
CN106598883B (zh) * 2016-11-01 2019-09-17 北京腾凌科技有限公司 基于fpga的sas错误状态命令的处理方法及装置
US10732872B2 (en) 2017-02-27 2020-08-04 Hitachi, Ltd. Storage system and storage control method
US10664428B2 (en) * 2018-09-19 2020-05-26 Quanta Computer Inc. SAS automatic zoning mechanism
US10963413B2 (en) * 2018-11-02 2021-03-30 Wipro Limited Method and system for transmitting data using small computer system interface (SCSI)
CN115454221B (zh) * 2022-09-02 2023-05-30 无锡众星微系统技术有限公司 一种sas控制器的温度控制方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10340243A (ja) * 1997-06-06 1998-12-22 Hitachi Ltd 入出力データ転送システム
EP1026575A3 (en) * 1999-02-08 2006-09-06 Hitachi, Ltd. Disk array system and method of changing its configuration
JP4041284B2 (ja) 2001-01-23 2008-01-30 株式会社日立製作所 記憶装置システム
JP4220724B2 (ja) * 2002-05-21 2009-02-04 株式会社日立製作所 ストレージ装置
US7251704B2 (en) * 2002-08-23 2007-07-31 Intel Corporation Store and forward switch device, system and method
JP4651913B2 (ja) * 2003-02-17 2011-03-16 株式会社日立製作所 記憶装置システム
US7237021B2 (en) * 2003-04-04 2007-06-26 Bluearc Uk Limited Network-attached storage system, device, and method supporting multiple storage device types
JP4492084B2 (ja) * 2003-10-07 2010-06-30 株式会社日立製作所 ストレージパス制御方法
JP4257783B2 (ja) * 2003-10-23 2009-04-22 株式会社日立製作所 論理分割可能な記憶装置及び記憶装置システム
JP4220887B2 (ja) 2003-11-17 2009-02-04 株式会社日立製作所 ディスク装置及びその制御方法
JP4156499B2 (ja) * 2003-11-28 2008-09-24 株式会社日立製作所 ディスクアレイ装置
JP4317436B2 (ja) * 2003-12-16 2009-08-19 株式会社日立製作所 ディスクアレイシステム及びインターフェイス変換装置
JP2005196673A (ja) * 2004-01-09 2005-07-21 Hitachi Ltd 稼動情報を記憶する記憶制御システム
JP2005251078A (ja) * 2004-03-08 2005-09-15 Hitachi Ltd 情報処理装置、及び情報処理装置の制御方法
JP4555029B2 (ja) * 2004-09-01 2010-09-29 株式会社日立製作所 ディスクアレイ装置
JP2006076505A (ja) 2004-09-10 2006-03-23 Asmo Co Ltd ワイパブレード
US7409481B2 (en) * 2005-02-10 2008-08-05 International Business Machines Corporation Data processing system, method and interconnect fabric supporting destination data tagging

Also Published As

Publication number Publication date
US7913037B2 (en) 2011-03-22
CN102306087A (zh) 2012-01-04
EP1837750A2 (en) 2007-09-26
EP1837750A3 (en) 2012-02-08
US8543762B2 (en) 2013-09-24
US20070220204A1 (en) 2007-09-20
US20120311256A1 (en) 2012-12-06
JP2007256993A (ja) 2007-10-04
US8275938B2 (en) 2012-09-25
US20110138097A1 (en) 2011-06-09
CN102306087B (zh) 2014-12-03
CN101042632B (zh) 2011-11-16
CN101042632A (zh) 2007-09-26

Similar Documents

Publication Publication Date Title
JP4775846B2 (ja) 物理リンクの割当てを制御するコンピュータシステム及び方法
US20190220191A1 (en) Primary Data Storage System with Quality of Service
JP3997061B2 (ja) 記憶サブシステムおよび記憶サブシステムの制御方法
US10789196B2 (en) Storage system
US7467275B2 (en) Capacity expansion volume migration method
US7472240B2 (en) Storage system with plural control device affiliations
JP4794194B2 (ja) ストレージシステム及び記憶制御方法
WO2011010352A1 (en) Storage apparatus and its data transfer method
JP5635621B2 (ja) ストレージシステム及びストレージシステムのデータ転送方法
US9253257B2 (en) Storage subsystem
US11372552B2 (en) Storage device
US8578073B2 (en) Storage system and control method of storage system
US20070271430A1 (en) Computer systems, management computers and storage system management method
US8402195B2 (en) Storage system mounted with plurality of processors
US9239681B2 (en) Storage subsystem and method for controlling the storage subsystem
JP2006155640A (ja) アクセスの設定方法
US11201788B2 (en) Distributed computing system and resource allocation method
US20180121091A1 (en) Storage apparatus and its control method
JP5856665B2 (ja) ストレージシステム及びストレージシステムのデータ転送方法
JP4075790B2 (ja) 複合計算機システムおよび複合i/oシステム
JP4285202B2 (ja) 複合計算機システムおよび複合i/oシステム
JP2007048319A (ja) 複合計算機システムおよび複合i/oシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080811

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110323

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110502

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110622

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140708

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees