(57)【要約】【課題】ＰＣＩ−ｅバスインタフェースを具備するチャネルハードウェアをメインフレームに搭載する際、システム装置内の大幅な変更無しにスループットの向上が実現できるデータ転送装置を提供する。【解決手段】チャネルから主記憶を参照する場合に、実際の主記憶参照と並行してプリフェッチ動作を行い、参照の対象となるデータを先行してキャッシュに登録する。本発明によれば、ＰＣＩ−ｅバスインタフェースを具備するチャネルハードウェアをメインフレームに搭載する際、データを先行してキャッシュに登録することでデータ転送のスループット低下を防止することができ、且つ主記憶内のデータ更新を反映することが可能なデータ転送装置を提供できる。【選択図】図１
2012003514.tif 000002
【特許請求の範囲】
【請求項１】
転送するデータを一時的に格納するデータバッファを具備し、チャネル装置とＰＣＩバスまたはその後継規格のインタフェースを介してデータ転送を実施し、主記憶装置とキャッシュ及び独自の内部インタフェースを介してデータ転送を実施するデータ転送装置であって、前記主記憶装置を参照する際に、主記憶を先行して参照し、キャッシュに登録する為の参照アドレス及び、参照する領域長を保持する手段を具備し、前記領域長が予め定められた長さを超える場合には、主記憶参照とは独立に、キャッシュに登録することを目的とする先行読み出しを行うことを特徴とするデータ転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子計算機システムにおけるチャネル装置に関するものであり、特にＰＣＩまたはその後継規格のインタフェースを有するチャネル装置と専用インタフェースを有する主記憶装置との間のデータ転送装置に関する。
【背景技術】
【０００２】
メインフレームコンピュータシステムのチャネル装置は近年、独自の入出力インタフェースではなく、オープン系サーバで使用されるインタフェースを取り入れている。現在採用しているＦＩＢＡＲＣチャネルもその一つであり、ＡＮＳＩのＦＣ−ＳＢ−２(Fibre Channel Single Byte command code sets-2 mapping protocol)にて規格化された入出力インタフェースに準拠している。
【０００３】
本インタフェースをメインフレームコンピュータシステムに取り入れるに当たり、オープン系で業界標準規格であるＰＣＩバスとメインフレーム独自の内部インタフェースを接続する為のブリッジ機能を有するデータ転送装置を用いることが開発コスト上有用であり、前記データ転送装置内でブリッジ機能に加え、一部のアドレス生成を行うことで性能の改善を図れることは特開２００６−１７８５５３号公報で示されたとおりである。
【０００４】
近年、オープン系で使用される上記の規格は新技術の開発に伴い更なる高速化が進み、これを転送する為の内部バスの規格もＰＣＩバスからＰＣＩ−ｅバスへと移行が進んでいる。メインフレームコンピュータシステムでもこれらの規格を取り入れることで、更なる高速化を実現することが出来る。
【０００５】
チャネル装置の内部バスをＰＣＩ−ｅバスへと移行した場合、チャネル装置と主記憶装置間のデータ転送速度がこれに追従しなければシステムとしての性能向上は図れない。これを解決する為の手段として、チャネル装置と主記憶装置間の設計を見直し、チャネル内部バスのデータ転送速度に合わせ、システムのデータ転送速度を向上させる方法（施策１）、システムのデータ転送速度は現行のまま、データの転送効率を向上させる方法、一例として、チャネル装置が参照する主記憶の領域を予測し、先行して主記憶からチャネル装置にデータ転送を行うことで、転送に要する時間を隠蔽する方法（施策２）等が考えられる。
【０００６】
しかし、施策１は設計の見直し範囲がシステム全体に及び、開発コストの増大を招く、施策２は予測に基づき主記憶からデータ転送を行った領域に対して、他チャネル装置やプロセッサから主記憶内容の更新が行われた場合、これを認識して、主記憶の内容を最新とすることが困難である、といった問題がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−１７８５５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記背景技術では、チャネル装置の内部バスをＰＣＩ−ｅバスへと移行した場合、チャネル装置と主記憶装置間のデータ転送速度がこれに追従せず、システムとしての性能向上が見込めない問題が発生する。システム内のデータ転送速度をこれに追従して向上した場合、広範囲にわたる部位の開発により多大な開発コストを要する。また、データ転送速度を変えずに、プリフェッチ(先行読み出し)の手法でデータ転送効率を向上させた場合、先行して読み出したデータの内容の保証を行うことが困難であるといった問題が生じる。
【課題を解決するための手段】
【０００９】
上記施策２の代替手段として、チャネル装置より主記憶装置に対してデータの先行読み出しを行った際、即時にチャネル装置までデータを転送する代わりに読み出したデータを一旦キャッシュに登録するまでにとどめておく。キャッシュに登録されたデータに対して更新が行われた場合、キャッシュの内容の更新あるいは無効化が行われ、いずれの場合でも先行読み出しにてキャッシュに登録したデータに対しての特別な措置は不要であり、低コストでシステムの性能向上を図ることが出来る。
【発明の効果】
【００１０】
以上説明したように本発明によれば、ＰＣＩ−ｅバスインタフェースを具備するチャネルハードウェアをメインフレームに搭載する際、データを先行してキャッシュに登録することでデータ転送のスループット低下を防止することができ、且つ主記憶内のデータ更新を反映することが可能なデータ転送装置を提供できる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施例によるデータ転送装置を搭載したチャネルカードのブロック図を示す。
【図２】データ転送装置内のプリフェッチ要求制御部のブロック図を示す。
【発明を実施するための形態】
【００１２】
以下、本発明によるデータ転送装置の一実施例を図面により説明する。
【００１３】
図１は本発明の一実施例によるデータ転送装置を搭載したチャネルカードのブロック図、図２はデータ転送装置内のプリフェッチ要求制御部のブロック図である。
【００１４】
本発明が適用されたチャネルカードは、図１に示すように、入出力装置と主記憶１０５の間でデータ転送を実施するチャネル１０２、主記憶装置１０５、システムコントローラ（ＳＣ）１０４、データ転送装置１０１で構成される。
【００１５】
データ転送装置１０１はＰＣＩ−ｅインタフェース制御部１０６、主記憶インタフェース制御部１０７、データ転送制御部１０８、アドレス情報格納バッファ（ＡＤＲＢＵＦ）１０９、ストアデータバッファ（ＳＤＢ）１１０、フェッチデータバッファ（ＦＤＢ）１１１から構成される。これらのうち、ＡＤＲＢＵＦ、ＳＤＢ、ＦＤＢの動作は〔特許文献２〕と同様である。また、ＰＣＩ−ｅインタフェース制御部１０６は〔特許文献３〕に記載のＰＣＩインタフェース制御部と同様の動作を行うが、ＰＣＩ−ｅバスに対応する。
【００１６】
データ転送装置１０１は主記憶要求制御部１１２、プリフェッチ要求制御部１１３、主記憶制御部１１４より構成され、主記憶要求制御部１１２、主記憶制御部１１４の動作は〔特許文献４〕と同様である。プリフェッチ要求制御部１１３は主記憶要求制御部１１２と並行して動作し、主記憶に対するプリフェッチ要求を主記憶インタフェース制御部１０７経由でＳＣ１０４に発行する。ＳＣ１０４は本プリフェッチ要求に従い、主記憶装置１０５より参照データを読み出し、キャッシュに登録する。
【００１７】
ＳＣ１０４はプリフェッチ要求に従い読み出したデータはデータ転送装置１０１への即時の転送は行わず、データ転送装置１０１内主記憶要求制御部１１２から同領域に対するデータ参照要求があった際に初めて転送を行う。これは、本発明の意図するところが、データ転送装置１０１から主記憶１０５を参照する際の、キャッシュ１０４から主記憶１０５までの参照時間を隠蔽し、データ参照のスループットを向上する点にある為である。プリフェッチ要求に従い、キャッシュに登録したデータを即時データ転送装置１０１に転送してしまうと、データ転送装置に、プリフェッチによる参照データの保持レジスタやその制御論理など、多くの追加機構が必要となり、データ転送装置を使用することで、開発コストを低減するという本来の趣旨に反してしまう。
【００１８】
図２により、プリフェッチ要求制御部１１３の詳細を説明する。プリフェッチ有効基準長２０３には、主記憶参照を行う際、プリフェッチを行う最小の領域長を事前に設定しておく。転送長が本基準長に満たない場合はプリフェッチを行わない。プリフェッチ単位長２０２には一回のプリフェッチで主記憶参照を行う領域長を事前に設定しておく。ＰＦＴＬ１１８にはプリフェッチを行う残りの領域長が格納される。ＰＦＴＡ１１７にはプリフェッチを行うアドレスが格納される。
【００１９】
ここで、仮にプリフェッチ有効基準長２０３に２ＫＢｙｔｅ、プリフェッチ単位長に１ＫＢｙｔｅが設定されており、総転送長４ＫＢｙｔｅの転送を行う場合の本制御部の動作を説明する。
【００２０】
本転送を行う際、総転送長には上記の４ＫＢｙｔｅが、ＡＤＲＢＵＦ読み出しデータには転送の先頭アドレスが入力され、総転送長セット信号とＡＤＲＢＵＦ読み出し応答信号がそれぞれ成立する。これらにより、ＰＦＴＬ１１８には総転送長４ＫＢｙｔｅからプリフェッチ有効基準長２０３に設定された２ＫＢｙｔｅを減じた２ＫＢｙｔｅが、ＰＦＴＡ１１７には、転送開始アドレスにプリフェッチ有効基準長２ＫＢｙｔｅを加えた値がそれぞれ登録される。ＰＦＴＬが０より大きい場合、ＦＦ−Ｄ２０１が成立し、ＰＦＴＡ１１７に設定されたアドレスに対し主記憶プリフェッチ要求が発行される。
【００２１】
ＳＣ１０４において主記憶プリフェッチ要求が受け付けられ、次のプリフェッチ要求が受け付け可能となると、次プリフェッチ許可信号が成立する。これにより、ＰＦＴＬ１１８には前回セットされた２ＫＢｙｔｅからプリフェッチ単位長２０２に設定された１ＫＢｙｔｅを減じた１ＫＢｙｔｅが、ＰＦＴＡ１１７には前回の値にプリフェッチ単位長２０２に設定された１ＫＢｙｔｅを加えた値がそれぞれ設定され、次の主記憶プリフェッチ要求が発行される。主記憶プリフェッチ要求を発行する度、ＰＦＴＬ１１８に設定される値はプリフェッチ単位長２０２に設定された分だけ減っていき、ＰＦＴＬ１１８の値が0以下となったところで、主記憶プリフェッチ要求は終了する。
【符号の説明】
【００２２】
１００…チャネルカード、１０１…データ転送装置、１０２…チャネル、１０３…ＰＣＩ−ｅバス、１０４…システムコントローラ、１０５…主記憶装置、１０６…ＰＣＩ−ｅインタフェース制御部、１０７…主記憶インタフェース制御部、１０８…データ転送制御部、１０９…アドレス情報格納バッファ、１１０…ストアデータバッファ、１１１…フェッチデータバッファ、１１２…主記憶要求制御部、１１３…プリフェッチ要求制御部、１１４…主記憶制御部、１１５…主記憶要求長保持レジスタ、１１６…アドレス情報レジスタ、１１７…プリフェッチアドレスレジスタ、１１８…プリフェッチ長保持レジスタ、１１９…転送残カウント保持レジスタ、１２０…主記憶結果保持レジスタ、２０１…主記憶プリフェッチ要求フラグ、２０２…プリフェッチ単位長設定レジスタ、２０３…プリフェッチ有効基準長設定レジスタ。
【図１】
2012003514.tif 000003
【図２】
2012003514.tif 000004