JP2018156556A - 計算機システム及びメモリデバイス - Google Patents
計算機システム及びメモリデバイス Download PDFInfo
- Publication number
- JP2018156556A JP2018156556A JP2017054585A JP2017054585A JP2018156556A JP 2018156556 A JP2018156556 A JP 2018156556A JP 2017054585 A JP2017054585 A JP 2017054585A JP 2017054585 A JP2017054585 A JP 2017054585A JP 2018156556 A JP2018156556 A JP 2018156556A
- Authority
- JP
- Japan
- Prior art keywords
- data
- read
- circuit
- signal
- sense amplifier
- 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
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital 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
- G11C11/165—Auxiliary circuits
- G11C11/1673—Reading or sensing circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital 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
- G11C11/165—Auxiliary circuits
- G11C11/1653—Address circuits or decoders
- G11C11/1655—Bit-line or column circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital 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
- G11C11/165—Auxiliary circuits
- G11C11/1675—Writing or programming circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital 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
- G11C11/165—Auxiliary circuits
- G11C11/1693—Timing circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/004—Reading or sensing circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0061—Timing circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/004—Reading or sensing circuits or methods
- G11C2013/0057—Read done in two steps, e.g. wherein the cell is read twice and one of the two read values serving as a reference value
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
Abstract
【課題】 動作速度の向上及び信頼性の向上を図る。【解決手段】実施形態の計算機システムは、プロセッサと、第1及び第2の読み出し動作X1,X2を実行するメモリデバイスと、を含む。メモリデバイスは、第1の読み出し動作X1によってメモリセルアレイの選択領域から第1のデータDOUT1を読み出し、第2の読み出し動作X2によって選択領域から第2のデータDOUT2を読み出す。プロセッサは、第2の読み出し動作X2の実行時に、第1のデータDOUT1を用いた計算処理P1を実行する。第1及び第2のデータDOUT1,DOUT2の比較結果に基づいて、第1及び第2のデータDOUT1,DOUT2が一致していると判定された場合において、第1のデータDOUT1が有効であることを示す信号SVLDが出力される。プロセッサは、信号SVLDに基づいて計算処理P1の結果を取得する。【選択図】 図15
Description
本発明の実施形態は、計算機システム及びメモリデバイスに関する。
近年、MRAMのような抵抗変化型メモリを用いた計算機システムの開発が、推進されている。
動作速度の向上及び信頼性の向上を図る。
本実施形態の計算機システムは、プロセッサと、メモリセルアレイを含み、第1の読み出し方式の第1の読み出し動作及び第2の読み出し方式の第2の読み出し動作を前記メモリセルアレイに対して実行するメモリデバイスと、を含み、前記メモリデバイスは、前記第1の読み出し動作によって、前記メモリセルアレイ内の選択領域から第1のデータを読み出し、前記メモリデバイスは、前記第2の読み出し動作によって、前記選択領域から第2のデータを読み出し、前記第2の読み出し動作の実行時において、前記プロセッサは、前記メモリデバイスからの前記第1のデータを用いた第1の計算処理を実行し、前記第1のデータ及び前記第2のデータの比較結果に基づいて、前記第1のデータと前記第2のデータとが一致していると判定された場合において、前記第1のデータが有効であることを示す第1の信号が出力され、前記プロセッサは、前記第1の信号に基づいて、前記第1の計算処理の結果を取得する。
[実施形態]
図1乃至図31を参照して、実施形態の計算機システム及び実施形態のメモリデバイスについて、説明する。
図1乃至図31を参照して、実施形態の計算機システム及び実施形態のメモリデバイスについて、説明する。
以下の説明において、同一の機能及び構成を有する要素については、同一符号を付す。また、以下の実施形態において、区別化のために数字/英字が参照符号の末尾に付された構成要素(例えば、ワード線WLやビット線BL、各種の電圧及び信号など)が相互に区別されない場合、末尾の数字/英字が省略された表記が用いられる。
[A]基本形態
図1乃至図5を参照して、実施形態の計算機システムの基本形態について、説明する。
[A]基本形態
図1乃至図5を参照して、実施形態の計算機システムの基本形態について、説明する。
(A1) 構成
図1は、本実施形態の計算機システムの構成例を説明するための模式図である。
図1は、本実施形態の計算機システムの構成例を説明するための模式図である。
図1に示されるように、本実施形態の計算機システムは、メモリデバイス1とプロセッサ9とを含む。
プロセッサ9は、計算処理を実行する。
プロセッサ9は、メモリデバイス1に対して、各種の命令(要求)を実行させる。
プロセッサ9は、メモリデバイス1に対して、各種の命令(要求)を実行させる。
例えば、プロセッサ9は、メモリデバイス1に対して、データの書き込みを命令する。
プロセッサ9は、計算処理の実行時に、メモリデバイス1内の所望のアドレス(選択アドレス)からのデータの読み出しを、メモリデバイス1に命令する。プロセッサ9は、読み出されたデータを、計算処理に用いる。
メモリデバイス1は、データを保持するメモリ領域を含む。メモリ領域は、メモリセルアレイを含む。複数のメモリセルMCが、メモリセルアレイ内に設けられている。
メモリデバイス1は、プロセッサ9からの命令に基づいて、データの書き込み及びデータの読み出しなどの各種の動作を、実行する。
メモリデバイス1は、プロセッサ9からの命令に基づいて、データを読み出す。
メモリデバイス1は、メモリセルアレイ100内の選択アドレス内のデータの読み出し時において、第1の読み出し動作及び第2の読み出し動作を用いて、1つの選択アドレスに対するデータの読み出しを行う。第1の読み出し動作に用いられるデータの読み出し方式は、第2の読み出し動作に用いられるデータの読み出し方式とは異なる。メモリデバイス1は、1つのコマンドに基づいて、1つの選択アドレスに対して2回の読み出し動作を連続して実行する。
本実施形態のメモリデバイス1は、例えば、抵抗変化型メモリである。抵抗変化型メモリにおいて、可変抵抗素子が、メモリセル内のメモリ素子に用いられている。
可変抵抗素子の抵抗状態は、ある大きさの電圧又は電流が可変抵抗素子に供給されることによって、変化する。これによって、可変抵抗素子は、複数の抵抗状態(抵抗値)を取り得る。可変抵抗素子の取り得る複数の抵抗状態に対して、1ビット以上のデータが関連付けられる。このように、可変抵抗素子が、メモリ素子として利用される。
可変抵抗素子の抵抗状態が電圧の供給によって変化するか又は電流の供給によって変化するかは、可変抵抗素子の種類に応じる。
本実施形態において、抵抗変化型メモリは、例えば、MRAM(Magnetoresistive random access memory)である。MRAM1において、磁気抵抗効果素子が、メモリ素子に用いられている。
<メモリ素子の基本動作>
図2を用いて、メモリ素子としての磁気抵抗効果素子の動作原理について、説明する。
図2を用いて、メモリ素子としての磁気抵抗効果素子の動作原理について、説明する。
図2に示されるように、磁気抵抗効果素子400は、2つの磁性層401,402と、非磁性層403とを少なくとも含む。
2つの磁性層401,402のそれぞれは、磁化を有する。磁性層401の磁化の向きは、可変である。磁性層402の磁化の向きは、不変(固定状態)である。
本実施形態において、磁化の向きが可変な磁性層401は、記憶層401とよばれ、磁化の向きが不変な磁性層402は、参照層402とよばれる。
本実施形態において、磁化の向きが可変な磁性層401は、記憶層401とよばれ、磁化の向きが不変な磁性層402は、参照層402とよばれる。
非磁性層403は、2つの磁性層401,402間に設けられている。非磁性層403は、トンネルバリア層403として機能する。例えば、トンネルバリア層403は、酸化マグネシウムを含む絶縁層である。
例えば、2つの磁性層401,402及びトンネルバリア層403によって、磁気トンネル接合が、形成される。本実施形態において、磁気トンネル接合を有する磁気抵抗効果素子400は、MTJ素子400とよばれる。
例えば、磁性層401,402は、垂直磁気異方性を有している。磁性層401,402の磁化方向(磁化容易軸方向)は、磁性層の層面に対して、実質的に垂直である。磁性層401,402の磁化方向は、複数の層401,402,403の積層方向に対して、実質的に平行である。磁性層401,402の垂直磁気異方性は、磁性層の界面磁気異方性などを利用して生じる。磁性層の垂直磁気異方性を利用したMTJ素子は、垂直磁化型MTJ素子とよばれる。
MTJ素子(磁気抵抗効果素子)400の抵抗状態は、記憶層401の磁化の向きと参照層402の磁化の向きとの相対的な関係(磁化配列)に応じて、変わる。
記憶層401の磁化の向きが、参照層402の磁化の向きと同じである場合、MTJ素子400は、第1の抵抗状態(第1の磁化配列状態)を有する。
記憶層401の磁化の向きが、参照層402の磁化の向きと反対である場合、MTJ素子400は、第2の抵抗状態(第2の磁化配列状態)を有する。第2の抵抗状態を有するMTJ素子400の抵抗値は、第1の抵抗状態を有するMTJ素子400の抵抗値より高い。
このように、MTJ素子400は、2つの磁性層401,402の磁化配列に応じて、低抵抗状態及び高抵抗状態のうちいずれか1つの状態を取り得る。
このように、MTJ素子400は、2つの磁性層401,402の磁化配列に応じて、低抵抗状態及び高抵抗状態のうちいずれか1つの状態を取り得る。
例えば、MTJ素子400は、1ビットのデータ(“0”データ及び“1”データ)を保持する。この場合において、MTJ素子400の抵抗状態が、第1の抵抗状態に設定されることによって、メモリセルMCは、第1のデータ保持状態(例えば、“0”データ保持状態)に設定される。MTJ素子400の抵抗状態が第2の抵抗状態に設定されることによって、メモリセルMCは、第2のデータ保持状態(例えば、“1”データ保持状態)に設定される。
本実施形態において、MTJ素子400における記憶層401の磁化の向きと参照層402の磁化の向きとが同じである磁化配列状態は、平行状態(又はP状態)とよばれる。MTJ素子400における記憶層401の磁化の向きと参照層402の磁化の向きとが反対である磁化配列状態は、反平行状態(又はAP状態)ともよばれる。
例えば、MTJ素子400に対するデータの書き込みは、スピン注入磁化反転方式が用いられる。スピン注入磁化反転方式は、書き込み電流IWR1,IWR2がMTJ素子400内に流れた際に生じるスピントルクによって、記憶層401の磁化の向きを制御する書き込み方式である。
MTJ素子400の磁化配列状態が、AP状態からP状態へ変化される場合、記憶層401から参照層402に流れる書き込み電流IWR1が、MTJ素子400に供給される。
この場合において、参照層402の磁化の向きと同じ向きのスピンを有する電子のスピントルクが、記憶層401の磁化に、印加される。
記憶層401の磁化の向きが参照層402の磁化の向きに対して反対である場合、記憶層401の磁化の向きは、印加されたスピントルクによって、参照層402の磁化の向きと同じ向きに設定される。
この結果として、MTJ素子400は、P状態に設定される。このように、メモリセルMCに、“0”データが書き込まれる。
尚、P状態のMTJ素子400に、書き込み電流IWR1が供給された場合、記憶層401の磁化の向きは、変化しない。それゆえ、MTJ素子400は、P状態を維持する。
MTJ素子400の磁化配列状態が、P状態からAP状態へ変化される場合、参照層402から記憶層401に流れる書き込み電流IWR2が、MTJ素子400に供給される。
この場合において、参照層402の磁化の向きに対して反対の向きのスピンを有する電子のスピントルクが、記憶層401の磁化に、印加される。
記憶層401の磁化の向きが参照層402の磁化の向きと同じである場合、記憶層401の磁化の向きは、印加されたスピントルクによって、参照層402の磁化の向きに対して反対の向きに設定される。
この結果として、MTJ素子400は、AP状態に設定される。このように、メモリセルMCに、“1”データが書き込まれる。
尚、AP状態のMTJ素子400に、書き込み電流IWR2が供給された場合、スピントルクが記憶層401の磁化に印加されても、記憶層401の磁化の向きは、変化しない。それゆえ、MTJ素子400は、AP状態を維持する。
MTJ素子400からのデータの読み出し(MTJ素子400の抵抗状態の判別)時において、読み出し電流IRDが、MTJ素子400内を流れる。読み出し電流のIRDの電流値は、記憶層401の磁化反転しきい値より小さい。
データの読み出しは、読み出し電流IRDの電流値、読み出し電流IRDに起因するあるノードの電位の変動、又は、読み出し電流IRDによる電荷の蓄積量などのセンス結果に基づいて、実行される。
例えば、高抵抗状態(AP状態)のMTJ素子400から出力される読み出し電流IRDの電流値は、低抵抗状態(P状態)のMTJ素子400から出力される読み出し電流IRDの電流値より小さい。
このような、MTJ素子400の抵抗状態の違いに伴った電流IRDの変動に基づいて、MTJ素子400が保持しているデータが、判別される。
上述のように、本実施形態の計算機システムにおいて、メモリデバイス(MRAM)からのデータの読み出し時において、互いに異なる2つの読み出し方式が用いられる。
例えば、第1の読み出し方式の読み出し動作のための期間(実行期間)は、第2の読み出し方式の読み出し動作のための期間より、短い。第1の読み出し方式の読み出し動作の速度は、第2の読み出し方式の読み出し動作の速度より高い。
例えば、第2の読み出し方式の読み出し動作によって得られるデータの信頼性は、第1の読み出し方式の読み出し動作によって得られるデータの信頼性より、高い。
例えば、第1の読み出し方式の読み出し動作のための期間(実行期間)は、第2の読み出し方式の読み出し動作のための期間より、短い。第1の読み出し方式の読み出し動作の速度は、第2の読み出し方式の読み出し動作の速度より高い。
例えば、第2の読み出し方式の読み出し動作によって得られるデータの信頼性は、第1の読み出し方式の読み出し動作によって得られるデータの信頼性より、高い。
本実施形態において、選択アドレスからのデータの読み出しのために、参照セル方式の読み出し動作と、自己参照方式の読み出し動作とが、実行される。
図3は、本実施形態の計算機システムにおける、MRAMの参照セル方式の読み出し動作の基本的な原理を説明するための模式図である。
図3に示されるように、MRAMの参照セル方式の読み出し動作において、参照セルRCが用いられる。
参照セルRCは、参照抵抗素子RRを含む。参照抵抗素子RRは、MTJ素子でもよいし、金属又は半導体を用いた固定抵抗素子でもよい。
参照抵抗素子RRの抵抗値は、低抵抗状態のMTJ素子400の抵抗値(R1)と高抵抗状態のMTJ素子400の抵抗値(R2)との間の抵抗値を有する。
MTJ素子400を含むメモリセルMCは、センスアンプ回路520の一方の入力端子に接続されている。参照セルRCは、センスアンプ回路520の他方の入力端子に接続されている。
データの読み出し時において、読み出し電流(セル電流)IRDが、データの読み出し対象のメモリセル(以下では、選択セルとよばれる)内のMTJ素子400内を、流れる。
電流(以下では、参照電流とよばれる)IRefが、参照抵抗素子RR内を流れる。
電流(以下では、参照電流とよばれる)IRefが、参照抵抗素子RR内を流れる。
センスアンプ回路520は、ある時刻における参照電流IRefに基づいた値(電気量)及び読み出し電流IRDに基づいた値をセンスする。
センスアンプ回路520は、センスした参照電流IRefに基づいた値と読み出し電流IRDに基づいた値とを比較する。この比較結果に基づいて、メモリセルMCに保持されるデータが、読み出される。
ある時刻において、参照電流IRefの電流値は、P状態のMTJ素子400の読み出し電流IRDの電流値より低く、且つ、AP状態のMTJ素子400の読み出し電流IRDの電流値より高い。このように、参照電流IRefは、P状態のMTJ素子400の読み出し電流IRDの電流値とAP状態のMTJ素子400の読み出し電流IRDの電流値とを判別するための基準値となる。
それゆえ、参照電流IRefと読み出し電流IRDとの比較によって、MTJ素子400の抵抗状態が、判別できる。
これによって、メモリセルMC内に保持されるデータが、判別される。
これによって、メモリセルMC内に保持されるデータが、判別される。
以上のように、MRAM1における参照セル方式の読み出し動作が、実行される。
それゆえ、参照セル方式の読み出し動作は、比較的早い速度(短い時間)で、データの読み出しを実行できる。
図4は、本実施形態の計算機システムにおける、MRAMの自己参照方式の読み出し動作の基本的な原理を説明するための模式図である。
図4において、自己参照方式の読み出し動作として、データ破壊型自己参照方式の読み出し動作が例示されている。
自己参照方式の読み出し動作において、参照セルRCは用いられない。
図4に示されるように、自己参照方式の読み出し動作において、選択セルMCに対して、2回のデータの読み出し(2回の読み出し電流の供給)が、実行される。本実施形態において、説明の区別化のために、自己参照方式におけるデータを判別するための2回のデータの読み出しのことを、内部読み出しともよぶ場合もある。
図4に示されるように、自己参照方式の読み出し動作において、選択セルMCに対して、2回のデータの読み出し(2回の読み出し電流の供給)が、実行される。本実施形態において、説明の区別化のために、自己参照方式におけるデータを判別するための2回のデータの読み出しのことを、内部読み出しともよぶ場合もある。
自己参照方式の読み出し動作において、選択セルMCに対する1回目のデータ読み出しにおける読み出し電流IRDaに起因する電気量が、センスアンプ回路(図示せず)によって、選択セルMCに対する2回目のデータ読み出しにおける読み出し電流IRDbに起因する電気量と比較される。
例えば、データ破壊型の自己参照方式の読み出し動作において、1回目のデータ読み出しと2回目のデータ読み出しとの間において、書き込み電流IWRが、MTJ素子400に供給される。
自己参照方式の読み出し動作時に供給される書き込み電流IWRは、予め設定されたデータをMTJ素子400に書き込むための電流である。ここで、予め設定されたデータは、MTJ素子が記憶しているデータ(書き込み電流IWRの供給前のデータ)を判定するための基準となるデータである。本実施形態において、説明の区別化のために、自己参照方式の読み出し動作における1回目のデータ読み出しと2回目のデータ読み出しとの間における書き込み電流の供給を、基準データ書き込みともよぶ。
例えば、1回目のデータ読み出し後、“0”データを書きこむための書き込み電流が、データの読み出し対象のMTJ素子400に供給される。
MTJ素子400の磁化配列状態がAP状態である場合、書き込み電流IWRの供給によって、MTJ素子400の磁化配列状態は、AP状態からP状態に変わる。
MTJ素子400の磁化配列状態がP状態である場合、書き込み電流IWRが供給されたとしても、MTJ素子400は、P状態を維持する。
MTJ素子400の磁化配列状態がP状態である場合、書き込み電流IWRが供給されたとしても、MTJ素子400は、P状態を維持する。
このように、2回目の読み出し電流の供給時(図4の(c))、MTJ素子400は、P状態に設定されている。1回目の読み出し電流の供給時(図4の(a))において、MTJ素子400は、記憶すべきデータに応じて、AP状態又はP状態に設定されている。
例えば、読み出し電流IRDa,IRDbは、MTJ素子の磁化配列状態がAP状態からP状態に変わる向きに流れる書き込み電流IWRと同じ向きに、流れる。但し、読み出し電流IRDa,IRDbの電流値は、書き込み電流IWRの電流値より小さい。
書き込み電流IWRの供給によってMTJ素子400の磁化配列状態が変化した場合、1回目の読み出し電流の大きさは、2回目の読み出し電流と異なる。
上述のように、MTJ素子400の磁化配列状態がAP状態からP状態に変化した場合、2回目の読み出し電流IRDbの大きさは、1回目の読み出し電流の大きさより大きい。
上述のように、MTJ素子400の磁化配列状態がAP状態からP状態に変化した場合、2回目の読み出し電流IRDbの大きさは、1回目の読み出し電流の大きさより大きい。
この結果として、選択セルMC内に保持されていたデータは、“1”データであると、判別される。
MTJ素子400の磁化配列状態が変化しない場合、2回目の読み出し電流IRDbの大きさは、1回目の読み出し電流IRDaの大きさと実質的に同じである。この場合において、2回目の読み出し電流IRDbと1回目の読み出し電流IRDaとの差は、非常に小さい。
この結果として、選択セルMC内に保持されていたデータは、“0”データであると、判別される。
尚、“0”データが、自己参照読み出し動作における基準データに設定されてもよい。この場合において、“0”データを書き込むための書き込み電流が、データの読み出し対象のMTJ素子400に供給される。
このように、自己参照方式の読み出し動作は、選択セル自体からの2つの出力の対比によって、実行される。
自己参照方式の読み出し動作によって読み出されたデータの信頼性は、参照セル方式の読み出し動作によって読み出されたデータの信頼性より高い。但し、自己参照方式の読み出し動作の期間は、参照セル方式の読み出し動作の期間に比較して長い。
以下では、自己参照方式による読み出しデータのことを、訂正データ又は置換データともよぶ。
本実施形態の計算機システムは、メモリデバイス1からデータを読み出す際に、異なる2つの読み出し方式を連続して実行し、データを読み出す。
以下のように、本実施形態の計算機システムは、異なる2つの読み出し方式によってメモリデバイスから読み出されたデータを用いて、プロセッサの計算処理を実行する。
以下のように、本実施形態の計算機システムは、異なる2つの読み出し方式によってメモリデバイスから読み出されたデータを用いて、プロセッサの計算処理を実行する。
(A2) 動作
図5を用いて、本実施形態の計算機システムの基本的な動作の一例について、説明する。
図5を用いて、本実施形態の計算機システムの基本的な動作の一例について、説明する。
図5は、本実施形態の計算機システムの基本動作を説明するためのフローチャートである。
図5に示されるように、計算機システムが計算処理を実行する際に、プロセッサ9が、計算処理に用いるデータの読み出しを、メモリデバイスに命令する(ステップST0)。
プロセッサ9は、読み出しコマンド、読み出し対象のデータの格納場所を示すアドレス(選択アドレス)、及び、各種の制御信号を、MRAM1に送信する。
MRAM1は、読み出しコマンド、選択アドレス及び制御信号を、受信する。
MRAM1は、読み出しコマンド及び制御信号に基づいて、選択アドレスに対するデータの読み出しを開始する(ステップST1)。
MRAM1は、読み出しコマンド及び制御信号に基づいて、選択アドレスに対するデータの読み出しを開始する(ステップST1)。
MRAM1は、データの読み出しを実行するにあたって、参照セル方式の読み出し動作によって、選択アドレスからデータを読み出す(ステップST2)。これによって、MRAM1は、参照セル方式に基づくデータ(第1のデータ)を得る。
MRAM1は、参照セル方式に基づくデータを、プロセッサ9に送信する(ステップST3)。
MRAM1は、参照セル方式の読み出し動作の後、自己参照方式の読み出し動作によって、選択アドレスからデータを読み出す(ステップST4A)。尚、本実施形態において、自己参照方式の読み出し動作は、MRAM1からプロセッサ9への参照セル方式に基づくデータの送信に並行して実行されてもよい。本実施形態において、自己参照方式の読み出し動作は、参照セル方式に基づくデータの送信のための期間の一部分とオーバーラップしていてもよい。また、本実施形態において、自己参照方式の読み出し動作の開始のタイミングは、参照セル方式に基づくデータの送信の開始のタイミングより前でもよい。
プロセッサ9は、MRAM1からの第1のデータを受信する。プロセッサ9は、MRAM1における自己参照方式の読み出し動作と並行して、参照セル方式に基づくデータを用いた計算処理を実行する(ステップST4B)。
本実施形態において、自己参照方式の読み出し動作に並行して参照セル方式の読み出し動作の結果のデータを用いて実行される計算処理のことを、投機的計算処理(又は投機的な計算処理)とよぶ。例えば、投機的計算処理は、自己参照方式の読み出し動作の終了前、又は、参照セル方式に基づくデータと自己参照方式に基づくデータの比較の開始前に、開始される。
尚、投機的計算処理の期間は、自己参照方式の読み出し動作の期間に完全に並行せずともよい。投機的計算処理の期間の一部が、自己参照方式の読み出し動作の期間に並行していればよい。
MRAM1は、参照セル方式に基づくデータの読み出しの後、自己参照方式に基づくデータ(第2のデータ)を得る。
MRAM1は、参照セル方式に基づくデータと自己参照方式に基づくデータとの比較処理を実行する(ステップST5)。例えば、データの比較処理は、投機的計算処理に並行して行われている。
MRAM1は、参照セル方式に基づくデータと自己参照方式に基づくデータとの比較処理を実行する(ステップST5)。例えば、データの比較処理は、投機的計算処理に並行して行われている。
MRAM1は、データの比較処理に基づいて、参照セル方式に基づくデータが自己参照方式に基づくデータに一致しているか否か判定する(ステップST6)。
MRAM1は、2つのデータの比較処理の結果に基づくフラグを、プロセッサ9に送信する。フラグによって、MRAM1は、参照セル方式のデータが有効であるかエラーであるかを、プロセッサ9に通知する。本実施形態において、参照セル方式のデータの有効/エラーを通知するためのフラグを、エラー通知フラグともよぶ。
MRAM1は、2つのデータの比較処理の結果に基づくフラグを、プロセッサ9に送信する。フラグによって、MRAM1は、参照セル方式のデータが有効であるかエラーであるかを、プロセッサ9に通知する。本実施形態において、参照セル方式のデータの有効/エラーを通知するためのフラグを、エラー通知フラグともよぶ。
参照セル方式に基づくデータが自己参照方式に基づくデータに一致している場合、参照セル方式に基づくデータが、有効(正常又はエラー無し)であると判定される。
この場合において、MRAM1は、参照セル方式のデータが有効であることを示す有効信号を含む第1のフラグを、プロセッサ9に送信する(ステップST7A)。
この場合において、MRAM1は、参照セル方式のデータが有効であることを示す有効信号を含む第1のフラグを、プロセッサ9に送信する(ステップST7A)。
この場合において、
プロセッサ9は、フラグを受信する。受信されたフラグが有効信号を含む場合、プロセッサ9は、投機的計算処理の結果(計算値)をコミットする(ステップST7B)。コミットとは、計算処理によって得られた演算値を有効とみなして、データ保持領域(例えば、レジスタ)に書き込むことである。
プロセッサ9は、フラグを受信する。受信されたフラグが有効信号を含む場合、プロセッサ9は、投機的計算処理の結果(計算値)をコミットする(ステップST7B)。コミットとは、計算処理によって得られた演算値を有効とみなして、データ保持領域(例えば、レジスタ)に書き込むことである。
これによって、参照セル方式のデータが有効である場合、プロセッサ9は、投機的計算処理の結果の取得によって、計算処理を終了する。
参照セル方式に基づくデータが自己参照方式に基づくデータに一致していない場合、MRAM1は、参照セル方式のデータが有効でないこと(参照セル方式のデータがエラーを含むこと)を示すエラー信号を含む第2のフラグを、プロセッサ9に送信する(ステップST8A)。
MRAM1は、エラー信号(無効信号ともよばれる)を含むフラグと共に、自己参照方式に基づくデータを、訂正データとして、プロセッサ9に送信する。尚、エラー信号と共に転送されるデータは、自己参照方式に基づくデータの全体でなくともよい。例えば、自己参照方式に基づくデータのうち、参照セル方式のデータにおけるエラーを含む部分に対応するデータ部が、エラー信号と共に送信されてもよい。
プロセッサ9は、フラグ及びデータを受信する。受信されたフラグがエラー信号を含む場合、プロセッサ9は、自己参照方式に基づくデータを用いて、計算処理(以下では、再計算処理とよばれる)を実行する(ステップST8B)。例えば、プロセッサ9は、投機的計算処理の結果を、破棄する。
再計算処理の結果が得られると、プロセッサ9は、再計算処理の結果をコミットする(ステップST9)。
このように、参照セル方式のデータがエラーである場合、プロセッサ9は、自己参照方式のデータを用いた計算処理の結果の取得によって、計算処理を終了する。
以上のように、本実施形態の計算機システムの動作は、完了する。
(A3) まとめ
本実施形態の計算機システムにおいて、メモリデバイスは、比較的速度の高い第1の読み出し動作と比較的信頼性の高い第2の読み出し動作とを連続して実行する。
本実施形態の計算機システムにおいて、メモリデバイスは、比較的速度の高い第1の読み出し動作と比較的信頼性の高い第2の読み出し動作とを連続して実行する。
メモリデバイスは、第1の読み出し動作によって読み出された第1のデータを、プロセッサに送信する。
プロセッサは、メモリデバイスにおける第2の読み出し動作の実行と並行して、第1のデータを用いた計算処理(投機的計算処理)を実行する。
メモリデバイスは、第2の読み出し動作によって、第2のデータを読み出す。
メモリデバイスは、第1のデータと第2のデータとを比較することによって、第1のデータが有効であるか否か判定する。
メモリデバイスは、第1のデータと第2のデータとを比較することによって、第1のデータが有効であるか否か判定する。
比較結果に基づいて第1のデータが有効であると判定された場合、第1のデータを用いた計算処理の結果が、有効であると判定される。
比較結果に基づいて第1のデータが有効でないと判定された場合、プロセッサは、第2のデータを用いた第2の計算処理を実行する。
このように、実施形態の計算機システムは、第1の読み出し動作及び第1の読み出し動作に基づくデータを用いた計算処理によって、システムの動作(計算処理)を高速化できる。
本実施形態の計算機システムは、第2の読み出し動作に基づく第2のデータ及び第2のデータを用いた計算結果によって、データ及び計算結果の信頼性を確保できる。
したがって、本実施形態の計算機システムは、動作の速度を向上でき、動作の信頼性の向上できる。
[B] 第1の実施形態
図6乃至図17を参照して、第1の実施形態の計算機システム及びその制御方法(動作例)について、説明する。
[B] 第1の実施形態
図6乃至図17を参照して、第1の実施形態の計算機システム及びその制御方法(動作例)について、説明する。
(B1) 構成例
図6乃至図14を用いて、第1の実施形態の計算機システムの構成例について、説明する。
<計算機システムの構成>
図6は、本実施形態の計算機システムの構成例を示すブロック図である。
図6乃至図14を用いて、第1の実施形態の計算機システムの構成例について、説明する。
<計算機システムの構成>
図6は、本実施形態の計算機システムの構成例を示すブロック図である。
図6に示されるように、計算機システム1000は、メモリデバイス1とプロセッサ9とを含む。メモリデバイス1は、バス8を介して、プロセッサ9に接続されている。バス8は、ある規格に基づいたデータ転送網である。例えば、バス8は、ケーブル、コネクタ、無線通信、インターネット及びイントラネットなどのうち少なくとも1つを含む。
メモリデバイス1は、メモリ回路10と、インターフェイス回路20とを含む。
メモリ回路10は、データを保存するメモリセルアレイ、書き込み回路、読み出し回路などを含む。
インターフェイス回路20は、出力制御回路200及び入力制御回路290を含む。
出力制御回路200は、データの出力を制御できる。
例えば、出力制御回路200は、2つのデータ保持回路210,220と、制御回路230とを含む。
データ保持回路210,220は、異なる2つの読み出し方式で読み出された2つのデータを、それぞれ保持する。制御回路230は、データ保持回路210,220内のデータに対する各種の制御を行う。
データ保持回路210,220は、異なる2つの読み出し方式で読み出された2つのデータを、それぞれ保持する。制御回路230は、データ保持回路210,220内のデータに対する各種の制御を行う。
出力制御回路200は、参照セル方式によって読み出されたデータ(データの値)と自己参照方式によって読み出されたデータ(データの値)とを比較できる。
入力制御回路290は、メモリ回路10に対するプロセッサ9からのデータ、アドレス、コマンド及び各種の制御信号の入力を、制御できる。
プロセッサ9は、メモリコントローラ90、及び、コア回路99などを含む。
メモリコントローラ90は、メモリデバイス1とプロセッサ9との間におけるデータ及び各種の信号の入出力を、制御する。
コア回路99は、各種の計算処理を実行する。
コア回路99は、計算回路(演算ユニット)、データ保持回路などを含む。例えば、コア回路99は、投機的計算処理を制御するためのリオーダーバッファ606を、含む。
コア回路99は、計算回路(演算ユニット)、データ保持回路などを含む。例えば、コア回路99は、投機的計算処理を制御するためのリオーダーバッファ606を、含む。
以下において、メモリデバイス1及びプロセッサ9の内部構成について、より具体的に説明する。
<メモリデバイスの構成>
図7乃至図11を用いて、本実施形態の計算機システムのメモリデバイスにおけるメモリ回路の内部構成について、説明する。
図7乃至図11を用いて、本実施形態の計算機システムのメモリデバイスにおけるメモリ回路の内部構成について、説明する。
メモリ回路10は、プロセッサ9からのコマンドCMD、アドレスADR、入力データDin及び各種の制御信号CNTを、入力制御回路299を介して、受ける。
メモリ回路10は、出力データDOUTを、出力制御回路200に送る。
メモリ回路10は、出力データDOUTを、出力制御回路200に送る。
MRAM1において、メモリ回路10は、メモリセルアレイ100、ロウデコーダ120、ワード線ドライバ(ロウ線制御回路)121、カラムデコーダ122、ビット線ドライバ(カラム線制御回路)123、スイッチ回路124、書き込み回路(書き込み制御回路)125、読み出し回路(読み出し制御回路)126、及び、シーケンサ190を、少なくとも含む。
メモリセルアレイ100は、複数のメモリセルMCを含む。
ロウデコーダ120は、アドレスADRに含まれるロウアドレスを、デコードする。
ワード線ドライバ121は、ロウアドレスのデコード結果に基づいて、メモリセルアレイ100のロウ(例えば、ワード線)を選択する。
ワード線ドライバ121は、ロウアドレスのデコード結果に基づいて、メモリセルアレイ100のロウ(例えば、ワード線)を選択する。
カラムデコーダ122は、アドレスADRに含まれるカラムアドレスを、デコードする。
ビット線ドライバ123は、カラムアドレスのデコード結果に基づいて、メモリセルアレイ100のカラム(例えば、ビット線)を選択する。ビット線ドライバ123は、スイッチ回路124を介して、メモリセルアレイ100に接続されている。
ビット線ドライバ123は、カラムアドレスのデコード結果に基づいて、メモリセルアレイ100のカラム(例えば、ビット線)を選択する。ビット線ドライバ123は、スイッチ回路124を介して、メモリセルアレイ100に接続されている。
スイッチ回路124は、書き込み回路125及び読み出し回路126のいずれか一方を、メモリセルアレイ100及びビット線ドライバ123に接続する。これによって、MRAM1は、コマンドに対応した動作を実行する。
書き込み回路125は、書き込み動作時に、アドレスADRに基づいた選択セルに、データの書き込みのための各種の電圧及び電流を、供給する。データDINは、メモリセルアレイ100に書き込まれるべきデータとして、書き込み回路124に供給される。これによって、書き込み回路125は、データDINをメモリセルMC内に書き込む。書き込み回路125は、例えば、書き込みドライバ/シンカなどを含む。
読み出し回路126は、読み出し動作時に、アドレスADRに基づいて選択されたメモリセル(選択セル)に、データの読み出しのための各種の電圧又は電流を供給する。これによって、メモリセルMC内に格納されているデータが、読み出される。
読み出し回路126は、メモリセルアレイ100から読み出されたデータを、出力データDOUTとして、出力制御回路200内のデータ保持回路210,220に供給する。
読み出し回路126は、例えば、読み出しドライバ及びセンスアンプ回路などを含む。
本実施形態のMRAMにおいて、読み出し回路126は、参照セル方式の読み出し動作を実行するための機能(回路部)と、自己参照方式の読み出し動作のための機能と、を含む。
シーケンサ190は、コマンドCMD及び各種の制御信号CNTを受ける。シーケンサ190は、コマンドCMD及び制御信号CNTに基づいて、メモリ回路10内部の各回路120〜126の動作を制御する。シーケンサ190は、メモリ回路10内の動作状況に応じて、制御信号CNTを、インターフェイス回路20を介してメモリコントローラ5に送信できる。
例えば、シーケンサ190は、書き込み動作及び読み出し動作に関する各種の情報を、設定情報として保持している。
例えば、シーケンサ190は、書き込み動作及び読み出し動作に関する各種の情報を、設定情報として保持している。
図8は、MRAMのメモリセルアレイの内部構成の一例を示す等価回路図である。
図8に示されるように、複数(n本)のワード線WL(WL<0>,WL<1>,・・・,WL<n−1>)が、メモリセルアレイ100内に、設けられている。複数(m本)のビット線BL(BL<0>,BL<1>,・・・,BL<m−1>)及び、複数(m本)のビット線bBL(bBL<0>,bBL<1>,・・・,bBL<m−1>)が、メモリセルアレイ100内に、設けられている。1本のビット線BLと1本のビット線bBLとが、1組のビット線対を形成する。以下において、説明の明確化のため、ビット線bBLは、ソース線とよばれる場合もある。
複数のメモリセルMCは、メモリセルアレイ100内に、マトリクス状に配置されている。
x方向(ロウ方向)に配列された複数のメモリセルMCは、共通のワード線WLに接続されている。ワード線WLは、ワード線ドライバ121に接続されている。ワード線ドライバ121は、ロウアドレスに基づいて、ワード線WLの電位を制御する。これによって、ロウアドレスに示されるワード線WL(ロウ)が、選択され、活性化される。
y方向(カラム方向)に配列された複数のメモリセルMCは、1つのビット線対に属する2本のビット線BL,bBLに、共通に接続されている。
例えば、メモリセルMCは、1つの可変抵抗素子(MTJ素子)400と、1つのセルトランジスタ410と、を含む。セルトランジスタ410は、メモリセルMCの選択素子として機能する。尚、メモリセルMCは、2以上のMTJ素子400を含んでもよいし、2以上のセルトランジスタ410を含んでもよい。
MTJ素子400の一端は、ビット線bBLに接続されている。MTJ素子400の他端は、セルトランジスタ410の一端(ソース/ドレインの一方)に接続されている。セルトランジスタ410の他端(ソース/ドレインの他方)は、ビット線BLに接続されている。セルトランジスタ410のゲートに、ワード線WLが接続されている。
尚、メモリセルアレイ100は、階層ビット線方式の構造を有してもよい。この場合において、2本のグローバルビット線が、メモリセルアレイ100内に設けられている。各ビット線BLが、対応するスイッチ素子を介して一方のグローバルビット線に接続される。
各ソース線bBLが、対応するスイッチ素子を介して他方のグローバルビット線に接続される。グローバルビット線が、スイッチ回路124を介して、書き込み回路125及び読み出し回路126に接続されている。
各ソース線bBLが、対応するスイッチ素子を介して他方のグローバルビット線に接続される。グローバルビット線が、スイッチ回路124を介して、書き込み回路125及び読み出し回路126に接続されている。
図9及び図10は、本実施形態のMRAMにおける読み出し回路の構成例の一例を示す等価回路である。
図9は、メモリセルアレイに対する読み出し回路の構成の一例を説明するための模式図である。
例えば、読み出し回路126は、複数のセンスアンプユニット261を含む。
メモリセルアレイ100内に、複数の読み出し単位RUが設定されている。
1つのセンスアンプユニット261が、読み出し単位RUに対して設けられている。1つのセンスアンプユニット261が、スイッチ回路124を介して、対応する読み出し単位RUに接続される。
例えば、データの読み出し動作時において、複数のセンスアンプユニット261が、並列に駆動される。各読み出し単位RUの読み出し対象のメモリセルMCに対して、読み出し動作が、並列に実行される。
これによって、読み出し回路126は、1つの読み出しコマンドに対して、あるデータサイズのデータ(2ビット以上のデータ)を、読み出すことができる。
尚、センスアンプユニット261が、1つずつ駆動されてもよい。複数のセンスアンプユニット261が、順次駆動されることによって、あるデータサイズのデータが、メモリセルアレイ100から読み出されてもよい。
1つのセンスアンプユニット261が、1つのメモリセルアレイ100に設けられてもよい。この場合、1つのセンスアンプユニット261が、メモリセルアレイ100から1ビットのデータを読み出す。又は、1つのセンスアンプユニット261が、複数の選択セルに対して順次アクセスすることによって、あるデータサイズのデータが読み出される。
図10は、本実施形態のMRAMのセンスアンプユニットの内部構成の一例を示す等価回路図である。
図10において、MRAMの読み出し動作時における各回路の接続関係が示されている。尚、図10において、1つのセンスアンプユニット及び読み出し単位に対応する各回路が、抽出されている。
図10に示されるように、読み出しドライバ500は、カラム選択スイッチ素子CSWを介してビット線BLに接続されている。読み出し動作時において、カラム選択スイッチ素子CSWがオンすることによって、読み出しドライバ500が、ビット線BLに、電流(又は電圧)を供給する。
カラム選択スイッチ素子CSWのオン/オフは、デコードされたカラムアドレスに基づいて、制御される。
例えば、読み出しドライバ500は、ビット線ドライバ123の構成要素である。但し、読み出しドライバ500は、読み出し回路126の構成要素であってもよい。例えば、カラム選択スイッチ素子CSWは、スイッチ回路124内の構成要素である。但し、カラム選択スイッチ素子CSWは、読み出し回路126、又は、ビット線ドライバ123の構成要素であってもよい。
複数のビット線(ソース線)bBLは、スイッチ回路124内のマルチプレクサ241を介して、センスアンプユニット261に接続されている。
読み出し動作時において、デコードされたカラムアドレスに基づいて、1つのソース線bBLが、マルチプレクサ241を介して、センスアンプユニット261に接続される。例えば、スイッチ回路124は、複数のマルチプレクサ241を含む。1つのマルチプレクサ241が、1つの読み出し単位RUに対応するように、設けられている。
センスアンプユニット261は、センスアンプ回路520、複数のキャパシタC1,C2、参照セルRC、参照セルドライバ590、複数のスイッチ素子SW1,SW2,SW3,SWA,SWBを含む。
スイッチ素子SW1,SW2,SW3,SWA,SWBは、例えば、MOSスイッチである。
スイッチ素子SW1及びスイッチ素子SW3の一端は、マルチプレクサ241に接続されている。スイッチ素子SW1の他端は、スイッチ素子SWAを介して、センスアンプ回路520の一方の入力端子に接続されている。スイッチ素子SW3の他端は、スイッチ素子SWBを介して、センスアンプ回路520の他方の入力端子に接続されている。
スイッチ素子SW1とスイッチ素子SWAとの接続ノードに、キャパシタC1の一端が接続されている。キャパシタC1の他端は、接地されている。
スイッチ素子SW3とスイッチ素子SWBとの接続ノードに、キャパシタC2の一端が接続されている。キャパシタC2の他端は、接地されている。
スイッチ素子SW3とスイッチ素子SWBとの接続ノードに、キャパシタC2の一端が接続されている。キャパシタC2の他端は、接地されている。
尚、キャパシタC1,C2は、センスアンプ回路520の入力端子に接続された容量素子でもよい。キャパシタC1は、センスアンプ回路520の入力端子とメモリセアレイ10(選択セルMC)とを接続する配線(及び素子)に含まれる容量成分(寄生容量)でもよい。キャパシタC2は、センスアンプ回路520の入力端子と参照セルRCとを接続する配線(及び素子)に含まれる容量成分(寄生容量)でもよい。
制御信号S1が、スイッチ素子SW1の制御端子(ゲート)に供給される。スイッチ素子SW1は、制御信号S1に基づいて、キャパシタC1とマルチプレクサ241との間の接続を制御する。スイッチ素子SW1がオンした場合に、キャパシタC1は、マルチプレクサ510を介して、選択セルMCに接続される。
制御信号S3が、スイッチ素子SW3の制御端子に供給される。スイッチ素子SW3は、制御信号S3に基づいて、キャパシタC2とマルチプレクサ510との間の接続を制御する。スイッチ素子SW3がオンした場合に、キャパシタC2は、マルチプレクサ510を介して、選択セルMCに接続される。
センスアンプユニット261(読み出し回路126)は、参照セル方式の読み出し動作を実行するために、参照セルRCを含む。
参照セルRCの一端は、読み出しドライバ590に接続されている。参照セルRCの他端は、スイッチ素子SW2に接続されている。参照セルRCは、スイッチ素子SW2を介して、キャパシタC2の一端に接続されている。参照セルRCは、スイッチ素子SW2,SWBを介して、センスアンプ回路520の他方の入力端子に接続されている。
参照セルRCは、複数の可変抵抗素子490A,490Bとセルトランジスタ499とを含む。
セルトランジスタ499の一端(ソース/ドレインの一方)は、ドライバ590の出力端子に接続されている。セルトランジスタ499の他端(ソース/ドレインの他方)は、可変抵抗素子490A,490Bの一端に接続されている。可変抵抗素子490A,490Bの他端は、スイッチ素子SW2を介して、キャパシタC2に接続されている。
セルトランジスタ499の一端(ソース/ドレインの一方)は、ドライバ590の出力端子に接続されている。セルトランジスタ499の他端(ソース/ドレインの他方)は、可変抵抗素子490A,490Bの一端に接続されている。可変抵抗素子490A,490Bの他端は、スイッチ素子SW2を介して、キャパシタC2に接続されている。
2つの可変抵抗素子490A,490Bは、並列接続されている。これによって、低抵抗状態(P状態)のMTJ素子400の抵抗値R1と高抵抗状態(AP状態)のMTJ素子400の抵抗値R2との間の抵抗値が、形成される。
参照セル方式の読み出し動作時に、セルトランジスタ499のゲートに、トランジスタ499のオン電圧が、印加される。これによって、参照セルRCは、活性化され、参照電流IRefが生成される。
スイッチ素子SW2は、参照セルRCとキャパシタC2との接続を制御する。
制御信号S2が、スイッチ素子SW2の制御端子に供給される。スイッチ素子SW2のオン/オフは、制御信号S2に基づいて、制御される。
制御信号S2が、スイッチ素子SW2の制御端子に供給される。スイッチ素子SW2のオン/オフは、制御信号S2に基づいて、制御される。
スイッチ素子SWAは、キャパシタC1とセンスアンプ回路520の一方の入力端子との接続を制御する。スイッチ素子SWBは、キャパシタC2とセンスアンプ回路520の一方の入力端子との接続を制御する。例えば、共通の制御信号SCが、2つのスイッチ素子SWA,SWBの制御端子に供給される。
センスアンプ回路520は、スイッチ素子SWA,SWBを介して、キャパシタC1,C2に接続されている。センスアンプ回路520の一方の入力端子に、キャパシタC1からの信号が、スイッチ素子SWA1を介して供給される。センスアンプ回路520の他方の入力端子に、キャパシタC2からの信号が、スイッチ素子SWA1を介して供給される。
センスアンプ回路520に、制御信号(センスイネーブル信号)SENが、供給される。センスアンプ回路520は、センスイネーブル信号SENの信号レベルの変化に基づいたタイミングで、活性化又は非活性化される。
センスアンプ回路520は、入力端子に供給されたキャパシタC1,C2からの信号をセンスし、センスした信号を増幅する。センスアンプ回路520は、センスした2つの信号を比較する。センスアンプ回路520は、比較結果に基づく値を、データDoutとして、出力する。
キャパシタC1,C2は、読み出し動作時において、データの読み出しのための電気量を保持する。
本実施形態において、センスアンプユニット261は、電荷積算方式の差動型センスアンプである。
本実施形態において、センスアンプユニット261は、電荷積算方式の差動型センスアンプである。
参照セル方式の読み出し動作時において、キャパシタC1は、選択セルMCからの読み出し電流よって生じる信号電荷を、蓄積する。キャパシタC2は、参照セルRCからの参照電流によって生じる信号電荷を、蓄積する。
自己参照方式の読み出し動作時において、キャパシタC1は、1回目の内部読み出しにおける選択セルMCからの読み出し電流によって生じる信号電荷を、蓄積する。また、キャパシタC2は、2回目の内部読み出しにおける選択セルMCからの読み出し電流によって生じる信号電荷を、蓄積する。
各読み出し動作時において、2つのキャパシタC1,C2内の信号電荷(電位)に応じた信号が、センスアンプ回路520に比較されることによって、選択セルMC内のデータが、判別される。
これによって、選択セルMC内のデータが、読み出される。
これによって、選択セルMC内のデータが、読み出される。
尚、センスアンプユニット261は、ビット線BLに接続されてもよい。この場合、センスアンプユニット261は、ビット線BLの放電に起因する電荷を、保持する。
<出力制御回路>
図11は、本実施形態におけるMRAMの出力制御回路の構成例を示している。
図11は、本実施形態におけるMRAMの出力制御回路の構成例を示している。
図11に示されるように、出力制御回路200は、2つの読み出しバッファ回路(データ保持回路)210,220及び制御回路230を含む。
制御回路230は、比較回路231、選択回路232、データバッファ回路233、及び、入出力回路(I/O回路)234などを含む。
読み出しバッファ回路210,220は、メモリ回路10に接続されている。読み出しバッファ回路210,220に、メモリ回路10からの読み出しデータが、供給される。
読み出しバッファ回路210は、参照セルセル方式で読み出されたデータDOUT1を、一時的に保持する。読み出しバッファ回路220は、自己参照方式で読み出されたデータDOUT2を、一時的に保持する。
読み出しバッファ回路210は、参照セルセル方式で読み出されたデータDOUT1を、一時的に保持する。読み出しバッファ回路220は、自己参照方式で読み出されたデータDOUT2を、一時的に保持する。
比較回路231は、読み出しバッファ回路210,220内の読み出しデータの値を比較する。
比較回路231は、2つの読み出しデータの比較結果に基づいて、信号ER(フラグFLG)の信号レベルを制御する。比較回路231は、信号ERを、選択回路232及びデータバッファ回路233に供給する。
選択回路232は、信号ERに基づいて、参照セル方式に基づくデータDOUT1及び自己参照方式に基づくデータDOUT2のうち、いずれか一方を選択する。選択回路232は、選択されたデータを、データバッファ回路233に出力する。
データバッファ回路233は、選択回路232からのデータを一時的に保持する。
I/O回路234は、プロセッサ9に対するデータの出力のタイミングを制御する。
I/O回路234は、プロセッサ9に対するデータの出力のタイミングを制御する。
図12は、本実施形態のMRAMにおける、出力制御回路内の比較回路の構成例を示す図である。
図12に示されるように、比較回路231に、参照セル方式で読み出されたデータDOUT1と自己参照方式で読み出されたデータDOUT2とが、読み出しバッファ回路210,220から供給される。
例えば、データDOUT1及びデータDOUT2は、あるデータ長(データサイズ又はビット数)を有する。
比較回路231は、各データDOUT1,DOUT2を、N個のデータユニットに分割する。例えば、データDOUT1は、N個のデータユニットDU(DU1A,DU2A,・・・,DUNA)を含み、データDOUT2は、N個のデータユニットDU(DU1B,DU2B,・・・,DUNB)を含む。
例えば、比較回路231は、ラッチ回路310,320を含む。ラッチ回路310,320は、データユニットDUを一時的に保持する。
比較回路231は、判定回路350を含む。判定回路350は、2つのデータDOUT1,DOUT2における互いに対応するデータユニットDUが一致するか否か判定する。
判定回路350は、例えば、N個のXORゲート351(351−1,351−1,・・・351−N)を含む。
XORゲート351の一方の入力端子は、ラッチ回路310に接続され、XORゲート351の他方の入力端子は、ラッチ回路320に接続されている。各XORゲート351の入力端子に、対応するデータユニットDUが、供給される。
XORゲート351は、2つのデータユニットDUに対するXOR演算(排他的論理和)の結果を示す信号ER(ER1,ER2,・・・,ERN)を出力する。
XORゲート351は、対応する2つのデータユニットDU1,DU2のデータ値(“0”又は“1”)が一致する場合において、“0”を出力する。XORゲート351は、対応するデータユニットDU1,DU2のデータ値が一致しない場合において、“1”を出力する。
複数のXORゲート351からの出力結果ERに基づいて、“1”を出力したXORゲート351に対応するデータユニットDUにエラーが存在することが、検知される。
このように、データDOUT1内に存在するエラーの位置が、特定される。
このように、データDOUT1内に存在するエラーの位置が、特定される。
例えば、エラー通知フラグFLGは、信号ERの集合である。信号ERは、フラグFLGとして、プロセッサ9に送信される。
全ての信号ER1,ER2,・・・ERNの値が、“0”である場合、フラグFLGは、有効信号を示す。
複数の信号ER1,ER2,・・・ERNのうち少なくとも1つの値が、“1”である場合、フラグFLGは、エラー信号XXを示す。エラー信号XXを含むフラグFLG内の“1”の位置(桁)に応じて、データDOUT1のエラーを含む位置(データユニットDU)が示される。
全ての信号ER1,ER2,・・・ERNの値が、“0”である場合、フラグFLGは、有効信号を示す。
複数の信号ER1,ER2,・・・ERNのうち少なくとも1つの値が、“1”である場合、フラグFLGは、エラー信号XXを示す。エラー信号XXを含むフラグFLG内の“1”の位置(桁)に応じて、データDOUT1のエラーを含む位置(データユニットDU)が示される。
信号ERは、例えば、制御信号として、選択回路232及びデータバッファ回路233に、供給される。
選択回路232は、信号ERの“1”の位置に基づいて、データDOUT2内の複数のデータユニットDUのうち、データDOUT1内のエラーのデータユニットDU1に対応するデータユニットDUを、選択できる。選択回路232は、選択されたデータユニットDUを、データバッファ回路233に出力できる。
例えば、データバッファ回路233は、信号ERをフラグFLGとして、保持できる。データバッファ回路233は、I/O回路234を介して、信号ERを含むフラグFLGをプロセッサ9に送信する。
尚、データバッファ回路233が、データDOUT2内の複数のデータユニットの中から、“1”の信号ERに対応したデータユニットDUを選択的に出力してもよい。
<プロセッサの構成例>
図13及び図14を用いて、本実施形態の計算機システムにおけるプロセッサの内部構成の一例について、説明する。
図13は、プロセッサ内のコア回路の内部構成の一例を示すブロック図である。
図13及び図14を用いて、本実施形態の計算機システムにおけるプロセッサの内部構成の一例について、説明する。
図13は、プロセッサ内のコア回路の内部構成の一例を示すブロック図である。
図13に示されるように、コア回路99は、データキャッシュ600、データキャッシュコントローラ601、命令キャッシュ602、命令キャッシュコントローラ603、命令発行ユニット604、命令キュー605、拡張リオーダーバッファ(リオーダーバッファ回路)606、レジスタ607、リザベーションステーション608及び計算回路609を含む。
データキャッシュ600は、プロセッサ9の要求によってMRAM1から読み出されたデータを、記憶する。
データキャッシュコントローラ601は、データキャッシュ600の制御及び管理を行う。例えば、データキャッシュコントローラ601は、データキャッシュ600に対するアクセス制御を行う。データキャッシュコントローラ601は、プロセッサ9の要求に基づくデータが、データキャッシュ600内に格納されている否かを判定する。データキャッシュコントローラ601は、キャッシュ600内にデータが格納されていない場合におけるMRAM1に対する各種のアクセス制御を行う。
データキャッシュコントローラ601は、MRAM1からのデータを、拡張リオーダ―バッファ606に転送できる。
命令キャッシュ602は、命令に対応するプログラムを、記憶する。
命令キャッシュコントローラ603は、命令キャッシュ602の制御及び管理を行う。
例えば、命令キャッシュコントローラ603は、命令キャッシュ602に対するアクセス制御を行う。命令キャッシュコントローラ603は、命令キャッシュ602からプログラムを読み出せる。
例えば、命令キャッシュコントローラ603は、命令キャッシュ602に対するアクセス制御を行う。命令キャッシュコントローラ603は、命令キャッシュ602からプログラムを読み出せる。
命令発行ユニット604は、命令キャッシュコントローラ603を制御して、命令キュー605に、命令(又はデータ)を供給できる。
命令キュー(例えば、FIFO)605は、複数のデータ保持領域650を有する。命令キュー605は、命令(又はデータ)、及び、命令に対応するフラグを、データ保持領域650内に保持する。命令キュー605内において、命令又はデータに対して、有効(“V”で表記)又はチェック待ち(“W”で表記)などの状態を示すフラグ(以下では、ステートフラグともよばれる)ZZが付されている。
レジスタ607は、計算処理のための1以上のオペランド(数値、データ)を保持する。レジスタ607は、複数のデータ保持領域670を有する。
計算回路609は、加算器690及び乗算器691などの1以上の演算ユニットを含む。各演算ユニット690,691によって、命令に対応した計算処理が実行される。
リザベーションステーション608は、計算回路690による計算処理が待ち状態である命令及びデータの少なくとも一方を、保持する。
各演算ユニット690,691に対応するように、リザベーションステーション608内に、記憶領域が、設けられている。例えば、リザベーションステーション608において、加算器690に対して、第1のステーション680Aが設けられ、乗算器691に対して、第2のステーション680Bが設けられている。リザベーションステーション608は、各ステーション680A,680B内に複数のデータ保持領域(命令保持領域)681を有する。
リザベーションステーション608は、拡張リオーダ―バッファ606に対して、バッファ606内のデータの転送を要求できる。例えば、拡張リオーダーバッファ606内のデータは、レジスタ607を介して、リザベーションステーション608に供給される。
拡張リオーダーバッファ606は、エントリを保持することが可能な複数のデータ保持領域660を有する。エントリは、データに対して実行すべき計算処理の各種の情報を含んでいる。
拡張リオーダーバッファ606は、命令キュー605からの命令を保持できる。
拡張リオーダーバッファ606は、レジスタ607に、オペランドを転送できる。
拡張リオーダーバッファ606は、計算回路609からの計算結果を保持できる。
拡張リオーダーバッファ606は、MRAM1、データキャッシュコントローラ601、又は、命令キュー605から、データ(参照セル方式に基づくデータ)DOUT1、データ(自己参照方式に基づくデータ)DOUT2及びフラグFLGを、受ける。
拡張リオーダ―バッファ606及びリザベーションステーション608は、投機的計算処理の実行を制御するための記憶領域として、機能する。
尚、計算回路609内の演算ユニットの個数及び種類、及び、リザベーションステーション608のエントリ数及びレジスタ(データ保持領域)数など、コア回路99内の構成要素の個数は、プロセッサ9に要求される処理能力に応じて、適宜に設計される。
図14を用いて、本実施形態の計算機システムにおけるプロセッサの拡張リオーダーバッファの一例について、説明する。
図14に示されるように、拡張リオーダーバッファ606において、現在コミット待ちの計算処理(エントリ)に関して、各計算処理のエントリ番号、計算処理が実行中か否かを示すビジーフラグ、命令(Instruction)、オペランド(Operand1, Operand2)、レジスタ607内の書き込み先アドレス(Destination)、計算結果、及び、コミットが可能かどうかを示すステートフラグを、保持する。
命令、オペランド、書き込み先アドレスの各項目に関するデータ保持フィールド661,662,663,664において、データ(値)及び命令に対して、フラグFXが設定されている。
フラグFXは、各項目に対応するデータ/命令が有効(V:Valid)であるか、チェック待ち(W:Wait)であるかを示す。
例えば、拡張リオーダーバッファ606が、MRAM1からのデータDOUT1を受信した直後において、受信したデータDOUT1は、チェック前のデータである。それゆえ、拡張リオーダーバッファ606は、受信した直後のデータDOUT1に、待機フラグ(“W”)を付与する。
リザベーションステーション608から拡張リオーダーバッファ606にデータの転送要求があった場合において、拡張リオーダーバッファ606は、データDOUT1とともに待機フラグ“W”を、リザベーションステーション608に転送する。
拡張リオーダーバッファ606は、計算回路609の計算結果を、バリューフィールド665に保存する。
拡張リオーダーバッファ606に保持されるデータで、待機フラグ“W”が付与されたものに対して、MRAM1からエラー通知フラグ(及び訂正データ)が、転送される。
フラグFLGが有効を示す場合、拡張リオーダ―バッファ606は、有効のデータに対応する命令フィールド661及びオペランドフィールド662,663内のフラグFXを、有効状態(“V”)に設定する。
例えば、フラグFLGがエラーを示す場合において、拡張リオーダ―バッファ606は、フラグFLGと共に受信した訂正データDOUT2に対応するエントリ以後のすべてのエントリをフラッシュ(消去)する。拡張リオーダ―バッファ606は、エラー信号XXと共に受信したデータ(データユニット)DOUT2を、データ保持領域660内に書き込む。
エントリがフラッシュされた後、命令発行ユニット604が新しい命令をフェッチすることによって、計算処理が継続されてもよい。拡張リオーダーバッファ606のエントリが、命令キュー605に書き戻されて、計算処理が継続されてもよい。
各エントリについて、計算処理が終了し、且つ、すべてのエントリ内のフラグFLGが有効になった場合、拡張リオーダ―バッファ606は、ステートフラグフィールド666内における対応するステートフラグを、コミット(Commit)に設定する。
このような、拡張リオーダーバッファ606の制御により、誤り判定前のデータDOUT1を用いた投機的計算処理による計算の高速化、及び、誤り判定後に受信した正しいデータをレジスタに書き込むことが可能であることによるデータの信頼性の両立を実現することができる。
(B2) 動作例
図15乃至図17を用いて、本実施形態の計算機システム及びメモリデバイスの動作例(制御方法)について、説明する。
図15乃至図17を用いて、本実施形態の計算機システム及びメモリデバイスの動作例(制御方法)について、説明する。
尚、ここでは、本実施形態のシステム及びデバイスの動作の説明のために、図15乃至図17に加えて、図9乃至図14も適宜用いられる。
図15は、本実施形態の計算機システムにおける、参照セル方式に基づくデータと自己参照方式に基づくデータとが一致した場合における動作例を示すタイミングチャートである。
プロセッサ9は、計算処理の実行時、計算処理のためのデータの読み出しを、MRAM1に命令(要求)する。プロセッサ9は、読み出しコマンド、選択アドレス及び各種の制御信号を、MRAM1に送信する。
MRAM1は、プロセッサ9からの命令を受信する。MRAM1は、コマンドに基づいて、選択アドレスに対するデータの読み出しを開始する。
シーケンサ190は、入力制御回路299からのコマンドCMD及び制御信号CNTに基づいて、メモリ回路10内の各回路の動作を制御する。
ワード線ドライバ121は、ロウデコーダ120による選択アドレスADRのデコード結果に基づいて、ワード線WLの活性化及び非活性化を制御する。ビット線ドライバ123は、カラムデコーダ122による選択アドレスADRのデコード結果に基づいて、ビット線BLの活性化及び非活性化を制御する。スイッチ回路124は、メモリセル(選択セル)MCと各回路123,126との接続を、制御する。
読み出し回路126は、シーケンサ190の制御によって、活性化される。読み出し回路126は、参照セル方式の読み出し動作X1及び自己参照方式の読み出し動作X2を順次実行する。
図16は、本実施形態のMRAMにおける読み出し回路の動作例を説明するためのタイミングチャートである。
図16に示されるように、時刻t0において、MRAM1は、コマンド及び制御信号に基づいて、選択アドレスADRに対するデータの読み出しを開始する。
図10の読み出し回路において、選択アドレスに対応するカラムスイッチ素子CSWがオン状態に設定される。読み出しドライバ500は、オン状態のカラムスイッチ素子CSWを介して、ビット線BLに、データの読み出しのための電流又は電圧を、供給する。
マルチプレクサ241は、選択アドレスに基づいて、複数のソース線bBLのうち1つのソース線を選択する。
マルチプレクサ241は、選択アドレスに基づいて、複数のソース線bBLのうち1つのソース線を選択する。
セルトランジスタ499がオン状態に設定され、参照セルRCが活性化される。
読み出しドライバ590は、参照セルRCに、参照電流IRefを生成するための電流又は電圧を供給する。
読み出しドライバ590は、参照セルRCに、参照電流IRefを生成するための電流又は電圧を供給する。
時刻t1aにおいて、信号S1,S2の信号レベルが、“H”レベルに設定される。
キャパシタC1は、オン状態のスイッチ素子SW1を介して、選択セルMCの読み出し電流IRDに起因する電荷によって、充電される。
キャパシタC2は、オン状態のスイッチ素子SW2を介して、参照セルRCの参照電流IRefに起因する電荷によって、充電される。
時刻t2aにおいて、信号S1,S2の信号レベルは、“L”レベルに設定される。これによって、キャパシタC1,C2は、オフ状態のスイッチ素子SW1,SW2によって、選択セルMC及び参照セルRCから電気的に分離される。
時刻t2aにおいて、信号S1,S2の信号レベルは、“L”レベルに設定される。これによって、キャパシタC1,C2は、オフ状態のスイッチ素子SW1,SW2によって、選択セルMC及び参照セルRCから電気的に分離される。
時刻t3aにおいて、信号SCの信号レベルが、“H”レベルに設定される。これによって、センスアンプ回路520の2つの入力端子に対して、キャパシタC1,C2の電荷が、それぞれ供給される。
時刻t5aにおいて、センスイネーブル信号SENの信号レベルが、“H”レベルに設定される。これによって、差動増幅型のセンスアンプ回路520が、活性化される。
尚、図16において、信号SCは、信号SENの信号レベルが“H”レベルに設定される前(例えば、時刻t4a)に、“L”レベルに設定されている。但し、信号SCの信号レベルは、信号SENの“H”レベルの設定時に、“L”レベルでも、“H”レベルでもよい。“L”レベルの信号SCによって、キャパシタC1,C2は、センスアンプ回路520から電気的に分離される。
センスアンプ回路520は、キャパシタC1からの信号とキャパシタC2からの信号をセンスする。センスアンプ回路520は、センスされた2つの信号の大きさを比較し、比較結果を示す信号を増幅する。
時刻t6aにおいて、制御信号SENの信号レベルが、“L”レベルに設定される。これによって、センスアンプ回路520は、非活性化される。センスアンプ回路520の比較結果は、センスアンプ回路520内にラッチされている。
時刻t7aから時刻t8aまでの期間において、センスアンプ回路520の信号処理の結果が、参照セル方式によって読み出されたデータDOUT1として、メモリ回路10から出力される。
MRAM1は、参照セル方式の読み出し動作によって得られたデータDOUT1を、バス8を介してプロセッサ9に転送する。
参照セル方式で読み出されたデータDOUT1は、出力制御回路200内の読み出しバッファ回路210に保存される。
出力制御回路200は、読み出しバッファ回路210内のデータDOUT1の値を、選択回路232、データバッファ回路233及びI/O回路234を介して、プロセッサ9に転送する。
プロセッサ9において、コア回路99は、MRAM1からのデータDOUT1を受信すると、データDOUT1の値を、拡張リオーダーバッファ606に転送する。
その際、拡張リオーダーバッファ606は、拡張リオーダーバッファ606内におけるデータDOUT1に関連する項目及びデータDOUT1に対応するデータの各項目に“W”(チェック待ち)のフラグFXを、付与する。
図15に示されるように、プロセッサ9は、データDOUT1を用いた投機的計算処理P1を実行する。コア回路99は、投機的計算処理P1を実行した状態で、MRAM1からのフラグFLGの転送を、待つ。
コア回路99内における投機的計算処理P1の実行時において、命令キャッシュコントローラ603は、命令キャッシュ602又はMRAM1から命令データを受け取ると、命令発行ユニット604を介して、命令キュー605内に、命令(例えば、データDOUT1の処理に関連する命令)を追加する。
その際に、命令キュー605は、追加された命令を保持するデータ保持領域650において、命令に対応するデータが訂正前の状態であることを示す待機フラグ“W”を、追加した命令に付与する。
命令は、命令キュー605のデータ保持領域650の順番に従って、リザベーションステーション608の命令保存領域680A,680Bに転送される。
命令キュー605から転送された命令に対応するエントリが、拡張リオーダーバッファ606内に作成され、データ保持領域660内に格納される。
命令キュー605から転送された命令に対応するエントリが、拡張リオーダーバッファ606内に作成され、データ保持領域660内に格納される。
命令キュー605からの命令に基づいて、リザベーションステーション608は、計算処理に用いるオペランドを、レジスタ607から読み出す。
計算回路609は、命令とオペランドとが揃ったものから順に、投機的計算処理を実行する。計算回路609は、投機的計算処理P1の結果を、拡張リオーダーバッファ606に返す。
命令キャッシュコントローラ603、データキャッシュコントローラ601及びリオーダーバッファ606は、MRAM1からのフラグを待つ。
リオーダーバッファ606は、リザベーションステーション608からデータの転送を要求された場合、要求されたデータと待機フラグ(“W”)とを、リザベーションステーション608に転送する
このように、本実施形態の計算機システムにおいて、自己参照方式の読み出し動作と並行して、投機的計算処理が、実行される。
このように、本実施形態の計算機システムにおいて、自己参照方式の読み出し動作と並行して、投機的計算処理が、実行される。
尚、図15において、データDOUT1が4つに分割されて転送される例が、示されている。データの分割数(データユニットDUの数)は、計算機システム1000及びプロセッサ9の仕様に応じて、設計される。
MRAM1は、参照セル方式の読み出し動作に続いて、自己参照方式の読み出し動作P2を実行する。
図14に示されるように、時刻t8aにおいて、信号S1の信号レベルが、“H”レベルに設定される。自己参照方式の読み出し動作時において、信号S2の信号レベルは、“L”レベルに設定される。これによって、参照セルRCは、キャパシタC2から電気的に分離されている。
キャパシタC1は、オン状態のスイッチ素子SW1を介して、1回目のデータ読み出しにおける選択セルMCの読み出し電流IREAD1に起因する電荷によって、充電される。
時刻t9aにおいて、信号S1の信号レベルは、“L”レベルに設定される。これによって、キャパシタC1は、オフ状態のスイッチ素子SW1によって、選択セルMCから電気的に分離される。
時刻t9aから時刻t10aまでの期間において、選択セルMCに対するあらかじめ設定されたデータ(基準データ)の書き込みのために、制御信号MTJ−WRが“H”レベルに設定され、書き込み回路125が活性化される。これによって、書き込み電流が、選択セルMC内のMTJ素子400に供給される。
この時、センスアンプユニット261は、選択セルから電気的に分離されている。
この時、センスアンプユニット261は、選択セルから電気的に分離されている。
図4を用いて説明したように、“0”データの書き込みの書き込み電流の供給によって、AP状態のMTJ素子において、MTJ素子の磁化配列状態が、AP状態からP状態に変わる。この一方、P状態のMTJ素子において、MTJ素子の磁化配列状態は、P状態に維持される。
時刻t10aにおいて、信号MTJ−WRが“L”レベルに設定される。信号S3の信号レベルが、“H”レベルに設定される。
基準データの書き込み後において、キャパシタC2は、オン状態のスイッチ素子SW3を介して、2回目のデータ読み出しにおける選択セルMCの読み出し電流IRDbに起因する電荷によって、充電される。
基準データの書き込み後において、キャパシタC2は、オン状態のスイッチ素子SW3を介して、2回目のデータ読み出しにおける選択セルMCの読み出し電流IRDbに起因する電荷によって、充電される。
時刻t11aにおいて、信号S3の信号レベルが、“L”レベルに設定される。キャパシタC2は、オフ状態のスイッチ素子SW3によって、選択セルから電気的に分離される。
時刻t12aにおいて、信号SCの信号レベルが、“H”レベルに設定される。
これによって、センスアンプ回路520の2つの入力端子に対して、キャパシタC1,C2の電荷が、それぞれ供給される。
これによって、センスアンプ回路520の2つの入力端子に対して、キャパシタC1,C2の電荷が、それぞれ供給される。
時刻t14aにおいて、センスイネーブル信号SENの信号レベルが、センスアンプ回路520の活性化のために、“H”レベルに設定される。
これによって、活性化されたセンスアンプ回路520は、差動増幅によって、キャパシタC1からの信号とキャパシタC2からの信号とを比較し、比較結果を示す信号を増幅する。
これによって、活性化されたセンスアンプ回路520は、差動増幅によって、キャパシタC1からの信号とキャパシタC2からの信号とを比較し、比較結果を示す信号を増幅する。
上述のように、信号SCの信号レベルは、信号SENの信号レベルが“H”レベルに設定される前のタイミング(例えば、時刻t13a)で、“L”レベルに設定されてもよいし、信号SENの信号レベルが“H”レベルに設定されるより後のタイミングで、“L”レベルに設定されてもよい。
時刻t15aにおいて、制御信号SENの信号レベルが、“L”レベルに設定される。これによって、センスアンプ回路520は、非活性化される。センスアンプ回路520の比較結果は、センスアンプ回路520内にラッチされている。
時刻t16aから時刻t17aまでの期間において、センスアンプ回路520の信号処理の結果が、自己参照方式によって読み出されたデータDOUT2として、メモリ回路10から出力される。
データDOUTの出力の後、メモリ回路10は、ライトバック処理を実行する。
時刻t18aから時刻t19aまでの期間において、ライトバック処理によって選択セルMCに読み出した値(データDOUT2)を書き戻すために、制御信号MTJWRの信号レベルが、“H”レベルに設定される。これによって、データDOUT2に対応した書き込み電流が、選択セルMCに供給される。選択セルMCに、保持すべきデータが書き込まれる。
自己参照方式で読み出されたデータDOUT2は、読み出しバッファ回路220に保存される。
出力制御回路200において、比較回路231は、参照セル方式に基づくデータDOUT1と自己参照方式に基づくデータDOUT2とがバッファ回路210,220に揃うと、読み出しバッファ回路210のデータの値と読み出しバッファ回路220のデータの値とを比較する。
出力制御回路200において、比較回路231は、参照セル方式に基づくデータDOUT1と自己参照方式に基づくデータDOUT2とがバッファ回路210,220に揃うと、読み出しバッファ回路210のデータの値と読み出しバッファ回路220のデータの値とを比較する。
比較回路231は、2つのデータDOUT1,DOUT2におけるデータユニットDUの比較結果に対応した判定信号ERを出力する。
比較結果に基づいて、2つのデータDOUT1,DOUT2が一致していた場合、参照セル方式のデータDOUT1の値が有効であると、みなされる。
この結果として、出力制御回路200は、有効信号SVLDを含むフラグFLGをプロセッサ9に送信する。
図14に示されるように、プロセッサ9は、有効信号SVLDを含むフラグFLGを受信すると、参照セル方式に基づくデータを用いた計算処理P1が終了した後、その計算処理の結果をコミットする。
この場合(参照セル方式のデータが有効である場合)において、拡張リオーダーバッファ606は、データDOUT1に対応する各項目のフラグFXを、有効フラグ(“V”)に設定する。拡張リオーダーバッファ606は、ステートフラグを、コミットに設定する。
例えば、キャッシュコントローラ601は、MRAM1からの有効信号SVLDに基づいて、データキャッシュ600に、データDOUT1の値又はデータDOUT1を用いた計算処理に対応する値を書き込む。
例えば、有効信号SVLDに基づいて、命令キャッシュコントローラ603は、命令キャッシュ602に、データDOUT1の値又はデータDOUT1を用いた計算処理に対応する値を書き込む。
命令キュー605は、キュー605内の対応する命令に、有効フラグ(“V”)を、付与する。また、命令キュー605は、命令に誤りが無い場合、フラグFXに、有効フラグ(“V”)をセットする。
以上のように、実施形態の計算機システムにおける参照セル方式に基づくデータと自己参照方式に基づくデータとが一致した場合において、参照セル方式のデータを用いた投機的計算処理P1によって、所望の計算結果が、得られる。
図17は、本実施形態の計算機システムにおける参照セル方式に基づくデータと自己参照方式に基づくデータとが一致しない場合のタイミングチャートである。
図14及び図15の例と同様に、MRAM1は、参照セル方式の読み出し動作及び自己参照方式の読み出し動作を連続して実行する。
コア回路99は、参照セル方式に基づくデータを用いて、投機的計算処理P1を実行する。投機的計算処理P1は、MRAM1における自己参照方式の読み出し動作と並行して実行されている。
MRAM1において、異なる方式で読み出された2つのデータDOUT1,DOUT2が、比較回路231によって比較される。
2つのデータDOUT1,DOUT2が一致しない場合、MRAM1において、出力制御回路200は、エラー信号XXを含むフラグFLGを、プロセッサ9に転送する。エラー信号XXは、一致しなかったデータユニットDUの位置を示す。
さらに、2つのデータDOUT1,DOUT2が一致しない場合、出力制御回路200は、自己参照方式で読み出したデータDOUT2を訂正データとして、プロセッサ9に、送信する。
例えば、2つのデータの比較が互いに対応するデータユニットDUによって実行される場合、出力制御回路200は、データの値が一致しないデータユニットDUを、選択的に転送する。出力制御回路200は、データの値が一致したデータユニットDUを、MRAM1からプロセッサ9に転送しない。
図17の例では、自己参照方式のデータにおける2番目のデータユニットDU2Bと4番目のデータユニットDU4Bが、訂正データとして、MRAM1からプロセッサ9に転送される。1番目及び3番目のデータユニットDU1B,DU3Bは、転送されない。
この場合において、データDOUT1の2番目及び4番目のデータユニットがエラーで洗うことを示すエラー信号(例えば、“0101”の信号)XXが、フラグFLGとして転送される。
プロセッサ9は、MRAM1からのフラグFLG及び訂正データDOUT2に基づいて、データDOUT2を用いた計算処理P2を実行する。
本実施形態のように、訂正データがデータユニットDUとして、MRAM1からプロセッサ9に転送される場合、データユニットでのデータ転送及び計算処理となる。この結果として、本実施形態の計算システムは、データ転送の期間及び計算処理の期間を、短縮できる。
MRAM1のフラグFLGに基づいて、計算処理に用いられるデータに訂正がある場合(参照セル方式のデータが無効である場合)、プロセッサ9は、エラー信号XXの訂正位置で示されたデータDU2A,DU4Aを、自己参照方式に基づく訂正データDU2B,DU4Bに置き換える。プロセッサ9は、データDU2B,DU4Bを用いて、再計算処理P2を実行する。
例えば、コア回路99は、訂正データ(自己参照方式のデータ)DOUT2を、データキャッシュコントローラ601を介して、データキャッシュ600に書き込む。
これによって、データキャッシュ600内に、誤りが無いデータが保存される。データユニットDUが訂正データDOUT2として転送される場合、データユニットDU2B,DU4Bが、参照セル方式のデータDOUT1内の対応するデータユニットDU1A,DU4Aに、それぞれ置換される。
例えば、命令キャッシュコントローラ603は、エラー信号XXに基づいて、エラー信号XXと共に転送された訂正データ(自己参照方式のデータ)DOUT2のデータユニットDU2B,DU4Bを、命令キャッシュ602に書き込む。これによって、命令キャッシュ602内のデータが、エラーの無いデータに置換され、保存される。
命令キャッシュコントローラ603は、命令キャッシュ602に対するデータの書き込みと並行して、エラー信号及び訂正データDOUT2を、命令キュー605に転送する。
データ内に誤りが有った場合、命令キュー605は、訂正データDOUT2に基づいて、キュー605内の命令(又はデータ)を正しい値に書き換える。命令キュー605は、正しい値に書き換えられた命令のフラグZZに対して、有効フラグ(“V”)を付与する。
尚、命令キュー605において、命令が発行されると、キュー605内から命令が消失する。そのため、命令キュー605内に、データに対応する命令が存在しない場合がある。
この場合において、拡張リオーダーバッファ606内に、消失した命令に対応するエントリが、形成されている。命令に誤りが有った場合、正しい命令が、命令キュー605に書き込まれ、さらに拡張リオーダーバッファ606内の後続のエントリが削除(フラッシュ)される。このように、誤りを含む命令の後続のエントリの値が削除されるのは、誤りを含む命令以降の演算結果の正しさが、保障されないためである。
エラー信号XXに基づいて、拡張リオーダ―バッファ606は、フラグFLGと共に受信した訂正データDOUT2に対応するエントリ以後のすべてのエントリをフラッシュする。拡張リオーダ―バッファ606は、訂正データ(データユニット)DOUT2を、データ保持領域660内に書き込む。
例えば、エントリがフラッシュされた後、命令発行ユニット604からの新しい命令、又は、が、命令キュー605に書き戻された拡張リオーダーバッファ606のエントリによって、計算処理が継続される。
各エントリについて、訂正データを用いた計算処理が終了し、フラグFLGが有効になった場合、拡張リオーダ―バッファ606は、ステートフラグを、コミット(Commit)に設定する。
このように、プロセッサ9は、訂正データDOUT2を用いた再計算処理P2を実行する。再計算処理の結果が、コミットされる。再計算処理の結果が、各キャッシュ600,602及びレジスタ607に、書き込まれる。
以上のように、実施形態の計算機システムにおける参照セル方式に基づくデータと自己参照方式に基づくデータとが一致しない場合において、参照セル方式のデータが自己参照方式のデータに置換される。そして、本実施形態の計算機システムにおいて、自己参照方式のデータを用いた計算処理P2によって、所望の計算結果が、得られる。
以上のように、本実施形態の計算機システムの動作が完了する。
(3)まとめ
以上のように、本実施形態の計算機システム及び本実施形態のメモリデバイスは、2つの異なる読み出し方式を用いてデータを読み出し、読み出されたデータに基づいて計算処理を実行する。
以上のように、本実施形態の計算機システム及び本実施形態のメモリデバイスは、2つの異なる読み出し方式を用いてデータを読み出し、読み出されたデータに基づいて計算処理を実行する。
本実施形態の計算機システムにおいて、MRAMは、比較的高速な参照セル方式の読み出し動作によって、データを読み出す。
本実施形態の計算機システムにおいて、プロセッサが参照セル方式の読み出し動作に基づくデータを用いた計算処理(投機的計算処理)を実行するのに並行して、MRAMは自己参照方式の読み出し動作を実行する。
本実施形態において、参照セル方式の読み出し動作に基づくデータと自己参照方式の読み出し動作に基づくデータとが、比較される。
本実施形態の計算機システムにおいて、2つのデータが一致しない場合において、プロセッサは、比較的信頼性の高い自己参照方式の読み出し動作に基づくデータを用いて、計算処理を再実行する。
これによって、上述のように、本実施形態の計算機システムは、動作の高速化と動作の信頼性の向上を、図ることができる。
本実施形態において、読み出しデータに関するエラー情報は、データの比較結果に基づいたフラグによって通知される。また、本実施形態において、プロセッサ内におけるMRAMからのデータ(及びデータに基づく計算結果)の適否は、フラグの設定によって、判定される。
それゆえ、本実施形態の計算機システムは、システム及びプロセッサの構成の大幅な変更及び処理の複雑を、回避できる。
これによって、本実施形態の計算機システム及びメモリデバイスは、動作の高速化及び計算処理の信頼性の向上を図ることができる。
[C] 第2の実施形態
図18及び図19を参照して、第2の実施形態の計算機システム及びメモリデバイスについて、説明する。
図18及び図19を参照して、第2の実施形態の計算機システム及びメモリデバイスについて、説明する。
(C1)構成例
図18は、本実施形態の計算機システム内のメモリデバイス(例えば、MRAM)における、読み出し回路の一例を示している。
図18は、本実施形態の計算機システム内のメモリデバイス(例えば、MRAM)における、読み出し回路の一例を示している。
図18に示されるように、本実施形態のMRAMにおける読み出し回路126において、センスアンプユニット261Aは、4つのキャパシタC1A,C2A,C3A,C4Aを含む。
キャパシタC1A,C2Aは、参照セル方式の読み出し動作のために、用いられる。
キャパシタC1Aの一端は、スイッチ素子SW1Aとスイッチ素子SWX1との接続ノードに接続されている。キャパシタC1Aの他端は、接地されている。
キャパシタC1Aは、スイッチSW1Aを介して、マルチプレクサ241によって選択された1本のビット線bBLに接続される。キャパシタC1Aは、スイッチ素子SWX1を介して、センスアンプ回路520の一方の入力端子に接続される。
キャパシタC1Aの一端は、スイッチ素子SW1Aとスイッチ素子SWX1との接続ノードに接続されている。キャパシタC1Aの他端は、接地されている。
キャパシタC1Aは、スイッチSW1Aを介して、マルチプレクサ241によって選択された1本のビット線bBLに接続される。キャパシタC1Aは、スイッチ素子SWX1を介して、センスアンプ回路520の一方の入力端子に接続される。
キャパシタC2Aの一端は、スイッチ素子SW2Aとスイッチ素子SWX2との接続ノードに接続されている。キャパシタC2Aの他端は、接地されている。
キャパシタC2Aは、スイッチSW2Aを介して、参照セルRCに接続される。キャパシタC2Aは、スイッチ素子SWX2を介して、センスアンプ回路520の他方の入力端子に接続されている。
キャパシタC2Aは、スイッチSW2Aを介して、参照セルRCに接続される。キャパシタC2Aは、スイッチ素子SWX2を介して、センスアンプ回路520の他方の入力端子に接続されている。
尚、キャパシタC1A,C2Aは、センスアンプ回路520の入力端子に接続された容量素子でもよい。キャパシタC1Aは、センスアンプ回路520の入力端子とメモリセアレイ(選択セル)とを接続する配線(及び素子)に含まれる容量成分(寄生容量)でもよい。キャパシタC2Aは、センスアンプ回路520の入力端子と参照セルとを接続する配線(及び素子)に含まれる容量成分(寄生容量)でもよい。
キャパシタC3A,C4Aは、自己参照方式の読み出し動作のために、用いられる。
キャパシタC3Aの一端は、スイッチ素子SW3Aとスイッチ素子SWZ1との接続ノードに接続されている。キャパシタC1Aの他端は、接地されている。
キャパシタC3Aは、スイッチSW3Aを介して、マルチプレクサ241によって選択された1本のビット線bBLに接続される。キャパシタC3Aは、スイッチ素子SWZ1を介して、センスアンプ回路520の一方の入力端子に接続される。
キャパシタC3Aは、スイッチSW3Aを介して、マルチプレクサ241によって選択された1本のビット線bBLに接続される。キャパシタC3Aは、スイッチ素子SWZ1を介して、センスアンプ回路520の一方の入力端子に接続される。
キャパシタC4Aの一端は、スイッチ素子SW4Aとスイッチ素子SWZ2との接続ノードに接続されている。キャパシタC4Aの他端は、接地されている。
キャパシタC4Aは、スイッチSW4Aを介して、マルチプレクサ241によって選択された1本のビット線bBLに接続される。キャパシタC4Aは、スイッチ素子SWZ2を介して、センスアンプ回路520の他方の入力端子に接続される。
キャパシタC4Aは、スイッチSW4Aを介して、マルチプレクサ241によって選択された1本のビット線bBLに接続される。キャパシタC4Aは、スイッチ素子SWZ2を介して、センスアンプ回路520の他方の入力端子に接続される。
尚、キャパシタC3A,C4Aは、センスアンプ回路520の入力端子に接続された容量素子でもよい。キャパシタC3A,C4Aは、センスアンプ回路520の入力端子とメモリセアレイ(選択セル)10とを接続する各配線(及び素子)に含まれる容量成分(寄生容量)でもよい。
スイッチ素子SW1Aは、選択セルMCとキャパシタC1Aとの接続を制御する。
スイッチ素子SW1Aの一端は、マルチプレクサ241の端子に接続されている。スイッチ素子SW1Aの他端は、キャパシタC1A及びスイッチ素子SWX1の一端に接続されている。
スイッチ素子SW1Aの一端は、マルチプレクサ241の端子に接続されている。スイッチ素子SW1Aの他端は、キャパシタC1A及びスイッチ素子SWX1の一端に接続されている。
スイッチ素子SW2Aは、参照セルRCとキャパシタC2Aとの接続を制御する。
スイッチ素子SW2Aの一端は、参照セルRCに接続されている。スイッチ素子SW2Aの他端は、キャパシタC2及びスイッチ素子SWX2の一端に接続されている。
スイッチ素子SW2Aの一端は、参照セルRCに接続されている。スイッチ素子SW2Aの他端は、キャパシタC2及びスイッチ素子SWX2の一端に接続されている。
スイッチ素子SW3Aは、選択セルMCとキャパシタC3Aとの接続を制御する。
スイッチ素子SW3Aの一端は、マルチプレクサ241の端子に接続されている。スイッチ素子SW3Aの他端は、キャパシタC3A及びスイッチ素子SWZ1の一端に接続されている。
スイッチ素子SW3Aの一端は、マルチプレクサ241の端子に接続されている。スイッチ素子SW3Aの他端は、キャパシタC3A及びスイッチ素子SWZ1の一端に接続されている。
スイッチ素子SW4Aは、選択セルMCとキャパシタC4Aとの接続を制御する。
スイッチ素子SW4Aの一端は、マルチプレクサ241の端子に接続されている。スイッチ素子SW4Aの他端は、キャパシタC4A及びスイッチ素子SWZ2の一端に接続されている。
スイッチ素子SW4Aの一端は、マルチプレクサ241の端子に接続されている。スイッチ素子SW4Aの他端は、キャパシタC4A及びスイッチ素子SWZ2の一端に接続されている。
スイッチ素子SW1A,SW2A,SW3A,SW4Aのゲートに、互いに異なる制御信号S1,S2,S3,S4が、供給される。これによって、スイッチ素子SW1,SW2,SW3,SW4のオン/オフは、互いに独立に制御される。
スイッチ素子SWX1は、キャパシタC1Aとセンスアンプ回路520との接続を制御する。スイッチ素子SWX1の一端は、キャパシタC1A及びスイッチ素子SW1Aに接続されている。スイッチ素子SWX1の他端は、センスアンプ回路520の一方の入力端子に接続されている。
スイッチ素子SWX2は、キャパシタC2Aとセンスアンプ回路520との接続を制御する。スイッチ素子SWX2の一端は、キャパシタC2A及びスイッチ素子SW2Aに接続されている。スイッチ素子SWX2の他端は、センスアンプ回路520の他方の入力端子に接続されている。
スイッチ素子SWZ1は、キャパシタC3Aとセンスアンプ回路520との接続を制御する。スイッチ素子SWZ1の一端は、キャパシタC3A及びスイッチ素子SW3Aに接続されている。スイッチ素子SWZ1の他端は、センスアンプ回路520の一方の入力端子に接続されている。
スイッチ素子SWZ2は、キャパシタC4Aとセンスアンプ回路520との接続を制御する。スイッチ素子SWZ2の一端は、キャパシタC4A及びスイッチ素子SW4Aに接続されている。スイッチ素子SWZ2の他端は、センスアンプ回路520の他方の入力端子に接続されている。
スイッチ素子SWX1,SWX2のゲートに、共通の制御信号SC1が、供給される。これによって、スイッチ素子SWX1,SWX2のオン/オフは、共通に制御される。スイッチ素子SWZ1,SWZ2のゲートに、共通の制御信号SC2が、供給される。これによって、スイッチ素子SWZ1,SWZ2のオン/オフは、共通に制御される。
制御信号SC1Aの信号レベルは、制御信号SC2Aの信号レベルから独立に制御できる。
制御信号SC1Aの信号レベルは、制御信号SC2Aの信号レベルから独立に制御できる。
尚、センスアンプユニット261Aは、ビット線BLに接続されてもよい。この場合、センスアンプユニット261Aは、ビット線BLの放電に起因する電荷を、保持する。
図18の読み出し回路は、以下の図19に示される動作によって、比較的高速な動作を実現できる。
(C2)動作例
図19は、本実施形態のMRAMの読み出し動作を説明するためのタイミングチャートである。
図19は、本実施形態のMRAMの読み出し動作を説明するためのタイミングチャートである。
図19に示されるように、時刻t0において、読み出し動作が開始される。ドライバ500,590が、各セルMC,RCに対して、オン状態のスイッチ素子CSW,499を介して、電圧又は電流を供給する。
時刻t1bにおいて、信号S1,S2,S3の信号レベルが、“H”レベルに設定される。
オン状態のスイッチ素子SW1A(及びマルチプレクサ241)を介して、選択セルMCの読み出し電流IRDに起因する電荷によって、キャパシタC1Aは充電される。
オン状態のスイッチ素子SW3A(及びマルチプレクサ241)を介して、選択セルMCの読み出し電流IRDに起因する電荷によって、キャパシタC3Aは充電される。
また、オン状態のスイッチ素子SW2Aを介して、参照セルからの電流IRefが、キャパシタC2Aに供給される。電流IRefに起因する電荷によって、キャパシタC2Aは、充電される。
また、オン状態のスイッチ素子SW2Aを介して、参照セルからの電流IRefが、キャパシタC2Aに供給される。電流IRefに起因する電荷によって、キャパシタC2Aは、充電される。
スイッチ素子S4Aの信号レベルは、“L”レベルに設定されている。オフ状態のスイッチ素子S4Aによって、キャパシタC4は、選択セルから電気的に分離される。
本実施形態において、自己参照方式の1回目のデータの読み出しのためのキャパシタC3Aの充電が、参照セル方式の読み出し動作のためのキャパシタC1A,C2Aの充電と同時に実行される。
時刻t2bにおいて、信号S1,S2,S3の信号レベルは、“L”レベルに設定される。これによって、キャパシタC1A,C3Aは、オフ状態のスイッチ素子SW1A,SW3Aによって、選択セルMCから電気的に分離される。キャパシタC2Aは、オフ状態のスイッチ素子SW2Aによって、参照セルRCから電気的に分離される。
時刻t1bから時刻t2bまでの期間において、自己参照方式の読み出し動作の第1の読み出しのためのキャパシタの充電期間が、参照セル方式の読み出し動作のためのキャパシタの充電期間に、重複している。
時刻t3bにおいて、信号SC1の信号レベルが、“H”レベルに設定される。
これによって、センスアンプ回路520の2つの入力端子に対して、キャパシタC1A,C2Aの充電電荷に対応する信号が、それぞれ供給される。
この時、信号SC2は、“L”レベルに設定されている。それゆえ、充電状態のキャパシタC3Aは、オフ状態のスイッチ素子SWZ1によって、センスアンプ回路520から電気的に分離されている。
時刻t5bにおいて、センスイネーブル信号SENの信号レベルが、“H”レベルに設定される。これによって、センスアンプ回路520が、活性化される。
尚、時刻t4bにおいて、キャパシタC1A,C2Aとセンスアンプ回路520とを電気的に分離するために、信号SC1の信号レベルが、“L”レベルに設定されている。
但し、時刻t5bの後(例えば、時刻t5bと時刻t6bとの間のタイミング)において、信号SC1の信号レベルが、“L”レベルに設定されてもよい。
但し、時刻t5bの後(例えば、時刻t5bと時刻t6bとの間のタイミング)において、信号SC1の信号レベルが、“L”レベルに設定されてもよい。
センスアンプ回路520は、キャパシタC1Aからの信号とキャパシタC2Aからの信号とをセンスする。センスアンプ回路520は、差動増幅によって、センスされた2つの信号の大きさを比較し、比較結果を増幅する。
時刻t6bにおいて、センスイネーブル信号SENの信号レベルが、“L”レベルに設定される。これによって、センスアンプ回路520は、非活性化される。比較結果は、センスアンプ回路520内にラッチされている。
キャパシタC1A,C2Aの信号の比較結果は、参照セル方式の読み出し動作によるデータに対応する。このように、参照セル方式の読み出し動作が、実行される。
キャパシタC1A,C2Aの信号の比較結果は、参照セル方式の読み出し動作によるデータに対応する。このように、参照セル方式の読み出し動作が、実行される。
時刻t7bから時刻t8bまでの期間において、センスアンプ回路520の信号処理の結果が、参照セル方式によって読み出されたデータDOUT1として、出力される。
本実施形態において、自己参照方式の読み出し動作における1回目のデータ読み出し(内部リード)は、参照セル方式の読み出し動作時に実行されている。
キャパシタC3A内に蓄積された信号電荷が、自己参照方式の読み出し動作における1回目のデータ読み出しの結果である。
それゆえ、本実施形態において、参照セル方式のデータの出力の完了の後、選択セルに対する所定のデータ(例えば、“1”データ)の書き込みが行われる。
時刻t9bから時刻t10bの期間において、制御信号MTJ−WRが“H”レベルに設定される。これによって、書き込み回路125が活性化される。基準データに対応する書き込み電流が、選択セルMC内のMTJ素子400に供給される。
制御信号MTJ−WRが“Lレベルに設定された後、時刻t11bにおいて、信号S4の信号レベルが、“H”レベルに設定される。
これによって、自己参照方式の読み出し動作の2回目のデータ読み出しが実行される。選択セルMCの読み出し電流IRDに起因する電荷によって、キャパシタC4Aは、オン状態のスイッチ素子SW4A(及びマルチプレクサ241)を介して、充電される。
これによって、自己参照方式の読み出し動作の2回目のデータ読み出しが実行される。選択セルMCの読み出し電流IRDに起因する電荷によって、キャパシタC4Aは、オン状態のスイッチ素子SW4A(及びマルチプレクサ241)を介して、充電される。
時刻t12bにおいて、信号S4の信号レベルが、“L”レベルに設定される。これによって、キャパシタC4Aは、オフ状態のスイッチ素子SW4によって、選択セルから電気的に分離される。
時刻t13bにおいて、制御信号SC2の信号レベルが、“H”レベルに設定される。これによって、キャパシタC3A,C4Aは、オン状態のスイッチ素子SWZ1,SWZ2を介して、センスアンプ回路520に電気的に接続される。キャパシタC3A,C4Aの電荷が、センスアンプ回路520の2つの入力端子に、それぞれ供給される。
時刻t15bにおいて、センスイネーブル信号SENの信号レベルが、“H”レベルに設定される。これによって、センスアンプ回路520Bが、活性化される。
尚、時刻t14bにおいて、キャパシタC3A,C4Aとセンスアンプ回路520とを電気的に分離するために、信号SC2の信号レベルが、“L”レベルに設定されている。
但し、時刻t15bの後(例えば、時刻t15bと時刻t16bとの間のタイミング)において、信号SC2の信号レベルが、“L”レベルに設定されてもよい。
但し、時刻t15bの後(例えば、時刻t15bと時刻t16bとの間のタイミング)において、信号SC2の信号レベルが、“L”レベルに設定されてもよい。
センスアンプ回路520は、キャパシタC3Aからの信号とキャパシタC4Aからの信号とセンスする。センスアンプ回路520は、センスした信号を比較し、比較結果を増幅する。
時刻t16bにおいて、センスイネーブル信号SENの信号レベルが、“L”レベルに設定される。これによって、センスアンプ回路520は、非活性化される。比較結果は、センスアンプ回路520内にラッチされている。
キャパシタC1A,C2Aの信号の比較結果は、自己参照方式の読み出し動作によるデータに対応する。このように、自己参照方式の読み出し動作が、実行される。
キャパシタC1A,C2Aの信号の比較結果は、自己参照方式の読み出し動作によるデータに対応する。このように、自己参照方式の読み出し動作が、実行される。
時刻t17bから時刻t18bまでの期間において、センスアンプ回路520の信号処理の結果が、自己参照方式によって読み出されたデータDOUT2として、出力される。
時刻19bから時刻t20bまでの期間において、選択セルに対する読み出したデータDOUT2の値を書き戻すために、制御信号MTJ−WRが“H”レベルに設定される。活性化された書き込み回路125によって、データDOUT2に対応する書き込み電流が、選択セルMC内のMTJ素子400に供給される。
このように、自己参照方式の読み出しによってデータが破壊された選択セルに対して、ライトバック処理が実行される。
以上のように、本実施形態のMRAMの参照セル方式の読み出し動作と自己参照方式の読み出し動作とが連続したデータ読み出し動作が、完了する。
(C3)まとめ
上述の第1の実施形態のMRAMにおいて、参照セル方式の読み出しのデータが出力されてから、自己参照方式の読み出しにおける1回目の読み出し(キャパシタの充電)が、実行される。
上述の第1の実施形態のMRAMにおいて、参照セル方式の読み出しのデータが出力されてから、自己参照方式の読み出しにおける1回目の読み出し(キャパシタの充電)が、実行される。
一方、本実施形態のように、図18のセンスアンプユニットが用いられた場合、自己参照方式の読み出しのためのキャパシタC3Aの充電を、参照セル方式の読み出しためのキャパシタC1A,C2Aの充電と同時に実行される。
それゆえ、参照セル方式に基づくデータDOUT1の出力が終わった直後に、MTJ素子に対する基準データの書き込みを、実行できる。
したがって、本実施形態のMRAMは、読み出し動作を高速化できる。
この結果として、本実施形態のMRAMを含む計算機システムは、計算処理のための期間を、短縮できる。
以上のように、本実施形態の計算機システム及びメモリデバイスは、動作の高速化を図ることができる。
[D]第3の実施形態
図20を参照して、第3の実施形態の計算機システム及びメモリデバイスについて、説明する。
図20を参照して、第3の実施形態の計算機システム及びメモリデバイスについて、説明する。
図4を用いて説明したように、MRAMにおける破壊型自己参照方式の読み出し動作は、2回の読み出し(2回のキャパシタの充電)の間に、所定のデータ(基準データ)に対応する書き込み電流をMTJ素子に供給するためのステップが実行される。
また、自己参照形式の読み出し動作時において、2つの読み出し間の基準データの書き込みによって破壊されたデータを元に戻すために、2回目の読み出しの後に、読み出したデータを書き戻すステップ(ライトバック処理)が、実行される。
それゆえ、破壊型自己参照方式の読み出し動作の実行期間は、参照セル方式の読み出し方式の読み出し動作の実行期間に比較して、長くなる。
本実施形態のMRAMにおいて、MTJ素子の抵抗値の電圧依存性を利用して読み出し動作を実行することによって、2つの読み出し間における書き込み電流の供給(データの破壊)無しに、自己参照方式によるメモリセルからデータを読み出すことができる。
(D1) 原理
図20及び図21を用いて、本実施形態のMRAMにおける非破壊型の自己参照方式の読み出し動作の原理について、説明する。
図20は、磁気抵抗効果素子(MTJ素子)の抵抗値の電圧依存性を示すグラフである。
図20及び図21を用いて、本実施形態のMRAMにおける非破壊型の自己参照方式の読み出し動作の原理について、説明する。
図20は、磁気抵抗効果素子(MTJ素子)の抵抗値の電圧依存性を示すグラフである。
図5において、グラフの横軸は、MTJ素子に対する印加電圧に対応し、グラフの縦軸は、MTJ素子の抵抗値に対応する。図5において、平行状態(P状態)のMTJ素子の特性PL1、及び、反平行状態(AP状態)のMTJ素子の特性PL2が、それぞれ示されている。
図20に示されるように、MTJ素子の抵抗値と印加電圧との関係の傾向として、印加電圧が増加すると、MTJ素子の抵抗値は低下する。尚、MTJ素子に書き込み電圧(書き込み電流)又は絶縁破壊電圧が印加されなければ、印加電圧の増加によってMTJ素子の抵抗値が低下しても、MTJ素子の磁化配列は維持される。
P状態のMTJ素子の抵抗値の電圧依存特性PL1は、AP状態のMTJ素子の抵抗値の電圧依存特性PL2と異なる。
P状態のMTJ素子の抵抗値の電圧依存特性PL1は、AP状態のMTJ素子の抵抗値の電圧依存特性PL2と異なる。
特性PL1に示されるように、印加電圧が電圧値VR1から電圧値VR2に増大しても、P状態のMTJ素子の抵抗値の変化量(低下量)Z1は、小さい。
これに対して、特性PL2に示されるように、電圧値VR1から電圧値VR2までの印加電圧の範囲において、AP状態のMTJ素子の抵抗値の変化量Z2は、P状態のMTJ素子の抵抗値の変化量Z1より大きい。
これに対して、特性PL2に示されるように、電圧値VR1から電圧値VR2までの印加電圧の範囲において、AP状態のMTJ素子の抵抗値の変化量Z2は、P状態のMTJ素子の抵抗値の変化量Z1より大きい。
例えば、MTJ素子に電圧VR2が印加された場合、AP状態のMTJ素子の抵抗値は、P状態のMTJ素子の抵抗値に近い値を有する。
このように、MTJ素子の磁化配列状態に応じて、ある電圧がMTJ素子に印加された場合におけるMTJ素子の抵抗値、及び、印加電圧に対するMTJ素子の抵抗値の変化量Z1,Z2が異なる。
本実施形態のMRAM1において、電圧依存性によるMTJ素子の抵抗値の変化量Z1,Z2の違いを利用して、電圧の印加状態の異なる選択セルから得られる2つの値(出力)から、MTJ素子400の抵抗状態に対応したデータが判別される。
本実施形態のMRAM1において、電圧依存性によるMTJ素子の抵抗値の変化量Z1,Z2の違いを利用して、電圧の印加状態の異なる選択セルから得られる2つの値(出力)から、MTJ素子400の抵抗状態に対応したデータが判別される。
本実施形態のMRAMは、このようなMTJ素子の抵抗値の電圧依存性を用いて、MTJ素子のデータを破壊すること無しに、自己参照方式の読み出し動作を実行する。
図21は、本実施形態のMRAMの読み出し動作を説明するための図である。
図21の(a)は、電圧VR1の印加時におけるMTJ素子からの出力電流に起因するあるノード(配線)の充電電位と時間との関係を示す模式図である。図21の(a)において、グラフの横軸は時間に対応し、グラフの縦軸は充電電位に対応する。
図21は、電圧VR2(VR2>VR1)の印加時におけるMTJ素子からの出力電流に起因するあるノード(配線)の充電電位と時間との関係を示す模式図である。図21の(b)において、グラフの横軸は時間に対応し、グラフの縦軸は充電電位に対応する。
図21は、電圧VR2(VR2>VR1)の印加時におけるMTJ素子からの出力電流に起因するあるノード(配線)の充電電位と時間との関係を示す模式図である。図21の(b)において、グラフの横軸は時間に対応し、グラフの縦軸は充電電位に対応する。
図21の(a)及び(b)のそれぞれにおいて、AP状態のMTJ素子における時間と充電電位との関係を示す特性線P2a,P2b、及び、P状態のMTJ素子における時間と充電電位との関係を示す特性線P3a,P3bが、示されている。
尚、図21の(a)及び(b)において、特性線P1a,P1bは、P状態のMTJ素子の抵抗値とAP状態のMTJ素子の抵抗値との間の抵抗値を有するMTJ素子における時間と充電電圧との関係を、示している。特性線P1a,P1bは、P状態のMTJ素子による充電電位とAP状態のMTJ素子の充電電位との間の充電電位の変化に、対応する。
尚、図21の(a)及び(b)において、特性線P1a,P1bは、P状態のMTJ素子の抵抗値とAP状態のMTJ素子の抵抗値との間の抵抗値を有するMTJ素子における時間と充電電圧との関係を、示している。特性線P1a,P1bは、P状態のMTJ素子による充電電位とAP状態のMTJ素子の充電電位との間の充電電位の変化に、対応する。
図21の(a)に示されるように、電圧VR1の印加の開始から時刻taまでの期間(充電期間)T1において、MTJ素子の出力電流(メモリセルの読み出し電流)によって、あるノードが、充電される。
これによって、時刻taにおいて、あるノードの充電電位が、MTJ素子の抵抗状態に応じて、ある電位Vap1,Vp1に達する。
これによって、時刻taにおいて、あるノードの充電電位が、MTJ素子の抵抗状態に応じて、ある電位Vap1,Vp1に達する。
特性線P2aに示されるように、AP状態のMTJ素子に関して、あるノードは、時刻taにおいて、電位Vap1に充電される。
特性線P3aに示されるように、P状態のMTJ素子に関して、あるノードは、時刻taにおいて、電位Vp1に充電される。
特性線P3aに示されるように、P状態のMTJ素子に関して、あるノードは、時刻taにおいて、電位Vp1に充電される。
図20を用いて説明したように、電圧VR1の印加時、P状態のMTJ素子の抵抗値は、AP状態のMTJ素子の抵抗値より大きい。このため、期間T1において、P状態のMTJ素子から出力される電流量(電荷量)は、AP状態のMTJ素子から出力される電流量より多い。
そのため、時刻taにおいて、P状態のMTJ素子に接続されたノードの充電電位Vp1は、AP状態のMTJ素子に接続されたノードの充電電位Vap1より高い。
そのため、時刻taにおいて、P状態のMTJ素子に接続されたノードの充電電位Vp1は、AP状態のMTJ素子に接続されたノードの充電電位Vap1より高い。
特性線P1aに示されるように、P状態のMTJ素子の抵抗値とAP状態のMTJ素子の抵抗値との間の抵抗値を有するMTJ素子において、時刻taにおける電位は、電位Vrefである。電位Vrefは、充電電位Vpaと充電電位Vapaとの間の値である。
例えば、期間T1が、読み出し電圧VR1のパルス幅(読み出し電圧の印加期間)W1に対応する。
図21の(b)に示されるように、電圧VR2(>VR1)が印加されたMTJ素子(メモリセル)の出力電流によって、あるノードが充電される。P状態のMTJ素子における充電電位とAP状態のMTJ素子における充電電位との間の関係において、図21の(a)の例と同様に、図21の(b)のある時刻において、P状態のMTJ素子における充電電位は、AP状態のMTJ素子における充電電位より高い。
図20を用いて説明したように、MTJ素子に印加される電圧VR2が増加するにしたがって、MTJ素子の抵抗値は低下するため、メモリセルから出力される電流は、増加する。それゆえ、電圧VR1より高い電圧VR2がMTJ素子を含むメモリセルに印加された場合、電圧VR2の印加時におけるあるノードの充電速度は、電圧VR1の印加時におけるノードの充電速度より速い。
電圧VR2の印加の開始から時刻tbまでの期間T2において、図21の(b)の特性線P2b,P3bに示されるように、電圧VR2の印加時のMTJ素子におけるノードの充電電位の変化は、電圧VR1の印加時のMTJ素子におけるノードの充電電位の変化より急峻である。
MTJ素子に電圧VR2が印加されている場合、P状態のMTJ素子に関するノードの充電電位とAP状態のMTJ素子に関するノードの充電電位との間の電圧値は、期間T1より短い期間T2で、電圧値Vrefに達する。
電圧VR2の印加時における時刻tbでの電圧値Vrefは、電圧VR1の印加時における時刻taでの電圧値Vrefと同じ値である。
電圧VR2の印加時における時刻tbでの電圧値Vrefは、電圧VR1の印加時における時刻taでの電圧値Vrefと同じ値である。
時刻tbにおいて、P状態のMTJ素子におけるノードの充電電位は、電圧値Vrefより高い電圧値Vp2を有する。時刻tbにおいて、AP状態のMTJ素子におけるノードの充電電位は、電圧値Vrefより低い電圧値Vap2を有する。
但し、P状態のMTJ素子に関して、時刻tbにおける電圧値Vp2は、時刻taにおける電圧値Vp1より低い。
これとは反対に、AP状態のMTJ素子に関して、時刻tbにおける電圧値Vap2は、時刻taにおける電圧値Vap1より高い。
これとは反対に、AP状態のMTJ素子に関して、時刻tbにおける電圧値Vap2は、時刻taにおける電圧値Vap1より高い。
AP状態のMTJ素子とP状態のMTJ素子との間で、電圧VR1の印加時の時刻taにおける充電電位と電圧VR2の印加時の時刻tbにおける充電電位の大小関係が反対になるのは、図20を用いて説明したように、MTJ素子の抵抗値の電圧依存性により、AP状態のMTJ素子の抵抗値の低下量が、P状態のMTJ素子の抵抗値の低下量よりも大きいためである。
このように、本実施形態のMRAMにおいて、2つの異なる電圧VR1,VR2が用いられた場合において、あるノードが共通の電圧値Vrefに到達する時刻ta,tbでのこのノードの充電電位の大小関係は、P状態のMTJ素子とAP状態のMTJ素子とで、反対になる。
本実施形態のMRAMは、MTJ素子の抵抗値の電圧依存性に基づいて充電電位の比較が可能となるように設定された読み出し電圧VR1,VR2を用いて、読み出し電圧VR1の印加時におけるあるノードの充電電位と読み出し電圧VR2の印加時におけるあるノードの充電電位とをそれぞれ比較する。
電圧VR1の印加の開始から時刻taまでの期間T1が、読み出し電圧VR1のパルス幅W1に対応する。電圧VR2の印加の開始から時刻tbまでの期間T2が、読み出し電圧VR2のパルス幅W2に対応する。尚、期間T2は、MTJ素子100の出力による充電電位が飽和状態に達するまでの期間より短い。第1の読み出しの期間T1(第1の読み出し電圧VR1のパルス幅W1)が、第2の読み出しの期間T2(第2の読み出し電圧VR2のパルス幅W2)と同じになる場合もある。
本実施形態のMRAMにおいて、ノードの充電電位がある共通の電位に到達する期間を考慮して、P状態のMTJ素子に関して、電圧VR2の印加時におけるノードの充電電位が電圧VR1の印加時におけるノードの充電電位より低くなり、且つ、AP状態のMTJ素子に関して、電圧VR2の印加時におけるノードの充電電位が電圧VR1の印加時におけるノードの充電電位より高くなるように、電圧VR1,VR2のパルス幅W1,W2が制御される。
これによって、本実施形態のMRAMにおいて、選択セル内のデータの判別のために、電圧値の異なる読み出し電圧VR1,VR2の印加が選択セルに対して実行されたとしても、2つの読み出し電圧VR1,VR2の印加に基づいたP状態のMTJ素子に関する2つの充電電位の比較、及び、2つの読み出し電圧VR1,VR2の印加に基づいたAP状態のMTJ素子に関する2つの充電電位の比較を、それぞれ実行できる。
読み出し電圧VR1,VR2の電圧値及びパルス幅W1,W2は、MRAMの実験結果、シミュレーション結果、及び、MRAMのチップのテスト工程に基づいて、設定できる。これらの実験及びテスト工程の結果が、読み出し電圧(及び書き込み電圧)に関する設定情報として、MRAM1のチップ内に保持される。
尚、本実施形態のMRAMの読み出し回路の構成は、図18の読み出し回路を用いることができる。
(D2) 動作例
図22を用いて、本実施形態のMRAMの動作例について、説明する。
図22は、本実施形態のMRAMの読み出し動作を説明するためのタイミングチャートである。
図22を用いて、本実施形態のMRAMの動作例について、説明する。
図22は、本実施形態のMRAMの読み出し動作を説明するためのタイミングチャートである。
図22に示されるように、時刻t1cから時刻t2cまでの期間において、スイッチ素子SW1A,SW2A,SW3Aがオン状態に設定され、キャパシタC1A,C2A,C3Aが、それぞれ充電される。キャパシタC1A,C2A,C3Aの充電時において、電圧VR1が、読み出しドライバ500,590からビット線BLに印加される。
これによって、参照セル方式の読み出しのためのキャパシタの充電と共に、自己参照方式の読み出し動作の1回目の読み出しが、実行される。
信号S1,S2,S3の信号レベルが“L”レベルに設定された後(時刻t2c)、時刻t3cにおいて、信号SC1の信号レベルが、“H”レベルに設定される。これによって、キャパシタC1A,C2Aの信号が、センスアンプ回路520に供給される。
続いて、信号S4の信号レベルが“H”レベルに設定され(例えば、時刻t4c)、自己参照方式の読み出し動作の2回目の読み出しにおいて、オン状態のスイッチ素子SW4Aを介して、選択セルMCの読み出し電流IRDbに起因する電荷によって、キャパシタC4Aは充電される。
本実施形態において、キャパシタC3Aの充電とキャパシタC4Aの充電との間に、基準データの書き込みための書き込み電流の供給は、実行されない。
本実施形態の非破壊型の自己方式の参照読み出し動作において、キャパシタC4Aの充電時において、電圧VR2が、読み出しドライバ500からビット線BLに印加される。電圧VR2は、電圧VR1より高い電圧である。例えば、電圧VR2のパルス幅は、電圧VR1のパルス幅より小さい。
本実施形態において、自己参照方式の読み出し動作における2回目の読み出しは、参照セル方式の読み出し動作におけるセンスアンプ回路520に対するキャパシタC1A,C2Aの充電電荷の供給と並行して、実行される。
時刻t5cにおいて、信号SC1の信号レベルが、“L”レベルに設定される。これによって、キャパシタC1A,C2Aは、センスアンプ回路520から電気的に分離される。
時刻t6cにおいて、信号S4の信号レベルが、“L”レベルに設定される。オフ状態のスイッチ素子SW4Aによって、キャパシタC4Aは、選択セルMCから電気的に分離される。尚、電圧VR2のパルス幅は、スイッチ素子SW4Aのオン/オフの期間(信号S4の“H”レベルの期間)によって制御されてもよい。
時刻t7cにおいて、センスイネーブル信号SENの信号レベルが、“H”レベルに設定される。これによって、センスアンプ回路520が、活性化される。センスアンプ回路520は、キャパシタC1Aからの信号とキャパシタC2Aからの信号とを比較(差動増幅)する。
時刻t8cにおいて、制御信号SENの信号レベルが、“L”レベルに設定される。これによって、センスアンプ回路520は、非活性化される。
時刻t9cから時刻t10cまでの期間において、センスアンプ回路520の信号処理の結果が、参照セル方式によって読み出されたデータDOUT1として、出力される。
時刻t11cにおいて、制御信号SC2の信号レベルが、“H”レベルに設定される。これによって、センスアンプ回路520の2つの入力端子に対して、キャパシタC3A,C4Aの充電電荷が、それぞれ供給される。
尚、スイッチ素子SW4Aの活性化のタイミングは、制御信号SC2が“H”レベルに設定される時刻より前のタイミングであれば、時刻t4cから時刻t6cのタイミングに限定されない。
時刻t12cにおいて、制御信号SC2の信号レベルが、“L”レベルに設定される。これによって、キャパシタC4Aは、オフ状態のスイッチ素子SW4によって、選択セルMCから電気的に分離される。
時刻t13cにおいて、制御信号SENの信号レベルが、“H”レベルに設定される。これによって、センスアンプ回路520Bが、活性化される。センスアンプ回路520は、供給されたキャパシタC3A,C4Aからの信号を、比較する。
時刻t14cにおいて、センスイネーブル信号SENの信号レベルが、“L”レベルに設定される。
時刻t15cから時刻t16cまでの期間において、センスアンプ回路520の信号処理の結果が、自己参照方式によって読み出されたデータDOUT2として、出力される。
尚、メモリセル内のデータの信頼性の確保のために、データDOUT2の出力後に、ライトバック処理が実行されてもよい。
以上のように、本実施形態のMRAMは、参照セル方式の読み出し動作と非破壊型の自己参照方式の読み出し動作を、連続して実行する。
(D3) まとめ
本実施形態のMRAMにおいて、自己参照方式の読み出し動作時において、2回の読み出し間における書き込み電流の供給及びデータの書き戻し無しに、自己参照方式の読み出し動作を実行できる。そのため、本実施形態のMRAMは、読み出し動作を高速化できる。
本実施形態のMRAMにおいて、自己参照方式の読み出し動作時において、2回の読み出し間における書き込み電流の供給及びデータの書き戻し無しに、自己参照方式の読み出し動作を実行できる。そのため、本実施形態のMRAMは、読み出し動作を高速化できる。
この結果として、本実施形態のMRAMを含む計算機システムは、計算処理のための期間を、短縮できる。
以上のように、本実施形態の計算機システム及びメモリデバイスは、動作の高速化を図ることができる。
[E]第4の実施形態
図23乃至図25を参照して、第4の実施形態の計算機システム及びメモリデバイスについて、説明する。
(E1)構成例
図23を用いて、本実施形態の計算機システムの構成例について説明する。
図23は、本実施形態の計算機システム内のメモリデバイス(例えば、MRAM)における、読み出し回路の一例を示している。
図23乃至図25を参照して、第4の実施形態の計算機システム及びメモリデバイスについて、説明する。
(E1)構成例
図23を用いて、本実施形態の計算機システムの構成例について説明する。
図23は、本実施形態の計算機システム内のメモリデバイス(例えば、MRAM)における、読み出し回路の一例を示している。
図23に示されるように、本実施形態のMRAMの読み出し回路126において、センスアンプユニット261Bは、4つのキャパシタC1A,C2A,C3A,C4A、2つのセンスアンプ回路520A、520B及び選択回路550を含む。
キャパシタC1A,C2A及びセンスアンプ回路520Aは、参照セル方式の読み出し動作に用いられる。
キャパシタC1Aは、スイッチ素子SWX1を介して、センスアンプ回路520Aの一方の入力端子に接続されている。キャパシタC2Aは、スイッチ素子SWX2を介して、センスアンプ回路520Aの他方の入力端子に接続されている。
センスアンプ回路520Aに、制御信号SEN1が、供給される。制御信号SEN1によって、センスアンプ回路520Aの活性化/非活性化が、制御される。
尚、キャパシタC1A,C2Aは、センスアンプ回路520Aの入力端子に接続された容量素子でもよい。キャパシタC1Aは、センスアンプ回路520Aの入力端子とメモリセアレイ(選択セル)10とを接続する配線(及び素子)に含まれる容量成分(寄生容量)でもよい。キャパシタC2Aは、センスアンプ回路520Aの入力端子と参照セルRCとを接続する配線(及び素子)に含まれる容量成分(寄生容量)でもよい。
キャパシタC3A,C4A及びセンスアンプ回路520Bは、自己参照方式の読み出し動作に用いられる。
キャパシタC3Aは、スイッチ素子SWZ1を介して、センスアンプ回路520Bの一方の入力端子に接続されている。キャパシタC4Aは、スイッチ素子SWZ2を介して、センスアンプ回路520Bの他方の入力端子に接続されている。
キャパシタC3Aは、スイッチ素子SWZ1を介して、センスアンプ回路520Bの一方の入力端子に接続されている。キャパシタC4Aは、スイッチ素子SWZ2を介して、センスアンプ回路520Bの他方の入力端子に接続されている。
センスアンプ回路520Bに、制御信号SEN2が、供給される。制御信号SEN2によって、センスアンプ回路520Bの活性化/非活性化が、制御される。制御信号SEN2の信号レベルは、制御信号SEN1の信号レベルから独立に制御される。これによって、センスアンプ回路520Bを、センスアンプ回路520Aから独立に駆動できる。
尚、キャパシタC3A,C4Aは、センスアンプ回路520Bの入力端子に接続された容量素子でもよい。キャパシタC3A,C4Aは、センスアンプ回路520Bの入力端子とメモリセアレイ(選択セル)10とを接続する各配線(及び素子)に含まれる容量成分(寄生容量)でもよい。
選択回路550の一方の入力端子は、センスアンプ回路520Aの出力端子に接続されている。選択回路550の他方の入力端子は、センスアンプ回路520Bの出力端子に接続されている。
選択回路550に、選択信号(制御信号)SELが、供給される。
選択回路550は、選択信号SELに基づいて、センスアンプ回路520Aの出力信号及びセンスアンプ回路520Bの出力信号のうち、いずれか一方を選択する。
選択回路550は、選択した信号を、読み出しデータDOUTとして、出力する。
選択回路550は、選択信号SELに基づいて、センスアンプ回路520Aの出力信号及びセンスアンプ回路520Bの出力信号のうち、いずれか一方を選択する。
選択回路550は、選択した信号を、読み出しデータDOUTとして、出力する。
尚、センスアンプユニット261Bは、ビット線BLに接続されてもよい。この場合、センスアンプユニット261Bは、ビット線BLの放電に起因する電荷を、保持する。
(E2)動作例
図24及び図25を用いて、本実施形態の計算機システムの動作例について説明する。
<動作例1>
図24を用いて、本実施形態のMRAMの動作例1について、説明する。
図24は、本実施形態のメモリデバイスにおける、図23に示される読み出し回路の動作例を説明するためのタイミングチャートである。図24のタイミングチャートは、図23の読み出し回路が、破壊型の自己参照形式の読み出し動作を実行する例を示している。
図24及び図25を用いて、本実施形態の計算機システムの動作例について説明する。
<動作例1>
図24を用いて、本実施形態のMRAMの動作例1について、説明する。
図24は、本実施形態のメモリデバイスにおける、図23に示される読み出し回路の動作例を説明するためのタイミングチャートである。図24のタイミングチャートは、図23の読み出し回路が、破壊型の自己参照形式の読み出し動作を実行する例を示している。
時刻t1dにおいて、信号S1,S2,S3の信号レベルが、“H”レベルに設定される。
オン状態のスイッチ素子SW1A,SW3Aを介して、キャパシタC1A,C3Aは選択セルの電流によって充電される。オン状態のスイッチ素子SW2Aを介して、キャパシタC2Aは、参照セルRCの電流によって、充電される。
時刻t2dにおいて、信号S1,S2,S3の信号レベルは、“L”レベルに設定される。これによって、キャパシタC1A,C3Aは、オフ状態のスイッチ素子SW1A,SW3Aによって、選択セルMCから電気的に分離される。キャパシタC2Aは、オフ状態のスイッチ素子SW2Aによって、参照セルRCから電気的に分離される。
時刻t3dにおいて、信号SC1の信号レベルが、“H”レベルに設定される。これによって、センスアンプ回路520Aの2つの入力端子に対して、キャパシタC1A,C2Aの充電電荷が、それぞれ供給される。
例えば、時刻t4dにおいて、信号SC1の信号レベルが、“L”レベルに設定される。これによって、キャパシタC1A,C2Aは、オフ状態のスイッチ素子SWX1,SWX2によって、センスアンプ回路520Aの入力端子から電気的に分離される。
時刻t5dにおいて、センスイネーブル信号SEN1の信号レベルが、“H”レベルに設定される。これによって、センスアンプ回路520Aが、活性化される。
尚、時刻t5dの後(例えば、時刻t5dと時刻t6dとの間のタイミング)において、信号SC1の信号レベルが、“L”レベルに設定されてもよい。
尚、時刻t5dの後(例えば、時刻t5dと時刻t6dとの間のタイミング)において、信号SC1の信号レベルが、“L”レベルに設定されてもよい。
センスアンプ回路520Aは、差動増幅によって、キャパシタC1Aからの信号とキャパシタC2Aからの信号とを比較し、比較結果を増幅する。
この際、選択信号SELの信号レベルは、センスアンプ回路520Aの出力信号が、選択回路550から出力されるように、制御されている。例えば、選択信号SELの信号レベルは、“L”レベルに設定されている。
時刻t6dにおいて、制御信号SEN1の信号レベルが、“L”レベルに設定される。これによって、センスアンプ回路520Aは、非活性化される。比較結果は、センスアンプ回路520A(又は、選択回路550)内にラッチされている。
時刻t7dから時刻t8dまでの期間において、“L”レベルの選択信号SELによって、センスアンプ回路520Aの信号処理の結果が、参照セル方式によって読み出されたデータDOUT1として、選択回路550の出力端子DOUTから、出力される。
時刻t9dから時刻t10dまでの期間において、制御信号MTJ−WRの信号レベルが、“H”レベルに設定される。活性化された書き込み回路125によって、選択セルMC内のMTJ素子400に、基準データ書き込みのための書き込み電流が、供給される。
時刻txにおいて、選択信号SELの信号レベルが、“H”レベルに設定される。これによって、選択回路550は、センスアンプ回路520Bの出力信号を選択するように、設定される。
時刻t11dにおいて、信号S4の信号レベルが、“H”レベルに設定される。
自己参照方式の読み出し動作の2回目の読み出しにおいて、キャパシタC4Aは、選択セルMCの読み出し電流IRDbに起因する電荷によって、オン状態のスイッチ素子SW4Aを介して充電される。
自己参照方式の読み出し動作の2回目の読み出しにおいて、キャパシタC4Aは、選択セルMCの読み出し電流IRDbに起因する電荷によって、オン状態のスイッチ素子SW4Aを介して充電される。
時刻t12dにおいて、信号S4の信号レベルが、“L”レベルに設定される。これによって、キャパシタC4Aは、オフ状態のスイッチ素子SW4Aによって、選択セルMCから電気的に分離される。
時刻t13dにおいて、制御信号SC2の信号レベルが、“H”レベルに設定される。これによって、センスアンプ回路520Bの2つの入力端子に対して、キャパシタC3A,C4Aの電荷が、それぞれ供給される。
例えば、時刻t14dにおいて、制御信号SC2の信号レベルが“L”レベルに設定される。これによって、キャパシタC3A,C4Aは、オフ状態のスイッチ素子SWZ1,SWZ2によって、センスアンプ回路520Bの入力端子から電気的に分離される。
時刻t15dにおいて、センスイネーブル信号SEN2の信号レベルが、“H”レベルに設定される。これによって、センスアンプ回路520Bが、活性化される。
尚、時刻t15dの後に、制御信号SC2の信号レベルが“L”レベルに設定され手もよい。
尚、時刻t15dの後に、制御信号SC2の信号レベルが“L”レベルに設定され手もよい。
センスアンプ回路520Bは、キャパシタC3Aからの信号とキャパシタC4Aからの信号とを比較し、比較結果を示す信号を増幅する。
時刻t16dにおいて、センスイネーブル信号SEN2の信号レベルが、“L”レベルに設定される。これによって、センスアンプ回路520Bが、非活性化される。
時刻t17dから時刻t18dまでの期間において、“H”レベルの選択信号SELによって、センスアンプ回路520Aの信号処理の結果が、自己参照方式によって読み出されたデータDOUT2として、選択回路550の出力端子DOUTから、出力される。
時刻19dから時刻t20dまでの期間において、“H”レベルの制御信号MTJ−WRによって、書き込み回路125が活性化される。これによって、ライトバック処理において、データDOUT2が、選択セルに書き込まれる。
例えば、時刻t19dと時刻t20dの間の時刻tzにおいて、選択信号SELの信号レベルは、“L”レベルに設定される。
以上のように、本実施形態のMRAMにおいて、図23の読み出し回路によって、参照方式の読み出し動作に基づくデータの出力と、破壊型自己参照方式の読み出し動作に基づくデータの出力とが、連続して実行される。
<動作例2>
図25を用いて、本実施形態のメモリデバイスの動作例2について、説明する。
図25を用いて、本実施形態のメモリデバイスの動作例2について、説明する。
図25は、本実施形態のメモリデバイスにおける、図23に示される読み出し回路の動作例を説明するためのタイミングチャートである。
図25のタイミングチャートは、図23の読み出し回路が、非破壊型の自己参照形式の読み出し動作を実行する例を示している。
図25に示されるように、時刻t1eにおいて、信号S1,S2,S3の信号レベルが、“H”レベルに設定される。
キャパシタC1A,C3Aは、オン状態のスイッチ素子SW1A,SW3Aを介して、選択セルMCの読み出し電流IRDaに起因する電荷によって、それぞれ充電される。
キャパシタC2Aは、オン状態のスイッチ素子SW2Aを介して、参照セルRCからの電流IRefに起因する電荷によって、充電される。読み出し電流IRDb及び参照電流IRefは、選択セルMC及び参照セルMCに対する電圧VR1の印加によって、生じる。
時刻t2eにおいて、信号S1,S2,S3の信号レベルは、“L”レベルに設定される。これによって、キャパシタC1A,C3Aは、オフ状態のスイッチ素子SW1A,SW3Aによって、選択セルMCから電気的に分離される。キャパシタC2Aは、オフ状態のスイッチ素子SW2Aによって、参照セルRCから電気的に分離される。
時刻t3eにおいて、信号SC1の信号レベルが、“H”レベルに設定される。
これによって、センスアンプ回路520Aの2つの入力端子に対して、キャパシタC1A,C2Aの電荷が、それぞれ供給される。
時刻t4eにおいて、信号S4の信号レベルが、“H”レベルに設定される。
自己参照方式の読み出し動作の2回目の読み出しにおいて、キャパシタC4Aは、オン状態のスイッチ素子SW4Aを介して、選択セルMCの読み出し電流IRDbに起因する電荷によって、充電される。例えば、読み出し電流IRDbは、選択セルMCに対する電圧VR2の印加によって、生じる。
自己参照方式の読み出し動作の2回目の読み出しにおいて、キャパシタC4Aは、オン状態のスイッチ素子SW4Aを介して、選択セルMCの読み出し電流IRDbに起因する電荷によって、充電される。例えば、読み出し電流IRDbは、選択セルMCに対する電圧VR2の印加によって、生じる。
このように、選択セルに対する基準データの書き込み無しに、キャパシタC4Aの充電が、実行される。また、キャパシタC4Aは、センスアンプ回路520Aに対するキャパシタC1A,C2Aの信号の供給されている期間において、充電される。
時刻t5eにおいて、信号SC1の信号レベルが、“L”レベルに設定される。これによって、キャパシタC1A,C2Aは、オフ状態のスイッチ素子SWX1,SWX2によって、センスアンプ回路520Aの入力端子から電気的に分離される。
時刻t6eにおいて、信号S4の信号レベルが、“L”レベルに設定される。これによって、キャパシタC4Aは、オフ状態のスイッチ素子SW4Aによって、選択セルから電気的に分離される。
時刻t7eにおいて、センスイネーブル信号SEN1の信号レベルが、“H”レベルに設定される。これによって、センスアンプ回路520Aが、活性化される。
尚、信号SC1の信号レベルは、時刻t7eの後(例えば、時刻t7eと時刻t8eとの間のタイミング)で、“L”レベルに設定される。
尚、信号SC1の信号レベルは、時刻t7eの後(例えば、時刻t7eと時刻t8eとの間のタイミング)で、“L”レベルに設定される。
センスアンプ回路520Aは、差動増幅によって、キャパシタC1Aからの信号とキャパシタC2Aからの信号とを比較し、比較結果を示す信号を増幅する。
この際、選択信号SELの信号レベルは、センスアンプ回路520Aの出力信号が、選択回路550から出力されるように、制御される。例えば、選択信号SELの信号レベルは、“L”レベルに設定されている。
時刻t8eにおいて、制御信号SEN1の信号レベルが、“L”レベルに設定される。これによって、センスアンプ回路520Aは、非活性化される。
時刻t9eから時刻t10eまでの期間において、“L”レベルの選択信号SELによって、センスアンプ回路520Aの信号処理の結果が、参照セル方式によって読み出されたデータDOUT1として、選択回路550の出力端子DOUTから、出力される。
時刻t11eにおいて、制御信号SC2の信号レベルが、“H”レベルに設定される。これによって、センスアンプ回路520Bの2つの入力端子に対して、キャパシタC3A,C4Aの電荷が、それぞれ供給される。
尚、スイッチ素子SW4Aの活性化のタイミングは、制御信号SC2が“H”レベルに設定される時刻より前のタイミングであれば、時刻t4eから時刻t6eのタイミングに限定されない。
例えば、時刻t11eと時刻t12eとの間の時刻txにおいて、例えば、選択信号SELの信号レベルは、“H”レベルに設定される。これによって、センスアンプ回路520Bの出力信号が、選択回路550から出力されるように、制御される。
時刻t12eにおいて、制御信号SC2の信号レベルが“L”レベルに設定される。これによって、キャパシタC3A,C4Aは、オフ状態のスイッチ素子SWZ1,SWZ2によって、センスアンプ回路520Bの入力端子から電気的に分離される。
時刻t13eにおいて、センスイネーブル信号SEN2の信号レベルが、“H”レベルに設定される。これによって、センスアンプ回路520Bが、活性化される。
尚、信号SC1の信号レベルは、時刻t13eの後(例えば、時刻t13eと時刻t14eとの間のタイミング)で、“L”レベルに設定される。
尚、信号SC1の信号レベルは、時刻t13eの後(例えば、時刻t13eと時刻t14eとの間のタイミング)で、“L”レベルに設定される。
センスアンプ回路520Bは、差動増幅によって、キャパシタC3Aからの信号とキャパシタC4Aからの信号とを比較し、比較結果を示す信号を増幅する。
この際、選択信号SELの信号レベルが、センスアンプ回路520Bの出力信号が選択回路550から出力されるように、設定される。例えば、選択信号SELの信号レベルは、時刻txにおいて、“H”レベルに設定される。
時刻t14eにおいて、制御信号SEN2の信号レベルは、“L”レベルに設定される。これによって、センスアンプ回路520Bは、非活性化される。
時刻t15eから時刻t16eまでの期間において、“H”レベルの選択信号SELによって、センスアンプ回路520Bの信号処理の結果が、自己参照方式によって読み出されたデータDOUT1として、選択回路550の出力端子DOUTから、出力される。
以上のように、本実施形態のMRAMにおいて、図23の読み出し回路によって、参照セル方式のデータの出力と非破壊型自己参照方式のデータの出力とが、連続して実行される。
(E3)まとめ
図23乃至図25に示されるように、本実施形態のMRAMにおいて、図23の読み出し回路は、参照セル方式の読み出し動作と自己参照方式の読み出し動作とを、連続して実行できる。
図23乃至図25に示されるように、本実施形態のMRAMにおいて、図23の読み出し回路は、参照セル方式の読み出し動作と自己参照方式の読み出し動作とを、連続して実行できる。
本実施形態のMRAMの読み出し回路において、参照セル方式の読み出し動作のためのセンスアンプ回路520Aと、自己参照方式の読み出し動作のためのセンスアンプ回路520Bとが設けられている。2つのセンスアンプ回路520A,520Bは、互いに独立に、対応するキャパシタC1A,C2A,C3A,C4Aの信号処理を実行する。
本実施形態のMRAMの読み出し回路において、選択回路550によって、2つのデータのうちいずれか一方が出力されるように、制御される。
この構成によって、本実施形態のMRAMは、1つのセンスアンプ回路が、参照セル方式における信号の比較及び自己参照方式における信号の比較の両方を実行する場合に比較して、参照セル方式のデータ及び自己参照セル方式のデータをMRAMからプロセッサへ転送するための期間を、短縮できる。
したがって、本実施形態の計算機システム及びメモリデバイスは、動作を高速化できる。
[F] 第5の実施形態
図26及び図27を参照して、第5の実施形態の計算機システム及びメモリデバイスについて、説明する。
図26及び図27を参照して、第5の実施形態の計算機システム及びメモリデバイスについて、説明する。
(F1) 構成例
図26及び図27を用いて、本実施形態の計算機システム及びメモリデバイスの構成例について、説明する。
図26及び図27を用いて、本実施形態の計算機システム及びメモリデバイスの構成例について、説明する。
図26は、本実施形態の計算機システムの構成例を説明するためのブロック図である。
図26の計算機システムにおいて、MRAM1は、誤り検出・訂正回路(以下、ECC回路とも表記する)250を、含む。
図26の計算機システムにおいて、MRAM1は、誤り検出・訂正回路(以下、ECC回路とも表記する)250を、含む。
ECC回路250は、例えば、I/F回路20の出力制御回路200内に設けられている。
ECC回路250は、参照セル方式によって読み出されたデータ及び自己参照方式によって読み出されたデータに対して、データ内の誤りの検出処理及び検出された誤りの訂正処理を、実行する。
メモリ回路殻のデータは、ECC回路250を介して、各読み出しバッファ回路210,220に格納される。
本実施形態のようなECC回路250を含むMRAM1は、メモリ回路10から読み出されたデータのリードエラーレートが高い場合に、有効である。
図27は、本実施形態のMRAMにおける出力制御回路の内部構成を示すブロック図である。
図27に示されるように、ECC回路250は、メモリ回路10からの読み出しデータを受ける。
ECC回路250は、読み出しデータに対して、誤りの検出処理を実行する。
データ内の誤りが検出された場合、ECC回路250は、検出された誤りに対して訂正処理を実行する。これによって、データ内の誤りが、訂正される。
誤りの検出及び訂正処理されたデータが、参照セル方式に基づくデータである場合、ECC回路250は、訂正されたデータを読み出しバッファ回路210に送る。
誤りの検出及び訂正処理されたデータが、自己参照方式に基づくデータである場合、ECC回路250は、訂正されたデータを読み出しバッファ回路220に送る。
誤りの検出及び訂正処理されたデータが、自己参照方式に基づくデータである場合、ECC回路250は、訂正されたデータを読み出しバッファ回路220に送る。
尚、データ内の誤りが検出されない場合、ECC回路250は、訂正処理無しに、データを、対応する読み出しバッファ回路210,220に供給する。
(F2) 動作例
本実施形態のMRAM及び計算機システムの動作例について、説明する。
本実施形態のMRAM及び計算機システムの動作例について、説明する。
本実施形態のMRAMの動作例において、上述の各実施形態における動作例と同様に、参照セル方式の読み出し動作及び自己参照方式の読み出し動作が連続して実行される。
参照セル方式に基づくデータDOUT1は、出力制御回路200内のECC回路250に供給される。ECC回路250は、データDOUT1に対してECC処理を行う。
ECC処理されたデータDOUT1は、読み出しバッファ回路210内に保持される。読み出しバッファ回路210内のデータDOUT1は、先行して、プロセッサ9に転送される。
プロセッサ9は、参照セル方式に基づくデータDOUT1を用いて、投機的計算処理P1を実行する。
メモリ回路10は、参照セル方式の読み出し動作の後において、自己参照方式の読み出し動作に基づくデータDOUT2が、ECC回路250に供給される。
ECC回路250は、データDOUT2に対してECC処理を行う。
ECC処理されたデータDOUT2は、読み出しバッファ回路220内に保持される。
ECC処理されたデータDOUT2は、読み出しバッファ回路220内に保持される。
2つのデータDOUT1,DOUT2が、読み出しバッファ回路210,220内に揃うと、比較回路231は、ECC処理された2つのデータDOUT1,DOUT2を比較する。
上述の各実施形態と同様に、2つのデータDOUT1,DOUT2が一致していた場合、MRAM1は、有効信号を含むフラグを、プロセッサ9に送信する。
有効信号に基づいて、プロセッサ9は、投機的計算処理の結果を、コミットする。
有効信号に基づいて、プロセッサ9は、投機的計算処理の結果を、コミットする。
2つのデータDOUT1,DOUT2が一致していない場合、MRAM1は、エラー信号を含むフラグと自己参照方式のデータDOUT2(エラー位置に対応するデータユニットDU)を、プロセッサ9に送信する。
エラー信号に基づいて、プロセッサ9は、データDOUT2を用いた再計算処理を実行する。プロセッサ9は、再計算処理の結果を、コミットする。
エラー信号に基づいて、プロセッサ9は、データDOUT2を用いた再計算処理を実行する。プロセッサ9は、再計算処理の結果を、コミットする。
以上のように、本実施形態の計算機システムによる計算処理が、完了する。
(F3)まとめ
以上のように、本実施形態の計算機システムにおいて、MRAMは、誤り検出・訂正回路を含む。
以上のように、本実施形態の計算機システムにおいて、MRAMは、誤り検出・訂正回路を含む。
誤り検出・訂正回路がMRAM内に設けられた場合においても、上述の各実施形態と実質的に同じ動作で、MRAMの読み出し動作及びプロセッサの計算処理が、実行される。
本実施形態のように、MRAMが誤り検出訂正回路を含むことによって、読み出されたデータの信頼性は、さらに向上する。
この結果として、本実施形態において、プロセッサにおける計算処理の信頼性が、向上する。
この結果として、本実施形態において、プロセッサにおける計算処理の信頼性が、向上する。
したがって、本実施形態の計算機システム及びメモリデバイスは、高い信頼性を得ることができる。
[G] 第6の実施形態
図28乃至図31を参照して、第6の実施形態の計算機システム及びメモリデバイスについて、説明する。
図28乃至図31を参照して、第6の実施形態の計算機システム及びメモリデバイスについて、説明する。
(G1)構成例
図28及び図29を用いて、本実施形態の計算機システム及びメモリデバイスの構成例について説明する。
図28及び図29を用いて、本実施形態の計算機システム及びメモリデバイスの構成例について説明する。
参照セル方式に基づく読み出しデータ及び自己参照方式に基づく読み出しデータに対する各種の処理は、プロセッサ9によって実行されてもよい。
図28は、本実施形態の計算機システムの構成例を示すブロック図である。
図28に示されるように、プロセッサ9は、メモリコントローラ90内に、メモリ処理回路910を含む。
メモリ処理回路910が、MRAM1から送られた参照セル方式のデータ及び自己参照方式のデータの比較、及び、フラグの生成などを行う。
データ処理回路910がプロセッサ9側に設けられる場合において、MRAM1のインターフェイス回路20内において、読み出しバッファ回路210,220は、制御回路を介すること無しに、I/O回路234に接続されている。
図29は、本実施形態の計算機システムにおける、データ処理回路910の内部構成を説明するためのブロック図である。
図29に示されるように、プロセッサ9側のメモリコントローラ90内において、データ処理回路910は、2つの読み出しバッファ回路911,912、比較回路913及び制御回路914を、少なくとも含む。
読み出しバッファ回路911は、MRAM1からの参照セル方式に基づくデータを、一時的に保持する。
読み出しバッファ回路912は、MRAM1からの自己参照方式に基づくデータを、一時的に保持する。
読み出しバッファ回路912は、MRAM1からの自己参照方式に基づくデータを、一時的に保持する。
比較回路913は、読み出しバッファ回路911内のデータDOUT1と読み出しバッファ回路911内のデータDOUT2とを比較する。
比較回路913は、2つのデータDOUT1,DOUT2が一致した場合、有効信号を含むフラグを出力する。比較回路913は、2つのデータDOUT1,DOUT2が一致しない場合、エラー信号を含むフラグを出力する。
制御回路914は、データ処理回路910内の各回路の制御を行う。
(G2)動作例
図30及び図31を用いて、本実施形態の計算機システムの動作例について、説明する。
図30及び図31を用いて、本実施形態の計算機システムの動作例について、説明する。
図30及び図31は、本実施形態の計算機システムの動作例を説明するためのタイミングチャートである。
図30は、本実施形態の計算機システムにおける参照セル方式に基づくデータと自己参照方式に基づくデータとが一致する場合のタイミングチャートである。
図30は、本実施形態の計算機システムにおける参照セル方式に基づくデータと自己参照方式に基づくデータとが一致する場合のタイミングチャートである。
図30に示されるように、MRAM1は、参照セル方式の読み出し動作X1を実行する。MRAM1において、I/O回路234は、参照セル方式に基づくデータDOUT1を、バス8を介して、メモリコントローラ90に転送する。
MRAM1は、参照セル方式の読み出し動作に連続して、自己参照方式の読み出し動作を実行する。MRAM1において、I/O回路234は、データのDOUT1の転送の後、自己参照方式に基づくデータDOUT2を、バス8を介して、メモリコントローラ90に転送する。
データDOUT1,DOUT2は、メモリコントローラ90のデータ処理回路901に供給される。
参照セル方式のデータDOUT1は、バッファ回路911内に格納される。
データ処理回路910は、データDOUT1を、コア回路99に送る。
データ処理回路910は、データDOUT1を、コア回路99に送る。
コア回路99は、データDOUT1に対して、投機的計算処理P1を実行する。投機的計算処理P1は、自己参照方式の読み出し動作X2と並行して実行されている。
例えば、投機的計算処理P1の実行中に、自己参照方式のデータDOUT2が、バッファ回路912内に格納される。
データ処理回路910内において、比較回路913は、データDOUT1とデータDOUT2との比較処理CMを実行する。
各データDOUT1,DOUT2が複数のデータユニットDUを含む場合、図12を用いて説明したように、比較回路913は、対応するデータユニットDU1,DU2毎に比較処理を行う。
2つのデータDOUT1,DOUT2が一致している場合、データ処理回路910は、有効信号SVLDを含むフラグFLGを、コア回路99に送る。
コア回路99は、有効信号SVLDに基づいて、投機的計算処理P1の結果をコミットする。
このように、本実施形態の計算機システムにおいて、参照セル方式に基づくデータDOUT1と自己参照方式に基づくデータDOUT2とが一致した場合における計算処理が、終了する。
図31は、本実施形態の計算機システムにおける参照セル方式に基づくデータと自己参照方式に基づくデータとが一致しない場合のタイミングチャートである。
図30の例と同様に、MRAM1は、参照セル方式の読み出し動作X1及び自己参照方式の読み出し動作X2を連続して実行する。
コア回路99は、参照セル方式に基づくデータDOUT1を用いて、投機的計算処理P1を実行する。
データ処理回路910は、投機的計算処理P1の実行中に、自己参照方式のデータを受ける。
比較回路913は、比較処理CMによって、バッファ回路911,912内の2つのデータDOUT1,DOUT2を、データユニットDU1,DU2毎に比較する。
比較回路913は、比較処理CMによって、バッファ回路911,912内の2つのデータDOUT1,DOUT2を、データユニットDU1,DU2毎に比較する。
2つのデータDOUT1,DOUT2が一致していない場合、データ処理回路910は、フラグ、誤りの位置及び訂正データ(データユニット)を、コア回路99に送る。
コア回路99は、自己参照方式のデータ(データユニット)DOUT2を訂正データにとして用いて、再計算処理P2を実行する。
コア回路99は、再計算処理P2の結果を、コミットする。
コア回路99は、再計算処理P2の結果を、コミットする。
このように、本実施形態の計算機システムにおいて、参照セル方式に基づくデータと自己参照方式に基づくデータとが一致しない場合における計算処理が、終了する。
尚、ECC回路が、プロセッサ側に設けられた図29のデータ処理回路910内に設けられてもよい。データ処理回路910内のECC回路は、MRAM1からのデータDOUT1,DOUT2に対してECC処理を実行する。ECC処理されたデータが、データ処理回路バッファ回路911,912内に格納される。
(G3)まとめ
以上のように、本実施形態の計算機システムは、MRAM1からの参照セル方式のデータと自己参照方式のデータとに対して、プロセッサ9内の回路によって、比較処理する。
以上のように、本実施形態の計算機システムは、MRAM1からの参照セル方式のデータと自己参照方式のデータとに対して、プロセッサ9内の回路によって、比較処理する。
本実施形態の計算機システムは、プロセッサ9内における2つのデータの比較結果に基づいて、計算処理の結果の適否の判定、及び、再計算処理を、実行する。
この場合であっても、本実施形態の計算機システムは、上述の他の実施形態に類似する処理を実行できる。
それゆえ、本実施形態の計算機システムは、上述の各実施形態と実質的に同じ効果を得ることができる。
それゆえ、本実施形態の計算機システムは、上述の各実施形態と実質的に同じ効果を得ることができる。
したがって、本実施形態の計算機システムは、処理の高速化及び信頼性の向上を図ることができる。
[H] その他
本実施形態のメモリデバイスにおいて、読み出し回路内のキャパシタの充電によって、メモリセル内のデータを読み出す例が示されている。本実施形態のメモリデバイスは、読み出し回路内の各読み出し方式における選択セルの出力信号を保持する複数のキャパシタにおいて、選択セル(及び参照セル)からの出力信号に応じて放電されたキャパシタが保持する電位(キャパシタ内に残存した電荷量に応じた電位)を、センスアンプ回路がセンス及び増幅することによって、メモリセルのデータを、読み出してもよい。
本実施形態のメモリデバイスにおいて、読み出し回路内のキャパシタの充電によって、メモリセル内のデータを読み出す例が示されている。本実施形態のメモリデバイスは、読み出し回路内の各読み出し方式における選択セルの出力信号を保持する複数のキャパシタにおいて、選択セル(及び参照セル)からの出力信号に応じて放電されたキャパシタが保持する電位(キャパシタ内に残存した電荷量に応じた電位)を、センスアンプ回路がセンス及び増幅することによって、メモリセルのデータを、読み出してもよい。
本実施形態のメモリデバイスとしてのMRAMは、プロセッサ9内に搭載されてもよい。本実施形態のMRAMは、メモリコントローラ90内のメモリ、又は、コア回路99内のメモリに、用いられてもよい。
実施形態の計算機システムにおいて、メモリデバイスに、MRAMが用いられた例が示されている。但し、本実施形態に用いられるメモリデバイスは、MRAM以外の磁気抵抗効果素子(例えば、MTJ素子)を用いた磁気メモリでもよい。
また、本実施形態におけるメモリデバイスは、2つの異なる読み出し方式が適用可能なメモリデバイスであれば、MRAM(磁気メモリ)以外のメモリでもよい。
例えば、ReRAM、PCRAM、イオンメモリ、DRAM、SRAM及びフラッシュメモリの中から選択される1つのメモリデバイスが、本実施形態の計算機システム及びメモリデバイスに適用されてもよい。
本実施形態において、MTJ素子400に、平行磁化型のMTJ素子が用いられてもよい。平行磁化型のMTJ素子において、磁性層401,402の磁化方向は、磁性層の層面に対して、実質的に平行である。平行磁化型のMTJ素子において、磁性層401,402の磁気異方性は、磁性層の形状磁気異方性などを利用して、磁性層401,402の磁化方向が、磁性層の層面に対して、実質的に平行にされる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1000:計算機システム、1:メモリデバイス、100:メモリセルアレイ、400:磁気抵抗効果素子、126:読み出し回路、261,261A,261B:センスアンプユニット、90:メモリコントローラ、99:コア回路、606:リオーダーバッファ。
Claims (11)
- プロセッサと、
メモリセルアレイを含み、第1の読み出し方式の第1の読み出し動作及び第2の読み出し方式の第2の読み出し動作を前記メモリセルアレイに対して実行するメモリデバイスと、
を具備し、
前記メモリデバイスは、前記第1の読み出し動作によって、前記メモリセルアレイ内の選択領域から第1のデータを読み出し、
前記メモリデバイスは、前記第2の読み出し動作によって、前記選択領域から第2のデータを読み出し、
前記第2の読み出し動作の実行時において、前記プロセッサは、前記メモリデバイスからの前記第1のデータを用いた第1の計算処理を実行し、
前記第1のデータ及び前記第2のデータの比較結果に基づいて、前記第1のデータと前記第2のデータとが一致していると判定された場合において、前記第1のデータが有効であることを示す第1の信号が出力され、
前記プロセッサは、前記第1の信号に基づいて、前記第1の計算処理の結果を取得する、
計算機システム。 - 前記第1のデータ及び前記第2のデータの比較結果に基づいて、前記第1のデータと前記第2のデータとが一致しないと判定された場合において、前記第1のデータが誤りであることを示す第2の信号が出力され、
前記プロセッサは、前記第2の信号と前記第2のデータとに基づいて、前記第2のデータを用いた第2の計算処理を実行し、前記第2の計算処理の結果を取得する、
請求項1に記載の計算機システム。 - 前記第1のデータは、複数の第1のデータユニットを含み、前記第2のデータは、複数の第2のデータユニットを含み、
前記メモリデバイスは、前記複数の第2のデータユニットのうち、エラーを含む少なくとも1つの第1のデータユニットに対応する少なくとも1つの第2のデータユニットを、前記プロセッサに送信し、
前記プロセッサは、送信された前記少なくとも1つの第2のデータユニットを用いて、前記第2の計算処理を実行する、
請求項2に記載の計算機システム。 - 前記メモリデバイスは、前記第1のデータと前記第2のデータとを比較する比較回路を含む、
請求項1乃至3のいずれか1項に記載の計算機システム。 - 前記プロセッサは、前記第1のデータ、及び、前記第1のデータの状態を示すフラグを保持するバッファ回路を含み、
前記フラグは、前記第1の信号に基づいて、前記第1のデータが有効状態であることを示す値に設定される、
請求項1乃至4のいずれか1項に記載の計算機システム。 - 前記メモリデバイスは、前記第1及び第2の読み出し動作を実行するための読み出し回路を含み、
前記読み出し回路は、
第1及び第2の入力端子を有するセンスアンプ回路と、
前記第1の入力端子及び前記メモリセルアレイに接続された第1の配線と、
前記第1の入力端子及び前記メモリセルアレイに接続された第2の配線と、
前記第2の入力端子に接続された第3の配線と、
前記第2の入力端子及び前記メモリセルアレイに接続された第4の配線と、
前記第3の配線に接続された参照セルと、
を含み、
第1の期間において、前記第1及び第2の配線は、前記選択領域からの第1の出力信号に応じた電位を保持し、前記第3の配線は、前記参照セルからの第2の出力信号に応じた電位を保持し、
前記第1の期間の後の第2の期間において、前記第2の配線は、前記第1の出力信号に応じた前記電位を保持し、前記第4の配線は、前記選択領域からの第3の出力信号に応じた電位を保持する、
請求項1乃至5のうちいずれか1項に記載の計算機システム。 - 前記第1の期間と前記第2の期間との間の第3の期間において、書き込み電流が、前記選択領域に、供給される、
請求項6に記載の計算機システム。 - 前記選択領域は、メモリ素子としての磁気抵抗効果素子を含み、
前記選択領域からの前記第1の出力信号の出力時において、第1の電圧が、前記磁気抵抗効果素子に印加され、
前記選択領域からの前記第2の出力信号の出力時において、前記第1の電圧より高い第2の電圧が、前記磁気抵抗効果素子に印加される、
請求項6に記載の計算機システム。 - 前記メモリデバイスは、前記第1及び第2の読み出し動作を実行するための読み出し回路を含み、
前記読み出し回路は、
第1及び第2の入力端子と、第1の出力端子とを含む第1のセンスアンプ回路と、
第3及び第4の入力端子と、第2の出力端子とを含む第2のセンスアンプ回路と、
前記第1の出力端子に接続された第5の入力端子と、前記第2の出力端子に接続された第6の入力端子と、第3の出力端子と、制御信号が供給される制御端子とを含む選択回路と、
前記第1の入力端子及び前記メモリセルアレイに接続された第1の配線と、
前記第2の入力端子に接続された第2の配線と、
前記第3の入力端子及び前記メモリセルアレイに接続された第3の配線と、
前記第4の入力端子及び前記メモリセルアレイに接続された第4の配線と、
前記第2の配線に接続された参照セルと、
を含み、
前記選択回路は、前記制御信号に基づいて、前記第1のセンスアンプ回路の出力信号及び前記第2のセンスアンプ回路の出力信号のうちいずれか一方を、前記第3の出力端子から出力する、
請求項1乃至5のうちいずれか1項に記載の計算機システム。 - 前記第1の読み出し方式は、参照セル方式であり、前記第2の読み出し方式は、自己参照方式である、
請求項1乃至9のうちいずれか1項に記載の計算機システム。 - メモリセルアレイと、
読み出しコマンドに基づいて、前記メモリセルアレイの選択領域に対する第1の読み出し方式の第1の読み出し動作によって第1のデータを読み出し、前記選択領域に対する第2の読み出し方式の第2の読み出し動作によって第2のデータを読み出す、読み出し回路と、
前記第1のデータを出力し、前記第1のデータと前記第2のデータとを比較し、前記第1のデータと前記第2のデータとが一致する場合に、前記第1のデータが有効であることを示す第1の信号を出力する出力制御回路と、
を具備するメモリデバイス。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017054585A JP2018156556A (ja) | 2017-03-21 | 2017-03-21 | 計算機システム及びメモリデバイス |
TW106131230A TWI652690B (zh) | 2017-03-21 | 2017-09-12 | 電腦系統及記憶體裝置 |
US15/703,438 US10141038B2 (en) | 2017-03-21 | 2017-09-13 | Computer system and memory device |
CN201710894082.2A CN108630267B (zh) | 2017-03-21 | 2017-09-28 | 计算机系统和存储器设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017054585A JP2018156556A (ja) | 2017-03-21 | 2017-03-21 | 計算機システム及びメモリデバイス |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018156556A true JP2018156556A (ja) | 2018-10-04 |
Family
ID=63583570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017054585A Pending JP2018156556A (ja) | 2017-03-21 | 2017-03-21 | 計算機システム及びメモリデバイス |
Country Status (4)
Country | Link |
---|---|
US (1) | US10141038B2 (ja) |
JP (1) | JP2018156556A (ja) |
CN (1) | CN108630267B (ja) |
TW (1) | TWI652690B (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190164601A1 (en) * | 2017-11-27 | 2019-05-30 | Samsung Electronics Co., Ltd. | Memory device and an operating method thereof |
US10956092B2 (en) | 2019-05-15 | 2021-03-23 | Kioxia Corporation | Semiconductor storage device |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6291608B1 (ja) * | 2017-03-17 | 2018-03-14 | 株式会社東芝 | 磁気記憶装置 |
US10446254B1 (en) * | 2018-05-03 | 2019-10-15 | Western Digital Technologies, Inc. | Method for maximizing power efficiency in memory interface block |
JP2020047317A (ja) * | 2018-09-14 | 2020-03-26 | キオクシア株式会社 | 不揮発性記憶装置 |
DE102018124296A1 (de) * | 2018-10-02 | 2020-04-02 | Infineon Technologies Ag | Kompensation von lesefehlern |
KR20210037905A (ko) * | 2019-09-30 | 2021-04-07 | 에스케이하이닉스 주식회사 | 전자 장치 |
WO2021142681A1 (zh) * | 2020-01-15 | 2021-07-22 | 华为技术有限公司 | 一种磁性随机存储器及电子设备 |
JP2023044395A (ja) * | 2021-09-17 | 2023-03-30 | キオクシア株式会社 | 記憶装置 |
TWI829271B (zh) * | 2021-09-17 | 2024-01-11 | 日商鎧俠股份有限公司 | 半導體記憶體裝置 |
US11978491B2 (en) * | 2021-09-24 | 2024-05-07 | Sandisk Technologies Llc | Mixed current-forced read scheme for MRAM array with selector |
US11972822B2 (en) * | 2021-09-24 | 2024-04-30 | Sandisk Technologies Llc | Programmable ECC for MRAM mixed-read scheme |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3821066B2 (ja) | 2002-07-04 | 2006-09-13 | 日本電気株式会社 | 磁気ランダムアクセスメモリ |
JP3809445B2 (ja) * | 2004-03-05 | 2006-08-16 | 株式会社東芝 | 磁気抵抗ランダムアクセスメモリおよびその駆動方法 |
US7272035B1 (en) * | 2005-08-31 | 2007-09-18 | Grandis, Inc. | Current driven switching of magnetic storage cells utilizing spin transfer and magnetic memories using such cells |
JP2008217842A (ja) | 2007-02-28 | 2008-09-18 | Renesas Technology Corp | 不揮発性記憶装置 |
US20080285354A1 (en) * | 2007-05-16 | 2008-11-20 | Spansion Llc | Self reference sensing system and method |
US7765426B2 (en) * | 2007-06-07 | 2010-07-27 | Micron Technology, Inc. | Emerging bad block detection |
EP2276034B1 (en) | 2009-07-13 | 2016-04-27 | Crocus Technology S.A. | Self-referenced magnetic random access memory cell |
KR101703173B1 (ko) | 2011-11-07 | 2017-02-07 | 삼성전자주식회사 | 데이터 캐시 컨트롤러, 이를 포함하는 장치들, 및 이의 동작 방법 |
US8509007B2 (en) * | 2012-02-27 | 2013-08-13 | Infineon Technologies Ag | Hybrid read scheme for multi-level data |
US9064590B2 (en) | 2012-03-02 | 2015-06-23 | Kabushiki Kaisha Toshiba | Driving method of semiconductor storage device and semiconductor storage device |
CN103035290B (zh) * | 2012-11-30 | 2016-03-30 | 珠海艾派克微电子有限公司 | Eeprom电路、数据读取方法以及非易失性存储器 |
US9025364B2 (en) | 2013-03-14 | 2015-05-05 | Micron Technology, Inc. | Selective self-reference read |
US9116824B2 (en) | 2013-03-15 | 2015-08-25 | Sandisk Technologies Inc. | System and method to reduce read latency of a data storage device |
US20150294739A1 (en) * | 2014-04-10 | 2015-10-15 | Lsi Corporation | Online histogram and soft information learning |
JP2016062513A (ja) | 2014-09-19 | 2016-04-25 | 株式会社東芝 | プロセッサおよびプロセッサシステム |
US10157093B2 (en) * | 2015-05-27 | 2018-12-18 | Nxp Usa, Inc. | Data integrity check within a data processing system |
-
2017
- 2017-03-21 JP JP2017054585A patent/JP2018156556A/ja active Pending
- 2017-09-12 TW TW106131230A patent/TWI652690B/zh active
- 2017-09-13 US US15/703,438 patent/US10141038B2/en active Active
- 2017-09-28 CN CN201710894082.2A patent/CN108630267B/zh active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190164601A1 (en) * | 2017-11-27 | 2019-05-30 | Samsung Electronics Co., Ltd. | Memory device and an operating method thereof |
US11056187B2 (en) * | 2017-11-27 | 2021-07-06 | Samsung Electronics Co., Ltd. | Memory device with read-write-read memory controller |
US11948631B2 (en) | 2017-11-27 | 2024-04-02 | Samsung Electronics Co., Ltd. | Memory device and operating method thereof |
US10956092B2 (en) | 2019-05-15 | 2021-03-23 | Kioxia Corporation | Semiconductor storage device |
Also Published As
Publication number | Publication date |
---|---|
US10141038B2 (en) | 2018-11-27 |
CN108630267B (zh) | 2022-03-11 |
US20180277187A1 (en) | 2018-09-27 |
TWI652690B (zh) | 2019-03-01 |
CN108630267A (zh) | 2018-10-09 |
TW201835905A (zh) | 2018-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108630267B (zh) | 计算机系统和存储器设备 | |
US10156995B2 (en) | Semiconductor memory devices and methods of operating the same | |
US9552256B2 (en) | Semiconductor memory device including non-volatile memory, cache memory, and computer system | |
US9990163B2 (en) | Methods of operating semiconductor memory devices with selective write-back of data for error scrubbing and related devices | |
EP3111449B1 (en) | Write operations in spin transfer torque memory | |
US9236104B2 (en) | Semiconductor storage device | |
JP6271655B1 (ja) | 不揮発性メモリ | |
US10418123B2 (en) | Column repair in memory | |
TWI670717B (zh) | 記憶裝置及記憶體系統 | |
US10268591B2 (en) | Delayed write-back in memory | |
US20180276071A1 (en) | Memory system and resistance change type memory | |
JP5727948B2 (ja) | 半導体記憶装置 | |
US10734048B2 (en) | Sensing memory cells using array control lines | |
JP2004086934A (ja) | 不揮発性記憶装置 | |
WO2015176040A1 (en) | Memory devices and methods having instruction acknowledgement | |
CN107077875B (zh) | 自旋转移力矩存储器中的写操作 | |
JP2013191263A (ja) | 半導体記憶装置およびその駆動方法 | |
JP2010027202A (ja) | 磁性体記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20170525 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20180831 |