(57)【要約】  【課題】  上位レイヤから受け取った複数の送信データに基づく複数のパケットをネットワーク上に送信するための半導体集積回路を提供する。  【解決手段】  この半導体集積回路１は、優先順位識別子がそれぞれ付加された複数の送信データをＣＰＵ１０から受け取るためのホストインタフェース回路２と、複数の送信データを優先順位識別子とともに格納するためのデータバッファ３と、優先順位識別子によって示される優先順位に従った順序で複数のパケットを作成するための制御回路４と、複数のパケットを優先順位識別子とともに格納するためのパケットバッファ５と、優先順位識別子によって示される優先順位に従った順序で、パケットバッファ５に格納されている複数のパケットをネットワークＮ上に送信するためのＬＡＮドライバ回路６とを具備する。【選択図】  図１
2006025219.tif 000002
【特許請求の範囲】
【請求項１】
上位レイヤから受け取った複数の送信データに基づく複数のパケットをネットワーク上に送信するための半導体集積回路であって、
前記ネットワーク上に送信する場合における優先順位を示す識別子がそれぞれ付加された前記複数の送信データを前記上位レイヤから受け取るためのホストインタフェース回路と、
前記ホストインタフェース回路が前記上位レイヤから受け取った前記複数の送信データを前記識別子とともに格納するためのデータバッファと、
前記データバッファに格納されている前記識別子によって示される優先順位に従った順序で前記複数の送信データに基づく前記複数のパケットを作成し、前記複数のパケットの各々に前記識別子を付加して出力するための制御回路と、
前記制御回路によって作成された前記複数のパケットを前記識別子とともに格納するためのパケットバッファと、
前記パケットバッファに格納されている前記識別子によって示される優先順位に従った順序で、前記複数のパケットを前記ネットワーク上に送信するためのドライバ回路と、
を具備する半導体集積回路。
【請求項２】
前記送信データが、ヘッダ部及びデータ本体部を含んでおり、前記識別子が前記ヘッダ部の前、前記ヘッダ部と前記データ本体部との間、又は、前記データ本体部の後に付加されている、請求項１記載の半導体集積回路。
【請求項３】
前記ヘッダ部が、セッション番号、コネクション番号、プロトコルを示す第２の識別子、ポート番号、又は、送信先アドレスを含んでおり、
前記制御回路が、前記データバッファに格納されている前記複数の送信データの中に前記識別子が同一、且つ、前記セッション番号、前記コネクション番号、前記第２の識別子、前記ポート番号、又は、前記送信先アドレスが同一である１群の送信データが存在する場合に、前記１群の送信データに基づいて１個のパケットを作成する、請求項２記載の半導体集積回路。
【請求項４】
前記パケットが、パケットヘッダ部、パケットデータ本体部、及び、フレームチェックシーケンス部を含んでおり、前記識別子が前記パケットヘッダ部の前、前記パケットヘッダ部と前記パケットデータ本体部との間、前記パケットデータ本体部と前記フレームチェックシーケンス部との間、又は、前記フレームチェックシーケンス部の後に付加されている、請求項１〜３のいずれか１項に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上位レイヤから受け取った複数の送信データに基づく複数のパケットをネットワーク上に送信するための半導体集積回路に関する。
【背景技術】
【０００２】
従来より、優先度の高いデータタイプを設定するローカルエリアネットワークが知られている（例えば、特許文献１参照）。
特許文献１には、ネットワーク回線に複数のデータ端末を接続し送信要求の発生したデータ端末がネットワーク回線を監視し他のデータ端末が送信中であるか否かを調べ送信中であれば送信を待ち合せるが空いていれば予め定めた様式の一連のデータであるデータパケットを送出するとともに、送信中に衝突の有無を監視し衝突検出時には送信を中止して一定時間待ち合せた後再送のため再度同一手順を反復するキャリア検出多重アクセス衝突検出方式のプロトコルを有するローカルエリアネットワークにおいて、プロトコルが、複数のデータ端末相互間で予め優先度の高いデータタイプである優先データタイプを設定しこの優先データタイプのデータパケットの転送期間あるいはこの転送直後の一定期間優先データタイプでない非優先データタイプのデータパケットのパケット長を短く設定するデータリンク層を含むことを特徴とするローカルエリアネットワークが掲載されている。
【０００３】
しかしながら、このローカルエリアネットワークにおいては、複数のデータ端末相互間で予め優先データタイプを設定する必要があった。また、このローカルエリアネットワークは、非優先データタイプのデータパケットのパケット長を短くするものであり、データパケットを送信する順序を変えるものではない。
【０００４】
【特許文献１】特開平１０−１０７８１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
そこで、上記の点に鑑み、本発明は、上位レイヤから受け取った複数の送信データにそれぞれ付されている優先順位に従った順序で、複数のパケットをネットワーク上に送信する半導体集積回路を提供することを目的とする。
【課題を解決するための手段】
【０００６】
以上の課題を解決するため、本発明に係る半導体集積回路は、上位レイヤから受け取った複数の送信データに基づく複数のパケットをネットワーク上に送信するための半導体集積回路であって、ネットワーク上に送信する場合における優先順位を示す識別子がそれぞれ付加された複数の送信データを上位レイヤから受け取るためのホストインタフェース回路と、ホストインタフェース回路が上位レイヤから受け取った複数の送信データを識別子とともに格納するためのデータバッファと、データバッファに格納されている識別子によって示される優先順位に従った順序で複数の送信データに基づく複数のパケットを作成し、複数のパケットの各々に識別子を付加して出力するための制御回路と、制御回路によって作成された複数のパケットを識別子とともに格納するためのパケットバッファと、パケットバッファに格納されている識別子によって示される優先順位に従った順序で、複数のパケットをネットワーク上に送信するためのドライバ回路とを具備する。
【０００７】
この半導体集積回路において、送信データが、ヘッダ部及びデータ本体部を含んでおり、識別子がヘッダ部の前、ヘッダ部とデータ本体部との間、又は、データ本体部の後に付加されていることとしても良い。
【０００８】
また、ヘッダ部が、セッション番号、コネクション番号、プロトコルを示す第２の識別子、ポート番号、又は、送信先アドレスを含んでおり、制御回路が、データバッファに格納されている複数の送信データの中に識別子が同一、且つ、セッション番号、コネクション番号、第２の識別子、ポート番号、又は、送信先アドレスが同一である１群の送信データが存在する場合に、１群の送信データに基づいて１個のパケットを作成することとしても良い。
【０００９】
さらに、パケットが、パケットヘッダ部、パケットデータ本体部、及び、フレームチェックシーケンス部を含んでおり、識別子がパケットヘッダ部の前、パケットヘッダ部とパケットデータ本体部との間、パケットデータ本体部とフレームチェックシーケンス部との間、又は、フレームチェックシーケンス部の後に付加されていることとしても良い。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照しながら、本発明を実施するための最良の形態について説明する。なお、同一の構成要素には同一の参照符号を付して、説明を省略する。
図１は、本発明の一実施形態としての半導体集積回路を用いた装置の概要を示すブロック図である。この装置は、ネットワークＮに接続された本発明の一実施形態としての半導体集積回路１と、半導体集積回路１に接続されたＣＰＵ１０とを具備する。
【００１１】
現在、インターネット、ＬＡＮ（Local Area Network）等において、ＴＣＰ／ＩＰと呼ばれる通信プロトコルの階層モデルが広く用いられている。図５は、ＴＣＰ／ＩＰ階層モデルの各レイヤとＩＳＯ（International Organization for Standardization）で制定されたＯＳＩ（Open Systems Interconnection）参照モデルの各レイヤとのおおよその対応関係を示す図である。
ここでは、ネットワークＮは、Ethernet（登録商標）であるものとし、半導体集積回路１は、主にＴＣＰ／ＩＰ階層モデルのインターネット層及びトランスポート層を担うものとし、ＣＰＵ１０は、主にＴＣＰ／ＩＰ階層モデルのアプリケーション層を担うものとする。なお、ネットワークＮは、トークンリング（商標）、その他のものであっても良い。
【００１２】
再び図１を参照すると、半導体集積回路１は、ホストインタフェース回路２と、データバッファ３と、制御回路４と、パケットバッファ５と、ＬＡＮドライバ回路６とを具備する。
ホストインタフェース回路２は、ネットワークＮに送信するための複数の送信データをＣＰＵ１０から受け取って、データバッファ３に書き込む。図２は、ＣＰＵ１０がホストインタフェース回路２に送る送信データのフォーマットの一例を示す図である。図２に示すように、送信データは、ＴＣＰ／ＩＰ階層モデルにおいて一般的に用いられているフォーマットと同様に、ヘッダ部及びデータ本体部を含んでいる。そして、データ本体部の後には、当該送信データをネットワーク上に送信する場合における優先順位を示す優先順位識別子（例えば、整数値等）が付加されている。この優先順位識別子の値は、アプリケーション層を担うＣＰＵ１０が、プログラムの実行状況、リモートホストとの通信状況等の種々の条件に基づいて、送信データ毎に決定することができる。ホストインタフェース回路２は、送信データとともに優先順位識別子をデータバッファ３に書き込む。
【００１３】
なお、ここでは、優先順位識別子が、データ本体部の後に付加されることとしているが、ヘッダ部の前又はヘッダ部とデータ本体部との間に付加されることとしても良い。
また、ヘッダ部が、セッション番号、コネクション番号、プロトコルを示す第２の識別子、ポート番号、又は、送信先アドレスを含むこととしても良い。
【００１４】
再び図１を参照すると、制御回路４は、データバッファ３に格納されている複数の送信データ及び優先順位識別子を参照し、優先順位識別子によって示される優先順位が高い送信データから優先順位が低い送信データへという順序で、送信データに基づくパケットを作成し、パケットバッファ５に書き込む。図３は、制御回路４が作成するパケットのフォーマットの一例を示す図である。図３に示すように、パケットは、ＴＣＰ／ＩＰ階層モデルにおいて一般的に用いられているフォーマットと同様に、パケットヘッダ部、パケットデータ本体部、及び、フレームチェックシーケンス部を含んでいる。そして、フレームチェックシーケンス部の後には、優先順位識別子が付加されている。この優先順位識別子は、当該パケットの元となった送信データに付加されていた優先順位識別子をそのまま用いることができる。制御回路４は、パケットとともに優先順位識別子をパケットバッファ５に書き込む。
【００１５】
なお、制御回路４が、データバッファ３に格納されている複数の送信データの中に優先順位識別子が同一、且つ、セッション番号、コネクション番号、第２の識別子、ポート番号、又は、送信先アドレスが同一である１群の送信データが存在する場合に、１群の送信データに基づいて１個のパケットを作成することとしても良い。
また、ここでは、優先順位識別子が、フレームチェックシーケンス部の後に付加されることとしているが、パケットヘッダ部の前、パケットヘッダ部とパケットデータ本体部との間、又は、パケットデータ本体部とフレームチェックシーケンス部との間に付加されることとしても良い。
【００１６】
ＬＡＮドライバ回路６は、パケットバッファ５に格納されている複数のパケット及び優先順位識別子を参照し、優先順位識別子によって示される優先順位が高いパケットから優先順位が低いパケットへという順序で、パケットをネットワークＮ上に送信する。図４は、ＬＡＮドライバ回路６が送信するパケットのフォーマットの一例を示す図である。図４に示すように、ＬＡＮドライバ回路６は、パケットのみをネットワークＮ上に送信し、優先順位識別子をネットワークＮ上に送信しない。これにより、ネットワークＮ上での互換性を確保することができる。
【００１７】
なお、リモートホストからパケットを受信する場合には、ＬＡＮドライバ回路６が、受信したパケットをパケットバッファ５に書き込み、制御回路４が、パケットバッファ５に格納されているパケットに基づく受信データをデータバッファ３に書き込み、ホストインタフェース回路２が、データバッファ３に格納されている受信データをＣＰＵ１０に送ることとすれば良い。
【００１８】
このように、半導体集積回路１によれば、上位レイヤとしてのＣＰＵ１０から受け取った複数の送信データにそれぞれ付されている優先順位に従った順序で、複数のパケットをネットワークＮ上に送信することができる。この優先順位は、ＣＰＵ１０が、種々の条件に基づいて決定できるので、従来技術のように、複数のデータ端末相互間で予め優先データタイプを設定する必要がなく、非優先データタイプのデータパケットのパケット長を短くする必要もない。
【００１９】
なお、データバッファ３及びパケットバッファ５は、１個のＲＡＭで構成することとしても良い。
【産業上の利用可能性】
【００２０】
本発明は、上位レイヤから受け取った複数の送信データに基づく複数のパケットをネットワーク上に送信する半導体集積回路において利用可能である。これらの回路は、コンピュータ、ＰＤＡ、携帯電話装置等において利用可能である。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施形態に係る半導体集積回路を用いた装置の概要図。
【図２】図１のデータバッファ３に格納されるデータのフォーマットの例を示す図。
【図３】図１のパケットバッファ５に格納されるパケットのフォーマットを示す図。
【図４】図１のネットワークＮ上に送信されるパケットのフォーマットを示す図。
【図５】ＯＳＩ参照モデルとＴＣＰ／ＩＰ階層モデルとの対応関係を示す図。
【符号の説明】
【００２２】
１  半導体集積回路、２  ホストインタフェース回路、３  データバッファ、４  制御回路、５  パケットバッファ、６  ＬＡＮドライバ回路、１０  ＣＰＵ、Ｎ  ネットワーク
【図１】
2006025219.tif 000003
【図２】
2006025219.tif 000004
【図３】
2006025219.tif 000005
【図４】
2006025219.tif 000006
【図５】
2006025219.tif 000007