(57)【特許請求の範囲】
【請求項１】
一つのマイクロプロセッサと、複数の入出力ポートと、前記一つのマイクロプロセッサが接続される第１のバスと、前記複数の入出力ポートが接続される第２のバスと、前記第１のバスと前記第２のバスとの間に介在するバス・ブリッジとを含む情報処理装置の制御方法であって、
前記バス・ブリッジにおいて、前記第１のバス上で前記マイクロプロセッサから指定される第１のアドレスを、前記第２のバス上における第２のアドレスに変換することで、前記マイクロプロセッサによる複数の前記入出力ポートを介した入出力の制御を行い、
前記バス・ブリッジには、前記第１のバス上における複数の前記入出力ポートの各々の前記第１のアドレスの先頭値が設定される第１のレジスタと、前記第２のバス上における複数の前記入出力ポートの各々の前記第２のアドレスの先頭値が設定される第２のレジスタと、複数の前記入出力ポートの各々について、アドレス判定条件およびアドレス変換条件を指定する第３のレジスタと、からなるレジスタ群を前記入出力ポートの数だけ備え、
前記入出力ポートの数だけ備えたレジスタ群の各々に、前記第１のレジスタには前記第１のアドレスの先頭値を設定し、前記第２のレジスタには前記第２のアドレスの先頭値を設定し、前記第３のレジスタには前記アドレス判定条件およびアドレス変換条件を設定する第１の工程と、
前記マイクロプロセッサの前記第１のアドレスと前記第１のレジスタの設定値とを照合して、前記第１のアドレスが前記入出力ポートへのアクセスか否かを判別する第２の工程と、
前記第１のアドレスが前記入出力ポートへのアクセスである場合に、当該第１のアドレスの、前記第３のレジスタに設定された変換範囲を、前記第２のレジスタに設定された前記第２のアドレスに変換する第３の工程と、
変換後の前記第２のアドレスを用いた複数の前記入出力ポートの一つへの入出力を実行する第４の工程と、を実行し、
前記第２の工程では、前記マイクロプロセッサの前記第１のアドレスのビットのうち、前記第３のレジスタに設定された値のビットが１に対応する部分が、前記第１のレジスタの設定値の対応部分に一致するか判定して、前記第１のアドレスが前記入出力ポートへのアクセスか否かを判別し、
前記第３の工程では、当該第１のアドレスのうち、前記第３のレジスタに設定された値のビットが１の部分を、前記第２のレジスタに設定された値の対応部分に変換し、他のビットはそのまま維持することで、前記第２のアドレスに変換することを特徴とする情報処理装置の制御方法。
【請求項２】
請求項１記載の情報処理装置の制御方法において、
前記情報処理装置は、ディスクアレイシステムにおけるホストインタフェース制御部およびディスクインタフェース制御部の少なくとも一方を構成することを特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置の制御技術に関し、特に、上位装置等の外部装置との間における入出力制御を行う入出力インタフェース等に適用して有効な技術に関する。
【０００２】
【従来の技術】
たとえば、ディスクアレイシステム等の情報処理装置においては、複数の上位装置が接続されるインタフェース部２０１の構成としては、参考技術として、図３に示すような構成が考えられる。すなわち、複数の上位装置の各々に接続される複数のポート部２０４およびポート部２０５を、内部バス２０８に接続し、さらに、この内部バス２０８には、キャッシュ間データ転送部２０７を介して図示しないキャッシュメモリが接続され、さらに、中間マイクロプロセッサ２０９、バス・ブリッジ２０６を介して、複数のマイクロプロセッサ部２０２およびマイクロプロセッサ部２０３が接続され、この複数のマイクロプロセッサ部２０２および２０３にて、複数のポート部２０４および２０５の各々とキャッシュメモリ等との間におけるデータ転送を制御する構成とする。
【０００３】
ポート部の制御に際して複数のマイクロプロセッサ部２０２およびマイクロプロセッサ部２０３で使用されるアドレスと、ポート部が接続される内部バス２０８でのアドレスは概して異なるため、バス・ブリッジ２０６には、アドレス変換用のレジスタ群２１０およびレジスタ群２１１が、複数のマイクロプロセッサ部２０２およびマイクロプロセッサ部２０３の各々に対応して設けられている。
【０００４】
また、図３の参考技術では、上述の構成の複数のインタフェース部２０１，２１２が、キャッシュ間データ転送部２０７を共有するように対称に配置した構成としている。
【０００５】
【発明が解決しようとする課題】
上述の参考技術の制御方式では、第１に、複数のポート部を制御する為に、ポート部に個数に対応した複数のマイクロプロセッサ、さらには中間マイクロプロセッサが必要であるため、インタフェース部２０１の製造原価の増加は避けられないという技術的課題がある。
【０００６】
第２に、参考技術のバス・ブリッジ２０６においては、１個のポート部が有するレジスタへのアクセスを可能にする為のレジスタ群２１０（２１１）には、マイクロプロセッサ部２０２（２０３）で使用され、ポート部２０４（２０５）にアクセスする為に割り当てられたアドレスの設定を行なう為のレジスタ２１０ａ（２１１ａ）と、ポート部のレジスタに割り当てられた、内部バス２０８で用いられるアドレスの先頭値を設定する為のレジスタ２１０ｂ（２１１ｂ）と、アドレス変換の演算を設定する為のレジスタ２１０ｃ（２１１ｃ）が、それぞれ１個のみ用意されている為に、個々のマイクロプロセッサ部２０２（２０３）が、もう１個のポート部２０５（２０４）が有するレジスタへのアクセスを行なう為には、当該プロセッサ部に対応して設けられたレジスタ群２１０（２１１）の設定をその都度変更する必要があり、制御が繁雑になる、という技術的課題があった。
【０００７】
本発明の目的は、複数の入出力ポートの制御に必要なマイクロプロセッサの数量を削減して、情報処理装置の製造原価の低減を実現することにある。
【０００８】
本発明の他の目的は、単一のマイクロプロセッサで、複数の入出力ポートを制御する際の制御の簡略化、高速化を実現可能な技術を提供することにある。
【０００９】
【課題を解決するための手段】
本発明では、上位装置とのインタフェース部において、単一のマイクロプロセッサ部により、内部バス上に存在する複数のポート部に対して制御を行なう構成とする。ここで、マイクロプロセッサ部で使用されるアドレスと、内部バス上で使用されるアドレスは概して異なり、直接複数のポート部に対してアクセスを行なうことは不可能である。その為、前記単一のマイクロプロセッサ部は、バス・ブリッジを介して前記内部バスに接続される。尚、マイクロプロセッサ部が、複数のポート部にアクセスする為の手段として、前記バス・ブリッジ内にアドレス変換を行なう機能を備え、個々のポート部に対する選択的なアクセスを可能とする為に、マイクロプロセッサが前記ポート部にアクセスする為に割り当てられたアドレスの先頭値を設定するレジスタと、前記１個のポート部に割り当てられた内部バスのアドレスの先頭値を設定するレジスタと、前記マイクロプロセッサ部が指定するアドレスが、対象とするポート部に対するアクセスであるか否かの演算を設定する為のレジスタによって構成されるレジスタ群を、ポート部の数だけ備える。
【００１０】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しながら詳細に説明する。
【００１１】
図１は、本発明の一実施の形態である制御方法が実施される情報処理装置の構成の一例を示す概念図であり、図２は、本実施の形態の情報処理装置の制御方法の作用の一例を説明するフローチャートである。本実施の形態では、情報処理装置として、たとえば、ディスクアレイシステムにおけるホストインタフェース制御を行うインタフェース部に適用した場合を例にとって説明する。
【００１２】
すなわち、本実施の形態の情報処理装置は、１個のバス・ブリッジ１０５を介したマイクロプロセッサ部１０２と、２個のポート部１０３及びポート部１０４と、１個のキャッシュ間データ転送部１０６が内部バス１０７によって接続されることによって構成されている系統のインタフェース部１０１と、このインタフェース部１０１と同様の構成を持ち、キャッシュ間データ転送部１０６を共有する他系統のインタフェース部１０１Ａから成る。
【００１３】
複数のポート部１０３、１０４等の各々は、マイクロプロセッサ部１０２の制御下で、たとえば、ファイバチャネル、ＳＣＳＩ、メインフレーム系チャネル、等の種々のインタフェース制御を実行し、個々のポート部１０３、１０４等に接続される図示しない上位装置と図示しないキャッシュメモリとの間でのデータ転送制御等を実行する。
【００１４】
なお、特に図示しないが、キャッシュメモリを挟んで、上述のインタフェース部１０１と同様の構成を有し、個々のポート部にディスクアレイが接続された構成のディスクコントローラを設け、前記キャッシュメモリを介して前記上位装置との間で授受されるデータを冗長構成の図示しないディスクアレイに読み書きする動作を制御する構成とすることができる。
【００１５】
インタフェース部１０１において、マイクロプロセッサ部１０２が２個のポート部１０３及び１０４にアクセスする際に使用するバス・ブリッジ１０５との間のプロセッサバス１１０上のアドレスと、実際にポート部１０３及び１０４に割り当てられた内部バス１０７上でのアドレスは概して異なるので、バス・ブリッジ１０５には、マイクロプロセッサ部１０２から２個のポート部１０３及び１０４にアクセスする為に指定されたアドレスを、内部バス１０７上で使用されるアドレスに変換する機能を有する必要がある。
【００１６】
その為、本実施の形態では、バス・ブリッジ１０５内には、マイクロプロセッサ部１０２でポート部１０３にアクセスする為に割り当てられたプロセッサバス１１０上のアドレスの先頭値を設定する為のレジスタ１０８ａと、ポート部１０３が内部バス１０７上で割り当てられたアドレスの先頭値を設定する為のレジスタ１０８ｂと、マイクロプロセッサ部１０２が指定するアドレスが、ポート部１０３に対するアクセスであるものか否かを判定する為の情報が設定されるレジスタ１０８ｃを含むレジスタ群１０８と、マイクロプロセッサ部１０２でポート部１０４にアクセスする為に割り当てられたプロセッサバス１１０上のアドレスの先頭値を設定する為のレジスタ１０９ａと、ポート部１０４が内部バス１０７上で割り当てられたアドレスの先頭値を設定する為のレジスタ１０９ｂと、マイクロプロセッサ部１０２が指定するアドレスが、ポート部１０４に対するアクセスであるものか否かを判定する為の情報が設定されるレジスタ１０９ｃを含むレジスタ群１０９を備えている。
【００１７】
以下に、前記レジスタ群１０８及び１０９に設定を行なった場合の詳細を例示する。尚、設定値は以下１６進数表示である。
【００１８】
レジスタ群１０８において、レジスタ１０８ａには、ポート部１０３にアクセスする為にマイクロプロセッサ部１０２が使用するアドレスの先頭値：０ｘｂｃ０８  ０２００を、レジスタ１０８ｂには、ポート部１０３が内部バス１０７上で割り当てられたアドレスの先頭値：０ｘ００００  ００００を、レジスタ１０８ｃには、前記レジスタ１０８ａ及び１０８ｂに設定されたアドレス間における変換の為の設定値：０ｘｆｆｆｅ  ０２００を設定する。
【００１９】
バス・ブリッジ１０５は、レジスタ１０８ｃの設定値に従い、マイクロプロセッサ部１０２が指定したアドレスに対して変換処理を行なう。処理方法は、マイクロプロセッサ部１０２が指定したアドレスに対し、前記レジスタ１０８ｃに設定したビットが１に対応するビットはレジスタ１０８ｂに設定した値に対応するビットに変換を行ない、０に対応するビットは当初の値を保持する方式を用いる。
【００２０】
同様にレジスタ群１０９において、レジスタ１０９ａには、ポート部１０４にアクセスする為にマイクロプロセッサ部１０２が使用するアドレスの先頭値：０ｘｂｄ０８  ０２００を、レジスタ１０９ｂには、ポート部１０４が内部バス１０７上で割り当てられたアドレスの先頭値：０ｘ００００  ０２００を、レジスタ１０９ｃには、前記レジスタ１０９ａ及び１０９ｂに設定されたアドレス間における変換の為の設定値：０ｘｆｆｆｅ  ０２００を設定する。
【００２１】
バス・ブリッジ１０５は、レジスタ１０９ｃの設定値に従い、マイクロプロセッサ部１０２が指定したアドレスに対して変換処理を行なう。処理方法は前記レジスタ群１０８の場合と同様に、マイクロプロセッサ部１０２が指定したアドレスに対し、前記レジスタ１０９ｃに設定したビットが１に対応するビットはレジスタ１０９ｂに設定した値に対応するビットに変換を行ない、０に対応するビットは当初の値を保持する方式を用いる。
【００２２】
このように、ポート部１０３及び１０４の各々に対応して設けられたレジスタ群１０８及び１０９の設定に従って機能するバス・ブリッジ１０５によって、ポート部１０３及び１０４に対する制御を行なう際、各マイクロプロセッサ毎にレジスタ群が１個のみ存在する場合に必要な、アクセス前にその都度に行なうレジスタの設定が不要となる。
【００２３】
以下、図２のフローチャートを参照して、本実施の形態の作用の一例について説明する。
【００２４】
まず、インタフェース部１０１への電源投入やリセットの後（ステップ３０１）、バス・ブリッジ１０５の各ポート部１０３および１０４に対応したレジスタ群１０８およびレジスタ群１０９の各々に、上述したようなデータの設定を行う（ステップ３０２）。
【００２５】
その後、バス・ブリッジ１０５は、マイクロプロセッサ部１０２からの入出力要求を待ち（ステップ３０３）、入出力要求が発生すると、マイクロプロセッサ部１０２が要求したプロセッサバス１１０上のプロセッサアドレスｘのビットのうち、レジスタ１０８ｃまたはレジスタ１０９ｃに設定された値のビットが１に対応する部分が、レジスタ１０８ａ（ポート部１０３）またはレジスタ１０９ａ（ポート部１０４）の設定値の対応部分に一致するか判定し（ステップ３０４）、いずれかに一致した場合には（ステップ３０５）、ポート部１０３（ポート部１０４）へのアクセス要求と判断して、プロセッサアドレスｘを内部バス１０７上の対応ポート部への内部バスアドレスｙに変換する（ステップ３０６）。
【００２６】
具体的には、一例として、プロセッサバス１１０上のプロセッサアドレスｘのうち、レジスタ１０８ｃまたはレジスタ１０９ｃに設定された値のビットが１の部分を、レジスタ１０８ｂまたはレジスタ１０９ｂに設定された値の対応部分に変換し、他のビットはそのまま維持することで、内部バス１０７上の内部バスアドレスｙへの変換を実行する。
【００２７】
その後、変換後の内部バス１０７上の内部バスアドレスｙを用いて、ポート部１０３または１０４へのアクセスを実行し（ステップ３０７）、入出力要求待ちに戻る（ステップ３０３）。
【００２８】
また、前記ステップ３０５で、プロセッサアドレスｘが、レジスタ１０８ａ（ポート部１０３）またはレジスタ１０９ａ（ポート部１０４）の設定値のいずれにも一致しなかった場合には、ポート部以外へのアクセス要求と判断して当該処理を実行し（ステップ３０８）、入出力要求待ちに戻る（ステップ３０３）。
【００２９】
以上説明したように、本実施の形態の制御方法を実施することにより、１個のマイクロプロセッサ部１０２によって複数のポート部１０３およびポート部１０４の制御が可能となり、参考技術の方式で使用していた中間マイクロプロセッサ部やポート部毎のマイクロプロセッサ部を設ける必要が無くなり、インタフェース部１０１の製造原価を抑えることが可能となる。
【００３０】
また、複数のポート部１０３およびポート部１０４に対応したレジスタ群１０８およびレジスタ群１０９の設定値を、その都度変更する必要がなくなり、制御の簡素化が可能になるとともに、煩雑なレジスタ値の変更操作に伴うオーバーヘッドも軽減され、ポート部１０３およびポート部１０４等へのアクセス処理の高速化が実現できる。
【００３１】
本願の特許請求の範囲に記載された発明を見方を変えて表現すれば以下の通りである。
【００３２】
＜１＞  ４個のポート部、２個のマイクロプロセッサ部、２個のバス・ブリッジ、及び１個のキャッシュ間データ転送部を持ち、前記２個のバス・ブリッジの内、１個のバス・ブリッジに接続された前記２個のマイクロプロセッサ部の内１個のマイクロプロセッサ部、前記４個のポート部の内２個のポート部、及び前記キャッシュ間データ転送部が内部バスを介して接続されることで１個の系統１が構成され、残り１個のバス・ブリッジに接続された残り１個のマイクロプロセッサ部、残り２個のポート部、残り１つのバス・ブリッジ及び前記キャッシュ間データ転送部が、前記内部バスとは別の内部バスを介して接続されることで更に１個の系統２が構成された、上位装置とのインタフェース部において、各系統内の１個のマイクロプロセッサ部により、各系統の２個のポート部制御を可能とする制御方式。
【００３３】
＜２＞  前記１個の系統１又は２内において、１個のマイクロプロセッサ部で使用されるアドレスと、２個のポート部が接続されている内部バス上で使用されるアドレスとは概して異なるので、前記マイクロプロセッサ部から前記２個のポート部へアクセスする為に、マイクロプロセッサ部で使用されるアドレスから内部バス上で使用されるアドレスへ変換する手段を有すバス・ブリッジを介し、前記１個のマイクロプロセッサ部と、前記内部バスに接続されている前記２個のポート部が接続され、更に前記内部バスに前記１個のキャッシュ間データ転送部が接続され、項目＜１＞で示したものと同一の１個の系統１又は２において、マイクロプロセッサ部により、２個のポート部の制御を可能とする制御方式。
【００３４】
＜３＞  系統内に存在するマイクロプロセッサ部で使用されるアドレスから、内部バス上に存在する２個のポート部の内、ポート部１へのアクセスを可能とする為に、ポート部１の有すレジスタに割り当てられた前記内部バス上で使用されるアドレスの先頭値を設定するレジスタと、前記ポート部１にアクセスする為に割り当てられた前記マイクロプロセッサ部で使用されるアドレスの先頭値を設定するレジスタと、前記マイクロプロセッサ部が指定するアドレスがポート部１に対するアクセスであるか否かの演算を設定する為のレジスタにより、前記内部バス上で使用されるアドレスへ変換する機能を有すレジスタ群１と、前記マイクロプロセッサ部で使用されるアドレスから、内部バス上に存在する２個のポート部の内、ポート部２へのアクセスを可能とする為に、ポート部２の有すレジスタに割り当てられた前記内部バス上で使用されるアドレスの先頭値を設定するレジスタと、前記ポート部２にアクセスする為に割り当てられた前記マイクロプロセッサ部で使用されるアドレスの先頭値を設定するレジスタと、前記マイクロプロセッサ部が指定するアドレスがポート部２に対するアクセスであるか否かの演算を設定する為のレジスタにより、前記内部バス上で使用されるアドレスへ変換する機能を有すレジスタ群２を有す、内部バスとマイクロプロセッサ部を接続するバス・ブリッジを使用することにより、１個のマイクロプロセッサ部からポート部１及びポート部２の制御を可能とする制御方式。
【００３５】
以上本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００３６】
【発明の効果】
本発明によれば、複数の上位装置等の各々に接続される複数の入出力ポートの制御に必要なマイクロプロセッサの数量を削減して、情報処理装置の製造原価の低減を実現することができる、という効果が得られる。
【００３７】
本発明によれば、より少数のマイクロプロセッサで、より多数の入出力ポートを制御する際の制御の簡略化、高速化を実現することができる、という効果が得られる。
【図面の簡単な説明】
【図１】本発明の一実施の形態である制御方法が実施される情報処理装置の構成の一例を示す概念図である。
【図２】本発明の一実施の形態である情報処理装置の制御方法の作用の一例を説明するフローチャートである。
【図３】本発明の参考技術であるインタフェース部の構成を示す概念図である。
【符号の説明】
１０１…インタフェース部（情報処理装置）、１０１Ａ…インタフェース部（情報処理装置）、１０２…マイクロプロセッサ部、１０３…ポート部、１０４…ポート部、１０５…バス・ブリッジ、１０６…キャッシュ間データ転送部、１０７…内部バス（第２のバス）、１０８…レジスタ群、１０８ａ…ポート部１０３にアクセスする為に割り当てられたアドレスの先頭値を設定する為のレジスタ、１０８ｂ…ポート部１０３が内部バス１０７上で割り当てられたアドレスの先頭値を設定する為のレジスタ、１０８ｃ…ポート部１０３に対するアクセスであるものか否かを判定する為のレジスタ、１０９…レジスタ群、１０９ａ…ポート部１０４にアクセスする為に割り当てられたアドレスの先頭値を設定する為のレジスタ、１０９ｂ…ポート部１０４が内部バス１０７上で割り当てられたアドレスの先頭値を設定する為のレジスタ、１０９ｃ…ポート部１０４に対するアクセスであるものか否かを判定する為のレジスタ、１１０…プロセッサバス（第１のバス）。
【図１】
0004024502.tif 000002
【図２】
0004024502.tif 000003
【図３】
0004024502.tif 000004