(57)【要約】【課題】  リフレッシュの有無をリアルタイムに判定でき、しかも、優先データを扱うことが可能なパケットバッファ装置を提供する。【解決手段】  対象としているパケットバッファ装置は、メモリ空間を複数のブロックに分け、メモリブロック単位で書込みデータのリフレッシュを行うものである。そして、メモリブロック毎に、書込みデータ数と読出しデータ数との一致、不一致を判定する一致・不一致判定手段と、書込みデータ数と読出しデータ数とが一致しているメモリブロックのリフレッシュを禁止し、書込みデータ数と読出しデータ数とが不一致のメモリブロックのリフレッシュを許可するリフレッシュ制御手段とを備えることを特徴とする。【選択図】      図１
2013073644.tif 000002
【特許請求の範囲】
【請求項１】
メモリ空間を複数のブロックに分け、メモリブロック単位で書込みデータのリフレッシュを行うバッファメモリ装置において、
上記メモリブロック毎に、書込みデータ数と読出しデータ数との一致、不一致を判定する一致・不一致判定手段と、
書込みデータ数と読出しデータ数とが一致しているメモリブロックのリフレッシュを禁止し、書込みデータ数と読出しデータ数とが不一致のメモリブロックのリフレッシュを許可するリフレッシュ制御手段と
を備えることを特徴とするバッファメモリ装置。
【請求項２】
上記メモリブロックに後で書き込んだ優先データをそれより先に書き込んだ他のデータより先に読み出すこともあり得ることを特徴とする請求項１に記載のバッファメモリ装置。
【請求項３】
パケットデータが流れる所定位置にパケットバッファ装置を有する通信装置において、
上記パケットバッファ装置として、請求項１又は２に記載のバッファメモリ装置を適用したことを特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はバッファメモリ装置及び通信装置に関し、例えば、ＤＲＡＭを使用したパケットバッファを使用する通信装置に適用し得るものである。
【背景技術】
【０００２】
近年、電子装置全般において低消費電力化の要求が高まってきており、通信装置においても例外なく低消費電力化が必要になってきている。他方、一般的な半導体記憶装置であるＤＲＡＭは、データを保持するために定期的なリフレッシュ動作が必要であり、ＤＲＡＭをパケットバッファとして使用した通信装置の消費電力の低減は課題であった。
【０００３】
そこで、ＤＲＡＭに対する低消費電力化の要求を満たすために、パーシャルリフレッシュと呼ばれる技術が提案されている（特許文献１、特許文献２参照）。
【０００４】
パーシャルリフレッシュとは、ＤＲＡＭに含まれる複数のメモリバンクのうち、選択されたメモリバンク若しくは自動判定されたメモリバンクに対してのみリフレッシュ動作を行い、その他のメモリバンクに対してはリフレッシュ動作を停止する技術であり、これにより、未使用バンクメモリへのリフレッシュ動作が省略でき、消費電力を低減することが可能となっている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２７６８７８号公報
【特許文献２】特開２００７−２１９９９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、リフレッシュを行うメモリバンクを選択する構成（特許文献１参照）では、リフレッシュの有無を例えばファームウェア等でレジスタにて設定する必要がある。他方、ＤＲＡＭを使用したパケットバッファにおいては、読出しを行ったデータは保持しておく必要がないため、使用バンク、未使用バンクが頻繁に変化する可能性がある。そのため、ファームウェア処理では対応し切れない可能性があり、消費電力の低減効果は必ずしも十分ではない。
【０００７】
特許文献２には、リフレッシュするＤＲＡＭの領域を自動判定することが記載されている。パケットバッファの書込み及び読出し位置を規定している書込みカウンタと読出しカウンタとを監視し、読出しカウンタのカウント値に基づいて、読出しによって未使用状態となった領域を捉えてリフレッシュすることが記載されている。
【０００８】
特許文献２の記載技術は、パケットに優先度が設定されていない場合には有効である。しかしながら、多くの通信システムでは優先パケットの概念を設けている。優先パケットが入力され、パケットバッファに書き込まれた場合には、書き込まれた順序ではなく、優先パケットが一般パケットより優先されてパケットバッファから読み出され、パケットバッファの記憶エリアが歯抜け状態となる。このような歯抜け状態となることもある通信装置では、特許文献２に記載の従来技術を適用することができない。
【０００９】
そのため、リフレッシュの有無をリアルタイムに判定できる、しかも、優先データを扱うことが可能なバッファメモリ装置や通信装置が望まれている。
【課題を解決するための手段】
【００１０】
第１の本発明は、メモリ空間を複数のブロックに分け、メモリブロック単位で書込みデータのリフレッシュを行うバッファメモリ装置において、（１）上記メモリブロック毎に、書込みデータ数と読出しデータ数との一致、不一致を判定する一致・不一致判定手段と、（２）書込みデータ数と読出しデータ数とが一致しているメモリブロックのリフレッシュを禁止し、書込みデータ数と読出しデータ数とが不一致のメモリブロックのリフレッシュを許可するリフレッシュ制御手段とを備えることを特徴とする。
【００１１】
第２の本発明は、パケットデータが流れる所定位置にパケットバッファ装置を有する通信装置において、上記パケットバッファ装置として、第１の本発明のバッファメモリ装置を適用したことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、リフレッシュの有無をリアルタイムに判定できる、しかも、優先データを扱うことが可能なバッファメモリ装置及び通信装置を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】実施形態に係るパケットバッファ装置の構成を示すブロック図である。
【図２】実施形態に係るパケットバッファ装置におけるパケット監視回路の詳細構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
（Ａ）主たる実施形態
以下、本発明によるバッファメモリ装置及び通信装置の一実施形態を、図面を参照しながら説明する。なお、実施形態のバッファメモリ装置はパケットバッファ装置であり、実施形態の通信装置は、そのようなパケットバッファ装置を搭載したものである。
【００１５】
（Ａ−１）実施形態の構成
図１は、実施形態に係るパケットバッファ装置の構成を示すブロック図である。
【００１６】
図１において、実施形態に係るパケットバッファ装置１は、複数のメモリバンクＭＢ＃０〜ＭＢ＃Ｎと、コマンドデコーダ２、アドレスバッファ３、データバッファ４、アクセス制御回路５、リフレッシュカウンタ６、リフレッシュ制御回路７及びパケット監視回路８を有する。
【００１７】
メモリバンクＭＢ＃０〜ＭＢ＃Ｎは、１個（又は複数）のＤＲＡＭのエリアが分割されて設定されている。各メモリバンクＭＢ＃０〜ＭＢ＃Ｎはそれぞれ、独立して、コマンドによって書込み又は読出しが可能なものであり、受信したパケットの全体や、受信したパケットから抽出されたデータが、各メモリバンクＭＢ＃０〜ＭＢ＃Ｎ内の指定されたエリアにバッファリングされるようになされている。
【００１８】
当該パケットバッファ装置１の外部からは、各メモリバンクＭＢ＃０〜ＭＢ＃Ｎのアクセスのために、コマンドＣＯＭ及びアドレスＡＤＤが与えられるようになされている。
【００１９】
コマンドデコーダ２は、外部から与えられたコマンドＣＯＭから各種制御コマンドを生成し、アクセス制御回路５に与えるものである。
【００２０】
アドレスバッファ３は、外部から与えられたアドレスＡＤＤをバッファリングするものであり、バッファリングされたアドレスＡＤＤは、適宜、アクセス制御回路５に与えられる。
【００２１】
データバッファ４は、外部から与えられたパケットデータ（受信したパケットの全体のデータ、若しくは、受信したパケットから抽出されたデータ）ＤＡＴをバッファリングしたり、いずれかのメモリバンクＭＢ＃ｎ（ｎは０〜Ｎのいずれか）から読み出されたパケットデータをバッファリングしたりするものである。
【００２２】
アクセス制御回路５は、コマンドデコーダ２からの制御コマンド及びアドレスバッファ３からのアドレスに基づき、該当するメモリバンクＭＢ＃ｎに対するアクセスを制御するものである。
【００２３】
具体的には、アドレスバッファ３からのアドレス及びコマンドデコーダ２からの制御コマンドにより、アクセス制御回路５によって、該当するメモリバンクＭＢ＃ｎの各メモリセルのロウアドレス線が選択される。さらに、コマンドデコーダ２からの制御コマンドが読出し又は書込み制御の場合には、アドレスバッファ３からのアドレスにより、アクセス制御回路５によって、該当するメモリバンクＭＢ＃ｎの各メモリセルのカラムアドレス線が選択される。これにより、選択されたメモリセルに、データバッファ４にバッファリングされたパケットデータが書き込まれ、若しくは、選択されたメモリセルからパケットデータが読み出されてデータバッファ４にバッファリングされる。
【００２４】
リフレッシュカウンタ６は、リフレッシュアドレスを周期的に生成する回路である。リフレッシュカウンタ６は、周期的にインクリメント又はデクリメントしたリフレッシュアドレス（ロウアドレス）を生成する。リフレッシュアドレスは、全てのメモリバンクＭＢ＃０〜ＭＢ＃Ｎに対して共通のロウアドレス線を指定するものであり、リフレッシュ制御回路７を経由して、アクセス制御回路５に与えられる。アクセス制御回路５では、コマンドデコーダ２及びアドレスバッファ３からの制御との競合処理を実施した上で、該当メモリバンクＭＢ＃ｎ内の指定されたロウアドレス線に接続されているメモリセルをリフレッシュする。
【００２５】
リフレッシュ制御回路７は、パケット監視回路８からのリフレッシュ許可又はリフレッシュ禁止の信号により、リフレッシュカウンタ６から生成されたロウアドレスをアクセス制御回路５に通知するか又は停止するかの制御を行う。
【００２６】
パケット監視回路８は、パケットデータの書込み及び読出しを監視する回路である。パケット監視回路８は、アドレスバッファ３から出力されるアドレスをデコードし、どのメモリバンクに対するアクセスなのかを記憶する。また、パケット監視回路８は、コマンドデコーダ２からの制御コマンドによりメモリバンクへの書込み又は読出しを監視し、別個にカウントする。
【００２７】
図２は、パケット監視回路８の詳細構成を示すブロック図であり、パケット監視回路８に接続している周囲の構成要素も併せて示している。
【００２８】
図２において、パケット監視回路８は、メモリバンク数のバンク制御回路１０＃０〜１０＃Ｎと、アドレスデコーダ１１と、各バンク制御回路１０＃０〜１０＃Ｎに対応して２つずつ設けられた制御許可回路１２＃０Ｗ、１２＃０Ｒ、…、１２＃ＮＷ、１２＃ＮＲとを有する。バンク制御回路１０＃０〜１０＃Ｎはそれぞれ、書込みカウンタ１３＃０〜１３＃Ｎ、読出しカウンタ１４＃０〜１４＃Ｎ及びカウント比較回路１５＃０〜１５＃Ｎを有する。
【００２９】
バンク制御回路１０＃ｎは、コマンドデコーダ２及びアドレスバッファ３からの信号により制御されるものである。
【００３０】
アドレスデコーダ１１には、アドレスバッファ３からのアドレスが入力される。アドレスデコーダ１１は、各メモリバンクＭＢ＃０〜ＭＢ＃Ｎへのロウアドレスか否かを判定し、判定の結果で、各メモリバンクＭＢ＃０〜ＭＢ＃Ｎに対応するバンク制御回路１０＃０〜１０＃Ｎへの制御許可回路１２＃０Ｗ、１２＃０Ｒ、…、１２＃ＮＷ、１２＃ＮＲのイネーブル、ディセーブルを制御するものである。
【００３１】
制御許可回路１２＃０Ｗ〜１２＃ＮＷは、イネーブルのときに、コマンドデコーダ２から出力された書込み制御信号ＷＣＯＮを通過させ、ディセーブルのときに、書込み制御信号ＷＣＯＮの通過を阻止するものである。制御許可回路１２＃０Ｒ〜１２＃ＮＲは、イネーブルのときに、コマンドデコーダ２から出力された読出し制御信号ＲＣＯＮを通過させ、ディセーブルのときに、読出し制御信号ＲＣＯＮの通過を阻止するものである。
【００３２】
書込みカウンタ１３＃０〜１３＃Ｎは、制御許可回路１２＃０Ｗ〜１２＃ＮＷを経由して到来した書込み制御信号ＷＣＯＮの数をカウントアップするものである。
【００３３】
読出しカウンタ１４＃０〜１４＃Ｎは、制御許可回路１２＃０Ｒ〜１２＃ＮＲを経由して到来した読出し制御信号ＲＣＯＮの数をカウントアップするものである。
【００３４】
カウント比較回路１５＃０〜１５＃Ｎは、書込カウンタ１３＃０〜１３＃Ｎ及び読出カウンタ１４＃０〜１４＃Ｎのカウント数を比較し、両カウント数が一致している場合にリフレッシュ禁止信号をリフレッシュ制御回路７に出力し、不一致の場合にリフレッシュ許可信号をリフレッシュ回路７に出力するものである。
【００３５】
（Ａ−２）実施形態の動作
次に、以上のような構成を有する実施形態のパケットバッファ装置１の動作を説明する。
【００３６】
実施形態のパケットバッファ装置１が起動された直後においては、メモリバンクＭＢ＃０〜ＭＢ＃Ｎ内には不定情報が格納されており、リフレッシュの必要はない。
【００３７】
また、パケット監視回路８内の書込みカウンタ１３＃０〜１３＃Ｎ及び読出しカウンタ１４＃０〜１４＃Ｎは初期化されており、それぞれカウント数は０のため、カウント比較回路１５＃０〜１５＃Ｎで一致と判定され、全メモリバンクＭＢ＃０〜ＭＢ＃Ｎについてのリフレッシュ禁止信号がリフレッシュ制御回路７に出力される。
【００３８】
リフレッシュカウンタ６が周期的にメモリバンクＭＢ＃０〜ＭＢ＃Ｎへのロウアドレスを出力するが、リフレッシュ制御回路７により、リフレッシュが禁止されているため、アクセス制御回路５にリフレッシュ用ロウアドレスが出力されず、全メモリバンクＭＢ＃０〜ＭＢ＃Ｎに対して、リフレッシュ動作が実行されない。
【００３９】
通信装置がパケットを受信すると、コマンドデコーダ２、アドレスバッファ３、データバッファ４及びアクセス制御回路５が動作し、アドレスＡＤＤで定まるメモリバンクＭＢ＃ｎに対してパケットデータの書込み動作が開始される。
【００４０】
書込み動作が開始されると、パケット監視回路８のアドレスデコーダ１１はどのメモリバンクＭＢ＃ｎヘのアクセスかを判定し、該当するメモリバンクＭＢ＃ｎに対応するバンク制御回路１０＃ｎへの書込み用制御許可回路１２＃ｎＷをイネーブルにする。これにより、コマンドデコーダ２から出力された書込み制御信号ＷＣＯＮが書込み用制御許可回路１２＃ｎＷを通過して、バンク制御回路１０＃ｎ内の書込みカウンタ１３＃ｎに与えられ、そのカウントがカウントアップされる。
【００４１】
以上のように書込みだけがなされたタイミングで、書込みカウンタ１３＃ｎと読出しカウンタ１４＃ｎのカウント値をカウント比較回路１５＃ｎで比較すると、不一致と判定され、カウント比較回路１５＃ｎからリフレッシュ制御回路７へ、該当メモリバンクＭＢ＃ｎへのリフレッシュ許可信号が出力される。
【００４２】
リフレッシュカウンタ６が上記メモリバンクＭＢ＃ｎへのロウアドレスを出力したときには、リフレッシュ制御回路７によって、リフレッシュ動作が許可されているため、メモリバンクＭＢ＃ｎに対してのみアクセス制御回路５へリフレッシュ用ロウアドレスが出力され、リフレッシュ動作が実行される。
【００４３】
通信装置が次のパケットを受信した場合も、上述と同様な書込み動作が実行され、バンク制御回路１０＃ｎ内の書込みカウンタ１３＃ｎのカウント値がさらにカウントアップする。
【００４４】
パケットバッファ装置１からバッファリングされているパケットデータを読み出して通信装置から出力する場合には、コマンドデコーダ２、アドレスバッファ３、データバッファ４及びアクセス制御回路５が動作し、アドレスＡＤＤで規定されるメモリバンクＭＢ＃ｎからパケットデータが読み出され、データバッファ４を介して出力される。
【００４５】
メモリバンクＭＢ＃ｎはＤＲＡＭで構成されているため、パケットデータが読み出されても、読み出されたパケットデータは継続して記憶されている。しかし、パケットバッファとして適用されているため、読出し後に継続して記憶されているパケットデータは保持する必要がなく、メモリバンクＭＢ＃ｎ内に別に保持すべきパケットデータが存在しなければリフレッシュは不要である。
【００４６】
読出し動作が開始されると、書込み動作と同様に、パケット監視回路８のアドレスデコーダ１１はどのメモリバンクＭＢ＃ｎヘのアクセスかを判定し、該当するメモリバンクＭＢ＃ｎに対応するバンク制御回路１０＃ｎへの読出し用制御許可回路１２＃ｎＲをイネーブルにする。これにより、コマンドデコーダ２から出力された読出し制御信号ＲＣＯＮが読出し用制御許可回路１２＃ｎＲを通過して、バンク制御回路１０＃ｎ内の読出しカウンタ１４＃ｎに与えられ、そのカウント値がカウントアップされる。
【００４７】
このような読出し後において、書込みカウンタ１３＃ｎと読出しカウンタ１４＃ｎのカウンタ値がカウント比較回路１５＃ｎで比較され、一致と判定されれば、メモリバンクＭＢ＃ｎへのリフレッシュ禁止信号がリフレッシュ制御回路７へ出力される。
【００４８】
リフレッシュカウンタ６がメモリバンクＭＢ＃ｎへのロウアドレスを出力しても、リフレッシュ制御回路７においてリフレッシュ動作が禁止されているため、メモリバンクＭＢ＃ｎへのリフレッシュ用ロウアドレスがアクセス制御回路５に出力されず、メモリバンクＭＢ＃ｎのリフレッシュ動作は実行されない。
【００４９】
ここで、読出し動作に応じて、読出しカウンタ１４＃ｎのカウント値をカウントアップした後において、書込みカウンタ１３＃ｎと読出しカウンタ１４＃ｎのカウンタ値が不一致であると、カウント比較回路１５＃ｎからリフレッシュ制御回路７へ、該当メモリバンクＭＢ＃ｎへのリフレッシュ許可信号が出力されるので、リフレッシュカウンタ６がメモリバンクＭＢ＃ｎへのロウアドレスを出力する毎に、メモリバンクＭＢ＃ｎがリフレッシュされる。
【００５０】
メモリバンクＭＢ＃ｎへパケットデータを書き込んだ回数と同じ回数だけ読出し動作が実行されたときには、書込みカウンタ１３＃ｎと読出しカウンタ１４＃ｎのカウンタ値が一致し、このとき、リフレッシュ許可信号からリフレッシュ禁止信号へ切り替わり、メモリバンクＭＢ＃ｎのリフレッシュが実行されない状態になる。
【００５１】
（Ａ−３）実施形態の効果
上記実施形態によれば、バンクメモリへの書込みデータ数と読出しデータ数との一致、不一致を監視し、不一致の場合に、バンクメモリのリフレッシュを行い、一致した場合に、バンクメモリのリフレッシュを実行しないようにしたので、データ保持が不要なメモリバンクに対してリアルタイムにリフレッシュ動作を停止させることができる。
【００５２】
入力パケット間隔が大きくなって入力トラフィックが低下した場合や、入力トラフィックがなくなった場合などでは、書込みデータ数と読出しデータ数とが一致している期間、すなわち、リフレッシュ不要の期間が長くなり、メモリバンクでの電力低減が期待できる。
【００５３】
また、上記実施形態によれば、当該パケットバッファ装置が扱うパケットに優先度があり、後で書き込んだ優先パケットのデータをそれより先に書き込んだ他のデータより先に読み出す状況があったとしても、書込みデータ数と読出しデータ数との比較でリフレッシュの有無を決定するので、優先度がない場合と同様に扱うことができる。
【００５４】
（Ｂ）他の実施形態
上記実施形態のパケットバッファ装置は、通信装置の入力段に設けられるものであっても良く、また、通信装置の出力段に設けられるものであっても良く、通信装置内における設置位置は問われないものである。
【００５５】
上記実施形態では、本発明のバッファメモリ装置をパケットバッファ装置に適用したものを示したが、その用途は、パケットバッファ装置に限定されるものではない。すなわち、メモリバンクに一旦格納されるデータの種類はパケットデータに限定されるものではない。
【００５６】
また、記憶媒体もＤＲＡＭに限定されず、リフレッシュ動作を必要とする記憶媒体を適用しているバッファメモリ装置であれば良い。
【符号の説明】
【００５７】
１…パケットバッファ装置、ＭＢ＃０〜ＭＢ＃Ｎ…メモリバンク、２…コマンドデコーダ、３…アドレスバッファ、４…データバッファ、５…アクセス制御回路、６…リフレッシュカウンタ、７…リフレッシュ制御回路、８…パケット監視回路、１０＃０〜１０＃Ｎ…バンク制御回路、１１…アドレスデコーダ、１２＃０Ｗ〜１２＃ＮＷ、１２＃０Ｒ〜１２＃ＮＲ…制御許可回路、１３＃０〜１３＃Ｎ…書込みカウンタ、１４＃０〜１４＃Ｎ…読出しカウンタ、１５＃０〜１５＃Ｎ…カウント比較回路。
【図１】
2013073644.tif 000003
【図２】
2013073644.tif 000004