JP2006190402A - 半導体装置 - Google Patents

半導体装置 Download PDF

Info

Publication number
JP2006190402A
JP2006190402A JP2005002024A JP2005002024A JP2006190402A JP 2006190402 A JP2006190402 A JP 2006190402A JP 2005002024 A JP2005002024 A JP 2005002024A JP 2005002024 A JP2005002024 A JP 2005002024A JP 2006190402 A JP2006190402 A JP 2006190402A
Authority
JP
Japan
Prior art keywords
data
memory
cache
write
bank
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005002024A
Other languages
English (en)
Inventor
Bryan Atwood
ブライアン・アトウッド
Takao Watabe
▲隆▼夫 渡部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2005002024A priority Critical patent/JP2006190402A/ja
Priority to US11/325,311 priority patent/US7301791B2/en
Publication of JP2006190402A publication Critical patent/JP2006190402A/ja
Priority to US11/875,633 priority patent/US7573753B2/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1075Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2245Memory devices with an internal cache buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Dram (AREA)
  • Static Random-Access Memory (AREA)

Abstract

【課題】 高速なメモリアクセスを行うことが可能であり、また、大容量のメモリを備えることが可能な半導体装置を提供する。
【解決手段】 書き込みに読み出しの2倍のサイクルを必要とし、書き込みと読み出しのポートを個々に備えた複数のメモリバンク(Bank)0〜3と、前記2倍のサイクルに基づいて、それぞれが前記メモリバンクの一つと同じメモリ容量を備えた2個のキャッシュデータバンクCD0,CD1とを設け、例えば、外部より連続サイクルの書き込み命令が発生した際に、サイクル#2において、CD1のロウ2に記憶されたメモリバンク2のデータは、メモリバンク2がサイクル#1によりビジー状態であるためライトバック不可であるが、代わりにCD0のロウ2に記憶されたメモリバンク0のデータをライトバックすることが可能である。
【選択図】 図5

Description

