JP5727948B2 - 半導体記憶装置 - Google Patents

半導体記憶装置 Download PDF

Info

Publication number
JP5727948B2
JP5727948B2 JP2012006321A JP2012006321A JP5727948B2 JP 5727948 B2 JP5727948 B2 JP 5727948B2 JP 2012006321 A JP2012006321 A JP 2012006321A JP 2012006321 A JP2012006321 A JP 2012006321A JP 5727948 B2 JP5727948 B2 JP 5727948B2
Authority
JP
Japan
Prior art keywords
write
data
memory cell
read
selected memory
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.)
Active
Application number
JP2012006321A
Other languages
English (en)
Other versions
JP2013145622A (ja
Inventor
谷 克 彦 穂
谷 克 彦 穂
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2012006321A priority Critical patent/JP5727948B2/ja
Priority to US13/604,338 priority patent/US8654596B2/en
Publication of JP2013145622A publication Critical patent/JP2013145622A/ja
Application granted granted Critical
Publication of JP5727948B2 publication Critical patent/JP5727948B2/ja
Priority to US15/004,713 priority patent/USRE47639E1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00

Landscapes

  • Mram Or Spin Memory Techniques (AREA)
  • Dram (AREA)

Description

本発明による実施形態は、半導体記憶装置に関する。
DRAM(Dynamic Random Access Memory)等の揮発性メモリの置き換えとしてMRAM(Magnetic RAM)等の不揮発性メモリが開発されている。
しかし、MRAMは、MTJ(Magnetic Tunnel Junction)素子に電流を流してデータを書き込むため、書込み動作に或る程度時間がかかる。従って、同一バンクのメモリセルへ短時間の間に連続的にアクセスがあると、データを書き込むことができないという事態が生じ得る。
また、データ書込み動作を行なう際、メモリセルにもともと格納されているデータの論理が、そのメモリセルへ書き込むデータの論理と同一である場合、本来不要な書込み電流(セル電流)を無駄に消費していることになる。
JEDEC LPDDR2 JESD209−2E
データ書込みにおいて、無駄な消費電力を抑制し、連続的なデータ書込みが可能な半導体記憶装置を提供する。
本実施形態による半導体記憶装置は、複数のビット線と複数のワード線とを備える。メモリセルアレイは、ビット線とワード線とに接続されデータを記憶可能な複数のメモリセルを含む。複数のセンスアンプは、メモリセルに格納されたデータを検出する。複数のライトドライバは、メモリセルにデータを書き込む。比較バッファは選択メモリセルからの読出しデータおよび選択メモリセルへ書き込むべき書込みデータを一時的に格納し、該読出しデータと該書込みデータとを比較する。書込みシーケンス中において、比較バッファは、読出しデータおよび書込みデータを格納する。書込みシーケンス後、ビット線の電圧をリセットするプリチャージコマンドを受けたときに、比較バッファは、選択メモリセルからの読出しデータの論理と選択メモリセルへの書込みデータの論理とが異なる場合に選択メモリセルへの書込みを実行する書込み実行コマンドを活性化する。選択メモリセルからの読出しデータの論理と選択メモリセルへの書込みデータの論理とが同一である場合には書込み実行コマンドを活性化しない。
第1の実施形態に従ったMRAMのメモリセルアレイおよびその周辺回路のブロック図。 単一のメモリセルMCの構成および動作を示す説明図。 読出しグローバルデータバスRGDBおよび書込みグローバルデータバスWGDBとメモリセルマクロMCM1〜MCM4との間の接続関係を示す図。 比較バッファCMPBの内部構成を示すブロック図。 第1の実施形態によるメモリのデータ書込み動作を示すタイミング図。 第2の実施形態に従ったMRAMの構成を示すブロック図。 第2の実施形態によるメモリのデータ書込み動作を示すタイミング図。 第3の実施形態に従ったMRAMの構成を示すブロック図。 第3の実施形態に従った比較バッファCMPBの構成を示すブロック図。 第4の実施形態に従ったMRAMの構成を示すブロック図。 第5の実施形態に従ったMRAMの構成を示すブロック図。 第5の実施形態に従った比較バッファCMPBの構成を示すブロック図。
以下、図面を参照して本発明に係る実施形態を説明する。本実施形態は、本発明を限定するものではない。
(第1の実施形態)
図1は、第1の実施形態に従った磁気ランダムアクセスメモリ(以下、MRAM)のメモリセルアレイおよびその周辺回路のブロック図である。尚、本実施形態は、MRAM以外の抵抗変化型素子を用いたメモリ(例えば、PCRAM、ReRAM等)に適用可能である。
本実施形態によるMRAMは、複数のメモリセルアレイMCAを含むセルアレイユニットCAUと、複数のメインワード線MWLと、複数のローカルワード線LWLと、複数の読出しグローバルデータバスRGDBと、複数の書込みグローバルデータバスWGDBと、センスアンプS/Aと、リードバッファRBと、ライトドライバW/Dと、書込みバッファWBと、ロウコントローラRCと、メインロウデコーダMRDと、カラムデコーダCDと、入出力ゲート回路IOGと、リード・ライトデータ線RWDとを備えている。尚、図1に示す各構成要素の数は限定されず、図1に示す構成は多数設けられていてよい。また、ソース線は設けられているが、ここでは省略されている。
各メモリセルアレイMCAは、マトリクス状に二次元配置された複数のメモリセルMCを含む。各メモリセルMCは、図3に示すようにビット線BLとローカルワード線LWLとの交点に対応して配置されている。ビット線BLは、カラム方向に延伸しており、ローカルワード線LWLは、カラム方向に対して直交するロウ方向に延伸している。
メインワード線MWLは、ローカルロウデコーダLRDに接続されており、さらにローカルロウデコーダLRDはローカルワード線LWLを介してメモリセルMCに接続される。メモリセルマクロMCM内の各セルアレイユニットCAUにおいて、メインワード線MWLは、ローカルワード線LWLと1対1に対応している。従って、本実施形態において、メインワード線MWLとローカルワード線LWLとを区別する必要がなく、特許請求の範囲における「ワード線」は、いずれの意味に解しても構わない。
複数のメモリセルアレイMCAがセルアレイユニットCAUを構成している。図1では、4つのメモリセルアレイMCAがセルアレイユニットCAUを構成している。しかし、各セルアレイユニットCAUに含まれるメモリセルアレイMCAの個数は、特に限定しない。
メインワード線MWLを共有する複数のセルアレイユニットCAUはメモリセルマクロMCMを構成する。メモリセルマクロMCMは、1つのリードコマンドでデータを同時に読み出し、または、1つのライトコマンドでデータを同時に書き込む活性化単位である。読出しグローバルデータバスRGDBおよび書込みグローバルデータバスWGDBを共有する複数のメモリセルマクロMCMがマクロブロックMBを構成する。各メモリセルマクロMCMに含まれるセルアレイユニットCAUの数も特に限定しない。
センスアンプS/Aは、複数のビット線BLに対応して設けられており、複数のビット線BLのうちいずれかを介して伝達されたデータを検出する。ライトドライバW/Dは、複数のビット線BLに対応して設けられており、複数のビット線BLのうちいずれかを介してメモリセルMCへデータを書き込む。
各セルアレイユニットCAUは、単数または複数のセンスアンプS/Aと、単数または複数のライトドライバW/Dとを備えている。1つのメモリセルマクロMCM内の複数のセンスアンプS/Aは、それぞれ異なる読出しグローバルデータバスRGDBに接続されている。1つのメモリセルマクロMCM内の複数のライトドライバW/Dは、それぞれ異なる書込みグローバルデータバスWGDBに接続されている。つまり、読出しグローバルデータバスRGDBおよび書込みグローバルデータバスWGDBは、それぞれセンスアンプS/AおよびライトドライバW/Dに対して1対1に対応して設けられている。従って、読出しグローバルデータバスRGDBおよび書込みグローバルデータバスWGDBは、それぞれセンスアンプS/AおよびライトドライバW/Dに対応する複数のビット線BLに対応して設けられていることになる。
読出しグローバルデータバスRGDBおよび書込みグローバルデータバスWGDBは、カラム方向に延伸している。メインワード線MWLは、カラム方向に対して直交するロウ方向に延伸している。
読出しグローバルデータバスRGDBは、カラムデコーダCDを介してリードバッファRBに接続されている。書込みグローバルデータバスWGDBは、カラムデコーダCDを介してライトバッファWBに接続されている。カラムデコーダCDは、カラムアドレスに従ってビット線BLを選択するように構成されている。このとき、カラムデコーダCDは、1つのセンスアンプS/Aに対して1本のビット線BLを選択して駆動する。
リードバッファRBおよびライトバッファWBは、入出力ゲート回路IOGを介してリード・ライトデータ線RWDに接続される。リードバッファRBは、対応する読出しグローバルデータバスRGDBから得た読出しデータを増幅し、このデータを入出力ゲート回路IOGへ転送することができる。そして、リードバッファRBは、入出力ゲート回路IOGを介してその読出しデータを外部へ送信する。ライトバッファWBは、リード・ライトデータ線RWDから得た書込みデータを増幅し、このデータをメモリセルマクロMCM1〜MCM4へ転送することができる。
リード・ライトデータ線RWDは、リードバッファRBおよびライトバッファWBのペア数と同数設けられており、1つのメモリセルマクロMCMから同時に読み出されたデータを並行してメモリチップの外部へ読み出すことができる。また、リード・ライトデータ線RWDは、1つのメモリセルマクロMCMに同時に書き込むデータを並行してメモリチップの外部から取り込むことができる。例えば、1つのマクロブロックMBA内にリードバッファRBおよびライトバッファWBのペアが64個ある場合、リード・ライトデータ線RWDは各ペアに対応するように64本設けられる。これにより、メモリは、64ビットデータを同時に読み出し、あるいは、書き込むことができる。
メインワード線MWLは、ロウコントローラRCに接続されており、ロウコントローラRCは、メインロウデコーダMRDに接続されている。メインロウデコーダMRDは、ロウアドレスをデコードする。ロウコントローラRCは、ロウアドレスに従ってマクロブロックMB内の複数のメモリセルマクロMCMのそれぞれにおいてメインワード線MWLを1本ずつ選択する。メインワード線MWLを選択すると、そのメインワード線MWLに対応するローカルワード線LWLが各セルアレイユニットCAUにおいて1本ずつ選択される。これにより、該メモリセルマクロMCMにおいて、各センスアンプS/Aが、カラムアドレスによって選択されたビット線BLとロウアドレスによって選択されたメインワード線MWL(またはローカルワード線LWL)との交点に対応するメモリセルMC(以下、選択メモリセルMC)のデータを検出することができる。また、該メモリセルマクロMCMにおいて、各ライトドライバW/Dが、選択メモリセルMCへデータを書き込むことができる。
本実施形態では、データ書込み時に、書込みデータは、リード・ライトデータ線RWDを介して、入出力ゲート回路IOG内の比較バッファCMPB(図3参照)に一旦格納される。また、書込み対象であるページのメモリセルMCのデータも比較バッファCMPBへ一旦読み出される。このとき、メモリセルMCへの書込みは、まだ行なわれない。そして、メモリがプリチャージ状態に入ると、比較バッファCMPBが、書込みデータとそれに対応する読出しデータとを比較する。比較バッファCMPBは、比較の結果に基づいて、読出しデータと論理の異なる書込みデータをメモリセルマクロMCMへ書き込むようにライトバッファWBを制御する。ライトドライバW/Dは、読出しデータと論理の異なる書込みデータをメモリセルMCへ書き込む。読出しデータの論理と書込みデータの論理が同一である場合、比較バッファCMPBは、書込みデータをメモリセルマクロMCMへ書き込まないようにライトバッファWBを制御する。
図2は、単一のメモリセルMCの構成および動作を示す説明図である。各メモリセルMCは、それぞれ磁気トンネル接合素子(MTJ(Magnetic Tunnel Junction)素子)10と、セルトランジスタ20とを含む。MTJ素子10およびセルトランジスタ20は、ビット線BLとソース線SLとの間に直列に接続されている。メモリセルMCにおいて、セルトランジスタ20がビット線BL側に配置され、MTJ素子10がソース線側に配置されている。セルトランジスタ20のゲートは、ワード線WL(メインワード線MWLまたはローカルワード線LWL)に接続されている。
TMR(tunneling magnetoresistive)効果を利用したMTJ素子は、2枚の強磁性層とこれらに挟まれた非磁性層(絶縁薄膜)とからなる積層構造を有し、スピン偏極トンネル効果による磁気抵抗の変化によりデジタルデータを記憶する。MTJ素子は、2枚の強磁性層の磁化配列によって、低抵抗状態と高抵抗状態とを取り得る。例えば、低抵抗状態をデータ“0”と定義し、高抵抗状態をデータ“1”と定義すれば、MTJ素子に1ビットデータを記録することができる。もちろん、低抵抗状態をデータ“1”と定義し、高抵抗状態をデータ“0”と定義してもよい。例えば、MTJ素子は、固定層、トンネルバリア層、記録層を順次積層して構成される。固定層Fおよび記録層Pは、強磁性体で構成されており、トンネルバリア層は、絶縁膜からなる。固定層Fは、磁化の向きが固定されている層であり、記録層Pは、磁化の向きが可変であり、その磁化の向きによってデータを記憶する。
書込み時に矢印A1の向きに電流を流すと、固定層Fの磁化の向きに対して記録層Pのそれがアンチパラレル状態となり、高抵抗状態(データ“1”)となる。書込み時に矢印A2の向きに電流を流すと、固定層Fと記録層Pとのそれぞれの磁化の向きがパラレル状態となり、低抵抗状態(データ“0”)となる。このように、TMJ素子は、電流方向によって異なるデータを書き込むことができる。
図3は、読出しグローバルデータバスRGDBおよび書込みグローバルデータバスWGDBとメモリセルマクロMCM1〜MCM4との間の接続関係を示す図である。図3では、一例として、メモリセルマクロMCM1〜MCM4のそれぞれにおいて2つのメモリセルアレイMCAを示している。図3では、センスアンプS/AとライトドライバW/Dのペア、および、読出しグローバルデータバスRGDBと書込みグローバルデータバスWGDBのペアは、1つずつ図示されている。しかし、実際には、これらのペアは複数設けられている。
読出しグローバルデータバスRGDBは、リードバッファRBに接続されており、書込みグローバルデータバスWGDBは、ライトバッファWBに接続されている。リードバッファRBおよびライトバッファWBは、比較バッファCMPBを介してリード・ライトデータ線RWDに接続されている。比較バッファCMPBは、図1の入出力ゲート回路IOG内に組み込まれている。
メモリセルマクロMCM1〜MCM4内においてメモリセルアレイMCA間にローカルロウデコーダLRDが設けられている。ローカルロウデコーダLRDは、ローカルワード線LWLを駆動するためのバッファとして機能する。従って、実際には、ロウコントローラRCは、メインワード線MWLおよびローカルロウデコーダLRDを介してワード線WLを駆動する。尚、図3では、メインワード線MWLは省略されている。
同一のマクロブロックMB内の複数のメモリセルマクロMCMは、読出しグローバルデータバスRGDBおよび書込みグローバルデータバスWGDBを共有している。
一方、同一のメモリセルマクロMCM内の複数のセンスアンプS/Aは、それぞれ複数の読出しラッチ部RLCHを介して異なる読出しグローバルデータバスRGDBに接続されている。読出しラッチ部RLCHは、センスアンプS/Aに対応して設けられており、センスアンプS/Aと読出しグローバルデータバスRGDBとの間に接続されている。読出しラッチ部RLCHは、センスアンプS/Aによって検出されたデータをラッチする。読出しラッチ部RLCHは、ラッチされたデータを、出力イネーブル信号SOE_Ci(iは整数)によって決定されるタイミングで出力するゲーテッドインバータIn1を含む。
メモリセルマクロMCM内の複数のライトドライバW/Dは、それぞれ複数の書込みラッチ部WLCHを介して異なる書込みグローバルデータバスWGDBに接続されている。書込みラッチ部WLCHは、ライトドライバW/Dに対応して設けられており、ライトドライバW/Dと書込みグローバルデータバスWGDBとの間に接続されている。書込みラッチ部WLCHは、入力イネーブル信号WIE_Ciによって決定されるタイミングで書込みグローバルデータバスWGDBから書込みデータを受け取るゲーテッドインバータIn2を含む。これにより、書込みラッチ部WLCHは、ライトドライバW/Dに送るためのデータをラッチする。
センスアンプS/AおよびライトドライバW/Dは、カラム選択線CSLによって選択されたビット線BLに接続される。尚、図3では、一方のメモリセルアレイMCAがセンスアンプS/Aに接続され、他方のメモリセルアレイMCAがライトドライバW/Dに接続されているように見える。しかし、各メモリセルアレイMCAは、それぞれカラム選択線CSLを介してセンスアンプS/AおよびライトドライバW/Dの両方に接続され得る。カラム選択線CSLの電圧は、カラムデコーダCDによって制御される。
比較バッファCMPBは、データ書込み動作において、書込みデータとそのデータを書き込むべき選択メモリセルMCに記憶されているデータとを一時的に格納し、これらのデータの論理を比較する回路である。
データ読出し時には、各メモリセルマクロMCMにおいて1本のメインワード線MWLが選択され、選択された該メインワード線MWLに接続された複数のメモリセルMCからのデータは複数の読出しグローバルデータバスRGDBを介してセンスアンプS/Aに同時に検出される。センスアンプS/Aで検出されたデータは、対応する読出しラッチ部RLCHに一時的に保持される。そして、出力イネーブル信号SOE_C1〜SOE_C4を異なるタイミングで順番に連続して活性化し、各メモリセルマクロMCMの読出しラッチ部RLCHから読出しグローバルデータバスRGDBへ連続的にデータを出力する。読出しデータは、読出しグローバルデータバスRGDBを介して比較バッファCMPBに一旦格納される。このとき、1つのメモリセルマクロMCM内の複数の読出しラッチ部RLCHは、それぞれに接続された複数の読出しグローバルデータバスRGDBに同時にデータを伝送してよい。これにより、マクロブロックMB内の全ての読出しグローバルデータバスRGDBを無駄なく用いてデータを並行に伝送することができる。一方、1つのマクロブロックMBにおける異なるメモリセルマクロMCM内の読出しラッチ部RLCHは、互いに異なるタイミングでデータを読出しグローバルデータバスRGDBへ伝達する。これにより、複数のデータが読出しグローバルデータバスRGDBでコリジョンすることなく連続的に伝送され得る。
データ書込み時には、比較バッファCMPBが、リード・ライトデータ線RWDを介して書込みデータを一旦格納する。そして、入力イネーブル信号WIE_C1〜WIE_C4を異なるタイミングで順番に連続して活性化し、書込みグローバルデータバスWGDBおよびライトバッファWBを介してデータを各メモリセルマクロMCMの書込みラッチ部WLCHへ連続的に取り込む。このとき、1つのメモリセルマクロMCM内の複数の書込みラッチ部WLCHは、それぞれに接続された複数の比較バッファCMPBから同時にデータを取り込んでよい。これにより、マクロブロックMB内の全ての書込みグローバルデータバスWGDBを無駄なく用いてデータを並行して伝送することができる。一方、1つのマクロブロックMBにおける異なるメモリセルマクロMCMの書込みラッチ部WLCHは、互いに異なるタイミングでデータを1つの比較バッファCMPBから受け取る。これにより、複数のデータが書込みグローバルデータバスWGDBでコリジョンすることなく連続的に書込みラッチ部WLCHへ伝送され得る。
図4は、比較バッファCMPBの内部構成を示すブロック図である。比較バッファCMPBは、マルチプレクサMUXと、DフリップフロップDFF1、DFF2と、ロジック回路LCと、ゲート回路G1とを備えている。
マルチプレクサMUXは、リードバッファRBおよびライトバッファWBに接続されており、読出しデータRD1〜RD4および書込みデータRWD1〜RWD4を受け取る。読出しデータRD1〜RD4および書込みデータRWD1〜RWD4は、それぞれメモリセルマクロMCM1〜MCM4に対応している。
マルチプレクサMUXは、読出しデータRD1〜RD4または書込みデータRWD1〜RWD4のいずれかを選択的にDフリップフロップDFF1へ転送する。例えば、マルチプレクサMUXは、読出しコマンドCBR_LTC1〜CBR_LTC4が活性化された場合に、読出しデータRD1〜RD4を選択し、書込みコマンドCBW_LTC1〜CBW_LTC4が活性化された場合に、書込みデータRWD1〜RWD4を選択する。
ゲート回路G1は、NORゲートであり、読出しコマンドCBR_LTC1〜CBR_LTC4および書込みコマンドCBW_LTC1〜CBW_LTC4を入力し、これらの少なくともいずれかが活性化されている場合に、DフリップフロップDFF1へのラッチコマンドLTC1を活性化する。
第1のラッチ部としてのDフリップフロップDFF1は、ラッチコマンドLTC1_1〜LTC1_4の活性化のタイミングで、マルチプレクサMUXからのデータRD1〜RD4またはRWD1〜RWD4をラッチする。
第2のラッチ部としてのDフリップフロップDFF2は、ラッチコマンドLTC2_1〜LTC2_4の活性化(読出しコマンドCBR_LTC1〜CBR_LTC4の活性化)のタイミングで、読出しデータRD1〜RD4をラッチする。
DフリップフロップDFF1、DFF2は、読出しグローバルデータバスRGDBおよびリードバッファRBを介して得られた読出しデータを1ページ分(例えば、128ビット)保持できるように設けられている。DフリップフロップDFF1は、リード・ライトデータ線RWDを介して得られた書込みデータを1ページ分(例えば、128ビット)保持できるように設けられている。
ロジック部としてのロジック回路LCは、プリチャージコマンドPRECH、DフリップフロップDFF1、DFF2にラッチされているデータRD1〜RD4またはRWD1〜RWD4を受け取り、これらのコマンドPRECHおよびデータRD1〜RD4、RWD1〜RWD4に基づいて書込み実行コマンドCBWを活性化させる。ロジック回路LCは、書込み実行コマンドCBWをライトバッファWBへ出力する。
例えば、ロジック回路LCは、プリチャージコマンドPRECHが活性化されたタイミングで、DフリップフロップDFF2からのデータRD1〜RD4の論理とDフリップフロップDFF1からのデータRD1〜RD4またはRWD1〜RWD4の論理とを比較する。そして、ロジック回路LCは、これらのデータの論理が異なる場合に書込み実行コマンドCBWを活性化させる。これらのデータの論理が同じである場合には、ロジック回路LCは、書込み実行コマンドCBWを不活性状態に維持する。
書込み実行コマンドCBWが活性化されると、ライトバッファWBは、DフリップフロップDFF1に格納された書込みデータのうち対応するアドレスの書込みデータをライトドライバWDへ転送する。書込み実行コマンドCBWが不活性状態である場合には、ライトバッファWBは、DフリップフロップDFF1に格納された書込みデータのうち対応するアドレスの書込みデータをライトドライバWDへ転送しない。尚、プリチャージコマンドPRECH1〜PRECH4は、バンクアドレス(メモリセルマクロMCMのアドレス)を有している。従って、ライトバッファWBは、プリチャージコマンドPRECH1〜PRECH4を受け取ったときに、バンクアドレスに従ってメモリセルマクロMCM1〜MCM4のいずれかに書込みデータを転送すればよい。
ロジック回路LCは、複数の書込みデータRWD1〜RWD4および複数の読出しデータRD1〜RD4に対して共通化されている。この場合、ロジック回路LCは、書込みデータRWD1〜RWD4と読出しデータRD1〜RD4との比較をそれぞれ異なるタイミングで実行すればよい。
(データ書込み動作)
図5は、第1の実施形態によるメモリのデータ書込み動作を示すタイミング図である。ここでは、例えば、各マクロブロックMBが4つのメモリセルマクロMCM1〜MCM4を含むものと仮定する。従って、4つのライトコマンドW1〜W4によって各メモリセルマクロMCM1〜MCM4への書込み動作(書込みシーケンス)が開始される。
本実施形態によるデータ書込み動作では、センスアンプS/Aが書込み対象である選択メモリセルMCからデータを一旦読み出し、比較バッファCMPBがその読出しデータを格納する。また、比較バッファCMPBは、選択メモリセルMCに書き込むべき書込みデータをリード・ライトデータ線RWDから受け取り、その書込みデータを格納する。即ち、データを実際に書き込む前に、選択メモリセルMCからデータを読み出している。従って、ライトコマンドW1〜W4に基づいて、読出しコマンドCBR_LTC1〜CBR_LTC4も活性化されている。
以下、より詳細にデータ書込み動作を説明する。
クロックCK_tに従って、アドレスCA(カラムアドレス、ロウアドレス等)および各種コマンドCmd(アクティブコマンドA、ライトコマンドW1〜W4等)がメモリへ送信される。尚、ロウアドレスによって、1つのメモリセルマクロMCMにおいて1本のメインワード線MWLが選択され、選択メインワード線MWLに接続された各セルアレイユニットCAU内のローカルワード線LWLも選択される。また、カラムアドレスによって、メモリセルマクロMCM内のセンスアンプS/Aのそれぞれに接続されるビット線BLが選択される。メモリセルマクロMCM内の複数のセンスアンプS/Aは、選択ビット線BLおよび選択ローカルワード線LWLに接続された選択メモリセルMCからデータを同時に読み出す。
t0において、メモリがアクティブコマンドAを受け取ると、ロウアドレスが選択される。その後、メモリがライトコマンドW1〜W4を受け取ると、カラムアドレスが選択される。
ワードイネーブル信号bMWLがロウレベルに活性化されると、ロウアドレスに従ってワード線LWL_C1〜LWL_C4の駆動が可能になる。カラム選択線CSLがハイレベルに活性化されると、図3を参照して説明したように、カラムアドレスによって選択されたビット線BLがセンスアンプS/Aに接続される。これにより、各メモリセルマクロMCM1〜MCM4のセンスアンプS/Aは、選択メモリセルMCのデータを検出することができる。センスアンプS/Aで検出されたデータは、読出しラッチ部RLCHにラッチされる。
ライトコマンドW1〜W4の受信に伴い、t1〜t4において、出力イネーブル信号SOE_C1〜SOE_C4を連続的に活性化する。これにより、メモリセルマクロMCM1〜MCM4の読出しラッチ部RLCHにラッチされた読出しデータは、読出しグローバルデータバスRGDBを介して連続的に比較バッファCMPBに転送される。そして、ライトコマンドW1〜W4の受信に伴い、t1〜t5において、読出しコマンドCBR_LTC1〜CBR_LTC4が連続的に活性化される。
t2において読出しコマンドCBR_LTC1が活性化された場合に、メモリセルマクロMCM1から読み出されたデータが図4に示す比較バッファCMPBのDフリップフロップDFF1、DFF2の両方に保持される。同様に、t3において読出しコマンドCBR_LTC2が活性化された場合に、メモリセルマクロMCM2から読み出されたデータが比較バッファCMPBのDフリップフロップDFF1、DFF2の両方に保持される。t4において読出しコマンドCBR_LTC3が活性化された場合に、メモリセルマクロMCM3から読み出されたデータが比較バッファCMPBのDフリップフロップDFF1、DFF2の両方に保持される。t5において読出しコマンドCBR_LTC4が活性化された場合に、メモリセルマクロMCM4から読み出されたデータが比較バッファCMPBのDフリップフロップDFF1、DFF2の両方に保持される。このように、メモリセルマクロMCM1〜MCM4のそれぞれの読出しデータが比較バッファCMPBのDフリップフロップDFF1、DFF2に格納される。
尚、読出しコマンドCBR_LTC2が示すアドレスは、読出しコマンドCBR_LTC1が示すアドレスとは異なるので、DフリップフロップDFF1、DFF2は、メモリセルマクロMCM1からの読出しデータおよびメモリセルマクロMCM1への書込みデータとは別にメモリセルマクロMCM2からの読出しデータを保持する。また、読出しコマンドCBR_LTC3が示すアドレスは、読出しコマンドCBR_LTC1、CBR_LTC2が示すアドレスとは異なるので、DフリップフロップDFF1、DFF2は、メモリセルマクロMCM1、MCM2からの読出しデータおよびメモリセルマクロMCM1、MCM2への書込みデータとは別にメモリセルマクロMCM3からの読出しデータを保持する。さらに、読出しコマンドCBR_LTC4が示すアドレスは、読出しコマンドCBR_LTC1〜CBR_LTC3が示すアドレスとは異なるので、DフリップフロップDFF1、DFF2は、メモリセルマクロMCM1〜MCM3からの読出しデータおよびメモリセルマクロMCM1〜MCM3への書込みデータとは別にメモリセルマクロMCM4からの読出しデータを保持する。
一方、t1〜t5において、データ線DQを介して比較バッファCMPBに書込みデータが転送される。t3〜t9において、比較バッファCMPBは、書込みコマンドCBW_LTC1〜CBW_LTC4に従って書込みデータRWD1〜RWD4を格納する。
(書込みコマンドCBW_LTC1による動作)
読出しコマンドCBR_LTC1の活性化後のt3において、書込みコマンドCBW_LTC1が活性化される。書込みコマンドCBW_LTC1は、読出しコマンドCBR_LTC1と対応しており、メモリセルマクロMCM1の選択メモリセルMCのアドレスを有している。即ち、書込みコマンドCBW_LTC1の活性化によって比較バッファCMPBに転送される書込みデータは、読出しコマンドCBR_LTC1の活性化によって比較バッファCMPBに転送された読出しデータと同一アドレスのデータである。
書込みコマンドCBW_LTC1が活性化されると、図4に示す比較バッファCMPBのDフリップフロップDFF1が書込みデータを保持する。このとき、DフリップフロップDFF1に格納されていた読出しデータは、この書込みデータによって更新(上書き)される。これは、書込みコマンドCBW_LTC1および読出しコマンドCBR_LTC1は、同じアドレスの選択メモリセルMCを示しているからである。
これにより、メモリセルマクロMCM1の選択メモリセルMCからの読出しデータは、DフリップフロップDFF2に保持され、メモリセルマクロMCM1の選択メモリセルMCへ書き込むべきデータは、DフリップフロップDFF1に保持される。
その後、t4〜t6においても、書込みコマンドCBW_LTC1が活性化されている。これは、メモリが同一アドレスの書込みデータを連続して受け取っていることを意味する。一連の書込みシーケンスにおいて、同一アドレスの書込みデータを複数受け取った場合、最後に受け取った書込みデータが有効である。従って、メモリセルマクロMCM1の選択メモリセルMCへ書き込むべきデータは、t4〜t6において、書込みコマンドCBW_LTC1の活性化ごとに更新される。そして、DフリップフロップDFF1は、t6において最後に受け取った書込みデータRWD1を有効に保持する。例えば、t4〜t6において、書込みコマンドCBW_LTC1が活性化されるごとに書込みデータが“1、1、1、0”と遷移した場合、最後に受け取ったデータ“0”が書込みデータRWD1となる。
(書込みコマンドCBW_LTC2による動作)
読出しコマンドCBR_LTC2の活性化後のt4において、書込みコマンドCBW_LTC2が活性化される。書込みコマンドCBW_LTC2は、読出しコマンドCBR_LTC2と対応しており、メモリセルマクロMCM2の選択メモリセルMCのアドレスを有している。
書込みコマンドCBW_LTC2が活性化されると、図4に示す比較バッファCMPBのDフリップフロップDFF1が書込みデータを保持する。このとき、読出しコマンドCBR_LTC2の活性化によってDフリップフロップDFF1に格納されていた読出しデータは、この書込みデータによって更新される。これは、書込みコマンドCBW_LTC2および読出しコマンドCBR_LTC2は、同じアドレスの選択メモリセルMCを示しているからである。
これにより、メモリセルマクロMCM2の選択メモリセルMCからの読出しデータは、DフリップフロップDFF2に保持され、メモリセルマクロMCM2の選択メモリセルMCへ書き込むべきデータは、DフリップフロップDFF1に保持される。
尚、この書込みシーケンスにおいて、書込みコマンドCBW_LTC2は、1回だけ活性化されている。従って、DフリップフロップDFF1は、t4において受け取った書込みデータRWD2を有効に保持する。
書込みコマンドCBW_LTC2が示すアドレスは、書込みコマンドCBW_LTC1が示すアドレスとは異なるので、DフリップフロップDFF1は、書込みデータRWD1とは別に書込みデータRWD2を保持する。読出しデータRD2についても、DフリップフロップDFF2は、読出しデータRD1とは別に読出しデータRD2を保持する。
(書込みコマンドCBW_LTC3による動作)
読出しコマンドCBR_LTC3の活性化後のt5において、書込みコマンドCBW_LTC3が活性化される。書込みコマンドCBW_LTC3は、読出しコマンドCBR_LTC3と対応しており、メモリセルマクロMCM3の選択メモリセルMCのアドレスを有している。
書込みコマンドCBW_LTC3が活性化されると、図4に示す比較バッファCMPBのDフリップフロップDFF1が書込みデータを保持する。このとき、読出しコマンドCBR_LTC3の活性化によってDフリップフロップDFF1に格納されていた読出しデータは、この書込みデータによって更新される。これは、書込みコマンドCBW_LTC3および読出しコマンドCBR_LTC3は、同じアドレスの選択メモリセルMCを示しているからである。
これにより、メモリセルマクロMCM3の選択メモリセルMCからの読出しデータは、DフリップフロップDFF2に保持され、メモリセルマクロMCM3の選択メモリセルMCへ書き込むべきデータは、DフリップフロップDFF1に保持される。
この書込みシーケンスにおいて、書込みコマンドCBW_LTC3は、2回活性化されている。DフリップフロップDFF1は、t6において受け取った最後の書込みデータRWD3を有効に保持する。
書込みコマンドCBW_LTC3が示すアドレスは、書込みコマンドCBW_LTC1、CBW_LTC2が示すアドレスとは異なるので、DフリップフロップDFF1は、書込みデータRWD1、RWD2とは別に書込みデータRWD3を保持する。読出しデータRD3についても、DフリップフロップDFF2は、読出しデータRD1、RD2とは別に読出しデータRD3を保持する。
(書込みコマンドCBW_LTC4による動作)
読出しコマンドCBR_LTC4の活性化後のt6において、書込みコマンドCBW_LTC4が活性化される。書込みコマンドCBW_LTC4は、読出しコマンドCBR_LTC4と対応しており、メモリセルマクロMCM4の選択メモリセルMCのアドレスを有している。
書込みコマンドCBW_LTC4が活性化されると、図4に示す比較バッファCMPBのDフリップフロップDFF1が書込みデータを保持する。このとき、読出しコマンドCBR_LTC4の活性化によってDフリップフロップDFF1に格納されていた読出しデータは、この書込みデータによって更新される。これは、書込みコマンドCBW_LTC4および読出しコマンドCBR_LTC4は、同じアドレスの選択メモリセルMCを示しているからである。
これにより、メモリセルマクロMCM4の選択メモリセルMCからの読出しデータは、DフリップフロップDFF2に保持され、メモリセルマクロMCM4の選択メモリセルMCへ書き込むべきデータは、DフリップフロップDFF1に保持される。
この書込みシーケンスにおいて、書込みコマンドCBW_LTC4は、3回活性化されている。DフリップフロップDFF1は、t8において受け取った最後の書込みデータRWD4を有効に保持する。
書込みコマンドCBW_LTC4が示すアドレスは、書込みコマンドCBW_LTC1〜CBW_LTC3が示すアドレスとは異なるので、DフリップフロップDFF1は、書込みデータRWD1〜RWD3とは別に書込みデータRWD4を保持する。読出しデータRD4についても、DフリップフロップDFF2は、読出しデータRD1〜RD3とは別に読出しデータRD4を保持する。
このように、本実施形態では、比較バッファCMPBは、一連の書込みシーケンス内において、複数の選択メモリセルMCのアドレスに対応するように書込みデータRWD1〜RWD4と読出しデータRD1〜RD4とをそれぞれラッチする。
その後、一連の書込みコマンドW1〜W4を受けた後、書込みシーケンスが終了すると、プリチャージコマンドPRECH1〜PRECH4が活性化される。プリチャージコマンドPRECH1〜PRECH4は、インターリーブ動作を実行するメモリセルマクロMCMの個数(バンク数)と同数だけ生成される。プリチャージコマンドPRECH1〜PRECH4の活性化を受けて、比較バッファCMPBのロジック回路LCは、読出しデータRD1〜RD4と書込みデータRWD1〜RWD4との論理をそれぞれアドレスごとに比較する。このとき、ロジック回路LCは、DフリップフロップFFD1およびFFD2の出力データの論理の異同をアドレスごとに検出する。
そして、読出しデータRD1〜RD4と書込みデータRWD1〜RWD4とが異なる論理である場合には、ロジック回路LCは、書込み実行コマンドCBW_A1〜CBW_A4を活性化させる。例えば、読出しデータRD1と書込みデータRWD1とが異なる論理である場合には、ロジック回路LCは、書込み実行コマンドCBW_A1を活性化させる。
読出しデータRD1〜RD4と書込みデータRWD1〜RWD4とが同一論理である場合には、ロジック回路LCは、書込み実行コマンドCBW_A1〜CBW_A4を活性化せず、非活性状態のままにする。例えば、読出しデータRD2と書込みデータRWD2とが同一論理である場合には、ロジック回路LCは、書込み実行コマンドCBW_A2を活性化せず、不活性状態のままにする。
図5に示す例では、読出しデータRD1と書込みデータRWD1とが互いに異なる論理であり、読出しデータRD4と書込みデータRWD4とが互いに異なる論理である。その他の書込みデータRWD2、RWD3は、それぞれ読出しデータRD2、RD3と同一論理である。従って、ロジック回路LCは、書込み実行コマンドCBW_A1、CBW_A4を活性化し(t10、t13)、書込み実行コマンドCBW_A2、CBW_A3を不活性状態のままとしている。
そして、ライトバッファWBは、書込み実行コマンドCBW_A1、CBW_A4の活性化に応じて、書込みグローバルデータバスWGDBを介して書込みデータRWD1、RWD4をメモリセルマクロMCM1、MCM4のライトドライバWDへ転送する。書込みデータRWD1、RWD4は、それぞれDフリップフロップDFF1に格納されているので、DフリップフロップDFF1から転送される。
例えば、t11において、入力イネーブル信号WIE_C1が活性化され、メモリセルマクロMCM1の書込みラッチ部WLCHは、書込みデータRWD1を受け取る。t14において、入力イネーブル信号WIE_C4が活性化され、メモリセルマクロMCM4の書込みラッチ部WLCHは、書込みデータRWD4を受け取る。尚、データ書込みを行わないメモリセルマクロMCM2,MCM3の入力イネーブル信号WIE_C2、WIE_C3は活性化されない。
そして、メモリセルマクロMCM1、MCM4の各ライトドライバWDは、書込みデータRWD1、RWD4を受け取ると、プリチャージ期間内に、その書込みデータRWD1、RWD4をメモリセルマクロMCM1、MCM4の選択メモリセルMCへ書き込む。
以上のように、本実施形態によれば、データ書込み動作において、書込み対象の選択メモリセルMCのデータを読み出し、比較バッファCMPBがその読出しデータRD1〜RD4の論理と書込みデータRWD1〜RWD4の論理とをアドレスごとに比較する。そして、読出しデータの論理と書込みデータの論理とが異なる場合に、ライトドライバWDは、その書込みデータを対応する選択メモリセルへ書き込む。読出しデータの論理と書込みデータの論理とが同一である場合、ライトドライバWDは、対応する選択メモリセルへ書き込まない。
これにより、書込みデータの論理が選択メモリセルMCに格納されているデータの論理と異なるメモリセルマクロMCM1、MCM4のみにおいて、ライトドライバWDは、選択メモリセルMCへの書込み動作を実行すればよい(即ち、選択メモリセルMCへセル電流を流せばよい)。一方、書込みデータの論理が選択メモリセルMCに格納されているデータの論理と同一であるメモリセルマクロMCM2、MCM3において、ライトドライバWDは、選択メモリセルMCへの書込み動作を実行する必要がない(即ち、選択メモリセルMCへセル電流を流す必要がない)。その結果、本実施形態は、データ書込みにおいて、無駄な消費電力を抑制することができる。
また、本実施形態では、一連の書込みコマンドW1〜W4によって取り込んだ書込みデータRWD1〜RWD4は、比較バッファCMPBに一旦格納される。比較バッファCMPBは、一連の書込みコマンドW1〜W4の受信後、プリチャージPRECH1〜PRECH4が活性化されると、書込み実行コマンドCBW_A1〜CBW_A4を活性化させる。これにより、ライトドライバWDは、プリチャージ期間中に選択メモリセルMCへの実際の書込み動作を実行する。従って、ユーザから見た見かけ上の書込み時間は、ライトバッファWBへのデータ書込みの時間となり、選択メモリセルMCへの実際の書込み時間は、ユーザに意識されない。従って、本実施形態によるMRAMは、書込み動作が非常に高速になり、インターリーブ動作が容易となる。
さらに、4つのプリチャージコマンドPRECH1〜PRECH4は、それぞれメモリセルマクロMCM1〜MCM4のアドレス(バンクアドレス)を有するので、プリチャージ期間において各メモリセルマクロMCM1〜MCM4への書込み動作を時間的に分散することができる。これにより、多数のメモリセルマクロMCMへの書込みが同時に行われることを防止し、消費電流が瞬間的に増大することを抑制することができる。即ち、本実施形態によるMRAMは、書込み電流を均すことができる。
さらに、比較バッファCMPBは、一連の書込みシーケンスにおいて、同一アドレスの書込みデータが連続して入力されても、その最後の書込みデータRWD1〜RWD4のみを保持する。そして、ライトドライバWDは、プリチャージ期間中に、その最後の書込みデータRWD1〜RWD4を選択メモリセルMCへ書き込む。従って、短時間(MTJ素子へデータを書き込むために必要な時間よりも短い時間)の間に同一メモリセルマクロMCMのメモリセルMCへ連続的にアクセスがあっても、書込み不良が生じない。尚且つ、MTJ素子へデータを書き込むために必要な時間を充分に得ることができる。
尚、比較バッファCMPBが格納する書込みデータおよび読出しデータの容量は限定されない。一連の書込みシーケンスにおいて、比較バッファCMPBは、リードバッファRBおよびライトバッファRBのそれぞれに2ページ以上のデータを格納してよい。1ページは、データ読出し単位であり、あるいは、データ書込み単位である。
(データ読出し動作)
データを外部へ読み出すデータ読出し動作では、データは、比較バッファCMPBに一旦格納された後、リード・ライトデータ線RWDを介して外部へ出力される。読出しデータを比較バッファCMPBに格納するまでの動作は、図5およびその説明を参照することによって容易に理解できる。従って、読出しデータの検出から比較バッファCMPBに格納するまでのメモリの動作についての詳細な説明は省略する。但し、メモリは、書込みコマンドW1〜W4に代えて読出しコマンドR1〜R4を受け取り、読出しコマンドR1〜R4に基づいて読出し動作を実行する。
図4に示す比較バッファCMPBのDフリップフロップDFF1、DFF2は、リードコマンドCBR_LTC1〜CBR_LTC4を受けたときに、両者とも読出しデータRD1〜RD4を保持する。その後、書込みコマンドは入力されないので、DフリップフロップDFF1、DFF2にラッチされている同じアドレスのデータは、互いに同一論理である。従って、データ読出し動作では、ロジック回路LCは、書込み実行コマンドCBW_A1〜CBW_A4を活性状態にすることはなく、ライトバッファWBは動作しない。
比較バッファCMPBは、DフリップフロップDFF1に格納された読出しデータをそのままの論理でリード・ライトデータ線RWDを介して出力すればよい。
尚、図3に示す各メモリセルマクロMCM1〜MCM4の読出しラッチ部RLCHが、出力イネーブル信号SOE_C1〜SOE_C4に基づいて順番にデータを読出しグローバルデータバスRGDBへ転送する。従って、バーストリード動作が可能である。
(第2の実施形態)
図6は、第2の実施形態に従ったMRAMの構成を示すブロック図である。第2の実施形態は、読出しグローバルデータバスRGDBおよび書込みグローバルデータバスWGDBが共通化されており、グローバルデータバスRWGDBとして設けられている。各メモリセルマクロMCM1〜MCM4の読出しラッチ部RLCHおよび書込みラッチ部WLCHは、ともにグローバルデータバスRWGDBに接続されており、グローバルデータバスRWGDBを介して比較バッファCMPBに接続されている。よって、第1の実施形態による比較バッファCMPBは、デュアルポート型であるが、第2の実施形態による比較バッファCMPBは、シングルポート型である。
図5に示すように、データ書込み動作では、書込みデータが書込みグローバルデータバスWGDBを伝搬するタイミング(t11〜t14)は、プリチャージ期間中である。従って、書込みデータが書込みグローバルデータバスWGDBを伝搬するタイミングは、読出しデータが読出しグローバルデータバスRGDBを伝搬するタイミング(t1〜t5)と重複しない。よって、第2の実施形態のようにグローバルデータバスRWGDBを共通にしても問題無い。これに伴い、リードバッファRBおよびライトバッファWBは、共通のグローバルデータバスRWGDBに接続される。リードバッファRBおよびライトバッファWBの機能は、第1の実施形態のそれらと同様である。第2の実施形態のその他の構成は、第1の実施形態の対応する構成と同様でよい。
図7は、第2の実施形態によるメモリのデータ書込み動作を示すタイミング図である。グローバルデータバスRWGDBは、読出しと書込みとにおいて共通化されており、読出しデータおよび書込みデータを異なるタイミングで伝搬する。第2の実施形態のその他の動作は、第1の実施形態の対応する動作と同様でよい。
第2の実施形態は、第1の実施形態と同様の効果を得ることができる。さらに、第2の実施形態では、読出しおよび書込みにおけるグローバルデータバスRWGDBが共通化されており、リードバッファRBおよびライトバッファWBが省略されている。従って、第2の実施形態によるMRAMは、メモリチップの微細化に有利である。
(第3の実施形態)
図8は、第3の実施形態に従ったMRAMの構成を示すブロック図である。第3の実施形態では、リードバッファRBと比較バッファCMPBとの間にECC(Error Correcting Code)デコーダECCDECが設けられている。ライトバッファWBと比較バッファCMPBとの間にECCエンコーダECCENCが設けられている。第3の実施形態のその他の構成は、第1の実施形態の対応する構成と同様でよい。
図9は、第3の実施形態に従った比較バッファCMPBの構成を示すブロック図である。比較バッファCMPBの構成自体は、第1の実施形態による比較バッファCMPBの構成と同じである。しかし、マルチプレクサMUXは、ECCデコーダECCDECによって補正された読出しデータPRD1〜PRD4を受けている。従って、読出しコマンドCBR_LTC1〜CBR_LTC4の活性化によって、DフリップフロップDFF1は、補正読出しデータPRD1〜PRD4をラッチする。
第3の実施形態によるデータ書込み動作は、第1の実施形態によるデータ書込み動作と同じである。図5を参照して説明したように、DフリップフロップDFF1は、読出しコマンドCBR_LTC1〜CBR_LTC4の活性化によって、一旦、補正読出しデータPRD1〜PRD4をラッチする。しかし、その後、書込みコマンドCBE_LTC1〜CBE_LTC4が活性化されるので、DフリップフロップDFF1は、書込みデータRWD1〜RWD4で更新される。
従って、比較バッファCMPBは、選択メモリセルMCに実際に格納されている読出しデータRD1〜RD4と書込みデータRWD1〜RWD4とを比較する。従って、読出しデータRD1〜RD4と補正読出しデータPRD1〜PRD4との相違は、問題とならない。
一方、外部へデータを読み出すデータ読出し動作では、DフリップフロップDFF1は、補正読出しデータPRD1〜PRD4を格納し、DフリップフロップDFF2は、読出しデータRD1〜RD4を格納する。従って、もし、補正読出しデータPRD1〜PRD4と読出しデータRD1〜RD4とが相違している場合、ロジック回路LCは、書込み実行コマンドCBW_A1〜CBW_A4を活性化させる。これにより、ライトバッファWBは、DフリップフロップDFF1に保持された補正読出しデータPRD1〜PRD4をメモリセルMCへ書き込む。即ち、メモリセルMCに格納されていたデータの論理が誤っていた場合には、比較バッファCMPBは、補正後の正しいデータPRD1〜PRD4を該メモリセルMCに書き込むことができる。
このように、第3の実施形態は、ECC回路を有するMRAMにも適用することができる。第3の実施形態のその他の動作は、第1の実施形態の動作と同様でよい。これにより、第3の実施形態は、第1の実施形態と同様の効果をさらに得ることができる。
(第4の実施形態)
図10は、第4の実施形態に従ったMRAMの構成を示すブロック図である。第4の実施形態は、第2および第3の実施形態の組み合わせである。即ち、第4の実施形態は、読出しグローバルデータバスRGDBおよび書込みグローバルデータバスWGDBが共通化されており、グローバルデータバスRWGDBとして設けられている。また、ECCデコーダECCDECおよびECCエンコーダECCENCがリードバッファRB、ライトバッファWBと比較バッファCMPBとの間に設けられている。
第2の実施形態と同様に、グローバルデータバスRWGDBは、読出しと書込みとにおいて共通化されている。しかし、読出しデータと書込みデータとは、異なるタイミングで転送される。従って、図10に示すようにグローバルデータバスRWGDBを共通にしても問題無い。また、このMRAMはECC回路ECCDEC、ECCENCを有するので、比較バッファCMPBは、第3の実施形態の比較バッファCMPBと同様に動作する。
これにより、第4の実施形態は、第2および第3の実施形態と同様の効果を併せ持つことができる。
(第5の実施形態)
図11は、第5の実施形態に従ったMRAMの構成を示すブロック図である。図12は、第5の実施形態に従った比較バッファCMPBの構成を示すブロック図である。図11に示すように、比較バッファCMPBのうちロジック回路LC1〜LC4は、それぞれメモリセルマクロMCM1〜MCM4内に配置されている。ロジック回路LC1〜LC4は、それぞれ第1の実施形態のロジック回路LCと同様の構成を有する。ロジック回路LC1〜LC4は、読出しラッチ部RLCHに接続されており、読出しラッチ部RLCHからの読出しデータRD1〜RD4を、読出しグローバルデータバスRGDBを介することなく直接受け取る。ロジック回路LC1〜LC4は、書込みラッチ部WLCHに接続されており、書込みデータRWD1〜RWD4を、書込みグローバルデータバスWGDBを介することなく書込みラッチ部WLCHへ直接転送する。
マルチプレクサMUX、DフリップフロップDFF1およびゲート回路G1は、他の実施形態と同様にリードバッファRB、ライトバッファWBとリード・ライトデータ線RWDとの間に設けられている。
ロジック回路LC1〜LC4は、読出しデータRD1〜RD4を直接受け取るので、図12に示すように、比較バッファCMPBのDフリップフロップDFF2は省略されている。DフリップフロップDFF1、マルチプレクサMUXおよびゲート回路G1の構成は、図4に示すそれらの構成と同様でよい。従って、マルチプレクサMUXは、読出しグローバルデータバスRGDBを介して読出しデータRD1〜RD4(または補正読出しデータPRD1〜PRD4)を受け取る。
このように、第5の実施形態による比較バッファCMPBは、読出しデータRD1〜RD4を読出しラッチ部RLCHから直接受け取るので、DフリップフロップDFF2が不要となる。しかし、読出しデータRD1〜RD4を同時に受け取ることができるように、ロジック回路LC1〜LC4を個別に設ける必要がある。
(データ書込み動作)
データ書込み動作において、読出しデータRD1〜RD4が図11に示す読出しラッチ部RLCHにラッチされると、読出しデータRD1〜RD4はロジック回路LC1〜KC4へ直接伝達される。また、読出しデータRD1〜RD4は、読出しグローバルデータバスRGDBを介してDフリップフロップDFF1に格納される。読出しデータRD1〜RD4が比較バッファCMPB内のDフリップフロップDFF1に格納される動作は、第1の実施形態における対応する動作と同様である。また、DフリップフロップDFF1が書込みデータRWD1〜RWD4を保持する動作も、第1の実施形態における対応する動作と同様である。従って、DフリップフロップDFF1には、読出しデータRD1〜RD4が格納された後、書込みデータRWD1〜RWD4によって更新される。よって、DフリップフロップDFF1は、書込みデータRWD1〜RWD4を格納している。
そして、一連の書込みシーケンスの終了後、プリチャージコマンドPRECH1〜PRECH4が異なるタイミングで順番に活性化される。これにより、ロジック回路LC1〜LC4が、それぞれ書込みデータRWD1〜RWD4と読出しデータRD1〜RD4とを比較する。ロジック回路LC1〜LC4が、それぞれ書込みデータRWD1〜RWD4の論理と読出しデータRD1〜RD4の論理とが異なっている場合に書込み実行コマンドCBW_A1〜CBW_A4を活性化する。
書込みデータRWD1〜RWD4は、それぞれロジック回路LC1〜LC4、メモリセルマクロMCM1〜MCM4の書込みラッチ部WLCHに伝達される。メモリセルマクロMCM1〜MCM4の書込みラッチ部WLCHは、それぞれ書込みデータRWD1〜RWD4をラッチする。
書込み実行コマンドCBW_A1〜CBW_A4は、ロジック回路LC1〜KC4からライトドライバW/Dへ直接供給される。従って、書込み実行コマンドCBW_A1〜CBW_A4が活性化されると、ライトドライバWDが書込みデータRWD1〜RWD4の書込みを開始する。
一連の書込みシーケンスの終了後、メモリはプリチャージ状態になる。第5の実施形態では、書込みデータRWD1〜RWD4がロジック回路LC1〜KC4を介してまたは直接書込みラッチ部WLCHへ転送される。従って、書込み実行コマンドCBW_A1〜CBW_A4を活性化させるプリチャージコマンドPRECH1〜PRECH4は、同時に活性化させてもよい。即ち、メモリセルマクロMCM1〜MCM4は、同時にプリチャージ状態になってもよい。
第5の実施形態は、ロジック回路をメモリセルマクロMCM1〜MCM4ごとに設ける必要があるが、DフリップフロップDFF2を省くことができる。また、メモリセルマクロMCM1〜MCM4を同時にプリチャージすることができる。第5の実施形態は、さらに、第1の実施形態の効果も得ることができる。
図示しないが、第5の実施形態は、第2の実施形態に適用することができる。即ち、第5の実施形態において、読出しグローバルデータバスRGDBおよび書込みグローバルデータバスWGDBを共通化して、グローバルデータバスRWGDBとしてもよい。この場合には、第5の実施形態は、第2の実施形態の効果も得ることができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
MCA・・・メモリセルアレイ、MWL・・・メインワード線、LWL・・・ローカルワード線、RGDB・・・読出しグローバルデータバス、WGDB・・・書込みグローバルデータバス、S/A・・・センスアンプ、W/D・・・ライトドライバ、RB・・・リードバッファ、WB・・・ライトバッファ、IOG・・・入出力ゲート回路、RWD・・・リード・ライトデータ線、MCM1〜MCM4・・・メモリセルマクロ、CMPB・・・比較バッファ、IOG・・・入出力ゲート回路、RLCH・・・読出しラッチ部、WLCH・・・書込みラッチ部、MUX・・・マルチプレクサ、DFF1、DFF2・・・Dフリップフロップ、LC・・・ロジック回路、G1・・・ゲート回路、ECCDEC・・・ECCデコーダ、ECCENC・・・ECCエンコーダ

Claims (9)

  1. 複数のビット線と、
    複数のワード線と、
    前記ビット線と前記ワード線とに接続されデータを記憶可能な複数のメモリセルを含むメモリセルアレイと、
    前記メモリセルに格納されたデータを検出する複数のセンスアンプと、
    前記メモリセルにデータを書き込む複数のライトドライバと、
    前記センスアンプにおいて検出された読出しデータおよび前記ライトドライバによって前記メモリセルへ書き込むべき書込みデータを一時的に格納し、該読出しデータと該書込みデータとを比較する比較バッファとを備え、
    一連の書込みシーケンス中において、前記比較バッファは、書込み対象である選択メモリセルからの読出しデータおよび該選択メモリセルに書き込むべき書込みデータを格納し、
    前記一連の書込みシーケンス後、前記ビット線の電圧をリセットするプリチャージコマンドを受けたときに、前記比較バッファは、前記選択メモリセルからの読出しデータと該選択メモリセルへの書込みデータとを比較し、
    前記比較バッファは、前記選択メモリセルからの読出しデータの論理と該選択メモリセルへの書込みデータの論理とが異なる場合に、前記ライトドライバが前記選択メモリセルへの書込みを実行するように書込み実行コマンドを活性化し、前記選択メモリセルからの読出しデータの論理と前記選択メモリセルへの書込みデータの論理とが同一である場合には書込み実行コマンドを活性化しないことを特徴とする半導体記憶装置。
  2. 複数のビット線と、
    複数のワード線と、
    前記ビット線と前記ワード線とに接続されデータを記憶可能な複数のメモリセルを含むメモリセルアレイと、
    前記メモリセルに格納されたデータを検出する複数のセンスアンプと、
    前記メモリセルにデータを書き込む複数のライトドライバと、
    選択メモリセルからの読出しデータおよび前記選択メモリセルへ書き込むべき書込みデータを一時的に格納し、該読出しデータと該書込みデータとを比較する比較バッファとを備え、
    書込みシーケンス中において、前記比較バッファは、前記読出しデータおよび前記書込みデータを格納し、
    前記書込みシーケンス後、前記ビット線の電圧をリセットするプリチャージコマンドを受けたときに、前記比較バッファは、前記選択メモリセルからの読出しデータの論理と前記選択メモリセルへの書込みデータの論理とが異なる場合に前記選択メモリセルへの書込みを実行する書込み実行コマンドを活性化し、前記選択メモリセルからの読出しデータの論理と前記選択メモリセルへの書込みデータの論理とが同一である場合には書込み実行コマンドを活性化しないことを特徴とする半導体記憶装置。
  3. 前記比較バッファに格納された書込みデータを前記メモリセルアレイへ送信するライトバッファをさらに備え、
    前記比較バッファは、前記ライトバッファへ前記書込み実行コマンドを出力し、
    前記ライトバッファは、
    前記選択メモリセルからの読出しデータの論理と前記選択メモリセルへの書込みデータの論理とが異なる場合に前記書込みデータを前記メモリセルアレイへ送信し、前記選択メモリセルからの読出しデータの論理と前記選択メモリセルへの書込みデータの論理とが同一である場合には前記書込みデータを前記メモリセルアレイへ送信しないことを特徴とする請求項2に記載の半導体記憶装置。
  4. 前記比較バッファは、
    前記選択メモリセルへ書き込むべき書込みデータを保持する第1のラッチ部と、
    前記選択メモリセルからの読出しデータを保持する第2のラッチ部と、
    前記プリチャージコマンドが活性化されたときに、前記第2のラッチ部からの読出しデータの論理と前記第1のラッチ部からの書込みデータの論理とを比較し、該読出しデータの論理と該書込みデータの論理とが異なる場合に前記書込み実行コマンドを活性化させるロジック部とを備えたことを特徴とする請求項2または請求項3に記載の半導体記憶装置。
  5. 前記第1のラッチ部に保持された前記選択メモリセルからの読出しデータは、前記書込みデータによって上書きされることを特徴とする請求項4に記載の半導体記憶装置。
  6. 前記選択メモリセルからの読出しデータを外部へ出力するデータ読出し動作において、前記第1および第2のラッチ部は、ともに前記選択メモリセルからの読出しデータを保持し、
    前記ロジック部は、前記書込み実行コマンドを不活性状態に維持することを特徴とする請求項4または請求項5に記載の半導体記憶装置。
  7. 前記選択メモリセルからの読出しデータの誤りを補正する誤り補正部をさらに備え、
    前記選択メモリセルからの読出しデータを外部へ出力するデータ読出し動作において、前記第1のラッチ部は、前記選択メモリセルからの読出しデータの誤りを補正した補正読出しデータを保持し、
    前記第1のラッチ部に保持された前記補正読出しデータは、前記書込みデータによって上書きされ、
    前記ロジック部は、前記第1のラッチ部において保持されている前記書込みデータの論理と前記第2のラッチ部に保持されている前記読出しデータの論理とが異なる場合に、前記書込み実行コマンドを活性状態にすることを特徴とする請求項4から請求項6のいずれかに記載の半導体記憶装置。
  8. 前記比較部において比較される読出しデータおよび書込みデータは、同じアドレスを有することを特徴とする請求項2から請求項7のいずれかに記載の半導体記憶装置。
  9. データを記憶可能な複数のメモリセルを含むメモリセルアレイと、前記メモリセルに格納されたデータを検出する複数のセンスアンプと、前記メモリセルにデータを書き込む複数のライトドライバと、選択メモリセルからの読出しデータおよび前記選択メモリセルへ書き込むべき書込みデータを一時的に格納する比較バッファとを備えた半導体記憶装置の駆動方法であって、
    書込みシーケンス中において、前記読出しデータおよび前記書込みデータを前記比較バッファに格納し、
    前記書込みシーケンス後、前記ビット線の電圧をリセットするプリチャージコマンドを受けたときに、前記比較バッファは、前記選択メモリセルからの読出しデータの論理と前記選択メモリセルへの書込みデータの論理とが異なる場合に前記選択メモリセルへの書込みを実行する書込み実行コマンドを活性化し、前記選択メモリセルからの読出しデータの論理と前記選択メモリセルへの書込みデータの論理とが同一である場合には書込み実行コマンドを活性化しない、ことを具備する半導体記憶装置の駆動方法。
JP2012006321A 2012-01-16 2012-01-16 半導体記憶装置 Active JP5727948B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012006321A JP5727948B2 (ja) 2012-01-16 2012-01-16 半導体記憶装置
US13/604,338 US8654596B2 (en) 2012-01-16 2012-09-05 Nonvolatile semiconductor storage device equipped with a comparison buffer for reducing power consumption during write
US15/004,713 USRE47639E1 (en) 2012-01-16 2016-01-22 Nonvolatile semiconductor storage device equipped with a comparison buffer for reducing power consumption during write

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012006321A JP5727948B2 (ja) 2012-01-16 2012-01-16 半導体記憶装置

Publications (2)

Publication Number Publication Date
JP2013145622A JP2013145622A (ja) 2013-07-25
JP5727948B2 true JP5727948B2 (ja) 2015-06-03

Family

ID=48779847

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012006321A Active JP5727948B2 (ja) 2012-01-16 2012-01-16 半導体記憶装置

Country Status (2)

Country Link
US (2) US8654596B2 (ja)
JP (1) JP5727948B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5443420B2 (ja) * 2011-03-23 2014-03-19 株式会社東芝 半導体記憶装置
KR20150029848A (ko) * 2013-09-10 2015-03-19 매그나칩 반도체 유한회사 메모리 프로그래밍 방법 및 이를 수행하는 장치
KR102646755B1 (ko) * 2017-01-06 2024-03-11 삼성전자주식회사 저항 변화 물질을 포함하는 메모리 장치 및 그 구동 방법
JP2018112883A (ja) * 2017-01-11 2018-07-19 東芝メモリ株式会社 半導体記憶装置
JP2019053794A (ja) * 2017-09-13 2019-04-04 東芝メモリ株式会社 半導体記憶装置
JP2020047352A (ja) * 2018-09-20 2020-03-26 キオクシア株式会社 半導体記憶装置
JP7390794B2 (ja) 2019-02-27 2023-12-04 東京エレクトロン株式会社 基板処理装置及び接合方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5787484A (en) * 1996-08-08 1998-07-28 Micron Technology, Inc. System and method which compares data preread from memory cells to data to be written to the cells
US6584589B1 (en) * 2000-02-04 2003-06-24 Hewlett-Packard Development Company, L.P. Self-testing of magneto-resistive memory arrays
KR20020002133A (ko) * 2000-06-29 2002-01-09 박종섭 컬럼 리던던시 회로
JP3701886B2 (ja) * 2001-04-27 2005-10-05 インターナショナル・ビジネス・マシーンズ・コーポレーション 記憶回路ブロック及びアクセス方法
JP2003272389A (ja) * 2002-03-20 2003-09-26 Sony Corp データ記憶回路及び同データ記憶回路におけるデータ書込み方法及びデータ記憶装置
ATE476709T1 (de) 2002-12-30 2010-08-15 Nxp Bv Speichersteuerung und verfahren zum schreiben in einen speicher
JP2005108304A (ja) 2003-09-29 2005-04-21 Toshiba Corp 半導体記憶装置及びその制御方法
KR100605573B1 (ko) * 2004-05-06 2006-07-31 주식회사 하이닉스반도체 멀티-포트 메모리 소자
JP2006065986A (ja) * 2004-08-27 2006-03-09 Fujitsu Ltd 磁気抵抗メモリおよび磁気抵抗メモリ書き込み方法
US7630234B2 (en) * 2005-09-14 2009-12-08 Nec Corporation Magnetic random access memory
JP4309421B2 (ja) 2006-12-25 2009-08-05 エルピーダメモリ株式会社 半導体記憶装置とその書き込み制御方法
WO2009016824A1 (ja) 2007-08-01 2009-02-05 Panasonic Corporation 不揮発性記憶装置
US7948786B2 (en) * 2008-02-06 2011-05-24 Micron Technology, Inc. Rank select using a global select pin
KR20090108182A (ko) * 2008-04-11 2009-10-15 삼성전자주식회사 반도체 메모리 장치의 병렬비트 테스트 회로
US8077505B2 (en) 2008-05-07 2011-12-13 Macronix International Co., Ltd. Bipolar switching of phase change device
JP2009271991A (ja) * 2008-05-07 2009-11-19 Toshiba Corp 半導体記憶装置
JP2010003348A (ja) * 2008-06-19 2010-01-07 Toshiba Corp 半導体記憶装置及び誤り訂正方法
KR100940868B1 (ko) * 2009-05-25 2010-02-09 이성재 디램으로 에스램 출력특성을 구현하는 장치 및 방법
US8077508B1 (en) 2009-08-19 2011-12-13 Grandis, Inc. Dynamic multistate memory write driver
US8077501B2 (en) 2009-09-11 2011-12-13 Grandis, Inc. Differential read and write architecture
US9099181B2 (en) 2009-08-19 2015-08-04 Grandis, Inc. Non-volatile static ram cell circuit and timing method
JP2011060388A (ja) 2009-09-11 2011-03-24 Toshiba Corp 不揮発性メモリ装置
US8347175B2 (en) * 2009-09-28 2013-01-01 Kabushiki Kaisha Toshiba Magnetic memory
JP2011138567A (ja) * 2009-12-25 2011-07-14 Toshiba Corp 半導体記憶装置
JP5190499B2 (ja) * 2010-09-17 2013-04-24 株式会社東芝 半導体記憶装置
KR101847890B1 (ko) * 2010-10-12 2018-04-12 삼성세미콘덕터, 인코포레이티드 슈도 페이지 모드 메모리 아키텍쳐 및 방법
JP5443420B2 (ja) 2011-03-23 2014-03-19 株式会社東芝 半導体記憶装置

Also Published As

Publication number Publication date
US20130182496A1 (en) 2013-07-18
JP2013145622A (ja) 2013-07-25
USRE47639E1 (en) 2019-10-08
US8654596B2 (en) 2014-02-18

Similar Documents

Publication Publication Date Title
US10198221B2 (en) Methods of operating semiconductor memory devices with selective write-back of data for error scrubbing and related devices
JP5443420B2 (ja) 半導体記憶装置
US10156995B2 (en) Semiconductor memory devices and methods of operating the same
KR102374228B1 (ko) 저항성 메모리 장치의 부스트 전압 생성기, 이를 포함하는 전압 생성기 및 이를 포함하는 저항성 메모리 장치
JP5727948B2 (ja) 半導体記憶装置
US9330743B2 (en) Memory cores of resistive type memory devices, resistive type memory devices and method of sensing data in the same
TWI665668B (zh) 半導體儲存裝置及記憶體系統
US10423483B2 (en) Semiconductor memory device and method for controlling write timing of parity data
US9153308B2 (en) Magnetic random access memory device
US20140140124A1 (en) Resistive memory device having selective sensing operation and access control method thereof
US10452475B2 (en) Memory system and resistance change type memory
US10037817B2 (en) Semiconductor memory devices and memory systems including the same
US8848457B2 (en) Semiconductor storage device and driving method thereof
US20160266804A1 (en) Memory device
JP2019057341A (ja) 半導体記憶装置
JP2012203938A (ja) 半導体記憶装置
JP2013191263A (ja) 半導体記憶装置およびその駆動方法
JP2013200904A (ja) 半導体記憶装置およびその駆動方法
KR20140065319A (ko) 선택 센싱 동작을 갖는 저항성 메모리 장치 및 그에 따른 억세스 동작 제어방법
JP2013200905A (ja) 半導体記憶装置およびその駆動方法
JP2005063553A (ja) 磁性体記憶装置
JP2010027202A (ja) 磁性体記憶装置
JP2013200906A (ja) 半導体記憶装置およびその駆動方法
JP2013097832A (ja) 半導体記憶装置およびその駆動方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140718

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140819

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141014

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150306

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150403

R151 Written notification of patent or utility model registration

Ref document number: 5727948

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350