(57)【特許請求の範囲】
【請求項１】
繰り返しクロックサイクルを有する共通クロック信号を受信し、共通入力ポートおよび共通出力ポートを有する複数のメモリユニットを有し、各クロックサイクルにおいて、入力ワードが前記入力ポートからメモリバンクに書き込まれ、出力ワードが前記メモリバンクから前記出力ポートに読み出され、
前記各メモリユニットは、
シングルポートランダムアクセスメモリ（ＲＡＭ）デバイスと、
各メモリユニットの前記ＲＡＭは直接出力ポートに接続され、各メモリユニット毎に前記入力ポートに直接接続されたファーストインファーストアウト（ＦＩＦＯ）バッファを有し、所定のクロックサイクルにおいて、前記入力ワードが書き込まれる同一メモリユニットから前記出力ワードが読み出される時、前記入力ワードを次のクロックサイクルまで保持するファーストインファーストアウト（ＦＩＦＯ）バッファと、
を有するリード／ライト電子メモリバンク。
【請求項２】
各クロックサイクルにおいて前記入力ワードが書かれる同一メモリユニットから前記出力ワードがリードされるか否かをチェックし、前記出力ワードが前記メモリユニットからリードされないクロックサイクルにおいて前記各ＦＩＦＯから前記メモリユニットのＲＡＭに入力ワードを書き込むことを可能にするコントローラを含む、請求項１のメモリバンク。
【請求項３】
各メモリユニットにはバンク内のメモリアドレスのユニークなアロケーションが割当てられる、請求項１のメモリバンク。
【請求項４】
前記複数のメモリユニットは４つのメモリユニットから構成され、アドレスのあらかじめ選択された２ビットに従ってメモリアドレスが４つのユニットにアロケートされる、請求項３のメモリバンク。
【請求項５】
前記ＦＩＦＯバッファは前記メモリバンクが使用されるシステムのメモリユニットの１つから連続してリードすることのできる出力ワードの最大数に等しい深さを有する、請求項１のメモリバンク。
【請求項６】
メモリユニットの数、および各メモリユニットに対して前記ＦＩＦＯおよびＲＡＭのサイズは、前記メモリバンクが使用されるアプリケーションの必要条件のシミュレーションに応答して選択される、請求項１記載のメモリバンク。
【請求項７】
ａ）各々がシングルポートランダムアクセスメモリ（ＲＡＭ）デバイスおよび前記ＲＡＭデバイスに接続されたファーストインファーストアウト（ＦＩＦＯ）バッファから構成される複数のメモリユニットを提供し；
ｂ）  前記複数のメモリユニットを一連のクロックサイクルを生成するクロックにより駆動し；
ｃ）  前記各クロックサイクル毎に前記メモリユニットの１つからリードワードを読み出し；および
ｄ）前記各クロックサイクル毎に前記メモリユニットの１つのライトワードを書き込み、
ｅ）前記メモリユニットの１つからリードワードを読み出すことは、メモリユニットの１つに構成されるＲＡＭからリードワードを読み出すことを含み、メモリユニットの１つにライトワードを書き込むことはメモリユニットの１つに含まれる前記ＦＩＦＯにライトデータを書き込むことを含み、
ｆ）  前記クロックサイクルの共通のクロックサイクルで同一メモリユニットに読み出しと書き込みが生じるとき、前記ライトデータを書き込むことは、読み出しが異なるメモリユニットから生じる次のクロックサイクルまで前記ＦＩＦＯにライトデータを保持することを含む、メモリバンクにデータを記憶し、記憶したデータをそこから読み出す方法。
【請求項８】
前記入力ワードが書き込まれる同じメモリユニットから出力ワードが読み出されるか否かチェックし、出力ワードが他のメモリユニットから読み出される場合には前記ＦＩＦＯから前記ＲＡＭに直接前記ライトワードを書き込むことを含む、請求項７の方法。
【請求項９】
前記複数のメモリユニットを提供する工程は各ユニットにバンク内のメモリアドレスのユニークなアロケーションを割当てることを含む、請求項７の方法。
【請求項１０】
前記複数のメモリユニットを提供する工程は、４つのメモリユニットを提供することを含み、メモリアドレスはアドレスのあらかじめ選択された２ビットに従って４つのユニットにアロケートされる、請求項９の方法。
【請求項１１】
前記複数のメモリユニットを提供する工程は、前記メモリバンクが使用されるシステムにおいて前記メモリユニットの１つが連続的にアクセス可能な回数に応答してＦＩＦＯバッファの深さを決定することを含む、請求項７の方法。
【請求項１２】
前記複数のメモリユニットを提供する工程はメモリバンクが使用されるアプリケーションの必要条件のシミュレーションに応答して前記メモリユニットの数、および各メモリユニットに対して前記ＦＩＦＯおよびＲＡＭのサイズを選択することを含む、請求項７の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はメモリデバイスに関し、特にシングルポートリード／ライトメモリデバイスに関する。
【０００２】
【発明の背景】
コンピュータメモリデバイスに対して同時にリードおよびライトする必要性はデュアルポートメモリデバイスにより満足されるが、デュアルポートメモリデバイスはシングルポートメモリデバイスに比べて相対的に高価である。スタティックランダムアクセスメモリ（ＳＲＡＭ）あるいはダイナミックランダムアクセスメモリ（ＤＲＡＭ）のようなシングルポートメモリデバイスはいずれかの特定の時間期間（典型的には１クロックサイクル）にリードまたはライトのいずれかを行なうことができるが両方はできない。１つ以上のシングルポートメモリデバイスを用いてデュアルポートメモリをシミュレートする方法は公知である。
【０００３】
カリフォルニア州サンホセにあるCypress Semiconductor Corporationは「専門メモリ：デュアルポートＲＡＭの理解」というタイトルの技術記事を発行している。これは
http://www.cypress.com/design/techarticles/v2n2.htmlで見つけることができる。これは参照することにより本明細書に取り込まれ、シングルポートデバイスをアドレスする２つのアクセスプロセス間でマルチプレクサを用いてどのようにしてデュアルポートデバイスをシミュレートできるかを説明している。
【０００４】
米国特許第５，８１８、７５１号（発明者：Ｈｏ他）は参照することにより本明細書に取り込まれ、リード／ライトの衝突を生じないシングルポートＳＲＡＭを記載する。この発明はクロックとは別のリードサイクルおよびライトサイクルを使用する。
【０００５】
米国特許第５，３７１，８７７号（発明者：Ｄｒａｋｏ他）は参照することにより本明細書に取り込まれ、デュアルポートファーストインファーストアウト（ＦＩＦＯ）メモリスタックの機能を提供する回路を記載する。この回路はデータが交互に書き込まれる第１および第２のシングルポートＲＡＭのバンクを有し、各バンクは書き込まれていないときは読み出されている。
【０００６】
米国特許第５，７０６，４８２（発明者：Ｍａｔｓｕｓｈｉｍａ他）は参照することにより本明細書に取り込まれ、画像を記憶するために使用されるシングルポートメモリがリードされると同時にライトされる方法を記載する。この方法は調停セクションと通信する独立したリードバッファおよびライトバッファを使用し、次に調停セクションがシングルポートメモリと通信する方法を記載する。
【０００７】
米国特許第５，８０２，５７９号（発明者：Ｃｒａｒｙ）は参照することにより本明細書に取り込まれ、シングルポートランダムアクセスメモリに同時にデータをリードおよびライトするシステムおよび方法を記載する。システムは新データおよび対応する新データアドレスをバッファに記憶し、新データアドレスを現在のリードアドレスと比較する。リードアドレスおよびライトアドレスが同じ場合には、新データは修飾されたアドレスに記憶される。
【０００８】
【課題を解決するための手段】
この発明のいくつかの観点の目的はメモリデバイスから同時にライトし、リードする改良された方法および装置を提供することである。
【０００９】
この発明の好適実施形態において、メモリバンクは複数のシングルポートランダムアクセスメモリ（ＲＡＭ）デバイスから構成される。各ＲＡＭはそれぞれのファーストインファーストアウト（ＦＩＦＯ）バッファデバイスと通信し、すべてのデバイスは単一のクロックにより駆動される。クロックの各サイクルにおいて、外部のリードエージェントおよびライトエージェントから受信したアドレスリクエストに従ってメモリバンクから読み出しワードとしてデータがリードされ、書き込みワードとしてメモリバンクにライトされる。エージェントは実質的に公知の適切なアドレッシングデバイスとして構成することができ、アドレス自体は一般に前もってわかっておらず、ランダム選択により構成することができる。衝突を防止するために、複数のＲＡＭの同じＲＡＭに対して所定のクロックサイクルで読み出しワードおよび書き込みワードがリードおよびライトされるとき、両ワードの一方が対応するＦＩＦＯバッファに書き込まれ、後のクロックサイクルでＦＩＦＯバッファから読み出される。この種の構成において、複数のシングルポートメモリデバイスおよびＦＩＦＯを用いることは同時にデータをリードおよびライトすることのできるメモリバンクを提供するための効率的で安価な方法である。
【００１０】
この発明のいくつかの好適実施形態において、リードワードはクロックサイクル毎に適切なＲＡＭから直接リードされ、ＦＩＦＯバッファは衝突を回避する必要があるとき、ライトワードを受信する。言い換えれば、クロックの各サイクルにおいて、外部エージェントからライトワードとしてデータがＲＡＭまたはＦＩＦＯのいずれかに書き込まれる。データはＲＡＭがリードされておらず、特定のＲＡＭと通信するＦＩＦＯが空いていれば特定のＲＡＭに書かれる。さもなければ、特定のＲＡＭがリードされている場合には、データおよびそのアドレスはそのＲＡＭと通信するＦＩＦＯに書かれる。各クロックサイクルにおいて、リードされていないＲＡＭは、ＦＩＦＯのデータが空でないならばそれぞれのＦＩＦＯの各々から書かれるデータを有している。従って、各クロックサイクルにおいて、データは複数のＲＡＭの１つから読み出され、データは複数のＲＡＭの他のＲＡＭに書き込まれるか、複数のＦＩＦＯの１つに書き込まれるかその両方に書き込まれる。
【００１１】
それゆえ、この発明の好適実施形態に従って、複数のメモリユニットを含むリード／ライト電子メモリバンクが提供される。複数のメモリユニットは繰り返しクロックサイクルを有する共通クロック信号を受信し、共通入力ポートおよび共通出力ポートを有する。各クロックサイクルにおいて、入力ワードは入力ポートからメモリバンクに書き込まれ、出力ワードはメモリバンクから出力ポートに読み出される。各メモリユニットはシングルポートランダムアクセスメモリ（ＲＡＭ）と、ファーストインファーストアウト（ＦＩＦＯ）バッファを含み、所定クロックサイクルに入力ワードの書き込まれる同じメモリユニットから出力ワードが読み出される時、入力ワードおよび出力ワードの一方が、メモリとＲＡＭデバイスの各ポート間の代わりに、メモリバンクとＦＩＦＯバッファの各ポートの間で通過する。
【００１２】
望ましくは、各メモリユニットのＲＡＭは直接出力ポートに接続され、各メモリユニットのＦＩＦＯは入力ポートに直接接続され、所定のクロックサイクルに入力ワードが書き込まれる同じメモリユニットから出力ワードが読み出されるとき、入力ワードは次のクロックサイクルまで各ＦＩＦＯに保持される。
【００１３】
望ましくはメモリバンクはコントローラを有する。このコントローラは、各クロックサイクルにおいて入力ワードが書き込まれる同じメモリユニットから出力ワードが読み出されるか否かチェックし、出力ワードがメモリユニットからリードされないクロックサイクルにおいてメモリユニットのＲＡＭに各ＦＩＦＯから入力データが書き込まれることを可能にする。
【００１４】
望ましくは、各メモリユニットにはバンクのメモリアドレスのユニークなアロケーションが割当てられる。
【００１５】
望ましくは、複数のメモリユニットは４つのメモリユニットを含み、アドレスの２つのあらかじめ選択されたビットに従って４つのユニットにメモリアドレスがアロケートされる。
【００１６】
望ましくは、ＦＩＦＯバッファはメモリバンクが使用されるシステムにおいてメモリユニットの１つから連続して読み出すことのできる最大数の出力ワードに等しい深さを有する。
【００１７】
望ましくはメモリユニットの番号および各メモリユニットに対してＦＩＦＯのサイズおよびＲＡＭのサイズはメモリバンクが使用されるアプリケーションの必要条件にシミュレーションに応答して選択される。
【００１８】
さらに、この発明の好適実施形態によれば、各々がシングルポートランダムアクセスメモリ（ＲＡＭ）デバイスと前記ＲＡＭデバイスに接続されたファーストインファーストアウト（ＦＩＦＯ）バッファを含む複数のメモリユニットを提供し；
前記複数のメモリユニットを一連のクロックサイクルを生成するクロックにより駆動し；
前記各クロックサイクル毎に前記メモリユニットの１つからリードワードを読み出し；および
前記クロックサイクルの共通のクロックサイクルで同一メモリユニットに読み出しと書き込みが生じるときリードワードおよびライトワードの一方がメモリユニットのＲＡＭデバイスに対して直接書き込まれるあるいは読み出されるのではなくて、メモリユニットのＦＩＦＯバッファを介して通過されるように、各クロックサイクル毎にメモリユニットの１つにライトワードを書き込む、ことを含む、メモリバンクにデータを記憶し記憶したデータをそこから読み出す方法が提供される。
【００１９】
望ましくは、メモリユニットの１つからリードワードを読み出す工程はメモリユニットの１つに構成されるＲＡＭからリードワードを読み出すことを含み、メモリユニットの１つにライトワードを書き込む工程はメモリユニットの１つに含まれるＦＩＦＯにライトワードを書き込むことを含む。
【００２０】
望ましくは、クロックサイクルの共通のクロックサイクルで同一メモリユニットに対して読み出しと書き込みが生じるとき、ライトワードを書き込む工程は読み出しが異なるメモリユニットから生じる次のクロックサイクルまでＦＩＦＯにライトワードを保持することを含む。
【００２１】
望ましくは、前記方法は、入力ワードが書き込まれる同じメモリユニットから出力ワードが読み出されるか否かチェックし、出力ワードが他のメモリユニットから読み出される場合にはＦＩＦＯからＲＡＭに直接ライトワードを書き込むことを含む。
【００２２】
望ましくは、前記複数のメモリユニットを提供する工程は各ユニットにバンク内のメモリアドレスのユニークなアロケーションを割当てることを含む。
【００２３】
択一的あるいは付加的に前記複数のメモリユニットを提供する工程は、４つのメモリユニットを提供することを含み、メモリアドレスはアドレスのあらかじめ選択された２ビットに従って４つのユニットにアロケートされる。
【００２４】
望ましくは、前記複数のメモリユニットを提供する工程は、メモリバンクが使用されるシステムにおいてメモリユニットの１つが連続的にアクセス可能な回数に応答してＦＩＦＯバッファの深さを決定することを含む。
【００２５】
択一的にあるいは付加的に、前記複数のメモリユニットを提供する工程はメモリバンクの性能を最適化するように各メモリユニットに対してＦＩＦＯおよびＲＡＭのパラメータを調節することを含む。
【００２６】
【発明の実施の形態】
この発明は以下の図面とともに好適実施形態の以下の詳細な説明からさらに完全に理解されよう。
【００２７】
図１はこの発明の好適実施形態における同時リードおよびライトアドレッシングを有するメモリシステム１０の概略ブロック図である。ここに記載した好適実施形態において、システム１０は通信システムの一部を形成するデコーダにおけるデータのインターリーブおよびデインタリーブのためのメモリバンクとして使用されるが、システム１０は同時リードおよびライトアドレッシングを必要とする他のデバイスに等しく使用することができる。
【００２８】
システム１０は公知の複数の、望ましくは４つのファーストインファーストアウト（ＦＩＦＯ）バッファデバイス１２、１４、１６、１８を含む。ＦＩＦＯデバイスはシンクロナスであることが最も望ましい。システム１０はさらに、（ＦＩＦＯデバイスの数に対応して）複数のシングルポートランダムアクセスメモリ（ＲＡＭ）デバイスを有する。各ＲＡＭはそれぞれのＦＩＦＯに接続される。ＲＡＭデバイスは各ＦＩＦＯから入力データおよびアドレス情報を受信する。以下に詳細に説明するように、各ＲＡＭおよびその関連するＦＩＦＯはメモリユニットして動作する。システム１０はさらにコントローラ３２を有し、その機能は同様に以下に詳細に説明する。
【００２９】
ＲＡＭデバイスは、各ＲＡＭユニットの下位アドレス２ビットがそれぞれ００、０１、１０および１１にプリセットされて実現されることが望ましい。同様に、各ＦＩＦＯは４つの下位アドレス００、０１、１０、１１の１つに対応するデータのみを受信するようにプリセットされる。言い換えれば、システム１０に記憶されるデータは、アドレスの下位２ビット（ＬＳＢ）に従うＲＡＭデバイスに分配され、順に４つのデバイスからシーケンシャルにアドレスされたデータがリードまたはライトされる。あるいは、データは異なるビットの選択に従って分配するようにしてもよい。例えば上位アドレスビットに従って、あるいはアドレスの関数のような他のアドレッシング基準に従って分配するようにしてもよい。しかしながら、特別のデータシーケンスは必要なく、システム１０は、前もってわからない、ランダムでありえる外部アドレッシングエージェントから受信したリードおよびライトアドレスに応答する。
【００３０】
各ＲＡＭは２Ｋのアドレスを有することが望ましいが、他の標準サイズのＲＡＭを使用することができ、ＲＡＭは同じである必要はない。従って、２Ｋ×６ビットＲＡＭの場合、システム１０はＲＡＭ全体で８Ｋの連続アドレスからなる。各アドレスに記憶されるデータは６ビット幅が望ましいが、ＲＡＭに記憶可能な他のいかなるサイズデータでも使用することができる。ＲＡＭデバイス２２、２４、２６、および２８はリードアドレスバス３０に接続されるそれぞれアドレスポート２２Ａ、２４Ａ、２６Ａ、および２８Ａを有するとともにリードデータバス３１に接続されたそれぞれデータポート２２Ｄ、２４Ｄ、２６Ｄおよび２８Ｄを有する。バス３０および３１は一緒になってシステム１０の出力ポートとして動作しＲＡＭのアドレスおよびデータに対応した幅を有するので、４つの２Ｋ×６ＲＡＭの場合、リードアドレスバス３０は１３ビット幅であり、リードデータバス３１は６ビット幅である。
【００３１】
各ＦＩＦＯはそれぞれのＲＡＭデバイスに書き込まれるデータおよびデータのアドレスを記憶する。ＦＩＦＯはライトデータバス２１およびライトアドレスバス２０からサンプルとしてデータおよびデータのアドレスを受信する。ライトデータバス２１およびライトアドレスバス２０は一緒になってシステム１０の入力ポートとして動作する。ＦＩＦＯが保持する必要のあるサンプルの最大数、ここではＦＩＦＯの深さと呼ぶが、その深さは、システム１０が使用されるアプリケーションの必要条件に基づいて以下に述べるようにシミュレーションにより決定されることが望ましい。ＦＩＦＯは同じである必要はないことは理解されよう。バス２０および２１の幅はそれぞれバス３０および３１の幅に等しい。以下に詳細に述べるように、各ＦＩＦＯはＲＡＭのデータおよびアドレスポートを介してそれぞれのＲＡＭの適切なアドレスにデータを書き込む。
【００３２】
複数のＦＩＦＯデバイスおよび／または複数のＲＡＭデバイスおよび／またはコントローラ３２はディスクリートデバイスとして実現可能である。あるいはカスタムまたはセミカスタム集積回路として実現することも可能であるがすべてをワンチップで実現することが最も望ましい。
【００３３】
システム１０は、コントローラ３２を駆動するクロック３４の各サイクルにおいて、バス３０および３１を介して、複数のＲＡＭの１つのアドレスからデータをリードする必要がある。システム１０はまた、バス２０および２１を介して各クロックサイクルにおいてデータをライトする必要がある。このデータは、複数のＲＡＭの１つのアドレスに記憶される。これをシングルポートＲＡＭ２２、２４、２６、２８を用いて達成するために、ＲＡＭが所定のクロックサイクルでリードされていないなら、各ＦＩＦＯから所定のクロックサイクルでＲＡＭはライトされるのみである。ＲＡＭがリードされているかどうかのチェックはコントローラ３２が行なう。
【００３４】
図２はこの発明の好適実施形態に従って、システム１０により実行されるステップを示すフローチャートである。各クロックサイクルにおいて、コントローラ３２はライトアドレスバス２０およびリードアドレスバス３０上のアドレスをリードする。コントローラ３２はそれらのアドレスを比較し、アドレスが１つのＲＡＭの同じアドレスである場合、すなわちアドレスが同じ２つのＬＳＢを有する場合、リードリクエストおよびライトリクエストを実現することは同一ＲＡＭからリードとライトを同時に行なうことを意味する。従ってそのＲＡＭに対応するＦＩＦＯのリードリクエストフラッグがセットされる。この場合、システム１０に書かれるデータおよびそのデータのアドレスはＦＩＦＯに記憶される。両アドレスが同一ＲＡＭに対応していない場合には、ＦＩＦＯのリードリクエストフラッグはセットされない。従って、ＦＩＦＯはその各ＲＡＭに対してライトイネーブルフラッグをセットし、そしてＦＩＦＯはＦＩＦＯからのデータをＲＡＭの対応するアドレスにライトする。データは、ＦＩＦＯにデータがある場合、あるいは所定のクロックサイクル期間にバス２０および２１からＦＩＦＯに書かれるデータがある場合に、書かれる。システム１０に書かれるデータは、ＲＡＭがリードされている場合には、各ＲＡＭに後で書くためにＦＩＦＯに記憶され、ＲＡＭがリードされていない場合には、ＲＡＭに書かれる。
【００３５】
図３はこの発明の好適実施形態に従ってシステム１０のための状態およびタイミング信号を示す概略タイミング図である。図３は列に分割され、各列はクロックサイクルに対応している。各列には便宜的に１から２８の番号が任意に付られている。行４４はシステム１０の動作中のライトアドレスの下位２ビットのアドレスを示し、行４６はリードアドレスの下位２ビットのアドレスを示す。行４８、５０、５２、および５４はそれぞれＦＩＦＯ１２、１４、１６、および１８に記憶されるサンプルの番号を示す。行５６、５８、６０および６２はそれぞれＲＡＭ２２、２４、２６、および２８へのライトイネーブルがセットされるときを示す。行６４、６６、６８、および７０はそれぞれＦＩＦＯ１２、１４、１６、および１８にリードリクエストフラッグがセットされるときを示す。
【００３６】
複数のクロックサイクルにおいて、対応するリードアドレスおよびライトアドレスの下位２ビットは異なる。従って、サイクル４０の期間、書き込みアドレスに対応するＲＡＭのライトイネーブルフラッグがセットされ、データがＲＡＭに書かれる。他のサイクル４２において、リードアドレスおよびライトアドレスの下位２ビットは同一である。従って、サイクル４２において、適切なＦＩＦＯのためのリードリクエストがセットされ、ライトイネーブルフラッグはセットされず、データが適切なＦＩＦＯに書かれる。列４および５および列２３、２４、および２５はＲＡＭにデータを連続的に書き込めない例を示す。従って、各場合におけるそれぞれのＦＩＦＯは記憶するサンプルの数を最初は増大させる。特定のＲＡＭがリードされていないときは、各クロックサイクルでＲＡＭにサンプルを書き込むことにより各ＦＩＦＯにおけるサンプルの数は減少する。例えば列６および７はＦＩＦＯがＲＡＭ１に書くので、ＦＩＦＯ１が減少することを示し、列１９および２０はＦＩＦＯがＲＡＭ２に書くのでＦＩＦＯ２が減少することを示す。
【００３７】
この発明のいくつかの好適実施形態において、システム１０はセルラ電話システムのような通信システムに転送されるパケットデータのインタリーブおよび／またはデインターリーブを管理するインターリーバコントロール内のメモリバンクとして利用される。インターリーバコントロールは、とりわけ制御プロセスを実現するために擬似乱数リードおよびライトアドレスを発生する。各ＦＩＦＯの深さを見つけるために、すべての可能なパケットサイズおよびそのパケット転送に含まれる他の変数のすべての可能な値をカバーするシミュレーションが実行される。例えばシミュレーションが、いつでもＦＩＦＯ内のサンプル１０を越えないことを示しているならば、システム１０の各ＦＩＦＯに必要な深さ１０以上である必要はない。上述した同時アドレッシングシステムを他のアプリケーションに使用するために、当業者は、システムに含まれるＦＩＦＯの必要な深さを見つけるために対応するシミュレーションを考案することができるであろう。
【００３８】
同時アドレッシングシステムが使用されるアプリケーションに関係なくシステム内のＲＡＭの数（および対応するＦＩＦＯの数）が例えば８に増えれば、各ＦＩＦＯの深さは減少することは明白であろう。同様に他の実施形態において、２つのＲＡＭと２つのＦＩＦＯのみが使用される。従って、アプリケーションに応じて、ＲＡＭとＦＩＦＯの数および個々のＦＩＦＯの深さおよび個々のＲＡＭのサイズのようなパラメータは、ＲＡＭの数とサイズおよびＦＩＦＯの付加の最適値を構築するように変更可能である。望ましくは、パラメータはシステムの性能を最適化するためにシミュレーションで変更される。
【００３９】
上述した好適実施形態において、データは複数のＲＡＭから直接リードされ複数のＦＩＦＯを介してＲＡＭに書かれるけれども、各メモリユニットが上述したＲＡＭおよび通信するＦＩＦＯを有する複数のメモリユニットを有するすべての同時アドレッシングシステムはこの発明の範囲内であると考えられることが理解されるであろう。
【００４０】
従って、上述した好適実施形態は例示であり、この発明の完全な範囲はクレームによってのみ制限されることが理解されるであろう。
【図面の簡単な説明】
【図１】  この発明の一実施形態における同時リードおよびライトアドレッシングを有したメモリシステムの概略ブロック図である。
【図２】  この発明の一実施形態における、図１のシステムにより実行されるステップを示すフローチャートである。
【図３】  この発明の一実施形態における、図１のシステムのための状態およびタイミング信号を示す概略タイミング図である。
【符号の説明】
１０・・・メモリシステム
１２、１４、１６、１８・・・ＦＩＦＯバッファデバイス
２０・・・ライトアドレスバス
２１・・・ライトデータバス
２２、２４、２６、２８・・・ＲＡＭデバイス
２２Ａ、２４Ａ、２６Ａ、２８Ａ・・・アドレスポート
２２Ｄ、２４Ｄ、２６Ｄ、２８Ｄ・・・データポート
３０・・・リードアドレスバス
３１・・・リードデータバス
３２・・・コントローラ
【図１】
0004718079.tif 000002
【図２】
0004718079.tif 000003
【図３】
0004718079.tif 000004