本発明は、メモリを含む半導体装置に関するものであり特に、データ書き込み動作が遅いメモリセルを用いたメモリにおいて、高速で待ち時間のない外部アクセスを実現するために有効な技術に関するものである。
本発明者が検討したところによれば、現在広く使われているメモリには、以下のようなものがある。
最も一般的なものは6つのトランジスタからなるメモリセルを用いたSRAMである。これは、一般的なトランジスタ製造プロセスで形成可能であるため単品のメモリやプロセッサのためのオンチップキャッシュなどに広く使われている。
もう一つの代表的なメモリとして1つのトランジスタと1つのキャパシタからなるメモリセルを用いたDRAMがある。これは、キャパシタの製造プロセスが必要であるという問題があるが、SRAMに較べて非常に高集積であるため、大容量メモリとしてパーソナルコンピュータのメインメモリなどに広く使われている。
ところで、前記のようなメモリの動作速度について、本発明者が検討した結果、以下のようなことが明らかとなった。
DRAMでは、キャパシタに蓄えた電荷をビット線に読み出すが、SRAMのようにトランジスタでビット線を駆動する、所謂ゲインセルではないため、読出し動作の高速化の点でSRAMより劣る。SRAMより高集積なゲインセルとして、例えば3つのトランジスタからなるメモリセルがある。例えば、蓄積用、書き込み用および読み出し用のトランジスタをそれぞれ備え、蓄積用のトランジスタのゲートに2値情報を書き込むものなどが挙げられる。
このようなメモリ構成においては、読み出し動作は、ビット線をトランジスタで駆動するため、SRAMと同等な高速動作を実現することが可能である。しかしながら、リテンション特性を改善しようとすると書き込みトランジスタのオン電流を大きくとることが難しくなるなどの理由から、書込み速度をSRAMと同等にすることは困難である。設計にもよるが、書き込み動作は、読み出し動作の2倍もしくは3倍遅くなる可能性がある。
したがって、このような書き込みアクセスの遅いメモリセルを用いた場合でも、SRAMに匹敵する速度で、ランダムにアクセス可能となるように、新たなアーキテクチャや回路技術が求められている。言い換えれば、このような低速書き込みアクセスを解消し、高速で外部アクセスを実行できるようになれば、高集積、高速なメモリとして広く使われると予想される。
そこで、本発明の目的は、このような問題等を鑑み、高速なメモリアクセスを行うことが可能であり、また、大容量のメモリを備えることが可能な半導体装置を提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
本発明による半導体装置は、複数のメモリバンクを含み、第1のサイクル時間内でデータ読み出しを行い、第1のサイクル時間よりも長い第2のサイクル時間内でデータ書き込みを行い、複数のメモリバンク内の1つのメモリバンクの中でデータ読み出しとデータ書き込みを時間的に並行して行うことが可能な第1のメモリデバイスと、第1のサイクル時間内でデータ読み出しとデータ書き込みが可能であり、第1のメモリデバイスのキャッシュメモリとして機能する第2のメモリデバイスとを有するものとなっている。そして、前記半導体装置において、データ書き込み命令の発生時に第2のメモリデバイスがキャッシュミスかつキャッシュフルである場合には、第1のサイクル時間内で、第1のメモリデバイス内の複数のメモリバンクの中からデータ書き込みを実行中でないメモリバンクを選定する処理と、第2のメモリデバイス内の記憶データの中から前記選定したメモリバンクに対応した記憶データをライトバックする処理と、ライトバックに伴い第2のメモリデバイス内で空き状態となった記憶領域に、データ書き込み命令に伴う入力データを書き込む処理とを実行するものとなっている。
すなわち、前記第1のメモリデバイスとしては、例えば、読み出しポートと書き込みポートとが分けられた複数のメモリセルを有するものが用いられる。このようなメモリセルは、例えば、各メモリセル毎に2個もしくは3個のトランジスタを備えたSESO(Single−Electron Shut−Off)メモリセルとすることができる。この場合、書き込みポートは、書き込みトランジスタのゲートおよびドレインにそれぞれ接続された書き込みワード線と書き込みビット線とからなり、読み出しポートは、読み出しトランジスタのゲートおよびドレインにそれぞれ接続された読み出しワード線と読み出しビット線とからなる。このようなメモリセルにおいては、メモリセルのあるロウ(読み出しワード線)からの読み出しと、別のロウ(書き込みワード線)への書き込みとを時間的に並行して行うことが可能である。
このようなメモリデバイスは、通常、書き込みアクセスが読み出しアクセスよりも2倍以上遅い動作となる。この場合、読み出しアクセスは、読み出しワード線を起動することおよび読み出しビット線における電流もしくは電圧の変化を測定することからなり、書き込みアクセスは、書き込みビット線の電圧をある電圧にセットすること、書き込みワード線を起動すること、および所定の時間が経過してメモリセルのデータが所望の最終状態に変化した後、該書き込みワード線を停止することからなる。書き込みアクセスに要する時間は、読み出しアクセスに要する時間の数倍になり得る。例えば、読み出しアクセスを完了するのに1クロックサイクル要するとすると、書き込みアクセスを完了するのには2もしくはそれ以上のクロックサイクルが必要となる。
そこで、読み出しアクセスのクロックサイクルと同等の最大周波数で外部データバスからデータを記憶できるように第2のメモリデバイスを含む追加回路を別途設ける。これによって、待ち状態もしくは待ち時間が増加することなく、半導体メモリへのデータの読み書きを、読み出しアクセスのクロックサイクルスピードで連続して行うことを可能にする。そして、このような回路構成を追加することで、書き込み動作が低速な2ポートメモリを、高速SRAMメモリと直接置きかえ、大容量化を可能にする。
ここで、前記第2のメモリデバイスは、例えば、SRAM等であり、メインメモリ(第1のメモリデバイス)内の単一メモリバンクと同じ大きさのロウ構成およびカラム構成を有するキャッシュデータバンクが、少なくとも2つ以上含まれるものとなっている。必要とされるキャッシュデータバンクの数は、メインメモリの書き込みサイクル時間と読み出しサイクル時間との倍数で決まる。例えば、書き込みサイクル時間が読み出しサイクル時間の3倍である場合には、3つのキャッシュデータバンクが必要となる。また、第2のメモリデバイスには、キャッシュデータバンクに記憶する各エントリーのメモリバンクアドレスを記憶するためのキャッシュタグバンクのセットが含まれる。これによって、効果的に外部書き込み動作を高速化することができる。
より具体的に説明すると、ロウアドレスおよびセクションアドレスならびにメモリバンクアドレスを含む外部入力アドレスと外部入力データを伴う外部書き込みコマンドが発生した際、キャッシュヒットの場合には、当該キャッシュデータバンクの選択されたロウに、新たなデータ列(ロウデータまたはその一部となるセクションデータ)が記憶され、そのデータ列のメモリバンクアドレスがキャッシュタグバンクに記憶される。しかしながら、キャッシュミスであり、かつ選択されたロウにおいて空のキャッシュデータバンクがない場合(キャッシュフルの場合)には、対応するキャッシュタグバンクの内容に基づいて、選択されたロウにおけるいずれかのキャッシュデータバンクのデータ列をメモリバンクに書き戻す必要がある。すなわち、ライトバック処理を行う必要がある。このライトバック処理を行うことで、キャッシュエントリの一つをクリアし、そこに新たな情報(外部入力データ)を記憶することができ、書き込みサイクルを完了することが可能となる。
外部書き込みコマンドは、クロックサイクル毎に1つの割合で入力することが可能であるが、前記第1のメモリデバイスに対してライトバック処理を完了するには1サイクルより多くのサイクルが必要である。そこで、連続する書き込みアクセスに適応するために、複数のキャッシュデータバンクおよびキャッシュタグバンクが設けられる。
すなわち、例えば、1つのキャッシュデータバンクおよびキャッシュタグバンクを備えた状態で、連続する書き込みアクセスが発生した場合を想定すると、キャッシュデータバンクの選択されたロウが空でない場合には、そのロウのデータ列をライトバック処理する必要がある。しかしながら、そのデータ列のライトバック先となるメモリバンクが、前サイクルで発生したライトバック処理を実行中の場合には、ライトバック処理を実行できなくなる。
そこで、ライトバックサイクルの長さに対応した複数のキャッシュデータバンクおよびキャッシュタグバンクを設けることにより、ライトバック処理を行う際にビジー状態でないメモリバンクが常に存在するアーキテクチャを得ることが可能になる。したがって、ライトバック処理に伴いビジー状態でないメモリバンクを選定し、そのメモリバンクに対応するデータ列をライトバックすることで、連続した書き込みアクセスに対応することが可能になる。
また、メモリバンクにおいては読み出しポートと書き込みポートとが分けて設けられているため、キャッシュミス時などでビジー状態のメモリバンクへの読み出しアクセスが発生しても、外部読み出しアクセスは1サイクル以内で完了する。これは、ライトバック動作が読み出し動作によって中断させられないためである。このようにして、読み出しもしくは書き込みアクセスを1サイクル以内に完了させることが可能となり、半導体装置内の半導体メモリとして、SRAMメモリに代えて前述したようなメモリデバイスを用いることができ、コストを低減することが可能となる。
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、高速なメモリアクセスを行うことが可能となる。また、大容量のメモリを備えることが可能となる。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
まず、本発明の概要について述べると、本発明の一実施の形態の半導体装置では、別々の読み出しポートおよび書き込みポートを備えた揮発性もしくは不揮発性のメモリセルを含み、SRAMと互換性のあるメインメモリデバイス(第1のメモリデバイス)が用いられる。ただし、このようなメインメモリデバイスのメモリセルでは、読み出しアクセスにおける1サイクルよりも多くのサイクルが書き込みアクセスにおいて必要となる。そこで、半導体メモリ内に第2のメモリデバイスとして、一対となるキャッシュデータバンク(第3のメモリデバイス)およびキャッシュタグバンク(第4のメモリデバイス)と、これらを制御する制御回路を設けることで、いかなるアクセスパターンにおいても待ち状態もしくは待ち時間をなくし、半導体メモリへの連続的な外部読み出しおよび書き込みアクセスが1サイクル以内で完了可能なようにする。以降、これらの詳細について説明する。
図1は、本発明の一実施の形態の半導体装置において、それに用いられるメインメモリデバイスのメモリセル構成の一例を示す回路図である。図1に示すメモリセルは、読み出しおよび書き込みアクセスポートが別々に設けられ、データの記憶に3つのトランジスタが用いられている。本メモリセルでは、データが、記憶トランジスタQSのゲートである記憶ノードSN上の電荷によって記憶される。すなわち、高データ値の場合は、記憶トランジスタQSのチャネルが動作の伝導領域となるように、記憶ノードSN上に高電荷が書き込まれる。一方、低データ値の場合は、記憶トランジスタQSのチャネルがオフとなるように、記憶ノードSN上に低電荷が書き込まれる。
このようなデータ値は、読み出しトランジスタQRを起動し、記憶トランジスタQSの導電状態の影響を受けるデータ読み出し線DR上の電流もしくは電圧の変化を検知することによって読み取られる。データ書き込み動作は、高もしくは低電圧をデータ書き込み線DWにセットし、書き込みトランジスタQWを活性化状態にすることによって行われる。そして、記憶ノードSNの電圧がデータ書き込み線DWの電圧と同等となった後、書き込みトランジスタQWを非活性化状態にすることで書き込みサイクルが完了する。
ここで、スタンバイ状態における記憶電荷のリークを低減するために、書き込みトランジスタQWは、SESOトランジスタなどの低伝導デバイスであることが望ましい。ただし、この場合、記憶ノードSNのチャージが遅くなるため、書き込み動作を完了するのに読み出し動作よりも多くのサイクルを要することになる。
なお、本明細書において、SESOトランジスタとは、チャネル領域を薄膜で形成したトランジスタを言う。このSESOトランジスタは量子力学的なキャリアの閉じ込め効果を用いるもので、この観点からチャネルの厚さが5nm以下が良い。さらにこの厚さは2.5nmより2nm程度がより好ましい。なお、薄膜チャネルをもつ電界効果型トランジスタのチャネル部は5nm程度以下の厚さは平均の厚さである。又、トランジスタのチャネル領域の厚さを問題としており、この意味からチャネルの高さの平均が5nm以下であると言える。更には、当該トランジスタのチャネル領域は短径が5nm以下の複数の半導体の結晶粒、即ち多結晶薄膜(通例シリコン多結晶薄膜)からなると云える。
図2は、図1のメモリセルにおいて、その読み出し動作の一例を示す波形図である。図2に示すように、データ読み出し線DRは、電圧VDDにプリチャージされ、読み出しサイクルは、ワード読み出し線WRを電圧VDDへ駆動することでタイムT1から開始される。データ読み出し線DR上の電圧信号は、論理レベル‘1’(0Vレベル)に向けて下がるかもしくは論理レベル‘0’(VDDレベル)として一定のままである。そして、タイムT2において、データ読み出し線DRがセンスアンプによって論理レベル‘1’または‘0’に増幅され、メインアンプといった周辺回路がデータ値を決定可能となる。タイムT3において、ワード読み出し線WRは0Vまで下げられ、データ読み出し線DRはVDDにプリチャージされ、読み出しサイクルが終了する。
図3は、図1のメモリセルにおいて、その書き込み動作の一例を示す波形図である。図3に示すように、データ書き込み線DWの電圧は、論理レベル‘1’(VDDレベル)もしくは論理レベル‘0’(0Vレベル)にセットされる。そして、書き込みトランジスタQWがワード書き込み線WWによって活性化され、記憶ノードSNの電圧が、書き込みトランジスタQWを通じて徐々にデータ書き込み線DWと同等となる。書き込みトランジスタを非活性化することで、このサイクルは完了する。なお、書き込みトランジスタQWの伝導が低いと、書き込みサイクルを完了するには、読み出しサイクルより多くのサイクルが必要となる場合がある。
なお、このようなメモリセルの中には、リフレッシュサイクルが必要なものもある。但し、本実施の形態においては、リフレッシュサイクルについての検討は行わず、リフレッシュ動作を行うためには追加の回路構成が設けられると想定している。
次に、前述したような2ポートのメモリセルを含むメモリデバイスを用いた場合に、2ポートのメモリセルの低速書き込みアクセスを、より高速な読み出しアクセスの速度で実行可能にする手法について説明する。ここでは、複数のロウおよびカラムによって構成されるメインメモリバンク(以下、メモリバンクと略す)内の各メモリセルに前述したような2ポートメモリセルが用いられ、このようなメモリバンクが複数存在する場合を想定する。
まず、書き込みサイクルが長いという問題は、メモリバンクへの内部書き込みアクセスが実行中でも、外部書き込みバスからの書き込みデータを記憶できるキャッシュデータバンクおよびキャッシュタグバンクを追加することで解決できる。キャッシュデータバンクは、例えば、SRAMメモリセルで構成することができる。さらに、キャッシュデータバンクは、デュアルポートメモリであるか、あるいはメモリバンクへの読み出しサイクルが完了する間に1回の読み出しアクセスと1回の書き込みアクセスを実行可能なものであると想定される。
キャッシュタグバンクは、キャッシュデータバンクに登録された各データがどのメモリバンクのものであるかを記憶するためのものである。なお、1つのキャッシュデータバンクのロウおよびカラムのサイズは、単一のメモリバンクにおけるものと同一である。キャッシュデータバンクの数は、少なくともメモリバンクの書き込みサイクル時間と読み出しサイクル時間との整数比に等しい数を設ける必要がある。例えば、書き込みサイクル時間が読み出しサイクル時間の2倍の長さであった場合には、少なくとも2つのキャッシュデータバンクが設けられる。
また、説明をより分かり易くするために、本実施の形態で用いるメインメモリデバイスは、8メガバイトのメモリ容量を有しているものとする。該メインメモリデバイスは、2ポートのメモリセルを備えたメモリバンクを128個有し、各メモリバンク内には、32ビット毎の8つのセクションに分割された256ビットのカラムと、256個のロウが備わっている。
そして、外部読み出しもしくは書き込みアクセスにおいては、メモリロケーションは18ビットのアドレス値によって特定される。アドレスのビット11〜17はメモリバンクを選択し、ビット3〜10はロウを選択し、ビット0〜2は、前述した8つのセクションのいずれかを選択する。
さらに、本実施の形態において、メモリバンクは、破壊書き込みメモリからなるものと想定する。破壊書き込みメモリにおいては、データ線の情報がすべて書き込みアクセスの際に書き込まれる。すなわち、例えば256ビットのデータ線である場合、書き込みアクセスにおいて、その256ビットを単位としてメモリ内容が更新される。一方で、例えばSRAMなどは、非破壊書き込みメモリとなっている。非破壊書き込みメモリにおいては、書き込みアクセスにおいて、例えば256ビット中の32ビットを単位とし、残りの224ビットは現在のメモリ内容を保持する形で、メモリ内容を更新することが可能である。なお、後述の実施の形態の説明において、このような破壊書き込みメモリをメモリバンクとして適用する際に、必要となる構成等が明らかとなる。
図4は、本発明の一実施の形態の半導体装置において、その基本動作の概要を示す説明図であり、(a)〜(f)は、それぞれ異なる命令および状態での動作の一例を示している。図4においては、書き込みサイクルが読み出しサイクルの2倍かかると想定しているため、2つのキャッシュデータバンクCD0,CD1を設けている。これと同様に、更に書き込みサイクルが長いメインメモリデバイスを用いる場合の例として、書き込みサイクルが読み出しサイクルの3倍かかるような場合では、3つのキャッシュデータバンクを設けることになる。
また、図4では、読み出しおよび書き込み動作の際に、1)キャッシュヒットした場合と、2)キャッシュミスによってビジー状態でないメモリバンクへアクセスする場合と、3)キャッシュミスによってビジー状態のメモリバンクへアクセスする場合とが示されている。「ビジー状態」のメモリバンクとは、キャッシュデータバンクからのデータがメモリバンクに書き戻されて記憶される2サイクルのライトバック動作を実行中のメモリバンクのことである。
「キャッシュヒット」とは、以下のように定義される。すなわち、読み出しもしくは書き込み動作が開始されたとき、入力アドレスによってロウが特定され、複数のキャッシュタグバンクからこのロウの内容が読み取られる。そして、複数のキャッシュタグバンクから読み取られた内容(メモリバンクアドレス)の1つが入力アドレスによって示されるバンクと同一の場合、キャッシュヒットが起こる。このことは、そのロケーションの最新のデータがキャッシュデータバンクに記憶されているということを意味する。「キャッシュミス」とは、他のメモリバンクからのデータがキャッシュデータバンクの選択されたロウに記憶され、そのため、最新のデータがメモリバンクに記憶されている場合を示している。
読み出し動作における前述した3つの場合を詳細に説明する。図4(a)は、キャッシュヒットの場合を示しており、最新のデータはキャッシュデータバンクにある。ここでは、メモリバンク(Bank)1のロウ(Row)1のデータに対して読み出し要求が発生しているが、メモリバンク1のロウ1のデータがキャッシュデータバンクCD0のロウ1に記憶されるため、キャッシュヒットが起こる。これによって、キャッシュデータバンクCD0のロウ1からロウデータ(以下、各ロウに含まれる複数ビット(ここでは256ビット)のデータをロウデータと呼ぶ)が読み取られ、そのロウデータの中から外部アドレスによって選択された32ビットのセクションが外部データバスに送られる。
図4(b)は、キャッシュミスの場合を示しており、最新のデータはメモリバンクにあり、そこから読み出される。ここでは、メモリバンク2のロウ1のロウデータに対して読み出し要求が発生しているが、キャッシュデータバンクCD0、CD1のロウ1が、それぞれバンク1、バンク0のデータを保持しているため、ロウデータはメモリバンク2から読み取る必要がある。メモリバンク2は、ビジー状態ではないため、ロウデータはメモリバンク2から読み取られ、その中の選択されたセクションが外部データバスに送られる。
図4(c)は、図4(b)と異なり、キャッシュミスによって読み出し対象となったメモリバンクがビジー状態の場合を示している。ここでは、メモリバンク2のロウ1のロウデータに対して読み出し要求が発生しているが、キャッシュデータバンクCD0、CD1のロウ1が、それぞれバンク1、バンク0のロウデータを保持しているため、ロウデータはメモリバンク2から読み取る必要がある。この際に、メモリバンク2は、ライトバック動作が実行されているためビジー状態となっているが、メモリバンク2が別々の読み出しポートおよび書き込みポートを有しているため、ライトバック動作に影響を与えることなくロウデータをバンク2から読み取ることが可能である。
書き込み動作における前述した3つの場合を詳細に説明する。図4(d)は、キャッシュヒットの場合を示しており、この場合、最新のロウデータがキャッシュデータバンクにあるため、その最新のロウデータが入力データによって更新される。ここでは、メモリバンク1のロウ1のロウデータに対して書き込み要求が発生しているが、このロウデータはキャッシュデータバンクCD0に記憶されているため、この記憶内容が入力データを用いて更新され、書き込みサイクルが終了する。なお、この際に、キャッシュデータバンクCD0は非破壊書き込みメモリであるため、ロウデータの一部を入力データで更新することができる。
図4(e)は、キャッシュミスが発生した際に、全てのメモリバンクがビジー状態でない場合を示している。この場合、次の外部読み出しもしくは書き込み動作が行われるまで、入力データをキャッシュデータバンクに記憶させなければならない。ただし、この際に、32ビットとなる1つのセクションのみがデータバスから入力されるため、残りの7つのセクションのデータは、対応するメモリバンクのロウデータから読み取り、この読み取ったロウデータとデータバスから入力されたデータとを組み合わせてキャッシュデータバンクに記憶する必要がある。
ここで、選択されたロウが空いているキャッシュデータバンクが1つでもある場合には、新たなロウデータがその空のロウに書き込まれ、書き込みサイクルが終了する。しかし、選択されたロウの全てがフル(キャッシュフル)の状態である場合には、メモリバンクに対してライトバック動作を行い、入力データを格納するために空のロウを作成する必要がある。
図4(e)では、メモリバンク1のロウ2のデータに対して書き込み要求が発生しているが、キャッシュデータバンクCD0、CD1のロウ2が、それぞれメモリバンク0、メモリバンク2のデータを保持し、キャッシュミスかつキャッシュフルの状態であるため、メモリバンクに対してライトバック動作を行わなければならない。そこで、キャッシュデータバンクCD1のロウ2のデータをメモリバンク2のロウ2にライトバックする。この際に、メモリバンク2は、ビジー状態ではないため問題なくライトバック動作を行うことが可能である。
また、ライトバック動作と同時に、メモリバンク1のロウ2から256ビットのロウデータが読み取られ、その一部に32ビットの入力データが組み合わされる。そして、この組み合わされた後のメモリバンク1のロウ2の256ビットのロウデータが、キャッシュデータバンクCD1のロウ2へ記憶され、書き込みサイクルが終了する。
図4(f)は、キャッシュミスが発生した際に、メモリバンクの1つがビジー状態であり、複数サイクルのライトバック動作が行われる場合である。ここでは、メモリバンク1のロウ2のロウデータに対して書き込み要求が発生しているが、キャッシュデータバンクCD0、CD1のロウ2が、それぞれメモリバンク0、メモリバンク2のロウデータを保持し、キャッシュミスかつ空のロウがない状態であるため、メモリバンクに対してライトバック動作を行わなければならない。
この際に、前述した図4(e)の場合には、キャッシュデータバンクCD1のロウ2のロウデータに対してメモリバンク2のロウ2に向けたライトバック動作を行ったが、ここではメモリバンク2が以前(前サイクル)から行われているライトバック動作を継続中であり、ビジー状態であるため、キャッシュデータバンクCD1のロウ2を空状態にすることはできない。したがって、キャッシュデータバンクCD0のロウ2のロウデータに対してメモリバンク0のロウ2に向けたライトバック動作を行い、キャッシュに空きを作成する。そして、キャッシュデータバンクCD0のロウ2が空となった状態で、メモリバンク1のロウ2から読み出された256ビットのロウデータと入力された32ビットのデータが組み合わされ、キャッシュデータバンクCD0のロウ2に記憶される。こうして、書き込みサイクルが完了する。
なお、図4(f)の動作から判るように、複数のキャッシュデータバンクを設けることで、ライトバック動作を行う先のメモリバンクを選択する際に、この選択肢の中にビジー状態でないメモリバンクが常に存在する状態を実現することができる。すなわち、書き込み動作が2サイクルで完了する場合、あるサイクルにおいてビジー状態のメモリバンクは多くて1つ存在することになる。したがって、キャッシュデータバンクが2つあれば、少なくとも1つのキャッシュデータバンクは、ライトバック動作の対象とすることができる。同様に、書き込み動作が3サイクルで完了する場合は、あるサイクルにおいてビジー状態のメモリバンクは多くて2つ存在することになる。したがって、キャッシュデータバンクが3つあれば、少なくとも1つのキャッシュデータバンクは、ライトバック動作の対象とすることができる。
このように、キャッシュデータバンクの冗長によって、待ち状態および待ち時間がなく、各サイクルにおける外部読み出しおよび書き込みアクセスが可能となる。これによって、高速なメモリアクセスを行うことができ、また、メモリバンクとして廉価で高集積な大容量のメモリデバイスを用いることが可能になる。
次に、1サイクル以内に半導体メモリへの外部書き込みアクセスが全て完了することを示すために、連続アクセスの場合を検討する。図5は、本発明の一実施の形態の半導体装置において、連続アクセスが行われた場合の動作の一例を示す説明図であり、(a)〜(d)は、それぞれ異なるサイクルでの動作を示している。
図5では、例えば、2サイクルのライトバック動作が必要なメインメモリデバイスを含む半導体メモリに対して、4連続のアクセスを行った場合を示している。ここでは、3つの書き込みアクセスと1つの読み出しアクセスとを実行している。
図5(a)は、1サイクル目の動作である。ここでは、メモリバンク(Bank)0のロウ(Row)1のデータに対して書き込み要求が発生しているが、メモリバンク2とメモリバンク1のロウ1のロウデータがそれぞれキャッシュデータバンクCD0とCD1にあるため、キャッシュミスが発生している。そこで、キャッシュデータバンクCD0のロウ1のロウデータがメモリバンク2にライトバックされる。そして、メモリバンク0のロウ1への外部入力データ(本明細書中、「サブ・ロウデータ」と呼ぶ場合有り)とメモリバンク0のロウ1からの読み出しロウデータ(本明細書中、「フル・ロウデータ」と呼ぶ場合有り)とが組み合わされ、キャッシュデータバンクCD0に記憶された後で、このサイクルは終了する。
図5(b)は、2サイクル目の動作である。ここでは、メモリバンク1のロウ2のロウデータに対して書き込み要求が発生しているが、メモリバンク0およびメモリバンク2のロウデータがそれぞれキャッシュデータバンクCD0およびCD1にあるため、キャッシュミスが発生している。そこで、メモリバンク0もしくはメモリバンク2のロウデータをライトバックさせなければならない。
メモリバンク0の書き込みポートは、ノットビジー状態であり、メモリバンク2の書き込みポートは、1サイクル目のライトバック動作を継続中のためビジー状態となっている。ここでは、キャッシュデータバンクCD0のロウ2におけるメモリバンク0のデータがライトバックされ、外部から入力されたサブ・ロウデータとメモリバンク1から読み出したフル・ロウデータとが組み合わされてキャッシュデータバンクCD0のロウ2に記憶される。なお、図5(b)では、1サイクル目の動作によって、キャッシュデータバンクCD0のロウ1のロウデータがメモリバンク0のロウ1のロウデータに書き換わっている。
図5(c)は、3サイクル目の動作である。ここでは、メモリバンク2のロウ1のデータに対して書き込み要求が発生している。ここでもキャッシュミスかつキャッシュフルであるため、ライトバック動作が実行されなければならない。キャッシュデータバンクCD0のロウ1には、メモリバンク0のロウデータが記憶されており、キャッシュデータバンクCD1のロウ1には、メモリバンク1のロウデータが記憶されている。
しかし、メモリバンク0の書き込みポートは、2サイクル目のライトバック動作を継続中のためビジー状態となっている。そこで、キャッシュデータバンクCD1のロウ1におけるメモリバンク1のデータがライトバックされ、外部から入力されたサブ・ロウデータとメモリバンク2から読み出したフル・ロウデータとが組み合わされてキャッシュデータバンクCD1のロウ1に記憶される。
図5(d)は、4サイクル目の動作である。ここでは、連続した書き込みシーケンスの後の読み出し動作が示されており、メモリバンク1のロウ0のロウデータに対して読み出し要求が発生している。この場合、キャッシュミスが発生するため、メモリバンク1のロウ0から読み出しを行う必要ある。ここで、メモリバンク1は、3サイクル目における書き込みアクセスのためにビジー状態であるが、読み出しアクセスであるため、ペナルティなく実行することが可能である。
以上のように、複数のキャッシュデータバンクを設けることで、通常の低速書き込みアクセスのメインメモリデバイスで起こり得る待ち時間もしくは待ち状態を隠蔽して、連続した読み出しもしくは書き込みアクセスが可能となる。
図6は、本発明の一実施の形態の半導体装置において、キャッシュデータバンクおよびキャッシュタグバンクの構成の一例を示す概略図である。ここでは、メモリバンクの書き込みサイクルが読み出しサイクルの2倍の長さであるとして、2つのキャッシュデータバンクCD0,CD1と2つのキャッシュタグバンクCT0,CT1を示している。キャッシュデータバンクCD0,CD1のそれぞれは、1つのメモリバンクと同数のロウを有し、各ロウに含まれるロウデータのサイズは、1つのメモリバンクのカラム数と同一となっている。すなわち、各メモリバンクのロウ×カラムが256個×256ビットの場合、それぞれのキャッシュデータバンクは、256個のロウを備え、各ロウ毎に256ビットのロウデータを格納する構成となる。
キャッシュタグバンクCT0,CT1のそれぞれも、1つのメモリバンクと同数のロウを有している。そして、各ロウ内には、例えば、1ビットの有効ビット(V)と7ビットのキャッシュタグ(TAG)が格納可能となっている。7ビットのキャッシュタグは、128個のメモリバンクに対応しており、キャッシュデータバンク内のロウデータがどのメモリバンクのデータであるかを表している。
例えば、キャッシュタグバンクCT0のロウ1のキャッシュタグがメモリバンク1を示している場合、キャッシュデータバンクCD0のロウ1のロウデータが、メモリバンク1のロウ1に対応するロウデータであることを示している。また、例えば、キャッシュタグバンクCT1のロウ2のキャッシュタグがメモリバンク2を示している場合、キャッシュデータバンクCD1のロウ2のロウデータが、メモリバンク2のロウ2に対応するロウデータであることを示している。有効ビットは、論理レベル‘1’にセットされた場合、対応するキャッシュデータバンクのロウデータが最新のデータであることを示している。有効ビットが論理レベル‘0’の場合は、キャッシュタグによって示されたロウデータの最新の値がその時にメモリバンクにあるということを表している。
なお、図示はしないが、図6の構成に対して、ダーティビットと呼ばれる付加的なビットをキャッシュタグバンクの各ロウに加えることで、外部読み出し動作の際にロウデータをキャッシュデータバンクに記憶することが可能となる。このダーティビットは、キャッシュデータバンクの各ロウの読み出しデータが修正されているかどうかを特定するのに用いられる。修正されていれば、ダーティビットがセットされる。これにより、ロウデータがキャッシュデータバンクから削除される時にメモリバンクにライトバックさせなければならないということが、キャッシュ制御回路に対して示される。本構成を用いると、メモリバンクへのアクセス頻度が少なくなり、読み出しもしくは書き込みアクセスが低電力もしくは高速となるので有益である。
図7は、本発明の一実施の形態による半導体装置において、そのキャッシュ制御手順の一例を示すフロー図であり、(a)は読み出しアクセス時のフロー、(b)は書き込みアクセス時のフローである。
読み出しアクセスは、図7(a)に示すように、まずアクセスされるデータがキャッシュデータバンクにあるかどうか特定することから進められる。そこで、キャッシュタグバンクに記憶されているメモリバンク情報と外部入力のバンクアドレスとを比較し、キャッシュがヒットかミスヒットかを判定する(S701a)。キャッシュヒットが起きたら、キャッシュタグバンクの有効ビットを判定する(S702a)。有効ビットがセットされていたら、キャッシュデータバンク内のロウデータが最新のデータであり、該ロウデータが直接キャッシュデータバンクから外部データバスへ読み取られる(S703aおよびS704a)。
一方、キャッシュミスが起きるかもしくは有効ビットがセットされていなければ、ロウデータはメモリバンクから読み取らなければならない。ただし、アクセスされるロウデータがライトバック動作を受けている最中かもしれないため、まず、メモリバンク内のライトバッファがチェックされる(S705a)。データがライトバッファにある場合は、ライトバッファの内容がデータバスに読み取られる(S707aおよびS704a)。データがライトバッファに無い場合は、ロウデータはメモリバンクの特定のロウから読み取られる(S706aおよびS704a)。
書き込みアクセスは、図7(b)に示すように、まず、キャッシュタグバンクに記憶されているメモリバンクアドレスと外部入力のバンクアドレスとを比較し、キャッシュヒットかミスヒットかを判定することから始まる(S701b)。キャッシュヒットが起きた場合は、書き込みの入力データによってキャッシュデータバンクに記憶されたロウデータが更新される(S702b)。
キャッシュミスが起きた場合、各キャッシュデータバンクの当該ロウに空きがあるか否かを判定する(S703b)。空きがあれば、入力バンクアドレスによって特定されたメモリバンクからフル・ロウデータが読み出され、これに対して入力データとなる32ビットのセクションデータ(サブ・ロウデータ)を組み合わせたものを、このロウが空いているキャッシュデータバンクに記憶する。なお、この際に、入力バンクアドレスがキャッシュタグバンクに記憶され、更に有効ビットがセットされる(S704bおよびS702b)。
キャッシュミスが発生し、各キャッシュデータバンクの当該ロウに空きがない場合は、各キャッシュデータバンクのロウデータの1つをメモリバンクにライトバックしなければならない。そこで、キャッシュ制御回路によって、どのキャッシュデータバンクのロウデータがビジー状態ではないメモリバンクに対応するかが特定され(S705a)、特定したメモリバンクに向けてライトバック動作が開始される(S706a)。また、これと並行して、前述したのと同様の動作で、フル・ロウデータとサブ・ロウデータが組み合わされ、そのデータがライトバック動作によって空きとなったキャッシュデータバンクに記憶される。また、同時にキャッシュタグバンクの内容も更新される(S704bおよびS702b)。
このようにしてキャッシュデータバンクに書き込み動作が行われた後、キャッシュ制御回路は、以前のライトバック動作が完了したかどうかをチェックする(S707b)。キャッシュ制御回路は、ビジー状態のメモリバンクを記録しており、ライトバック動作が完了している場合には、この記録から当該メモリバンクを削除し、書き込みサイクルを終了する(S708b)。
図8は、本発明の一実施の形態による半導体装置において、それに含まれる半導体メモリの構成の一例を示すブロック図である。図8においては、2ポートメモリセルからなる128個のメモリバンクMB0〜MB127が設けられ、各メモリバンクは、各32ビットの8つのセクションに分割された256ビットのカラムと256個のロウを備えたものとなっている。また、このメモリバンクでは書き込みアクセスが読み出しアクセスに比べて2倍のサイクルを要するものとして、これまでに述べたような2個のキャッシュタグバンクCT0,CT1と2個のキャッシュデータバンクCD0,CD1が設けられる。
キャッシュ制御回路CCCは、前述した図7のフローに基づいて、メモリバンクMB0〜MB127、キャッシュタグバンクCT0,CT1、およびキャッシュデータバンクCD0,CD1のアクセス制御などを行う回路である。その他付加的な制御回路としては、入力アドレスバッファADB、入出力データバッファIOB、キャッシュヒットを判定する比較回路CM0,CM1、活性化するメモリバンクを選択する読み出しバンクデコーダBDRおよび書き込みバンクデコーダBDW、およびデータバスのマルチプレクサ回路DOM,DSMおよびデマルチプレクサ回路DIMなどがある。
このような半導体メモリは、以下の信号によって外部から制御される。すなわち、外部データ(外部データバス)DB[31:0]、外部アドレス(外部アドレスバス)ADD[17:0]、チップ選択信号CS、読み出し/書き込み選択信号RW、およびクロック信号CLK(図示せず)などである。読み出しもしくは書き込みメモリアクセスは、外部アドレスADD[17:0]、読み出し/書き込み選択信号RW、およびチップ選択信号CSをセットすることにより開始される。
チップ選択信号CSと読み出し/書き込み選択信号RWは、キャッシュ制御回路CCCに入力される。外部アドレスADD[17:0]は、アドレスバッファADBを介して内部アドレスEA[17:0]として各回路に供給される。内部アドレスEA[17:0]は3つのセクションに分割される。上位ビットの内部アドレスEA[17:11]は、128個のメモリバンクMB0〜MB127の中から選択するメモリバンクを表す。
この内部アドレスEA[17:11]は、読み出しバンクデコーダBDRの他に、キャッシュタグバンクCT0,CT1にも入力され、キャッシュデータバンクCD0,CD1に記憶するロウデータのメモリバンクアドレスを保持するためなどに用いられる。中位ビットの内部アドレスEA[10:3]は、各メモリバンクが備える256個のロウの中から選択するロウを表す。低位ビットの内部アドレスEA[2:0]は、各ロウに含まれる256ビットのロウデータの中から選択する32ビットのセクションを表している。そして、このロウとセクションを表す内部アドレスEA[10:0]が、キャッシュタグバンクCT0,CT1、キャッシュデータバンクCD0,CD1およびメモリバンクMB0〜MB127に入力されている。
次に、図8に示す半導体メモリの読み出し動作および書き込み動作を、キャッシュヒットの場合とキャッシュミスの場合とで説明する。半導体メモリは、前述した図7のフロー図に略述されたような処理に従って動作する。まず、読み出しアクセスについて詳述する。
読み出しアクセスは、チップ選択信号CSのアサートと読み出し/書き込み選択信号RWによる動作選択によって開始される。そして、キャッシュタグバンクCT0,CT1の内部ロウアドレスEA[10:3]にそれぞれ記憶されたデータ(キャッシュタグ)TAG0,TAG1が読み取られ、比較回路CM0,CM1に送られる。また、これと並行して内部メモリバンクアドレスEA[17:11]が、各比較回路CM0,CM1に入力される。キャッシュタグTAG0,TAG1が内部メモリバンクアドレスEA[17:11]と一致した場合には、キャッシュヒット信号HIT0,HIT1がアサートされる。
キャッシュヒット信号HIT0は、キャッシュタグバンクCT0におけるキャッシュヒットに対応し、キャッシュヒット信号HIT1は、キャッシュタグバンクCT1におけるキャッシュヒットに対応する。また、キャッシュタグバンクCT0,CT1から有効ビットV[0:1]が読み取られ、キャッシュ制御回路CCCに入力される。
キャッシュヒットかつ有効ビットが論理値‘1’にセットされている場合には、読み出しデータは、キャッシュヒット信号によって特定されたキャッシュデータバンク(すなわち、HIT0ならCD0、HIT1ならCD1)に記憶されていることになる。したがって、キャッシュ制御回路CCCからのキャッシュ読み出し信号(例えばHIT0ならCR[0])によって特定されたキャッシュデータバンク(例えばCR[0]ならCD0)からデータが読み出され、256ビットの内部キャッシュデータバスDCI(第1のデータバス)にそのデータが送られる。なお、この読み出しの際に、キャッシュデータバンクのロウは、内部ロウアドレスEA[10:3]によって選択される。
内部キャッシュデータバスDCIに送られたデータは、マルチプレクサ回路DOM(第1の選択回路)の一方の端子に入力される。なお、他方の端子は、メモリバンクからの出力バスとなる内部メインデータバスDMI(第2のデータバス)が接続されている。このマルチプレクサ回路DOMの一方の端子は、キャッシュヒット信号HIT0,HIT1のOR出力によって選択される。したがって、キャッシュヒット時には、内部キャッシュデータバスDCIが選択され、この選択によるマルチプレクサ回路DOMの256ビットの出力が、マルチプレクサ回路DSMに入力される。マルチプレクサ回路DSMでは、内部セクションアドレスEA[2:0]によって、256ビットのデータの中の32ビットのセクションが選択され、入出力データバッファIOBにそのセクションデータが送られる。
読み出しアクセスにおけるキャッシュミスの場合は、キャッシュタグバンクCT0,CT1の選択されたロウにおけるキャッシュタグTAG0,TAG1が内部メモリバンクアドレスEA[17:11]と同一ではなく、そのためキャッシュヒット信号HIT0,HIT1が起動されない。そこで、読み出しバンクデコーダBDRが内部メモリバンクアドレスEA[17:11]をデコードし、読み出しコマンドがメモリバンクに発行される。
この際に、デコードされた読み出しバンク選択信号BRQ[127:0](例えばBRQ[1])によって、読み出しコマンドを実行するメモリバンク(例えばMB1)が選択される。メモリバンク内のメモリセルは、別々の読み出しポートおよび書き込みポートを有しているため、メモリバンクがライトバック動作中か否かは関係なく、選択されたメモリバンクからデータを読み取ることが可能である。
選択されたメモリバンク(例えばMB1)は、内部ロウアドレスEA[10:3]によって選択された256ビットのロウデータを内部メインデータバスDMIへ出力する。この出力データは、前述したマルチプレクサ回路DOMに入力され、更にマルチプレクサ回路DOMでの選択を経てマルチプレクサ回路DSMに出力される。マルチプレクサ回路DSMでは、前述したのと同様に、内部セクションアドレスEA[2:0]によって32ビットのセクションが選択され、その選択されたセクションが、入出力データバッファIOBを介して外部データバスDB[31:0]上に出力される。このようにして、読み出しサイクルが完了する。
なお、前述した説明では、キャッシュヒットの場合とキャッシュミスの場合の動作をそれぞれ個別に説明したが、実際上は、前述した2つの場合の動作は並行して行われる。すなわち、キャッシュヒットの判定等を行っている間に、並行してメモリバンクからの読み出しも行われ、最終的にマルチプレクサ回路DOMでの選択によってこの2つの場合の出力を切り分ける。この処理の利点は、メモリバンクを動作させる際にキャッシュタグバンクCT0,CT1の読み出しとキャッシュヒット比較動作を待つ必要がないため、キャッシュミスの際には、データを短時間で外部データバスDB[31:0]上に出力することができることである。
書き込みアクセスに関しては、入力データが外部データバスDB[31:0]上で使用可能である際に、チップ選択信号CSと読み出し/書き込み選択信号RWが入力されることで書き込みアクセスが受け付けられる。書き込みアクセスが開始されると、メモリバンクMB0〜MB127からのデータ読み出しが実行される。すなわち、内部メモリバンクアドレスEA[17:11]が読み出しバンクデコーダBDRによってデコードされた後、メモリバンク読み出し信号BRQ[127:0]によってメモリバンクに読み出しコマンドが発行される。そして、メモリバンクの内部ロウアドレスEA[10:3]に記憶された256ビットのロウデータが内部メインデータバスDMI[255:0]に出力される。
また、メモリバンクの読み出し動作と並行して、キャッシュ制御回路CCCが、前述の読み出しアクセスの場合と同様に、キャッシュヒット条件をチェックする。すなわち、まず、キャッシュタグバンクCT0,CT1における内部ロウアドレスEA[10:3]の内容が読み取られる。次いで、読み取られたキャッシュタグTAG0,TAG1が比較回路CM0,CM1に渡され、内部メモリバンクアドレスEA[17:11]と比較され、キャッシュヒットの特定が行われる。
キャッシュタグが内部メモリバンクアドレスEA[17:11]と同一である場合には、キャッシュヒット信号HIT0もしくはHIT1が起動し、キャッシュ制御回路CCCにキャッシュヒットが通知される。これは、書き込み更新対象となるデータがすでにキャッシュデータバンク(HIT0ならCD0、HIT1ならCD1)にあるため、キャッシュデータバンクに対して32ビットの入力データを書き込めばよいということを意味している。
そこで、キャッシュ制御回路CCCは、キャッシュデータバンク(例えばCD1)への書き込みを開始する。すなわち、まず、そのセクションの位置を選択する内部アドレスEA[2:0]を用い、デマルチプレクサ回路DIMによって256ビットのデータにおける正確なセクションに32ビットの入力データが置かれる。次いで、256ビットのデータがキャッシュデータバンク(例えばCD1)に入力され、ロウが内部ロウアドレスEA[10:3]によって選択される。また、キャッシュデータバンクCD0,CD1には、キャッシュヒット信号HIT0,HIT1のOR出力が入力される。
この状態で、キャッシュ制御回路CCCがキャッシュ書き込み信号(例えばCW[1])を起動する。そうすると、キャッシュデータバンク(例えばCD1)は、キャッシュヒットを認識しているため、ロウおよびセクションを示す内部アドレスEA[10:0]によって、キャッシュデータバンク(例えばCD1)内の適切なセクションデータのみを更新する。このようにして、書き込みサイクルが完了する。
一方、前述したのと同様な処理により、キャッシュタグTAG0,TAG1が読み取られ、比較回路CM0,CM1によって7ビットのキャッシュタグTAG0,TAG1と内部メモリバンクアドレスEA[17:11]とが一致しなかった場合にはキャッシュミスとなる。この場合、キャッシュヒット信号HIT0,HIT1は起動されない。
そこで、キャッシュ制御回路CCCによって、ライトバック動作が必要かどうかが判定される。キャッシュタグバンクCT0,CT1からキャッシュタグTAG0,TAG1と同時に読み出した有効ビットV[1:0]の内、1つが論理レベル‘0’である場合には、キャッシュフルでなく、空のキャッシュデータバンクが存在することになるため、ライトバック動作を行わずにその空のキャッシュデータバンクに入力データを書き込むことが可能である。
この場合、デマルチプレクサ回路DIM(第2の選択回路)を内部セクションアドレスEA[2:0]を用いて選択することで、256ビットのロウデータの中の選択されたセクションが、32ビットの入力データによって置換される。この置換される前の256ビットのデータは、前述したように、予め書き込みアクセス開始直後にメモリバンクから内部メインデータバスDMI上に読み出しておいたデータである。そして、キャッシュ書き込み信号(例えばCW[1])が起動されると、キャッシュデータバンク(例えばCD1)は、キャッシュミスを認識しているため、内部ロウアドレスEA[10:3]によって、前述した置換後の256ビットのロウデータを空のキャッシュデータバンク(例えばCD1)に書き込む。
また、このキャッシュデータバンク(例えばCD1)への書き込みと共に、キャッシュ制御回路CCCがタグ書き込み信号(例えばTW[1])を起動することで、内部メモリバンクアドレスEA[17:11]がキャッシュタグ(例えばTAG1)として、内部ロウアドレスEA[10:3]で特定される空のキャッシュタグバンク(例えばCT1)に記憶される。このように、キャッシュタグバンク(例えばCT1)およびキャッシュデータバンク(例えばCD1)にキャッシュタグおよびロウデータがそれぞれ記憶されることで書き込みサイクルは終了する。
キャッシュミスで、なおかつキャッシュデータバンクCD0,CD1が内部ロウアドレスEA[10:3]においてキャッシュフルの状態である場合には、入力データをキャッシュデータバンクに記憶する前にライトバック動作が行われる。キャッシュ制御回路CCCが、ビジー状態のメモリバンクを記録する内部レジスタを用いて、キャッシュタグTAG0,TAG1をチェックする。ここで、キャッシュタグバンクおよびキャッシュデータバンクの数がメモリバンクにおけるライトバックサイクル時間と読み出しサイクル時間との比に等しいため、キャッシュタグTAG0,TAG1の中の少なくとも1つは、必ずビジー状態でないメモリバンクを示すことになる。
キャッシュ制御回路CCCは、ライトバック動作のためのビジー状態でないメモリバンクを選定する。キャッシュデータバンクから、この選定されたメモリバンクに対応する256ビットのロウデータが読み取られ、内部キャッシュデータバスDCI[255:0]に出力される。また、キャッシュ制御回路CCCは、書き込みバンクデコーダBDWに対してメモリバンク書き込み信号MWと書き込みバンク信号WBA[6:0]を発生する。
書き込みバンクデコーダBDWは、書き込みバンク信号WBA[6:0]をデコードし、書き込みバンク選択信号BWQ[127:0]を出力する。そして、この書き込みバンク選択信号BWQ[127:0]によって選択されたメモリバンクの内部ロウアドレスEA[10:3]において、前述した内部キャッシュデータバスDCI[255:0]の値がライトバックされる。キャッシュ制御回路CCCは、このライトバック動作を開始したメモリバンクに対応するキャッシュタグを、メモリバンクがビジー状態であることを表す内部レジスタに登録することでライトバック動作が終了する。
ライトバック動作を終了した後は、前述したライトバック動作が起こらなかった場合と同様、空となったキャッシュデータバンク(例えばCD1)に入力データを記憶することで、書き込みサイクルが終了する。また、タグ書き込み信号(例えばTW[1])の起動によって、キャッシュタグバンク(例えばCT1)の内部ロウアドレスEA[10:3]に、内部バンクアドレスEA[17:11]が記憶される。このような動作によって、メモリバンクMB0〜MB127のライトバック状態に依存せず、待ち状態もしくは待ち時間を必要とせずに書き込み動作を1サイクルで完了することができる。
図9は、図8の半導体メモリにおいて、そのメモリバンクの構成の一例を示すブロック図である。図9のメモリバンクは、一般的なSRAMもしくはDRAM等のメモリアレイ構成およびその周辺回路構成とほぼ同様であり、例えば、図1に示したようなメモリセルを多数含むメモリマットMMATと、読み出しワード線ドライバR−WDと、書き込みワード線ドライバW−WDと、読み取ったロウデータを増幅するセンスアンプSAと、内部ロウアドレスEA[10:3]をデコードして読み出し時および書き込み時のロウを特定するロウデコーダRDと、メモリバンク制御回路MBCとを有している。そして更に、図9のメモリバンクは、ライトバック処理中にロウデータを保持するライトバッファWBも有している。
内部ロウアドレスEA[10:3]をセットし、読み出しバンク選択信号BRQを起動することで読み出しサイクルが実行される。メモリバンク制御回路MBCは、読み出しバンク選択信号BRQを受けてバンク読み出し信号BRを起動し、その後、ロウデコーダRDと読み出しワード線ドライバR−WDによって選択されたロウにおけるロウデータが、センスアンプSAを介してマルチプレクサ回路MMXの一端に出力される。なお、マルチプレクサ回路MMXの他端には、ライトバッファWBの出力が接続される。
メモリバンク制御回路MBCは、マルチプレクサ回路MMXの選択信号となるライトバッファ読み出し信号WBRを制御することで、このセンスアンプSAを介して読み出されたロウデータを内部メインデータバスDMI[255:0]に出力する。一方、ライトバック処理が行われている最中のロウデータに対して読み出しアクセスが発生した際には、ライトバッファWBからロウデータが読み取る必要がある。
この場合、メモリバンク制御回路MBCが、ライトバッファWB内にあるロウデータの内部ロウアドレスEA[10:3]を記憶しているため、入力された内部ロウアドレスEA[10:3]の値によって所望のロウデータがライトバッファWB内にあるか否かを判定する。ライトバッファWB内にある場合には、ライトバッファ読み出し信号WBRの選択によって、ライトバッファWBの内容をマルチプレクサ回路MMXを介して内部メインデータバスDMI[255:0]に出力する。このようにして、ライトバック動作を妨げることなくロウデータを読み取ることが可能となる。
書き込みサイクルは、256ビットの内部キャッシュデータバスDCI[255:0]や内部ロウアドレスEA[10:3]をセットし、書き込みバンク選択信号BWQを起動することで実行される。メモリバンク制御回路MBCは、書き込みバンク選択信号BWQを受けて発生するライトバッファラッチ信号WBLを起動することで、内部キャッシュデータバスDCI[255:0]のデータを書き込みバッファWBにラッチする。
メモリマットMMAT内への書き込み動作は、ロウデコーダRDによる内部ロウアドレスEA[10:3]のデコードによって開始される。そして、メモリバンク制御回路MBCがバンク書き込み信号BWを起動することで、ロウデコーダRDのデコードによって選択されたロウが書き込みワード線ドライバW−WDを介して活性化され、ライトバッファWB内のロウデータが複数サイクルに渡ってライトバックされる。
ところで、これまでに述べた半導体メモリにおいては、メモリバンクとキャッシュデータバンクとのデータバスの幅が、メモリバンクにおけるビット線の数、すなわち256ビットとなっている。しかしながら、データバスの幅を減らすことによって、レイアウトエリアの減少や、スイッチング電力の減少などの利点を得ることができる場合がある。したがって、キャッシュ書き込みおよびライトバックサイクル中に、256ビットではなく例えば32ビットのセクションデータをメモリバンクとの間でやり取りする構成も有益と言える。以下にこの構成の一例について説明する。
図10は、本発明の一実施の形態の半導体装置において、図6を変形したキャッシュデータバンクおよびキャッシュタグバンクの構成の一例を示す概略図である。図10においては、これまでと同様に、待ち時間もしくは待ち状態なく各サイクルでランダムに読み出しもしくは書き込みアクセスを行うために、キャッシュデータバンクCD0およびキャッシュタグバンクCT0が設けられている。但し、図6で説明した構成と異なり、メモリバンクとキャッシュデータバンクCD0との間のデータ送受信に、32ビットのセクションデータを用いる構成となっている。
キャッシュデータバンクCD0は、メモリバンクと同数のロウおよびカラムで構成されている。また、メモリバンクの構成と同様に、各ロウは複数のセクションに分割され、メモリバンクとの間でデータの送受信を行う際には、キャッシュデータバンクCD0から1セクションが読み取られ、また書き込まれるようになっている。すなわち、例えば、キャッシュデータバンクCD0のロウ1、セクション1の値Dを送受信する構成となっている。
キャッシュタグバンクCT0は、キャッシュデータバンクCD0の各セクションデータに対応するメモリバンクを表すため、7ビットのキャッシュタグを複数有している。キャッシュタグバンクCT0の各ロウは、8つのキャッシュタグTAG0〜TAG7と、これらにそれぞれ対応する8つの有効ビットV0〜V7とを有している。有効ビットV0〜V7は、対応するキャッシュデータバンク内の8つのセクションデータが有効かどうか特定するために用いられる。
例えば、キャッシュタグバンクCT0のロウ1のV1が‘1’にセットされ、キャッシュタグTAG1が“0000010”にセットされている場合、キャッシュデータバンクCD0のロウ1のセクション1におけるデータは有効であり、この有効なデータは、メモリバンクMB2のロウ1のセクション1における最新のデータを示すことになる。また、例えば、キャッシュタグバンクCT0のロウ1のV7が‘1’にセットされ、TAG7が“0000001”にセットされている場合、キャッシュデータバンクCD0のロウ1のセクション7におけるデータは有効であり、この有効なデータは、メモリバンクMB1のロウ1のセクション7における最新のデータを示すことになる。
本実施の形態におけるキャッシュデータバンクの数は、メモリバンクが非破壊書き込みメモリか破壊書き込みメモリかによって異なる。破壊書き込みメモリの場合、ライトバック動作の間、ロウデータ全体を記憶しておかなければならない。ライトバック動作に際し、キャッシュデータバンクには1セクションのデータしか記憶されていないため、内部事前読み出しをメモリバンク内で実行させ、ロウデータの内容とキャッシュデータバンクからのデータとを組み合わせることになる。つまり事前読み出しサイクルに続いて、通常の複数サイクルの書き込みがメモリバンクで行われ、データが記憶される。
したがって、ライトバック動作では、図6等のようにロウデータ全体がキャッシュデータバンクに記憶されている場合に対して更に付加的なサイクルが必要となる。すなわち、全ライトバックのサイクル数はN+1であり、この場合Nは内部書き込み動作に要するサイクル数であり、付加されるサイクルは、セクションデータをロウデータと組み合わせるための内部事前読み出し動作のためのものである。
一方、非破壊書き込みメモリに対しては、内部書き込み動作中に単一のセクションをメモリバンクに書き込むことができるため、メモリバンク内における内部事前読み出し動作は不要である。したがって、ライトバックのサイクル数はNとなり、Nは内部書き込み動作のためのサイクル数である。また、キャッシュタグバンクの数も、ライトバックのサイクル数と等しくなる。つまり、破壊書き込みメモリの場合は、N+1個のキャッシュデータバンクを必要とし、非破壊書き込みメモリの場合は、N個のキャッシュデータバンクを必要とする。
図11は、本発明の一実施の形態の半導体装置において、連続アクセスが行われた場合の内部事前読み出しを含む動作の一例を示す説明図であり、(a)〜(d)は、それぞれ異なるサイクルでの動作を示している。図11においては、メモリバンク(Bank)0〜3が破壊書き込みメモリであり、更にセクション毎の書き込みを行う場合を想定している。したがって、前述したように、そのライトバック動作には事前読み出しサイクルと書き込みサイクル(2サイクル)による3サイクルが必要となり、これに対応して、3つのキャッシュデータバンクCD0,CD1,CD2が設けられている。なお、図11では、説明を容易にするため、各キャッシュデータバンクの各ロウには、1つ分のセクションのみが示されている(実際には例えば8つセクション等が含まれる)。
図11(a)は、1サイクル目の動作であり、メモリバンク0のロウ1のデータに対して書き込み要求が発生している。この場合、全てのキャッシュデータバンクCD0〜CD2のロウ1がキャッシュフルの状態であり、なおかつキャッシュミスとなるため、ライトバック動作が行われる。ここでは、キャッシュデータバンクCD2のロウ1に記憶されているメモリバンク2のロウ1のデータをライトバックし、これによって空いた箇所に、入力されたメモリバンク0のロウ1のデータを記憶する。
メモリバンク2のロウ1へのライトバック動作は、メモリバンク2のロウ1に対する1サイクル分の事前読み出しによって開始され、この事前読み出しによるロウデータがキャッシュデータバンクCD2から入力されたデータ(セクションデータ)と組み合わされ、これによる新たなロウデータがメモリバンク2のライトバッファで保持される。
図11(b)は、2サイクル目の動作であり、メモリバンク3のロウ2のデータに対して書き込み要求が発生している。この場合、全てのキャッシュデータバンクCD0〜CD2のロウ2がキャッシュフルの状態であり、なおかつキャッシュミスとなるため、ライトバック動作が再びおこなわれる。ここで、キャッシュデータバンクCD2のロウ2のセクションデータは、ビジー状態にあるメモリバンク2に対応しているため、キャッシュデータバンクCD1のロウ2に記憶されたメモリバンク1のデータがライトバックのために選択される。そして、これによって空きとなったキャッシュデータバンクCD1のロウ2に、入力されたメモリバンク3のロウ2のデータが書き込まれる。
このとき、メモリバンク1のロウ2への事前読み出しが実行され、読み出されたロウデータがキャッシュデータバンクCD1からのセクションデータと組み合わされ、その結果がメモリバンク1のライトバッファに記憶される。また、メモリバンク2においては、内部ライトバック動作の第1サイクルが開始される。
図11(c)は、3サイクル目の動作であり、メモリバンク3のロウ3のデータに対する書き込み要求が発生している。ライトバック動作は、キャッシュデータバンクCD0〜CD2のロウ3のうちの1つから行われなければならない。この場合、キャッシュデータバンクCD2とCD1のデータにそれぞれ対応するメモリバンク2とメモリバンク1は、両方共にビジー状態であるので、キャッシュデータバンクCD0に記憶されているメモリバンク0のセクションデータが、ライトバック動作のために選択され、これによる空いた箇所に入力データが書き込まれる。
なお、メモリバンク2は、内部ライトバック動作の第2サイクルが行われているためにビジー状態であり、メモリバンク1は、内部ライトバック動作の第1サイクルが行われているためにビジー状態である。このように、3つのキャッシュデータバンクが備えられているため、ビジー状態でないメモリバンクへのライトバック動作が常に可能となる。
図11(d)は、4サイクル目の動作であり、メモリバンク0のロウ2のデータに対する読み出し要求が発生している。メモリバンク0では、内部ライトバック動作の第1のサイクルが行われているためビジー状態であるが、メモリバンク0内のメモリセルが別々の読み出しポートおよび書き込みポートを有しているため、読み出しアクセスを1サイクル内で完了することが可能である。
図12は、本発明の一実施の形態による半導体装置において、図8の半導体メモリをセクションデータ記憶方式に対応させた構成の一例を示すブロック図である。本半導体メモリの構成は、前述した図8の構成とほぼ同様であるため、セクションデータ記憶を可能とするために主に変更された部分についてのみ説明をおこなう。
前述したように、ライトバック動作において1サイクルの事前読み出しと2サイクルの書き込みを必要とするメモリバンクを用いる場合、半導体メモリ内に、3つのキャッシュデータバンクCD0,CD1,CD2と3つのキャッシュタグバンクCT0,CT1,CT2とを設ける必要がある。これに伴い、キャッシュタグバンクCT2からのキャッシュタグTAG2、キャッシュヒット信号HIT2および有効ビットV2を入力可能なようにキャッシュ制御回路CCCが変更されている。キャッシュヒット信号HIT2は、キャッシュタグTAG2と内部バンクアドレスEA[17:11]を比較する比較回路CM2によって発生される。
また、キャッシュ制御回路CCCは、タグ書き込み信号TW[2]をキャッシュタグバンクCT2に、キャッシュ書き込み信号CW[2]およびキャッシュ読み出し信号CR[2]をキャッシュデータバンクCD2に出力する。さらに、キャッシュタグバンクCT0,CT1,CT2とキャッシュデータバンクCD0,CD1,CD2は、内部ロウアドレスEA[10:3]に加えて、内部セクションアドレスEA[2:0]も入力される。これは、キャッシュデータバンクおよびキャッシュタグバンクが、キャッシュタグおよびデータを適切なセクションに配置しなければならないためである。
また、セクション単位でデータの送受信を行うため、キャッシュデータバンクCD0〜CD2のデータ入出力バスは32ビット幅である。また、メモリバンクに接続された内部キャッシュデータバスDCIや内部メインデータバスDMIも32ビット幅である。このように内部バスが32ビット幅であるため、入力された32ビットセクションをフルの256ビットに拡張するデマルチプレクサ回路DIMと出力された32ビットセクションを256ビットロウから選択するマルチプレクサ回路DSMとは取り外されている。それ以外の構成および動作に関しては、図8と同様である。
図13は、図12の半導体メモリにおいて、そのメモリバンクの構成の一例を示すブロック図である。図13に示すメモリバンクの構成および動作は、図9のメモリバンクで述べたものとほぼ同様であるため、その違いについてのみ説明をおこなう。キャッシュデータバンクおよび外部データバスに送信されるのは32ビットセクションのみであるため、内部メインデータバスDMIおよび内部キャッシュデータバスDCIは32ビット幅である。
また、内部ロウアドレスEA[10:3]をデコードしたロウからのロウデータの事前読み出し動作を、ライトバック動作の始めにおこなわなければならない。そこで、まず、メモリバンク制御回路MBCが、メモリマットMMATから256ビットのロウデータを読み取り、センスアンプSAを介してライトバッファWBに格納する。
次いで、この256ビットのロウデータを、内部キャッシュデータバスDCI[31:0]からの32ビットの入力データと組み合わす必要がある。そこで、メモリバンク制御回路MBCがライトバッファラッチ信号WBLを制御することで、入力データがライトバッファWB上の適切なセクションに記憶される。このようにして、入力データがロウデータの適切なセクションに上書きされ、その結果得られる256ビットのロウデータがライトバッファWBに記憶されると、事前読み出しサイクルは終了する。その後、2サイクルの書き込み動作において、ライトバッファWBのロウデータがメモリマットMMATに記憶される。
一方、読み出しアクセスに関しては、2つの場合が考えられる。1つ目は、入力された内部ロウアドレスEA[10:3]がライトバック動作を受けている最中のロウデータを選択する場合である。この場合、ロウデータが書き込みバッファWBに記憶されているため、図9と同様にメモリバンク制御回路MBCが発生するライトバッファ読み出し信号WBRによって、このロウデータがマルチプレクサ回路MMXから出力される。マルチプレクサ回路MMXから出力されたロウデータは、選択信号を内部セクションアドレス[2:0]とするマルチプレクサ回路DMXによって更に選択され、その選択された所望のセクションが内部メインデータバスDMI[31:0]に送られる。
2つ目は、入力された内部ロウアドレスEA[10:3]がライトバック動作を受けていないロウデータを選択する場合である。この場合には、ロウデータの内容をメモリマットMMATから直接読み取ることが可能である。メモリマットMMATからのロウデータはマルチプレクサ回路MMXの他の入力に接続され、メモリバンク制御回路MBCは、このロウデータをマルチプレクサ回路DMXに出力するようにマルチプレクサ回路MMXを選択する。そして、前述したように、マルチプレクサ回路DMXによって所望のセクションが選択され、内部メインデータバスDMI[31:0]に送られる。
このような変更によって、内部メインデータバスDMIおよび内部キャッシュデータバスDCI上にロウデータ内のセクションのみが伝送されるようにメモリバンクを動作させることが可能となり、小さいデータバスを有するメモリシステムにおける利点をもたらすことができる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
例えば、これまでの説明においては、メインメモリデバイスとして、SESOメモリを用いる例を説明したが、これに限らず、読み出しアクセスに比べて書き込みアクセスが遅い例えばフラッシュメモリや相変化メモリなどを、読み出し・書き込みポートを分離して用いることも可能である。
本発明の半導体装置は、大容量かつ高速なメモリアクセスが要求されるマイクロプロセッサやマイクロコンピュータなどのオンチップメモリに適用して特に有益な技術であり、これに限らず、書き込み速度が遅い単体の半導体メモリ等に対しても、その容易な高速化手法として適用することが可能である。
本発明の一実施の形態の半導体装置において、それに用いられるメインメモリデバイスのメモリセル構成の一例を示す回路図である。 図1のメモリセルにおいて、その読み出し動作の一例を示す波形図である。 図1のメモリセルにおいて、その書き込み動作の一例を示す波形図である。 本発明の一実施の形態の半導体装置において、その基本動作の概要を示す説明図であり、(a)〜(f)は、それぞれ異なる命令および状態での動作の一例を示している。 本発明の一実施の形態の半導体装置において、連続アクセスが行われた場合の動作の一例を示す説明図であり、(a)〜(d)は、それぞれ異なるサイクルでの動作を示している。 本発明の一実施の形態の半導体装置において、キャッシュデータバンクおよびキャッシュタグバンクの構成の一例を示す概略図である。 本発明の一実施の形態による半導体装置において、そのキャッシュ制御手順の一例を示すフロー図であり、(a)は読み出しアクセス時のフロー、(b)は書き込みアクセス時のフローである。 本発明の一実施の形態による半導体装置において、それに含まれる半導体メモリの構成の一例を示すブロック図である。 図8の半導体メモリにおいて、そのメモリバンクの構成の一例を示すブロック図である。 本発明の一実施の形態の半導体装置において、図6を変形したキャッシュデータバンクおよびキャッシュタグバンクの構成の一例を示す概略図である。 本発明の一実施の形態の半導体装置において、連続アクセスが行われた場合の内部事前読み出しを含む動作の一例を示す説明図であり、(a)〜(d)は、それぞれ異なるサイクルでの動作を示している。 本発明の一実施の形態による半導体装置において、図8の半導体メモリをセクションデータ記憶方式に対応させた構成の一例を示すブロック図である。 図12の半導体メモリにおいて、そのメモリバンクの構成の一例を示すブロック図である。
符号の説明
WW 書き込みワード線
WR 読み出しワード線
DR データ読み出し線
DW データ書き込み線
QW 書き込みトランジスタ
QR 読み出しトランジスタ
QS 記憶トランジスタ
CD0〜3 キャッシュデータバンク
CT0〜3 キャッシュタグバンク
Bank0〜3,MB0〜127 メモリバンク
CCC キャッシュ制御回路
CM0〜3 比較回路
BDW 書き込みバンクデコーダ
BDR 読み出しバンクデコーダ
ADB 入力アドレスバッファ
IOB 入出力データバッファ
DOM,DSM マルチプレクサ回路
DIM デマルチプレクサ回路
MMAT メモリマット
SA センスアンプ
W−WD 書き込みワード線ドライバ
R−WD 読み出しワード線ドライバ
RD ロウデコーダ
WB ライトバッファ
MBC メモリバンク制御回路
MMX,DMX マルチプレクサ回路

