JP2004185093A - 情報処理装置、プログラム、情報処理システム、及び情報処理装置の制御方法 - Google Patents
情報処理装置、プログラム、情報処理システム、及び情報処理装置の制御方法 Download PDFInfo
- Publication number
- JP2004185093A JP2004185093A JP2002348288A JP2002348288A JP2004185093A JP 2004185093 A JP2004185093 A JP 2004185093A JP 2002348288 A JP2002348288 A JP 2002348288A JP 2002348288 A JP2002348288 A JP 2002348288A JP 2004185093 A JP2004185093 A JP 2004185093A
- Authority
- JP
- Japan
- Prior art keywords
- data input
- logical
- output request
- storage device
- path
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】記憶デバイスへデータ入出力要求を送信するために、前記記憶デバイスとの間に論理的な経路である論理パス131,135を複数設定する手段と、前記データ入出力要求が前記記憶デバイスの記憶領域に対する排他制御に関するデータ入出力要求であるかどうかに応じて、前記データ入出力要求を前記記憶デバイスに送信するための前記論理パス131,135を決定する手段と、を備える情報処理装置100を提供する。
【選択図】 図5
Description
【発明の属する技術分野】
この発明は、情報処理装置、プログラム、情報処理システム、及び情報処理装置の制御方法に関する。
【0002】
【従来の技術】
近年コンピュータシステムで取り扱われるデータ量が増大しており、記憶装置の大容量化が進んでいる。大容量の記憶装置では記憶容量に見合うだけの入出力性能を確保することが必要である。またシステムの信頼性を向上させることも求められている。このため、記憶装置への入出力経路を多重化(冗長化)する技術が開発されている。
【0003】
記憶装置への入出力経路を多重化した場合、コンピュータでは、記憶装置へのデータ入出力要求を各入出力経路に振り分ける処理を行うことが必要となる。従来の技術では、各入出力経路にかかる負荷を分散させるために、各入出力経路に均等にデータ入出力要求を振り分けるようにしていた。振り分け方法としては、各入出力経路を順番に指定するラウンドロビン方式が採用されていた。
【0004】
【特許文献1】
特開2001−325207号公報
【0005】
【発明が解決しようとする課題】
ところで、複数の情報処理装置が一台の記憶装置で稼働するデータベースにアクセスするデータベースシステムなどにおいては、アクセス多重度を上げるため、ディスクアレイ装置などの記憶デバイスの記憶領域に設定される論理ユニットレベルでの排他制御だけでなく、データ単位での局所的な排他制御も行っている。そして、このようなシステムにおける記憶装置へのデータ入出力要求には、記憶デバイスの記憶領域に対するデータの書き込みや読み出しを行うためのデータ入出力要求(以下、「I/O要求」と称する)に加えて、記憶デバイスの記憶領域について局所的な排他制御を行うための指示命令や記憶領域指定情報などからなるデータ入出力要求(以下、「排他要求」と称する)が含まれている。
【0006】
ここで排他要求による排他の取得はI/O要求に対応する処理よりも前の時点で実行されている必要がある。しかしながら、従来、データ入出力要求の入出力経路への割り当てに際してはこのような排他要求の特性は配慮されておらず、これがコンピュータシステムの処理性能を低下させる要因となることがあった。
【0007】
本発明は、このような観点からなされたもので、情報処理装置、プログラム、情報処理システム、及び情報処理装置の制御方法を提供することを主たる目的とする。
【0008】
【課題を解決するための手段】
本発明の主たる発明である情報処理装置は、
記憶デバイスへデータ入出力要求を送信するために、前記記憶デバイスとの間に論理的な経路である論理パスを複数設定する手段と、
前記データ入出力要求が前記記憶デバイスの記憶領域に対する排他制御に関するデータ入出力要求であるかどうかに応じて、前記データ入出力要求を前記記憶デバイスに送信するための前記論理パスを決定する手段と、
を備えることとする。
なお、本発明の他の特徴については、本明細書及び添付図面の記述により明らかにする。
【0009】
【発明の実施の形態】
===情報処理システムの全体構成===
図1に本実施の形態に係る情報処理システム(コンピュータシステム)の全体構成を示している。2台の情報処理装置(ホスト)が、1台の記憶装置(記憶デバイス、ストレージ、ディスクアレイ装置)に接続している。情報処理装置100はCPU(Central Processing Unit)やメモリを備え、各種アプリケーションプログラムを実行する。例えば銀行の自動預金預け払いシステムや航空機の座席予約システム等のプログラムを実行する。
【0010】
情報処理装置100は、上記アプリケーションプログラムを実行する際に記憶装置200が記憶しているデータにアクセスする。上記データアクセスは、情報処理装置100と記憶装置200とを接続するハードウエアにより物理的に構成されるデータ転送路である物理パスに対応付けられている論理パスを転送経路として行われる。情報処理装置100と記憶装置200とを接続する接続部301乃至308は、上記物理パスを構成する。IF(Inter Face)141乃至148は、例えば、1以上のHPort(Host bus adapter Port)を有するHBA(Host Bus Adaptor)である。
【0011】
記憶装置200は、論理ユニット220、ディスク制御部210を備える。論理ユニット220は、情報処理装置100に提供される記憶資源に論理的に設定される記憶領域である。図1においてはLU(Logical Unit)1(221)とLU2(222)の2つの論理ユニットが記されている。記憶資源としては、例えばハードディスク装置やフレキシブルディスク装置、半導体記憶装置等様々なものを用いることができる。ディスク制御部210は情報処理装置100からのデータ入出力要求を受け、論理ユニット220に記憶されているデータのアクセスを制御する。ディスク制御部210は図1に示すように記憶装置200と一体型とすることもできるし、別体型とすることもできる。また図1においては2つの論理ユニットが記されているが、1つの論理ユニット220を複数のパーティションに分割した形態とすることもできる。パーティションとは論理ユニット220を論理的に区分して構成される記憶領域のことである。
【0012】
情報処理装置100においては様々なアプリケーションプログラム110が実行される。アプリケーションプログラム110は共に記憶装置200に記憶されているデータへのアクセスを適宜行いながら処理を実行する。アプリケーションプログラム110にはアクセス可能な論理ユニット220が割り当てられている。
【0013】
===論理パスについて===
アプリケーションプログラム110から記憶装置200へのデータ入出力要求求は、後述するパス管理フィルタドライバ120の制御により論理パスを転送経路として送信される。ここで論理パスは、情報処理装置100、記憶装置200、および情報処理装置100と記憶装置200とを結ぶ通信経路を構成するハードウエアもしくはソフトウエアの少なくともいずれかの組合せにより定義される。
【0014】
図2に論理パス801乃至808を定義するための要素の具体例を示している。この図のように、論理パスはHLU(Host Logical Unit)223、TID(Target ID)181、Bus182、HPort(Host bus adapter Port)180、DPort(Disk controller Port)230、ディスク制御部210、及びLU220などのハードウエアやソフトウエアを特定することにより定義される。HLU223、TID181、Bus182、HPort180はSCSI(Small Computer Systems Interface)通信規格で用いられる概念であり、それぞれホスト論理ユニット、ターゲットID、論理バス、ホストバスアダプタ側ポートを示す。DPort230はディスク制御部210のポートを示す。論理パスの定義は必ず上記要素によらなければならない訳ではなく、システムにより上記要素のいずれかを不要とすることもできるし、上記以外の要素を加えて論理パスを定義することもできる。
【0015】
===パス管理フィルタドライバ===
パス管理フィルタドライバ120は、情報処理装置100と記憶装置200との間のデータ転送経路を多重化するためのソフトウエアである。パス管理フィルタドライバ120は、情報処理装置100と記憶装置200との間を複数の論理パス300で接続しデータ転送経路を多重化することにより、データアクセスにおけるボトルネックを解消しデータ入出力処理性能を向上させる。パス管理フィルタドライバ120はデータ入出力要求を各入出力経路へ適宜振り分けることによって負荷分散も行う。またパス管理フィルタドライバ120はデータ転送経路に障害が発生した場合に、当該データ転送経路を閉塞し正常なデータ転送経路により記憶装置200へのデータアクセスを継続する機能も有し、これによりデータ転送経路障害によるサービス停止を回避しシステムの信頼性を高められる。
【0016】
なお、情報処理装置100で実行されるオペレーティングシステムによっては、記憶装置200との間を複数の論理パスで接続されることに対する考慮がなされていないものがある。このようなオペレーティングシステムを情報処理装置100で実行している場合に、情報処理装置100と記憶装置200との間を複数の論理パスで接続すると、アプリケーションプログラム110には、記憶装置200上に存在する1つの論理ユニット220が論理パス毎に存在するかのように見えてしまうという問題が生じる。これを回避するため、パス管理フィルタドライバ120は、論理パス毎に見える本来一つの論理ユニット220を一つに統合してアプリケーションプログラム110に見せる機能も有している。
【0017】
===データ入出力要求について===
図1に示す情報処理システムは、例えば、複数の情報処理装置100が一台の記憶装置200で稼働するデータベースにアクセスするデータベースシステムに適用される。このような情報処理システムでは、アクセス多重度を向上させる等の目的で記憶デバイスの記憶領域の一部に対して局所的な排他制御を行えるようになっている。ここでこのような局所的な排他制御のために情報処理装置100から記憶装置200に送信されるデータ入出力要求には、記憶デバイスの記憶領域に対するデータの書き込みや読み出しを行うためのデータ入出力要求(以下、「I/O要求」と称する)に加え、記憶デバイスの記憶領域について局所的な排他制御を行うための指示命令や記憶領域指定情報などからなるデータ入出力要求(以下、「排他要求」と称する)が含まれている。上記のデータ入出力要求は、一般に排他を取得するための排他要求と、排他を開放するための排他要求との間に、1以上のI/O要求が介在する構成をとる。なお、記憶領域の排他を取得するとは、その記憶領域へのデータ入出力要求を自分のみが行えるように独占状態とすることであり、排他を開放するとはそのような独占状態を解除することである。
【0018】
===論理パスの割り当てについて===
上記排他要求およびI/O要求の論理パスへの割り当てについて説明する。この割り当ては例えばパス管理フィルタドライバ120の作用により行われる。図3は情報処理装置100がデータ入出力要求を記憶装置200に送信するための論理パスとして、各情報処理装置100が単一の論理パス134,135のみを提供する場合におけるデータ入出力要求の取扱いを説明している。図3において、符号が付されていない数字はI/O要求を示している。「+」記号が付されている数字は記憶領域の排他を取得する指示を行うための排他要求を示している。「−」記号が付されている数字は記憶領域の排他を終了する指示を行うための排他要求を示している。排他要求とI/O要求の同じ数字からなる一群のデータ入出力要求により、1のデータ入出力要求が構成される。図中、数字の小さい時系列順にデータ入出力要求が発生している。
【0019】
図4は、複数の論理パスが利用できる環境でのパス管理フィルタドライバ120によるデータ入出力要求の論理パスへの割り当ての様子を示している。例えば、複数のHBAが実装される多重化された情報処理装置100ではこのような構成となる。各論理パス131乃至138へのデータ入出力要求の割り当てはラウンドロビン方式で行われる。このように複数の論理パスに分散してデータ入出力要求が割り当てられることで、複数のデータ入出力要求を並行処理することが可能となり、情報処理システムの処理性能の向上が図られる。
【0020】
ところで、I/O要求に関する処理は、排他を取得するための排他要求についての処理が完了するまで開始することができない。従って、排他要求に関する処理はこれを早めに行っておくことでI/O要求についての処理を迅速に進めることができる。図5はこのような観点に基づいて行われる、データ入出力要求の論理パスの割り当て方法の一例を説明している。図5はデータ入出力要求を送信するための論理パスとして複数の論理パスが利用できる点で図4と同様の構成であるが、各情報処理装置100が、特定の論理パス131および135を排他要求専用の論理パスとしている点で図4と異なる。ここで排他要求を送信した場合における記憶装置200からの応答時間は、I/O要求を送信した場合の応答時間よりも一般に短い。これは排他要求が排他命令や排他の対象となる記憶領域を指定するアドレスなどの比較的サイズの小さいデータで構成されるのに対し、I/O要求には書き込みデータや読み出しデータが含まれ、記憶装置200側の処理負荷が大きいからである。従って、このように特定の論理パス131および135を排他要求専用の論理パスとすることで、排他要求専用に割り当てられた論理パスに割り当てられている排他要求についての処理が、I/O要求の処理の応答待ちのために待たされることが無くなり、排他要求についての処理が迅速に行われることになる。そしてその結果、I/O要求についての処理の迅速化が図られて情報処理システムの処理性能が改善される。なお、図5では特定の論理パスを固定的に割り当てているが、必ずしも固定的でなくてもよい。例えば、各論理パスの使用状況に応じて特定の論理パスを変更するようにしてもよい。
【0021】
===排他データ領域について===
ところで、例えば、図5に示す仕組みを実施する場合には、データ入出力要求が排他要求であるのかI/O要求であるのかを判断する必要があるが、パス管理フィルタドライバ120は、この判断をデータ入出力要求に指定されている記憶領域指定情報に基づいて行う。なお、記憶領域指定情報とは、データ入出力要求の処理対象となる記憶デバイスの記憶領域を指定する情報である。
【0022】
パス管理フィルタドライバ120は、論理ユニット220の記憶領域を、データ入出力要求の対象となるデータが記憶されるデータ領域221と、排他制御に関するデータが記憶される排他データ領域222とに区分して管理している。なお、排他制御に関するデータとは、例えば、データ領域内に区画設定された記憶領域について、データ入出力要求により排他が確保されている状態にあるかどうかを示すデータである。パス管理フィルタドライバ120は、記憶装置200により提供される記憶領域のどの領域が排他データ領域であるかを、論理ユニット220および論理ユニット220の記憶領域を指定するアドレスに対応させて、図6に示す排他データ領域管理テーブル150に管理している。
【0023】
===論理パス状態管理テーブル===
パス管理フィルタドライバ120は、論理パスを論理パス状態管理テーブルに管理している。図7に論理パス状態管理テーブルの一例を示す。論理パス状態管理テーブル190には、論理パスに対応させて、論理ユニット番号(LU番号)、および論理ユニットの記憶領域を指定するLBA(Logical Block Address)が登録されている。HBA(Host Bus Adaptor)番号はその論理パスを構成しているHBAの番号、パーティションIDはその論理パスに対応づけられている論理ユニットに設定されているパーティションのIDである。
【0024】
図7において、「○」の記号は、データ入出力要求に指定される論理ユニット番号およびLBAに対応させて、データ入出力要求が論理パスを利用可能であることを示しており、「×」の記号は利用不可であることを示している。なお、「−」の記号は未定義であることを意味する。図7の場合、例えば、論理ユニット番号が「#0」、LBAが「0000h〜FFFFh(hは16進数であることを示す)」であるデータ入出力要求の場合、IDが「1」、「3」、「5」、「7」の論理パスが利用可能である。
【0025】
パス管理フィルタドライバ120は、図7の論理パス状態管理テーブル190を参照してデータ入出力要求を送信する論理パスを割り当てる。図7の論理パス状態管理テーブル190は、例えば、図4に示す論理パスの割り当てにおいて用いられる。図8はデータ入出力要求を論理パスに割り当てる際に、図7に示すパス管理IDごとに編成されるリスト構造(双方向リスト)を示している。図8では、利用可能な論理パスごとに矩形枠が設けられている。矩形枠内の上段には次の論理パスのエントリポインタが、下段には前の論理パスのエントリポインタがそれぞれ示されている。
【0026】
図8において、例えば、あるデータ入出力要求が、IDが「1」の論理パスに割り当てられると、つぎのデータ入出力要求はIDが「1」の矩形枠において指定されている次の論理ポインタで指定される論理パス(ここでは、IDが「3」の論理パス)に送信される。同様にしてつぎのデータ入出力要求は、IDが「5」の論理パスに送信される。このようにしてデータ入出力要求は同じパス管理IDに所属する利用可能な論理パスにラウンドロビン方式で順番に割り当てられていく。
【0027】
図9は論理パス状態管理テーブル190の他の態様である。この図では、論理ユニット番号(LU番号)が「#0」であり、LBAが「0000h〜1000h」であるデータ入出力要求の場合、IDが「7」の論理パスが利用可能である。また、論理ユニット番号が「#0」であり、LBAが「1001h〜FFFFh」であるデータ入出力要求の場合、IDが「1」、「3」、「5」の論理パスが利用可能である。図9に示す論理パス状態管理テーブル190は、例えば、パス管理フィルタドライバ120が排他要求を特定の論理パスに割り当てる図5の場合に用いられる。図9に示す論理パス状態管理テーブル190は、前述の特定の論理パスをIDが「7」の論理パスとし、排他データ領域管理テーブル150にLBAが「0000h〜1000h」で指定される領域が排他データ領域として設定されている場合に用いられる。すなわち、パス管理フィルタドライバ120は、データ入出力要求の処理対象となる記憶領域としてそのLBAに「0000h〜1000h」の範囲内の記憶領域が指定されている場合、そのデータ入出力要求を送信するための特定の論理パスとして、IDが「7」の論理パスを設定する。また、「0000h〜1000h」の範囲外の記憶領域が指定されている場合には、そのデータ入出力要求を送信するための論理パスとして、IDが「1」、「3」、「5」の論理パスのうちのいずれかを設定する。
【0028】
なお、図9において、LBAが「1001h〜FFFFh」で論理パスIDが「7」の論理パスIDの欄に「△」の記号が設定されているが、この「△」の記号は、本来利用不可であるが状況によっては、臨機応変に利用可能とされるという意味であり、例えば、排他要求専用に割り当てた特定の論理パスの処理負荷が下がった場合には、その論理パスにもI/O要求を割り当てるといった形で利用される。
【0029】
図10はデータ入出力要求を論理パスに割り当てる際に、図9に示すパス管理IDごとに編成されるリスト構造を示している。図10では、「Q1」のパス管理IDについては、IDが「7」である論理パスのみが利用可能であるので、LBAとして「0000h〜1000h」が指定されているデータ入出力要求を送信する論理パスは固定的にID「7」の論理パスに設定される。一方、「Q2」のパス管理IDについては、IDが「1」、「3」、「5」の3つの論理パスが利用可能な論理パスであるので、LBAとして「1001h〜FFFFh」が指定されているデータ入出力要求を送信する論理パスとしてこれらの3つの論理パスのうちの一つがラウンドロビン方式により順番に設定される。
【0030】
パス管理フィルタドライバ120は、論理パス状態管理テーブルに、閉塞状態にある論理パスや、障害の生じている論理パスを管理している。ここで閉塞状態にある論理パスとは、オペレータなどにより意図的に利用できないように指定した論理パスである。図11に示す論理パス状態管理テーブル190では、閉塞状態にある論理パス(IDが「3」の論理パス)、障害の生じている論理パス(IDが「5」の論理パス)が存在する。
【0031】
図12は、図11はデータ入出力要求を論理パスに割り当てる際に、図10に示すパス管理IDごとに編成されるリスト構造を示している。図11では、「Q1」のパス管理IDについては、IDが「1」の論理パスが、「Q2」のパス管理IDについてはIDが「7」の論理パスが利用可能である。また、IDが「3」の論理パスは、閉塞状態にある論理パスが管理される「QI」のパス管理IDに、IDが「5」の論理パスは、障害の生じている論理パスが管理される「QE」のパス管理IDに所属している。なお、図12に示すように、各パス管理IDには論理パスが1つずつしか所属していないので、矩形枠のエントリポインタには「NULL」値が設定されている。
【0032】
===論理パス状態管理テーブルの管理===
つぎに、以上に説明した論理パス状態管理テーブルの管理に関する仕組みについて説明する。図13は、以上に説明した論理パス状態管理テーブルの更新処理を説明するフローチャートである。
パス管理フィルタドライバ120は、論理パス状態管理テーブル190の更新要求を受け付ける(S1311)と、論理パス状態管理テーブル190についての排他を取得し(S1312)、受け付けた更新要求とともに指定された設定内容に従って論理パス状態管理テーブル190の内容を更新する(S1313)。
つぎにパス管理フィルタドライバ120は、対象論理ユニットを、論理ユニット番号が「#0」の論理ユニットとし(S1314)、その対象論理ユニットに対する処理を開始する(S1315)。
まず、パス管理フィルタドライバ120は、対象論理ユニットについての排他を取得する(S1316)。また、対象論理ユニットに対する1つめのLBA範囲を対象LBA範囲に設定し(S1317)、設定した対象LBA範囲に対する処理を開始する(S1318)。
【0033】
まずパス管理フィルタドライバ120は、IDが「1」の論理パスを対象論理パスに設定し(S1319)、対象論理パスに対する処理を開始する(S1320)。
ここで対象論理パスが「○」の状態ならば、その対象論理パスを現在のキューから外し、対象LBA範囲あるいは閉塞パス用のパス管理IDに追加する(S1321)。
ここでパス管理フィルタドライバ120は、次の論理パスが存在する場合には、その論理パスを対象論理パスに設定し、(S1320)の処理に進む(S1322)。一方、次の論理パスが存在しない場合には次のLBA範囲があればそのLBA範囲を対象LBA範囲に設定し(S1323)、その後(S1318)の処理に進む。
【0034】
一方、(S1323)において、次のLBA範囲がない場合には対象論理ユニットについての排他を開放する(S1324)。そして、次の論理ユニットがある場合にはその論理ユニットを対象論理ユニットに設定し(S1325)、その後は(S1315)からの処理に戻る。(S1325)において、次の論理ユニットがない場合には論理パス状態管理テーブル190の排他を開放する(S1326)。
【0035】
図14は論理パスに障害が発生した場合における論理パス状態管理テーブル190の更新処理を説明するフローチャートである。
パス管理フィルタドライバ120は、オペレーティングシステムやアプリケーションプログラム110などのソフトウエアから論理パスの障害報告を受信すると(S1411)、論理パス状態管理テーブル190の排他を取得する(S1412)。つぎにパス管理フィルタドライバ120は論理パス状態管理テーブル190を参照し、障害が報告された論理パスが既に閉塞中であるかどうかを調べる(S1413)。
【0036】
ここでその論理パスが閉塞中でない場合(すなわち、閉塞状態の論理パスが管理されるパス管理IDに所属していない場合)には、つぎにその論理パスが障害中でないかどうか(すなわち、障害の生じている論理パスが管理されるパス管理IDに所属しているかどうか)を調べ(S1414)、その結果障害中でない場合には障害が発生している論理パスを対象論理パスとし(S1415)、またその論理パスを現在のパス管理IDから外して障害の生じている論理パスが管理されるパス管理IDに所属させる(S1416)。そして、対象パスに対応する論理パス状態管理テーブルの欄を障害状態「○」に設定し(S1417)、論理パス状態管理テーブルの排他を開放する(S1418)。
【0037】
(S1413)において、その論理パスが閉塞中でない場合、および、(S1414)において、論理パスが論理パス状態管理テーブル190において既に障害状態であった場合(S1415)には、論理パス状態管理テーブル190の排他を開放する(S1418)。
【0038】
===論理パスを決定する処理の説明===
つぎに、図15に示すフローチャートとともに、パス管理フィルタドライバ120が、論理パス状態管理テーブル190を参照してデータ入出力要求を送信するための論理パスを設定する処理を説明する。なお、図15ではこの処理がパス管理フィルタドライバ120が有する(もしくは利用する)サブルーチンにより実行されるものとして説明している。
【0039】
サブルーチンは、パス管理フィルタドライバ120が受信したデータ入出力要求の送信先となる論理パスについての問い合わせを受信すると(S1511)、データ入出力要求に指定されている対象論理ユニットおよび対象LBAを取得する(S1512、S1513)。つぎにサブルーチンは対象論理ユニットに対する排他を取得する(S1514)。なお、論理ユニットについて排他を取得するとは、その論理ユニットへのデータ入出力要求を自分のみが行えるように独占することである。
【0040】
つぎにサブルーチンは対象論理ユニットおよび対象LBAを、論理パス状態管理テーブル190に対照し、対応するパス管理IDを特定する(S1515)。
ここで対応するパス管理IDが存在しない場合には、サブルーチンは処理を停止する(S1516)。また、サブルーチンはパス管理IDに所属する利用可能な論理パスのうちラウンドロビン方式で決定される1の論理パスを、データ入出力要求を送信する論理パスとして、当該サブルーチンを呼び出したプログラム(もしくは引渡し先のプログラム)に返答する(S1517)。
【0041】
つぎに、サブルーチンは、パス管理IDが指し示すパスの「次のエントリポインタ」が「NULL」値であるかどうかを調(S1518)べ、「NULL」値である場合には利用可能なパスが存在しないので、パス管理IDに所属する割り当て対象の論理パスを変更しない(S1519)。
一方、「0」でない場合には、パス管理IDが指し示す論理パスの「次のエントリポインタ」によって指定される論理パスを、割り当て対象の論理パスに設定する(S1520)。
以上の処理の後、サブルーチンは対象論理ユニットに対して排他開放を実施する(S1521)。
【0042】
なお、以上のように、記憶デバイスの記憶領域に対する排他制御に関するデータ入出力要求が排他制御に関するデータ入出力要求であるかどうかに応じて、そのデータ入出力要求を記憶デバイスに送信するための論理パスが決定される。このため排他制御に関するデータ入出力要求とそれ以外のデータ入出力要求の論理パスの割り当てを区別して取り扱うことが可能となり、排他要求とI/O要求のそれぞれの特性に配慮されて論理パスが決定され、情報処理処理システムの処理性能が改善されることになる。
【0043】
===情報処理装置の詳細な構成例===
つぎに、本実施の形態に係る情報処理装置100の詳細な構成例を図16に示す。
アプリケーションプログラム110は、ファイルシステム240を介して記憶装置200に設定されている論理ユニット220にアクセスする。ファイルシステム240は通常オペレーティングシステムの持つ機能の一つとして提供され、記憶装置200により提供される記憶領域を管理するソフトウエアをいう。すなわち、記憶装置200により提供される記憶領域上の論理ブロック内にファイルという抽象概念を実現し、ファイルに対するデータ入出力要求を論理ブロックアドレス単位のデータ入出力要求に対応させる。
【0044】
パス管理フィルタドライバ120は、ファイルシステム240を介してアプリケーションプログラム110から出されたデータ入出力要求をIF1(141)乃至IF4(144)の各HPortに振り分ける。振り分けられたデータ入出力要求は、ディスクドライバ160及びIFドライバ170を介してIF1(141)乃至IF4(144)から記憶装置200に送信される。ディスクドライバ160はブロックモードのデバイスを論理ディスクとして抽象化する。IFドライバ170はデータ入出力要求を所定の通信プロトコルのパケットに変換・復元する。通信プロトコルとしては例えばファイバチャネルを採用することができる。
【0045】
ドライバ管理プログラム121は、ドライバUI(User Interface)プログラム122及びドライバAPI(Application Program Interface)プログラム123と共に、パス管理フィルタドライバ120を管理する。ドライバUIプログラム122は、ドライバ管理プログラム121を介してパス管理フィルタドライバ120の設定を行う際のユーザインタフェースを提供するためのプログラムである。ドライバAPIプログラム123は、ドライバUIプログラム122を用いてパス管理フィルタドライバ120を設定する際に使用可能な命令や関数を集めたプログラムである。
【0046】
図16に示した情報処理装置100と一部構成の異なるものを図17に示す。図16における情報処理装置100では、ディスクドライバ160はパス管理フィルタドライバ120からデータ入出力要求を受け取り、ブロックモードのデバイスを論理ディスクとして抽象化した後にIFドライバ170に引き渡す。しかしながらオペレーティングシステムによっては、ディスクドライバ160をファイルシステム240とパス管理フィルタドライバ120との間に介在させる必要のあるものもある。図17に示したのはかかる場合の例である。図16の形態と図17の形態とはオペレーティングシステムの違いによって生じるものであって、どちらの形態も本発明の実施形態の一つである。
【0047】
以上、本発明に係る情報処理装置等について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることは勿論である。
【0048】
【発明の効果】
本発明によれば、情報処理装置、プログラム、情報処理システム、及び情報処理装置の制御方法を提供することができる。
【図面の簡単な説明】
【図1】本発明の一実施例による情報処理システムの全体構成を示す図である。
【図2】本発明の一実施例による論理パスを説明する図である。
【図3】データ入出力要求の取扱いを説明する図である。
【図4】データ入出力要求の論理パスへの割り当ての様子を示す図である。
【図5】本発明の一実施例によるデータ入出力要求の論理パスへの割り当ての様子を示す図である。
【図6】本発明の一実施例による、排他データ領域管理テーブルを示す図である。
【図7】本発明の一実施例による、論理パス状態管理テーブルを示す図である。
【図8】本発明の一実施例による、データ入出力要求を論理パスに割り当てる際に編成されるリスト構造を示す図である。
【図9】本発明の一実施例による、論理パス状態管理テーブルを示す図である。
【図10】本発明の一実施例による、データ入出力要求を論理パスに割り当てる際に編成されるリスト構造を示す図である。
【図11】本発明の一実施例による、論理パス状態管理テーブルを示す図である。
【図12】本発明の一実施例による、データ入出力要求を論理パスに割り当てる際に編成されるリスト構造を示す図である。
【図13】本発明の一実施例による、論理パス状態管理テーブルの更新処理を説明するフローチャートを示す図である。
【図14】本発明の一実施例による、論理パスに障害が発生した場合における論理パス状態管理テーブルの更新処理を説明するフローチャートを示す図である。
【図15】本発明の一実施例による、パス管理フィルタドライバが、論理パス状態管理テーブルを参照してデータ入出力要求を送信するための論理パスを設定する処理を説明するフローチャートを示す図である。
【図16】本発明の一実施例による、情報処理装置の詳細な構成例を示す図である。
【図17】本発明の一実施例による、情報処理装置の他の構成例を示す図である。
【符号の説明】
100 情報処理装置
110 アプリケーションプログラム
120 パス管理フィルタドライバ
131〜138 論理パスに割り当てられるデータ入出力のキュー
141〜148 インタフェース部
150 排他データ領域管理テーブル
190 論理パス状態管理テーブル
210 ディスク制御部
220 論理ユニット
Claims (10)
- 記憶デバイスへデータ入出力要求を送信するために、前記記憶デバイスとの間に論理的な経路である論理パスを複数設定する手段と、
前記データ入出力要求が前記記憶デバイスの記憶領域に対する排他制御に関するデータ入出力要求であるかどうかに応じて、前記データ入出力要求を前記記憶デバイスに送信するための前記論理パスを決定する手段と、
を備えることを特徴とする情報処理装置。 - 請求項1に記載の情報処理装置において、
前記論理パスを決定する手段は、
前記データ入出力要求が前記記憶デバイスの記憶領域に対する排他制御に関するデータ入出力要求である場合にそのデータ入出力要求を特定の前記論理パスにより送信するように前記論理パスを決定する手段であること、
を特徴とする情報処理装置。 - 請求項1に記載の情報処理装置において、
前記データ入出力要求には、その処理の対象となる前記記憶デバイス上の記憶領域を指定するための記憶領域指定情報が含まれており、
前記データ入出力要求が前記記憶デバイスの記憶領域に対する排他制御に関するデータ入出力要求であるかどうかを前記記憶領域指定情報に応じて判断すること、
を特徴とする情報処理装置。 - 請求項1に記載の情報処理装置において、
前記論理パスは、ハードウエアまたはソフトウエアの少なくともいずれか一方の組合せにより設定され、
前記複数の論理パスのそれぞれは、前記ハードウエアまたは前記ソフトウエアの前記組み合わせが異なること、
を特徴とする情報処理装置。 - 記憶デバイスに接続された情報処理装置に、
前記記憶デバイスへデータ入出力要求を送信するために、前記記憶デバイスとの間に論理的な経路である論理パスを複数設定する機能と、
前記データ入出力要求が前記記憶デバイスの記憶領域に対する排他制御に関するデータ入出力要求であるかどうかに応じて、前記データ入出力要求を前記記憶デバイスに送信するための前記論理パスを決定する機能と、
を実現させるためのプログラム。 - 請求項5に記載のプログラムにおいて、
前記論理パスを決定する機能は、
前記データ入出力要求が前記記憶デバイスの記憶領域に対する排他制御に関するデータ入出力要求である場合にそのデータ入出力要求を特定の前記論理パスにより送信するように前記論理パスを決定する機能であること、
を特徴とするプログラム。 - 請求項5に記載のプログラムにおいて、
前記データ入出力要求には、その処理の対象となる前記記憶デバイス上の記憶領域を指定するための記憶領域指定情報が含まれており、
前記データ入出力要求が前記記憶デバイスの記憶領域に対する排他制御に関するデータ入出力要求であるかどうかを前記記憶領域指定情報に応じて判断すること、
を特徴とするプログラム。 - 請求項5に記載のプログラムにおいて、
前記論理パスは、ハードウエアまたはソフトウエアの少なくともいずれか一方の組合せにより設定され、
前記複数の論理パスのそれぞれは、前記ハードウエアまたは前記ソフトウエアの前記組み合わせが異なること、
を特徴とするプログラム。 - 記憶デバイスと、前記記憶デバイスにデータを記憶する情報処理装置とを備えて構成される情報処理システムであって、
前記情報処理装置は、
前記記憶デバイスへデータ入出力要求を送信するために、前記記憶デバイスとの間に論理的な経路である論理パスを複数設定する手段と、
前記データ入出力要求が前記記憶デバイスの記憶領域に対する排他制御に関するデータ入出力要求であるかどうかに応じて、前記データ入出力要求を前記記憶デバイスに送信するための前記論理パスを決定する手段と、
を備えることを特徴とする情報処理システム。 - 記憶デバイスと、前記記憶デバイスにデータを記憶する情報処理装置とを備えて構成される情報処理システムにおける前記情報処理装置の制御方法であって、
前記情報処理装置は、
前記記憶デバイスへデータ入出力要求を送信するために、前記記憶デバイスとの間に論理的な経路である論理パスを複数設定し、
前記データ入出力要求が前記記憶デバイスの記憶領域に対する排他制御に関するデータ入出力要求であるかどうかに応じて、前記データ入出力要求を前記記憶デバイスに送信するための前記論理パスを決定すること、
を特徴とする情報処理装置の制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002348288A JP3961410B2 (ja) | 2002-11-29 | 2002-11-29 | 情報処理装置、プログラム、情報処理システム、及び情報処理装置の制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002348288A JP3961410B2 (ja) | 2002-11-29 | 2002-11-29 | 情報処理装置、プログラム、情報処理システム、及び情報処理装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004185093A true JP2004185093A (ja) | 2004-07-02 |
JP3961410B2 JP3961410B2 (ja) | 2007-08-22 |
Family
ID=32751243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002348288A Expired - Fee Related JP3961410B2 (ja) | 2002-11-29 | 2002-11-29 | 情報処理装置、プログラム、情報処理システム、及び情報処理装置の制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3961410B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7120912B2 (en) | 2004-07-28 | 2006-10-10 | Hitachi, Ltd. | Computer system for load balance, program and method for setting paths |
EP1840746A2 (en) | 2006-03-29 | 2007-10-03 | Hitachi, Ltd. | Path switching method |
JP2008276755A (ja) * | 2007-03-30 | 2008-11-13 | Hitachi Ltd | ホストバスアダプタ用ドライバ及びオペレーティングシステムのインストール方法 |
JP2012146207A (ja) * | 2011-01-13 | 2012-08-02 | Mitsubishi Electric Corp | 制御用計算機および情報処理システムおよび制御方法およびプログラム |
JP2013008230A (ja) * | 2011-06-24 | 2013-01-10 | Hitachi Ltd | 計算機システム、ホストバスアダプタ制御方法及びそのプログラム |
-
2002
- 2002-11-29 JP JP2002348288A patent/JP3961410B2/ja not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7120912B2 (en) | 2004-07-28 | 2006-10-10 | Hitachi, Ltd. | Computer system for load balance, program and method for setting paths |
EP1840746A2 (en) | 2006-03-29 | 2007-10-03 | Hitachi, Ltd. | Path switching method |
JP2007265243A (ja) * | 2006-03-29 | 2007-10-11 | Hitachi Ltd | 計算機システム及び論理パス切替方法 |
US7634691B2 (en) | 2006-03-29 | 2009-12-15 | Hitachi, Ltd. | Computer system and method for performing failure detecting processing for a logical path |
US7992048B2 (en) | 2006-03-29 | 2011-08-02 | Hitachi, Ltd. | Computer system and method for performing failure detecting processing for a logical path |
JP2008276755A (ja) * | 2007-03-30 | 2008-11-13 | Hitachi Ltd | ホストバスアダプタ用ドライバ及びオペレーティングシステムのインストール方法 |
JP2012146207A (ja) * | 2011-01-13 | 2012-08-02 | Mitsubishi Electric Corp | 制御用計算機および情報処理システムおよび制御方法およびプログラム |
JP2013008230A (ja) * | 2011-06-24 | 2013-01-10 | Hitachi Ltd | 計算機システム、ホストバスアダプタ制御方法及びそのプログラム |
US9026838B2 (en) | 2011-06-24 | 2015-05-05 | Hitachi, Ltd. | Computer system, host-bus-adaptor control method, and program thereof |
Also Published As
Publication number | Publication date |
---|---|
JP3961410B2 (ja) | 2007-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7032041B2 (en) | Information processing performing prefetch with load balancing | |
US7636820B2 (en) | Storage system with automated resources allocation | |
EP2652586B1 (en) | Information storage system and storage system management method | |
US7293147B2 (en) | Storage system controlling exclusion/priority for I/O access | |
US7519744B2 (en) | Method and apparatus for managing I/O paths on a storage network using priority | |
JP6516860B2 (ja) | 計算機システム、及び、アクセス制御方法 | |
US20060230208A1 (en) | System and method for presenting interrupts | |
US9461944B2 (en) | Dynamic resource allocation for distributed cluster-storage network | |
US7398330B2 (en) | Command multiplex number monitoring control scheme and computer system using the command multiplex number monitoring control scheme | |
JP2007115019A (ja) | ストレージのアクセス負荷を分散する計算機システム及びその制御方法 | |
JP2009075718A (ja) | 仮想i/oパスの管理方法、情報処理システム及びプログラム | |
US7380004B2 (en) | Storage system, computer system, and method of configuring storage system | |
WO2014199586A1 (en) | Implementing capacity and user-based resource allocation for a shared adapter in a virtualized system | |
US7707199B2 (en) | Method and system for integrated management computer setting access rights, calculates requested storage capacity of multiple logical storage apparatus for migration | |
US8677094B2 (en) | Storage system, release method, and secondary storage apparatus | |
JP3961410B2 (ja) | 情報処理装置、プログラム、情報処理システム、及び情報処理装置の制御方法 | |
WO2006015924A2 (en) | Managing paths to an input/output (i/o) device | |
US9065740B2 (en) | Prioritising data processing operations | |
JP4871758B2 (ja) | ボリューム割当方式 | |
US20060036790A1 (en) | Method, system, and program for returning attention to a processing system requesting a lock | |
US20140250214A1 (en) | Computer system, program-cooperative method, and program | |
US20190361824A1 (en) | I/o control method and i/o control system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040928 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041007 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20041007 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070206 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070404 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20070404 |
|
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: 20070515 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070516 |
|
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: 20110525 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110525 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120525 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120525 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130525 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130525 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |