(57)【要約】  パケットデータ読み出しのレイテンシ量に依存せずに自由度を向上させる。  パケットメモリ（１１）は、データ（ｄ１）と、クロック（ｃｋ１）とを並走出力するクロック並走出力機能を持ち、パケットを格納する。読み出し制御部（１３）は、データ（ｄ１）を読み出す。クロック乗り換え部（１４）は、クロック（ｃｋ１）を用いてデータ（ｄ１）を書き込み、システムクロック（ｃｋ２）でデータ（ｄ２）を読み出してクロック乗り換えを行う。パケット組み立て部（１５）は、データ（ｄ２）を受信して、パケットの再構築を行う。情報メモリ（１２）は、パケットの先頭データが格納されている読み出し開始アドレスと、パケットの長さを示すパケット長情報とを格納し、読み出し制御部（１３）は、読み出し開始アドレスとパケット長情報とを受信して、１パケットを読み出すために必要な読み出しアドレスを生成してパケットメモリ（１１）からデータ（ｄ）を読み出す。
2009001450.tif 000002
【特許請求の範囲】
【請求項１】
メモリへのアクセス制御を行うメモリアクセス制御装置において、
データの読み出し時、前記データと、前記データに同期したクロックとを並走して出力するクロック並走出力機能を持ち、パケットを格納するパケットメモリと、
前記パケットの先頭データが格納されている、前記パケットメモリのアドレスである読み出し開始アドレスを格納する情報メモリと、
読み出しアドレスを生成して前記パケットメモリから前記データを読み出す読み出し制御部と、
前記クロックを用いて、前記パケットメモリから読み出された前記データを書き込み、システムクロックで前記データを読み出してクロック乗り換えを行うクロック乗り換え部と、
クロック乗り換え後のデータを受信して、前記パケットの再構築を行うパケット組み立て部と、
を有し、
前記情報メモリは、前記読み出し開始アドレスの格納に加えて、前記パケットの長さを示すパケット長情報も格納し、
前記読み出し制御部は、前記読み出し開始アドレスと前記パケット長情報とを受信して、１パケットを読み出すために必要な前記読み出しアドレスを生成して前記パケットメモリから前記データを読み出す、
ことを特徴とするメモリアクセス制御装置。
【請求項２】
前記パケットメモリは、前記パケットの格納に加えて、前記パケットの先頭データを示す先頭パルス情報も格納し、前記パケット組み立て部は、前記パケットメモリから出力された前記先頭パルス情報から前記先頭データを検出し、前記先頭データのフィールドに設定されているパケット長情報を抽出して、再構築対象パケットのデータ範囲を認識し、前記データ範囲内で前記クロック乗り換え後のデータを整列して前記パケットの再構築を行うことを特徴とする請求の範囲第１項記載のメモリアクセス制御装置。
【請求項３】
前記読み出しアドレスの生成側である前記情報メモリおよび前記読み出し制御部と、パケットデータの再構築側である前記クロック乗り換え部および前記パケット組み立て部とは、互いに独立して制御することを特徴とする請求の範囲第１項記載のメモリアクセス制御装置。
【請求項４】
メモリへのアクセス制御を行うメモリアクセス制御方法において、
データの読み出し時、前記データと、前記データに同期したクロックとを並走して出力するクロック並走出力機能を持つパケットメモリによって、パケットを格納し、
前記パケットの先頭データが格納されている、前記パケットメモリのアドレスである読み出し開始アドレスを情報メモリによって格納し、
読み出しアドレスを生成して前記パケットメモリから前記データを読み出し、前記クロックを用いて、前記パケットメモリから読み出された前記データを書き込み、システムクロックで前記データを読み出してクロック乗り換えを行い、クロック乗り換え後のデータを受信して、前記パケットの再構築を行い、
前記情報メモリは、前記読み出し開始アドレスの格納に加えて、前記パケットの長さを示すパケット長情報も格納し、
前記読み出し開始アドレスと前記パケット長情報とを受信して、１パケットを読み出すために必要な前記読み出しアドレスを生成して前記パケットメモリから前記データを読み出し、
前記パケットメモリは、前記パケットの格納に加えて、前記パケットの先頭データを示す先頭パルス情報も格納し、
前記パケットメモリから出力された前記先頭パルス情報から前記先頭データを検出し、前記先頭データのフィールドに設定されているパケット長情報を抽出して、再構築対象パケットのデータ範囲を認識し、前記データ範囲内で前記クロック乗り換え後のデータを整列して前記パケットの再構築を行う、
ことを特徴とするメモリアクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はメモリアクセス制御装置に関し、特にメモリへの高速アクセス制御を行うメモリアクセス制御装置に関する。
【背景技術】
【０００２】
近年、ＩＰ（Internet Protocol）パケットのトラフィック増加に伴って、高速大容量通信が必須となっており、バックボーンを支えるネットワーク機器では、パケット処理能力の向上が要求され、これらネットワーク機器に使用されるメモリも高速、大容量化が要求されている。【０００３】
このような状況において、ＤＤＲ（Double Data Rate）という機能を有する、２００ＭＨｚを越える高速動作が可能な高速同期式ＳＲＡＭ（Static Random Access Memory）であるＤＤＲメモリが登場し注目されている。【０００４】
図９は従来メモリとＤＤＲメモリとのデータ転送の違いを示す図である。従来メモリは、通常、クロック信号の立ち上がりまたは立ち下がりのいずれかに対して、１つのデータの読み書きを行うが、ＤＤＲメモリでは、クロック信号の立ち上がりと立ち下がりの両方でデータの読み書きが行えるものであり（１クロックサイクルに２ワードのデータ処理が可能）、従来メモリの倍の転送速度を実現することができる（なお、ＤＤＲ機能を拡張したＱＤＲ（Quad Data Rate）メモリは、独立して動作可能な２つのＩ／Ｏポートを持って、クロックサイクルごとに４ワードのデータを扱えるメモリデバイスである）。【０００５】
ＣＰＵが高速化する中で、メモリのバンド幅（速度）がシステムのボトルネックとなっていたが、このようなバンド幅の広いＤＤＲメモリを使用することで、ボトルネックを解消することができ、高速ネットワークシステムを構築することが可能になる。一方、ＤＤＲメモリのアクセス時間は、通常のデータアクセスの半分の処理時間となるので、必然的にタイミングマージンは厳しいものとなり、ＤＤＲメモリのパフォーマンスを十分に活かすためのメモリアクセス制御が必要となる。【０００６】
従来のメモリアクセス制御として、供給側メモリおよび格納側メモリのそれぞれのアクセス単位の差を、バッファの書き込みおよび読み出しを制御することによって吸収して、供給側メモリからの任意長のデータを格納側メモリへ高速転送する技術が提案されている（特許文献１）。
【特許文献１】特開平１０−２２２４６０号公報（段落番号〔００１４〕〜〔００２９〕、第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
図１０はＤＤＲメモリを使用した従来のメモリアクセス制御装置の構成を示す図である。メモリアクセス制御装置５０は、ＤＤＲメモリ５１、情報ＲＡＭ５２、読み出し制御部５３、ＦｉＦｏ５４、遅延補正部５５、パケット組み立て部５６から構成される。【０００８】
ＤＤＲメモリ５１は、パケットを格納する。また、読み出し時には、データ（パケットデータ）ｄ１と、データｄ１に同期するクロックｃｋ１とを並走して出力する（読み出しデータとクロックとを並走出力する機能は、ＤＤＲ機能の特徴の１つである）。【０００９】
情報ＲＡＭ５２は、ＤＤＲメモリ５１に格納されているパケットに対して、該当パケットの先頭データが格納されているＤＤＲメモリ５１のアドレス（読み出し開始アドレス）を格納する。読み出し制御部５３は、読み出し開始アドレスと、パケット長情報（１パケットのLength情報）を受信して、１パケットを読み出すために必要なアドレスを生成し、ＤＤＲメモリ５１へ送信する。【００１０】
ＦｉＦｏ５４は、書き込み側では、ＤＤＲメモリ５１から並走出力されたデータｄ１とクロックｃｋ１を受信し、クロックｃｋ１を用いて、データｄ１の書き込み制御を行う。また、読み出し側では、システムクロックｃｋ２を用いてデータ（以下、データｄ２とする）を出力し、さらに、前回出力した（ｎ−１）パケット目の位相と、今回出力するｎパケット目の位相との差分情報である位相差情報を生成する。【００１１】
遅延補正部５５は、ＦｉＦｏ５４から出力されたデータｄ２および位相差情報を受信して、クロック乗り換え処理で生じた遅延量（レイテンシ）を補正する。パケット組み立て部５６は、遅延補正部５５から出力されたデータを受信し、受信データの中からパケットの先頭データを検出する。そして、検出した先頭データからパケット長情報を抽出して読み出し制御部５３へ通知し、また、データの整列を行ってパケットを再構築し、後段処理部へ出力する。【００１２】
ここで、読み出し制御部５３の動作としては、情報ＲＡＭ５２に格納されている読み出し開始アドレスが、読み出し制御部５３へ送信されると、読み出し開始アドレスからどれだけ読み出しを行うかの読み出し終了アドレスを、遅延補正部５５から出力されたパケット情報（実際にＤＤＲメモリ５１から読み出された先頭データに設定されているパケット長情報である）により認識する。【００１３】
読み出し制御部５３は、読み出し開始アドレスから１パケット分のアドレス生成を開始して、読み出し終了アドレスの値になるまで順次インクリメントし、インクリメントしたアドレス値をＤＤＲメモリ５１へ順次送信し続けて、ＤＤＲメモリ５１から１パケット分のデータｄ１を読み出す。【００１４】
図１１は遅延補正部５５の構成を示す図である。遅延補正部５５は、シフトレジスタ５１ａ、セレクタ５１ｂ、タイミング生成部５１ｃから構成される。シフトレジスタ５１ａ内部のラッチ（ＦＦ）５１ａ−１〜５１ａ−ｎは、カスケード接続され、各ラッチの出力端がセレクタ５１ｂの入力端と接続する。また、タイミング生成部５１ｃは、位相差情報と、読み出し制御部５３から出力されるパケット読み出し開始信号とにもとづき、選択信号を生成しセレクタ５１ｂへ送信する。【００１５】
ここで、ＦｉＦｏ５４から出力されたデータｄ２は、シフトレジスタ５１ａに入力すると、各ラッチによって１クロック毎にシフトされたデータが出力され、それぞれのデータはセレクタ５１ｂに入力される。【００１６】
セレクタ５１ｂは、シフトレジスタ５１ａから出力される複数のデータの中から位相差情報（選択信号）にもとづいて、所望タイミングのデータを選択し、遅延調整後のデータとして出力する。なお、セレクタ５１ｂによるデータ選択を切り替えるタイミングは、パケット単位に行うことになるので、タイミング生成部５１ｃでは、位相差情報と、パケット読み出し開始信号との論理をとって選択信号を生成している。【００１７】
図１２〜図１４は遅延補正時のタイミングを示す概念図である。パケット間には１クロック以上のスタッフビットが挿入され、スタッフビットの増減を利用して位相調整（遅延調整）を行うこととする。また、図１１の構成図において、Ｘ段目のラッチ５１ａ−２から出力しているデータを現在選択しているデータとする。【００１８】
図１２に対し、（ｎ−１）パケット目の位相とｎパケット目の位相とに位相差がない場合、前の状態に対して遅延量に変化がないために、現在選択されているＸ段目のラッチ５１ａ−２から出力しているデータをセレクタ５１ｂから継続して出力する。【００１９】
図１３に対し、（ｎ−１）パケット目の位相に対して、ｎパケット目の位相が１クロック分短くなった場合は、前の状態に対して遅延量が１クロック分短くなることを意味することになるので、セレクタ５１ｂは、現在のＸ段目のラッチ５１ａ−２からＸ−１段目のラッチ５１ａ−１に切り替えて、Ｘ−１段目のラッチ５１ａ−１から出力しているデータを選択する（１クロック分のスタッフビットが欠損することになるが、パケットそのもののデータ欠損は生じない）。【００２０】
図１４に対し、（ｎ−１）パケット目の位相に対して、ｎパケット目の位相が１クロック分長くなった場合は、前の状態に対して遅延量が１クロック分長くなることを意味することになるので、セレクタ５１ｂは、現在のＸ段目のラッチ５１ａ−２からＸ＋１段目のラッチ５１ａ−３に切り替えて、Ｘ＋１段目のラッチ５１ａ−３から出力しているデータを選択する（１クロック分のスタッフビットが挿入されたことになる）。なお、図示はしていないが、遅延補正部５５からは、遅延補正後のパケットデータの他に、該当パケットの先頭データを示すイネーブル信号も生成して出力する。【００２１】
上記のように、遅延補正部５５において、ＦｉＦｏ５４出力後のデータｄ２に対して遅延補正が行われ、パケット組み立て部５６では、遅延補正後のパケットデータと、パケットの先頭を示すイネーブル信号を受信することにより、各パケットの先頭データを正確に検出することができ、パケット長情報を先頭データから抽出することが可能になる。【００２２】
しかし、上記のような従来のメモリアクセス制御装置５０の構成では、以下に挙げるような問題点があった。
（１）クロック乗り換え処理で生じる、ＤＤＲメモリ５１からの読み出しデータの遅延量が不定のため（遅延量が一定でないため）、遅延量を調整するための複雑な機構（すなわち、上記の遅延補正部５５）が必要であった。【００２３】
（２）例えば、読み出し制御部５３がパケット長情報を受信する前に、ＤＤＲメモリ５１からの読み出しが完了してしまうような場合、読み出し制御部５３では、パケット長情報を受信しないと、読み出し完了であることを認識できず、ＤＤＲメモリ５１から次パケットの読み出しを行うことができない。このため、読み出し制御部５３において、パケット長情報を受信するまでのブランクが生じてしまうために、データ帯域が低下し、通信速度の低下を引き起こすことになる。【００２４】
（３）メモリアクセス制御装置５０が実装されるプリント基板上の配線デザインにも遅延量は影響するので、正確な遅延量の把握が困難である。
（４）読み出し制御部５３は、遅延補正を行う遅延補正部５５に依存した構成となっており、独立して処理を行うことができない。【００２５】
本発明はこのような点に鑑みてなされたものであり、複雑な遅延量補正を不要とし、データ帯域の低下を防止したメモリアクセス制御装置を提供することを目的とする。
【課題を解決するための手段】
【００２６】
本発明では上記課題を解決するために、図１に示すような、メモリへのアクセス制御を行うメモリアクセス制御装置１０において、データｄ１の読み出し時、データｄ１と、データｄ１に同期したクロックｃｋ１とを並走して出力するクロック並走出力機能を持ち、パケットを格納するパケットメモリ１１と、パケットの先頭データが格納されている、パケットメモリ１１のアドレスである読み出し開始アドレスを格納する情報メモリ１２と、読み出しアドレスを生成してパケットメモリ１１からデータｄ１を読み出す読み出し制御部１３と、クロックｃｋ１を用いて、パケットメモリ１１から読み出されたデータｄ１を書き込み、システムクロックｃｋ２でデータｄ２を読み出してクロック乗り換えを行うクロック乗り換え部１４と、クロック乗り換え後のデータｄ２を受信して、パケットの再構築を行うパケット組み立て部１５と、を有し、情報メモリ１２は、読み出し開始アドレスの格納に加えて、パケットの長さを示すパケット長情報も格納し、読み出し制御部１３は、読み出し開始アドレスとパケット長情報とを受信して、１パケットを読み出すために必要な読み出しアドレスを生成してパケットメモリ１１からデータｄ１を読み出すメモリアクセス制御装置１０が提供される。【００２７】
ここで、パケットメモリ１１は、データｄ１の読み出し時、データｄ１と、データｄ１に同期したクロックｃｋ１とを並走して出力するクロック並走出力機能を持ち、パケットを格納する。情報メモリ１２は、パケットの先頭データが格納されている、パケットメモリ１１のアドレスである読み出し開始アドレスを格納する。読み出し制御部１３は、読み出しアドレスを生成してパケットメモリ１１からデータｄ１を読み出す。クロック乗り換え部１４は、クロックｃｋ１を用いて、パケットメモリ１１から読み出されたデータｄ１を書き込み、システムクロックｃｋ２でデータｄ２を読み出してクロック乗り換えを行う。パケット組み立て部１５は、クロック乗り換え後のデータｄ２を受信して、パケットの再構築を行う。また、情報メモリ１２は、読み出し開始アドレスの格納に加えて、パケットの長さを示すパケット長情報も格納し、読み出し制御部１３は、読み出し開始アドレスとパケット長情報とを受信して、１パケットを読み出すために必要な読み出しアドレスを生成してパケットメモリ１１からデータｄ１を読み出す。
【発明の効果】
【００２８】
パケット長情報を共有しない構成により、読み出し制御側と、読み出し処理側とで、完全に独立して処理を行えるようになった。これによりデータ読み出しのレイテンシ量を考慮する必要が無くなり自由度を増すことが可能になる。【００２９】
また、読み出し制御において、読み出しパケット長を即座に知ることができるため、次のパケットを即座に読み出すことができ、データ帯域の低下を防ぐことが可能になる。さらに、多種にわたるメモリのタイプにも対応可能となる。【００３０】
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
【図面の簡単な説明】
【００３１】
【図１】メモリアクセス制御装置の原理図である。
【図２】通信ネットワークの一例を示す図である。
【図３】パケット処理装置の全体構成を示す図である。
【図４】パケット構築部の構成を示す図である。
【図５】AB Write制御部の構成を示す図である。
【図６】AB Read制御部の構成を示す図である。
【図７】情報RAMの構成を示す図である。
【図８】ABメモリの構成を示す図である。
【図９】従来メモリとＤＤＲメモリとのデータ転送の違いを示す図である。
【図１０】ＤＤＲメモリを使用した従来のメモリアクセス制御装置の構成を示す図である。
【図１１】遅延補正部の構成を示す図である。
【図１２】遅延補正時のタイミングを示す概念図である。
【図１３】遅延補正時のタイミングを示す概念図である。
【図１４】遅延補正時のタイミングを示す概念図である。
【発明を実施するための最良の形態】
【００３２】
以下、本発明の実施の形態を図面を参照して説明する。図１はメモリアクセス制御装置の原理図である。メモリアクセス制御装置１０は、パケットメモリ１１、情報メモリ１２、読み出し制御部１３、クロック乗り換え部１４、パケット組み立て部１５から構成され、パケットメモリ１１へのアクセス制御を行う装置である。【００３３】
パケットメモリ１１は、パケットを格納するＤＤＲメモリであり、データｄ１（パケットを構成するパケットデータ）の読み出し時、データｄ１と、データｄ１に同期したクロックｃｋ１とを並走して出力する。情報メモリ１２は、パケットの先頭データが格納されている、パケットメモリ１１のアドレスである読み出し開始アドレスを格納する。【００３４】
読み出し制御部１３は、読み出しアドレスを生成してパケットメモリ１１からデータｄ１を読み出す。クロック乗り換え部１４は、例えば、ＦｉＦｏに該当し、書き込み時には、クロックｃｋ１を用いて、パケットメモリ１１から読み出されたデータｄ１を記憶領域に書き込み、読み出し時には、システムクロックｃｋ２でデータｄ２を読み出してクロック乗り換えを行う。パケット組み立て部１５は、クロック乗り換え後のデータｄ２を受信して、パケットの再構築を行う。【００３５】
ここで、パケットメモリ１１は、パケットの格納に加えて、パケットの先頭を示す先頭パルス情報も格納する。また、情報メモリ１２は、読み出し開始アドレスの格納に加えて、パケットの長さを示すパケット長情報も格納する。【００３６】
読み出し制御部１３は、読み出し開始アドレスとパケット長情報とから、パケットメモリ１１に格納されている該当パケットの読み出し終了アドレスを認識する。そして、読み出し開始アドレスから開始して読み出し終了アドレスの値になるまで、アドレス値を順次インクリメントして、インクリメントしたアドレス値を読み出しアドレスとして生成し、パケットメモリ１１へ読み出しアドレスを逐次送信し続けて、パケットメモリ１１から該当パケット分のデータｄ１を読み出す。【００３７】
パケット組み立て部１５は、パケットメモリ１１から出力された先頭パルス情報から先頭データを検出し、検出した先頭データのフィールドに設定されているパケット長情報を抽出して、再構築対象パケットのデータ範囲を認識する。そして、そのデータ範囲内に含まれるクロック乗り換え後のデータｄ２を整列して、該当パケットの再構築を行う。【００３８】
このように、メモリアクセス制御装置１０では、パケットメモリ１１の読み出しアドレスは、情報メモリ１２に格納されている読み出し開始アドレス（パケットの先頭データがパケットメモリ１１に格納されているアドレス値）を開始アドレスとし、情報メモリ１２に格納されているパケット長情報に対応するデータ数分読み出しを行う（該当パケットに対し、読み出し開始アドレスからどれだけ読み出しを行うか、すなわち該当パケットの読み出し終了アドレスは、パケット長情報から認識できる）。【００３９】
また、パケットの先頭データには、パケット長情報が設定されるフィールドがあるので、パケット組み立て部１５では、パケットメモリ１１およびクロック乗り換え部１４を介して送信された先頭パルス情報を受信すると、この先頭パルス情報から該当パケットの先頭データを検出し（該当パケットを構成しているデータｄ２の中から先頭データを検出する）、かつ先頭データ内に設定されているパケット長情報を抽出する。そして、抽出したパケット長情報にもとづいて、その先頭データからどこまでのデータが再構築対象のパケットであるかのデータ範囲を認識して、そのデータ範囲に含まれるデータｄ２の整列を行って、パケットを再構築し後段処理部へ出力する。【００４０】
上記のように、メモリアクセス制御装置１０では、パケット長情報を情報メモリ１２の中にあらかじめ格納しておくことにより、読み出しアドレスのStart／Endを読み出し制御部１３内で独自判断して、読み出しアドレスを生成することができる。【００４１】
また、パケットの先頭を示す先頭パルス情報もパケットメモリ１１に格納しておくことにより、パケット組み立て部１５において、パケットメモリ１１から読み出されてクロック乗り換えされたデータｄ２のみから、パケット再構築を行うことが可能になる。【００４２】
このような構成によって、読み出しアドレス生成の制御側（情報メモリ１２、読み出し制御部１３）と、読み出しデータの再構築側（クロック乗り換え部１４、パケット組み立て部１５）とを完全に独立させることができる。したがって、従来のような、クロック乗り換え制御で発生していた遅延量を補正するための複雑な機構が不要となり、さらに、データ帯域の低下も防止することができ、高品質なメモリアクセスを行うことが可能になる。【００４３】
なお、パケットメモリ１１に格納される先頭パルス情報や、情報メモリ１２に格納されるパケット長情報は、上位に位置するパケット解析部によって処理対象のパケットが解析されて、パケット解析部からパケットメモリ１１および情報メモリ１２に対して記憶設定されるものである。【００４４】
次にメモリアクセス制御装置１０を適用した通信ネットワークについて説明する。図２は通信ネットワークの一例を示す図である。通信ネットワーク１００は、基幹網としてＳＯＮＥＴ（Synchronous Optical Network）網１０１を有し、さらに、ＰＯＳ（Packet Over SONET）システム１０２、３rdパーティ（プロバイダやルータなどの集まり）１０３、クライアント端末１０４を有している。ＳＯＮＥＴ網１０１と３rdパーティ１０３との間に、ＰＯＳシステム１０２が配置され、３rdパーティ１０３の下流にクライアント端末１０４が配置される。【００４５】
ＰＯＳシステム１０２は、パケット伝送制御を行うブロックであって、メモリアクセス制御装置１０の機能が含まれる。ＰＯＳシステム１０２において、帯域制御やパケット組み立てなどを行う際に必要なメモリアクセス制御として、メモリアクセス制御装置１０の機能が適用されることで、大容量・高速なメモリアクセス制御を実行することが可能になる。【００４６】
次にメモリアクセス制御装置１０を応用したパケット処理装置の構成および動作について説明する。図３はパケット処理装置の全体構成を示す図である。パケット処理装置１は、パケット構築部２０、後段処理部３０、組み立てバッファ部４０から構成される。【００４７】
パケット構築部２０は、断片化された複数チャネルが混在して入力されるパケットをチャネル毎に組み立てていく機能を持ち、メモリアクセス制御装置１０の情報メモリ１２、読み出し制御部１３、クロック乗り換え部１４、パケット組み立て部１５の機能を実現する。【００４８】
後段処理部３０は、チャネル毎に組み立てられたパケットに対して、識別処理や帯域制御（Policer／Shaperなど）を行って出力する機能を持つ。組み立てバッファ部４０は、断片化されたパケットデータの並べ替えを行うために一旦格納するバッファ機能を有し、AB（Alignment Buffer）メモリ４０ａを有している。ABメモリ４０ａは、メモリアクセス制御装置１０のパケットメモリ１１に対応する。なお、ABメモリ４０ａとしては、ＱＤＲタイプ（QDR-II）のメモリを使用している。【００４９】
図４はパケット構築部２０の構成を示す図である。パケット構築部２０は、AB Write制御部２１、AB Read制御部２２、容量監視部２３、メモリインタフェース部２４および情報RAM２５から構成される。【００５０】
まず、AB Write制御部２１について説明する。図５はAB Write制御部２１の構成を示す図である。AB Write制御部２１は、受信パケット判定部２１ａ、加算器２１ｂ、Read Add保持メモリ２１ｃ、インクリメント部２１ｄから構成される。【００５１】
入力されたパケットは、受信パケット判定部２１ａにおいてエラーパケットか否かの検出を行った後、正常パケット形態であれば、AB WENを有効にして、書き込みデータ（AB WDT）と書き込みアドレス（AB WAD）と共に、メモリインタフェース部２４に書き込み要求を行う。【００５２】
AB WADについては、Read Add保持メモリ２１ｃに格納されている書き込みStart Addressをインクリメント（+１）しながら生成する。また、１パケット書き込み完了時（End Packet信号がActiveになる）には、Read Add保持メモリ２１ｃを更新するが、書き込み完了したパケットの長さ（Length）を現在のStart Addressに足した値を新たに、Read Add保持メモリ２１ｃにチャネル毎に書き込む。【００５３】
さらに、容量監視部２３からのABメモリ４０ａのオーバーフローを示す信号（AB OVF）がActiveになった場合は、現在書き込んでいるパケットを無効とし、次に新たなパケットの先頭（SOP）が入力されるまではAB WENを有効にしない。【００５４】
一方、１パケット書き込み完了時にはEnd Packetと一緒に、情報RAM２５へ書き込みを行うためのデータ（Read Start AddrとPacket Length）をAB Read制御部２２に出力する。【００５５】
次にAB Read制御部２２について説明する。図６はAB Read制御部２２の構成を示す図である。AB Read制御部２２は、情報RAM制御部２２ａ、AB Read信号生成部２２ｂ、出力データ生成部２２ｃから構成される。【００５６】
情報RAM制御部２２ａは、AB Write制御部２１から送信されたEnd Packet信号をトリガに、情報RAM２５の書き込みアドレス（INFO WAD）を生成（更新）し、そのアドレスに対してRead Start AddrおよびPacket Lengthから書き込みデータ（INFO WDT）を生成し、書き込みEnable信号（INFO WEN）と共に情報RAM２５に書き込みを行う。【００５７】
また、情報RAM読み出しアドレス（INFO RDT）および読み出しEnable信号（INFO REN）の生成もWriteとReadの位相差監視および、情報RAM２５から読み出されたPacket Length情報をもとに生成する。【００５８】
一方、AB Read信号生成部２２ｂでは、情報RAM２５から読み出されたRead Start AddrからABメモリ用Read Address（AB RAD）と、情報RAM制御部２２ａからのRead Timing信号をもとにABメモリ用Read Enable（AB REN）を生成し、メモリインタフェース部２４へ出力する。【００５９】
また、出力データ生成部２２ｃにおいては、ABメモリ４０ａより読み出されてきたデータ（AB RDT）のFrame Pulseビットによりパケットの先頭を見つけ、後段へのデータ出力のための、SOP（Start of Packet）、EOP（End of Packet）、ENB（Data Enable）を生成する。なお、情報RAM２５は、２Port RAMを使用する。port AをWrite用にport BをRead用に使用している。【００６０】
次に図４に戻って容量監視部２３について説明する。容量監視部２３は、ABメモリ４０ａのWriteおよびRead Address値を監視し、その差分によりABメモリ４０ａのオーバーフロー／アンダーフローの検出を行うブロックである。AB Write制御部２１から出力されるAB WADと、AB Read制御部２２から出力されるAB RADからその検出を行う。【００６１】
また、メモリインタフェース部２４においては、使用するメモリタイプによっても処理は異なるが、QDR-IIの２バーストメモリを使用しているため、以下の機能を有する。
書き込み側においては、ＤＤＲ出力であるため、Write用クロック（QDR WCLK）とWrite Address/Data/WEN（QDR AD/WDT/WEN）の位相差にマージンを持たせるため、QDR AD/WDT/WENを遅延させる機能を持つ。【００６２】
また、読み出し側においては、ABメモリ４０ａから読み出されたデータ（QDR RDT）は、並走して入力されるエコークロック（QDR CQ）から、内部のSystemクロック（Sys CLK）に乗せ換えが必要である。そのためのFiFoメモリ（8段構成）を使用している。【００６３】
図７は情報RAM２５の構成を示す図である。２Port RAMにて構成する。Port AはWrite専用、Port BはRead専用とする。ビット構成は、パリティビットフィールド、Lengthフィールド、Start Addressフィールドに分かれ、それぞれシステムが扱うパケットの最大長およびABメモリ４０ａの容量によってビット幅が決定される。【００６４】
また、アドレス幅は、ABメモリ４０ａに蓄積されるパケット数に関係しており、システムで扱う最短パケットが最大帯域で入力された場合に、ABメモリ４０ａに最大数のパケットが蓄積される状態を想定して決定される。【００６５】
図８はABメモリ４０ａの構成を示す図である。QDR-II（２バースト）の３６ビットデータ幅のメモリにて構成する。ビット構成は、Data Field 1（8＊2 bits）、Parity Bit 1（1bit）、Data Field 2（8＊2 bits）、Parity Bit 2（1bit）、Frame Pulseから成り、Data Field 1、2は、それぞれ２バイトのデータ領域を持ち、合計１アドレスに対して４バイトのデータを格納する。Parity Bit 1、Parity Bit 2はそれぞれData Field 1、Data Field 2、Frame Pulseの奇数パリティを保持する。またアドレス幅は、使用できるメモリデバイスにもよるが、システム仕様の観点から性能劣化が起こらない十分な容量を選択する。【００６６】
以上説明したように、メモリアクセス制御装置１０によれば、パケット長情報を読み出しアドレス生成の制御側と、読み出しデータの再構築側とで共有しない構成にしたので、読み出しアドレス生成制御と、読み出しデータ再構築制御とを独立して行うことができ、これによりパケットメモリ１１からのデータ読み出しの遅延量を考慮する必要が無くなり、自由度を向上させることが可能になる。【００６７】
また、読み出し制御部１３において、読み出しパケット長を即座に知ることができるため、次のパケットをパケットメモリ１１から即座に読み出すことができ、データ帯域の低下を防ぐことが可能になる。【００６８】
なお、上記で説明したメモリアクセス制御装置１０の機能および動作は、ＤＤＲメモリを対象に説明したが、ＤＤＲメモリに限らず、多種にわたるメモリタイプに対応することが可能である。【００６９】
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
【符号の説明】
【００７０】
１０  メモリアクセス制御装置
１１  パケットメモリ
１２  情報メモリ
１３  読み出し制御部
１４  クロック乗り換え部
１５  パケット組み立て部
ｄ１  パケットメモリ１１からの読み出しデータ
ｄ２  クロック乗り換え後のデータ
ｃｋ１  クロック（並走クロック）
ｃｋ２  システムクロック
【図１】
2009001450.tif 000003
【図２】
2009001450.tif 000004
【図３】
2009001450.tif 000005
【図４】
2009001450.tif 000006
【図５】
2009001450.tif 000007
【図６】
2009001450.tif 000008
【図７】
2009001450.tif 000009
【図８】
2009001450.tif 000010
【図９】
2009001450.tif 000011
【図１０】
2009001450.tif 000012
【図１１】
2009001450.tif 000013
【図１２】
2009001450.tif 000014
【図１３】
2009001450.tif 000015
【図１４】
2009001450.tif 000016
【国際調査報告】
2009001450.tif 000017
2009001450.tif 000018
2009001450.tif 000019