Claims (16)

  1. 複数のメモリバンクを含み、第1のサイクル時間内でデータ読み出しを行い、前記第1のサイクル時間よりも長い第2のサイクル時間内でデータ書き込みを行い、前記複数のメモリバンク内の1つのメモリバンクの中でデータ読み出しとデータ書き込みを時間的に並行して行うことが可能な第1のメモリデバイスと、
    前記第1のサイクル時間内でデータ読み出しとデータ書き込みが可能であり、前記第1のメモリデバイスのキャッシュメモリとして機能する第2のメモリデバイスとを有し、
    データ書き込み命令の発生時に前記第2のメモリデバイスがキャッシュミスかつキャッシュフルである場合に、前記第1のサイクル時間内で、
    前記第1のメモリデバイス内の前記複数のメモリバンクの中からデータ書き込みを実行中でないメモリバンクを選定する処理と、
    前記第2のメモリデバイス内の記憶データの中から前記選定したメモリバンクに対応した記憶データをライトバックする処理と、
    前記ライトバックに伴い前記第2のメモリデバイス内で空き状態となった記憶領域に、前記データ書き込み命令に伴う入力データを書き込む処理とを実行することを特徴とする半導体装置。
  2. 請求項1記載の半導体装置において、
    前記複数のメモリバンクのそれぞれは、第1のメモリ容量を備え、
    前記第2のサイクル時間は、前記第1のサイクル時間の2倍以上であり、
    前記第2のメモリデバイスは、前記第1のメモリ容量の2倍以上のメモリ容量を備えることを特徴とする半導体装置。
  3. 請求項1または2記載の半導体装置において、
    前記第1のメモリデバイスは、メモリセルにチャネル領域の厚さが5nm以下であるトランジスタを含み、
    前記第2のメモリデバイスは、SRAMメモリセルを含むことを特徴とする半導体装置。
  4. それぞれがM個のデータ列を記憶し、データ書き込みのサイクル時間がデータ読み出しのサイクル時間に比べて、N(N≧2)倍のサイクル時間を必要とする複数のメモリバンクと、
    前記複数のメモリバンクのキャッシュメモリとして機能し、それぞれがM個のデータ列を記憶し、前記N倍の時間に基づいて少なくともN個設けられたキャッシュデータバンクと、
    前記少なくともN個のキャッシュデータバンクに記憶するM個のデータ列のそれぞれが前記複数のメモリバンクのいずれに対応するかを特定するため、それぞれがM個のメモリバンクアドレスを記憶する少なくともN個のキャッシュタグバンクと、
    キャッシュヒットおよびキャッシュフルを判定し、前記複数のメモリバンク、前記少なくともN個のキャッシュデータバンクおよび前記少なくともN個のキャッシュタグバンクを制御するコントローラとを有することを特徴とする半導体装置。
  5. 請求項4記載の半導体装置において、
    前記コントローラは、
    前記複数のメモリバンクに記憶されたM個のデータ列の中からいずれかのデータ列を特定するための入力メモリバンクアドレスおよび入力データ列アドレスを含む外部入力アドレスと、外部入力データと、を伴ったデータ書き込み命令が発生した際に、
    前記少なくともN個のキャッシュタグバンク内の前記入力データ列アドレスからそれぞれ読み出した少なくともN個のメモリバンクアドレスと前記入力メモリバンクアドレスとを比較することでキャッシュヒットまたはキャッシュミス、ならびにキャッシュフルを判定する処理と、
    前記判定した結果がキャッシュミスかつキャッシュフルの場合に、前記少なくともN個のキャッシュタグバンクから読み出した少なくともN個のメモリバンクアドレスの中からデータ書き込みを実行中でないメモリバンクに対応するメモリバンクアドレスを選定する処理と、
    前記少なくともN個のキャッシュデータバンク内の前記入力データ列アドレスにそれぞれ記憶された少なくともN個のデータ列の中から、前記選定したメモリバンクアドレスに対応するデータ列を、前記選定したメモリバンクアドレスに対応するメモリバンクにライトバックする処理と、
    前記少なくともN個のキャッシュデータバンク内で前記ライトバックの対象となったデータ列が記憶されていた領域に、前記外部入力データを記憶する処理と、
    前記少なくともN個のキャッシュタグバンク内で前記選定したメモリバンクアドレスが記憶されていた領域に、前記入力メモリバンクアドレスを記憶する処理とを実行することを特徴とする半導体装置。
  6. 請求項4記載の半導体装置において、
    前記コントローラは、
    前記複数のメモリバンクに記憶されたM個のデータ列の中からいずれかのデータ列を特定するための入力メモリバンクアドレスおよび入力データ列アドレスを伴ったデータ読み出し命令が発生した際に、
    前記少なくともN個のキャッシュタグバンク内の前記入力データ列アドレスからそれぞれ読み出した少なくともN個のメモリバンクアドレスと前記入力メモリバンクアドレスとを比較することでキャッシュヒットまたはキャッシュミスを判定する処理と、
    前記キャッシュヒットまたはキャッシュミスを判定する処理と時間的に並行して、前記複数のメモリバンクの前記入力メモリバンクアドレスおよび入力データ列アドレスから予めデータ列の読み出しを行う処理と、
    前記判定した結果がキャッシュミスの場合に、前記複数のメモリバンクから予め読み出しを行ったデータ列を外部へ出力する処理とを実行することを特徴とする半導体装置。
  7. 請求項5記載の半導体装置において、
    前記少なくともN個のキャッシュタグバンクのそれぞれは、更に、前記少なくともN個のキャッシュデータバンクに記憶するM個のデータ列のそれぞれが有効なデータ列か否かを示すM個の有効ビットを記憶し、
    前記コントローラは、前記少なくともN個のキャッシュタグバンクから前記少なくともN個のメモリバンクアドレスと共に少なくともN個の有効ビットを読み出すことで、前記キャッシュフルか否かを判定することを特徴とする半導体装置。
  8. 請求項5記載の半導体装置において、
    前記複数のメモリバンクのそれぞれは、前記ライトバックする処理を行う間、前記ライトバックの対象となったデータ列を一時的に保持するライトバッファを備え、
    前記コントローラは、
    前記外部入力アドレスを伴ったデータ読み出し命令が発生した際に、
    前記キャッシュヒットまたはキャッシュミスを判定する処理と、
    前記判定した結果がキャッシュミスの場合に、前記外部入力アドレスに対応するデータ列が前記ライトバッファ内に存在するか否かを判定する処理と、
    前記ライトバッファ内に存在する場合には、前記ライトバッファ内のデータ列を読み出して外部へ出力する処理とを実行することを特徴とする半導体装置。
  9. 請求項5記載の半導体装置において、
    前記コントローラでの前記外部入力データを記憶する処理の際に、前記ライトバックの対象となったデータ列が記憶されていた領域が複数のセクションを含み、前記外部入力データによって前記複数のセクションの一つを更新する場合、
    前記コントローラは、
    前記キャッシュヒットまたはキャッシュミスを判定する処理と時間的に並行して、前記複数のメモリバンクの前記外部入力アドレスから予めデータ列の読み出しを行う処理と、
    前記判定した結果がキャッシュミスかつキャッシュフルの場合に、前記ライトバックする処理を行った後、前記ライトバックの対象となったデータ列が記憶されていた領域に、前記予め読み出しを行ったデータ列の一つのセクションに前記外部入力データを組み合わせたデータ列を記憶する処理とを実行することを特徴とする半導体装置。
  10. 請求項4〜9のいずれか1項に記載の半導体装置において、
    前記少なくともN個のキャッシュタグバンクおよび前記少なくともN個のキャッシュデータバンクは、SRAMメモリセルによって構成されることを特徴とする半導体装置。
  11. 半導体メモリを含む半導体装置であって、
    前記半導体メモリは、
    外部データバスからの入力データを内部入力データバスへ伝送し、内部出力データバスからの出力データを前記外部データバスへ伝送するデータ入出力バッファと、
    第1のデータバスおよび第2のデータバスと、
    前記第1のデータバスまたは前記第2のデータバスのいずれか一方を選択し、前記内部出力データバスに出力する第1の選択回路と、
    ロウアドレスビットおよびメモリバンクアドレスビットを含むアドレスバスと、
    前記ロウアドレスビットで示される複数のロウと前記複数のロウのそれぞれに第1の数のロウデータを備えたメモリバンクを、前記メモリバンクアドレスビットで示される数だけ含み、前記第1のデータバスからデータを入力し、前記第2のデータバスにデータを出力する第1のメモリデバイスと、
    前記複数のロウと前記第1の数のロウデータを備えたキャッシュデータバンクを第2の数だけ含み、前記第1のデータバスにデータを出力し、前記第2のデータバスからデータを入力する第3のメモリデバイスと、
    前記複数のロウを備えたキャッシュタグバンクを前記第2の数だけ含み、前記アドレスバスのメモリバンクアドレスビットからデータを入力する第4のメモリデバイスと、
    前記半導体メモリに対してデータ書き込み命令又はデータ読み出し命令が発生した際に、前記第4のメモリデバイスから読み出したデータと前記アドレスバスのメモリバンクアドレスビットとを比較することでキャッシュヒットまたはキャッシュミスの判定を行う機能を含み、前記第1、前記第3および前記第4のメモリデバイスの制御を行う制御回路とを有し、
    前記第1のメモリデバイスのデータ書き込みサイクル時間がデータ読み出しサイクル時間に比べてN(N≧2)倍の時間を必要とする場合、前記第2の数は、N個以上であることを特徴とする半導体装置。
  12. 請求項11記載の半導体装置において、
    前記第1のデータバスと前記第2のデータバスと前記外部データバスのビット幅は、同一かつ前記第1の数よりも小さいことを特徴とする半導体装置。
  13. 請求項11記載の半導体装置において、
    前記第1のデータバスと前記第2のデータバスのビット幅は、共に前記第1の数であり、
    前記外部データバスのビット幅は、前記第1の数よりも小さいことを特徴とする半導体装置。
  14. 請求項11記載の半導体装置において、
    前記第1のメモリデバイス内のメモリセルは、
    ゲートが書き込みワード線に接続され、ソースまたはドレインの一方が書き込みビット線に接続された書き込み用トランジスタと、
    ゲートが前記書き込み用トランジスタのソースまたはドレインの他方に接続され、ソースまたはドレインの一方が固定電位に接続された記憶用トランジスタと、
    ゲートが読み出しワード線に接続され、ソースまたはドレインの一方が前記記憶用トランジスタのソースまたはドレインの他方に接続され、ソースまたはドレインの他方が読み出しビット線に接続された読み出し用トランジスタとを有することを特徴とする半導体装置。
  15. 請求項12記載の半導体装置において、
    前記第1のメモリデバイス内のそれぞれの前記メモリバンクは、前記第1の数のロウデータを一時的に記憶可能なライトバッファを備え、
    前記メモリバンクに対して前記第1の数を単位としてデータ書き込みを行う必要がある場合、前記第2の数は、(N+1)個以上であることを特徴とする半導体装置。
  16. 請求項13記載の半導体装置において、
    更に、前記第2のデータバスの一部に前記内部入力データバスを組み合わせて前記第3のメモリデバイスへ出力する第2の選択回路を有することを特徴とする半導体装置。
