(57)【特許請求の範囲】
【請求項１】
複数レジスタのカスコード接続からなるＦＩＦＯメモリと、
前記ＦＩＦＯメモリに書き込まれたデータ毎の記憶アドレスを管理する複数のアドレス管理ユニットと、
前記データ毎の記憶アドレスに基づき、前方に空きアドレスが存在するデータを該空きアドレスに転送するためのシフト付勢信号を生成する転送制御部と、
前記シフト付勢信号が生成されたデータに対応するアドレス管理ユニットの記憶アドレスを更新するアドレス制御部とを備えることを特徴とするＦＩＦＯ型メモリ。
【請求項２】
アドレス制御部は、シフト付勢信号に対応する記憶アドレスを保持しているアドレス管理ユニットの記憶アドレスを更新することを特徴とする請求項１に記載のＦＩＦＯ型メモリ。
【請求項３】
ＦＩＦＯメモリに記憶されるデータは各アドレス管理ユニットと１対１に対応すると共に、アドレス制御部は、シフト付勢信号が付勢されたデータに対応するアドレス管理ユニットの記憶アドレスを更新することを特徴とする請求項１に記載のＦＩＦＯ型メモリ。
【請求項４】
ＦＩＦＯメモリに書き込まれるデータはＡＴＭシステムにおける伝送品質測定のためのＭ−ＯＡＭセル生成要求に係るデータであることを特徴とする請求項１乃至３の何れか一つに記載のＦＩＦＯ型メモリ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はＦＩＦＯ型メモリに関し、更に詳しくは最先の書込データを最先に読み出すＦＩＦＯ型メモリに関する。
【０００２】
ＡＴＭシステムにおけるＯＡＭ(Operation And Maintenance) 機能の一つとして伝送品質の測定がある。この測定は、指定コネクション（ＶＰ／ＶＣ）につき送出されたユーザセル数やそのＢＩＰ−１６演算結果をＭ−ＯＡＭセルの情報領域に書き込んだ後、有効空きセルの到来を待ってＭ−ＯＡＭセルを生成することにより行われる。またこの測定は、複数コネクションに対して同時（一斉）に行うことが可能であり、Ｍ−ＯＡＭセルを要求発生順に生成することが行われる。本発明のＦＩＦＯ型メモリは、最先の書込データを最先に読み出す一般的な用途は元より、上記のようなＭ−ＯＡＭセル生成のための優先制御処理に適用しても好適である。
【０００３】
【従来の技術】
図１０，図１１は従来技術を説明する図（１），（２）である。図１０は従来のＦＩＦＯ型メモリを説明する図で、ＡＴＭシステムにおけるＭ−ＯＡＭセル生成制御部への適用例を示している。
【０００４】
なお、以下の説明では説明の簡単のためにＶＰ／ＶＣのサポートコネクション数が４つの場合を述べる。また、コネクション番号は、通常は＃１〜＃４等と命名されるが、本明細書では＃０〜＃３と命名する。また、全図を通してクロック信号やリセット信号の表記は省略されている。
【０００５】
図１０において、４１は入力のセル生成要求ＲＥＱ０〜３＝１を各対応するコードデータ「０」〜「３」にエンコードするエンコーダ（ＥＮＣ）、４２はＲＥＱ０〜３＝１の立ち上がりエッジに同期してセル生成要求パルスＲＥＱＰ０〜３を生成するエッジ回路（ＥＧ）、４３はセル生成要求パルスを遅延させるためのフリップフロップ（ＦＦ）、４４はセル生成要求コードを記憶するＲＡＭ、４５はＲＡＭ４４の書込アドレスカウンタ（ＷＣＴＲ）、４６はＲＡＭ４４の読出アドレスカウンタ（ＲＣＴＲ）、４７はＲＡＭ４４に記憶されているコードデータ数をカウントするアップ／ダウンカウンタ（Ｕ／Ｄ＿ＣＴＲ）、４８はＵ／Ｄ＿ＣＴＲ４７のカウント出力Ｑ≠０の時にＲＣＴＲ４６のカウントアップ（読出）を付勢するデコーダ（ＤＥＣ）、５１はＲＡＭ４４のデータ読出時にＵ／Ｄ＿ＣＴＲ４７のカウントダウンを付勢するＡＮＤゲート回路（Ａ）、４９はＲＡＭ４４の読出データ「０」〜「３」を対応するビット位置データ「０００１」〜「１０００」にデコードするデコーダ（ＤＥＣ）、そして、５０はＤＥＣ４９の出力データをラッチするレジスタ（ＲＥＧ）である。
【０００６】
今、例えば入力のセル生成要求ＲＥＱ０＝１になったとすると、該要求はＥＮＣ４１でコードデータ「００」にエンコードされ，ＲＡＭ４４に書き込まれる。その際には、ＲＥＱ０＝１の立ち上がりエッジがＥＧ４２で微分され、ＲＡＭ４４への書込イネーブル信号ＷＥとなる。一方、ＦＦ４３はＥＧ４２の出力パルス信号ＲＥＱＰ０を遅延させ、カウントパルスＣＰを生成する。このカウントパルスＣＰによりＷＣＴＲ４５及びＵ／Ｄ＿ＣＴＲ４７が夫々＋１される。他のセル生成要求ＲＥＱ１〜３＝１になった場合も同様であり、こうして、入力の各セル生成要求ＲＥＱ０〜３は要求発生順にＲＡＭ４４に記憶される。
【０００７】
一方、有効空きセルＩＤＬＥの到着時には、これに同期して該セルの先頭を表すパルス信号ＣＳｉが入力する。この時、ＲＡＭ４４内に未読のデータがあれば、順次古いデータから読み出され、これが対応するセル生成指示信号ＳＥＬＮＯ［３：０］に変換され、不図示のＭ−ＯＡＭ生成部に出力される。そして、Ｍ−ＯＡＭセル生成部はセル生成指示信号ＳＥＬＮＯが指すコネクション（ＶＰ／ＶＣ）に対してＭ−ＯＡＭセルを生成する。
【０００８】
この様に、従来は、任意タイミングに発生する各セル生成要求ＲＥＱ０〜３を通常のＦＩＦＯ型メモリに要求発生順に記憶し、要求発生順にＭ−ＯＡＭセルを生成していた。
【０００９】
ところで、実際のシステム運用上では、一旦入力したセル生成要求ＲＥＱが、その後の優先順位の変更等により、そのセル生成前にキャンセルされる場合も少なくない。この場合に、従来は、外部でキャンセル対象のセル生成指示信号ＳＥＬＮＯそのものを無視することで、キャンセル対象のＭ−ＯＡＭセルを生成しないことが行われていた。
【００１０】
【発明が解決しようとする課題】
しかし、上記従来方式によると、キャンセル対象のセル生成指示信号ＳＥＬＮＯを無視する度に一つの有効空きセルＩＤＬＥを無駄に通過させてしまうと言う不都合があった。以下、具体的に説明する。
【００１１】
図１１は従来のＭ−ＯＡＭセル生成制御のタイミングチャートを示している。図において、入力セルでは、ユーザセルＵＳＥＲに引き続き４つの有効空きセルＩＤＬＥが到来している。一方、ＲＡＭ４４には、ユーザセルＵＳＥＲの到来中に、予めコネクション＃０〜＃３に対する各セル生成要求ＲＥＱ０〜３が要求順に保持されている。係る状況の下で、今、最初の有効空きセルＩＤＬＥの到来前にコネクション＃０〜＃２のセル生成要求ＲＥＱ０〜２が一斉にキャンセルされたとすると、上記従来方式では、最初のＣＳｉに同期してＲＡＭ４４からセル生成コード「０」が読み出されると共に、そのセル生成指示信号ＳＥＬＮＯ０が外部で無視される結果、出力セルでは、最初の有効空きセルＩＤＬＥを無駄に通過させてしまう。以下同様にして、第２，第３のセル生成指示信号ＳＥＬＮＯ１，２が無視される結果、第２，第３の有効空きセルＩＤＬＥを無駄に通過させてしまう。こうして、最終的にコネクション＃３のＭ−ＯＡＭセル＃３が生成されるのは４つ目の有効空きセルＩＤＬＥが到来した時となってしまう。
【００１２】
これを一般的に言うと、上記従来方式では、先行するｎ個のセル生成要求がキャンセルされた様な場合には、有効空きセルＩＤＬＥを連続で受信している状況下であっても、最大でｎセル分の生成遅延が発生していた、しかも、この生成遅延はトータルのサポートコネクション数が多いほど、また有効空きセルＩＤＬＥの到来頻度が小さいほど、急激に大きくなっていた。
【００１３】
また、上記従来のＦＩＦＯ型メモリでは、キャンセル対象のセル生成要求データ「０」〜「２」をそのまま記憶しているため、もしメモリ容量が小さいと、続く有効なセル生成要求データをメモリ４４に記憶させることができず、このためにメモリの有効利用とはなっていなかった。
【００１４】
本発明は上記従来技術の欠点に鑑みなされたもので、その目的とする所は、メモリに有効なデータのみを効率良く記憶・転送可能なＦＩＦＯ型メモリを提供することにある。
【００１５】
【課題を解決するための手段】
上記の課題は例えば図１の構成により解決される。即ち、本発明（１）のＦＩＦＯ型メモリは、複数レジスタＲＧ０〜ＲＧ３のカスコード接続からなるＦＩＦＯメモリ１と、前記ＦＩＦＯメモリに書き込まれたデータ毎の記憶アドレスを管理する複数のアドレス管理ユニットＡＣ０〜ＡＣ３と、前記データ毎の記憶アドレス｛例えばＡＣ０＝Ａｄ３，ＡＣ１＝Ａｄ２，ＡＣ２＝Ａｄ０（最新），ＡＣ３＝無し）に基づき、前方に空きアドレス（Ａｄ１）が存在するデータ（この例ではＡｄ０のデータ）を該空きアドレス（Ａｄ１）に転送するためのシフト付勢信号（Ｓｈ０）を生成する転送制御部３と、前記シフト付勢信号（Ｓｈ０）が生成されたデータに対応するアドレス管理ユニット（ＡＣ２）の記憶アドレス（Ａｄ０）を更新（Ａｄ０→Ａｄ１）するアドレス制御部４とを備えるものである。
【００１６】
本発明（１）においては、複数レジスタＲＧ０〜ＲＧ３のカスコード接続からなるＦＩＦＯメモリ１を備える構成により、不要な（途中でキャンセル等された）データを詰めて記憶・転送することが可能となり、有限なメモリ容量を有効に活用できる。その際には、ＦＩＦＯメモリ１に書き込まれたデータ毎の記憶アドレスを各アドレス管理ユニットで個別に管理する構成により、どの時点におけるどのデータに対してもデータ有効／無効の個別管理が可能となる。またデータ毎の記憶アドレスに基づき、前方に空きアドレス（最初から空き、又は途中のデータキャンセルによる空きを含む）が存在するデータを該空きアドレスに転送するためのシフト付勢信号を生成する構成により、任意アドレスに存在する１又は２以上の各有効データを一斉にその各前方の空きアドレスに詰めることが可能となる。またシフト付勢信号が生成された１又は２以上の有効データに対応するアドレス管理ユニットの記憶アドレスを更新する構成により、各有効データのアドレス管理を常に適正に行える。
【００１７】
好ましくは、本発明（２）においては、上記本発明（１）において、アドレス制御部４は、シフト付勢信号（Ｓｈ０）に対応する記憶アドレス（Ａｄ０）を保持しているアドレス管理ユニットＡＣ２の記憶アドレスを更新する。
【００１８】
図１に一例のアドレス制御部４の構成を示す。この例では、既にＡＣ０，ＡＣ１によるアドレス管理の下でＡｄ２，Ａｄ３には夫々任意内容の有効データが存在しており、今回、ＡＣ２の管理の下でＡｄ０に新たなデータが記憶された。この状態では、Ａｄ２，Ａｄ３の各データは前方に空きアドレスが無いのでシフト不可能であるが、Ａｄ０のデータについては前方に空きアドレスＡｄ１が存在するのでシフト可能である。
【００１９】
そこで、シフト付勢信号Ｓｈ０のみが「１」となる。一方、アドレス制御部４では、ＡＣ２の記憶アドレスＡｄ０＝１と、これに対するシフト付勢信号Ｓｈ０＝１とより、２番目のアドレス制御ユニットにおけるＡＮＤゲートＡ０が付勢され、こによりアドレス管理ユニットＡＣ２の記憶アドレス（Ａｄ０）がデータ移動先の記憶アドレス（Ａｄ１）に更新される。従って、簡単な構成により、各有効データのアドレス管理（更新）が効率良く適正に行われる。なお、本発明（２）では、アドレス制御部４が上記構成であることにより、任意内容のデータを任意のアドレス管理ユニットで管理できる。
【００２０】
また好ましくは、本発明（３）においては、上記本発明（１）において、ＦＩＦＯメモリ１に記憶されるデータ（「０」，「１」，「２」等）は各アドレス管理ユニットＡＣ０〜ＡＣ３と１対１に対応すると共に、アドレス制御部４は、シフト付勢信号（Ｓｈ０）が付勢されたデータ（＝「２」）に対応するアドレス管理ユニットＡＣ２の記憶アドレス（Ａｄ０）を更新する。
【００２１】
図示しないが、本発明（３）では、入力のデータ「０」〜「３」はアドレス管理ユニットＡＣ０〜ＡＣ３により夫々アドレス管理される様に１対１に対応付けられている。その結果、シフト付勢信号（Ｓｈ０）が付勢された時のデータ（即ち、Ａｄ０の記憶データ＝「２」）に対応するアドレス管理ユニットＡＣ２の記憶アドレス（Ａｄ０）が更新されることになる。従って、この場合のアドレス制御部４の構造は、上記本発明（２）のものと比べて大幅に簡略化できる（後述の実施の形態を参照）と共に、この簡単な構成により、各有効データのアドレス管理（更新）が効率良く適正に行われる。
【００２２】
また好ましくは、本発明（４）においては、上記本発明（１）〜（３）において、ＦＩＦＯメモリ１に書き込まれるデータはＡＴＭシステムにおける伝送品質測定のためのＭ−ＯＡＭセル生成要求に係るデータである。従って、途中キャンセルを含む様なＭ−ＯＡＭセルの優先生成処理が効率良く適正に行われる。
【００２３】
【発明の実施の形態】
以下、添付図面に従って本発明に好適なる実施の形態を詳細に説明する。なお、全図を通して同一符号は同一又は相当部分を示すものとする。
【００２４】
図２，図３は実施の形態によるＦＩＦＯ型メモリのブロック図（１），（２）で、ＡＴＭシステム（不図示）におけるＭ−ＯＡＭセル生成制御部への適用例を示している。このＭ−ＯＡＭセル生成制御部（一種のＦＩＦＯ型メモリ）はＡＴＭシステムとの間のインタフェースを行う優先ＩＦ部１０と、途中キャンセルされたセル生成要求に対してキャンセルされない有効なセル生成要求の優先制御を行う優先部２０とからなっている。
【００２５】
図２は優先ＩＦ部１０のブロック図で、図において、１１0 〜１１3 は入力の各セル生成要求ＲＥＱ０〜３（但し、同時には発生しないものとする）について、後述する図３のＦＩＦＯメモリ２４における対応データの各記憶アドレス（アドレス指示信号）ＦＰＯＳ０〜３［３：０］を生成・管理するアドレス制御部（ＭＣＦＣＯＮＴ０〜３）、１２はＦＩＦＯメモリ２４から読み出された最先のセル生成要求データＦＴＯＰ［１：０］を対応するコネクション番号のセル生成指示信号ＳＥＬＮＯ０〜３にデコードするデコーダ（ＤＥＣ）、１３はデコーダ１２のデコード出力を外部入力の有効空きセルＩＤＬＥの先頭パルスＣＳｉに同期してラッチするレジスタ（ＲＧ）である。
【００２６】
アドレス制御部１１0 において、エッジ回路ＥＧはセル生成要求ＲＥＱ０＝１の立ち上がりエッジに同期してアドレス（ダウン）カウンタＤＣＴＲにＦＩＦＯメモリ２４ヘのデータ書込アドレス（この例では、常にデータ入口アドレス「３」）をロードする。また、このセル生成要求ＲＥＱ０＝１は、フリップフロップＦＦで遅延され、その出力がデコーダＤＥＣの出力を付勢する。これにより、アドレスカウンタＤＣＴＲの出力Ｑ＝「３」はアドレス指示信号ＦＰＯＳ０３＝１にデコードされ、該信号ＦＰＯＳ０３＝１は、ＦＩＦＯメモリ２４内の最下位レジスタＲＧ３がアドレス制御部１１0 の管理するセル生成要求データによって使用中であることを表す。そして、このセル生成要求データは、もし上位側のレジスタＲＧ２〜ＲＧ０が空きの場合は、順次上位レジスタＲＧ２〜ＲＧ０へとシフトされ、同時にアドレスカウンタＤＣＴＲも「２」〜「０」へとカウントダウンされる。他のアドレス制御部１１1 〜１１3 についても同様である。
【００２７】
図３は優先部２０のブロック図で、図において、２１は上記アドレス指示信号ＦＰＯＳ０〜３［３：０］の各ビット毎の論理ＯＲを取ることで、ＦＩＦＯメモリ２４全体の使用状況を表す信号ＡＤ＿ＥＸ［３：０］を生成するＡＤ＿ＥＸ生成部（ＡＤ＿ＥＸ＿ＧＥＮ）、２２は信号ＡＤ＿ＥＸ［３：０］に基づきＦＩＦＯメモリ２４内の有効な記憶データのシフト付勢信号ＡＤ＿ＥＮ［２：０］を生成するＡＤ＿ＥＮ生成部（ＡＤ＿ＥＮ＿ＧＥＮ）、２３は入力のセル生成要求パルスＲＥＱＰ０〜３を対応するセル生成要求データ「０」〜「３」にエンコードするエンコーダ（ＥＮＣ）、２４は複数のレジスタＲＧ３〜ＲＧ０のカスコード接続からなるＦＩＦＯメモリ、２５はレジスタＲＧ３〜ＲＧ１の各記憶データ（セル生成要求データ）とシフト付勢信号ＡＤ＿ＥＮ［２：０］とに基づきアドレス制御部１１0 〜１１3 の各アドレスカウンタＤＣＴＲに対するカウントダウン付勢信号ＭＣＦＥＮ０〜３を生成するＭＣＦＥＮ生成部（ＭＣＦＥＮ＿ＧＥＮ）である。
【００２８】
ＡＤ＿ＥＮ生成部２２における信号ＡＤ＿ＥＮ［２：０］の生成は、あるレジスタアドレスＡｄ（ｉ＋１）にセル生成要求データ（即ち、アドレス指示信号）が存在し、かつ一つ上位のレジスタアドレスＡｄ（ｉ）が空きである場合には、レジスタアドレスＡｄ（ｉ）以下のシフト付勢信号ＡＤ＿ＥＮを全て「１」にする様な論理構成を備えている。この操作を最上位アドレスｉ＝０から始め、最下位の一つ前ｉ＝２まで行う。なお、本実施の形態ではアドレス制御ユニット１１にダウンカウンタＤＣＴＲを使用したため、便宜上Ａｄ３を最下位（入口）アドレス、Ａｄ０を最上位（出口）アドレスと呼ぶことにしている。またレジスタＲＧ０（Ａｄ０）のセル生成要求データは、最先のセル生成要求データＦＴＯＰ［１：０］として優先ＩＦ部１０に渡される。また、セル生成要求データがシフト中における出口レジスタＲＧ０のデータ出力を無効にするため、シフト付勢信号の最上位ビット信号ＡＤ＿ＥＸ［０］を信号ＦＴＯＰＥＮとして優先ＩＦ部１０に渡している。
【００２９】
図２に戻り、優先ＩＦ部１０のデコーダ１２はＦＴＯＰＥＮ＝１の時における最先のセル生成要求データＦＴＯＰ［１：０］をデコードしており、一方、レジスタ１３はこのデコード出力を有効空きセルＩＤＬＥの先頭パルスＣＳｉ＝１に同期してラッチし、その出力をセル生成指示信号ＳＥＬＮＯとしてＭ−ＯＡＭセル生成部（不図示）に出力する。Ｍ−ＯＡＭセル生成部はこのセル生成指示信号ＳＥＬＮＯを参照し、該当コネクションに対するＭ−ＯＡＭセルを生成する。その他の構成の動作については以下の説明により明らかとなる。
【００３０】
図４〜図９は実施の形態によるＦＩＦＯ型メモリの動作タイミングチャート（１）〜（６）で、ＡＴＭシステムにおけるＭ−ＯＡＭセル生成制御への適用例を示している。図４はコネクション＃０のセル生成要求ＲＥＱ０が単独で入力した場合を示しており、本ＦＩＦＯ型メモリの基本的な動作を理解するのに好適である。今、ある時点でセル生成要求ＲＥＱ０＝１になると、次のクロック信号でアドレス指示信号ＦＰＯＳ０［３：０］＝「１０００」となる。また、この時ＦＩＦＯメモリ２４のアドレスＡｄ３（即ち、ＲＧ３）［１：０］にはコネクション＃０に対するセル生成要求データ「００」がラッチされる。
【００３１】
一方、ＡＤ＿ＥＸ＿ＧＥＮ２１では、アドレス指示信号ＦＰＯＳ０［３：０］のみが「１０００」であることにより信号ＡＤ＿ＥＸ［３：０］＝「１０００」を出力する。またＡＤ＿ＥＮ＿ＧＥＮ２２は、信号ＡＤ＿ＥＸ［３：２］の部分が「１０」（即ち、Ａｄ３に有効データがあり、かつＡｄ２が空いている）を検出したことにより、シフト付勢信号ＡＤ＿ＥＮ［２：０］＝「１００」を出力する。
【００３２】
図３において、シフト付勢信号ＡＤ＿ＥＮ［２：０］＝「１００」であることは、Ａｄ３（ＲＧ３）のセル生成要求データ＝「００」をＡｄ２（ＲＧ２）にコピー（シフト）し、かつデコーダＤＣ２でＡｄ３のセル生成要求データ＝「００」をデコード出力することを意味する。その結果、ＭＣＦＥＮ＿ＧＥＮ２５では、カウントダウン付勢信号ＭＣＦＥＮ［３：０］＝「０００１」（アドレス制御部１１0 のみカウントダウン）となる。
【００３３】
図４に戻り、次のクロックタイミングでは、アドレス制御部１１0 のＤＣＴＲがカウントダウンされてアドレス指示信号ＦＰＯＳ０［３：０］＝「０１００」となる。この時、Ａｄ３のセル生成要求データ＝「００」はＡｄ２にコピーされている。また信号ＡＤ＿ＥＸ［３：０］＝「０１００」により、シフト付勢信号ＡＤ＿ＥＮ［２：０］＝「１１０」となる。
【００３４】
図３において、シフト付勢信号ＡＤ＿ＥＮ［２：０］＝「１１０」であることは、Ａｄ３，Ａｄ２の各セル生成要求データ（この例では共に「００」）を夫々Ａｄ２，Ａｄ１にコピーし、かつデコーダＤＣ２，ＤＣ１でＡｄ３，Ａｄ２の各セル生成要求データ（この例では共に「００」）をデコード出力することを意味する。その結果、この場合のカウントダウン付勢信号ＭＣＦＥＮ［３：０］＝「０００１」（共にアドレス制御部１１0 のみカウントダウン）となる。
【００３５】
なお、もし上記セル生成要求ＲＥＱ０＝１の入力に引き続き、セル生成要求ＲＥＱ２＝１が入力したとすると、このシフト付勢信号ＡＤ＿ＥＮ［２：０］＝「１１０」であることは、Ａｄ３，Ａｄ２の各セル生成要求データ「１０」，「００」を夫々Ａｄ２，Ａｄ１にコピーし、かつ各デコーダＤＣ２，ＤＣ１でＡｄ３，Ａｄ２の各セル生成要求データ「１０」，「００」をデコード出力することを意味する。その結果、この場合のカウントダウン付勢信号ＭＣＦＥＮ［３：０］＝「０１０１」（アドレス制御部１１0 ，１１2 のみカウントダウン）となる。こうして、ＦＩＦＯメモリ２４内の各セル生成要求データは、上位に空きが有る限りは、下位から上位に転送され、併せて各対応するアドレス制御部１１のカウンタＤＣＴＲが更新される。
【００３６】
図４に戻り、次のクロックタイミングでは、アドレス制御部１１0 のＤＣＴＲがカウントダウンされてアドレス指示信号ＦＰＯＳ０［３：０］＝「００１０」となる。この時、Ａｄ２のセル生成要求データ＝「００」はＡｄ１にコピーされている。また信号ＡＤ＿ＥＸ［３：０］＝「００１０」により、シフト付勢信号ＡＤ＿ＥＮ［２：０］＝「１１１」となる。
【００３７】
図３において、シフト付勢信号ＡＤ＿ＥＮ［２：０］＝「１１１」であることは、Ａｄ３，Ａｄ２，Ａｄ１の各セル生成要求データ（この例では共に「００」）を夫々Ａｄ２，Ａｄ１，Ａｄ０にコピーし、かつデコーダＤＣ２，ＤＣ１，ＤＣ０でＡｄ３，Ａｄ２，Ａｄ１の各セル生成要求データ（この例では共に「００」）をデコード出力することを意味する。その結果、この場合のカウントダウン付勢信号ＭＣＦＥＮ［３：０］＝「０００１」（アドレス制御部１１0 のみカウントダウン）となる。
【００３８】
図４に戻り、次のクロックタイミングでは、アドレス制御部１１0 のＤＣＴＲがカウントダウンされてアドレス指示信号ＦＰＯＳ０［３：０］＝「０００１」となる。この時、Ａｄ１のセル生成要求データ＝「００」はＡｄ０にコピーされている。また信号ＡＤ＿ＥＸ［３：０］＝「０００１」（上位に空きが無い）により、シフト付勢信号ＡＤ＿ＥＮ［２：０］＝「０００」となる。
【００３９】
図３において、シフト付勢信号ＡＤ＿ＥＮ［２：０］＝「０００」であることは、ＦＩＦＯメモリ２４内ではセル生成要求データのシフトを行わないこと、及びいずれのデコーダＤＣ２〜ＤＣ０もその出力を付勢されないことを意味する。その結果、この場合のカウントダウン付勢信号ＭＣＦＥＮ［３：０］＝「００００」となる。
【００４０】
かくして、上記単独で発生した入力のセル生成要求データ＝「００」は、ＦＩＦＯメモリ２４の入口アドレスＡｄ３から入力して出口アドレスＡｄ０に高速で転送され、該Ａｄ０に保持される。この時、信号ＡＤ＿ＥＸ［３：０］＝「０００１」により、最先データの付勢信号ＦＴＯＰＥＮ＝１となり、コネクション＃０のセル生成要求データＦＴＯＰ［１：０］＝「００」（＃０）が有効となる。Ｍ−ＯＡＭセル生成部（不図示）では、有効空きセルＩＤＬＥの先頭信号ＣＳｉの到来を待って、コネクション番号ＳＥＬＮＯ［３：０］＝「０００１」（＃０）に対応するＭ−ＯＡＭセルを生成することになる。
【００４１】
図５は有効空きセルＩＤＬＥの到来前に一連のセル生成要求ＲＥＱ０〜３の内のセル生成要求ＲＥＱ０〜２がキャンセルされた場合の動作を示している。図において、予め一連のセル生成要求ＲＥＱ０〜３が入力された結果、ＦＩＦＯメモリ２４のＡｄ０〜Ａｄ３にはセル生成要求データ「００」〜「１１」が記憶され、またこれらに対するアドレス指示信号ＦＰＯＳ０〜３［３：０］＝「０００１」〜「１０００」となっている。この時、ＦＩＦＯメモリ２４の使用状況信号ＡＤ＿ＥＸ［３：０］＝「１１１１」（全て使用中）であり、これによりシフト付勢信号ＡＤ＿ＥＮ［２：０］＝「０００」（シフト無し）である。一方、信号ＡＤ＿ＥＸ［３：０］＝「１１１（１）」により信号ＦＴＯＰＥＮ＝１（先頭のセル生成要求データ＃０＝有効）であるが、この時点では未だ有効空きセルＩＤＬＥが到来しないので、ＦＩＦＯメモリ２４はこの状態で待機している。
【００４２】
今、ある時点（ｔ＝０）でセル生成要求ＲＥＱ０〜２＝０（キャンセル）になると、次のクロックタイミング（ｔ＝τ経過）ではＭＣＦＣＯＮＴ０〜２の各デコーダＤＥＣの出力が消勢され、これに伴いアドレス指示信号ＦＰＯＳ０〜２の各出力［３：０］＝「００００」となる。これにより信号ＡＤ＿ＥＸ［３：０］は「１１１１」から「１０００」（生成要求＃３のみ残り、かつ上位に空き有り）に変化し、これによりシフト付勢信号ＡＤ＿ＥＮ［２：０］＝「１００」となる。そして、これによりＭＣＦＥＮ＿ＧＥＮ２５のデコーダＤＣ２が付勢され、該ＤＣ２はＡｄ３のセル生成要求データ＝「１１」をデコードすることによりカウントダウン付勢信号ＭＣＦＥＮ［３：０］＝「１０００」（ＭＣＦＣＯＮＴ３のみ付勢）となる。またＡｄ３のセル生成要求データ＝「１１」はＡｄ２にコピー（シフト）可能となる。
【００４３】
ｔ＝２τ経過では、Ａｄ３のセル生成要求データ＝「１１」がＡｄ２にシフトされると共に、ＭＣＦＣＯＮＴ３のダウンカウンタＤＣＴＲが−１され、これによりＦＩＦＯメモリ２４の使用状況信号ＡＤ＿ＥＸ［３：０］＝「０１００」となる。またこれによりシフト付勢信号ＡＤ＿ＥＮ［２：０］＝「１１０」となる。そして、これによりデコーダＤＣ２，ＤＣ１が付勢され、該ＤＣ２，ＤＣ１はＡｄ３，Ａｄ２の各セル生成要求データ＝「１１」をデコードすることによりカウントダウン付勢信号ＭＣＦＥＮ［３：０］＝「１０００」（ＭＣＦＣＯＮＴ３のみ付勢）となる。またＡｄ３，Ａｄ２の各セル生成要求データ＝「１１」はＡｄ２，Ａｄ１にコピー（シフト）可能となる。
【００４４】
ｔ＝３τ経過では、Ａｄ３，Ａｄ２の各セル生成要求データ＝「１１」がＡｄ２，Ａｄ１に夫々シフトされると共に、ＭＣＦＣＯＮＴ３のＤＣＴＲが−１され、これにより使用状況信号ＡＤ＿ＥＸ［３：０］＝「００１０」となる。またこれによりシフト付勢信号ＡＤ＿ＥＮ［２：０］＝「１１１」となる。そして、これによりデコーダＤＣ２，ＤＣ１，ＤＣ０が付勢され、該ＤＣ２〜ＤＣ０はＡｄ３〜Ａｄ１の各セル生成要求データ＝「１１」をデコードすることによりカウントダウン付勢信号ＭＣＦＥＮ［３：０］＝「１０００」（ＭＣＦＣＯＮＴ３のみ付勢）となる。またＡｄ３，Ａｄ２，Ａｄ１の各セル生成要求データ＝「１１」はＡｄ２，Ａｄ１，Ａｄ０にコピー（シフト）可能となる。
【００４５】
ｔ＝４τ経過では、Ａｄ３，Ａｄ２，Ａｄ１の各セル生成要求データ＝「１１」がＡｄ２，Ａｄ１，Ａｄ０に夫々シフトされると共に、ＭＣＦＣＯＮＴ３のＤＣＴＲが−１され、これにより使用状況信号ＡＤ＿ＥＸ［３：０］＝「０００１」（上位に空き無し）となる。またこれによりシフト付勢信号ＡＤ＿ＥＮ［２：０］＝「０００」となる。従って、デコーダＤＣ２〜ＤＣ０は付勢されず、カウントダウン付勢信号ＭＣＦＥＮ［３：０］＝「００００」となる。
【００４６】
かくして、上記最下位アドレスＡｄ３にあったセル生成要求データ「１１」は、先行するセル生成要求データ「００」〜「１０」のキャンセルから僅か４クロックで最上位アドレスＡｄ０にまでシフトされる。この時、使用状況信号ＡＤ＿ＥＸ［３：０］＝「０００（１）」により、再度ＦＴＯＰＥＮ＝１（更新完了）となり、その後の有効空きセルＩＤＬＥの到来を待って、この時の最先のセル生成要求データＦＴＯＰ［１：０］＝「１１」（コネクション＃３）に対応するＭ−ＯＡＭセルが生成される。
【００４７】
図６は上記図５の場合におけるＦＩＦＯ２４の使用状況信号ＡＤ＿ＥＸ［３：０］とシフト付勢信号ＡＤ＿ＥＮ［２：０］の推移を示している。ｔ＝０において、使用状況信号ＡＤ＿ＥＸ［３：０］＝「１１１１」の時は上位に空きメモリが無いので、シフト付勢信号ＡＤ＿ＥＮ［２：０］＝「０００」である。続くｔ＝τ〜３τ経過において、使用状況信号ＡＤ＿ＥＸ［３：０］中に「１０」のビットパターンが存在する時は、下位に有効データが存在すると共に、その上位には空きメモリが有るので、シフト付勢信号ＡＤ＿ＥＮ［２：０］＝「１００」〜「１１１」となる。ｔ＝４τ経過において、使用状況信号ＡＤ＿ＥＸ［３：０］＝「０００１」の時は、最上位に有効データが存在すると共に、更にその上位には空きメモリが無いので、シフト付勢信号ＡＤ＿ＥＮ［２：０］＝「０００」となる。
【００４８】
図７は上記図５の場合における入出力セルの関係を示している。図において、ユーザセルＵＳＥＲの到来中に一連のセル生成要求ＲＥＱ０〜３の内の先行するセル生成要求ＲＥＱ０〜２がキャンセルされており、これに伴いＦＩＦＯメモリ２４の記憶更新が速やかに行われ、こうして最初の有効空きセルＩＤＬＥが到来した時には、速やかに最後の有効セル生成要求ＲＥＱ３（コネクション＃３）に係るＭ−ＯＡＭセル＃３を生成することができる。
【００４９】
図８は有効空きセルＩＤＬＥの到来前に一連のセル生成要求ＲＥＱ０〜３の内のセル生成要求ＲＥＱ０とＲＥＱ２とがキャンセルされた場合の動作を示している。始めはＦＩＦＯ２４の使用状況信号ＡＤ＿ＥＸ［３：０］＝「１１１１」であるが、途中（ｔ＝０）でセル生成要求ＲＥＱ０，２＝０（キャンセル）になると、次のクロックタイミング（ｔ＝τ経過）ではＭＣＦＣＯＮＴ０，２の各デコーダＤＥＣの出力が消勢され、ＦＰＯＳ０，２の各アドレス指示信号［３：０］＝「００００」となる。これにより使用状況信号ＡＤ＿ＥＸ［３：０］は「１１１１」から「１０１０」に変化し、これによりシフト付勢信号ＡＤ＿ＥＮ［２：０］＝「１１１」となる。そして、これによりデコーダＤＣ２〜ＤＣ０が付勢され、該ＤＣ２〜ＤＣ０はＡｄ３〜Ａｄ１の各セル生成要求データ＝「１１」，「１１」，「０１」を夫々デコードすることにより、カウントダウン付勢信号ＭＣＦＥＮ［３：０］＝「１１１０」となる。またＡｄ３〜Ａｄ１の各セル生成要求データ＝「１１」，「１０」，「０１」はＡｄ２〜Ａｄ０にコピー（シフト）可能となる。
【００５０】
ｔ＝２τ経過では、Ａｄ３〜Ａｄ１の各セル生成要求データ＝「１１」，「１０」，「０１」がＡｄ２〜Ａｄ０に夫々シフトされる共に、ＭＣＦＣＯＮＴ３〜１の各ダウンカウンタＤＣＴＲが−１され、これにより使用状況信号ＡＤ＿ＥＸ［３：０］＝「０１０１」となる。
【００５１】
なお、この時、ＭＣＦＣＯＮＴ２では上記ＤＣＴＲのカウントダウンによりそのカウント出力Ｑが「２」→「１」となるが、上記セル生成要求ＲＥＱ２＝０（キャンセル）によりそのデコーダＤＥＣの出力のアドレス指示信号ＦＰＯＳ２［３：０］＝「００００」（消勢）となるため、この時点における使用状況信号ＡＤ＿ＥＸ［３：０］＝「０１（０）１」となる。
【００５２】
また、この時、使用状況信号ＡＤ＿ＥＸ［３：０］＝「０１０（１）」により、ＦＴＯＰＥＮ＝１（少なくとも最先のデータ更新完了）となり、その後の有効空きセルＩＤＬＥの到来を待って、この時の最先のセル生成要求データＦＴＯＰ［１：０］＝「０１」（コネクション＃１）に対応するＭ−ＯＡＭセルを生成可能となる。
【００５３】
また、上記使用状況信号ＡＤ＿ＥＸ［３：０］＝「０１０１」これにより、シフト付勢信号ＡＤ＿ＥＮ［２：０］＝「１１０」となる。即ち、この時点ではＡｄ０には既に有効データ「０１」がシフトされたため、該Ａｄ０への更なるシフト付勢信号は付勢されないが、それよりも下位のデータ列に対する一連のシフト付勢信号が付勢される。そして、これによりデコーダＤＣ２，ＤＣ１が共に付勢され、該ＤＣ２，ＤＣ１はＡｄ３，Ａｄ２の各セル生成要求データ＝「１１」．「１１」を夫々デコードすることにより、この時点ではカウントダウン付勢信号ＭＣＦＥＮ［３：０］＝「１０００」（ＭＣＦＣＯＮＴ３のみ付勢）となる。またＡｄ３，Ａｄ２の各セル生成要求データ＝「１１」，「１１」は夫々Ａｄ２，Ａｄ１にコピー（シフト）可能となる。
【００５４】
ｔ＝３τ経過では、Ａｄ３，Ａｄ２の各セル生成要求データ＝「１１」，「１１」がＡｄ２，Ａｄ１に夫々シフトされると共に、ＭＣＦＣＯＮＴ３のＤＣＴＲが−１され、これにより使用状況信号ＡＤ＿ＥＸ［３：０］＝「００１１」となる。即ち、この時点におけるＦＩＦＯメモリ２４のＡｄ１，Ａｄ０は夫々有効データ「１１」，「０１」で詰まっている。また、これによりシフト付勢信号ＡＤ＿ＥＮ［２：０］＝「０００」となる。従って、もはやデコーダＤＣ２〜ＤＣ０は付勢されず、これ以上のＤＣＴＲのカウントダウンは無い。またデータのシフトも起こらない。
【００５５】
図９は上記図８の場合における入出力セルの関係を示している。図において、ユーザセルＵＳＥＲの到来中に一連のセル生成要求ＲＥＱ０〜３の内の先行するセル生成要求ＲＥＱ０，２が共にキャンセルされており、これに伴いＦＩＦＯメモリ２４の記憶更新が速やかに行われ、こうして最初の有効空きセルＩＤＬＥが到来した時には、速やかに最先のセル生成要求ＲＥＱ１（コネクション＃１）にに対応するＭ−ＯＡＭセル＃１が生成され、また次の有効空きセルＩＤＬＥが到来した時には、速やかに２番目の有効セル生成要求ＲＥＱ３（コネクション＃３）に対応するＭ−ＯＡＭセル＃３が生成される。因みに、上記従来方式による場合の出力セルの生成タイミングを図に併記した。他の様々なケースに付いても同様に考えられる。
【００５６】
なお、上記実施の形態は具体的な数値例（サポートコネクション＝４等）を伴って説明をしたが、本発明がこれに限定されないことは明らかである。
【００５７】
また、上記実施の形態ではＡＴＭシステムにおけるＭ−ＯＡＭセル生成制御への適用例を述べたが、本発明によるＦＩＦＯ型メモリは、先に入力した有効なデータを先に出力する様な他の一般的な用途（待ち行列の優先制御等）のＦＩＦＯ型メモリにも適用できることは明らかである。
【００５８】
また、上記本発明に好適なる実施の形態を述べたが、本発明思想を逸脱しない範囲内で各部の構成、制御、及びこれらの組合せの様々な変更が行えることは言うまでも無い。
【００５９】
【発明の効果】
以上述べた如く本発明によれば、ＦＩＦＯメモリに有効なデータのみを効率良く記憶・転送可能となり、ＦＩＦＯ型メモリの機能向上、用途拡大、メモリ容量の節約等に寄与する所が極めて大きい。
【００６０】
また、このＦＩＦＯ型メモリを例えばＡＴＭシステムにおけるＭ−ＯＡＭセルの生成制御に適用すれば、途中のセル生成要求のキャンセルにも係わらず、最先の有効セル生成要求に対するＭ−ＯＡＭセルを速やかに生成でき、特にサポートコネクション数が多い場合や、有効空きセルの到着頻度が小さいような場合には、従来技術と比較してＭ−ＯＡＭセルの生成遅延は大幅に短縮される。
【図面の簡単な説明】
【図１】本発明の原理を説明する図である。
【図２】実施の形態によるＦＩＦＯ型メモリのブロック図（１）である。
【図３】実施の形態によるＦＩＦＯ型メモリのブロック図（２）である。
【図４】実施の形態によるＦＩＦＯ型メモリの動作タイミングチャート（１）である。
【図５】実施の形態によるＦＩＦＯ型メモリの動作タイミングチャート（２）である。
【図６】実施の形態によるＦＩＦＯ型メモリの動作タイミングチャート（３）である。
【図７】実施の形態によるＦＩＦＯ型メモリの動作タイミングチャート（４）である。
【図８】実施の形態によるＦＩＦＯ型メモリの動作タイミングチャート（５）である。
【図９】実施の形態によるＦＩＦＯ型メモリの動作タイミングチャート（６）である。
【図１０】従来技術を説明する図（１）である。
【図１１】従来技術を説明する図（２）である。
【符号の説明】
１０  優先ＩＦ部
１１0 〜１１3   アドレス制御部（ＭＣＦＣＯＮＴ０〜３）
１２  デコーダ（ＤＥＣ）
１３  レジスタ（ＲＧ）
ＥＧ  エッジ回路
ＤＣＴＲ  ダウンカウンタ（アドレスカウンタ）
ＤＥＣ  デコーダ
２０  優先部
ＲＧ  レジスタ
２１  ＡＤ＿ＥＸ生成部（ＡＤ＿ＥＸ＿ＧＥＮ）
２２  ＡＤ＿ＥＮ生成部（ＡＤ＿ＥＮ＿ＧＥＮ）
２３  エンコーダ（ＥＮＣ）
２４  ＦＩＦＯメモリ
２５  ＭＣＦＥＮ生成部（ＭＣＦＥＮ＿ＧＥＮ）
【図１】
0003859898.tif 000002
【図２】
0003859898.tif 000003
【図３】
0003859898.tif 000004
【図４】
0003859898.tif 000005
【図５】
0003859898.tif 000006
【図６】
0003859898.tif 000007
【図７】
0003859898.tif 000008
【図８】
0003859898.tif 000009
【図９】
0003859898.tif 000010
【図１０】
0003859898.tif 000011
【図１１】
0003859898.tif 000012