JP2004164171A - Path redundancy device and method - Google Patents

Path redundancy device and method Download PDF

Info

Publication number
JP2004164171A
JP2004164171A JP2002327920A JP2002327920A JP2004164171A JP 2004164171 A JP2004164171 A JP 2004164171A JP 2002327920 A JP2002327920 A JP 2002327920A JP 2002327920 A JP2002327920 A JP 2002327920A JP 2004164171 A JP2004164171 A JP 2004164171A
Authority
JP
Japan
Prior art keywords
path
data transfer
controllers
controller
write data
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
JP2002327920A
Other languages
Japanese (ja)
Other versions
JP4708669B2 (en
Inventor
Kenichi Miki
健一 三木
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2002327920A priority Critical patent/JP4708669B2/en
Publication of JP2004164171A publication Critical patent/JP2004164171A/en
Application granted granted Critical
Publication of JP4708669B2 publication Critical patent/JP4708669B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To enhance performance concerning responsiveness to a host computer, relating to a path redundancy device and method for use with a disk array device or the like to switch the pass of data input/output. <P>SOLUTION: A path redundancy driver 4 is used for a disk array device 9 which controls the recording and reproduction of data to and from logic discs 70-72 by means of controllers 10, 20 having cache memories 15, 25, and which writes data into the cache memories 15, 25 when the data are written on the logic discs 70-72. The path redundancy driver has the function of allocating the path of read data transfer and the path of write data transfer to each of the controllers 10, 20. The write data transfer is executed only by the specific controller 10 (or 20). As a result, competition is avoided as to the double writing of the write data into the cache memories 15, 25. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、ディスクアレイ装置などに用いられ、データ入出力のパスを切り替えるパス冗長化装置及び方法に関する。
【0002】
【従来の技術】
例えば下記特許文献1に開示されたディスクアレイ装置では、多数の論理ディスクに対するデータの記録及び再生をキャッシュメモリを有する二つのコントローラで制御するとともに、論理ディスクにデータを書き込む際に二つのコントローラのキャッシュメモリにそれぞれ同じ当該データを書き込んでいる。これにより、コントローラの一方に障害(又は故障、以下同じ。)が発生しても、他方のコントローラのキャッシュメモリにデータが保持されているので、論理ディスクに当該データを書き込むことができる。
【0003】
このようなディスクアレイ装置に接続されるホストコンピュータには、ディスクアレイ装置に至る接続経路障害の回避手段としてパス冗長化ドライバが具備されている。パス冗長化ドライバは、I/O(入出力)アクセスパスの構成要素(コントローラ等)において障害が発生した場合においても、ホストコンピュータ上で動作するアプリケーション・プログラムの運用に影響を与えないために、代替パスを用いてリトライ処理を行う。また、パス冗長化ドライバには、特定のパスにI/Oが集中することのないように、I/Oを複数のパスに発行する機能を併せ持つものもある。
【特許文献1】
特開2001−318766号公報
【0004】
【発明が解決しようとする課題】
しかしながら、このような従来技術すなわち各コントローラ毎に独立したキャッシュメモリを持つアーキテクチャを採用したディスクアレイ装置では、次のような問題があった。
【0005】
▲1▼.パス冗長化ドライバにて複数のパスにI/Oを分散して発行する場合、各コントローラに接続されたホストコンピュータからのライトデータは、相互にもう一方のコントローラ上のキャッシュメモリへ二重に書き込まれる。一方のコントローラが故障した場合に、キャッシュメモリ上に存在するディスクへの未書き込みデータが消失することを防ぐためである。しかし、この二重書き込み同士の競合が発生した場合、ホストコンピュータへの正常終了の応答遅延が発生するため、パス冗長化ドライバによる負荷分散機能が逆に性能低下を招いてしまう。
【0006】
▲2▼.リードデータ転送I/Oとライトデータ転送I/Oとが同一のコントローラに対して発行されることは、キャッシュメモリの制御を複雑にするため、キャッシュメモリの性能を最大限に活用することが難しくなる。その結果、ホストコンピュータに対するレスポンス低下を招いてしまう。
【0007】
【発明の目的】
そこで、本発明の目的は、ホストコンピュータに対する応答性能を向上できるパス冗長化装置及び方法を提供することにある。
【0008】
【課題を解決するための手段】
【0009】
本発明に係るパス冗長化装置は、多数の記録媒体に対するデータの記録及び再生をキャッシュメモリを有する複数のコントローラで制御するとともに、記録媒体にデータを書き込む際に少なくとも二つのコントローラのキャッシュメモリにそれぞれ同じ当該データを書き込む記録装置に用いられ、各コントローラ毎にリードデータ転送とライトデータ転送とのパスを振り分ける機能を備えている(請求項1)。
【0010】
各コントローラ毎にリードデータ転送のパスとライトデータ転送のパスとを振り分けることにより、ライトデータ転送は特定のコントローラのみが実行することになる。その結果、ライトデータのキャッシュメモリへの二重書き込みにおいて、競合がなくなる。また、各キャッシュメモリの制御をリードデータ転送専用又はライトデータ転送専用に特化できるので、キャッシュメモリの性能が最大限に発揮される。
【0011】
また、記録媒体は論理ディスクであり、記録装置はディスクアレイ装置である、としてもよい(請求項2)。更に、複数のコントローラは、リードデータ転送専用のパスとなる第一のコントローラと、ライトデータ転送専用のパスとなる第二のコントローラとからなる、としてもよい(請求項3)。
【0012】
本発明に係るパス冗長化方法(請求項4〜6)は、本発明に係るパス冗長化装置に用いられるものであり、それぞれ請求項1〜3に対応する。
【0013】
換言すると、本発明は、I/Oリクエストのデータ転送方向別にI/O発行パスを制御することにより、I/Oレスポンスを向上させるI/Oパス冗長化システムを提供するものである。
【0014】
【発明の実施の形態】
図1は本発明に係るパス冗長化装置の一実施形態を示すブロック図である。以下、この図面に基づき説明する。
【0015】
本発明に係るパス冗長化装置としてのパス冗長化ドライバ4は、論理ディスク70〜72に対するデータの記録及び再生をキャッシュメモリ15,25を有するコントローラ10,20で制御するとともに、論理ディスク70〜72にデータを書き込む際にキャッシュメモリ15,25にそれぞれ同じ当該データを書き込むディスクアレイ装置9に用いられ、各コントローラ10,20毎にリードデータ転送とライトデータ転送とのパスを振り分ける機能を備えている。
【0016】
各コントローラ10,20毎にリードデータ転送のパスとライトデータ転送のパスとを振り分けることにより、ライトデータ転送は特定のコントローラ10(又は20)のみが実行することになる。その結果、ライトデータのキャッシュメモリ15,25への二重書き込みにおける競合がなくなる。また、各キャッシュメモリ15,25の制御をリードデータ転送専用又はライトデータ転送専用に特化できるので、キャッシュメモリ15,25の性能が最大限に発揮される。更に詳しく説明する。
【0017】
ホストコンピュータ1のHBA(Host Bus Adapter)6,7は、それぞれホストインタフェースケーブル50,51を介してディスクアレイ装置9のコントローラ10,20に接続されている。ホストコンピュータ1は、ディスクアレイ装置9が制御する論理ディスク70〜72に対するI/Oを実行する。下位ドライバ5は、HBA6,7を制御することによりI/O処理を行う。
【0018】
パス冗長化ドライバ4は、次のように動作する。上位ドライバ3から受け取ったI/Oを、下位ドライバ5に引き渡す。また、ディスクアレイ装置9が制御する論理ディスク70〜72に対するI/Oの実行結果を、HBA6,7を介して下位ドライバ5から受け取り、正常終了又は異常終了を判断する。異常終了の原因がパスの構成要素(HBA6,7、ホストインタフェースケーブル50,51、コントローラ10,20等)における障害であると判断した場合は、代替パスを用いて、異常終了したI/Oのリトライ処理を行う。
【0019】
ホストインタフェース制御回路11,21は、それぞれホストインタフェースケーブル50,51を介してHBA6,7に接続され、ホストコンピュータ1から要求される入出力I/Oに対する制御を行う。
【0020】
データ転送制御回路12,22は、それぞれ内部バス30,40を介してホストインタフェース制御回路11,21、MPU14,24、キャッシュメモリ15,25、HDDインタフェース制御回路13,23、及びライトデータミラーリング制御回路16,26に接続され、各コントローラ10,20内のデータ転送を制御する。
【0021】
HDDインタフェース制御回路13,23は、ディスクインタフェース60を介して論理ディスク70〜72に接続されている。そのため、コントローラ10,20のいずれからも、各論理ディスク70〜72に対する入出力制御を行うことができる。
【0022】
MPU14,24は、それぞれ内部バス30,40を介してコントローラ10,20内の各制御回路及びキャッシュメモリ15,25を制御する。
【0023】
キャッシュメモリ15,25は、ホストコンピュータ1からの入出力要求に対するレスポンス性能向上のために使用されるメモリである。
【0024】
ライトデータミラーリング制御回路16,26は、一方のキャッシュメモリ15(又は25)上のみに存在する論理ディスク70〜72への未書き込みデータを、ミラーリングデータ転送インタフェース31を介して他方のキャッシュメモリ25(又は15)上へミラーリング(すなわちコピー制御)を行う。
【0025】
論理ディスク70〜72は、それぞれ複数の単体ディスクから構成されている。
【0026】
次に、ホストコンピュータ1及びディスクアレイ装置9の動作について説明する。
【0027】
ホストコンピュータ1上で動作するアプリケーション・プログラム8からディスクアレイ装置9に書き込まれるデータ(ライトデータ転送I/O)は、アプリケーション・プログラム8、ファイルシステム2、上位ドライバ3、パス冗長化ドライバ4、下位ドライバ5、HBA6、ホストインタフェースケーブル50を介してコントローラ10に至り、指定された論理ディスク70〜72に書き込まれる。
【0028】
ホストコンピュータ1上で動作するアプリケーション・プログラム8によってディスクアレイ装置9から読み出されるデータ(リードデータ転送I/O)は、指定された論理ディスク70〜72から、コントローラ10、ホストインタフェースケーブル50を介してHBA6に至り、下位ドライバ5、パス冗長化ドライバ4、上位ドライバ3、ファイルシステム2を経てアプリケーション・プログラム8に至る。
【0029】
また、ホストコンピュータ1による各I/Oの実行結果については、HBA6、下位ドライバ5、パス冗長化ドライバ4、上位ドライバ3、ファイルシステム2及びアプリケーション・プログラム8の各レイヤによって判断が行われ、必要に応じて何らかの処置が行われる。
【0030】
ここで、パス冗長化ドライバ4は、下位ドライバ5から受け取ったI/Oの実行結果について正常終了又は異常終了の判断を行い、異常終了の原因がパスの構成要素(HBA6,7、ホストインタフェースケーブル50,51、コントローラ10,20等)における障害と判断した場合は、代替パスを用いて、異常終了したI/Oのリトライ処理を行う。
【0031】
また、パス冗長化ドライバ4は、一方のI/Oパス(例えば、ホストインタフェースケーブル50経由)のみにI/Oが集中することのないよう、複数のI/Oパスを有効に活用し、I/Oの負荷分散(ホストインタフェースケーブル50,51経由)を行う機能を有する。
【0032】
次に、キャッシュメモリ15,25について説明する。
【0033】
ディスクアレイ装置9内のコントローラ10,20に障害が発生していない場合、ホストコンピュータ1からのライトデータは、例えばホストインタフェースケーブル50を介して、ディスクアレイ装置9のコントローラ10内のキャッシュメモリ15に一時的に蓄積される。しかし、一般的にキャッシュメモリ15には揮発性メモリが用いられているため、論理ディスク70〜72の然るべき論理ディスクに書き込まれるまでの間に、コントローラ10に障害が発生すると、キャッシュメモリ15上に一時的に蓄積されたデータは消失してしまう。
【0034】
これを回避するために、ディスクアレイ装置9では、各コントローラ10,20毎に独立したキャッシュメモリ15,25を持つアーキテクチャを採用している。つまり、ホストコンピュータ1からのライトデータは、一方のコントローラ10(又は20)が故障した場合にキャッシュメモリ15(又は25)上に存在するディスクへの未書き込みデータの消失を防ぐため、相互にもう一方のコントローラ20(又は10)上のキャッシュメモリ25(又は15)へ二重に書き込まれる。これらは、ミラーリングデータ転送インタフェース31を介して互いに接続されたライトデータミラーリング制御回路16,26によって行われる。
【0035】
ここで、従来技術では、パス冗長化ドライバ4によるI/Oの負荷分散機能によって、ホストインタフェースケーブル50,51経由でライトデータ(ライトデータ転送I/O)が各コントローラ10,20に対して発行された場合に、次のような問題が発生する。ライトデータは、各コントローラ10(又は20)上のキャッシュメモリ15(又は25)に蓄積された後、ライトデータミラーリング制御回路16,26を介してもう一方のコントローラ20(又は10)上のキャッシュメモリ25(又は15)上に反映される。しかし、反映処理は同時に行えないため、いずれか一方のコントローラ10(又は20)からの反映処理が終了するまでの間、他方のコントローラ20(又は10)による反映処理は待たされることになる。そのため、いずれか一方のホストインタフェースケーブル51(又は50)経由で発行されたライトデータ(ライトデータ転送I/O)に対するホストコンピュータ1への正常終了応答が遅れることとなる。
【0036】
また、リード(リードデータ転送I/O)とライト(ライトデータ転送I/O)が同一のコントローラ10(又は20)に対して発行されることは、キャッシュメモリ15,25の制御を複雑にするので、キャッシュメモリ性能を最大限に活用することが難しくなり、結果としてホストコンピュータ1への応答が遅れることとなる。
【0037】
図2は、図1におけるパス冗長化ドライバの動作の一例を示すフローチャートである。以下、図1及び図2に基づき説明する。
【0038】
図2は、上位ドライバ3から受け取とったI/Oリクエストのデータ転送方向の判断を行い、リード方向のデータ転送を伴うリクエストとライト方向のデータ転送を伴うリクエストとを異なるパスへ振り分ける指定をするための処理過程の一部を示している。これらの処理はパス冗長化ドライバ4により実施される。すなわち、図2は、パス冗長化ドライバ4により実施され、パス冗長化ドライバ4によるリードデータ転送I/O及びライトデータ転送I/Oに関する処理過程の一部を示したフローである。以下、前述したホストコンピュータ1に対する応答遅延について、これを解決するための方法を図1及び2を用いて説明する。
【0039】
まず、リード方向のデータ転送を伴うI/Oリクエストとライト方向のデータ転送を伴うI/Oリクエストとの各々に対して発行するパスを振り分けるための設定情報を読み込む(ステップS201)。ここで、設定情報とは、データ転送方向に基づいてI/Oリクエストを発行するパスを振り分けるための情報であり、次の二種類がある。1.上位ドライバ3から受け取ったI/Oリクエストがリード方向のデータ転送を伴う場合であって、HBA6及びホストインタフェースケーブル50を介してコントローラ10へ至るパス。2.I/Oリクエストがライト方向のデータ転送を伴う場合であって、HBA7及びホストインタフェースケーブル51を介してコントローラ20へ至るパス。これらの設定情報は、外部から定義ファイルとして与えられる。
【0040】
続いて、上位ドライバ3からI/Oリクエストを受け取り(ステップS202)、そのI/Oリクエストがリード方向のデータ転送を伴うものであるかライト方向のデータ転送を伴うものであるかを判断する(ステップS203)。リード方向のデータ転送を伴う場合は、ステップS201での設定情報に従い、HBA6及びホストインタフェースケーブル50を介してコントローラ10へI/Oが発行されるようにI/Oリクエストのパス設定を行う(ステップS204)。同様に、ライト方向のデータ転送を伴う場合は、ステップS201での設定情報に従い、HBA7及びホストインタフェースケーブル51を介してコントローラ20へI/Oが発行されるようにI/Oリクエストのパス設定を行う(ステップS205)。
【0041】
続いて、ステップS204又はステップS205にてパス設定されたI/Oリクエストを下位ドライバ5へ発行する(ステップS206)。下位ドライバ5は、ステップS204又はステップS205にて指定されたパス(HBA6又はHBA7)へI/Oリクエストを発行する。
【0042】
以上により、ディスクアレイ装置9へ発行されるI/Oのデータ転送方向(リード方向/ライト方向)の制御を実現する。
【0043】
なお、本発明は、言うまでもなく、上記実施形態に限定されない。例えば、次のようにしてもよい。
【0044】
a.図2のステップS201における設定情報は、固定的なものとしたが、そのような制限はなく、任意の時点及び任意の手段で変更可能である。b.図2のステップS201における設定情報は、外部から定義ファイルで与えられるものとしたが、その制限はなく、フロッピーディスク、ROMなどの媒体から与えられるものとしてもよいし、パス冗長化ドライバ4自身によるI/Oパターンの分析結果などにより能動的にフィードバックされるものでもよい。c.図1では、二つのHBA6,7を搭載するホストコンピュータ1を構成例としてあげたが、HBAの枚数は、OSの種類、下位ドライバ5、又はホストコンピュータ1のハードウェアによって制限されるものであり、何枚でもよい。d.図1では、二つのコントローラ10,20を搭載するディスクアレイ装置9を構成例としてあげたが、コントローラ数、及びインタフェースケーブルを介して各コントローラとホストコンピュータ等を接続するためのポート数に、制限はない。e.図1では、HBA6,7とコントローラ10,20とをそれぞれインタフェースケーブルで直接接続したものを構成例としてあげたが、途中に、ハブ又はスイッチ等が介在してもかまわない。f.図1では、論理ディスク70〜72はディスクアレイ装置9内に構成されるものを例としてあげたが、ディスクアレイ装置9に接続されたJBOD(Just Bunch of Disks)等の外部のディスクで構成してもよい。g.図1のホストコンピュータ1に接続されるディスクアレイ装置9の数に制限はない。h.図1のディスクアレイ装置9に接続されるホストコンピュータ1の数に制限はない。i.図1のディスクアレイ装置9内に構成される論理ディスク70〜72の数に制限はないj.本発明では、ディスクアレイ装置9を例にしたが、ディスクアレイ装置のみに限定されるものではない。
【0045】
【発明の効果】
本発明に係るパス冗長化装置及び方法によれば、各コントローラ毎にリードデータ転送のパスとライトデータ転送のパスとを振り分けることにより、ライトデータ転送が特定のコントローラで実行されるので、ライトデータのキャッシュメモリへの二重書き込みにおける競合をなくすことができる。また、各キャッシュメモリの制御をリードデータ転送専用又はライトデータ転送専用に特化できるので、キャッシュメモリの性能を最大限に発揮することができる。これにより、ホストコンピュータに対する応答性能を向上できる。
【0046】
換言すると、本発明によれば、ディスクアレイ装置の任意のコントローラ毎にリードデータ転送I/Oとライトデータ転送I/Oを振り分けることにより、次の二つの効果を奏する。第一の効果は、ライトデータのキャッシュメモリへの二重書き込みにおける競合がなくなるので、ホストコンピュータへの正常終了の応答遅延を回避することが可能となる。第二の効果は、キャッシュメモリの制御をリードデータ転送I/O専用又はライトデータ転送I/O専用に特化したチューニングを施すことが可能となるので、キャッシュメモリ性能を最大限に活用することにより、ホストコンピュータへの応答性能を向上させることが可能となる。
【図面の簡単な説明】
【図1】本発明に係るパス冗長化装置の一実施形態を示すブロック図である。
【図2】図1におけるパス冗長化ドライバの動作の一例を示すフローチャートである。
【符号の説明】
1 ホストコンピュータ
4 パス冗長化ドライバ(パス冗長化装置)
9 ディスクアレイ装置
10,20 コントローラ
15,25 キャッシュメモリ
70〜72 論理ディスク
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a path redundancy device and a method for switching a data input / output path used in a disk array device or the like.
[0002]
[Prior art]
For example, in a disk array device disclosed in Patent Document 1 described below, recording and reproduction of data on a large number of logical disks are controlled by two controllers having cache memories, and caches of the two controllers are used when writing data to the logical disks. The same data is written to the respective memories. Thus, even if a failure (or failure, the same applies hereinafter) occurs in one of the controllers, the data can be written to the logical disk because the data is held in the cache memory of the other controller.
[0003]
A host computer connected to such a disk array device is provided with a path redundancy driver as means for avoiding a connection path failure leading to the disk array device. The path redundancy driver does not affect the operation of the application program running on the host computer even when a failure occurs in a component (controller or the like) of the I / O (input / output) access path. Retry processing is performed using the alternative path. Some path redundancy drivers also have a function of issuing I / O to a plurality of paths so that I / O is not concentrated on a specific path.
[Patent Document 1]
JP 2001-318766 A
[Problems to be solved by the invention]
However, the disk array device employing such a conventional technique, that is, an architecture having an independent cache memory for each controller, has the following problems.
[0005]
▲ 1 ▼. When I / Os are distributed and issued to a plurality of paths by a path redundancy driver, write data from a host computer connected to each controller is written to a cache memory on the other controller in duplicate. It is. This is to prevent unwritten data on the disk existing in the cache memory from being lost when one controller fails. However, when the conflict between the double writes occurs, a response delay of the normal termination to the host computer occurs, and consequently, the load distribution function of the path redundancy driver causes a decrease in performance.
[0006]
▲ 2 ▼. Issuing the read data transfer I / O and the write data transfer I / O to the same controller complicates the control of the cache memory, so that it is difficult to maximize the performance of the cache memory. Become. As a result, the response to the host computer is reduced.
[0007]
[Object of the invention]
SUMMARY OF THE INVENTION It is an object of the present invention to provide a path redundancy device and method which can improve the response performance to a host computer.
[0008]
[Means for Solving the Problems]
[0009]
The path redundancy device according to the present invention controls the recording and reproduction of data on a large number of recording media by a plurality of controllers having a cache memory, and when writing data to a recording medium, stores the data in cache memories of at least two controllers. It is used in a recording device that writes the same data, and has a function of allocating a path between read data transfer and write data transfer for each controller.
[0010]
By allocating the read data transfer path and the write data transfer path for each controller, the write data transfer is executed only by a specific controller. As a result, there is no conflict in double writing of write data to the cache memory. In addition, since the control of each cache memory can be specialized to read data transfer or write data transfer, the performance of the cache memory is maximized.
[0011]
Further, the recording medium may be a logical disk and the recording device may be a disk array device. Furthermore, the plurality of controllers may include a first controller that is a path dedicated to read data transfer, and a second controller that is a path dedicated to write data transfer.
[0012]
The path redundancy method according to the present invention (claims 4 to 6) is used for the path redundancy device according to the present invention, and corresponds to claims 1 to 3, respectively.
[0013]
In other words, the present invention provides an I / O path redundancy system that improves an I / O response by controlling an I / O issue path for each data transfer direction of an I / O request.
[0014]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 is a block diagram showing an embodiment of a path redundancy device according to the present invention. Hereinafter, description will be made based on this drawing.
[0015]
The path redundancy driver 4 as a path redundancy device according to the present invention controls recording and reproduction of data on the logical disks 70 to 72 by the controllers 10 and 20 having the cache memories 15 and 25, and also controls the logical disks 70 to 72. Is used in the disk array device 9 for writing the same data to the cache memories 15 and 25 when writing the data to the cache memories 15 and 25, respectively, and has a function of allocating the path between the read data transfer and the write data transfer for each controller 10 and 20. .
[0016]
By allocating the read data transfer path and the write data transfer path for each of the controllers 10 and 20, the write data transfer is executed only by the specific controller 10 (or 20). As a result, contention in the double writing of the write data to the cache memories 15 and 25 is eliminated. In addition, since the control of each cache memory 15, 25 can be specialized for read data transfer or write data transfer, the performance of the cache memories 15, 25 is maximized. This will be described in more detail.
[0017]
HBAs (Host Bus Adapters) 6 and 7 of the host computer 1 are connected to controllers 10 and 20 of the disk array device 9 via host interface cables 50 and 51, respectively. The host computer 1 executes I / O for the logical disks 70 to 72 controlled by the disk array device 9. The lower driver 5 performs I / O processing by controlling the HBAs 6 and 7.
[0018]
The path redundancy driver 4 operates as follows. The I / O received from the upper driver 3 is delivered to the lower driver 5. Further, the I / O execution result for the logical disks 70 to 72 controlled by the disk array device 9 is received from the lower driver 5 via the HBAs 6 and 7, and a normal end or an abnormal end is determined. If it is determined that the cause of the abnormal termination is a failure in the path components (HBAs 6, 7, host interface cables 50, 51, controllers 10, 20 and the like), the I / O of the abnormally terminated I / O is determined using the alternative path. Perform retry processing.
[0019]
The host interface control circuits 11 and 21 are connected to the HBAs 6 and 7 via host interface cables 50 and 51, respectively, and control input / output I / O requested from the host computer 1.
[0020]
The data transfer control circuits 12 and 22 include host interface control circuits 11 and 21, MPUs 14 and 24, cache memories 15 and 25, HDD interface control circuits 13 and 23, and a write data mirroring control circuit via internal buses 30 and 40, respectively. 16 and 26, and controls data transfer in each of the controllers 10 and 20.
[0021]
The HDD interface control circuits 13 and 23 are connected to the logical disks 70 to 72 via the disk interface 60. Therefore, input / output control for each of the logical disks 70 to 72 can be performed from either of the controllers 10 and 20.
[0022]
The MPUs 14 and 24 control the control circuits in the controllers 10 and 20 and the cache memories 15 and 25 via the internal buses 30 and 40, respectively.
[0023]
The cache memories 15 and 25 are memories used for improving response performance to input / output requests from the host computer 1.
[0024]
The write data mirroring control circuits 16 and 26 transfer unwritten data to the logical disks 70 to 72 existing only on one cache memory 15 (or 25) to the other cache memory 25 (or 25) via the mirroring data transfer interface 31. Or 15) perform mirroring (that is, copy control) upward.
[0025]
Each of the logical disks 70 to 72 is composed of a plurality of single disks.
[0026]
Next, operations of the host computer 1 and the disk array device 9 will be described.
[0027]
Data (write data transfer I / O) written from the application program 8 operating on the host computer 1 to the disk array device 9 includes the application program 8, the file system 2, the upper driver 3, the path redundancy driver 4, and the lower The data reaches the controller 10 via the driver 5, the HBA 6, and the host interface cable 50, and is written to the designated logical disks 70 to 72.
[0028]
Data (read data transfer I / O) read from the disk array device 9 by the application program 8 operating on the host computer 1 is transmitted from the designated logical disks 70 to 72 via the controller 10 and the host interface cable 50. It reaches the HBA 6 and reaches the application program 8 via the lower driver 5, the path redundancy driver 4, the upper driver 3, and the file system 2.
[0029]
The result of the execution of each I / O by the host computer 1 is determined by each layer of the HBA 6, the lower driver 5, the path redundancy driver 4, the upper driver 3, the file system 2, and the application program 8, and is necessary. Some action is taken in accordance with.
[0030]
Here, the path redundancy driver 4 determines whether the I / O execution result received from the lower driver 5 is a normal end or an abnormal end, and the cause of the abnormal end is a component of the path (HBA 6, 7, the host interface cable). 50, 51, the controllers 10 and 20), a retry process of the abnormally terminated I / O is performed using the alternative path.
[0031]
Further, the path redundancy driver 4 effectively utilizes a plurality of I / O paths so that the I / Os do not concentrate on only one I / O path (for example, via the host interface cable 50). It has a function of distributing / O load (via host interface cables 50 and 51).
[0032]
Next, the cache memories 15 and 25 will be described.
[0033]
If no failure has occurred in the controllers 10 and 20 in the disk array device 9, the write data from the host computer 1 is transferred to the cache memory 15 in the controller 10 in the disk array device 9 via, for example, the host interface cable 50. Stored temporarily. However, since a volatile memory is generally used for the cache memory 15, if a failure occurs in the controller 10 before data is written to an appropriate logical disk among the logical disks 70 to 72, the cache memory 15 is stored in the cache memory 15. The temporarily stored data is lost.
[0034]
To avoid this, the disk array device 9 employs an architecture having independent cache memories 15 and 25 for each controller 10 and 20. In other words, the write data from the host computer 1 is mutually rejected in order to prevent the loss of unwritten data on the disk existing in the cache memory 15 (or 25) when one controller 10 (or 20) fails. The data is duplicately written to the cache memory 25 (or 15) on one controller 20 (or 10). These operations are performed by the write data mirroring control circuits 16 and 26 connected to each other via the mirroring data transfer interface 31.
[0035]
Here, in the prior art, write data (write data transfer I / O) is issued to the controllers 10 and 20 via the host interface cables 50 and 51 by the I / O load distribution function of the path redundancy driver 4. In such a case, the following problem occurs. After the write data is accumulated in the cache memory 15 (or 25) on each controller 10 (or 20), the write data is stored in the cache memory on the other controller 20 (or 10) via the write data mirroring control circuits 16 and 26. 25 (or 15). However, since the reflection processing cannot be performed at the same time, the reflection processing by the other controller 20 (or 10) is waited until the reflection processing from one of the controllers 10 (or 20) is completed. Therefore, a normal end response to the host computer 1 for write data (write data transfer I / O) issued via one of the host interface cables 51 (or 50) is delayed.
[0036]
Further, the fact that the read (read data transfer I / O) and the write (write data transfer I / O) are issued to the same controller 10 (or 20) complicates the control of the cache memories 15 and 25. Therefore, it is difficult to maximize the performance of the cache memory, and as a result, the response to the host computer 1 is delayed.
[0037]
FIG. 2 is a flowchart showing an example of the operation of the path redundancy driver in FIG. Hereinafter, description will be given based on FIG. 1 and FIG.
[0038]
FIG. 2 determines the data transfer direction of the I / O request received from the upper driver 3 and designates that the request involving the data transfer in the read direction and the request involving the data transfer in the write direction are distributed to different paths. 2 shows a part of the processing steps for the above. These processes are performed by the path redundancy driver 4. That is, FIG. 2 is a flow that is executed by the path redundancy driver 4 and shows a part of the processing steps related to the read data transfer I / O and the write data transfer I / O by the path redundancy driver 4. Hereinafter, a method for solving the above-described response delay to the host computer 1 will be described with reference to FIGS.
[0039]
First, setting information for distributing paths to be issued for each of an I / O request involving data transfer in the read direction and an I / O request involving data transfer in the write direction is read (step S201). Here, the setting information is information for allocating the path for issuing the I / O request based on the data transfer direction, and includes the following two types. 1. A path to the controller 10 via the HBA 6 and the host interface cable 50 when the I / O request received from the upper driver 3 involves data transfer in the read direction. 2. A path to the controller 20 via the HBA 7 and the host interface cable 51 when the I / O request involves data transfer in the write direction. These setting information is externally provided as a definition file.
[0040]
Subsequently, an I / O request is received from the upper driver 3 (step S202), and it is determined whether the I / O request involves data transfer in the read direction or data transfer in the write direction (step S202). Step S203). When data transfer in the read direction is involved, the path setting of the I / O request is performed according to the setting information in step S201 so that I / O is issued to the controller 10 via the HBA 6 and the host interface cable 50 (step S201). S204). Similarly, when data transfer in the write direction is involved, the path setting of the I / O request is performed so that I / O is issued to the controller 20 via the HBA 7 and the host interface cable 51 according to the setting information in step S201. Perform (Step S205).
[0041]
Subsequently, the I / O request whose path has been set in step S204 or step S205 is issued to the lower driver 5 (step S206). The lower driver 5 issues an I / O request to the path (HBA 6 or HBA 7) specified in step S204 or S205.
[0042]
As described above, control of the data transfer direction (read direction / write direction) of I / O issued to the disk array device 9 is realized.
[0043]
It is needless to say that the present invention is not limited to the above embodiment. For example, the following may be performed.
[0044]
a. The setting information in step S201 in FIG. 2 is fixed, but there is no such limitation, and the setting information can be changed at any time and by any means. b. The setting information in step S201 in FIG. 2 is provided from a definition file from the outside, but there is no limitation. The setting information may be provided from a medium such as a floppy disk or a ROM, or may be provided by the path redundancy driver 4 itself. The information may be actively fed back based on the analysis result of the I / O pattern. c. FIG. 1 shows an example of the configuration of the host computer 1 on which two HBAs 6 and 7 are installed. , Any number is acceptable. d. Although FIG. 1 shows an example of the configuration of the disk array device 9 having two controllers 10 and 20, the number of controllers and the number of ports for connecting each controller to a host computer or the like via an interface cable are limited. There is no. e. FIG. 1 shows an example in which the HBAs 6 and 7 and the controllers 10 and 20 are directly connected by interface cables, respectively, but a hub or a switch or the like may be interposed in the middle. f. In FIG. 1, the logical disks 70 to 72 are configured in the disk array device 9 as an example. However, the logical disks 70 to 72 are configured by external disks such as JBOD (Just Bunch of Disks) connected to the disk array device 9. You may. g. The number of disk array devices 9 connected to the host computer 1 of FIG. 1 is not limited. h. The number of host computers 1 connected to the disk array device 9 of FIG. 1 is not limited. i. There is no limitation on the number of logical disks 70 to 72 configured in the disk array device 9 of FIG. 1 j. In the present invention, the disk array device 9 has been described as an example, but the present invention is not limited to only the disk array device.
[0045]
【The invention's effect】
According to the path redundancy apparatus and method according to the present invention, the write data transfer is executed by a specific controller by allocating the read data transfer path and the write data transfer path for each controller, so that the write data Contention in the double write to the cache memory of the memory can be eliminated. In addition, since the control of each cache memory can be specialized for read data transfer or write data transfer, the performance of the cache memory can be maximized. Thereby, the response performance to the host computer can be improved.
[0046]
In other words, according to the present invention, the following two effects are achieved by allocating the read data transfer I / O and the write data transfer I / O for each arbitrary controller of the disk array device. The first effect is that the contention in the double writing of write data to the cache memory is eliminated, so that it is possible to avoid a delay in response to a normal termination to the host computer. The second effect is that the control of the cache memory can be tuned specifically for the read data transfer I / O or the write data transfer I / O, so that the cache memory performance can be maximized. Thereby, the response performance to the host computer can be improved.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an embodiment of a path redundancy device according to the present invention.
FIG. 2 is a flowchart illustrating an example of an operation of a path redundancy driver in FIG. 1;
[Explanation of symbols]
1 host computer 4 path redundancy driver (path redundancy device)
9 Disk array device 10, 20 Controller 15, 25 Cache memory 70-72 Logical disk

