(57)【要約】【課題】  ＤＲＡＭのメモリ密度の利点を示しつつ、通常の読出／書込データアクセスを妨げないようにリフレッシュ動作の調整によりＳＲＡＭに近いメモリアクセス時間を提供できるメモリアーキテクチャを提供する。【解決手段】  データキャッシュおよび別のデータ読出ならびに書込レジスタおよびタグブロックと共に同期動的ランダムアクセスメモリ（ＤＲＡＭ）を用いる高スピードの、静的ランダムアクセスメモリ（ＳＲＡＭ）互換可能な高利用可能メモリアレイおよび方法。別のデータ読出および書込レジスタを含むことで、装置はＤＲＡＭサブアレイのサイクル時間によってのみ制限されるサイクル時間で有効に動作できる。さらに、２つのタグブロックを含むことで、１つには外部で供給されるアドレスで、他方にはライトバックアドレスでアクセスできるため、１つのＤＲＡＭサイクル時間で単一のタグが２つの読出−変更書込サイクルを実行する要件が排除される。【選択図】        図１
2006236548.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリサブアレイを含む動的ランダムアクセスメモリアレイと、
前記複数のメモリサブアレイの１つをミラーリングするためのキャッシュと、
前記メモリアレイから読出されたデータを維持するためのデータ読出レジスタと、
前記キャッシュから読出されたデータを維持するためのデータ書込レジスタとを含む、集積回路装置。
【請求項２】
複数のメモリサブアレイを含む動的ランダムアクセスメモリアレイと、
前記複数のメモリサブアレイの１つをミラーリングするためのキャッシュと、
前記メモリアレイから読出されたデータを維持するためのデータ読出レジスタとを含む、集積回路装置。
【請求項３】
複数のメモリサブアレイを含む動的ランダムアクセスメモリアレイと、
前記複数のメモリサブアレイの１つをミラーリングするためのキャッシュと、
前記キャッシュから読出されたデータを維持するためのデータ書込レジスタとを含む、集積回路装置。
【請求項４】
複数のメモリサブアレイを含む動的ランダムアクセスメモリアレイと、
前記複数のメモリサブアレイの１つをミラーリングするためのキャッシュと、
書込タグブロックと、
読出タグブロックとを含む、集積回路装置。
【請求項５】
複数のメモリサブアレイを含む動的ランダムアクセスメモリアレイと、
前記複数のメモリサブアレイの１つをミラーリングするためのキャッシュと、
有効なデータが前記キャッシュまたは前記複数のメモリサブアレイのミラーリングされる１つに現在あるかを示すための手段とを含む、集積回路装置。
【請求項６】
複数のメモリサブアレイを含む動的ランダムアクセスメモリアレイと、
前記複数のメモリサブアレイの１つをミラーリングするためのキャッシュと、
所定の数の前記複数のメモリサブアレイおよび前記キャッシュへの一度のアクセスを制限するための制御手段とを含む、集積回路装置。
【請求項７】
複数のメモリサブアレイを含む動的ランダムアクセスメモリアレイと、
前記複数のメモリサブアレイの１つをミラーリングするためのキャッシュと、
前記キャッシュ内のどのデータが有効であるかを示すためのタグと、
前記タグ内に後続のサイクルで修正されなければならない不正確なビットセットがあるかを示すための先行外部アドレスを記憶するための手段とを含む、集積回路装置。
【請求項８】
前記データ読出レジスタに維持される前記データは、後続の装置クロックサイクルで前記キャッシュに書込まれる、請求項１、２および８のいずれかに記載の集積回路装置。
【請求項９】
前記データ書込レジスタに維持される前記データは、続いて後続の装置クロックサイクルで前記メモリアレイに書込まれる、請求項１および３のいずれかに記載の集積回路装置。
【請求項１０】
前記キャッシュは動的ランダムアクセスメモリセルを含む、請求項１から７のいずれかに記載の集積回路装置。
【請求項１１】
前記キャッシュは前記複数のメモリサブアレイの各々の数に等しい数のメモリセルを含
む、請求項２から７のいずれかに記載の集積回路装置。
【請求項１２】
前記集積回路装置に外部で供給されるアドレスを受取るためのアドレス制御ブロックをさらに含み、前記アドレス制御ブロックは外部アドレスバスを通じて前記メモリアレイおよび前記キャッシュに結合される、請求項１から５および７のいずれかに記載の集積回路装置。
【請求項１３】
前記外部アドレスバスとは別の内部アレイアドレスバスおよび内部キャッシュアドレスバスをさらに含む、請求項１２に記載の集積回路装置。
【請求項１４】
集積回路装置であって、
前記内部アレイアドレスバスおよび前記内部キャッシュアドレスバスに結合されるリフレッシュカウンタと、
前記内部アレイアドレスバスおよび前記内部キャッシュアドレスバスに結合されるライトバックカウンタと、
前記キャッシュ内の有効なデータを追跡するための書込タグブロックおよび読出タグブロックと、
前記書込タグブロックに結合される書込タグアドレスバスと、
前記読出タグブロックに結合される読出タグアドレスバスとをさらに含み、前記書込および読出タグアドレスバスは前記外部アドレスバスに結合され、前記集積回路装置はさらに、
前記ライトバックカウンタに結合される前記キャッシュ内の有効なデータを追跡するための書込および読出タグブロックを含む、請求項１３に記載の集積回路装置。
【請求項１５】
前記装置に書込まれるべきデータを受取るためおよび前記装置から読出されるべきデータを出力するためのデータ入力／出力ブロックと、
前記データ入力／出力ブロックを前記複数のメモリサブアレイの各々および前記キャッシュに結合するグローバルデータ読出／書込バスと、
前記データ入力／出力ブロックを前記データ読出および前記データ書込レジスタに結合するキャッシュ読出／書込バスとをさらに含む、請求項１および５のいずれかに記載の集積回路装置。
【請求項１６】
前記メモリサブアレイの各々は同じ数のメモリセルを含む、請求項１から７のいずれかに記載の集積回路装置。
【請求項１７】
前記内部アレイアドレスバスまたは前記外部アドレスバス上のアドレスに応答するように選択的に前記複数のメモリサブアレイをイネーブルするために前記外部アドレスバスに結合される制御論理ブロックをさらに含む、請求項１３に記載の集積回路装置。
【請求項１８】
前記制御論理ブロックは、前記内部キャッシュアドレスバスまたは前記外部アドレスバス上のアドレスに応答するように選択的に前記キャッシュをイネーブルするためにさらに動作する、請求項１３に記載の集積回路装置。
【請求項１９】
タグイネーブル信号を前記書込および読出タグブロックに供給するための制御論理ブロックをさらに含み、前記読出タグブロックはタグ読出データ信号を前記制御ブロックに供給するように動作し、前記制御論理ブロックはタグ書込データ信号を前記書込タグブロックに供給するように動作する、請求項１３に記載の集積回路装置。
【請求項２０】
前記複数のメモリサブアレイのいずれかは、読出されるかまたは書込まれている前記複数のメモリアレイの他のいずれかと実質的に同時に前記キャッシュから書込まれるかまた
はリフレッシュされ得る、請求項１から７のいずれかに記載の集積回路装置。
【請求項２１】
少なくとも１つのサイクルに対して外部アドレスを記憶するために前記外部アドレスバスに結合される先行外部アドレスレジスタと、
前記先行外部アドレスレジスタに結合される書込タグブロックとをさらに含む、請求項７に記載の集積回路装置。
【請求項２２】
前記データ書込レジスタ内に維持される前記データは、後続の装置クロックサイクルで前記メモリアレイに書込まれる、請求項１および３のいずれかに記載の集積回路装置。
【請求項２３】
外部アドレスで前記読出タグブロックにかつライトバックアドレスで前記書込タグブロックに実質的に同時にアクセスするための手段をさらに含む、請求項４に記載の集積回路装置。
【請求項２４】
有効なデータが現在前記キャッシュにあるかまたは前記複数のメモリサブアレイのミラーリングされる１つにあるかについての決定と実質的に同時に、前記外部アドレス、内部アレイアドレスバスおよび内部キャッシュアドレスバスにアドレスを多重化するための手段をさらに含む、請求項５に記載の集積回路装置。
【請求項２５】
前記制御手段は、前記キャッシュおよび前記複数のメモリサブアレイの１つへの一度のアクセスを制限するように動作する、請求項６に記載の集積回路装置。
【請求項２６】
前記制御手段は、前記複数のメモリサブアレイの２つへの一度のアクセスを制限するように動作する、請求項６に記載の集積回路装置。
【請求項２７】
先行外部アドレスを記憶するための前記手段は、少なくとも１つのサイクルに対して外部アドレスを記憶するために前記外部アドレスバスに結合される先行外部アドレスレジスタを含む、請求項７に記載の集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
著作権に関する警告／許可
この特許文書の開示の一部分は著作権の保護を受ける題材を含む。著作権の所有者は特許の開示の特許文書が米国特許庁の特許ファイルまたは記録に現われるときにはそれを誰かが複写再生することに異議を唱えないが、そうでない場合にはすべての著作権を保有する。Copyright (c) 2004 United Memories, Inc.の警告は、当てはまる図面を含め、以下に説明されるソフトウェアおよびデータに当てはまる。
【０００２】
発明の背景
この発明は、一般に集積回路記憶装置および内蔵メモリを組込んだそれら装置に関する。特に、この発明は、以降、高速ＳＣＲＡＭ（静的互換可能ランダムアクセスメモリ）と称されることのある、データキャッシュおよび別の読出および書込データレジスタならびにタグブロックとともに同期動的ランダムアクセスメモリ（ＤＲＡＭ）を用いる高スピードの、静的ランダムアクセスメモリ（ＳＲＡＭ）互換可能な高利用可能メモリアレイおよび方法に関する。
【背景技術】
【０００３】
ＳＲＡＭは、回路に電力が供給されている限り、リフレッシュされる必要なくデータを維持することのできる（すなわち「静的」）種類のメモリ技術である。これは、そのデータを維持するために毎秒何回もリフレッシュしなければならない（すなわち「動的」）ＤＲＡＭと対照的である。ＤＲＡＭを上回るＳＲＡＭの主な利点には、後者は、前者とは違い、データを維持するためにリフレッシュ回路を必要としないという事実がある。この理由および他の理由のため、ＳＲＡＭのデータアクセススピードはＤＲＡＭよりも一般的に高速である。しかしながら、ＳＲＡＭは、バイト単位の記憶ベースでは、ＳＲＡＭはメモリセル当たり５つ、６つまたはそれ以上のトランジスタで作られるためにＤＲＡＭよりも多くのオンチップ領域を占有するという事実から、ＤＲＡＭよりも製造に費用がかかる。これに対して、ＤＲＡＭセルは一般に１つのトランジスタおよび１つのキャパシタを含む。
【０００４】
上述のように、ＤＲＡＭはリフレッシュ論理によって連続的にアクセスされている場合にのみデータを維持するように構成される。メモリセルがデータ読出またはデータ書込動作で現在アクセスされているか否かにかかわらず、この回路は、毎秒何回も事実上各メモリセルの内容を読取り、各メモリセルを修復しなければならない。各セルの内容の読出および修復の動作は、その場所でメモリの内容をリフレッシュする役割を果たす。
【０００５】
ＤＲＡＭの利点には、それらの構成が非常に単純であり、各セルが典型的には単一の小さなキャパシタおよび関連するパストランジスタを含むという点がある。キャパシタは、電荷が存在する場合には、論理レベル「１」が示されるように電荷を維持する。反対に、電荷が存在しない場合、論理レベル「０」が記憶される。トランジスタは、イネーブルされると、キャパシタの電荷を読出すかまたはデータのビットをそれに書込むことを可能にする役割を果たす。しかしながら、これらキャパシタは最大のメモリ密度を提供するように非常に小さく作られており、最善の状況で短期間電荷を保持できるように作られているため、それらは頻繁にリフレッシュしなければならない。
【０００６】
つまり、リフレッシュ回路は、電荷が漏れてデータの状態が失われる前に、事実上ＤＲＡＭアレイの各セルの内容を読出し、新しい「電荷」で各セルをリフレッシュする働きをする。一般に、この「リフレッシュ」は、メモリアレイの各「行」を読出しかつ修復する
ことによって行なわれ、各メモリセルキャパシタの内容の読出および修復のプロセスは、電荷を再構築し、データの状態を再構築する。
【０００７】
結果的に、ＤＲＡＭのメモリ密度の利点を示すが、通常のメモリの読出／書込データアクセスを妨げないようなリフレッシュ動作（隠れたリフレッシュ）の調整を通じてＳＲＡＭのものに近いメモリアクセス時間を提供できるメモリアーキテクチャを提供することが非常に有利である。この点で、同期ＤＲＡＭ（ＳＤＲＡＭ、メモリの動作がクロック端に対して有効または無効な信号によって制御されているメモリ）、およびクロックの同期が利用されない非同期ＤＲＡＭの両方に対してＤＲＡＭのリフレッシュ動作を隠す方法がいくつか提案されている。
【０００８】
非同期メモリのリフレッシュを隠す技術
IEEE Journal of Solid-State Circuits, Vol. SC-21, No.5, October 1986 pp.662-667のノガミらの「１メガビットの事実上静的ＲＡＭ（“1-Mbit Virtually Static RAM”）」と題される記事は、非同期ＤＲＡＭでリフレッシュ動作を隠すための具体的な方法を説明しているが、６６６ｍページの表ＩＶに示されるように、それは（非同期）ＳＲＡＭと完全に互換可能ではない。さらに、その実現例では、大きなアクセス時間およびサイクル時間の代償が生じる。
【０００９】
1987 IEEE International Solid-State Circuits Conference, Digest of Technical Papers pp.20-21 および 1987 ISSCC pp.320-322のヨシオキらの「４Ｍｂ擬似／事実上ＳＲＡＭ（“4Mb Pseudo/Virtually SRAM”）」と題される異なる記事は、リフレッシュを隠すための別の方法を説明しており、これは、事実上アクセス時間を６０ｎＳから９５ｎＳに増加させ、受入れられない大きな性能の代償につながる。
【００１０】
「半導体メモリの非同期の隠れたリフレッシュ（“Asynchronous Hidden Refresh of Semiconductor Memory”）」と題されるChenに対する２００３年９月２３日発行の米国第６，６２５，０７７号は、すべての読出または書込のサイクルを「伸ばす」によって、非同期ＤＲＡＭでリフレッシュ動作を隠すための方法を説明している。この技術の実現によって生じる正確な性能の代償は開示されていないが、大きなものになるだろう。
【００１１】
同様に、「動的ランダムアクセスメモリでリフレッシュを隠すための方法およびシステム（“Method and System for Hiding Refreshes in a Dynamic Random Access Memory”）」と題されるKeethらに対する２００３年９月３日発行の米国特許第６，４４５，６３６号は、メモリセルの数を２倍にすることによって、必要な面積を事実上２倍にすることによってＤＲＡＭのリフレッシュを隠すための方法を説明している。示される方法は受入れられない大きな費用の代償を生じる。
【００１２】
同期メモリのリフレッシュを隠す技術
「半導体メモリのリフレッシュを完全に隠すための方法および装置（“Method and Apparatus for Complete Hiding of the Refresh of a Semiconductor Memory”）」と題されるLeungらに対する１９９９年１２月７日発行の米国特許第５，９９９，４７４号（以降は「’４７４号特許」と称されることがある）は、ＤＲＡＭサブアレイの１つと同じサイズの静的ＲＡＭ（ＳＲＡＭ）キャッシュを利用してＳＤＲＡＭと思われるもので（これは図４のＣＬＫ信号によって推論される）リフレッシュを隠すための方法を説明している。上述のように、ＳＲＡＭセルはＤＲＡＭセルよりもずっと大きいため、ＳＲＡＭキャッシュの物理的なサイズは、図示の方法を実施する上で大きな代償になる。「半導体メモリのリフレッシュを完全に隠すための読出／書込バッファおよびそれを動作する方法（“Read/Write Buffers for Complete Hiding of the Refresh of a Semiconductor Memory and Method of Operating Same”）」と称される２００２年９月１０日発行のこれもLeung
に対する米国特許第６，４４９，６８５号（以降は「’６８５号特許」と称されることがある）は、ＳＲＡＭキャッシュを同じサイズの２つのＤＲＡＭキャッシュで置換えることによってＳＲＡＭキャッシュのサイズの問題に取組む。２つのＤＲＡＭキャッシュは図５で書込バッファおよび読出バッファと称され誤解を招くが、各バッファは図１に示されるＳＲＡＭキャッシュと同じ能力を有し、それらは実際にはキャッシュである。
【００１３】
’４７４号特許および’６８５号特許の両方において、キャッシュは一度に複数のサブアレイからのデータを含んでもよい。これは、サブアレイ内のワードの数（ワードはアドレス当たりのビットの数に等しい）を（２＋各サブアレイを一意にアドレス指定するために必要なビットの数）によって乗じたものに等しいタグＳＲＡＭメモリにサイズの要件を課す。説明される方法に対するさらに根本的な制限は、すべての書込データがメモリバンクに書込まれる前にＳＲＡＭキャッシュにまず書込まれ、外部データバスに提供されるすべての読出データがＳＲＡＭキャッシュに記憶されるようにＳＲＡＭキャッシュがライトバックポリシーを実現する点である。キャッシュに書込まれたデータは最終的にはサブアレイに書込まれるため、キャッシュへの書込は、リフレッシュを隠さないＤＲＡＭには必要でない電力を消費する。キャッシュはアクセス当たりＤＲＡＭサブアレイよりも多くの電力を消費すると予想されるため、サブアレイへの書込前のこのキャッシュへの書込は書込に対するアレイの電力を２倍より大きくすると予想される。ランダムな読出では、６４回の読出のうち６３回はミスになる。サブアレイの読出およびキャッシュへの書込も、６４回のうち６３回で電力を２倍以上にすると予想される。「マルチバンクＤＲＡＭおよびキャッシュメモリを備えた半導体装置（“Semiconductor Device with Multi-Bank DRAM and Cache Memory”）」と題されるアキヤマらに対する米国特許出願連続番号第２００３／００３３４９２号は、’６８５号特許に説明されるものと非常に類似である。
【発明の開示】
【発明が解決しようとする課題】
【００１４】
一般に、非同期および同期ＤＲＡＭでリフレッシュ動作を隠すための既知の技術の主な欠点は、所望であり得るよりも大きいタグの容量に加え、ＳＲＡＭキャッシュまたは２つのＤＲＡＭキャッシュが必要である点である。ここに引用により援用される上述の特許出願には、単一のＤＲＡＭキャッシュおよび従来の技術で利用されるものより小さいタグを備えたＤＲＡＭメモリセルを含むメモリアレイで１００％のメモリシステム利用可能性を可能にする同期動的ランダムアクセスメモリ（ＤＲＡＭ）を用いる静的ランダムアクセスメモリ（ＳＲＡＭ）互換可能な高利用可能メモリアレイおよび方法が開示される。
【課題を解決するための手段】
【００１５】
発明の概要
ここに引用により援用される上述の米国特許出願の開示に加え、以下の構造および機能が含まれる。
【００１６】
データ読出レジスタ（ＤＲＲ）
ＤＲＲは、後続のサイクルでキャッシュに書込まれると予想されるメモリアレイから読出されたデータを維持する。データがメモリアレイから読出されたのと同じサイクル中にキャッシュに書込まれる場合、そのサイクルのかなり早期ではデータはキャッシュの書込に利用できない。
【００１７】
データ書込レジスタ（ＤＷＲ）
ＤＷＲは、後続のサイクルでメモリアレイに書込まれると予想されるキャッシュから読出されたデータを維持する。データがキャッシュから読出されたのと同じサイクル中にメモリアレイに書込まれる場合、データはそのサイクルのかなり早期ではメモリアレイの書込に利用可能できない。
【００１８】
データ読出レジスタおよびデータ書込レジスタを含むことによって、装置はＤＲＡＭサブアレイのサイクル時間によってのみ制限されるサイクル時間で動作することができる。しかしながら、何らかの付加的な論理が必要である。なぜなら、ＤＲＲまたはＤＷＲ内のデータに対応するタグビットはデータがＤＲＲまたはＤＷＲに書込まれるサイクルでセットまたはクリアされるからである。これは、タグがそのアドレスでアクセスされるのはそのサイクルであるためである。結果として、タグビットは、データが依然としてＤＲＲにあるが、まだキャッシュにないときにデータがキャッシュに転送されたと示す可能性がある。結果的に、フラグはキャッシュまたはメモリアレイ（ＤＲＲＬおよびＤＷＲＬ）にまだ書込まれていないデータをＤＲＲまたはＤＷＲが含むか否かを示し、対応するアドレス（ＤＲＲＡＤＲ＆ＤＷＲＡＤＲ）および装置の状態を追跡するために必要な論理が付加されている。
【００１９】
二重書込および読出タグ
ここに開示される装置は、メモリアレイのサブアレイの１つおよび１つのみを「ミラーリングする」キャッシュの概念を実現する。キャッシュがサブアレイを「ミラーリング」している場合、それはキャッシュからそのサブアレイにライトバックされなければならないデータを含み得る。どのデータをキャッシュからサブアレイに転送すべきかを知るために、そのデータに対するタグビットを読出さなければならない。読出または書込のサイクル毎に、外部アドレスに対するタグビットも読出されなければならない。１つのみのタグが使用される場合、タグは１つのサイクルで外部アドレスおよびライトバックアドレスで読出されなければならない。２つのタグを含むことによって、それらの１つに外部アドレスでアクセスし、他方にライトバックアドレスでアクセスすることが可能になり、タグが１つのＤＲＡＭのサイクル時間で２つの読出−変更書込サイクルを実行する要件が排除される。ここに開示される代表的な実施例では、２つのタグは、キャッシュされるフラグアレイ、ＣＦＡ、および書込フラグアレイ、ＷＦＡとして実現されている。ＣＦＡはキャッシュ内の有効なデータを示し、ＷＦＡはサブアレイにライトバックされなければならないキャッシュ内のデータを示す。ＷＦＡ内のセットビットはＣＦＡ内のセットビットのサブセットである。
【００２０】
ＣＦＡおよびＷＦＡが適切に管理されるように付加的な論理も開示される。
【００２１】
初期アドレス多重選択
データをミラーリングされるサブアレイから読出すことができる前に、有効なデータがキャッシュにあるかまたはミラーリングされるサブアレイにあるかを決定するためにＣＦＢビットにアクセスしなければならない。装置の動作は、クロックの立上がり端で、またはその前に利用可能な情報に基づいて適切なバスへのアドレスのすべての多重化が可能になるように規定されている（情報は、クロックの立上がり端の前に特定されたセットアップ時間によって利用可能である）。ＣＦＡアクセスと並行してアドレスバスへのアドレスの多重化を可能にすることによって、装置の読出アクセス時間が低減される。
【００２２】
活性ＤＲＡＭサブアレイ制限
ＤＲＡＭサブアレイのアクセスは大量の電流を消費することがあり、電流スパイクは電源にノイズを生じさせる。１つのサイクルでアクセスされるＤＲＡＭサブアレイが多いほど、より多くのノイズが生成される可能性がある。ここに開示されるこの発明の特定の実現例の論理は、所与のサイクルでのＤＲＡＭサブアレイのアクセスを２つに制限する役割をする。これらの目的のため、キャッシュはＤＲＡＭサブアレイとみなすことができる。なぜなら、それは実質的に１Ｍｅｇアレイのサブアレイと同一であるからである。したがって、ここに開示される装置の論理は、或るサイクルでアクセスされるサブアレイをキャッシュを含めて２つに制限する。
【００２３】
ＷＦＡＢＣに対してトラップされる外部アドレス
ここに開示されるこの発明の実施例の１つでは、外部アドレスは或るサイクルに対してトラップされ、外部アドレスに関連するＷＦＡビットをリセットするために使用される。
【発明の効果】
【００２４】
この発明の実現例に固有の利点には、装置のサイクル時間が１つのサイクル時間内のサブアレイからのデータの読出およびキャッシュへのデータの書込、または１つのサイクル内でのキャッシュからのデータの読出およびサブアレイへのそのデータの書込によって制限されない点がある。サイクル時間は、キャッシュまたはサブアレイへの読出または書込サイクル時間によってのみ制限される。さらに、１つのアドレスに対する読出しに続いてそのアドレスへの書込を実行し、加えて異なるアドレスへの読出に続いてそのアドレスへの書込をすべて装置のサイクル時間で実行するためにタグメモリは必要ではない。（両方の場合の書込データは読出データに非依存である。）動作において、タグメモリは装置のサイクル時間当たり１つのアドレスのみにアクセスすることを必要とする。さらに、読出アクセス時間は、ＣＦＡおよびＷＦＡアクセスと並行するアドレスのデコードおよび多重化によって低減される。
【００２５】
この発明の上述および他の特徴ならびに目的、およびそれらを実現する態様は、添付の図面とともに好ましい実施例の以下の説明を参照することによって明らかになり、この発明自身が最もよく理解されるであろう。
【発明を実施するための最良の形態】
【００２６】
代表的な実施例の説明
図１を参照すると、上述の米国特許に開示されるようなメモリ１００の機能的ブロック図が示され、サブアレイおよびキャッシュのリフレッシュは外部アクセスおよび制御論理の任意の組合せと並行して実現可能であり、制御信号を使用してメモリアレイのリフレッシュ動作を隠すことができる。
【００２７】
メモリ１００は、図示の代表的な実現例では、１６の６４Ｋのサブアレイ１０４0から１０４15（サブアレイ＜０＞からサブアレイ＜１５＞）を含む１Ｍｅｇのメモリアレイ１０２を含む。データＩ／Ｏブロック１０６は、グローバルデータ読出／書込バス１１０によって６４Ｋ  ＤＲＡＭキャッシュ１０８およびサブアレイ１０４0から１０４15に結合される。読出キャッシュ、書込アレイバス１４４はＤＲＡＭキャッシュ１０８をサブアレイ１０４0から１０４15に結合する。書込キャッシュバス１１２はデータＩ／Ｏブロック１０６およびＤＲＡＭキャッシュ１０８を結合する。ＤＲＡＭキャッシュ１０８はサブアレイ１０４0から１０４15の各々と同じサイズであり得る。
【００２８】
アレイ内部アドレスバス１１４はサブアレイ１０４0から１０４15の各々に結合され、メモリアレイに供給されるアドレスはアドレス制御ブロック１２０に結合されるアドレスバス１１６（Ａ＜１４：０＞）上で入力され、メモリアレイ１００から読出されるかまたはそこに入力されるデータは、データＩ／Ｏブロック１０６に結合されるデータＩ／Ｏバス１１８上で供給される。アドレス制御ブロック１２０に結合される外部アドレスバス１２２もサブアレイ１０４0から１０４15の各々、および６４Ｋ  ＤＲＡＭキャッシュ１０８ならびにタグアドレスバス１２６に結合され、これはタグブロック１２４に結合され、これは図示の実現例では、２ＫのＳＲＡＭを含む。
【００２９】
リフレッシュカウンタ１２８は、アレイ内部アドレスバス１１４およびキャッシュ内部アドレスバス１３２に結合されるリフレッシュアドレスバス１３０に結合される。ＤＲＡＭキャッシュ１０８は、キャッシュ内部アドレスバス１３２および外部アドレスバス１２
２の両方に結合される。ライトバックカウンタ１３４はライトバックアドレスバス１３６に結合され、これはアレイ内部アドレスバス１１４、キャッシュ内部アドレスバス１３２およびタグアドレスバス１２６に結合される。
【００３０】
図示のこの発明の特定の例示的な実施例では、メモリ１００は制御論理ブロック１３８をさらに含み、これは入力として、チップイネーブルバー（ＣＥＢ）、書込イネーブルバー（ＷＥＢ）およびクロック（ＣＬＫ）信号入力を受取り、「増分」および「リセット」入力をライトバックカウンタ１３４およびリフレッシュカウンタ１２８に提供する。制御論理ブロック１３８は、図示のようにさらに外部アドレスバス１２２に結合される。
【００３１】
制御論理ブロック１３８は、アレイイネーブル外部アドレス信号線１４０およびアレイイネーブル内部アドレス信号線１４２にも結合され、これはサブアレイ１０４0から１０４15の各々に結合される。ライトバックカウンタ１３４の出力は制御論理ブロック１３８にも提供される。キャッシュイネーブル、外部アドレスおよびキャッシュイネーブル、キャッシュアドレス信号はＤＲＡＭキャッシュ１０８に制御論理ブロック１３８から提供され、これはタグ書込データおよびタグイネーブル信号をタグ１２４にさらに提供する。タグ１２４はタグ読出データ信号を制御論理ブロック１３８に提供し、リフレッシュカウンタ１２８は図示のようにリフレッシュアドレス信号を提供する。
【００３２】
メモリ１００の形の１Ｍｂ  ＳＣＲＡＭの特定の実現例のブロック図が示される。１  Ｍｅｇメモリアレイ１０２は１６のサブアレイ１０４を含む。各サブアレイ１０４は、６４のワード線および６４Ｋのメモリ容量に対する１０２４のセンスアンプを含む。ＤＲＡＭキャッシュ１０８も６４のワード線および６４Ｋのメモリ容量に対する１０２４のセンスアンプを含む。各サブアレイ１０４は、したがって、６４Ｋ／３２または２Ｋ  ３２ビットワードのデータを含む。データＩ／Ｏブロック１０６は、３２ビットの幅のグローバルデータ読出／書込バス１１０を介して１６のサブアレイ１０４のいずれかまたはＤＲＡＭキャッシュ１０８から読出すかまたはそこに書込むことができる。データはデータＩ／Ｏバス１１８を介してＳＣＲＡＭに出入りする。
【００３３】
アドレス線１１６上のアドレスＡ＜１４：０＞は、アドレス制御ブロック１２０を介してＳＣＲＡＭに入る。４ビット（たとえば、Ａ＜１４：１１＞）は、１６のサブアレイ１０４のうちの１つを選択するために使用され、６ビット（たとえば、Ａ＜１０：５＞）はサブアレイ１０４内の６４のワード線のうちの１つを選択するために使用され、５ビット（たとえば、Ａ＜４：０＞）は、ワード線に沿って１０２４のセンスアンプのうちの３２を選択するために使用される。アドレス制御ブロック１２０は、必要に応じてアドレスＡ＜１４：０＞をラッチおよび／またはプリデコードするための能力を提供する。
【００３４】
図示の特定の実現例では、タグアドレスバス１２６は、ミラーリングされるサブアレイポインタに含まれるようにキャッシュ１０８がミラーリングしているサブアレイアドレスとしてこのアドレスフィールドのＡ＜１０：０＞のみを利用する。タグアドレスバス１２６もライトバックカウンタ１３４からライトバックアドレスを受入れるために多重化され得る。ライトバックカウンタ１３４は、１１ビットのライトバックアドレスを生成し、したがって、再帰的に０から２０４７まで数える。制御論理ブロック１３８からライトバックカウンタ１３４をリセットするための能力も提供される。バス１３６上のライトバックアドレスまたはバス１３０上のリフレッシュアドレスはキャッシュ内部アドレスバス１３２上に多重化することができる。キャッシュ１０８には、制御論理ブロック１３８からのキャッシュイネーブル、外部アドレスまたはキャッシュイネーブル、キャッシュアドレス信号を使用してアクセスすることができる。
【００３５】
図示しない読出／書込データバス制御は、制御論理ブロック１３８で生成され、データ
Ｉ／Ｏブロック１０６、キャッシュ１０８および１Ｍｅｇメモリアレイ３０２に送られる信号によって扱われる。１６のサブアレイ１０４の各々は、アレイイネーブル、外部アドレス信号線１４０またはアレイイネーブル、内部アドレス信号線１４２によってイネーブルされ得る。これら信号はともに１６のすべてのサブアレイ１０４に提供され、そのアドレスバスに対するイネーブルによってアドレス指定されるサブアレイ１０４のみが活性化される。
【００３６】
動作において、信号ＣＥＢは読出または書込サイクルを示すために「ロー」になり、信号ＷＥＢはＣＥＢ信号も「ロー」である場合に制御論理ブロック１３８に書込サイクルを示すために「ロー」になる。制御論理ブロック１３８は、リフレッシュ要求信号を提供するためにタイマまたはカウンタも含む。
【００３７】
さらに図２Ａおよび図２Ｂを参照すると、データキャッシュおよび別の読出および書込データレジスタならびにタグブロックとともに同期動的ランダムアクセスメモリ（ＤＲＡＭ）を用いる高スピードの、静的ランダムアクセスメモリ（ＳＲＡＭ）互換可能な高利用可能メモリアレイを示すこの発明の特定の実現例によるメモリ２００の機能的ブロック図が示される。
【００３８】
図示の代表的な実現例では、メモリ２００は、１６の６４Ｋサブアレイ２０４0から２０４15（サブアレイ＜０＞からサブアレイ＜１５＞）を含む１Ｍｅｇメモリアレイ２０２を含む。データＩ／Ｏブロック２０６は、グローバルデータ読出／書込バス２１０によって６４Ｋ  ＤＲＡＭキャッシュ２０８およびサブアレイ２０４0から２０４15に結合される。データＩ／Ｏブロック２０６は、別のデータ読出レジスタ（ＤＲＲ）２４４Ｒにも結合される。データ読出レジスタ（ＤＲＲ）２４４Ｒは、キャッシュ読出／書込バス２１２を通じてキャッシュ２０８およびデータ書込レジスタ（ＤＷＲ）２４４Ｗに結合され、書込アレイバス２４６はデータ書込レジスタ２４４Ｗをサブアレイ２０４0から２０４15に結合する。前と同じように、ＤＲＡＭキャッシュ２０８は、サブアレイ２０４0から２０４15の各々と同じサイズであり得る。
【００３９】
アレイ内部アドレスバス２１４は、サブアレイ２０４0から２０４15の各々に結合され、メモリ２００に供給されるアドレスは、アドレス制御ブロック２２０に結合されるアドレスバス２１６（Ａ＜１４：０＞）上で入力され、メモリ２００から読出されるかまたはそこに入力されるデータは、データＩ／Ｏブロック２０６に結合されるデータＩ／Ｏバス２１８上で供給される。アドレス制御ブロック２２０に結合される外部アドレスバス２２２もサブアレイ２０４0から２０４15の各々、ならびに書込タグアドレスバス２２６Ｗおよび読出タグアドレスバス２２６Ｒに結合され、これらはそれぞれのタグブロック２２４Ｗおよび２２４Ｒに結合され、これらは、図示の実施例では、各々２ＫのＳＲＡＭを含み得る。
【００４０】
リフレッシュカウンタ２２８はリフレッシュアドレスバス２３０に結合され、これはアレイ内部アドレスバス２１４およびキャッシュ内部アドレスバス２３２に結合される。ＤＲＡＭキャッシュ２０８は、キャッシュアドレスバス２３２および外部アドレスバス２２２の両方に結合される。ライトバックカウンタ２３４はライトバックアドレスバス２３６に結合され、これはアレイ内部アドレスバス２１４、キャッシュ内部アドレスバス２３２および書込ならびに読出タグアドレスバス２２６Ｗおよび２２６Ｒに結合される。
【００４１】
図示のこの発明の特定の例示的な実施例では、メモリ２００は制御論理ブロック２３８をさらに含み、これは、入力として、チップイネーブルバー（ＣＥＢ）、書込イネーブルバー（ＷＥＢ）およびクロック（ＣＬＫ）信号入力を受取り、「増分」および「リセット」入力をライトバックカウンタ２３４およびリフレッシュカウンタ２２８に提供する。制
御論理ブロック２３８は、図示のように外部アドレスバス２２２にさらに結合される。
【００４２】
制御論理ブロック２３８はアレイイネーブル外部アドレス信号線２４０およびアレイイネーブル内部アドレス信号線２４２も駆動し、これはサブアレイ２０４0から２０４15の各々に結合される。ライトバックカウンタ２３４の出力は制御論理ブロック２３８にも提供される。キャッシュイネーブル、外部アドレスおよびキャッシュイネーブル、キャッシュアドレス信号は、ＤＲＡＭキャッシュ２０８に制御論理ブロック２３８から提供され、これはタグ書込データおよびタグイネーブル信号を書込および読出タグ２２４Ｗおよび２２４Ｒにそれぞれ提供する。タグ２２４Ｗおよび２２４Ｒはタグ読出データ信号を制御論理ブロック２３８に提供し、リフレッシュカウンタ２２８はリフレッシュアドレス信号を図示のように提供する。
【００４３】
動作において、ＣＬＫは外部で供給されるクロック信号である。制御信号ＣＥＢ（チップイネーブルバー）およびＷＥＢ（書込イネーブルバー）は外部メモリ２００制御ピンへの入力を含む。書込（たとえば、ＣＥＢロー、ＷＥＢロー）、読出（たとえば、ＣＥＢロー、ＷＥＢハイ）およびＮＯＯＰ（たとえば、ＣＥＢハイ）は、ＣＬＫ論理の「ロー」から「ハイ」への遷移でアサートされる制御信号によって規定される３種類のサイクルである。Ａ＜１４：０＞はアドレス信号であり、３２Ｋ  ３２ビットワードの１つをアドレス指定する。３２ビットワードはデータＩ／Ｏバス２１８から読出されるかまたはそこに書込まれる。
【００４４】
データＩ／Ｏバス２１８を介するデータの読出または書込は、グローバルデータ読出／書込バス２１０上で１Ｍｅｇメモリアレイ２０２またはキャッシュ２０８に書込まれるかまたはそこから読出される。さらに、グローバルデータ読出／書込バス２１０を介して１Ｍｅｇメモリアレイから読出されたデータは、ＤＲＲロードバスを介してデータ読出レジスタ２４４Ｒに転送することができる。ＤＲＲ２４４Ｒ内のデータはキャッシュ読出／書込バス２１２を介してキャッシュに書込むことができる。キャッシュ２０８からグローバルデータ読出／書込バス２１０に「読出」中に転送されたデータは、キャッシュ読出／書込バス２１２を介して同時にデータ書込レジスタ２４４Ｗに転送することもできる。ＤＷＲ  ２４４Ｗ内のデータは、書込アレイバス２４６を介して１Ｍｅｇメモリアレイ２０２に書込むことができる。詳細には図示されていないが、データ読出レジスタ２４４Ｒおよびデータ書込レジスタ２４４Ｗの両方は、各々、上述の機能を実行するために必要な検出および駆動の能力を含む。ＤＲＲロードバス２５０はデータＩ／Ｏブロック２０６をＤＲＲ  ２４４Ｒに結合する。
【００４５】
ここに図示され説明される特定の実施例では、サブアレイ２０４のうちの２つに単一のクロックサイクルでアクセスすることができる。しかしながら、開示される回路に基づいて、単一のサイクルで２つのサブアレイ２０４およびキャッシュ２０８にアクセスすることが可能である。単一のサイクルで２つのサブアレイ２０４およびキャッシュ２０８にアクセスすることは、オンチップノイズの増加につながるため、１つのみのサブアレイ２０４およびキャッシュ２０８、または２つのサブアレイ２０４にクロックサイクルでアクセスすることができるように制御論理ブロック２３８に論理を設けてもよい。
【００４６】
２つのイネーブル信号が１Ｍｅｇメモリアレイ２０２に対して提供され、２つがキャッシュ２０８に対して提供される。イネーブル信号の名前が示すように、各イネーブル信号は特定のアドレスバスに関連付けられる。１Ｍｅｇメモリアレイ内のサブアレイ２０４は、そのサブアレイに対するアドレスがバス上でアサートされかつそのバスに対するイネーブル信号が「ハイ」になる場合に「活性」になる。キャッシュアドレスバス２３２はサブアレイ２０４アドレス情報を有さず、キャッシュ２０８は外部アドレスバス２２２上でサブアレイ２０４アドレス情報を使用しない。したがって、キャッシュ２０８はキャッシュ
イネーブル信号のいずれかが「ハイ」になるたびにアクセスされる。
【００４７】
制御論理ブロック２３８からのアレイイネーブル、外部アドレス信号は、１Ｍｅｇメモリアレイ２０２にアクセスする外部「読出」または「書込」サイクル中にイネーブルされる。制御論理ブロック２３８からのキャッシュイネーブル、外部アドレス信号は、キャッシュ２０８にアクセスする外部「読出」または「書込」サイクル中にイネーブルされる。サブアレイ２０４へのリフレッシュは、アレイ内部アドレスバス２１４上に多重化されたリフレッシュアドレスを用いてアレイをイネーブルに、内部アドレス信号を「ハイ」に取ることによって行なわれる。
【００４８】
データ書込レジスタ２４４Ｗからサブアレイ２０４へのライトバックは、アレイ内部アドレスバス２１４上に多重化されたＤＷＲアドレス（ＤＷＲＡＤＲ）を用いてアレイをイネーブルに、内部アドレス信号２４２を「ハイ」に取ることによって実現される。キャッシュ２０８へのリフレッシュは、キャッシュアドレスバス２３２上に多重化されたリフレッシュアドレス（ＲＥＦＡＤＲ）情報を用いて制御論理ブロック２３８からキャッシュをイネーブルに、キャッシュアドレス信号を「ハイ」に取ることによって行なわれる。データ読出レジスタ２４４Ｒからキャッシュ２０８への書込は、これもキャッシュアドレスバス２３２上に多重化されたデータ読出レジスタ２４４Ｒアドレス（ＤＲＲＡＤＲ）を用いて、キャッシュをイネーブルに、キャッシュアドレス信号を「ハイ」に取ることによって行なわれる。
【００４９】
データは、２つの方法のうちの１つによって、キャッシュ２０８から読出し、データ書込レジスタ２４４Ｗに転送することができる。ライトバックサイクル中、キャッシュイネーブル、キャッシュアドレス信号は、キャッシュアドレスバス２３２上に多重化されたライトバックアドレスを用いて「ハイ」に取られ、データはキャッシュ２０８からデータ書込レジスタ２４４Ｗに転送される。キャッシュ２０８内のデータにアクセスする外部読出サイクル中、キャッシュイネーブル、外部アドレス信号は「ハイ」に取られ、キャッシュデータはグローバルデータ読出／書込バス２１０およびキャッシュ読出／書込バス２１２の両方に置かれ、キャッシュ２０８内のデータはデータ書込レジスタ２４４Ｗに読出および転送される。
【００５０】
どのクロックサイクルでも、「読出」または「書込」はキャッシュ２０８またはサブアレイ２０４へのアクセスを必要とし得る。キャッシュ２０８およびサブアレイ２０４へのすべてのアクセスは、したがって、クロックと同期しており、クロックに対して実質的に同一の時間に行なわれる。サブアレイ２０４から読出されたデータはキャッシュ２０８に直接書込まれない。なぜなら、データはクロックサイクルの十分に初期では利用できないからである。サブアレイ２０４からのデータは、キャッシュ２０８がプリチャージに入った後でもデータ読出レジスタ２４４Ｒに書込むことができる。データは後続のクロックサイクルでデータ読出レジスタ２４４Ｒからキャッシュ２０８に書込まれるように意図されるからである。
【００５１】
キャッシュ読出／書込バス２１２および書込アレイバス２４６を介してサブアレイ２０４に書込まれるべきキャッシュ２０８から読出されたデータは、直接サブアレイ２０４に書込まれない。なぜなら、データはクロックサイクルの十分に早期では利用できないからである。キャッシュ２０８からのデータは、サブアレイ２０４がプリチャージに入った後でもデータ書込レジスタ２４４Ｗに書込むことができる。データは後続のクロックサイクルでデータ書込レジスタ２４４Ｗからサブアレイ２０４に書込まれるように意図されるからである。データ読出レジスタ２４４Ｒおよびデータ書込レジスタ２４４Ｗによって、上述の図面のメモリアレイ１００よりも高速のメモリアレイ２００のサイクル時間が可能になる。上述のように遅れて到着する書込データを考慮するためにサイクル時間を延長する
必要がないからである。
【００５２】
書込タグ２２４Ｗおよび読出タグ２４４Ｒは、１Ｍｅｇメモリアレイ２０２の１つのサブアレイ２０４の各ワードに対応する１ビットを含む。制御論理ブロック２３８のミラーリングされるサブアレイポインタは、どのサブアレイ２０４をキャッシュ２０８がミラーリングしているかを示す。書込および読出のタグビットはともに、グローバルデータ読出／書込バス２１０を介してデータがキャッシュ２０８に書込まれる書込サイクルでセットされる。読出タグ２２４Ｒビットのみが、データＩ／Ｏブロック２０６を介してデータがデータ読出レジスタ２４４Ｒに書込まれるサイクルでセットされる。
【００５３】
キャッシュ２０８が異なるサブアレイ２０４のミラーリングを始められる前に、書込タグ２２４Ｗビットセットを備えたすべてのキャッシュ２０８のデータは、キャッシュ２０８からサブアレイ２０４に書込まれなければならず、読出タグ２２４Ｒはクリアされなければならない。キャッシュ２０８からのデータはライトバックサイクル中にサブアレイ２０４にライトバックされる。
【００５４】
図２Ｂに示されるメモリアレイ２００の実施例は、先行外部アドレスレジスタ２４８が付加されているところが図２Ａの実施例とは異なる。先行外部アドレスレジスタ２４８は外部アドレスバス２２２に結合され、先行サイクルの外部アドレスに関する情報を外部アドレスバス２２２から図示のように書込タグアドレスバス２２６Ｗに記憶および提供する。そのため、図２Ａおよび図２Ｂの実施例に対する制御論理も幾分異なる。
【００５５】
図２Ａおよび図２Ｂに示されるメモリ２００の実現例の論理的な差は、ライトバックサイクルが開始される条件である。図２Ａの実施例では、ライトバックサイクルは、要求されるリフレッシュがあり、リフレッシュされるべきサブアレイ２０４への読出または書込があり、かつキャッシュ２０８がリフレッシュされるべきサブアレイ２０４をミラーリングしていない場合に制御論理２３８によって実行される。図２Ｂの実現例では、ライトバックサイクルは、キャッシュ２０８がリフレッシュされるべきサブアレイ２０４をミラーリングしておらず、キャッシュ２０８がミラーリングしているサブアレイ２０４がアクセスされておらず、かつキャッシュ２０８がアクセスされていない場合に制御論理２３８によって実行される。
【００５６】
図２Ｂの実現例に対するライトバックサイクルの実行は、ＷＦＡが外部アドレスとは異なるアドレスにアクセスしているサイクルでミラーリングされているサブアレイ２０４に外部アドレスでデータが書込まれることにつながり得る。これはＷＦＡＢＣフラグがセットされていることを必要とし、ＷＦＡは次のサイクルで外部アドレスでクリアされなければならず、図２Ｂに示される先行外部アドレスブロック２４８が必要である。
【００５７】
図２Ａの実現例に課される論理的な制約は、ＷＦＡが外部アドレスとは異なるアドレスにアクセスしているサイクルでミラーリングされているサブアレイ２０４に外部アドレスでデータが書込まれる可能性を排除する。したがって、図２Ａの実現例には先行外部アドレスブロック２４８は必要ではない。しかしながら、メモリ２００の所与の状態でどのＷＦＡアドレスがＷＦＡバスに多重化されるかの違いの結果として、あり得るアクセス時間の代償が図２Ａの実現例で生じ得る。ＷＦＡアドレスの多重化を規定するために必要な情報は、図２Ｂの実現例では先行サイクルから利用可能であり、図２Ａの実現例でＷＦＡアドレスの多重化を規定するために必要な情報は、現サイクルのセットアップ時間でのみ利用可能である。結果的に、図２Ａの実現例は図２Ｂの実現例に対して僅かなアクセス時間およびサイクル時間の代償を呈し得る。
【００５８】
ライトバックサイクル中、ライトバックカウンタ２３４によって供給されるライトバッ
クアドレスはライトタグアドレスバス２２６Ｗ上に多重化され、外部アドレスは読出タグアドレスバス２２６上に多重化される。２つのタグ２２４Ｗおよび２２４Ｒを有することによって、サブアレイ２０４またはキャッシュ２０８からデータを読出す必要があるかを決定するために外部アドレスで読出タグ２２４Ｒにアクセスすることができ、かつ同時に、キャッシュ内のデータをデータ書込レジスタ２４４Ｗに書込む必要があるかを決定するためにライトバックアドレスで書込タグ２２４Ｗにアクセスすることができる。単一のタグが使用される場合、２つのタグサイクルからのデータが１つのメモリ２００のサイクルで必要とされる。２つのタグ２２４Ｗおよび２２４Ｒを使用することによって、メモリ２００のサイクル当たり１つのタグサイクルのみが必要である。したがって、２つのタグサイクルが１つのＤＲＡＭアレイのサイクルよりも長い場合、メモリ２００のサイクル時間は、２つのタグ２２４Ｗ、２２４Ｒの使用によって改善される。さらに、書込タグ２２４Ｗは読出タグ２２４Ｒと並行してアクセスされるため、キャッシュ２０８のアクセスは書込タグ２２４Ｗビットがセットされている場合のみ行なうことができる。単一のタグでは、第２のアドレスタグデータは後に利用可能となり、キャッシュ２０８はライトバックアドレスからのタグデータが利用可能である前にアクセスされる必要がある。したがって、２つのタグ２２４Ｗ、２２４Ｒのアプローチは電力を節約する。
【００５９】
図３から図１０をさらに参照すると、特に図２Ａに示されるメモリ２００の代表的な実施例に対する代表的な部分状態図が示される。すべての決定のステップ（菱形によって示される）は、メモリ２００の状態を変更するために何らかの動作が可能になる前にクロックサイクルの早期に並行して実現され、決定の相対的な位置には時系列は暗示されない。メモリ２００の状態の結果として到達されるすべての動作のステップ（長方形によって示される）は、すべての決定がそのクロックサイクルで行なわれた後であるが、次のクロックサイクルで決定が行なわれる前に実行される。
【００６０】
各ＣＬＫサイクル中、そのクロックサイクル中にどの動作が実行されるかを決定するために条件が評価される。そのサイクルの動作が条件を変更する前に、以下の一覧に示されるような状態の条件がすべて評価される。現サイクルの動作がすべて完了され、次のサイクルに対する条件が評価される前に新しい条件が確立される。ＣＦＡおよびＷＦＡ（ＳＲＡＭ書込および読出タグ２２４Ｗおよび２２４Ｒ）のアクセスは、ＣＬＫ信号の立上がり端で開始される。メモリアレイ２０２およびキャッシュ２０８のアクセスは、タグ２２４Ｗおよび２２４Ｒのデータが有効になった後に開始される。
【００６１】
ＭＳＡ−ミラーリングされるサブアレイ、キャッシュ２０８がミラーリングしているサブアレイ２０４のアドレス。
【００６２】
ＭＳＡ  ヒット−読出または書込アクセスはＭＳＡに対する。
【００６３】
次のＲＳＡはＭＳＡに等しい−ＭＳＡはＲＳＡが次に増分する値に等しい。
【００６４】
ＣＦＡ−キャッシュフラグアレイ、各ビット１＝有効なデータ、０＝無効なデータ、１であれば、アレイ内のデータは無効であると仮定される。
【００６５】
ＣＦＡ  ヒット−ＣＦＡヒット、読出または書込アクセスは有効なデータがキャッシュに記憶される場所に対する。
【００６６】
ＣＴＦ−クリアタグフラグ、すべてのタグデータが０にクリアされるべきであることを示すために「１」にセットされる。ＣＴＦ＝１の場合、リフレッシュは行なわれない。
【００６７】
ＤＲＲ−データ読出レジスタ、データはアレイから（出力バッファを介して）ＤＲＲ２
４４Ｒにロードされ、ＤＲＲからキャッシュ２０８に書込まれる。
【００６８】
ＤＲＲＡＤＲ−ＤＲＲのデータが書込まれるべきアドレス。
【００６９】
ＤＲＲ  ヒット−読出または書込のアクセスはＤＲＲ（ＤＲＲＡＤＲ）に関連するアドレスに対するものであり、ＤＲＲＬ＝１である。
【００７０】
ＤＲＲＬ−ＤＲＲロードフラグ、セットされる場合、ＤＲＲ内の有効なデータがまだキャッシュ２０８に書込まれていないことを示す。
【００７１】
ＤＷＲ−データ書込レジスタ、データはキャッシュ２０８からＤＷＲ  ２４４Ｗにロードされ、ＤＷＲからＭＳＡに書込まれる。
【００７２】
ＤＷＲＡＤＲ−ＤＷＲのデータが書込まれるべきアドレス。
【００７３】
ＤＷＲ  ヒット−読出または書込アクセスはＤＷＲ  ２４４Ｗ（ＤＷＲＡＤＲ）に関連するアドレスに対するものであり、ＤＷＲＬ＝１である。
【００７４】
ＤＷＲＬ−ＤＷＲロードフラグ、セットされる場合、ＤＷＲ  ２４４Ｗ内の有効なデータはまだＭＳＡに書込まれていないことを示す。
【００７５】
ＲＥＦＲ−リフレッシュ要求、リフレッシュカウンタ２２８によって生成される。
【００７６】
ＲＥＦＡＤＲ−リフレッシュされるべきアドレス。
【００７７】
ＲＳＡ−リフレッシュサブアレイ、リフレッシュされるべきサブアレイ２０４。サブアレイの１つまたはキャッシュ２０８であり得る。
【００７８】
ＲＳＡ  ヒット−読出または書込アクセスはＲＳＡサブアレイアドレスに対するものである。ＲＳＡがキャッシュの場合、ヒットは行なわれない。
【００７９】
ＷＦＡ−ライトバックフラグアレイ（「１」はキャッシュ２０８内のデータをメモリアレイ２０２にライトバックしなければならないことを示す）。
【００８０】
ＷＦＡ  ヒット−ＷＦＡはアドレス指定されたビットに「１」を有し、キャッシュ２０８がＭＳＡに書込まなければならないデータをその場所に有することを示す。
【００８１】
ＷＢＡ−ライトバックアドレス（ＣＦＡ、ＷＦＡおよびキャッシュアドレスに使用される）。
【００８２】
図３を特に参照すると、この発明によるクリアタグサイクル動作３００の特定の実現例に対する代表的な部分的状態図が示される。動作３００は、決定のステップ３０２で、読出動作が進行中であるかを決定する。決定のステップ３０６で、ＷＢＡ＜４＞＝１であれば、クリアタグフラグがライトバックカウンタ２３４とともにリセットされる。そうでなければ、ステップ３１０で、タグの列がクリアされ、ライトバックカウンタ２３４は増分される。決定のステップ３０２で、動作が読出でなく、決定のステップ３１２で、動作が書込である場合、アレイはステップ３１４で書込まれる。
【００８３】
一般に、クリアタグフラグはクリアタグサイクルが実行されることを示し、続く図９に示されるように呼び出される。タグ２２４Ｗおよび２２４Ｒは、すべてのキャッシュ２０
８のデータがミラーリングされるサブアレイ２０４に書込まれ、かつ１Ｍｅｇメモリアレイ２０２内のすべてのデータが有効になった後にのみクリアされる。クリアタグフラグがセットされているときは、「読出」または「書込」はアレイ２０２に対するものである。クリアタグフラグがセットされているときにリフレッシュは実行されない。
【００８４】
クリアタグサイクルでは、ライトバックアドレスは書込タグアドレスバス２２６Ｗおよび読出タグアドレスバス２２６Ｒの両方に多重化される。ライトバックカウンタ２３４はクリアタグフラグがセットされるサイクルでリセットされる（たとえば、図９を参照）。ライトバックアドレスは、各クロックサイクルでＷＢＡ＜０００００＞からＷＢＡ＜１００００＞に速やかに最下位ビット（ＬＳＢ）を増分し、書込および読出タグ２２４Ｗ、２２４Ｒの両方で対応するワード線に沿ってすべてのビットをリセットする。図示の代表的な実施例では、タグは１６のワード線のみを有し、すべてのワード線はＷＢＡ＜０１１１１＞によってアドレス指定されている。ＷＢＡ＜１００００＞では、すべてのビットはリセットされており、クリアタグフラグがリセットされ、ライトバックカウンタ２３４がリセットされる。
【００８５】
図４を特に参照すると、この発明の特定の実現例に対する部分的な状態図が示され、リフレッシュ要求は、動作４００で読出、書込またはクリアタグサイクルでないサイクル中にアサートされる。動作４００は、決定のステップ４０２で、動作がリフレッシュであるかを単に決定し、そうであれば、リフレッシュがステップ４０４で実行される。
【００８６】
基本的に、リフレッシュ要求が読出または書込もしくはクリアタグサイクルでないサイクル中にアサートされる場合、リフレッシュが実行される。リフレッシュ動作は、後の図１０に関して後にさらに詳しく説明する。
【００８７】
図５を特に参照すると、キャッシュの読出またはアレイの読出のみが実行される、読出、リフレッシュなしおよびクリアタグなし動作５００の条件でのこの発明の特定の実現例に対する代表的な部分的状態図がさらに示される。決定のステップ５０２で、ＣＦＡヒットが行なわれない場合、次に決定のステップ５０４でＤＷＲヒットが評価される。そうであれば、次にステップ５０６でキャッシュが読出される。そうでなければ、アレイがステップ５０８で読出される。ステップ５０２でＣＦＡヒットがない場合、ステップ５１０でＤＲＲヒットが行なわれたかについての評価が行なわれる。そうであれば、アレイはステップ５０８で読出される。さもなければ、キャッシュはステップ５０６で読出される。
【００８８】
読出、リフレッシュなしおよびクリアタグなし動作５００の条件では、メモリ２００が行なう唯一の動作は、キャッシュ２０８の「読出」またはメモリアレイ２０２の「読出」である。他の背景動作は行なわれない。
【００８９】
図６を特に参照すると、アレイが書込まれる、書込、リフレッシュなしおよびクリアタグなし動作６００の条件でのこの発明の特定の実現例に対する対応する代表的な部分的状態図が示される。図示のように、書込動作の場合、アレイはステップ６０２で書込まれる。決定のステップ６０４はＤＷＲヒットが検出されるかを決定し、そうであれば、ＤＷＲＬはステップ６０６でリセットされる。同様に、ＤＲＲヒットがステップ６０８で検出されると、ＤＲＲＬはステップ６１０でリセットされる。さらに、ＭＳＡヒットが決定のステップ６１２で検出されると、ＣＦＡおよびＷＦＡのビットはステップ６１４でリセットされる。
【００９０】
一般に、書込、リフレッシュなしおよびクリアタグなし動作６００の条件では、メモリアレイ２０２は書込まれる。タグ２２４Ｗおよび２２４Ｒの精度を維持するために、ＣＦＡおよびＷＦＡのビットは書込データがミラーリングされるサブアレイ２０４に対するも
のである場合にリセットされる。外部アドレスのタグビットは、それらがセットされていない場合でもリセットされ、どのデータをタグに書込むべきかを決定する前にＣＦＡまたはＷＦＡヒットがあるかを知る必要はない。ＤＷＲ  ２４４ＷまたはＤＲＲ  ２４４Ｒヒットは、ＤＷＲ  ２４４ＷまたはＤＲＲ  ２４４Ｒに記憶されるデータを無効にし、有効なデータを示すフラグ（ＤＷＲＬまたはＤＲＲＬ）がリセットされる。
【００９１】
図７を特に参照すると、読出、リフレッシュおよびクリアタグなし動作７００の条件でのこの発明の特定の実現例に対する代表的な部分的状態図が示され、読出およびリフレッシュまたは読出および後続のサイクルでリフレッシュできるように進行することが可能である。動作７００は、ＣＦＡヒットがあったかの決定のステップ７０２での決定で開始する。そうであれば、次にＤＲＲヒットがあったかについての決定が決定のステップ７０４で行なわれる。ここでも、そうであれば、アレイはステップ７２８で読出され、ステップ７０６でＲＳＡヒットがあったかについての決定が行なわれ、そうであれば、キャッシュ２０８はステップ７０８でＤＲＲ  ２４４Ｒから書込まれる。
【００９２】
決定のステップ７０６で、ＲＳＡヒットが決定されない場合、リフレッシュはステップ７１０で実行される。決定のステップ７０４でＤＲＲヒットが決定されない場合、キャッシュ２０８はステップ７１２で読出され、キャッシュに対するリフレッシュが決定のステップ７１４で決定されると、ＤＷＲがロードされ、ＣＦＡビットはリセットされ、ＤＷＲＬはセットされ、ＷＦＡビットはステップ７１６でリセットされる。さらに、決定のステップ７１８でＤＷＲがロードされる場合、アレイはステップ７２０でＤＷＲから書込まれる。
【００９３】
決定のステップ７０２でＣＦＡヒットがなく、次に決定のステップ７２２でＤＷＲヒットがない場合、キャッシュはステップ７１２で読出され、決定のステップ７２４はキャッシュ２０８に対するリフレッシュがあるかを決定し、ない場合、リフレッシュはステップ７１０で実行される。決定のステップ７２４でリフレッシュがキャッシュ２０８に対するものである場合、ＤＷＲＬはステップ７２６でリセットされ、サブアレイはステップ７２０で書込まれる。決定のステップ７２２でＤＷＲヒットがない場合、アレイはステップ７２８で読出され、決定のステップ７３０でＲＳＡヒットがあるかについての決定が行なわれる。ない場合、リフレッシュはステップ７１０で実行される。ＲＳＡヒットがある場合、決定のステップ７３２で、ＭＳＡヒットがあるかについての決定が行なわれる。そうであれば、ＤＲＲはサブアレイから書込まれ、ＣＦＡビットはステップ７３４でセットされる。さらに、決定のステップ７３６で、ＤＲＲがロードされる場合、キャッシュ２０８はステップ７３８でＤＲＲから書込まれる。決定のステップ７３２でＭＳＡヒットがない場合、ライトバックサイクルはステップ７４０で実行される。
【００９４】
後続のサイクルでリフレッシュができるように「進行する」ことの一例がステップ７０８によって示される。ＤＲＲヒットはＣＦＡヒットが行なわれる場合でもキャッシュ２０８が読出されるのを防止するため、ＤＲＲは先行サイクルでロードされたが、データはまだキャッシュ２０８に書込まれていない。この場合、キャッシュ２０８内のデータは有効ではなく、アレイ２０２を読出さなければならない。リフレッシュが無期限に行き詰まるのを防止するため、読出がリフレッシュサブアレイからである場合、ＤＲＲ  ２４４Ｒ内のデータはキャッシュ２０８に書込まれ、ＤＲＲＬ（ＤＲＲロード）フラグはリセットされる。同じアドレスが次のサイクルで読出される場合、ＤＲＲヒットは「Ｎｏ」になり、リフレッシュができるように進行が行なわれる。
【００９５】
後続のサイクルでリフレッシュできるように進行することの第２の例がステップ７１６に示される。動作７００でこの点に達するには、決定のステップ７０２および７１４がともに「Ｙｅｓ」でなければならない。キャッシュ２０８をリフレッシュしようとしている
ため、キャッシュ２０８内の有効なデータに対する読出はキャッシュ２０８のリフレッシュを防止することができる。後続のサイクルでキャッシュ２０８の「ミス」を保証するために、キャッシュ内のデータは外部に読出されかつＤＷＲ  ２４４Ｗに書込まれる。この場合、ＤＷＲ  ２４４Ｗがロードされる場合、ＤＷＲ  ２４４Ｗからの書込サブアレイはＤＷＲ  ２４４Ｗに新しいデータのための余裕を作る必要がある。同じアドレスが次のサイクルで読出される場合、ＣＦＡヒットは「Ｎｏ」になり（たとえば、次の例を参照）、リフレッシュができるように再び進行が行なわれる。
【００９６】
後続のサイクルでリフレッシュできるように進行することの別の例が、決定のステップ７２２および７２４が「Ｙｅｓ」である場合にアクセスされるステップ７２０および７２６に示される。この場合、キャッシュ２０８をリフレッシュしようとしているが、キャッシュにアクセスしなければならない。なぜなら、データはＤＷＲ  ２４４Ｗからミラーリングされるサブアレイ２０４にまだ転送されておらず、リフレッシュは遅延されるからである。ミラーリングされるサブアレイ２０４はアクセスされず、ＤＷＲ  ２４４Ｗのデータはミラーリングされるサブアレイ２０４に書込まれ、ＤＷＲＬはリセットされる。同じアドレスが次のサイクルでアクセスされる場合、決定のステップ７２２は「Ｎｏ」になり、リフレッシュが実行される。
【００９７】
後続のサイクルでリフレッシュできるように進行することの第４の例がステップ７３４に見られる。「読出」はリフレッシュサブアレイ２０４およびミラーリングされるサブアレイ２０４からであり（すなわち、リフレッシュサブアレイがミラーリングされるサブアレイである）、サブアレイ２０４から読出されるデータはＤＲＲ  ２４４Ｒに転送することもできる。ＤＲＲ  ２４４Ｒが有効なデータを含む場合（すなわち、ＤＲＲＬがセットされる）、そのデータはキャッシュ２０８に書込まれる。サブアレイ２０４に対するリフレッシュは最終的には保証される。なぜなら、ミラーリングされるサブアレイ２０４から読出されるすべてのデータはキャッシュ２０８に転送されるからである。サブアレイ２０４内のすべてのワードが読出されると（図示の代表的な実施例では合計で２Ｋワード）、次のサブアレイ２０４への読出はＣＦＡヒットにつながる。ＣＦＡヒット（決定のステップ７０２）が「Ｙｅｓ」であり、ＤＲＲヒット（決定のステップ７０４）が「Ｎｏ」である場合、サブアレイ２０４はリフレッシュされる。決定のステップ７０４が「Ｙｅｓ」である場合、上述のようにそれはクリアされる。
【００９８】
後続のサイクルでリフレッシュできるように進行することの第５の例が、ステップ７４０の「ライトバックサイクルの実行」である。この場合、リフレッシュサブアレイ２０４およびミラーリングされるサブアレイ２０４は異なるが、リフレッシュサブアレイ２０４は読出されているサブアレイ２０４と同じである。キャッシュ２０８がリフレッシュサブアレイ２０４のミラーリングを開始できるように、セットされるＷＦＡビットに対応するキャッシュ２０８内のデータは、ミラーリングされるサブアレイ２０４に書込まれなければならない。ライトバックサイクルの実行はその方向のステップである。ライトバックサイクルは図９に関してさらに詳しく説明される。
【００９９】
図８を特に参照すると、書込、リフレッシュおよびクリアタグなし動作８００の条件でのこの発明の特定の実現例に対する代表的な部分的状態図が示され、書込およびリフレッシュ、または書込および後続のサイクルでリフレッシュできるように進行することが可能である。
【０１００】
決定のステップ８０２で、ＭＳＡヒットが見つかる場合、リフレッシュはステップ８１６で実行され、決定のステップ８０４で、ステップ８０４でＲＳＡヒットがあるかについての決定が行なわれる。そうであれば、キャッシュ２０８は書込まれ、ＣＦＡおよびＷＦＡのビットはステップ８０６でセットされる。そうでない場合、ＣＦＡおよびＷＦＡビッ
トはステップ８０８でリセットされ、アレイへの書込がステップ８１０で行なわれる。決定のステップ８０２で、ＭＳＡヒットがない場合、アレイはステップ８１０でも書込まれ、ステップ８１２でＲＳＡヒットがあるかについての別の決定が行なわれる。そうであれば、ライトバックサイクルはステップ８１４で実行され、そうでなければ、リフレッシュはステップ８１６で実行される。
【０１０１】
動作８００は、決定のステップ８１８でＤＷＲヒットがあるか、および決定のステップ８２２でＤＲＲヒットがあるかについての評価をさらに含む。両方の場合において、そうであれば、ＤＷＲＬは前者の場合にステップ８２０でリセットされ、ＤＲＲＬは後者でステップ８２４でリセットされる。
【０１０２】
ステップ８１４の「ライトバックサイクルの実行」は書込動作に対する進行を示す唯一の例である。リフレッシュは、書込がリフレッシュサブアレイ２０４に対するものであるが、ミラーリングされるサブアレイ２０４に対するものでない場合のみ遅延される。したがって、リフレッシュは、ミラーリングされるサブアレイ２０４がリフレッシュサブアレイ２０４である場合は遅延されない。上述のように、ミラーリングされるサブアレイ２０４は、キャッシュ２０８がライトバックサイクルによってクリアされた後にのみ変更可能である。すべてのキャッシュされるデータをミラーリングされるサブアレイ２０４にライトバックできるように十分なサイクルでリフレッシュサブアレイ２０４への書込によってリフレッシュが遅延される場合、ミラーリングされるサブアレイ２０４はリフレッシュサブアレイ２０４へとリセットされる。ミラーリングされるサブアレイ２０４がリフレッシュサブアレイ２０４と同じときは、リフレッシュ動作はどの書込でも実行される。
【０１０３】
リセットＤＷＲＬステップ８２０およびリセットＤＲＲＬステップ８２４は、これらレジスタ内の古いデータがサブアレイ２０４またはキャッシュ２０８に書込まれるのを防止するためにＤＷＲ  ２４４ＷおよびＤＲＲ  ２４４Ｒヒットで必要である。決定のステップ８０２のＭＳＡヒットでは、タグ２２４Ｗ、２２４Ｒの精度を維持するために、ステップ８０８の「リセットＷＦＡビット、リセットＣＦＡビット」が必要である。
【０１０４】
図９を特に参照すると、図７および図８で呼び出されるようなライトバック実行動作９００を示すこの発明の特定の実現例に対する代表的な部分的状態図がさらに示される。決定のステップ９０２で、ＤＷＲＬがセットされる場合、ＤＷＲはサブアレイに書込まれ、ＤＷＲＬはステップ９０４でリセットされる。またはこれに代えて、ＤＷＲＬがセットされない場合、決定のステップ９０６で、ＷＢＡ＜１１＞＝１であるかについての決定が行なわれる。そうであれば、ステップ９０８で、クリアタグフラグがセットされ、ライトバックアドレスがリセットされ、ＤＲＲＬがリセットされる。そうでない場合、ＷＦＡヒットがあるかについての決定のステップ９１２での分析に加えて、ライトバックカウンタが増分され、ＷＦＡビットはステップ９１０でリセットされる。そうであれば、キャッシュはＤＷＲに書込まれ、ＤＷＲＬはステップ９１４でセットされる。
【０１０５】
言い換えると、ＤＷＲＬがステップ９０２でセットされる場合、ＤＷＲ  ２４４Ｗ内のデータはミラーリングされるサブアレイ２０４に書込まれ、ＤＷＲＬがリセットされる。このサイクルではキャッシュ２０８の動作は行なわれない。一方、ＤＷＲＬがセットされず、かつＷＢＡ＜１１＞がステップ９０６で「１」に等しくない場合、ライトバックカウンタ２３４は増分され、ＷＦＡビットはステップ９１０でリセットされ、ＷＦＡヒットがステップ９１２で「Ｙｅｓ」である場合、キャッシュ２０８はライトバックアドレスでアクセスされ、キャッシュデータはＤＷＲ  ２４４Ｗにロードされ、ＤＷＲＬはステップ９１４でセットされる。
【０１０６】
なお、ＤＷＲＬセットの決定のステップ９０２を排除し、かつ新しいデータがキャッシ
ュ２０８から読出され、ＤＷＲ  ２４４Ｗに書込まれるのと同じサイクルでＤＷＲＬからミラーリングされるサブアレイ２０４を書込むことが可能である。これによって、２つのサブアレイ２０４およびキャッシュ２０８に単一のサイクルでアクセスすることが可能になる。ＤＷＲＬセットの決定のステップ９０２は、１つのみのサブアレイ２０４およびキャッシュ２０８、または２つのサブアレイ２０４が単一のサイクルで活性化されるようにし、同時に活性化されるＤＲＡＭ「サブアレイ」２０４の数を３から２に低減して、関連するノイズを低減する。
【０１０７】
決定のステップ９０６（ＷＢＡ＜１１＞＝１）の重要性は、すべてのキャッシュ２０８の場所がミラーリングされるサブアレイ２０４にライトバックされており、したがって、クリアタブフラグをセットできることをこれが示す点である。タグ２２４Ｗ、２２４Ｒがクリアされた後、ミラーリングされるサブアレイ２０４はリフレッシュサブアレイ２０４と等しくなるようにセットされるため、ライトバックアドレスおよびＤＲＲＬをリセットする必要もある。
【０１０８】
図７および図８でも呼出されるようなリフレッシュ実行動作１０００を示すこの発明の特定の実現例に対する対応する代表的な部分的状態図が示される。動作１０００は、リフレッシュアドレスを増分し、かつ決定のステップ１００４でＲＡ＜１０＞＝１であるかを決定することによってステップ１００２で開始する。そうであれば、キャッシュ２０８はステップ１００６でリフレッシュされ、そうでなければ、サブアレイ２０４がステップ１００８でリフレッシュされる。
【０１０９】
動作１０００は、ステップ１０１０で、ＲＡ＜５：０＞＝１１１１１１であるかの決定も行ない、そうであれば、リフレッシュ要求はステップ１０１２でリセットされ、決定のステップ１０１４で、ＭＳＡが次のＲＳＡに等しいかについての決定が行なわれ、そうであれば、ライトバックカウンタ２３４はステップ１０１６でリセットされる。
【０１１０】
リフレッシュ実行動作１０００は、制御論理ブロック２３８がそのサイクルでリフレッシュが可能であるようにしている場合のみに呼出され、リフレッシュアドレスはそのたびに増分される。ＲＡ＜１０＞＝１のとき、キャッシュ２０８はリフレッシュされる。ＲＡ＜１０＞が「１」に等しくない場合、ＲＡ＜９：６＞によってアドレス指定されるサブアレイ２０４がリフレッシュされる。リフレッシュアドレスワード線アドレス（ＲＡ＜５：０＞）が１１１１１１のその最大値であるとき、リフレッシュサブアレイ２０４の最終行はこのサイクルでリフレッシュされる。したがって、リフレッシュ要求はリセットされる。図示のこの発明の特定の実現例では、メモリアレイ２００によって必要なリフレッシュ時間で１７のリフレッシュ要求（各サブアレイ２０４に対して１つおよびキャッシュ２０８に対して１つ）を生成するようにリフレッシュ要求タイマがセットされるためである。
【０１１１】
決定のステップ１０１４で、「ＭＳＡが次のＲＳＡに等しい」場合（すなわち、ミラーリングされるサブアレイ２０４が、このサイクルで増分するリフレッシュアドレスの結果としてリフレッシュサブアレイ２０４になるサブアレイである）、ライトバックカウンタ２３４もステップ１０１６でリセットしなければならない。このリセットによって、リセット前にライトバックカウンタ２３４の値より少ないアドレスのキャッシュ２０８に対するすべての書込動作はミラーリングされるサブアレイ２０４にライトバックされる。
【０１１２】
図１１Ａおよび図１１Ｂ（以降は集合的に図１１）を特に参照すると、後続の図１４〜図２１をそれぞれ含む表３〜表１０を参照する選択された表記をさらに含む図２Ｂに示されるようなこの発明の特定の代表的な実施例に対する機能的動作１１００を示す別の例示的な状態図が示される。後続の図１２および図１３をそれぞれ含む表１および表２は、図２Ａに関して示され説明されるメモリ２００の実施例に関する。
【０１１３】
動作１１００はＣＴＦがセットされているかを決定するために決定のステップ１１０２で開始する。そうであれば、ステップ１１０４で、ＭＳＡはＲＳＡにセットされ、決定のステップ１１０６で、ＷＢＡ＜４＞＝１である場合、ライトバックカウンタ２３４はＣＴＦとともにステップ１１０８でリセットされる。（表９、行１０を参照）。ＷＢＡ＜４＞が「１」に等しくない場合、ステップ１１１０で、ライトバックカウンタ２３４は増分され、クリアタグサイクルが実行される。（表９、行９を参照）。
【０１１４】
続く決定のステップ１１０２は、動作が決定のステップ１１１２で「書込」の場合、アレイはステップ１１１４で書込まれる。（表６、行２を参照）。またはこれに代えて、動作が決定のステップ１１１６で「読出」の場合、アレイはステップ１１１８で読出される。（表６、行１を参照）。
【０１１５】
決定のステップ１１０２でＣＴＦがセットされない場合、次に決定のステップ１１２０で、動作はそれが「読出」であるかを決定するためにテストされる。そうであれば、次に決定のステップ１１２２で、それがＭＳＡヒットであり、決定のステップ１１２４で、ＲＳＡ＝ＣＡＣＨＥであり、決定のステップ１１２６でＲＥＦＲがセットされ、決定のステップ１１２８でそれがＤＲＲヒットでない場合、ＣＦＡＤはステップ１１３０で「０」にセットされる。動作が決定のステップ１１３２でＣＦＡヒットである場合、ＤＷＲＬはステップ１１３６でセットされ、ＤＷＲ  ２４４Ｗはステップ１１３８でロードされる。（表８、行１０を参照）。さらに、決定のステップ１１３４で、ＤＷＲＬがセットされる場合、アレイはステップ１１４０でＤＷＲ  ２４４Ｗから書込まれ、ステップ１１３６および１１３８が実行される。
【０１１６】
決定のステップ１１２０で、動作が「読出」であり、さらに決定のステップ１１４２でＲＥＦＲがセットされ、ＭＳＡ−ＲＳＡでありかつＲＳＡヒットがある場合、ＣＦＡＤはステップ１１４４で「１」にセットされる。（表５、行８を参照）。決定のステップ１１４６で、ＤＷＲヒットがなく、かつ決定のステップ１１４８でＣＦＡヒットがなく、ステップ１１５０でＤＲＲＬがセットされる場合（表８、行７を参照）、キャッシュ２０８はＤＲＲ  ２４４Ｒからステップ１１５２で書込まれ、ＤＲＲはステップ１１５４でロードされ、ＤＲＲＬはステップ１１５６でセットされる。またはこれに代えて、ＤＲＲＬがセットされない場合、ステップ１１５４および１１５６が実行される。（表８、行９を参照）。
【０１１７】
さらに、決定のステップ１１２０で、動作が「読出」であり、次に決定のステップ１１５８で、それがＭＳＡヒットであり、決定のステップ１１６０でＤＲＲヒットでない場合（表６、行６を参照）、キャッシュ２０８はステップ１１６８で読出される。ＲＳＡヒットが決定のステップ１１６２で決定され（表７、行７を参照）、かつＲＥＦＲが決定のステップ１１６４でセットされる場合、ステップ１１６６でリフレッシュが実行され、リフレッシュアドレスが増分される。
【０１１８】
ステップ１１５８でＭＳＡヒットがなく、次に決定のステップ１１７０でそれがＤＷヒットでない場合（表６、行４を参照）、アレイはステップ１１７８で読出される。またはこれに代えて、ＤＷＲヒットがある場合（表６、行７を参照）、キャッシュ２０８はステップ１１６８で読出され、決定のステップ１１７２でＲＳＡ＝ＣＡＣＨＥの場合、アレイはステップ１１４０でＤＷＲ  ２４４Ｗから書込まれ、ＤＷＲＬはステップ１１７４でリセットされる。決定のステップ１１７２でＲＳＡがＣＡＣＨＥに等しくない場合（表７、行１３を参照）、動作１１００は再び決定のステップ１１６４に進む。
【０１１９】
再び、決定のステップ１１２０で、動作が「読出」であり、決定のステップ１１７６で
ＤＲＲ  ２４４Ｒヒットの場合（表６、行３を参照）、アレイはステップ１１７８で読出され、キャッシュ２０８はステップ１１５２でＤＲＤＲ  ２４４Ｒから書込まれ（表８、行８を参照）、ＤＲＲＬはステップ１１８０でリセットされる（表９、行８を参照）。決定のステップ１１２０で動作が「読出」でなく、次に決定のステップ１１８２で、それが「書込」であり、決定のステップ１１８４でＤＲＲ  ２４４Ｒの場合（表７、行１４を参照）、ＤＲＲＬはステップ１１８６で「０」にセットされる。決定のステップ１１８２で動作が「書込」であり、決定のステップ１２１８でそれがＤＲＲヒットの場合（表９、行７を参照）、ＤＲＲＬはステップ１２２０で「０」にセットされ、一方、決定のステップ１１８８でＲＥＦＲがセットされ、ＭＳＡ＝ＲＳＡでありかつＭＳＡヒットがある場合（表５、行１および行７、表６、行８および表７行４を参照）、キャッシュ２０８はステップ１１９０で書込まれ、ＣＦＡＤおよびＷＦＡＤは各々ステップ１１９２および１１９４でそれぞれ「１」に等しくセットされ、リフレッシュが実行され、リフレッシュアドレスはステップ１１６６で増分される。さらに、決定のステップ１１８８が「ｙｅｓ」で、決定のステップ１１９６でＲＡ＜５：０＞＝１１１１１１である場合、ＲＥＦＲはステップ１１９８で「０」にセットされ、決定のステップ１２００でＭＳＡが次のＲＳＡに等しい場合、ライトバックアドレスはステップ１２０２でリセットされる。
【０１２０】
決定のステップ１１８８で、決定が「ｎｏ」の場合（表６、行５を参照）、アレイはステップ１２０４で書込まれ、決定のステップ１２０６で動作がＭＳＡヒットである場合、ＣＦＡＤはステップ１２０８で０にセットされ（表５、行９および行１０を参照）、決定のステップ１２１０でＭＳＡ＝ＲＳＡである場合、ＷＦＡＤもステップ１２１２で「０」にセットされる（表５、行２を参照）。またはこれに代えて、決定のステップ１２１０でＭＳＡがＲＳＡに等しくなく、決定のステップ１２１４でＣＦＡヒットがある場合、ＷＦＡＢＣはステップ１２１６で「１」にセットされる（表１０、行１を参照）。
【０１２１】
決定のステップ１１０２でＣＴＦがセットされず、ＷＦＡＢＣが決定のステップ１２４４でセットされる場合（表５、行３を参照）、ステップ１２４６でＷＦＡビットはリセットされ、ＷＦＡＢＣはＭＡＤＲ−１に等しくセットされる。決定のステップ１２４８で動作が書込ではなく、またはＭＳＡヒットがなく、もしくはＭＳＡがＲＳＡに等しくない場合（表１０、行２、行３および行４を参照）、ＷＦＡＢＣはステップ１２５０で「０」にセットされる。
【０１２２】
決定のステップ１１２０または１１８２で、動作１１００が「読出」または「書込」であり、決定のステップ１２５２でそれがＣＦＡヒットでなく、決定のステップ１２５４でＤＷＲヒットでなく、決定のステップ１２５６で、ＤＷＲヒットでなく、決定のステップ１２２６でＲＳＡ＝ＣＡＣＨＥであり（表８、行１、行２および行３を参照）、ＲＥＦＲが決定のステップ１２２４でセットされる場合、リフレッシュはステップ１１６６で実行され、リフレッシュアドレスが増分される。決定のステップ１２５２と並行して、決定のステップ１２５８でＲＳＡヒットがなく、決定のステップ１２６０でＲＳＡがＣＡＣＨＥに等しくなく、決定のステップ１２６２でＣＡＰヒットがあるか（表７、行２および行５を参照）、または決定のステップ１２６４でＭＳＡ＝ＲＳＡの場合（表７、行３および行６を参照）、動作は決定のステップ１２２４に進む。
【０１２３】
決定のステップ１２５２および１２５８と並行して、決定のステップ１２６６でＭＳＡヒットがなく、決定のステップ１２２８でＷＦＡＢＣがセットされず、決定のステップ１２３０でＭＳＡがＲＳＡに等しくなく、決定のステップ１２３２でＲＳＡがＣＡＣＨＥに等しくなく、決定のステップ１２３４でＤＲＷＬがセットされる場合、動作１１００はステップ１１４０および１１７４に進む。決定のステップ１２３４でＤＷＲＬがセットされず、決定のステップ１２３６でＷＢＡ＜１＞＝１の場合（表９、行４、行５および行６を参照）、ステップ１２３８でライトバックアドレスがセットされ、ＣＴＦおよびＤＲＲＬ
はリセットされる。またはこれに代えて、決定のステップ１２３６でＷＢＡ＜１＞が「１」に等しくない場合、ライトバックアドレスはステップ１２４０で増分され（表９、行１、行２および行３を参照）、決定のステップ１２４２でＷＦＡヒットがある場合、ステップ１１３６でＤＷＲＬはセットされ、ステップ１１３８でＤＷＲはロードされる（表８、行４、行５および行６を参照）。さらに、決定のステップ１２３４で、ＤＷＲＬがセットされる場合、動作１１００はステップ１１４０および１１７４に進む。
【０１２４】
決定のステップ１１８２で、動作が「書込」でなく（かつ決定のステップ１１２０で「読出」でない場合）、それは「動作なし」（ＮＯＰ）であり、動作１１００は決定のステップ１２２８および決定のステップ１２２６ならびに１２２２（ＭＳＡ＝ＲＳＡ）に進み、ここで、どちらかが「ｙｅｓ」の場合（ステップ１２２に関して表７、行１を参照）、動作１１００は決定のステップ１２２４に進む。
【０１２５】
図１に例示される上述の特許出願の主題の具体的な実現例では、ライトバックサイクルは以下のことが当てはまる場合のみ行なわれる。リフレッシュ要求がアサートされる、読出または書込の動作がリフレッシュサブアレイに対するものであり、リフレッシュサブアレイがミラーリングされるサブアレイではない。ここで図２Ａに示されるこの発明の実施例は、図１のものと同じ条件でライトバックサイクルを行なおうとし、図２Ｂの実施例は、機会があるごとにライトバック動作を行なおうとする。
【０１２６】
図２Ｂの実現例を上回る図２Ａの実現例のあり得る利点には、設計がライトバックサイクルの回数を最小限にする傾向があり、電力消費を最小限にする点がある。一方、ここに開示されるこの発明の代表的な実現例は、ミラーリングされるサブアレイをリフレッシュサブアレイと同じに維持しようとする。データは、ミラーリングされるサブアレイおよびリフレッシュサブアレイが同じであるときのみキャッシュに書込まれ、それらを同じに保つことは、リフレッシュ動作がどれだけ遅延され得るかを最小限にする役割を果たす。しかしながら、アクセスが最悪の場合のパターンでは、ミラーリングされるサブアレイおよびリフレッシュサブアレイを同じに保つという目的が達成されないことがあり得る。アクセスが最悪の場合のパターンでは、図２Ａおよび図２Ｂの実現例に対してリフレッシュを適応させることができる前に遅延の差はない。
【０１２７】
すべての評価に加え、図３〜図１０、図１１の実現例の機能およびフラグはＷＦＡＢＣセットの決定を含む。ＷＦＡＢＣ（ＷＦＡビットクリア）フラグは、ＣＦＡヒットおよびリフレッシュサブアレイのミスとともに書込サイクルでセットされる。このサイクル中、データはミラーリングされるサブアレイに書込まれ、ＣＦＡビットはリセットされる。このサイクル中、ライトバックアドレスは、ライトバックサイクルが行なわれ得ることを予期してＷＦＡバス上でアサートされる。したがって、外部アドレスによってアドレス指定されるＷＦＡビットはアドレス指定されず、このサイクルでリセットすることはできない。ＷＦＡＢＣはセットされるため、ＷＦＡＢＣがセットされたサイクルの外部アドレスを使用して次のサイクルでＷＦＡビットはクリアされる。
【０１２８】
図１１は、図１２から図２１の表３から表１０をそれぞれ参照する表記（表および行番号による）も含む。
【０１２９】
この点で、表１は、図３〜図１０に対して多重化が必要なアドレスバスの各々に多重化されるアドレスの一覧を含む。読出、リフレッシュ、クリアタグなしの条件は、図７のものと同じである。表１の条件によって、図７によって必要とされる任意の動作に対してアドレスバスに正しいアドレスが多重化される。なお、多重化の決定を行なうためにＷＦＡヒットまたはＣＦＡヒットの情報は必要ではない。これによって、アドレスの多重化およびタグのアクセスを並行して行なうことができる。
【０１３０】
表２では、それは、多重化が必要とされるアドレスバスの各々に多重化されなければならないアドレスの一覧を含む。書込、リフレッシュ、クリアタグなしの条件は図８のものと同じである。表２の条件によって、図８によって必要とされる任意の動作に対して正しいアドレスがアドレスバスに多重化される。なお、多重化の決定を行なうためにＷＦＡヒットまたはＣＦＡヒットの情報は必要ではない。これによって、アドレスの多重化およびタグのアクセスを並行して行なうことができる。
【０１３１】
現サイクルに対するアドレス情報は、メモリ２００の図２Ａの実現例でＷＦＡＢおよびＣＦＡＢに多重化されるべきアドレスを決定するために、図１２および図１３の表１および表２でそれぞれ必要である。アドレス情報は、アドレスに対するセットアップ時間によってクロックの立上がり端の前に利用可能である。これに対して、メモリ２００の図２Ｂの実現例でアドレスの多重化を決定するために図１５の表４で必要な情報は、先行サイクルにのみ関連する。セットアップ時間中にＷＦＡＢおよびＣＦＡＢバスへのアドレスの多重化を行なうことができるようにセットアップ時間が適切である場合、図２Ｂの実施例に対して図２Ａに示されるメモリ２００の実現例にはアクセス時間の代償はない。
【０１３２】
図３〜図６および図９〜図１０の他の動作条件に必要な多重化も容易に明らかである。表３から表１０は、図１１の論理に基づいて生成される信号を詳細に説明している。
【０１３３】
この発明の原則をこの発明による高スピードＳＣＲＡＭの実現例とともに説明してきたが、上述の説明は例によるものに過ぎず、この発明の範囲を制限するものではないことが明らかに理解される。特に、上述の開示の教示は関連技術の当業者に他の変形例を示唆することが認識される。そのような変形例は、それ自体が既に知られ、ここに既に説明される特徴の代わりにまたはそれに加えて使用され得るおよび他の特徴を含み得る。この出願では請求項は特徴の特定の組合せに対して作られているが、そのようなものがいずれかの請求項でここで特許請求されるのと同じ発明に関連するか否か、およびそれがこの発明が直面する同じ技術的な問題の一部またはすべてを軽減するか否かにかかわらず、この開示の範囲は明示的または暗示的に開示される新規の特徴または特徴の新規の組合せも含むことが理解されるべきである。出願人は、この出願またはそこから派生するさらなる出願の係属中にそのような特徴および／またはそのような特徴の組合せに対して新しい請求項を作る権利を保持する。
【図面の簡単な説明】
【０１３４】
【図１】データおよびアドレスのバス制御を示す上述の特許出願に開示されるこの発明の特定の実現例によるメモリの機能的ブロック図であり、サブアレイおよびキャッシュのリフレッシュは外部アクセスの任意の組合せと並行して行なうことができ、制御論理および制御信号はメモリアレイでのリフレッシュ動作を隠すために使用され得る。
【図２Ａ】以降は高スピードＳＣＲＡＭ（静的互換可能ランダムアクセスメモリ）と称されることのある、データキャッシュおよび別の読出ならびに書込データレジスタおよびタグブロックとともに同期動的ランダムアクセスメモリ（ＤＲＡＭ）を用いる高スピードの、静的ランダムアクセスメモリ（ＳＲＡＭ）互換可能な高利用可能メモリアレイを示すこの発明の特定の実現例によるメモリの代替の実施例の機能的なブロック図である。
【図２Ｂ】以降は高スピードＳＣＲＡＭ（静的互換可能ランダムアクセスメモリ）と称されることのある、データキャッシュおよび別の読出ならびに書込データレジスタおよびタグブロックとともに同期動的ランダムアクセスメモリ（ＤＲＡＭ）を用いる高スピードの、静的ランダムアクセスメモリ（ＳＲＡＭ）互換可能な高利用可能メモリアレイを示すこの発明の特定の実現例によるメモリの代替の実施例の機能的なブロック図である。
【図３】図２Ａに示されるこの発明の実施例によるクリアタグサイクル動作の特定の実現例に対する代表的な部分的状態図である。
【図４】リフレッシュ要求が、読出、書込、またはクリアタグサイクルでないサイクル中にアサートされる、図２Ａに示されるこの発明の特定の実現例に対する代表的な部分的状態図である。
【図５】キャッシュの読出またはアレイの読出のみが行なわれる、読出、リフレッシュなし、およびクリアタグなしの条件の図２Ａに示されるこの発明の特定の実現例に対するさらに代表的な部分的状態図である。
【図６】アレイが書込まれる、書込、リフレッシュなし、およびクリアタグなしの条件の図２Ａに示されるこの発明の特定の実現例に対する対応する代表的な部分的状態図である。
【図７】読出およびリフレッシュまたは読出ならびに後続のサイクルでリフレッシュできるように進行することが可能な、読出、リフレッシュ、およびクリアタグなしの条件の図２Ａに示されるこの発明の特定の実現例に対する代表的な部分的状態図である。
【図８】書込およびリフレッシュまたは書込および後続のサイクルでリフレッシュできるように進行することが可能な、書込、リフレッシュ、およびクリアタグなしの条件の図２Ａに示されるこの発明の特定の実現例に対する対応する代表的な部分的状態図である。
【図９】図７および図８で呼び出されるようなライトバック実行動作を示す図２Ａに示されるこの発明の特定の実現例に対する代表的な部分的状態図である。
【図１０】図７および図８でも呼び出されるようなリフレッシュ実行動作を示す図２Ａに示されるこの発明の特定の実現例に対する対応する代表的な部分的状態図である。
【図１１Ａ】図２Ｂに示されるようなこの発明の第２の実施例に対する例示的な状態図を含み、後続の図１４〜図２１を含む表３〜表１０を参照する表記を含む。
【図１１Ｂ】図２Ｂに示されるようなこの発明の第２の実施例に対する例示的な状態図を含み、後続の図１４〜図２１を含む表３〜表１０を参照する表記を含む。
【図１２】図２Ａに示されるこの発明の第１の実施例で多重化が必要なアドレスバスの各々に多重化されるアドレスの一覧を含む表（表１）であり、図７に対応する。
【図１３】図２Ａに示されるこの発明の第１の実施例で多重化が必要なアドレスバスの各々に多重化されるアドレスの一覧を含む付加的な表（表２）であり、図８に対応する。
【図１４】図２Ｂに示されるこの発明の第２の実施例に関する内部ＤＲＡＭアドレスバスに対する真理表（表３）である。
【図１５】図２Ｂに示されるこの発明の第２の実施例に関する書込フラグアレイ（ＷＦＡ）タグアドレスバス（ＷＦＡＢ）に対するアドレス真理表（表４）である。
【図１６】図２Ｂに示されるこの発明の第２の実施例に関するＷＦＡおよびキャッシュフラグアレイ（ＣＦＡ）制御真理表（表５）である。
【図１７】図２Ｂに示されるこの発明の第２の実施例に関するアレイ外部バスイネーブル（ＡＥＢＥＮ）およびキャッシュ外部バスイネーブル（ＣＥＢＥＮ）信号に対する真理表（表６）である。
【図１８】図２Ｂに示されるこの発明の第２の実施例に関するアレイ内部バスイネーブル（ＡＩＢＥＮ）、書込アレイバス書込イネーブル（ＷＡＷ）およびリセットデータ書込レジスタロード（ＲＤＷＲＬ）信号に対する真理表（表７）である。
【図１９】図２Ｂに示されるこの発明の第２の実施例に関するキャッシュ内部バスイネーブル（ＣＩＢＥＮ）、ロードデータ書込レジスタ（ＬＤＷＲ）、キャッシュ読出／書込バス上の書込（ＣＲＷＷ）およびロードデータ読出レジスタ（ＬＤＲＲ）信号に対する真理表（表８）である。
【図２０】図２Ｂに示されるこの発明の第２の実施例に関するセットクリアタグフラグ（ＳＣＴＦ）、リセットクリアタグフラグ（ＲＣＴＦ）、増分ライトバックアドレス（ＩＷＢＡ）、リセットライトバックアドレス（ＲＷＢＡ）およびリセットデータ読出レジスタロードデータフラグＲＤＲＲＬ信号に対する真理表（表９）である。
【図２１】図２Ｂに示されるこの発明の第２の実施例に関するセットＷＦＡＢＣおよびリセットＷＦＡＢＣ制御信号とともに書込フラグアドレスビットクリア（ＷＦＡＢＣ）信号セットに対する真理表（表１０）である。
【符号の説明】
【０１３５】
１００  メモリ、１０２  メモリアレイ、１０４  サブアレイ、１０８  キャッシュ。
【図１】
2006236548.tif 000003
【図２Ａ】
2006236548.tif 000004
【図２Ｂ】
2006236548.tif 000005
【図３】
2006236548.tif 000006
【図４】
2006236548.tif 000007
【図５】
2006236548.tif 000008
【図６】
2006236548.tif 000009
【図７】
2006236548.tif 000010
【図８】
2006236548.tif 000011
【図９】
2006236548.tif 000012
【図１０】
2006236548.tif 000013
【図１１Ａ】
2006236548.tif 000014
【図１１Ｂ】
2006236548.tif 000015
【図１２】
2006236548.tif 000016
【図１３】
2006236548.tif 000017
【図１４】
2006236548.tif 000018
【図１５】
2006236548.tif 000019
【図１６】
2006236548.tif 000020
【図１７】
2006236548.tif 000021
【図１８】
2006236548.tif 000022
【図１９】
2006236548.tif 000023
【図２０】
2006236548.tif 000024
【図２１】
2006236548.tif 000025