(57)【特許請求の範囲】
【請求項１】
メモリデバイスとしてデータを書込んでから予め設定された一定時間後に読出しが可能となるデュアルポートメモリを用いるバッファメモリ回路であって、前記デュアルポートメモリの書込みアドレスを管理する第１の書込みアドレスカウンタと、前記第１の書込みアドレスカウンタで生成される書込みアドレスの出力タイミングを一定時間遅延した書込みアドレスを生成する生成手段と、前記生成手段で生成された前記一定時間遅延した書込みアドレスと前記デュアルポートメモリの読出しアドレスとを比較して読出し可否を判定する検出手段とを有することを特徴とするバッファメモリ回路。
【請求項２】
前記生成手段は、前記第１の書込みアドレスカウンタのカウントアップから前記一定時間遅延してカウントアップを行う第２の書込みアドレスカウンタを含むことを特徴とする請求項１記載のバッファメモリ回路。
【請求項３】
前記生成手段は、前記第１の書込みアドレスカウンタのカウントアップに用いられる書込みイネーブル信号を前記一定時間遅延して前記第２の書込みアドレスカウンタに出力する遅延手段を含むことを特徴とする請求項２記載のバッファメモリ回路。
【請求項４】
前記生成手段は、前記第１の書込みアドレスカウンタで生成された書込みアドレスの出力タイミングを前記一定時間遅延する遅延手段を含むことを特徴とする請求項１記載のバッファメモリ回路。
【請求項５】
前記検出手段は、前記生成手段で生成された前記一定時間遅延した書込みアドレスと前記デュアルポートメモリの読出しアドレスとが不一致の時に読出し許可と判定するよう構成したことを特徴とする請求項１から請求項４のいずれか記載のバッファメモリ回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はバッファメモリ回路に関し、特にデータ通信装置や伝送装置に用いられるバッファメモリ回路に関する。
【０００２】
【従来の技術】
従来、この種のバッファメモリ回路においては、パケット通信やＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｅ：非同期転送モード）等のバーストデータを扱い、かつメモリデバイスとしてデータを書込んでから一定時間（Ｔ０）後に読出しが可能となるようなデュアルポートメモリ（ラインバッファ）がを用いられている。この回路が適用される製品としては、例えばＡＴＭパス分岐接続回路（マルチポイントパス盤）がある。
【０００３】
上記のバッファメモリ回路はＡＴＭのネットワーク上に配置されたＸＣ（クロスコネクト装置）に実装されることで、ある１本のＶＰ（Ｖｉｒｔｕａｌ  Ｐａｔｈ：仮想パス）を複数（Ｎ本）の接続先に分岐するマルチキャスト機能が実現されている。具体的には、入力した一個のＡＴＭセルからＮ個の複製を作成し、複製セルのＶＰＩ（Ｖｉｒｔｕａｌ  Ｐａｔｈ  Ｉｄｅｎｔｉｆｉｅｒ：仮想パス識別子）を書換えて出力する機能を持つ。
【０００４】
ＡＴＭセルはコピーするためにバッファメモリ回路に一時的に蓄えられ、先にバッファメモリ回路に書込まれたセルから順に１セルずつ読出しが行われる。この場合、１：Ｎ分岐を行うためには同じ１セルのデータをＮ回繰返して読出すこととなる。
【０００５】
上記のバッファメモリ回路は、図３に示すように、メモリ１と、書込みアドレスを生成するＷカウンタ２と、読出しアドレスを生成するＲカウンタ５と、アンドゲート（ＡＮＤ）６，９と、書込み可否検出回路７と、ノットゲート（ＮＯＴ）１０，１１と、読出し可否検出回路１４とから構成されている。
【０００６】
メモリ１には書込みイネーブル信号ＷＥＮ（ｗｒｉｔｅ  ｅｎａｂｌｅ）及び書込みクロックＷＣＬＫによってデータ（ＤＡＴＡ  ＩＮ）が書込まれ、読出しイネーブル信号ＲＥＮ（ｒｅａｄ  ｅｎａｂｌｅ）及び読出しクロックＲＣＬＫによってデータ（ＤＡＴＡ  ＯＵＴ）が読出される。
【０００７】
Ｗカウンタ２は書込みイネーブル信号ＷＥＮと書込みクロックＷＣＬＫとを基に書込みアドレスＷＡＤ（ｗｒｉｔｅ  ａｄｄｒｅｓｓ）１を生成する。Ｒカウンタ５は読出しイネーブル信号ＲＥＮと読出しクロックＲＣＬＫとを基に読出しアドレスＲＡＤ（ｒｅａｄ  ａｄｄｒｅｓｓ）を生成する。
【０００８】
アンドゲート６はノットゲート１０を介して入力される書込み可否検出回路７の検出結果［ＦＵＬＬ：ｂｕｆｆｅｒ  ｆｕｌｌ（書込み禁止）］と書込み要求ＷＲＥＱとのアンドをとり、その演算結果を書込みイネーブル信号ＷＥＮとしてメモリ１及びＷカウンタ２に出力する。
【０００９】
アンドゲート９はノットゲート１１を介して入力される読出し可否検出回路１４の検出結果［ＥＭＰＴＹ：ｂｕｆｆｅｒ  ｅｍｐｔｙ（読出し禁止）］と読出し要求ＲＲＥＱとのアンドをとり、その演算結果を読出しイネーブル信号ＲＥＮとしてメモリ１及びＲカウンタ５に出力する。
【００１０】
書込み可否検出回路７はＷカウンタ２で生成された書込みアドレスＷＡＤ１に１を加算した値とＲカウンタ５で生成された読出しアドレスＲＡＤとの一致を検出する。読出し可否検出回路１４はＷカウンタ２で生成された書込みアドレスＷＡＤ２とＲカウンタ５で生成された読出しアドレスＲＡＤに所定値ａを加算した値との一致を検出する。
【００１１】
このバッファメモリ回路は基本的にデュアルポートのＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）メモリ１である。書込みアドレス及び読出しアドレスは夫々独立のカウンタ（Ｗカウンタ２及びＲカウンタ５）によって生成され、夫々書込みイネーブル信号ＷＥＮ及び読出しイネーブル信号ＲＥＮがアクティブの期間にクロックパルス（ＷＣＬＫ，ＲＣＬＫ）によってカウントアップが行われる。
【００１２】
メモリ１上では未読データへの上書きあるいは同じデータの二度読みが起こらぬように、書込み可否検出回路７及び読出し可否検出回路１４で書込みアドレス及び読出しアドレスを比較することによって書込みの可否及び読出しの可否の判定を行っている。
【００１３】
例えば、書込みの可否の判定条件としては、
0003641371.tif 000002
を用いている。
【００１４】
また、読出しの可否の判定条件としては、
0003641371.tif 000003
を用いている。
【００１５】
上記のバッファメモリ回路では、データが読出し可能となるまでの時間を常に確保すること、あるいは全てのデータを滞留させることなく読出すことを目的としている。
【００１６】
【発明が解決しようとする課題】
上述した従来のバッファメモリ回路では、メモリ素子としてラインバッファを用いた場合に、ＡＴＭセルやパケット通信等のバーストデータが扱えないことがあるという問題がある。
【００１７】
ラインバッファは一種のＦＩＦＯであり、比較的高速かつ安価であるため、上記のバッファメモリ回路のメモリ素子として用いられる。ラインバッファは書込みアドレス及び読出しアドレスを生成する二つのカウンタを素子内に持っている。これらのカウンタはクロックパルスに同期して動作し、これらのカウンタのカウントイネーブル及び初期化制御を素子外部から行うように端子が設けられている。
【００１８】
ラインバッファの書込みと読出しとを独立に制御するためには、上記の二つのカウンタのアドレス値を比較して書込みの可否及び読出しの可否の判定を行う必要があるが、ラインバッファでは素子内のカウンタのアドレス値を外部から見ることはできない。
【００１９】
そのため、メモリ外部にも同等のカウンタを配置し、書込みアドレスカウンタ及び読出しアドレスカウンタをエミュレートさせる。このようにして得た二つのアドレス値を比較して書込みの可否と読出しの可否とを判定している。
【００２０】
ラインバッファの特徴としては、書込まれたデータが読出し可能となるまでの間に一定の時間（Ｔ０）を必要とすることが挙げられる。時分割多重されたデータ等の情報量が常に一定であるようなＳＴＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｅ：同期転送モード）データの場合、読出し許可条件としては、
（書込みアドレス）−（読出しアドレス）≧Ｔ０／Ｔｗ
（但し、Ｔｗ：書込み側クロックパルス周期）
を用いればよい。
【００２１】
しかしながら、この方法でパケット通信やＡＴＭのようなバーストデータを扱う場合、バーストデータの最後尾の一部のデータが読出されぬままバッファ内に滞留する。ＳＴＭのような応用例では問題とならないが、バーストデータを扱う場合にはこのような滞留は許されない。
【００２２】
バーストデータの最後尾が読出されない理由は、読出し条件が、
（書込みアドレス）−（読出しアドレス）≧Ｔ０／Ｔｗ
のように、まさにその瞬間の実際の書込みアドレスと読出しアドレスとを比較しているためである。
【００２３】
このような構成ではラインバッファに書込まれたデータが読出し可能となるまでの間の時間に相当する量のデータを常にバッファ内に滞留させておかねば、デバイスの要求する書込み〜読出しまでの時間差を確保することができない恐れがある。
【００２４】
すなわち、ひとかたまりのバーストデータの最後の部分、
（書込みアドレス）−（読出しアドレス）＜Ｔ０／Ｔｗ
の範囲のデータは次のバーストデータが書込まれるまで読出されない。
【００２５】
したがって、バーストデータを扱う場合には、書込みと同時に読出しが可能な高価なデュアルポートＲＡＭ（ランダムアクセスメモリ）を用いるか、シングルポートＲＡＭを用いて書込みサイクルと読出しサイクルとを時分割で行う必要がある。
【００２６】
そこで、本発明の目的は上記の問題点を解消し、処理速度を向上させて並列処理数を減少させることができ、高集積化を図ることができるとともに、ＡＴＭセル等のバーストデータを扱う場合にもセルの滞留の発生を防ぐことができるバッファメモリ回路を提供することにある。
【００２７】
【課題を解決するための手段】
本発明によるバッファメモリ回路は、メモリデバイスとしてデータを書込んでから予め設定された一定時間後に読出しが可能となるデュアルポートメモリを用いるバッファメモリ回路であって、前記デュアルポートメモリの書込みアドレスを管理する第１の書込みアドレスカウンタと、前記第１の書込みアドレスカウンタで生成される書込みアドレスの出力タイミングを一定時間遅延した書込みアドレスを生成する生成手段と、前記生成手段で生成された前記一定時間遅延した書込みアドレスと前記デュアルポートメモリの読出しアドレスとを比較して読出し可否を判定する検出手段とを備えている。
【００２８】
すなわち、本発明のバッファメモリ回路は、複製セルを作成するためのバッファメモリの構成及びその制御方法に関するものである。この場合、本発明のバッファメモリ回路は書込みアドレスを遅延させて読出しの可否の判定を行っている。
【００２９】
より具体的には、本発明のバッファメモリ回路は書込みアドレスを発生させるカウンタを２系統分用意し、そのうち一方のカウンタの動作を他方に対して遅延させるか、あるいはカウンタの出力する書込みアドレスを遅延させる手段を持ち、遅延させた書込みアドレスと読出しアドレスとの一致を検出している。
【００３０】
これによって、デュアルポートＲＡＭをラインバッファに置換えることで、生産性の向上を図ることが可能となる。また、シングルポートＲＡΜをラインバッファに置換えることで、回路の高速化を図ることが可能となる。
【００３１】
よって、処理速度を向上させて並列処理数を減少させることが可能となり、高集積化を図ることが可能となるとともに、ＡＴＭセル等のバーストデータを扱う場合にもセルの滞留の発生を防止することが可能となる。
【００３２】
【発明の実施の形態】
次に、本発明の実施例について図面を参照して説明する。図１は本発明の一実施例によるバッファメモリ回路の構成を示すブロック図である。図において、本発明の一実施例によるバッファメモリ回路はメモリ１と、書込みアドレスを生成するＷカウンタ２，４と、遅延回路３と、読出しアドレスを生成するＲカウンタ５と、アンドゲート（ＡＮＤ）６，９と、書込み可否検出回路７と、読出し可否検出回路８と、ノットゲート（ＮＯＴ）１０，１１とから構成されている。
【００３３】
メモリ１には書込みイネーブル信号ＷＥＮ（ｗｒｉｔｅ  ｅｎａｂｌｅ）及び書込みクロックＷＣＬＫによってデータ（ＤＡＴＡ  ＩＮ）が書込まれ、読出しイネーブル信号ＲＥＮ（ｒｅａｄ  ｅｎａｂｌｅ）及び読出しクロックＲＣＬＫによってデータ（ＤＡＴＡ  ＯＵＴ）が読出される。
【００３４】
第一の書込みアドレスカウンタであるＷカウンタ２は書込みイネーブル信号ＷＥＮ１と書込みクロックＷＣＬＫとを基に実際の書込みアドレスＷＡＤ（ｗｒｉｔｅ  ａｄｄｒｅｓｓ）１を生成する。
【００３５】
第二の書込みアドレスカウンタであるＷカウンタ４は遅延回路３で一定時間遅延された書込みイネーブル信号ＷＥＮ２と書込みクロックＷＣＬＫとを基に実際の書込みアドレスＷＡＤ１に対して一定時間の遅延を持った書込みアドレスＷＡＤ２を生成する。
【００３６】
Ｒカウンタ５は読出しイネーブル信号ＲＥＮと読出しクロックＲＣＬＫとを基に読出しアドレスＲＡＤ（ｒｅａｄ  ａｄｄｒｅｓｓ）を生成する。
【００３７】
アンドゲート６はノットゲート１０を介して入力される書込み可否検出回路７の検出結果［ＦＵＬＬ：ｂｕｆｆｅｒ  ｆｕｌｌ（書込み禁止）］と書込み要求ＷＲＥＱとのアンドをとり、その演算結果を書込みイネーブル信号ＷＥＮ１としてメモリ１とＷカウンタ２と遅延回路３とに夫々出力する。
【００３８】
アンドゲート９はノットゲート１１を介して入力される読出し可否検出回路８の検出結果［ＥＭＰＴＹ：ｂｕｆｆｅｒ  ｅｍｐｔｙ（読出し禁止）］と読出し要求ＲＲＥＱとのアンドをとり、その演算結果を読出しイネーブル信号ＲＥＮとしてメモリ１及びＲカウンタ５に夫々出力する。
【００３９】
書込み可否検出回路７はＷカウンタ２で生成された書込みアドレスＷＡＤ１に１を加算した値とＲカウンタ５で生成された読出しアドレスＲＡＤとの一致を検出する。読出し可否検出回路８はＷカウンタ４で生成された書込みアドレスＷＡＤ２とＲカウンタ５で生成された読出しアドレスＲＡＤとの一致を検出する。
【００４０】
Ｗカウンタ２のカウントアップを指示する書込みイネーブル信号ＷＥＮ１はメモリ１に書込みを指示する信号に等しい。また、Ｗカウンタ４のカウントアップを指示する書込みイネーブル信号ＷＥＮ２は書込みイネーブル信号ＷＥＮ１を遅延回路３によって遅延させたものを用いる。遅延回路３としては書込みクロックＷＣＬＫに同期したシフトレジスタを用いる。
【００４１】
このようにして得た書込みアドレスＷＡＤ２を読出し可否検出回路８において読出しアドレスＲＡＤと比較することによって読出し可否の判定を行う。この場合、読出し可否検出回路８の比較論理としては、例えば、
0003641371.tif 000004
を用いる。
【００４２】
図２は本発明の他の実施例によるバッファメモリ回路の構成を示すブロック図である。図において、本発明の他の実施例によるバッファメモリ回路は第二の書込みアドレスカウンタであるＷカウンタ４の代わりに第一の書込みアドレスカウンタであるＷカウンタ２が出力する書込みアドレスＷＡＤ１を遅延回路１２を経由して読出し可否検出回路１３に与えている以外は本発明の一実施例によるバッファメモリ回路と同様の構成となっており、同一構成要素には同一符号を付してある。また、同一構成要素の動作は本発明の一実施例と同様である。
【００４３】
遅延回路１２としては書込みクロックＷＣＬＫに同期したシフトレジスタを用い、Ｗカウンタ２の出力する書込みアドレスＷＡＤ１を一定時間遅延して書込みアドレスＷＡＤ２として読出し可否検出回路１３に出力する。よって、読出し可否検出回路１３は遅延回路１２からの書込みアドレスＷＡＤ２と読出しアドレスＲＡＤとを比較することで読出し可否の判定を行う。この場合、読出し可否検出回路１３の比較論理としては上記の本発明の一実施例の論理と同様である。
【００４４】
このように、書込みアドレスを発生させる２つのＷカウンタ２，４を用意し、Ｗカウンタ４の動作をＷカウンタ２に対して遅延させるか、あるいは遅延回路１２を用意し、遅延回路１２でＷカウンタ２の出力する書込みアドレスＷＡＤ１を遅延させ、その遅延させた書込みアドレスＷＡＤ２と読出しアドレスＲＡＤとの一致を読出し可否検出回路８，１３で検出することによって、デュアルポートＲＡＭをラインバッファに置換えれば、生産性の向上を図ることができる。また、シングルポートＲＡΜをラインバッファに置換えれば、回路の高速化を図ることができる。
【００４５】
よって、処理速度を向上させて並列処理数を減少させることが可能となり、高集積化を図ることができるとともに、ＡＴＭセル等のバーストデータを扱う場合にもセルの滞留の発生を防止することができる。
【００４６】
【発明の効果】
以上説明したように本発明によれば、メモリデバイスとしてデータを書込んでから予め設定された一定時間後に読出しが可能となるようなデュアルポートメモリを用いるバッファメモリ回路において、デュアルポートメモリの書込みアドレスを管理する第１の書込みアドレスカウンタで生成される書込みアドレスを一定時間遅延した書込みアドレスを生成し、この一定時間遅延した書込みアドレスとデュアルポートメモリの読出しアドレスとを比較して読出し可否を判定することによって、処理速度を向上させて並列処理数を減少させることができ、高集積化を図ることができるとともに、ＡＴＭセル等のバーストデータを扱う場合にもセルの滞留の発生を防ぐことができるという効果がある。
【図面の簡単な説明】
【図１】本発明の一実施例によるバッファメモリ回路の構成を示すブロック図である。
【図２】本発明の他の実施例によるバッファメモリ回路の構成を示すブロック図である。
【図３】従来例によるバッファメモリ回路の構成を示すブロック図である。
【符号の説明】
１  メモリ
２，４  Ｗカウンタ
３，１２  遅延回路
５  Ｒカウンタ
６，９  アンドゲート
７  書込み可否検出回路
８，１３  読出し可否検出回路
１０，１１  ノットゲート
【図１】
0003641371.tif 000005
【図２】
0003641371.tif 000006
【図３】
0003641371.tif 000007