メモリ及び情報処理方法
【課題】不良が発生した記憶素子から情報を読み出す場合に、書き込まれるべき情報を正しく読み出すこと。
【解決手段】SpRAM1は、1ビットの情報を記憶する記憶素子2と、記憶素子2に書き込まれた情報を読み出すセンスアンプ10を備える。センスアンプ10は、所定の単位数の記憶素子2を有する記憶ブロックの内、特定の1個の記憶素子2を反転フラッグ素子として定める。そして、センスアンプ10は、反転フラッグ素子に書き込まれた1ビットの情報が、“0”又は“1”の内、いずれかを示す第1の値である場合に、他の記憶素子2に書き込まれた所定の単位数−1ビットの情報をビット反転して読み出す。一方、反転フラッグ素子に書き込まれた1ビットの情報が、第1の値とは異なる第2の値である場合に、他の記憶素子2に書き込まれた所定の単位数−1ビットの情報をそのまま読み出す。
【解決手段】SpRAM1は、1ビットの情報を記憶する記憶素子2と、記憶素子2に書き込まれた情報を読み出すセンスアンプ10を備える。センスアンプ10は、所定の単位数の記憶素子2を有する記憶ブロックの内、特定の1個の記憶素子2を反転フラッグ素子として定める。そして、センスアンプ10は、反転フラッグ素子に書き込まれた1ビットの情報が、“0”又は“1”の内、いずれかを示す第1の値である場合に、他の記憶素子2に書き込まれた所定の単位数−1ビットの情報をビット反転して読み出す。一方、反転フラッグ素子に書き込まれた1ビットの情報が、第1の値とは異なる第2の値である場合に、他の記憶素子2に書き込まれた所定の単位数−1ビットの情報をそのまま読み出す。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、“0”又は“1”のいずれかによる1ビットの情報を記憶素子に記憶させる場合に適用して好適なメモリ及び情報処理方法に関する。
【背景技術】
【0002】
従来、情報通信機器、特に携帯端末等に用いられる小型の電子機器が飛躍的に普及したことに伴い、これを構成するメモリやロジック等の素子に対して、高集積化、高速化、低電力化等、一層の高性能化が要請されている。
このような小型機器では、不揮発性メモリが電子機器の高機能化に必要不可欠な部品と考えられている。不揮発性メモリとしては、半導体フラッシュメモリやFeRAM(強誘電体不揮発メモリ)等が実用化されており、さらなる高性能化に向けて活発な研究開発が行われている。
【0003】
最近、磁性体を利用した新しい不揮発メモリとして、例えば、特許文献1に記載がある。このように、トンネル磁気抵抗効果を利用した磁気メモリの開発進捗が著しく、その中でもスピントランスファによる磁化反転を利用する構成のメモリが注目されている。
【0004】
ここで、特許文献2には、スピントランスファによる磁化反転について記載されている。スピントランスファによる磁化反転とは、磁性体の中を通過してスピン偏極した電子を、他の磁性体に注入することにより、他の磁性体において磁化反転を起こさせるものである。
【0005】
このため、磁化の向きが固定された磁性層(磁化固定層)を通過したスピン偏極電子が、磁化の向きが固定されない他の磁性層に進入する際に、この磁性層の磁化にトルクを与える。そして、ある閾値以上の電流を他の磁性体に流せば、磁性層の磁化の向きを反転させることができる。
【0006】
例えば、磁化固定層と磁化自由層とを有する、磁気トンネル接合素子(MTJ素子)に対して、その層面に垂直な方向に電流を流す。これにより、これらの素子の少なくとも一部の磁性層の磁化の向きを反転させることができる。
【0007】
そして、磁化固定層と磁化自由層(記憶層)とを有する記憶素子に流す電流の極性を変えることにより、記憶層の磁化の向きを反転させ、“0”情報と“1”情報との書き換えを行う。以下、記憶素子に情報を書き込んで、情報を記憶させることを、「情報の書き込み」又は「書き込み」と略称する場合がある。また、記憶素子から情報を読み出すことを、「情報の読み出し」又は「読み出し」と略称する場合がある。
【0008】
情報の読み出しは、トランジスタ等の素子を用いてメモリセルの選択を行い、記憶素子のトンネル磁気抵抗効果を利用して、記憶層の磁化の向きの違いを電圧信号の差として検出することにより、記憶された情報を検知できる。
以下の説明では、スピントランスファを利用した記憶素子をSpRAM(Spin transfer Random Access Memory)と呼ぶ。また、スピントランスファを引き起こすスピン偏極電子流をスピン注入電流(Spin injection current)と呼ぶ。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】米国特許第5695864号明細書
【特許文献2】特開2003−17782号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
ところで、SpRAMにおいては、記憶素子に情報を書き込むために、記憶素子の積層方向に書き込み電流を流す。その際、記憶素子のトンネル絶縁層の両端に0.5Vから1V程度の電圧が生じる。この電圧は、トンネル絶縁層の破壊電圧に比べて無視できる大きさではない。すなわち、繰り返し書き込みが行われ、トンネル絶縁層が電界ストレスを受けると、トンネル絶縁層が静電破壊される場合がある。このような素子は書き込みを行っても抵抗変化は生じず、トンネル絶縁層が静電破壊された記憶素子は、素子の抵抗が著しく減少してしまい、もはや抵抗変化から情報を読み出すことが不可能になってしまう。
【0011】
また、トンネル絶縁層を形成する際に生じた欠陥や、TMR素子を微細に加工する際に生じた初期不良等によって、トンネル絶縁層の抵抗が著しく減少することもある。このように初期状態において低抵抗となってしまう不良が発生した場合にも、抵抗変化から情報を読み出したり、情報を書き込んだりすることが困難となる。
【0012】
本発明はこのような状況に鑑みて成されたものであり、不良が発生した記憶素子から、書き込まれるべき情報を正しく読み出すことを目的とする。
【課題を解決するための手段】
【0013】
本発明は、1ビットの情報を記憶する記憶素子を所定の単位数有する記憶ブロックの内、特定の1個の記憶素子を反転フラッグ素子として用いる。
次に、反転フラッグ素子に書き込まれた1ビットの情報が、“0”又は“1”の内、いずれかを示す第1の値である場合に、他の記憶素子に書き込まれた所定の単位数−1ビットの情報をビット反転して読み出す。
そして、反転フラッグ素子に書き込まれた1ビットの情報が、第1の値とは異なる第2の値である場合に、他の記憶素子に書き込まれた所定の単位数−1ビットの情報をそのまま読み出すものである。
【0014】
このようにしたことで、記憶ブロックに誤って情報が記憶された場合であっても、正しい情報を読み出すことが可能となる。
【発明の効果】
【0015】
本発明によれば、例えば、記憶ブロックの一部の記憶素子が不良であるため、記憶ブロックから情報を正しく読み出せない場合においても、反転フラッグ素子の情報を用いることで、正しく情報を読み出すことができるという効果がある。
【図面の簡単な説明】
【0016】
【図1】本発明の第1の実施の形態に係るSpRAMの内部構成例を示す機能ブロック図である。
【図2】本発明の第1の実施の形態に係るスピントランスファを利用するメモリのメモリセルの模式的断面図である。
【図3】本発明の第1の実施の形態に係るメモリを構成する記憶ブロックの模式図である。
【図4】本発明の第1の実施の形態に係る不良素子が2個あるいは3個の場合の書き込みデータと不良箇所の関係を示した図である。
【図5】本発明の第1の実施の形態に係る書き込み方法のフローチャートである。
【図6】本発明の第1の実施の形態に係る記憶ブロックと比較例の記憶ブロックを示した図である。
【図7】本発明の第1の実施の形態に係る実施例における不良パターンの例である。
【図8】本発明の第1の実施の形態に係る素子不良率とブロック不良率の関係を計算した図である。
【図9】本発明の第2の実施の形態に係る書き込みエラー率と、破壊のビットエラー率の計算結果の例を示す説明図である。
【図10】本発明の第2の実施の形態に係る書き込み方法のフローチャートである。
【発明を実施するための形態】
【0017】
以下、発明を実施するための最良の形態(以下実施の形態とする。)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(書き込み制御:書き込み電圧を一定とした場合における書き込み制御の例)
2.第2の実施の形態(書き込み制御:書き込み電圧を可変とした場合における書き込み制御の例)
3.変形例
【0018】
<1.第1の実施の形態>
[書き込み電圧を一定とした場合における書き込み制御の例]
【0019】
以下、本発明の第1の実施の形態について、図1〜図8を参照して説明する。本実施の形態(以下、「本例」という。)では、書き込み電圧を一定とした場合における書き込み制御を行うメモリ(以下、SpRAM1とする。)に適用した例について説明する。SpRAM1は、以下に示す処理によって、記憶素子に対する情報の書き込み又は読み出しを行う。
【0020】
図1は、SpRAM1の内部構成例を示す機能ブロック図である。
情報を保持する記憶素子2はアレイ状に配置され、セルアレイ5を構成する。各記憶素子2は選択用MOSトランジスタ3を通じて、セルアレイ5上を上下に延びるビット線12(BL)−ソース線13(SL)対に接続されており、“0”又は“1”の1ビットの情報を記憶する。一方、選択用MOSトランジスタ3のゲートはセルアレイ5上を左右に延びるワード線14(WL)に接続されている。
【0021】
ところで、図1には4ロー×4カラムの構成としたセルアレイ5を示しているが、実際にはこれより大きく、例えば512ロー×512カラムの構成とすることができる。このとき、ワード線14、ビット線12及びソース線13はそれぞれ512本となる。各ワード線14の左端はセルアレイ5の左に配置されたローデコーダ6に接続され、右端は開放されている。各ソース線13及びビット線12の上下端はセルアレイ5の上下に配置されたカラムスイッチ7に接続されている。
【0022】
セルアレイ5を512ロー×512カラムの構成とした場合、アドレスは18ビットとなるが、上位9ビットをローアドレスに、下位9ビットをカラムアドレスに割り当てる。ローアドレスはローデコーダ6に入力され、カラムアドレスは上下のカラムスイッチ7に入力される。
【0023】
また、SpRAM1は、ソース線13に書き込み電圧を加えるSLライトドライバ8と、ビット線12に書き込み電圧を加えるBLライトドライバ9を備え、共に記憶素子2に情報を書き込む書き込み部として機能する。書き込み部は、後述する反転フラッグ素子に、“0”又は“1”のうち、いずれかを示す第1の値(本例では、“1”)を書き込む場合には、他の記憶素子に所定の単位数−1ビットの情報をビット反転して書き込む。一方、書き込み部は、SLライトドライバ8とBLライトドライバ9は、反転フラッグ素子に第1の値とは異なる第2の値(本例では、“0”)を書き込む場合には、他の記憶素子に所定の単位数−1ビットの情報をそのまま書き込む。書き込み部が記憶ブロックに情報を書き込むための書き込み電圧と、センスアンプ10に供給されるリファレンス電圧は、電圧制御部11によって制御される。
【0024】
また、SpRAM1は、ソース線13に接続され、記憶素子2から読み出し電流を流すために必要なセンス電圧が入力されるセンスアンプ10を備える。1個の記憶素子2は、1ビットの情報を記憶しており、センスアンプ10には、所定の大きさのリファレンス電圧が入力される。センスアンプ10は、センス電圧とリファレンス電圧を比べることで、記憶素子2に書き込まれた情報を読み出す。本例のセンスアンプ10は、記憶素子2から情報を読み出す読み出し部として機能する。
【0025】
本例のセンスアンプ10は、所定の単位数の記憶素子2を有する記憶ブロックの内、特定の1個の記憶素子2を反転フラッグ素子として用いる(後述する図4参照)。センスアンプ10は、反転フラッグ素子に書き込まれた1ビットの情報が、“0”又は“1”の内、いずれかを示す第1の値(本例では“1”)である場合に、他の記憶素子2に書き込まれた所定の単位数−1ビットの情報をビット反転して読み出す。一方、センスアンプ10は、反転フラッグ素子に書き込まれた1ビットの情報が、第1の値とは異なる第2の値(本例では“0”)である場合には、他の記憶素子2に書き込まれた所定の単位数−1ビットの情報をそのまま読み出す。これにより、記憶ブロックに書き込まれた情報の一部が誤っていたとしても、センスアンプ10が誤り訂正を行うことが可能になる。
【0026】
次に、スピントランスファを使用するメモリ(SpRAM1)のメモリセルについて内部構成例を説明する。
【0027】
図2は、記憶素子2とメモリセルの模式化した断面図を示す。
図2に示す全体構造は、メモリセルを表す。記憶素子2に記憶された情報を読み出すために、メモリセルを電気的に選択するためには、ダイオード又はMOSトランジスタ等を用いることができる。本例のメモリセルはMOSトランジスタを用いている。
【0028】
まず、メモリセルの構成例を説明する。
強磁性層22及び強磁性層24は、非磁性層23を介して配置されていることにより、反強磁性結合している。さらに、下層側の強磁性層22は、反強磁性層21と接して配置されており、これらの層間に働く交換相互作用によって、強い一方向の磁気異方性を有する。そして、これらの層21,22,23,24により磁化固定層15が構成される。即ち、磁化固定層15は、2層の強磁性層22,24を有している。
【0029】
強磁性層26は、その磁化M1の向きが比較的容易に回転するように構成されており、この強磁性層26によって記憶層(磁化自由層)16が構成される。記憶層16は、情報を磁性体の磁化状態により保持するものである。
【0030】
磁化固定層15の強磁性層24と強磁性層26との間、即ち磁化固定層15と記憶層16との間には、トンネル絶縁層25が形成されている。このトンネル絶縁層25は、上下の強磁性層26及び24の磁気的結合を切ると共に、トンネル電流を流す役割を担う。このため、記憶層16に対して非磁性層23を介して、磁性層の磁化の向きが固定された磁化固定層15と、トンネル絶縁層25と、磁化の向きを変化させることが可能な記憶層16とにより、TMR(トンネル磁気抵抗効果)素子が構成されている。
【0031】
このように、上述の各層21〜26と、下地膜20及びトップコート層27により、TMR素子から成る記憶素子2が構成されている。
そして、記憶素子2は、積層方向に流す書き込み電流を印加することによって、記憶層16の磁化の向きが変化して、記憶層16に対して情報を記憶することができる。
【0032】
記憶素子2を構成する各層の材料は、以下のとおりである。
反強磁性層21の材料としては、例えばPtMnを用いることができる。
磁化固定層15の強磁性層22,24の材料としては、CoFe等の強磁性材料を用いることができる。
非磁性層23の材料としては、例えば、Ru,Ta,Cr,Cu等を用いることができる。
トンネル絶縁層25の材料としては、例えばMgOを用いることができる。
記憶層16の強磁性層26の材料としては、CoFeB等の強磁性材料を用いることができる。
【0033】
シリコン基板30中には、選択用MOSトランジスタ3が形成され、この選択用MOSトランジスタ3の一方の拡散層33上に接続プラグ17が形成されている。この接続プラグ17上には、記憶素子2の下地膜20が接続されている。選択用MOSトランジスタ3のもう一方の拡散層32は、不図示の接続プラグを介してソース線13に接続されている。選択用MOSトランジスタ3のゲート31は、不図示の接続プラグを介してワード線14に接続されている。記憶素子2のトップコート層27は、その上のビット線12に接続されている。
【0034】
定常状態において、非磁性層23を介した強い反強磁性結合により、強磁性層22の磁化M11と強磁性層24の磁化M12は、ほぼ完全な反平行状態にある。
通常、強磁性層22と強磁性層24とは、磁気モーメントが等しい構成とされるため、磁極磁界の漏洩成分は無視できるくらい小さい。
【0035】
そして、トンネル絶縁層25を挟む、記憶層16の強磁性層26の磁化M1の向きと、磁化固定層15の強磁性層24の磁化M12の向きとが、平行状態にあるか反平行状態にあるかによって、これらの層24,25,26から成るTMR素子の抵抗値が変化する。2つの磁化M1,M12が平行状態では抵抗値が低くなり、反平行状態では抵抗値が高くなる。TMR素子の抵抗値が変化すると、記憶素子2全体の抵抗値も変化する。このことを利用して、記憶素子2に情報を書き込んだり、情報を読み出したりすることができる。例えば、抵抗値が低い状態を”0”情報に割り当て、抵抗値が高い状態を”1”情報に割り当てることにより、2値(1ビット)の情報を書き込むことができる。
なお、磁化固定層15のうち記憶層16側の強磁性層24は、記憶した情報を読み出す際に、記憶層16の磁化M1の向きの基準となり参照される強磁性層であるため、「参照層」とも称される。
【0036】
メモリセルの情報を書き換えたり、メモリセルに書き込まれた情報を読み出したりするためには、スピン注入電流Izを流す必要がある。このスピン注入電流Izは、拡散層33、記憶素子2及びビット線12を通過する。
一方、スピン注入電流Izの極性を変えると、記憶素子2を流れるスピン注入電流Izを、上向きから下向きに、或いは下向きから上向きに、変えることができる。
これにより、記憶層16の磁化M1の向きを変化させて、メモリセルの情報を書き換えることができる。
【0037】
次に、書き込み部が行う情報の書き込み動作の例について説明する。
ローデコーダ6はローアドレスに応じて512本のうち一本のワード線14の電圧を電源電圧に設定し、当該ワード線14に接続されている選択用MOSトランジスタ3をON状態にする。上側のカラムスイッチ7はカラムアドレスに応じて512本のうち一本のソース線13をSLライトドライバ8に接続する。下側のカラムスイッチ7はカラムアドレスに応じて512本のうち一本のビット線12をBLライトドライバ9に接続する。
【0038】
SLライトドライバ8はデータ入力が“1”のとき、書き込み電圧を出力し、“0”のときGNDを出力する。反対にBLライトドライバ9はデータ入力が“0”のとき、書き込み電圧を出力し、“1”のときGNDを出力する。このようにするとデータ入力に応じて電流の向きが変わることによって、選択された記憶素子2に“0”あるいは“1”の情報を書き込むことができる。
【0039】
次に、センスアンプ10が行う情報の読み出し動作の例について説明する。
ワード線14の選択は情報の書き込み時と同じである。上側のカラムスイッチ7はカラムアドレスに応じて512本のうち一本のビット線12をSLライトドライバ8に接続する。下側のカラムスイッチ7はカラムアドレスに応じて512本のうち一本のソース線13をセンスアンプ10に接続する。SLライトドライバ8は常にGNDを出力する。このようにして、センスアンプ10から選択された記憶素子2に一定の読み出し電流を流す。
【0040】
記憶素子2の状態が“1”、すなわち高抵抗状態の場合に、読み出し電流を流すために必要なセンス電圧をV1とする。同様に、記憶素子2の状態が“0”、すなわち低抵抗状態の場合に、読み出し電流を流すために必要なセンス電圧をV0とする。このとき、抵抗の大小関係よりV1>V2となる。そこで、V1よりも小さく、V2よりも大きいリファレンス電圧をセンスアンプ10に入力する。
【0041】
センスアンプ10は、センス電圧とリファレンス電圧を比較する。ここで、「センス電圧>リファレンス電圧」となる場合は、当該記憶素子2は、“1”が記憶された状態、「センス電圧<リファレンス電圧」となる場合は、当該記憶素子2は、“0”が記憶された状態であると判断できる。すなわち、情報の読み出し動作が行える。
【0042】
上述したように、SpRAM1においては記憶素子が記憶されている情報に応じて高抵抗状態と低抵抗状態のどちらか一方をとる。本例では、高抵抗状態を“1”、低抵抗状態を“0”とする。このとき、SpRAM1における主要な不良要因であるトンネル絶縁層の静電破壊及び初期低抵抗不良は、いずれも記憶素子の抵抗値を著しく減少させることに注目する。
【0043】
センスアンプ10によって読み出しを行う場合、リファレンス抵抗値との大小比較により出力値を確定させるので、記憶素子2が必ず“0”を出力することになる。
すなわちこのような記憶素子2に対し、“0”を書き込んだ後に読み出しを行った場合には、書き込み動作によって抵抗が変化したわけではないものの、結果としてセンスアンプ10が正しく“0”を読み出すことができる。
反対に、“1”を書き込んだ後に読み出しを行った場合には、書き込み動作によって抵抗が変化しないので、センスアンプ10が必ず誤った“0”を読み出すことになる。このことを踏まえた上で、次に、本例のSpRAM1が行う反転フラッグ素子41を用いた読み出し処理の例について説明する。
【0044】
図3は、複数の記憶素子2を有する記憶ブロック40の例を示す。
図3Aは、読み出しに係わる情報単位の例を示す模式図である。
センスアンプ10は、8ビットのデータを記憶するデータ素子40a〜40hと、1ビットの反転フラッグ素子41を、1単位の記憶ブロック40として読み出しを行う。本例では、記憶ブロック40が9ビットを1単位とする9つの記憶素子2で構成されるため、特定の1個の記憶素子2を反転フラッグ素子41として用いると、他の記憶素子2には、9ビットから1ビットを減じた8ビットの情報が記憶される。
【0045】
読み出し時には、まず、センスアンプ10が全てのビットを読み出してCNOT(Controlled NOT)回路42を通過させる。次に、反転フラッグ素子41が“0”であれば、CNOT回路42からデータ素子40a〜40hのデータをそのまま出力する。逆に、反転フラッグ素子41が“1”であれば、CNOT回路42からデータ素子40a〜40hの全てのビットの“0”と“1”とを置き換えたデータを出力する。
【0046】
図3Bは、ビット2に該当するデータ素子40cが不良素子である場合を示す。
この場合、ビット2以外のデータ素子40a,40b,40d〜40hには“0”又は“1”の情報をどちらも正しく書き込むことが出来るが、ビット2に該当するデータ素子40cは常に“0”状態にある。このため、ビット2に該当するデータ素子40cに書き込むデータが“0”である場合は、そのままのデータをビット0からビット7に該当するデータ素子40a〜40hに書き込み、反転フラッグ素子41には“0”を書き込む。そうすると前述の読み出し方法によって正しいデータを読み出すことができる。
【0047】
次に、ビット2に該当するデータ素子40cに書き込むデータが“1”である場合は、データの“0”と“1”とを入れ替えたデータをビット0からビット7に該当するデータ素子40a〜40hに書き込み、反転フラッグ素子41には“1”を書き込む。このときビット2に該当するデータ素子40cに書き込まれたデータは“0”に変換されるので、必ず“0”であるビット2の状態に合致する。データの読み出し時には反転フラッグ素子41が“1”であるので、再度データ素子40a〜40hに書き込まれたデータの“0”と“1”とを入れ替えるため、正しくデータを再現して読出すことができる。
【0048】
図3Cは、反転フラッグ素子41が不良素子である場合を示す。
不良素子はどの記憶素子(データ素子40a〜40h、反転フラッグ素子41)についても対等に発生するため、反転フラッグ素子41に不良素子が発生することもある。この場合、反転フラッグ素子41自身が“0”に固定されるので、読み出し時はCNOT回路42からビット0からビット7のデータがそのまま出力される。このため、ビット0からビット7の全てのデータ素子40a〜40hが正常であるかぎり、正しく読み出し動作と書き込み動作を行うことができる。
【0049】
図4は、4ビットの記憶素子のうち、2ビット以上の記憶素子が不良素子となる場合の例を示す。
図4Aは、2ビットの記憶素子が不良素子となる場合を示す。
図4Bは、3ビットの記憶素子が不良素子となる場合を示す。
【0050】
データ素子40a〜40hに書き込まれるデータのパターンは、2×2=4通り、又は、2×2×2=8通りである。
全ての不良素子に“0”を書き込む場合は反転フラッグ素子41を“0”とし、全ての不良素子に“1”を書き込む場合は反転フラッグ素子41を“1”とすれば問題なく書き込みと読み出しを行うことが出来る。
【0051】
ただし、“0”と“1”が混在したデータを書き込む場合は、センスアンプ10は、反転フラッグ素子41にかかわらず、少なくとも1つ以上のビットが正しく読み出せない。ここで、図4A,図4B中において、灰色の下地をつけた部分が正しく読み出せないビットに該当する。そして、正しく読み出せないビットの個数の最大値は、2ビットが不良素子である場合に“1”、3ビットが不良素子である場合に“2”となる。
【0052】
一般に、(不良素子数−1)のビットが、データの書き込みも読み出しも行えない不良ビットとして残る。ここで、不良素子に反転フラッグ素子41が含まれている場合は、反転フラッグ素子41に対する不良以外がそのまま不良ビットとなるから、同様に(不良素子数−1)のビットが不良ビットとして残る。このように本例のSpRAM1は、反転フラッグ素子41を用いることによって、記憶ブロック40に発生した不良素子によるデータの書き込み又は読み出し時のエラーの影響を、不良素子数から一つ減らす効果を奏する。
【0053】
本例において、SpRAM1から情報を読み出す際には、同時に誤り訂正符号(ECC)を用いることもできる。誤り訂正符号はどのような種類であっても構わないが、例えば(12,8)符号を用いる。(12,8)符号は、8ビットのデータを12ビットの符号に符号化することを表す。そして、12ビットのうち1ビットのエラーを検出して訂正した後、8ビットのデータに復号する。この符号化と、復号化の仕組みについては、例えば、技術文献〔A Systematic (12,8) Code for Correcting Single Errors and Detecting Adjacent Errors, Jay W. Schwartz and Jack Keil Wolf, IEEE Transactions on Computers,Volume 39 , Issue 11 (1990) Pages: 1403 - 1404〕に記載されている。
【0054】
図5は、記憶素子2に情報を書き込む場合におけるフローチャートを示す。
一般に、SpRAM1が有する記憶素子2が不良素子である割合(不良素子率)は低い。このため、始めは、反転フラッグ素子41を用いることなく、電圧制御部11から供給される書き込み電圧に従って、書き込み部が記憶ブロック40に書き込みを試みる(ステップS1)。すなわち、書き込み部が記憶ブロックに情報を初めて書き込む場合には、反転フラッグ素子41への書き込みデータを“0”に設定し、データ素子40a〜40hへの書き込みデータをそのまま設定する。
【0055】
次に、電圧制御部11から供給される書き込み電圧に従って、書き込み部が記憶ブロック40に実際の書き込みを行う(ステップS2)。次に、センスアンプ10がデータ素子40a〜40hから8ビットのデータを読み出し(ステップS3)、データ素子40a〜40hに8ビットのデータが正しく書き込まれているか否かを判定する。
【0056】
このとき、センスアンプ10は、1ビットの情報を記憶する記憶素子を所定の単位数有する記憶ブロックの内、特定の1個の記憶素子を反転フラッグ素子41として用いて読み出しを行う。そして、反転フラッグ素子41に書き込まれた1ビットの情報が、第2の値(“0”)であるため、他の記憶素子に書き込まれた所定の単位数−1ビットの情報(本例では8ビットの情報)をそのまま読み出す。センスアンプ10は、8ビットのデータが記憶素子2に書き込まれていることを確認すると書き込みを終了する。
【0057】
センスアンプ10は、1ビット以上のデータが正しく書き込まれていないことを判定した場合には、センスアンプ10は、記憶ブロック40中に不良素子が発生していると判断し、反転フラッグ素子41を用いた書き込みへ移行する。すなわち、反転フラッグ素子41への書き込みデータを“1”、データ素子への書き込みデータを書き込みたいデータの“0”と“1”とを入れ替えたデータに設定する(ステップS4)。
【0058】
再び、電圧制御部11から供給される書き込み電圧に従って、書き込み部が記憶ブロック40に実際の書き込みを行う(ステップS5)。すなわち、書き込み部は、反転フラッグ素子41への書き込みデータを“1”、データ素子40a〜40hへの書き込みデータをビット反転して、少なくとも1回以上書き込むことを書き込み部に指示する。
【0059】
ここで、ステップS2,S5における記憶ブロック40への書き込み時に用いられる書き込み電圧は一定である。次に、センスアンプ10が読み出しを行い、8ビットのデータが正しく書き込まれていれば書き込みを終了する(ステップS6)。
【0060】
このとき、センスアンプ10は、反転フラッグ素子に書き込まれた1ビットの情報が、第1の値(“1”)であるため、他の記憶素子に書き込まれた所定の単位数−1ビットの情報をビット反転して読み出す。
【0061】
書き込みができなかった場合(ステップS7)には、正しいデータを書き込むことを断念し、誤り訂正符号(以下、ECC:Error Correcting Code)による救済に期待することになる。なお、反転フラッグ素子41が“0”のときに正しく書けていないビット数が、反転フラッグ素子41が“1”のときに正しく書けていないビット数よりも少ない場合には、再度反転フラッグ素子41を“0”に設定する。そして、書き込みたいデータをそのまま設定して、データ素子40a〜40hに書き込みを行うことも出来る。
【0062】
以上は、SpRAM1を念頭においた書き込み方法について説明したものであるが、他の種類のメモリに適用する場合には、「書き込み電圧」を適宜、適用するメモリに合わせた書き込み動作量に置き換えればよい。
【0063】
以下、本例の反転フラッグ素子41を付加した記憶ブロックの構成例について、従来の記憶ブロックを比較例として参照しながら説明する。ここでは、不良素子の発生する確率をrとし、次式(1)で定義した関数を適宜用いる。次式(1)において、f(n,m,r)は、nビットの中で丁度mビットがエラーを起こす確率を表す。また、F(n,s,r)は、nビットの中でs+1ビット以上がエラーを起こす確率を表す。このように変数sはエラーとなるビット数の程度を表す。
【0064】
【数1】
【0065】
(比較例a)
記憶ブロック50は、ECCを用いない従来の記憶ブロックの構造例を示す。
記憶ブロック50は8ビットのデータ素子からなり、正味8ビットの情報を格納できる。ただし、8ビットのデータ素子のうち、1ビットでも不良が発生すると、8ビットのデータ素子全体として正しく動作しなくなる。ここで、記憶ブロック50のブロック不良率(記憶ブロックに含まれる記憶素子が不良である割合)は、1−(1−r)8=F[8,0,r]で表される。
【0066】
(比較例b)
記憶ブロック55は、ECCを用いた従来の記憶ブロックの構造例を示す。
記憶ブロック55は12ビットのデータ素子からなり、正味8ビットの情報を格納できる。ただし、8ビットのデータ素子のうち、2ビット以上の不良が発生すると、12ビットのデータ素子全体として正しく動作しない。ここで、記憶ブロック55のブロック不良率は、F[12,1,r]で表される。
【0067】
(実施例A)
記憶ブロック40は、ECCを用いない場合における本発明に係る記憶ブロックの構造例を示す。
記憶ブロック40は8ビットのデータ素子と1ビットの反転フラッグ素子41からなり、正味8ビットの情報を格納できる。上述したように、反転フラッグ素子41を用いたことによりエラー訂正能力が1ビット向上するため、記憶ブロック40のブロック不良率はF[9,1,r]で表される。
【0068】
(実施例B)
記憶ブロック45は、ECCを用いた場合における本発明に係る記憶ブロックの構造例を示す。
記憶ブロック45は12ビットのデータ素子と1ビットの反転フラッグ素子41からなり、正味8ビットの情報を格納できる。上述したように、反転フラッグ素子41を用いたことによりエラー訂正能力が1ビット向上するため、記憶ブロック45のブロック不良率はF[13,2,r]で表される。
【0069】
(実施例C1〜C3)
ところで、メモリデバイス(SpRAM1)を設計する際にはデータ幅は2のべき乗であることが望ましい。そこで、8×3=24ビットを2分割し、12ビットの符号データ2つに対応させることが考えられる。
実施例C1〜C3は、この場合の本発明に係る記憶ブロックの構造例を示す。
【0070】
3つの記憶ブロック46a〜46cは、いずれも8ビットのデータ素子と1ビットの反転フラッグ素子41からなる。ここで、記憶ブロック46aのデータ素子と、記憶ブロック46cの下位4ビットのデータ素子を用いて12ビットの符号データとすることにより、記憶ブロック46a,46bに正味8ビットの情報を格納する。このため、記憶ブロック46aと記憶ブロック46cの下位4ビットからなる12ビットのうち、1ビットのエラーはECCにより訂正できる。
【0071】
同様に、記憶ブロック46bのデータ素子と記憶ブロック46cの上位4ビットのデータ素子を用いて12ビットの符号データとすることにより、記憶ブロック46b,46cに正味8ビットの情報を格納する。結局、記憶ブロック46a〜46cで16ビットの情報を格納することとなる。
【0072】
図7は、記憶ブロック46a〜46cを用いた場合に許される不良素子の配置例を示す。
データ素子に不良が発生する不良パターンの例として、記憶ブロック46a,46bに対しては不良パターンP1、記憶ブロック46cに対して不良パターンはP2がある。
【0073】
不良パターンP1,P2は、各記憶ブロックが反転フラッグ素子41を備えたことによって、各記憶ブロックにおけるデータ素子の不良による影響が1ビット以下になる。不良パターンP1のパターン数が5であり、不良パターンP2のパターン数が13であることにより、全体のパターン数の組合せは、5×5×13=325通りある。しかし、12ビットの符号データにまとめた後の不良数が2ビット以上となる場合を除外すると、全体のパターン数の組合せは、233通りとなる。ここで、233通りとは、計算プログラムをコンピュータに計算させて得られる、全てのパターンの中から当該パターンを数えた結果を表す。そして、不良素子の発生する確率rを総当りで計算することでブロック不良率が計算できる。ただし、他の例との比較のため、ブロック不良率は正味8ビット当たりの値に換算する。
【0074】
(実施例D1〜D3)
記憶ブロック47a〜47cは、実際例C1〜C3に係る記憶ブロック46a〜46cをさらに細分化したものである。3つの記憶ブロック47a〜47cはいずれも4ビットのデータ素子と1ビットの反転フラッグ素子41からなる。この場合、4×3=12ビットの符号データとすることによって、記憶ブロック47a〜47cに正味8ビットの情報を格納する。このように情報を格納すれば、実際例C1〜C3と同様に、総当りでブロック不良率を計算できる。
【0075】
次に、各実施例に係る記憶ブロックを用いた場合におけるブロック不良率について検証する。
図8に示す曲線は、上述した比較例a,bと実施例A,B,C1〜C3,D1〜D3から求められる、不良素子率rに対するブロック不良率の関係を示す。
図中の数値は、各比較例a,bと実施例A,B,C1〜C3,D1〜D3における、情報8ビット当りに必要となる記憶素子数を表す。
【0076】
各曲線は、不良素子率rが低い領域で直線に近似することが可能であり、その傾きはエラー訂正能力に依存する。すなわちエラー訂正能力のない比較例aに示した記憶ブロック50は傾き1で示される。一方、エラー訂正能力が1である比較例bに示した記憶ブロック55と実施例Aに示した記憶ブロック40は傾き2で示される。また、エラー訂正能力が2である実施例B,C,Dに示した記憶ブロック45,46a〜46C,47a〜47cは傾き3で示される。このようにエラー訂正能力が高くなるほどブロック不良率は不良素子率rとともに急激に減少する。
【0077】
ここで、比較例bに対応する曲線と、実施例Aに対応する曲線を比較すると、実施例Aに係る記憶ブロック40のブロック不良率が優れていることが分かる。さらに、情報8ビットあたりの記憶素子数を比較すると、比較例bに係る記憶ブロック55の記憶素子数が“12”であるのに対して、実施例Aに係る記憶ブロック40の記憶素子数が“9”であり、3/4の数になっている。これは記憶素子2がSpRAM1中で占有する面積を減少させるのに有利である。このように不良素子が“0”のみの場合には、通常のECCを用いるよりも、本発明に係る反転フラッグ素子41を記憶ブロックに付加して用いるほうが有利であると言える。
【0078】
また、実施例B,C1〜C3,D1〜D3に対応する曲線よりブロック不良率が示されるように、本発明に係る技術とECCを組み合わせることにより、より強力なエラー訂正が実現できる。この場合、ブロック不良率は、実施例B,C1〜C3,D1〜D3に係る記憶ブロック45,46a〜46c,47a〜47cの順で改善している。ここで、実施例C1〜C3,D1〜D3に係る記憶ブロック46a〜46c,47a〜47cは、データ幅を2のべき乗にしているため、メモリ設計に都合がよいブロック構造になっている。
【0079】
以上説明した第1の実施の形態に係るSpRAM1によれば、反転フラッグ素子41を付加した記憶ブロックを用いてエラー訂正をする場合であって、不良素子の出力が必ず“0”である場合に、センスアンプ10が正しくデータを読み出すことができる。逆に、不良素子の出力が必ず“1”である場合も、センスアンプ10が反転フラッグ素子41の解釈を修正すれば正しくデータを読み出すことができる。このため、本例のように反転フラッグ素子41を用いてデータを書き込んだ場合、反転フラッグ素子41の情報に基づいて記憶ブロックからデータを読み出すことによって、不良素子によるエラー読取りの可能性を著しく減少できるという効果がある。
【0080】
<2.第2の実施の形態>
[書き込み電圧を可変とした場合における書き込み制御の例]
【0081】
次に、本発明に係る第2の実施の形態例について説明する。
本例では、書き込み電圧を可変とした場合における書き込み制御を行うメモリに適用した例について説明する。以下の説明において、既に第1の実施の形態で説明した図1と図3に対応する部分には同一符号を付し、詳細な説明を省略する。
【0082】
本例のSpRAM1においても、読み出し部(本例ではセンスアンプ10)は、記憶素子2から出力された電圧値に基づいて、書き込みが成功したか否かを判定する。センスアンプ10が、途中で書き込みが成功したことを判定すると、電圧制御部11は、記憶素子2に対する書き込み電圧の印加を停止するが、書き込みが失敗したことを判定すると、電圧制御部11に対して書き込み電圧の増加を指示する。
【0083】
具体的には、センスアンプ10は、記憶ブロックに情報を初めて書き込む場合には、反転フラッグ素子に第2の値(本例では、“0”)を書き込み、他の記憶素子には所定の単位数−1ビットの情報をそのまま書き込む。そして、センスアンプ10が記憶ブロックから他の記憶素子に書き込まれた所定の単位数−1ビットの情報をそのまま読み出す。この結果、センスアンプ10が他の記憶素子に所定の単位数−1ビットの情報が正しく書き込まれていることを判定した場合には、書き込み部による情報の書き込みを終了させる。
【0084】
一方、センスアンプ10が1ビット以上のデータが正しく書き込まれていないことを判定した場合には、書き込み部に以下の動作を指示する。すなわち、反転フラッグ素子に第1の値(本例では、“1”)を書き込ませ、他の記憶素子に所定の単位数−1ビットの情報をビット反転して、少なくとも1回以上書き込ませる。
【0085】
そして、センスアンプ10が記憶ブロックから他の記憶素子に書き込まれた所定の単位数−1ビットの情報をそのまま読み出す。この結果、センスアンプ10が1ビット以上のデータが正しく書き込まれていないと判定した場合には、電圧制御部11に対して、書き込み電圧を増加する指示を行い、再度書き込み部に書き込みをさせる。
【0086】
図9は、書き込み電圧に対するビットエラー率Rbの例を示す。
ただし、10―6以下の書き込みエラー率は測定では求まらないため、測定結果を直線で外挿して計算した。
ここで、実線62は、書き込みエラー率を表し、破線63は、破壊のビットエラー率Rbを表す。
【0087】
破壊のビットエラー率Rbは、複数の記憶素子2に一定の電圧を印加したことにより、記憶素子2が破壊するまでの時間を測定する定ストレス試験によって、ワイブル分布および及びパワーローモデルのパラメータを決定して求めることができる。この図より、書き込みエラー率は書き込み電圧の増加とともに減少し、反対に、破壊のビットエラー率Rbは書き込み電圧の増加とともに増加することが示される。
【0088】
図9より、書き込み電圧が0.65Vである場合、書き込みエラー率が“−4”、つまり、1万回に1回だけ書き込みが失敗することが分かる。しかし、記憶素子2に対して、できるだけストレスをかけないようにするためには、書き込み電圧は低い方がよい。このため、本例では、書き込み電圧の初期値を低く設定し、書き込みに失敗した場合に、書き込み電圧を徐々に高めて再度書き込みを行うようにした。
【0089】
図10は、記憶素子2に情報を書き込む場合におけるフローチャートを示す。
始めは、反転フラッグ素子41を用いることなく、電圧制御部11から供給される書き込み電圧に従って、記憶ブロック40に書き込みを試みる(ステップS11)。すなわち、反転フラッグ素子41への書き込みデータを“0”、データ素子40a〜40hへの書き込みデータをそのまま設定する。
【0090】
次に、書き込み電圧を初期値に設定し(ステップS12)、電圧制御部11から供給される書き込み電圧に従って、書き込み部が記憶ブロック40に実際の書き込みを行う(ステップS13)。次に、センスアンプ10がデータを読み出し、所望のデータが書き込まれているか否かを判定する(ステップS14)。
【0091】
センスアンプ10が所望のデータが書き込まれていることを確認すると書き込みを終了する。1ビット以上のデータが正しく書き込まれていないと判断した場合には、書き込み電圧を増加し(ステップS15)、増加した書き込み電圧が、許容される最大値を超えるか否かを判定する(ステップS16)。増加した書き込み電圧が、許容される最大値を超えていない場合、ステップS13に処理を移し、再度書き込み部がデータを書き込む。書き込み部は、このループを、書き込み電圧が最大電圧に達するまで繰り返す。
【0092】
ここで、本例では、最大電圧を0.70Vとする。この値は、図9から示されるように、書き込みエラー率を示す実線62と、破壊のビットエラー率Rbを示す破線63の交点に該当する。そして、最大電圧を超えると、書き込みエラー率より、破壊のビットエラー率Rbの方が上回ってしまう。このため、書き込み電圧の上限を最大電圧までとする必要がある。
【0093】
このループの中においても正しく書き込めなかった場合には、センスアンプ10は、記憶ブロック40中に不良素子が発生していると判断し、反転フラッグ素子41を用いた書き込みへ移行する。すなわち、反転フラッグ素子41への書き込みデータを“1”とし、データ素子への書き込みデータを書き込みたいデータの“0”と“1”とを入れ替えたデータに設定する(ステップS17)。
【0094】
再び、書き込み電圧を初期値に設定した後(ステップS18)、電圧制御部11から供給される書き込み電圧に従って、書き込み部が記憶ブロック40に実際の書き込みを行う(ステップS19)。次に、センスアンプ10が読み出し、所望のデータが書き込まれているか否かを判定する(ステップS20)。センスアンプ10が所望のデータが書き込まれていることを確認すると、書き込みを終了する。
【0095】
センスアンプ10は、1ビット以上のデータが正しく書き込まれていないと確認すると、書き込み電圧を増加し(ステップS21)、増加した書き込み電圧が、許容される最大値を超えるか否かを判定する(ステップS22)。増加した書き込み電圧が、許容される最大値を超えていない場合、ステップS19に処理を移し、再度書き込み部が書き込む。書き込み部は、このループを、書き込み電圧が最大電圧に達するまで繰り返す。
【0096】
書き込み電圧が最大電圧に達しても書き込めなかった場合、エラー判定を行う(ステップS23)。このとき、正しいデータを書き込むことを断念し、ECCによる救済に期待することになる。
【0097】
なお、反転フラッグ素子41が“0”のときに正しく書けていないビット数が、反転フラッグ素子41が“1”のときに正しく書けていないビット数よりも少ない場合には、再度反転フラッグ素子41を“0”に設定する。そして、書き込みたいデータをそのまま設定して、データ素子40a〜40hに書き込みを行うことも出来る。
【0098】
以上説明した第2の実施の形態によれば、初期値に設定した書き込み電圧であってもデータを書き込むことができない場合に、最大電圧に達するまで書き込み電圧を増加させることにより、記憶素子2に確実に書き込むことが可能となった。ここで、書き込み電圧が初期値であっても、1万回に1回失敗する程度の確率で書き込むことができる。このため、記憶素子2に加わる電圧は低く、記憶素子2の破壊を防ぐことができる。また、書き込みが失敗したとしても、電圧を上げることで書き込みの成功率を高めることができる。このように、記憶素子2に加えるストレスをできるだけ減らして書き込むことが可能であるため、SpRAM1の使用可能な期間を延ばすことができるという効果がある。
【0099】
<3.変形例>
なお、不良素子の発生がある場合には、SpRAM1に限らず、他のメモリであっても本発明に係る技術を適用することが出来る。記憶素子2に発生する不良の原因は、SpRAM1の場合のように低抵抗になる場合はもちろん、高抵抗になる場合等どのようなものでもよい。
【0100】
また、上述した実施の形態に係る情報処理方法は、SpRAM1を念頭においた書き込み方法であるが、その他の種類のメモリに適用する場合には、「書き込み電圧」を適宜別の書き込み動作量に置き換えればよい。
【0101】
また、上述した実施の形態に係る記憶素子2では、磁化固定層15を記憶層16より下層に形成しているが、磁化固定層を記憶層より上層に形成した構成としてもよい。また、上述した実施の形態では、磁化固定層15を強磁性層22,24の2層によって構成しているが、磁化固定層15を構成する強磁性層の数は特に限定されない。
【0102】
また、本実施の形態では、記憶層16の下層にのみ磁化固定層15を形成しているが、別の磁化固定層を記憶層16の上層にも形成し、2つの磁化固定層で記憶層を挟む構成にすることもできる。このときには、別の磁化固定層を構成する強磁性層のうち、記憶層に最も近い層の磁化の向きは、磁化固定層15を構成する強磁性層24の磁化の向きとは反対方向に固定されていることが望ましい。また、別の磁化固定層と記憶層16を隔てる層は、トンネル絶縁層25と同様に絶縁体であってもよいし、Ru,Ta,Cr,Cu等の非磁性金属であってもよい。
【0103】
また、本発明は、上述の構成に限定されるものではなく、本発明の要旨を逸脱しない範囲でその他様々な構成を取り得る。
【符号の説明】
【0104】
1…SpRAM、2…記憶素子、3…選択用MOSトランジスタ、5…セルアレイ、6…ローデコーダ、7…カラムスイッチ、8…SLライトドライバ、9…BLライトドライバ、10…センスアンプ、11…電圧制御部、12…ビット線、13…ソース線、14…ワード線、15…磁化固定層、16…記憶層、17…接続プラグ、20…下地膜、21…反強磁性層、22…強磁性層、23…非磁性層、24…強磁性層、25…トンネル絶縁層、26…強磁性層、27…トップコート層、30…シリコン基板、31…ゲート、32…拡散層、33…拡散層、40…記憶ブロック、40a〜40c…データ素子、41…反転フラッグ素子、42…CNOT回路、45…記憶ブロック、46a〜46c…記憶ブロック、47a〜46c…記憶ブロック、50…記憶ブロック、55…記憶ブロック
【技術分野】
【0001】
本発明は、例えば、“0”又は“1”のいずれかによる1ビットの情報を記憶素子に記憶させる場合に適用して好適なメモリ及び情報処理方法に関する。
【背景技術】
【0002】
従来、情報通信機器、特に携帯端末等に用いられる小型の電子機器が飛躍的に普及したことに伴い、これを構成するメモリやロジック等の素子に対して、高集積化、高速化、低電力化等、一層の高性能化が要請されている。
このような小型機器では、不揮発性メモリが電子機器の高機能化に必要不可欠な部品と考えられている。不揮発性メモリとしては、半導体フラッシュメモリやFeRAM(強誘電体不揮発メモリ)等が実用化されており、さらなる高性能化に向けて活発な研究開発が行われている。
【0003】
最近、磁性体を利用した新しい不揮発メモリとして、例えば、特許文献1に記載がある。このように、トンネル磁気抵抗効果を利用した磁気メモリの開発進捗が著しく、その中でもスピントランスファによる磁化反転を利用する構成のメモリが注目されている。
【0004】
ここで、特許文献2には、スピントランスファによる磁化反転について記載されている。スピントランスファによる磁化反転とは、磁性体の中を通過してスピン偏極した電子を、他の磁性体に注入することにより、他の磁性体において磁化反転を起こさせるものである。
【0005】
このため、磁化の向きが固定された磁性層(磁化固定層)を通過したスピン偏極電子が、磁化の向きが固定されない他の磁性層に進入する際に、この磁性層の磁化にトルクを与える。そして、ある閾値以上の電流を他の磁性体に流せば、磁性層の磁化の向きを反転させることができる。
【0006】
例えば、磁化固定層と磁化自由層とを有する、磁気トンネル接合素子(MTJ素子)に対して、その層面に垂直な方向に電流を流す。これにより、これらの素子の少なくとも一部の磁性層の磁化の向きを反転させることができる。
【0007】
そして、磁化固定層と磁化自由層(記憶層)とを有する記憶素子に流す電流の極性を変えることにより、記憶層の磁化の向きを反転させ、“0”情報と“1”情報との書き換えを行う。以下、記憶素子に情報を書き込んで、情報を記憶させることを、「情報の書き込み」又は「書き込み」と略称する場合がある。また、記憶素子から情報を読み出すことを、「情報の読み出し」又は「読み出し」と略称する場合がある。
【0008】
情報の読み出しは、トランジスタ等の素子を用いてメモリセルの選択を行い、記憶素子のトンネル磁気抵抗効果を利用して、記憶層の磁化の向きの違いを電圧信号の差として検出することにより、記憶された情報を検知できる。
以下の説明では、スピントランスファを利用した記憶素子をSpRAM(Spin transfer Random Access Memory)と呼ぶ。また、スピントランスファを引き起こすスピン偏極電子流をスピン注入電流(Spin injection current)と呼ぶ。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】米国特許第5695864号明細書
【特許文献2】特開2003−17782号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
ところで、SpRAMにおいては、記憶素子に情報を書き込むために、記憶素子の積層方向に書き込み電流を流す。その際、記憶素子のトンネル絶縁層の両端に0.5Vから1V程度の電圧が生じる。この電圧は、トンネル絶縁層の破壊電圧に比べて無視できる大きさではない。すなわち、繰り返し書き込みが行われ、トンネル絶縁層が電界ストレスを受けると、トンネル絶縁層が静電破壊される場合がある。このような素子は書き込みを行っても抵抗変化は生じず、トンネル絶縁層が静電破壊された記憶素子は、素子の抵抗が著しく減少してしまい、もはや抵抗変化から情報を読み出すことが不可能になってしまう。
【0011】
また、トンネル絶縁層を形成する際に生じた欠陥や、TMR素子を微細に加工する際に生じた初期不良等によって、トンネル絶縁層の抵抗が著しく減少することもある。このように初期状態において低抵抗となってしまう不良が発生した場合にも、抵抗変化から情報を読み出したり、情報を書き込んだりすることが困難となる。
【0012】
本発明はこのような状況に鑑みて成されたものであり、不良が発生した記憶素子から、書き込まれるべき情報を正しく読み出すことを目的とする。
【課題を解決するための手段】
【0013】
本発明は、1ビットの情報を記憶する記憶素子を所定の単位数有する記憶ブロックの内、特定の1個の記憶素子を反転フラッグ素子として用いる。
次に、反転フラッグ素子に書き込まれた1ビットの情報が、“0”又は“1”の内、いずれかを示す第1の値である場合に、他の記憶素子に書き込まれた所定の単位数−1ビットの情報をビット反転して読み出す。
そして、反転フラッグ素子に書き込まれた1ビットの情報が、第1の値とは異なる第2の値である場合に、他の記憶素子に書き込まれた所定の単位数−1ビットの情報をそのまま読み出すものである。
【0014】
このようにしたことで、記憶ブロックに誤って情報が記憶された場合であっても、正しい情報を読み出すことが可能となる。
【発明の効果】
【0015】
本発明によれば、例えば、記憶ブロックの一部の記憶素子が不良であるため、記憶ブロックから情報を正しく読み出せない場合においても、反転フラッグ素子の情報を用いることで、正しく情報を読み出すことができるという効果がある。
【図面の簡単な説明】
【0016】
【図1】本発明の第1の実施の形態に係るSpRAMの内部構成例を示す機能ブロック図である。
【図2】本発明の第1の実施の形態に係るスピントランスファを利用するメモリのメモリセルの模式的断面図である。
【図3】本発明の第1の実施の形態に係るメモリを構成する記憶ブロックの模式図である。
【図4】本発明の第1の実施の形態に係る不良素子が2個あるいは3個の場合の書き込みデータと不良箇所の関係を示した図である。
【図5】本発明の第1の実施の形態に係る書き込み方法のフローチャートである。
【図6】本発明の第1の実施の形態に係る記憶ブロックと比較例の記憶ブロックを示した図である。
【図7】本発明の第1の実施の形態に係る実施例における不良パターンの例である。
【図8】本発明の第1の実施の形態に係る素子不良率とブロック不良率の関係を計算した図である。
【図9】本発明の第2の実施の形態に係る書き込みエラー率と、破壊のビットエラー率の計算結果の例を示す説明図である。
【図10】本発明の第2の実施の形態に係る書き込み方法のフローチャートである。
【発明を実施するための形態】
【0017】
以下、発明を実施するための最良の形態(以下実施の形態とする。)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(書き込み制御:書き込み電圧を一定とした場合における書き込み制御の例)
2.第2の実施の形態(書き込み制御:書き込み電圧を可変とした場合における書き込み制御の例)
3.変形例
【0018】
<1.第1の実施の形態>
[書き込み電圧を一定とした場合における書き込み制御の例]
【0019】
以下、本発明の第1の実施の形態について、図1〜図8を参照して説明する。本実施の形態(以下、「本例」という。)では、書き込み電圧を一定とした場合における書き込み制御を行うメモリ(以下、SpRAM1とする。)に適用した例について説明する。SpRAM1は、以下に示す処理によって、記憶素子に対する情報の書き込み又は読み出しを行う。
【0020】
図1は、SpRAM1の内部構成例を示す機能ブロック図である。
情報を保持する記憶素子2はアレイ状に配置され、セルアレイ5を構成する。各記憶素子2は選択用MOSトランジスタ3を通じて、セルアレイ5上を上下に延びるビット線12(BL)−ソース線13(SL)対に接続されており、“0”又は“1”の1ビットの情報を記憶する。一方、選択用MOSトランジスタ3のゲートはセルアレイ5上を左右に延びるワード線14(WL)に接続されている。
【0021】
ところで、図1には4ロー×4カラムの構成としたセルアレイ5を示しているが、実際にはこれより大きく、例えば512ロー×512カラムの構成とすることができる。このとき、ワード線14、ビット線12及びソース線13はそれぞれ512本となる。各ワード線14の左端はセルアレイ5の左に配置されたローデコーダ6に接続され、右端は開放されている。各ソース線13及びビット線12の上下端はセルアレイ5の上下に配置されたカラムスイッチ7に接続されている。
【0022】
セルアレイ5を512ロー×512カラムの構成とした場合、アドレスは18ビットとなるが、上位9ビットをローアドレスに、下位9ビットをカラムアドレスに割り当てる。ローアドレスはローデコーダ6に入力され、カラムアドレスは上下のカラムスイッチ7に入力される。
【0023】
また、SpRAM1は、ソース線13に書き込み電圧を加えるSLライトドライバ8と、ビット線12に書き込み電圧を加えるBLライトドライバ9を備え、共に記憶素子2に情報を書き込む書き込み部として機能する。書き込み部は、後述する反転フラッグ素子に、“0”又は“1”のうち、いずれかを示す第1の値(本例では、“1”)を書き込む場合には、他の記憶素子に所定の単位数−1ビットの情報をビット反転して書き込む。一方、書き込み部は、SLライトドライバ8とBLライトドライバ9は、反転フラッグ素子に第1の値とは異なる第2の値(本例では、“0”)を書き込む場合には、他の記憶素子に所定の単位数−1ビットの情報をそのまま書き込む。書き込み部が記憶ブロックに情報を書き込むための書き込み電圧と、センスアンプ10に供給されるリファレンス電圧は、電圧制御部11によって制御される。
【0024】
また、SpRAM1は、ソース線13に接続され、記憶素子2から読み出し電流を流すために必要なセンス電圧が入力されるセンスアンプ10を備える。1個の記憶素子2は、1ビットの情報を記憶しており、センスアンプ10には、所定の大きさのリファレンス電圧が入力される。センスアンプ10は、センス電圧とリファレンス電圧を比べることで、記憶素子2に書き込まれた情報を読み出す。本例のセンスアンプ10は、記憶素子2から情報を読み出す読み出し部として機能する。
【0025】
本例のセンスアンプ10は、所定の単位数の記憶素子2を有する記憶ブロックの内、特定の1個の記憶素子2を反転フラッグ素子として用いる(後述する図4参照)。センスアンプ10は、反転フラッグ素子に書き込まれた1ビットの情報が、“0”又は“1”の内、いずれかを示す第1の値(本例では“1”)である場合に、他の記憶素子2に書き込まれた所定の単位数−1ビットの情報をビット反転して読み出す。一方、センスアンプ10は、反転フラッグ素子に書き込まれた1ビットの情報が、第1の値とは異なる第2の値(本例では“0”)である場合には、他の記憶素子2に書き込まれた所定の単位数−1ビットの情報をそのまま読み出す。これにより、記憶ブロックに書き込まれた情報の一部が誤っていたとしても、センスアンプ10が誤り訂正を行うことが可能になる。
【0026】
次に、スピントランスファを使用するメモリ(SpRAM1)のメモリセルについて内部構成例を説明する。
【0027】
図2は、記憶素子2とメモリセルの模式化した断面図を示す。
図2に示す全体構造は、メモリセルを表す。記憶素子2に記憶された情報を読み出すために、メモリセルを電気的に選択するためには、ダイオード又はMOSトランジスタ等を用いることができる。本例のメモリセルはMOSトランジスタを用いている。
【0028】
まず、メモリセルの構成例を説明する。
強磁性層22及び強磁性層24は、非磁性層23を介して配置されていることにより、反強磁性結合している。さらに、下層側の強磁性層22は、反強磁性層21と接して配置されており、これらの層間に働く交換相互作用によって、強い一方向の磁気異方性を有する。そして、これらの層21,22,23,24により磁化固定層15が構成される。即ち、磁化固定層15は、2層の強磁性層22,24を有している。
【0029】
強磁性層26は、その磁化M1の向きが比較的容易に回転するように構成されており、この強磁性層26によって記憶層(磁化自由層)16が構成される。記憶層16は、情報を磁性体の磁化状態により保持するものである。
【0030】
磁化固定層15の強磁性層24と強磁性層26との間、即ち磁化固定層15と記憶層16との間には、トンネル絶縁層25が形成されている。このトンネル絶縁層25は、上下の強磁性層26及び24の磁気的結合を切ると共に、トンネル電流を流す役割を担う。このため、記憶層16に対して非磁性層23を介して、磁性層の磁化の向きが固定された磁化固定層15と、トンネル絶縁層25と、磁化の向きを変化させることが可能な記憶層16とにより、TMR(トンネル磁気抵抗効果)素子が構成されている。
【0031】
このように、上述の各層21〜26と、下地膜20及びトップコート層27により、TMR素子から成る記憶素子2が構成されている。
そして、記憶素子2は、積層方向に流す書き込み電流を印加することによって、記憶層16の磁化の向きが変化して、記憶層16に対して情報を記憶することができる。
【0032】
記憶素子2を構成する各層の材料は、以下のとおりである。
反強磁性層21の材料としては、例えばPtMnを用いることができる。
磁化固定層15の強磁性層22,24の材料としては、CoFe等の強磁性材料を用いることができる。
非磁性層23の材料としては、例えば、Ru,Ta,Cr,Cu等を用いることができる。
トンネル絶縁層25の材料としては、例えばMgOを用いることができる。
記憶層16の強磁性層26の材料としては、CoFeB等の強磁性材料を用いることができる。
【0033】
シリコン基板30中には、選択用MOSトランジスタ3が形成され、この選択用MOSトランジスタ3の一方の拡散層33上に接続プラグ17が形成されている。この接続プラグ17上には、記憶素子2の下地膜20が接続されている。選択用MOSトランジスタ3のもう一方の拡散層32は、不図示の接続プラグを介してソース線13に接続されている。選択用MOSトランジスタ3のゲート31は、不図示の接続プラグを介してワード線14に接続されている。記憶素子2のトップコート層27は、その上のビット線12に接続されている。
【0034】
定常状態において、非磁性層23を介した強い反強磁性結合により、強磁性層22の磁化M11と強磁性層24の磁化M12は、ほぼ完全な反平行状態にある。
通常、強磁性層22と強磁性層24とは、磁気モーメントが等しい構成とされるため、磁極磁界の漏洩成分は無視できるくらい小さい。
【0035】
そして、トンネル絶縁層25を挟む、記憶層16の強磁性層26の磁化M1の向きと、磁化固定層15の強磁性層24の磁化M12の向きとが、平行状態にあるか反平行状態にあるかによって、これらの層24,25,26から成るTMR素子の抵抗値が変化する。2つの磁化M1,M12が平行状態では抵抗値が低くなり、反平行状態では抵抗値が高くなる。TMR素子の抵抗値が変化すると、記憶素子2全体の抵抗値も変化する。このことを利用して、記憶素子2に情報を書き込んだり、情報を読み出したりすることができる。例えば、抵抗値が低い状態を”0”情報に割り当て、抵抗値が高い状態を”1”情報に割り当てることにより、2値(1ビット)の情報を書き込むことができる。
なお、磁化固定層15のうち記憶層16側の強磁性層24は、記憶した情報を読み出す際に、記憶層16の磁化M1の向きの基準となり参照される強磁性層であるため、「参照層」とも称される。
【0036】
メモリセルの情報を書き換えたり、メモリセルに書き込まれた情報を読み出したりするためには、スピン注入電流Izを流す必要がある。このスピン注入電流Izは、拡散層33、記憶素子2及びビット線12を通過する。
一方、スピン注入電流Izの極性を変えると、記憶素子2を流れるスピン注入電流Izを、上向きから下向きに、或いは下向きから上向きに、変えることができる。
これにより、記憶層16の磁化M1の向きを変化させて、メモリセルの情報を書き換えることができる。
【0037】
次に、書き込み部が行う情報の書き込み動作の例について説明する。
ローデコーダ6はローアドレスに応じて512本のうち一本のワード線14の電圧を電源電圧に設定し、当該ワード線14に接続されている選択用MOSトランジスタ3をON状態にする。上側のカラムスイッチ7はカラムアドレスに応じて512本のうち一本のソース線13をSLライトドライバ8に接続する。下側のカラムスイッチ7はカラムアドレスに応じて512本のうち一本のビット線12をBLライトドライバ9に接続する。
【0038】
SLライトドライバ8はデータ入力が“1”のとき、書き込み電圧を出力し、“0”のときGNDを出力する。反対にBLライトドライバ9はデータ入力が“0”のとき、書き込み電圧を出力し、“1”のときGNDを出力する。このようにするとデータ入力に応じて電流の向きが変わることによって、選択された記憶素子2に“0”あるいは“1”の情報を書き込むことができる。
【0039】
次に、センスアンプ10が行う情報の読み出し動作の例について説明する。
ワード線14の選択は情報の書き込み時と同じである。上側のカラムスイッチ7はカラムアドレスに応じて512本のうち一本のビット線12をSLライトドライバ8に接続する。下側のカラムスイッチ7はカラムアドレスに応じて512本のうち一本のソース線13をセンスアンプ10に接続する。SLライトドライバ8は常にGNDを出力する。このようにして、センスアンプ10から選択された記憶素子2に一定の読み出し電流を流す。
【0040】
記憶素子2の状態が“1”、すなわち高抵抗状態の場合に、読み出し電流を流すために必要なセンス電圧をV1とする。同様に、記憶素子2の状態が“0”、すなわち低抵抗状態の場合に、読み出し電流を流すために必要なセンス電圧をV0とする。このとき、抵抗の大小関係よりV1>V2となる。そこで、V1よりも小さく、V2よりも大きいリファレンス電圧をセンスアンプ10に入力する。
【0041】
センスアンプ10は、センス電圧とリファレンス電圧を比較する。ここで、「センス電圧>リファレンス電圧」となる場合は、当該記憶素子2は、“1”が記憶された状態、「センス電圧<リファレンス電圧」となる場合は、当該記憶素子2は、“0”が記憶された状態であると判断できる。すなわち、情報の読み出し動作が行える。
【0042】
上述したように、SpRAM1においては記憶素子が記憶されている情報に応じて高抵抗状態と低抵抗状態のどちらか一方をとる。本例では、高抵抗状態を“1”、低抵抗状態を“0”とする。このとき、SpRAM1における主要な不良要因であるトンネル絶縁層の静電破壊及び初期低抵抗不良は、いずれも記憶素子の抵抗値を著しく減少させることに注目する。
【0043】
センスアンプ10によって読み出しを行う場合、リファレンス抵抗値との大小比較により出力値を確定させるので、記憶素子2が必ず“0”を出力することになる。
すなわちこのような記憶素子2に対し、“0”を書き込んだ後に読み出しを行った場合には、書き込み動作によって抵抗が変化したわけではないものの、結果としてセンスアンプ10が正しく“0”を読み出すことができる。
反対に、“1”を書き込んだ後に読み出しを行った場合には、書き込み動作によって抵抗が変化しないので、センスアンプ10が必ず誤った“0”を読み出すことになる。このことを踏まえた上で、次に、本例のSpRAM1が行う反転フラッグ素子41を用いた読み出し処理の例について説明する。
【0044】
図3は、複数の記憶素子2を有する記憶ブロック40の例を示す。
図3Aは、読み出しに係わる情報単位の例を示す模式図である。
センスアンプ10は、8ビットのデータを記憶するデータ素子40a〜40hと、1ビットの反転フラッグ素子41を、1単位の記憶ブロック40として読み出しを行う。本例では、記憶ブロック40が9ビットを1単位とする9つの記憶素子2で構成されるため、特定の1個の記憶素子2を反転フラッグ素子41として用いると、他の記憶素子2には、9ビットから1ビットを減じた8ビットの情報が記憶される。
【0045】
読み出し時には、まず、センスアンプ10が全てのビットを読み出してCNOT(Controlled NOT)回路42を通過させる。次に、反転フラッグ素子41が“0”であれば、CNOT回路42からデータ素子40a〜40hのデータをそのまま出力する。逆に、反転フラッグ素子41が“1”であれば、CNOT回路42からデータ素子40a〜40hの全てのビットの“0”と“1”とを置き換えたデータを出力する。
【0046】
図3Bは、ビット2に該当するデータ素子40cが不良素子である場合を示す。
この場合、ビット2以外のデータ素子40a,40b,40d〜40hには“0”又は“1”の情報をどちらも正しく書き込むことが出来るが、ビット2に該当するデータ素子40cは常に“0”状態にある。このため、ビット2に該当するデータ素子40cに書き込むデータが“0”である場合は、そのままのデータをビット0からビット7に該当するデータ素子40a〜40hに書き込み、反転フラッグ素子41には“0”を書き込む。そうすると前述の読み出し方法によって正しいデータを読み出すことができる。
【0047】
次に、ビット2に該当するデータ素子40cに書き込むデータが“1”である場合は、データの“0”と“1”とを入れ替えたデータをビット0からビット7に該当するデータ素子40a〜40hに書き込み、反転フラッグ素子41には“1”を書き込む。このときビット2に該当するデータ素子40cに書き込まれたデータは“0”に変換されるので、必ず“0”であるビット2の状態に合致する。データの読み出し時には反転フラッグ素子41が“1”であるので、再度データ素子40a〜40hに書き込まれたデータの“0”と“1”とを入れ替えるため、正しくデータを再現して読出すことができる。
【0048】
図3Cは、反転フラッグ素子41が不良素子である場合を示す。
不良素子はどの記憶素子(データ素子40a〜40h、反転フラッグ素子41)についても対等に発生するため、反転フラッグ素子41に不良素子が発生することもある。この場合、反転フラッグ素子41自身が“0”に固定されるので、読み出し時はCNOT回路42からビット0からビット7のデータがそのまま出力される。このため、ビット0からビット7の全てのデータ素子40a〜40hが正常であるかぎり、正しく読み出し動作と書き込み動作を行うことができる。
【0049】
図4は、4ビットの記憶素子のうち、2ビット以上の記憶素子が不良素子となる場合の例を示す。
図4Aは、2ビットの記憶素子が不良素子となる場合を示す。
図4Bは、3ビットの記憶素子が不良素子となる場合を示す。
【0050】
データ素子40a〜40hに書き込まれるデータのパターンは、2×2=4通り、又は、2×2×2=8通りである。
全ての不良素子に“0”を書き込む場合は反転フラッグ素子41を“0”とし、全ての不良素子に“1”を書き込む場合は反転フラッグ素子41を“1”とすれば問題なく書き込みと読み出しを行うことが出来る。
【0051】
ただし、“0”と“1”が混在したデータを書き込む場合は、センスアンプ10は、反転フラッグ素子41にかかわらず、少なくとも1つ以上のビットが正しく読み出せない。ここで、図4A,図4B中において、灰色の下地をつけた部分が正しく読み出せないビットに該当する。そして、正しく読み出せないビットの個数の最大値は、2ビットが不良素子である場合に“1”、3ビットが不良素子である場合に“2”となる。
【0052】
一般に、(不良素子数−1)のビットが、データの書き込みも読み出しも行えない不良ビットとして残る。ここで、不良素子に反転フラッグ素子41が含まれている場合は、反転フラッグ素子41に対する不良以外がそのまま不良ビットとなるから、同様に(不良素子数−1)のビットが不良ビットとして残る。このように本例のSpRAM1は、反転フラッグ素子41を用いることによって、記憶ブロック40に発生した不良素子によるデータの書き込み又は読み出し時のエラーの影響を、不良素子数から一つ減らす効果を奏する。
【0053】
本例において、SpRAM1から情報を読み出す際には、同時に誤り訂正符号(ECC)を用いることもできる。誤り訂正符号はどのような種類であっても構わないが、例えば(12,8)符号を用いる。(12,8)符号は、8ビットのデータを12ビットの符号に符号化することを表す。そして、12ビットのうち1ビットのエラーを検出して訂正した後、8ビットのデータに復号する。この符号化と、復号化の仕組みについては、例えば、技術文献〔A Systematic (12,8) Code for Correcting Single Errors and Detecting Adjacent Errors, Jay W. Schwartz and Jack Keil Wolf, IEEE Transactions on Computers,Volume 39 , Issue 11 (1990) Pages: 1403 - 1404〕に記載されている。
【0054】
図5は、記憶素子2に情報を書き込む場合におけるフローチャートを示す。
一般に、SpRAM1が有する記憶素子2が不良素子である割合(不良素子率)は低い。このため、始めは、反転フラッグ素子41を用いることなく、電圧制御部11から供給される書き込み電圧に従って、書き込み部が記憶ブロック40に書き込みを試みる(ステップS1)。すなわち、書き込み部が記憶ブロックに情報を初めて書き込む場合には、反転フラッグ素子41への書き込みデータを“0”に設定し、データ素子40a〜40hへの書き込みデータをそのまま設定する。
【0055】
次に、電圧制御部11から供給される書き込み電圧に従って、書き込み部が記憶ブロック40に実際の書き込みを行う(ステップS2)。次に、センスアンプ10がデータ素子40a〜40hから8ビットのデータを読み出し(ステップS3)、データ素子40a〜40hに8ビットのデータが正しく書き込まれているか否かを判定する。
【0056】
このとき、センスアンプ10は、1ビットの情報を記憶する記憶素子を所定の単位数有する記憶ブロックの内、特定の1個の記憶素子を反転フラッグ素子41として用いて読み出しを行う。そして、反転フラッグ素子41に書き込まれた1ビットの情報が、第2の値(“0”)であるため、他の記憶素子に書き込まれた所定の単位数−1ビットの情報(本例では8ビットの情報)をそのまま読み出す。センスアンプ10は、8ビットのデータが記憶素子2に書き込まれていることを確認すると書き込みを終了する。
【0057】
センスアンプ10は、1ビット以上のデータが正しく書き込まれていないことを判定した場合には、センスアンプ10は、記憶ブロック40中に不良素子が発生していると判断し、反転フラッグ素子41を用いた書き込みへ移行する。すなわち、反転フラッグ素子41への書き込みデータを“1”、データ素子への書き込みデータを書き込みたいデータの“0”と“1”とを入れ替えたデータに設定する(ステップS4)。
【0058】
再び、電圧制御部11から供給される書き込み電圧に従って、書き込み部が記憶ブロック40に実際の書き込みを行う(ステップS5)。すなわち、書き込み部は、反転フラッグ素子41への書き込みデータを“1”、データ素子40a〜40hへの書き込みデータをビット反転して、少なくとも1回以上書き込むことを書き込み部に指示する。
【0059】
ここで、ステップS2,S5における記憶ブロック40への書き込み時に用いられる書き込み電圧は一定である。次に、センスアンプ10が読み出しを行い、8ビットのデータが正しく書き込まれていれば書き込みを終了する(ステップS6)。
【0060】
このとき、センスアンプ10は、反転フラッグ素子に書き込まれた1ビットの情報が、第1の値(“1”)であるため、他の記憶素子に書き込まれた所定の単位数−1ビットの情報をビット反転して読み出す。
【0061】
書き込みができなかった場合(ステップS7)には、正しいデータを書き込むことを断念し、誤り訂正符号(以下、ECC:Error Correcting Code)による救済に期待することになる。なお、反転フラッグ素子41が“0”のときに正しく書けていないビット数が、反転フラッグ素子41が“1”のときに正しく書けていないビット数よりも少ない場合には、再度反転フラッグ素子41を“0”に設定する。そして、書き込みたいデータをそのまま設定して、データ素子40a〜40hに書き込みを行うことも出来る。
【0062】
以上は、SpRAM1を念頭においた書き込み方法について説明したものであるが、他の種類のメモリに適用する場合には、「書き込み電圧」を適宜、適用するメモリに合わせた書き込み動作量に置き換えればよい。
【0063】
以下、本例の反転フラッグ素子41を付加した記憶ブロックの構成例について、従来の記憶ブロックを比較例として参照しながら説明する。ここでは、不良素子の発生する確率をrとし、次式(1)で定義した関数を適宜用いる。次式(1)において、f(n,m,r)は、nビットの中で丁度mビットがエラーを起こす確率を表す。また、F(n,s,r)は、nビットの中でs+1ビット以上がエラーを起こす確率を表す。このように変数sはエラーとなるビット数の程度を表す。
【0064】
【数1】
【0065】
(比較例a)
記憶ブロック50は、ECCを用いない従来の記憶ブロックの構造例を示す。
記憶ブロック50は8ビットのデータ素子からなり、正味8ビットの情報を格納できる。ただし、8ビットのデータ素子のうち、1ビットでも不良が発生すると、8ビットのデータ素子全体として正しく動作しなくなる。ここで、記憶ブロック50のブロック不良率(記憶ブロックに含まれる記憶素子が不良である割合)は、1−(1−r)8=F[8,0,r]で表される。
【0066】
(比較例b)
記憶ブロック55は、ECCを用いた従来の記憶ブロックの構造例を示す。
記憶ブロック55は12ビットのデータ素子からなり、正味8ビットの情報を格納できる。ただし、8ビットのデータ素子のうち、2ビット以上の不良が発生すると、12ビットのデータ素子全体として正しく動作しない。ここで、記憶ブロック55のブロック不良率は、F[12,1,r]で表される。
【0067】
(実施例A)
記憶ブロック40は、ECCを用いない場合における本発明に係る記憶ブロックの構造例を示す。
記憶ブロック40は8ビットのデータ素子と1ビットの反転フラッグ素子41からなり、正味8ビットの情報を格納できる。上述したように、反転フラッグ素子41を用いたことによりエラー訂正能力が1ビット向上するため、記憶ブロック40のブロック不良率はF[9,1,r]で表される。
【0068】
(実施例B)
記憶ブロック45は、ECCを用いた場合における本発明に係る記憶ブロックの構造例を示す。
記憶ブロック45は12ビットのデータ素子と1ビットの反転フラッグ素子41からなり、正味8ビットの情報を格納できる。上述したように、反転フラッグ素子41を用いたことによりエラー訂正能力が1ビット向上するため、記憶ブロック45のブロック不良率はF[13,2,r]で表される。
【0069】
(実施例C1〜C3)
ところで、メモリデバイス(SpRAM1)を設計する際にはデータ幅は2のべき乗であることが望ましい。そこで、8×3=24ビットを2分割し、12ビットの符号データ2つに対応させることが考えられる。
実施例C1〜C3は、この場合の本発明に係る記憶ブロックの構造例を示す。
【0070】
3つの記憶ブロック46a〜46cは、いずれも8ビットのデータ素子と1ビットの反転フラッグ素子41からなる。ここで、記憶ブロック46aのデータ素子と、記憶ブロック46cの下位4ビットのデータ素子を用いて12ビットの符号データとすることにより、記憶ブロック46a,46bに正味8ビットの情報を格納する。このため、記憶ブロック46aと記憶ブロック46cの下位4ビットからなる12ビットのうち、1ビットのエラーはECCにより訂正できる。
【0071】
同様に、記憶ブロック46bのデータ素子と記憶ブロック46cの上位4ビットのデータ素子を用いて12ビットの符号データとすることにより、記憶ブロック46b,46cに正味8ビットの情報を格納する。結局、記憶ブロック46a〜46cで16ビットの情報を格納することとなる。
【0072】
図7は、記憶ブロック46a〜46cを用いた場合に許される不良素子の配置例を示す。
データ素子に不良が発生する不良パターンの例として、記憶ブロック46a,46bに対しては不良パターンP1、記憶ブロック46cに対して不良パターンはP2がある。
【0073】
不良パターンP1,P2は、各記憶ブロックが反転フラッグ素子41を備えたことによって、各記憶ブロックにおけるデータ素子の不良による影響が1ビット以下になる。不良パターンP1のパターン数が5であり、不良パターンP2のパターン数が13であることにより、全体のパターン数の組合せは、5×5×13=325通りある。しかし、12ビットの符号データにまとめた後の不良数が2ビット以上となる場合を除外すると、全体のパターン数の組合せは、233通りとなる。ここで、233通りとは、計算プログラムをコンピュータに計算させて得られる、全てのパターンの中から当該パターンを数えた結果を表す。そして、不良素子の発生する確率rを総当りで計算することでブロック不良率が計算できる。ただし、他の例との比較のため、ブロック不良率は正味8ビット当たりの値に換算する。
【0074】
(実施例D1〜D3)
記憶ブロック47a〜47cは、実際例C1〜C3に係る記憶ブロック46a〜46cをさらに細分化したものである。3つの記憶ブロック47a〜47cはいずれも4ビットのデータ素子と1ビットの反転フラッグ素子41からなる。この場合、4×3=12ビットの符号データとすることによって、記憶ブロック47a〜47cに正味8ビットの情報を格納する。このように情報を格納すれば、実際例C1〜C3と同様に、総当りでブロック不良率を計算できる。
【0075】
次に、各実施例に係る記憶ブロックを用いた場合におけるブロック不良率について検証する。
図8に示す曲線は、上述した比較例a,bと実施例A,B,C1〜C3,D1〜D3から求められる、不良素子率rに対するブロック不良率の関係を示す。
図中の数値は、各比較例a,bと実施例A,B,C1〜C3,D1〜D3における、情報8ビット当りに必要となる記憶素子数を表す。
【0076】
各曲線は、不良素子率rが低い領域で直線に近似することが可能であり、その傾きはエラー訂正能力に依存する。すなわちエラー訂正能力のない比較例aに示した記憶ブロック50は傾き1で示される。一方、エラー訂正能力が1である比較例bに示した記憶ブロック55と実施例Aに示した記憶ブロック40は傾き2で示される。また、エラー訂正能力が2である実施例B,C,Dに示した記憶ブロック45,46a〜46C,47a〜47cは傾き3で示される。このようにエラー訂正能力が高くなるほどブロック不良率は不良素子率rとともに急激に減少する。
【0077】
ここで、比較例bに対応する曲線と、実施例Aに対応する曲線を比較すると、実施例Aに係る記憶ブロック40のブロック不良率が優れていることが分かる。さらに、情報8ビットあたりの記憶素子数を比較すると、比較例bに係る記憶ブロック55の記憶素子数が“12”であるのに対して、実施例Aに係る記憶ブロック40の記憶素子数が“9”であり、3/4の数になっている。これは記憶素子2がSpRAM1中で占有する面積を減少させるのに有利である。このように不良素子が“0”のみの場合には、通常のECCを用いるよりも、本発明に係る反転フラッグ素子41を記憶ブロックに付加して用いるほうが有利であると言える。
【0078】
また、実施例B,C1〜C3,D1〜D3に対応する曲線よりブロック不良率が示されるように、本発明に係る技術とECCを組み合わせることにより、より強力なエラー訂正が実現できる。この場合、ブロック不良率は、実施例B,C1〜C3,D1〜D3に係る記憶ブロック45,46a〜46c,47a〜47cの順で改善している。ここで、実施例C1〜C3,D1〜D3に係る記憶ブロック46a〜46c,47a〜47cは、データ幅を2のべき乗にしているため、メモリ設計に都合がよいブロック構造になっている。
【0079】
以上説明した第1の実施の形態に係るSpRAM1によれば、反転フラッグ素子41を付加した記憶ブロックを用いてエラー訂正をする場合であって、不良素子の出力が必ず“0”である場合に、センスアンプ10が正しくデータを読み出すことができる。逆に、不良素子の出力が必ず“1”である場合も、センスアンプ10が反転フラッグ素子41の解釈を修正すれば正しくデータを読み出すことができる。このため、本例のように反転フラッグ素子41を用いてデータを書き込んだ場合、反転フラッグ素子41の情報に基づいて記憶ブロックからデータを読み出すことによって、不良素子によるエラー読取りの可能性を著しく減少できるという効果がある。
【0080】
<2.第2の実施の形態>
[書き込み電圧を可変とした場合における書き込み制御の例]
【0081】
次に、本発明に係る第2の実施の形態例について説明する。
本例では、書き込み電圧を可変とした場合における書き込み制御を行うメモリに適用した例について説明する。以下の説明において、既に第1の実施の形態で説明した図1と図3に対応する部分には同一符号を付し、詳細な説明を省略する。
【0082】
本例のSpRAM1においても、読み出し部(本例ではセンスアンプ10)は、記憶素子2から出力された電圧値に基づいて、書き込みが成功したか否かを判定する。センスアンプ10が、途中で書き込みが成功したことを判定すると、電圧制御部11は、記憶素子2に対する書き込み電圧の印加を停止するが、書き込みが失敗したことを判定すると、電圧制御部11に対して書き込み電圧の増加を指示する。
【0083】
具体的には、センスアンプ10は、記憶ブロックに情報を初めて書き込む場合には、反転フラッグ素子に第2の値(本例では、“0”)を書き込み、他の記憶素子には所定の単位数−1ビットの情報をそのまま書き込む。そして、センスアンプ10が記憶ブロックから他の記憶素子に書き込まれた所定の単位数−1ビットの情報をそのまま読み出す。この結果、センスアンプ10が他の記憶素子に所定の単位数−1ビットの情報が正しく書き込まれていることを判定した場合には、書き込み部による情報の書き込みを終了させる。
【0084】
一方、センスアンプ10が1ビット以上のデータが正しく書き込まれていないことを判定した場合には、書き込み部に以下の動作を指示する。すなわち、反転フラッグ素子に第1の値(本例では、“1”)を書き込ませ、他の記憶素子に所定の単位数−1ビットの情報をビット反転して、少なくとも1回以上書き込ませる。
【0085】
そして、センスアンプ10が記憶ブロックから他の記憶素子に書き込まれた所定の単位数−1ビットの情報をそのまま読み出す。この結果、センスアンプ10が1ビット以上のデータが正しく書き込まれていないと判定した場合には、電圧制御部11に対して、書き込み電圧を増加する指示を行い、再度書き込み部に書き込みをさせる。
【0086】
図9は、書き込み電圧に対するビットエラー率Rbの例を示す。
ただし、10―6以下の書き込みエラー率は測定では求まらないため、測定結果を直線で外挿して計算した。
ここで、実線62は、書き込みエラー率を表し、破線63は、破壊のビットエラー率Rbを表す。
【0087】
破壊のビットエラー率Rbは、複数の記憶素子2に一定の電圧を印加したことにより、記憶素子2が破壊するまでの時間を測定する定ストレス試験によって、ワイブル分布および及びパワーローモデルのパラメータを決定して求めることができる。この図より、書き込みエラー率は書き込み電圧の増加とともに減少し、反対に、破壊のビットエラー率Rbは書き込み電圧の増加とともに増加することが示される。
【0088】
図9より、書き込み電圧が0.65Vである場合、書き込みエラー率が“−4”、つまり、1万回に1回だけ書き込みが失敗することが分かる。しかし、記憶素子2に対して、できるだけストレスをかけないようにするためには、書き込み電圧は低い方がよい。このため、本例では、書き込み電圧の初期値を低く設定し、書き込みに失敗した場合に、書き込み電圧を徐々に高めて再度書き込みを行うようにした。
【0089】
図10は、記憶素子2に情報を書き込む場合におけるフローチャートを示す。
始めは、反転フラッグ素子41を用いることなく、電圧制御部11から供給される書き込み電圧に従って、記憶ブロック40に書き込みを試みる(ステップS11)。すなわち、反転フラッグ素子41への書き込みデータを“0”、データ素子40a〜40hへの書き込みデータをそのまま設定する。
【0090】
次に、書き込み電圧を初期値に設定し(ステップS12)、電圧制御部11から供給される書き込み電圧に従って、書き込み部が記憶ブロック40に実際の書き込みを行う(ステップS13)。次に、センスアンプ10がデータを読み出し、所望のデータが書き込まれているか否かを判定する(ステップS14)。
【0091】
センスアンプ10が所望のデータが書き込まれていることを確認すると書き込みを終了する。1ビット以上のデータが正しく書き込まれていないと判断した場合には、書き込み電圧を増加し(ステップS15)、増加した書き込み電圧が、許容される最大値を超えるか否かを判定する(ステップS16)。増加した書き込み電圧が、許容される最大値を超えていない場合、ステップS13に処理を移し、再度書き込み部がデータを書き込む。書き込み部は、このループを、書き込み電圧が最大電圧に達するまで繰り返す。
【0092】
ここで、本例では、最大電圧を0.70Vとする。この値は、図9から示されるように、書き込みエラー率を示す実線62と、破壊のビットエラー率Rbを示す破線63の交点に該当する。そして、最大電圧を超えると、書き込みエラー率より、破壊のビットエラー率Rbの方が上回ってしまう。このため、書き込み電圧の上限を最大電圧までとする必要がある。
【0093】
このループの中においても正しく書き込めなかった場合には、センスアンプ10は、記憶ブロック40中に不良素子が発生していると判断し、反転フラッグ素子41を用いた書き込みへ移行する。すなわち、反転フラッグ素子41への書き込みデータを“1”とし、データ素子への書き込みデータを書き込みたいデータの“0”と“1”とを入れ替えたデータに設定する(ステップS17)。
【0094】
再び、書き込み電圧を初期値に設定した後(ステップS18)、電圧制御部11から供給される書き込み電圧に従って、書き込み部が記憶ブロック40に実際の書き込みを行う(ステップS19)。次に、センスアンプ10が読み出し、所望のデータが書き込まれているか否かを判定する(ステップS20)。センスアンプ10が所望のデータが書き込まれていることを確認すると、書き込みを終了する。
【0095】
センスアンプ10は、1ビット以上のデータが正しく書き込まれていないと確認すると、書き込み電圧を増加し(ステップS21)、増加した書き込み電圧が、許容される最大値を超えるか否かを判定する(ステップS22)。増加した書き込み電圧が、許容される最大値を超えていない場合、ステップS19に処理を移し、再度書き込み部が書き込む。書き込み部は、このループを、書き込み電圧が最大電圧に達するまで繰り返す。
【0096】
書き込み電圧が最大電圧に達しても書き込めなかった場合、エラー判定を行う(ステップS23)。このとき、正しいデータを書き込むことを断念し、ECCによる救済に期待することになる。
【0097】
なお、反転フラッグ素子41が“0”のときに正しく書けていないビット数が、反転フラッグ素子41が“1”のときに正しく書けていないビット数よりも少ない場合には、再度反転フラッグ素子41を“0”に設定する。そして、書き込みたいデータをそのまま設定して、データ素子40a〜40hに書き込みを行うことも出来る。
【0098】
以上説明した第2の実施の形態によれば、初期値に設定した書き込み電圧であってもデータを書き込むことができない場合に、最大電圧に達するまで書き込み電圧を増加させることにより、記憶素子2に確実に書き込むことが可能となった。ここで、書き込み電圧が初期値であっても、1万回に1回失敗する程度の確率で書き込むことができる。このため、記憶素子2に加わる電圧は低く、記憶素子2の破壊を防ぐことができる。また、書き込みが失敗したとしても、電圧を上げることで書き込みの成功率を高めることができる。このように、記憶素子2に加えるストレスをできるだけ減らして書き込むことが可能であるため、SpRAM1の使用可能な期間を延ばすことができるという効果がある。
【0099】
<3.変形例>
なお、不良素子の発生がある場合には、SpRAM1に限らず、他のメモリであっても本発明に係る技術を適用することが出来る。記憶素子2に発生する不良の原因は、SpRAM1の場合のように低抵抗になる場合はもちろん、高抵抗になる場合等どのようなものでもよい。
【0100】
また、上述した実施の形態に係る情報処理方法は、SpRAM1を念頭においた書き込み方法であるが、その他の種類のメモリに適用する場合には、「書き込み電圧」を適宜別の書き込み動作量に置き換えればよい。
【0101】
また、上述した実施の形態に係る記憶素子2では、磁化固定層15を記憶層16より下層に形成しているが、磁化固定層を記憶層より上層に形成した構成としてもよい。また、上述した実施の形態では、磁化固定層15を強磁性層22,24の2層によって構成しているが、磁化固定層15を構成する強磁性層の数は特に限定されない。
【0102】
また、本実施の形態では、記憶層16の下層にのみ磁化固定層15を形成しているが、別の磁化固定層を記憶層16の上層にも形成し、2つの磁化固定層で記憶層を挟む構成にすることもできる。このときには、別の磁化固定層を構成する強磁性層のうち、記憶層に最も近い層の磁化の向きは、磁化固定層15を構成する強磁性層24の磁化の向きとは反対方向に固定されていることが望ましい。また、別の磁化固定層と記憶層16を隔てる層は、トンネル絶縁層25と同様に絶縁体であってもよいし、Ru,Ta,Cr,Cu等の非磁性金属であってもよい。
【0103】
また、本発明は、上述の構成に限定されるものではなく、本発明の要旨を逸脱しない範囲でその他様々な構成を取り得る。
【符号の説明】
【0104】
1…SpRAM、2…記憶素子、3…選択用MOSトランジスタ、5…セルアレイ、6…ローデコーダ、7…カラムスイッチ、8…SLライトドライバ、9…BLライトドライバ、10…センスアンプ、11…電圧制御部、12…ビット線、13…ソース線、14…ワード線、15…磁化固定層、16…記憶層、17…接続プラグ、20…下地膜、21…反強磁性層、22…強磁性層、23…非磁性層、24…強磁性層、25…トンネル絶縁層、26…強磁性層、27…トップコート層、30…シリコン基板、31…ゲート、32…拡散層、33…拡散層、40…記憶ブロック、40a〜40c…データ素子、41…反転フラッグ素子、42…CNOT回路、45…記憶ブロック、46a〜46c…記憶ブロック、47a〜46c…記憶ブロック、50…記憶ブロック、55…記憶ブロック
【特許請求の範囲】
【請求項1】
1ビットの情報を記憶する記憶素子と、
所定の単位数の前記記憶素子を有する記憶ブロックの内、特定の1個の前記記憶素子を反転フラッグ素子として用い、前記反転フラッグ素子に書き込まれた1ビットの情報が、“0”又は“1”の内、いずれかを示す第1の値である場合に、他の前記記憶素子に書き込まれた前記所定の単位数−1ビットの情報をビット反転して読み出し、前記反転フラッグ素子に書き込まれた1ビットの情報が、前記第1の値とは異なる第2の値である場合に、前記他の記憶素子に書き込まれた前記所定の単位数−1ビットの情報をそのまま読み出す読み出し部と、を備える
メモリ。
【請求項2】
更に、前記反転フラッグ素子に前記第1の値を書き込む場合には、前記他の記憶素子に前記所定の単位数−1ビットの情報をビット反転して書き込み、前記反転フラッグ素子に前記第2の値を書き込む場合には、前記他の記憶素子に前記所定の単位数−1ビットの情報をそのまま書き込む書き込み部と、
前記書き込み部が前記記憶ブロックに情報を書き込むための書き込み電圧を制御する電圧制御部と、を備える
請求項1記載のメモリ。
【請求項3】
前記読み出し部は、前記書き込み部が前記記憶ブロックに情報を初めて書き込む場合には、前記反転フラッグ素子に前記第2の値を書き込み、前記他の記憶素子には前記所定の単位数−1ビットの情報をそのまま書き込み、前記記憶ブロックから前記他の記憶素子に書き込まれた前記所定の単位数−1ビットの情報をそのまま読み出した結果、前記他の記憶素子に前記所定の単位数−1ビットの情報が正しく書き込まれていることを判定した場合には、前記書き込み部による情報の書き込みを終了させ、1ビット以上のデータが正しく書き込まれていないことを判定した場合には、前記反転フラッグ素子に前記第1の値を書き込み、前記他の記憶素子に前記所定の単位数−1ビットの情報をビット反転して、少なくとも1回以上書き込むことを前記書き込み部に指示する
請求項2記載のメモリ。
【請求項4】
前記読み出し部は、前記記憶ブロックから前記他の記憶素子に書き込まれた前記所定の単位数−1ビットの情報をそのまま読み出した結果、1ビット以上のデータが正しく書き込まれていないと判定した場合には、前記電圧制御部に対して、前記書き込み電圧を増加する指示を行い、再度前記書き込み部に書き込みをさせる
請求項3記載のメモリ。
【請求項5】
前記記憶素子は、前記書き込み部が前記1ビットの情報を書き込んだことによる抵抗の変化によって前記1ビットの情報を記憶する
請求項1〜3のいずれか1項に記載のメモリ。
【請求項6】
前記記憶素子は、情報を磁性体の磁化状態により保持する記憶層と、
前記記憶層に対して非磁性層を介して、磁化の向きが固定された磁化固定層とを有し、
積層方向に流す書き込み電流を印加することによって、前記記憶層の磁化の向きが変化して、前記記憶層に対して情報を記憶する
請求項5記載のメモリ。
【請求項7】
1ビットの情報を記憶する記憶素子を所定の単位数有する記憶ブロックの内、特定の1個の前記記憶素子を反転フラッグ素子として用い、前記反転フラッグ素子に書き込まれた1ビットの情報が、“0”又は“1”の内、いずれかを示す第1の値である場合に、他の前記記憶素子に書き込まれた前記所定の単位数−1ビットの情報をビット反転して読み出し、
前記反転フラッグ素子に書き込まれた1ビットの情報が、前記第1の値とは異なる第2の値である場合に、前記他の記憶素子に書き込まれた前記所定の単位数−1ビットの情報をそのまま読み出す
情報処理方法。
【請求項1】
1ビットの情報を記憶する記憶素子と、
所定の単位数の前記記憶素子を有する記憶ブロックの内、特定の1個の前記記憶素子を反転フラッグ素子として用い、前記反転フラッグ素子に書き込まれた1ビットの情報が、“0”又は“1”の内、いずれかを示す第1の値である場合に、他の前記記憶素子に書き込まれた前記所定の単位数−1ビットの情報をビット反転して読み出し、前記反転フラッグ素子に書き込まれた1ビットの情報が、前記第1の値とは異なる第2の値である場合に、前記他の記憶素子に書き込まれた前記所定の単位数−1ビットの情報をそのまま読み出す読み出し部と、を備える
メモリ。
【請求項2】
更に、前記反転フラッグ素子に前記第1の値を書き込む場合には、前記他の記憶素子に前記所定の単位数−1ビットの情報をビット反転して書き込み、前記反転フラッグ素子に前記第2の値を書き込む場合には、前記他の記憶素子に前記所定の単位数−1ビットの情報をそのまま書き込む書き込み部と、
前記書き込み部が前記記憶ブロックに情報を書き込むための書き込み電圧を制御する電圧制御部と、を備える
請求項1記載のメモリ。
【請求項3】
前記読み出し部は、前記書き込み部が前記記憶ブロックに情報を初めて書き込む場合には、前記反転フラッグ素子に前記第2の値を書き込み、前記他の記憶素子には前記所定の単位数−1ビットの情報をそのまま書き込み、前記記憶ブロックから前記他の記憶素子に書き込まれた前記所定の単位数−1ビットの情報をそのまま読み出した結果、前記他の記憶素子に前記所定の単位数−1ビットの情報が正しく書き込まれていることを判定した場合には、前記書き込み部による情報の書き込みを終了させ、1ビット以上のデータが正しく書き込まれていないことを判定した場合には、前記反転フラッグ素子に前記第1の値を書き込み、前記他の記憶素子に前記所定の単位数−1ビットの情報をビット反転して、少なくとも1回以上書き込むことを前記書き込み部に指示する
請求項2記載のメモリ。
【請求項4】
前記読み出し部は、前記記憶ブロックから前記他の記憶素子に書き込まれた前記所定の単位数−1ビットの情報をそのまま読み出した結果、1ビット以上のデータが正しく書き込まれていないと判定した場合には、前記電圧制御部に対して、前記書き込み電圧を増加する指示を行い、再度前記書き込み部に書き込みをさせる
請求項3記載のメモリ。
【請求項5】
前記記憶素子は、前記書き込み部が前記1ビットの情報を書き込んだことによる抵抗の変化によって前記1ビットの情報を記憶する
請求項1〜3のいずれか1項に記載のメモリ。
【請求項6】
前記記憶素子は、情報を磁性体の磁化状態により保持する記憶層と、
前記記憶層に対して非磁性層を介して、磁化の向きが固定された磁化固定層とを有し、
積層方向に流す書き込み電流を印加することによって、前記記憶層の磁化の向きが変化して、前記記憶層に対して情報を記憶する
請求項5記載のメモリ。
【請求項7】
1ビットの情報を記憶する記憶素子を所定の単位数有する記憶ブロックの内、特定の1個の前記記憶素子を反転フラッグ素子として用い、前記反転フラッグ素子に書き込まれた1ビットの情報が、“0”又は“1”の内、いずれかを示す第1の値である場合に、他の前記記憶素子に書き込まれた前記所定の単位数−1ビットの情報をビット反転して読み出し、
前記反転フラッグ素子に書き込まれた1ビットの情報が、前記第1の値とは異なる第2の値である場合に、前記他の記憶素子に書き込まれた前記所定の単位数−1ビットの情報をそのまま読み出す
情報処理方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【公開番号】特開2011−8850(P2011−8850A)
【公開日】平成23年1月13日(2011.1.13)
【国際特許分類】
【出願番号】特願2009−149903(P2009−149903)
【出願日】平成21年6月24日(2009.6.24)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
【公開日】平成23年1月13日(2011.1.13)
【国際特許分類】
【出願日】平成21年6月24日(2009.6.24)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
[ Back to top ]