JP2005267502A - データ転送用スイッチ - Google Patents
データ転送用スイッチ Download PDFInfo
- Publication number
- JP2005267502A JP2005267502A JP2004082190A JP2004082190A JP2005267502A JP 2005267502 A JP2005267502 A JP 2005267502A JP 2004082190 A JP2004082190 A JP 2004082190A JP 2004082190 A JP2004082190 A JP 2004082190A JP 2005267502 A JP2005267502 A JP 2005267502A
- Authority
- JP
- Japan
- Prior art keywords
- frame
- switch
- buffer memory
- port
- crossbar switch
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
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)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】
ディスクコントローラとディスクアレイを接続するスイッチにおけるデータ書き込み時のスループットを向上させる。
【解決手段】
フレーム出力先ポートのバッファメモリの空き容量が所定の値より多い場合は、クロスバスイッチによりフレームの経路変更を実行する。出力先ポートのバッファメモリの空き容量が所定の値以下である場合は、転送フレームを共有メモリに書き込み、その後該フレームを共有メモリから読み出して出力ポートへ転送する。クロスバスイッチによるフレーム転送と共有メモリ経由のフレーム転送を選択的に実行することにより、ポートバッファが溢れる影響を軽減でき、書き込みスループットを向上できる。
【選択図】図1
ディスクコントローラとディスクアレイを接続するスイッチにおけるデータ書き込み時のスループットを向上させる。
【解決手段】
フレーム出力先ポートのバッファメモリの空き容量が所定の値より多い場合は、クロスバスイッチによりフレームの経路変更を実行する。出力先ポートのバッファメモリの空き容量が所定の値以下である場合は、転送フレームを共有メモリに書き込み、その後該フレームを共有メモリから読み出して出力ポートへ転送する。クロスバスイッチによるフレーム転送と共有メモリ経由のフレーム転送を選択的に実行することにより、ポートバッファが溢れる影響を軽減でき、書き込みスループットを向上できる。
【選択図】図1
Description
本発明は、データ転送用スイッチに係り、より詳しくはコンピュータシステムの二次記憶装置に使用されるスイッチ、特にディスクコントローラとディスクアレイを接続するスイッチ及びそのデータ転送制御方法に関する。
コンピュータシステムは大容量の二次記憶装置を備え、CPU(中央処理装置)等の上位装置が必要とするデ−タをこの二次記憶装置に格納しておき、上位装置から随時にデータの書き込み及び読み出しを行っている。二次記憶装置としては一般に不揮発な記憶媒体、とりわけ磁気ディスク装置や光ディスク装置等のディスク装置が使用される。
近年、高度情報化に伴い、この二次記憶装置の高性能化が要求されている。ディスク装置の高性能化のためには、特にディスクドライブの接続台数を増加させ、かつスループットを向上させることが望ましい。そのためにディスク装置内のディスクコントローラとディスクアレイとをスイッチを用いて接続することが提案されている。高性能なディスク装置では、ディスクコントローラとディスクアレイ間の入出力インターフェイスとしてファイバチャネルが使用されることが多い。
例えば、特開平11−8636公報(特許文献1)には、ディスク装置内のディスクコントローラとディスクアレイの接続に適用可能なファイバチャネルのスイッチが開示されている。この文献に示されたスイッチは、スイッチの全ポートから入出力されるフレームが中央メモリを共有する共有メモリ型のスイッチである。
また、特開2003−303055公報(特許文献2)には、バッファメモリを有するスイッチを用いて、ディスク装置内のディスクコントローラとディスクアレイを接続するディスク装置が開示されている。より具体的には、ディスクアダプタDKAと、複数のディスクグループR1〜R4からなるディスクアレイDAを、複数のスイッチSW1〜SW4を介してそれぞれ接続し、スイッチは、ディスクアダプタの接続されたポートとディスクドライブの接続されたポートとの切り替えを、入力されたフレーム毎に、フレーム内の送信先情報に従って行うものである。
ネットワーク技術の進歩に伴い、1チャネル当たりの媒体速度は年々増加している。例えばディスク装置に使用されるファイバチャネルにおける媒体速度は、現状では1Gb/s乃至2Gb/sであるが、近い将来4Gb/sから10Gb/s程度に高速化されるものと予想されている。一方、ディスクドライブに対する読み出しまたは書き込み時の実効的なデータ転送速度は、現状では最大100MB/s程度である。ディスクドライブは機械部品を含むため、媒体速度の増加率ほどには高速化されないと考えられる。
上記特開2003−303055公報に開示された、ディスクアダプタとディスクアレイの接続形態では、スイッチを介してディスクアダプタとディスクアレイ内のディスクドライブが、1対多の接続形態となっている。この接続形態では、複数のディスクドライブに対する読み出しと書き込みが、ディスクアダプタとスイッチを接続する1本のチャネルに集約されることになる。つまり、スイッチのディスクアダプタ側チャネルとディスクアレイ側チャネルとでは要求されるスループットに差が生ずるので、スイッチにはその差を吸収するバッファメモリが必要となる。
図21及び図22に、ファイバチャネルのFCP-SCSI(Fibre Channel Protocol for SCSI)におけるエクスチェンジの例を示す。
一般的に、エクスチェンジはシーケンス群からなり、またシーケンスは一連の動作を行うフレーム又は複数のフレームからなる。読み出しの例を示す図21において、イニシエータ(ディスクコントローラ)からターゲット(ディスクドライブ)へ読み出し(Read)コマンドが送られ(FCP_CMND)、それに対してターゲットからイニシエータへ読み出しデータが送られ(FCP_DATA)、最後にターゲットからイニシエータへステータス情報が送信されて(FCP_RSP)、エクスチェンジが終了する。
一般的に、エクスチェンジはシーケンス群からなり、またシーケンスは一連の動作を行うフレーム又は複数のフレームからなる。読み出しの例を示す図21において、イニシエータ(ディスクコントローラ)からターゲット(ディスクドライブ)へ読み出し(Read)コマンドが送られ(FCP_CMND)、それに対してターゲットからイニシエータへ読み出しデータが送られ(FCP_DATA)、最後にターゲットからイニシエータへステータス情報が送信されて(FCP_RSP)、エクスチェンジが終了する。
一方、図22の書き込みの場合には、イニシエータからターゲットへ書き込み(Write)コマンドが送られ(FCP_CMND)、必要に応じてターゲットからイニシエータへバッファ制御情報が送られる(FCP_XFER_RDY)。これに対してイニシエータからターゲットへ書き込みデータが送られ(FCP_DATA)、最後にターゲットからイニシエータへステータス情報が送信されて(FCP_RSP)、エクスチェンジが終了する。
ディスクコントローラ(イニシエータ)とディスクドライブ(ターゲット)間では、一般的に連続したフレームからなるデータ転送シーケンスが送受信される。複数のディスクドライブからのデータ読み出しの場合は、ディスクドライブの実効的なデータ転送速度が媒体速度より低くても、ディスクコントローラとスイッチ間の媒体速度を十分に高速化し、且つ複数の読み出しをスイッチにおけるラウンドロビン等の負荷分散処理によりバッファメモリが溢れないように制御することにより、容易にディスクアダプタとスイッチ間のデータ転送速度を高速化することができる。
しかし、複数のディスクドライブへの書き込みの場合に、ディスクアダプタとディスクアレイ間を高スループット化するためには、スイッチ内のバッファメモリが溢れないように、ディスクコントローラ側においてフレーム送信先を、周期的且つ少数フレーム単位で切り換える必要があり、制御が複雑となる。
しかし、複数のディスクドライブへの書き込みの場合に、ディスクアダプタとディスクアレイ間を高スループット化するためには、スイッチ内のバッファメモリが溢れないように、ディスクコントローラ側においてフレーム送信先を、周期的且つ少数フレーム単位で切り換える必要があり、制御が複雑となる。
この点に関し、特許文献1に開示されたスイッチにおける共有メモリは、ディスクアダプタ側チャネルとディスクアレイ側チャネルの速度差を吸収するバッファメモリとして機能する。しかし、読み出しデータと書き込みデータが共に共有メモリを利用することになるので、スイッチ内に大容量の共有メモリが必要となる。さらに全ポートのスループットが共有メモリに集約されるので、高速スループットを持った共有メモリが必要となる。また、共有メモリ型ではないクロスバ型のスイッチに比べて、フレームがスイッチを通過するレイテンシが大きいという問題点がある。
上記特許文献2に開示されているディスク装置においては、スイッチポート内のバッファメモリが溢れないようにフレーム送信先を周期的に切り換え制御することにより、ディスクアダプタとディスクアレイ間を高スループット化している。しかし、同一スイッチポートへ接続されているドライブへの連続書き込みが発生するなどしてスイッチが長い時間切り換わらない状態が続く場合には、バッファメモリのオーバーフローが発生し、書き込みスループットが低下する恐れがある。オーバーフローを防ぐためには、ポート毎に大容量のバッファメモリが必要となる。
本発明の目的は、ディスクコントローラとディスクアレイを接続するスイッチにおいて、ディスクアレイへのデータの書き込み時のスループットを向上させたデータ転送用スイッチ、その制御方法、及びディスク装置を提供することにある。
本発明は、複数のポートに対応してバッファメモリを有するスイッチを用いて、第1の装置と第2の装置との間でデータの転送を行うデータ転送制御方法において、クロスバスイッチにより経路設定して、入力ポートから該バッファメモリを介してある出力ポートへデータを転送する第1のモードと、入力ポートから該クロスバスイッチを経由して共有メモリへデータを書き込むようにデータを転送する第2のモードとを有し、好ましくはバッファメモリの空き容量に従って、第2のモードを選択するように、クロスバスイッチにより経路変更すると共に、共有メモリに書き込まれたデータを読み出し、クロスバスイッチを経由してそのデータを出力ポートへ転送するように制御する。
好ましくは、上記第1の装置はディスクコントローラであり、第2の装置はディスクアレイであり、ディスクコントローラからディスクアレイへデータを書き込むときに、上記第2のモードの選択を有効とするように制御する。
好ましくは、上記第1の装置はディスクコントローラであり、第2の装置はディスクアレイであり、ディスクコントローラからディスクアレイへデータを書き込むときに、上記第2のモードの選択を有効とするように制御する。
本発明は、ディスクコントローラとディスクアレイを接続してデータを転送するスイッチとして把握される。このスイッチは、好ましくは、ディスクコントローラとディスクアレイ間で転送されるデータを一次的に格納するために、スイッチの複数のポートに対応して設けられたバッファメモリと、いずれかのポートに接続して、データを転送するための経路を設定するクロスバスイッチと、クロスバスイッチに接続され、転送データを格納する共有メモリと、転送されるフレームに対する出力ポートのバッファメモリの空き容量を監視する制御部とを有し、この制御部は、上記監視に従い、バッファメモリの空き容量が所定の値より多い場合には、フレーム内の送信先情報に従い、クロスバスイッチを経路設定して、フレームを入力ポートからバッファメモリを介して出力ポートへ転送し、一方、バッファメモリの空き容量が所定の値以下の場合には、入力ポートからクロスバスイッチを経由して共有メモリへフレームを書き込み、かつ、フレーム内の送信先情報に従ってクロスバスイッチを経路設定して、共有メモリからフレームを読み出し、クロスバスイッチを経由して出力ポートへ転送するように制御する。
好ましい例では、上記制御部は、フレームの入力ポートが予め定められたポートであるかを判別し、入力ポート判別及びバッファメモリの空き容量の監視に従い、バッファメモリの空き容量が所定の値より多いか、又はフレームの入力ポートが予め定められたポートではない場合は、フレーム内の送信先情報に従い、クロスバスイッチを経路設定して、入力ポートからバッファメモリを介して出力ポートへフレームを転送し、一方、バッファメモリの空き容量が所定の値以下であり、且つ入力ポートが予め定められたポートである場合は、入力ポートからクロスバスイッチを経由して共有メモリへフレームを書き込むように制御する。
制御部は、予め定められたポートとして、例えばディスクコントローラと接続されたスイッチのポートであるかを判別する。
他の例によれば、上記制御部は、更にフレームに含まれる送信元情報の識別を行い、送信元情報の識別及び上記バッファメモリの監視に従って、バッファメモリの空き容量が所定の値より多いか、或いは送信元情報が予め定められた送信元情報ではない場合は、フレーム内の送信先情報に従いクロスバスイッチを経路設定して、フレームを入力ポートからバッファメモリを介して出力ポートへ転送し、一方、バッファメモリの空き容量が所定の値以下であり、且つ送信元情報が予め定められた送信元情報である場合には、入力ポートからクロスバスイッチを経由して共有メモリへフレームを書き込むように制御する。
上記制御部は、この予め定められた送信元情報として、例えばディスクコントローラのポート識別情報であるかを識別する。
また、他の例によれば、上記制御部は、更に、フレームを含むエスチェンジに含まれるコマンドが予め定められたコマンドであるかの判別を行い、このコマンドの判別及びバッファメモリの監視に従い、バッファメモリの空き容量が所定の値より多いか、或いはエクスチェンジに含まれるコマンドが予め定められたコマンドではない場合は、フレーム内の送信先情報に従いクロスバスイッチを経路設定して、フレームを入力ポートから該出力ポートへ転送し、一方、バッファメモリの空き容量が所定の値以下であり、且つエクスチェンジに含まれるコマンドが予め定められたコマンドである場合は、入力ポートからクロスバスイッチを経由して共有メモリへフレームを書き込むように制御する。
制御部は、好ましくは、予め定められたコマンドの判別として、書き込みコマンドであるかを判別する。
本発明はまた、上記スイッチを有するディスク装置としても把握される。
好ましい例では、上記制御部は、フレームの入力ポートが予め定められたポートであるかを判別し、入力ポート判別及びバッファメモリの空き容量の監視に従い、バッファメモリの空き容量が所定の値より多いか、又はフレームの入力ポートが予め定められたポートではない場合は、フレーム内の送信先情報に従い、クロスバスイッチを経路設定して、入力ポートからバッファメモリを介して出力ポートへフレームを転送し、一方、バッファメモリの空き容量が所定の値以下であり、且つ入力ポートが予め定められたポートである場合は、入力ポートからクロスバスイッチを経由して共有メモリへフレームを書き込むように制御する。
制御部は、予め定められたポートとして、例えばディスクコントローラと接続されたスイッチのポートであるかを判別する。
他の例によれば、上記制御部は、更にフレームに含まれる送信元情報の識別を行い、送信元情報の識別及び上記バッファメモリの監視に従って、バッファメモリの空き容量が所定の値より多いか、或いは送信元情報が予め定められた送信元情報ではない場合は、フレーム内の送信先情報に従いクロスバスイッチを経路設定して、フレームを入力ポートからバッファメモリを介して出力ポートへ転送し、一方、バッファメモリの空き容量が所定の値以下であり、且つ送信元情報が予め定められた送信元情報である場合には、入力ポートからクロスバスイッチを経由して共有メモリへフレームを書き込むように制御する。
上記制御部は、この予め定められた送信元情報として、例えばディスクコントローラのポート識別情報であるかを識別する。
また、他の例によれば、上記制御部は、更に、フレームを含むエスチェンジに含まれるコマンドが予め定められたコマンドであるかの判別を行い、このコマンドの判別及びバッファメモリの監視に従い、バッファメモリの空き容量が所定の値より多いか、或いはエクスチェンジに含まれるコマンドが予め定められたコマンドではない場合は、フレーム内の送信先情報に従いクロスバスイッチを経路設定して、フレームを入力ポートから該出力ポートへ転送し、一方、バッファメモリの空き容量が所定の値以下であり、且つエクスチェンジに含まれるコマンドが予め定められたコマンドである場合は、入力ポートからクロスバスイッチを経由して共有メモリへフレームを書き込むように制御する。
制御部は、好ましくは、予め定められたコマンドの判別として、書き込みコマンドであるかを判別する。
本発明はまた、上記スイッチを有するディスク装置としても把握される。
本発明によれば、データ転送用スイッチにおける転送データ格納用のバッファメモリの空き容量に応じて共有メモリを利用するように構成したので、ディスク装置のデータの書き込みスループットを向上させることができる。
以下、図面を参照して本発明に係る実施の形態を詳細に説明する。
図1に、本発明の一実施形態におけるスイッチを示す。
スイッチSWは、この例では、P0、P1、P2、P3、P4の5個のポートを持つ。スイッチSWは、クロスバスイッチXSWとスイッチコントローラSCと共有メモリSMからなる。スイッチSWのポートP0〜P4は、クロスバスイッチのポートP_0〜P_4とそれぞれ信号線D0〜D4により接続される。共有メモリSMは、クロスバスイッチXSWのポートP_5と信号線D5で接続される。また、スイッチSWのポートP0〜P4は、スイッチコントローラSCとそれぞれ信号線C0〜C4で接続される。共有メモリSMは、スイッチコントローラSCと信号線C5で接続される。さらに、スイッチコントローラSCとクロスバスイッチXSWのポートSELECTは信号線SELで接続される。また、スイッチコントローラSCは信号線C6を介して、スイッチSWのポートNPと接続される。
図1に、本発明の一実施形態におけるスイッチを示す。
スイッチSWは、この例では、P0、P1、P2、P3、P4の5個のポートを持つ。スイッチSWは、クロスバスイッチXSWとスイッチコントローラSCと共有メモリSMからなる。スイッチSWのポートP0〜P4は、クロスバスイッチのポートP_0〜P_4とそれぞれ信号線D0〜D4により接続される。共有メモリSMは、クロスバスイッチXSWのポートP_5と信号線D5で接続される。また、スイッチSWのポートP0〜P4は、スイッチコントローラSCとそれぞれ信号線C0〜C4で接続される。共有メモリSMは、スイッチコントローラSCと信号線C5で接続される。さらに、スイッチコントローラSCとクロスバスイッチXSWのポートSELECTは信号線SELで接続される。また、スイッチコントローラSCは信号線C6を介して、スイッチSWのポートNPと接続される。
信号線D0〜D5は、ポートP0〜P4および共有メモリ間で送受されるフレームと制御信号を送受する信号線である。信号線C0〜C5は、ポートP0〜P4および共有メモリSMと、スイッチコントローラSCとの間でフレームのヘッダ情報を送受するための信号線である。信号線SELは、スイッチコントローラSCからクロスバスイッチXSWへ、切り換え制御信号を送受するための信号線である。信号線C6は、スイッチ外部から設定情報を送受するため信号線である。また、ポートP0〜P4および共有メモリSMへの設定情報は、スイッチコントローラSCから信号線C0〜C6を通して分配される。
スイッチSWのポートP0〜P4の構成について、ポートP1を例にして説明する。ポートP1は、受信器Rx、送信器Tx、シリアルパラレル変換器SP、パラレルシリアル変換器PS、バッファメモリBMを有するプロトコルIC(集積回路) P_ICから構成される。ここで、プロトコルIC P_ICは、ファイバチャネルのFC-1層、FC-2層を実現する集積回路である。受信器Rxにて受信した信号は、シリアルパラレル変換器SPでパラレル信号に変換され、プロトコルIC P_ICに入力される。また、プロトコルIC P_ICから出力される信号は、パラレルシリアル変換器PSでシリアル信号に変換されて送信器TxからスイッチSW外へ送信される。
図2は、クロスバスイッチXSWの構成を示す図である。
クロスバスイッチXSWは、セレクタS0、S1、S2、S3、S4、S5からなる。ポートSELECTとセレクタS0〜S5は、信号線SEL0〜SEL5で接続される。ここで信号線SEL0〜SEL5は、図1における信号線SELと接続している。クロスバスイッチXSWのポートP_0〜P_5は送受信可能なポートであり、受信信号は信号線D0_in〜D5_inを介して全セレクタS0〜S5へ分配される。セレクタS0〜S5の出力は、信号線D0_out〜D5_outを介して、クロスバスイッチXSWのポートP_0〜P_5へ各々接続する。セレクタS0〜S5を信号線SEL0〜SEL5上の信号で制御することにより、クロスバスイッチXSWによる任意のポート間の接続が実現できる。
クロスバスイッチXSWは、セレクタS0、S1、S2、S3、S4、S5からなる。ポートSELECTとセレクタS0〜S5は、信号線SEL0〜SEL5で接続される。ここで信号線SEL0〜SEL5は、図1における信号線SELと接続している。クロスバスイッチXSWのポートP_0〜P_5は送受信可能なポートであり、受信信号は信号線D0_in〜D5_inを介して全セレクタS0〜S5へ分配される。セレクタS0〜S5の出力は、信号線D0_out〜D5_outを介して、クロスバスイッチXSWのポートP_0〜P_5へ各々接続する。セレクタS0〜S5を信号線SEL0〜SEL5上の信号で制御することにより、クロスバスイッチXSWによる任意のポート間の接続が実現できる。
図3は、プロトコルIC P_ICの構成を示す図である。
プロトコルICP_ICは、プロトコル処理部301と、受信用バッファメモリ302と、送信用バッファメモリ303と、転送制御部304から構成される。バッファメモリ302及び303は、FIFO(First−In First−out)メモリである。転送制御部304は、スイッチポート間で転送するフレームのヘッダを解析するための、ヘッダ解析部305を有する。信号線310、311、312、313、314、315はクロスバスイッチXSWと接続する信号線であり、図1における信号線D0〜D4に相当する。信号線316、317はスイッチコントローラSCと接続する信号線であり,図1における信号線C0〜C4に相当する。
プロトコルICP_ICは、プロトコル処理部301と、受信用バッファメモリ302と、送信用バッファメモリ303と、転送制御部304から構成される。バッファメモリ302及び303は、FIFO(First−In First−out)メモリである。転送制御部304は、スイッチポート間で転送するフレームのヘッダを解析するための、ヘッダ解析部305を有する。信号線310、311、312、313、314、315はクロスバスイッチXSWと接続する信号線であり、図1における信号線D0〜D4に相当する。信号線316、317はスイッチコントローラSCと接続する信号線であり,図1における信号線C0〜C4に相当する。
信号線310、311、312は、他ポートからのフレームを受信するための信号線である。信号線312はフレーム受信用、信号線311は書き込み制御信号を受信するための信号線である。信号線310はバッファ空き容量通知用の信号線であり、バッファ空き容量が所定の値より大きい場合は”0”レベルであり、バッファの空き容量が所定の空き容量以下になると”1”レベルとなる。
信号線320、321、322は、プロトコル処理部301がバッファメモリ302からフレームを読み出すための信号線である。信号線320はフレーム受信検出用の信号線であり、バッファに未読み出しのフレームが無い場合は”0”レベルであり、バッファに未読み出しのフレームがある場合は”1”レベルとなる。信号線322は受信フレームを転送するための、信号線321は読み出し制御信号受信用の信号線である。
信号線323、324、325は、プロトコル処理部301からの他ポートへの送信データをバッファメモリ303へ書き込むための信号線である。信号線323はフレーム転送用、信号線324は書き込み制御信号用の信号線である。信号線325はバッファ空き容量通知用の信号線であり、バッファ空き容量が所定の値より大きい場合は”0”レベルであり、バッファの空き容量が所定の空き容量以下になると”1”レベルとなる。
信号線323、324、325は、プロトコル処理部301からの他ポートへの送信データをバッファメモリ303へ書き込むための信号線である。信号線323はフレーム転送用、信号線324は書き込み制御信号用の信号線である。信号線325はバッファ空き容量通知用の信号線であり、バッファ空き容量が所定の値より大きい場合は”0”レベルであり、バッファの空き容量が所定の空き容量以下になると”1”レベルとなる。
転送制御部304は、プロトコル処理部301から信号線326を介して送信フレームのヘッダ情報を受信し、ヘッダ解析部305へ入力する。ヘッダ解析部305は、送信フレームのヘッダから送信先アドレス情報を抽出し、信号線317を介してスイッチコントローラSCへ送信する。送信先アドレス情報を受信したスイッチコントローラSCは、クロスバスイッチXSWのスイッチ経路を設定した後、スイッチ切り換え完了を、信号線316を介して転送制御部304へ通知する。また、信号線316はポート毎の各種設定情報を、スイッチコントローラSCから受信するためにも使用する。
信号線313、314、315、330、331は、バッファメモリ303から他ポートへフレームを送信するための信号線である。信号線331は未送信フレーム検出用の信号線であり、バッファに未送信のフレームが無い場合は”0”レベルであり、バッファに未送信のフレームがある場合は”1”レベルとなる。信号線313はフレームを他ポートへ送信するための、信号線330は読み出し制御信号用の信号線である。信号線316を介してスイッチコントローラSCからスイッチ切り換え完了通知を受信した転送制御部304は、信号線315を介してフレーム送信先ポート内受信バッファメモリの空き容量を検査する。その後、信号線330上の読み出し制御信号と同期した書き込み制御信号を、信号線314を介してフレーム送信先ポート内受信用バッファメモリへ送信する。送信用バッファメモリ303からは、信号線330上の読み出し制御信号に同期したフレームが、信号線313を介して送信されている。従って、信号線313上の送信フレームと信号線314上の書き込み制御信号は、同期して送信先ポートへ届くことになる。
信号線310は他のプロトコルIC P_ICの信号線315と、信号線311は他のプロトコルIC P_ICの信号線314と、信号線312は他のプロトコルIC P_ICの信号線313と、クロスバスイッチXSWを介して、それぞれ接続する。
図4は、共有メモリSMの構成を示す図である。
共有メモリSMは、メモリ部401と転送制御部402からなる。メモリ部401はFIFOメモリである。また、転送制御部402はフレーム分析部403を有する。フレーム分析部403は、送信するフレームのヘッダを分析して送信先アドレス情報を抽出し、信号線417を介してスイッチコントローラSCへ送信する機能と、メモリ部401に蓄えられた各フレームが納められているメモリ・アドレス範囲を管理する機能を有する。信号線417を介してスイッチコントローラSCへ送信先アドレス情報を送信した後、その送信先アドレス情報を受信したスイッチコントローラSCは、クロスバスイッチXSWのスイッチ経路を設定し、その後スイッチ切り換え完了を、信号線416を介して転送制御部402へ通知する。また、信号線416は共有メモリSMの各種設定情報を、スイッチコントローラSCから受信するためにも使用する。
共有メモリSMは、メモリ部401と転送制御部402からなる。メモリ部401はFIFOメモリである。また、転送制御部402はフレーム分析部403を有する。フレーム分析部403は、送信するフレームのヘッダを分析して送信先アドレス情報を抽出し、信号線417を介してスイッチコントローラSCへ送信する機能と、メモリ部401に蓄えられた各フレームが納められているメモリ・アドレス範囲を管理する機能を有する。信号線417を介してスイッチコントローラSCへ送信先アドレス情報を送信した後、その送信先アドレス情報を受信したスイッチコントローラSCは、クロスバスイッチXSWのスイッチ経路を設定し、その後スイッチ切り換え完了を、信号線416を介して転送制御部402へ通知する。また、信号線416は共有メモリSMの各種設定情報を、スイッチコントローラSCから受信するためにも使用する。
信号線410、411、412、413、414、415は、クロスバスイッチXSWと接続する信号線であり、図1における信号線D5に相当する。信号線416、417はスイッチコントローラSCと接続する信号線であり,図1における信号線C5に相当する。
信号線410、411、412は、他ポートからのフレームを受信するための信号線である。信号線412はフレーム受信用、信号線411は書き込み制御信号を受信するための信号線である。信号線410はバッファ空き容量通知用の信号線であり、バッファ空き容量が所定の値より大きい場合は”0”レベルであり、バッファの空き容量が所定の空き容量以下になると”1”レベルとなる。
メモリ部401には2組の読み出し信号線がある。1組目は信号線413、420、421の組み合わせであり、2組目は信号線422、423、424の組み合わせである。
1組目の信号線413、420、421は、転送制御部402がメモリ部401からフレームを読み出すための信号線である。信号線421は送信フレーム検出用の信号線であり、メモリ部401に未送信のフレームが無い場合は”0”レベルであり、メモリ部401に未送信のフレームがある場合は”1”レベルとなる。信号線413はフレームを他ポートへ送信するための、信号線420は読み出し制御信号用の信号線である。転送制御部402は、信号線415を介してフレーム送信先ポート内受信バッファメモリの空き容量を検査する。その後、信号線420上の読み出し制御信号に同期した書き込み制御信号を、信号線414を介して、フレーム送信先のポートへ送信する。
2組目の信号線422、423、424は、フレーム分析部403がメモリ部401からフレームを読み出すための信号線である。信号線424は送信フレーム検出用の信号線であり、メモリ部401に未送信のフレームが無い場合は”0”レベルであり、メモリ部401に未送信のフレームがある場合は”1”レベルとなる。信号線422はフレームをフレーム分析部403へ転送するための、信号線423は読み出し制御信号用の信号線である。フレーム分析部403は、転送制御部402によるフレーム送信に先立ち、送信フレームのヘッダ分析、メモリ部401上メモリ・アドレス範囲の検出等を実行する。
次に、図5を参照して、本実施形態によるスイッチSWを適用したディスク装置の構成について説明する。
ディスク装置は、主にディスクコントローラDKCと、ディスクアレイDA1と、スイッチSWから構成される。ディスクコントローラDKCは、チャネルアダプタCHAと、キャッシュメモリCMと、ディスクアダプタDKAを有する。チャネルアダプタCHAとキャッシュメモリCMとディスクアダプタDKAは、相互接続網NWで接続されている。チャネルアダプタCHAは、チャネルC00、C01、C02、C03を介してホストコンピュータのような上位装置(図示せず)と接続される。ディスクアダプタDKAはチャネルD00とスイッチSWを介して、ディスクアレイDA1と接続される。チャネルD01、D02、D03においてもチャネルD00と同様にスイッチを介してディスクアレイを接続可能であるが、ここでは簡単のために省略する。ディスクコントローラDKCとスイッチSWは、保守端末SVPから設定情報を入力することができる。
ディスク装置は、主にディスクコントローラDKCと、ディスクアレイDA1と、スイッチSWから構成される。ディスクコントローラDKCは、チャネルアダプタCHAと、キャッシュメモリCMと、ディスクアダプタDKAを有する。チャネルアダプタCHAとキャッシュメモリCMとディスクアダプタDKAは、相互接続網NWで接続されている。チャネルアダプタCHAは、チャネルC00、C01、C02、C03を介してホストコンピュータのような上位装置(図示せず)と接続される。ディスクアダプタDKAはチャネルD00とスイッチSWを介して、ディスクアレイDA1と接続される。チャネルD01、D02、D03においてもチャネルD00と同様にスイッチを介してディスクアレイを接続可能であるが、ここでは簡単のために省略する。ディスクコントローラDKCとスイッチSWは、保守端末SVPから設定情報を入力することができる。
図6を参照して、チャネルアダプタCHAの構成について説明する。
チャネルアダプタCHAは、チャネルC00〜C03に接続されたホストチャネル・インターフェイス61と、相互結合網NWに接続されたキャッシュメモリ・インターフェイス62と、保守端末SVPに接続するためのネットワーク・インターフェイス63と、上位装置との間でのデータ転送を制御するためのプロセッサ64と、プロセッサ64が参照する各種のテーブルや実行すべきソフトウェアを格納したローカルメモリ65と、これらの要素間の相互接続するプロセッサ周辺制御部66から構成される。
チャネルアダプタCHAは、チャネルC00〜C03に接続されたホストチャネル・インターフェイス61と、相互結合網NWに接続されたキャッシュメモリ・インターフェイス62と、保守端末SVPに接続するためのネットワーク・インターフェイス63と、上位装置との間でのデータ転送を制御するためのプロセッサ64と、プロセッサ64が参照する各種のテーブルや実行すべきソフトウェアを格納したローカルメモリ65と、これらの要素間の相互接続するプロセッサ周辺制御部66から構成される。
保守端末SVPは、プロセッサ64、74(後述する)が参照する上記各種テーブルの設定、変更、あるいはディスク装置の稼働状況のモニタ等に使用する。
ホストチャネル・インターフェイス61は、チャネルC00〜C03上のデータ転送プロトコルと、ディスクコントローラ内部のデータ転送プロトコルとの間の変換機能を有し、ホストチャネル・インターフェイス61とキャッシュメモリ・インターフェイス62との間は信号線67によって接続される。
ホストチャネル・インターフェイス61は、チャネルC00〜C03上のデータ転送プロトコルと、ディスクコントローラ内部のデータ転送プロトコルとの間の変換機能を有し、ホストチャネル・インターフェイス61とキャッシュメモリ・インターフェイス62との間は信号線67によって接続される。
図7を参照して、ディスクアダプタDKAの構成について説明すると、ディスクアダプタDKAは、相互結合網NWに接続されたキャッシュメモリ・インターフェイス71と、ディスクチャネルD00〜D03に接続されたディスクチャネル・インターフェイス72と、保守端末SVPに接続するためのネットワーク・インターフェイス73と、プロセッサ74と、該プロセッサが参照する各種のテーブルや実行すべきソフトウェアを格納したローカルメモリ75と、これらの要素間の相互接続するプロセッサ周辺制御部76とから構成される。
キャッシュメモリ・インターフェイス71とディスクチャネル・インターフェイス72との間は信号線77によって接続される。ディスクチャネル・インターフェイス72は、ディスクコントローラ内部のデータ転送プロトコルと、チャネルD00〜D03上のデータ転送プロトコル、例えば、FCP-SCSIとの間の変換機能を備えている。
次に、本実施形態におけるディスクアレイDA1の構成について述べる。
図5に示したディスクアレイDA1は、チャネルD10上に接続した4個のディスクドライブからなるディスクアレイと、チャネルD11上に接続した4個のディスクドライブからなるディスクアレイと、チャネルD12上に接続した4個のディスクドライブからなるディスクアレイと、チャネルD13上に接続した4個のディスクドライブからなるディスクアレイ、からなる。
チャネルD10を例にとると、ディスクドライブDK0、DK4、DK8、DK12が、チャネルD10上に接続されている。このように、多数のドライブを一つのチャネル上に接続してディスクドライブにアクセスする方法としては、ファイバチャネル・アービトレイテッド・ループ(FC−AL)がある。また、R0、R1、R2、R3はディスクドライブの論理グループを示す。
図5に示したディスクアレイDA1は、チャネルD10上に接続した4個のディスクドライブからなるディスクアレイと、チャネルD11上に接続した4個のディスクドライブからなるディスクアレイと、チャネルD12上に接続した4個のディスクドライブからなるディスクアレイと、チャネルD13上に接続した4個のディスクドライブからなるディスクアレイ、からなる。
チャネルD10を例にとると、ディスクドライブDK0、DK4、DK8、DK12が、チャネルD10上に接続されている。このように、多数のドライブを一つのチャネル上に接続してディスクドライブにアクセスする方法としては、ファイバチャネル・アービトレイテッド・ループ(FC−AL)がある。また、R0、R1、R2、R3はディスクドライブの論理グループを示す。
ディスクコントローラDKCは、チャネルD00を介してスイッチSWのポートP0と接続する。また、ディスクアレイDA1のチャネルD10はスイッチSWのポートP1と、チャネルD11はスイッチSWのポートP2と、チャネルD12はスイッチSWのポートP3と、チャネルD13はスイッチSWのポートP4とそれぞれ接続する。さらに保守端末SVPはスイッチSWのポートNPと接続する。ディスクコントローラ側チャネルD00上の媒体速度は、ディスクアレイ側チャネルD10、D11、D12、D13上のデータ転送がチャネルD00に集約された場合にも余裕がある速度に設定するのがよい。
次に、図8及び図9を参照して本実施形態におけるスイッチの動作の特徴について説明する。
スイッチSWは、設定により、内部のクロスバスイッチXSWのみにより切り換える動作モード(以下、モードAとする)と、クロスバスイッチXSWと共有メモリSMを併用した切り換えの動作モード(以下、モードBとする)を、フレームの入力ポート毎に選択できる。図8及び図9は、共にディスクコントローラDKCと接続したポートP0と、ディスクアレイDA1と接続したポートP2間のフレーム転送を示している。
図8は、ディスクアレイDA1からディスクコントローラDKCへのフレーム転送であり、主にコントローラDKCの読み出し動作時に相当する。一方、図9は、ディスクコントローラDKCからディスクアレイDA1へのフレーム転送であり、主にディスクコントローラDKCの書き込み動作時に相当する。
スイッチSWは、設定により、内部のクロスバスイッチXSWのみにより切り換える動作モード(以下、モードAとする)と、クロスバスイッチXSWと共有メモリSMを併用した切り換えの動作モード(以下、モードBとする)を、フレームの入力ポート毎に選択できる。図8及び図9は、共にディスクコントローラDKCと接続したポートP0と、ディスクアレイDA1と接続したポートP2間のフレーム転送を示している。
図8は、ディスクアレイDA1からディスクコントローラDKCへのフレーム転送であり、主にコントローラDKCの読み出し動作時に相当する。一方、図9は、ディスクコントローラDKCからディスクアレイDA1へのフレーム転送であり、主にディスクコントローラDKCの書き込み動作時に相当する。
ここで、ポートP0には、P0に入力するフレームに関してクロスバスイッチXSWと共有メモリSMを併用した切り換えの動作モード(モードB)を設定し、ポートP1、P2、P3、P4には入力フレームに関して、クロスバスイッチXSWのみにより切り換える動作モード(モードA)を設定している。なお、この動作モード設定は、保守端末SVPから設定、変更が可能である。
その結果、図8の矢印801に示すように、ディスクアレイDA1からディスクコントローラDKCへのフレーム転送はクロスバスイッチXSWのみを経由する。それに対してディスクコントローラDKCからディスクアレイDA1へのフレーム転送では、スイッチSWは図9の矢印901に示すように、クロスバスイッチXSWのみを経由するフレーム転送と、矢印902、903に示すような共有メモリSMとクロスバスイッチXSWを経由するフレーム転送を行う。
その結果、図8の矢印801に示すように、ディスクアレイDA1からディスクコントローラDKCへのフレーム転送はクロスバスイッチXSWのみを経由する。それに対してディスクコントローラDKCからディスクアレイDA1へのフレーム転送では、スイッチSWは図9の矢印901に示すように、クロスバスイッチXSWのみを経由するフレーム転送と、矢印902、903に示すような共有メモリSMとクロスバスイッチXSWを経由するフレーム転送を行う。
詳細については後述するが、ディスクコントローラDKCからディスクアレイDA1への転送において、ポートP0は、先ず、クロスバスイッチXSWのみを経由するフレーム転送(矢印901)を実行する。ディスクコントローラDKCとスイッチSWのポートP0間の実行スループットは、ポートP1、P2、P3、P4とディスクアレイDA1間の実行スループットより高いので、データ転送長が長い場合にはポートP2内のバッファメモリはオーバーフローすることになる。
ポートP2内バッファメモリの空き容量が所定の値以下になると、ポートP0はフレーム転送先を共有メモリSMに変更する(矢印902)。共有メモリSMにフレームが書き込まれると、矢印902のフレーム転送とは独立して、共有メモリSMからポートP2へのフレーム転送(矢印903)を開始する。矢印902のフレーム転送が終了後、図20の矢印2301に示すように、次にポートP0からP3へのフレーム転送が開始されたとする。このとき、共有メモリSMからポートP2へのフレーム転送(矢印2302)と、ポートP0からポートP3へのフレーム転送は、出力ポートが競合しないので並行して実行できる。
つまり、本実施形態のスイッチでは、スイッチ出力ポートのバッファメモリがオーバーフローしそうになった場合に、転送すべきフレームを一旦共有メモリSMに書き込み、出力ポートバッファに空き容量ができた時点で、フレームを共有メモリSMから出力ポートへ転送し直す。この動作により、スイッチの出力ポート先が競合しないフレーム転送に関しては並行実行できるので、出力ポートバッファが溢れる影響を軽減でき、ディスクコントローラDKCからディスクアレイDA1への転送スループットが向上することになる。
これにより本実施形態のスイッチを適用したディスク装置では、書き込み時のスループットが向上する効果がある。
これにより本実施形態のスイッチを適用したディスク装置では、書き込み時のスループットが向上する効果がある。
図10は、動作モードAに設定されたポートにおけるフレーム転送フローを示す。
まず、入力ポートのヘッダ解析部304は、これから転送するフレームのヘッダを解析して、送信先アドレス情報(ファイバチャネルの場合は送信先ポートID)をスイッチコントローラSCへ送信する(1001)。スイッチコントローラSCは、受信した送信先アドレス情報に従い、クロスバスイッチXSWを切り換える(1002)。出力先スイッチポートに競合が発生した場合は調停を行う。そして、スイッチコントローラSCは、クロスバスイッチXSWの切り換え完了を入力ポートへ送信する。次に入力ポートは出力ポートへフレームを転送する(1003)。そして入力ポートは、転送完了をスイッチコントローラSCへ送信する(1004)。
まず、入力ポートのヘッダ解析部304は、これから転送するフレームのヘッダを解析して、送信先アドレス情報(ファイバチャネルの場合は送信先ポートID)をスイッチコントローラSCへ送信する(1001)。スイッチコントローラSCは、受信した送信先アドレス情報に従い、クロスバスイッチXSWを切り換える(1002)。出力先スイッチポートに競合が発生した場合は調停を行う。そして、スイッチコントローラSCは、クロスバスイッチXSWの切り換え完了を入力ポートへ送信する。次に入力ポートは出力ポートへフレームを転送する(1003)。そして入力ポートは、転送完了をスイッチコントローラSCへ送信する(1004)。
図11は、動作モードBに設定されたポートにおけるフレーム転送フローを示す。
まず、入力ポートのヘッダ解析部304は、これから転送するフレームのヘッダを解析して、送信先アドレス情報(ファイバチャネルの場合は送信先ポートID)をスイッチコントローラSCへ送信する(1101)。スイッチコントローラSCは、受信した送信先アドレス情報に従い、クロスバスイッチXSWを切り換える。出力先スイッチポートに競合が発生した場合は調停を行う。そして、スイッチコントローラSCはクロスバスイッチXSWの切り換え完了を入力ポートへ送信する(1102)。次に、入力ポートはフレームの転送先である出力ポートのバッファメモリBMの空き容量を調べる(1103)。空き容量が所定の値より大き場合はステップ1104へ移行し、所定の値以下の場合はステップ1106へ進む。
まず、入力ポートのヘッダ解析部304は、これから転送するフレームのヘッダを解析して、送信先アドレス情報(ファイバチャネルの場合は送信先ポートID)をスイッチコントローラSCへ送信する(1101)。スイッチコントローラSCは、受信した送信先アドレス情報に従い、クロスバスイッチXSWを切り換える。出力先スイッチポートに競合が発生した場合は調停を行う。そして、スイッチコントローラSCはクロスバスイッチXSWの切り換え完了を入力ポートへ送信する(1102)。次に、入力ポートはフレームの転送先である出力ポートのバッファメモリBMの空き容量を調べる(1103)。空き容量が所定の値より大き場合はステップ1104へ移行し、所定の値以下の場合はステップ1106へ進む。
バッファメモリBMの空き容量が所定の値より大き場合には、入力ポートはフレームを出力ポートへ転送する(1104)。そして、入力ポートは転送完了をスイッチコントローラSCへ送信する(1105)。
一方、その空き容量が所定の値以下の場合には、入力ポートはフレーム転送先を共有メモリSMに変更し(1106)、入力ポートと共有メモリとを接続するための接続要求をスイッチコントローラSCへ送信する。そして、スイッチコントローラSCは、クロスバスイッチXSWを切り換えて、入力ポートと共有メモリSMを接続する。その後、スイッチコントローラSCは切り換え完了を入力ポートへ送信する(1107)。その後、入力ポートは、フレームを共有メモリSMへ転送し(1108)、その転送が終わると、転送完了をスイッチコントローラSCへ送信する(1109)。
一方、その空き容量が所定の値以下の場合には、入力ポートはフレーム転送先を共有メモリSMに変更し(1106)、入力ポートと共有メモリとを接続するための接続要求をスイッチコントローラSCへ送信する。そして、スイッチコントローラSCは、クロスバスイッチXSWを切り換えて、入力ポートと共有メモリSMを接続する。その後、スイッチコントローラSCは切り換え完了を入力ポートへ送信する(1107)。その後、入力ポートは、フレームを共有メモリSMへ転送し(1108)、その転送が終わると、転送完了をスイッチコントローラSCへ送信する(1109)。
図11に示す動作モードBの処理動作により、共有メモリSMに書き込まれたフレームは、図12のフローにより、出力ポートへ転送される。
すなわち、共有メモリSMの転送制御部402は、これから転送するフレームのヘッダを解析して、送信先アドレス情報(ファイバチャネルの場合は送信先ポートID)をスイッチコントローラSCへ送信する(1201)。スイッチコントローラSCは、受信した送信先アドレス情報に従い、クロスバスイッチXSWを切り換える。出力先スイッチポートに競合が発生した場合は調停を行う。そして、スイッチコントローラSCはクロスバスイッチXSWの切り換え完了を共有メモリSMへ通知する(1202)。次に、共有メモリSMは出力ポートへフレームを転送する(1203)。フレームの転送が終わると、最後に共有メモリSMは転送完了をスイッチコントローラSCへ送信する(1204)。なお、図11と図12のフローは出力ポートの競合が無い限り、並行して実行することが可能である。
すなわち、共有メモリSMの転送制御部402は、これから転送するフレームのヘッダを解析して、送信先アドレス情報(ファイバチャネルの場合は送信先ポートID)をスイッチコントローラSCへ送信する(1201)。スイッチコントローラSCは、受信した送信先アドレス情報に従い、クロスバスイッチXSWを切り換える。出力先スイッチポートに競合が発生した場合は調停を行う。そして、スイッチコントローラSCはクロスバスイッチXSWの切り換え完了を共有メモリSMへ通知する(1202)。次に、共有メモリSMは出力ポートへフレームを転送する(1203)。フレームの転送が終わると、最後に共有メモリSMは転送完了をスイッチコントローラSCへ送信する(1204)。なお、図11と図12のフローは出力ポートの競合が無い限り、並行して実行することが可能である。
図11のフローでは、エクスチェンジに含まれる全てのフレームが動作モードBの対象になっている。図22に示すように、コマンドやレスポンスのシーケンスは短いので、ポートのバッファメモリをオーバーフローさせる主たる原因にはならないと考えられる。
そこで他の例として、図13のフローに、動作モードBの対象をデータ転送シーケンスに含まれるフレームに絞り、共有メモリを効率的に使用する例を示す。
そこで他の例として、図13のフローに、動作モードBの対象をデータ転送シーケンスに含まれるフレームに絞り、共有メモリを効率的に使用する例を示す。
図13のステップ1301において、入力ポートのヘッダ解析部304は、転送するフレームがデータ転送シーケンスに含まれるか、及び出力ポートのバッファメモリとの関係を検査する。
図18に、データ転送シーケンスに含まれるフレームの構造を示す。転送するフレームがデータ転送シーケンスに含まれるかどうかは、フィールド1801を検査することにより容易に知ることができる。図13の他のステップは、図11と同じである。
図18に、データ転送シーケンスに含まれるフレームの構造を示す。転送するフレームがデータ転送シーケンスに含まれるかどうかは、フィールド1801を検査することにより容易に知ることができる。図13の他のステップは、図11と同じである。
上記の図11および図13のフローは、動作モードBをフレームの入力ポート毎に設定する場合の例である。図14に、更に他の例による動作フローを示す。
図14には、ポート毎にフレームの送信元アドレス情報を検査することにより、動作モード決定するフローを示す。この例では、予めスイッチの各ポートに比較すべき送信元アドレス情報を登録しておく。即ち、ディスクコントローラ内ディスクアダプタのポートIDを、保守端末SVPからスイッチに入力し、各ポートに登録しておく。
ステップ1401において、これから転送するフレームの送信元情報と、登録してあるディスクアダプタのポートIDを比較する。両者が一致し且つ出力先ポートバッファの空き容量が所定の値以下である場合は、共有メモリSMへフレームを転送する。なお、図14の他のステップは、図11と同じである。
このようにフレーム毎の送信元情報で動作モードBを制御することにより、スイッチのどのポートをディスクコントローラDKCと接続しなければならないかを知っておく必要がなくなり、スイッチ接続トポロジの自由度が増す。さらに多段にスイッチを接続した場合に、全スイッチにディスクコントローラのポートIDを通知するだけでよいので、スイッチ間の接続関係を調べなければならない図11、図13の例に比べて、管理が容易である。
図17に、コマンド転送フレームの構造を示す。転送するフレームの送信元情報は、例えばフィールド1701を検査することにより容易に知ることができる。
図14には、ポート毎にフレームの送信元アドレス情報を検査することにより、動作モード決定するフローを示す。この例では、予めスイッチの各ポートに比較すべき送信元アドレス情報を登録しておく。即ち、ディスクコントローラ内ディスクアダプタのポートIDを、保守端末SVPからスイッチに入力し、各ポートに登録しておく。
ステップ1401において、これから転送するフレームの送信元情報と、登録してあるディスクアダプタのポートIDを比較する。両者が一致し且つ出力先ポートバッファの空き容量が所定の値以下である場合は、共有メモリSMへフレームを転送する。なお、図14の他のステップは、図11と同じである。
このようにフレーム毎の送信元情報で動作モードBを制御することにより、スイッチのどのポートをディスクコントローラDKCと接続しなければならないかを知っておく必要がなくなり、スイッチ接続トポロジの自由度が増す。さらに多段にスイッチを接続した場合に、全スイッチにディスクコントローラのポートIDを通知するだけでよいので、スイッチ間の接続関係を調べなければならない図11、図13の例に比べて、管理が容易である。
図17に、コマンド転送フレームの構造を示す。転送するフレームの送信元情報は、例えばフィールド1701を検査することにより容易に知ることができる。
図15に更に他の例について示す。この例は、図14と同様にディスクコントローラのポートID入力を必要としない動作モードBの制御フローチャートの例である。
ステップ1501において、転送フレームのヘッダを調べることにより、該フレームが書き込みエクスチェンジに含まれるか、さらにはデータ転送シーケンスに含まれるかをチェックする。転送するフレームが書き込みエクスチェンジのデータ転送シーケンスに含まれるフレームであり、且つ出力先ポートのバッファ空き容量が所定の値以下の場合に、転送フレームは共有メモリSMへ転送される。図15のその他のステップは、図11と同じである。
ステップ1501において、転送フレームのヘッダを調べることにより、該フレームが書き込みエクスチェンジに含まれるか、さらにはデータ転送シーケンスに含まれるかをチェックする。転送するフレームが書き込みエクスチェンジのデータ転送シーケンスに含まれるフレームであり、且つ出力先ポートのバッファ空き容量が所定の値以下の場合に、転送フレームは共有メモリSMへ転送される。図15のその他のステップは、図11と同じである。
ステップ1501の判定をするためには、各ポート毎に、図19に示すようなエクスチェンジID1901を登録したテーブルが必要となる。
図16に、図19のテーブルの作成フローを示す。
まず、転送するフレームがコマンドフレームFCP_CMNDかどうかを判定する(1601)。これは、図17のフィード1702を検査することで容易に判断できる。検査の結果、コマンドフレームである場合は、書き込みコマンドであるかを検査する(1602)。これは、図17のフィード1704を検査することで容易に判断できる。判断の結果、書き込みコマンドである場合は、ステップ1603へ進む。図17におけるフィールド1703からエクスチェンジID(OX_ID)を抽出し、図19のテーブルに登録する(1603)。
図16に、図19のテーブルの作成フローを示す。
まず、転送するフレームがコマンドフレームFCP_CMNDかどうかを判定する(1601)。これは、図17のフィード1702を検査することで容易に判断できる。検査の結果、コマンドフレームである場合は、書き込みコマンドであるかを検査する(1602)。これは、図17のフィード1704を検査することで容易に判断できる。判断の結果、書き込みコマンドである場合は、ステップ1603へ進む。図17におけるフィールド1703からエクスチェンジID(OX_ID)を抽出し、図19のテーブルに登録する(1603)。
一方、ステップ1601において転送フレームがコマンドフレームではなかった場合は、エクスチェンジ終了条件を検査する(1604)。エクスチェンジが終了するかどうかは、フレーム内のF_CTLフィールド例えば図18のフィールド1802を検査することで、容易に知ることができる。最後に、エクスチェンジが終了した場合には、図19のテーブルから終了したエクスチェンジに関連するエントリを削除する(1605)。
以上説明したように、本実施形態のスイッチによれば共有メモリを書き込みフレームのバッファメモリとして利用するため、読み出しフレームと書き込みフレーム両対応の共有メモリの場合に比べて、少ない容量の共有メモリでも効果的にバッファ効果を持たせることができる。また、ポート毎に大容量のバッファメモリを持たせる場合に比べても、低コスト化できる。
以上述べた例では、ディスク装置のディスクコントローラとディスクアレイを接続するスイッチについて、データ転送方式としてファイバチャネルを例に説明した。本発明によるスイッチはこれに限定されることなく、ファイバチャネル以外のディスク装置向けデータ転送方式、例えばSAS(Serial Attached SCSI)のエキスパンダにも適用できる。
また、上記実施形態によれば、バッファメモリの空き容量に従って、第1のモード又は第2のモードを選択するように、クロスバスイッチにより経路変更を行っているが、本発明はこれに限定されない。即ち、ディスクコントローラとディスクアレイ間のスループットの向上に寄与するものであれば、バッファメモリの空き容量以外の要因に従って、上記第1のモードと第2のモードを切り替えて経路を変更し、変更された経路でデータ転送を行うことができる。この場合、例えば、要因を監視又は解析する制御部からのコマンドに従って第1のモード又は第2のモードを選択する。
SW:スイッチ DKC:ディスクコントローラ
CHA:チャネルアダプタ CM:キャッシュメモリ
DKA:ディスクアダプタ DA、DA1:ディスクアレイ
DK0〜DK16:ディスクドライブ S0〜S5:セレクタ
C00〜C03、D00〜D03、D10〜D13:チャネル
P_IC:プロトコルIC NP:ネットワークポート
P0〜P4:スイッチポート
P_0〜P_5、SELECT:クロスバスイッチポート
XSW:クロスバスイッチ SC:スイッチコントローラ
SM:共有メモリ SP:シリアルパラレル変換装置
PS:パラレルシリアル変換装置 BM、302、303:バッファメモリ
Tx:送信器 Rx:受信器 NW:相互結合網
R0〜R3:論理グループ SVP:保守端末
61:ホストチャネル・インターフェイス
72:ディスクチャネル・インターフェイス
62、71:キャッシュメモリ・インターフェイス
63、73:ネットワーク・インターフェイス
64、74:プロセッサ 66、76:プロセッサ周辺制御部
65、75:ローカルメモリ 301:プロトコル処理部
304、402:転送制御部 305:ヘッダ解析部
401:メモリ部 403:フレーム分析部
CHA:チャネルアダプタ CM:キャッシュメモリ
DKA:ディスクアダプタ DA、DA1:ディスクアレイ
DK0〜DK16:ディスクドライブ S0〜S5:セレクタ
C00〜C03、D00〜D03、D10〜D13:チャネル
P_IC:プロトコルIC NP:ネットワークポート
P0〜P4:スイッチポート
P_0〜P_5、SELECT:クロスバスイッチポート
XSW:クロスバスイッチ SC:スイッチコントローラ
SM:共有メモリ SP:シリアルパラレル変換装置
PS:パラレルシリアル変換装置 BM、302、303:バッファメモリ
Tx:送信器 Rx:受信器 NW:相互結合網
R0〜R3:論理グループ SVP:保守端末
61:ホストチャネル・インターフェイス
72:ディスクチャネル・インターフェイス
62、71:キャッシュメモリ・インターフェイス
63、73:ネットワーク・インターフェイス
64、74:プロセッサ 66、76:プロセッサ周辺制御部
65、75:ローカルメモリ 301:プロトコル処理部
304、402:転送制御部 305:ヘッダ解析部
401:メモリ部 403:フレーム分析部
Claims (18)
- ディスクコントローラとディスクアレイを接続してデータを転送するスイッチにおいて、
該ディスクコントローラとディスクアレイ間で転送されるデータを一次的に格納するために、スイッチの複数のポートに対応して設けられたバッファメモリと、
いずれかのポートに接続して、データを転送するための経路を設定するクロスバスイッチと、
該クロスバスイッチに接続され、転送データを格納する共有メモリと、
転送されるフレームに対する出力ポートのバッファメモリの空き容量を監視する制御部と、を有し、
該制御部は、
該監視に従い、該バッファメモリの空き容量が所定の値より多い場合には、該フレーム内の送信先情報に従い、該クロスバスイッチを経路設定して、該フレームを該入力ポートから該バッファメモリを介して出力ポートへ転送し、
該バッファメモリの空き容量が所定の値以下の場合には、該入力ポートから該クロスバスイッチを経由して該共有メモリへフレームを書き込み、
かつ、該フレーム内の送信先情報に従って該クロスバスイッチを経路設定して、該共有メモリからフレームを読み出し、該クロスバスイッチを経由して出力ポートへ転送するように制御することを特徴とするスイッチ。 - 前記制御部は、フレームの入力ポートが予め定められたポートであるかを判別し、該入力ポート判別及び前記バッファメモリの空き容量の監視に従い、
該バッファメモリの空き容量が所定の値より多いか、又は該フレームの入力ポートが予め定められたポートではない場合は、該フレーム内の送信先情報に従い前記クロスバスイッチを経路設定して、該入力ポートからバッファメモリを介して該出力ポートへ該フレームを転送し、
該バッファメモリの空き容量が所定の値以下であり、且つ該入力ポートが予め定められたポートである場合は、該入力ポートから該クロスバスイッチを経由して該共有メモリへフレームを書き込むことを特徴とする請求項1記載のスイッチ。 - 前記制御部は、予め定められたポートとして、該ディスクコントローラと接続されたスイッチのポートであるかを判別することを特徴とする請求項2記載のスイッチ。
- 前記制御部は、更に該フレームに含まれる送信元情報の識別を行い、
該送信元情報の識別及び前記監視に従って、
該バッファメモリの空き容量が所定の値より多いか、或いは該送信元情報が予め定められた送信元情報ではない場合は、該フレーム内の送信先情報に従い前記クロスバスイッチを経路設定して、該フレームを該入力ポートから該バッファメモリを介して該出力ポートへ転送し、
該バッファメモリの空き容量が所定の値以下であり、且つ該送信元情報が予め定められた送信元情報である場合には、該入力ポートから前記クロスバスイッチを経由して該共有メモリへフレームを書き込むことを特徴とする請求項1記載のスイッチ。 - 前記制御部は、前記予め定められた送信元情報として、該ディスクコントローラのポート識別情報であるかを識別することを特徴とする請求項4記載スイッチ。
- 前記制御部は、更に、該フレームを含むエスチェンジに含まれるコマンドが予め定められたコマンドであるかの判別を行い、
該コマンドの判別及びバッファメモリの前記監視に従い、
該バッファメモリの空き容量が所定の値より多いか、或いは該エクスチェンジに含まれるコマンドが予め定められたコマンドではない場合は、該フレーム内の送信先情報に従い前記クロスバスイッチを経路設定して、該フレームを該入力ポートから該出力ポートへ転送し、
該バッファメモリの空き容量が所定の値以下であり、且つ該エクスチェンジに含まれるコマンドが予め定められたコマンドである場合は、該入力ポートから前記クロスバスイッチを経由して前記共有メモリへ該フレームを書き込むことを特徴とする請求項1記載のスイッチ。 - 前記制御部は、該予め定められたコマンドの判別として、書き込みコマンドであるかを判別することを特徴とする請求項6記載のスイッチ。
- バッファメモリを有するスイッチを用いて、ディスクコントローラとディスクアレイの間でデータの転送を行うデータ転送制御方法において、
該ディスクコントローラと該ディスクアレイ間で転送されるフレームの出力ポートのバッファメモリの空き容量を監視するステップと、
該監視により該バッファメモリの空き容量が所定の値より多い場合には、該フレーム内の送信先情報に従い、クロスバスイッチを経路設定して、該フレームを入力ポートから該バッファメモリを介して出力ポートへ転送するステップと、
該バッファメモリの空き容量が所定の値以下の場合には、入力ポートから該クロスバスイッチを経由して共有メモリへ該フレームを書き込むステップと、
該フレーム内の送信先情報に従って該クロスバスイッチを経路設定するステップと、
該共有メモリから該フレームを読み出すステップと、
該共有メモリから読み出された該フレームを、該クロスバスイッチを経由して出力ポートへ転送するステップと、
を有することを特徴とするデータ転送制御方法。 - 更に、転送される該フレームの入力ポートが予め定められたポートであるか判別するステップを含み、
該バッファメモリの空き容量が所定の値より多いか、又は該入力ポートが予め定められたポートでない場合には、該フレーム内の送信先情報に従い該クロスバスイッチを経路設定して、該フレームを該入力ポートから出力ポートへ転送し、
該バッファメモリの空き容量が所定の値以下であり、かつ該入力ポートが予め定められたポートである場合には、該入力ポートから該クロスバスイッチを経由して該共有メモリへフレームを書き込むことを特徴とする請求項8記載のデータ転送制御方法。 - 更に、該フレームに含まれる送信元情報の識別を行うステップと含み、
該バッファメモリの空き容量が所定の値より多いか、或いは該送信元情報が予め定められた送信元情報ではない場合は、該フレーム内の送信先情報に従い前記クロスバスイッチを経路設定して、該フレームを該入力ポートから該出力ポートへ転送し、
該バッファメモリの空き容量が所定の値以下であり、且つ該送信元情報が予め定められた送信元情報である場合には、該入力ポートから前記クロスバスイッチを経由して該共有メモリへフレームを書き込むことを特徴とする請求項8記載のデータ転送制御方法。 - 更に、該フレームを含むエスチェンジに含まれるコマンドが予め定められたコマンドであるかの判別を行うステップを含み、
該バッファメモリの空き容量が所定の値より多いか、或いは該エクスチェンジに含まれるコマンドが予め定められたコマンドではない場合は、該フレーム内の送信先情報に従い前記クロスバスイッチを経路設定して、該フレームを該入力ポートから該出力ポートへ転送し、
該バッファメモリの空き容量が所定の値以下であり、且つ該エクスチェンジに含まれるコマンドが予め定められたコマンドである場合は、該入力ポートから前記クロスバスイッチを経由して前記共有メモリへ該フレームを書き込むことを特徴とする請求項8記載のデータ転送制御方法。 - 前記判別ステップは、該エスチェンジに含まれるコマンドが書き込みコマンドであるかを判別することを特徴とする請求項11記載のデータ転送制御方法。
- 前記フレームは、データ転送シーケンスに含まれるフレームであることを特徴とする請求項8乃至12のいずれか記載のデータ転送制御方法。
- データを記憶するディスクアレイと、該ディスクアレイへデータの読み書きを制御するディスクコントローラと、該ディスクコントローラとディスクアレイを接続するスイッチと、を有するディスク装置において、該スイッチは;
該ディスクコントローラとディスクアレイ間で転送されるデータを一次的に格納するために、スイッチの複数のポートに対応して設けられたバッファメモリと、
いずれかのポートに接続して、データを転送するための経路を設定するクロスバスイッチと、
該クロスバスイッチに接続され、転送データを格納する共有メモリと、
転送されるフレームに対する出力ポートのバッファメモリの空き容量を監視する制御部と、を有し、
該制御部は、
該監視に従い、該バッファメモリの空き容量が所定の値より多い場合には、該フレーム内の送信先情報に従い、該クロスバスイッチを経路設定して、該フレームを該入力ポートから該バッファメモリを介して出力ポートへ転送し、
該バッファメモリの空き容量が所定の値以下の場合には、該入力ポートから該クロスバスイッチを経由して該共有メモリへフレームを書き込み、
かつ、該フレーム内の送信先情報に従って該クロスバスイッチを経路設定して、該共有メモリからフレームを読み出し、該クロスバスイッチを経由して出力ポートへ転送するように制御することを特徴とするディスク装置。 - 前記制御部は、フレームの入力ポートが予め定められたポートであるかを判別し、該入力ポート判別及び前記バッファメモリの空き容量の監視に従い、
該バッファメモリの空き容量が所定の値より多いか、又は該フレームの入力ポートが予め定められたポートではない場合は、該フレーム内の送信先情報に従い前記クロスバスイッチを経路設定して、該入力ポートからバッファメモリを介して該出力ポートへ該フレームを転送し、
該バッファメモリの空き容量が所定の値以下であり、且つ該入力ポートが予め定められたポートである場合は、該入力ポートから該クロスバスイッチを経由して該共有メモリへフレームを書き込むことを特徴とする請求項14記載のディスク装置。 - 複数のポートに対応してバッファメモリを有するスイッチを用いて、第1の装置と第2の装置との間でデータの転送を行うデータ転送制御方法において、
クロスバスイッチにより経路設定して、入力ポートから該バッファメモリを介してある出力ポートへデータを転送する第1のモードと、
該入力ポートから該クロスバスイッチを経由して共有メモリへデータを書き込むようにデータを転送する第2のモードと、
該第1のモード又は該第2のモードを選択するように、該クロスバスイッチにより経路変更するステップと、
該第2のモードが選択された場合、該共有メモリに書き込まれたデータを読み出して、該クロスバスイッチを経由して該データを出力ポートへ転送するステップと、
を有することを特徴とするデータ転送制御方法。 - 前記第1の装置はディスクコントローラであり、前記第2の装置はディスクアレイであり、該ディスクコントローラから該ディスクアレイへデータを書き込むときに、前記第2のモードの選択を有効とすることを特徴とする請求項16記載のデータ転送制御方法。
- 前記経路変更ステップは、該バッファメモリの空き容量に従って、該第2のモードを選択するように、経路変更することを特徴とする請求項16記載のデータ転送制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004082190A JP2005267502A (ja) | 2004-03-22 | 2004-03-22 | データ転送用スイッチ |
US10/847,881 US7363400B2 (en) | 2004-03-22 | 2004-05-19 | Data transfer switch |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004082190A JP2005267502A (ja) | 2004-03-22 | 2004-03-22 | データ転送用スイッチ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005267502A true JP2005267502A (ja) | 2005-09-29 |
Family
ID=34987679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004082190A Pending JP2005267502A (ja) | 2004-03-22 | 2004-03-22 | データ転送用スイッチ |
Country Status (2)
Country | Link |
---|---|
US (1) | US7363400B2 (ja) |
JP (1) | JP2005267502A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013538389A (ja) * | 2010-10-28 | 2013-10-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Xfr_rdyの動的なイネーブリングおよびディセーブリングのための方法、コンピュータ・プログラム、およびシステム(xfr_rdyの動的なイネーブリングおよびディセーブリング) |
JP2014182739A (ja) * | 2013-03-21 | 2014-09-29 | Nec Corp | 通信制御システム、通信制御装置、通信制御方法、及びそのためのプログラム |
JP2014197282A (ja) * | 2013-03-29 | 2014-10-16 | 日本電気株式会社 | 切り替え装置、この装置を搭載した記憶システム、切り替え方法および切り替えプログラム |
US8904065B2 (en) | 2011-03-14 | 2014-12-02 | Kabushiki Kaisha Toshiba | Buffer management device, buffer management method, and storage device |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7451245B2 (en) * | 2004-12-01 | 2008-11-11 | Broadcom Corporation | System for dual use of an I/O circuit |
US7499464B2 (en) * | 2005-04-06 | 2009-03-03 | Robert Ayrapetian | Buffered crossbar switch with a linear buffer to port relationship that supports cells and packets of variable size |
JP4755050B2 (ja) * | 2006-08-18 | 2011-08-24 | 富士通株式会社 | データ処理装置、モード管理装置、及びモード管理方法 |
US7870306B2 (en) | 2006-08-31 | 2011-01-11 | Cisco Technology, Inc. | Shared memory message switch and cache |
US20080059686A1 (en) * | 2006-08-31 | 2008-03-06 | Keith Iain Wilkinson | Multiple context single logic virtual host channel adapter supporting multiple transport protocols |
JP5287975B2 (ja) * | 2009-03-09 | 2013-09-11 | 富士通株式会社 | 情報処理装置 |
US10230633B2 (en) * | 2016-01-21 | 2019-03-12 | Red Hat, Inc. | Shared memory communication in software defined networking |
US20180024762A1 (en) * | 2016-07-22 | 2018-01-25 | International Business Machines Corporation | Data access management in distributed computer storage environments |
US10545558B1 (en) * | 2019-01-25 | 2020-01-28 | BioMech Sensor LLC | Systems and methods for elastic delivery, processing, and storage for wearable devices based on system resources |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4082922A (en) * | 1977-02-22 | 1978-04-04 | Chu Wesley W | Statistical multiplexing system for computer communications |
US4701856A (en) * | 1985-03-12 | 1987-10-20 | Pitney Bowes Inc. | Reset delay circuit for an electronic postage meter |
US5404550A (en) * | 1991-07-25 | 1995-04-04 | Tandem Computers Incorporated | Method and apparatus for executing tasks by following a linked list of memory packets |
US6351780B1 (en) * | 1994-11-21 | 2002-02-26 | Cirrus Logic, Inc. | Network controller using held data frame monitor and decision logic for automatically engaging DMA data transfer when buffer overflow is anticipated |
US5636210A (en) * | 1995-08-02 | 1997-06-03 | Agrawal; Jagannath P. | Asynchronous transfer mode packet switch |
US5991296A (en) * | 1996-02-22 | 1999-11-23 | Fujitsu, Ltd. | Crossbar switch and method with reduced voltage swing and no internal blocking data path |
US6160813A (en) * | 1997-03-21 | 2000-12-12 | Brocade Communications Systems, Inc. | Fibre channel switching system and method |
US6317427B1 (en) * | 1997-04-24 | 2001-11-13 | Cabletron Systems, Inc. | Method and apparatus for adaptive port buffering |
JP4294142B2 (ja) * | 1999-02-02 | 2009-07-08 | 株式会社日立製作所 | ディスクサブシステム |
US6751704B2 (en) * | 2000-12-07 | 2004-06-15 | International Business Machines Corporation | Dual-L2 processor subsystem architecture for networking system |
US7406041B2 (en) | 2001-07-31 | 2008-07-29 | Brocade Communications Systems, Inc. | System and method for late-dropping packets in a network switch |
JP2003084919A (ja) | 2001-09-06 | 2003-03-20 | Hitachi Ltd | ディスクアレイ装置の制御方法およびディスクアレイ装置 |
US7301906B2 (en) * | 2001-12-17 | 2007-11-27 | Lsi Corporation | Methods and structures for improved buffer management and dynamic adaption of flow control status in high-speed communication networks |
US6792506B2 (en) | 2002-03-29 | 2004-09-14 | Emc Corporation | Memory architecture for a high throughput storage processor |
JP2003303055A (ja) * | 2002-04-09 | 2003-10-24 | Hitachi Ltd | ディスクアダプタとディスクアレイをスイッチを介して接続したディスク装置 |
JP4220887B2 (ja) | 2003-11-17 | 2009-02-04 | 株式会社日立製作所 | ディスク装置及びその制御方法 |
-
2004
- 2004-03-22 JP JP2004082190A patent/JP2005267502A/ja active Pending
- 2004-05-19 US US10/847,881 patent/US7363400B2/en not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013538389A (ja) * | 2010-10-28 | 2013-10-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Xfr_rdyの動的なイネーブリングおよびディセーブリングのための方法、コンピュータ・プログラム、およびシステム(xfr_rdyの動的なイネーブリングおよびディセーブリング) |
US8732357B2 (en) | 2010-10-28 | 2014-05-20 | International Business Machines Corporation | Apparatus and method for dynamically enabling and disabling write XFR—RDY |
US8904065B2 (en) | 2011-03-14 | 2014-12-02 | Kabushiki Kaisha Toshiba | Buffer management device, buffer management method, and storage device |
JP2014182739A (ja) * | 2013-03-21 | 2014-09-29 | Nec Corp | 通信制御システム、通信制御装置、通信制御方法、及びそのためのプログラム |
JP2014197282A (ja) * | 2013-03-29 | 2014-10-16 | 日本電気株式会社 | 切り替え装置、この装置を搭載した記憶システム、切り替え方法および切り替えプログラム |
Also Published As
Publication number | Publication date |
---|---|
US7363400B2 (en) | 2008-04-22 |
US20050210171A1 (en) | 2005-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4220887B2 (ja) | ディスク装置及びその制御方法 | |
US8156270B2 (en) | Dual port serial advanced technology attachment (SATA) disk drive | |
US8266353B2 (en) | Serial advanced technology attachment (SATA ) switch | |
US8074002B2 (en) | Route aware serial advanced technology attachment (SATA) switch | |
JP5546635B2 (ja) | データ転送装置およびその制御方法 | |
JP2007094996A (ja) | データストレージシステム、データストレージ制御装置及びその障害箇所診断方法 | |
JP2008546049A (ja) | 宛先ディスクへのアクセス方法とディスク容量拡張システム及びディスクアレイ | |
US20130054867A1 (en) | Communication apparatus and id setting method | |
US20080195831A1 (en) | Data transfer apparatus and data transfer method | |
US20070005833A1 (en) | Transmit buffers in connection-oriented interface | |
JP2005267502A (ja) | データ転送用スイッチ | |
JP2003084919A (ja) | ディスクアレイ装置の制御方法およびディスクアレイ装置 | |
JP4445535B2 (ja) | データ転送装置,情報処理システム,データ転送プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 | |
US7409486B2 (en) | Storage system, and storage control method | |
EP1810161A1 (en) | Method and system for optimizing data transfer in networks | |
US7757016B2 (en) | Data transfer device, semiconductor integrated circuit, and processing status notification method | |
EP1794953B1 (en) | Method and system for using an in-line credit extender with a host bus adapter | |
JP4087387B2 (ja) | 記憶制御装置 | |
US7668978B1 (en) | Method and system for storing frames in networks | |
JP2005190499A (ja) | 記憶サブシステム及び記憶制御装置 | |
JP2003263278A (ja) | ディスクアレイ制御装置 | |
JP2006268881A (ja) | ディスクアレイ制御装置 | |
JP2008010005A (ja) | ディスクアレイ制御装置 |