Claims (6)

多数の記録媒体に対するデータの記録及び再生をキャッシュメモリを有する複数のコントローラで制御するとともに、前記記録媒体にデータを書き込む際に少なくとも二つの前記コントローラの前記キャッシュメモリにそれぞれ同じ当該データを書き込む記録装置に用いられ、
前記各コントローラ毎にリードデータ転送とライトデータ転送とのパスを振り分ける機能を備えた、
パス冗長化装置。
A recording device that controls recording and reproduction of data on a large number of recording media by a plurality of controllers having a cache memory and writes the same data to the cache memories of at least two controllers when writing data to the recording media. Used for
A function of allocating a path between read data transfer and write data transfer for each controller,
Path redundancy device.
前記記録媒体は論理ディスクであり、前記記録装置はディスクアレイ装置である、
請求項1記載のパス冗長化装置。
The recording medium is a logical disk, the recording device is a disk array device,
The path redundancy device according to claim 1.
前記複数のコントローラは、リードデータ転送専用のパスとなる第一のコントローラと、ライトデータ転送専用のパスとなる第二のコントローラとからなる、
請求項1又は2記載のパス冗長化装置。
The plurality of controllers includes a first controller serving as a path dedicated to read data transfer, and a second controller serving as a path dedicated to write data transfer,
The path redundancy device according to claim 1.
多数の記録媒体に対するデータの記録及び再生をキャッシュメモリを有する複数のコントローラで制御するとともに、前記記録媒体にデータを書き込む際に少なくとも二つの前記コントローラの前記キャッシュメモリにそれぞれ同じ当該データを書き込む記録装置に用いられ、
前記各コントローラ毎にリードデータ転送とライトデータ転送とのパスを振り分ける、
パス冗長化方法。
A recording device that controls recording and reproduction of data on a large number of recording media by a plurality of controllers having a cache memory and writes the same data to the cache memories of at least two controllers when writing data to the recording media. Used for
Allocating paths for read data transfer and write data transfer for each controller,
Path redundancy method.
前記記録媒体は論理ディスクであり、前記記録装置はディスクアレイ装置である、
請求項4記載のパス冗長化方法。
The recording medium is a logical disk, the recording device is a disk array device,
The path redundancy method according to claim 4.
前記複数のコントローラは、リードデータ転送専用のパスとなる第一のコントローラと、ライトデータ転送専用のパスとなる第二のコントローラとからなる、
請求項4又は5記載のパス冗長化方法。
The plurality of controllers includes a first controller serving as a path dedicated to read data transfer, and a second controller serving as a path dedicated to write data transfer,
The path redundancy method according to claim 4.
JP2002327920A 2002-11-12 2002-11-12 Path redundancy apparatus and method Expired - Fee Related JP4708669B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002327920A JP4708669B2 (en) 2002-11-12 2002-11-12 Path redundancy apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002327920A JP4708669B2 (en) 2002-11-12 2002-11-12 Path redundancy apparatus and method

Publications (2)

Publication Number Publication Date
JP2004164171A true JP2004164171A (en) 2004-06-10
JP4708669B2 JP4708669B2 (en) 2011-06-22

Family

ID=32806369

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002327920A Expired - Fee Related JP4708669B2 (en) 2002-11-12 2002-11-12 Path redundancy apparatus and method

Country Status (1)

Country Link
JP (1) JP4708669B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010070727A1 (en) * 2008-12-16 2010-06-24 富士通株式会社 Virtual tape device, and program and method for copying virtual tape data
JP2010205207A (en) * 2009-03-06 2010-09-16 Nec Corp Host computer, multipath system, and method and program for allocating path
JP2010205208A (en) * 2009-03-06 2010-09-16 Nec Corp Host computer, multipath system, and method and program for allocating path
JP2010211458A (en) * 2009-03-10 2010-09-24 Nec Corp Computer system and i/o control method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010070727A1 (en) * 2008-12-16 2010-06-24 富士通株式会社 Virtual tape device, and program and method for copying virtual tape data
JP2010205207A (en) * 2009-03-06 2010-09-16 Nec Corp Host computer, multipath system, and method and program for allocating path
JP2010205208A (en) * 2009-03-06 2010-09-16 Nec Corp Host computer, multipath system, and method and program for allocating path
JP2010211458A (en) * 2009-03-10 2010-09-24 Nec Corp Computer system and i/o control method

Also Published As

Publication number Publication date
JP4708669B2 (en) 2011-06-22

Similar Documents

Publication Publication Date Title
US7562249B2 (en) RAID system, RAID controller and rebuilt/copy back processing method thereof
US7631218B2 (en) RAID system and Rebuild/Copy back processing method thereof
US6272571B1 (en) System for improving the performance of a disk storage device by reconfiguring a logical volume of data in response to the type of operations being performed
US7730257B2 (en) Method and computer program product to increase I/O write performance in a redundant array
US5579474A (en) Disk array system and its control method
US8543762B2 (en) Computer system for controlling allocation of physical links and method thereof
US6961818B1 (en) Method, system and computer program product for managing data in a mirrored cache using an access balancing technique
US7971013B2 (en) Compensating for write speed differences between mirroring storage devices by striping
US5802345A (en) Computer system with a reduced number of command end interrupts from auxiliary memory unit and method of reducing the number of command end interrupts
US6604171B1 (en) Managing a cache memory
US20010049774A1 (en) Apparatus system and method for n-way raid controller having improved performance and fault tolerance
US8185765B2 (en) Storage apparatus and its power saving control method
JPH07281840A (en) Dual-disk recording device
JP2004164047A (en) Memory system
US20050102482A1 (en) Method and system for configuring RAID subsystems with block I/O commands and block I/O path
JP4988213B2 (en) Apparatus for maintaining storage device, method of operating the apparatus, and computer-readable storage medium
JP4708669B2 (en) Path redundancy apparatus and method
JPH11212728A (en) External storage sub-system
US5878202A (en) I/O device having check recovery function
JPH0863394A (en) Storage device system and controlling mathod for storage device
US5875458A (en) Disk storage device
JP4025032B2 (en) Disk control device and data access method thereof
US11467930B2 (en) Distributed failover of a back-end storage director
JPH1091363A (en) Parity generation system and disk array controller using the system
JP2000172570A5 (en) Information recording device and data input / output method and reconstruction method in this device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040427

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060829

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070828

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080701

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080828

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081224

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20090123

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090126

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20090508

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110317

LAPS Cancellation because of no payment of annual fees