(57)【要約】      （修正有）【課題】主記憶へ転送するフレームが複数種類ある場合でも、１つのＤＭＡ制御回路で転送可能とする。【解決手段】通信装置は、フレームデータを保持するバッファを２段構成としている。１段目のフレームバッファブロック１８１〜１８Ｎを複数種類のフレームデータにそれぞれ対応させ、２段目の１つのフレームインターフェースブロック２０にフレームデータを集中させる。これにより、１つのＤＭＡ制御回路２２により複数種類のフレームデータをＣＰＵ１２の主記憶メモリ１０へ転送することができるため、多くの種類のフレームを転送できる。【選択図】図１
2010191913.tif 000002
【特許請求の範囲】
【請求項１】
主記憶メモリを有するＣＰＵと、
バスと、
複数種類のフレームを含む主信号から、それぞれ異なる種類のフレームを抽出する複数のフレーム抽出ブロックと、
前記複数のフレーム抽出ブロックにそれぞれ対応する複数のフレームバッファブロックと、
フレームインターフェースブロックと、
ＤＭＡ制御回路とを備え、
それぞれの前記フレームバッファブロックは、
第１のデータバッファと、
対応する前記フレーム抽出ブロックが抽出した前記フレームからフレームデータを取り出して前記第１のデータバッファに書き込む手段と、
前記複数のフレームバッファブロックの前記第１のデータバッファにそれぞれ書き込まれた前記フレームデータを所定の優先順位に従って出力する手段とを有し、
前記フレームインターフェースブロックは、
第２のデータバッファと、
前記複数のフレームバッファブロックから出力された前記フレームデータを順番に前記第２のデータバッファに書き込む手段と、
前記第２のデータバッファに書き込まれた前記フレームデータを順番にバスに転送する手段とを有し、
前記ＤＭＡ制御回路は、前記バスに転送された前記フレームデータを前記主記憶メモリに順番に転送することを特徴とする通信装置。
【請求項２】
前記第１のデータバッファは、前記第１のデータバッファに既に書き込まれた前記フレームデータを前記第２のデータバッファに転送するまでの期間に別の前記フレームデータを書き込みできる容量を有することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記第２のデータバッファは、前記第２のデータバッファに既に書き込まれた前記フレームデータを前記ＤＭＡ制御回路のデータ転送能力に応じて前記バスに転送するまでの期間に別の前記フレームデータを書き込みできる容量を有することを特徴とする請求項１又は２に記載の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリとＩ／Ｏデバイスの間で直接データを転送するＤＭＡ（Direct Memory Access）制御回路を用いて複数種類のフレームをＣＰＵの主記憶メモリへ転送する通信装置に関し、特に多くの種類のフレームを転送できる通信装置に関する。
【背景技術】
【０００２】
インターネットサービスを提供するために、接続線路の保守・運用・管理を目的としたＯＡＭ（Operations, Administration, and Maintenance）フレーム、ネットワーク上の認証を目的とした拡張ＯＡＭフレームやＥＡＰ（Extensible Authentication Protocol）フレーム、帯域を有効に使用する事を目的としたＩＧＭＰ（Internet Group Management Protocol）フレームやＭＬＤ（Multicast Listener Discovery）フレーム等をＣＰＵで処理させる必要がある。
【０００３】
ＣＰＵで処理させるためには、これらのフレームをＣＰＵの主記憶メモリに転送する必要がある。これらのフレームは、すぐにＣＰＵの主記憶メモリに転送するフレーム、ソフトウェア処理の完了後に転送するフレーム等などがある。そこで、利用目的に応じてフレームデータを抽出し、処理後に転送する。これらのフレームデータをＣＰＵの主記憶メモリに転送するのにＤＭＡ制御回路が用いられる（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−０６５８６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の通信装置では、ＣＰＵの主記憶メモリへ転送するフレームが複数種類ある場合、フレーム種類分のＤＭＡ制御回路が必要であった。これに伴って、バスのマスタがＤＭＡ制御回路と同じ数だけ必要となるが、バスのマスタ数には上限がある。従って、多くの種類のフレームは、必要な数のＤＭＡ制御回路を設定することができないため、転送できなかった。
【課題を解決するための手段】
【０００６】
本発明は、主記憶メモリを有するＣＰＵと、バスと、複数種類のフレームを含む主信号から、それぞれ異なる種類のフレームを抽出する複数のフレーム抽出ブロックと、前記複数のフレーム抽出ブロックにそれぞれ対応する複数のフレームバッファブロックと、フレームインターフェースブロックと、ＤＭＡ制御回路とを備え、それぞれの前記フレームバッファブロックは、第１のデータバッファと、対応する前記フレーム抽出ブロックが抽出した前記フレームからフレームデータを取り出して前記第１のデータバッファに書き込む手段と、前記複数のフレームバッファブロックの前記第１のデータバッファにそれぞれ書き込まれた前記フレームデータを所定の優先順位に従って出力する手段とを有し、前記フレームインターフェースブロックは、第２のデータバッファと、前記複数のフレームバッファブロックから出力された前記フレームデータを順番に前記第２のデータバッファに書き込む手段と、前記第２のデータバッファに書き込まれた前記フレームデータを順番にバスに転送する手段とを有し、前記ＤＭＡ制御回路は、前記バスに転送された前記フレームデータを前記主記憶メモリに順番に転送することを特徴とする通信装置である。
【発明の効果】
【０００７】
本発明の通信装置は、多くの種類のフレームを転送できる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態に係る通信装置を示す図である。
【発明を実施するための形態】
【０００９】
図１は、本発明の実施の形態に係る通信装置を示す図である。この通信装置は、主記憶メモリ１０を有するＣＰＵ１２と、バス１４と、複数のフレーム抽出ブロック１６１〜１６Ｎ（Ｎは正の整数）と、複数のフレーム抽出ブロック１６１〜１６Ｎにそれぞれ対応する複数のフレームバッファブロック１８１〜１８Ｎと、１つのフレームインターフェースブロック２０と、１つのＤＭＡ制御回路２２とを備える。
【００１０】
複数のフレーム抽出ブロック１６１〜１６Ｎは、複数種類のフレームを含む主信号から、それぞれ異なる種類のフレームを抽出する。具体的には、フレーム抽出ブロック１６１は、主信号からＯＡＭフレームを抽出する。フレーム抽出ブロック１６２は、主信号から拡張ＯＡＭフレーム及びＥＰＡフレームを抽出し、所定の処理を行う。フレーム抽出ブロック１６３は、主信号からＩＧＭＰフレーム及びＭＬＤフレームを抽出する。フレーム抽出ブロック１６Ｎは、主信号からその他のＣＰＵフレームを抽出する。制御回路２４１〜２４Ｎは、複数のフレーム抽出ブロック１６１〜１６Ｎで抽出・処理したフレームをそれぞれ対応する複数のフレームバッファブロック１８１〜１８Ｎに出力する。
【００１１】
それぞれのフレームバッファブロック１８ｉ（ｉは１〜Ｎの整数）は、第１のデータバッファ２６ｉと、第１の情報バッファ２８ｉと、制御回路３０ｉ，３２ｉを有する。制御回路３０ｉは、対応するフレーム抽出ブロック１６ｉが抽出したフレームからフレームデータを取り出して第１のデータバッファ２６ｉに書き込み、当該フレームからフレーム情報を取り出して第１の情報バッファ２８ｉに書き込む。フレーム情報はフレーム長やフレームの種類等を含む。
【００１２】
制御回路３２１〜３２Ｎは、複数のフレームバッファブロック１８１〜１８Ｎの第１のデータバッファ２６１〜２６Ｎ及び第１の情報バッファ２８１〜２８Ｎにそれぞれ書き込まれたフレームデータ及びフレーム情報を所定の優先順位に従ってフレームインターフェースブロック２０に出力する。
【００１３】
優先順位は、利用目的、第１のデータバッファ２６ｉ及び第１の情報バッファ２８ｉにバッファ容量がどのくらい蓄積されているかなどに応じて決められる。利用目的としては、例えばＣＰＵ１２で優先的に処理したいフレームをフレームインターフェースブロック２０に転送したい場合が挙げられる。例えば、ネットワークのリンクの確立の場合、ＯＡＭディスカバリ（ＯＡＭフレームを処理する）の後に認証確認（ＥＡＰフレームを処理する）という順番になるため、制御回路３２１〜３２ＮはＯＡＭフレームをＥＡＰフレームより先に出力する。
【００１４】
フレームインターフェースブロック２０は、第２のデータバッファ３４と、第２の情報バッファ３６と、ディスクリプタ３８と、制御回路４０，４２とを有する。制御回路４０は、複数のフレームバッファブロック１８１〜１８Ｎから出力されたフレームデータを順番に第２のデータバッファ３４に書き込む。ディスクリプタ３８には、ＣＰＵ１２のレジスタアクセスにより主記憶メモリ１０の転送先アドレス情報や転送許可情報が書き込みされる。制御回路４２は、ディスクリプタ３８に書き込まれた転送先アドレス情報や転送許可情報に基づいて、ＤＭＡ制御回路２２及びバス１４の能力に応じて、第２のデータバッファ３４に書き込まれたフレームデータを順番にバス１４に転送し、転送先アドレス情報や転送許可情報をＤＭＡ制御回路２２に転送する。ＤＭＡ制御回路２２は、バス１４に転送されたフレームデータを転送先アドレス情報に従って主記憶メモリ１０に順番に転送する。そして、当該フレームデータは、主記憶メモリ１０の転送先アドレスに記憶される。
【００１５】
このフレームデータ転送後に、制御回路４２は、第２の情報バッファ３６に書き込まれたフレーム情報をディスクリプタ３８に書き込む。ＣＰＵ１２は、ディスクリプタ３８にアクセスしてフレーム情報を読み取ることができる。
【００１６】
以上述べたように、本実施の形態に係る通信装置は、フレームデータを保持するバッファを２段構成としている。１段目のフレームバッファブロック１８１〜１８Ｎを複数種類のフレームデータにそれぞれ対応させ、２段目の１つのフレームインターフェースブロック２０にフレームデータを集中させる。これにより、１つのＤＭＡ制御回路２２により複数種類のフレームデータをＣＰＵ１２の主記憶メモリ１０へ転送することができるため、多くの種類のフレームを転送できる。
【００１７】
なお、第１のデータバッファ２６１〜２６Ｎ及び第１の情報バッファ２８１〜２８Ｎには、既に書き込まれたフレームデータ及びフレーム情報を第２のデータバッファ３４及び第２の情報バッファ３６に転送するまでの期間（優先順位間隔）にも、複数のフレーム抽出ブロック１６１〜１６Ｎで抽出されたフレームのフレームデータ及びフレーム情報が書き込まれる。従って、第１のデータバッファ２６１〜２６Ｎ及び第１の情報バッファ２８１〜２８Ｎは、優先順位間隔に別のフレームデータを書き込みできる容量を有することが好ましい。
【００１８】
また、フレームインターフェースブロック２０の第２のデータバッファ３４は、第２のデータバッファ３４に既に書き込まれたフレームデータをＤＭＡ制御回路２２のデータ転送能力に応じてバス１４に転送するまでの期間に別のフレームデータを書き込みできる容量を有することが好ましい。
【符号の説明】
【００１９】
１０  主記憶メモリ
１２  ＣＰＵ
１４  バス
１６１〜１６Ｎ  フレーム抽出ブロック
１８１〜１８Ｎ  フレームバッファブロック
２０  フレームインターフェースブロック
２２  ＤＭＡ制御回路
２６１〜２６Ｎ  第１のデータバッファ
３０１〜３０Ｎ，３２１〜３２Ｎ，４０，４２  制御回路
３４  第２のデータバッファ
【図１】
2010191913.tif 000003