(57)【要約】【課題】ＰＣＩ  Ｅｘｐｒｅｓｓ規格に準拠した通信システムの送受信効率を高める。【解決手段】データリンク層処理部１１３におけるＡＣＫ／ＮＡＫ処理部２３０は、送信制御部２２０に対してＡＣＫ  ＤＬＬＰの送信要求を行う際に、該送信要求に対して高優先順位または低優先順位を付与可能である。送信制御部２２０は、ＡＣＫ／ＮＡＫ処理部２３０からの送信要求が高優先順位を有するときに、該送信要求に対応するＡＣＫ  ＤＬＬＰの送信をＴＬＰの送信よりも優先させる。一方、ＡＣＫ／ＮＡＫ処理部２３０からの送信要求が低優先順位を有するときに、ＴＬＰの送信間隔が予め設定された間隔閾値Ｔ以上であることを条件に、該送信要求に対応するＡＣＫ  ＤＬＬＰが送信されるように制御を行う。【選択図】図２
2011040965.tif 000002
【特許請求の範囲】
【請求項１】
ＰＣＩ  Ｅｘｐｒｅｓｓ規格に準拠した通信回路においてデータリンク層の処理を行うデータリンク層処理回路であって、
ＴＬＰとＡＣＫ  ＤＬＬＰの送信を制御する送信制御部と、
対向通信回路から正常に受信したＴＬＰについてのＡＣＫ  ＤＬＬＰが送信されるまでＡＣＫ  ＤＬＬＰの送信要求を前記送信制御部に行う返答部とを有し、
前記返答部は、ＡＣＫ  ＤＬＬＰの送信要求を行う際に、該送信要求に対して高優先順位または低優先順位を付与可能であり、
前記送信制御部は、
前記返答部からの送信要求が高優先順位を有するときに、該送信要求に対応するＡＣＫ  ＤＬＬＰの送信をＴＬＰの送信よりも優先させ、
前記返答部からの送信要求が低優先順位を有するときに、ＴＬＰの送信間隔が予め設定された所定の閾値以上であることを条件に、該送信要求に対応するＡＣＫ  ＤＬＬＰが送信されるように制御を行うことを特徴とするデータリンク層処理回路。
【請求項２】
前記所定の閾値は、ＡＣＫ  ＤＬＬＰの送信に必要な最短時間以上であることを特徴とする請求項１に記載のデータリンク層処理回路。
【請求項３】
前記返答部は、
対向通信回路から正常に受信し、ＡＣＫ  ＤＬＬＰが送信されていないＴＬＰのうちの最初に受信したＴＬＰを受信してからの時間をカウントするタイマーを有し、
前記タイマーのカウント値が予め設定された所定の送信遅延時間未満であるときに、ＡＣＫ  ＤＬＬＰの送信要求に低優先順位を付与し、
前記タイマーのカウント値が前記送信遅延時間以上であるときに、ＡＣＫ  ＤＬＬＰの送信要求に高優先順位を付与することを特徴とする請求項１または２に記載のデータリンク層処理回路。
【請求項４】
前記返答部は、
対向通信回路から正常に受信し、ＡＣＫ  ＤＬＬＰが送信されていないＴＬＰの個数をカウントするパケット数カウンタをさらに備え、
該パケット数カウンタのカウント値が、予め設定された所定のパケット数閾値以上になったときにも、ＡＣＫ  ＤＬＬＰの送信要求に高優先順位を付与することを特徴とする請求項３に記載のデータリンク層処理回路。
【請求項５】
前記パケット数閾値は、対向通信回路におけるＴＬＰの再送バッファのサイズに応じて設定されたものであることを特徴とする請求項４に記載のデータリンク層処理回路。
【請求項６】
前記返答部は、
対向通信回路から正常に受信し、ＡＣＫ  ＤＬＬＰが送信されていないＴＬＰの総サイズをカウントするパケット総サイズカウンタをさらに備え、
該パケット総サイズカウンタのカウント値が、予め設定された所定の総サイズ閾値以上になったときにも、ＡＣＫ  ＤＬＬＰの送信要求に高優先順位を付与することを特徴とする請求項３から５のいずれか１項に記載のデータリンク層処理回路。
【請求項７】
前記総サイズ閾値は、対向通信回路におけるＴＬＰの再送バッファのサイズに応じて設定されたものであることを特徴とする請求項６に記載のデータリンク層処理回路。
【請求項８】
前記返答部は、前記送信制御部に対してＮＡＫ  ＤＬＬＰの送信要求も行うものであり、ＮＡＫ  ＤＬＬＰの送信要求に対して高優先順位を付与することを特徴とする請求項１から７のいずれか１項に記載のデータリンク層回路。
【請求項９】
ＰＣＩ  Ｅｘｐｒｅｓｓ規格に準拠し、請求項１から８のいずれか１項に記載のデータリンク層処理回路を備えた通信回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＣＩ  Ｅｘｐｒｅｓｓ（登録商標）に準拠した通信回路に関する。
【背景技術】
【０００２】
ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスは、パーソナルコンピュータやサーバ、組込みシステムなどの各種通信機器に用いられてきた。近年、デジタルメディアの普及、ブロードバンドなどの通信網の高速化にしたがって、通信機器は大容量のデータを扱うことができるように要求され、ＰＣＩバスはシステム性能のボトルネックになっている。
【０００３】
このような背景において、ＰＣＩ−ＳＩＧ（ＰＣＩ  Ｓｐｅｃｉａｌ  Ｉｎｔｅｒｅｓｔ  Ｇｒｏｕｐ）により、ＰＣＩバスより高速なシリアル転送を実現する次世代のインタフェースとして、ＰＣＩ  Ｅｘｐｒｅｓｓ規格が策定された。
【０００４】
図１４は、非特許文献１におけるＦｉｇｕｒｅ５−１であり、ＰＣＩ  Ｅｘｐｒｅｓｓ規格で定義された階層構造を示す。図示のように、ＰＣＩ  Ｅｘｐｒｅｓｓ規格では、ソフトウェア層（Ｓｏｆｔｗａｒｅ  ｌａｙｅｒ）、トランザクション層（Ｔｒａｎｓａｃｔｉｏｎ  ｌａｙｅｒ）、データリンク層（Ｄａｔａ  Ｌｉｎｋ  ｌａｙｅｒ）、物理層（Ｐｈｙｓｉｃａｌ  ｌａｙｅｒ）が定義されている。
【０００５】
図１４における白い矢印が示すデータリンク層に対して、リンク間で送受信されたＴＬＰ（Ｔｒａｎｓａｃｔｉｏｎ  Ｌａｙｅｒ  Ｐａｃｋｅｔ）の正当性を保証する仕組みが定められている。これについて図１５を参照して説明する。
【０００６】
図１５は、非特許文献１におけるＦｉｇｕｒｅ５−２における一部の構成要素に対して符号と名称を追加して分かりやすくしたものである。図示のように、ＰＣＩ  Ｅｘｐｒｅｓｓ準拠の通信回路のデータリンク層において、送信部分（図中Ｄｅｖｉｃｅ  Ａ）は送信パケット処理部１０を有し、受信部分（Ｄｅｖｉｃｅ  Ｂ）は、受信パケット処理部２０とＡＣＫ／ＮＡＫ処理部３０を有する。
【０００７】
送信パケット処理部１０は、対向接続された通信回路（以下対向通信回路という）に送信するＴＬＰにシーケンス番号とＬＣＲＣを付加して送信する。シーケンス番号は、送信順に沿った１２ビットの連番ＩＤであり、ＴＬＰの送信時に該ＴＬＰに対して生成される。ＬＣＲＣは、３２ビットのＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）であり、ＴＬＰの送信時に該ＴＬＰに対して生成される。対向通信回路のデータリンク層は、受信したＴＬＰの正当性の確認に際して、ＴＬＰのシーケンス番号の連続性を利用してＴＬＰの受信抜けなどが無いかのチェックをすると共に、ＬＣＲＣと、自身で計算したＣＲＣとを比較することにより誤り検出する。
【０００８】
送信パケット処理部１０は、送信したＴＬＰとそのシーケンス番号とを対応付けて再送バッファ（図１５におけるＲｅｐｌｙ  Ｂｕｆｆｅｒ）に保存する。そして、対向通信回路から該ＴＬＰの正当性を肯定するＡＣＫ  ＤＬＬＰ（ＡＣＫ  ＤＬＬＰ：Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ  Ｄａｔａ  Ｌｉｎｋ  Ｌａｙｅｒ  Ｐａｃｋｅｔ）を受信すると、当該ＴＬＰを再送バッファから削除する。一方、対向通信回路から該ＴＬＰの正当性を否定するＮＡＫ  ＤＬＬ（ＮＡＫ  ＤＬＬＰ：Ｎｅｇａｔｉｖｅ  Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ  Ｄａｔａ  Ｌｉｎｋ  Ｌａｙｅｒ  Ｐａｃｋｅｔ）を受信すると、再送バッファに保存された、該ＴＬＰ以降の全てのＴＬＰを再送する。
【０００９】
受信パケット処理部２０は、対向通信回路から受信したＴＬＰに対して、上述したようにＴＬＰのシーケンス番号の連続性のチェックとＬＣＲＣによる誤り検出を行って、該ＴＬＰの正当性を確認する。そして、確認結果をＡＣＫ／ＮＡＫ処理部３０に出力する。
【００１０】
ＡＣＫ／ＮＡＫ処理部３０は、受信パケット処理部２０からの確認結果に応じて、当該ＴＬＰについて、正当性を肯定するＡＣＫ  ＤＬＬＰまたは正当性を否定するＮＡＫ  ＤＬＬＰを生成して対向通信回路に返送する。以下、ＡＣＫ  ＤＬＬＰとＮＡＫ  ＤＬＬＰを合わせて返答パケットという。
【００１１】
なお、ＡＣＫ  ＤＬＬＰについて、受信側の通信回路は、受信したＴＬＰ毎にＡＣＫ  ＤＬＬＰを返送する必要がなく、最後に承認したＴＬＰのシーケンス番号をＡＣＫ  ＤＬＬＰに付加することにより、そのシーケンス番号が示すＴＬＰまでの全てのＴＬＰの正当性を承認することができる。例えば、送信側の通信回路は、シーケンス番号が「１０」と「１１」であるＴＬＰを送信し、この２つのＴＬＰを再送バッファに保存する。受信側の通信回路は、受信したこの２つのＴＬＰについても正当性を肯定する確認結果を得た場合、シーケンス番号「１１」を付加したＡＣＫ  ＤＬＬＰを返送する。送信側の通信回路は、このＡＣＫ  ＤＬＬＰを受信すると、再送バッファから「１０」と「１１」のＴＬＰを削除する。
【００１２】
また、Ｄｅｖｉｃｅ  ＡとＤｅｖｉｃｅ  Ｂは、それぞれＭＵＸ部を有する。送信パケット処理部１０は、Ｄｅｖｉｃｅ  ＡのＭＵＸ部にＴＬＰの送信要求をすることにより該ＭＵＸ部を介してＴＬＰを送信する。ＡＣＫ／ＮＡＫ処理部３０は、Ｄｅｖｉｃｅ  ＢのＭＵＸ部に返答パケットの送信要求をすることにより該ＭＵＸ部を介して返答パケットを送信する。
【００１３】
ＴＬＰと返答パケットは、同じバスで送信されるため、送信パケット処理部１０とＡＣＫ／ＮＡＫ処理部３０から同時に送信要求があった場合に、いずれの送信要求に応じた送信を先に行うかの送信調停が必要である。この送信調停は、上記ＭＵＸ部を含んだ送信調停部４０で行われる。
【００１４】
図１６は、非特許文献１におけるＦｉｇｕｒｅ５−３における一部の構成に対して符号と名称を追加して分かりやすくしたものであり、図１５の一部をより詳細に示している。図中タイマー３２（ＡＣＫＮＡＫ＿ＬＡＴ  Ｔｉｍｅｒ）とＡＣＫ／ＮＡＫ生成部３４（ＡＣＫ／ＮＡＫ  Ｇｅｎｅｒａｔｏｒ）は、図１５に示すＤｅｖｉｃｅ  ＢのＡＣＫ／ＮＡＫ処理部３０に備えられている。
【００１５】
ＰＣＩ  Ｅｘｐｒｅｓｓ規格では、ＡＣＫ  ＤＬＬＰは、対応するＴＬＰの受信後、送信遅延時間と呼ばれる時間が経過した後に送信されるように定められている。この送信遅延時間は、タイマー３２に対して設定される。タイマー３２は、ＴＬＰが正常に受信され、その正当性が肯定されると、時間のカウントアップを開始する。タイマー３２のカウント値が設定された送信遅延時間になると、ＡＣＫ／ＮＡＫ生成部３４は、ＡＣＫ  ＤＬＬＰを生成して送信要求をする。例えば、シーケンス番号が「１０」であるＴＬＰの正常受信後、タイマー３２がカウントアップを開始するが、カウント値が送信遅延時間になったときに、シーケンス番号が「１１」と「１２」のＴＬＰも既に正常に受信されている場合を考える。この場合、ＡＣＫ／ＮＡＫ生成部３４は、ＡＣＫ  ＤＬＬＰにシーケンス番号「１２」を付加して送信することで、シーケンス番号が「１０」、「１１」、「１２」である３つのＴＬＰの正当性の承認を一度にできる。
【００１６】
図１７は、このような従来型のＰＣＩ＿Ｅｘｐｒｅｓｓ準拠の通信回路のデータリンク層における送信パケット処理部１０、受信パケット処理部２０、ＡＣＫ／ＮＡＫ処理部３０、送信調停部４０の処理における課題を導出するための動作を示す図である。
図１７を参照して、送信パケット処理部１０と、受信パケット処理部２０、ＡＣＫ／ＮＡＫ処理部３０、送信調停部４０の処理をまとめて説明する。なお、ＡＣＫ／ＮＡＫ処理部３０と送信調停部４０については、ＡＣＫ  ＤＬＬＰが送信される場合に重点を置いて説明する。
【００１７】
送信パケット処理部１０は、ＴＬＰの送信に際して、該ＴＬＰと送信要求を送信調停部４０に出力する。
【００１８】
受信パケット処理部２０は、受信したＴＬＰの正当性を確認し、確認結果を示す正常／エラー情報をＡＣＫ／ＮＡＫ処理部３０に出力する。また、正常に受信したＴＬＰの場合には、該ＴＬＰを上位層に出力する。
【００１９】
受信パケット処理部２０からの正常／エラー情報が「正常」を示す場合に、ＡＣＫ／ＮＡＫ処理部３０のタイマー３２は、時間のカウントアップを開始する。そして、カウント値が設定された送信遅延時間に達したときに、ＡＣＫ／ＮＡＫ生成部３４にＡＣＫ  ＤＬＬＰの生成要求を行う。
【００２０】
ＡＣＫ／ＮＡＫ生成部３４は、タイマー３２からＡＣＫ  ＤＬＬＰの生成要求を受信すると、ＡＣＫ  ＤＬＬＰを生成すると共に、生成したＡＣＫ  ＤＬＬＰと、該ＡＣＫ  ＤＬＬＰの送信要求とを送信調停部４０に出力する。
【００２１】
送信調停部４０は、送信パケット処理部１０からの送信要求に応じてＴＬＰを送信し、ＡＣＫ／ＮＡＫ処理部３０からのＡＣＫ  ＤＬＬＰの送信要求に応じてＡＣＫ  ＤＬＬＰを送信する。ＴＬＰの送信要求とＡＣＫ  ＤＬＬＰの送信要求が同時になされた場合には送信調停を行う。この場合に対して、ＰＣＩ  Ｅｘｐｒｅｓｓ規格では、ＡＣＫ  ＤＬＬＰの送信を優先することが推奨されている。そのため、ＰＣＩ  Ｅｘｐｒｅｓｓに準拠した通信回路において、通常、図１８に示すように、送信パケット処理部１０からのＴＬＰの送信要求と、ＡＣＫ／ＮＡＫ処理部３０からのＡＣＫ  ＤＬＬＰの送信要求とが同時にあった際に、ＡＣＫ  ＤＬＬＰは先に送信され、ＴＬＰの送信は待たされる。
【先行技術文献】
【特許文献】
【００２２】
【特許文献１】特開２００７−１８０６１１号公報
【非特許文献】
【００２３】
【非特許文献１】Ｒａｖｉ  Ｂｕｄｒｕｋ，Ｄｏｎ  Ａｎｄｅｒｓｏｎ，Ｔｏｍ  Ｓｈａｎｌｅｙ，"ＰＣＩ  Ｅｘｐｒｅｓｓ  Ｓｙｓｔｅｍ  Ａｒｃｈｉｔｅｃｔｕｒｅ"，Ａｄｄｉｓｏｎ  Ｗｅｓｌｅｙ  刊
【発明の概要】
【発明が解決しようとする課題】
【００２４】
以上の説明から分かるように、ＰＣＩ  Ｅｘｐｒｅｓｓ規格に準拠した通信回路において、ＴＬＰの送信要求と、ＡＣＫ  ＤＬＬＰの送信要求が同時にあった際に、通常、ＡＣＫ  ＤＬＬＰの送信が優先され、ＴＬＰの送信が待たされる。これでは、送信側の通信回路では、データ転送効率が良くない。
【００２５】
また、対向通信回路からＴＬＰを正常に受信した際に、自身の送信パケット処理部１０からＴＬＰの送信要求が無くても、設定された送信遅延時間が経過しないとＡＣＫ  ＤＬＬＰを送信しないようになっている。これでは、対向通信回路において、当該ＴＬＰが再送バッファに保持される時間が長く、対向通信回路のデータ転送効率を低下させ、ひいてはシステム全体の送受信効率を低下させる恐れがある。
【００２６】
なお、ＰＣＩ  Ｅｘｐｒｅｓｓ規格では、タイマー３２に対する設定値（送信遅延時間）に到達する前のタイミングでＡＣＫ  ＤＬＬＰを送信してもかまわないとの記述があるが、具体的な制御方法の示唆が無い。
【課題を解決するための手段】
【００２７】
本発明の一つの態様は、ＰＣＩ  Ｅｘｐｒｅｓｓ規格に準拠した通信回路においてデータリンク層の処理を行うデータリンク層処理回路である。このデータリンク層処理回路は、ＴＬＰとＡＣＫ  ＤＬＬＰの送信を制御する送信制御部と、対向通信回路から正常に受信したＴＬＰについてのＡＣＫ  ＤＬＬＰが送信されるまでＡＣＫ  ＤＬＬＰの送信要求を送信制御部に行う返答部を有する。
【００２８】
返答部は、ＡＣＫ  ＤＬＬＰの送信要求を行う際に、該送信要求に対して高優先順位または低優先順位を付与可能である。
【００２９】
送信制御部は、返答部からの送信要求が高優先順位を有するときに、該送信要求に対応するＡＣＫ  ＤＬＬＰの送信をＴＬＰの送信よりも優先させ、返答部からの送信要求が低優先順位を有するときに、ＴＬＰの送信間隔が予め設定された所定の閾値以上であることを条件に、該送信要求に対応するＡＣＫ  ＤＬＬＰが送信されるように制御を行う。
【００３０】
なお、上記態様のデータリンク層処理回路を装置や方法に置き換えて表現したもの、該データリンク層処理回路またはその一部の処理をコンピュータに実行せしめるプログラム、該データリンク層処理回路を備えた通信回路、該通信回路を備えた通信システムなども、本発明の態様としては有効である。
【発明の効果】
【００３１】
本発明にかかる技術によれば、ＰＣＩ  Ｅｘｐｒｅｓｓに準拠した通信システムの送受信効率を向上させることができる。
【図面の簡単な説明】
【００３２】
【図１】本発明の第１の実施の形態にかかる通信システムを示す図である。
【図２】図１に示す通信システムの通信回路におけるデータリンク層処理部を示す図である。
【図３】図２に示すデータリンク層処理部のＡＣＫ／ＮＡＫ処理部におけるタイマーの処理を示すフローチャートである（その１）。
【図４】図２に示すデータリンク層処理部のＡＣＫ／ＮＡＫ処理部におけるタイマーの処理を示すフローチャートである（その２）。
【図５】図２に示すデータリンク層処理部のＡＣＫ／ＮＡＫ処理部におけるＡＣＫ／ＮＡＫ生成部の処理を示すフローチャートである（その１）。
【図６】図２に示すデータリンク層処理部のＡＣＫ／ＮＡＫ処理部におけるＡＣＫ／ＮＡＫ生成部の処理を示すフローチャートである（その２）。
【図７】図２に示すデータリンク層処理部の送信制御部がＡＣＫ  ＤＬＬＰの送信要求に対する処理を示すフローチャートである。
【図８】本発明の第２の実施の形態にかかるデータリンク層処理部を示す図である。
【図９】図８に示すデータリンク層処理部におけるＡＣＫ／ＮＡＫ処理部を示す図である。
【図１０】図９に示すＡＣＫ／ＮＡＫ処理部におけるパケット数カウンタの処理を示すフローチャートである。
【図１１】図９に示すＡＣＫ／ＮＡＫ処理部におけるパケット総サイズカウンタの処理を示すフローチャートである。
【図１２】図９に示すＡＣＫ／ＮＡＫ処理部におけるＡＣＫ／ＮＡＫ生成部の処理を示すフローチャートである（その１）。
【図１３】図９に示すＡＣＫ／ＮＡＫ処理部におけるＡＣＫ／ＮＡＫ生成部の処理を示すフローチャートである（その２）。
【図１４】ＰＣＩ  Ｅｘｐｒｅｓｓ規格で定義される階層構造を示す図である。
【図１５】データリンク層を説明するための図である。
【図１６】図１５の一部を詳細に示す図である。
【図１７】データリンク層における送信パケット処理部、受信パケット処理部、ＡＣＫ／ＮＡＫ処理部、送信調停部の処理を説明するための図である。
【図１８】ＴＬＰとＡＣＫ  ＤＬＬＰの送信調停を説明するための図である。
【発明を実施するための形態】
【００３３】
以下、図面を参照して本発明の実施の形態について説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、ＣＰＵ、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
＜第１の実施の形態＞
【００３４】
図１は、本発明の第１の実施の形態にかかる通信システム１００を示す。通信システム１００は、通信回路１１０と通信回路１２０とが対向して接続されてなり、これらの２つの通信回路は、ＰＣＩ  Ｅｘｐｒｅｓｓ規格に準拠する。
【００３５】
通信回路１１０は、ソフトウェア層処理部１１１と、トランザクション層処理部１１２と、データリンク層処理部１１３と、物理層処理部１１４を備える。通信回路１２０は、ソフトウェア層処理部１２１と、トランザクション層処理部１２２と、データリンク層処理部１２３と、物理層処理部１２４を備える。通信回路１１０と通信回路１２０は、同様の構成を有する。
【００３６】
すなわち、トランザクション層処理部１２２はトランザクション層処理部１１３と、データリンク層処理部１２３はデータリンク層処理部１１３と、物理層処理部１２４は物理層処理部１１４と、それぞれ同じ回路構成であるものとする。
【００３７】
このため、以下では、通信回路１１０についてのみ説明する。また、通信回路１１０は、データリンク層処理部１１３を除き、他の各構成要素は、ＰＣＩ  Ｅｘｐｒｅｓｓ規格に準拠した通常の通信回路のものと同様であるので、データリンク層処理部１１３についてのみ説明する。さらに、データリンク層処理部１１３について、ＰＣＩ  Ｅｘｐｒｅｓｓ規格に準拠した通常の通信回路におけるデータリンク層処理部と同一の点に対して詳細な説明および図示を適宜省略する。
【００３８】
図２は、データリンク層処理部１１３を示す。データリンク層処理部１１３は、送信パケット処理部２１０と、送信制御部２２０と、ＡＣＫ／ＮＡＫ処理部２３０と、受信パケット処理部２８０を有する。ここで、送信制御部２２０は、上述の送信調停部４０に対応する部分であるが、その動作は、以下に説明するように異なったものである。
【００３９】
送信パケット処理部２１０は、トランザクション層処理部１１２からＴＬＰを受け取ると、該ＴＬＰと、該ＴＬＰの送信要求ＲＤを送信制御部２２０に出力する。
【００４０】
送信パケット処理部２１０は、再送バッファ２１２を備え、再度送信要求をする必要のあるＴＬＰをそのシーケンス番号と共に再送バッファ２１２に格納する。再度送信要求をする必要のあるＴＬＰは、下記の２種類がある。
１．送信パケット処理部２１０が送信要求ＲＤをしたものの、送信制御部２２０による後述の調停の結果、送信待ちになったＴＬＰ。
２．送信パケット処理部２１０の送信要求ＲＤに応じて送信制御部２２０から送信されたものの、対向通信回路から、該ＴＬＰについてのＡＣＫ  ＤＬＬＰをまだ受信していないＴＬＰ。
【００４１】
すなわち、送信パケット処理部２１０は、ＴＬＰを、対向通信回路から該ＴＬＰに対応するＡＣＫ  ＤＬＬＰを受信するまで再送バッファ２１２に格納する。なお、対向通信からＡＣＫ  ＤＬＬＰを受信すると、送信パケット処理部２１０は、該ＡＣＫ  ＤＬＬＰに対応するＴＬＰ（１つまたは複数）を再送バッファ２１２から削除する。また、対向通信回路からＮＡＫ  ＤＬＬＰを受信すると、再送バッファ２１２に保存された、該ＮＡＫ  ＤＬＬＰに付加されているシーケンス番号に対応するＴＬＰ以降のすべてのＴＬＰを再送する。これらは、ＰＣＩ  Ｅｘｐｒｅｓｓ規格に準拠した通常の通信回路にて行われる処理と同様である。
【００４２】
送信パケット処理部２１０は、さらに、送信間隔監視部２１４を備える。送信間隔監視部２１４は、ＴＬＰの送信間隔を監視し、それを示す間隔情報ＩＮＴを送信制御部２２０に出力する。
【００４３】
対向通信回路（ここでは通信回路１２０）から受信したＴＬＰは、物理層処理部１１４により受信され、物理層処理部１１４から受信パケット処理部２８０に入力される。受信パケット処理部２８０は、ＴＬＰの正当性を確認し、確認結果を示す正常／エラー情報を得て、ＡＣＫ／ＮＡＫ処理部２３０に出力する。
【００４４】
ＡＣＫ／ＮＡＫ処理部２３０は、正常／エラー情報に応じた返答パケット（ＡＣＫ  ＤＬＬＰまたはＮＡＫ  ＤＬＬＰ）を生成すると共に、返答パケットが送信されるまでその送信要求ＲＩを送信制御部２２０に行う返答部として機能する。
【００４５】
返答パケットの１つであるＡＣＫ  ＤＬＬＰは、正常／エラー情報が「正常」である場合に生成され、もう１つであるＮＡＫ  ＤＬＬＰは、正常／エラー情報が「エラー」である場合に生成される。
【００４６】
ＡＣＫ／ＮＡＫ処理部２３０には、タイマー２３２とＡＣＫ／ＮＡＫ生成部２３４を有する。タイマー２３２は、ＰＣＩ  Ｅｘｐｒｅｓｓ規格でいうＡＣＫＮＡＫ＿ＬＡＴＥＮＣＹ  ＴＩＭＥＲであり、カウントアップの停止中に受信パケット処理部２８０から「正常」を示す正常／エラー情報を受信したときに時間のカウントアップを開始する。また、カウントアップ中に送信制御部２２０からＡＣＫ  ＤＬＬＰを送信したことを示す信号（ＡＣＫ送信済信号Ｓ）を受信すると、カウント値をクリアしてカウントアップを停止する。
【００４７】
ＡＣＫ／ＮＡＫ生成部２３４は、正常／エラー情報と、タイマー２３２のカウント値に応じて返答パケットを生成すると共に、生成した返答パケットと共に、送信制御部２２０に送信要求ＲＩを出力する。本実施の形態において、ＡＣＫ／ＮＡＫ生成部２３４は、各送信要求ＲＩに優先順位を付与している。
【００４８】
図３と図４は、タイマー２３２の停止時とカウントアップ中の処理をそれぞれ示す。図３に示すように、タイマー２３２は、停止中において、ＴＬＰの受信に応じて受信パケット処理部２８０から出力した正常／エラー情報が「正常」を示す場合にのみカウントアップを開始する（Ｓ１００：Ｙｅｓ、Ｓ１０２：正常、Ｓ１０４）。
【００４９】
また、図４に示すように、タイマー２３２は、カウントアップ中において、送信制御部２２０からＡＣＫ送信済信号Ｓを受信した場合にのみ、カウント値をクリアし、カウントアップを停止する（Ｓ１１０：Ｙｅｓ、Ｓ１１２）。すなわち、カウントアップ中に、他のＴＬＰを正常に受信しても、ＡＣＫ送信済信号Ｓを受信しない限り、停止中に正常に受信した最初のＴＬＰについてのカウントアップを継続する（Ｓ１１０：Ｎｏ、Ｓ１１４）。
【００５０】
図５と図６は、ＡＣＫ／ＮＡＫ生成部２３４による返答パケットと送信要求ＲＩの生成に関する処理の流れを示すフローチャートである。図５に示すように、ＡＣＫ／ＮＡＫ生成部２３４は、ＴＬＰの受信があり、該ＴＬＰについて受信パケット処理部２８０から出力した正常／エラー情報が「エラー」であるときに、ＮＡＫ  ＤＬＬＰを生成して、該ＮＡＫ  ＤＬＬＰと共に高優先順位の送信要求ＲＩを送信制御部２２０に出力する（Ｓ１００：エラー、Ｓ１１０）。
【００５１】
一方、受信パケット処理部２８０からの正常／エラー情報が「正常」であるときに、ＡＣＫ／ＮＡＫ生成部２３４は、ＡＣＫ  ＤＬＬＰ処理フローを実行する（Ｓ１００：正常、Ｓ１２０）。
【００５２】
図６は、図５におけるステップＳ１２０のＡＣＫ  ＤＬＬＰ処理を示す。ＡＣＫ／ＮＡＫ生成部２３４は、正常に受信された全てのＴＬＰについて既にＡＣＫ  ＤＬＬＰが送信された場合には、ＡＣＫ  ＤＬＬＰと送信要求ＲＩの生成および送信をしない（Ｓ１２２：Ｎｏ、Ｓ１２２〜）。一方、既に正常に受信され、まだＡＣＫ  ＤＬＬＰが送信されていないＴＬＰがある場合には（Ｓ１２２：Ｙｅｓ）、ＡＣＫ／ＮＡＫ生成部２３４は、ＡＣＫ  ＤＬＬＰと送信要求ＲＩを生成して送信制御部２２０に出力する。ＡＣＫ  ＤＬＬＰを生成する際に、ＡＣＫ／ＮＡＫ生成部２３４は、最後に受信したＴＬＰのシーケンス番号を用いる。また、送信要求ＲＩに対しては、ＡＣＫ／ＮＡＫ生成部２３４は、タイマー２３２のカウント値が予め設定された送信遅延時間Ｃ１以上であるか否かに応じて異なる優先順位を付与する。具体的には、タイマー２３２のカウント値が送信遅延時間Ｃ１未満である場合に、ＡＣＫ／ＮＡＫ生成部２３４は、ＡＣＫ  ＤＬＬＰと、低優先順位の送信要求ＲＩとを生成して送信制御部２２０に出力する（Ｓ１２４：Ｙｅｓ、Ｓ１３０）。一方、タイマー２３２のカウント値が送信遅延時間Ｃ１以上である場合には、ＡＣＫ／ＮＡＫ生成部２３４は、ＡＣＫ  ＤＬＬＰと、高優先順位の送信要求ＲＩとを生成して送信制御部２２０に出力する（Ｓ１２４：Ｎｏ、Ｓ１４０）。
【００５３】
すなわち、ＡＣＫ／ＮＡＫ生成部２３４は、ＡＣＫ  ＤＬＬＰがまだ送信されていないＴＬＰについてのＡＣＫ  ＤＬＬＰが送信されるまで、送信要求ＲＩを送信制御部２２０に出力し続ける。また、送信要求ＲＩに対しては、タイマー２３２のカウント値に応じて優先順位を付与する。
【００５４】
送信制御部２２０は、送信パケット処理部２１０からの送信要求ＲＤとＡＣＫ／ＮＡＫ生成部２３４からの送信要求ＲＩに応じてＴＬＰと返答パケットをそれぞれ送信する。また、返答パケットの送信要求ＲＩに付与された優先順位に応じて、ＴＬＰと返答パケットのいずれの送信を優先させるかについての調停を行う。
具体的には、高優先順位が付与された送信要求ＲＩに対して、送信制御部２２０は、該送信要求ＲＩと共に送信されてきた返答パケットの送信を、ＴＬＰの送信よりも優先する。すなわち、送信制御部２２０は、高優先順位が付与された送信要求ＲＩを必ず受け付けて送信する。
【００５５】
本実施の形態において、ＮＡＫ  ＤＬＬＰの送信要求ＲＩは常に高優先順位が付与されるため、送信制御部２２０は、ＮＡＫ  ＤＬＬＰの送信要求ＲＩを必ず受け付けて、ＮＡＫ  ＤＬＬＰを送信する。
【００５６】
ＡＣＫ  ＤＬＬＰの場合については、図７を参照して説明する。
図７は、送信制御部２２０がＡＣＫ  ＤＬＬＰの送信要求ＲＩを受信した際の処理を示すフローチャートである。送信制御部２２０は、ＡＣＫ  ＤＬＬＰの送信要求ＲＩを受信すると、その優先順位を確認する（Ｓ１５０）。高優先順位であれば、送信制御部２２０は、該送信要求ＲＩを受け付けてＡＣＫ  ＤＬＬＰを送信すると共に、ＡＣＫ送信済信号ＳをＡＣＫ／ＮＡＫ処理部２３０に出力する（Ｓ１５０：高、Ｓ１５４）。
【００５７】
一方、送信要求ＲＩに低優先順位が付与されていれば、送信制御部２２０は、送信パケット処理部２１０における送信間隔監視部２１４からの間隔情報ＩＮＴと、予め設定された間隔閾値Ｔとを参照して該送信要求ＲＩを受け付けるか否かを決定する。具体的には、間隔情報ＩＮＴが示すＴＬＰの送信間隔が予め設定された間隔閾値Ｔ以上であれば、送信制御部２２０は、該送信要求ＲＩを受け付けてＡＣＫ  ＤＬＬＰを送信すると共に、ＡＣＫ送信済信号ＳをＡＣＫ／ＮＡＫ処理部２３０に出力する（Ｓ１５０：低、Ｓ１５２：Ｎｏ）。一方、間隔情報ＩＮＴが示すＴＬＰの送信間隔が間隔閾値Ｔ未満であれば（Ｓ１５０：低、Ｓ１５２：Ｙｅｓ）、送信制御部２２０は、該送信要求ＲＩを受け付けず、ＡＣＫ  ＤＬＬＰの送信もしない。
【００５８】
なお、送信制御部２２０に対して設定された間隔閾値Ｔは、ＡＣＫ  ＤＬＬＰを送信するために必要な最短時間であることが好ましく、それ以上の値であってもよい。
【００５９】
このように、本実施の形態において、タイマー２３２のカウント値が送信遅延時間Ｃ１未満であるときに、ＡＣＫ  ＤＬＬＰの送信要求ＲＩに低優先順位が付与される。低優先順位の送信要求ＲＩに対応するＡＣＫ  ＤＬＬＰは、ＴＬＰの送信間隔が間隔閾値Ｔ以上であるときに送信される。これにより、ＴＬＰの送信を優先させながら、ＴＬＰが送信されていない期間を利用してＡＣＫ  ＤＬＬＰを送信することができる。そのため、ＡＣＫ  ＤＬＬＰの送信がＴＬＰの送信に与える影響を減らすことができ、通信回路のＴＬＰの転送効率を向上させることができる。
【００６０】
また、タイマー２３２のカウント値が間隔閾値Ｔ以上にならなくてもＡＣＫ  ＤＬＬＰが送信されるので、対向通信回路では、再送バッファの解放が早くでき、データ転送効率が向上する。
【００６１】
また、タイマー２３２のカウント値が送信遅延時間Ｃ１以上であるときに、ＡＣＫ  ＤＬＬＰの送信要求ＲＩに対して高優先順位が付与され、該送信要求ＲＩに対応するＡＣＫ  ＤＬＬＰの送信はＴＬＰの送信より優先される。これにより、ＴＬＰの送信間隔に関係なく、タイマー２３２のカウント値が送信遅延時間Ｃ１以上になれば、ＡＣＫ  ＤＬＬＰが必ず送信されるため、ＰＣＩ  Ｅｘｐｒｅｓｓの規定を満たすことができる。
【００６２】
また、ＮＡＫ  ＤＬＬＰの送信要求ＲＩが常に高優先順位が付与されるため、ＮＡＫ  ＤＬＬＰの送信はＴＬＰより優先される。これも、ＰＣＩ  Ｅｘｐｒｅｓｓの規定を満たしている。
【００６３】
このように、データリンク層処理部１１３は、ＰＣＩ  Ｅｘｐｒｅｓｓ規格に準拠した通信回路においてデータリンク層の処理を行うデータリンク層処理回路であって、ＴＬＰとＡＣＫ  ＤＬＬＰの送信を制御する送信制御部（２２０）と、対向通信回路から正常に受信したＴＬＰについてのＡＣＫ  ＤＬＬＰが送信されるまでＡＣＫ  ＤＬＬＰの送信要求を前記送信制御部に行う返答部（すなわちＡＣＫ／ＮＡＫ処理部２３０）とを有し、返答部は、ＡＣＫ  ＤＬＬＰの送信要求を行う際に、該送信要求に対して高優先順位または低優先順位を付与可能であり、送信制御部は、返答部からの送信要求が高優先順位を有するときに、該送信要求に対応するＡＣＫ  ＤＬＬＰの送信をＴＬＰの送信よりも優先させ、返答部からの送信要求が低優先順位を有するときに、ＴＬＰの送信間隔が予め設定された所定の閾値以上であることを条件に、該送信要求に対応するＡＣＫ  ＤＬＬＰが送信されるように制御を行うことを特徴とするデータリンク層処理回路である。
すなわち、本実施の形態の通信システム１００によれば、ＰＣＩ  Ｅｘｐｒｅｓｓの規定を守りながら、ＴＬＰの送受信効率を高めることができる。
＜第２の実施の形態＞
【００６４】
本発明の第２の実施の形態もＰＣＩ  Ｅｘｐｒｅｓｓ規格に準拠した通信回路が対向接続してなる通信システムである。これらの通信回路は、データリンク層処理部以外の各構成要素が図１に示す通信システム１００における通信回路のものと同様であるため、本実施の形態について、データリンク層処理部のみを説明する。
【００６５】
図８は、本実施の形態の通信システムにおける通信回路のデータリンク層処理部３００を示す。図８において、図２に示すデータリンク層処理部１１３のものと同様の構成要素について同一の符号を付与し、それらの説明を省略する。
【００６６】
データリンク層処理部３００は、送信パケット処理部２１０と、送信制御部２２０と、ＡＣＫ／ＮＡＫ処理部３３０と、受信パケット処理部３８０を有する。
【００６７】
受信パケット処理部３８０は、受信したＴＬＰの正当性を確認し、確認結果を示す正常／エラー情報を得てＡＣＫ／ＮＡＫ処理部３３０に出力する。本実施の形態において、受信パケット処理部３８０は、さらに、受信したＴＬＰのサイズを示すパケットサイズ情報もＡＣＫ／ＮＡＫ処理部３３０に出力する。
【００６８】
ＡＣＫ／ＮＡＫ処理部３３０は、正常／エラー情報に応じた返答パケット（ＡＣＫ  ＤＬＬＰまたはＮＡＫ  ＤＬＬＰ）を生成すると共に、返答パケットが送信されるまでその送信要求ＲＩを送信制御部２２０に行う返答部として機能する。図９を参照してＡＣＫ／ＮＡＫ処理部３３０を説明する。
【００６９】
図９は、ＡＣＫ／ＮＡＫ処理部３３０を示す。ＡＣＫ／ＮＡＫ処理部３３０は、タイマー２３２と、パケット数カウンタ３３４と、パケット総サイズカウンタ３３６と、比較器３４２と、比較器３４４と、比較器３４６と、論理和回路３５０と、ＡＣＫ／ＮＡＫ生成部３６０を備える。
【００７０】
タイマー２３２は、第１の実施の形態にかかる通信システム１００のときに説明した通り、ＰＣＩ  Ｅｘｐｒｅｓｓ規格でいうＡＣＫＮＡＫ＿ＬＡＴＥＮＣＹ  ＴＩＭＥＲであり、停止状態においてＴＬＰを正常に受信したときにカウントアップを開始し、カウントアップ中においてＡＣＫ送信済信号Ｓを受信したときにカウント値をクリアしてカウントアップを停止する。タイマー２３２のカウント値は、比較器３４２に出力される。
【００７１】
図１０はパケット数カウンタ３３４の処理を示すフローチャートである。図示のように、パケット数カウンタ３３４は、対向通信回路から正常にＴＬＰを受信する度に、現在のカウント値に「１」を加算する（Ｓ２００：Ｙｅｓ、Ｓ２１０：正常、Ｓ２１２）。また、送信制御部２２０からＡＣＫ送信済信号Ｓを受信する度にカウント値をクリアする（Ｓ２３０：Ｙｅｓ、Ｓ２３２）。パケット数カウンタ３３４のカウント値は、比較器３４４に出力される。
【００７２】
図１１はパケット総サイズカウンタ３３６の処理を示すフローチャートである。図示のように、パケット総サイズカウンタ３３６は、対向通信回路から正常にＴＬＰを受信する度に、受信パケット処理部３８０からのパケットサイズ情報が示す該ＴＬＰのサイズを現在のカウント値に加算する（Ｓ２４０：Ｙｅｓ、Ｓ２５０：正常、Ｓ２５２）。また、送信制御部２２０からＡＣＫ送信済信号Ｓを受信する度にカウント値をクリアする（Ｓ２６０：Ｙｅｓ、Ｓ２６２）。パケット総サイズカウンタ３３６のカウント値は、比較器３４６に出力される。
【００７３】
比較器３４２は、予め設定された送信遅延時間Ｃ１と、タイマー２３２のカウント値とを比較し、タイマー２３２のカウント値が送信遅延時間Ｃ１未満であるときには論理和回路３５０にＬｏｗを出力する一方、タイマー２３２のカウント値が送信遅延時間Ｃ１以上であるときには論理和回路３５０にＨｉｇｈを出力する。
【００７４】
比較器３４４は、予め設定されたパケット数閾値Ｃ２と、パケット数カウンタ３３４のカウント値とを比較し、パケット数カウンタ３３４のカウント値がパケット数閾値Ｃ２未満であるときには論理和回路３５０にＬｏｗを出力する一方、パケット数カウンタ３３４のカウント値がパケット数閾値Ｃ２以上であるときには論理和回路３５０にＨｉｇｈを出力する。
【００７５】
比較器３４６は、予め設定された総サイズ閾値Ｃ３と、パケット総サイズカウンタ３３６のカウント値とを比較し、パケット総サイズカウンタ３３６のカウント値が総サイズ閾値Ｃ３未満であるときには論理和回路３５０にＬｏｗを出力する一方、パケット総サイズカウンタ３３６のカウント値が総サイズ閾値Ｃ３以上であるときには論理和回路３５０にＨｉｇｈを出力する。
【００７６】
なお、パケット数閾値Ｃ２と総サイズ閾値Ｃ３は、対向通信回路におけるＴＬＰの再送バッファのサイズに応じて設定されたものである。
【００７７】
論理和回路３５０は、比較器３４２、比較器３４４、比較器３４６の出力の論理和Ｑを得てＡＣＫ／ＮＡＫ生成部３６０に出力する。
【００７８】
すなわち、タイマー２３２、パケット数カウンタ３３４、パケット総サイズカウンタ３３６のうちのいずれか１つのカウント値が、予め設定された相対応する閾値（Ｃ１またはＣ２またはＣ３）以上になった場合に、論理和回路３５０からＨｉｇｈである論理和Ｑが出力される。一方、タイマー２３２、パケット数カウンタ３３４、パケット総サイズカウンタ３３６のいずれのカウント値も、予め設定された相対応する閾値未満である場合に、論理和回路３５０からＬｏｗである論理和Ｑが出力される。
【００７９】
ＡＣＫ／ＮＡＫ生成部３６０は、正常／エラー情報と、論理和Ｑに応じて返答パケットを生成すると共に、生成した返答パケットと共に、送信要求ＲＩを送信制御部２２０に出力する。
【００８０】
図１２と図１３は、ＡＣＫ／ＮＡＫ生成部３６０による返答パケットと送信要求ＲＩの生成に関する処理の流れを示すフローチャートである。図１２に示すように、ＡＣＫ／ＮＡＫ生成部３６０は、ＴＬＰの受信があり、該ＴＬＰについて受信パケット処理部３８０から出力した正常／エラー情報が「エラー」であるときに、ＮＡＫ  ＤＬＬＰを生成して、該ＮＡＫ  ＤＬＬＰと共に高優先順位の送信要求ＲＩを送信制御部２２０に出力する（Ｓ３００：エラー、Ｓ３１０）。
【００８１】
一方、受信パケット処理部３８０からの正常／エラー情報が「正常」であるときに、ＡＣＫ／ＮＡＫ生成部３６０は、ＡＣＫ  ＤＬＬＰ処理フローを実行する（Ｓ３００：正常、Ｓ３２０）。
【００８２】
図１３は、図１２におけるステップＳ３２０のＡＣＫ  ＤＬＬＰ処理を示す。ＡＣＫ／ＮＡＫ生成部３６０は、正常に受信された全てのＴＬＰについて既にＡＣＫ  ＤＬＬＰが送信された場合には、ＡＣＫ  ＤＬＬＰと送信要求ＲＩの生成および送信をしない（Ｓ３２２：Ｎｏ、Ｓ３２２〜）。一方、既に正常に受信され、まだＡＣＫ  ＤＬＬＰが送信されていないＴＬＰがある場合には（Ｓ３２２：Ｙｅｓ）、ＡＣＫ／ＮＡＫ生成部３６０は、ＡＣＫ  ＤＬＬＰと送信要求ＲＩを生成して送信制御部２２０に出力する。ＡＣＫ  ＤＬＬＰを生成する際に、ＡＣＫ／ＮＡＫ生成部３６０は、最後に受信したＴＬＰのシーケンス番号を用いる。また、送信要求ＲＩに対しては、ＡＣＫ／ＮＡＫ生成部３６０は、論理和回路３５０からの論理和ＱがＨｉｇｈであるかＬｏｗであるかに応じて異なる優先順位を付与する。具体的には、論理和ＱがＬｏｗである場合に、ＡＣＫ／ＮＡＫ生成部３６０は、ＡＣＫ  ＤＬＬＰと、低優先順位の送信要求ＲＩを生成して送信制御部２２０に出力する（Ｓ３２４：Ｎｏ、Ｓ３３０）。一方、論理和ＱがＨｉｇｈである場合には、ＡＣＫ／ＮＡＫ生成部３６０は、ＡＣＫ  ＤＬＬＰと、高優先順位の送信要求ＲＩを生成して送信制御部２２０に出力する（Ｓ３２４：Ｙｅｓ、Ｓ３４０）。
【００８３】
すなわち、ＡＣＫ／ＮＡＫ生成部３６０は、ＡＣＫ  ＤＬＬＰがまだ送信されていないＴＬＰについてのＡＣＫ  ＤＬＬＰが送信されるまで、送信要求ＲＩを送信制御部２２０に出力し続ける。また、送信要求ＲＩに対しては、論理和Ｑに応じて優先順位を付与する。
【００８４】
送信制御部２２０の処理については、第１の実施の形態のときに説明した通りである。
【００８５】
本実施の形態の通信システムは、第１の実施の形態にかかる通信システム１００が得られる各効果に加え、さらに以下の効果を得ることができる。
ＡＣＫ／ＮＡＫ生成部３６０は、タイマー２３２のカウント値が送信遅延時間Ｃ１以上になった場合以外に、パケット数カウンタ３３４のカウント値がパケット数閾値Ｃ２以上になったときと、パケット総サイズカウンタ３３６のカウント値が総サイズ閾値Ｃ３以上になったときにもＡＣＫ  ＤＬＬＰの送信要求ＲＩに高優先順位を付与するため、実質的には、対向通信回路におけるＴＬＰの再送バッファの空き容量に応じてＡＣＫ  ＤＬＬＰの送信間隔を調整している。従って、対向通信回路における、ＴＬＰの再送バッファの空き容量が少ないことに起因するＴＬＰの送信停滞を確実に軽減することができ、ひいては通信システムの送受信効率をより高めることができる。
【００８６】
以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、上述した各実施の形態に対してさまざまな変更、増減、組合せを行ってもよい。これらの変更、増減、組合せが行われた変形例も本発明の範囲にあることは当業者に理解されるところである。
【００８７】
例えば、上述した２つの実施の形態において、制御の簡単化のため、ＮＡＫ  ＤＬＬＰの送信要求ＲＩにも優先順位（常に高優先順位）が付与されるようになっているが、ＮＡＫ  ＤＬＬＰの送信要求ＲＩに優先順位を付与せず、優先順位が付与されていない送信要求ＲＩに対しても、それに対応する返答パケット（ＮＡＫ  ＤＬＬＰ）の送信をＴＬＰの送信より優先させるようにしてもよい。
【００８８】
また、第２の実施の形態において、パケット数カウンタ３３４とパケット総サイズカウンタ３３６を用いたが、いずれか１つのみを用いるようにしてもよい。  
【符号の説明】
【００８９】
１０  送信パケット処理部
２０  受信パケット処理部
３０  ＡＣＫ／ＮＡＫ処理部
３２  タイマー
３４  ＡＣＫ／ＮＡＫ生成部
４０  送信調停部
１００  通信システム
１１０  通信回路
１１１  ソフトウェア層処理部
１１２  トランザクション層処理部
１１３  データリンク層処理部
１１４  物理層処理部
１２０  通信回路
１２１  ソフトウェア層処理部
１２２  トランザクション層処理部
１２３  データリンク層処理部
１２４  物理層処理部
２１０  送信パケット処理部
２１２  再送バッファ
２１４  送信間隔監視部
２２０  送信制御部
２３０  ＡＣＫ／ＮＡＫ処理部
２３２  タイマー
２３４  ＡＣＫ／ＮＡＫ生成部
２８０  受信パケット処理部
３００  データリンク層処理部
３３０  ＡＣＫ／ＮＡＫ処理部
３３４  パケット数カウンタ
３３６  パケット総サイズカウンタ
３４２  比較器
３４４  比較器
３４６  比較器
３５０  論理和回路
３６０  ＡＣＫ／ＮＡＫ生成部
３８０  受信パケット処理部
【図１】
2011040965.tif 000003
【図２】
2011040965.tif 000004
【図３】
2011040965.tif 000005
【図４】
2011040965.tif 000006
【図５】
2011040965.tif 000007
【図６】
2011040965.tif 000008
【図７】
2011040965.tif 000009
【図８】
2011040965.tif 000010
【図９】
2011040965.tif 000011
【図１０】
2011040965.tif 000012
【図１１】
2011040965.tif 000013
【図１２】
2011040965.tif 000014
【図１３】
2011040965.tif 000015
【図１４】
2011040965.tif 000016
【図１５】
2011040965.tif 000017
【図１６】
2011040965.tif 000018
【図１７】
2011040965.tif 000019
【図１８】
2011040965.tif 000020