JP4983133B2 - 入出力制御装置およびその制御方法、並びにプログラム - Google Patents

入出力制御装置およびその制御方法、並びにプログラム Download PDF

Info

Publication number
JP4983133B2
JP4983133B2 JP2006203800A JP2006203800A JP4983133B2 JP 4983133 B2 JP4983133 B2 JP 4983133B2 JP 2006203800 A JP2006203800 A JP 2006203800A JP 2006203800 A JP2006203800 A JP 2006203800A JP 4983133 B2 JP4983133 B2 JP 4983133B2
Authority
JP
Japan
Prior art keywords
module
logical
instruction
specific
input
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.)
Expired - Fee Related
Application number
JP2006203800A
Other languages
English (en)
Other versions
JP2008033449A (ja
Inventor
真矢 山崎
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 JP2006203800A priority Critical patent/JP4983133B2/ja
Publication of JP2008033449A publication Critical patent/JP2008033449A/ja
Application granted granted Critical
Publication of JP4983133B2 publication Critical patent/JP4983133B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明はコンピュータシステムを複数の論理区画に分割し、複数の論理区画でI/Oカード等の入出力転送装置を共有する入出力制御装置およびその制御方法、並びにプログラムに関し、特に、I/Oカードや制御ドライバ側の変更設計をする必要のない入出力制御装置およびその制御方法、並びにプログラムに関する。
最近のコンピュータ業界の動向として、TCO(TotalCost of Ownership)を削減するために、1筐体を複数のリソースに分割して複数の論理区画を構築する論理分割が盛んに研究、開発されている。
その中の一つとして、I/Oカードの数で論理分割の数が制限されないように、複数の論理ホストでI/Oカードを共有する発明が提案されている(特許文献1参照)。
この従来技術で、I/Oカードを複数の論理区画で共有する場合、各論理区画のI/O命令を同一上のI/Oカードで排他制御するために、HW(Hard Ware)やドライバ制御に論理区画IDを付加している。例えば、特許文献1では、ノードコントローラの論理区画調停部が共有するI/Oスロットについて、使用中の場合どちらの論理区画かを表に保持し管理している。
特開2005−122640号公報
上記従来の技術は、入出力転送装置を共有する際に、専用HWや専用ドライバを設計しなければならないので、開発コストと開発期間を必要とするという課題がある。
本発明の目的は上記課題を解決した、入出力制御装置およびその制御方法、並びにプログラムを提供することにある。
上記目的を達成する本発明に係る入出力制御装置は、記憶域が排他的に複数の論理デバイスに分割されると共に、個々の該論理デバイスが論理チャネルと1対1に対応付けされている外部記憶装置を、その外部記憶装置に接続されている1つの入出力転送装置を介して、その入出力転送装置を複数の論理ホスト間で共有しながら、該複数の論理ホストからの指示に応じて制御する入出力制御装置であって、
前記外部記憶装置と1本の通信線で接続された前記入出力転送装置の動作を制御して、前記論理デバイスに指示を渡すドライバと、
前記論理ホストからの前記指示を受けて、その指示を第2のモジュールに渡す第1のモジュールと、
前記第1のモジュールから指示を受けて、その指示を前記ドライバに渡す前記第2のモジュールと、
自入出力制御装置が有するプロセッサの識別情報と、前記入出力転送装置の識別情報と、前記ドライバの識別情報と、前記第1のモジュールの識別情報と、そして、前記論理チャネルに対応付けされている前記第2のモジュールの識別情報とを関連付けたパス情報を、複数の前記プロセッサに関して保持するI/Oパス情報記憶部と、
前記第2のモジュールの識別情報と、前記論理デバイスの識別情報とを関連付けた、少なくとも1組のデバイス占有情報を保持するデバイス占有情報記憶部と、
前記プロセッサの起動に応じて前記パス情報および前記デバイス占有情報を参照することにより、そのプロセッサに対応するところの、前記第1のモジュールおよび前記第2のモジュール間と、前記第2のモジュールおよび前記ドライバ間との通信経路を設定する設定手段と、
何れかの前記論理ホストからの、特定の前記プロセッサを指定した前記指示に呼応して、その特定の前記プロセッサに対応する前記通信経路を使用して、その特定の前記プロセッサに関連付けされているところの、特定の前記第1のモジュールと特定の前記第2のモジュールとを介して、前記論理チャネルに対応付けされている特定の前記論理デバイスの動作を指示する指示手段と、
を備えることを特徴とする。
また、例えば前記指示手段は、
前記指示としての初期化指示に応じて、その初期化指示を行った特定の前記プロセッサに関連付けされているところの、特定の前記第1のモジュールと特定の前記第2のモジュールとを介して、特定の前記論理デバイス初期化する初期化手段と、
前記初期化手段によって特定の前記論理デバイスを初期化したことを、前記デバイス占有情報記憶部に記憶する手段とを含むとよい
また、例えば前記指示手段は、
前記指示としてのリセット指示に応じて、そのリセット指示を行った特定の前記プロセッサに関連付けされているところの、特定の前記第2のモジュールを基に前記デバイス占有情報記憶部を参照した結果に従って、その特定の前記第2のモジュールに関連付けされている特定の前記論理デバイスをリセットする手段を含むとよい
また、例えば前記複数の論理ホストが実行される物理装置は、自入出力制御装置とは別体であるとよい
また、上記同目的を達成するの他の見地として、本発明に係る入出力制御装置の制御方法は、
記憶域が排他的に複数の論理デバイスに分割されると共に、個々の該論理デバイスが論理チャネルと1対1に対応付けされている外部記憶装置を、その外部記憶装置に接続されている1つの入出力転送装置を介して、その入出力転送装置を複数の論理ホスト間で共有しながら、該複数の論理ホストからの指示に応じて制御する入出力制御装置の制御方法であって、
前記外部記憶装置と前記入出力転送装置とを1本の通信線で接続し、
前記入出力制御装置が有するプロセッサの識別情報と、前記入出力転送装置の識別情報と、前記入出力転送装置の動作を制御して前記論理デバイスに指示を渡すドライバの識別情報と、前記論理ホストからの前記指示を受けて、その指示を第2のモジュールに渡す第1のモジュールの識別情報と、そして、前記論理チャネルに対応付けされており、前記第1のモジュールから指示を受けて、その指示を前記ドライバに渡す前記第2のモジュールの識別情報とを関連付けて、パス情報として、複数の前記プロセッサに関して第1メモリに保持し、
前記第2のモジュールの識別情報と、前記論理デバイスの識別情報とを関連付けて、少なくとも1組のデバイス占有情報として第2メモリに保持し、
前記プロセッサの起動に応じて前記パス情報および前記デバイス占有情報を参照することにより、そのプロセッサに対応するところの、前記第1のモジュールおよび前記第2のモジュール間と、前記第2のモジュールおよび前記ドライバ間との通信経路を設定し、
何れかの前記論理ホストからの、特定の前記プロセッサを指定した前記指示に呼応して、その特定の前記プロセッサに対応する前記通信経路を使用して、その特定の前記プロセッサに関連付けされているところの、特定の前記第1のモジュールと特定の前記第2のモジュールとを介して、前記論理チャネルに対応付けされている特定の前記論理デバイスの動作を指示する
ことを特徴とする
また、例えば、前記指示としての初期化指示に応じて、その初期化指示を行った特定の前記プロセッサに関連付けされているところの、特定の前記第1のモジュールと特定の前記第2のモジュールとを介して、特定の前記論理デバイスを初期化
特定の前記論理デバイスを初期化したことを、前記デバイス占有情報として前記第2メモリに記憶するとよい
また、例えば、前記指示としてのリセット指示に応じて、そのリセット指示を行った特定の前記プロセッサに関連付けされている特定の前記第2のモジュールの識別情報を基に、前記第2メモリを参照することにより、その識別情報に関連付けされている特定の論理デバイスの識別情報を求めてリセットすべき特定の論理デバイスを特定し、
特定した前記論理デバイスをリセットするとよい
そして、上記同目的を達成するの他の見地として、本発明に係るプログラムは、
記憶域が排他的に複数の論理デバイスに分割されると共に、個々の該論理デバイスが論理チャネルと1対1に対応付けされている外部記憶装置を、その外部記憶装置に接続されている1つの入出力転送装置を介して、その入出力転送装置を複数の論理ホスト間で共有しながら、該複数の論理ホストからの指示に応じて制御する入出力制御装置を、コンピュータに実現させるプログラムであって、そのコンピュータにより、
前記外部記憶装置と1本の通信線で接続された前記入出力転送装置の動作を制御して、前記論理デバイスに指示を渡すドライバ処理と、
前記論理ホストからの前記指示を受けて、その指示を第2のモジュールに渡す第1のモジュール処理と、
前記第1のモジュール処理からの指示を受けて、その指示を前記ドライバ処理に渡す前記第2のモジュール処理と、
自コンピュータが有するプロセッサの識別情報と、前記入出力転送装置の識別情報と、前記ドライバ処理の識別情報と、前記第1のモジュール処理の識別情報と、そして、前記論理チャネルに対応付けされている前記第2のモジュール処理の識別情報処理とを関連付けたパス情報を、複数の前記プロセッサに関して保持するI/Oパス情報記憶処理と、
前記第2のモジュール処理の識別情報と、前記論理デバイスの識別情報とを関連付けた、少なくとも1組のデバイス占有情報を保持するデバイス占有情報記憶処理と、
前記プロセッサの起動に応じて前記パス情報および前記デバイス占有情報を参照することにより、そのプロセッサに対応するところの、前記第1のモジュール処理および前記第2のモジュール処理間と、前記第2のモジュール処理および前記ドライバ処理間との通信経路を設定する設定処理と、
何れかの前記論理ホストからの、特定の前記プロセッサを指定した前記指示に呼応して、その特定の前記プロセッサに対応する前記通信経路を使用して、その特定の前記プロセッサに関連付けされているところの、特定の前記第1のモジュール処理と特定の前記第2のモジュール処理とを介して、前記論理チャネルに対応付けされている特定の前記論理デバイスの動作を指示する指示処理とを実行させる
ことを特徴とする
また、例えば前記指示処理は、
前記指示としての初期化指示に応じて、その初期化指示を行った特定の前記プロセッサに関連付けされているところの、特定の前記第1のモジュールと特定の前記第2のモジュールとを介して、特定の前記論理デバイス初期化する初期化処理と、
前記初期化処理によって特定の前記論理デバイスを初期化したことを、前記デバイス占有情報記憶部に記憶する処理とを含むとよい
また、例えば 前記指示処理は、
前記指示としてのリセット指示に応じて、そのリセット指示を行った特定の前記プロセッサに関連付けされているところの、特定の前記第2のモジュールを基に前記デバイス占有情報記憶処理を参照した結果に従って、その特定の前記第2のモジュールに関連付けされている特定の前記論理デバイスをリセットする処理を含むとよい
本発明は、入出力転送装置を共有する際に、専用HWや専用ドライバを設計しなくてもよいので、開発コストと開発期間が削減できるという効果を持つ。
次に、本発明の第1の実施の形態について図面を参照して詳細に説明する。図1は本発明の第1の実施の形態のコンピュータシステムの構成を示すブロック図である。図1を参照すると、第1の実施の形態のコンピュータシステムは、物理ホスト装置1と、I/O制御装置2と、DISKアレイ3とを含む。
物理ホスト装置1は、HW層としては、CPU11とCPU12と共有メモリのメモリ13とメモリ14とを含む。
物理ホスト装置1の物理メモリ空間は、メモリ13とメモリ14との領域に分割される。OS101は、メモリ13に格納され、CPU11とメモリ13とを使用する。OS102は、メモリ14に格納され、CPU12とメモリ14とを使用する。メモリ13、および、メモリ14は、それぞれOS101、OS102に固定的に割り当てられた領域の他に、両者がアクセス可能な共有領域も含む。
I/O制御装置2は、HW層としては、I/OプロセッサであるIOP21、22と、メモリ23、24と、I/Oカード29−2(入出力転送装置の1種。たとえばFCカード)とを含む。FW204(ファームウェア)は、メモリ23に格納され、IOP21により実行される。FW205(ファームウェア)は、メモリ24に格納され、IOP22により実行される。ドライバ203は、メモリ23(メモリ24でもよい)の共有領域に格納され、I/Oカード29−2を制御する。
物理ホスト装置1、および、I/O制御装置2は、論理区画#1、#2に分割される。論理区画#1は、論理ホスト#1(OS101)に占有され、物理チャネル#1、#2を含む。物理チャネル#2は、FW204(従って、HW層のIOP21、メモリ23)、および、ドライバ203(したがって、H/W層のI/Oカード29−2)から構成される。
区画#2は、論理ホスト#2(OS102)に占有され、物理チャネル#3、#4を含む。物理チャネル#3は、FW205(したがって、HW層のIOP22、メモリ24)、および、ドライバ203(したがって、H/W層のI/Oカード29−2)から構成される。すなわち、I/Oカード29−2は、論理区画#1(論理ホスト#1)、論理区画#2(論理ホスト#2)で共有される。
DISKアレイ3は、コントローラ31と、物理DISK32とを含む。コントローラ31は、論理チャネル(#1)311〜論理チャネル(#4)314による制御を行う。物理DISK32は、論理DISK(#1)〜論理DISK(#4)324に分割されアクセスされる。論理チャネル(#1)311〜論理チャネル(#4)314は、それぞれ、論理DISK(#1)321〜論理DISK(#4)324に1対1で対応する。
論理DISK(#1)321〜論理DISK(#4)324の各論理DISKはDISKアレイ3の記憶域(アドレス空間)を排他的に4つに分割したものである。
また、論理チャネル#1〜#4は2グループに分割される。論理チャネル#1〜#2は論理区画#1に割り当てられ、論理チャネル#3〜#4は、論理区画#2に割り当てられる。
論理ホスト#1、#2は、それぞれ、物理チャネル#2、#3を介してドライバ203に対して、I/O命令を発行する。
ここで、論理ホスト#1のOS101、論理ホスト#2のOS102は、それぞれ、論理チャネル#1〜#2に接続された論理DISK(#1)321〜論理DISK(#2)322、論理チャネル#3〜#4に接続された論理DISK(#3)323〜論理DISK(#4)324の排他制御を行っている。
従って、論理ホスト#1(論理ホスト#2)は、論理区画#2(論理区画#1)と競合することなく物理チャネル#2(物理チャネル#3)から論理チャネル#1〜#2(論理チャネル#3〜#4)にI/O命令を発行することができる。OS101、102は、物理チャネル単位で初期化またはリセットを論理区画を意識せずに発行することができる。
FW204は、IOP21に実行され、物理チャネル#2(ドライバ203)から、論理チャネル#1、#2にI/O命令を発行する。FW205は、IOP22に実行され、物理チャネル#3(ドライバ203)から論理チャネル#3、#4にI/O命令を発行する。
OS101は、論理DISK(#1)321、論理DISK(#2)322を占有し、OS102は、論理DISK(#3)323、論理DISK(#4)324を占有する。
図2は、論理分割されるベースとなるコンピュータシステムの一構成例を示したブロック図である。図2を参照すると、コンピュータシステムは、ホスト及びI/O制御装置4とDISKアレイ3とを含む。ホスト及びI/O制御装置4のシステムバス20には、CPU11、CPU12、IOP21、IOP22が接続される。メモリコントローラ25にはCPU11、12にアサインされるメモリ13、14の他、IOP21、22にアサインされるメモリ23、24が接続される。
システムバス20にはバス制御回路26が接続される。バス制御回路26は、システムバス20とI/Oバス27間のバスブリッジとシステムバス20のバスビジー等の管理部と、I/Oバス27のバスビジー等の管理部を有し、システムバス20とI/Oバス27間のデータの受け渡しを行う。
I/Oバス27はPCIバス等である。I/Oバス27には、例えば、スロット#1〜#3の3スロットを持つバススロット272が接続されている。
入出力制御回路273は、バス制御回路26がIOPからのトランザクションデータを送出するとその宛先を解釈し対応するスロットに転送する。
バススロット272のスロット#1、#3にはそれぞれI/Oカード29−1、I/Oカード29−3が実装されている。これらのカードは例えばSCSIカードである。バススロット272のスロット#2には、共有されるI/Oカード29−2が実装されている。このカードは例えばFC(ファイバーチャネル)カードである。FCカードは、デバイス(外部記憶装置)側のコントローラ31との物理インタフェースはシリアル伝送を行うファイバーかメタルワイヤであるが、コントローラ31との上位層インタフェースはSCSI(Small Computer System Interface)である。
ここで、SCSIカードについて熟考してみると、SCSIカードに複数種類のデバイスを接続し、SCSIカードドライバが複数のデバイスドライバを要求元としコマンドを受取り、コマンド対応のデータ転送を並行して行いうることに気付く。また転送終了等のステータスはドライバかカードHWで要求元に対応付けて管理されていることが洞察される。したがって、I/Oカード29−2及びドライバ203もこの様なSCSIカード機能を踏襲し備えていることが洞察される。
図3は、I/Oカード29−2の構成を示すブロック図である。ホストインタフェース部291は、バススロット272に接続され、ドライバ203が発行するI/Oカード29−2宛の指示を受信する。また、I/Oライト時の書き込みデータを受信し、I/Oリード時のデータを送信する。
コマンドバッファ293にはホストインタフェース部291が受信したコマンド(I/O命令等)が格納される。データバッファ部294にはホストインタフェース部291が受信したI/Oライトデータや、デバイスインタフェース部292が受信したI/Oリードデータ等が格納される。
制御部296はドライバ203が発行するI/Oカード29−2宛の指示を解釈し、その結果に応じステータスレジスタ295の読み出しやコマンドバッファ293の書き込み、データバッファ部294の関連レジスタ(メモリアドレスレジスタ、転送カウントレジスタ等)の書き込みを行う。またコマンドをデバイスインタフェース部292を通じコントローラ31の宛先論理チャネルに送出する。
制御部296は、I/Oライト時にライトデータをメモリから読み出しデータバッファ部294に格納する。即ち、I/Oバス27の使用を要求し、バスマスタとなるとメモリ読み出しを行う。また、I/Oリード時にリードデータをデバイスインタフェース部292、伝送メディアを通じコントローラ31の対象の論理チャネルから受信しデータバッファ部294に格納する。データが所定量格納されるとI/Oバス27の使用を要求し、許可されバスマスタとなるとデータをメモリに書き込む。
ここで、コマンドバッファ293に格納された、コマンド(I/O命令等)毎にデータのバッファリング動作が行われる。即ち、コマンドバッファ293の各コマンドには宛先の論理チャネル番号を含まれ、これにデータバッファ部294の各データバッファが紐付けされる。
宛先の論理チャネル番号が異なるI/Oリードコマンドが相前後して発行されても、データバッファや関連レジスタがそれぞれに紐付けされ、送信元の論理チャネルに対応したバッファに格納され、コマンド単位のデータ転送動作が保証されることを洞察できる。
また、ドライバ203は、ステータスレジスタ295を読み出し、コマンド毎のデータ転送状態を確認できる。
図4に、I/O制御装置2のソフトウェア層の構成を示す。FW204は、論理区画#1のPCモジュール(物理チャネル対応モジュール)2041とLCモジュール(論理チャネル対応モジュール)20421〜20422からなる。ここでPCモジュール2041は物理チャネル#2に対応したモジュールで、LCモジュール20421は論理チャネル#1に対応したモジュールで、LCモジュール20422は論理チャネル#2に対応したモジュールである。
コントローラ31にはFW或いはHWによる複数の論理チャネルが存在し、論理チャネルには論理DISK等の論理デバイスが排他的に割り当てられる。前記LCモジュールのそれぞれが各論理チャネルに対応している。
同様に、FW205は、区画#2のPCモジュール2051とLCモジュール20521〜20522からなる。
I/Oパス情報記憶部231には、IOP番号と共有するスロット番号を含み例えばメモリ23の共有領域に設定される。図5にその内容例を示す。番号#1のIOPとはIOP21であり、番号#2のIOPとはIOP22のことである。
IOP21から、スロット#1のSCSIカード、スロット#2のFCカード(I/Oカード29−2)にアクセス可能であり、これらのカードを制御するドライバはドライバX1、ドライバ203であることを示している。
また、物理チャネル#2はPCモジュール2041とLCモジュール20421〜20422(したがってIOP21とメモリ23)と、ドライバ203(したがってスロット#2(FCカード))で構成されていることを示している。
また、IOP番号の#1、#2は、論理区画番号でもあり、論理区画#1には、LCモジュール20421〜20422が属しており、論理チャネル#1〜#2が割り当られていることを示している。
IOP22から、スロット#3のSCSIカード、スロット#2のFCカード(I/Oカード29−2)にアクセス可能であり、これらのカードを制御するドライバはドライバX2、ドライバ203であることを示している。
また、物理チャネル#3はPCモジュール2051とLCモジュール20521〜20522(したがってIOP22とメモリ24)と、ドライバ203(したがってスロット#2(FCカード))で構成されていることを示している。また、論理区画#2にはLCモジュール20521〜20522が属しており、論理チャネル#3〜#4が割当られていることを示している。
デバイス占有情報記憶部232には、各LCモジュールが占有する論理DISK等の論理デバイス指定情報を含み、例えばメモリ23の共有領域に設定される。図6にその内容例を示す。LCモジュール20421に対応する論理チャネル#1には、論理DISK#1が接続されていることを示している。他のLCモジュールについても同様である。
次に、本発明の実施の形態の動作について図面を参照して説明する。図7は、本発明の第1の実施形態の動作を示すフローチャートである。図7を参照すると、IOP21は、起動指示により、FW204をメモリ23に(図示しない不揮発性の記憶手段から)ロードする(ステップS1)。
IOP21は、FW204をロード後、メモリ23上の共有領域にあるI/Oパス情報記憶部231を参照し、該当するPCモジュール2041とLCモジュール20421間、LCモジュール20421とドライバ203間、PCモジュール2041とLCモジュール20422間、LCモジュール20422とドライバ203間、それぞれのモジュール間通信経路を事前に設定しておく。例えば、I/O処理要求情報受け渡し用と処理結果情報返信用の各エリアを双方の共有記憶域に設定することでプロセス間通信経路を設定しておく(ステップS2)。
次に、IOP21は、PCモジュール2041とLCモジュール20421、20422とドライバ203を起動する。各モジュールやドライバはプロセスタイムを割り当てられると自モジュールに対する処理要求の監視動作を行う(ステップS3)。
その後、OS101が起動されると、OS101は、OS内部で管理しているデバイス(外部記憶装置)管理情報から、占有する論理DISK(#1)321と論理DISK(#2)322に対して、初期化を行う。またこの際、物理チャネル#2を指定する(ステップS4)。
初期化は、初期化指示をPCモジュール2041が受け、PCモジュール2041は、LCモジュール20421〜20422に指示する(ステップS5)。該当するLCモジュールは、ドライバ203に対して、初期化指示を占有する論理DISK(#1)321、論理DISK(#2)322に発行する。
初期化指示はI/Oカード29−2を通じてコントローラ31に指示される。またこの時、該当LCモジュールは、占有した論理DISKの名称(識別)をデバイス占有情報記憶部232に登録する(ステップS6)。
次に、OS101が、IOP21にI/O命令を発行し、DISKアレイ3等をアクセスする動作について説明する。OS101の要求が論理DISKアクセス要求であれば(ステップS7)、OS101は物理チャネル#2を指定し、論理DISK(#1)321にI/O命令を発行し(ステップS8)、PCモジュール2041がI/O処理を開始し、PCモジュール2041、LCモジュール20421がそれぞれ既設定のプロセス間通信経路を使って、一気にドライバ203までI/O指示を伝える(ステップS9)。
ドライバ203は、I/Oカード29−2を通じ、DISKアレイ3のコントローラ31に対し、論理チャネル#1へのI/O指示を出力する(ステップS10)。次に、コントローラ31は、論理チャネル#1へのI/O指示を論理DISK(#1)321へのI/O指示として、物理DISK32をアクセスする。コントローラ31は前記アクセスする際に論理DISK(#1)321に対するアドレスや指示を物理DISK32へのアドレスや指示に変換しアクセスする(ステップS11)。
OS101の要求がチャネル#2のリセット要求であれば(ステップS7)、OS101は、物理チャネル#2を指定しチャネルリセット指示のI/O命令を発行する(ステップS12)。PCモジュール2041は、デバイス占有情報記憶部232に登録された該当LCモジュールだけにリセット指示を行なう。指示されたLCモジュールが、対応の論理チャネルを通じ論理DISKのリセットを行う(ステップS13)。
他区画のIOP22も同様に動作を行う。ただし、ドライバ203が既に起動されていた場合は何も行わない。
以上説明した様に、本発明によれば、I/Oカード当りの最大論理チャネル数を論理区画で分割し、また、FW起動時にモジュール間、モジュール−ドライバ間の通信経路(I/Oパス)を設定し以降I/Oパス情報記憶部231の参照を行うことなくI/O要求処理しており共有するI/Oカードの制御のオーバーヘッドの増加が少ないので、論理分割を行わないときのI/Oカードの性能と同等であるという効果を有する。
また、占有したデバイスの情報を保持しているので、OS(Operating System)は、物理チャネルに対して他の区画に影響せずに初期化とリセットを行え、OSの仕様変更を必要としないという効果を有する。
また、本発明は、入出力転送装置を共有する際に、専用HWや専用ドライバを設計しなくてもよいので、開発コストと開発期間が削減できるという効果を持つ。
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。図8は第2の実施形態の入出力転送装置共有方式や方法を含む論理分割されたコンピュータシステムの構成を示すブロック図である。
ホスト及びI/O制御装置4AはHW層として、CPU11、メモリ13、CPU12、メモリ14、I/Oカード29−2を含む。CPU11とメモリ13のHWリソースに、OS101とFW204を搭載し、更にI/Oカード29−2とこれを制御するドライバ203を共有することで論理区画#1を実現している。
OS101とFW204はメモリ13にロードされ、ドライバ203はメモリ13の共有エリアにロードされ、CPU11により実行される。
同様に、CPU12とメモリ14のHWリソースに、OS102とFW205を搭載し、更にI/Oカード29−2とドライバ203を共有することで論理区画#2を実現している。OS102とFW205はメモリ14にロードされ、共有ドライバ203はメモリ13の共有エリアにロードされ、CPU12により実行される。DISKアレイ3の構成は前記第1の実施形態と同様につき説明を省略する。
論理区画#1、#2のベースとなるホスト及びI/O制御装置4Aは例えば、図9に示す様な構成とすればよい。具体的には、図2のホスト及びI/O制御装置4のIOP21、22やメモリ23、24を含まない構成であり、メモリ23、24にロードしていたFW204、205やドライバ203は、メモリ13、14にロードし、IOP21、22が実行していた処理をCPU11、12が実行するようにすればよい。
本実施形態により、IOP等の入出力処理装置をCPUとは別に持たないコンピュータシステムを論理分割し複数の論理区画とする場合にも、本発明を適用することが出来る。
以上の実施形態の説明では、各論理区画が共有する入出力転送装置として、I/Oカード29−2(FCカード)の例で説明したが、共有する入出力転送装置は他のインタフェースカードであってもよい。
また、共有する入出力転送装置と接続する外部記憶装置をDISKアレイ3とし、論理デバイスを前記DISKアレイ3の記憶領域を排他的に分割した論理ディスクとする例について説明したが、前記外部記憶装置はDISKアレイ3に限定されるものでなく、記憶域(アドレス空間)を排他的に分割しそれぞれを論理デバイスとして扱える外部記憶装置であればよい。
また、共有する入出力転送装置と接続する外部記憶装置が一体化していても本発明は適用できることは言うまででもない。例えば、I/Oカード29−2が電子ディスクカード等の様に電子ディスク部を含むカードの場合は、電子ディスクカードのインタフェース部を共有する入出力転送装置とし、電子ディスク部を外部記憶装置とすればよい。
本発明は、論理区画に分割されるコンピュータシステムに対して適用できる。
本発明の第1の実施形態の入出力転送装置共有方式を含む論理区画に分割されたコンピュータシステムの構成を示すブロック図である。 本発明の第1の実施形態の論理区画に分割されるベースコンピュータシステムの構成例を示したブロック図である。 本発明の第1の実施形態のI/Oカード29−2の構成を示したブロック図である。 本発明の第1の実施形態のI/O制御装置2のソフトウェア層の構成を示す図である。 本発明の第1の実施形態のI/Oパス情報記憶部231の内容例を示す図である。 本発明の第1の実施形態のデバイス占有情報記憶部232の内容例を示す図である。 本発明の第1の実施形態の動作を示すフローチャートである。 本発明の第2の実施形態の入出力転送装置共有方式を含む論理区画に分割されたコンピュータシステムの構成を示すブロック図である。 本発明の第2の実施形態の論理区画に分割されるベースコンピュータシステムの構成例を示したブロック図である。
符号の説明
1 物理ホスト装置
11、12 CPU
13、14 メモリ
101、102 OS
2 I/O制御装置
20 システムバス
21、22 IOP
23、24 メモリ
231 I/Oパス情報記憶部
232 デバイス占有情報記憶部
25 メモリコントローラ
26 バス制御回路
27 I/Oバス
272 バススロット
273 入出力制御回路
29−1、29−2、29−3 I/Oカード
203 ドライバ
204、205 FW
2041、2051 PCモジュール
20421〜20422、20521〜20522 LCモジュール
291 ホストインタフェース部
292 デバイスインタフェース部
293 コマンドバッファ
294 データバッファ部
295 ステータスレジスタ
296 制御部
3 DISKアレイ
31 コントローラ
32 物理DISK
321 論理DISK(#1)
322 論理DISK(#2)
323 論理DISK(#3)
324 論理DISK(#4)
4、4A ホスト及びI/O制御装置

Claims (10)

  1. 記憶域が排他的に複数の論理デバイスに分割されると共に、個々の該論理デバイスが論理チャネルと1対1に対応付けされている外部記憶装置を、その外部記憶装置に接続されている1つの入出力転送装置を介して、その入出力転送装置を複数の論理ホスト間で共有しながら、該複数の論理ホストからの指示に応じて制御する入出力制御装置であって、
    前記外部記憶装置と1本の通信線で接続された前記入出力転送装置の動作を制御して、前記論理デバイスに指示を渡すドライバと、
    前記論理ホストからの前記指示を受けて、その指示を第2のモジュールに渡す第1のモジュールと、
    前記第1のモジュールから指示を受けて、その指示を前記ドライバに渡す前記第2のモジュールと、
    自入出力制御装置が有するプロセッサの識別情報と、前記入出力転送装置の識別情報と、前記ドライバの識別情報と、前記第1のモジュールの識別情報と、そして、前記論理チャネルに対応付けされている前記第2のモジュールの識別情報とを関連付けたパス情報を、複数の前記プロセッサに関して保持するI/Oパス情報記憶部と、
    前記第2のモジュールの識別情報と、前記論理デバイスの識別情報とを関連付けた、少なくとも1組のデバイス占有情報を保持するデバイス占有情報記憶部と、
    前記プロセッサの起動に応じて前記パス情報および前記デバイス占有情報を参照することにより、そのプロセッサに対応するところの、前記第1のモジュールおよび前記第2のモジュール間と、前記第2のモジュールおよび前記ドライバ間との通信経路を設定する設定手段と、
    何れかの前記論理ホストからの、特定の前記プロセッサを指定した前記指示に呼応して、その特定の前記プロセッサに対応する前記通信経路を使用して、その特定の前記プロセッサに関連付けされているところの、特定の前記第1のモジュールと特定の前記第2のモジュールとを介して、前記論理チャネルに対応付けされている特定の前記論理デバイスの動作を指示する指示手段と、
    を備えることを特徴とする入出力制御装置。
  2. 前記指示手段は、
    前記指示としての初期化指示に応じて、その初期化指示を行った特定の前記プロセッサに関連付けされているところの、特定の前記第1のモジュールと特定の前記第2のモジュールとを介して、特定の前記論理デバイス初期化する初期化手段と、
    前記初期化手段によって特定の前記論理デバイスを初期化したことを、前記デバイス占有情報記憶部に記憶する手段とを含む
    ことを特徴とする請求項記載の入出力制御装置。
  3. 前記指示手段は、
    前記指示としてのリセット指示に応じて、そのリセット指示を行った特定の前記プロセッサに関連付けされているところの、特定の前記第2のモジュールを基に前記デバイス占有情報記憶部を参照した結果に従って、その特定の前記第2のモジュールに関連付けされている特定の前記論理デバイスをリセットする手段を含む
    ことを特徴とする請求項記載の入出力制御装置。
  4. 前記複数の論理ホストが実行される物理装置は、自入出力制御装置とは別体である
    ことを特徴とする請求項1乃至3の何れかに記載の入出力制御装置。
  5. 記憶域が排他的に複数の論理デバイスに分割されると共に、個々の該論理デバイスが論理チャネルと1対1に対応付けされている外部記憶装置を、その外部記憶装置に接続されている1つの入出力転送装置を介して、その入出力転送装置を複数の論理ホスト間で共有しながら、該複数の論理ホストからの指示に応じて制御する入出力制御装置の制御方法であって、
    前記外部記憶装置と前記入出力転送装置とを1本の通信線で接続し、
    前記入出力制御装置が有するプロセッサの識別情報と、前記入出力転送装置の識別情報と、前記入出力転送装置の動作を制御して前記論理デバイスに指示を渡すドライバの識別情報と、前記論理ホストからの前記指示を受けて、その指示を第2のモジュールに渡す第1のモジュールの識別情報と、そして、前記論理チャネルに対応付けされており、前記第1のモジュールから指示を受けて、その指示を前記ドライバに渡す前記第2のモジュールの識別情報とを関連付けたパス情報を、複数の前記プロセッサに関して第1メモリに保持し、
    前記第2のモジュールの識別情報と、前記論理デバイスの識別情報とを関連付けて、少なくとも1組のデバイス占有情報として第2メモリに保持し、
    前記プロセッサの起動に応じて前記パス情報および前記デバイス占有情報を参照することにより、そのプロセッサに対応するところの、前記第1のモジュールおよび前記第2のモジュール間と、前記第2のモジュールおよび前記ドライバ間との通信経路を設定し、
    何れかの前記論理ホストからの、特定の前記プロセッサを指定した前記指示に呼応して、その特定の前記プロセッサに対応する前記通信経路を使用して、その特定の前記プロセッサに関連付けされているところの、特定の前記第1のモジュールと特定の前記第2のモジュールとを介して、前記論理チャネルに対応付けされている特定の前記論理デバイスの動作を指示する
    ことを特徴とする入出力制御装置の制御方法
  6. 前記指示としての初期化指示に応じて、その初期化指示を行った特定の前記プロセッサに関連付けされているところの、特定の前記第1のモジュールと特定の前記第2のモジュールとを介して、特定の前記論理デバイスを初期化
    特定の前記論理デバイスを初期化したことを、前記デバイス占有情報として前記第2メモリに記憶す
    ことを特徴とする請求項記載の入出力制御装置の制御方法
  7. 前記指示としてのリセット指示に応じて、そのリセット指示を行った特定の前記プロセッサに関連付けされている特定の前記第2のモジュールの識別情報を基に、前記第2メモリを参照することにより、その識別情報に関連付けされている特定の論理デバイスの識別情報を求めてリセットすべき特定の論理デバイスを特定し、
    特定した前記論理デバイスをリセットする
    ことを特徴とする請求項記載の入出力制御装置の制御方法
  8. 記憶域が排他的に複数の論理デバイスに分割されると共に、個々の該論理デバイスが論理チャネルと1対1に対応付けされている外部記憶装置を、その外部記憶装置に接続されている1つの入出力転送装置を介して、その入出力転送装置を複数の論理ホスト間で共有しながら、該複数の論理ホストからの指示に応じて制御する入出力制御装置を、コンピュータに実現させるプログラムであって、そのコンピュータにより、
    前記外部記憶装置と1本の通信線で接続された前記入出力転送装置の動作を制御して、前記論理デバイスに指示を渡すドライバ処理と、
    前記論理ホストからの前記指示を受けて、その指示を第2のモジュールに渡す第1のモジュール処理と、
    前記第1のモジュール処理からの指示を受けて、その指示を前記ドライバ処理に渡す前記第2のモジュール処理と、
    自コンピュータが有するプロセッサの識別情報と、前記入出力転送装置の識別情報と、前記ドライバ処理の識別情報と、前記第1のモジュール処理の識別情報と、そして、前記論理チャネルに対応付けされている前記第2のモジュール処理の識別情報処理とを関連付けたパス情報を、複数のプロセッサに関して保持するI/Oパス情報記憶処理と、
    前記第2のモジュール処理の識別情報と、前記論理デバイスの識別情報とを関連付けた、少なくとも1組のデバイス占有情報を保持するデバイス占有情報記憶処理と、
    前記プロセッサの起動に応じて前記パス情報および前記デバイス占有情報を参照することにより、そのプロセッサに対応するところの、前記第1のモジュール処理および前記第2のモジュール処理間と、前記第2のモジュール処理および前記ドライバ処理間との通信経路を設定する設定処理と、
    何れかの前記論理ホストからの、特定の前記プロセッサを指定した前記指示に呼応して、その特定の前記プロセッサに対応する前記通信経路を使用して、その特定の前記プロセッサに関連付けされているところの、特定の前記第1のモジュール処理と特定の前記第2のモジュール処理とを介して、前記論理チャネルに対応付けされている特定の前記論理デバイスの動作を指示する指示処理とを実行させる
    ことを特徴とするプログラム。
  9. 前記指示処理は、
    前記指示としての初期化指示に応じて、その初期化指示を行った特定の前記プロセッサに関連付けされているところの、特定の前記第1のモジュールと特定の前記第2のモジュールとを介して、特定の前記論理デバイス初期化する初期化処理と、
    前記初期化処理によって特定の前記論理デバイスを初期化したことを、前記デバイス占有情報記憶部に記憶する処理とを含む
    ことを特徴とする請求項記載のプログラム。
  10. 前記指示処理は、
    前記指示としてのリセット指示に応じて、そのリセット指示を行った特定の前記プロセッサに関連付けされているところの、特定の前記第2のモジュールを基に前記デバイス占有情報記憶処理を参照した結果に従って、その特定の前記第2のモジュールに関連付けされている特定の前記論理デバイスをリセットする処理を含む
    ことを特徴とする請求項記載のプログラム。
JP2006203800A 2006-07-26 2006-07-26 入出力制御装置およびその制御方法、並びにプログラム Expired - Fee Related JP4983133B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006203800A JP4983133B2 (ja) 2006-07-26 2006-07-26 入出力制御装置およびその制御方法、並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006203800A JP4983133B2 (ja) 2006-07-26 2006-07-26 入出力制御装置およびその制御方法、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2008033449A JP2008033449A (ja) 2008-02-14
JP4983133B2 true JP4983133B2 (ja) 2012-07-25

Family

ID=39122834

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006203800A Expired - Fee Related JP4983133B2 (ja) 2006-07-26 2006-07-26 入出力制御装置およびその制御方法、並びにプログラム

Country Status (1)

Country Link
JP (1) JP4983133B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5104501B2 (ja) * 2008-04-11 2012-12-19 日本電気株式会社 仮想マシンシステム、ホスト計算機、仮想マシン構築方法およびプログラム
US9588921B2 (en) * 2015-02-17 2017-03-07 Amazon Technologies, Inc. System on a chip comprising an I/O steering engine

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63241641A (ja) * 1987-03-28 1988-10-06 Nec Corp 仮想計算機システムにおける入出力制御方式
JP3337508B2 (ja) * 1993-01-20 2002-10-21 富士通株式会社 単一cpuによる疑似複数ホストテスト方法
JP3225804B2 (ja) * 1995-09-05 2001-11-05 株式会社日立製作所 入出力チャネルの拡張方式
JP4087072B2 (ja) * 2001-01-25 2008-05-14 株式会社日立製作所 ストレージシステム及び仮想プライベートボリューム制御方法
US6665759B2 (en) * 2001-03-01 2003-12-16 International Business Machines Corporation Method and apparatus to implement logical partitioning of PCI I/O slots
JP2005309553A (ja) * 2004-04-19 2005-11-04 Hitachi Ltd 計算機
JP2006079495A (ja) * 2004-09-13 2006-03-23 Hitachi Ltd ストレージシステム及び論理区画の設定方法
JP4295184B2 (ja) * 2004-09-17 2009-07-15 株式会社日立製作所 仮想計算機システム

Also Published As

Publication number Publication date
JP2008033449A (ja) 2008-02-14

Similar Documents

Publication Publication Date Title
JP3946873B2 (ja) ディスクアレイ制御装置
JP4402997B2 (ja) ストレージ装置
KR100799687B1 (ko) 비휘발성 메모리를 공유하는 두 개 이상의 콘트롤러를내장한 시스템
US6240467B1 (en) Input/output operation request handling in a multi-host system
EP1189132B1 (en) Shared peripheral architecture
US20050097384A1 (en) Data processing system with fabric for sharing an I/O device between logical partitions
JPH08249254A (ja) マルチコンピュータシステム
JPS5838818B2 (ja) 装置共用システム
US20110087836A1 (en) Storage unit and memory system
US5146605A (en) Direct control facility for multiprocessor network
JP4451687B2 (ja) ストレージシステム
JP2002278833A (ja) ディスクアレイ制御装置
JP4983133B2 (ja) 入出力制御装置およびその制御方法、並びにプログラム
US5938747A (en) Hardware command block delivery queue for host adapters and other devices with onboard processors
US20180011636A1 (en) Information processing apparatus and method of accessing a memory
US8527745B2 (en) Input/output device including a host interface for processing function level reset requests and updating a timer value corresponding to a time until application hardware registers associated with the function level reset requests are available
JPS6364133A (ja) 情報処理システム
US6295587B1 (en) Method and apparatus for multiple disk drive access in a multi-processor/multi-disk drive system
WO2007039933A1 (ja) 演算処理装置
JP5218413B2 (ja) 情報処理装置及びその制御方法
KR102496994B1 (ko) PCIe 인터페이스 장치 및 그 동작 방법
JP4737702B2 (ja) ディスクアレイ制御装置
JPH10283302A (ja) 複数のプロセッサに接続されたバスにデータを供給する方法およびシステム
US20240012684A1 (en) Memory disaggregation method, computing system implementing the method
JP6885635B1 (ja) 情報処理装置、情報処理方法及び情報処理装置用プログラム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20080616

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20090512

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110630

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20110705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110901

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4983133

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees