(57)【要約】【課題】  ＤＲＡＭにおいて効率的にリフレッシュ動作を隠す。【解決手段】  単一のＤＲＡＭキャッシュ（３０８）およびタグ（３２４）との関連での同期ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）（３００）を採用した、スタティック・ランダム・アクティブ・メモリ（ＳＲＡＭ）コンパチブル・高可用性メモリアレイおよび方法により、低コストＤＲＡＭメモリセルを含むメモリ設計であって、システムアクセスにとって１００％の時間利用可能であり、かつデータ損失を防ぐのに十分な頻度でリフレッシュを実行することのできるメモリ設計が提供される。メモリ（３００）内の任意のサブアレイ（３０４）が、他の任意のサブアレイ（３０４）の外部からの読出または書込と同時にキャッシュ（３０８）から書込またはリフレッシュ可能である。【選択図】        図３
2006236550.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリサブアレイを含むダイナミック・ランダム・アクセス・メモリアレイと、
前記複数のメモリサブアレイに動作結合され、前記複数のメモリサブアレイのうちのいずれか１つをミラーリングするためのキャッシュと、
前記複数のメモリサブアレイのうちのどれが現在前記キャッシュによってミラーリングされているかを示すための手段とを備える、集積回路装置。
【請求項２】
複数のメモリサブアレイを含むダイナミック・ランダム・アクセス・メモリアレイと、
前記メモリアレイに動作結合され、前記複数のメモリサブアレイのうちのただ１つだけを一度にミラーリングするためのキャッシュとを備える、集積回路装置。
【請求項３】
複数のメモリサブアレイを含むダイナミック・ランダム・アクセス・メモリアレイと、
前記複数のメモリサブアレイの各々におけるメモリセル数に等しい数のメモリセルを含むダイナミック・ランダム・アクセス・メモリキャッシュとを備える、集積回路装置。
【請求項４】
複数のメモリサブアレイを含むダイナミック・ランダム・アクセス・メモリアレイと、
前記メモリアレイに動作結合され、前記複数のメモリサブアレイのうちのいずれか１つをミラーリングするためのキャッシュと、
前記複数のメモリサブアレイの各々に結合されたアレイ内部アドレスバスと、
前記キャッシュに結合されたキャッシュ内部アドレスバスとを備える、集積回路装置。
【請求項５】
集積回路装置であって、
複数のメモリサブアレイを含むダイナミック・ランダム・アクセス・メモリアレイと、
前記メモリアレイに動作結合され、前記複数のメモリサブアレイのうちの１つをミラーリングするためのキャッシュと、
前記集積回路装置に外部から供給されるアドレスを受けるためのアドレス制御ブロックとを備え、該アドレス制御ブロックは、外部アドレスバスによって前記複数のメモリサブアレイおよび前記キャッシュに結合される、集積回路装置。
【請求項６】
前記メモリアレイおよび前記キャッシュに結合されたリフレッシュカウンタをさらに備える、請求項１、２、３、４および５のいずれかに記載の集積回路装置。
【請求項７】
前記外部アドレスバスとは別個の内部キャッシュアドレスバスおよび内部アレイアドレスバスをさらに備える、請求項６に記載の集積回路装置。
【請求項８】
前記内部アレイアドレスバスおよび前記内部キャッシュアドレスバスに結合されたライトバックカウンタをさらに備える、請求項４または７に記載の集積回路装置。
【請求項９】
前記キャッシュ内の有効データを追跡するためのタグブロックをさらに備える、請求項８に記載の集積回路装置。
【請求項１０】
前記タグブロックおよび前記外部アドレスバスに結合されたタグアドレスバスをさらに備える、請求項９に記載の集積回路装置。
【請求項１１】
前記ライトバックカウンタに結合され前記キャッシュ内の有効データを追跡するためのタグブロックをさらに備える、請求項８に記載の集積回路装置。
【請求項１２】
前記メモリサブアレイの各々は、等しい数のメモリセルを含む、請求項１、２、３、４または５に記載の集積回路回路装置。
【請求項１３】
前記外部アドレスバスに結合され、前記複数のメモリサブアレイを選択的にイネーブルして、前記内部アレイアドレスバスまたは前記外部アドレスバスのいずれかにあるアドレスに応答させる、制御論理ブロックをさらに備える、請求項７に記載の集積回路装置。
【請求項１４】
前記制御論理ブロックはさらに、前記キャッシュを選択的にイネーブルして、前記内部キャッシュアドレスバスまたは前記外部アドレスバスのいずれかにあるアドレスに応答させるよう動作する、請求項１３に記載の集積回路装置。
【請求項１５】
タグイネーブル信号を前記タグブロックに供給するための制御論理ブロックをさらに備える、請求項９に記載の集積回路装置。
【請求項１６】
前記タグブロックは、タグ読出データ信号を前記制御ブロックに供給するよう動作する、請求項１５に記載の集積回路装置。
【請求項１７】
前記制御論理ブロックは、タグ書込データ信号を前記タグブロックに供給するよう動作する、請求項１５に記載の集積回路装置。
【請求項１８】
前記メモリアレイに対するリフレッシュ動作は、前記メモリアレイ内に維持されたデータを失うことなく読出または書込のアクセス動作に対する装置の応答を可能にするのに十分な周波数で実行可能である、請求項１、２、３、４または５に記載の集積回路装置。
【請求項１９】
前記複数のメモリサブアレイのうちの任意のメモリサブアレイが、前記複数のメモリサブアレイのうちの任意の他のメモリサブアレイが読出または書込されるのと実質的に並行して、前記キャッシュから書込またはリフレッシュ可能である、請求項１、２、３、４または５に記載の集積回路装置。
【請求項２０】
複数のメモリサブアレイを含むダイナミック・ランダム・アクセス・メモリアレイと、
前記メモリサブアレイのうちの２つ以上に、実質的に並行してアクセスするための手段とを備える、集積回路回路装置。
【請求項２１】
前記実質的に並行してアクセスするための手段は、アレイ内部アドレスバスと、前記複数のメモリサブアレイに結合された別個の外部アドレスバスとを含む、請求項２０に記載の集積回路装置。
【請求項２２】
前記外部アドレスバスに基づいて或るアドレスにアクセスされるべきことを示すためのアレイ外部アドレス信号と、
前記アレイ内部アドレスバスに基づいて或るアドレスにアクセスされるべきことを示すためのアレイ内部アドレス信号とをさらに備える、請求項２１に記載の集積回路装置。
【請求項２３】
前記複数のメモリサブアレイに動作結合され、前記複数のメモリサブアレイのうちのいずれか１つをミラーリングするためのキャッシュをさらに備える、請求項２２に記載の集積回路装置。
【請求項２４】
複数のサブアレイを含むＤＲＡＭアレイと、
前記サブアレイの各々におけるメモリ数と少なくとも同じ数のメモリセルを有するキャッシュと、
前記サブアレイのうちの任意の１つを、前記サブアレイのうちの別の１つへのアクセスと実質的に並行してリフレッシュするための手段と、
前記ＤＲＡＭアレイから読出されているデータを前記キャッシュに書込むための手段と
、
前記ＤＲＡＭアレイに書込む代わりに前記キャッシュにデータを書込むための手段と、
前記ＤＲＡＭアレイから読出す代わりに前記キャッシュからデータを読出すための手段と、
前記サブアレイのうちの任意の１つに、前記サブアレイのうちの別の１つへのアクセスと実質的に並行して前記キャッシュからデータを転送するための手段と、
前記キャッシュ内の、有効データが入っている場所を示すための手段と、
前記複数のサブアレイのうちのどれから前記キャッシュが有効データをミラーリングしていることがあり得るかを示すための手段と、
前記ＤＲＡＭアレイへのリフレッシュ動作を隠すことを可能にする制御回路とを備える、集積回路装置。
【請求項２５】
前記キャッシュは、サイズにおいて前記複数のサブアレイの各々に等しい、請求項２４に記載の集積回路装置。
【請求項２６】
前記キャッシュはＤＲＡＭキャッシュを含む、請求項２５に記載の集積回路装置。
【請求項２７】
前記制御回路はさらに、前記ＤＲＡＭキャッシュへのリフレッシュ動作を隠すことを可能にするよう動作する、請求項２６に記載の集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の背景
この発明は、一般的に、集積回路記憶装置、および埋込メモリを組込んだ上記装置の分野に関する。より具体的には、この発明は、単一のＤＲＡＭキャッシュおよびタグとの関連における同期ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）を採用した、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）コンパチブル・高可用性メモリアレイおよび方法（以下ＳＣＲＡＭ（ＳＲＡＭコンパチブル・ランダム・アクセス・メモリ）とも称される）に関する。
【背景技術】
【０００２】
ＳＲＡＭとは、電力が回路に供給される限りリフレッシュの必要なしにデータを維持できる（すなわち「静的（static）」である）種類のメモリ技術である。これは、データを維持するために１秒当たり多数回リフレッシュされなければならない（すなわち「動的（dynamic）」である）ＤＲＡＭとは対照的なものである。ＤＲＡＭに対するＳＲＡＭの主な利点としては、ＳＲＡＭではＤＲＡＭのようにデータ維持のためにリフレッシュ回路を必要としないということが挙げられる。上記およびその他の理由から、一般的にＳＲＡＭのデータアクセス速度はＤＲＡＭよりも速い。しかしながら、ＳＲＡＭは、記憶がバイト単位で行なわれるため、ＤＲＡＭよりも製造コストが高くなる。その主な理由は、ＳＲＡＭは一般的に１メモリセル当たり４個、６個またはそれ以上のトランジスタから構成されることから、チップ上でＳＲＡＭが占める面積はＤＲＡＭよりもはるかに大きくなるからである。これとは対照的に、１個のＤＲＡＭセルは一般的に１個のトランジスタおよび１個のキャパシタから構成される。
【０００３】
上述のように、ＤＲＡＭは、リフレッシュ論理回路によって比較的連続的にアクセスされた場合にのみデータを維持するような構成となっている。この回路は、１秒につき多数回、実効的に各々のメモリセルの内容を読出して各々のメモリセルを再記憶しなければならないが、これは当該メモリセルが現在データ読出動作またはデータ書込動作においてアクセスされているか否かを問わない。各々のセルの内容を読出して再記憶する動作は、その場所にあるメモリ内容のリフレッシュを目的としたものである。
【０００４】
ＤＲＡＭの利点としては、その構造が極めて単純であり、各々のセルが典型的に単一の小さなキャパシタおよび対応のパストランジスタのみから構成されることが挙げられる。上記キャパシタは電荷を維持するものであり、電荷が存在すれば論理レベル「１」が示される。逆に、電荷が存在しなければ、論理レベル「０」が記憶されていることになる。トランジスタは、イネーブルされたとき、キャパシタの電荷を読出すまたはこれへのデータビットの書込を可能にするよう働く。しかしながら、これらキャパシタは、記憶密度をできるだけ大きくするために極めて小型化され、最も好ましい条件下でも電荷を短期間しか保持できないことから、連続的にリフレッシュされなければならない。
【０００５】
その際、基本的には、リフレッシュ回路は、実効的にＤＲＡＭアレイ内の各々のセルの内容を読出し、電荷が漏れ出てデータ状態が失われる前に各々のセルを新鮮な「電荷」でリフレッシュするよう働く。一般的に、この「リフレッシュ」を行なうには、メモリアレイ内の各々の「行」を読出して再記憶する。こうして、各々のメモリセルキャパシタの内容の読出および再記憶のプロセスによって、電荷ひいてはデータ状態が再確立される。
【０００６】
上記に鑑み、ＤＲＡＭにおけるメモリ密度の利点が得られるとともに、通常のメモリ読出／書込データアクセスの妨げとならないようにリフレッシュ動作（隠れリフレッシュ）
同士を調整することによって、ＳＲＡＭに匹敵するメモリアクセス回数を得ることのできるメモリ設計を提供することが極めて有利であろう。この観点から、現在に至るまでに、同期ＤＲＡＭ（ＳＤＲＡＭ。すなわち、クロックのエッジに対して相対的に、「有効」または「無効」の信号によってメモリ動作が制御されるメモリ）と、クロックの同期を用いない非同期ＤＲＡＭとの両方において、ＤＲＡＭリフレッシュ動作を隠すいくつかの方策が提案されている。
【０００７】
非同期メモリリフレッシュ隠し技術
ノガミ（Nogami）他による論文、「１Ｍｂｉｔの事実上静的なＲＡＭ（1-Mbit Virtually Static RAM）」、ＩＥＥＥ固体回路誌（IEEE Journal of Solid-State Circuits）、ＳＣ−２１巻、第５号、１９８６年１０月、６６２−６６７頁、においては、非同期ＤＲＡＭにおいてリフレッシュ動作を隠すための特定の方法が記載されているが、６６６ｍ頁の表ＩＶに示すように、これは（非同期）ＳＲＡＭと完全に両立可能ではない。加えて、その実現においてはアクセス時間およびサイクル時間についてかなりのペナルティが生じる。
【０００８】
これとは別に、ヨシオキ（Yoshioki）他による論文、「４Ｍｂの擬似／事実上のＳＲＡＭ（4Mb Pseudo/Virtually SRAM）」、１９８７年ＩＥＥＥ国際固体回路会議、技術論文摘要（IEEE International Solid-State Circuits Conference, Digest of Technical Papers）、２０−２１頁、および１９８７年ＩＳＳＣＣ、３２０−３２２頁、においては、アドレスアクセス時間を６０ｎＳから９５ｎＳに実効的に延長するリフレッシュ隠し方法が記載されているが、その結果として生じる性能上のペナルティは許容できないほど大きなものである。
【０００９】
２００３年９月２３日にチェン（Chen）に対して発行された米国特許第６，６２５，０７７号、「半導体メモリの非同期的な隠れリフレッシュ（Asynchronous Hidden Refresh of Semiconductor Memory）」においては、非同期ＤＲＡＭにおいて、すべての読出または書込サイクルを「引伸ばす（stretch）」ことによってリフレッシュ動作を隠す方法が記載されている。この技術を実現することで生じる正確な性能ペナルティは開示されていないが、かなりのものと考えられる。
【００１０】
同様に、２００３年９月３日にキース（Keeth）他に対して発行された米国特許第６，４４５，６３６号、「ダイナミック・ランダム・アクセス・メモリにおいてリフレッシュを隠す方法およびシステム（Method and System for Hiding Refreshes in a Dynamic Random Access Memory）」においては、メモリセルの数を２倍にすることでＤＲＡＭリフレッシュを隠す方法が記載されているが、その結果、必要なシリコン面積が事実上２倍になる。この特許で示される方法では、許容できないほど大きなコスト上のペナルティが生じる。
【００１１】
同期メモリリフレッシュ隠し技術
１９９９年１２月７日にリョン（Leung）他に対して発行された米国特許第５，９９９，４７４号、「半導体メモリのリフレッシュを完全に隠す方法および装置（Method and Apparatus for Complete Hiding of the Refresh of a Semiconductor Memory）」（以下「’４７４号特許」とも称される）においては、ＤＲＡＭサブアレイと同じサイズのスタティックＲＡＭ（ＳＲＡＭ）キャッシュなどを利用してＳＤＲＡＭ（これは図４のＣＬＫ信号から推測される）のようなものにおいてリフレッシュを隠す方法が記載されている。上述のように、ＳＲＡＭセルはＤＲＡＭセルよりもはるかに大きいため、ＳＲＡＭキャッシュの物理的なサイズは、この特許に示す方法の実現においてかなりのペナルティとなるであろう。２００２年９月１０日にリョンに対して発行された米国特許第６，４４９，６８５号、「半導体メモリのリフレッシュを完全に隠すための読出／書込バッファおよびそ
の動作方法（Read/Write Buffers for Complete Hiding of the Refresh of a Semiconductor Memory and Method of Operating Same）」（以下「’６８５号特許」とも称される）においては、ＳＲＡＭキャッシュに代えて同じサイズのＤＲＡＭキャッシュ２個を用いることによってＳＲＡＭキャッシュのサイズの問題に対処している。これら２個のＤＲＡＭキャッシュは、図５においては書込バッファおよび読出バッファと呼ばれているが、これは誤解を与えるものであろう。各々のバッファは図１に示すＳＲＡＭキャッシュと同じ容量を有しており、現実にはキャッシュである。
【００１２】
’４７４号特許および’６８５号特許のいずれにおいても、キャッシュは一時に多数のサブアレイからのデータを含み得る。このため、タグＳＲＡＭメモリに対してサイズ上の要件が課されるが、これは、１サブアレイ内のワード数（１ワードは１アドレス当たりのビット数に等しい）を（２＋各々のサブアレイを一意にアドレス指定するために必要なビット数）に乗じたものに等しい。これらの特許に記載の方法に対するもう１つの根本的な制約として、ＳＲＡＭキャッシュがライトバックポリシーを実現していることから、すべての書込データがメモリバンクへの書込前にまずＳＲＡＭキャッシュに書込まれ、外部データバスに与えられるすべての読出データがＳＲＡＭキャッシュに記憶されるということがある。キャッシュに書込まれるデータは最終的にサブアレイに書込まれることになるため、キャッシュへの書込によって、リフレッシュを隠さないＤＲＡＭであれば必要でない電力が消費されてしまう。キャッシュはＤＲＡＭサブアレイよりも１アクセス当たりに多くの電力を消費することが予想されるため、上述のようにキャッシュに書込を行なってからサブアレイに書込をした場合、書込のためのアレイ電力は２倍以上になることが予想される。ランダム読出については、６４の読出のうち６３はミスとなる。また、サブアレイの読出およびキャッシュへの書込によっても、６４回のうち６３回で電力が２倍以上になることが予想される。アキヤマ（Akiyama）他に対する米国特許出願連続番号第２００３／００３３４９２号「マルチバンクＤＲＡＭおよびキャッシュメモリを伴う半導体装置（Semiconductor Device with Multi-Bank DRAM and Cache Memory）」は、’６８５号特許に記載のものと極めて類似する。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
一般的に、非同期ＤＲＡＭおよび同期ＤＲＡＭにおいてリフレッシュ動作を隠すための公知の技術の主な問題点として、所望より大きいタグ容量に加えて、ＳＲＡＭキャッシュか、２つのＤＲＡＭキャッシュか、のいずれかが必要となることが挙げられる。
【課題を解決するための手段】
【００１４】
発明の概要
本願明細書においては、同期ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）を採用した、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）コンパチブル・高可用性メモリアレイおよび方法（以下ＳＣＲＡＭ（ＳＲＡＭコンパチブル・ランダム・アクセス・メモリ）とも称される）であって、ただ１つのＤＲＡＭキャッシュおよび従来技術で利用されるよりも小さなタグを伴うＤＲＡＭメモリセルを含むメモリアレイにおいて１００％のメモリシステム可用性が可能となるものが開示される。
【００１５】
具体的には、この発明のメモリアレイおよび方法においては、所与の時間においてただ１つのサブアレイからのデータを「ミラーリング（mirror）」するキャッシュが用いられる。これと対照的に’４７４号特許および’６８５号特許に記載される技術では、任意のまたはすべてのサブアレイからのデータが並行してキャッシュ内に存在することがあり、キャッシュがサブアレイを「ミラーリング」する概念は開示されていない。’４７４号特許および’６８５号特許に記載のように、キャッシュ内のどのデータが有効かを追跡するタグは、当該データが有効であるか否かを示す１ビットと、当該アレイ内の無効データを
示す２番目のビットと、サブアレイアドレスが入るのに十分な数のビットとを有していなければならない。たとえば、サブアレイが１６個存在する場合、サブアレイアドレスのために４ビットさらに必要となり、タグの容量が６Ｘだけ増大する。この発明に従うと、どのサブアレイが「ミラーリング」されているかについての情報が４ビットレジスタに入っており、無効アレイデータを示すためのタグビットは必要ではない。
【００１６】
また、この発明に従うと、キャッシュは、サブアレイ内のＤＲＡＭメモリセルの数に等しい数のＤＲＡＭメモリセルから構成されることが有利である。’４７４号特許においては、キャッシュは、サブアレイ内のＤＲＡＭメモリセルの数に等しい数のＳＲＡＭメモリセルを含み、’６８５号特許においては、２つのキャッシュが用いられて、その各々が、サブアレイ内のＤＲＡＭメモリセルの数に等しい数のＤＲＡＭメモリセルを有する。さらに、各々のサブアレイにリフレッシュカウンタを設ける’４７４号特許および’６８５号特許に記載の実現例とは異なり、この発明は単一のリフレッシュカウンタを用いて実現され得る。
【００１７】
本願明細書中でこの発明の或る特定の実現例において開示されるように、ＤＲＡＭアレイ（複数のサブアレイすべてを含む）は２本のアドレスバスを有し、一方のアドレスバスは外部アドレス専用とされ、他方のアドレスバスは、リフレッシュアドレスまたはライトバックアドレスのいずれか一方のために用いられ得る。さらに、この発明のＤＲＡＭアレイには、バスごとに特定のイネーブル（活性化）コマンドが発行される。換言すると、アレイ内の１本のワード線が「ハイ」に駆動されるのは、そのアレイアドレスが当該バス上にあり、このバスに対してイネーブルが発行された場合に限られる。’４７４号特許および’６８５号特許の技術は、各々のサブアレイにつき１つのイネーブルコマンドを用いるものと思われる。
【００１８】
この発明に従うと、ＤＲＡＭメモリセルから構成されたメモリの、システムアクセスに対する可用性は、１００％にまで上昇する。１００％の可用性を達成しデータ損失を防ぐために、システムアクセスについてのあらゆる組合せにつきＤＲＡＭメモリセルのリフレッシュが可能でなければならない。多数の独立に動作可能なサブアレイを用いることでほとんどのアクセスシーケンスにおいてリフレッシュが可能にされる一方で、キャッシュを用いて、多数の独立に動作可能なサブアレイのうちリフレッシュが要求されるサブアレイを一時的にミラーリングすることによって、リフレッシュがあらゆるアクセスシーケンスにつき確保される。本願明細書においては、キャッシュは、サブアレイからのデータの一部またはすべてを記憶するために用いられているときに、このサブアレイを「ミラーリング」していることとする。本願明細書で開示されるこの発明の実施例においては、キャッシュは、サブアレイの内容全体を記憶することが可能である。
【００１９】
キャッシュ内に入っているデータに対する読出要求によって、リフレッシュが要求されるサブアレイをリフレッシュすることが可能であるが、それはデータをキャッシュから読出すことができ、リフレッシュを必要としているサブアレイアドレスをリフレッシュすることができるからである。リフレッシュが要求されているサブアレイへの書込をキャッシュに記憶させることができ、こうしてサブアレイへのリフレッシュが可能となる。タグを用いてキャッシュ有効データを追跡し、制御論理回路を用いて、キャッシュに対する読出と、キャッシュへの書込と、キャッシュからミラーリングされたサブアレイへのライトバックとを管理する。キャッシュ内のデータがサブアレイにライトバックされた後、キャッシュは異なるサブアレイをミラーリングすることができる。
【００２０】
本願明細書で用いられる場合には以下の定義を適用することとする。
【００２１】
［リフレッシュポインタ］−リフレッシュは、リフレッシュポインタ内に入っているア
ドレスに基づいてサブアレイのうちの１つまたはキャッシュに対して行なわれる。サブアレイが１６個ある場合、サブアレイアドレスはａ＜３：０＞の組合せであり得る。キャッシュアドレスは、ａ＜４＞がセットされた場合には次のリフレッシュアドレスであり得る。この例では、リフレッシュポインタは通常０００００から１００００までカウントすることができるが、１００００から０００００へ増分することもできる。
【００２２】
［ミラーリングされたサブアレイポインタ］−キャッシュによってミラーリングされているサブアレイのアドレスが入っている。サブアレイが１６個ある場合、サブアレイアドレスはｓａ＜３：０＞とすることができ、ミラーリングされたサブアレイポインタにはｓａ＜３：０＞の１組合せが入っていることになる。
【００２３】
［行リフレッシュアドレス］−リフレッシュされるべきキャッシュまたはサブアレイ内の行のアドレスであって、リフレッシュカウンタにより生成される。キャッシュ内および各々のサブアレイ内に６４行（ワード線）ある場合、行アドレスはｒａ＜０：５＞であり得る。
【００２４】
［リフレッシュアドレス］−リフレッシュアドレスには、リフレッシュポインタおよび行リフレッシュアドレスが入っている。
【００２５】
［リフレッシュ要求］−制御論理ブロックによりセットされる信号であって、リフレッシュが要求されたことを示す。リフレッシュされるべき正確な行はリフレッシュアドレスによって特定される。本願明細書に開示される代表的な実施例においては、サブアレイのうちの１つまたはキャッシュの中のすべての行がリフレッシュされた後、リフレッシュ要求信号はリセットされる。
【００２６】
［ミラーリング］−アクセスされたサブアレイをキャッシュが「ミラーリング」しておりかつリフレッシュがこのサブアレイに対して要求されている場合、データがキャッシュに転送されることになる。キャッシュは、サブアレイから読出されるデータまたはそこに書込まれるデータの一部またはすべてをキャッシュするために利用可能であるとき、サブアレイをミラーリングしていることになる。キャッシュがミラーリングしているサブアレイが変化するのは、キャッシュクリア動作が完了した場合のみである。タグにはサブアレイアドレス情報が入っていないため、キャッシュは一度にただ１つのサブアレイからの有効データを有することが許されている。
【００２７】
［ライトバックサイクル］−リフレッシュ要求信号が活性であり、リフレッシュポインタにより指し示されるサブアレイに対してアクセス（読出または書込）がなされており、かつミラーリングされたサブアレイポインタアドレスがリフレッシュポインタアドレスでない場合、ライトバックサイクルが開始される。タグにはキャッシュにおける各々のデータワードにつき１ビットが入っている（データワードは、たとえば、単一のキャッシュアドレスによりアドレス指定されるビットの数として定義される）。セットされたタグビットは、このタグビットに対応するデータワード場所にあるキャッシュ内の有効データを示す。
【００２８】
データ転送を実行するには、タグビットを検査して、もしセットされていればこのタグビットをリセットし、このタグビットに対応するデータを適当なサブアレイに転送する。これを、各々のタグビットにつき、１ライトバックサイクル当たり１タグビットで繰返す。ライトバックアドレスカウンタは、検査されるべきタグアドレスを供給する。ライトバックアドレスカウンタがゼロから最大値まで増分したとき、各々のタグビットは検査されており、かつすべての有効データはキャッシュから適当なサブアレイに転送されており、したがってキャッシュクリア動作は完了している。それから、ミラーリングされたサブア
レイポインタが新たなサブアレイにセットされ得る。
【００２９】
ミラーリングされたサブアレイポインタにより示されるサブアレイアドレスは、リフレッシュポインタにより示されるとおりにリフレッシュされるべきサブアレイにリセットされることになる。リフレッシュポインタが、キャッシュクリア動作中に、ミラーリングされたサブアレイポインタアドレスにまで増分すれば、ライトバックアドレスカウンタがリセットされ、キャッシュクリア動作は停止される。ライトバックアドレスカウンタのリセットが済んでいるため、キャッシュクリア動作が停止された時点でライトバックアドレスカウンタのアドレス電流よりも低いライトバックアドレスカウンタアドレスでキャッシュにロードされたデータは、次のキャッシュクリア動作の開始時に適当に処理されることになる。
【００３０】
本願明細書で開示するこの発明についての特定の実施例においては、同期ＤＲＡＭ装置またはその他埋込ＳＤＲＡＭを採用した集積回路装置であって、制御論理ブロック、ＤＲＡＭキャッシュ、タグ、ライトバックアドレスカウンタ、および特定のデータ／アドレスバスを組込んだものが提供される。したがって、動作および設計において、低コストのＤＲＡＭメモリセルを利用して構成されたメモリアレイであって、１００％の時間においてシステムアクセスに対して利用可能でありかつ、データロスを防ぐのに十分な頻度でＤＲＡＭメモリセルに対するリフレッシュを実行することのできるメモリアレイが提供される。この発明のＳＣＲＡＭは、読出要求または書込要求に対する応答のために常に利用可能であり、起こる可能性は低いが連続してアクセスが起こった場合でも、データ損失を引起こすほど長期間にわたりリフレッシュが妨げられることはない。
【００３１】
本願明細書に開示される代表的なＳＣＲＡＭは多数のメモリサブアレイを含む。いずれのサブアレイも、その他任意のサブアレイの外部からの読出または書込と同時にキャッシュから書込またはリフレッシュ可能である。ＳＣＲＡＭがｎ個のサブアレイを含む場合、サブアレイｘが外部から読出または書込されると、上記ｎ個のサブアレイのうちｘ以外のいずれもキャッシュから書込またはリフレッシュ可能である。１個のサブアレイに対して外部アクセスが連続的になされた場合、このサブアレイに対するリフレッシュが妨害を受ける可能性がある。この生じ得る妨害をＳＣＲＡＭが軽減するよう機能する態様について、以下のケース１〜６において概説する。
【００３２】
［ケース１ａ］
（サブアレイ＜ｘ＞への連続的な読出、キャッシュはサブアレイ＜ｘ＞をミラーリング）
サブアレイ＜ｘ＞への連続的な読出は、サブアレイ＜ｘ＞のリフレッシュを妨害することになる。サブアレイ＜ｘ＞のリフレッシュは、サブアレイ＜ｘ＞から要求されたデータがキャッシュにおいても利用可能な場合に可能にされ得る。サブアレイ＜ｘ＞からのデータは、これが外部に読出されるサイクルにおいてキャッシュへ転送され得る。どのデータが当該キャッシュ内で利用可能かを記録するためのタグが設けられる。データがキャッシュに転送されたとき、このデータに対応するタグビットがセットされる。サブアレイ＜ｘ＞から要求されたデータが最終的にキャッシュ内でも利用可能となることを確実にするために、キャッシュはそのサイズにおいてサブアレイ＜ｘ＞に等しいものでなければならない。キャッシュヒットが起こったときに限り、データがキャッシュから読出され、サブアレイ＜ｘ＞がリフレッシュされる。
【００３３】
［ケース１ｂ］
（サブアレイ＜ｘ＞への連続的な読出、キャッシュはサブアレイ＜ｘ＞をミラーリングせず）
サブアレイ＜ｘ＞への連続的な読出は、サブアレイ＜ｘ＞のリフレッシュを妨害するこ
とになる。サブアレイ＜ｘ＞からのデータは、ライトバックサイクルが実行されるまではキャッシュに転送され得ない。アクセスされているのはサブアレイ＜ｘ＞のみであり、かつキャッシュがサブアレイ＜ｘ＞をミラーリングしていないため、上述のようなライトバックサイクルが、上記連続的な読出中において各々のクロックサイクルで実行され得る。上述のようにキャッシュクリア動作が完了し、かつミラーリングされたサブアレイポインタがサブアレイ＜ｘ＞にセットされると、ケース１ｂはケース１ａになる。
【００３４】
［ケース２ａ］
（サブアレイ＜ｘ＞への連続的な書込、キャッシュはサブアレイ＜ｘ＞をミラーリング）
サブアレイ＜ｘ＞への書込は、その代わりに単にキャッシュに書込まれ、タグビットはセットされる。したがって、リフレッシュがサブアレイ＜ｘ＞において可能となる。
【００３５】
［ケース２ｂ］
（サブアレイ＜ｘ＞への連続的な書込、キャッシュはサブアレイ＜ｘ＞をミラーリングせず）
サブアレイ＜ｘ＞への書込は、キャッシュクリア動作が完了するまでは代わりにキャッシュに書込まれ得ない。アクセスされているのはサブアレイ＜ｘ＞のみであり、かつキャッシュがサブアレイ＜ｘ＞をミラーリングしていないため、上述のようなライトバックサイクルが各々のクロックサイクルにおいて実行され得る。上述のようにキャッシュクリア動作が完了し、かつミラーリングされたサブアレイポインタがサブアレイ＜ｘ＞にセットされると、ケース２ｂはケース２ａになる。
【００３６】
［ケース３］
（サブアレイ＜ｘ＞への連続的な読出または書込）
サブアレイ＜ｘ＞に対する読出および書込の混合したものは、上述のケース１およびケース２を単に組合わせたものとして取扱われることになる。
【００３７】
［ケース４］
（キャッシュ読出中におけるキャッシュへのリフレッシュ要求信号）
キャッシュヒットを伴なう連続的な読出の場合、キャッシュへのリフレッシュは妨害される。この場合、データはキャッシュから読出されて、さらに適当なサブアレイに転送され、タグビットはクリアされる。各々のタグビットにつき１サイクルだけリフレッシュを遅延させることができる。この後、タグの「ミス」は確実なものとなっており、リフレッシュが生じることになる。
【００３８】
［ケース５］
（キャッシュ書込中のキャッシュへのリフレッシュ要求信号）
書込の場合、データは適当なサブアレイに書込まれ、タグビットはクリアされる。リフレッシュはこのサイクルにおいて可能となっている。
【００３９】
［ケース６］
（ＳＣＲＡＭはアクセスされず）
リフレッシュは、リフレッシュ要求信号が活性である場合に可能となっている。
【００４０】
上述のケース１およびケース２より、キャッシュ内のデータについての最悪の事態においては、リフレッシュはタグビットの数の２ｘに等しいサイクル数だけ遅延され得ることがわかる。サブアレイ＜ｘ＞のアクセスパターンについて、或るリフレッシュ要求信号において遅延がなくかつ次のリフレッシュ要求信号において２０４８サイクルの遅延があるようなアクセスパターンの場合、リフレッシュ要求信号タイミングはこれを考慮に入れな
ければならない。たとえば、クロック周期が５．０ｎＳ（２００ＭＨｚ）でありかつタグが２０４８ビットを含む場合、これは１０．２４μＳの遅延となる可能性がある。メモリが６４ｍＳのリフレッシュ時間の可能なもの（商用ＤＲＡＭで典型的）である場合、リフレッシュ要求信号タイミングは、およそ６３．９８９７ｍＳにおいてすべてのアレイをリフレッシュするように設定されなければならない。
【００４１】
添付の図面と関連させながら以下の好ましい実施例の説明を参照することによって、この発明についての上記およびその他の特徴および目的、ならびにこれを達成する態様がより明らかとなり、この発明自体が最もよく理解されるであろう。
【発明を実施するための最良の形態】
【００４２】
代表的な実施例の説明
まず図１を参照して、従来のメモリ１００の機能ブロック図であって、そのデータおよびアドレスバスを例示するものであり、リフレッシュ動作が隠されていない場合の図を示す。従来のＤＲＡＭメモリ１００は、その主要部分において、図示のように１６個の別個の６４Ｋサブアレイ１０４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の各々にはアレイ内部アドレスバス３１４が結合され、メモリ３００に供給されるアドレスは、アドレス制御ブロック３２０に結合されたアドレスバス３１６（Ａ＜１４：０＞）に入力される一方で、メモリ３００から読出されたデー
タまたはそこに入力されるデータは、データＩ／Ｏブロック３０６に結合されたデータＩ／Ｏバス３１８において供給される。さらに、アドレス制御ブロック３２０に結合された外部アドレスバス３２２が、サブアレイ３０４0〜３０４15の各々および６４Ｋ  ＤＲＡＭキャッシュ３０８に結合されるとともにタグアドレスバス３２６に結合され、このタグアドレスバスは、ここに示す実現例では２ＫのＳＲＡＭを含み得るタグブロック３２４に結合される。
【００５３】
リフレッシュカウンタ３２８がリフレッシュアドレスバス３３０に結合され、リフレッシュアドレスバス３３０は、アレイ内部アドレスバス３１４に結合されるとともにキャッシュ内部アドレスバス３３２に結合される。ＤＲＡＭキャッシュ３０８は、キャッシュ内部アドレスバス３３２および外部アドレスバス３２２の両方に結合される。ライトバックカウンタ３３４がライトバックアドレスバス３３６に結合され、ライトバックアドレスバス３３６は、アレイ内部アドレスバス３１４、キャッシュ内部アドレスバス３３２およびタグアドレスバス３２６に結合される。
【００５４】
ここに例示するこの発明の特定の具体的な実現例においては、メモリ３００はさらに制御論理ブロック３３８を含む。制御論理ブロック３３８は、その入力として、チップイネーブルバー（ＣＥＢ）、書込イネーブルバー（ＷＥＢ）およびクロック（ＣＬＫ）の信号入力を受ける一方、ライトバックカウンタ３３４およびリフレッシュカウンタ３２８に「増分」および「リセット」の入力を与える。図示のように、制御論理ブロック３３８はさらに、外部アドレスバス３２２に結合される。
【００５５】
また、制御論理ブロック３３８は、アレイイネーブル外部アドレス信号線３４０と、サブアレイ３０４0〜３０４15の各々に結合されたアレイイネーブル内部アドレス信号線３４２とを駆動する。ライトバックカウンタ３３４の出力は制御論理ブロック３３８にも与えられる。制御論理ブロック３３８からは、キャッシュイネーブル・外部アドレス信号およびキャッシュイネーブル・キャッシュアドレス信号がＤＲＡＭキャッシュ３０８に与えられ、制御論理ブロック３３８はさらに、タグ書込データ信号およびタグイネーブル信号をタグ３２４に与える。図示のように、タグ３２４はタグ読出データ信号を制御論理ブロック３３８に与える一方、リフレッシュカウンタ３２８はリフレッシュアドレス信号を出力する。
【００５６】
ここでは、メモリ３００の形態を取る１Ｍｂ  ＳＣＲＡＭの特定の実現例のブロック図が示してある。１メガメモリアレイ３０２は１６個のサブアレイ３０４を含む。各々のサブアレイ３０４は、６４Ｋのメモリ容量のための６４本のワード線および１０２４個のセンスアンプを含む。ＤＲＡＭキャッシュ３０８もまた、６４Ｋのメモリ容量のための６４本のワード線および１０２４個のセンスアンプを含む。したがって、各々のサブアレイ３０４は、６４Ｋ／３２または２Ｋ  ３２ビットワードのデータを含む。データＩ／Ｏブロック３０６は、３２ビット幅のグローバルデータ読出／書込バス３１０を介して、１６個のサブアレイ３０４のいずれかまたはＤＲＡＭキャッシュ３０８から読出またはそこへ書込することができる。データはデータＩ／Ｏバス３１８を介してＳＣＲＡＭに入出力される。
【００５７】
アドレス線３１６上のアドレスＡ＜１４：０＞は、アドレス制御ブロック３２０を介してＳＣＲＡＭに入力される。４ビット（たとえばＡ＜１４：１１＞）を用いて１６個のサブアレイ３０４のうち１つを選択し、６ビット（たとえばＡ＜１０：５＞）を用いてサブアレイ３０４内の６４本のワード線のうち１本を選択し、５ビット（たとえばＡ＜４：０＞）を用いて、１本のワード線に沿ってある１０２４個のセンスアンプのうち３２個を選択する。アドレス制御ブロック３２０は、必要に応じてアドレスＡ＜１４：０＞をラッチおよび／またはプリデコードすることを可能にする。
【００５８】
ここに図示する特定の実現例においては、タグアドレスバス３２６は、このアドレスフィールドのうちのＡ＜１０：０＞のみを利用するが、それは、キャッシュ３０８がミラーリングしているサブアレイアドレスが、ミラーリングされたサブアレイポインタ（図示せず）の中に入っているからである。タグアドレスバス３２６はまた、ライトバックカウンタ３３４からライトバックアドレスを受入れるように多重化されてもよい。ライトバックカウンタ３３４は、１１ビットのライトバックアドレスを生成し、したがって再帰的に０から２０４７までカウントする。また、制御論理ブロック３３８からライトバックカウンタ３３４をリセットすることも可能となっている。バス３３６におけるライトバックアドレス、またはバス３３０におけるリフレッシュアドレスは、キャッシュ内部アドレスバス３３２へ多重化され得る。キャッシュ３０８へのアクセスは、制御論理ブロック３３８からのキャッシュイネーブル・外部アドレス信号またはキャッシュイネーブル・キャッシュアドレス信号のいずれか一方を用いて行なうことができる。
【００５９】
図示しない読出／書込データバス制御を行なうための信号は、制御論理ブロック３３８内で生成されて、データＩ／Ｏブロック３０６、キャッシュ３０８そして１メガメモリアレイ３０２に送られる。アレイイネーブル・外部アドレス信号線３４０またはアレイイネーブル・内部アドレス信号線３４２のいずれか一方によって、１６個のサブアレイ３０４のうちの各々をイネーブルすることができる。これら信号は両方とも１６個のサブアレイ３０４すべてに供給され、このアドレスバスについてのイネーブルによりアドレス指定されるサブアレイ３０４のみが活性化される。
【００６０】
動作においては、信号ＣＥＢが「ロー」になると、それは読出または書込サイクルを示し、信号ＷＥＢが「ロー」になると、それは、ＣＥＢ信号もまた「ロー」の場合に制御論理ブロック３３８への書込サイクルを示す。制御論理ブロック３３８はさらに、リフレッシュ要求信号を出力するためのタイマまたはカウンタを含む。
【００６１】
次に図４を参照して、この発明に従うメモリの隠れリフレッシュ動作４００の代表的な状態図であって、リフレッシュ要求信号が「非活性」（たとえば論理レベル「ロー」）のものを示す。４０２でのＣＬＫ信号に伴ない、該当するＳＣＲＡＭへのアクセスが読出動作であるか否かについての決定４０４が開始する。上記アクセスが読出である場合、決定４０６において、キャッシュ内のデータを読出すべきか否かについての判断がなされる。ＹＥＳの場合、４０８にてキャッシュが読出され、そうでなければ４１０でアレイが読出される。
【００６２】
４０４で上記アクセスが読出でないと判断された場合、４１２にて、上記アクセスが書込であるか否かについての決定がなされる。書込でない場合、動作なし（ＮＯＯＰ）が示される。上記アクセスが書込である場合、４１４にてアレイが書込まれ、そして４１６にて、上記書込がキャッシュされたサブアレイへの書込であるか否かについての決定がなされ、該当する場合には４１８でタグビットがリセットされる。
【００６３】
さらに図５を参照して、この発明に従うメモリの隠れリフレッシュ動作５００の代表的な状態図であって、リフレッシュ要求信号が「活性」（たとえば論理レベル「ハイ」）のものを示す。ここでもまた、５０２におけるＣＬＫ信号に伴ない、ＳＣＲＡＭへのアクセスが読出動作であるか否かについての決定５０４が開始される。上記アクセスが読出である場合、決定５０６にて、上記読出により要求されたデータがキャッシュ内にあるか否かについての判断がなされる。ＹＥＳであれば、５０８にてキャッシュが読出され、５１０にて、要求されたリフレッシュ動作が上記キャッシュに対してのものであるか否かについての決定がなされる。ＹＥＳであれば、５１２にて、キャッシュからアレイが書込まれ、タグビットがリセットされる。ＮＯの場合、５１４にて、リフレッシュ動作が実行される
。
【００６４】
決定５０６で、読出データがキャッシュ内にないという判断がなされた場合、５１６にてアレイが読出され、そして５１８にて、当該動作が同じサブアレイに対する読出およびリフレッシュであるか否かについての決定がなされる。ＹＥＳであれば、さらに決定５２０にて、上記読出が上記キャッシュされたサブアレイに対する読出であるか否かについての判断がなされ、ＹＥＳであれば、５２２にてキャッシュがアレイから書込まれ、タグビットがセットされる。キャッシュされたサブアレイに対する読出でない場合、５２４にてライトバックサイクルが実行される。決定５１８にて、当該動作が同じサブアレイに対する読出およびリフレッシュではない場合、５１４にてリフレッシュが実行される。
【００６５】
決定５０４にて、当該アクセスが読出アクセスでない場合、決定５２６にて、当該アクセスが書込動作であるか否かについての判断がなされる。ＹＥＳの場合、さらに決定５２８にて、当該動作が、キャッシュされたサブアレイに対する書込であるか否かについての判断がなされる。ＹＥＳの場合、決定５３０にて、当該動作が同じサブアレイへの書込およびリフレッシュであるか否かについての判断がなされる。ＹＥＳの場合、５３２にて、当該キャッシュに対して書込が実行され、タグビットがセットされ、そして５１４にてリフレッシュが実行される。サブアレイへの書込およびリフレッシュでない場合、５３４にてタグビットがリセットされ、５３６にてアレイへの書込が実行され、５１４にてリフレッシュが実行される。決定５２８で、当該書込が、キャッシュされたサブアレイに対しての書込でないと判断された場合、さらに決定５３８に入るとともに５３６でアレイへの書込が実行される。決定５３８にて、当該動作が同じサブアレイへの書込およびリフレッシュである場合、５２４にてライトバックサイクルが実行され、そうでなければ、決定５２６で、当該アクセスが書込動作でないと判断された場合と同様、５１４にてリフレッシュが実行される。
【００６６】
上述の２つの状態図に関し、すべての決定は、ＣＬＫ信号の立上がりエッジによって開始され、何らかの動作がＳＣＲＡＭの状態を変化させ得る前に完了される。ＣＬＫの立上がりエッジでのＳＣＲＡＭの状態の結果として到達されるすべての動作は、次のクロックサイクルについて何らかの決定がなされるまでに完了される。
【００６７】
以下、上述の各図に示された決定および動作の定義をより詳細に記載する。
【００６８】
決定ステップ
［読出］−ＣＬＫの立上がりエッジにおいてＣＥＢが「ロー」でありかつＷＥＢが「ハイ」の場合にＹＥＳである。
【００６９】
［書込］−ＣＬＫの立上がりエッジにおいてＣＥＢが「ロー」でありかつＷＥＢが「ロー」の場合にＹＥＳである。
【００７０】
［キャッシュ内のデータ読出］−ミラーリングされたサブアレイポインタアドレスが、アクセスされたサブアレイ３０４アドレスと同じであり、かつアクセスされたワードに対応するタグビットがセットされた場合にＹＥＳである。
【００７１】
［サブアレイを読出しリフレッシュ］−リフレッシュポインタアドレスが、アクセスされたサブアレイ３０４アドレスと同じ場合にＹＥＳである。
【００７２】
［キャッシュされたサブアレイに対する読出］−ミラーリングされたサブアレイポインタアドレスが、アクセスされたサブアレイ３０４アドレスと同じ場合にＹＥＳである。
【００７３】
［キャッシュリフレッシュ］−リフレッシュポインタアドレスがキャッシュアドレスである場合にＹＥＳである。キャッシュ３０８は外部からアドレス指定され得ない。
【００７４】
［キャッシュされたサブアレイへの書込］−ミラーリングされたサブアレイポインタアドレスが、アクセスされたサブアレイ３０４アドレスと同じ場合にＹＥＳである。
【００７５】
［サブアレイを書込みリフレッシュ］−リフレッシュポインタアドレスが、アクセスされたサブアレイ３０４アドレスと同じ場合にＹＥＳである。
【００７６】
動作ステップ
［アレイ読出］−データを１メガメモリアレイ３０２から読出す。制御論理ブロック３３８はアレイイネーブル・外部アドレス信号を供給し、これに伴ない、外部アドレスバス３２２でアドレス指定されるデータが、グローバルデータ読出／書込バス３１０上でアサートされる。制御論理ブロック３３８はさらに、データＩ／Ｏブロック３０６に信号（図示せず）を供給して読出サイクルを示し、これに伴ない、グローバルデータ読出／書込バス３１０にあるデータがデータＩ／Ｏバス３１８に転送される。
【００７７】
［キャッシュ読出］−データをキャッシュ３０８から読出す。制御論理ブロック３３８はキャッシュイネーブル・外部アドレス信号を供給し、これに伴ない、外部アドレスバス３２２によってアドレス指定される場所にあるデータが、グローバルデータ読出／書込バス３１０に接続される。制御論理ブロック３３８はまた、データＩ／Ｏブロック３０６に信号（図示せず）を供給して読出サイクルを示し、これに伴ない、グローバルデータ読出／書込バス３１０にあるデータがデータＩ／Ｏバス３１８に転送される。サブアレイ３０４の選択にはビットＡ＜１４：１１＞が用いられるため、キャッシュ３０８のアドレス指定の際に用いられるのは外部アドレスビットＡ＜１０：０＞のみである。
【００７８】
［アレイからのキャッシュ書込］−読出されているサブアレイ３０４からキャッシュ３０８にデータを書込む。制御論理ブロック３３８は、データＩ／Ｏブロック３０６に信号（図示せず）を送って、グローバルデータ読出／書込バス３１０から読出されているデータがキャッシュ書込バス３１２にアサートされるべきであることを示す。制御論理ブロック３３８は、キャッシュイネーブル・外部アドレス信号をキャッシュ３０８に送るとともにキャッシュロード信号（図示せず）を送り、これに伴ない、キャッシュ書込バス３１２を介して、外部アドレスバス３２２によりアドレス指定される場所でキャッシュ３０８にデータが書込まれる。サブアレイ３０４の選択にはビットＡ＜１４：１１＞が用いられるため、キャッシュ３０８のアドレス指定の際に用いられるのは外部アドレスビットＡ＜１０：０＞のみである。
【００７９】
［タグビットのセット］−既知の状態、たとえば論理レベル「ハイ」を、タグ３２４において外部アドレスバス３２２により供給されるアドレスに対応するビット場所に書込む。制御論理ブロック３３８は、タグ書込データ信号、タグ書込信号およびタグイネーブル信号をタグ３２４に与える。サブアレイ３０４の選択にはビットＡ＜１４：１１＞が用いられるため、タグ３２４のアドレス指定の際に用いられるのは外部アドレスビットＡ＜１０：０＞のみである。
【００８０】
［リフレッシュ実行］−リフレッシュポインタに依存して、サブアレイ３０４のうちの１つまたはキャッシュ３０８のいずれかにおいてリフレッシュを実行する。リフレッシュされるべきワード線は、バス３３０上のリフレッシュアドレスおよびリフレッシュポインタアドレスによって特定される。制御論理ブロック３３８は、リフレッシュポインタアドレスに依存してイネーブル信号（アレイイネーブル・内部アドレスまたはキャッシュイネーブル・キャッシュアドレスのいずれか）を出力する。制御論理ブロック３３８はまた、
リフレッシュされているキャッシュ３０８またはサブアレイ３０４におけるデータバスにセンスアンプ（図示せず）が接続されることを防ぐための信号（図示せず）を出力する。さらに、リフレッシュカウンタ３２８が増分され、リフレッシュカウンタが０００００に増分した場合、リフレッシュポインタもまた増分され、リフレッシュ要求はリセットされる。ミラーリングされたサブアレイポインタに新たなリフレッシュポインタアドレスが一致した場合、ライトバックカウンタはリセットされる。
【００８１】
［キャッシュからのアレイ書込］−キャッシュ３０８からデータＩ／Ｏバス３１８に読出されるデータが１メガメモリアレイ３０２にも書込まれる。上述のようなキャッシュ読出動作が実行されている。これに加え、制御論理ブロック３３８は、外部アドレスバス３２２によりアドレス指定されるキャッシュ３０８のセンスアンプが１組の主増幅器（図示せず）にも接続されることを引起す信号（図示せず）を供給し、そしてこの主増幅器はデータをキャッシュ読出・アレイ書込バス３４４に駆動する。制御論理ブロック３３８はまた、アレイイネーブル・外部アドレス信号を線３４０に供給するとともに、外部アドレスによりアドレス指定されるセンスアンプ（図示せず）がキャッシュ読出・アレイ書込バス３４４に接続されかつグローバルデータ読出／書込バス３１０には接続されないことを引起す信号（図示せず）を供給する。
【００８２】
［タグビットのリセット］−既知の状態、たとえば論理レベル「ロー」を、タグ３２４において外部アドレスバス３２２により供給されるアドレスに対応するビット場所に書込む。制御論理ブロック３３８は、タグ書込データ信号、タグ書込信号およびタグイネーブル信号をタグ３２４に与える。サブアレイ３０４の選択にはビットＡ＜１４：１１＞が用いられるため、タグ３２４のアドレス指定の際に用いられるのは外部アドレスビットＡ＜１０：０＞のみである。
【００８３】
［アレイへの書込］−データを１メガメモリアレイ３０２に書込む。制御論理ブロック３３８は、線３４０にアレイイネーブル・外部アドレス信号を供給し、これに伴ない、外部アドレスバス３２２によりアドレス指定されるセンスアンプ（図示せず）がグローバルデータ読出／書込バス３１０に接続される。制御論理ブロック３３８はまた、データＩ／Ｏブロック３０６に信号（図示せず）を供給して書込サイクルを示し、これに伴ない、データＩ／Ｏバス３１８上のデータがグローバルデータ読出／書込バス３１０に転送される。データＩ／Ｏドライバが、グローバルデータ読出／書込バス３１０に接続されたセンスアンプ（図示せず）内でデータを上書きする。
【００８４】
［キャッシュへの書込］−データをキャッシュ３０８に書込む。制御論理ブロック３３８はキャッシュイネーブル・外部アドレス信号を供給し、これに伴ない、外部アドレスバス３２２によりアドレス指定されるキャッシュ３０８のセンスアンプ（図示せず）がグローバルデータ読出／書込バス３１０に接続される。制御論理ブロック３３８はまた、データＩ／Ｏブロック３０６に信号（図示せず）を供給して書込サイクルを示し、これに伴ない、データＩ／Ｏバス３１８上のデータがグローバルデータ読出／書込バス３１０に転送される。データＩ／Ｏドライバが、グローバルデータ読出／書込バス３１０に接続されたセンスアンプ（図示せず）内でデータを上書きする。サブアレイ３０４の選択にはビットＡ＜１４：１１＞が用いられるため、キャッシュ３０８のアドレス指定の際に用いられるのは外部アドレスビットＡ＜１０：０＞のみである。
【００８５】
［ライトバックサイクルの実行］−ライトバックサイクルの実行においては、バス３３６にあるライトバックアドレスが用いられる。外部アドレスバス３２２のアドレスを用いて通常のタグ３２４の読出およびセット／リセットを完了させるのと同じサイクル内においてより後の時点で、上記ライトバックアドレスはタグアドレスバス３２６に多重化される。ライトバックアドレスにあるビットがセットされていれば、このビットはリセットさ
れて、キャッシュ３０８内においてライトバックアドレスにあるデータが、ミラーリングされたサブアレイポインタに対応するサブアレイ３０４内のライトバックアドレスに転送される。なお、この場合におけるキャッシュ３０８のアクセスは、クロックサイクル内において他のクロックサイクルにおけるよりも後の時点で開始することになり、このためライトバックサイクルの実行動作にサイクル時間のペナルティが課される。ＳＲＡＭのサイクルすべては同じ長さであると予想されることから、上述のことにより、アクセス時間のペナルティが課され、ＳＣＲＡＭにサイクル時間のペナルティが課されることがある。
【００８６】
図４および図５の各状態図においては、各決定の結果として示される動作同士の競合が確実になくなる。たとえば、同一サイクル内において、キャッシュ内部アドレスバス３３２および外部アドレスバス３２２の両方でキャッシュ３０８にアクセスすることは不可能である。ＳＣＲＡＭの各状態は、この種の競合の発生が確実になくなるように設計される。これに加え、上記各状態においては、リフレッシュ要求信号が「活性」である場合、リフレッシュ実行動作、アレイからのキャッシュ書込動作およびタグビットのセット動作；キャッシュからのアレイ書込動作およびタグビットのリセット動作またはライトバックサイクルの実行動作のいずれかが確実に起こるようにされる。このことは、リフレッシュが起こること、または、リフレッシュの遅延を引起す条件を除去する方向で前進することのいずれかが確実となるため、重要なことである。
【００８７】
以上、この発明の原理について、この発明に従うＳＣＲＡＭの特定の実現例との関連で説明したが、以上の説明は単に例としてなされたものであり、この発明の範囲に対する限定としてなされたものではないと明確に理解すべきである。特に、以上の開示の教示により当業者にはその他の変形例が示唆されるであろうことが認められる。このような変形例は、それ自体既に公知でありかつここに既に記載した特徴の代わりにまたはこれに加えて用いられ得る他の特徴をも含み得る。本願においては、特許請求の範囲を特定の特徴の組合せについて作成してあるが、ここにおける開示の範囲が、当業者に明らかとなるであろう明示的または黙示的に開示されたあらゆる新規の特徴もしくはあらゆる新規の特徴の組合せ、またはこれらを任意に普遍化もしくは変形したものをも含んでおり、またそれはこのようなものがいずれかの請求項で現在請求されるのと同じ発明に関するものであるか否かにはかかわらず、かつこの発明が直面するのと同じ技術的課題のいずれかまたはすべてを軽減するか否かにはかかわらないことを理解すべきである。出願人は、本願またはその他ここから導き出されるあらゆる出願についての手続中にも、このような特徴および／またはこのような特徴の組合せについて新たな請求項を作成する権利をここに留保する。
【図面の簡単な説明】
【００８８】
【図１】従来のメモリの機能ブロック図であって、そのデータおよびアドレスバスを例示するものであり、リフレッシュ動作が隠されていない場合の図である。
【図２】この発明の特定の実現例に従うメモリの機能ブロック図であって、そのデータおよびアドレスバスを例示するものであり、サブアレイおよびキャッシュのリフレッシュが、外部からのアクセスについての任意の組合せと並列的に実行可能である場合の図である。
【図３】この発明の別の特定の実現例に従うメモリの機能ブロック図であって、制御論理回路および制御信号を用いてメモリアレイ内のリフレッシュ動作を隠すことが可能となっている図である。
【図４】この発明に従うメモリの隠れリフレッシュ動作の代表的な状態図であって、リフレッシュ要求信号が「非活性」である図である。
【図５】この発明に従うメモリの隠れリフレッシュ動作のもう１つの代表的な状態図であって、リフレッシュ要求信号が「活性」である図である。
【符号の説明】
【００８９】
３００  メモリ、３０２  メモリアレイ、３０４  サブアレイ、３０６  データＩ／Ｏブロック、３０８  キャッシュ、３２４  タグ、３２８  リフレッシュカウンタ、３２０
アドレス制御ブロック、３３４  ライトバックカウンタ、３３８  制御論理ブロック。
【図１】
2006236550.tif 000003
【図２】
2006236550.tif 000004
【図３】
2006236550.tif 000005
【図４】
2006236550.tif 000006
【図５】
2006236550.tif 000007