(57)【要約】  本発明によるＭＲＡＭの動作方法は、トグル書き込みによってデータ書き込みが行われるＭＲＡＭの動作方法である。本発明による動作方法は、（Ａ）参照セルを用いて生成される参照信号を用いて、データセル１７から読み出しデータを読み出すステップと、（Ｂ）前記読み出しデータの誤り検出を行うステップと、（Ｃ）前記読み出しデータに誤りが検出された場合、前記データセルに記憶されているデータを訂正するステップと、（Ｄ）前記読み出しデータに誤りが検出された場合、前記（Ｃ）ステップの後、前記データセルから第１再読み出しデータを読み出すステップと、（Ｅ）前記第１再読み出しデータの誤り検出を行うステップと、（Ｆ）前記第１再読み出しデータに誤りが検出された場合に、前記参照セルに記憶されているデータを訂正するステップと、（Ｇ）前記第１再読み出しデータに誤りが検出された場合に、前記（Ｆ）ステップの後、前記データセルから第２再読み出しデータを読み出すステップと、（Ｈ）前記第２再読み出しデータの誤り検出を行うステップと、（Ｉ）前記第２再読み出しデータに誤りが検出された場合に、前記データセルに記憶されているデータを再度に訂正するステップとを具備する。
2007046349.tif 000002
【特許請求の範囲】
【請求項１】
トグル書き込みによってデータ書き込みが行われるＭＲＡＭの動作方法であって、
（Ａ）参照セルを用いて生成される参照信号を用いて、データセルから読み出しデータを読み出すステップと、
（Ｂ）前記読み出しデータの誤り検出を行うステップと、
（Ｃ）前記読み出しデータに誤りが検出された場合、前記データセルに記憶されているデータを訂正するステップと、
（Ｄ）前記読み出しデータに誤りが検出された場合、前記（Ｃ）ステップの後、前記データセルから第１再読み出しデータを読み出すステップと、
（Ｅ）前記第１再読み出しデータの誤り検出を行うステップと、
（Ｆ）前記第１再読み出しデータに誤りが検出された場合に、前記参照セルに記憶されているデータを訂正するステップと、
（Ｇ）前記第１再読み出しデータに誤りが検出された場合に、前記（Ｆ）ステップの後、前記データセルから第２再読み出しデータを読み出すステップと、
（Ｈ）前記第２再読み出しデータの誤り検出を行うステップと、
（Ｉ）前記第２再読み出しデータに誤りが検出された場合に、前記データセルに記憶されているデータを再度に訂正するステップ
とを具備する
ＭＲＡＭの動作方法。
【請求項２】
請求の範囲１に記載のＭＲＡＭの動作方法であって、
前記（Ａ）乃至（Ｃ）ステップは、複数のリードサイクルのうちの一のリードサイクルにおいて行われ、
前記（Ｄ）乃至（Ｉ）ステップは、前記複数のリードサイクルの最後のリードサイクルが終了した後に行われる
ＭＲＡＭの動作方法。
【請求項３】
請求の範囲１に記載のＭＲＡＭの動作方法であって、
前記（Ａ）乃至（Ｃ）ステップは、複数のリードサイクルのうちの第１リードサイクルにおいて行われ、
前記（Ｄ）乃至（Ｆ）ステップは、前記複数のリードサイクルのうちの、第１リードサイクルの後の第２リードサイクルで行われ、
前記（Ｇ）乃至（Ｉ）ステップは、前記複数のリードサイクルのうちの、第２リードサイクルの後の第３リードサイクルで行われる
ＭＲＡＭの動作方法。
【請求項４】
第１〜第ｎデータセルと第１〜第ｎ参照セルとを備え（ｎは、３以上の整数）、且つ、トグル書き込みによってデータ書き込みが行われるＭＲＡＭの動作方法であって、
（Ａ−１）第１〜第ｎ参照セルを用いて生成される参照信号を用いて、それぞれ、第１〜第ｎデータセルから第１〜第ｎ読み出しデータを読み出すステップと、
（Ａ−２）前記第１乃至第ｎ読み出しデータの誤り検出を行うステップと、
（Ａ−３）第１リードサイクルにおいて、前記第１乃至第ｎ読み出しデータのうちの第１出力データを、誤り訂正を行った上で外部に出力するステップと、
（Ａ−４）前記第１リードサイクルにおいて、前記第１読み出しデータに誤りが検出された場合に前記第１データセルに記憶されているデータを訂正するステップと、
（Ｂ−１）前記第１リードサイクルの後の第２リードサイクルにおいて、前記第１乃至第ｎ読み出しデータのうちの第２出力データを、誤り訂正を行った上で外部に出力するステップと、
（Ｂ−２）前記（Ａ−２）ステップにおいて前記第１読み出しデータに誤りが検出された場合、前記第２リードサイクルにおいて前記第１データセルから第１再読み出しデータを読み出すステップと、
（Ｂ−３）前記第２リードサイクルにおいて、前記第１再読み出しデータの誤り検出を行うステップと、
（Ｂ−４）前記第１再読み出しデータに誤りが検出された場合に、前記第２リードサイクルにおいて前記第１参照セルに記憶されているデータを訂正するステップと、
（Ｃ−１）前記第２リードサイクルの後の第３リードサイクルにおいて、前記第１乃至第３読み出しデータのうちの第３出力データを、誤り訂正を行った上で外部に出力するステップと、
（Ｃ−２）前記（Ｂ−２）ステップにおいて前記第１再読み出しデータに誤りが検出された場合に、前記第３リードサイクルにおいて前記第１データセルから第２再読み出しデータを読み出すステップと、
（Ｃ−３）前記第２再読み出しデータに誤りが検出された場合に、前記第３リードサイクルにおいて、前記第１データセルに記憶されているデータを再度に訂正するステップ
とを具備する
ＭＲＡＭの動作方法。
【請求項５】
トグル書き込みによってデータ書き込みが行われるＭＲＡＭの動作方法であって、
（Ａ）参照セルを用いて生成される参照信号を用いて、データセルから読み出しデータを読み出すステップと、
（Ｂ）前記読み出しデータの誤り検出を行うステップと、
（Ｃ）前記データセルに入力データをトグル書き込みによって書き込むステップと、
（Ｄ）前記（Ｂ）ステップにおいて前記読み出しデータに誤りが検出された場合、前記（Ｃ）ステップの後、前記データセルから第１再読み出しデータを読み出すステップと、
（Ｅ）前記第１再読み出しデータの誤り検出を行うステップと、
（Ｆ）前記（Ｅ）ステップにおいて前記第１再読み出しデータに誤りが検出された場合に、前記参照セルに記憶されているデータを訂正するステップと、
（Ｇ）前記第１再読み出しデータに誤りが検出された場合に、前記（Ｆ）ステップの後、前記データセルから第２再読み出しデータを読み出すステップと、
（Ｈ）前記第２再読み出しデータの誤り検出を行うステップと、
（Ｉ）前記第２再読み出しデータに誤りが検出された場合に、前記データセルに記憶されているデータを訂正するステップ
とを具備する
ＭＲＡＭの動作方法。
【請求項６】
アドレスを指定するステップと、
前記アドレスによって選択される選択参照セルを用いて、前記アドレスによって選択される選択データセルから読み出しデータを読み出すステップと、
前記読み出しデータの誤りを検出するステップと、
前記選択参照セルのアドレスである参照セルアドレスが、参照セルアドレス記憶手段に登録されているかを調べるステップと、
前記参照セルアドレスが前記参照セルアドレス記憶手段に登録されておらず、且つ、前記読み出しデータに誤りが検出された場合、前記選択データセルの誤りを訂正すると共に、前記参照セルアドレスを前記参照セルアドレス記憶手段に登録するステップと、
前記参照セルアドレスが前記参照セルアドレス記憶手段に登録されており、且つ、前記読み出しデータに誤りが検出された場合、前記参照セルの誤りを訂正するステップ
とを具備する
ＭＲＡＭの動作方法。
【請求項７】
請求の範囲６に記載のＭＲＡＭの動作方法であって、
前記参照セルアドレスが前記参照セルアドレス記憶手段に登録されており、且つ、前記読み出しデータに誤りが検出されなかった場合、前記参照セルアドレスを前記参照セルアドレス記憶手段から消去するステップ
を更に具備する
ＭＲＡＭの動作方法。
【請求項８】
請求の範囲６に記載のＭＲＡＭの動作方法であって、
前記参照セルアドレスが前記参照セルアドレス記憶手段に登録されており、且つ、前記読み出しデータに誤りが検出された場合、前記参照セルの誤りを訂正するステップに加え、下記ステップ：
（Ａ）前記参照セルアドレスを前記参照セルアドレス記憶手段から消去するステップ、
（Ｂ）前記参照セルを用いてデータが読み出されるデータセルから再読み出しデータを読み出すステップ、
（Ｃ）前記再読み出しデータの誤りを検出するステップ、及び
（Ｄ）前記再読み出しデータに誤りが検出された場合、前記参照セルを用いてデータが読み出される前記データセルの誤りを訂正するステップ
とが行われる
ＭＲＡＭの動作方法。
【請求項９】
データセルと参照セルとを含むメモリアレイと、
前記参照セルを用いて生成される参照信号を用いて前記データセルからデータを読み出し、且つ、トグル書き込みによって前記データセルにデータを書き込むように構成された周辺回路
とを具備し、
前記周辺回路は、（Ａ）前記データセルから読み出された読み出しデータの誤り検出を行い、前記読み出しデータに誤りを検出した場合、前記データセルに記憶されているデータを訂正し、（Ｂ）前記データセルの訂正の後、前記データセルから第１再読み出しデータを読み出し、前記第１再読み出しデータの誤り検出を行い、（Ｃ）前記第１再読み出しデータに誤りを検出したときに、前記参照セルに記憶されているデータを訂正し、（Ｄ）前記参照セルの訂正の後、前記データセルから第２再読み出しデータを読み出し、前記第２再読み出しデータの誤り検出を行い、（Ｅ）前記第２再読み出しデータに誤りを検出したときに、前記データセルに記憶されているデータを再度に訂正するように構成された
ＭＲＡＭ。
【請求項１０】
第１〜第ｎデータセル（ｎは３以上の整数）と、
第１〜第ｎ参照セルと、
第１〜第ｎＥＣＣ回路を備える周辺回路
とを備え、
前記周辺回路は、第１リードサイクルにおいて、（Ａ−１）前記第１〜第ｎ参照セルを用いて生成される参照信号を用いて、それぞれ、前記第１〜第ｎデータセルから前記第１〜第ｎ読み出しデータを読み出し、（Ａ−２）前記第１〜第ｎＥＣＣ回路を用いて前記第１乃至第ｎ読み出しデータの誤り検出を行い、（Ａ−３）前記第１乃至第ｎ読み出しデータのうちの第１出力データを、誤り訂正を行った上で外部に出力し、且つ、（Ａ−４）前記第１読み出しデータに誤りが検出された場合に、前記第１データセルに記憶されているデータを訂正するように構成され、
前記周辺回路は、前記第１リードサイクルの後の第２リードサイクルにおいて、（Ｂ−１）前記第１乃至第ｎ読み出しデータのうちの第２出力データを、誤り訂正を行った上で外部に出力し、（Ｂ−２）前記第１読み出しデータに誤りが検出された場合、前記第１データセルから第１再読み出しデータを読み出し、（Ｂ−３）前記第１再読み出しデータの誤り検出を行い、（Ｂ−４）前記第１再読み出しデータに誤りが検出された場合に、前記第１参照セルに記憶されているデータを訂正するように構成され、且つ  前記周辺回路は、前記第２リードサイクルの後の第３リードサイクルにおいて、（Ｃ−１）前記第１乃至第ｎ読み出しデータのうちの第３出力データを、誤り訂正を行った上で外部に出力し、（Ｃ−２）前記第１再読み出しデータに誤りが検出された場合、前記第１データセルから第２再読み出しデータを読み出し、（Ｃ−３）前記第２再読み出しデータの誤り検出を行い、（Ｃ−４）前記第２再読み出しデータに誤りが検出された場合に、前記第１データセルに記憶されているデータを再度に訂正するように構成された
ＭＲＡＭ。
【請求項１１】
データセルと参照セルとを含むメモリアレイと、
参照セルアドレス記憶手段を備える周辺回路
とを具備し、
前記周辺回路は、（Ａ）外部から指定されたアドレスに応答して前記参照セルから選択参照セルを選択し、且つ、前記アドレスに応答して前記データセルから選択される選択データセルを選択し、（Ｂ）前記選択参照セルを用いて生成された参照信号を用いて前記選択データセルから読み出しデータを読み出し、（Ｃ）前記読み出しデータの誤りを検出し、（Ｄ）前記選択参照セルのアドレスである参照セルアドレスが、前記参照セルアドレス記憶手段に登録されているかを調べ、（Ｅ）前記参照セルアドレスが前記参照セルアドレス記憶手段に登録されておらず、且つ、前記読み出しデータに誤りが検出された場合、前記選択データセルの誤りを訂正すると共に前記参照セルアドレスを前記参照セルアドレス記憶手段に登録し、（Ｆ）前記参照セルアドレスが前記参照セルアドレス記憶手段に登録されており、且つ、前記読み出しデータに誤りが検出された場合、前記選択参照セルの誤りを訂正するように構成された
ＭＲＡＭ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、磁気ランダムアクセスメモリ（ＭＲＡＭ）に関しており、特に、トグル書き込みに対応するＭＲＡＭに関する。
【背景技術】
【０００２】
ＭＲＡＭは、高速書き込み／読み出しが可能な不揮発性メモリであり、近年実用化に向けた研究開発が盛んに行われている。【０００３】
最も典型的には、ＭＲＡＭは、磁化が反転可能な磁化自由層と、磁化が固定された磁化固定層と、その間に介設された非磁性層とで構成された磁気抵抗素子を、メモリセルとして利用する。データは、磁化自由層の磁化の向きとして記憶される。非磁性層が極めて薄い絶縁体で構成されている場合、磁気抵抗素子はＴＭＲ（tunnel magnetoresistance）効果を示し、そのように構成された磁気抵抗素子は、しばしば、ＭＴＪ（magnetic tunnel junction）素子と呼ばれる。一方、非磁性層が非磁性の導電体で構成されている場合には、磁気抵抗素子はＧＭＲ（giant magnetoresistance）効果を示し、そのように構成された磁気抵抗素子は、ＣＰＰ−ＧＭＲ（current perpendicular to-plane giant magnetoresistive）素子と呼ばれる。【０００４】
データの書き込みは、最も一般的には、メモリセルの近傍に設けられたワード線とビット線に書き込み電流を流すことによって磁化自由層に磁場を印加し、これにより磁化自由層の磁化を所望の方向に反転することによって行われる。【０００５】
一方、データの読み出しには、磁気抵抗素子が示す磁気抵抗効果が利用される。ＴＭＲ効果、ＧＭＲ効果のいずれを利用する場合でも、メモリセルの抵抗は磁化自由層の磁化の向きに応じて変化する。このメモリセルの抵抗の変化は、メモリセルを流れる電流、又はメモリセルに発生する電圧降下の変化として現れる。このメモリセルを流れる電流、又はメモリセルに発生する電圧降下の変化を検知することにより、メモリセルのデータが判別される。【０００６】
メモリセルのデータの判別には、しばしば、予め規定のデータが書き込まれた参照セルが使用される。以下では、参照セルと区別するために、メモリセルのうちデータの記憶に実際に使用されるセルを、データセルと呼ぶことがある。参照セルが設けられたＭＲＡＭでは、データセルのデータの判別は、参照セルを用いて参照信号を生成し、データセルから得られたデータ信号をその参照信号と比較することによって行われる。【０００７】
当業者に広く知られているように、ＭＲＡＭの一つの課題は書き込み動作におけるメモリセルの選択性である。伝統的なＭＲＡＭでは、メモリセルの特性のバラツキにより、半選択メモリセル、即ち、対応するワード線とビット線との一方にしか書き込み電流が流されていないメモリセルにもデータが書き込まれ得る。これは、ＭＲＡＭの動作の信頼性を不所望に低下させる。【０００８】
ＭＲＡＭの書き込み動作の選択性を向上させるための一つの方法が、トグル書き込みである（米国特許６，５４５，９０６号公報参照）。トグル書き込み方式とは、磁化自由層にＳＡＦ（synthetic antiferromagnet）を使用することにより、選択性が高い書き込み動作を行う技術である；ここでＳＡＦとは、複数の強磁性層から構成される、隣接する強磁性層が磁気的に反強磁性的に結合された構造体である。【０００９】
図１は、トグル書き込み方式を採用するＭＲＡＭの典型的な構成を示す平面図である。ＭＲＡＭのメモリアレイには、ビット線１０２と、ビット線１０２に直交するワード線１０３が延設されており、メモリセルとして使用される磁気抵抗素子１０１は、ビット線１０２とワード線１０３とが交差する位置のそれぞれに設けられる。図２に示されているように、磁気抵抗素子１０１は、反強磁性層１１１、磁化固定層１１２、バリア層１１３、及び磁化自由層１１４を備える磁気抵抗素子で構成されている。図１に示されているように、磁気抵抗素子１０１は、磁化固定層１１２と磁化自由層１１４の容易軸がビット線１０２及びワード線１０３に４５°の角度をなすように、即ち、磁気抵抗素子１０１の長手方向がビット線１０２及びワード線１０３と４５°の角度をなすように配置される。【００１０】
図２を再度に参照して、磁化自由層１１４は、強磁性層１２１、１２２と、その間に介設された非磁性層１２３とで構成される。磁化自由層１１４の全体としての残留磁化（即ち、外部磁場が０である場合の磁化自由層１１４の全体としての磁化）は、可能な限り０に近づけられる。これは、ＳＡＦにスピンフロップを発現させるために重要である。この条件は、例えば、２つの強磁性層１２１、１２２を同一の材料で、同一の膜厚を有するように形成することによって満足され得る。【００１１】
図３は、トグル書き込み方法の手順を説明する概念図であり、図４は、トグル書き込みによるデータ書き込みが行われるときのビット線１０２、ワード線１０３に流される電流の波形を示すグラフである。図３において、磁化自由層１１４の強磁性層１２１、１２２の磁化が、それぞれ、記号Ｍ１、Ｍ２によって参照されていることに留意されたい。【００１２】
トグル書き込み方法によるデータ書き込みは、磁化自由層１１４に印加される磁場の方向を面内で回転させ、この磁場によって磁化自由層１１４を構成する強磁性層１２１、１２２の磁化を反転することによって行われる。具体的には、まず、ワード線１０３に書き込み電流が流され、これによってワード線１０３に垂直な方向に磁場ＨＷＬが発生される（時刻ｔ１）。続いて、ワード線１０３に書き込み電流が流されたまま、ビット線１０２に書き込み電流が流される（時刻ｔ２）。これにより、ワード線１０３とビット線１０２との両方に４５°の角度をなす方向に、磁場ＨＷＬ＋ＨＢＬが発生される。更に続いて、ビット線１０２に書き込み電流が流されたままワード線１０３への書き込み電流の供給が停止される（時刻ｔ３）。これにより、ビット線１０２に垂直な方向（即ち、ワード線１０３に平行な方向）に磁場ＨＢＬが発生される。このような手順でワード線１０３及びビット線１０２に書き込み電流が流されることにより、磁化自由層１１４に印加される磁場が回転され、これにより、磁化自由層１１４を構成する強磁性層１２１、１２２の磁化を１８０°回転させることができる。【００１３】
注目すべきことは、トグル書き込み方法によるデータ書き込みでは、磁化を反転する、即ち、データを反転することしかできないことである。例えば、ある対象メモリセルにデータ”０”を書き込もうとする場合には、まず、当該対象メモリセルからデータが読み出される。読み出されたデータが”１”である場合にのみ、対象メモリセルにトグル書き込みが行われ、対象メモリセルにデータ”０”が保存される；読み出されたデータが”０”である場合には、対象メモリセルへの書き込みは行われない。【００１４】
以上に説明されたトグル書き込みでは、原理的に、ワード線１０３又はビット線１０２の一方にのみ書き込み電流が流されてもＳＡＦの磁化が反転しない。ビット線とワード線に流される書き込み電流によって発生する磁場によってＳＡＦの磁化が反転される領域を示すグラフである図５に示されているように、トグル書き込みが採用される場合、対応するワード線１０３又はビット線１０２の一方にのみ書き込み電流が流されている半選択メモリセルの磁化は、原理的に不所望に反転しない。これは、ＭＲＡＭのメモリセルの選択性を有効に向上させる。【００１５】
しかし、トグル書き込みを採用するＭＲＡＭにおいても、書き込みエラーを完全に防止することは現実的には困難である。図５に示されている領域の内部に対応する書き込み電流を流しても、極めて低い確率ではあるが磁化が反転しないという事態が起こり得る。【００１６】
加えて、トグル書き込みを採用するＭＲＡＭでも、熱擾乱を原因とするソフトエラー、即ち、熱擾乱による磁化の不所望な反転が確率的に発生することは避けがたい。確かに、ＳＡＦは、全体としての磁化を小さく保ちながら、その体積を増加させることができるため、熱擾乱に対する耐性には優れている。しかしながら、極めて低い確率ではあるが、熱擾乱によって磁化が不所望に反転することは避けがたい。【００１７】
以上に説明された書き込みエラーやソフトエラーの発生に対処するためには、他の多くのメモリデバイスと同様に、ＭＲＡＭにも誤り訂正を採用することが望ましい。例えば、特開２００３−６８０９６号公報、特開２００３−１１５１９５号公報、特開２００３−１１５１９７号公報、特開２００５−５６５５６号公報、及び特開２００５−８５４６４号公報に開示されているように、誤り訂正が採用されているＭＲＡＭでは、データ書き込みの際に書き込みデータに対して誤り訂正符号化が行われ、誤り訂正符号化されたデータがメモリアレイに書き込まれる。データ読み出しの際には、メモリアレイから読み出されたデータからシンドロームが計算され、データ誤りが発見された場合には、その誤りが訂正されたデータが外部に出力される。このとき、メモリアレイに記憶されているデータも同時に訂正される。【００１８】
しかし、トグル書き込みを採用するＭＲＡＭにおいては、ＥＣＣを採用するにあたって考慮すべき事情が２つある。１つは、データ誤りが検出されても、その原因がデータセルと参照セルのいずれにあるのかが不明なことである。熱擾乱により、参照セルに書き込まれているデータが低い確率ではあっても不所望に反転することがある。したがって、データ誤りが検出されたからといって、単純にデータセルに記憶されているデータを訂正することは、データを誤って訂正する結果になるおそれがある。【００１９】
しかしながら、データセルと参照セルのいずれに誤りがあるかは、基本的には完全には判別することができない。確かに、データセルに誤りがある場合と参照セルに誤りがある場合とで、誤りパターンに差異があるかもしれない。例えば、参照セルに誤りがある場合には、バースト誤りが発生しやすく、データセルに誤りがある場合には単ビット誤りが発生しやすい。しかし、参照セルの特性によっては、参照セルに誤りがある場合でも、それが単ビット誤りとして発現することがある。【００２０】
もう１つ考慮すべきことは、上述されているように、トグル書き込みではメモリセルのデータを反転することしかできないことである。これは、参照セルの訂正において大きな影響を及ぼす。指定されたデータを書き込むことができる書き込み方式であれば、参照セルに所望のデータを書き込んだ上で読み出しを行えば、そもそも参照セルの訂正を行う必要がない。しかし、トグル書き込みにおいてこのような手法を採用する場合には、参照セルの読み出しが必要であり、これは、リードサイクルタイムの増大を招くため好ましくない。【００２１】
このような背景から、トグル書き込みを採用するＭＲＡＭに最適な誤り訂正技術の提供が望まれている。
【発明の開示】
【００２２】
したがって、本発明の概略的な目的は、トグル書き込みを採用するＭＲＡＭに最適な誤り訂正技術を提供することにある。より具体的には、本発明の目的は、データ誤りの原因がデータセルと参照セルのいずれにあるのか不明であっても、高い確率でデータを正しく訂正できるＭＲＡＭを提供することにある。
【００２３】
本発明によるＭＲＡＭの動作方法は、トグル書き込みによってデータ書き込みが行われるＭＲＡＭの動作方法である。本発明の一の観点において、当該動作方法は、
（Ａ）参照セル（１８）を用いて生成される参照信号を用いて、データセル（１７）から読み出しデータを読み出すステップと、
（Ｂ）前記読み出しデータの誤り検出を行うステップと、
（Ｃ）前記読み出しデータに誤りが検出された場合、前記データセルに記憶されているデータを訂正するステップと、
（Ｄ）前記読み出しデータに誤りが検出された場合、前記（Ｃ）ステップの後、前記データセルから第１再読み出しデータを読み出すステップと、
（Ｅ）前記第１再読み出しデータの誤り検出を行うステップと、
（Ｆ）前記第１再読み出しデータに誤りが検出された場合に、前記参照セルに記憶されているデータを訂正するステップと、
（Ｇ）前記第１再読み出しデータに誤りが検出された場合に、前記（Ｆ）ステップの後、前記データセルから第２再読み出しデータを読み出すステップと、
（Ｈ）前記第２再読み出しデータの誤り検出を行うステップと、
（Ｉ）前記第２再読み出しデータに誤りが検出された場合に、前記データセルに記憶されているデータを再度に訂正するステップ
とを具備する。このような動作方法によれば、データ誤りの原因がデータセルと参照セルのいずれにあるのか不明であっても、充分にデータ誤り率が低減されているという条件の下、高い確率でデータを正しく訂正できる。
【００２４】
前記（Ａ）乃至（Ｃ）ステップは、複数のリードサイクルのうちの一のリードサイクルにおいて行われ、前記（Ｄ）乃至（Ｉ）ステップは、前記複数のリードサイクルの最後のリードサイクルが終了した後に行われることが好ましい。
【００２５】
外部からのアクセスを拒否せずに、上記の（Ａ）乃至（Ｇ）ステップを実行するためには、前記（Ａ）乃至（Ｃ）ステップは、複数のリードサイクルのうちの第１リードサイクルにおいて行われ、前記（Ｄ）乃至（Ｉ）ステップは、前記複数のリードサイクルのうちの、第１リードサイクルの後の第２リードサイクルで行われ、前記（Ｇ）ステップは、前記複数のリードサイクルのうちの、第２リードサイクルの後の第３リードサイクルで行われることが好ましい。
【００２６】
本発明の他の観点において、ＭＲＡＭの動作方法は、第１〜第ｎデータセルと第１〜第ｎ参照セルとを備え（ｎは、３以上の整数）、且つ、トグル書き込みによってデータ書き込みが行われるＭＲＡＭの動作方法である。当該動作方法は、
（Ａ−１）第１〜第ｎ参照セルを用いて生成される参照信号を用いて、それぞれ、第１〜第ｎデータセルから第１〜第ｎ読み出しデータを読み出すステップと、
（Ａ−２）前記第１乃至第ｎ読み出しデータの誤り検出を行うステップと、
（Ａ−３）第１リードサイクルにおいて、前記第１乃至第ｎ読み出しデータのうちの第１出力データを、誤り訂正を行った上で外部に出力するステップと、
（Ａ−４）前記第１リードサイクルにおいて、前記第１読み出しデータに誤りが検出された場合に前記第１データセルに記憶されているデータを訂正するステップと、
（Ｂ−１）前記第１リードサイクルの後の第２リードサイクルにおいて、前記第１乃至第ｎ読み出しデータのうちの第２出力データを、誤り訂正を行った上で外部に出力するステップと、
（Ｂ−２）前記（Ａ−２）ステップにおいて前記第１読み出しデータに誤りが検出された場合、前記第２リードサイクルにおいて前記第１データセルから第１再読み出しデータを読み出すステップと、
（Ｂ−３）前記第２リードサイクルにおいて、前記第１再読み出しデータの誤り検出を行うステップと、
（Ｂ−４）前記第１再読み出しデータに誤りが検出された場合に、前記第２リードサイクルにおいて前記第１参照セルに記憶されているデータを訂正するステップと、
（Ｃ−１）前記第２リードサイクルの後の第３リードサイクルにおいて、前記第１乃至第３読み出しデータのうちの第３出力データを、誤り訂正を行った上で外部に出力するステップと、
（Ｃ−２）前記（Ｂ−２）ステップにおいて前記第１再読み出しデータに誤りが検出された場合に、前記第３リードサイクルにおいて前記第１データセルから第２再読み出しデータを読み出すステップと、
（Ｃ−３）前記第２再読み出しデータに誤りが検出された場合に、前記第３リードサイクルにおいて、前記第１データセルに記憶されているデータを再度に訂正するステップ
とを具備する。このようなＭＲＡＭの動作方法では、ある参照セルの訂正、及び参照セルの訂正の後に行われるデータセルの再訂正が、他の参照セルを用いて他のデータセルから読み出されたデータが出力されている間に行われる。したがって、外部からのアクセスを拒否せずに、参照セルの訂正及びデータセルの再訂正を行うことができる。
【００２７】
本発明の更に他の観点において、ＭＲＡＭの動作方法は、
（Ａ）参照セルを用いて生成される参照信号を用いて、データセルから読み出しデータを読み出すステップと、
（Ｂ）前記読み出しデータの誤り検出を行うステップと、
（Ｃ）前記データセルに入力データをトグル書き込みによって書き込むステップと、
（Ｄ）前記読み出しデータに誤りが検出された場合、前記（Ｃ）ステップの後、前記データセルから第１再読み出しデータを読み出すステップと、
（Ｅ）前記第１再読み出しデータの誤り検出を行うステップと、
（Ｆ）前記第１再読み出しデータに誤りが検出された場合に、前記参照セルに記憶されているデータを訂正するステップと、
（Ｇ）前記第１再読み出しデータに誤りが検出された場合に、前記（Ｆ）ステップの後、前記データセルから第２再読み出しデータを読み出すステップと、
（Ｈ）前記第２再読み出しデータの誤り検出を行うステップと、
（Ｉ）前記第２再読み出しデータに誤りが検出された場合に、前記データセルに記憶されているデータを訂正するステップ
とを具備する。このような動作方法によれば、データ誤りの原因がデータセルと参照セルのいずれにあるのか不明であっても、充分にデータ誤り率が低減されているという条件の下、高い確率でデータを正しく書き込むことができる。
【００２８】
本発明の更に他の観点において、ＭＲＡＭの動作方法は、
アドレスを指定するステップと、
前記アドレスによって選択される選択参照セルを用いて、前記アドレスによって選択される選択データセルから読み出しデータを読み出すステップと、
前記読み出しデータの誤りを検出するステップと、
前記選択参照セルのアドレスである参照セルアドレスが、参照セルアドレス記憶手段に登録されているかを調べるステップと、
前記参照セルアドレスが前記参照セルアドレス記憶手段に登録されておらず、且つ、前記読み出しデータに誤りが検出された場合、前記選択データセルの誤りを訂正すると共に、前記参照セルアドレスを前記参照セルアドレス記憶手段に登録するステップと、
前記参照セルアドレスが前記参照セルアドレス記憶手段に登録されており、且つ、前記読み出しデータに誤りが検出された場合、前記参照セルの誤りを訂正するステップ
とを具備する。このような動作方法によれば、データ誤りの原因がデータセルと参照セルのいずれにあるのか不明であっても、充分にデータ誤り率が低減されているという条件の下、高い確率でデータを正しく訂正できる。
【００２９】
当該動作方法は、前記参照セルアドレスが前記参照セルアドレス記憶手段に登録されており、且つ、前記読み出しデータに誤りが検出されなかった場合、前記参照セルアドレスを前記参照セルアドレス記憶手段から消去するステップを更に具備することが好ましい。
【００３０】
また、前記参照セルアドレスが前記参照セルアドレス記憶手段に登録されており、且つ、前記読み出しデータに誤りが検出された場合、前記参照セルの誤りを訂正するステップに加え、下記ステップ：
（Ａ）前記参照セルアドレスを前記参照セルアドレス記憶手段から消去するステップ、
（Ｂ）前記参照セルを用いてデータが読み出されるデータセルから再読み出しデータを読み出すステップ、
（Ｃ）前記再読み出しデータの誤りを検出するステップ、及び
（Ｄ）前記再読み出しデータに誤りが検出された場合、前記参照セルを用いてデータが読み出される前記データセルの誤りを訂正するステップ
が行われることが好ましい。
【００３１】
本発明の更に他の観点において、ＭＲＡＭは、データセルと参照セルとを含むメモリアレイと、前記参照セルを用いて生成される参照信号を用いて前記データセルからデータを読み出し、且つ、トグル書き込みによって前記データセルにデータを書き込むように構成された周辺回路とを具備する。周辺回路は、（Ａ）前記データセルから読み出された読み出しデータの誤り検出を行い、前記読み出しデータに誤りを検出した場合、前記データセルに記憶されているデータを訂正し、（Ｂ）前記データセルの訂正の後、前記データセルから第１再読み出しデータを読み出し、前記第１再読み出しデータの誤り検出を行い、（Ｃ）前記第１再読み出しデータに誤りを検出したときに、前記参照セルに記憶されているデータを訂正し、（Ｄ）前記参照セルの訂正の後、前記データセルから第２再読み出しデータを読み出し、前記第２再読み出しデータの誤り検出を行い、（Ｅ）前記第２再読み出しデータに誤りを検出したとき、前記データセル（１７）に記憶されているデータを再度に訂正するように構成されている。
【００３２】
本発明の更に他の観点において、ＭＲＡＭは、第１〜第ｎデータセル（ｎは３以上の整数）と、第１〜第ｎ参照セルと、第１〜第ｎＥＣＣ回路を備える周辺回路とを備えている。前記周辺回路は、第１リードサイクルにおいて、（Ａ−１）前記第１〜第ｎ参照セルを用いて生成される参照信号を用いて、それぞれ、前記第１〜第ｎデータセルから前記第１〜第ｎ読み出しデータを読み出し、（Ａ−２）前記第１〜第ｎＥＣＣ回路を用いて前記第１乃至第ｎ読み出しデータの誤り検出を行い、（Ａ−３）前記第１乃至第ｎ読み出しデータのうちの第１出力データを、誤り訂正を行った上で外部に出力し、且つ、（Ａ−４）前記第１読み出しデータに誤りが検出された場合に、前記第１データセルに記憶されているデータを訂正するように構成されている。更に、前記周辺回路は、前記第１リードサイクルの後の第２リードサイクルにおいて、（Ｂ−１）前記第１乃至第ｎ読み出しデータのうちの第２出力データを、誤り訂正を行った上で外部に出力し、（Ｂ−２）前記第１読み出しデータに誤りが検出された場合、前記第１データセルから第１再読み出しデータを読み出し、（Ｂ−３）前記第１再読み出しデータの誤り検出を行い、（Ｂ−４）前記第１再読み出しデータに誤りが検出された場合に、前記第１参照セルに記憶されているデータを訂正するように構成されている。加えて、前記周辺回路は、前記第２リードサイクルの後の第３リードサイクルにおいて、（Ｃ−１）前記第１乃至第ｎ読み出しデータのうちの第３出力データを、誤り訂正を行った上で外部に出力し、且つ、（Ｃ−２）前記第１再読み出しデータに誤りが検出された場合に、前記第１データセルから第２再読み出しデータを読み出し、（Ｃ−３）前記第２再読み出しデータの誤り検出を行い、（Ｃ−４）前記第２再読み出しデータに誤りが検出された場合に、前記第１データセルに記憶されているデータを再度に訂正するように構成されている。
【００３３】
本発明の更に他の観点において、ＭＲＡＭは、データセルと参照セルとを含むメモリアレイと、参照セルアドレス記憶手段を備える周辺回路とを具備する。前記周辺回路は、（Ａ）外部から指定されたアドレスに応答して前記参照セルから選択参照セルを選択し、且つ、前記アドレスに応答して前記データセルから選択される選択データセルを選択し、（Ｂ）前記選択参照セルを用いて生成された参照信号を用いて前記選択データセルから読み出しデータを読み出し、（Ｃ）前記読み出しデータの誤りを検出し、（Ｄ）前記選択参照セルのアドレスである参照セルアドレスが、前記参照セルアドレス記憶手段に登録されているかを調べ、（Ｅ）前記参照セルアドレスが前記参照セルアドレス記憶手段に登録されておらず、且つ、前記読み出しデータに誤りが検出された場合、前記選択データセルの誤りを訂正すると共に前記参照セルアドレスを前記参照セルアドレス記憶手段に登録し、（Ｆ）前記参照セルアドレスが前記参照セルアドレス記憶手段に登録されており、且つ、前記読み出しデータに誤りが検出された場合、前記選択参照セルの誤りを訂正するように構成されている。
【００３４】
本発明により、データ誤りの原因がデータセルと参照セルのいずれにあるのか不明であっても、高い確率でデータを正しく訂正できるＭＲＡＭを提供することができる。
【図面の簡単な説明】
【００３５】
【図１】図１は、トグル書き込みに対応するＭＲＡＭのメモリセルの構成を示す平面図である。
【図２】図２は、トグル書き込みに対応するＭＲＡＭのメモリセルの構成を示す断面図である。
【図３】図３は、トグル書き込みの手順を示す概念図である。
【図４】図４は、ワード線電流とビット線電流の波形を示すグラフである。
【図５】図５は、トグル書き込みが採用されたＭＲＡＭの、書き込み動作が可能な領域を示すグラフである。
【図６】図６は、本発明の第１の実施形態に係るＭＲＡＭの構成を示すブロック図である。
【図７Ａ】図７Ａは、メモリアレイの構成の詳細を示す図である。
【図７Ｂ】図７Ｂは、参照セルが誤ったデータを保持している場合のＭＲＡＭの動作を示す概念図である。
【図８】図８は、第１の実施形態に係るＭＲＡＭのリード動作時の状態遷移図である。
【図９】図９は、第１の実施形態に係るＭＲＡＭのリード動作の手順を示すフローチャートである。
【図１０】図１０は、第１の実施形態に係るＭＲＡＭのリード動作の例を示すタイミングチャートである。
【図１１】図１１は、第１の実施形態に係るＭＲＡＭのライト動作時の状態遷移図である。
【図１２】図１２は、第１の実施形態に係るライト動作の手順を示すフローチャートである。
【図１３】図１３は、第２の実施形態に係るＭＲＡＭの構成を示すブロック図である。
【図１４】図１４は、第２の実施形態に係るＭＲＡＭのアドレス割り当てを示す図である。
【図１５】図１５は、第１の実施形態に係るＭＲＡＭのリード動作の例を示すタイミングチャートである。
【図１６】図１６は、第３の実施形態に係るＭＲＡＭの構成を示すブロック図である。
【図１７】図１７は、第３の実施形態に係るＭＲＡＭの動作を概略的に説明する概念図である。
【図１８】図１８は、第３の実施形態に係るＭＲＡＭの動作を説明するフローチャートである。
【発明を実施するための最良の形態】
【００３６】
第１の実施形態：
（全体構成）
図６は、本発明の第１の実施形態に係るＭＲＡＭの構成を示すブロック図である。本実施形態に係るＭＲＡＭは、ｎ個のバンク１１〜１ｎと、コントローラ２とを備えている。バンク１１〜１ｎは、それぞれデータ入出力ＤＱ［１］〜ＤＱ［ｎ］に対応付けられている。バンク１１〜１ｎは、対応するデータ入出力から受け取ったデータを記憶する。加えてバンク１１〜１ｎに保存されているデータは、対応するデータ入出力ＤＱ［１］〜ＤＱ［ｎ］から外部に出力される。コントローラ２は、データ入出力ＤＱ［１］〜ＤＱ［ｎ］とバンク１１〜１ｎとのインターフェースとして機能すると共に、誤り訂正に関する処理を行う。以下、バンク１１〜１ｎとコントローラ２について詳細に説明する。【００３７】
バンク１１〜１ｎのそれぞれは、メモリアレイ１１と、ロウデコーダ１２と、カラムデコーダ１３と、書き込み回路１４と、センスアンプ１５と、データバッファ／コンパレータ１６とを備えている。メモリアレイ１１には、磁気抵抗素子で形成されたメモリセルが行列に配置されている。ロウデコーダ１２及びカラムデコーダ１３は、メモリセルを選択するためのものである。ロウデコーダ１２は、メモリセルの行を選択するために使用され、カラムデコーダ１３は、メモリセルの列を選択するために選択される。書き込み回路１４は、書き込み動作時に選択メモリセルにデータを書き込むための書き込み電流を発生する。後述されるように、選択メモリセルへのデータの書き込みは、上述のトグル書き込みによって行われる。センスアンプ１５は、選択メモリセルのデータを判別して読み出しデータを生成する。【００３８】
データバッファ／コンパレータ１６は、トグル書き込み動作を行う際に、選択メモリセルのデータを反転すべきか否かを判定し、判定の結果を示す判定結果信号を生成する。より具体的には、データバッファ／コンパレータ１６は、センスアンプ１５から選択メモリセルに書き込まれていたデータを受け取り、受け取ったデータと当該選択メモリセルに書き込むべき入力データとを比較する。一致していない場合、データバッファ／コンパレータ１６は、判定結果信号を活性化して書き込み回路１４に書き込み電流の発生を許可する。一致する場合には、データバッファ／コンパレータ１６は判定結果信号を非活性化する。この場合、選択メモリセルのデータは反転されない。より具体的には、データバッファ／コンパレータ１６に内蔵されているデータバッファは、センスアンプ１５から出力される読み出しデータと外部から入力された書き込みデータとを一時記憶手段に格納する。コンパレータは、データバッファの出力データと外部から入力された書き込みデータの一致／不一致を比較する排他的論理和ゲートで構成される。【００３９】
図７は、メモリアレイの構成を詳細に示す図である。メモリアレイ１１は、ワード線１９と、ビット線２０と、それらが交差する位置に設けられたメモリセルを備えている。メモリアレイ１１に配置されるメモリセルには、データセル１７と参照セル１８の２種類がある。データセル１７と参照セル１８の構造は、いずれも、図２に示されている磁気抵抗素子１０１の構造と同様である。データセル１７及び参照セル１８への書き込みが行われる場合、対応するワード線１９とビット線２０に書き込み電流が流される。【００４０】
データセル１７は、データが実際に格納されるメモリセルである。データセル１７には、誤り訂正符号化されたデータが保存される。本実施形態では、同一の誤り訂正符号のビットを記憶するデータセル１７は、同一の行に位置している。誤り訂正符号としては、例えば、ハミング符号、ＢＣＨ符号、又はリードソロモン符号のようなブロック符号が好適に使用される。【００４１】
一方、参照セル１８は、データセル１７からのデータの読み出しに使用される参照信号を生成するために使用されるメモリセルである。参照セル１８は、メモリアレイ１１の中央部に２列に並べられている；即ち、図７Ａに示されているように、一のメモリセルの行には、２つの参照セル１８が設けられている。同一の行に対応する２つの参照セル１８を、以下では、参照セル対２１と呼ぶこととする。参照セル対２１の２つの参照セル１８の一方には、初期的には、データ”０”が書き込まれ、他方にはデータ”１”が書き込まれる。後述されるように、あるメモリセル行のデータセル１７の読み出しには、該メモリセル行に位置する２つの参照セル１８が使用される。【００４２】
参照セル対２１の２つの参照セル１８の一方がデータ”０”を保持し、他方がデータ”１”を保持することは、データセル１７からの読み出しを正しく行うために重要である。図７Ｂに示されているように、ある対象セル対２１の参照セル１８の両方が、例えば、データ”０”を保持していると、対応するデータセル１７に記憶されているデータは、データ”１”と判別されやすくなる。【００４３】
コントローラ２は、アドレス／モード制御部３１と、データ制御部３２と、ＥＣＣ回路３３とを備えている。アドレス／モード制御部３１は、アドレス入力とコマンド入力に応答して、様々な内部制御信号：例えば、ロウアドレス信号、カラムアドレス信号、内部ライトイネーブル信号ＩＷＥ、及びセンスイネーブル信号ＳＥを生成する。コマンド入力は、例えば、チップイネーブル信号／ＣＥ１、アウトプットイネーブル信号／ＯＥ、ライトイネーブル信号／ＷＥを含んでいる。記号”／”は、信号がローアクティブであることを意味している。データ制御部３２は、データ入出力ＤＱ［１］〜ＤＱ［ｎ］と、バンク１１〜１ｎと、ＥＣＣ回路３３との間のデータインターフェースとして機能する。ＥＣＣ回路３３は、誤り訂正を行うための演算を行う。ＥＣＣ回路３３は、誤り訂正符号化を行うエンコーダ３４と、復号化及び誤り検出を行うデコーダ３５とを備えている。【００４４】
（リード動作時の誤り訂正）
本実施形態のＭＲＡＭのリード動作の一つの特徴は、読み出しデータに誤りが発見された場合には、まず無条件にデータセル１７のデータを訂正し（即ち、データを反転し）、その後もデータ誤りが解消されない場合には参照セル１８のデータの訂正及びデータセル１７のデータの再反転を行う点にある；本実施形態のＭＲＡＭでは、データセル１７のデータ訂正の前に、データセル１７と参照セル１８の何れに読み出しエラーの原因があるかの特定は行われない。確かに、データセル１７から読み出されたデータビットを解析すれば、読み出しエラーの原因がデータセル１７と参照セル１８の何れにあるかをある程度は判断できるかもしれない。例えば、単ビット誤りが発生している場合にはデータセル１７に誤りがある可能性が高く、バースト誤りが発生している場合には参照セル１８に誤りがある可能性が高い。しかし、参照セル１８の特性によっては、単ビット誤りであったとしても参照セル１８に誤りが発生している可能性は否定できない。【００４５】
上述された本実施形態のＭＲＡＭのリード動作によれば、書き込みエラーやソフトエラーの発生確率が充分に抑制されているという条件の下（具体的には、読み出し動作が行われたデータセル１７及び参照セル１８のうちの一つのメモリセルにしかデータ誤りが存在しない程度に抑制されているという条件の下）、誤り訂正を正しく行うことができる。【００４６】
このことは、図８に示されている状態遷移図から理解される。読み出し動作が行われたデータセル１７及び参照セル１８のうちの一つのメモリセルのみしかデータ誤りが存在しない場合には、ＭＲＡＭは、下記２つの状態：データセル１７にのみデータ誤りがある状態Ａ、参照セル１８にのみデータ誤りがある状態Ｂのいずれかを取る。ＭＲＡＭが状態Ａ及び状態Ｂの何れにあるかは、基本的には完全には判断できない。【００４７】
本実施形態では、まず、データセル１７のデータが無条件に訂正される。これにより、ＭＲＡＭが状態Ａにあった場合には正常な状態（即ち、データセル１７と参照セル１８の両方のデータが正しい状態）に遷移し、状態Ｂにあった場合にはデータセル１７と参照セル１８の両方が誤っている状態Ｃに遷移する。【００４８】
続いて、データセル１７からデータが再度に読み出され、データセル１７のデータの誤り検出が行われる。ＭＲＡＭが正常な状態に戻っている場合には、データ誤りは検出されない。【００４９】
一方、ＭＲＡＭが不所望にも状態Ｃに遷移してしまっている場合には、データ誤りが検出される。この場合、参照セル１８のデータが訂正され、更に、データセル１７のデータが再度に訂正される。【００５０】
このように、本実施形態のＭＲＡＭでは、ＭＲＡＭが状態Ａ及び状態Ｂの何れにある場合でも、（読み出し動作が行われたデータセル１７及び参照セル１８のうちの一つのメモリセルにしかデータ誤りが存在しない程度に抑制されているという条件の下）、最終的に正常な状態にデータを復帰させることができる。【００５１】
以下では、本実施形態のＭＲＡＭのリード動作の具体的な手順を、図９を参照しながら説明する。図９に示されているように、本実施形態のＭＲＡＭのリード動作では、まず、データセル１７からのデータの読み出しと、誤り検出が行われる（ステップＳ０１）。【００５２】
データセル１７からのデータ読み出しは、以下のようにして行われる：アドレス入力により、一の誤り訂正符号に対応するデータセル１７が選択される。このとき同時に、選択されたデータセル１７と同一の行にある参照セル１８も選択される。続いて、選択されたデータセル１７からデータビットが読み出される。【００５３】
選択されたデータセル１７からのデータビットの読み出し時には、当該データセル１７と同一の行に位置する２つの参照セル１８が使用される。具体的には、該２つの参照セル１８に流れる電流の平均と、データセル１７を流れる電流がセンスアンプ１５によって比較され、データセル１７のデータビットが判別される。このようにして読み出されたデータセル１７のデータビットは、デコーダ３５に送られて誤り検出が行われる。一実施形態では、ＥＣＣ回路３３は、読み出されたデータビットからシンドロームを算出し、そのシンドロームに基づいて誤り検出を行う。【００５４】
誤りが検出されなかった場合には、対象データセルから読み出されたデータが出力データとして出力される（ステップＳ０２）。【００５５】
一方、誤りが検出された場合には、ＥＣＣ回路３３は、誤り訂正が可能であるかを判断する（ステップＳ０３）。誤り訂正が不可能であると判断した場合、ＥＣＣ回路３３は、エラー信号を外部に出力する（ステップＳ１１）。リード動作は、これによって中断される。【００５６】
誤り訂正が可能であると判断した場合、ＥＣＣ回路３３は、正しいデータを外部に出力する。更に、ＥＣＣ回路３３による制御の下、データセル１７に記憶されているデータが訂正される（ステップＳ０４）。即ち、選択されたデータセル１７のうち、データエラーがあると判断されたデータセル１７のデータが反転される。データの反転は、上述されたトグル書き込みによって行われる。【００５７】
続いて、選択されたデータセル１７から再度にデータが読み出され、更にＥＣＣ回路３３によって誤り検出が行われる（ステップＳ０５）。誤りが発見されなかった場合（ステップＳ０６）、リード動作は完了する。これは、本実施形態のＭＲＡＭが、元々、図８の状態Ａにあり、データの訂正によって正常な状態に復帰したことを意味している。【００５８】
一方、ステップＳ０５において誤りが検出された場合には、参照セル１８の訂正が行われる。ステップＳ０５において誤りが検出されるのは、ステップＳ０４のデータ訂正によってＭＲＡＭが状態Ｃに遷移したことを意味しており、参照セル１８の訂正により、ＭＲＡＭは、状態Ａに遷移する。【００５９】
参照セル１８の訂正は、データエラーに関連する参照セル対２１の参照セル１８の一方のデータを反転することによって行われる。参照セル１８を訂正すべき場合とは、ある参照セル対２１の参照セル１８のデータが、いずれもデータ”０”である、又はいずれもデータ”１”である場合であるから、任意に選択された一方の参照セル１８のデータを反転することにより、データエラーに関連する参照セル対２１の参照セル１８を、データ読み出しに使用可能な状態に戻すことができる。【００６０】
参照セル１８の訂正後、選択されたデータセル１７から再度にデータが読み出され、更にＥＣＣ回路３３によって誤り検出が行われる（ステップＳ０８）。参照セル１８の訂正によってＭＲＡＭは、状態Ａに遷移しているはずであるから、基本的には誤りが発見されるはずである。誤りが発見された場合（ステップＳ０９）、データセル１７の訂正が再度に行われ（ステップＳ１０）、これにより、ＭＲＡＭは正常な状態に復帰する。何らかの原因で誤りが発見されなかった場合には、そのままリード動作が完了する。例えば、元々データセル１７と参照セル１８との両方にデータ誤りがあった場合には、ステップＳ０８においてデータ誤りが発見されないことがある。【００６１】
図１０は、上述されている手順で、一連のアドレスＡ０〜Ａ３についてのリード動作が行われるときの動作タイミングの一例を示すタイミングチャートである。ここで、本実施例のＭＲＡＭでは、任意のアドレスグループ毎にアクセスされるのが前提であり、上記アドレスＡ０〜Ａ３は、一つのアドレスグループを形成している。まず、アウトプットイネーブル信号／ＯＥが活性化される。更に、アドレスが外部からＭＲＡＭに順次に入力され、更に、アドレスの入力と同期してチップイネーブル信号／ＣＥ１が活性化される。アドレス入力に応答してデータセル１７が選択される。更に、チップイネーブル信号／ＣＥ１の活性化に同期して、センスイネーブル信号／ＳＥが活性化される。センスイネーブル信号／ＳＥの活性化に応答して、センスアンプ１５は、選択されたデータセル１７からデータを読み出す。読み出されたデータは、ＥＣＣ回路３３に送られて誤り検出が行われる。【００６２】
誤りが検出されなかった場合、データセル１７から読み出されたデータがそのまま出力データとして出力される。図１０の動作例は、アドレスＡ０、Ａ２、Ａ３に対応するデータには誤りが検出されなかった場合を示している。図１０において、アドレスＡ０、Ａ２、Ａ３に対応する出力データは、それぞれ、Ｑ０、Ｑ２、Ｑ３と記載されていることに留意されたい。【００６３】
読み出されたデータに誤りがある場合、読み出されたデータに誤り訂正が行われ、誤り訂正されたデータが外部に出力される。図１０の動作例は、アドレスＡ１に対応するデータに誤りが検出された場合を示している。アドレスＡ１に対応する出力データは、図１０ではＱ１と記載されている。出力データＱ１は、データセル１７から読み出されたデータそのものではなく、誤り訂正が行われたデータである。読み出されたデータに誤りがある場合には、更に、内部ライトイネーブル信号ＩＷＥが活性化され、データセル１７に記憶されているデータの誤り訂正が行われる。【００６４】
データセル１７のデータの誤り訂正の後に行われるデータの再読み出しと誤り検出（ステップＳ０５）、及び参照セル１８の訂正（ステップＳ０７）は、一連のアドレスＡ０〜Ａ３に対応するデータセル１７からの読み出しが完了して後に行われる。これは、バースト読み出しに対応するために重要である。データの再読み出しと誤り検出、及び引き続いて行われる参照セル１８の訂正を、誤りが発見されたデータセル１７のデータ読み出しが行われるリードサイクルで行おうとすると、当該リードサイクルの長さを長くする必要がある。これは、バースト読み出しを阻害するため好ましくない。【００６５】
アドレスＡ０〜Ａ３に対応するデータセル１７からのバースト読み出しが完了した後、アウトプットイネーブル信号／ＯＥが非活性化される。更に、ＥＣＣ回路３３は、アドレスＡ１に誤りが発見されたことに応答してビジー信号／ＢＹを活性化し、外部からのアクセスを禁止する。これは、必要がある場合には参照セル１８を訂正し、更にデータセル１７の再訂正を行うためである。参照セル１８を訂正する動作が行われている間には、外部からのアクセスはできない。誤りが発見されなかった場合には、ビジー信号／ＢＹは非活性化されたままである。【００６６】
ビジー信号／ＢＹが活性化されると、まず、センスアンプイネーブル信号ＳＥが活性化され、誤りが発見されたアドレスＡ１に対応するデータセル１７からデータが再度に読み出される。読み出されたデータに対して誤り検出が行われる。誤りが発見されると、内部ライトイネーブル信号ＩＷＥが再度に活性化されて参照セル１８の誤りが訂正される。続いて、センスアンプイネーブル信号ＳＥが再度に活性化され、誤りが発見されたアドレスＡ１に対応するデータセル１７からデータがもう一度読み出される。誤りが発見された場合には（この段階では、誤りが発見されるはずである）、データセル１７のデータが訂正される。その後、ビジー信号／ＢＹは非活性化され、リード動作が完了する。【００６７】
（書き込み動作時の誤り訂正）
上述されているように、トグル書き込みでは、書き込み動作の前にデータ読み出しが行われる。データセル１７のデータが誤っている場合には、書き込み動作を行うことによってデータセル１７の誤りを自動的に訂正することができる。しかし、参照セル１８に保存されているデータが誤っていると、このデータ読み出しにおいて対象メモリセルから誤ったデータが読み出され、その結果、対象メモリセルに誤ったデータが書き込まれる可能性がある。したがって、トグル書き込みでは、参照セル１８に保存されているデータが誤っていても、正しくデータを書き込むことができることが重要である。【００６８】
一つの考えられる手法は、データセル１７に記憶されているデータを解析して、参照セル１８にデータ誤りがあるか否かを検出することである。しかし、上述のように、参照セル１８の特性によっては、単ビット誤りであったとしても参照セル１８に誤りが発生している可能性は否定できない。【００６９】
本実施形態のＭＲＡＭは、書き込み動作前のデータ読み出しにおいて誤り検出を行い、その結果に無関係に、まずは参照セルを訂正せずに書き込み動作を行う。そして、書き込み動作後に再度に誤り検出が行われる。書き込み動作前と書き込み動作後の両方でデータ誤りが検出された場合、参照セル１８のデータの訂正を行う。この場合、データセル１７に記憶されているデータも誤って書き込まれているので、データセル１７についてもデータ訂正を行う。【００７０】
このような動作によれば、書き込みエラーやソフトエラーの発生確率が充分に抑制されているという条件の下（具体的には、読み出し動作が行われたデータセル１７及び参照セル１８のうちの一つのメモリセルにしかデータ誤りが存在しない程度に抑制されているという条件の下）、データ書き込みを正しく行うことができる。【００７１】
このことは、図１１に示されている状態遷移図から理解される。読み出し動作が行われたデータセル１７及び参照セル１８のうちの一つのメモリセルのみしかデータ誤りが存在しない場合には、ＭＲＡＭは、下記２つの状態：データセル１７にのみデータ誤りがある状態Ａ、参照セル１８にのみデータ誤りがある状態Ｂのいずれかを取る。ＭＲＡＭが状態Ａ及び状態Ｂの何れにあるかは、基本的には完全には判断できない。【００７２】
本実施の形態では、まず、無条件にデータセル１７への書き込みが行われる。データセル１７への書き込みにより、ＭＲＡＭが状態Ａにあった場合には正常な状態（即ち、データセル１７と参照セル１８の両方のデータが正しい状態）に遷移し、状態Ｂにあった場合にはデータセル１７と参照セル１８の両方が誤っている状態Ｃに遷移する。【００７３】
続いて、データセル１７からデータが再度に読み出され、データセル１７のデータの誤り検出が行われる。ＭＲＡＭが正常な状態に戻っている場合には、データ誤りは検出されない。【００７４】
一方、ＭＲＡＭが不所望にも状態Ｃに遷移してしまっている場合には、データ誤りが検出される。この場合、参照セル１８のデータが訂正され、更に、データセル１７へのデータ書き込みが再度に行われる。これにより、ＭＲＡＭを正常な状態に復帰することができる。【００７５】
以下では、本実施形態のＭＲＡＭのライト動作の具体的な手順を、図１２を参照しながら説明する。図１２に示されているように、本実施形態のＭＲＡＭのライト動作では、まず、ＥＣＣ回路３３のエンコーダによって入力データの符号化が行われる（ステップＳ２１）。【００７６】
続いて、データセル１７からのデータの読み出しと、誤り検出が行われる（ステップＳ２２）。データの読み出しと誤り検出の手順は、リード動作時のステップ０１で行われる手順と同じである。【００７７】
誤りが検出されなかった場合（ステップＳ２３）には、選択されたデータセル１７に符号化された入力データが書き込まれる（ステップＳ２４）。【００７８】
一方、誤りが検出された場合には、ＥＣＣ回路３３は、誤り訂正が可能であるかを判断する（ステップＳ２５）。誤り訂正が不可能であると判断した場合、ＥＣＣ回路３３は、エラー信号を外部に出力する（ステップＳ３３）。ライト動作は、これによって中断される。【００７９】
誤り訂正が可能であると判断した場合、ＥＣＣ回路３３は、正しいデータを外部に出力する。更に、選択されたデータセル１７に入力データが書き込まれる（ステップＳ２６）。入力データの書き込みは、トグル書き込みによって行われる。【００８０】
続いて、選択されたデータセル１７から再度にデータが読み出され、更にＥＣＣ回路３３によって誤り検出が行われる（ステップＳ２７）。誤りが発見されなかった場合（ステップＳ２８）、ライト動作は完了する。これは、本実施形態のＭＲＡＭが、元々、図１１の状態Ａにあり、データ書き込みによって正常な状態に復帰したことを意味している。【００８１】
一方、ステップＳ２８において誤りが検出された場合には、参照セル１８の訂正が行われる。ステップＳ２８において誤りが検出されるのは、ステップＳ２６のデータ書き込みによってＭＲＡＭが状態Ｃに遷移したことを意味しており、参照セル１８の訂正により、ＭＲＡＭは、状態Ａに遷移する。【００８２】
参照セル１８の訂正後、選択されたデータセル１７から再度にデータが読み出され、更にＥＣＣ回路３３によって誤り検出が行われる（ステップＳ３０）。参照セル１８の訂正によってＭＲＡＭは、状態Ａに遷移しているはずであるから、基本的には誤りが発見されるはずである。誤りが発見された場合（ステップＳ３１）、データセル１７への書き込みが再度に行われ（ステップＳ３２）、これにより、ＭＲＡＭは正常な状態に復帰する。何らかの原因で誤りが発見されなかった場合には、そのままライト動作が完了する。例えば、元々、データセル１７と参照セル１８との両方にデータ誤りがあった場合には、ステップＳ３０においてデータ誤りが発見されないことがある。【００８３】
以上に説明されているように、本実施形態のＭＲＡＭでは、書き込みエラーやソフトエラーの発生確率が、充分に抑制されているという条件の下、データセル１７及び参照セル１８のいずれにデータ誤りがあるかが不明であっても書き込みを正しく行うことができる。【００８４】
第２の実施形態：
第１の実施形態に係るＭＲＡＭの構成の一つの問題は、図１０から理解されるように、参照セル１８の誤り訂正及びデータセル１７の再訂正を行う間に、外部からのアクセスを拒否する必要があることである。これは、当該ＭＲＡＭの、他のメモリデバイスとの互換性を低下させるために好ましくない。例えば、当該ＭＲＡＭをＤＲＡＭ互換メモリとして動作させる場合には、ＤＲＡＭのリフレッシュタイミングで参照セル１８の訂正を行えばよい；この場合、ＤＲＡＭがリフレッシュ信号を出力することに対応して、当該ＭＲＡＭにビジー信号／ＢＹを出力させればよい。しかし、ＳＲＡＭの規格のように、外部アクセスを拒否する機能がメモリデバイスに与えられないような規格には、第１の実施形態に係るＭＲＡＭは対応できない。【００８５】
このような問題に対処するために、第２の実施形態に係るＭＲＡＭでは、ある参照セル１８の誤り訂正が、その参照セル１８を用いずにデータ読み出しが行われるデータセル１７のデータが外部に出力されるリードサイクルで行われる。これにより、外部から見ればアクセスが禁止されずに参照セル１８のデータ誤りを訂正することができる。以下、第２の実施形態に係るＭＲＡＭを詳細に説明する。【００８６】
図１３は、第２の実施形態に係るＭＲＡＭの構成を示すブロック図である。本実施形態では、各バンク１のメモリアレイ１１が複数のブロック１１１〜１１４に分割され、各ブロック１１１〜１１４に互いに独立にアクセスすることが可能であるように構成される。より具体的には、ブロック１１１〜１１４のそれぞれに、２列に配置された参照セル１８１〜１８４が設けられる；ブロック１１ｉのデータセル１７ｉの読み出しには、同一ブロック内の参照セル１８ｉが使用される。更に、バンク１１〜１ｎのそれぞれに、複数のカラムデコーダ１３１〜１３４、複数の書き込み回路１４１〜１４４、及び、複数のセンスアンプ１５１〜１５４が設けられる；ブロック１１ｉへのアクセスには、カラムデコーダ１３ｉ、書き込み回路１４ｉ、センスアンプ１５ｉ、及びデータバッファ／コンパレータ１６ｉが使用される。コントローラ２には一バンクあたりのブロックの数と同数のＥＣＣ回路３３１〜３３４が設けられる。ＥＣＣ回路３３１〜３３４は、それぞれ、ブロック１１１〜１１４の誤り訂正を行うために使用される。【００８７】
ある参照セル１８の誤り訂正を、その参照セル１８を用いずにデータ読み出しが行われるデータセル１７のデータ読み出しの間に行うために、本実施形態では、メモリアレイ１１に特別なアドレス割り当てが定義される。図１４は、本実施形態におけるメモリアレイ１１のアドレス配置を示す図である。連続する４つの列アドレスが、別々のブロック１１１〜１１４に割り当てられる。例えば、アドレスＡ０〜Ａ３は、それぞれ、ブロック１１１〜１１４に割り当てられる。アドレスＡ４〜Ａ７についても同様である。【００８８】
後述されるように、本実施形態のＭＲＡＭの読み出し動作は、４つの連続するアドレスから構成されるアドレスグループ毎に行われる。また、上述の連続するアドレスがバーストアドレスに対応し、一般的に知られているバースト動作として動作するものであっても構わない。【００８９】
図１５は、第２の実施形態に係るＭＲＡＭのリード動作の手順の例を示すタイミングチャートであり、具体的には、アドレスＡ１のデータの読み出しに使用される参照セル１８２にデータ誤りがある場合のアドレスＡ０〜Ａ３についてのバースト読み出し動作を示している。参照セル１８にデータ誤りがあるということは、当該ＭＲＡＭが初期的に図８の状態Ｂにあることを意味している。図１５において、Ｑ０〜Ｑ３は、それぞれ、アドレスＡ０〜Ａ３に対応する読み出しデータであることに留意されたい。【００９０】
チップイネーブル信号／ＣＥ１及びアウトプットイネーブル信号／ＯＥが活性化され、最初のリードサイクルが開始される。最初のリードサイクルでは、アドレスＡ０がアドレス入力に与えられる。続いて、センスイネーブルＳＥが活性化され、アドレスＡ０〜Ａ３のそれぞれに対応するデータセル１７からデータが読み出される。アドレスＡ０しかアドレス入力に与えられていなくても、同一のアドレスグループに属するアドレスＡ０〜Ａ３のデータが読み出されることに留意されたい。アドレスＡ０〜Ａ３がメモリアレイ１１の別々のブロックに割り当てられ、更に、各ブロックが独立にアクセス可能である図１３の構成によれば、アドレスＡ０〜Ａ３のデータを同時に読み出すことが可能である。これにより、センスアンプ１５１〜１５４は、それぞれ、データＱ０、Ｅ１、Ｑ２、Ｑ３を取得する。ここでＥ１は、アドレスＡ１に対応するデータセル１７２から読み出されたデータである。このリードサイクルで得られたデータＱ０、Ｅ１、Ｑ２、Ｑ３のうち、アドレスＡ０に対応するデータＱ０が外部に出力される。【００９１】
データセル１７からデータが読み出されると、ＥＣＣ回路３３１〜３３４は、読み出されたデータについて誤り検出を行う。アドレスＡ１から読み出されたデータＥ１に誤りがあることがＥＣＣ回路３３２によって検出され、アドレスＡ１に対応するデータセル１７２の誤り訂正が行われる。具体的には、内部ライトイネーブル信号ＩＷＥが活性化され、アドレスＡ１に対応するデータセル１７２のデータが訂正される（即ち、反転される）。既述のように、実際には参照セル１８２にデータ誤りがある場合であっても、データセル１７２のデータが訂正されることに留意されたい。本実施形態では、初期的に状態Ｂにあった当該ＭＲＡＭが状態Ｃに遷移することになる。【００９２】
次のリードサイクルでは、アドレスＡ１がアドレス入力に与えられる。センスイネーブル信号ＳＥが再度に活性化されると、センスイネーブル信号ＳＥの活性化に応答して、アドレスＡ０〜Ａ３に対応するデータセル１７からデータＱ０、Ｅ’１、Ｑ２、Ｑ３が取得される。図１５には、アドレスＡ０、Ａ１、Ａ２からもデータが同時に読み出される動作が図示されているが、特別な設計によってデータ誤りが検出されなかったアドレスＡ０、Ａ２、Ａ３からデータ読み出されないようにしてもよい。【００９３】
アドレスＡ１に対応するデータセル１７からデータが読み出されると、ＥＣＣ回路３３２は、読み出されたデータＥ’１について再度に誤り検出を行う。本実施形態では、元来参照セル１８２にデータ誤りがあるので、即ち、ＭＲＡＭが図８の状態Ｃに遷移している。このため、アドレスＡ１から読み出されたデータＥ’１には誤りが検出される。データ誤りを検出すると、ＥＣＣ回路３３２は、データＥ’１に対して誤り訂正を行い、正しいデータＱ１を算出する。算出された正しいデータＱ１が、外部に出力される。【００９４】
続いて内部ライトイネーブル信号ＩＷＥが活性化され、参照セル１８２のデータが訂正される。これにより、ＭＲＡＭは、状態Ａに遷移する。【００９５】
次のリードサイクルでは、アドレスＡ２がアドレス入力に与えられる。センスイネーブル信号ＳＥが再度に活性化されると、センスイネーブル信号ＳＥの活性化に応答して、アドレスＡ１に対応するデータセル１７からデータが再度に取得される。アドレスＡ０〜Ａ３に対応するデータセル１７からデータＱ０、Ｅ”１、Ｑ２、Ｑ３が取得される。このリードサイクルで得られたデータＱ０、Ｅ１、Ｑ２、Ｑ３のうち、アドレスＡ２に対応するデータＱ０が外部に出力される。【００９６】
アドレスＡ１に対応するデータセル１７からデータが読み出されると、ＥＣＣ回路３３２は、読み出されたデータＥ”１について再度に誤り検出を行う。データ誤りを検出すると、ＥＣＣ回路３３２は、データＥ”１に対して誤り訂正を行い、正しいデータＱ１をアドレスＡ１に対応するデータセル１７に書き込む。これにより、本実施形態のＭＲＡＭはデータセル１７の誤り訂正に成功し、正常な状態に復帰する。【００９７】
次のリードサイクルでは、アドレスＡ３がアドレス入力に与えられる。センスイネーブル信号ＳＥが再度に活性化されると、センスイネーブル信号ＳＥの活性化に応答して、アドレスＡ０〜Ａ３に対応するデータセル１７からデータＱ０〜Ｑ３が取得される。このリードサイクルで得られたデータＱ０〜Ｑ３のうち、アドレスＡ３に対応するデータＱ０が外部に出力される。【００９８】
このような手順によるリード動作では、読み出されたデータＱ０〜Ｑ３の出力後に、参照セル１８を訂正するための期間を用意する必要がない。したがって、外部からのアクセスを拒否するための信号を生成する必要がなくなり、ＭＲＡＭの他のメモリデバイスに対する互換性を有効に向上させることができる。【００９９】
第３の実施形態：
第３の実施形態では、第１の実施形態及び第２の実施形態とは異なる手順で、データセル１７及び参照セル１８のデータ誤りの訂正が行われる。【０１００】
図１６は、本発明の第３の実施形態に係るＭＲＡＭの構成を示すブロック図である。第３の実施形態のＭＲＡＭの構成は、図６に図示されている第１の実施形態のＭＲＡＭとほぼ同様の構成を有している；相違点は、誤りが検出されたリード動作において指定されていた参照セルアドレス（本実施形態では行アドレス）を保存する参照セルアドレスレジスタ（ＲＣＡレジスタ）３６が、ＥＣＣ回路３３に設けられていることである。本実施形態では、ＲＣＡレジスタ３６に保存された参照セルアドレスを用いて、データセル１７及び参照セル１８のデータ誤りが訂正される。【０１０１】
図１７は、本実施形態のＭＲＡＭの動作の概念を説明する図である。本実施形態のＭＲＡＭは、同一の参照セルを用いて行われる２回のリード動作においてデータ誤りが検出されたときに参照セルにデータ誤りがあると判断し、参照セルのデータ誤りを訂正する。より具体的には、あるリード動作においてデータ誤りが検出されると、まずはデータセル１７に対して誤り訂正を行う。この段階では、参照セル１８の訂正は行わず、その代わりに、そのリード動作において使用された参照セル１８のアドレス（参照セルアドレス）をＲＣＡレジスタ３６に登録する。【０１０２】
ＲＣＡレジスタ３６に登録された参照セルアドレスから、同一の参照セル１８を用いて行われた２回のリード動作においてデータ誤りが検出されたことを検知すると、本実施形態のＭＲＡＭは、参照セル１８の訂正を行う。これは、同一の参照セル１８を用いて行われた２回のリード動作の両方でデータ誤りが検出されることは、参照セル１８に誤りがある蓋然性が高いことを意味しているからである。参照セル１８の訂正の後、その参照セル１８を用いてリード動作が行われるデータセル１７のデータ訂正を行う。【０１０３】
図１８は、本実施形態のＭＲＡＭのリード動作の具体的な手順を示すフローチャートである。行アドレス及び列アドレスが指定されてリード動作が開始されると、当該リード動作に使用される参照セルアドレスがＲＣＡレジスタ３６に登録されているかが判断される（ステップＳ４１）；本実施形態では、参照セルアドレスは、行アドレスに一致する。【０１０４】
参照セルアドレスがＲＣＡレジスタに登録されていない場合には、データセル１７からデータが読み出され、更に、読み出されたデータに対して誤り検出が行われる（ステップＳ５０）。誤りが検出されなかった場合（ステップＳ５１）、読み出されたデータが外部に出力され、リード動作が完了する。ステップＳ５０において誤りが検出された場合、更に、ＥＣＣ回路３３により、誤り訂正が可能であるかが判断される（ステップＳ５１）。誤り訂正が不可能と判断されると、エラー信号が出力されてリード動作が中止される（ステップＳ５５）。誤り訂正が可能であると判断されると、誤りが訂正されたデータが外部に出力され、更に、データセル１７のデータが訂正される（ステップＳ５３）。更に、当該リード動作に使用された参照セルアドレスがＲＣＡレジスタ３６に登録される（ステップＳ５４）。【０１０５】
一方、参照セルアドレスがＲＣＡレジスタ３６に登録されている場合には、データセル１７からデータが読み出され、更に、読み出されたデータに対して誤り検出が行われる（ステップＳ４２）。誤りが検出されなかった場合（ステップＳ４３）、当該リード動作において使用された参照セルアドレスが、ＲＣＡレジスタ３６から消去される。これは、同一の参照セル１８を用いて行われた２回のリード動作の一方のみでデータ誤りが検出されることは、参照セル１８にデータ誤りがない蓋然性が高いからである。更に、読み出されたデータが外部に出力され、リード動作が完了する。【０１０６】
ステップＳ４２において誤りが検出された場合、更に、ＥＣＣ回路３３により、誤り訂正が可能であるかが判断される（ステップＳ４５）。誤り訂正が不可能と判断されると、エラー信号が出力されリード動作が中止される（ステップＳ５５）。【０１０７】
誤り訂正が可能であると判断されると、誤りが訂正されたデータが外部に出力される。更に、当該参照セルアドレスによって指定された参照セル１８のデータが訂正され（ステップＳ４６）、当該参照セルアドレスがＲＣＡレジスタ３６から消去される（ステップＳ４７）。更に、該参照セル１８を用いて読み出しが行われるデータセル１７からデータが読み出され、読み出されたデータに対して誤り検出が行われる（ステップＳ４８）。誤りが検出された場合には、データセル１７のデータが訂正され、リード動作が完了する。【０１０８】
このような動作によれば、データセル１７及び参照セル１８のいずれにデータ誤りがあるかが不明であっても、ＭＲＡＭを高い確率で正常な状態に復帰させることができる。
【図１】
2007046349.tif 000003
【図２】
2007046349.tif 000004
【図３】
2007046349.tif 000005
【図４】
2007046349.tif 000006
【図５】
2007046349.tif 000007
【図６】
2007046349.tif 000008
【図７Ａ】
2007046349.tif 000009
【図７Ｂ】
2007046349.tif 000010
【図８】
2007046349.tif 000011
【図９】
2007046349.tif 000012
【図１０】
2007046349.tif 000013
【図１１】
2007046349.tif 000014
【図１２】
2007046349.tif 000015
【図１３】
2007046349.tif 000016
【図１４】
2007046349.tif 000017
【図１５】
2007046349.tif 000018
【図１６】
2007046349.tif 000019
【図１７】
2007046349.tif 000020
【図１８】
2007046349.tif 000021
【手続補正書】
【提出日】平成20年5月9日(2008.5.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項４
【補正方法】変更
【補正の内容】
【請求項４】
第１〜第ｎデータセルと第１〜第ｎ参照セルとを備え（ｎは、３以上の整数）、且つ、トグル書き込みによってデータ書き込みが行われるＭＲＡＭの動作方法であって、
（Ａ−１）第１〜第ｎ参照セルを用いて生成される参照信号を用いて、それぞれ、第１〜第ｎデータセルから第１〜第ｎ読み出しデータを読み出すステップと、
（Ａ−２）前記第１乃至第ｎ読み出しデータの誤り検出を行うステップと、
（Ａ−３）第１リードサイクルにおいて、前記第１乃至第ｎ読み出しデータのうちの第１出力データを、誤り訂正を行った上で外部に出力するステップと、
（Ａ−４）前記第１リードサイクルにおいて、前記第１読み出しデータに誤りが検出された場合に前記第１データセルに記憶されているデータを訂正するステップと、
（Ｂ−１）前記第１リードサイクルの後の第２リードサイクルにおいて、前記第１乃至第ｎ読み出しデータのうちの第２出力データを、誤り訂正を行った上で外部に出力するステップと、
（Ｂ−２）前記（Ａ−２）ステップにおいて前記第１読み出しデータに誤りが検出された場合、前記第２リードサイクルにおいて前記第１データセルから第１再読み出しデータを読み出すステップと、
（Ｂ−３）前記第２リードサイクルにおいて、前記第１再読み出しデータの誤り検出を行うステップと、
（Ｂ−４）前記第１再読み出しデータに誤りが検出された場合に、前記第２リードサイクルにおいて前記第１参照セルに記憶されているデータを訂正するステップと、
（Ｃ−１）前記第２リードサイクルの後の第３リードサイクルにおいて、前記第１乃至第３読み出しデータのうちの第３出力データを、誤り訂正を行った上で外部に出力するステップと、
（Ｃ−２）前記（Ｂ−２）ステップにおいて前記第１再読み出しデータに誤りが検出された場合に、前記第３リードサイクルにおいて前記第１データセルから第２再読み出しデータを読み出すステップと、
（Ｃ−３）前記第３リードサイクルにおいて、前記第２再読み出しデータに対して誤り検出を行うステップと、
（Ｃ−４）前記第２再読み出しデータに誤りが検出された場合に、前記第３リードサイクルにおいて、前記第１データセルに記憶されているデータを再度に訂正するステップ
とを具備する
ＭＲＡＭの動作方法。
【国際調査報告】
2007046349.tif 000022
2007046349.tif 000023