JP2005002024A 2005-01-07 2005-01-07 半導体装置 Pending JP2006190402A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005002024A JP2006190402A (ja) 2005-01-07 2005-01-07 半導体装置
US11/325,311 US7301791B2 (en) 2005-01-07 2006-01-05 Semiconductor device
US11/875,633 US7573753B2 (en) 2005-01-07 2007-10-19 Semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005002024A JP2006190402A (ja) 2005-01-07 2005-01-07 半導体装置

Publications (1)

Publication Number Publication Date
JP2006190402A true JP2006190402A (ja) 2006-07-20

Family

ID=36756384

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005002024A Pending JP2006190402A (ja) 2005-01-07 2005-01-07 半導体装置

Country Status (2)

Country Link
US (2) US7301791B2 (ja)
JP (1) JP2006190402A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020033151A1 (en) * 2018-08-08 2020-02-13 Micron Technology, Inc. Throttle response signals from a memory system
KR20200083917A (ko) * 2018-12-28 2020-07-09 마이크론 테크놀로지, 인크. 버퍼 리셋 커맨드를 이용하는 메모리 관리

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4241175B2 (ja) * 2003-05-09 2009-03-18 株式会社日立製作所 半導体装置
US20130082232A1 (en) 2011-09-30 2013-04-04 Unity Semiconductor Corporation Multi Layered Conductive Metal Oxide Structures And Methods For Facilitating Enhanced Performance Characteristics Of Two Terminal Memory Cells
US7889571B2 (en) 2008-01-09 2011-02-15 Unity Semiconductor Corporation Buffering systems methods for accessing multiple layers of memory in integrated circuits
US8406309B2 (en) * 2005-10-21 2013-03-26 Qualcomm Incorporated Video rate adaptation to reverse link conditions
KR100825782B1 (ko) * 2006-10-04 2008-04-28 삼성전자주식회사 멀티-포트 상변화 메모리 셀 및 상기 멀티-포트 상변화 메모리 셀을 구비하는 멀티-포트 상변화 메모리 장치
US8055852B2 (en) * 2007-08-15 2011-11-08 Micron Technology, Inc. Memory device and method having on-board processing logic for facilitating interface with multiple processors, and computer system using same
US7787310B2 (en) 2008-02-21 2010-08-31 Micron Technology, Inc. Circuits, devices, systems, and methods of operation for capturing data signals
US8370557B2 (en) * 2008-12-19 2013-02-05 Intel Corporation Pseudo dual-port SRAM and a shared memory switch using multiple memory banks and a sideband memory
US8458405B2 (en) * 2010-06-23 2013-06-04 International Business Machines Corporation Cache bank modeling with variable access and busy times
US10026458B2 (en) 2010-10-21 2018-07-17 Micron Technology, Inc. Memories and methods for performing vector atomic memory operations with mask control and variable data length and data unit size
US9032156B2 (en) * 2011-07-06 2015-05-12 Advanced Micro Devices, Inc. Memory access monitor
US20130173864A1 (en) * 2012-01-04 2013-07-04 Elpida Memory, Inc. Semiconductor device including row cache register
US20140372682A1 (en) * 2012-03-27 2014-12-18 Melvin K. Benedict Nonvolatile memory bank groups
US9003121B2 (en) * 2012-08-16 2015-04-07 Broadcom Corporation Multi-ported memory with multiple access support
US9026747B2 (en) * 2012-08-16 2015-05-05 Broadcom Corporation Memory device with a logical-to-physical bank mapping cache
KR101742892B1 (ko) * 2012-11-30 2017-06-01 인텔 코포레이션 다중 사이클 명령에 의한 메모리 디바이스 액세스를 위한 장치, 방법 및 시스템
US8861289B2 (en) 2013-01-14 2014-10-14 Freescale Semiconductor, Inc. Multiport memory with matching address control
US8867263B2 (en) 2013-01-14 2014-10-21 Freescale Semiconductor, Inc. Multiport memory with matching address and data line control
US8971145B2 (en) 2013-02-28 2015-03-03 Freescale Semiconductor, Inc. Synchronous multiple port memory with asynchronous ports
US9208856B2 (en) 2013-03-12 2015-12-08 Freescale Semiconductor, Inc. Multiport memory with matching address control
US8848480B1 (en) 2013-04-30 2014-09-30 Freescale Semiconductor, Inc. Synchronous multiple port memory with asynchronous ports
US10241940B2 (en) 2014-05-27 2019-03-26 Rambus Inc. Memory module with reduced read/write turnaround overhead
KR102636091B1 (ko) * 2016-10-14 2024-02-14 에스케이하이닉스 주식회사 저항성 메모리 장치, 이를 위한 선택적 쓰기 장치 및 동작 방법
US11074007B2 (en) 2018-08-08 2021-07-27 Micron Technology, Inc. Optimize information requests to a memory system
WO2020118713A1 (zh) * 2018-12-14 2020-06-18 深圳市汇顶科技股份有限公司 位宽匹配电路、数据写入装置、数据读出装置和电子设备
JP2020166346A (ja) * 2019-03-28 2020-10-08 ラピスセミコンダクタ株式会社 半導体記憶装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02227897A (ja) * 1989-03-01 1990-09-11 Hitachi Ltd 半導体記憶装置
JPH10340225A (ja) * 1997-06-06 1998-12-22 Matsushita Electric Ind Co Ltd 半導体記憶装置及びキャッシュメモリ装置
JPH11353871A (ja) * 1998-06-10 1999-12-24 Hitachi Ltd 半導体装置
JP2000207283A (ja) * 1999-01-19 2000-07-28 Advanced Risc Mach Ltd デ―タ処理システムに於けるメモリ制御
JP2003059265A (ja) * 2001-08-08 2003-02-28 Hitachi Ltd 半導体装置
JP2004334996A (ja) * 2003-05-09 2004-11-25 Hitachi Ltd 半導体装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5652723A (en) * 1991-04-18 1997-07-29 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device
US5617347A (en) * 1995-03-17 1997-04-01 Fujitsu Limited Cache memory system and method thereof for storing a staged memory item and a cache tag within a single cache array structure
JP3116827B2 (ja) * 1996-07-16 2000-12-11 日本電気株式会社 キャッシュメモリ制御装置
US6804162B1 (en) * 2001-04-05 2004-10-12 T-Ram, Inc. Read-modify-write memory using read-or-write banks
US6801980B2 (en) * 2002-04-25 2004-10-05 International Business Machines Corporation Destructive-read random access memory system buffered with destructive-read memory cache
US7219185B2 (en) * 2004-04-22 2007-05-15 International Business Machines Corporation Apparatus and method for selecting instructions for execution based on bank prediction of a multi-bank cache

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02227897A (ja) * 1989-03-01 1990-09-11 Hitachi Ltd 半導体記憶装置
JPH10340225A (ja) * 1997-06-06 1998-12-22 Matsushita Electric Ind Co Ltd 半導体記憶装置及びキャッシュメモリ装置
JPH11353871A (ja) * 1998-06-10 1999-12-24 Hitachi Ltd 半導体装置
JP2000207283A (ja) * 1999-01-19 2000-07-28 Advanced Risc Mach Ltd デ―タ処理システムに於けるメモリ制御
JP2003059265A (ja) * 2001-08-08 2003-02-28 Hitachi Ltd 半導体装置
JP2004334996A (ja) * 2003-05-09 2004-11-25 Hitachi Ltd 半導体装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020033151A1 (en) * 2018-08-08 2020-02-13 Micron Technology, Inc. Throttle response signals from a memory system
KR20200083917A (ko) * 2018-12-28 2020-07-09 마이크론 테크놀로지, 인크. 버퍼 리셋 커맨드를 이용하는 메모리 관리
KR102268000B1 (ko) 2018-12-28 2021-06-23 마이크론 테크놀로지, 인크. 버퍼 리셋 커맨드를 이용하는 메모리 관리

