以下本発明の実施例を図面を用いて詳細に説明する。実施例の各ブロックを構成する回路素子は、特に制限されないが、公知のCMOS(相補型MOSトランジスタ)等の集積回路技術によって、単結晶シリコンのような1個の半導体基板上に形成される。MOSFET(Metal Oxide Semiconductor Field Effect Transistor)の回路記号はゲートに丸印をつけないものはN形MOSFET(NMOS)を表し、ゲートに丸印をつけたP形MOSFET(PMOS)と区別される。以下MOSFETを呼ぶために簡略化してMOSあるいはMOSトランジスタと呼ぶことにする。但し、本願発明は金属ゲートと半導体層の間に設けられた酸化膜絶縁膜を含む電界効果トランジスタだけに限定される訳ではなくMISFET(Metal Insulator Semiconductor Field Effect Transistor)等の一般的なFETを用いた回路に適用される。
なお、本来はラッチとフリップフロップあるいはレジスタは、厳密には意味が異なるが、ここでは特に限定しないかぎりそれらを代表してラッチと記す。
<実施例1>
図1に本発明の代表的な実施例を示す。本発明のメモリ装置はダイナミックメモリ100とキャッシュメモリ110からなっている。キャッシュメモリ110中の111はValidビット、112、113はキャッシュメモリの各エントリのアドレスとデータを示している。114はキャッシュメモリ110に接続されているバス、115はダイナミックメモリ100に接続されているバス、116はそれらのバスコントローラを示している。
ダイナミックメモリ100は図3に示したような動作を行う。すなわち、読み出し動作時にはワード線WLをアサートした後、φAでセンスアンプを起動する。この結果、アドレスが入力されてからtRAC後にデータDOが出力される。その際従来のダイナミックメモリと異なり、ビット線に読み出し信号を増幅してメモリセルへ書き込むという再書き込み動作を行わない。
したがって、従来のようにビット線BL、/BLにデータを増幅する必要がなく、ビット線の充放電に要する電力を削減できる。また、従来の図2に示したtRASに相当する時間が必要ない。tRPがビット線等のプリチャージ時間として必要になるが、ビット線BL、/BLは小振幅のままであるため短い時間でプリチャージが可能になる。
一方、書き込み動作は選択メモリセルのワード線WLのみアサートすることで、ワード線WLをアサートするとすぐにビット線BL、/BLを書き込みデータに応じて駆動する。
読み出し時にメモリセルへの再書き込みを行わないことから、破壊読み出しとなる。そのデータを保護するためにキャッシュメモリ110を使用する。ダイナミックメモリ100から読み出されたデータはキャッシュメモリ110へ送られる。キャッシュメモリ110は読み出したデータをあるエントリに格納するが、その際そのエントリのValidビットをセットする。さらに、キャッシュメモリのリプレース動作際、Validビットのセットされているエントリに関しては、新しいデータをそのエントリに格納すると同時に格納されていたデータをダイナミックメモリ100へ書き戻す。(ライトアロケート方式のライト方式を使用したライトバック方式の如く制御する。)このように制御することでダイナミックメモリ100から破壊読み出しで読み出されたデータはキャッシュメモリ110のある一つのエントリに格納され、キャッシュメモリ110から追い出される(リプレース)際にはValidビットがセットされているためダイナミックメモリ100への書き戻しがなされる。このように、ダイナミックメモリ100とキャッシュメモリ110内で往復しているだけで、元のデータは決して失われることがない。
上記のダイナミックメモリ100とキャッシュメモリ110との間のデータの流れはバスコントローラ116によって行われるが、ダイナミックメモリ100とキャッシュメモリ110が直接一つのバスで接続可能な構成になっていれば図1中のバスコントローラは特に必要がないのは言うまでない。
また、本発明のダイナミックメモリ100のセンスアンプには、例えば伊藤清男著、「超LSIメモリ」、培風館、p165に記載されているような直接センス方式のセンスアンプが好適である。この直接センス方式ではセンスアンプがビット線にデータを増幅するのを待たずにメモリセル信号を直接共通データ出力線に取り出すことができ、高速動作が可能である。従来のダイナミックメモリでこの直接センス方式を使用した場合、そのセンスアンプと並列にメモリセルへの再書き込み用のアンプが必要になるが、本発明のダイナミックメモリではこの再書き込み用アンプは必要ない。
図4はこの直接センス方式のセンスアンプを本発明のダイナミックメモリ100に適用した場合の実施例である。MCはダイナミック型メモリセル、301はイコライザ回路、302は直接センス方式のセンスアンプ回路、303はライトアンプ回路、304はワードドライバ回路、305a〜305dはワード線、BLと/BLはビット線、EQはイコライザ回路起動信号、SAはセンスアンプ回路起動信号、WAはライトアンプ回路起動信号を示している。ROと/ROはセンスアンプ回路からの出力線、WIと/WIはライトアンプ回路への入力線を示しており、2本のデュアルレール信号でI/O線(入出力線)を形成している。再書き込みアンプ回路がないのが特徴である。ここでは、出力線と入力線を分離した例を示したが、共通とすることも可能である。即ち入出力線とは書き込み読み出し用に分離した2対のものであってもよいし、1対に共通化したものでもよい。
上記したように本発明のダイナミックメモリ100はtRCが従来のダイナミックメモリと比較して大幅に短くできる。この特徴を使用するとダイナミックメモリ100を図5のようにパイプラインした場合に、そのパイプラインピッチを小さくできる。図5で、200は本発明のダイナミックメモリをパイプライン化した時の構成例である。201はアドレスラッチ、202はアドレスデコーダ、203はアドレスドライバ、204はセンスアンプとライトアンプ、205は入力データDIラッチ、206はライトバッファ、207はI/O線210,211の信号を増幅するI/O線アンプ、208と209はビット線対BLと/BL、210と211はI/O線対、212はワード線、213はメモリセルである。
クロックCLKは201と205と207に入力され、2ステージパイプライン構造になっている。
読み出し時には、201でラッチされたアドレスはデコードされた後、ワード線212 の内、一本を選択してアサートする。ビット線BL,/BLに出力されたメモリセルの情報は204で増幅される。増幅されたメモリセルのデータは次のクロックによって207によってラッチされ、出力データDOとして出力される。
上記読み出し方法をタイミングチャートで例示したのが図5の(b)である。クロックCLKの#1で示された立ち上がりエッジでリードアドレスRa1が入力され、#2でデータRd1が出力されている。そのデータRd1は#3では確定しているため、#1でリード要求を発行したデバイスあるいは回路は、レイテンシ2でダイナミックメモリ100からのデータを読み込むことができることになる。同様に、#2で入力されたリードアドレスRa2に対応したデータRd2が#3で出力され、#4でそのデータは読み込み可能になっている。リード要求に対して、データを2クロック後に取り込めるため、リードレイテンシは2である。
書き込み時には、201でラッチされたアドレスはデコードされた後、ワード線212 の内、一本を選択してアサートする。同時に書き込みデータは205によってラッチされ、206によってビット線BL,/BLを駆動する。この動作によってメモリセルへの書き込みが行われる。
上記書き込み方法をタイミングチャートで例示したのが図5の(c)である。クロックCLKの#1で示された立ち上がりエッジでライトアドレスWa1が入力され、同時にライトデータWd1が#1で入力される。次のクロック#2までにライト動作が完了し、#2では次のライトアドレスWa2とライトデータWd2が入力されている。ライト要求をアドレス入力と同じクロックで完了できるため、ライトレイテンシは0である。
上記二つの動作にはビット線BL,/BLおよびI/O線等のプリチャージ動作は省略したが、その方法は特に限定しない。クロックCLKの立ち上がりからワード線のアサートまでの間におこいなってもよい。
従来のダイナミックメモリではtRCが長いためにパイプライン化してもそのパイプラインピッチが長くなってしまうという欠点があった。従来ではこの欠点を見かけ上隠ぺいするためにマルチバンクインターリーブ等の方式が使用されているが、同一バンクへのアクセスが連続したときにはパイプラインが乱れる等の問題があり、またバンク制御が複雑になるという欠点があった。
図6は図5のダイナミックメモリのライトレイテンシとリードレイテンシを同じにした場合の実施例である。レイテンシの定義を正確にするために本願で使用するレイテンシの定義を記述する。リードレイテンシとは、リード要求を行ったクロックエッジからデータを取り込めるまでのクロックエッジまでのクロック数であり、ライトレイテンシとは、ライト要求を行ったクロックエッジからライトデータを入力したクロックエッジまでのクロック数である。
221はリードアドレスラッチ、222、223、224はライトアドレスラッチ、225はセレクタである。矢印付きの破線はクロック線を表し、ライトデータ制御部226によって以下に示すように制御される。図5と比較すると、アドレスラッチ201がリードアドレスラッチ221とライトアドレスラッチ222〜224とセレクタ225に置き換えられている。また、アドレスラッチの入力クロックと205の入力クロックはライトデータ制御部226によって以下のように制御されている。
ライトアドレスが入力されるとライトアドレスラッチ222〜224によってそのアドレスは遅延される。ライトアドレスの入力から2クロック後に入力されるライトデータは205によってラッチされており、ライト準備状態となる。このライトアクセスの次にライトアクセス要求があったタイミングで、224にラッチされているアドレスと205にラッチされているデータを元にメモリセルにライトレイテンシ0で書き込まれる。したがって、ライト動作はそのライトアクセスの次あるいはそれ以降のライトアクセス時に行われることになる。(実際のメモリセルへのライト動作はライトアドレスとライトデータが揃った時点を含め、それ以降のライト要求時に行われるということで、いわゆるディレイドライトされるということである。) 図5の方式ではライトレイテンシ0、リードレイテンシ2であるが、図6のような構成で制御することで、ライトレイテンシとリードレイテンシをどちらも2にできる。
上記読み出し方法をタイミングチャートで例示したのが図6の(b)である。読み出し方法は基本的に図5の(b)と同様になる。すなわち、クロックCLKの#1で示された立ち上がりエッジでリードアドレスRa1が入力され、#2でデータRd1が出力されている。そのデータRd1は#3では確定しているため、#1でリード要求(Ra1)を発行した回路デバイスは、レイテンシ2で対応するデータ(Rd1)を読み込むことができることになる。同様に、#2で入力されたリードアドレスRa2に対応したデータRd2は#3で出力され、#4で読み込み可能になっている。リード要求に対して、データを2クロック後に取り込めるため、リードレイテンシは2である。
一方、上記書き込み方法をタイミングチャートで例示したのが図6の(c)である。クロックCLKの#1で示された立ち上がりエッジでライトアドレスWa1が入力され、ライトアドレスラッチ222でラッチされる。#2でライトアドレスラッチ223で、#3でライトアドレスラッチ224でラッチされる。#3では同時にライトデータWd1は入力データDIラッチ205でラッチされ、ライト準備状態となる。#3を含んでそれ以降のライトアドレス入力時に、Wa1とWd1のメモリセルへの書きこみが実行される。ライトアドレス入力から2クロック目でライトデータを取りこむため、ライトレイテンシは2である。
言うまでないが、図6の(c)のようにライトレイテンシ2を実現するためには、図6の(c)の#3でリード要求がある時を想定して、入力データDIラッチ205には2つまでのライトデータがラッチできる構造である必要がある。その構造は特に限定しないが、FIFO構造のバッファ等で容易に実現できる。
このようにライトとリードのレイテンシを合わせるように制御することで、CPUやバスマスタからの複数のアクセス要求やリフレッシュ要求を、パイプラインを乱すことなくダイナミックメモリへ投入できる。また、本発明のダイナミックメモリを使用するデバイス・回路はリードレイテンシのみならず、ライトレイテンシも完全に把握できる。したがって、ライトデータをリードレイテンシと同じレイテンシでダイナミックメモリに投入するということが容易にでき、それによってリードとライトが混在した場合のパイプライン充填率を高めることができる。特に、ダイナミックメモリの出力データ線DOと入力データ線DIが、入出力データ線として共用されている場合、入力データと出力データを時分割で分離して伝達させる必要があるために上記効果が大きくなる。また、いわゆるリード・モディファイ・ライトアクセス時には、リードされたデータを用いて処理した後でそのデータをライトする必要があるため、リードレイテンシとライトレイテンシが同じである方がパイプライン充填率を高めることができる。
なお、図6の方式ではライトアクセス後に実際にメモリにその情報が書き込まれるのは少なくとも2クロック後である。したがって、ライトアクセス要求後にライト要求した同一アドレスに対してリードアクセス要求があった場合にはデータのコヒーレンシに関して注意が必要である。これにはたとえば以下のような解決策がある。
(1)ライトアクセス要求(Wa1)の1クロック後に同一アドレスにリードアクセス要求(Ra2)があった場合、ライトアクセス要求(Wa1)に対応するライトデータ(Wd1)をリードアクセス要求(Ra2)に対応するリードデータ(Rd2)として出力する必要がある。しかし、ライトデータ(Wd1)はまだダイナミックメモリセルには書きこまれていないので、リードアクセス要求(Ra2)の次のクロックでライトデータ(Wd1)を入力した後、さらにその次のクロックでライトデータ(Wd1)をリードアクセス要求(Ra2)に対応するリードデータ(Rd2)としてフォワードして出力すればよい。
(2)ライトアクセス要求(Wa1)の2クロック後に同一アドレスにリードアクセス要求(Ra2)があった場合、そのクロックで入力したライトアクセス要求(Wa1)に対応するライトデータ(Wd1)をリードアクセス要求(Ra2)の次のクロックでリードアクセス要求(Ra2)に対応するリードデータ(Rd2)としてそのままフォワードして出力すればよい。
以上のフォワード回路を図6に付加したのが図7である。231はアドレス比較器、232はセレクタ、233はラッチである。231のアドレス比較器はライトアドレスラッチ222〜224までにされているアドレス情報と、リード要求のあったアドレスを比較し、メモリセルへのライト動作の完了してないアドレスへのアクセス要求があった場合にはセレクタ232を用いて対応する読みだしデータを入力データDIラッチ205から223へフォワーディングしている。
なお、上記(1)と(2)の動作を実現できれば図7の実施例の構造には限定しない。
図5から図7等で示した本発明のダイナミックメモリの、パイプライン段数およびパイプラインの切り方については特に図示した方法に限定するものではない。例えばワード線デコーダ202とワード線ドライバ203の間にラッチを設けてパイプライン段数を増やしたり、センスアンプ204をパイプラインラッチとして使用してパイプライン段数を増やしてもよい。パイプライン段数を増やした方がパイプラインピッチを短くでき、動作周波数を高くすることができることは言うまでない。
本発明のダイナミックメモリは破壊読み出しで使用するために、基本的に読み出すデータの格納されたメモリセルに接続されたワード線のみをアサートする必要がある。読み出されないでワード線のみをアサートすれば、そのワード線にメモリセルの内容は破壊され、かつそのメモリセルの内容はダイナミックメモリからも読み出されないので、このダイナミックメモリを使用したシステム全体から消失されることになる。したがって、一度に読み出すデータのビット幅が少なく、選択するメモリセルの数が少ない場合、ワード線を多くのサブワード線に分割し、読み出すデータの格納されたメモリセルに接続されたワード線だけをデコードしてアサートする必要がある。(以下、これをワード線分割の課題と呼ぶ)このワード線の分割は面積増加につながる。しかし、一度に読み出すメモリセルの数を多くするようにすれば、ワード線を分割しても分割数を少なくできるため、面積増加にならない。これには以下のような方法がある。
(1)キャッシュメモリ110はダイナミックメモリ100と同一半導体チップ上に集積すれば、ダイナミックメモリを格納するパッケージのピン数ネックが無いためにキャッシュメモリのラインサイズを大きくして、一度に選択する選択メモリセルの数を増やすことができる。極端な例ではキャッシュメモリのメモリセルをセンスアンプと並列にレイアウトしてもよい。ダイナミックメモリ100とキャッシュメモリ110の間のデータ幅を大きくして(例えば1024ビット)、それらの集積されている半導体チップと外部とのデータ幅はそれよりも小さいデータ幅(例えば32ビット)にしてもよい。パッケージのピン数ネックを回避して、上記ダイナミックメモリ100の面積増加を抑えることができる。
(2)キャッシュメモリ110をCPUの1次キャッシュあるいは2次キャッシュを用いて実現するなどしてダイナミックメモリ100とは別チップにした場合には、キャッシュメモリ110とダイナミックメモリ100間だけのデータ転送サイズを多くする。例えばキャッシュメモリ110をCPUの2次キャッシュで実現した場合、2次キャッシュのラインサイズを大きくすればよい。
また、本発明のダイナミックメモリに格納されているデータはキャッシュメモリ110あるいはダイナミックメモリ100中に存在する。したがって、これらのメモリシステムに対して複数のバスマスタがある場合、いわゆるコヒーレンシの問題が生じるが、例えば以下のようにしてこの問題を解決できる。
(1)キャッシュメモリ110とダイナミックメモリ100が同一半導体チップ上に集積されており、そのチップへのアクセスはキャッシュメモリ110を通してのみ行われるのであれば、ダイナミックメモリ100への直接のアクセスは有り得ないのでコヒーレンシの問題は生じない。
(2)キャッシュメモリ110とダイナミックメモリ100が別チップ上に形成された場合、キャッシュメモリ110をCPUの1次キャッシュあるいは2次キャッシュを用いて実現すればよい。ダイナミックメモリ100には直接複数のCPUからのアクセスが可能になるが、CPUや1次キャッシュあるいは2次キャッシュコントローラに内蔵しているMESIプロトコル等を用いたスヌーピング機能等のコヒーレンシ補償方法をそのまま使用できる。ダイナミックメモリ100からデータを読み出した場合にはそのデータのエントリのValidビットはセットされるため、MESIプロトコルが他のCPUの該当エントリアクセスをモニタしてくれる。
図8はキャッシュメモリ110が使用できない場合の本発明の完全パイプライン化したダイナミックメモリの実施例である。前記のように本発明のダイナミックメモリは破壊読み出しである。したがって、読み出したデータはダイナミックメモリ内には存在しなくなる。図8ではダイナミックメモリをパイプライン化して、読み出した(Ra1,Rd1)直後に同一アドレスに読み出したデータの書き込み動作(Wa1,Wd1) を行っている。(A)は図5の実施例を使用した場合の波形である。(B)は図6あるいは図7で示したディレイドライト方式を用いた場合の実施例を使用した場合の波形である。前記のように図6あるいは図7の方式を使うと#3で新しいアクセス要求(Ra2)を受け付けることができるために、アクセスオーバーヘッドを1クロックに抑えることができる。なお、複数のバスマスタがあった場合、コヒーレンシを補償するために、上記再書き込みのための連続リードライト動作のうちのライトアクセスは最優先で行う必要がある。(以下、このパイプラインを用いた破壊読み出しメモリセルのデータ保持手法を、パイプライン再書き込み手法と呼ぶ。)図8の方法はキャッシュメモリ110が使用できない場合のみならず、キャッシュメモリ110にValidビット制御が使用できない場合でも使用できる。さらに、キャッシュメモリ110が命令キャッシュであるときにも使用できる。
図1のキャッシュメモリ110はダイナミックメモリ100と同一半導体チップ上に集積してもよいが、別チップにしてもよい。
また、ダイナミックメモリ100をCPUの主記憶として使用する場合、キャッシュメモリ110はCPUの1次キャッシュとして実現するのが最適である。あるいはまた、CPUの1次キャッシュと2次キャッシュからなるメモリシステムとして実現してもよい。この場合、ダイナミックメモリ100から読み出されたデータは1次キャッシュに書き込まれ、1次キャッシュから前記データが消去される際には、前記データが2次キャッシュへ書き込まれ、2次キャッシュから前記データがリプレース際に、前記データがダイナミックメモリ100に書き戻されるように制御するのが最適である。前記のようにキャッシュメモリ110をCPUの1次キャッシュあるいは2次キャッシュと兼ねることで面積効率を高くできる。
また、キャッシュメモリ110の数は限定しない。あるいはキャッシュメモリ110の中に複数のメモリ階層を持っていてもよい。命令キャッシュとデータキャッシュのように二つあってもよい。データキャッシュの場合には図1で記述したValidビットを使用したアクセス方法を使用し、命令キャッシュの場合には図8で記述した方法を用いてリードアクセス後にライトアクセスすればよい。あるいは、ダイナミックメモリ100に二つのモードも設け、本発明のダイナミックメモリ形式でアクセスするモードと従来のダイナミックメモリ形式でアクセスするモードを持っていてもよい。アクセス効率がよいモードをアクセス内容によって選択すれば、より効率的にダイナミックメモリ100を使用することができる。
以上の実施例ではValidビットを使用して例を示したが、Validビットの有無は特に限定しない。また、キャッシュメモリ110のラインサイズ、ウェイ数、容量等も特に限定しない。ダイナミックメモリ100から破壊読み出しされたデータがキャッシュメモリ110に格納され、キャッシュメモリ110から追い出されたデータがダイナミックメモリ100に格納されるようにすればよい。2つ以上のキャッシュメモリがある場合には、それらのキャッシュメモリとダイナミックメモリの中でデータが常にあるように制御すればよい。要はダイナミックメモリを破壊読み出し、読み出したデータがダイナミックメモリを使用しているシステム全体の読み出したダイナミックメモリ以外のメモリ(本発明で言うキャッシュメモリ)に格納するように制御すればシステム構成は特に限定しない。
また、ダイナミックメモリ100の数も限定しない。複数のダイナミックメモリチップに対して本発明の方式を適用してもよいし、複数のダイナミックメモリチップの一部のダイナミックメモリに本発明の方式を適用してもよい。
さらに、キャッシュメモリ110のメモリセルの構造は特に限定しない。キャパシタンスに電荷をためてデータを記憶するダイナミック型でもよいし、ポリ抵抗あるいはTFTをもちいたSRAMメモリセルあるいは6つのMOSトランジスタを用いた完全CMOS SRAMメモリセルでもよい。
以上の実施例1による発明を要約すれば下記の通りである。
(1)複数のワード線と複数のビット線の交点に設けられた複数のダイナミック型メモリセルと、前記複数のビット線のそれぞれに対応して設けられた複数のセンスアンプと、前記複数のセンスアンプそれぞれに対応して設けられた複数の入出力線を有するダイナミックメモリを含む半導体装置において、前記ダイナミックメモリは、読み出し動作時に、前記ワード線を選択して対応する前記ダイナミック型メモリセルの信号を対応する前記複数のビット線に読み出した後、前記読み出し信号の前記ダイナミック型メモリセルへの再書き込み期間に移行せずに、前記複数のセンスアンプが前記ビット線に読み出された信号を前記入出力線上で増幅した後、前記複数のビット線がプリチャージされる。(第1読み出しモード)
(2)さらに前記ダイナミックメモリは、対応するビット線にライトアンプをさらに備え、 前記ダイナミック型メモリセルへの書き込み動作時に、対応する前記ワード線を選択する直後あるいは直前あるいは同時に前記ライトアンプは書き込み信号を対応する前記ビット線に出力して、前記ダイナミック型メモリセルへ信号を書き込む。(第1書き込みモード)
(3)また、上記(1)から(2)の半導体装置はスタティック型メモリセルによって構成された少なくとも一つのキャッシュをさらに備え、前記ダイナミックメモリからのデータの読み出し動作において、前記読み出し方法で前記ダイナミックメモリからデータを読み出し、前記データは少なくとも一つの前記キャッシュに書き込まれ、前記全てのキャッシュから前記データが消去される際には、前記データが前記ダイナミックメモリへ書き戻す。
(4)上記(1)から(3)に記載のダイナミックメモリダイナミックメモリを含む半導体装置において、複数のワード線のうち、アクセスすべきワード線を選択するためのロウアドレスを受けるアドレスラッチ回路を備え、前記アドレスラッチ回路は、所定周期を有する第1のクロック信号の変化点毎に前記ロウアドレスをラッチする。
(5)さらに(4)のパイプライン化されたダイナミックメモリは、第1書き込みアクセス時に入力される第1書き込みアドレスと第1書き込みデータが入力されるライト遅延回路をさらに有し、前記第1書き込みアクセスに対応する前記ダイナミック型メモリセルへの書き込み動作は、第1書き込みアクセスに続く第2書き込みアクセス時にライト遅延回路に格納されている前記第1書き込みアドレスと前記第1書き込みデータに対して行う。
(6)また(5)のダイナミックメモリは、アドレス比較器を有するフォワード回路をさらに備え、読み出しアクセスにおいて、前記フォワード回路は、入力される読み出しアドレスを前記第1書き込みアドレスと前記アドレス比較器により比較し、第1書き込みアクセスと第2書き込みアクセスの間に前記第1書き込みアドレスと同じアドレスの読み出しアクセスがあった場合には、第1書き込みデータを前記読み出しアクセスに対応する読み出しデータとして出力する。
<実施例2>
本発明のパイプライン化したDRAM(PDRAM)の、より具体的な実施例を図9に示す。M0はNMOSトランジスタで、キャパシタC0と共にメモリセルMC1を構成している。BL1〜BLnはビット線、WL1〜WLmがワード線で、上記メモリセルはワード線とビット線の交点の接続されている。(なお、例えば「超LSIメモリ」、伊藤清男著、培風館、1994発行の90頁に記述されているような折り返し型ビット線配置方法では、ビット線とワード線の交点にかならずメモリセルが接続されているとは限らない。本発明では特にこれらのビット線配置方法は図9のものに限定するものではない。) RAMPはリードアンプ、WAMPはライトアンプ、LX-DECはワード線デコーダ(ワード線ドライバ回路を含む)である。SARY1〜SARYxは上記した回路等で構成されたサブアレイである。WDATALはライトデータラッチ、RDATALはリードデータラッチ、WSELはライトデータセレクタ、RSELはリードデータセレクタ、Y-DECはYデコーダ(Yドライバも含む)、Y-ADRLはYアドレスラッチ、GX-DECはグローバルワード線デコーダ(グローバルワード線ドライバを含むロウデコーダ)、X-ADRLはXアドレスラッチ(ロウアドレスラッチ回路)、CRLはタイミング制御回路、GWL1〜GWLzはグローバルワード線、DI1〜DInは入力データ、DO1〜DOnは出力データ、ADDはアドレス(アドレスはマルチプレクスされずに入力される)、WEはライトイネーブル、CLKはクロック、VPLはプレート電圧である。
入力されたアドレスADDは、クロックCLKの周期ごとにX-ADRLとY-ADRLでラッチされ、GX-DECとY-DECでデコードされる。GX-DECでデコードした結果、グローバルワード線GWL1〜GWLzのうち一本が選択される。Y-DECはデコードした結果、サブアレイSARY1〜SARYxのうち一つを選択する。LX-DECにはグローバルビット線GWL1〜GWLzとY-DECのデコード結果が入力され、選択されたサブアレイの中のワード線WL1〜WLmのうちの一本を選択して駆動する。ワード線によって選択されるメモリセルの数は、出力あるいは入力データ本数nと同じである。
読み出し時には、選択されたn個のメモリセルからの記憶情報をn個のリードアンプRAMPで増幅する。増幅したn本のデータDO1a〜DOnaは、リードデータセレクタRSELに入力される。RSELはYデコーダY-DECのから入力されるデコード信号に応じて、サブアレイSARY1〜SARYxからそれぞれ出力されるn本のデータDO1a〜DOnaを、リードデータラッチRDATALのn本の入力に選択して接続する。リードデータラッチRDATALに転送されたn本のデータは、クロックCLKに従ってリードデータラッチRDATALラッチされて、DO1〜DOnとしてパイプラインダイナミックメモリPDRAMの外に出力される。
書き込み時には、入力データDI1〜DInはクロックCLKに従ってライトデータラッチRDATALでラッチされ、ライトデータセレクタWSELに入力される。ライトデータセレクタWSELは、YデコーダY-DECから入力されるデコード信号に応じて書き込み動作を行うサブアレイを選択し、ライトデータセレクタWSELからのn本のデータを、サブアレイSARY1〜SARYxのn本の入力DI1a〜DInaに選択して接続する。
入力されたn本のデータDI1a〜DInaは、書き込み増幅器WAMPによって増幅され、ビット線を介して選択されたn個のメモリセルに記憶情報として書き込まれる。
図9の実施例の構造で、クロックCLKの周期内の所定の期間だけワード線WL1からWLmをパルス駆動することによって、図3の(a)あるいは(b)で示した動作が実現できる。また、前記したように、再書き込みを行っていないために上記ワード線のパルス幅を短くすることができ、それによって決定されるパイプラインピッチ(クロックCLKの周期)を短くすることができる。図9の構造は基本的に図5の(a)の実施例の構造と同じであるため、読み出し方法および書き込み方法をタイミングチャートで書くと、図5の(b)や(c)と同じになる。
なお、図9では前記したワード線分割の課題を、ワード線をグローバルワード線GWL1〜GWLmとワード線WL1〜WLmとに階層化することで解決している。ここではグローバルワード線GWL1〜GWLmとワード線WL1〜WLmの本数は同じ本数であるが、Yデコーダのデコードアドレスビット数を増やせば、グローバルワード線GWL1〜GWLmの本数をm本よりも減らすこともできる。
なお、図9ではWAMPとRAMPの具体的な回路図例は示していないが、例えばWAMPには図4の303を使用することができ、RAMPには図4の302を使用することができる。また、図9ではWAMPとRAMPはビット線の両端に配置されているが、これは図面を見やすくするための処置であって、実際の回路のレイアウト配置はこの配置に限定されるものではない。WAMPとRAMPを図4の303と302のようにビット線の一端に接続するように配置してもよい。また、その場合、構成によってはライトデータセレクタWSELとリードデータセレクタRSELは共有できる場合があることは言うまでない。さらにまた、RAMPやWAMPの両端にビット線を接続して、それぞれのビット線上にメモリセルを接続する、いわゆるシェアドセンスアンプ方式を用いてもよい。上記のように、ビット線構造やRAMP、WAMP構造は、特に図9に図示したものに限定しない。その他、図9では、図4の301で示されたプリチャージ回路は特に図示していないが、これも図面を見やすくするための処置であって、適所にプリチャージ回路等のメモリ回路動作に必要な回路を付加してもよいことは言うまでない。
<実施例3>
次に、図9等で示したパイプライン化したダイナミックメモリを使用した、リフレッシュフリーダイナミックメモリ(RFPDRAM)の実施例を説明する。
図10がRFPDRAMの実施例を示す図である。PDRAMが図9等で示したパイプラインダイナミックメモリに相当する。ASEL、DISEL、WESELはそれぞれセレクタ、RFADDGはリフレッシュアドレスジェネレータ、RFDATLはリフレッシュデータラッチ(データラッチ回路)、REFSEQはリフレッシュシーケンサ、FF1はフリップフロップであり、それらの回路等でアクセス制御回路ACCRLを形成している。ここで、フリップフロップFF1は、一般に言うフリップフロップであり、出力Qは図面の記号で三角印で示されたクロック入力に入力されたクロックが、"L"から"H"に遷移した時点の入力Dを記憶してQに出力し、それ以外の状態ではQ出力を維持する。
ADD、DI、DOはそれぞれPDRAMのアドレスおよびデータの入力、出力端子であり、それぞれPDRAMの容量と入出力ビット数に応じた所定のビット数で構成されている。一方、EADD、EDI、EDOはそれぞれRFPDRAMのアドレスおよびデータの入力、出力端子であり、それぞれの端子のビット数はPDRAMのADD、DI、DOと同じビット数で構成されている。また、WEおよびEWEはそれぞれPDRAMと、RFPDRAMへのライトイネーブル信号を示している。CLK、CLK1、CLK2はクロック信号あるいはクロック端子を示している。
リフレッシュフリーダイナミックメモリRFPDRAMに入力されるアドレスEADDは、セレクタASELにリフレッシュアドレスジェネレータRFADDGの出力RFADDとともに入力され、セレクタ信号P1の値によってPDRAMのアドレスADDに選択接続される。また同様に、RFPDRAMに入力される入力データDIは、セレクタDISELにリフレッシュデータラッチRFDATLの出力RFDATとともに入力され、セレクタ信号P1の値によってPDRAMの入力データDIに選択接続される。さらに、RFPDRAMに入力されるライトイネーブル信号EWEは、セレクタWESELにリフレッシュシーケンサREFSEQの出力RFWEとともに入力され、セレクタ信号P1の値によってPDRAMのライトイネーブル信号WEに選択接続される。PDRAMの出力データDOはRFPDRAMの出力データEDOとリフレッシュデータラッチRFDATLに入力される。REFSEQはRFPDRAMに入力されるクロックCLK1およびCLK2を用いて、リフレッシュアドレスジェネレータRFADDGおよびリフレッシュデータラッチRFDATLとP1を制御することで、PDRAMのリフレッシュ動作に必要な制御を行う。図11に動作例のタイミングチャートを示す。
クロックCLK1はクロックCLK2の2倍の周波数のクロックであり、その立ち上がりタイミングは一致している。EADD、EDI、EDO、EWE等に接続されたRFPDRAMを使用するデバイスや回路等(簡単のため図19には図示していない。以下、これを外部デバイスと呼び、その外部デバイスからRFPDRAMへのアクセス要求を外部アクセス要求と呼ぶ。)からの外部アクセス要求は、CLK2の立ち上がりタイミングで取りこまれる。図10のFF1の出力P1はCLK2の立ち上がりタイミングで"H"になっているため、CLK2の立ち上がりタイミングで取りこまれたアクセス要求はそのままPDRAMに伝送されて処理される。ここでは、#1でリード要求(Ra1)、#3でライト要求(Wa2)、#5でリード要求(Ra3)、#7でリード要求(Ra4)、#9でリード要求(Ra5) が外部アクセス要求として取りこまれ、それらのアクセス要求に対応して、RFPDRAMは、#3でリードデータ(Rd1)出力確定、#3でライトデータ(Wd2)入力、#7でリードデータ(Rd3)出力確定、#9でリードデータ(Rd4)出力確定、#11でリードデータ(Rd5)出力確定している。リードに関しては、CLK1の周波数換算でレイテンシ2、CLK2の周波数換算でレイテンシ1で、ノーウエイトで出力されている。ライトに関しては、レイテンシ0である。
上記したように、パイプラインダイナミックメモリPDRAMへの外部アクセス要求は、CLK1周期換算では2周期に1回の割合でしか発生しないことになる。図11では、#1、#3、#5、#7、…のように、奇数番目のクロック立ち上がりエッジでのみ外部アクセス要求が発生する。PDRAMは完全パイプライン化されているため、PDRAMへのアクセス要求はCLK1周期で毎サイクル行うことができる。それに対して、図10の構成では上記したように、外部アクセス要求はCLK1周期でたかだか2周期に1回しか発行されない。これらの外部アクセス要求の合間(#4、#6、#8、#10、…で示されるパイプラインの空きスロット)にアクセス制御回路ACCRLがPDRAMへリフレッシュ動作のためのアクセス要求を発行する。以下、その方法を図11を用いて詳しく説明する。
アクセス制御回路ACCRLは、パイプラインダイナミックメモリPDRAM内に記憶された情報が消去されないように、ある時間間隔でリフレッシュ要求をPDRAMに発行する。図11では、リフレッシュアドレスジェネレータRFADDGによって発生されたリフレッシュアドレスRFADDに対して、#4でリード要求(Ra0)を発行し、#6でそのリードデータ(Rd0)を受け取り、リフレッシュデータラッチRFDATLに格納する。次に、#8では先ほどのリード要求した同じアドレスにライト要求(Wa0)を発行し、RFDATLに格納されているデータ(Wd0)を書きこんでいる。上記動作によって、PDRAM内のメモリセルの再書き込みが実行される。その後、RFADDGはRFADDをカウントアップする。この動作が所定時間間隔でリフレッシュシーケンサREFSEQによって繰り返されることで、PDRAM内の全メモリセルのリフレッシュ動作が行われる。
上記実施例により、キャパシタンスに溜まった電荷によって情報を記憶するダイナミック型メモリに特有なリフレッシュ動作を、ダイナミックメモリを使用するデバイスや回路等から完全に隠蔽できる。また、アクセス速度(ここではレイテンシのこと。)についても本来のパイプラインダイナミックメモリPDRAMと同じ性能が得られる。(図11の実施例ではリードレイテンシはCLK1周期換算で2であり、速度劣化していない。)一方、RFPDRAMへ発行できる最高アクセス要求頻度(freq1)は、PDRAMが本来受け付けることが可能な最高アクセス頻度(freq)の半分になってしまっている。しかし、パイプライン化によってPDRAMのパイプライン周波数(CLK1の周波数)は十分に高速化できるため、RFPDRAMへのアクセス要求頻度(freq1)も問題のないレベルまで高速化できる。たとえば、リフレッシュフリーダイナミックメモリRFPDRAMを使用する外部デバイスとして、マイクロプロセッサが300MHzで動作している場合、CLKを600MHz、CLK1を300MHzで使用できる。
図9〜図11ではパイプラインダイナミックメモリPDRAMのリードレイテンシが2、ライトレイテンシが0の場合の例を示したが、上記リフレッシュの隠蔽手法は特にこのレイテンシの場合に使用が限定されるものではないことは言うまでない。ただし、PDRAMのCLK1周期換算したレイテンシをLとした場合、外部アクセス要求に対するデータの授受がCLK2周期で行われるとすれば、CLK1周期換算のレイテンシL1は、L/2で小数点以下を切り上げた数になる。したがって、外部アクセス要求に対するデータの授受のCLK1周期換算レイテンシは、Lが奇数の場合には、L+1になる。
<実施例4>
リフレッシュの隠蔽手法は、特に図11で示した方法に限定するものではない。図11の実施例では、PDRAMのパイプライン周期を外部アクセス要求の周期の半分にし、外部アクセス要求はダイナミックメモリのパイプラインクロックCLK1に対して、#1、#3、#5、#7、…の位相に限定することで、CLK1に対して、#4、#6、#8、#10の位相でリフレッシュ動作を行う機会を得ている。すなわち、外部アクセス要求の位相と、リフレッシュ動作に伴うアクセス要求の位相を、異なる位相に限定して両者の衝突を避けている。このように異なる位相で両者のアクセスを制御することで、両者のアクセス衝突を避ければよい。
さらにまた、PDRAMのパイプライン周期を外部アクセス要求の周期よりも短くしすれば、外部アクセス要求が絶え間無く発行されていても、PDRAMのリフレッシュ機会を確実に得ることができる。すなわち、図11の実施例のようにのパイプライン周波数CLK1と、外部アクセス要求を受け付ける周期に対応するクロック信号CLK2の周波数の比は、特に2倍でなくてもよい。例えばCLK1の周波数とCLK2の周波数の比は、1よりも大きな有理数であればよく、3/2倍でもよい。この場合、CLK2周期で毎周期外部アクセス要求がRFPDRAMに発行された場合でも、CLK1周期換算で3周期に1回はPDRAMへの外部アクセス要求がない期間が存在することになる。また、先の周波数比が1000/999倍であった場合、CLK1周期換算で1000周期に1回はPDRAMへの外部アクセス要求がない期間が存在することになる。リフレッシュシーケンサREFSEQは、外部アクセス要求のないタイミングでリフレッシュに必要なアクセス要求をPDRAMに発行すればよい。一般にリフレッシュ周期は外部アクセス要求の周期に比べて長いために、CLK1の周波数とCLK2の周波数の比が1000/999倍程度しか異なっていなくても、CLK1の周波数は十分に高速にできるために、十分な周期でリフレッシュ動作を行うことができる。
例として図12および図13に、CLK1の周波数とCLK2の周波数比が3/2の場合のより詳しい実施例を示す。図12の実施例は、図10の実施例と比較すると以下の2点が異なっている。(1)図10のセレクタASEL、DISEL、WESELのセレクト信号P1を発生するフリップフロップFF1を生成する回路が、図12ではフリップフロップFF2、FF3、FF4で構成されており、P3がセレクタASEL、DISEL、WESELのセレクト信号になっている。(2)EADD、EDI、EDO、EWEはそれぞれフリップフロップFF5、フリップフロップFF6、ラッチTL1、フリップフロップFF7を介してセレクタASEL、セレクタDISEL、のDO端子、セレクタWESELに接続されている。ここで、ラッチTL1は、出力Qはクロック入力Eが"H"になっている限りDに入力されたデータに従う。クロック入力Eが"L"になると、出力Qはクロック入力Eが"H"になるまでQ出力を維持する。図10の場合と同様に、リフレッシュシーケンサREFSEQはRFPDRAM に入力されるクロックCLK1およびCLK2を用いて、リフレッシュアドレスジェネレータRFADDGおよびリフレッシュデータラッチRFDATLとP2、P3を制御することで、PDRAMのリフレッシュ動作に必要な制御を行う。図13に動作例のタイミングチャートを示す。
クロックCLK1はクロックCLK2の1.5倍の周波数のクロックであり、図13で示されるような位相関係になっている。外部アクセス要求は、図11の場合と同様にフリップフロップFF5、FF6、FF7によってCLK2の立ち上がりタイミングで取りこまれる。セレクタASEL、DISEL、WESELのセレクト信号P3は、図13で示されたような波形になるため、CLK2の立ち上がりタイミングで取りこまれた外部アクセス要求は、そのタイミング以降のCLK1の立ち上がりタイミングでパイプラインダイナミックメモリPDRAMに投入される。ここでは、CLK2の#1でリード要求(Ra1)、#2でライト要求(Wa2)、#3でリード要求(Ra3)、#4でリード要求(Ra4)、#5でリード要求(Ra5)が外部アクセス要求として取りこまれ、CLK1の#2でリード要求(Ra1)、#3でライト要求(Wa2)、#5でリード要求(Ra3)、#6でリード要求(Ra4)、#8でリード要求(Ra5)が、PDRAMに取りこまれる。それらのアクセス要求に対応して、RFPDRAMは、CLK1の#4でリードデータ(Rd1)出力確定、#3でライトデータ(Wd2)入力、#7でリードデータ(Rd3)出力確定、#8でリードデータ(Rd4)出力確定、#10でリードデータ(Rd5)出力確定している。それぞれのリードデータは、図13に示したP2のクロックが入力されたラッチTL1を介して、CLK2の#3でリードデータ(Rd1)出力確定、#5でリードデータ(Rd3)出力確定、#6でリードデータ(Rd4)出力確定、#7でリードデータ(Rd5)出力確定された状態で出力される。リードに関しては、CLK2の周波数換算でレイテンシ2、CLK1の周波数換算でレイテンシ3で、ノーウエイトで出力されている。ライトに関しては、レイテンシ0である。
上記したようの、パイプラインダイナミックメモリPDRAMへの外部アクセス要求は、CLK1周期換算では3周期に2回の割合でしか発生しないことになる。図13では、CLK1の#2、#3、#5、#6、…のように、3回に2回のクロック立ち上がりエッジでのみ外部アクセス要求に対するアクセス要求が発生する。PDRAMは完全パイプライン化されているため、PDRAMへのアクセス要求はCLK1周期で毎サイクル行うことができる。それに対して、図12や図13の構成では上記したように、外部アクセス要求はCLK1周期でたかだか3周期に2回しか発行されない。これらの外部アクセス要求の合間(CLK1の#4、#7、…で示されるパイプラインの空きスロット)にアクセス制御回路ACCRLがPDRAMへリフレッシュ動作のためのアクセス要求を発行する。以下、その方法を図13を用いて詳しく説明する。
アクセス制御回路ACCRLは、パイプラインダイナミックメモリPDRAM内に記憶された情報が消去されないように、ある時間間隔でリフレッシュ要求をPDRAMに発行する。図13では、リフレッシュアドレスジェネレータRFADDGによって発生されたリフレッシュアドレスに対して、CLK1の#4でリード要求(Ra0)を発行し、CLK1の#6でそのリードデータ(Rd0)を受け取り、リフレッシュデータラッチRFDATLに格納する。次に、CLK1の#7では先ほどのリード要求した同じアドレスにライト要求(Wa0)を発行し、リフレッシュデータラッチRFDATLに格納されているデータ(Wd0)を書きこんでいる。上記動作によって、PDRAM内のメモリセルの再書き込みが実行される。その後、リフレッシュアドレスジェネレータRFADDGはリフレッシュアドレスRFADDをカウントアップする。この動作が所定時間間隔でリフレッシュシーケンサREFSEQによって繰り返されることで、PDRAM内の全メモリセルのリフレッシュ動作が行われる。
図11や図12で示した場合と同様に、図12および図13で示した実施例によって、キャパシタンスに溜まった電荷によって情報を記憶するダイナミック型メモリに特有なリフレッシュ動作を、ダイナミックメモリを使用するデバイスや回路等から完全に隠蔽できる。アクセス速度(ここではレイテンシのこと。)についてはリードレイテンシがCLK1換算で3、CLK2換算で2となる。リードレイテンシが、PDRAMの本来のレイテンシから1だけ増加するだけで、リフレッシュを完全に隠蔽できている。
上記以外の方法でも、完全パイプライン化されているという特徴により、外部アクセス要求の合間にリフレッシュのためのリード要求とライト要求を繰り返してリフレッシュを行うことができる。その他、完全パイプライン化されているという特徴を用いれば、外部アクセス要求を乱すことなく種々の方法のリフレッシュ手段があり得る。種々のリフレッシュ手法を組み合わせてもよい。当然、外部アクセス要求とリフレッシュ要求が衝突した場合に、外部アクセス要求を遅延させることが許されるのであれば、さらに様々なリフレッシュ手法があり得ることは言うまでない。
<実施例5>
図10や図12で示したリフレッシュフリーダイナミックメモリRFPDRAMの実施例では、クロックCLK1とCLK2を外部から入力しているが、特にそのクロック供給形態に限定するものではない。CLK2をCLK1から分周回路等を用いて生成してもよいし、CLK2からCLK1をPLL(フェーズ・ロックド・ループ)等の逓倍回路(クロック・ダブラー)を用いて生成してもよい。図14に図10にPLLを用いた場合のクロック分配系をを付加した場合の実施例を示す。CLKGENはクロック発生回路で、ここではPLL構造で構成されたクロックダブラーである。CLKSYSはPDRAM内のクロック分配系を示しており、特に限定しないが、いわゆるHツリー方式のクロック分配系を用いている。406のように三角の記号で示したものはクロックバッファで、405a〜405gで示されたCLK1を用いるラッチ回路(ここでは、ラッチやフリップフロップあるいはセレクタ等のクロックを使用する回路を代表してラッチ回路と記している。)にゼロスキューでCLK1を分配している。そのCLK1はクロック発生手段403にもラッチ回路405a〜405gと同位相でCLK1aとして分配されている。さらにクロック発生回路CLKGENにはクロックCLK2も入力されている。クロック発生回路CLKGENはPLL構造を持っているため、位相比較回路を備え、(1)CLK1aの位相とCLK2aの位相は同じで、(2)CLK1aの周波数はCLK2の周波数の2倍、という条件を持たすようにCLK1を発生する。
上記したように、PDRAM内において、クロック分解系を用いてゼロスキューで分配されているCLK1をクロック発生回路にCLK1aとして同じくゼロスキューでフィードバックすることで、RFPDRAMに入力されるCLK2の位相と、405a〜405gのラッチ回路が受け取るCLK1の位相を、同じ位相にすることができる。これにより、ADD、EADD、DO、EDO、DI、EDI、WE、EWE等の各種信号のセットアップマージンやホールドマージンを確保しやすくなり、PDRAMをより高い周波数で動作させることができる。特にPDRAMの面積が大きくなった場合、クロック発生回路CLKGENの出力点でのクロックと、405a〜405gのラッチ回路が受け取るクロックとの間に大きなディレイが生じるために、上記実施例の方法の効果が大きくなる。
なお、図14で示したクロック発生回路はPLL構造に限定しない。DLL(ディレイ・ドックド・ループ)やSMD(シンクロナス・ミラー・ディレイ)等の構造でもよい。入力される二つのクロック位相を一致させて、所望の周波数のクロックを発生できる回路であればその構造は限定しない。
<実施例6>
実施例3や実施例4のリフレッシュ隠蔽方法におけるリフレッシュ処理は、リフレッシュ以外のPDRAMへのアクセスに対する処理でも用いることができる。例えば、図8で示したパイプライン再書き込み手法の再書き込みアクセスに対しても用いることができる。すなわち、PDRAMの実力で決まるパイプライン周波数よりも外部アクセス周波数が小さくなるような仕様でPDRAMを使用し、余った時間に上記再書き込み動作を行えばよい。キャッシュ110を用いないで、破壊読み出しメモリセルを用いたダイナミックメモリの完全高速パイプライン化が実現できる。
なお、パイプライン段数およびパイプラインの切り方については、図9や、後述する図15の方法に限定するものではない。例えばワード線デコーダLX-DECにクロックCLKを入力してラッチ機能を設けたりしてパイプライン段数を増やしたり、リードアンプRAMPやライトアンプWAMPをパイプラインラッチとして使用してパイプライン段数を増やしてもよい。パイプライン段数を増やした方がパイプラインピッチを短くでき、動作周波数を高くすることができることは言うまでない。
さらにまた、以上のパイプラインダイナミックメモリPDRAMの実施例では、メモリセルからの出力データをPDRAM外に出力する際にラッチ(以下、出力ラッチと呼ぶ)を介して出力している例を示した。例えば、図9の実施例では、出力ラッチとしてリードデータラッチRDATLが具備されている。しかし、本発明のリフレッシュ隠蔽方法の実現にはこの出力ラッチの有無は特に限定しない。すなわち、フロー・スルー(Flow-Throgh)形式の、同期式ダイナミックメモリにも適用できる。もちろん、出力ラッチの有無によってレイテンシが変わるのは言うまでない。
また、図9の実施例において、図6や図7の実施例で例示したようなディレイドライト機能を付加することもでき、その場合でも図10から図14で示した本発明のリフレッシュ隠蔽方法が少量の回路を追加するだけで実現できることは言うまでない。ライトレイテンシとリードレイテンシを合わせるように制御することで、CPU等の複数のバスマスタからの複数のアクセス要求やリフレッシュ要求を、パイプラインを乱すことなくダイナミックメモリへ投入できる。図9では出力データ線DOと入力データ線DIが分かれている形式であるが、出力データ線DOと入力データ線DIが、入出力データ線として共用されている場合、入力データと出力データを時分割で分離して伝達させる必要があるためにディレイドライト機能の効果が大きくなる。また、いわゆるリード・モディファイ・ライトアクセス時には、リードされたデータを用いて処理した後でそのデータをライトする必要があるため、リードレイテンシとライトレイテンシが同じである方がパイプライン充填率を高めることができる。
また、上記リフレッシュ隠蔽手法は、パイプライン化されているダイナミックメモリであれば、図9等の実施例で示したパイプラインダイナミックメモリPDRAMでなくても実施できることは言うまでない。PDRAMが図3で示したような再書き込みを行わない構造である必要もない。再書き込みを行う場合、図2で示すようにワード線のアサート期間が長くなるためにパイプラインピッチが長くなり、パイプライン周波数を高くし難い等の課題はある。しかし、図10および図12のリフレッシュデータラッチRFDATLは必要なく、リフレッシュシーケンサREFSEQは単に、リフレッシュアドレスジェネレータRFADDGの発生したアドレスにリードアクセス要求を発行するだけでよい。
さらにまた、上記では、パイプライン動作を用いたリフレッシュ隠蔽方法を述べたが、パイプライン化されていないダイナミックメモリでも上記リフレッシュ隠蔽方法を用いることができる。たとえば、いわゆるシンクロナスダイナミックメモリ(SDRAM)でも実現できる。(なお、パイプライン化の有無に関して、カラムアクセスに関してはSDRAMでもパイプライン化されているが、本願ではロウアクセスに関するパイプライン化を意味している。)すなわち、回路の実力で決まるサイクル時間よりも外部仕様のサイクル時間を大きく設定し、余った時間にリフレッシュ動作を行えばよい。たとえばSDRAMの外部アクセス要求の周期を、本来のSDRAMの実行できるアクセス周期の2倍にすればよい。すなわち、バンクアクティブコマンドから同一バンクへのバンクアクティブコマンドまでの時間間隔 (tRC=tRAS+tRP)の仕様を、回路の実力の2倍にすればよい。すると、その時間間隔(2×tRC)では2回のバンクアクティブコマンドからプリチャージコマンドを実行できることになる。その2回のバンクアクティブコマンドからプリチャージコマンドのうち、1回は外部アクセス要求のための処理を行い、他の1回はリフレッシュが必要な場合にリフレッシュ動作に必要な処理を行う。パイプライン化されていないため、サイクル時間は2倍になり、レイテンシは上記リフレッシュ動作時にアクセスが来たときの外部アクセスの遅延を含めると2倍近くになる。仕様的には性能がおちることになるが、リフレッシュを完全に隠蔽することができるため、外部制御が楽で使い勝手のよいメモリが実現できる。
<実施例7>
図9の実施例では、情報を記憶するメモリセルとして、一つのNMOSトランジスタとキャパシタからなるメモリセルによって情報が記憶されているメモリセルを用いた。すなわち、読み出すことによってメモリセル内の情報が破壊されてしまう破壊読み出しメモリセル(以下、1Tメモリセルと呼ぶ)を用いていると仮定した。上記発明は特にそのメモリセル構造に限定されるものではない。例えば、1970 IEEE International Solid-State Circuits Conference Digest of Technical Papers, pp. 42-43に記述されているような3つのNMOSトランジスタからなるメモリセルによって情報を記憶する非破壊読み出しメモリセル(以下、3Tメモリセルと呼ぶ)を用いたダイナミックメモリにも適用できる。その他、4つのMOSトランジスタを使用したメモリセルなど多くのダイナミック型メモリセルが考えられる。また、3Tメモリセルにおいても、ワード線をリード用ワード線とライト用ワード線に分けた場合と共通化した場合、あるいは、ビット線をリード用ビット線とライト用ビット線に分けた場合と共通化した場合等、種種の制御方法があり得る。それらメモリセルの構造や制御方法等は限定しない。
図15に上記3Tメモリセルを用いた場合のパイプラインダイナミックメモリPDRAMの実施例を示す。MC2が3Tメモリセルである。NMOSトランジスタM2のゲート端子に蓄えられた電荷によって情報を記憶する。ワード線WL1〜WLmおよびグローバルワード線GWL1〜GWLzは3値レベルで制御される。中間電位では、NMOSトランジスタM1を通して、NMOSトランジスタM2のゲート電位に応じた電流をビット線RBLに読み出す。書きこみ時には、ワード線WLに高電位を印加してNMOSトランジスタM3をオンさせて、ビット線WBLから、NMOSトランジスタM2のゲート電位に直接電圧を印加する。
図15の実施例は、図9の実施例と比較すると以下の2点が異なっている。(1)図9のメモリセルが1Tメモリセルであるのに対して、図15では3Tメモリセルを用いている。そのため、ビット線がリード用ビット線RBL1〜RBLxとライト用ビット線WBL1〜WBLxに分かれている。(2)図9では書きこみデータはライトデータセレクタWSELの後にライトアンプWAMPで増幅されてビット線に伝送されており、また、ビット線上の読み出しデータはリードアンプで増幅されてからリードデータセレクタRSELを介して出力されている。しかし、図15では、書きこみデータはライトアンプWAMPで増幅された後にライトデータセレクタWSELを介してビット線に伝送されており、また、ビット線上の読み出しデータはリードデータセレクタRSELを介してリードアンプで増幅されてから出力されている。したがって、一つのリードアンプRAMPあるいはライトアンプWAMPは複数のYアドレスで共有されている。リードアンプRAMPとライトアンプWAMPを図15のように複数のビット線で共有化している。このようなリードアンプRAMPあるいはライトアンプWAMPの共有化はそれぞれのアンプのレイアウトに使用できる面積を、共有しない場合に比較して大きくできる等の利点がある。大きな面積をアンプのレイアウトに使用することにより、アンプの種類の選択範囲が増え、電流センスアンプ等の高速なアンプを用いることができる。
また、3Tメモリセルとして、例えば伊藤清男著、1994年培風館発行、「超LSIメモリ」の13ページの図1.10(a)にあるような、リード用ワード線とライト用ワード線を持つような3Tメモリセルを使用した場合、図15のようなワード線の階層化は、リード用ワード線に対しては不要になる。これは、3Tメモリセルが非破壊読み出しセルであるという特徴から、ワード線がアサートされても読み出されないメモリセルが存在することが許されるからである。
なお、図9と同様に図15では、WAMPとRAMPの具体的な回路図例は示していないが、RAMP、WAMP構造やビット線構造は、特に図15に図示した方法に限定しない。また、図15ではWAMPとRAMPはビット線の両端に配置されているが、これは図面を見やすくするための処置であって、実際の回路のレイアウト配置はこの配置に限定されるものではない。WAMPとRAMPを図4の303と302のようにビット線の一端に接続するように配置してもよい。また、その場合、構成によってはライトデータセレクタWSELとリードデータセレクタRSELは共有できる場合があることは言うまでない。さらにまた、RAMPやWAMPの両端にビット線を接続して、それぞれのビット線上にメモリセルを接続する、いわゆるシェアドセンスアンプ方式を用いてもよい。その他、図15では、図4の301で示されたプリチャージ回路は特に図示していないが、これも図面を見やすくするための処置であって、適所にプリチャージ回路等のメモリ回路動作に必要な回路を付加してもよいことは言うまでない。
図15に示したような3Tメモリセルのような非破壊読み出しメモリセルを、本発明のパイプラインダイナミックメモリPDRAMに用いても、図3の(a)のようなtRASが不要でtRPの短い読み出し動作を実現できる。この場合、キャッシュメモリ110 を用いなくてもよいという利点がある。図5から図14で示した本発明のパイプライン動作についても、1Tメモリセルを使用した場合と同様に実現できることは言うまでない。
図16は、本発明のリフレッシュフリーダイナミックメモリRFPDRAMを搭載した、DRAM混載ロジックLSI(EMCHP)の実施例を示す図である。メモリセルには図15で示した3Tメモリセルを用いている。なお、図15や図16等のMOSの記号で、M512のようにゲート電極を白抜きのボックスで示しているものは例えば6.5nm程度の厚いゲート酸化膜で構成された高耐圧MOSトランジスタであることを示し、M522のようにゲート電極をラインで示しているものは例えば3.2nm程度の薄いゲート酸化膜で構成されたMOSトランジスタであることを示している。
VDD、VSSはコア電源およびその接地であり、VDDQ、VSSQはI/O電源およびその接地を示している。例えばコア電源電圧は1.0Vであり、I/O電源電圧は3.3Vである。OUT0〜OUTxは出力信号を、IN0〜INyは入力信号を、I/O0〜I/Ozは入出力信号をそれぞれ示している。また、PADCBはチップ内部の信号とチップ外部とのインターフェースを取るためのI/O回路を示しており、511は出力回路の最終段ドライバ回路を示しており、厚いゲート酸化膜で構成されたPMOSトランジスタM512と、NMOSトランジスタM513で構成されている。514は入力回路の初段バッファ回路を示しており、厚いゲート酸化膜で構成されたPMOSトランジスタM515と、NMOSトランジスタM516で構成されている。(514では簡単化のため省略したが、M515やM516のゲート電極に接続される、静電破壊を防ぐためのいわゆるESD素子内のMOSトランジスタについても、厚いゲート酸化膜のMOSトランジスタで構成するのがよい。)LCBはインバータやNANDゲート等で構成されたロジック回路を示している。図16では、薄いゲート酸化膜厚で構成されたPMOSトランジスタM522と、NMOSトランジスタM523で構成されたインバータ回路521を例示しているが、LCBの例としてはマイクロプロセッサやDSP等の1万ゲート以上の論理回路や、SRAM等のを挙げることができる。また、RFPDRAM中の3TメモリセルにもI/O回路中に用いたゲート酸化膜厚の厚いMOSトランジスタと同一のMOSトランジスタを用いている。(図15のMC2中のNMOSトランジスタM1とM3には高い電圧が印可される可能性があるために、ゲート酸化膜の厚いMOSトランジスタで構成する必要があるが、M2には高い電圧は印加されないので、プロセス的な問題とメモリセルサイズに応じて、ゲート酸化膜の薄いMOSトランジスタで構成してもよい。)図16では、MOSトランジスタのゲート・ソース電極間あるいはゲート・ドレイン電極間に高い電圧が印加される可能性のあるMOSトランジスタは、ゲート酸化膜の厚いMOSトランジスタで構成し、それ以外のMOSトランジスタには、できるだけ高速化にためにゲート酸化膜厚の薄いMOSトランジスタを用いている。図16のようにゲート酸化膜を使い分けることによって、ゲート酸化膜厚の種類をチップ全体で2種類だけに限定でき、製造プロセスを簡単化できる。
一般に、1Tメモリセルを用いたダイナミックメモリとロジックLSIを一つのチップに混載した場合、その製造プロセスが複雑化するという欠点がある。しかし、本発明のようにダイナミックメモリのメモリセルに3Tメモリセルを用いれば、メモリセル内にキャパシタを構成する必要がないために、1Tメモリセルを用いた場合と比較してプロセスの複雑化を少なく抑えることができる。また、図16のように構成することで、メモリセルを構成するトランジスタを、ロジックLSIやI/O 回路で用いているトランジスタと共通化できる。(ただし、高速化とメモリセルの高リテンション時間化を両立するために、3Tメモリセル内のトランジスタの拡散層はシリサイド化しないで、それ以外のトランジスタの拡散層は拡散層抵抗の低抵抗化のためにシリサイド化する等の処置は行ってもよい。)これにより、ロジックLSIにダイナミックメモリを混載することによるプロセスの複雑化を極めて少なくすることができる。
以上の実施例による作用効果の主なものは以下の通りである。
(1)ダイナミックメモリを破壊読み出しとすることで、ビット線にデータを増幅する必要がなく、tRASに相当する時間が必要ない。プリチャージ時間については、ビット線は小振幅のままであるため短い時間でプリチャージが可能になる。
(2)(1)によりサイクルタイムtRCを従来のダイナミックメモリと比較して大幅に短くできる。この特徴を使用するとダイナミックメモリをパイプラインSRAMのようにパイプラインした場合にそのパイプラインピッチを小さくできる。
(3)ダイナミックメモリのセンスアンプには、直接センス方式のセンスアンプを利用した場合には、高速な増幅動作が可能である。従来のダイナミックメモリでこの直接センス方式を使用した場合、そのセンスアンプと並列にメモリセルへの再書き込み用のアンプが必要になるが、本発明のダイナミックメモリでは必要ないためチップ面積が低減できる。
(4)以上の構成によりパイプライン化したダイナミックメモリにおいて、そのリードレイテンシとライトレイテンシを同じにできる。これにより、リードとライトが混在した場合のパイプライン充填率を高めることができる。
(5)ダイナミックメモリをパイプライン化させ、外部にアクセス制御回路ACCRLを付加することで、ダイナミックメモリのリフレッシュ動作を隠蔽することができる。
(6)3Tメモリセルを用いれば、上記効果を、キャッシュ110を用いないで実現できる。
本発明の主な効果によると、ダイナミックメモリセルの読み出し・書き込みのサイクルタイムを短縮できるので、高速動作のできるDRAMが実現できる。
100……ダイナミックメモリ、 110……キャッシュメモリ、 200……完全パイプラインダイナミックメモリ、 220……ノーウェイトアクセス完全パイプラインダイナミックメモリ、 230……フォワード回路付きノーウェイトアクセス完全パイプラインダイナミックメモリ、 300……直接センス方式のセンスアンプを用いたダイナミックメモリ、 Ra1、Ra2……リードアドレス、 Wa1、Wa2……ライトアドレス、 Rd1、Rd2……リードデータ、 Wd1、Wd2……ライトデータ、PDRAM……パイプラインダイナミックメモリ、PFPDRAM……リフレッシュフリーダイナミックメモリ、M0……NMOSトランジスタ、C0……キャパシタ、MC1……1Tメモリセル、WL1〜WLm……ワード線、BL1〜BLn……ビット線、RAMP……リードアンプ、WAMP……ライトアンプ、LX-DEC……ワード線デコーダ(ワード線ドライバ回路を含む)、SARY1〜SARYx……サブアレイ、WDATAL……ライトデータラッチ、RDATAL……リードデータラッチ、WSEL……ライトデータセレクタ、RSEL……リードデータセレクタ、Y-DEC……Yデコーダ(Yドライバも含む)、Y-ADRL……Yアドレスラッチ、GX-DEC……グローバルワード線デコーダ(グローバルワード線ドライバ)、X-ADRL……Xアドレスラッチ、CRL……タイミング制御回路、GWL1〜GWLz……グローバルワード線、DI1〜DIn……入力データ、DO1〜DOn……出力データ、ADD……アドレス、WE……ライトイネーブル、CLK……クロック、VPL……プレート電圧、ASEL……アドレスセレクタ、DISEL……入力データセレクタ、WESEL ……ライトイネーブル信号セレクタ、RFADDG……リフレッシュアドレスジェネレータ、RFDATL……リフレッシュデータラッチ、REFSEQ……リフレッシュシーケンサ、FF1〜FF7……フリップフロップ、ACCRL……アクセス制御回路、ADDおよびEADD……アドレス、DIおよびEDI……入力データ、DOおよびEDO……出力データ、TL1……ラッチ、CLKGEN……クロック発生回路、CLKSYS……クロック分配系、406……クロックバッファ、405a〜405g……クロックCLKを用いるラッチ回路(ここでは、ラッチ、フリップフロップ、レジスタあるいはセレクタ等のクロックを使用する回路を代表してラッチ回路と記している。)、MC2……3Tメモリセル、M1〜M3……NMOSトランジスタ、WBL1〜WBLx……ライト用ビット線、RBL1〜RBLx……リード用ビット線、EMCHP……DRAM混載ロジックLSI、510……I/O回路、520……ロジック回路、511……出力回路の最終段ドライバ回路、514……入力回路の初段バッファ回路、VDD……コア電源電圧、VSS……コア接地電圧、VDDQ……I/O電源電圧、VSSQ……I/O接地電圧。