(57)【要約】【課題】  シングルポートセルを用いてデュアルポート機能を実行し、それによってセル配置面積を最小にしかつ断続的なデータを排除する。【解決手段】  シングルポートメモリセルを用いてデュアルポートメモリセルが実装される。２つのポートに関連するアクセス要求に優先順位を付けかつ同期させるために、同期化回路を有するアクセスアービタが用いられる。アクセスアービタは、シングルポートメモリセルがリフレッシュを要求する場合に、リフレッシュ要求に優先順位を付けかつ同期させることもできる。２つのポート上のアクセス要求とリフレッシュ要求とは、非同期であることができる。アクセスアービタは、行アクセス信号（ＲＡＳ）がアクティブにされるときに要求を１段目のレジスタ内にラッチし、その後、選択された遅延の後に１段目のレジスタの内容を２段目のレジスタ内にラッチすることによって、種々の要求を同期させる。【選択図】  図１
2009543268.tif 000002
【特許請求の範囲】
【請求項１】
半導体メモリセルであって、
複数のシングルポートメモリセルを含むメモリアレイと、
第１ポート及び第２ポートを含む２つのアクセスポートと、
前記第１及び第２ポート上の同期または非同期アクセス要求を、これらのアクセス要求を同期させかつ優先順位を付けることによって調停するように構成されたアクセスアービタとを含むことを特徴とする半導体メモリセル。
【請求項２】
前記アクセスアービタが、
前記メモリアレイのアクセスを開始するために用いられるメモリアクセス制御信号によってクロックされる１段目と、前記メモリアクセス制御信号の遅延バージョンによってクロックされる２段目とを有するシンクロナイザ回路を含むことを特徴とする請求項１の半導体メモリセル。
【請求項３】
前記メモリアクセス制御信号に遅延を導入し、それによって前記メモリアクセス制御信号の前記遅延バージョンを作成するように構成された遅延回路をさらに含むことを特徴とする請求項２の半導体メモリセル。
【請求項４】
前記第１ポート及び前記第２ポートに結合されたマルチプレクサをさらに含み、前記マルチプレクサが、前記シンクロナイザ回路の前記２段目によって供給される信号に応じて前記第１ポートまたは前記第２ポートから前記メモリアレイへ信号を選択的に送信するように構成されていることを特徴とする請求項２の半導体メモリセル。
【請求項５】
前記第１ポート及び前記第２ポートに結合されたマルチプレクサをさらに含み、前記マルチプレクサが、前記アクセスアービタによって生成される選択信号に応じて第１ポートまたは前記第２ポートから前記メモリアレイへ信号を選択的に送信するように構成されていることを特徴とする請求項１の半導体メモリセル。
【請求項６】
前記アクセスアービタによって供給されるメモリ要求信号に応じて前記メモリアレイにアクセスするための複数の制御信号をシーケンシャルにアクティブ及び非アクティブにするように構成されたメモリシーケンサをさらに含むことを特徴とする請求項１の半導体メモリセル。
【請求項７】
前記シングルポートメモリセルが、リフレッシングを要求し、
前記半導体メモリセルが、前記アクセスアービタに供給されるリフレッシュ要求信号をアクティブにするように構成されたリフレッシュコントローラをさらに含むことを特徴とする請求項１の半導体メモリセル。
【請求項８】
前記第２ポートが、クロック信号に応じてイネーブルにされる読み出し専用ポートであり、
前記リフレッシュコントローラが、前記クロック信号に応じて前記リフレッシュ要求信号をアクティブにするように構成されていることを特徴とする請求項７の半導体メモリセル。
【請求項９】
前記第１ポートが、非同期読み出し／書き込みポートであることを特徴とする請求項８の半導体メモリセル。
【請求項１０】
前記アクセスアービタが、前記アクティブにされたリフレッシュ要求信号によって示されるリフレッシュ要求を調停するようにさらに構成されていることを特徴とする請求項７の半導体メモリセル。
【請求項１１】
前記第１及び第２ポート上の前記アクセス要求と前記リフレッシュ要求信号とが互いに対して非同期的であることを特徴とする請求項７の半導体メモリセル。
【請求項１２】
前記第１及び第２ポートが、非同期読み出し／書き込みポートであることを特徴とする請求項１の半導体メモリセル。
【請求項１３】
メモリセルを動作させる方法であって、
メモリアレイのシングルポートメモリセルにデータを格納するステップと、
第１ポート上のアクセス要求に応じて前記メモリアレイにアクセスするステップと、
第２ポート上のアクセス要求に応じて前記メモリアレイにアクセスするステップと、
前記第１及び第２ポート上の非同期アクセス要求を、これらのアクセス要求を同期させかつ優先順位を付けることによって調停するステップとを含むことを特徴とする方法。
【請求項１４】
前記第１及び第２ポート上の前記アクセス要求が、
前記メモリアレイのアクセスを開始するために用いられるメモリアクセス制御信号に応じて前記第１及び第２ポート上のアクセス要求を１段目のレジスタに格納し、
前記メモリアクセス制御信号の遅延バージョンに応じて前記１段目のレジスタ内の前記アクセス要求を２段目のレジスタに格納することによって、
同期されることを特徴とする請求項１３の方法。
【請求項１５】
前記メモリアクセス制御信号に遅延を導入し、それによって前記メモリアクセス制御信号の前記遅延バージョンを作成するステップをさらに含むことを特徴とする請求項１４の方法。
【請求項１６】
前記シンクロナイザ回路の前記２段目によって供給される信号に応じて前記第１ポートまたは前記第２ポートから前記メモリアレイへアクセス制御信号を選択的に送信するステップをさらに含むことを特徴とする請求項１４の方法。
【請求項１７】
前記調停ステップが、認可されたアクセス要求を示すようにメモリ要求信号をアクティブにするステップを含み、
前記方法が、前記アクティブにされたメモリ要求信号に応じて前記メモリアレイにアクセスするための複数の制御信号をシーケンシャルにアクティブ及び非アクティブにするステップをさらに含むことを特徴とする請求項１３の方法。
【請求項１８】
シングルポートメモリセルを定期的にリフレッシュするステップをさらに含むことを特徴とする請求項１３の方法。
【請求項１９】
前記第２ポート上の前記アクセス要求がクロック信号によって供給されるような前記第２ポートへの読み出し専用アクセスを実行するステップと、
前記クロック信号に応じて前記シングルポートメモリセルに対するリフレッシュ要求を生成するステップとをさらに含むことを特徴とする請求項１８の方法。
【請求項２０】
前記クロック信号に応じて非同期的に前記第１ポート上での読み出し及び書き込みアクセスを実行するステップをさらに含むことを特徴とする請求項１９の方法。
【請求項２１】
前記リフレッシュ要求と前記第１及び第２ポート上のアクセス要求とを調停するステップをさらに含むことを特徴とする請求項１９の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スタティックＲＡＭ（ＳＲＡＭ）システムやダイナミックＲＡＭ（ＤＲＡＭ）システムなどの半導体メモリセルに関する。詳細には、本発明は、シングルポートメモリセルを用いてデュアルポートメモリを実装する方法及び装置に関する。加えて、本発明は、２つのポート上のアクセスが互いに非同期であることができるようなデュアルポートメモリに関する。
【背景技術】
【０００２】
従来、デュアルポート半導体メモリは、デュアルポートスタティックＲＡＭ（ＳＲＡＭ）セル及びデュアルポートダイナミックＲＡＭ（ＤＲＡＭ）セルなどの従来のデュアルポートメモリセルにより実装されてきた。
【０００３】
図１は、従来のデュアルポートＳＲＡＭセル１００を示す回路図である。デュアルポートＳＲＡＭセル１００は、８つのトランジスタ１０１‐１０８を含み、２本のワード線ＷＬＰ１‐ＷＬＰ２及び４本のビット線ＢＬＰ１、ＢＬＰ１＃、ＢＬＰ２、ＢＬＰ２＃を必要とする。デュアルポートＳＲＡＭセル１００の第１ポート（ポート１）は、ワード線ＷＬＰ１及びビット線ＢＬＰ１‐ＢＬＰ１＃を介してアクセスされる。ＳＲＡＭセル１００の第２ポート（ポート２）は、ワード線ＷＬＰ２及びビット線ＢＬＰ２‐ＢＬＰ２＃を介してアクセスされる。
【０００４】
図２は、従来のデュアルポートＤＲＡＭセル２００を示す回路図である。デュアルポートＤＲＡＭセル２００は、２つのトランジスタ２０１−２０２及びキャパシタ２０３を含み、２本のワード線ＷＬ１‐ＷＬ１及び２本のビット線ＢＬ１‐ＢＬ１を必要とする。ＤＲＡＭセル２００の第１ポートは、ワード線ＷＬ１及びビット線ＢＬ１を介してアクセスされる。ＤＲＡＭセル２００の第２ポートは、ワード線ＷＬ１及びビット線ＢＬ１を介してアクセスされる。デュアルポートＤＲＡＭセル２００については、特許文献１に詳述されている。
【０００５】
図３及び図４は、それぞれ、従来のシングルポートＳＲＡＭセル３００及び従来のシングルポートＤＲＡＭセル４００を示す回路図である。シングルポートＳＲＡＭセル３００は、６つのトランジスタ３０１‐３０６を含み、２本のビット線ＢＬ及びＢＬ＃と、１本のワード線ＷＬを必要とする。シングルポートＤＲＡＭセル４００は、１つのトランジスタ４０１と１つのキャパシタ４０２とを含み、１本のビット線ＢＬと１本のワード線ＷＬとを必要とする。デュアルポートセル１００及び２００は、対応するシングルポートセル３００及び４００よりかなり多くの回路素子を含んでいるので、デュアルポートセル１００及び２００は、対応するシングルポートセル３００及び４００よりかなり多くの配置面積を占めている。
【０００６】
加えて、デュアルポートＳＲＡＭセル１００の両ポート（またはデュアルポートＤＲＡＭセル２００の両ポート）が同時にアクセスされるとき、普通は断続的なデータが結果として生じる。すなわち、デュアルポートセルの一方のポート上で書き込み動作が行われ、デュアルポートセルの他方のポート上で読み出し動作が行われるとき、書き込み動作及び読み出し動作は互いに干渉することがある。これらの場合、誤った（または不確定の）データがデュアルポートセルから読み出されるかまたはデュアルポートセルに書き込まれることがある。断続的なデータの問題は、ＳＲＡＭセル３００及びＤＲＡＭセル４００などのシングルポートセルには存在しないことに留意されたい。
【特許文献１】米国特許第５，９２３，５９３号明細書
【特許文献２】米国特許第６，５０４，７８０号明細書（Ｂ２）
【特許文献３】米国特許第６，０７５，７２０号明細書
【特許文献４】米国特許第６，０２８，８０４号明細書
【特許文献５】米国特許第６，２２２，７８５号明細書（Ｂ１）
【特許文献６】米国特許第号明細書
【特許文献７】米国特許第号明細書
【特許文献８】米国特許第号明細書
【非特許文献１】"Digital Logic MetaStability and Flip Flop MTBF Calculation", http://www.interfacebus.com/Design_MetaStable.html
【非特許文献２】"The behavior of Flip-Flops Used as Synchronizers and Prediction of Their Failure Rate", by Harry J. M. Veendrick, JSSC vol. SC-15, No. 2, 1980, pp. 169-176.
【発明の開示】
【発明が解決しようとする課題】
【０００７】
シングルポートセルを用いてデュアルポート機能を実行し、それによってセル配置面積を最小にしかつ断続的なデータを排除できることが望ましいであろう。
【課題を解決するための手段】
【０００８】
従って、本発明は、シングルポートメモリセルを用いて実装されるデュアルポートメモリセルを提供する。さらに具体的には、本発明は、シングルポートメモリセルのアレイを含み、シングルポートメモリセルは、例えばＳＲＡＭまたはＤＲＡＭセルなどであり得る。第１レジスタ群は、第１ポートに関連するデータ、アドレス、制御値を格納し、第２レジスタ群は、第２ポートに関連するデータ、アドレス、制御値を格納する。アクセスアービタが、第１及び第２ポートにそれぞれ関連する第１及び第２ポートイネーブル信号を受信するように構成される。シングルポートメモリセルがリフレッシュを必要とするのであれば、アクセスアービタもリフレッシュ要求信号を受信する。
【０００９】
アクセスアービタは、第１ポートイネーブル信号、第２ポートイネーブル信号またはリフレッシュ要求信号のうちの１若しくは複数がアクティブにされるときにメモリ要求信号をアクティブにするための回路素子を含む。アクティブにされたメモリ要求信号によって、メモリシーケンサが、メモリアレイにアクセスするために必要な制御信号をシーケンシャルにアクティブ及び非アクティブにする。一実施形態において、これらの制御信号のうちの１つは、行アクセス信号（ＲＡＳ）である。
【００１０】
アクセスアービタはまた、１段目及び２段目を有する同期化回路（シンクロナイゼーション回路）を含む。第１及び第２ポートイネーブル信号及びリフレッシュ要求信号は、行アクセス信号に応じて同期化回路の１段目内に全てラッチされる。遅延回路は、行アクセス信号に遅延Ｔを導入し、それによって遅延行アクセス信号を作成する。同期化回路の１段目の内容は、遅延行アクセス信号に応じて同期化回路の２段目内にラッチされる。遅延Ｔは、期待される平均故障間隔を制御するように選択される。
【００１１】
同期化回路の２段目の内容は優先順位付け回路（プライオリタイゼーション回路）に供給され、優先順位付け回路は、第１ポートに関連する第１の選択信号と、第２ポートに関連する第２の選択信号と、リフレッシュ要求に関連する第３の選択信号とを生成する。優先順位付け回路は、所与の時間に第１、第２、第３の選択信号のうち最高優先度の信号のみがアクティブにされることを確実にする。アクティブにされると、第１、第２、第３の選択信号は、それぞれ、第１ポート上でのアクセス、第２ポート上でのアクセス、リフレッシュアクセスを可能にする。
【００１２】
第１、第２、第３の選択信号は、行アクセス信号と共に用いられて、メモリ要求信号を非アクティブにする。
【００１３】
一実施形態に従って、クロック信号が第１論理状態を有する間に、ポートイネーブル信号のうちの１つがアクティブにされかつ処理される。リフレッシュ要求信号は、クロック信号が第２論理状態を有する間にアクティブにされかつ処理されることができる。この実施形態は、表示バッファの実装に有用である。
【００１４】
本発明は、以下の説明及び図面に照らしてさらに十分に理解されよう。
【発明を実施するための最良の形態】
【００１５】
本明細書に記載の実施形態は、説明のためだけに与えられているものであり、本発明を制限する役割を果たすことを意図してはいない。第１実施形態では、両方のポートが連続動作クロックなしでアクセスされる。第２実施形態では、一方のポートは連続動作クロックとのアクセスインタフェースを有するが、他方のポートは有しない。第２実施形態のメモリは、ＬＣＤパネルまたは表示モニタのための表示データをメモリが格納するような表示バッファとして、特に有用である。表示バッファは、第１（表示）ポートを有し、このポートからは、表示画面をリフレッシュするように表示データが通常の方法で読み出される。この表示ポートは、通常、連続ピクセルクロックまたは行表示クロックと同期する。表示バッファは、グラフィックスコントローラまたは処理装置（画面更新のために表示バッファ内に新たな表示データを投入するもの）によるメモリアクセスを可能にするような第２（画面更新）ポートを有することもある。画面更新ポートは、通常、連続クロック信号なしで作動する。むしろ、画面更新ポートにアクセスするためにメモリアクセス信号が用いられる。アクティブにされたメモリアクセス信号は、外部メモリアクセスの開始を示す。
【００１６】
後述するデュアルポートメモリセルにおいて、デュアルポートメモリの実装にシングルポートダイナミックＲＡＭ（ＤＲＡＭ）セルが用いられ、ここで、ＤＲＡＭセルのリフレッシングは完全に非表示にされる（従って、メモリがデュアルポートＳＲＡＭのように振る舞う）。２つのポートからのメモリアクセスは、互いに対して同期または非同期であることができる。２つのポートからのメモリアクセスは、到着順に従ってスケジュールされ、より早く到着したメモリ要求から先にサーブされる。両ポートがアクセス要求を実質的に同時に受信したときは、どちらのアクセスが先に処理されるのかをアクセスアービタが判定する。アクセスアービタはまた、リフレッシュアクセス要求を調停する。
【００１７】
各ポートはトランザクションバッファを含み、トランザクションバッファは、メモリが別のトランザクションまたはリフレッシュにサーブしてビジーである間に保留中（ペンディング）であるトランザクションのアクセス情報（例えば、アドレス、データ、読み出し／書き込みインジケータ及びバイト書き込み（バイトライト）インジケータ）を格納する。メモリアレイは一度に１つのアクセスのみを取り扱うので、２つのポートから同一メモリ位置への同時アクセスによって、メモリ内容または読み出しデータが汚染されることはない。しかし、リフレッシュと共に２つのポートのアクセス周波数がメモリアレイの最大動作周波数を超えるならば、メモリはオーバランされる場合がある。メモリオーバランの状況を避けるために、メモリアレイは、内部リフレッシュと２つのポートの最大アクセス周波数との合計に等しいかそれより大きい周波数で動作できるように設計される。
【００１８】
リフレッシュアクセスを定期的に生成してメモリ内容をリフレッシュするために、特許文献２に記載のリフレッシュコントローラと同じようなリフレッシュコントローラが組み込まれる場合がある。一実施形態において、リフレッシュコントローラへのクロックは、リング発振器または双安定バイブレータを用いてメモリ内で生成される。そのような回路は、当分野で公知であり、本特許出願ではこれ以上説明しない。この場合、リフレッシュコントローラ動作は２つのポートのいずれかと同期的でなく、２つのポートは互いに同期的でない。従って、３つのメモリアクセスと、リフレッシュと、２つのポートからのアクセスとは、互いに非同期的である。後述する第２実施形態においては、リフレッシュコントローラのクロック入力は表示ポートのクロック信号に接続される。従って、メモリリフレッシュは表示クロックと同期的である。
【００１９】
図５は、本発明の一実施形態に従ってシングルポートメモリセルを用いて実装されるデュアルポートメモリセル５００のブロック図である。以下に詳述するように、メモリセル５００の２つのポートからの外部アクセス及びリフレッシュ動作は、互いに対して非同期的である。
【００２０】
デュアルポートメモリセル５００は、メモリアレイ５０１と、３：１マルチプレクサ５０２と、メモリシーケンサ５０３と、アクセスアービタ５０５と、第１ポート（ポートＡ）に関連する第１トランザクションバッファ５１０と、第２ポート（ポートＢ）に関連する第２トランザクションバッファ５２０と、リフレッシュコントローラ５３０と、論理ＡＮＤゲート５４１‐５４２とを含む。第１トランザクションバッファ５１０は、入力データレジスタ５１１と、出力データレジスタ５１２と、アドレス／制御レジスタ５１３とを含む。同様に、第２トランザクションバッファ５２０は、入力データレジスタ５２１と、出力データレジスタ５２２と、アドレス／制御レジスタ５２３とを含む。第１トランザクションバッファ５１０は、（入力データレジスタ５１１内に）入力データワードＬＤＡ［３１：０］を格納し、（出力データレジスタ５１２内に）出力データワードＱＡ［３１：０］を格納し、（アドレス／制御レジスタ５１３内に）アクセスアドレスＬＡＡ［１４：０］及び読み出し／書き込み制御信号ＬＲＷＡ＃を格納する。同様に、第２トランザクションバッファ５２０は、（入力データレジスタ５２１内に）入力データワードＬＤＢ［３１：０］を格納し、（出力データレジスタ５２２内に）出力データワードＱＢ［３１：０］を格納し、（アドレス／制御レジスタ５２３内に）アクセスアドレスＬＡＢ［１４：０］及び読み出し／書き込み制御信号ＬＲＷＢ＃を格納する。第１及び第２トランザクションバッファ５１０及び５２０は、メモリセル５００が他方のポートにサーブしてビジーである場合に、それぞれ、ポートＡ及びポートＢに関連するアクセス情報を格納する。
【００２１】
メモリアレイ５０１には、１若しくは複数のメモリバンクを含めることができる。記載されている例では、メモリアレイ５０１は、特許文献３に記載のものなどの通常のＤＲＡＭセルまたはエンベデッドＤＲＡＭセルを用いて実装される。メモリアレイ５０１は、代わりに、定期的なリフレッシングを必要とする他の揮発性メモリセルを用いて実装されることもできる。メモリアレイ５０１は、ＳＲＡＭセルを用いて実装されることもできる。メモリアレイ５０１がＳＲＡＭセルを用いて実装されるならば、後述の実施形態のリフレッシュ動作は、存在しないことになり、それゆえに無視できる。
【００２２】
アレイ５０１のメモリセルは、デュアルメモリポートＡまたはＢのいずれかを介してアクセスされることができる。記載されている例では、メモリアレイ５０１は、１ｋ行×１ｋ列に編成されたメモリセルを含む（尤も、このサイズで本発明を実行する必要があるわけではない）。加えて、メモリアレイ５０１は、センスアンプと、ワード線ドライバと、読み出しデータ増幅器と、書き込みデータドライバと、行及び列アドレスデコーダとを含む。そのようなアレイの例は、特許文献４に詳しく記載されている。
【００２３】
メモリアレイ５０１に供給されるアドレスＭＡ［１４：０］は、３：１マルチプレクサ５０２によってドライブされ、マルチプレクサ５０２は、ラッチされたポートＡアクセスアドレスＬＡＡ［１４：０］、ラッチされたポートＢアクセスアドレスＬＡＢ［１４：０］、またはリフレッシュコントローラ５３０によって供給されるリフレッシュアドレスＲＦＡ［９：０］を選択するように制御される。メモリアレイ５０１は１回に１行リフレッシュされ、メモリアレイ５０１は１０２４行しか有していないので、リフレッシュ動作中に１０ビット行アドレスＭＡ［１４：５］のみが要求とされる。
【００２４】
マルチプレクサ５０２はまた、メモリアレイ５０１への選択されたポートに関連する読み出し／書き込みインジケータ信号（すなわちポートＡに対するＬＲＷＡ＃またはポートＢに対するＬＲＷＢ＃）を、読み出し／書き込みインジケータ信号ＭＲＷ＃として保持する。リフレッシュ動作中（すなわちリフレッシュ制御信号ＲＥＦがハイにアクティブにされるとき）、読み出し／書き込みインジケータ信号ＭＲＷ＃の論理値は無視される。
【００２５】
マルチプレクサ５０２はまた、メモリアレイ５０１への選択されたポートに関連するラッチされた入力データ（すなわちポートＡに対するＬＤＡ［３１：０］またはポートＢに対するＬＤＢ［３１：０］）を、書き込みデータ値ＭＤ［３１：０］として保持する。
【００２６】
メモリアレイ５０１の内部動作は、行アクセス（ＲＡＳ）信号、センスアンプイネーブル（ＳＥＮＳＥ）信号、列アクセス（ＣＡＳ）信号、プリチャージ（ＰＲＣ）信号によって制御される。一般に、ＲＡＳ、ＳＥＮＳＥ、ＣＡＳ、ＰＲＣ信号は、メモリアクセス制御信号と呼ばれる場合がある。ＲＡＳ、ＳＥＮＳＥ、ＣＡＳ、ＰＲＣ信号は全て、アクセスアービタ５０５内で生成されるメモリ要求信号（ＭＲＱ）及びリフレッシュ要求信号（ＲＥＦ）に応じて、メモリシーケンサ５０３によって生成される。一実施形態において、メモリシーケンサ５０３及び関連するメモリ制御信号ＲＡＳ、ＳＥＮＳＥ、ＣＡＳ、ＰＲＣは、特許文献５に記載のものと同じように実現されることができる。一般に、メモリアクセスサイクルは、ＲＡＳ信号をアクティブにすることで始まり、ＲＡＳ信号を非アクティブにすることで終わる。メモリシーケンサ５０３は、受信したメモリ要求信号ＭＲＱが論理ハイ状態にアクティブにされるたびに、メモリアクセスサイクルを開始する。メモリ要求信号ＭＲＱはメモリアクセスアービタ５０５によって駆動され、メモリアクセスアービタ５０５は、ポートＡ及びＢとメモリリフレッシュコントローラ５３０に関連するアクセス要求を調停する。
【００２７】
各ポートインタフェースは、データ出力バスＱＮ［３１：０］と、入力データバスＤＮ［３１：０］と、入力アドレスバスＡＮ［１４：０］と、読み出し／書き込みインジケータ線ＲＷＮ＃と、ポートイネーブル線ＰＮＥとからなり、ここで、各信号名中の「Ｎ」は、ポートＡまたはポートＢのいずれかを識別する。
【００２８】
外部デバイス（図示せず）が、先ず、アドレスバスＡＮ［１４：０］上のアドレスと、正しい状態の読み出し／書き込みインジケータＲＷＮ＃（「０」は書き込み、「１」は読み出し）と、書き込み動作の場合、入力データバスＤＮ［３１：０］上の書き込みデータとをドライブすることによって、ポートの一方上でのアクセスを開始する。その後、外部デバイスは、ポートイネーブル信号ＰＮＥを論理ハイ状態にドライブする。結果として、アドレスＡＮ［１４：０］及び読み出し／書き込みインジケータＲＷＮ＃が、関連するアドレス／制御レジスタ（すなわち５１３または５２３）内にラッチされ、書き込み動作の場合、書き込みデータＤＮ［３１：０］が、関連する入力データレジスタ（すなわち５１１または５２１）内にラッチされる。
【００２９】
リフレッシュコントローラ５３０は、メモリセル５００内でリフレッシュアクセスを開始する。リフレッシュコントローラ５３０は、メモリアレイ５０１の行がリフレッシュされるたびに定期的にリフレッシュ要求信号ＲＲＥＱを論理ハイ状態にアクティブにする。リフレッシュ要求信号ＲＲＥＱの周期は、アレイ５０１の全メモリセルがタイミング良くリフレッシュされる（すなわちデータのロスがない）ことを確実にするように選択される。リフレッシュコントローラ５３０はまた、リフレッシュされる行の行アドレスＲＦＡ［９：０］を供給する。リフレッシュ行アドレスＲＦＡ［９：０］は、リフレッシュ動作が行われるたびに更新される。
【００３０】
メモリアービタ５０５は、ポートＡ、ポートＢ及びリフレッシュコントローラ５３０から受信されるアクセス要求を調停する。メモリアレイ５０１へのアクセスは、先着順で認可される。３つのアクセス要求が実質的に同時に到着するならば、ポートＡアクセス要求、ポートＢアクセス要求、リフレッシュ要求の順に優先度が与えられる。３つのアクセス要求のうち２つが実質的に同時に到着する場合にも同じ優先度が与えられる。
【００３１】
図６は、本発明の第１の実施形態に従うアクセスアービタ５０５の回路図である。アクセスアービタ５０５は、セットリセット（Ｓ−Ｒ）フリップフロップ６０１‐６０３と、論理ＮＯＲゲート６１０‐６１１と、シンクロナイザ６２０と、プライオリティエンコーダ６３０と、論理ＡＮＤゲート６４１‐６４３と、遅延回路６５０とを含む。シンクロナイザ６２０は、１段目のフリップフロップ６２１‐６２３と、２段目のフリップフロップ６２５‐６２７とを含む。プライオリティエンコーダ６３０は、論理ＮＯＲゲート６３１‐６３２を含む。
【００３２】
アクセス要求信号ＰＡＥ、ＰＢＥ、ＲＲＥＱは、それぞれ、Ｓ−Ｒフリップフロップ６０１、６０２、６０３のセット入力端子に印加される。これらのアクセス要求信号ＰＡＥ、ＰＢＥまたはＲＲＥＱのいずれか１つがハイにアクティブにされるとき、対応するＳ−Ｒフリップフロップ６０１、６０２または６０３は、論理ハイ出力信号を供給するようにセットされる。Ｓ−Ｒフリップフロップ６０１、６０２、６０３によって供給されるラッチされた出力信号は、それぞれ、ＬＰＥＡ、ＬＰＥＢ、ＲＦＲＱと呼ばれる。ＬＰＥＡ、ＬＰＥＢ、ＲＦＲＱ信号は、ＮＯＲゲート６１０の入力端子に供給される。ＬＰＥＡ、ＬＰＥＢ、ＲＦＲＱ信号のいずれか１つが論理ハイ状態を有するならば、ＮＯＲゲート６１０は、ＮＯＲゲート６１１の一方の入力端子に論理ロー出力信号を供給する。ＮＯＲゲート６１１の他方の入力端子は、行アクセス信号ＲＡＳを受信するように結合される。メモリアレイ５０１が現今アクセスされていない（すなわちＲＡＳ信号がローに非アクティブにされている）限り、ＮＯＲゲート６１１はＮＯＲゲート６１０の論理ロー出力に応じて論理ハイメモリ要求信号ＭＲＱを供給する。論理ハイ状態のメモリ要求信号ＭＲＱは、メモリシーケンサ５０３をアクティブにしてメモリ制御信号ＲＡＳ、ＳＥＮＳＥ、ＣＡＳ、ＰＲＣを生成する。ＲＡＳ信号をアクティブにすることで、メモリアクセスサイクルが開始する。
【００３３】
アービタ５０５内では、ＲＡＳ信号をアクティブにすることによって、ＮＯＲゲート６１１がメモリ要求信号ＭＲＱを論理ロー状態に非アクティブにする。ＲＡＳ信号は、１段目のフリップフロップ６２１‐６２３のクロック端子及び遅延回路６５０の入力端子にも供給される。論理ハイ状態のＲＡＳ信号によって、ＬＰＥＡ、ＬＰＥＢ、ＲＦＲＱ信号が１段目のフリップフロップ６２１、６２２、６２３内にそれぞれラッチされる。加えて、論理ハイ状態のＲＡＳ信号は、遅延回路６５０内を伝播する。遅延回路６５０は、Ｔナノ秒（ｎｓ）の遅延時間を有するように設計される。結果として、遅延回路６５０は、ＲＡＳ信号に対してＴ［ｎｓ］遅延されている出力信号（Ｄ_ＲＡＳ）を供給する。遅延ＲＡＳ信号（Ｄ_ＲＡＳ）は、フリップフロップ６２５‐６２７のクロック端子に印加される。Ｄ_ＲＡＳ信号が論理ハイ状態に遷移するとき（すなわち、ＲＡＳ信号がアクティブにされてからＴ［ｎｓ］後）、１段目のフリップフロップ６２１‐６２３によって供給される出力信号は、それぞれ２段目のフリップフロップ６２５‐６２７内にラッチされ、それぞれ出力信号ＳＥＬＡ、ＳＥＬＢ、ＲＥＦとして供給される。
【００３４】
１段目のフリップフロップ６２１‐６２３及び２段目のフリップフロップ６２５‐６２７は、非同期信号ＬＰＥＡ、ＬＰＥＢ及びＲＦＲＱに対して２段シンクロナイザとして働く。非同期イベントの同期化に多段フリップフロップを用いることについては、例えば非特許文献１及び非特許文献２に、文書化されている。シンクロナイザの平均故障間隔（ＭＴＢＦ）は、１段目のシンクロナイザ（例えばフリップフロップ６２１‐６２３）のトリガと２段目のシンクロナイザ（例えばフリップフロップ６２５‐６２７）のトリガ間の遅延の指数関数である。それゆえ、遅延回路６５０によって導入される遅延Ｔは、メモリセル５００においてＭＴＢＦが許容できるものであるように選択される。
【００３５】
ＮＯＲゲート６３１及び６３２が接続されてアクセスプライオリティエンコーダ６３０が形成され、アクセスプライオリティエンコーダ６３０は、出力信号ＳＥＬＡ、ＳＥＬＢ、ＲＥＦを生成する。ＳＥＬＡ信号（すなわち２段目のフリップフロップ６２５の内容）がハイにアクティブにされるならば、ＮＯＲゲート６３１及び６３２は、それぞれＳＥＬＢ信号及びＲＥＦ信号を、論理ロー状態に非アクティブにすることになる。このことは、効果的にＳＥＬＡ信号に最も高い優先度を与える。以下に詳述するように、論理ハイ状態のＳＥＬＡ信号は、メモリセル５００のポートＡ上でアクセス動作が実行されることを可能にする。
【００３６】
論理ＡＮＤゲート６４１は、ＳＥＬＡ信号及びＲＡＳ信号を受信するように構成されている。ポートＡ上でのアクセス動作中、ＳＥＬＡ信号及びＲＡＳ信号は共にハイにアクティブにされることになる。これらの条件下で、ＡＮＤゲート６４１はＳ−Ｒフリップフロップ６０１のリセット端子に論理ハイ出力信号を供給する。それに応じて、Ｓ−Ｒフリップフロップ６０１は、論理ロー出力信号ＬＰＥＡを供給するようにリセットされる。メモリアレイ５０１への次のアクセスがポートＡ上にない限り、論理ローＬＰＥＡ信号は、ＲＡＳ信号の次の立ち上がり（すなわちメモリアレイ５０１の次のアクセス）に応じてシンクロナイザ６６０を介して転送され、それによってポートＡ上でのアクセス完了後にＳＥＬＡ信号を論理ロー状態に戻す。メモリアレイ５０１への次のアクセスがポートＡ上で起こるならば、ＬＰＥＡ信号は、ＲＡＳ信号の次の立ち上がりの前に論理ハイ状態に遷移することになる（それによってＳＥＬＡ信号をイネーブルにしてハイにアクティブにされたままにする）ことに留意されたい。
【００３７】
ＳＥＬＡ信号がローに非アクティブにされ、２段目のフリップフロップ６２６のＱ出力がハイにアクティブにされるならば、ＮＯＲゲート６３１がＳＥＬＢ信号を論理ハイ状態にアクティブにし、ＮＯＲゲート６３２がＲＥＦ信号を論理ロー状態に非アクティブにする。このことは、効果的にＳＥＬＢ信号に２番目に高い優先度を与える。以下に詳述するように、論理ハイ状態のＳＥＬＢ信号は、メモリセル５００のポートＢ上でアクセス動作が実行されることを可能にする。
【００３８】
論理ＡＮＤゲート６４２は、ＳＥＬＢ信号及びＲＡＳ信号を受信ように構成されている。ポートＢ上でのアクセス動作中、ＳＥＬＢ及びＲＡＳの両信号はハイにアクティブにされることになる。これらの条件下で、ＡＮＤゲート６４２はＳ−Ｒフリップフロップ６０２のリセット端子に論理ハイ出力信号を供給する。それに応じて、Ｓ−Ｒフリップフロップ６０２は、論理ロー出力信号ＬＰＥＢを供給するようにリセットされる。メモリアレイ５０１への次のアクセスがポートＢ上にない限り、論理ローＬＰＥＢ信号は、ＲＡＳ信号の次の立ち上がり（すなわちメモリアレイ５０１の次のアクセス）に応じてシンクロナイザ６６０を介して転送され、それによってポートＢ上でのアクセス完了後にＳＥＬＢ信号を論理ロー状態に戻す。メモリアレイ５０１への次のアクセスがポートＢ上で起こるならば、ＬＰＥＢ信号は、ＲＡＳ信号の次の立ち上がりの前に論理ハイ状態に遷移することになることに留意されたい。
【００３９】
ＳＥＬＡ信号及び２段目のフリップフロップ６２６のＱ出力が共にローに非アクティブにされるならば、ＮＯＲゲート６３１は、ローに非アクティブにされたＳＥＬＢ信号を供給する。フリップフロップ６２７のＱ出力がハイにアクティブにされるならば、これらの条件下で、ＮＯＲゲート６３２がＲＥＦ信号を論理ハイ状態にアクティブにする。このことは、効果的にＲＥＦ信号に最も低い優先度を与える。以下に詳述するように、論理ハイ状態のＲＥＦ信号は、メモリアレイ５０１内でリフレッシュ動作が行われることができるようにする。
【００４０】
論理ＡＮＤゲート６４３は、ＲＥＦ信号及びＲＡＳ信号を受信ように構成されている。メモリアレイ５０１へのリフレッシュアクセス中、ＲＥＦ及びＲＡＳの両信号はハイにアクティブにされることになる。これらの条件下で、ＡＮＤゲート６４３はＳ−Ｒフリップフロップ６０３のリセット端子に論理ハイ出力信号を供給する。それに応じて、Ｓ−Ｒフリップフロップ６０３は、論理ロー出力信号ＲＦＲＱを供給するようにリセットされる。メモリアレイ５０１への次のアクセスがリフレッシュアクセスでない限り、論理ローＲＦＲＱ信号は、ＲＡＳ信号の次の立ち上がり（すなわちメモリアレイ５０１の次のアクセス）に応じてシンクロナイザ６６０を介して転送され、それによってリフレッシュアクセス完了後にＲＥＦ信号を論理ロー状態に戻す。メモリアレイ５０１への次のアクセスがリフレッシュアクセスであれば、ＲＦＲＱ信号は、ＲＡＳ信号の次の立ち上がりの前に論理ハイ状態に遷移することになることに留意されたい。
【００４１】
メモリアレイ５０１にアクセスするために用いられるアドレスを選択するために、ＳＥＬＡ信号及びＳＥＬＢ信号が３：１マルチプレクサ５０２の入力端子に供給される。上記したように、ＮＯＲゲート６３０及び６３１によって形成されるプライオリティエンコーダ６３０は、一度に出力ＳＥＬＡ、ＳＥＬＢ、ＲＥＦのうちの１つだけをアクティブにさせる。
【００４２】
ＳＥＬＡ信号がハイにアクティブにされる（そしてＳＥＬＢ信号及びＲＥＦ信号がローに非アクティブにされる）とき、マルチプレクサ５０２は、ポートＡに関連するラッチされたアドレス信号ＬＡＡ［１４：０］と、ラッチされた読み出し／書き込み信号ＬＲＷＡ＃と、ラッチされたデータ信号ＬＤＡ［３１：０］とを、メモリアレイ５０１に送信する。
【００４３】
ＳＥＬＢ信号がハイにアクティブにされる（そしてＳＥＬＡ信号及びＲＥＦ信号がローに非アクティブにされる）とき、マルチプレクサ５０２は、ポートＢに関連するラッチされたアドレス信号ＬＡＢ［１４：０］と、ラッチされた読み出し／書き込み信号ＬＲＷＢ＃と、ラッチされたデータ信号ＬＤＢ［３１：０］とを、メモリアレイ５０１に送信する。
【００４４】
ＳＥＬＡ信号及びＳＥＬＢ信号が共にローに非アクティブにされるとき、マルチプレクサ５０２は、リフレッシュアドレスＲＦＡ［９：０］をメモリアレイ５０１に送信する。アービタ５０５は、リフレッシュ信号ＲＥＦを直接メモリアレイ５０１に送信する。リフレッシュ信号ＲＥＦがハイにアクティブにされる（そしてＳＥＬＡ信号及びＳＥＬＢ信号がローに非アクティブにされる）ならば、メモリアレイ５０１は、リフレッシュアドレスＲＦＡ［９：０］によって識別される行へのリフレッシュ動作を実行する。リフレッシュ信号ＲＥＦがアクティブにされるとき、マルチプレクサ５０２によって供給される読み出し／書き込み制御信号ＭＲＷ＃は無視される。
【００４５】
ＳＥＬＡ信号はまた、プリチャージ信号ＰＲＣ、ラッチされたポートＡ読み出し／書き込み信号ＬＲＷＡ＃と共に、ＡＮＤゲート５４１（図５）に供給される。それに応じて、ＡＮＤゲート５４１は、ポートＡ出力イネーブル信号ＰＡＯを供給する。ポートＡ出力イネーブル信号ＰＡＯは、ポートＡへの読み出しの終わりにハイにアクティブにされる（すなわち、ＬＲＷＡ＃＝１（読み出し）、ＳＥＬＡ＝１（ポートＡへのアクセス）、ＰＲＣ＝１（アクセスの終わり））。アクティブにされたポートＡ出力イネーブル信号ＰＡＯは、読み出しデータ値ＭＱ［３１：０］をデータ出力レジスタ５１２内にラッチするために用いられる。
【００４６】
同様に、ＳＥＬＢ信号はまた、プリチャージ信号ＰＲＣ、ラッチされたポートＢ読み出し／書き込み信号ＬＲＷＢ＃と共に、ＡＮＤゲート５４２に供給される。それに応じて、ＡＮＤゲート５４２はポートＢ出力イネーブル信号ＰＢＯを供給する。ポートＢ出力イネーブル信号ＰＢＯは、ポートＢへの読み出しアクセスの終わりにハイにアクティブにされる（すなわち、ＬＲＷＢ＃＝１（読み出し）、ＳＥＬＢ＝１（ポートＢへのアクセス）、ＰＲＣ＝１（アクセスの終わり））。アクティブにされたポートＢ出力イネーブル信号ＰＢＯは、読み出しデータ値ＭＱ［３１：０］をデータ出力レジスタ５２２内にラッチするために用いられる。
【００４７】
図７は、ポートＡ及びＢ上のアクセス要求とリフレッシュ要求とが同時に発生するようなメモリセル５００の最悪動作条件での、アービタ５０５及びメモリシーケンサ５０３における信号を示す波形図７００である。
【００４８】
時間Ｔ０の前に、外部アクセス回路（図示せず）が、ポートＡ上のアクセスに関連する読み出し／書き込み制御信号ＲＷＡ＃と、アドレス値ＡＡ［１４：０］と、データ値ＤＡ［３１：０］とを供給する。同様に、外部アクセス回路は、ポートＢ上のアクセスに関連する読み出し／書き込み制御信号ＲＷＢ＃と、アドレス値ＡＢ［１４：０］と、データ値ＤＢ［３１：０］とを供給する。データ値ＤＡ［３１：０］及びＤＢ［３１：０］は、読み出しアクセスには供給されないことに留意されたい。
【００４９】
時間Ｔ０では、リフレッシュコントローラ５３０がリフレッシュ要求信号ＲＲＥＱをアクティブにし、ポートイネーブル信号ＰＡＥ及びＰＢＥがアクティブにされる。すなわち、アクセス要求信号ＰＡＥ、ＰＢＥ、ＲＲＥＱは全て同時にハイになる。リフレッシュ要求信号ＲＲＥＱ、ポートイネーブル信号ＰＡＥ、ポートイネーブル信号ＰＢＥは、互いに対して非同期的であることに留意されたい。すなわち、ＲＲＥＱ、ＰＡＥ及びＰＢＥ信号をアクティブにすることを制御するような共通クロック信号はない。
【００５０】
アクセスアービタ５０５内では、論理ハイ状態のＰＡＥ、ＰＢＥ、ＲＲＥＱ信号は、それぞれ、Ｓ−Ｒフリップフロップ６０１、６０２、６０３を同時にセットし、それによって、対応するラッチされた出力信号ＬＰＥＡ、ＬＰＥＢ、ＲＦＲＱを論理ハイ状態に遷移させる。それに応じて、ＮＯＲゲート６１０は論理ロー出力信号を供給するが、論理ロー状態のＲＡＳ信号と共に論理ロー出力信号によって、ＮＯＲゲート６１１がメモリ要求信号ＭＲＱを論理ハイ状態にドライブする。論理ハイ状態のメモリ要求信号ＭＲＱは、メモリシーケンサ５０３をアクティブにするので、メモリシーケンサ５０３は、図７に示されている波形パターン７０１に従ってメモリ制御信号（ＲＡＳ、ＳＥＮＳＥ、ＣＡＳ、ＰＲＣ）をアクティブ及び非アクティブにする。
【００５１】
ＲＡＳ信号がハイにアクティブにされるとき、ＮＯＲゲート６１１がメモリ要求信号ＭＲＱを論理ロー状態にドライブする。このようにして、ＲＡＳ信号及びＭＲＱ信号は、メモリアクセスを要求及び肯定応答するためのハンドシェイク・ぺアを形成する。アービタ５０５内では、ＲＡＳ信号の立ち上がりによっても、１段目のレジスタ６２１‐６２３がＬＰＥＡ、ＬＰＥＢ、ＲＦＲＱ信号の論理ハイ値をそれぞれラッチする。
【００５２】
Ｔ［ｎｓ］の遅延後、ＲＡＳ信号の立ち上がりが、遅延信号Ｄ_ＲＡＳとして遅延回路６５０内を伝播する。Ｄ_ＲＡＳ信号の立ち上がりによって、２段目のフリップフロップ６２５‐６２７が、１段目のフリップフロップ６２１‐６２３の出力に供給される論理ハイ値をそれぞれラッチし、それによってＲＡＳ信号とラッチされた要求信号ＬＰＥＡ、ＬＰＥＢ及びＲＦＲＱとの間で同期を完了する。同期されたＬＰＥＡ、ＬＰＥＢ及びＲＦＲＱ信号は、それぞれ２段目のフリップフロップ６２５‐６２７の出力で現れる。
【００５３】
フリップフロップ６２５の出力での同期されたＬＰＥＡ信号が、ＳＥＬＡ信号を形成する。ハイ状態のＳＥＬＡ信号によって、ＮＯＲゲート６３１及び６３２がＳＥＬＢ及びＲＥＦ信号を論理ロー状態にドライブする。ハイ状態のＳＥＬＡ及びＲＡＳ信号によって、ＡＮＤゲート６４１が論理ハイ出力を供給し、それによってＳ−Ｒフリップフロップ６０１の出力（すなわちＬＰＥＡ）を論理ロー状態にリセットする。しかし、Ｓ−Ｒフリップフロップ６０２及び６０３によって供給されるＬＰＥＢ及びＲＦＲＱ信号は、尚も論理ハイ状態を有する。結果として、ＮＯＲゲート６１０は尚もＮＯＲゲート６１１に論理ロー出力信号を供給する。
【００５４】
ハイ状態のＳＥＬＡ信号及びロー状態のＳＥＬＢ及びＲＥＦ信号によって、マルチプレクサ５０２が、ラッチされたメモリアドレスＬＡＡ［１４：０］をアドレス／制御レジスタ５１３からメモリアレイ５０１へメモリアドレスＭＡ［１４：０］としてドライブする。マルチプレクサ５０２はまた、ラッチされた読み出し／書き込み制御値ＬＲＷＡ＃をメモリアレイ５０１へメモリアレイ読み出し／書き込みイネーブル信号ＭＲＷ＃としてドライブする。加えて、マルチプレクサ５０２は、ラッチされた入力データ値ＬＤＡ［３１：０］をデータ入力レジスタ５１１からメモリアレイ５０１へ入力メモリデータ値ＭＤ［３１：０］としてドライブする。
【００５５】
ポートＡ上でのアクセスが書き込み動作であれば、読み出し／書き込み制御信号ＭＲＷ＃はローであり、入力メモリデータ値ＭＤ［３１：０］はメモリアドレスＭＡ［１４：０］によって識別されるメモリ位置に書き込まれる。ポートＡ上でのアクセスが読み出し動作であれば、読み出し／書き込み制御信号ＭＲＷ＃はハイであり、読み出しデータ値ＭＱ［３１：０］は、メモリアドレスＭＡ［１４：０］によって識別されるメモリ位置から検索される。プリチャージ信号ＰＲＣがハイにアクティブにされるとき、ポートＡ出力イネーブル信号ＰＡＯはハイにアクティブにされ、それによってデータ出力レジスタ５１２内に読み出しデータ値ＭＱ［３１：０］をラッチする。データ出力レジスタ５１２は、この読み出しデータ値をポートＡの出力データバス上に出力データ値ＱＡ［３１：０］として供給する。
【００５６】
ＰＲＣ信号をアクティブにすることで、ＲＡＳ信号が論理ロー状態に遷移する。メモリシーケンサ５０３内では、ＮＯＲゲート６１０によって供給される論理ロー信号と結合されるような論理ロー状態のＲＡＳ信号によって、ＮＯＲゲート６１１がメモリ要求信号ＭＲＱを論理ハイ状態にドライブし、それによって別のメモリアクセスを開始する。すなわち、メモリシーケンサ５０３が、波形パターン７０１によって画定されるものと同様に、ＲＡＳ、ＳＥＮＳＥ、ＣＡＳ、ＰＲＣ信号を再びアクティブにする。ＲＡＳ信号がハイにアクティブにされるとき、論理ロー状態のＬＰＥＡ信号はフリップフロップ６２１内に格納される。その後、Ｄ_ＲＡＳ信号の立ち上がりによって、ロー状態のＬＰＥＡ信号がフリップフロップ６２５内に格納されるので、このフリップフロップは、論理ロー状態を有するＳＥＬＡ信号を供給する。それに応じて、ＮＯＲゲート６３１は、論理ハイ状態を有するＳＥＬＢ信号を供給し、それによって、マルチプレクサ５０２をして、ラッチされたメモリアドレスＬＡＢ［１４：０］、ラッチされた読み出し／書き込み制御値ＬＲＷＢ＃、ラッチされた入力データ値ＬＤＢ［３１：０］をメモリアレイ５０１にドライブさせる。それに応じて、（ＬＲＷＢ＃信号によって識別されるような）読み出しまたは書き込み動作が、メモリアレイ５０１によって実行される。
【００５７】
書き込み動作の場合、データ値ＤＢ［３１：０］が、アドレスＡＢ［１４：０］によって選択されるメモリ位置に書き込まれる。読み出し動作の場合、アドレスＡＢ［１４：０］に関連するメモリ位置からのデータが、出力信号ＭＱ［３１：０］としてドライブされ、その後、メモリプリチャージ信号ＰＲＣの立ち上がりで出力データレジスタ５２２においてラッチされる。出力データレジスタ５２２は、ポートＢの読み出しデータバスＱＢ［３１：０］上でメモリ読み出しデータをドライブする。
【００５８】
論理ハイ状態のＳＥＬＢ及びＲＡＳ信号によって、ＡＮＤゲート６４２が論理ハイ出力を供給し、それによってＳ−Ｒフリップフロップ６０２の出力（すなわちＬＰＥＢ）を論理ロー状態にリセットする。しかし、Ｓ−Ｒフリップフロップ６０３によって供給されるＲＦＲＱ信号は、尚も論理ハイ状態を有する。それゆえ、ＮＯＲゲート６１０は、ＮＯＲゲート６１１に論理ロー出力信号を供給し続ける。
【００５９】
アクセスの終わりにＲＡＳ信号がローに非アクティブにされるとき、アービタ５０５内のＮＯＲゲート６１１は再びＭＲＱ信号を論理ハイ状態にドライブし、それによって別のメモリアクセス（すなわちリフレッシュアクセス）を要求する。それに応じて、メモリシーケンサ５０３は、波形パターン７０１に従って、ＲＡＳ信号、ＳＥＮＳＥ信号、ＰＲＣ信号をドライブする。ＲＡＳ及びＤ_ＲＡＳ信号の立ち上がりによって、それぞれフリップフロップ６２２及び６２６を介して論理ロー状態のＬＰＥＢ信号が伝送される。それに応じて、ＮＯＲゲート６３１は論理ローＳＥＬＢ信号を供給し、ＮＯＲゲート６３２は論理ハイＲＥＦ信号を供給する。ハイ状態のＲＥＦ信号は、現メモリサイクルをリフレッシュアクセスに指定する。
【００６０】
論理ロー状態のＳＥＬＡ及びＳＥＬＢ信号によって、マルチプレクサ５０２が、リフレッシュ行アドレスＲＦＡ［９：０］をリフレッシュコントローラ５３０からメモリアレイ５０１へアドレス信号ＭＡ［１４：５］として送信する。リフレッシュ動作には列アクセスがないので、ハイ状態のＲＥＦ信号は、メモリシーケンサにおける列アクセス信号ＣＡＳの生成を抑制する。ハイ状態のＲＥＦ信号はまた、メモリアレイ５０１におけるいかなる読み出しまたは書き込み動作をも禁止する。アービタ５０５内では、論理ハイ状態のＲＥＦ及びＲＡＳ信号によって、ＡＮＤゲート６４３が論理ハイ出力を供給し、それによってＳ−Ｒフリップフロップ６０３により供給されるＲＦＲＱ信号を論理ロー状態にリセットする。プリチャージ信号が論理ハイ状態に遷移し、ＲＡＳ信号が論理ロー状態に遷移するとき、メモリセル５００は、別のアクセス要求を受け入れる準備ができている。
【００６１】
図８は、本発明の代替実施形態に従ってシングルポートメモリセルを用いて実装されるデュアルポートメモリセル８００のブロック図である。デュアルポートメモリセル８００はデュアルポートメモリセル５００と類似しているので、図８及び図５中の類似の要素には類似の符号が付されている。デュアルポートメモリセル８００内では、ポートＢは読み出し専用ポートである。加えて、デュアルポートメモリセル８００では、メモリセル５００のポートイネーブル信号ＰＢＥはクロック信号ＳＣＬＫに置き換えられ、メモリセル５００の読み出し／書き込み信号ＲＷＢ＃は読み出しイネーブル信号ＲＥＮＢに置き換えられている。それゆえ、デュアルポートメモリセル８００は、デュアルポートメモリセル５００のアクセスアービタ５０５とは異なる方式で作動するアクセスアービタ８０５を含む。
【００６２】
図９は、本発明の一実施形態に従うアクセスアービタ８０５の回路図である。アクセスアービタ８０５は、Ｓ−Ｒフリップフロップ６０１と、データフリップフロップ９０２−９０３と、ＮＯＲゲート６１０‐６１１と、シンクロナイザ９２０と、プライオリティエンコーダ９３０と、ＡＮＤゲート６４１‐６４３と、遅延回路６５０とを含む。シンクロナイザ９２０は、ＯＲゲート９２１と、１段目のフリップフロップ６２１‐６２２と、２段目のフリップフロップ６２５‐６２６とを含む。Ｓ−Ｒフリップフロップ６０１、ＮＯＲゲート６１０‐６１１、１段目のフリップフロップ６２１‐６２２、２段目のフリップフロップ６２５‐６２６、遅延回路６５０及び論理ＡＮＤゲート６４１‐６４３については、アクセスアービタ６０５（図６）に関連して既に上記した。プライオリティエンコーダ９３０は、論理ＡＮＤゲート９３１‐９３２及びＮＯＲゲート９３３を含む。
【００６３】
フリップフロップ９０２−９０３のデータ（Ｄ）入力端子は、それぞれ、ポートＢ読み出しイネーブル信号ＲＥＮＢ及びリフレッシュ要求信号ＲＲＥＱを受信するように結合される。フリップフロップ９０２−９０３のリセット（Ｒ）端子は、それぞれ、ＡＮＤゲート６４２及び６４３によって供給される出力信号を受信するように結合される。フリップフロップ９０２及び９０３は、それぞれ、クロック入力端子及び逆相クロック入力端子を含み、これらはＳＣＬＫ信号を受信するように結合される。フリップフロップ６０１、９０２、９０３は、それぞれ、ラッチされたアクセスイネーブル信号ＬＰＥＡ、ＬＰＥＢ、ＲＦＲＱをＮＯＲゲート６１０に供給する。ＮＯＲゲート６１０はＮＯＲゲート６１１に結合され、ＮＯＲゲート６１１は、図６に関連して上記した方式でＭＲＱ信号を生成する。ＬＰＥＢ及びＲＦＲＱ信号は、シンクロナイザ９２０内のＯＲゲート９２１にも供給される。ＬＰＥＢ信号またはＲＦＲＱ信号のいずれか一方が論理ハイ状態を有するならば、１段目のフリップフロップ６２２のＤ入力端子に論理ハイ信号が供給される。さもなければ、１段目のフリップフロップ６２２のＤ入力端子に論理ロー信号が供給される。１段目のフリップフロップ６２１及び６２２は、ＲＡＳ信号によってクロックされ、２段目のフリップフロップ６２５及び６２６は、遅延回路６５０によって供給されるＤ_ＲＡＳ信号によってクロックされる。
【００６４】
ポートＡ選択信号ＳＥＬＡは、２段目のフリップフロップ６２５の出力で供給される。ＮＯＲゲート９３３は、ＳＥＬＡ信号を受信するように結合された非逆相端子と、２段目のフリップフロップ６２６のＱ出力信号を受信するように結合された逆相入力端子とを有する。それに応じて、ＮＯＲゲート９３３は、ＡＮＤゲート９３１及び９３２に出力信号を供給する。ＡＮＤゲート９３１の他方の入力端子はＳＣＬＫ信号を受信するように結合され、ＡＮＤゲート９３２の他方の入力端子はＳＣＬＫ信号の逆数を受信するように結合される。それに応じて、ＡＮＤゲート９３１及び９３２は、それぞれ、ＳＥＬＢ及びＲＥＦ信号を供給する。一般に、ＳＥＬＡ信号がハイにアクティブにされるのであれば、ＳＥＬＢ及びＲＥＦ信号はローに非アクティブにされる。ＳＥＬＡ信号が非アクティブにされるならば、ＳＥＬＢ及びＲＥＦ信号は、ＳＣＬＫ信号の交互の半サイクル中にハイにアクティブにされることができる。
【００６５】
一実施形態に従って、表示バッファを実現するためにアクセスアービタ８０５が用いられ、ここでは、画面更新機能を実現するためにグラフィックスコントローラによってポートＡが用いられ、スクリーンリフレッシュ機能を実現するためにポートＢが用いられる。ポートＡ（すなわち画面更新ポート）は、読み出し／書き込みポートであり、これはポートＢ（すなわちスクリーンリフレッシュポート）及びリフレッシュメカニズムよりも優先する。ポートＡは、図６〜図７に関連して上記したものと同じように動作する。すなわち、ポートイネーブル信号ＰＡＥがハイにアクティブにされるとき、ラッチされたポートイネーブル信号ＬＰＥＡ及びメモリ要求信号ＭＲＱは共にハイにアクティブにされる。ＲＡＳ信号は、アクティブにされたＭＲＱ信号に応じてアクティブにされる。遅延ＲＡＳ信号Ｄ_ＲＡＳは、アクティブにされたＲＡＳ信号に応じてアクティブにされる。次に、ＳＥＬＡ信号が、ＲＡＳ及びＤ_ＲＡＳ信号に応じて同期されてアクティブにされる。アクティブにされたＳＥＬＡ及びＲＡＳ信号は、ポートＡ上での次のアクセスの前にＳ−Ｒフリップフロップ６０１をリセットする。
【００６６】
スクリーンリフレッシュ動作は、定期的にポートＢ上で実行され、ＳＣＬＫ信号を用いて同期される。ポートＢイネーブル信号ＲＥＮＢは、読み出しトランザクションがスクリーンリフレッシュポートＢに到達していることを示すようにハイにアクティブにされる。連続ＳＣＬＫ信号もリフレッシュコントローラ５３０に入力され、リフレッシュ要求信号ＲＲＥＱ及びリフレッシュアドレスＲＦＡ［９：０］を生成する。この構成により、リフレッシュ要求信号ＲＲＥＱはＳＣＬＫ信号と同期するので、リフレッシュ要求及びポートＢからの読み出し要求は互いに対して同期的である。一実施形態に従って、リフレッシュ要求は、ＳＣＬＫ信号が論理ロー状態を有する間に起こるように制御され、ポートＢからの読み出し要求は、ＳＣＬＫ信号が論理ハイ状態を有する間に起こるように制御され（またはその逆）、それによってポートＢ上での読み出しアクセスとリフレッシュアクセスとの間で調停の必要をなくす。この構成を用いることは、必要なシンクロナイザの数を３から２に減らすことによって、アクセスアービタ８０５を（アクセスアービタ５０５に対して）単純化する。
【００６７】
ここで図９に戻ると、読み出し要求信号ＲＥＮＢ及びリフレッシュ要求信号ＲＲＥＱは、それぞれＳＣＬＫ信号の立ち上がり及び立下りで、それぞれデータフリップフロップ９０２及び９０３によってラッチされる。ラッチされたメモリ要求信号ＬＰＥＡ、ＬＰＥＢ、ＲＦＲＱは、メモリ要求信号ＭＲＱを生成するように論理ＯＲ演算が行われる。ラッチされたアクセス要求信号ＬＰＥＢ及びラッチされたリフレッシュ要求信号ＲＦＲＱは同期信号であるので、ＯＲゲート９２１は、これらの信号に対して、ＲＡＳ信号との同期化の前に、論理ＯＲ機能を実行する。
【００６８】
同期化は、データレジスタ６２２及び６２６によって形成される多段シンクロナイザによって実行される。ＮＯＲゲート９３３は、ポートＡにアクセス優先度を与えるので、ＳＥＬＡ信号がハイにアクティブにされるならば、ＳＥＬＢ及びＲＥＦ信号はローに非アクティブにされる。ＡＮＤゲート９３１‐９３２は（ＳＣＬＫ信号と共に）ポートＢへの読み出しアクセスとリフレッシュアクセスの間のアクセス優先度を解決する。ＮＯＲゲート９３３の出力が論理ハイ状態を有しかつＳＣＬＫ信号が論理ハイ状態を有するとき、ポートＢ上で読み出しアクセスが実行される。ＮＯＲゲート９３３の出力が論理ハイ状態を有しかつＳＣＬＫ信号が論理ロー状態を有するとき、メモリアレイ５０１内でリフレッシュアクセスが実行される。
【００６９】
アクセスアービタ５０５内で３つの多段シンクロナイザが用いられ、アクセスアービタ８０５内で３つの多段シンクロナイザが用いられてはいるが、アービタ５０５では２つの信号しか同期される必要がなく、アービタ８０５では１つの信号しか同期される必要がない。これは、ＲＡＳ信号がＭＲＱ信号によってアクティブにされ、ＭＲＱ信号が今度はハイ状態のＬＰＥＡ、ＬＰＥＢまたはＲＦＲＱ信号のうち少なくとも１つによってアクティブにされるからである。シンクロナイザの各経路は、ＲＡＳ信号をアクティブにする前にアクティブにされかつ１段目のフリップフロップで十分なセットアップ時間を有するこれらの信号（ＬＰＥＡ、ＬＰＥＢまたはＲＦＲＱ）を容易に分解することができる。そのような信号は、ＲＡＳ信号と同期されていると考えられる。それゆえ、ＲＡＳ信号は、ＲＡＳ信号がアクティブにされるたびに、３つの要求信号（ＬＰＥＡ、ＬＰＥＢまたはＲＦＲＱ）のうち少なくとも１つと同期される。全てのシンクロナイザ経路の正味のＭＴＢＦは、同期である必要がある信号の数に、単一のシンクロナイザ経路のＭＴＦＢを掛けた値に等しい。従って、アービタ８０５の正味のＭＴＢＦは、アービタ５０５の正味のＭＴＢＦの２倍長い。これは、連続ＳＣＬＫ信号を用いてリフレッシュ要求信号ＲＲＥＱ及びポートＢ読み出しアクセスイネーブル信号ＲＥＮＢの両方を生成するので、リフレッシュアクセス及びポートＢ読み出しアクセスは同期的であり、それによって、同期される必要がある１つの信号を排除する結果である。
【００７０】
幾つかの実施形態に関連して本発明を説明してきたが、本発明は、開示されている実施形態に限定されるものではなく、当業者に明らかであるような種々の改変及び実施形態が可能であることは当然である。例えば開示されている実施形態はシングルポートＤＲＡＭセルを実装するメモリセルに集中されているが、通常の技量を有するメモリ設計者が僅かに変更を加えることにより、本発明は、シングルポートＳＲＡＭセルを用いて実行されることができる。定期的なリフレッシュを必要としないシングルポートメモリセルを用いるとき、リフレッシュコントローラ５３０は除去されることができ、リフレッシュ要求信号ＲＲＥＱは接地されることができる。従って、特許請求の範囲に記載の請求項は、そのような改変または実施形態を本発明の真の範囲内に含まれるものとして扱うと考えられる。
【図面の簡単な説明】
【００７１】
【図１】従来のデュアルポートＳＲＡＭセルの回路図。
【図２】従来のデュアルポートＤＲＡＭセルの回路図。
【図３】従来のシングルポートＳＲＡＭセルの回路図。
【図４】従来のシングルポートＤＲＡＭセルの回路図。
【図５】本発明の一実施形態に従ってシングルポートメモリセルを用いて実装されるデュアルポートメモリセルのブロック図。
【図６】本発明の一実施形態に従って図５のメモリセルにおいて用いられるアクセスアービタの回路図。
【図７】ポートＡアクセス要求、ポートＢアクセス要求、リフレッシュ要求が同時に起こるような図５及び図６のメモリセルの最悪動作条件を示す波形図。
【図８】本発明の代替実施形態に従ってシングルポートメモリセルを用いて実装されるデュアルポートメモリセルのブロック図。
【図９】本発明の一実施形態に従って図８のメモリセルにおいて用いられるためのアクセスアービタの回路図。
【図１】
2009543268.tif 000003
2009543268.tif 000004
【図２】
2009543268.tif 000005
2009543268.tif 000006
【図３】
2009543268.tif 000007
2009543268.tif 000008
【図４】
2009543268.tif 000009
2009543268.tif 000010
【図５】
2009543268.tif 000011
【図６】
2009543268.tif 000012
【図７】
2009543268.tif 000013
【図８】
2009543268.tif 000014
【図９】
2009543268.tif 000015
【国際調査報告】
2009543268.tif 000016