Also Published As

Publication number Publication date
US20060171236A1 (en) 2006-08-03
US7301791B2 (en) 2007-11-27
US7573753B2 (en) 2009-08-11
US20080259694A1 (en) 2008-10-23

Similar Documents

Publication Publication Date Title
JP2006190402A (ja) 半導体装置
JP2775549B2 (ja) 連想メモリセルおよび連想メモリ回路
JP4989872B2 (ja) 半導体記憶装置および演算処理装置
US7203794B2 (en) Destructive-read random access memory system buffered with destructive-read memory cache
USRE37409E1 (en) Memory and method for sensing sub-groups of memory elements
JP3304413B2 (ja) 半導体記憶装置
KR100445927B1 (ko) 메모리 인터페이스를 갖는 프로세서와, 이 프로세서에서 수행되는 방법 및 컴퓨터 시스템
JPH03286495A (ja) 半導体記憶装置
JPH07502358A (ja) マイクロプロセッサーのクロックに依るマルチプル・アクセスのためのインターリーブ・キャッシュ
US6134178A (en) Synchronous semiconductor memory device suitable for merging with logic
JP2007172805A (ja) ポート間データ転送機能を有するマルチパスアクセス可能な半導体メモリ装置
US8767501B2 (en) Self-reconfigurable address decoder for associative index extended caches
JP4445081B2 (ja) キャッシュ・メモリ
JPH0916470A (ja) 半導体記憶装置
JP3789998B2 (ja) メモリ内蔵プロセサ
JP6228523B2 (ja) メモリ制御回路および半導体記憶装置
JP2005532653A (ja) 半導体メモリのワード線ラッチ
US6839807B2 (en) Multi-way set associative cache memory
JP2000057761A (ja) 半導体記憶装置
JPH11353871A (ja) 半導体装置
KR20090005786A (ko) 메모리 사용확장 기능을 갖는 멀티패쓰 억세스블 반도체메모리 장치 및 그에 따른 메모리 사용확장 방법
JP2004055112A (ja) 高速データアクセスのためのdram
TWI417894B (zh) 於動態隨機存取記憶體架構之定址期間實施省電之結構及方法
JP4549001B2 (ja) 情報処理装置及び半導体集積回路
JPWO2006001078A1 (ja) 半導体集積回路装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071211

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100528

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100907

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110105