(57)【要約】【課題】ＣＰＵの命令に応じてＰＣＩ  Ｅｘｐｒｅｓｓデバイスとメインメモリとの間のデータの入出力を制御すること。【解決手段】外部のＰＣＩ  ＥｘｐｒｅｓｓデバイスＤと接続されるホストバスアダプタＨと、ホストバスアダプタＨとメインメモリ３００との間に接続されて、ホストバスアダプタＨを介してＰＣＩ  ＥｘｐｒｅｓｓデバイスＤとメインメモリ３００との間においてデータを転送するデータ転送部１２０と、ホストバスアダプタＨ、及びデータ転送部１２０を含む入出力制御装置１００の各部を制御するファームウェア制御部１１０とを備え、ファームウェア制御部１１０は、ＰＣＩ  ＥｘｐｒｅｓｓデバイスＤからメインメモリ３００へ転送すべき全てのパケットの送出が完了したときに、その旨をＣＰＵ２００へ通知する。【選択図】図１
2012212360.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵの命令に応じてＰＣＩ  Ｅｘｐｒｅｓｓデバイスとメインメモリとの間のデータの入出力を制御する入出力制御装置であって、
外部のＰＣＩ  Ｅｘｐｒｅｓｓデバイスと接続されるホストバスアダプタと、
前記ホストバスアダプタと前記メインメモリとの間に接続されて、前記ホストバスアダプタを介して前記ＰＣＩ  Ｅｘｐｒｅｓｓデバイスとメインメモリとの間においてデータを転送するデータ転送部と、
前記ホストバスアダプタ、及び前記データ転送部を含む当該入出力制御装置の各部を制御するファームウェア制御部と
を備え、
前記ファームウェア制御部は、前記ＰＣＩ  Ｅｘｐｒｅｓｓデバイスから前記メインメモリへ転送すべき全てのパケットの送出が完了したときに、その旨を前記ＣＰＵへ通知することを特徴とする入出力制御装置。
【請求項２】
前記データ転送部は、前記ＰＣＩ  Ｅｘｐｒｅｓｓデバイス側から順次送られてきたトランザクション・レイヤ・パケットを前記メインメモリへ順次転送すると共に、当該パケット転送が完了したときに、その旨を前記ファームウェア制御部へ通知し、
前記ファームウェア制御部は、パケット転送が完了した旨の通知を前記データ転送部から受け取ると、前記ＰＣＩ  Ｅｘｐｒｅｓｓデバイスから前記メインメモリへ転送すべき全てのパケットの送出が完了したことを前記ＣＰＵへ通知することを特徴とする請求項１に記載の入出力制御装置。
【請求項３】
前記ＰＣＩ  Ｅｘｐｒｅｓｓデバイス側から順次送られてきたトランザクション・レイヤ・パケットを、前記データ転送部へ順次送ると共に、前記ＰＣＩ  Ｅｘｐｒｅｓｓデバイス側から送られてきたトランザクション・レイヤ・パケットがなくなったとき、当該トランザクション・レイヤ・パケットと同じデータ構造であって、転送すべきパケットがなくなったことを示すマークビットを含む特殊パケットを、前記データ転送部へ送るＰＣＩ  Ｅｘｐｒｅｓｓスイッチ
を更に備え、
前記データ転送部は、前記特殊パケットを前記ＰＣＩ  Ｅｘｐｒｅｓｓスイッチから受け取ると、パケット転送が完了した旨を前記ファームウェア制御部へ通知することを特徴とする請求項２に記載の入出力制御装置。
【請求項４】
前記ファームウェア制御部は、前記ＰＣＩ  Ｅｘｐｒｅｓｓデバイス側から前記ＰＣＩ  Ｅｘｐｒｅｓｓスイッチへ送られるトランザクション・レイヤ・パケットがなくなったとき、当該トランザクション・レイヤ・パケットと同じデータ構造であって、転送すべきパケットがなくなったことを示すマークビットを含む特殊パケットを、前記ＰＣＩ  Ｅｘｐｒｅｓｓスイッチへ送り、
前記ＰＣＩ  Ｅｘｐｒｅｓｓスイッチは、前記特殊パケットを前記ファームウェア制御部から受け取ると、当該特殊パケットを、前記データ転送部へ送ることを特徴とする請求項３に記載の入出力制御装置。
【請求項５】
前記ホストバスアダプタは、前記ＰＣＩ  Ｅｘｐｒｅｓｓデバイスから順次受け取ったトランザクション・レイヤ・パケットを、前記ＰＣＩ  Ｅｘｐｒｅｓｓスイッチへ順次送ると共に、前記ＰＣＩ  Ｅｘｐｒｅｓｓスイッチへ送るべきトランザクション・レイヤ・パケットがなくなったとき、その旨を前記ファームウェア制御部へ通知し、
前記ファームウェア制御部は、前記ＰＣＩ  Ｅｘｐｒｅｓｓスイッチへ送るべきトランザクション・レイヤ・パケットがなくなった旨の通知を、前記ホストバスアダプタから受け取ると、前記特殊パケットを、前記ＰＣＩ  Ｅｘｐｒｅｓｓスイッチへ送ることを特徴とする請求項４に記載の入出力制御装置。
【請求項６】
ＰＣＩ  Ｅｘｐｒｅｓｓインターフェースを有するＰＣＩ  Ｅｘｐｒｅｓｓデバイスと、
前記ＰＣＩ  Ｅｘｐｒｅｓｓデバイスとデータを送受信するメインメモリと、
前記ＰＣＩ  Ｅｘｐｒｅｓｓデバイス、及び前記メインメモリとそれぞれ接続されて、ＰＣＩ  Ｅｘｐｒｅｓｓデバイスとメインメモリとの間のデータの入出力を制御する請求項１から５のいずれか一項に記載の入出力制御装置と、
前記入出力制御装置に対し、前記ＰＣＩ  Ｅｘｐｒｅｓｓデバイスと前記メインメモリとの間のデータ転送を命令するＣＰＵと
を備えることを特徴とするコンピュータ。
【請求項７】
外部のＰＣＩ  Ｅｘｐｒｅｓｓデバイスと接続されるホストバスアダプタと、前記ホストバスアダプタと前記メインメモリとの間に接続されて、前記ホストバスアダプタを介して前記ＰＣＩ  Ｅｘｐｒｅｓｓデバイスとメインメモリとの間においてデータを転送するデータ転送部と、前記ホストバスアダプタ、及び前記データ転送部を含む当該入出力制御装置の各部を制御するファームウェア制御部とを備え、ＣＰＵの命令に応じてＰＣＩ  Ｅｘｐｒｅｓｓデバイスとメインメモリとの間のデータの入出力を制御する入出力制御装置を制御する制御方法であって、
前記ファームウェア制御部が、前記ＰＣＩ  Ｅｘｐｒｅｓｓデバイスから前記メインメモリへ転送すべき全てのパケットの送出が完了したときに、その旨を前記ＣＰＵへ通知する段階を備えることを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入出力制御装置、コンピュータ、及び制御方法に関する。特に、本発明は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の命令に応じてＰＣＩ  Ｅｘｐｒｅｓｓ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ）デバイスとメインメモリとの間のデータの入出力を制御する入出力制御装置、当該入出力制御装置を備えるコンピュータ、並びに当該入出力制御装置を制御する制御方法に関する。
【背景技術】
【０００２】
ＰＣＩ  Ｅｘｐｒｅｓｓデバイス用の入出力制御装置は、ファームウェア制御部と、データ転送部と、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチとが、相互にＰＣＩ  Ｅｘｐｒｅｓｓで接続された構造を持つ。ファームウェア制御部は、システムにおける入出力処理全般を制御するファームウェアを搭載する制御機構である。ファームウェア制御部は、ＣＰＵからの入出力要求に対して、入出力制御装置を構成するホストバスアダプタ、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ、データ転送部を制御することで、ＰＣＩ  Ｅｘｐｒｅｓｓデバイスと、メインメモリとの間の入出力データ転送を実現している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２３８１５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
メモリライト信号の転送、即ち、ＰＣＩ  Ｅｘｐｒｅｓｓデバイスからメインメモリ方向への入力データを想定した場合、データ転送は、ＰＣＩ  Ｅｘｐｒｅｓｓデバイス→ホストバスアダプタ→ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ→データ転送部→メインメモリコントローラ→メインメモリの経路を通じて転送される。これに対して、入力転送の完了通知は、ホストバスアダプタ→ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ→ファームウェア制御部→データ転送部→メインメモリコントローラ→ＣＰＵの経路を通じて通知されるが、入出力制御装置内でデータ転送の経路と、転送終了通知の経路が２系統に分かれているため、データ転送終了通知の同期保証をとる（メインメモリへ書き込むべきデータがデータ転送部から完全に掃けたことを確認してからＣＰＵへの転送終了通知を発行する）必要がある。
【０００５】
このため、既知の方式による同期保証では、ファームウェア制御部が、ホストバスアダプタからの入力データ転送（メモリライト信号の転送）の完了を認識した際に、ホストバスアダプタに対してメインメモリのダミーリード転送（長さ０のリードリクエスト）を発行するよう制御し、このダミーリード転送の完了を検出した際に、ＣＰＵに対して入力データ転送の転送終了通知を発行するよう制御している。このダミーリード転送による同期保証は、入力転送の後処理として毎回必要な処理であるが、ＰＣＩ  Ｅｘｐｒｅｓｓデバイスとメインメモリとの間のデータ転送が終了したことをＣＰＵに通知するのに遅延が生じてしまい、このことが入出力制御装置の性能低下の要因となっている。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の第１の形態によると、ＣＰＵの命令に応じてＰＣＩ  Ｅｘｐｒｅｓｓデバイスとメインメモリとの間のデータの入出力を制御する入出力制御装置であって、外部のＰＣＩ  Ｅｘｐｒｅｓｓデバイスと接続されるホストバスアダプタと、ホストバスアダプタとメインメモリとの間に接続されて、ホストバスアダプタを介してＰＣＩ  Ｅｘｐｒｅｓｓデバイスとメインメモリとの間においてデータを転送するデータ転送部と、ホストバスアダプタ、及びデータ転送部を含む当該入出力制御装置の各部を制御するファームウェア制御部とを備え、ファームウェア制御部は、ＰＣＩ  Ｅｘｐｒｅｓｓデバイスからメインメモリへ転送すべき全てのパケットの送出が完了したときに、その旨をＣＰＵへ通知する。
【０００７】
本発明の第２の形態によると、ＰＣＩ  Ｅｘｐｒｅｓｓインターフェースを有するＰＣＩ  Ｅｘｐｒｅｓｓデバイスと、ＰＣＩ  Ｅｘｐｒｅｓｓデバイスとデータを送受信するメインメモリと、ＰＣＩ  Ｅｘｐｒｅｓｓデバイス、及びメインメモリとそれぞれ接続されて、ＰＣＩ  Ｅｘｐｒｅｓｓデバイスとメインメモリとの間のデータの入出力を制御する入出力制御装置と、入出力制御装置に対し、ＰＣＩ  Ｅｘｐｒｅｓｓデバイスとメインメモリとの間のデータ転送を命令するＣＰＵとを備える。
【０００８】
本発明の第３の形態によると、外部のＰＣＩ  Ｅｘｐｒｅｓｓデバイスと接続されるホストバスアダプタと、ホストバスアダプタとメインメモリとの間に接続されて、ホストバスアダプタを介してＰＣＩ  Ｅｘｐｒｅｓｓデバイスとメインメモリとの間においてデータを転送するデータ転送部と、ホストバスアダプタ、及びデータ転送部を含む当該入出力制御装置の各部を制御するファームウェア制御部とを備え、ＣＰＵの命令に応じてＰＣＩ  Ｅｘｐｒｅｓｓデバイスとメインメモリとの間のデータの入出力を制御する入出力制御装置を制御する制御方法であって、ファームウェア制御部が、ＰＣＩ  Ｅｘｐｒｅｓｓデバイスからメインメモリへ転送すべき全てのパケットの送出が完了したときに、その旨をＣＰＵへ通知する段階を備える。
【０００９】
なおまた、上記のように発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となり得る。
【発明の効果】
【００１０】
以上の説明から明らかなように、この発明は、入出力装置の性能を低下させることなく、ＰＣＩ  Ｅｘｐｒｅｓｓデバイスとメインメモリとの間のデータ転送に同期させて、データ転送が終了した場合に、その旨をＣＰＵへ通知することができる。
【図面の簡単な説明】
【００１１】
【図１】一実施形態に係るコンピュータＣのハードウェア構成の一例を示す図である。
【図２】ＰＣＩ  Ｅｘｐｒｅｓｓのトランザクション・レイヤ・パケット形式に準拠した、メモリライト信号のデータ構造（３ＤＷ）の一例を示す図である。
【図３】ダミーのメモリライト信号である、特殊Ｔｘｎ（Ｍａｒｋｉｎｇ  Ｗｒｉｔｅ  Ｔｘｎ）のトランザクション・レイヤ・パケットのデータ構造の一例を示す図である。
【図４】仕掛り中表示のタイミングチャートの一例を示す図である。
【図５】ダミーのメモリリード信号の一例を示す図である。
【図６】本発明に係る入出力制御装置によるメモリライト信号転送の完了確認までに掛かるレイテンシの一例を示す図である。
【図７】既知の入出力制御装置によるメモリライト信号転送の完了確認までに掛かるレイテンシの一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は、特許請求の範囲にかかる発明を限定するものではなく、また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１３】
図１は、一実施形態に係るコンピュータＣのハードウェア構成の一例を示す。コンピュータＣは、入出力制御装置（ＩＯＰ（Ｉｎｐｕｔ−Ｏｕｔｐｕｔ  Ｐｒｏｃｅｓｓｅｒ））１００、ＣＰＵ２００、メインメモリ（ＭＥＭ）３００、メインメモリコントローラ（ＭＭＣ）４００、及び複数のＰＣＩ  Ｅｘｐｒｅｓｓデバイス（Ｄｉｓｋ）Ｄ０、Ｄ１、・・・、Ｄｎ（以下、ＰＣＩ  ＥｘｐｒｅｓｓデバイスＤと総称する）を備える。
【００１４】
入出力制御装置１００は、ＣＰＵ２００の命令に応じてＰＣＩ  ＥｘｐｒｅｓｓデバイスＤとメインメモリ３００との間のデータの入出力を制御する装置である。ＣＰＵ２００は、コンピュータを構成する部品の一つで、各装置の制御やデータの計算、加工を行う装置である。メインメモリ３００は、コンピュータＣ内でデータやプログラムを記憶する装置である。メインメモリコントローラ４００は、メインメモリ３００に対するデータの書込み、又は読出しを制御する装置である。ＰＣＩ  ＥｘｐｒｅｓｓデバイスＤは、例えば、ＰＣＩ  Ｅｘｐｒｅｓｓインターフェースを有するハードディスクである。
【００１５】
入出力制御装置１００は、ファームウェア（ＦＷ）制御部１１０、データ転送部（ＩＯＣ（Ｉｎｐｕｔ−Ｏｕｔｐｕｔ  Ｃｏｎｔｒｏｌｌｅｒ））１２０、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ（ＰＣＩｅＳＷ）１３０、及び複数のホストバスアダプタ（ＨＢＡ）Ｈ０、Ｈ１、・・・、Ｈｎ（以下、ホストバスアダプタＨと総称する。）を備える。
【００１６】
ファームウェア制御部１１０は、入出力制御装置１００を構成する部品の一つで、データ転送部１２０、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ１３０、及びホストバスアダプタＨの制御やデータの計算、加工を行う装置である。より具体的に説明すると、ファームウェア制御部１１０は、データ転送部１２０、及びＰＣＩ  Ｅｘｐｒｅｓｓスイッチ１３０とそれぞれ電気的に接続されている。
【００１７】
データ転送部１２０は、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ１３０とメインメモリコントローラ４００との間でデータを転送する回路である。
【００１８】
以下に、本発明である入力データ転送（メモリライト信号）時の、トランザクション・レイヤ・パケットのデータ構成と、制御方法について詳しく説明する。
【００１９】
最初に、ＣＰＵ２００から入出力制御装置１００に対して入力データ転送要求が送られてくると、ファームウェア制御部１１０は、データ転送部１２０に対してＨＲＮ（Ｈａｒｄｗａｒｅ  Ｒｅｓｏｕｒｃｅ  Ｎｕｍｂｅｒ）（ＨＲＮ０〜ＨＲＮｎ）に対応した入力転送データの開始を示すセット信号と、有効期間中のデータであることを示すＶａｌｉｄ信号を発行すると共に、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ１３０に対して、ＰＣＩ  Ｅｘｐｒｅｓｓインターフェースで、通常使用されているトランザクション・レイヤ・パケットのメモリライト信号を、ＨＲＮ単位（ＨＲＮ０〜ＨＲＮｎ）で発行する。データ転送部１２０は、ファームウェア制御部１１０からのセット信号とＶａｌｉｄ信号を受け取って、最初のメモリライト信号転送のトランザクション・レイヤ・パケット（ＴＬＰ０）データを受信すると、ＨＲＮ対応した仕掛り中リクエスト表示を点灯する。
【００２０】
図２に、ＰＣＩ  Ｅｘｐｒｅｓｓのトランザクション・レイヤ・パケット形式に準拠した、メモリライト信号のデータ構造（３ＤＷ）の一例を示す。トランザクション・レイヤ・パケットのデータ形式は、入出力処理内容である入力データ転送（メモリライト信号）を示すフォーマットＦｍｔ（１ｘ）とタイプＴｙｐｅ（０００００）の他に、対象デバイスを識別するトランザクションＩＤ情報（ＰＣＩ  Ｅｘｐｒｅｓｓのバス番号、デバイス番号、機能番号、Ｔａｇ情報）と、入力データをメインメモリ３００に格納するメモリアドレス情報（Ａｄｄｒｅｓｓ）、ＤＷ単位のカウントのデータペイロード長（Ｌｅｎｇｔｈ）、最終ＤＷのデータバイト（Ｎ−１）と、先頭ＤＷのデータバイト０のバイトイネーブル情報（Ｌａｓｔ  ＤＷ  ＢＥ、１ｓｔ  ＤＷ  ＢＥ）等のトランザクション・レイヤ・パケットのヘッダ情報及び、入力データペイロード（バイトデータ０〜バイトデータＮ−１）から構成されている。ここで、ＨＲＮ単位のデータ転送の場合、書き込む先のＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）空間（３ＤＷの場合Ａｄｄｒｅｓｓ［３１：０］）に、予めＨＲＮ番号を割り当てておき、ＨＲＮ番号の情報を反映したトランザクション・レイヤ・パケットのアドレスにすることで、ＨＲＮ０〜ＨＲＮｎの識別を可能としている。
【００２１】
ファームウェア制御部１１０から、メモリライト信号の開始通知を受け取った、ＨＲＮ対応のホストバスアダプタＨは、対応する入出力機器ＰＣＩ  ＥｘｐｒｅｓｓデバイスＤ内の指定アドレス、カウント情報に基づいた入力データを、Ｔｘｎ（ＴＬＰ０〜ＴＬＰｍ）のメモリライト信号のデータ形式で、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ１３０→データ転送部１２０→メインメモリコントローラ４００へ転送し、指定アドレスと、カウント情報に基づいて、メインメモリ３００内のダイレクトメモリアクセス（ＤＭＡ）空間に、順次データの書き込み処理を行っていく。ＰＣＩ  ＥｘｐｒｅｓｓデバイスＤからのデータＴｘｎ（ＴＬＰ０〜ＴＬＰｍ）が全て掃けると、ホストバスアダプタＨはＰＣＩ  Ｅｘｐｒｅｓｓスイッチ１３０を通して、ファームウェア制御部１１０にメモリライト信号終了通知を発行する。
【００２２】
図３に、ダミーのメモリライト信号である、特殊Ｔｘｎ（Ｍａｒｋｉｎｇ  Ｗｒｉｔｅ  Ｔｘｎ）のトランザクション・レイヤ・パケットのデータ構造の一例を示す。本発明に係る特殊Ｔｘｎは、メモリライト信号である。これに対し、既知の特殊Ｔｘｎは、メモリリード信号である。したがって、本発明に係る入出力制御装置は、メモリライト後、続けてメモリライトＴｘｎ処理を行うため、既知の入出力制御装置のようにメモリライト後にメモリリードＴｘｎ処理を行う場合よりも早く処理を終えることができる。以下、このメモリライト信号のＴｘｎ処理について詳細に説明する。
【００２３】
ファームウェア制御部１１０は、ＨＲＮ対応のホストバスアダプタＨからメモリライト信号転送が完了して、終了通知を受けとると、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ１３０に対して、このダミーのメモリライト信号である特殊Ｔｘｎ（Ｍａｒｋｉｎｇ  Ｗｒｉｔｅ  Ｔｘｎ）を発行するが、トランザクション・レイヤ・パケットのデータ構造は、図２で示したメモリライト信号転送時の構造と基本的に同じであり、ＰＣＩ  Ｅｘｐｒｅｓｓのトランザクション・レイヤ・パケット形式に準拠している。トランザクション・レイヤ・パケットのアドレス（Ａｄｄｒｅｓｓ）は、最後にメモリライト信号転送したトランザクション・レイヤ・パケット（ＴＬＰｍ）と同じアドレス値、又は最後にメモリライト信号転送したトランザクション・レイヤ・パケット（ＴＬＰｍ）のアドレスに、最後のトランザクション・レイヤ・パケット（ＴＬＰｍ）が書き込みしたカウント数を加えた値等を適用していて、ＨＲＮ番号を識別するため、ＤＭＡ空間内にＨＲＮ番号を割り当てたアドレスを反映した構成となっている。更に、トランザクション・レイヤ・パケットのアドレス内にＤＭＡ空間へのメモリライト信号転送終了時に、転送終了を認識させるための特殊なマークビット（ｍ）を１ビット、予め用意しておき、メモリライト信号転送完了後にホストバスアダプタＨからの終了通知を受けると、ファームウェア制御部１１０は、マークビット（ｍ＝１）を点灯する。該ＤＭＡ空間にＰＣＩ  Ｅｘｐｒｅｓｓスイッチ１３０を通じて、ダミーのメモリライト信号である特殊Ｔｘｎ（Ｍａｒｋｉｎｇ  Ｗｒｉｔｅ  Ｔｘｎ）を発行することで、データ転送部１２０にメモリライト信号の転送終了を通知する。また、指定されたデータペイロード長（Ｌｅｎｇｔｈ）と、バイトイネーブル（Ｌａｓｔ  ＤＷ  ＢＥと１ｓｔ  ＤＷ  ＢＥ）に基づいたダミーの入力データペイロード（データバイト０）から構成している。
【００２４】
データ転送部１２０は、ファームウェア制御部１１０からＨＲＮ（ＨＲＮ０〜ＨＲＮｎ）に対応した、仕掛り中リクエスト表示を点灯している期間中、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ１３０からＴｘｎ（ＴＬＰ０〜ＴＬＰｍ）を受信するたびに、メモリライト信号転送終了を示すマークビットを監視する。マークビットが点灯した特殊Ｔｘｎ（Ｍａｒｋｉｎｇ  Ｗｒｉｔｅ  Ｔｘｎ）を受信すると、データ転送部１２０は、最終転送データ（ＴＬＰｍ）が、送達完了したことを認識する。この特殊Ｔｘｎ（Ｍａｒｋｉｎｇ  Ｗｒｉｔｅ  Ｔｘｎ）は、データ転送部１２０内で持ち回るが、メインメモリコントローラ４００へは発行しないで破棄する。また、ファームウェア制御部１１０に対して、メモリライト信号のデータ転送が完了したことを報告する。ファームウェア制御部１１０は、データ転送部１２０からメモリライト信号の転送完了報告を受けると、ＣＰＵ２００に対してメモリライト信号転送が完了したことを報告する。
【００２５】
図４は、仕掛り中表示のタイミングチャートの一例を示す。次に、ＤＭＡ空間へのメモリライト信号転送において、ＨＲＮ対応した仕掛り中リクエスト表示の動作と、メモリライト信号転送のトランザクション・レイヤ・パケット（ＴＬＰ０〜ＴＬＰｍ）の転送が、全て完了したことを意味する特殊Ｔｘｎ（Ｍａｒｋｉｎｇ  Ｗｒｉｔｅ  Ｔｘｎ）発行の動作を、図４のタイミングチャートを使用して説明する。
【００２６】
最初に、ファームウェア制御部１１０は、ＣＰＵ２００から入力データ転送開始の通知を受けると、データ転送部１２０に対して、ＨＲＮ（ＨＲＮ０〜ＨＲＮｎ）に対応したメモリライト信号転送開始指示を示すセット信号と、Ｔｘｎ（ＴＬＰ０〜ＴＬＰｍ）が有効期間中であることを意味するＶａｌｉｄ信号を発行する。
【００２７】
データ転送部１２０は、ファームウェア制御部１１０からセット信号とＶａｌｉｄ信号を受信後に、ＨＲＮ番号（ＨＲＮｎ）対応したＰＣＩ  ＥｘｐｒｅｓｓデバイスＤからの最初のトランザクション・レイヤ・パケット（ＴＬＰ０）がＰＣＩ  Ｅｘｐｒｅｓｓスイッチ１３０から転送されてくると、ＨＲＮｎに対応した仕掛り中リクエスト表示１を立ち上げる。
【００２８】
ホストバスアダプタＨは、ファームウェア制御部１１０からの指示により、ＰＣＩ  ＥｘｐｒｅｓｓデバイスＤからメインメモリ３００へのＴｘｎ（ＴＬＰ０〜ＴＬＰｍ）の入力データ転送が順次処理され、指定されたメインメモリ３００のアドレスにデータが書き込まれていく。ＰＣＩ  ＥｘｐｒｅｓｓデバイスＤからの全てのデータ転送（ＴＬＰ０〜ＴＬＰｍ）が掃けると、ホストバスアダプタＨからファームウェア制御部１１０に対して、入力データ転送終了報告がくる。
【００２９】
ファームウェア制御部１１０は、この通知を受信すると、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ１３０に対して、最終メモリライト信号のデータ転送終了を意味するダミーのメモリライト信号である特殊Ｔｘｎ（Ｍａｒｋｉｎｇ  Ｗｒｉｔｅ  Ｔｘｎ）を発行する。
【００３０】
データ転送部１２０は、この特殊ＴｘｎをＰＣＩ  Ｅｘｐｒｅｓｓスイッチ１３０から受信すると、ホストバスアダプタＨからの最終メモリライト信号のＴｘｎデータ（ＴＬＰｍ）の送達が完了したとことを認識する。ダミーのメモリライト信号である特殊Ｔｘｎ（Ｍａｒｋｉｎｇ  Ｗｒｉｔｅ  Ｔｘｎ）を、ダミーの識別データとして、通常のメモリライト信号の転送データと同様に、データ転送部１２０内部で持ちまわる（図中○ｍ）。
【００３１】
最終トランザクション・レイヤ・パケット（ＴＬＰｍ）をメインメモリコントローラ４００に転送終了後に、特殊Ｔｘｎを取り出した時点で破棄すると共に、仕掛り中リクエスト表示１を立ち下げ、ファームウェア制御部１１０に、メモリライト信号の最終Ｔｘｎデータ転送が完了したことを報告する。即ち、データ転送部１２０は、メインメモリコントローラ４００からのリプライ（Ｃｐｌ）を待たずに、ファームウェア制御部１１０への通知が可能となる。
【００３２】
ファームウェア制御部１１０は、この報告を受け取ると、ＣＰＵ２００に対して、メモリライト信号データ完了の報告をすることで、メインメモリ３００へ書き込むべき全てのデータが入出力制御装置１００からメインメモリコントローラ４００へ転送されたと判定する。
【００３３】
図５は、ダミーのメモリリード信号の一例を示す。また、実際のメモリライト信号転送が確実にメインメモリ３００に格納されたか否かは、図５に示したような、既知の方式のダミーのＭＲｄ特殊Ｔｘｎである、１ＤＷのメモリリードでバイトイネーブルが０のダミーリクエスト（ＭＲｄ）形式に、変更して、メモリーリードリクエスト（ＭＲｄ）転送を、最終トランザクション・レイヤ・パケット（ＴＬＰｍ）のメインメモリ３００のＤＭＡアドレスに向けて発行し、メモリリードのリプライデータつまり、データ転送部１２０→メインメモリコントローラ４００→データ転送部１２０からのコンプリーション（Ｃｐｌ）を待って検出することで確認することで判断ができる。
【００３４】
図７は、既知の入出力制御装置によるメモリライト信号転送の完了確認までに掛かるレイテンシの一例を示す。既知のダミーメモリリード転送の場合、入力データ（ＴＬＰ０〜ＴＬＰｎ）のメモリライト転送が全て終了後に、ファームウェア制御部が、ホストバスアダプタからメモリライト完了通知を受けると、ホストバスアダプタに対してダミーメモリリード転送を発行する。具体的には、ファームウェア制御部が、ダミーメモリリード（１ＤＷのメモリリードでバイトイネーブルをゼロにしたリクエストつまり、長さ０のリードリクエスト）である特殊Ｔｘｎを発行（２μｓ程度）すると、ホストバスアダプタからメインメモリに対してダミーメモリリード転送が行われ、メインメモリから、ホストバスアダプタに対して、ダミーメモリリードのリプライであるコンプリーション（Ｃｐｌ）が戻ってくるのを確認（３μｓ程度）する。このダミーメモリリード転送命令を発行してから、メインメモリに対して、ダミーメモリリード転送を行い、そのコンプリーションが戻ってくるのを待ち、転送が完了したことを確認するまでに必要なレイテンシは、５μｓ程度かかる。このダミーメモリリード転送による同期保証は、入力転送の後処理として、毎回必要な処理であり、性能低下の要因となっている。
【００３５】
図６は、本発明に係る入出力制御装置によるメモリライト信号転送の完了確認までに掛かるレイテンシの一例を示す。図７の既知の方式と比較すると、メモリライト完了後に、ファームウェア制御部がダミー特殊Ｔｘｎ発行するまでのレイテンシ（差は約１μｓ）、及びダミーリード転送にかかるレイテンシ（約３μｓ）に差分があるため、メモリライト転送終了時に、毎回、約４μｓ程度のレイテンシ改善効果が見込める。
【００３６】
なおまた、上述した実施形態は、複数のＰＣＩ  ＥｘｐｒｅｓｓデバイスＤを接続することができるように、入出力制御装置１００が複数のホストバスアダプタＨを備え、各ホストバスアダプタＨに対する信号の入出力を切替えるＰＣＩ  Ｅｘｐｒｅｓｓスイッチ１３０を備えることとしたが、ホストバスアダプタＨが１つしかない場合、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ１３０を省いてもよい。その場合、ファームウェア制御部１１０は、ホストバスアダプタＨに直接接続される。
【００３７】
また、上述した実施形態は、コンピュータＣがＰＣＩ  ＥｘｐｒｅｓｓデバイスＤを備えることとしたが、ＰＣＩ  ＥｘｐｒｅｓｓデバイスＤは、コンピュータＣに対して外部接続されていてもよい。
【００３８】
以上説明したように、入出力制御装置１００内で、データ転送の経路と、転送終了通知の経路が２系統に分岐した、入出力制御装置１００において、以下に記載するような効果を奏する。
【００３９】
第１の効果は、ＰＣＩ  ＥｘｐｒｅｓｓデバイスＤからメインメモリ３００への書き込みを行う入力データ転送において、ファームウェア制御部１１０が、ＨＲＮ（ＨＲＮ０〜ＨＲＮｎ）に対応したセット信号／リセット信号とＶａｌｉｄ信号及び入力データ転送の最終データであることを意味する特殊Ｔｘｎ（Ｍａｒｋｉｎｇ  Ｗｒｉｔｅ  Ｔｘｎ）を発行して、データ転送部１２０が、ＨＲＮに対応した仕掛り中リクエスト管理することで、データ転送と転送終了通知の処理の同期保証を、確実に実現できることである。
【００４０】
第２の効果は、ファームウェア制御部１１０の特殊ダミーのメモリライト信号転送の完了確認までにかかるレイテンシを、既知のダミーのメモリリード信号の転送方式と比較すると、ファームウェア制御部１１０が、メモリライト信号終了後の後処理に、最終データ転送であることを意味するダミーのメモリライト信号である特殊Ｔｘｎ（Ｍａｒｋｉｎｇ  Ｗｒｉｔｅ  Ｔｘｎ）を発行して、データ転送部１２０が管理する方式にすることで、既知の方式では、メモリライト信号終了後の後処理に、ホストバスアダプタが追加のダミーのメモリリード信号を発行する時間と、メインメモリコントローラ４００へダミーのメモリリード信号を発行してから、メインメモリコントローラからのＣｐｌ（ダミーのメモリリード信号のリプライ）が戻ってくるまでの時間のレイテンシを毎回省くことができるため、入出力装置の性能低下を抑えることが可能になることである。
【００４１】
第３の効果は、ＰＣＩ  ＥｘｐｒｅｓｓデバイスＤからのメモリライト信号のＴｘｎ（ＴＬＰ０〜ＴＬＰＮ）が、データ転送部１２０の途中経路（ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ１３０〜データ転送部１２０）に滞留した場合でも、ＨＲＮに対応した仕掛り中リクエスト表示を行うことにより、滞留している箇所が即座に判断できることである。
【００４２】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は、上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。そのような変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【符号の説明】
【００４３】
１００  入出力制御装置
１１０  ファームウェア制御部
１２０  データ転送部
１３０  ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ
２００  ＣＰＵ
３００  メインメモリ
４００  メインメモリコントローラ
Ｄｎ  ＰＣＩ  Ｅｘｐｒｅｓｓデバイス
Ｈｎ  ホストバスアダプタ
【図１】
2012212360.tif 000003
【図２】
2012212360.tif 000004
【図３】
2012212360.tif 000005
【図４】
2012212360.tif 000006
【図５】
2012212360.tif 000007
【図６】
2012212360.tif 000008
【図７】
2012212360.tif 000009