(57)【要約】【課題】【解決手段】磁気ランダムアクセスメモリ（ＭＲＡＭ）素子アレイ等の磁気抵抗固体記憶素子（１００）における誤りを最小限にすることを可能にする例示的な実施形態を開示する。本開示の方法は、特定の磁化方向に留まる傾向を有することを特徴とする故障挙動を有する磁気抵抗固体記憶素子内のセルを識別し（５０１）、該識別されたセルの場所をマッピングし（５０３）、該マッピングされた場所におけるセルの故障挙動を補償する（５０５）、という各ステップを含む。システム及びコンピュータ読出可能媒体もまた提供される。【選択図】　図５
2004030884.tif 000002
【特許請求の範囲】
【請求項１】
複数のセル（１１６）を有する磁気抵抗固体記憶素子（１００）における誤りを最小限にするための方法であって、
前記素子内のセルのうち特定の磁化方向に留まる傾向を有することを特徴とする故障挙動を有するセルを識別し（５０１）、
前記識別されたセルの場所をマッピングし（５０３）、
該マッピングされた場所におけるセルの故障挙動を補償する（５０５）、
という各ステップを含む方法。
【請求項２】
前記識別ステップが、
前記素子内の前記セルのサブセットを画定し、
該サブセット内のセルを検査して、該サブセット内のセルのうち特定の磁化方向に留まる傾向を有することを特徴とする故障挙動を有するセルを識別し、
前記サブセット内の前記識別されたセルに基づいて、前記サブセットの外部に位置する前記素子内のセルが、特定の磁化方向に留まる傾向を有することを特徴とする故障挙動を有するか否かを予測する、
という各ステップを含む、請求項１に記載の方法。
【請求項３】
前記識別された各セルの前記傾向が平行な方向をとるか逆平行の方向をとるかを判定するステップを更に含む、請求項１に記載の方法。
【請求項４】
前記識別ステップが、
前記素子内のセルに磁界を加え、
該磁界が加えられた該素子内のセルの各々毎にＢＨ曲線を解析して、該ＢＨ曲線がオフセットされているセルを識別する、
という各ステップを含む、請求項１に記載の方法。
【請求項５】
前記識別ステップが、
前記サブセット内のセルに磁界を加え、
該磁界が加えられた該サブセット内の各セル毎にＢＨ曲線を解析して、該ＢＨ曲線がオフセットされているセルを識別し、
前記ＢＨ曲線がオフセットされていると識別された前記サブセット内の前記セルに基づいて、前記素子内のセルのうち前記サブセットの外部に位置するセルの前記故障挙動を予測する、
という各ステップを更に含む、請求項２に記載の方法。
【請求項６】
前記マッピングステップが、
平行な磁化方向をとる傾向を有するものと評価された前記セルを第１のグループに割り当て、
逆平行の磁化方向をとる傾向を有するものと評価された前記セルを第２のグループに割り当て、
前記第１のグループ内の各セルの場所を格納し、
前記第２のグループ内の各セルの場所を格納する、
という各ステップを含む、請求項３に記載の方法。
【請求項７】
複数のセル（１１６）を有する磁気抵抗固体記憶素子（１００）における誤りを最小限にするためのシステムであって、
メモリ要素（４１４）と、
前記素子内のセルのうち特定の磁化方向に留まる傾向を有することを特徴とする故障挙動を有するセルを識別し、該識別されたセルの場所をマッピングし、及び該マッピングされたセルの前記故障挙動を補償するよう構成された、処理要素（４１２）と
を含むシステム。
【請求項８】
前記処理要素が更に、前記識別されたセルの各々毎に該セルが平行な方向をとる傾向を有するか逆平行の方向をとる傾向を有するかを判定するよう構成される、請求項７に記載のシステム。
【請求項９】
前記処理要素が更に、平行な磁化方向をとる傾向を有する前記セルを第１のグループに割り当て、逆平行の磁化方向をとる傾向を有する前記セルを第２のグループに割り当て、及び前記第１のグループ内の各セルの場所と前記第２のグループ内の各セルの場所とを前記メモリ要素中にマッピングするよう構成される、請求項８に記載のシステム。
【請求項１０】
前記処理要素が更に、前記第１のグループ内の前記セルを使用して平行な磁化状態に対応するデータを格納し、及び前記第２のグループ内の前記セルを使用して逆平行の磁化状態に対応するデータを格納するように構成される、請求項９に記載のシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般に磁気抵抗固体記憶素子に関し、特に磁気抵抗固体記憶素子における誤りを最小限にすることに関する。
【０００２】
【従来の技術】
磁気ランダムアクセスメモリ（ＭＲＡＭ）素子といった一般的な磁気抵抗固体記憶素子は、記憶セルのアレイを含む。各セルは典型的には、誘電体層により分離された２つの磁気薄膜層から構成される。その一方の磁気薄膜層の磁化方向は可変であり、一方、他方の磁気薄膜層の磁化方向は、特定の方向に固定され又は「ピン留め」（ｐｉｎｎｅｄ）される。可変の磁化方向を有する磁気薄膜層は一般に「データ記憶層」と呼ばれ、固定された磁化方向を有する磁気薄膜層は一般に「基準層」と呼ばれる。
【０００３】
かかる記憶セルのアレイにわたり複数の導電性トレースが配線される。該導電性トレースは、一般に行及び列に配列される。記憶セルの行に沿って延びる導電性トレースは一般に「ワード線」と呼ばれ、記憶セルの列に沿って延びる導電性トレースは一般に「ビット線」と呼ばれる。該ワード線及びビット線は、一般に互いに垂直に向けられる。各記憶セルは、ワード線とビット線との各交点に配置され、１つの磁化方向として１ビットの情報を格納する。
【０００４】
一般に、データ記憶層内の磁化方向は、データ記憶層の軸（一般に磁化容易軸と呼ばれる）に沿って整列する。一般に、所望の論理状態に応じて、磁化容易軸に沿ったデータ記憶層内の磁化方向を基準層内の磁化方向に対して平行又は逆平行の何れかの方向に反転させるように、外部磁界がかけられる。
【０００５】
各記憶セルの磁化方向は、あらゆる所与の時点で２つの安定した方向のうちの一方を呈することになる。一般に、これらの２つの安定した方向、すなわち平行及び逆平行は「１」及び「０」の論理値をそれぞれ表すものとなる。代替的に、逆平行状態を論理「１」と解釈し、平行状態を論理「０」と解釈するようシステムを構成することも可能である。選択された記憶セルの磁化方向は、該選択された記憶セルの位置で交差するワード線とビット線とに電流を供給することにより変更する（すなわち、平行から逆平行に又はその逆にする）ことが可能である。該電流は磁界を生成し、該磁界が組み合わされて、選択された記憶セルの磁化方向を平行から逆平行に（又はその逆に）切り替えることが可能となる。
【０００６】
理想的には、ＭＲＡＭアレイの各セル内の磁界は、平行又は逆平行の何れかの方向に整列することになる。しかし、残念ながら、ＭＲＡＭアレイを形成するために用いられる磁性材料の不完全性に起因して、ＭＲＡＭアレイ内の各セルは完全には直角に配置されない場合がある。それ故、記憶セルのうちの幾つかの磁界が互いに整列しなくなる場合がある。かかるセルの磁界は、一般に、逆平行又は平行の何れかの方向に整列しやすい傾向を有するものとなり、その結果として、該セルにデータを書き込もうとする際に誤りが生じる可能性がある。状況によっては、特定のセル内の磁界が逆平行又は平行の何れかの方向に固定されてしまうことすらある。一方の方向を他の方向よりも好む傾向を有するセルは一般に、書き込みが行われる際にその方向を確実に切り替えないため、データに誤りが導入されることになる。例えば、ＭＲＡＭアレイ内に２進数００００を格納したいものと仮定する。しかし、２進数００００の各ビットがアレイ内の各セルに書き込まれ、それらのビットのうちの１つが、論理「１」に対応する磁化方向に留まる傾向を有するセルに書き込まれる場合には、書き込まれた数がアレイから読み出される際に、論理「１」に対応する磁化方向に留まる傾向を有するセルから「０」でなく「１」が読み出され（例えば、該アレイから読み出される数が００００ではなく００１０になる可能性があり）、このため、システム内に誤りが生じることになる。
【０００７】
【発明が解決しようとする課題】
それ故、本発明の目的は、ＭＲＡＭ素子における上記の欠陥及び欠点を解消させることにある。
【０００８】
【課題を解決するための手段】
本発明は、磁気ランダムアクセスメモリ（ＭＲＡＭ）素子アレイといった複数のセルを有する磁気抵抗固体記憶素子における誤りを最小限にすることを可能にする例示的な実施形態を提供する。本開示の方法は、特定の磁化方向に留まる傾向を有することを特徴とする故障挙動（ｆａｉｌｕｒｅ　ｍｏｄｅ）を有する磁気抵抗固体記憶素子内のセルを識別し、該識別されたセルの場所をマッピングし、該マッピングされた場所においてセルの故障挙動を補償する、という各ステップを含むことを特徴とするものである。
【０００９】
１つの例示的なシステムは、特定の磁化方向に留まる傾向を有することを特徴とする故障挙動を有する磁気抵抗固体記憶素子内のセルを識別するよう構成された検査要素と、メモリ要素と、前記識別されたセルの場所を前記メモリ要素内にマッピングして該マッピングされたセルの故障挙動を補償するよう構成された処理要素とを含む。
【００１０】
本発明の他の特徴及び利点は、以下の図面及び詳細な説明を検討することにより当業者には明らかとなろう。全てのかかる特徴及び利点は、特許請求の範囲により規定される本発明の範囲内に含めることが意図されたものである。
【００１１】
【発明の実施の形態】
特許請求の範囲で規定する本発明は、図面を参照して一層良好に理解することが可能である。同図面における各構成要素は必ずしも互いに対して縮尺が一定である訳ではなく、本発明の原理を明瞭に示すことに重きがおかれている。
【００１２】
本発明の以下に記載する詳細な説明では、その一部を形成し、一例として本発明が実施され得る特定の実施形態を示す、図面への参照がなされる。他の実施形態が用いられてもよく、本発明の範囲から逸脱することなく、構造的又は論理的な変更がなされ得ることを理解されたい。それ故、以下に記載される詳細な説明は、本発明を限定する意味に受け取られるべきではなく、本発明の範囲は、特許請求の範囲により規定される。例えば、以下の説明では、本発明を磁気ランダムアクセスメモリ（ＭＲＡＭ）アレイに適用されるものとして説明するが、本発明は一般に、ＭＲＡＭ、ＥＥＰＲＯＭ、フリップフロップ、シフトレジスタ等（但しこれらには限定されない）を含む、磁気抵抗記憶セルを記憶要素として用いる任意の素子に適用することが可能である。
【００１３】
ここで図面を参照する。同図では、類似する参照符号は幾つかの図面を通して対応する構成要素を示している。図１は、本発明の実施形態が動作することが可能な例示的な磁気抵抗固体記憶素子である磁気ランダムアクセスメモリ（ＭＲＡＭ）素子アレイを単純化して示す説明図である。同図は、制御回路１１８に接続された記憶セル１１６のアレイ１１０を含むＭＲＡＭ素子１００を単純化して示している。
【００１４】
典型的な実施形態では、ＭＲＡＭ素子１００は約１０２４×１０２４の記憶セルを含むが、それよりも遙かに少数の記憶セルを有する例を図示している。記憶セル１１６はそれぞれ制御線１１２，１１４の交点に形成される。この例では、制御線１１２は行をなすよう配列され、制御線１１４は列をなすよう配列されている。制御線１１２，１１４は典型的には直交するが、他の更に複雑な格子構造も実施可能である。好適には、行線１１２及び列線１１４は制御回路１１８に接続され、該制御回路１１８は複数の読み出し／書き込み制御回路を含むものとなる。実装形態に応じて、一列につき１つの読み出し／書き込み制御回路が設けられ、又は複数列間で読み出し／書き込み制御回路が多重化されもしくは共有される。
【００１５】
書き込み動作又は読み出し動作といった素子へのアクセス時には、図１に示すように、必要とされる１つ又は２つ以上の記憶セル１１６にアクセスするために、典型的には１つの行１１２と１つ又は２つ以上の列１１４とが制御回路１１８により選択される。しかし、アレイ１１０の方向に応じて、１つの列１１４と複数の行１１２とを制御回路１１８により選択することが可能である。図１に示す例示的な構成を参照すると、選択されたセル１１６、選択された行線１１２、及び選択された列線１１４はそれぞれ太線により表されている。典型的なＭＲＡＭ素子は、セル間の干渉を最小限にするために、選択された列線１１４間に最小距離ｍ（例えば６４セル）を必要とする。各アレイ１１０が、長さｌ（例えば１０２４記憶セル）の行を有する場合には、該アレイ１１０から一意にアドレス指定することが可能なｌ／ｍ＝１０２４／６４＝１６個までのセルに同時にアクセスすることが可能である。
【００１６】
各記憶セル１１６は、数値、好適には２進値（すなわち１又は０）を適当に表す１ビットのデータを格納する。好適には、各記憶セルは、平行及び逆平行として知られる２つの安定した磁化方向のうちの一方を呈する２つの薄膜を含むものとなる。該磁化方向は、記憶セルの抵抗値に影響を与えるものとなる。記憶セル１１６が逆平行状態にある場合に、その抵抗値はその最も高くなり、該記憶セル１１６が平行状態にある場合には、その抵抗値はその最も低くなる。好適には、高抵抗の逆平行状態が「０」論理状態を画定し、低抵抗値の平行状態が「１」論理状態を画定する（その逆も可能である）。磁気抵抗固体記憶素子の１つの典型的な実施形態では、各記憶セル１１６の抵抗値は、スピントンネル現象として知られる現象にしたがって決定され、該記憶セルは、磁気トンネル接合記憶セルと呼ばれる。記憶セルの状態は、センス電流（抵抗値に比例する）、又は既知のキャパシタンスを放電するための応答時間といった関連するパラメータを測定し、各記憶セル毎に１つ又は２つ以上のパラメータ値を取得することにより求められる。次いで、取得された１つ又は２つ以上のパラメータ値から論理値を導出することができる。ＭＲＡＭ素子の特性及び構成に応じて、読み出し動作は、複数ステップを含むことが可能であり、又は読み出し及び再書き込み動作の組み合わせを必要とすることが可能である。
【００１７】
図２は、図１のＭＲＡＭ素子１００を更に詳細に示したものである。複数の個々のアレイ１１０を含むマクロアレイ２００が形成され、その各アレイ１１０は、図１に関して上述したように形成される（単純化のため制御回路１１８を図２から省略した）。複数のアレイを利用することにより、アレイ内の個々のアレイ１１０をその製造又は制御が困難になるほど大きくすることなく、所望の全データ記憶容量を有するＭＲＡＭ素子を得ることが可能となる。単純化のため、図２はマクロアレイ２００の一部のみを示している。
【００１８】
素子の製造中に適当な基板上にアレイ１１０をレイアウトする際には、当業者であれば数多くの設計上の選択が可能であるが、とりわけ、各アレイのための基板面積を縮小させることが一般に望ましい。都合のよいことに、アレイ１１０を複数の層として製造できることがわかった。図２の例では、４つのアレイ１１０が積層化されて１つのスタック１１５が形成される。１４４Ｍｂ程度の記憶容量を有する一例の実際的な素子の場合には、１１５２個のアレイ１１０が、４つのスタック層を有する幅１６アレイ×高さ１８アレイのマクロアレイとして配列される。随意選択的に、ＭＲＡＭ素子は２つ以上のかかるマクロアレイを含むことが可能である。
【００１９】
図２に示すように、マクロアレイ２００に対するアクセスは、複数のアレイ１１０の各々における１つの行１１２を選択し及び該複数のアレイの各々から複数の列１１４を選択することで複数の記憶セル１１６（図１）を選択することにより、行うことが可能である。複数のアレイの各々におけるアクセスされるセルは、一単位のデータの小部分に対応する。アクセスされるセルが共に一つになって、一単位のデータ全体（例えば１セクタのデータ全体）又は一単位のデータの少なくとも大部分が提供される。複数のアレイの各々にほぼ同時にアクセスできることが有利であり、これは当業界では「マクロアレイのスライス・スルー（ａ　ｓｌｉｃｅ　ｔｈｒｏｕｇｈ　ｔｈｅｍａｃｒｏ−ａｒｒａｙ）」として知られている。スライス・スルーを用いることにより、読み出し動作又は書き込み動作に関する素子のアクセス速度が高められる。
【００２０】
図２に示すように、複数のアレイ１１０の各々において同じ行アドレス及び同じ列アドレスを選択するのが好適である。すなわち、一単位のデータは、複数のアレイ１１０の各々において同じ行及び列アドレスを用いて複数のアレイ１１０にわたって格納される。
【００２１】
また図２に示すように、アレイ１１０は典型的には積層化されてスタックが形成される。一度に各スタック内の１つのアレイにのみアクセスすることができる。それ故、１セクタ単位のデータを格納するために用いられる複数のアレイ１１０はそれぞれ異なるスタック内に存在する（すなわち選択された複数のアレイはその何れも同じスタック内には存在しない）のが好適である。また、全て同じ層内に存在するアレイを選択するのが好適である。理想的には、各スタックから１つずつアレイが選択され、該アレイの各々が各スタック内の同じ層内に存在する。図２に示す例では、各スタック内の最上位のアレイが選択されている。
【００２２】
最も好適には、マクロアレイ２００において利用可能なアレイの数が、その素子内に格納されることになる１セクタ単位のデータのサイズと一致することである。この場合には、１つのアレイ内で同時にアクセスできるセルの数が与えられた際に、素子の単一の層のアレイの全てのセルを使用して１セクタ単位を格納して、１セクタ単位のデータ全体を格納するように、アレイの総数を与えるのが好適である。別の実施形態では、１セクタ単位のデータの整数の分の一（例えば１セクタ単位の１／２又は１／３）に同時にアクセスするのが好適となる。
【００２３】
概ね信頼性は高いが、素子が記憶セル１１６にデータを確実に格納するための能力に影響を与える故障が生じ得ることが分かった。故障は、極めて望ましくなく、素子内の少なくとも幾つかの記憶セルに対して確実に書き込み又は読み出しを行うことができないことを意味する。故障による影響を受けるセルは、読み出し不能になって該セルから論理値を読み出すことができなくなり、又は信頼性がなくなって該セルから読み出される論理値が必ずしも該セルに書き込まれた値と同じでなくなる（例えば「１」を書き込んだのに「０」が読み出される）。素子の記憶容量及び信頼性が深刻な影響を受け、最悪の場合には素子全体が使用不能になる可能性がある。
【００２４】
故障のメカニズムは数多くの形をとり得るものである。本発明の一実施形態は、セルに異なる状態を書き込もうとしているにもかかわらず該セルが通常の動作時に平行又は逆平行の何れかの状態に留まる傾向を有する結果として生じる誤りを最小限にすることに向けられる。本書で用いるように、セルが特定の状態に留まる傾向は、セルの抵抗値がアレイ内の典型的なセルの抵抗値よりも極めて高いい状況又は極めて低い状況、並びにセルが特定の方向に固定される状況を含む。セルの抵抗値がアレイ内の典型的なセルの抵抗値よりも極めて極めて低い場合には（一般に「短絡ビット」と呼ばれる）、該セルは典型的には、セルを逆平行状態に反転させるために一般に必要とされる電圧よりも高いバイアス電圧において平行状態に留まることになる。また、セルの抵抗がアレイ内の典型的なセルの抵抗よりも極めて高い場合には（一般に「開放ビット」と呼ばれる）、該セルは典型的には、セルを逆平行状態に反転させるために一般に必要とされる電圧よりも高いバイアス電圧において平行状態に留まることになる。セルが平行方向又は逆平行方向の何れかに拘束される場合には、該セルは、バイアス電圧を増加させた場合であっても書き込み命令に応じてその方向を変更しなくなる。
【００２５】
本発明の一実施形態は、平行状態又は逆平行状態の何れかをとる傾向を有するセルを含むメモリセクションにデータを正しく読み書きすることを可能にする。ここで、ＭＲＡＭアレイ内のセルを検査して、そのセルのうちの何れが（もしあるなら）通常の動作時に平行状態又は逆平行状態の何れかに留まる傾向を有するかを判定するための例示的な方法を、図３を参照して説明する。素子は、該素子内の各セルの検査を介して、また代替的には、セルの行及び／又は列の検査を介して、検査することが可能である、ということに留意されたい。上述の複数の故障挙動のうちの幾つかの結果として、関連する複数グループのセルの故障が生じ得るので（例えば、短絡ビットは典型的には、同じ行及び同じ列に存在する全ての記憶セルに影響を与え、開放ビットは（必ずではないが）同じ行もしくは列又はその両者に存在する全ての記憶セルに影響を与える）、アレイ内の各セルが特定の状態をとる傾向は、そのセルの統計的に有意なサンプルが検査される限り、実際に各セルを個々に検査することなく予測することが可能である。
【００２６】
図３は、図１関して上述したアレイと類似したアレイ１１０の一部を概略的に示したものである。図３では、アレイ１１０は、検査セル１６０の行１２０を含む。好適には、検査セル１６０は、アレイの残りの部分の記憶セル１１６と同一に構成される。検査行１２０はあらゆる適当な場所（アレイ１１０の上部又は底部又は内部等）に設けることが可能である。典型的には、アレイ１１０の一行の記憶セル１１６が、検査行１２０として機能するよう選択される。検査行は、それ自体が故障のあるセルを含まず他の行内の故障のあるセルによる影響を受ける行となるよう適当に選択される。検査行は、好適には、素子の製造時に決定される。また必要であれば、検査行１２０は、場合に応じて選択し直し又は移動させることが可能である。
【００２７】
都合の良いことに、検査行１２０内の検査セル１６０の状態を調べることにより、アレイの他の部分の記憶セル１１６の状態を正確に予測することが可能であることが分かった。１つの例示として、図３は、アレイ１１０の一部を示しており、該部分でセル１６１に短絡ビット故障が生じる。図３の典型的なＭＲＡＭ素子内の故障の性質に起因して、短絡ビットセル１６１は、同じ行及び同じ列内に存在する全てのセル（検査行１２０内の検査セル１６０中の検査セル１６２を含む）に影響を与える。それ故、検査セル１６２は、短絡ビット故障が生じており、該故障が検査セル１６２が存在する列に影響を与えていることを示す。
【００２８】
読み出し動作中に、行線１１２と１つ又は２つ以上の列線１１４とが（例えば図１の制御回路１１８により）駆動されて、図３の太線で示すように、アレイ１１０内の一組の記憶セル１１６が選択される。短絡ビットセル１６１の影響を受けているセル１６３は、これら選択されたセルの中に存在する。検査セル１６２の状態を調べることにより、セル１６３が故障による影響を受けていることを予測することができる。次いで、該予測は、該選択されたセルに関する後続の読み出し動作ステージの改善を可能にする。
【００２９】
他の方式を用いて、アレイ内のセルのうちの何れが（もしあるなら）通常の動作時に平行又は逆平行の何れかの状態に留まる傾向を有するかを判定することも可能である。１つの単純な動作モードでは、検査セルを一回だけ検査して、故障（特に短絡ビット故障、開放ビット故障、又は「固定された」ビット）による影響を受けるアレイ１１０内の列１１４を判定する。
【００３０】
検査セル１６０の検査は、あらゆる適当な形態をとることが可能である。一実施形態では、各検査セル１６０に論理「１」といった既知の値が書き込まれる。次いで、該検査セル１６０から論理値を読み出すことにより該検査セル１６０が検査される。検査セルのうちの任意のセルが論理値「０」を示す場合には、検査セル１６０が存在する列１１４に影響を与える短絡ビット故障等の故障が生じているものと予測することができる。同様に、検査セルに「０」を書き込み「１」が読み出された場合には、開放ビット故障が示されることになる。随意選択的に、２つの検査行を設けることが可能であり、この場合には、第１の検査行は短絡ビット故障を示すよう構成され、第２の検査行は開放ビット故障を示すよう構成される。検査セルは、一回だけ書き込んで繰り返し読み出すことが可能であり、又はセルの保全性を維持するために、必要に応じて各読み出しの後に再び書き込むことが可能である。検査セル１６０の場所及び性質、並びに検査セル１６０の検査方法は、特定のＭＲＡＭ素子の特定の性質に合わせて容易に変更することが可能である。
【００３１】
検査セル１６０を使用してアレイ内のセルの故障挙動を予測することが可能であるが、代替的に、アレイ中の各セルを（例えばバーンイン中に）検査して各セルの故障挙動を判定することが可能である。例えば、平行状態が論理「１」を構成し、逆平行状態が論理「０」を構成するものと仮定する。一実施形態では、アレイ１１０内の各セルに論理「１」といった既知の値が書き込まれる。セルから論理「０」が読み出された場合には、該セルは逆平行状態をとる傾向を有するものとみなされる。同様に、セルに「０」を書き込み「０」が読み出された場合には、該セルが平行状態をとる傾向を有することが示されることになる。
【００３２】
各セルを検査することにより、又は統計的に有意な数の選択された検査セルを検査し、該選択された検査セルの検査結果に基づいて他のセルの傾向を予測することにより、特定の方向をとる傾向を有するセルが識別されると、該傾向を補償する態様でデータがセルに格納される。こうして、本発明は、かかるセルを回避するのではなく、その使用を可能にする。
【００３３】
本発明の実施形態は、ソフトウエア（例えばファームウエア）、ハードウエア、又はそれらの組み合わせで実施することが可能である。一例として、そのシステムは、パーソナルコンピュータ（ＰＣ；ＩＢＭ互換機、Ａｐｐｌｅ互換機その他）、ワークステーション、ミニコンピュータ、又はメインフレームコンピュータにおけるプロセッサといった専用又は汎用プロセッサにより実行される実行可能プログラム等のソフトウエアを含むコンピュータシステムにおいて実施することが可能である（但しこれらには限定されない）。本発明の実施形態を実施することができる汎用コンピュータの一例を図４に示す。図４では、コンピュータシステムは、符号４００で示されている。
【００３４】
一般的に、ハードウエア・アーキテクチャに関しては、図４に示すように、該コンピュータシステム４００は、図１に関して上述したように構成されるＭＲＡＭ素子１００を含み、該ＭＲＡＭ素子は、本発明の実施形態を実施することが望ましい典型的な磁気抵抗固体記憶素子である。該コンピュータシステム４００はまた、プロセッサ４１２と、メモリ４１４と、１つ又は２つ以上の入出力（Ｉ／Ｏ）装置４１６（又は周辺装置）を含み、それらは全て、ローカルインタフェイス４１８を介して通信可能となるよう接続される。該ローカルインタフェイス４１８は、例えば当業界で知られている１つ又は複数のバスその他の有線又は無線接続とすることが可能なものである（但しそれらには限定されない）。ローカルインタフェイス４１８は、単純化のため省略してあるが、コントローラ、バッファ（キャッシュ）、ドライバ、リピータ、及び受信機といった、通信を可能にするための更に別の装置を有することが可能である。更に、ローカルインタフェイスは、上記の構成要素間における適当な通信を可能にするためのアドレス接続、制御接続、及び／又はデータ接続を含むことが可能である。
【００３５】
プロセッサ４１２は、ソフトウエア（特にメモリ４１４に格納されたソフトウエア）を実行するためのハードウエア要素である。プロセッサ４１２は、あらゆる特注品又は市販品のプロセッサ、すなわち中央演算処理装置（ＣＰＵ）、コンピュータシステム４００に付随する幾つかのプロセッサの中の補助プロセッサ、半導体ベースの（マイクロチップ又はチップセットという形の）マイクロプロセッサ、マクロプロセッサ、又は一般にソフトウエア命令を実行するためのあらゆる素子とすることが可能なものである。適当な市販のマイクロプロセッサの例として、ヒューレット・パッカード社のＰＡ−ＲＩＳＣシリーズマイクロプロセッサ、インテル社の８０ｘ８６又はＰｅｎｔｉｕｍ（Ｒ）シリーズマイクロプロセッサ、ＩＢＭ社のＰｏｗｅｒＰＣマイクロプロセッサ、サンマイクロシステムズ社のＳｐａｒｃマイクロプロセッサ、又はモトローラ社の６８ｘｘｘシリーズマイクロプロセッサが挙げられる。
【００３６】
メモリ４１４は、揮発性メモリ要素（例えばランダムアクセスメモリ（ＤＲＡＭ、ＳＲＡＭ、ＳＤＲＡＭ等のＲＡＭ））又は不揮発性メモリ要素（例えば磁気ランダムアクセスメモリ（ＭＲＡＭ）、ＲＯＭ、ハードドライブ、テープ、ＣＤ−ＲＯＭ等）の何れか一方、又はそれらの組み合わせを含むことができる。ＭＲＡＭは不揮発性であるが、他のタイプのＲＡＭ（すなわち、ＤＲＡＭ、ＳＲＡＭ、ＳＤＲＡＭ等）は揮発性であることに留意されたい。このため、特定の応用形態では、揮発性ＲＡＭよりも不揮発性のＭＲＡＭを用いる方が有利となる。これは、ＭＲＡＭアレイにおける誤りを最小限にすることの必要性を更に強調している。ＭＲＡＭ素子１００は、メモリ４１４の外部に存在するものとして図示したが、代替的に、メモリ４１４の一部を構成することが可能である。
【００３７】
メモリ４１４はまた、電子的、磁気的、光学的、及び／又はその他のタイプの記憶媒体を含むことが可能である。メモリ４１４は、分散形アーキテクチャを有することができ、この場合には種々の構成要素が互いから離隔して配置されるが、プロセッサ４１２によりアクセスすることが可能である、という点に留意されたい。
【００３８】
メモリ４１４内のソフトウエアは、１つ又は２つ以上の別個のプログラムを含むことが可能であり、該プログラムの各々は、論理機能を実施するための実行可能命令を順に並べたリストを含むものとなる。図４の例では、メモリ４１４内のソフトウエアは、誤り最小化ロジック４１０及び適当なオペレーティングシステム（Ｏ／Ｓ）４２２を含む。市販の適当なオペレーティングシステム４２２の例として、（ａ）Ｍｉｃｏｓｏｆｔ社のＷｉｎｄｏｗｓオペレーティングシステム、（ｂ）Ｎｏｖｅｌｌ社のＮｅｔｗａｒｅオペレーティングシステム、（ｃ）Ａｐｐｌｅ　Ｃｏｍｐｕｔｅｒ社のＭａｃｉｎｔｏｓｈオペレーティングシステム、（ｄ）Ｈｅｗｌｅｔｔ−Ｐａｃｋａｒｄ社、Ｓｕｎ　Ｍｉｃｒｏｓｙｓｔｅｍｓ社、及びＡＴ＆Ｔ社といった数多くのベンダから購入できるＵＮＩＸオペレーティングシステム、（ｅ）インターネット上で容易に入手できるフリーウエアのＬＩＮＵＸオペレーティングシステム、（ｆ）ＷｉｎｄＲｉｖｅｒ　Ｓｙｓｔｅｍｓ社のランタイムＶｘｗｏｒｋｓオペレーティングシステム、又は（ｇ）ハンドヘルドコンピュータ又は個人情報端末（ＰＤＡ）に実装されるようなアプライアンス・ベースのオペレーティングシステム（例えば、Ｐａｌｍ　Ｃｏｍｐｕｔｉｎｇ社のＰａｌｍＯＳ、Ｍｉｃｒｏｓｏｆｔ社のＷｉｎｄｏｗｓ　ＣＥ）が挙げられる（但し、これらには限定されない）。オペレーティングシステム４２２は、基本的には、誤り最小化ロジック４１０といった他のコンピュータプログラムの実行を制御し、スケジューリング、入出力制御、ファイル及びデータ管理、メモリ管理、並びに通信制御及びそれに関連するサービスを提供する。
【００３９】
誤り最小化ロジック４１０は、ソースプログラム、実行可能プログラム（オブジェクトコード）、スクリプト、又は実行すべき一組の命令を含む他のあらゆるエンティティとすることが可能である。ソースプログラムの場合には、該ソースプログラムは典型的には、Ｏ／Ｓ４２２に関連して適当に動作するように、コンパイラ、アセンブラ、インタープリタ及びその類を介して翻訳されることになり、それらは、メモリ４１４内に含めることも含めないことも可能である。更に、誤り最小化ロジック４１０は、（ａ）データクラス及びメソッドを有するオブジェクト指向プログラミング言語として、又は（ｂ）ルーチン、サブルーチン、及び／又は関数を有するプロシージャプログラミング言語（例えば、Ｃ、Ｃ＋＋、Ｐａｓｃａｌ、Ｂａｓｉｃ、Ｆｏｒｔｒａｎ、Ｃｏｂｏｌ、Ｐｅｒｌ、Ｊａｖａ、及びＡｄａ）として書くことが可能である（但しこれらには限定されない）。
【００４０】
Ｉ／Ｏ装置４１６は、入力装置、例えば、キーボード、マウス、スキャナ、マイクロフォン等を含むことが可能である（但しこれらには限定されない）。更に、Ｉ／Ｏ装置４１６は、出力装置、例えば、プリンタ、ディスプレイ等を含むことが可能である（但しこれらには限定されない）。最後に、Ｉ／Ｏ装置４１６は更に、入力及び出力の両方と通信する装置、例えば、変調器／復調器（例えば、他の装置、システム、又はネットワークにアクセスするためのモデム）、無線周波数（ＲＦ）その他の送受信器、電話インタフェイス、ブリッジ、ルータ等を含むことが可能である。
【００４１】
コンピュータ４００がＰＣ、ワークステーション、及びその類である場合には、メモリ４１４内のソフトウエアは更に、ＢＩＯＳ（ｂａｓｉｃ　ｉｎｐｕｔ　ｏｕｔｐｕｔ　ｓｙｓｔｅｍ）（単純化のため省略する）を含む可能性がある。ＢＩＯＳは、始動時にハードウエアを初期化し及び検査し、Ｏ／Ｓ４２２を起動させ、ハードウエアデバイス間のデータ転送をサポートする、一組の基本的なソフトウエアルーチンである。ＢＩＯＳは、コンピュータ３００の起動時に実行できるようＲＯＭに格納される。
【００４２】
コンピュータ４００が動作中である場合に、プロセッサ４１２は、メモリ４１４内に格納されているソフトウエアを実行し、該メモリ４１４との間でデータをやりとりし、及び該ソフトウエアに応じてコンピュータ４００の動作を全般的に制御するよう構成される。誤り最小化ロジック４１０及びＯ／Ｓ４２２は、それらの全体又は一部（典型的には一部）が、プロセッサ４１２により読み出され、おそらくは該プロセッサ４１２内にバッファリングされ、次いで実行される。
【００４３】
図４に示すように、誤り最小化ロジック４１０がソフトウエアで実施される場合には、該誤り最小化ロジック４１０を、コンピュータによりデータを読み出すことが可能なあらゆる媒体（以下「コンピュータ読出可能媒体」と称す）上に格納して、該コンピュータに関連するシステム又は方法により使用し又はそれらに関連して使用することができるようにすることが可能である点に留意されたい。本書では、コンピュータ読出可能媒体は、コンピュータ関連システム又は方法により使用し又はそれらに関連して使用するためのコンピュータプログラムを収容し又は格納することができる電子的、磁気的、光学的、又はその他の物理的な装置又は手段とすることが可能なものである。誤り最小化ロジック４１０は、命令実行システム、装置、又はデバイス（例えば、コンピュータベースのシステム、プロセッサを含むシステム、又は命令実行システム、装置、又はデバイスからの命令をフェッチして該命令を実行することができる他のシステム）により使用し、又はそれらに関連して使用するためのあらゆるコンピュータ読出可能媒体で実施することが可能である。本書では、「コンピュータ読出可能媒体」は、命令実行システム、装置、又はデバイスにより使用し又はそれらに関連して使用するためのプログラムを格納し、通信し、伝達し、又は移送することができる、あらゆる手段とすることが可能である。コンピュータ読出可能媒体は、例えば、電子、磁気、光学、電磁気、赤外線、又は半導体を利用したシステム、装置、デバイス、又は伝達媒体とすることが可能である（但しこれらには限定されない）。コンピュータ読出可能媒体の更なる特定の例として、１つ又は２つ以上の配線を有する電気的接続（電子的な一例）、ポータブルコンピュータディスケット（磁気的な一例）、ランダムアクセスメモリ（ＲＡＭ）（電子的な一例）、リードオンリーメモリ（ＲＯＭ）（電子的な一例）、消去可能プログラマブルリードオンリーメモリ（ＥＰＲＯＭ、ＥＥＰＲＯＭ、又はフラッシュメモリ）（電子的な一例）、光ファイバ（光学的な一例）、及びポータブルコンパクトディスク・リードオンリーメモリ（ＣＤ−ＲＯＭ）（光学的な一例）が挙げられる（但しこれらには限定されない）。コンピュータ読出可能媒体は、プログラムが印刷された紙その他の適当な媒体とすることも可能である点に留意されたい。これは、プログラムを、例えば、紙その他の媒体の光学的な走査を介して電子的に捕捉し、次いで必要に応じて適当な態様でコンパイルし、解釈し、又はその他の処理を行って、コンピュータメモリに格納することができるからである。
【００４４】
システムがハードウエアで実施される代替的な実施形態では、誤り最小化ロジック４１０は、当業界で周知の技術、すなわち、複数のデータ信号に関して複数の論理機能を実施する複数の論理ゲートを有する離散的な論理回路（ｄｉｓｃｒｅｔｅ　ｌｏｇｉｃ　ｃｉｒｃｕｉｔ）、適当な組み合わせ論理ゲートを有する特定用途向け集積回路（ＡＳＩＣ）、プログラマブルゲートアレイ（ＰＧＡ）、及びフィールドプログラマブルゲートアレイ（ＦＰＧＡ）等の何れか又はそれらの組み合わせを使用して実施することが可能である。
【００４５】
図５は、ＭＲＡＭ素子１００等の磁気抵抗固体記憶素子にデータを格納する際の誤りを最小限にするために図４の誤り最小化ロジック４１０により実施することができる典型的な方法を示すフローチャートである。該フローチャートにおけるプロセスの記述又はブロックは、該プロセスにおける特定の論理機能又はステップを実施するための１つ又は２つ以上の実行可能命令を含むことが可能なコードのモジュール、セグメント、又は一部を表すものであることを理解されたい。また、関連する機能に応じて本書で説明し図示する順序とは異なる順序で（例えば、ほぼ同時に又は逆順で）機能が実行される代替的な実装形態もまた本発明の範囲内に含まれることが、当業者には理解されよう。
【００４６】
ブロック５０１では、誤り最小化ロジック４１０は、ＭＲＡＭ素子１００中の各セルのうち、１つの磁化方向（逆平行よりも平行又はその逆）を他の方向よりも好む傾向を有することを特徴とする故障挙動を有するセル、及び各セルに関する特定の故障挙動とを識別する。図５に示す実施形態では、故障挙動の判定は、誤り最小化ロジック４１０により行われる。
【００４７】
本発明は、アレイ内のセルのうち１つの磁化方向を他の方向よりも好む傾向を有するセルを識別するために使用される特定の方法に限定されるものではない。当業者に知られているあらゆる検査方法（図３に関して上述した典型的な検査方法を含む（但しこれには限定されない））を使用して、素子内のセルの傾向を判定することが可能である。別の考え得る検査方法として（当業者にとって既知であるように）、素子中のセルの幾つか又は全てについてＢＨ曲線を解析することが挙げられる。例えば、素子内の各セル（又は検査セット内の各セル）に磁界を加え、次いで、該素子（又は該素子のセルの検査用サブセット）内の各セル毎にＢＨ曲線のオフセットを解析することに基づいて、各セル毎の故障挙動の判定を行う（又は検査セットを用いる場合には予測する）ことができる。
【００４８】
ブロック５０１で故障挙動が判定されると、誤り最小化ロジックはブロック５０３に進む。ブロック５０３では、ブロック５０１で識別されたセルの場所が（例えば該場所をメモリ４１４に格納することにより）マッピングされる。ブロック５０１，５０３は、特定の磁化状態をとる傾向を有するＭＲＡＭ素子１００内の各セルの場所の識別及びマッピングが完了するまで繰り返される。
【００４９】
代替的な実施形態では（図示せず）、ブロック５０１，５０３で実行される機能をＭＲＡＭ素子１００のバーンインプロセスの一部として実行し、及び判定された故障挙動を有するセルの場所をメモリ４１４内に予めマッピングすることが可能である。
【００５０】
ここで図５の実施形態に戻る。各セルの場所についての特定の故障挙動が識別され（ブロック５０１）マッピングされる（ブロック５０３）と、ブロック５０５で、該マッピングされた各セルの特定の故障挙動を補償するように誤り最小化ロジック４１０が構成される。次いで、ブロック５０７で、該誤り最小化ロジック４１０を用いて、ブロック５０３でマッピングされた各場所に対する書き込み及び読み出し動作が制御され、これにより、それらの場所を使用すること及び該使用に関連する誤りを最小限にすることが可能となる。
【００５１】
誤り最小化ロジック４１０は、種々の方法でデータを符号化及び復号化して、特定のセルに関する故障挙動を補償することが可能である。例えば、一実施形態では、誤り最小化ロジック４１０は、論理「１」の方向をとる傾向を有するセルを専ら使用して、論理「１」に対応するデータビットを格納し、論理「０」の方向をとる傾向を有するセルを専ら使用して、論理「０」に対応するデータビットを格納することが可能である。
【００５２】
別の実施形態では、誤り最小化ロジック４１０は、論理「１」に対応するデータビットを、該ビットを論理「０」に反転させることにより符号化し、次いで、該反転されたビットを論理「０」の方向をとる傾向を有するセルに格納することが可能である。次いで、誤り最小化ロジック４１０は、該ビットをその復号化を行う際にその正しい論理状態に戻すことになる。
【００５３】
更に別の実施形態では、誤り最小化ロジック４１０は、他の状態よりも一方の論理状態をとる傾向を有するセルを補償するために素子（又は該素子の検査セット）内の各セルについてのＢＨ曲線のオフセットの解析を利用することが可能である。かかる解析に基づいて、誤り最小化ロジックは、特定のセルのＢＨ曲線のオフセットを補償するために、（例えばＢＨ曲線のオフセットを有するセルにおいて交差する特定のワード線及びビット線に加える電流を増大させることにより）該セルにデータを書き込むために加えられる磁界の強さを動的に変更することになる。
【００５４】
本発明の原理から実質的に逸脱することなく上述の本発明の好適な実施形態に対して数多くの変更及び変形がなされ得ることは当業者には明らかであろう。他の状態よりも一方の論理状態を好む、アレイ内の幾つかのセルの傾向を補償することに関する基本的な概念を利用するために、本発明の他の修正例及び変形例を実施することが可能である。全てのかかる変更及び変形を特許請求の範囲で規定する本発明の範囲内に含めることが意図されている。
【図面の簡単な説明】
【図１】本発明の実施形態が動作することが可能な典型的な磁気抵抗固体記憶素子である磁気ランダムアクセスメモリ（ＭＲＡＭ）素子アレイを単純化して示す説明図である。
【図２】図１のＭＲＡＭ素子アレイの一実施形態を詳細に示す説明図である。
【図３】図１のＭＲＡＭ素子アレイを示す別の説明図である。
【図４】本発明の一実施形態を実施するために用いることができるコンピュータシステムを単純化して示すブロック図である。
【図５】ＭＲＡＭ素子アレイ等の磁気抵抗固体記憶素子アレイにおける誤りを最小限にするために図４の誤り最小化ロジックにより実行される各ステップを示す例示的なフローチャートである。
【図１】
2004030884.tif 000003
【図２】
2004030884.tif 000004
【図３】
2004030884.tif 000005
【図４】
2004030884.tif 000006
【図５】
2004030884.tif 000007