CPUの命令に応じてPCIExpressデバイスとメインメモリとの間のデータの入出力を制御する入出力制御装置であって、外部のPCIExpressデバイスと接続されるホストバスアダプタと、前記ホストバスアダプタと前記メインメモリとの間に接続されて、前記ホストバスアダプタを介して前記PCIExpressデバイスとメインメモリとの間においてデータを転送するデータ転送部と、前記ホストバスアダプタ、及び前記データ転送部を含む当該入出力制御装置の各部を制御するファームウェア制御部とを備え、前記ファームウェア制御部は、前記PCIExpressデバイスから前記メインメモリへ転送すべき全てのパケットの送出が完了したときに、その旨を前記CPUへ通知することを特徴とする入出力制御装置。前記データ転送部は、前記PCIExpressデバイス側から順次送られてきたトランザクションレイヤパケットを前記メインメモリへ順次転送すると共に、当該パケット転送が完了したときに、その旨を前記ファームウェア制御部へ通知し、前記ファームウェア制御部は、パケット転送が完了した旨の通知を前記データ転送部から受け取ると、前記PCIExpressデバイスから前記メインメモリへ転送すべき全てのパケットの送出が完了したことを前記CPUへ通知することを特徴とする請求項1に記載の入出力制御装置。前記PCIExpressデバイス側から順次送られてきたトランザクションレイヤパケットを、前記データ転送部へ順次送ると共に、前記PCIExpressデバイス側から送られてきたトランザクションレイヤパケットがなくなったとき、当該トランザクションレイヤパケットと同じデータ構造であって、転送すべきパケットがなくなったことを示すマークビットを含む特殊パケットを、前記データ転送部へ送るPCIExpressスイッチを更に備え、前記データ転送部は、前記特殊パケットを前記PCIExpressスイッチから受け取ると、パケット転送が完了した旨を前記ファームウェア制御部へ通知することを特徴とする請求項2に記載の入出力制御装置。前記ファームウェア制御部は、前記PCIExpressデバイス側から前記PCIExpressスイッチへ送られるトランザクションレイヤパケットがなくなったとき、当該トランザクションレイヤパケットと同じデータ構造であって、転送すべきパケットがなくなったことを示すマークビットを含む特殊パケットを、前記PCIExpressスイッチへ送り、前記PCIExpressスイッチは、前記特殊パケットを前記ファームウェア制御部から受け取ると、当該特殊パケットを、前記データ転送部へ送ることを特徴とする請求項3に記載の入出力制御装置。前記ホストバスアダプタは、前記PCIExpressデバイスから順次受け取ったトランザクションレイヤパケットを、前記PCIExpressスイッチへ順次送ると共に、前記PCIExpressスイッチへ送るべきトランザクションレイヤパケットがなくなったとき、その旨を前記ファームウェア制御部へ通知し、前記ファームウェア制御部は、前記PCIExpressスイッチへ送るべきトランザクションレイヤパケットがなくなった旨の通知を、前記ホストバスアダプタから受け取ると、前記特殊パケットを、前記PCIExpressスイッチへ送ることを特徴とする請求項4に記載の入出力制御装置。PCIExpressインターフェースを有するPCIExpressデバイスと、前記PCIExpressデバイスとデータを送受信するメインメモリと、前記PCIExpressデバイス、及び前記メインメモリとそれぞれ接続されて、PCIExpressデバイスとメインメモリとの間のデータの入出力を制御する請求項1から5のいずれか一項に記載の入出力制御装置と、前記入出力制御装置に対し、前記PCIExpressデバイスと前記メインメモリとの間のデータ転送を命令するCPUとを備えることを特徴とするコンピュータ。外部のPCIExpressデバイスと接続されるホストバスアダプタと、前記ホストバスアダプタと前記メインメモリとの間に接続されて、前記ホストバスアダプタを介して前記PCIExpressデバイスとメインメモリとの間においてデータを転送するデータ転送部と、前記ホストバスアダプタ、及び前記データ転送部を含む当該入出力制御装置の各部を制御するファームウェア制御部とを備え、CPUの命令に応じてPCIExpressデバイスとメインメモリとの間のデータの入出力を制御する入出力制御装置を制御する制御方法であって、前記ファームウェア制御部が、前記PCIExpressデバイスから前記メインメモリへ転送すべき全てのパケットの送出が完了したときに、その旨を前記CPUへ通知する段階を備えることを特徴とする制御方法。メモリライト信号の転送、即ち、PCIExpressデバイスからメインメモリ方向への入力データを想定した場合、データ転送は、PCIExpressデバイス→ホストバスアダプタ→PCIExpressスイッチ→データ転送部→メインメモリコントローラ→メインメモリの経路を通じて転送される。これに対して、入力転送の完了通知は、ホストバスアダプタ→PCIExpressスイッチ→ファームウェア制御部→データ転送部→メインメモリコントローラ→CPUの経路を通じて通知されるが、入出力制御装置内でデータ転送の経路と、転送終了通知の経路が2系統に分かれているため、データ転送終了通知の同期保証をとるメインメモリへ書き込むべきデータがデータ転送部から完全に掃けたことを確認してからCPUへの転送終了通知を発行する必要がある。このため、既知の方式による同期保証では、ファームウェア制御部が、ホストバスアダプタからの入力データ転送メモリライト信号の転送の完了を認識した際に、ホストバスアダプタに対してメインメモリのダミーリード転送長さ0のリードリクエストを発行するよう制御し、このダミーリード転送の完了を検出した際に、CPUに対して入力データ転送の転送終了通知を発行するよう制御している。このダミーリード転送による同期保証は、入力転送の後処理として毎回必要な処理であるが、PCIExpressデバイスとメインメモリとの間のデータ転送が終了したことをCPUに通知するのに遅延が生じてしまい、このことが入出力制御装置の性能低下の要因となっている。上記課題を解決するために、本発明の第1の形態によると、CPUの命令に応じてPCIExpressデバイスとメインメモリとの間のデータの入出力を制御する入出力制御装置であって、外部のPCIExpressデバイスと接続されるホストバスアダプタと、ホストバスアダプタとメインメモリとの間に接続されて、ホストバスアダプタを介してPCIExpressデバイスとメインメモリとの間においてデータを転送するデータ転送部と、ホストバスアダプタ、及びデータ転送部を含む当該入出力制御装置の各部を制御するファームウェア制御部とを備え、ファームウェア制御部は、PCIExpressデバイスからメインメモリへ転送すべき全てのパケットの送出が完了したときに、その旨をCPUへ通知する。本発明の第2の形態によると、PCIExpressインターフェースを有するPCIExpressデバイスと、PCIExpressデバイスとデータを送受信するメインメモリと、PCIExpressデバイス、及びメインメモリとそれぞれ接続されて、PCIExpressデバイスとメインメモリとの間のデータの入出力を制御する入出力制御装置と、入出力制御装置に対し、PCIExpressデバイスとメインメモリとの間のデータ転送を命令するCPUとを備える。本発明の第3の形態によると、外部のPCIExpressデバイスと接続されるホストバスアダプタと、ホストバスアダプタとメインメモリとの間に接続されて、ホストバスアダプタを介してPCIExpressデバイスとメインメモリとの間においてデータを転送するデータ転送部と、ホストバスアダプタ、及びデータ転送部を含む当該入出力制御装置の各部を制御するファームウェア制御部とを備え、CPUの命令に応じてPCIExpressデバイスとメインメモリとの間のデータの入出力を制御する入出力制御装置を制御する制御方法であって、ファームウェア制御部が、PCIExpressデバイスからメインメモリへ転送すべき全てのパケットの送出が完了したときに、その旨をCPUへ通知する段階を備える。なおまた、上記のように発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となり得る。以上の説明から明らかなように、この発明は、入出力装置の性能を低下させることなく、PCIExpressデバイスとメインメモリとの間のデータ転送に同期させて、データ転送が終了した場合に、その旨をCPUへ通知することができる。以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は、特許請求の範囲にかかる発明を限定するものではなく、また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。図1は、一実施形態に係るコンピュータCのハードウェア構成の一例を示す。コンピュータCは、入出力制御装置IOPInput-OutputProcesser100、CPU200、メインメモリMEM300、メインメモリコントローラMMC400、及び複数のPCIExpressデバイスDiskD0、D1、、Dn以下、PCIExpressデバイスDと総称するを備える。入出力制御装置100は、CPU200の命令に応じてPCIExpressデバイスDとメインメモリ300との間のデータの入出力を制御する装置である。CPU200は、コンピュータを構成する部品の一つで、各装置の制御やデータの計算、加工を行う装置である。メインメモリ300は、コンピュータC内でデータやプログラムを記憶する装置である。メインメモリコントローラ400は、メインメモリ300に対するデータの書込み、又は読出しを制御する装置である。PCIExpressデバイスDは、例えば、PCIExpressインターフェースを有するハードディスクである。入出力制御装置100は、ファームウェアFW制御部110、データ転送部IOCInput-OutputController120、PCIExpressスイッチPCIeSW130、及び複数のホストバスアダプタHBAH0、H1、、Hn以下、ホストバスアダプタHと総称する。を備える。ファームウェア制御部110は、入出力制御装置100を構成する部品の一つで、データ転送部120、PCIExpressスイッチ130、及びホストバスアダプタHの制御やデータの計算、加工を行う装置である。より具体的に説明すると、ファームウェア制御部110は、データ転送部120、及びPCIExpressスイッチ130とそれぞれ電気的に接続されている。データ転送部120は、PCIExpressスイッチ130とメインメモリコントローラ400との間でデータを転送する回路である。以下に、本発明である入力データ転送メモリライト信号時の、トランザクションレイヤパケットのデータ構成と、制御方法について詳しく説明する。最初に、CPU200から入出力制御装置100に対して入力データ転送要求が送られてくると、ファームウェア制御部110は、データ転送部120に対してHRNHardwareResourceNumberHRN0~HRNnに対応した入力転送データの開始を示すセット信号と、有効期間中のデータであることを示すValid信号を発行すると共に、PCIExpressスイッチ130に対して、PCIExpressインターフェースで、通常使用されているトランザクションレイヤパケットのメモリライト信号を、HRN単位HRN0~HRNnで発行する。データ転送部120は、ファームウェア制御部110からのセット信号とValid信号を受け取って、最初のメモリライト信号転送のトランザクションレイヤパケットTLP0データを受信すると、HRN対応した仕掛り中リクエスト表示を点灯する。図2に、PCIExpressのトランザクションレイヤパケット形式に準拠した、メモリライト信号のデータ構造3DWの一例を示す。トランザクションレイヤパケットのデータ形式は、入出力処理内容である入力データ転送メモリライト信号を示すフォーマットFmt1xとタイプType00000の他に、対象デバイスを識別するトランザクションID情報PCIExpressのバス番号、デバイス番号、機能番号、Tag情報と、入力データをメインメモリ300に格納するメモリアドレス情報Address、DW単位のカウントのデータペイロード長Length、最終DWのデータバイトN-1と、先頭DWのデータバイト0のバイトイネーブル情報LastDWBE、1stDWBE等のトランザクションレイヤパケットのヘッダ情報及び、入力データペイロードバイトデータ0~バイトデータN-1から構成されている。ここで、HRN単位のデータ転送の場合、書き込む先のDMADirectMemoryAccess空間3DWの場合Address[31:0]に、予めHRN番号を割り当てておき、HRN番号の情報を反映したトランザクションレイヤパケットのアドレスにすることで、HRN0~HRNnの識別を可能としている。ファームウェア制御部110から、メモリライト信号の開始通知を受け取った、HRN対応のホストバスアダプタHは、対応する入出力機器PCIExpressデバイスD内の指定アドレス、カウント情報に基づいた入力データを、TxnTLP0~TLPmのメモリライト信号のデータ形式で、PCIExpressスイッチ130→データ転送部120→メインメモリコントローラ400へ転送し、指定アドレスと、カウント情報に基づいて、メインメモリ300内のダイレクトメモリアクセスDMA空間に、順次データの書き込み処理を行っていく。PCIExpressデバイスDからのデータTxnTLP0~TLPmが全て掃けると、ホストバスアダプタHはPCIExpressスイッチ130を通して、ファームウェア制御部110にメモリライト信号終了通知を発行する。図3に、ダミーのメモリライト信号である、特殊TxnMarkingWriteTxnのトランザクションレイヤパケットのデータ構造の一例を示す。本発明に係る特殊Txnは、メモリライト信号である。これに対し、既知の特殊Txnは、メモリリード信号である。したがって、本発明に係る入出力制御装置は、メモリライト後、続けてメモリライトTxn処理を行うため、既知の入出力制御装置のようにメモリライト後にメモリリードTxn処理を行う場合よりも早く処理を終えることができる。以下、このメモリライト信号のTxn処理について詳細に説明する。ファームウェア制御部110は、HRN対応のホストバスアダプタHからメモリライト信号転送が完了して、終了通知を受けとると、PCIExpressスイッチ130に対して、このダミーのメモリライト信号である特殊TxnMarkingWriteTxnを発行するが、トランザクションレイヤパケットのデータ構造は、図2で示したメモリライト信号転送時の構造と基本的に同じであり、PCIExpressのトランザクションレイヤパケット形式に準拠している。トランザクションレイヤパケットのアドレスAddressは、最後にメモリライト信号転送したトランザクションレイヤパケットTLPmと同じアドレス値、又は最後にメモリライト信号転送したトランザクションレイヤパケットTLPmのアドレスに、最後のトランザクションレイヤパケットTLPmが書き込みしたカウント数を加えた値等を適用していて、HRN番号を識別するため、DMA空間内にHRN番号を割り当てたアドレスを反映した構成となっている。更に、トランザクションレイヤパケットのアドレス内にDMA空間へのメモリライト信号転送終了時に、転送終了を認識させるための特殊なマークビットmを1ビット、予め用意しておき、メモリライト信号転送完了後にホストバスアダプタHからの終了通知を受けると、ファームウェア制御部110は、マークビットm=1を点灯する。該DMA空間にPCIExpressスイッチ130を通じて、ダミーのメモリライト信号である特殊TxnMarkingWriteTxnを発行することで、データ転送部120にメモリライト信号の転送終了を通知する。また、指定されたデータペイロード長Lengthと、バイトイネーブルLastDWBEと1stDWBEに基づいたダミーの入力データペイロードデータバイト0から構成している。データ転送部120は、ファームウェア制御部110からHRNHRN0~HRNnに対応した、仕掛り中リクエスト表示を点灯している期間中、PCIExpressスイッチ130からTxnTLP0~TLPmを受信するたびに、メモリライト信号転送終了を示すマークビットを監視する。マークビットが点灯した特殊TxnMarkingWriteTxnを受信すると、データ転送部120は、最終転送データTLPmが、送達完了したことを認識する。この特殊TxnMarkingWriteTxnは、データ転送部120内で持ち回るが、メインメモリコントローラ400へは発行しないで破棄する。また、ファームウェア制御部110に対して、メモリライト信号のデータ転送が完了したことを報告する。ファームウェア制御部110は、データ転送部120からメモリライト信号の転送完了報告を受けると、CPU200に対してメモリライト信号転送が完了したことを報告する。図4は、仕掛り中表示のタイミングチャートの一例を示す。次に、DMA空間へのメモリライト信号転送において、HRN対応した仕掛り中リクエスト表示の動作と、メモリライト信号転送のトランザクションレイヤパケットTLP0~TLPmの転送が、全て完了したことを意味する特殊TxnMarkingWriteTxn発行の動作を、図4のタイミングチャートを使用して説明する。最初に、ファームウェア制御部110は、CPU200から入力データ転送開始の通知を受けると、データ転送部120に対して、HRNHRN0~HRNnに対応したメモリライト信号転送開始指示を示すセット信号と、TxnTLP0~TLPmが有効期間中であることを意味するValid信号を発行する。データ転送部120は、ファームウェア制御部110からセット信号とValid信号を受信後に、HRN番号HRNn対応したPCIExpressデバイスDからの最初のトランザクションレイヤパケットTLP0がPCIExpressスイッチ130から転送されてくると、HRNnに対応した仕掛り中リクエスト表示1を立ち上げる。ホストバスアダプタHは、ファームウェア制御部110からの指示により、PCIExpressデバイスDからメインメモリ300へのTxnTLP0~TLPmの入力データ転送が順次処理され、指定されたメインメモリ300のアドレスにデータが書き込まれていく。PCIExpressデバイスDからの全てのデータ転送TLP0~TLPmが掃けると、ホストバスアダプタHからファームウェア制御部110に対して、入力データ転送終了報告がくる。ファームウェア制御部110は、この通知を受信すると、PCIExpressスイッチ130に対して、最終メモリライト信号のデータ転送終了を意味するダミーのメモリライト信号である特殊TxnMarkingWriteTxnを発行する。データ転送部120は、この特殊TxnをPCIExpressスイッチ130から受信すると、ホストバスアダプタHからの最終メモリライト信号のTxnデータTLPmの送達が完了したとことを認識する。ダミーのメモリライト信号である特殊TxnMarkingWriteTxnを、ダミーの識別データとして、通常のメモリライト信号の転送データと同様に、データ転送部120内部で持ちまわる図中○m。最終トランザクションレイヤパケットTLPmをメインメモリコントローラ400に転送終了後に、特殊Txnを取り出した時点で破棄すると共に、仕掛り中リクエスト表示1を立ち下げ、ファームウェア制御部110に、メモリライト信号の最終Txnデータ転送が完了したことを報告する。即ち、データ転送部120は、メインメモリコントローラ400からのリプライCplを待たずに、ファームウェア制御部110への通知が可能となる。ファームウェア制御部110は、この報告を受け取ると、CPU200に対して、メモリライト信号データ完了の報告をすることで、メインメモリ300へ書き込むべき全てのデータが入出力制御装置100からメインメモリコントローラ400へ転送されたと判定する。図5は、ダミーのメモリリード信号の一例を示す。また、実際のメモリライト信号転送が確実にメインメモリ300に格納されたか否かは、図5に示したような、既知の方式のダミーのMRd特殊Txnである、1DWのメモリリードでバイトイネーブルが0のダミーリクエストMRd形式に、変更して、メモリーリードリクエストMRd転送を、最終トランザクションレイヤパケットTLPmのメインメモリ300のDMAアドレスに向けて発行し、メモリリードのリプライデータつまり、データ転送部120→メインメモリコントローラ400→データ転送部120からのコンプリーションCplを待って検出することで確認することで判断ができる。図7は、既知の入出力制御装置によるメモリライト信号転送の完了確認までに掛かるレイテンシの一例を示す。既知のダミーメモリリード転送の場合、入力データTLP0~TLPnのメモリライト転送が全て終了後に、ファームウェア制御部が、ホストバスアダプタからメモリライト完了通知を受けると、ホストバスアダプタに対してダミーメモリリード転送を発行する。具体的には、ファームウェア制御部が、ダミーメモリリード1DWのメモリリードでバイトイネーブルをゼロにしたリクエストつまり、長さ0のリードリクエストである特殊Txnを発行2μs程度すると、ホストバスアダプタからメインメモリに対してダミーメモリリード転送が行われ、メインメモリから、ホストバスアダプタに対して、ダミーメモリリードのリプライであるコンプリーションCplが戻ってくるのを確認3μs程度する。このダミーメモリリード転送命令を発行してから、メインメモリに対して、ダミーメモリリード転送を行い、そのコンプリーションが戻ってくるのを待ち、転送が完了したことを確認するまでに必要なレイテンシは、5μs程度かかる。このダミーメモリリード転送による同期保証は、入力転送の後処理として、毎回必要な処理であり、性能低下の要因となっている。図6は、本発明に係る入出力制御装置によるメモリライト信号転送の完了確認までに掛かるレイテンシの一例を示す。図7の既知の方式と比較すると、メモリライト完了後に、ファームウェア制御部がダミー特殊Txn発行するまでのレイテンシ差は約1μs、及びダミーリード転送にかかるレイテンシ約3μsに差分があるため、メモリライト転送終了時に、毎回、約4μs程度のレイテンシ改善効果が見込める。なおまた、上述した実施形態は、複数のPCIExpressデバイスDを接続することができるように、入出力制御装置100が複数のホストバスアダプタHを備え、各ホストバスアダプタHに対する信号の入出力を切替えるPCIExpressスイッチ130を備えることとしたが、ホストバスアダプタHが1つしかない場合、PCIExpressスイッチ130を省いてもよい。その場合、ファームウェア制御部110は、ホストバスアダプタHに直接接続される。また、上述した実施形態は、コンピュータCがPCIExpressデバイスDを備えることとしたが、PCIExpressデバイスDは、コンピュータCに対して外部接続されていてもよい。以上説明したように、入出力制御装置100内で、データ転送の経路と、転送終了通知の経路が2系統に分岐した、入出力制御装置100において、以下に記載するような効果を奏する。第1の効果は、PCIExpressデバイスDからメインメモリ300への書き込みを行う入力データ転送において、ファームウェア制御部110が、HRNHRN0~HRNnに対応したセット信号/リセット信号とValid信号及び入力データ転送の最終データであることを意味する特殊TxnMarkingWriteTxnを発行して、データ転送部120が、HRNに対応した仕掛り中リクエスト管理することで、データ転送と転送終了通知の処理の同期保証を、確実に実現できることである。第2の効果は、ファームウェア制御部110の特殊ダミーのメモリライト信号転送の完了確認までにかかるレイテンシを、既知のダミーのメモリリード信号の転送方式と比較すると、ファームウェア制御部110が、メモリライト信号終了後の後処理に、最終データ転送であることを意味するダミーのメモリライト信号である特殊TxnMarkingWriteTxnを発行して、データ転送部120が管理する方式にすることで、既知の方式では、メモリライト信号終了後の後処理に、ホストバスアダプタが追加のダミーのメモリリード信号を発行する時間と、メインメモリコントローラ400へダミーのメモリリード信号を発行してから、メインメモリコントローラからのCplダミーのメモリリード信号のリプライが戻ってくるまでの時間のレイテンシを毎回省くことができるため、入出力装置の性能低下を抑えることが可能になることである。第3の効果は、PCIExpressデバイスDからのメモリライト信号のTxnTLP0~TLPNが、データ転送部120の途中経路PCIExpressスイッチ130~データ転送部120に滞留した場合でも、HRNに対応した仕掛り中リクエスト表示を行うことにより、滞留している箇所が即座に判断できることである。以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は、上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。そのような変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。