JP2005149173A - ディスク装置及びその制御方法 - Google Patents

ディスク装置及びその制御方法 Download PDF

Info

Publication number
JP2005149173A
JP2005149173A JP2003386287A JP2003386287A JP2005149173A JP 2005149173 A JP2005149173 A JP 2005149173A JP 2003386287 A JP2003386287 A JP 2003386287A JP 2003386287 A JP2003386287 A JP 2003386287A JP 2005149173 A JP2005149173 A JP 2005149173A
Authority
JP
Japan
Prior art keywords
disk
adapter
drive
switch
port
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003386287A
Other languages
English (en)
Other versions
JP4220887B2 (ja
Inventor
Katsuya Tanaka
勝也 田中
Tetsuya Shirogane
哲也 白銀
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 JP2003386287A priority Critical patent/JP4220887B2/ja
Priority to US10/770,723 priority patent/US20050108476A1/en
Publication of JP2005149173A publication Critical patent/JP2005149173A/ja
Priority to US11/471,911 priority patent/US20060236028A1/en
Priority to US11/486,482 priority patent/US20060253676A1/en
Application granted granted Critical
Publication of JP4220887B2 publication Critical patent/JP4220887B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache

Abstract

【課題】 全二重データ転送に適したバックエンド・ネットワークを有する、ディスク装置およびその制御方法を提供する。
【解決手段】 ディスクアダプタとデュアルポートを有するディスクドライブを、スイッチを介してデュアルループ接続し、ディスクアダプタがディスクドライブへ発行するコマンドの種類(Read/Write)に応じてコマンドの送信先ループを決定し、且つReadのエクスチェンジとWriteのエクスチェンジが平行して進行するようにディスクアダプタはReadおよびWriteコマンドを発行する。
【選択図】 図1

Description

本発明は、コンピュータシステムにおける2次記憶装置に関し、特に入出力データ転送性能が高いディスク装置に関する。
現在のコンピュータシステムにおいては、CPU(中央処理装置)が必要とするデ−タは2次記憶装置に保存され、CPUなどが必要とするときに応じて2次記憶装置に対してデ−タの書き込みおよび読み出しを行う。この2次記憶装置としては、一般に不揮発な記憶媒体が使用され、代表的なものとして磁気ディスク装置や、光ディスク装置などのディスク装置がある。近年高度情報化に伴い、コンピュータシステムにおいて、この種の2次記憶装置の高性能化が要求されている。
高性能ディスク装置では、入出力インターフェイスとしてファイバチャネルが使用されることが多い。図20、図21、図22にファイバチャネルの接続トポロジを示す。図20は、ポイントツーポイント(point to point)と呼ばれるトポロジである。このトポロジでは、ファイバチャネルのポートはN_Portと呼ばれ、一対のN_Port間は物理的には送受信2本の伝送路で相互に接続されている。図21は、アービトレイテッドループ(Arbitrated Loop、以下FC-ALと記す)と呼ばれるトポロジである。FC-ALにおけるファイバチャネルのポートはNL_Port(Node Loop Portt)と呼ばれ、各NL_Portをループ状に接続するトポロジである。FC_ALは多数のディスクドライブを接続する場合に多く適用される。図22は、ファブリック(Fabric)と呼ばれるトポロジである。このトポロジは、サーバやストレージ装置のポート(N_Port)とファイバチャネルのスイッチのポート(F_Port)を接続するトポロジである。ポイントツーポイント・トポロジとファブリック・トポロジでは、接続された一対のポート間で全二重データ転送が可能である。
図23と図24に、ファイバチャネルFCP(Fibre Channel Protocol for SCSI、以下FCPと記す)におけるエクスチェンジの例を示す。一般的に、エクスチェンジはシーケンス群からなり、またシーケンスは一連の動作を行う(又は複数の)フレームからなる。図23はReadの例である。イニシエータからターゲットへReadコマンドが送られ(FCP_CMND)、それに対してターゲットからイニシエータへ読み出しデータが送られ(FCP_DATA)、最後にターゲットからイニシエータへステータス情報が送信されて(FCP_RSP)、エクスチェンジが終了する。図24はWriteの例である。イニシエータからターゲットへWriteコマンドが送られ(FCP_CMND)、必要に応じてターゲットからイニシエータへバッファ制御情報が送られ(FCP_XFER_RDY)、それに対してイニシエータからターゲットへ書き込みデータが送られ(FCP_DATA)、最後にターゲットからイニシエータへステータス情報が送信されて(FCP_RSP)、エクスチェンジが終了する。このようにFCPでは、データ転送に方向性があり、多くの場合半二重オペレーションが行われている。データを送信しながら別のデータを平行して受信する場合を全二重オペレーションという。
ファイバチャネルは全二重データ転送が可能なので、FCPにおいても全二重オペレーションを活用すればデータ転送能力が向上する。FCPにおいて全二重データ転送を実現する第1の従来技術としては、例えばキューロジック(QLogic)社が発行しているホワイトペーパ“Full-Duplex and Fibre Channel, http://www.qlogic.com/documents/datasheets/knowledge_data/whitepapers/tb_duplex.pdf”に記載の方法がある。第1の従来技術では、ディスクドライブを接続した複数のFC-ALとサーバを、スイッチを介して接続し、サーバと複数のFC-ALとの間で平行してデータ転送を行う。
上位処理装置と記憶制御装置間において全二重データ転送を実現する方法が、特開2003−85117号の「記憶処理装置およびその運用方法」に開示されている。以下、該公報に記載の従来技術を第2の従来技術と呼ぶ。第2の従来技術では、上位装置と記憶制御装置間が全二重動作となるように、上位装置からのコマンド、データ量等に従って、入出力処理を行うチャネルプロセッサを制御する。
ディスクアレイ制御部とディスクドライブとをスイッチ接続したディスクアレイシステムが、特開2000−222339号の「ディスクサブシステム」に開示されている。以下、該公報に記載の従来技術を第3の従来技術と呼ぶ。
特開2003−85117号の「記憶処理装置およびその運用方法」
特開2000−222339号の「ディスクサブシステム」 キューロジック(QLogic)社が発行しているホワイトペーパ"Full-Duplex and Fibre Channel, http://www.qlogic.com/documents/datasheets/knowledge_data/whitepapers/tb_duplex.pdf"
ネットワーク技術の進歩に伴い、1チャネル当りのデータ転送速度は年々増加している。例えばディスク装置に使われるファイバチャネルでは、現状でチャネル当りのデータ転送速度が1Gbpsから2Gbpsであるが、近い将来4Gbpsから10Gbpsへ高速化されることが予定されている。サーバとディスク装置間(以下フロントエンドと呼ぶ)のスループットはこの高速化に従うことが予想される。ところが、ディスク装置内のディスクアダプタとディスクアレイ間(以下バックエンドと呼ぶ)のスループットは以下の理由により、フロントエンドほど高速化されないと予想される。
第1の理由は、ディスクドライブは機械部品を含むので、電子、光素子のみ高速化を行えば良いフロントエンドに比べ高速化が難しいこと、である。第2の理由は、たとえディスクドライブが高速化したとしても、全てのディスクドライブ毎に高速インターフェイスを搭載するのは、多数のディスクドライブを有するディスク装置の高コスト化を招く、ことである。そこで、チャネル当たりのスピードを高速化せずに、ファイバチャネルの全二重データ転送能力を活用することにより、ディスク装置のバックエンドを高スループット化することが考えられる。
ファイバチャネルインターフェイスを有するディスクドライブでは、信頼性を高めるため、複数の入出力ポートを備えるディスクドライブが一般的である。第1の従来技術では、複数入出力ポートを有するディスクドライブについて考慮されておらず、バックエンドが複数入出力ポートを有するディスクドライブからなるディスク装置への適用は困難である。
第2の従来技術では、データ転送中のダイナミックな制御が必要であり、制御方法が複雑という問題があった。また、第2の従来技術では、ディスク装置のバックエンドにおける全二重データ転送については触れられていない。
第3の従来技術では、複数の入出力ポートを備えるディスクドライブのバックエンドへの適用と、全二重データ転送については触れられていない。
本発明の目的は、ディスク装置のバックエンドに好適な、全二重データ転送ネットワークを有するディスク装置を提供することにある。
本発明の他の目的は、信頼性の高いバックエンド・ネットワークを有するディスク装置を提供することにある。
上記目的を達成するため、本発明は、チャネルアダプタとキャッシュメモリとディスクアダプタとを有するディスクコントローラと、複数の入出力ポートを備えたディスクドライブを有するディスクアレイとからなるディスク装置において、前記ディスクアダプタと前記ディスクアレイを、スイッチを介して接続し、 前記ディスクアダプタと前記ディスクドライブ間を転送されるエクスチェンジに含まれるコマンドの種類によって、転送されるフレームの送信先ドライブの入出力ポートを決定するようにした。
また、コマンドの種類がデータの読み出しコマンドか、あるいはデータの書き込みコマンドかによって、前記フレームの送信先ドライブポートを決定するようにした。
さらに、データの読み出しに関する上記エクスチェンジと、データの書き込みに関する上記エクスチェンジが、平行して進行するようにした。
さらにまた、前記ディスクアダプタと前記ディスクドライブ間のエクスチェンジに含まれるコマンドの種類によって、前記スイッチと前記ディスクドライブ間において転送されるフレームが通るパスを決定するようにした。
また、コマンドの種類がデータの読み出しコマンドか、あるいはデータの書き込みコマンドかによって、前記スイッチと前記ディスクドライブ間において前記フレームが通るパスを決定するようにした。
さらにまた、前記ディスクアダプタと前記ディスクドライブ間のエクスチェンジに含まれるコマンドの種類によって、前記ディスクアダプタから前記ディスクドライブへ送るフレーム内の送信先情報を前記ディスクアダプタにおいて決定し、前記スイッチは、前記ディスクアダプタが接続されたポートと前記ディスクアレイを構成するディスクドライブが接続された各ポートとのポート間接続の切り換えを、入力されたフレーム毎に、該フレーム内の送信先情報に従って行うようにした。
また、前記スイッチは、前記ディスクアダプタが接続されたポートと前記ディスクアレイを構成するディスクドライブが接続された各ポートとのポート間接続を、入力されたフレーム毎に、前記ディスクアダプタと前記ディスクドライブ間のエクスチェンジに含まれるコマンドの種類とフレーム内の送信先情報に従って、切り換えるようにした。
さらに、前記スイッチは、前記ディスクアダプタから前記ディスクドライブへ転送されるフレームについては該フレーム内の送信先情報と誤り検出符号を変更し、前記ディスクドライブから前記ディスクアダプタへ転送されるフレームについては該フレーム内の送信元情報と誤り検出符号を変更するようにした。
さらにまた、前記ディスクアダプタと前記ディスクドライブの第1のドライブポート群を、第1のスイッチを介して接続し、前記ディスクアダプタと前記ディスクドライブの第2のドライブポート群を、第2のスイッチを介して接続し、さらに第1のスイッチと第2のスイッチを接続し、前記ディスクアダプタと前記ディスクドライブ間のエクスチェンジに含まれるコマンドの種類によって、転送されるフレームの送信先ドライブの入出力ポートを決定するようにした。
また、第1のディスクアダプタと前記ディスクドライブの第1のドライブポート群を第1のスイッチを介して接続し、第1のディスクアダプタと前記ディスクドライブの第2のドライブポート群を第2のスイッチを介して接続し、第2のディスクアダプタと前記ディスクドライブの第2のドライブポート群を第2のスイッチを介して接続し、第2のディスクアダプタと前記ディスクドライブの第1のドライブポート群を第1のスイッチを介して接続し、さらに第1のスイッチと第2のスイッチを接続し、
前記第1のディスクアダプタあるいは第2のディスクアダプタと前記ディスクドライブ間のエクスチェンジに含まれるコマンドの種類によって、転送されるフレームの送信先ドライブの入出力ポートを決定するようにした。
本発明によれば、容易な制御で全二重データ転送が可能なバックエンド・ネットワークを有するディスク装置が実現でき、ディスク装置のスループットを向上させる効果を奏する。
以下、図面を参照して本発明に係る実施の形態を詳細に説明する。
(第1の実施の形態)
図1に、本発明の第1の実施の形態であるディスク装置の構成を示す。ディスク装置は、ディスクコントローラDKCと、ディスクアレイDA1と、スイッチSWからなる。ディスクコントローラDKCは、チャネルアダプタCHAと、キャッシュメモリCMと、ディスクアダプタDKAからなる。チャネルアダプタCHAとキャッシュメモリCMとディスクアダプタDKAは、相互接続網NWで接続されている。チャネルアダプタCHAは、チャネルC1、C2を介して上位装置(図示せず)と接続する。ディスクアダプタDKAはチャネルD01、D02とスイッチSWを介して、ディスクアレイDA1と接続されている。
図2は、チャネルアダプタCHAの構成を示す。
チャネルアダプタCHAは、チャネルC1、C2に接続されたホストチャネル・インターフェイス21と、相互結合網NWに接続されたキャッシュメモリ・インターフェイス22と、サービスプロセッサSVPに接続するためのネットワーク・インターフェイス23と、上位装置との間でのデータ転送を制御するためのプロセッサ24と、該プロセッサが参照する各種のテーブルや実行すべきソフトウェアを格納したローカルメモリ25と、これらの要素間の相互接続するプロセッサ周辺制御部26からなる。
サービスプロセッサSVPは、プロセッサ24、34(後出)が参照する上記各種テーブルの設定、変更、あるいはディスク装置の稼働状況のモニタ等に使用する。
ホストチャネル・インターフェイス21は、チャネルパスC1、C2上のデータ転送プロトコルと、ディスクコントローラ内部のデータ転送プロトコルとの間の変換機能を有し、ホストチャネル・インターフェイス21とキャッシュメモリ・インターフェイス22との間は信号線27によって接続されている。
図3は、ディスクアダプタDKAの構成を示す。
ディスクアダプタDKAは、相互結合網NWに接続されたキャッシュメモリ・インターフェイス31と、ディスクチャネルD01、D02に接続されたディスクチャネル・インターフェイス32と、サービスプロセッサSVPに接続するためのネットワーク・インターフェイス33と、プロセッサ34と、該プロセッサが参照する各種のテーブルや実行すべきソフトウェアを格納したローカルメモリ35と、これらの要素間の相互接続するプロセッサ周辺制御部36とからなる。
キャッシュメモリ・インターフェイス31とディスクチャネル・インターフェイス32との間は信号線37によって接続されている。ディスクチャネル・インターフェイス32は、ディスクコントローラ内部のデータ転送プロトコルと、ディスクチャネルD01、D02上のデータ転送プロトコル、例えば、FCPとの間の変換機能を備えている。
本実施の形態におけるディスクアレイDA1の構成を述べる。図1に示したディスクアレイDA1は、チャネルD11、D12上に接続した4個のディスクドライブからなるディスクアレイと、D13、D14上に接続した4個のディスクドライブからなるディスクアレイからなる。チャネルD11を例にとると、ディスクドライブDK0、DK1、DK2、DK3が、チャネルD11上に接続されている。このように、多数のドライブを一つのチャネル上に接続してディスクドライブにアクセスする方法としては、ファイバチャネル・アービトレイテッド・ループ(以下FC−ALと呼ぶ)がある。
図4に本実施の形態におけるFC−ALの接続形態の詳細を示す。各ディスクドライブは、それぞれNLポートを2個有する。各ディスクドライブの入出力ポートおよびスイッチSWの入出力ポートは、送信機Txと受信機Rxを有する。スイッチSWのディスクアレイDA1接続側入出力ポートは、FL(Fabric Loop)ポートである。チャネルD11により、スイッチSW、ディスクドライブDK0、DK1、DK2、DK3をループ状に接続する。同様にチャネルD12により、スイッチSW、ディスクドライブDK0、DK1、DK2、DK3をループ状に接続する。これら2個のループは、ファイバチャネルのパブリックループであり、ディスクドライブDK0、DK1、DK2、DK3は、スイッチSWを介して、ディスクアダプタDKAのディスクチャネル・インターフェイス32と通信可能である。以上、チャネルD11、D12の接続形態を例に説明したが、チャネルD13、D14でも同様である。
次に、本実施の形態のスイッチ動作を説明する。図5に示すように、スイッチSWは入出力ポートP1、P2、P3、P4、P5、P6を有する。ポートP1、P2、P3、P4、P5、P6は、全二重データ転送可能な入出力ポートである。動作の例として、ポートP1からフレームを入力し、ポートP2、P3、P4、P5、P6から出力する場合を述べる。スイッチSWは図5に示すように、クロスバスイッチ510と、スイッチコントローラ511からなる。クロスバスイッチ510は、この例では6×6のクロスバスイッチであり、入力ポートin1、in2、in3、in4、in5、in6と、出力ポートout1、out2、out3、out4、out5、out6を有する。
ポートP1から入力したフレームは、シリアルパラレル変換装置SP1と、バッファメモリBM1と、8b10b変換デコーダDEC1とフレームヘッダ解析部501を経由し、スイッチコントローラ511と入力ポートin1へ入力される。スイッチコントローラ511において、入力フレームのヘッダ部分に書かれた送信先ポートIDに従い、クロスバスイッチ510を切り換える。例として、ポートP6に接続されたデバイスのポートが送信先として選ばれた場合は、入力したフレームは出力ポートout6と、8b10b変換エンコーダENC1と、バッファメモリBM2と、パラレルシリアル変換装置PS1を経由して、ポートP6から出力される。ここで、バッファメモリBM1、BM2はFIFO(First−In First−out)メモリである。
ディスクアダプタDKAとディスクアレイDA1を、スイッチSWを介して接続したことにより、ディスクアダプタDKAはディスクドライブDK0〜DK7の任意の入出力ポートにフレームを送信することができる。
図1において、ディスクアダプタDKAとスイッチSWは、2本のチャネルD01、D02によって接続されているが、説明を容易にする為、ここではチャネルD01のみ使用する場合を考える。ディスクアダプタDKA内のプロセッサ34が参照する、バックエンド管理テーブルの例を図6に示す。ドライブ番号に対応して、Readコマンドの送信先ドライブのポートIDと、Writeコマンドの送信先ドライブポートIDが、図6の601にセットされている。601において、PID_0.a〜PID_7.aは、チャネルD11あるいはチャネルD13と接続されたFC−AL上のディスクドライブのポートIDを示す。PID_0.b〜PID_7.bは、チャネルD12あるいはチャネルD14と接続されたFC−AL上のディスクドライブのポートIDを示す。通常動作時(各ドライブポートが正常)は、ディスクアダプタDKAから送信されたReadコマンドは、チャネルD01とスイッチSWを経由し、送信先ポートであるPID_0.a〜PID_7.aのいずれかに届く。読み出しデータは、Readコマンドと方向は逆であるが同じパスを通る。一方Writeコマンドと書き込みデータは、チャネルD01とスイッチSWを経由して、送信先ポートであるPID_0.b〜PID_7.bのいずれかに届く。
例として、ドライブ番号0のディスクドライブに対するReadと、ドライブ番号1のディスクドライブに対するWriteの動作について述べる。図3のプロセッサ34は、図6の601を参照することにより、ReadコマンドをPID_0.aへ、WriteコマンドをPID_1.bへ送信する。Readコマンドが通るパスは、ディスクアダプタDKAから始まり、チャネルD01、スイッチSW、チャネルD11を経由し、ポートPID_0.aへ至る。Writeコマンドが通るパスは、ディスクアダプタDKAから始まり、チャネルD01、スイッチSW、チャネルD12を経由し、ポートPID_1.bへ至る。このようにコマンドの種類(Read/Write)によって、スイッチとディスクアレイ間でデータが通るパスを分けているので、ReadのエクスチェンジとWriteのエクスチェンジを平行して進行させることができる。
図25は、ReadエクスチェンジとWriteエクスチェンジが平行して進行している場合の、ディスクアダプタDKA−スイッチ間SW(チャネルD01上)のフレーム例を示す図である。ReadエクスチェンジとWriteエクスチェンジのデータ転送シーケンスに重なる時間の部分が生じるように、ディスクアダプタDKAはReadコマンドとWriteコマンドを発行する。ディスクアダプタDKAは、ReadコマンドとWriteコマンドを、必ずしも同時に発行する必要はない。また、ReadエクスチェンジとWriteエクスチェンジで、データ転送サイズが同じである必要もない。さらに、複数のReadエクスチェンジと複数のWriteエクスチェンジが平行して進行してもよい。
このとき、チャネルD01上では平行して双方向にデータ転送が行われる。つまり、ディスクアダプタDKAとスイッチSW間において全二重オペレーションの状態となる。プロセッサ34は、ReadエクスチェンジとWriteエクスチェンジのデータ転送シーケンスの時間が重なるようにコマンドを発行することにより、ディスクアダプタDKAとスイッチSW間の全二重オペレーションが可能となる。ディスクアダプタDKAが送信先ポートIDを決定するためには、エクスチェンジ開始時に1回だけ管理テーブルを参照するだけでよいので、非常に容易な手段で全二重オペレーションを実現できることが分かる。
もし、ディスクドライブのポートの一方に障害が発生した場合は、602あるいは603の設定を適用することにより、ディスクアダプタDKAはディスクアレイDA1にアクセス可能である。例えば、ドライブ番号2のディスクドライブをReadしようとしたが、PID_2.aのポートに障害が発生した場合を考える。このとき、プロセッサ34は602の設定を参照し、ドライブ番号2のディスクドライブに対してはReadコマンドをPID_2.bのポートへ送信する。同様に、ドライブ番号3のディスクドライブをWriteしようとしたが、PID_3.bのポートに障害が発生した場合を考える。このとき、プロセッサ34は603の設定を参照し、ドライブ番号3のディスクドライブに対してはWriteコマンドをPID_3.aのポートへ送信する。
バックエンド管理テーブルの他の例を図7に示す。図6の管理テーブルとの違いは、例えば701の項目に記されているように、Readコマンド送信先ポートとWriteコマンド送信先ポートが同じFC−AL上に設定されている点である。この場合、Readエクスチェンジとriteエクスチェンジが同じFC−ALの帯域を共有することになる。しかし、例えば、ドライブ番号0のディスクドライブへのReadとドライブ番号2のディスクドライブへのWriteのように、異なるFC−AL上のエクスチェンジを平行して進行させることにより、チャネルD01上では平行して双方向にデータ転送が行われる。このように同じFC−AL上にReadのエクスチェンジとWriteのエクスチェンジが混在する設定にしていても、全二重オペレーションは問題なく実施でき、半二重オペレーション実行時に対してスループットが向上する。
以上、第1の実施の形態においては、ディスクアダプタが、発行するコマンドの種類(Read/Write)に応じて、送信先のディスクポートを決定していた。同様の処理はスイッチにおいても実施可能である。
(第2の実施の形態)
図8から図11A、図11Bに、本発明における第2の実施の形態を示す。本実施の形態では、ディスクアダプタで設定された送信先ドライブポートにかかわらず、スイッチにおいてフレーム内情報を変更することで全二重オペレーションを実現する。
図8は本実施の形態で使用するスイッチの構成を示す。図5のスイッチに対して、メモリ812が追加され、スイッチ部810は共有メモリ型となっている。プロセッサ811は、共有メモリ型スイッチ810に蓄えられたフレームを読み書き可能である。メモリ812には図11Aおよび図11Bに示す管理テーブルが格納され、プロセッサ811は図10のフローチャートに従い、フレーム変更処理を行う。図11Aの管理テーブルでは、ディスクアダプタからスイッチへ送信されたフレーム内の送信先ポートID 1101に対する変更ポートID 1102、1103が対応づけられている。1102はReadのエクスチェンジに対する変更ポートIDであり、1103はWriteのエクスチェンジに対する変更ポートIDである。図11Bの管理テーブルは、エクスチェンジ毎に作製される変更項目を示し、図10のフローチャートに従って作製、参照される。
図10のフローチャートは、スイッチをフレームが通過するたびに実行される。詳細には、このフレーム変更処理は、ディスクアダプタとスイッチ間での入出力に際して実行される。二重実行を防ぐため、スイッチとディスクアレイとの入出力に際しては、実行されない。
ステップ1001において、入力フレームがFCP_CMNDかどうかチェックし、新しいエクスチェンジが開始したかを判断する。次にフレームがFCP_CMNDの場合は、ステップ1002においてコマンド種類を調べる。次にコマンドがReadまたはWriteの場合は、ステップ1003に進む。
ステップ1003において、FCP_CMNDフレームからエクスチェンジID OX_IDと、送信先ID D_ID、送信元ID S_IDを読み取る。読み取ったOX_ID、S_ID、D_IDを、それぞれ図11Bテーブルの1104、1105、1106にセットする。1106にセットした送信先ポートIDと図11Aテーブルから、変更後の送信元ポートID 1107、送信先ポートID 1108をセットする。一つのエクスチェンジにおいて、ディスクアダプタからスイッチへ入力されるフレームに対しては1109の変更を行い、スイッチからディスクアダプタへ出力されるフレームに対しては1110の変更を行い、合わせて2種類のフレーム変更処理を行う。1109では送信先ポートIDのみ変更し、1110では送信元ポートIDのみ変更する。1110の変更は、ディスクアダプタへ送信されるフレームのS_IDとD_IDに矛盾を発生させないために必要である。
次に図10のステップ1004に進む。ここで先に作製したテーブル図11Bに従い、フレームの送信先ポートID D_IDを変更し、さらにCRC(Cyclic Redundancy Check)を計算し直してフレーム内の所定の位置に書き戻す。
ステップ1001で判定がNoの場合は、ステップ1005へ進む。フレーム内のエクスチェンジID OX_ID、送信元ポートID S_ID、送信先ポートID D_IDを読み取り、図11Bテーブルの各行と比較する。テーブル内に該当する項目があれば(各行においてOX_ID、S_ID、D_IDが全て一致する項目があれば)、ステップ1006へ進み、図11Bテーブルに従って送信元ポートID S_ID、送信先ポートID D_IDを変更し、さらにCRCを計算し直してフレーム内の所定の位置へ書き戻す。次にステップ1007へ進み、エクスチェンジ終了条件を調べる。もしエクスチェンジが終了した場合には、ステップ1008へ進み、図11Bから該当するエクスチェンジの行のエントリを削除する。
なお、図9にフレームの構造(例としてFCP_CMND)を示すが、送信先ポートIDは901、送信元ポートIDは902、エクスチェンジIDは903、コマンド種類は904、エラー検出情報は905、エクスチェンジ終了状況は906を調べることにより、容易に知ることができる。
以上述べたように本実施の形態によれば、スイッチにおけるフレーム変更処理により、第1の実施の形態と同様の動作を実現できるので、ディスクアダプタの負荷を低減できる効果がある。
(第3の実施の形態)
図12に本発明の、第3の実施の形態であるディスク装置の構成を示す。本実施の形態のディスク装置は、スイッチを二重化した点に特徴がある。本実施の形態において、ディスクアダプタDKAと、スイッチSW1、SW2と、ディスクアレイDA2との間のデータ転送方式は、ファイバチャネルを使用している。
本実施の形態のディスク装置は、ディスクコントローラDKCと、スイッチSW1、SW2と、ディスクアレイDA2からなる。ディスクコントローラDKCは、チャネルアダプタCHAと、キャッシュメモリCMと、ディスクアダプタDKAからなる。
ディスクアダプタDKAとスイッチSW1をチャネルD01で接続し、ディスクアダプタDKAとスイッチSW2をチャネルD02で接続する。スイッチSW1とスイッチSW2は、チャネル1201で接続する。
ディスクアレイDA2を構成する各ディスクドライブは、入出力ポートを2個有する。例えば、ディスクドライブDK0、DK4、DK8、DK12は、チャネルD11およびD21の両チャネルと接続する。ディスクアレイDA2は、チャネルD11とD21に接続した4個のディスクからなるディスクアレイと、D12とD22に接続した4個のディスクからなるディスクアレイと、D13とD23に接続した4個のディスクからなるディスクアレイと、D14とD24に接続した4個のディスクからなるディスクアレイ、からなる。チャネルD11、D12、D13、D14、D21、D22、D23、D24は、FC−ALでディスクドライブを接続する。
本実施の形態におけるバックエンド管理テーブル例を図13に示す。項目1301(VDEV)は、ディスクドライブが属する論理グループを示す。ディスクアダプタDKAは、項目1302、1303、1304のDKA Port値が0の場合はチャネルD01を、値が1の場合はチャネルD02を使用して、スイッチSW1あるいはスイッチSW2と接続し、ディスクアレイDA2と通信する。PID_0.a〜PID_15.aは、スイッチSW1に接続されたFC−AL上のディスクドライブのポートIDを示す。PID_0.b〜PID_15.bは、スイッチSW2に接続されたFC−AL上のディスクドライブのポートIDを示す。通常動作時(SW1、SW2共に正常)は、ディスクアダプタDKAから送信されたReadコマンドはSW1を経由し、送信先ポートであるPID_0.a〜PID_15.aのいずれかに届く。読み出しデータは、Readコマンドと方向は逆であるが同じパスを通る。一方Writeコマンドと書き込みデータは、スイッチSW1と、チャネル1201と、スイッチSW2を経由して、送信先ポートであるPID_0.b〜PID_15.bのいずれかに届く。
例として、ドライブ番号0のディスクドライブに対するReadと、ドライブ番号4のディスクドライブに対するWriteの動作について述べる。Readコマンドが通るパスは、ディスクアダプタDKAから始まり、チャネルD01、スイッチSW1、チャネルD11を経由し、ポートPID_0.aへ至る。Writeコマンドが通るパスは、ディスクアダプタDKAから始まり、チャネルD01、スイッチSW1、チャネル1201、スイッチSW2、チャネルD21を経由し、ポートPID_4.bへ至る。
このようにコマンドの種類(Read/Write)によって、スイッチとディスクアレイ間でデータが通るパスを分けているので、ReadのエクスチェンジとWriteのエクスチェンジを平行して進行させることができ、ディスクアダプタDKAとスイッチSW1間の全二重オペレーションが可能となる。
スイッチSW1に障害が発生した場合は、1303の設定を適用し、SW2に障害が発生した場合は1304の設定を適用することにより、1個のスイッチに障害が発生した場合でもディスクアダプタDKAは、ディスクアレイDA2にアクセス可能である。ただし、スイッチ障害発生時は、一つのFC−ALの帯域を共有するコマンド数が増えることになるので、正常時に比べスループットは低下する場合がある。
図14A、図14B、図14C及び図15により、本発明の実施の形態におけるスループット向上効果を説明する。図14A、図14B、及び図14Cに比較検討したトポロジを示す。図14A、図14B、及び図14Cは、FC−ALに接続された4台のディスクドライブに対して、内ドライブ2個に対してはWrite、他のドライブ2個に対してはReadを実行するトポロジを示している。図14Aは従来のディスク装置のトポロジである。ディスクアダプタにFC−ALが直結されている。ループ速度は1Gbpsである。図14Bは、本実施の形態のトポロジであるが、コマンド種類(Read/Write)毎にループを分けた例である。ループ速度は1Gbpsであるが、ディスクアダプタとスイッチ間および2個のスイッチ間のチャネル速度は2Gbpsとした。図14Cは、図14B同様、本実施の形態のトポロジであるが、異なるコマンド(Read/Write)を同じループに混在させた例である。ループ速度は1Gbpsであるが、ディスクアダプタとスイッチ間および2個のスイッチ間のチャネル速度は2Gbpsとした。
図15は、図14A、図14B、及び図14Cで示したトポロジにおけるスループットの実測例である。図15において、曲線(A)は図14A、曲線(B)は図14B、曲線(C)は図14Cのトポロジにおけるスループット特性を示す。横軸は1コマンド当たりのデータ転送サイズ(KB)を、縦軸はスループット(MB/s)である。
グラフから明らかな様に、データ転送サイズ8KB以上で従来の(A)トポロジに比べてスループット向上が認められ、データ転送サイズ16KB以上で36%、データ転送サイズが128KB以上の領域では87%のスループット向上を確認できた。
また、曲線(B)と(C)を比較するとわかるが、コマンド(Read/Write)によって使用するループを別にした方が、ループ内に異なるコマンドを混在させるよりもスループット向上効果が高い。
以上、第3の実施の形態では、ディスクアダプタの入出力ポート2個の内1個を定常系、他1個を障害時用の交替系として説明したが、もちろん、2個の入出力ポートを同時に使用しても構わない。図16に、ディスクアダプタの2個の入出力ポートを同時使用する場合のバックエンド管理テーブル例を示す。図16の項目1601に示すように、ディスクドライブによって使用するディスクアダプタのポートを変更している。これにより、2個のディスクアダプタ・ポート間でバックエンド・ネットワーク負荷を分散できる。また、障害発生時に使用してみて初めて、交替系の故障が判明するのを防止する効果がある。
(第4の実施の形態)
図17に、本発明の第4の実施の形態であるディスク装置の構成を示す。本実施の形態において、ディスクアダプタDKA1、DKA2と、スイッチSW1、SW2と、ディスクアレイDA3との間のデータ転送方式は、ファイバチャネルを使用している。本実施の形態は、第3の実施の形態に比べてディスクコントローラを構成する要素が二重化されており、信頼性が高い特徴を有する。チャネルアダプタCHA1、CHA2、キャッシュメモリCM1、CM2、ディスクアダプタDKA1、DKA2は、2つの相互結合網NW1、NW2で相互接続されている。ディスクアダプタDKA1は、スイッチSW1あるいはSW2を介してディスクアレイと接続可能である。ディスクアダプタDKA2も同様に、スイッチSW1あるいはSW2を介してディスクアレイDA3と接続可能である。本実施の形態におけるバックエンド管理テーブルの例を、図18に示す。PID_0.a〜PID31.aは、スイッチSW1に接続されたFC−AL上のディスクドライブのポートIDを示す。また、PID_0.b〜PID31.bは、スイッチSW2に接続されたFC−AL上のディスクドライブのポートIDを示す。ディスクアダプタDKA1は、DKAPort値が0の場合はチャネルD01を、値が1の場合はチャネルD02を使用して、スイッチSW1あるいはSW2と接続し、ディスクアレイDA3と通信する。ディスクアダプタDKA1は、DKAPort値が0の場合はチャネルD03を、値が1の場合はチャネルD04を使用して、スイッチSW1あるいはSW2と接続し、ディスクアレイDA3と通信する。図18では、図16の管理テーブルに比べてDKA番号1801の項目が追加されている。項目1801は、二重化されているディスクアダプタのどちらを使用するかを示す。例えばDKA番号が0ならば、そのディスクドライブはディスクアダプタDKA1からアクセスする。逆に、DKA番号が1ならば、そのディスクドライブはディスクアダプタDKA2からアクセスする。ディスクアダプタのうちどちらか一方に障害が発生した場合は、他方のディスクアダプタからアクセスするように管理テーブルのDKA番号1801を変更する。本実施の形態によれば、ディスクアダプタを二重化しているので信頼性が向上できる効果の他、正常動作時は2個のディスクアダプタ間で負荷を分散できる効果がある。また、言うまでもないが、第1から第3の実施の形態と同様に、ディスクアダプタが発行するコマンドの種類によって、フレーム送信先のディスクドライブ・ポートを決定することにより、全二重オペレーション実行時のスループットが向上する効果がある。
図18の管理テーブルでは、スイッチSW1と接続されたディスクドライブのポートはRead用、スイッチSW2と接続されたディスクドライブのポートはWrite用に割り当てている(スイッチSW1、SW2正常時)。例えば、ディスクアダプタDKA1からドライブ0へのWriteデータは、ディスクアダプタDKA1からスイッチSW1、チャネル1701、スイッチSW2を順に経由し、ドライブ0へ転送される。また、ドライブ4からディスクアダプタDKA2へのReadデータは、ドライブ4からスイッチSW1、チャネル1701、スイッチSW2を順に経由して、ディスクアダプタDKA2へ転送される。図18の設定では、スイッチ間をつなぐチャネル1701上のデータ転送方向は、スイッチSW1からスイッチSW2への一方向となる。
第4の実施の形態における、バックエンド管理テーブルの他の例を図26に示す。図26の設定では、同じスイッチに接続するディスクドライブのポートでも、属するループによってRead用ポートあるいはWrite用ポートの割り当てを変更している点に特徴がある。
図26によれば、ドライブ0、4、8、12・・・28およびドライブ2、6、10、14・・・30のスイッチSW1へ接続するポートはRead用ポート、スイッチSW2へ接続するポートはWrite用ポートとして割り当てる。一方、ドライブ1、5、9、13・・・29およびドライブ3、7、11、15・・・31のスイッチSW1へ接続するポートはWrite用ポート、スイッチSW2へ接続するポートはRead用ポートとして割り当てる。例えば、ドライブ0へのWriteデータは、ディスクアダプタDKA1からスイッチSW1、チャネル1701、スイッチSW2を順に経由し、ドライブ0へ転送される。それに対して、ドライブ1からのReadデータは、ドライブ1からスイッチSW2、チャネル1701、スイッチSW1を順に経由して、ディスクアダプタDKA1へ転送される。このように、同じスイッチに接続したドライブポートにおいて、Read/Writeコマンドとドライブポートとの対応をループ毎に変えることにより、スイッチ間で双方向にデータが流れるようになるので、チャネル1701上においても全二重オペレーションが実現可能である。図18の設定に比べて図26の設定では,スイッチ間を接続するチャネル1701の配線本数を節約することができる。
(第5の実施の形態)
図19に、本発明の第5の実施の形態であるディスク装置の構成を示す。上記第1から第4の実施の形態では、バックエンド・ネットワークはファイバチャネルを使用していたが、本実施の形態ではSAS(Serial Attached SCSI)を使用した例を示す。ディスクアダプタDKA1は、エキスパンダ1904あるいはエキスパンダ1905を介してディスクアレイと接続可能である。ディスクアダプタDKA2も同様に、エキスパンダ1904あるいはエキスパンダ1905を介してディスクアレイと接続可能である。ディスクアダプタDKA1とエキスパンダ1、2間と、ディスクアダプタDKA2とエキスパンダ1、2間、および、エキスパンダ1、2間は、Wideポートで接続し、エキスパンダと各ディスクドライブ間を、Narrowポートで接続している。エキスパンダは、ファイバチャネルのスイッチに相当するが、ループ接続はサポートされていない。従って、多数のディスクドライブを接続する場合は、複数のエキスパンダを多段に接続し、ドライブ接続ポート数を増やしても良い。使用できるディスクドライブは、2ポートを有するSASドライブ1901の他、SATA(Serial ATA)ドライブ1902も接続できる。ただし、入出力ポートが1個のSATAドライブ1903の場合はセレクタ1906を介して、エキスパンダ1904およびエキスパンダ1905と接続する。本実施の形態によれば、ファイバチャネルドライブより安価なSASドライブ、SATAドライブを使用できるので、ディスク装置を低コスト化できる。また、言うまでもないが、第1から第4の実施の形態と同様に、ディスクアダプタが発行するコマンドの種類によって、フレーム送信先のディスクドライブ・ポートを決定することにより、全二重オペレーション実行時のスループットが向上する効果がある。
さらに本実施例の形態によれば、ディスクドライブの2個の入出力ポートを定常的に使用することにより全二重データ転送を実現しているので、障害発生時に初めて交替用ディスクドライブポートの障害が発見されるのを防止することができる。そして、ディスクアダプタとディスクアダプタ間の接続を2個のエキスパンダを冗長化しているので、バックエンドネットワークの信頼性が高い。
本発明の第1の実施の形態のディスク装置を示す図である。 本発明のチャネルアダプタ10の構成例を示す図である。 本発明のディスクアダプタ20の構成例を示す図である。 本発明のバックエンド構成例の詳細を示す図である。 本発明に用いるスイッチの構成例を示す図である。 本発明のディスクアダプタで参照される管理テーブル例を示す図である。 本発明のディスクアダプタで参照される管理テーブル例を示す図である。 本発明の第2の実施の形態に用いるスイッチの構成を示す図である。 本発明のFCP_CMNDのフレーム例を示す図である。 本発明のスイッチにおける処理フロー例を示す図である。 本発明のスイッチで参照される管理テーブル例を示す図である。 本発明のスイッチで参照される管理テーブル例を示す図である。 本発明の第3の実施の形態のディスク装置を示す図である。 本発明の第3の実施の形態で参照される管理テーブルを示す図である。 本発明の第3の実施の形態の効果を説明するための比較図である。 本発明の第3の実施の形態の効果を説明するための図である。 本発明の第3の実施の形態の効果を説明するための図である。 本発明の第3の実施の形態の効果を説明するための図である。 本発明の第3の実施の形態で参照される管理テーブルを示す図である。 本発明の第4の実施の形態のディスク装置を示す図である。 本発明の第4の実施の形態で参照される管理テーブルを示す図である。 本発明の第5の実施の形態のディスク装置を示す図である。 ポイントツーポイント・トポロジを説明する図である。 アービトレイテッドループ・トポロジを説明する図である。 ファブリック・トポロジを説明する図である。 Read動作時のエクスチェンジを説明する図である。 Write動作時のエクスチェンジを説明する図である。 本発明の同時進行するReadエクスチェンジとWriteエクスチェンジ例を説明する図である。 本発明のバックエンド管理テーブル例を示す図である。
符号の説明
DKC・・・ディスクコントローラ、
CHA、CHA1、CHA2・・・チャネルアダプタ、
CM、CM1、CM2・・・キャッシュメモリ、
DKA、DKA1、DKA2・・・ディスクアダプタ、
DA1、DA2、DA3・・・ディスクアレイ、
DK0、DK1、DK2、DK3、
DK4、DK5、DK6、DK7、
DK8、DK12・・・ディスクドライブ、
C1、C2、D01、D02、D03、D04、D11、D12、D13、D14D21、D22、D23、D24・・・チャネル
SW、SW1、SW2・・・スイッチ
P1、P2、P3、P4、P5、P6・・・スイッチポート
510・・・クロスバスイッチ、
511・・・スイッチコントローラ、
in1、in2、in3、in4、in5、in6・・・クロスバスイッチ入力ポート、
out1、out2、out3、out4、out5、out6・・・クロスバスイッチ出力ポート、
SP1・・・シリアルパラレル変換装置、
PS1・・・パラレルシリアル変換装置、
BM1、BM2・・・パッファメモリ、
DEC1・・・8b10b変換デコーダ、
ENC1・・・8b10b変換エンコーダ、
Tx・・・送信機、
Rx・・・受信機、
NL・・・NLポート、
FL・・・FLポート、
N・・・Nポート、
F・・・Fポート、
NW、NW1、NW2・・・相互結合網、
VEDV0、VDEV1、VDEV2、VDEV3、VEDV4、VDEV5、V DEV6、VDEV7・・・論理グループ、
SVP・・・サービスプロセッサ、
21・・・ホストチャネル・インターフェイス、
22、31・・・キャッシュメモリ・インターフェイス
23、33・・・ネットワーク・インターフェイス、
24、34・・・プロセッサ、
26、36・・・プロセッサ周辺制御部、
25、35・・・ローカルメモリ、
27、37・・・信号線、
810・・・共有メモリ型スイッチ、
811・・・プロセッサ、
812・・・メモリ、
1901・・・SASドライブ、
1902、1903・・・SATAドライブ、
1906・・・セレクタ、
1904、1905・・・エキスパンダ。

Claims (10)

  1. チャネルアダプタとキャッシュメモリとディスクアダプタとを有するディスクコントローラと、複数の入出力ポートを備えたディスクドライブを有するディスクアレイとからなるディスク装置において、
    前記ディスクアダプタと前記ディスクアレイを、スイッチを介して接続し、
    前記ディスクアダプタと前記ディスクドライブ間を転送されるエクスチェンジに含まれるコマンドの種類によって、転送されるフレームの送信先ドライブの入出力ポートを決定することを特徴とするディスク装置。
  2. 請求項1記載のディスク装置において、コマンドの種類がデータの読み出しコマンドか、あるいはデータの書き込みコマンドかによって、前記フレームの送信先ドライブポートを決定することを特徴とするディスク装置。
  3. 請求項2記載のディスク装置において、データの読み出しに関する上記エクスチェンジと、データの書き込みに関する上記エクスチェンジが、平行して進行することを特徴とするディスク装置。
  4. チャネルアダプタとキャッシュメモリとディスクアダプタとを有するディスクコントローラと、複数の入出力ポートを備えたディスクドライブを有するディスクアレイとからなるディスク装置において、
    前記ディスクアダプタと前記ディスクアレイを、スイッチを介して接続し、
    前記ディスクアダプタと前記ディスクドライブ間のエクスチェンジに含まれるコマンドの種類によって、前記スイッチと前記ディスクドライブ間において転送されるフレームが通るパスを決定することを特徴とするディスク装置。
  5. 請求項4記載のディスク装置において、コマンドの種類がデータの読み出しコマンドか、あるいはデータの書き込みコマンドかによって、前記スイッチと前記ディスクドライブ間において前記フレームが通るパスを決定することを特徴とするディスク装置。
  6. チャネルアダプタとキャッシュメモリとディスクアダプタとを有するディスクコントローラと、複数の入出力ポートを備えたディスクドライブを有するディスクアレイとからなるディスク装置において、
    前記ディスクアダプタと前記ディスクアレイを、スイッチを介して接続し、
    前記ディスクアダプタと前記ディスクドライブ間のエクスチェンジに含まれるコマンドの種類によって、前記ディスクアダプタから前記ディスクドライブへ送るフレーム内の送信先情報を前記ディスクアダプタにおいて決定し、
    前記スイッチは、前記ディスクアダプタが接続されたポートと前記ディスクアレイを構成するディスクドライブが接続された各ポートとのポート間接続の切り換えを、入力されたフレーム毎に、該フレーム内の送信先情報に従って行うことを特徴とするディスク装置。
  7. チャネルアダプタとキャッシュメモリとディスクアダプタとを有するディスクコントローラと、複数の入出力ポートを備えたディスクドライブを有するディスクアレイとからなり、
    前記ディスクアダプタと前記ディスクアレイとが、スイッチを介して接続されたディスク装置の制御方法において、
    前記スイッチが、前記ディスクアダプタが接続されたポートと前記ディスクアレイを構成するディスクドライブが接続された各ポートとのポート間接続を、入力されたフレーム毎に、前記ディスクアダプタと前記ディスクドライブ間のエクスチェンジに含まれるコマンドの種類とフレーム内の送信先情報に従って、切り換えることを特徴とするディスク装置の制御方法。
  8. 前記スイッチが、前記ディスクアダプタから前記ディスクドライブへ転送されるフレームについては該フレーム内の送信先情報と誤り検出符号を変更し、前記ディスクドライブから前記ディスクアダプタへ転送されるフレームについては該フレーム内の送信元情報と誤り検出符号を変更することを特徴とする請求項7記載のディスク装置の制御方法。
  9. チャネルアダプタとキャッシュメモリとディスクアダプタとを有するディスクコントローラと、複数の入出力ポートを備えたディスクドライブを有するディスクアレイとからなり、
    前記ディスクアダプタと前記ディスクドライブの第1のドライブポート群が、第1のスイッチを介して接続され、前記ディスクアダプタと前記ディスクドライブの第2のドライブポート群が、第2のスイッチを介して接続され、さらに第1のスイッチと第2のスイッチとが接続されたディスク装置の制御方法において、
    前記ディスクアダプタと前記ディスクドライブ間のエクスチェンジに含まれるコマンドの種類によって、転送されるフレームの送信先ドライブの入出力ポートを決定することを特徴とするディスク装置の制御方法。
  10. チャネルアダプタとキャッシュメモリとディスクアダプタとを有するディスクコントローラと、複数の入出力ポートを備えたディスクドライブを有するディスクアレイとからなり、
    第1のディスクアダプタと前記ディスクドライブの第1のドライブポート群が第1のスイッチを介して接続され、第1のディスクアダプタと前記ディスクドライブの第2のドライブポート群が第2のスイッチを介して接続され、第2のディスクアダプタと前記ディスクドライブの第2のドライブポート群が第2のスイッチを介して接続され、第2のディスクアダプタと前記ディスクドライブの第1のドライブポート群が第1のスイッチを介して接続され、さらに第1のスイッチと第2のスイッチが接続されたディスク装置の制御方法において、
    前記第1のディスクアダプタあるいは第2のディスクアダプタと前記ディスクドライブ間のエクスチェンジに含まれるコマンドの種類によって、転送されるフレームの送信先ドライブの入出力ポートを決定することを特徴とするディスク装置の制御方法。
JP2003386287A 2003-11-17 2003-11-17 ディスク装置及びその制御方法 Expired - Fee Related JP4220887B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2003386287A JP4220887B2 (ja) 2003-11-17 2003-11-17 ディスク装置及びその制御方法
US10/770,723 US20050108476A1 (en) 2003-11-17 2004-02-02 Storage device and controlling method thereof
US11/471,911 US20060236028A1 (en) 2003-11-17 2006-06-20 Storage device and controlling method thereof
US11/486,482 US20060253676A1 (en) 2003-11-17 2006-07-14 Storage device and controlling method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003386287A JP4220887B2 (ja) 2003-11-17 2003-11-17 ディスク装置及びその制御方法

Publications (2)

Publication Number Publication Date
JP2005149173A true JP2005149173A (ja) 2005-06-09
JP4220887B2 JP4220887B2 (ja) 2009-02-04

Family

ID=34567404

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003386287A Expired - Fee Related JP4220887B2 (ja) 2003-11-17 2003-11-17 ディスク装置及びその制御方法

Country Status (2)

Country Link
US (3) US20050108476A1 (ja)
JP (1) JP4220887B2 (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1837750A2 (en) 2006-03-20 2007-09-26 Hitachi, Ltd. Computer system for controlling allocation of physical links and method thereof
JP2008158799A (ja) * 2006-12-22 2008-07-10 Fujitsu Ltd ストレージ装置、ストレージ装置の制御方法、及びストレージ装置の制御プログラム
EP1975771A2 (en) 2007-03-30 2008-10-01 Hitachi, Ltd. Disk array subsystem and control method thereof
JP2009140179A (ja) * 2007-12-05 2009-06-25 Fujitsu Ltd ストレージシステムおよびルートスイッチ
JP2010506332A (ja) * 2006-10-10 2010-02-25 エルエスアイ コーポレーション 冗長ストレージサブシステム間におけるsasraidコントローラデバイスチャネルの接続のためのシステム、及び方法
JP2010061664A (ja) * 2008-09-05 2010-03-18 Lsi Corp 単一のsasエクスパンダとして動作する複数のsasエクスパンダのためにパスフェールオーバーを提供するための方法
JP2010211428A (ja) * 2009-03-10 2010-09-24 Fujitsu Ltd ストレージ装置、中継装置、及びコマンド発行制御方法
JP2011204285A (ja) * 2011-07-20 2011-10-13 Hitachi Ltd ストレージシステム及びその制御方法
JP2012198664A (ja) * 2011-03-18 2012-10-18 Fujitsu Ltd ストレージ装置およびストレージ装置の制御方法
JP2013500510A (ja) * 2009-11-12 2013-01-07 株式会社日立製作所 ディスクアレイシステム及びディスクアレイシステムにおけるハードディスクドライブの増設方法
US8370570B2 (en) 2008-10-08 2013-02-05 Hitachi, Ltd. Storage system
JP2014157625A (ja) * 2014-04-25 2014-08-28 Hitachi Ltd ディスクアレイシステム
JP2017201512A (ja) * 2016-05-06 2017-11-09 廣達電腦股▲ふん▼有限公司 フレキシブルなhdd/ssdストレージサポートのシステムおよび方法

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4477906B2 (ja) * 2004-03-12 2010-06-09 株式会社日立製作所 ストレージシステム
JP2005267502A (ja) 2004-03-22 2005-09-29 Hitachi Ltd データ転送用スイッチ
US7434107B2 (en) * 2004-07-19 2008-10-07 Dell Products L.P. Cluster network having multiple server nodes
US7373546B2 (en) * 2004-07-22 2008-05-13 Dell Products L.P. Cluster network with redundant communication paths
US8301810B2 (en) * 2004-12-21 2012-10-30 Infortrend Technology, Inc. SAS storage virtualization controller, subsystem and system using the same, and method therefor
US9495263B2 (en) * 2004-12-21 2016-11-15 Infortrend Technology, Inc. Redundant SAS storage virtualization subsystem and system using the same, and method therefor
US7308534B2 (en) 2005-01-13 2007-12-11 Hitachi, Ltd. Apparatus and method for managing a plurality of kinds of storage devices
US7743178B2 (en) * 2005-04-11 2010-06-22 Emulex Design & Manufacturing Corporation Method and apparatus for SATA tunneling over fibre channel
US7472210B2 (en) * 2005-06-27 2008-12-30 Emc Corporation Multiplexing and bypass circuit for interfacing either single or dual ported drives to multiple storage processors
DE602006001446D1 (de) * 2005-09-23 2008-07-24 Infortrend Technology Inc Redundantes Speichervirtualisierungssubsystem mit Datenpfadverzweigungsfunktion
US8072987B1 (en) * 2005-09-30 2011-12-06 Emc Corporation Full array non-disruptive data migration
US8107467B1 (en) 2005-09-30 2012-01-31 Emc Corporation Full array non-disruptive failover
US20070297338A1 (en) * 2006-06-23 2007-12-27 Yun Mou Verification of path selection protocol in a multi-path storage area network
US8589504B1 (en) 2006-06-29 2013-11-19 Emc Corporation Full array non-disruptive management data migration
JP5068086B2 (ja) * 2007-02-16 2012-11-07 株式会社日立製作所 記憶制御装置
US20080244620A1 (en) * 2007-03-27 2008-10-02 Brian James Cagno Dynamic Communication Fabric Zoning
US8099532B2 (en) * 2007-06-14 2012-01-17 International Business Machines Corporation Intelligent dynamic multi-zone single expander connecting dual ported drives
US9063895B1 (en) 2007-06-29 2015-06-23 Emc Corporation System and method of non-disruptive data migration between heterogeneous storage arrays
US9098211B1 (en) 2007-06-29 2015-08-04 Emc Corporation System and method of non-disruptive data migration between a full storage array and one or more virtual arrays
JP5232602B2 (ja) * 2008-10-30 2013-07-10 株式会社日立製作所 ストレージ装置、及びストレージコントローラ内部ネットワークのデータ経路フェイルオーバー方法
US8650328B1 (en) * 2008-12-15 2014-02-11 American Megatrends, Inc. Bi-directional communication between redundant storage controllers
WO2011132234A1 (en) * 2010-04-23 2011-10-27 Hitachi, Ltd. Storage device and method for managing size of storage device
US8255737B1 (en) * 2010-04-29 2012-08-28 Netapp, Inc. System and method for a redundant communication fabric in a network storage system
JP5528243B2 (ja) * 2010-07-23 2014-06-25 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチパスを制御するシステム及び方法
US9069470B2 (en) * 2011-04-01 2015-06-30 Hewlett-Packard Development Company, L.P. Zone group reassignment using storage device signatures
US9336171B2 (en) * 2012-11-06 2016-05-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Connection rate management in wide ports
US9195626B2 (en) * 2013-01-29 2015-11-24 Emulex Corporation Reducing write I/O latency using asynchronous Fibre Channel exchange
JP6398727B2 (ja) * 2015-01-06 2018-10-03 富士通株式会社 制御装置,ストレージ装置及び制御プログラム
CN110633238A (zh) * 2019-09-27 2019-12-31 联想(北京)有限公司 扩展卡、电子设备、数据处理方法和可读存储介质
US11368515B1 (en) * 2021-09-13 2022-06-21 Capital One Services, Llc Preventing duplicative file processing

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5337414A (en) * 1992-09-22 1994-08-09 Unisys Corporation Mass data storage and retrieval system
JP3726484B2 (ja) * 1998-04-10 2005-12-14 株式会社日立製作所 記憶サブシステム
JP3946873B2 (ja) * 1998-06-19 2007-07-18 株式会社日立製作所 ディスクアレイ制御装置
US6542961B1 (en) * 1998-12-22 2003-04-01 Hitachi, Ltd. Disk storage system including a switch
JP4294142B2 (ja) * 1999-02-02 2009-07-08 株式会社日立製作所 ディスクサブシステム
US6295587B1 (en) * 1999-09-03 2001-09-25 Emc Corporation Method and apparatus for multiple disk drive access in a multi-processor/multi-disk drive system
JP2003177963A (ja) * 2001-12-12 2003-06-27 Hitachi Ltd ストレージ装置
JP2003303055A (ja) * 2002-04-09 2003-10-24 Hitachi Ltd ディスクアダプタとディスクアレイをスイッチを介して接続したディスク装置
US6925531B2 (en) * 2002-07-11 2005-08-02 Storage Technology Corporation Multi-element storage array
US20050207109A1 (en) * 2002-12-09 2005-09-22 Josef Rabinovitz Array of serial ATA data storage devices serially linked to a computer by a single cable
US7167929B2 (en) * 2003-01-13 2007-01-23 Sierra Logic Integrated-circuit implementation of a storage-shelf router and a path controller card for combined use in high-availability mass-storage-device shelves that may be incorporated within disk arrays, and a storage-shelf-interface tunneling method and system
US7035952B2 (en) * 2003-09-24 2006-04-25 Hewlett-Packard Development Company, L.P. System having storage subsystems and a link coupling the storage subsystems
US20050138154A1 (en) * 2003-12-18 2005-06-23 Intel Corporation Enclosure management device
JP4555029B2 (ja) * 2004-09-01 2010-09-29 株式会社日立製作所 ディスクアレイ装置

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8275938B2 (en) 2006-03-20 2012-09-25 Hitachi, Ltd. Computer system for controlling allocation of physical links and method thereof
EP1837750A2 (en) 2006-03-20 2007-09-26 Hitachi, Ltd. Computer system for controlling allocation of physical links and method thereof
US8543762B2 (en) 2006-03-20 2013-09-24 Hitachi, Ltd. Computer system for controlling allocation of physical links and method thereof
US7913037B2 (en) 2006-03-20 2011-03-22 Hitachi, Ltd. Computer system for controlling allocation of physical links and method thereof
JP2010506332A (ja) * 2006-10-10 2010-02-25 エルエスアイ コーポレーション 冗長ストレージサブシステム間におけるsasraidコントローラデバイスチャネルの接続のためのシステム、及び方法
JP2008158799A (ja) * 2006-12-22 2008-07-10 Fujitsu Ltd ストレージ装置、ストレージ装置の制御方法、及びストレージ装置の制御プログラム
EP1975771A2 (en) 2007-03-30 2008-10-01 Hitachi, Ltd. Disk array subsystem and control method thereof
JP2008250631A (ja) * 2007-03-30 2008-10-16 Hitachi Ltd ストレージ装置及びその制御方法
US8407384B2 (en) 2007-03-30 2013-03-26 Hitachi, Ltd. Disk array subsystem and control method thereof
US8086773B2 (en) 2007-03-30 2011-12-27 Hitachi, Ltd. Disk array subsystem and control method thereof
JP2009140179A (ja) * 2007-12-05 2009-06-25 Fujitsu Ltd ストレージシステムおよびルートスイッチ
JP4607942B2 (ja) * 2007-12-05 2011-01-05 富士通株式会社 ストレージシステムおよびルートスイッチ
JP2010061664A (ja) * 2008-09-05 2010-03-18 Lsi Corp 単一のsasエクスパンダとして動作する複数のsasエクスパンダのためにパスフェールオーバーを提供するための方法
US8370570B2 (en) 2008-10-08 2013-02-05 Hitachi, Ltd. Storage system
US8966174B2 (en) 2008-10-08 2015-02-24 Hitachi, Ltd. Storage system
US9223508B2 (en) 2008-10-08 2015-12-29 Hitachi, Ltd. Storage system
US9710168B2 (en) 2008-10-08 2017-07-18 Hitachi, Ltd. Storage system
JP2010211428A (ja) * 2009-03-10 2010-09-24 Fujitsu Ltd ストレージ装置、中継装置、及びコマンド発行制御方法
JP2013500510A (ja) * 2009-11-12 2013-01-07 株式会社日立製作所 ディスクアレイシステム及びディスクアレイシステムにおけるハードディスクドライブの増設方法
US8868878B2 (en) 2009-11-12 2014-10-21 Hitachi, Ltd. Disk array system and hard disk drive expansion method thereof
JP2012198664A (ja) * 2011-03-18 2012-10-18 Fujitsu Ltd ストレージ装置およびストレージ装置の制御方法
JP2011204285A (ja) * 2011-07-20 2011-10-13 Hitachi Ltd ストレージシステム及びその制御方法
JP2014157625A (ja) * 2014-04-25 2014-08-28 Hitachi Ltd ディスクアレイシステム
JP2017201512A (ja) * 2016-05-06 2017-11-09 廣達電腦股▲ふん▼有限公司 フレキシブルなhdd/ssdストレージサポートのシステムおよび方法

Also Published As

Publication number Publication date
US20060253676A1 (en) 2006-11-09
US20050108476A1 (en) 2005-05-19
JP4220887B2 (ja) 2009-02-04
US20060236028A1 (en) 2006-10-19

Similar Documents

Publication Publication Date Title
JP4220887B2 (ja) ディスク装置及びその制御方法
US7594083B2 (en) Storage system and storage control device
JP4307202B2 (ja) 記憶システム及び記憶制御装置
JP4775846B2 (ja) 物理リンクの割当てを制御するコンピュータシステム及び方法
EP1353264A2 (en) Disk storage system having disk arrays connected with disk adaptors through switches
JP5087249B2 (ja) ストレージシステムおよびストレージシステムの制御方法
KR101506368B1 (ko) 직접-연결 저장 시스템을 위한 능동-능동 장애 극복
US9342413B2 (en) SAS RAID head
US20040153614A1 (en) Tape storage emulation for open systems environments
JP5903801B2 (ja) 通信装置およびid設定方法
WO2016101287A1 (zh) 一种存储系统数据分发的方法、分发装置与存储系统
US7979897B2 (en) System and article of manufacture for bidirectional data transfer
JP2005165444A (ja) ディスクアレイ装置、及びディスクアレイ装置の制御方法
JP2005267502A (ja) データ転送用スイッチ
JP6244970B2 (ja) ストレージシステム、制御装置及び制御プログラム
US7418530B2 (en) Storage device and method for controlling storage device packet size
JP2006072634A (ja) ディスク装置
JP4640854B2 (ja) ディスクアレイ制御方法及びディスクアレイ制御装置
US10289576B2 (en) Storage system, storage apparatus, and communication method
US7577775B2 (en) Storage system and configuration-change method thereof
Kawamoto Hdd interface technologies
US7096286B2 (en) Disk array device and method of changing the configuration of the disk array device
JP2007299079A (ja) ストレージ装置及びその障害回復方法
KR100347527B1 (ko) 단일 광채널 중재루프를 이용한 래이드 시스템의 구조
TW202232328A (zh) 具有雙儲存虛擬化控制器之資料儲存系統架構及其資料存取方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050808

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050808

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080325

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

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

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

Free format text: PAYMENT UNTIL: 20111121

Year of fee payment: 3

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121121

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121121

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131121

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees