JP2004164171A - Path redundancy device and method - Google Patents
Path redundancy device and method Download PDFInfo
- 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
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
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
[0016]
By allocating the read data transfer path and the write data transfer path for each of the
[0017]
HBAs (Host Bus Adapters) 6 and 7 of the host computer 1 are connected to
[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
[0019]
The host
[0020]
The data
[0021]
The HDD
[0022]
The
[0023]
The
[0024]
The write data mirroring
[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
[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
[0029]
The result of the execution of each I / O by the host computer 1 is determined by each layer of the
[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 (
[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
[0033]
If no failure has occurred in the
[0034]
To avoid this, the disk array device 9 employs an architecture having
[0035]
Here, in the prior art, write data (write data transfer I / O) is issued to the
[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
[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
[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
[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 (
[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
[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
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.
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)
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 |
-
2002
- 2002-11-12 JP JP2002327920A patent/JP4708669B2/en not_active Expired - Fee Related
Cited By (4)
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 | |
US6961818B1 (en) | Method, system and computer program product for managing data in a mirrored cache using an access balancing technique | |
US8543762B2 (en) | Computer system for controlling allocation of physical links and method thereof | |
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 | |
US20100313043A1 (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 | |
JPH1074129A (en) | Disk array device | |
JPH1091363A (en) | Parity generation system and disk array controller using the system | |
US11467930B2 (en) | Distributed failover of a back-end storage director |
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 |