IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ サンディスク テクノロジーズ インコーポレイテッドの特許一覧

特開2024-170280抵抗ランダムアクセスメモリの二段階読取りのための装置及び方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024170280
(43)【公開日】2024-12-06
(54)【発明の名称】抵抗ランダムアクセスメモリの二段階読取りのための装置及び方法
(51)【国際特許分類】
   G11C 11/16 20060101AFI20241129BHJP
   G11C 13/00 20060101ALI20241129BHJP
   H10B 61/00 20230101ALI20241129BHJP
   H10N 50/20 20230101ALI20241129BHJP
   H01L 29/82 20060101ALI20241129BHJP
【FI】
G11C11/16 230
G11C13/00 400Z
H10B61/00
H10N50/20
H01L29/82 Z
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024001914
(22)【出願日】2024-01-10
(31)【優先権主張番号】63/504,665
(32)【優先日】2023-05-26
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】18/355,368
(32)【優先日】2023-07-19
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】324010378
【氏名又は名称】サンディスク テクノロジーズ インコーポレイテッド
(74)【代理人】
【識別番号】100207837
【弁理士】
【氏名又は名称】小松原 寿美
(72)【発明者】
【氏名】デニス ボズダグ
(72)【発明者】
【氏名】ディミトリ フサメディン
(72)【発明者】
【氏名】ファン ピー.サエンス
(72)【発明者】
【氏名】マーク リン
【テーマコード(参考)】
4M119
5F092
【Fターム(参考)】
4M119AA05
4M119AA17
4M119BB01
4M119CC02
4M119CC05
4M119CC10
4M119DD06
4M119DD09
4M119DD17
4M119HH04
4M119HH20
4M119KK11
5F092AA03
5F092AA15
5F092AB06
5F092AC12
5F092AC26
5F092AD23
5F092AD24
5F092AD25
5F092BB73
5F092BC03
5F092BC04
5F092BC07
5F092DA03
(57)【要約】      (修正有)
【課題】メモリアレイ及び制御回路を含む装置を提供する。
【解決手段】メモリアレイは、各々が抵抗ランダムアクセスメモリ素子を含む不揮発性メモリセルを含む。制御回路は、不揮発性メモリセルの第1の組のアドレスを指定する読取り命令を受け取り、第1の所定の読取り基準値を使用して不揮発性メモリセルの第1の組の第1の読取りを実行して第1の読取りデータを供給し、第1の読取りを実行しながら、指定されたアドレスに対応する第2の所定の読取り基準値をメモリから取得し、第1の読取りデータに関して満たされる条件に応じて、第2の所定の読取り基準値を使用して不揮発性メモリセルの第1の組の第2の読取りを実行して第2の読取りデータを供給するように構成される。
【選択図】図6
【特許請求の範囲】
【請求項1】
各々が抵抗ランダムアクセスメモリ素子を備える複数の不揮発性メモリセルを備えるメモリアレイと、
制御回路とを備える装置であって、前記制御回路は、
前記不揮発性メモリセルの第1の組のアドレスを指定する読取り命令を受信し、
第1の所定の読取り基準値を使用して前記不揮発性メモリセルの前記第1の組の第1の読取りを実行して第1の読取りデータを供給し、
前記第1の読取りを実行している間に、前記指定されたアドレスに対応する第2の所定の読取り基準値をメモリから取得し、
前記第1の読み出しデータに関して満たされる条件に応じて、前記第2の所定の読取り基準値を使用して前記不揮発性メモリセルの前記第1の組の第2の読取りを実行して第2の読取りデータを供給するように構成されている、装置。
【請求項2】
前記第1の所定の読取り基準値は、複数の候補読取り基準値から選択される、請求項1に記載の装置。
【請求項3】
前記メモリアレイは、複数組の前記不揮発性メモリセルを含み、
前記第1の所定の読取り基準値は、複数の候補読取り基準値を用いて前記不揮発性メモリセルの全ての組を読み取った結果に基づいて選択される、請求項1記載の装置。
【請求項4】
前記第1の所定の読取り基準値は、
各候補読取り基準値について、前記不揮発性メモリセルの各組を読み取ることから生じるビット誤りの総数を決定し、
前記第1の所定の読取り基準値を、ビット誤りの総数が最も少ない前記候補読取り基準値に設定することによって選択される、請求項3に記載の装置。
【請求項5】
前記第2の所定の読取り基準値は、複数の候補読取り基準値から選択される、請求項1に記載の装置。
【請求項6】
前記メモリアレイは、複数組の前記不揮発性メモリセルを含み、
前記第2の所定の読取り基準値は、複数の候補読取り基準値を用いて前記不揮発性メモリセルの前記第1の組を読み取った結果に基づいて選択される、請求項1に記載の装置。
【請求項7】
前記第2の所定の読取り基準値は、
各候補読取り基準値について、前記不揮発性メモリセルの前記第1の組を読み取ることから生じるビット誤りの総数を決定し、
前記第2の所定の読取り基準値を、ビット誤りの総数が最も少ない前記候補読取り基準値に設定することによって選択される、請求項6に記載の装置。
【請求項8】
前記抵抗ランダムアクセスメモリ素子は、磁気抵抗ランダムアクセスメモリ素子を含む、請求項1に記載の装置。
【請求項9】
前記メモリアレイは、
複数の第1の導電線と、
複数の第2の導電線を備え、前記複数の不揮発性メモリセルの各々は、前記第1の導電線のうちの1つと前記第2の導電線のうちの1つとの間に接続される、請求項1に記載の装置。
【請求項10】
前記メモリは、アドレス及び対応する第2の所定の読取り基準値を記憶するように構成されたルックアップテーブルを備える、請求項1に記載の装置。
【請求項11】
前記メモリは、内容参照可能メモリを含む、請求項1に記載の装置。
【請求項12】
前記装置は、前記不揮発性メモリセルから読み出されたデータを復号するように構成されたデバイスを更に備え、
満たされている前記条件は、前記第1の読取りデータを正しく復号できないことを含む、請求項1に記載の装置。
【請求項13】
前記デバイスは、誤り訂正符号化エンジンを備える、請求項12に記載の装置。
【請求項14】
対応する第1の所定の読取り基準値を集合的に含み、それぞれが対応する第2の所定の読取り基準値を含む複数のコードワードを含むメモリアレイから第1のコードワードを読み出すための命令を受信することと、
前記第1の所定の読取り基準値を使用して前記第1のコードワードを読み取って第1の読取りデータを供給することと、
前記第1のコードワードを読み取る間に、ルックアップテーブルから前記第1のコードワードに対応する前記第2の所定の読取り基準値を取得することと、
誤り訂正符号アルゴリズムを使用して前記第1の読取りデータを復号することと、
前記誤り訂正符号アルゴリズムが前記第1の読取りデータを正しく復号できなかったと判定することと、
前記取得された第2の所定の読取り基準値を使用して前記第1のコードワードを読み取って第2の読取りデータを供給することと、を含む、方法。
【請求項15】
前記誤り訂正符号アルゴリズムを使用して前記第2の読取りデータを復号することと、
前記誤り訂正符号アルゴリズムが前記第2の読取りデータを正しく復号することができたと判定することと、を更に含む、請求項14に記載の方法。
【請求項16】
前記ルックアップテーブルは、内容参照可能メモリを含む、請求項14に記載の方法。
【請求項17】
前記ルックアップテーブルから前記第2の所定の読取り基準値を取得するのに必要な時間は、前記第1のコードワードの読取りを完了するのに必要な時間以下である、請求項14に記載の方法。
【請求項18】
前記メモリアレイは、各々が磁気抵抗ランダムアクセスメモリ素子を含む複数の不揮発性メモリセルを含む、請求項14に記載の方法。
【請求項19】
制御回路を備えるシステムであって、前記制御回路は、
複数組のメモリセルを含むメモリアレイ内の不揮発性メモリセルの第1の組を読み取るための命令を、ホストデバイスから受信し、
第1の所定の読取り基準値を使用して前記不揮発性メモリセルの第1の組の第1の読取りを実行し、
ルックアップテーブルから第2の所定の読取り基準値を取得し、
前記第1の読取り中に読み出されたデータが正しく復号できなかった場合にのみ、前記第2の所定の読取り基準値を使用して前記不揮発性メモリセルの第1の組の第2の読取りを選択的に実行するように構成され、
前記取得ステップは、前記第1の読取りステップと並行して実行され、
前記第1の所定の読取り基準値は、前記メモリセルの全ての組にわたって不良ビットカウントを最小にし、
前記第2の所定の読取り基準値は、前記メモリセルの第1の組の不良ビットカウントを最小化する、システム。
【請求項20】
前記不揮発性メモリセルの各々は、磁気抵抗ランダムアクセスメモリ素子を含む、請求項19に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
(優先権の主張)
本出願は、2023年5月26日に出願され「APPARATUS AND METHOD FOR TWO-STEP READ OF RESISTIVE RANDOM ACCESS MEMORY」と題された米国仮特許出願第63/504,665号の優先権を主張するものであり、参照によりその全体が本明細書に組み込まれる。
【背景技術】
【0002】
メモリは、携帯電話、デジタルカメラ、個人情報端末、医療用電子機器、モバイルコンピューティングデバイス、非モバイルコンピューティングデバイス、及びデータサーバなどの様々な電子デバイスに広く使用されている。メモリは、不揮発性メモリ又は揮発性メモリを含み得る。不揮発性メモリによって、不揮発性メモリが電源(例えば、電池)に接続されていなくても、情報を記憶及び保持することができる。
【0003】
不揮発性メモリの一例として、磁気抵抗ランダムアクセスメモリ(Magnetoresistive Random Access Memory、MRAM)が挙げられる。このメモリは、電子電荷を利用してデータを記憶する他のメモリ技術とは対照的に、磁化を利用して記憶データを表す。一般的に、MRAMは半導体基板上に形成された数多くの磁気メモリセルを含み、半導体基板では各メモリセルが1ビットのデータを表す。1ビットのデータは、メモリセル内の磁気素子の磁化方向を変化させることによってメモリセルに書き込まれ、ビットは、メモリセルの抵抗を測定することによって読み出される(低抵抗は、典型的には「0」ビットを表し、高抵抗は、典型的には「1」ビットを表す)。本明細書で使用される場合、磁化の方向は、磁気モーメントの配向の方向である。
【0004】
MRAMは有望な技術であるが、多くの課題が残っている。
【図面の簡単な説明】
【0005】
同様に番号付けされた要素は、異なる図で共通の構成要素を指す。
図1A】MRAMメモリセルのブロック図である。
図1B】MRAMメモリセルのブロック図である。
図1C】MRAMメモリセルのブロック図である。
図1D】MRAMメモリセルのブロック図である。
図1E】MRAMメモリセルのブロック図である。
図2A】MRAMメモリセルの例示的な電流対電圧特性を示す。
図2B】メモリセルの組における例示的な逆並列抵抗値及び並列抵抗値を示す図である。
図2C】メモリアレイ内の多数のメモリセルについて、ビット誤り率対読取り基準に関するグラフを示す。
図3A】コードワード群の個々の読取り基準値のルックアップテーブルを作成するプロセスについて、一実施形態を示すフローチャートである。
図3B】コードワード群の個々の読取り基準値のルックアップテーブルを作成する代替プロセスについて、実施形態を示すフローチャートである。
図4A】例示的なコードワード及び例示的な候補読取り基準値の不良ビットカウントを示す表である。
図4B図4Aの表について例示的な数値の不良ビットカウント値を示す。
図4C図4Bの例示的なデータ及び2ビットの所望の最大不良ビットカウントを使用して、図3Aのプロセスを使用して作成されたエントリを含む例示的なルックアップテーブルを示す。
図4D図4Bの例示的なデータ及び5ビットの所望の最大不良ビットカウントを使用して、図3Aのプロセスを使用して作成されたエントリを含む例示的なルックアップテーブルを示す。
図5】コードワードを読み取るプロセスの一実施形態を示すフローチャートである。
図6】コードワードを読み取る別のプロセスの一実施形態を示すフローチャートである。
図7】本明細書に記載の技術を利用するメモリシステムのブロック図である。
【発明を実施するための形態】
【0006】
MRAMセルなどの抵抗ランダムアクセスメモリセルの高速二段階読取りの技術について述べる。一実施形態において、コードワードはメモリセルの組から二段階読取りプロセスを使用して読み出される。本明細書で使用される場合、「コードワード」は、所定数のビットのデータ(例えば、16ビット、64ビット、1024ビット等)を含む。一実施形態において、コードワードは、(典型的にはオンダイの)誤り訂正符号化(Error Correction Coding、ECC)エンジンによって符号化及び復号され得る多くのビットを含む。一実施形態において、メモリアレイは複数のコードワードを含み、各コードワードは関連付けられたアドレスを有する。
【0007】
一実施形態において、コードワード内の各ビットについて第1の状態(例えば、0)と第2の状態(例えば、1)とを区別するために使用される第1の所定の読取り基準値を使用して、コードワードの第1の読取りが実行される。本明細書で使用される場合、第1の所定の読取り基準値は、「グローバル読取り基準値」とも呼ばれる。
【0008】
一実施形態において、グローバル読取り基準値は、メモリアレイの全てのコードワードを読み取るために選択される。一実施形態において、グローバル読取り基準値は、ウェハソート中に決定されてもよく、メモリアレイの全てのコードワードに対してビット誤りの数が最も少なくなる値を有する。
【0009】
一実施形態において、コンパクトな高速メモリ(例えば、内容参照可能メモリ)は、コードワードアドレスの表(例えば、ルックアップテーブル)及び対応する第2の読取り基準値を記憶する。本明細書で使用される場合、第2の所定の読取り基準値は、「個別読取り基準値」とも呼ばれる。
【0010】
一実施形態において、個々の読取り基準値は、メモリアレイの対応するコードワードを読み取るために選択される。一実施形態において、個々の読取り基準値はウェハソート中に決定されてもよく、対応するコードワードに対してビット誤りの数が最も少なくなる値を有する。
【0011】
一実施形態において、コードワードの第1の読取りがグローバル読取り基準値を使用して実行される間に、ルックアップテーブルを検索してコードワードアドレスのエントリの有無を判定する。そのようなエントリが存在する場合、コードワードアドレスに対応する個々の読取り基準値をルックアップテーブルから取得する。
【0012】
一実施形態において、第1の読取りが失敗した場合(例えば、ECCエンジンが読取りビットを正常に復号することができない場合)、及びルックアップテーブルがコードワードアドレスのエントリを含む場合、コードワードの第2の読取りが、対応する個々の読取り基準値を使用して実行される。しかしながら、一実施形態において、ルックアップテーブルがコードワードアドレスのエントリを含まない場合、メモリコントローラは、(例えば、指定されたコードワードを読み取るために自己参照読取り技術を利用して)さらなる読取り失敗処理を実行し得る。
【0013】
特定の理論に拘束されることは望ましくないが、以下に記載する二段階読取り技術は、複数の書込み動作を必要とし書込み誤りを増加させて耐久性を低下させ得る自己参照読取りを実行する必要がなく、より多くのビットを読み出し得ると考えられる。この点に関して、いかなる特定の理論に拘束されることなく、以下に記載する二段階読取り技術は読取りの信頼性を改善し得ると考えられる。
【0014】
特定の理論に拘束されることは望ましくないが、以下に記載する二段階読取り技術は、高速ルックアップメモリを使用し第1の読取り動作中に個々の読取り基準値を取得することによって、待ち時間を最小限に抑えることができると考えられる。この点に関して、いかなる特定の理論にも拘束されることなく、第1の読取りが失敗した場合に第2の読取りを非常に迅速に開始することができ、したがって非常に高速であり得ると考えられる。
【0015】
図1Aは、電界誘起スイッチングを使用する従来のMRAMメモリセル10の概略斜視図である。通常、メモリセル10は、上部強磁性層14、下部強磁性層16、及びそれら2つの強磁性層の間の絶縁層であるトンネルバリア(TB)18を含む磁気トンネル接合(Magnetic Tunnel Junction、MTJ)12を備える。この例では、上部強磁性層14は自由層(Free Layer、FL)であり、その磁化方向は切り替え可能である。下部強磁性層16は、磁化方向が変化しないピン止め(固定)層(Pinned Layer、PL)である。
【0016】
自由層14内の磁化方向がピン止め層16の方向に平行であるとき、MRAMメモリセル10の両端間抵抗(R)(本明細書では「並列抵抗R」と呼ぶ)は、少数電子のスピン依存散乱に少なくとも部分的に起因して比較的低い。自由層14内の磁化方向がピン止め層16の方向に対して逆平行であるとき、MRAMメモリセル10の両端間抵抗(RAP)(本明細書では「逆並列抵抗RAP」と呼ぶ)は、少数電子及び多数電子のスピン依存散乱に少なくとも部分的に起因して比較的高い。MRAMメモリセル10のメモリ状態(「0」又は「1」)は、MRAMメモリセル10の抵抗を測定することによって読み取られる。その際、MRAMメモリセル10に取り付けられた導電体20/22を利用してMRAMデータを読み取る。
【0017】
自由層14内の磁化方向は、ディジット線26内を流れる電流24に応じて変化し、書込み線20内を流れる電流28に応じて変化し、それぞれ磁界30及び32を生成する。図1Aは、ディジット線26の電流24がページの外に流れ、書込み線20の電流28が左から右に流れる状況を示す。その結果、磁界30及び32は直交し、自由層14の磁化方向をピン止め層16の磁化方向に対して平行から逆平行に切り替える。ビットの向きは、ディジット線26内の電流24の極性を一定に保ちながら、書込み線20の電流28の極性を反転することによって切り替えられる。
【0018】
図1AのMRAMメモリセル10の上述の電界誘起スイッチング技術は、特にMRAMメモリセルをより小さい寸法に縮小することを設計が求める場合に、いくつかの実用上の制限を有する。例えば、この技術は2組の磁界書込み線を必要とするので、MRAMメモリセルのアレイはビット妨害を受けやすい(すなわち、任意のセルに向けられた書込み電流に応じて、隣接するセルが意図せず変更される可能性がある)。
【0019】
更に、MRAMメモリセルの物理的サイズを小さくすると、熱変動による磁化スイッチングに対する磁気安定性が低下する。ビットの安定性は、大きな磁気異方性及びそれによる大きなスイッチング磁界によって磁性材料を自由層に利用することによって高めることができるが、ビットをスイッチングするのに十分強い磁界を発生させるのに必要な電流は、既存の用途では実用的ではない。
【0020】
スピントランスファートルク(Spin Transfer Torque、STT)スイッチングは、MRAMメモリセルをプログラムするための別の技術である。図1Bは、上部強磁性層54と、下部強磁性層56と、2つの強磁性層間の絶縁層であるトンネルバリア58とを含む磁気トンネル接合52を含むMRAMメモリセル50のためのSTTスイッチング技術の概略図である。この例では、下部強磁性層56は自由層(free layer、FL)であり、自由層の磁化方向は切り替え可能である。上部強磁性層54はピン止め(固定)層であり、その磁化方向は容易に変更できない。
【0021】
自由層56内の磁化方向がピン止め層54の方向に対して平行であるとき、MRAMメモリセル50の両端間抵抗Rは比較的低い。自由層56の磁化方向がピン層54の磁化方向に対して逆平行であるとき、MRAMメモリセル50の両端間逆並列抵抗RAPは比較的高い。MRAMメモリセル50のメモリ状態(「0」又は「1」)は、MRAMメモリセル50の抵抗を測定することによって読み取られる。その際、MRAMメモリセル50に取り付けられた導電体60/62を利用してMRAMデータを読み取る。設計によって、平行及び逆平行の構成は両方とも、静穏状態及び/又は読取り動作中において(十分に低い読取り電流で)安定状態を保つ。
【0022】
残りの本文及び図において、書込み電流の方向は、電子流の方向として定義される。したがって、書込み電流という用語は、電子電流を指す。
【0023】
MRAMメモリセルビット値を「設定する」(すなわち、自由層の磁化方向を選択する)ために、電気書込み電流64が導体60から導体62に印加される。ピン止め層54が強磁性金属であるため、書込み電流64内の電子はピン止め層54を通過する際にスピン偏極される。強磁性金属内の伝導電子が磁化方向と同一直線上のスピン配向を有するが、これらの伝導電子の相当の大部分が、磁化方向に平行である特定の配向を有し、正味のスピン偏極電流を発生させる。(電子スピンは角運動量を指し、電子の磁気モーメントに正比例するが、逆並行である。ただし、説明を容易にするためにこの方向の区別を使用して進めることはしない。)
【0024】
スピン偏極電子がトンネルバリア58を通過する際、角運動量の保存によって結果的に自由層56及びピン止め層54の両方にトルクを与えることができるが、このトルクはピン止め層54の磁化方向に影響を及ぼすには(設計によって)不適切である。対照的に、自由層56の初期磁化方向がピン止め層54に対して逆平行である場合、自由層56の磁化方向をピン止め層54の磁化方向に対して平行になるように切り替えるには、このトルクは(設計によって)十分である。次いで、平行である磁化は、このような書込み電流がオフになる前後では安定した状態を維持している。
【0025】
対照的に、自由層56の磁化及びピン止め層54の磁化が初期に平行である場合、前述の場合とは反対方向の書込み電流の印加によって、自由層56の磁化方向はピン止め層54に対して逆平行になるようにSTT切り替えされ得る。したがって、同じSTT物理特性を前提として、書込み電流方向(極性)の適切な選択によって、自由層56の磁化方向を2つの安定した配向のうちのいずれかに確定的に設定することができる。
【0026】
図1BのMRAMメモリセル50には、ピン止め層の磁化及び自由層の磁化の両方が面内方向となる材料を使用する。対照的に、図1Cは、ピン止め層の磁化及び自由層の磁化の両方が垂直方向にあるSTT切り替えMRAMメモリセル70の概略図を示す。メモリセル70は、上部強磁性層74、下部強磁性層76、及びそれら2つの強磁性層の間の絶縁層であるトンネルバリア78を含む磁気トンネル接合72を備える。この例では、下部強磁性層76は自由層であり、その磁化方向は切り替え可能である。上部強磁性層74は、ピン止め(又は固定)層であり、容易に変化しない磁化方向を有する。
【0027】
自由層76内の磁化方向がピン止め層74の磁化方向と平行であるとき、MRAMメモリセル70の両端間抵抗Rは比較的低い。自由層76の磁化方向がピン止め層74の磁化方向に対して逆平行であるとき、MRAMメモリセル70の両端間逆並列抵抗RAPは比較的高い。MRAMメモリセル70のメモリ状態(「0」又は「1」)は、MRAMメモリセル70の抵抗を測定することによって読み取られる。その際、MRAMメモリセル70に取り付けられた導電体80/82を利用してMRAMデータを読み取る。設計によって、平行及び逆平行の構成は両方とも、静穏状態及び/又は読取り動作中において(十分に低い読取り電流で)安定状態を保つ。MRAMメモリセルビット値を「設定する」(すなわち、自由層の磁化方向を選択する)ために、電気書込み電流84が導体80から導体82に印加され、MRAMメモリセル70は図1Bに関連して上述したように動作する。
【0028】
MRAMセルに近接する電流キャリア導体からの電界を使用した最初のMRAMメモリセルと比較すると、STT切り替え技術は、相対的に低い電力を必要とし、隣接するビットの乱れという問題を実質的に排除し、より高いセル密度(MRAMメモリセルサイズの縮小)のためのより適切なスケーリングを有する。後者の課題によってまた、自由層の磁化及びピン止め層の磁化が平面内ではなく膜面に対して垂直に配向されているSTT MRAMが有利である。しかしながら、実際STTスイッチングには完全な書込み電流がトンネルバリアを流れることが必要であり、トンネルバリア両端間の中程度から高い書込み電圧の必要な応力に起因して、STT MRAMメモリセルの長期信頼性に悪影響を及ぼす。
【0029】
図1Dは、スピン流を利用して自由層を切り替えるスピン軌道トルク(Spin Orbit Torque、SOT)を利用する、代替的なMRAMメモリセル100を示す。電子のスピンは、電子の軌道運動による角運動量とは別の固有の角運動量である。固体では、多くの電子のスピンが共に作用して材料の磁気特性及び電子特性に影響を与えることが可能であり、例えば、強磁性体のように永久磁気モーメントを材料に与えることができる。
【0030】
多くの材料では、電子スピンは上方向と下方向の両方に等しく存在し、輸送量はスピンに依存しない。しかし、スピン偏極した電子群を生成するために様々な技術を使用できるため、その結果、スピンアップ電子又はスピンダウン電子が過剰になり、材料の特性が変化する。共通の材料を通って共通の方向に移動する電子のスピン偏極群は、スピン電流と呼ばれる。本明細書で説明するように、スピン電流を使用してMRAMメモリセルを動作させることができる。
【0031】
一般的に、スピンホール効果(Spin Hall Effect、SHE)は、縦(面内)方向に電荷電流を印加するときに横(面に垂直)方向に流れるスピン電流を生成するために使用され得る。このようなスピンホール効果によるスピン電流のスピン偏極方向は、電荷電流の流れに直交する面内方向である。MRAMメモリセル100は、3つの端子A、B及びCと、磁気トンネル接合102と、SHE材料120とを含む。
【0032】
一実装形態において、磁気トンネル接合102は、自由層と、トンネルバリアと、ピン止め層とを含む。別の実装形態において、磁気トンネル接合102は、ピン止め層106、層間結合(Inter-Layer Coupling、ILC)層108、基準層(Reference Layer、RL)110、トンネルバリア112、及び自由層114を含む。層間結合層108は、ピン止め層106と基準層110との間の強い反強磁性(すなわち、逆平行)結合を促進し、その結果、これらの層の正味磁気モーメントがほぼ相殺されるため、自由層上の望ましくない漂遊磁界が大幅に低減される。スピンホール効果層104は、強いSHEを有する白金、タンタル又はタングステンなどの重金属を含む。自由層114の磁化の方向は、上向きと下向きとの間で切り替えられる。
【0033】
スピンホール効果を利用するSOTスイッチング設計の利点は、書込み電流116がスピンホール効果層104のみを通過し、トンネルバリア112を流れないことである。よって、MRAMメモリセルの従来のSTTスイッチング設計におけるスイッチング電流による、トンネルバリア112の上述の長期劣化が排除される。
【0034】
図1Eは、磁気異方性(VCMA)MRAMメモリセル120の電圧制御の概略図を示す。VCMAメモリセル120は、図1CのSTTスイッチングMRAMメモリセル70と同様の構造ではあるが、いくつかの違いがある。MRAMメモリセル120は、上部強磁性層124、下部強磁性層126、スペーサ層(Spacer、SP)128、トンネルバリア138、及び基準層140を含む磁気トンネル接合122を備える。上部強磁性層124はバイアス層124とも呼ばれ、下部強磁性層126は自由層126とも呼ばれる。
【0035】
自由層126内の磁化が基準層140の磁化に対して平行である場合、MRAMメモリセル120の両端間抵抗Rは相対的に低い。自由層126内の磁化が基準層140の磁化に対して逆平行である場合、MRAMメモリセル120の両端間抵抗RAPは相対的に高い。MRAMメモリセル120のメモリ状態(「0」又は「1」)は、MRAMメモリセル120の抵抗を測定することによって読み取られる。その際、MRAMメモリセル120に取り付けられた導電体142/144を利用してMRAMデータを読み取る。読取りプロセスは、読取り極性が書込み極性と反対になるように選択されることを除いて、図1CのMRAMメモリセル70の読取りプロセスと同じである。
【0036】
一実施形態において、MRAMメモリセル120の書込みプロセスは以下の通りである。(1)MRAMメモリセル120がその状態を決定するために読み出され、(2)MRAMメモリセル120が所望の書込み状態にある場合、書込みプロセスが終了され、(3)そうでない場合、書込み電圧が、自由層の磁気異方性をほぼ0に低減する極性でMRAMメモリセル120に印加され(自由層は、書込み電圧が印加される間、磁気バイアス層124によって画定される磁場方向の周囲で歳差運動する)、(4)書込み電圧は、歳差運動サイクルの半分後に除去され、(5)状態が正しく書き込まれるか、又は書込みプロセスがタイムアウトするまで、ステップ1~4が繰り返される。
【0037】
実施形態において、自由層126、スペーサ層128、及びトンネルバリア130の材料及び界面は、FL126に大きなVCMA係数を設けて印加電圧に伴う自由層の磁気異方性の変化を最大化するように選択される。これにはトンネルバリア130の抵抗を増加させる材料の使用が必要となる可能性がある。確実なスイッチングを実現するために、通常自由層126は小さな非ゼロの面内バイアス磁界を必要とする。一実施形態において、バイアス磁界はバイアス層124によって生成される。あるいは、面内磁界は、MRAMメモリセル120の外部にある磁石によって、又はメモリセルに近いワイヤに電流を流すことによって生成されるエルステッド磁界によって供給することができる。
【0038】
図2Aは、図1A図1DそれぞれのMRAMメモリセル10、50、70、及び100等のMRAMメモリセルの例示的な電流対電圧特性を示す。簡潔にするために、図2Aの説明は図1BのMRAMメモリセル50を参照する。一実施形態において、MRAMメモリセル50は、「平行状態」(P)(図2Aにおいて実線で示される)と「逆平行状態」(AP)(図2Aにおいて破線で示される)との間で可逆的に切り替えられ得る。平行状態Pでは、自由層56の磁化方向はピン止め層54の磁化方向に対して平行である。逆平行状態APでは、自由層56の磁化方向は、ピン止め層54の磁化方向に対して逆平行である。
【0039】
MRAMメモリセル50が最初に逆平行状態APにあり、電子書込み電流64が導体60から導体62に印加される場合、MRAMメモリセル50は平行状態Pに切り替わる。図2Aに示される実施形態では、MRAMメモリセル50は、導体62と導体60との間の約1.12Vの書込み電圧VAP-Pにおいて、逆平行状態APから平行状態Pに切り替わる。
【0040】
逆に、MRAMメモリセル50が最初に平行状態Pにあり、電子電気書込み電流64が導体62から導体60に印加される場合、MRAMメモリセル50は逆平行状態APに切り替わる。図2Aに示す実施形態では、MRAMメモリセル50は、導体62と導体60との間の約0.36Vの書込み電圧VP-APで平行状態Pから逆平行状態APに切り替わる。
【0041】
図1BのMRAMメモリセル50などのMRAMメモリセルの状態は、MRAMメモリセル両端間に(例えば、MRAMメモリセル50の導体60と導体62との間に)読取り基準(例えば、読取り基準電圧Vrd)を印加することによって決定され得る。印加された読取り基準Vrdは、MRAMメモリセルの抵抗に比例する電流をもたらす。図2Aに示す実施形態において、約0.56Vの読取り基準Vrdにおいて、MRAMメモリセル50は逆平行状態APにおいて逆並列抵抗RAPを有し、平行状態Pにおいて並列抵抗Rを有する。
【0042】
したがって、個々のMRAMメモリセルの状態は、読取り基準VrdにおけるMRAMメモリセルの抵抗を検出し、次いで検出された抵抗をしきい値抵抗値Rと比較することによって決定され得る。MRAMメモリセルの検出された抵抗がしきい値抵抗値Rより大きい場合、MRAMメモリセルは逆平行状態APにあると判定され、MRAMメモリセルの検出された抵抗がしきい値抵抗値Rより小さい場合、MRAMメモリセルは平行状態Pにあると判定される。
【0043】
個々のMRAMメモリセルの逆並列抵抗RAP値及び並列抵抗R値が比較的一定のままであるので、本明細書で「単一基準読取り」と呼ばれるこの読取り技術は、個々のMRAMメモリセルを読み取るのに非常に有効である。しかしながら、(例えば、MRAMメモリセルのメモリアレイ内の)MRAMメモリセルの組は、多くの場合MRAMメモリセル間の逆並列抵抗RAP値及び並列抵抗R値の幅広い変動を示す。
【0044】
更に、図2Bに示されるように、メモリセルの組における逆並列抵抗RAP値及び並列抵抗R値は重複することが多い。この重複の結果、メモリセルの組の単一の基準読取りは、有限数のビットのみを正確に区別することができる。簡潔にするために、残りの説明では「コードワード」という用語を使用して、所定のビット数のデータ(例えば、16ビット、64ビット、1024ビット、又は何らかの他のビット数のデータ)を記憶する複数のメモリセルの組を説明する。一実施形態において、コードワードは、(典型的にはオンダイの)誤り訂正符号化(ECC)エンジンによって符号化及び復号され得る多くのビットを含む。
【0045】
例えば、図2Cは、大きなメモリセル群(例えば、多数のメモリセルを含むメモリアレイ内の全てのメモリセル)のビット誤り率(Bit Error Rate、BER)対読取り基準Vrdのグラフを示す。図2Cは、メモリセル群全体について、約0.73Vの「最適な」読取り基準Vrdoを使用して約7%の最低ビット誤り率が達成されることを示す。
【0046】
いくつかのコードワードは、単一の読取り基準Vrdoを使用して正常に読み出され得るが、他のコードワードについては、単一の読取り基準Vrdoを使用して発生するビット誤りの数は、ECCエンジンによって訂正され得るビット誤りの最大数を超え得る。そのような場合、コードワードは通常、自己参照読取りなどの代替読取り技術を使用して読み取られる。
【0047】
例えば、1つの自己参照読取り技術では、メモリセルが最初に読み出され、次に第1のメモリ状態に書き込まれ、第2の読取りが実行され、次に第1及び第2の読取りの結果が比較される。2つの読み出し結果が同じである場合、メモリセルは元々第1のメモリ状態にあったと判定され、第1のメモリ状態に維持される。しかしながら、2つの読み出し結果が同じでない場合、メモリセルは、最初は第2のメモリ状態にあったが現在は第1のメモリ状態にあると判定される。その結果、メモリセルを第2のメモリ状態に復元するために書き込み動作が必要となる。
【0048】
そのような自己参照読取り技術は、単一の参照読取りを使用して正常に読み取ることができなかったコードワードを正常に読み取るために使用され得るが、自己参照読取りは少なくとも2回の読取り動作と1回の書込み動作とを必要とし、更に追加の書込み動作を必要とする場合がある。したがって、このような自己参照読取り技術は完了するのに長い時間を要し、書込み誤りの影響を受けやすく、メモリセルの耐久性を低下させることもある。
【0049】
これらの欠点を克服するために、MRAMメモリセルを読取るための二段階読取り技術が提案されている。特に、MRAMセルなどの抵抗ランダムアクセスメモリセルの高速二段階読取りの技術を説明する。一実施形態において、指定されたアドレスを有するコードワードは、二段階読取りプロセスを使用してメモリセルの組から読み出される。一実施形態において、コードワードの第1の読取りは、グローバル読取り基準値を使用して実行される。
【0050】
一実施形態において、第1の読取りが実行される間に、ルックアップテーブルが検索されて指定されたアドレスに対応するエントリの有無が判定される。一実施形態において、ルックアップテーブルは、コードワードアドレス及び対応する個々の読取り基準値を含む。一実施形態において、ルックアップテーブルが指定されたアドレスのエントリを含む場合、コードワードの第2の読取りが、コードワードの対応する個々の読取り基準値を使用して実行される。
【0051】
一実施形態において、グローバル読取り基準値は、メモリアレイの全てのコードワードを読み取るために選択された読取り基準値である。一実施形態において、グローバル読取り基準値はウェハソート中に決定されてもよく、メモリアレイの全てのコードワードに対してビット誤りの数が最も少なくなる値を有する。
【0052】
一実施形態において、個々の読取り基準値は、メモリアレイの対応するコードワードを読み取るために選択される。一実施形態において、個々の読取り基準値はウェハソート中に決定されてもよく、コードワードのビット誤りの数が最も少なくなる値を有する。
【0053】
図3Aは、コードワード群の個々の読取り基準値のルックアップテーブルを作成するプロセス300aについて、一実施形態を示すフローチャートである。一実施形態において、プロセス300aは以下で説明するシステム制御回路によって実行され得る。
【0054】
一実施形態において、ルックアップテーブルはコードワードアドレスによってアドレス指定される。一実施形態において、コードワード群はメモリアレイの全てのコードワードを含む。別の実施形態において、コードワード群はメモリアレイの全てのコードワードよりも少ないコードワードを含む。
【0055】
簡潔にするために、残りの説明ではコードワード群がm個のコードワードCW、i=0、1、2、...、m-1を含むと仮定する。更に、簡潔にするために残りの説明では、m個のコードワードの組における全てのコードワードCWを意味するために「全てのコードワード」という用語を使用し、m個のコードワードの組における各コードワードCWを意味するために「各コードワードCW」という用語を使用する。
【0056】
ステップ302において、データが全てのコードワードCWに書き込まれる。一実施形態において、コードワードCWの全てのビットが第1のメモリ状態(例えば、0)に書き込まれる。代替的に、コードワードCWの全てのビットが第2のメモリ状態(例えば、1)に書き込まれ得る。
【0057】
ステップ304において、各コードワードCWは複数の候補読取り基準値を使用して順次読み出される。一実施形態において、各コードワードCWはn個の候補読取り基準値vrdj、j=0、1、2、...、n-1を使用して順次読み出される。例えば、候補読取り基準値vrdjは、シミュレーション結果、経験的実証、もしくは2つの組み合わせに基づいて、又は何らかの他の方法によって選択されてもよい。
【0058】
ステップ306において、ステップ304の読取り結果に基づいて、各コードワードCW及び各候補読取り基準値vrdjについて、不良ビットカウントFBijが決定される。代替的に、ビット誤り率BERijは、各コードワードCW及び各候補読取り基準値vrdjについて決定されてもよい。
【0059】
図4Aは、m=8、n=4の例を表形式で示す。図示の例では、コードワードCWは、候補読取り基準値vrd0を使用して読み出されたときに不良ビットカウントFB00を有し、コードワードCWは、候補読取り基準値vrd2を使用して読み出されたときに不良ビットカウントFB12を有し、コードワードCWは、候補読取り基準値vrd1を使用して読み出されたときに不良ビットカウントFB51を有し、以下同様である。
【0060】
図4Bは、図4Aの表について例示的な数値の不良ビットカウント値を示す。例えば、コードワードCWは、候補読取り基準値vrd2を使用して読み出されたときに不良ビットカウントFB22=3を有し、コードワードCWは、候補読取り基準値vrd0を使用して読み出されたときに不良ビットカウントFB40=4を有し、コードワードCWは、候補読取り基準値vrd1を使用して読み出されたときに不良ビットカウントFB61=2を有し、以下同様である。
【0061】
再び図3Aを参照して、ステップ308において、各コードワードCWに対して対応する個々の読取り基準値vrdiを決定する。一実施形態において、コードワードCWの個々の読み出し基準値vrdiは、j=0、1、2、...、n-1に対して最小の不良ビットカウントFBijを有する。したがって、図4Bの例示的な値を使用すると、対応する個々の読取り基準値vrdiは以下の通りである。
【0062】
【表1】
【0063】
再び図3Aを参照して、ステップ310において、全てのコードワードCWのグローバル読取り基準値vrdgを決定する。一実施形態において、全てのコードワードCWのグローバル読取り基準値vrdgは、i=0、1、2、...、m-1についての不良ビットカウントFBijの最小合計をもたらす読取り基準値vrdjである。したがって、図4Bの例示的な値を使用すると、読取り基準値vrd1は最小和(20個の不良ビット)をもたらし、したがってこの例では、全てのコードワードCWに対するグローバル読取り基準値vrdg=vrd1をもたらす。
【0064】
再び図3Aを参照して、ステップ312において、各コードワードCWの所望の最大不良ビットカウントFBが指定される。例えば、所望の最大不良ビットカウントFBは2ビット、3ビットなどであり得る。
【0065】
ステップ314において、コードワードがグローバル読取り基準値vrdgを使用して読み取られる場合、所望の最大不良ビットカウントFB(すなわち、FBij>FB)よりも大きい不良ビットカウントFBijを有する任意のコードワードCWが識別される。
【0066】
例えば、図4Bの例示的な値を再び参照して、コードワードがグローバル読取り基準値vrdg=vrd1を使用して読み取られる場合、所望の最大不良ビットカウントFB=2ビット、コードワードCW、CW及びCW各々が、所望の最大不良ビットカウントFBよりも大きい不良ビットカウントFBijを有する。代替的に、所望の最大不良ビットカウントFB=5ビットである場合、グローバル読取り基準値vrdg=vrd1を使用してコードワードが読み取られるとき、コードワードCWは所望の最大不良ビットカウントFBよりも大きい不良ビットカウントFBijを有する。
【0067】
再び図3Aを参照して、ステップ316において、ルックアップテーブル内のエントリが、ステップ314において識別された各コードワードCWに対して作成される。一実施形態において、各ルックアップテーブルエントリは、ステップ314において識別された各コードワードCWのアドレスと、識別されたコードワードCWの対応する個々の読み出し基準値vrdiとを含む。
【0068】
図4Cは、図4Bの例示的なデータ及び所望の最大不良ビットカウントFB=2ビットを使用して、プロセス300aのステップ316で作成されたエントリを含む例示的なルックアップテーブル400cを示す。特に、ルックアップテーブル400cは、コードワードCWのアドレス及びその対応する個々の読取り基準値vrd0を含む第1のエントリと、コードワードCWのアドレス及びその対応する個々の読取り基準値vrd3を含む第2のエントリと、コードワードCWのアドレス及びその対応する個々の読取り基準値vrd2を含む第3のエントリとを含む。
【0069】
図4Dは、図4Bの例示的なデータ及び所望の最大不良ビットカウントFB=5ビットを使用して、プロセス300aのステップ316で作成されたエントリを含む例示的なルックアップテーブル400dを示す。特に、ルックアップテーブル400dは、コードワードCWのアドレス及びその対応する個々の読取り基準値vrd3を含む単一のエントリを含む。
【0070】
したがって、特定の理論に拘束されることは望ましくないが、これらの例では、所望の最大不良ビットカウントFBが減少するにつれて、より多くのコードワードCWが、グローバル読取り基準値vrdgを使用してコードワードが読み取られるときに所望の最大不良ビットカウントFBよりも大きい不良ビットカウントFBijを有し得るので、通常ルックアップテーブルエントリの数が増加することが示されると考えられている。
【0071】
上記の例示的なプロセス300aでは、ステップ302において全てのコードワードCWビットが第1のメモリ状態(例えば、0)又は第2のメモリ状態(例えば、1)のいずれかに書き込まれる。しかしながら、メモリデバイスによっては、コードワードが第1のメモリ状態に書き込まれるときにコードワードが第1の不良ビットカウントを有することがあり、コードワードが第2のメモリ状態に書き込まれるときに第2の不良ビットカウントを有することがある。いくつかの実施形態において、第1の不良ビットカウントは第2の不良ビットカウントより高くても低くてもよい。すなわち、コードワードは、コードワードに書き込まれたデータに応じてより高い不良ビットカウントを有し得る。
【0072】
図3Bは、コードワード群に対する個々の読取り基準値のルックアップテーブルを作成する代替プロセス300bの一実施形態のフローチャートである。例示的なプロセス300bは、図3Aの例示的なプロセス300aと同様であるが、各コードワードCWの全てのビットを第1のメモリ状態及び第2のメモリ状態の両方に書き込むことを含む。一実施形態において、プロセス300bは以下で説明するシステム制御回路によって実行され得る。
【0073】
ステップ318において、第1の書込み動作中に、コードワードCWの全てのビットが第1のメモリ状態(例えば、0)に書き込まれる。
【0074】
ステップ320において、第1の読取り動作中に、各コードワードCWは複数の候補読取り基準値を使用して順次読み出される。一実施形態において、各コードワードCWは、n個の候補読取り基準値vrdj、j=0、1、2、...、n-1を使用して順次読み出される。例えば、候補読取り基準値vrdjは、シミュレーション結果、経験的実証、もしくは2つの組み合わせに基づいて、又は何らかの他の方法によって選択されてもよい。
【0075】
ステップ322において、第2の書込み動作中に、コードワードCWの全てのビットが第2のメモリ状態(例えば、1)に書き込まれる。
【0076】
ステップ324では、第2の読取り動作中に、各コードワードCWはステップ320で使用された同じ複数の候補読取り基準値を使用して順次読み出される。
【0077】
ステップ326において、ステップ320の読取り結果及びステップ324の読取り結果に基づいて、各コードワードCW及び各候補読取り基準値vrdjについて、不良ビットカウントFBijが決定される。一実施形態において、各コードワードCWについて決定された不良ビットカウントFBijは、第1の読取り動作及び第2の読取り動作からの不良ビットカウントのうちの大きい方である。代替的に、ビット誤り率BERijは、各コードワードCW及び各候補読取り基準値vrdjについて決定されてもよい。一実施形態において、各コードワードCWについて決定されたビット誤り率BERijは、第1の読取り動作及び第2の読取り動作からのビット誤り率のうちの大きい方である。
【0078】
プロセス300bの残りのステップ308~316はプロセス300aのステップと同じであるが、各コードワードCWの2つの別々の書込み及び読取り動作に基づくステップ326で決定された不良ビットカウントFBijを使用する。特定の理論に拘束されることは望ましくないが、プロセス300bは、第1のメモリ状態及び第2のメモリ状態の両方で機能する個々の読取り基準値を識別し得ると考えられる。
【0079】
上記の例示的なプロセス300a及び300bにおけるステップ302、318及び322において、コードワードCWのビットは、第1のメモリ状態又は第2のメモリ状態のいずれかに全て書き込まれる。すなわち、全てのコードワードCWの全てのビットが、第1のメモリ状態又は第2のメモリ状態に書き込まれる。当業者であれば、コードワードビットは代替的に、所定のランダムビットパターン(例えば、「0101010...、」、「0100010...、」、「11110000...、」、又は何らかの他の所定のランダムビットパターン)を使用して書き込まれ得ることを理解するであろう。
【0080】
一実施形態において、上記の例示的なプロセス300a及び300bは、1回実行され得る。例えば、上記のプロセス300a及び300bは、ウェハソートにおいて実行されてもよく、ステップ316において作成されたルックアップテーブルエントリは、メモリダイ上のメモリに記憶されたルックアップテーブルに記憶されてもよい。一実施形態において、ルックアップテーブルは、内容参照可能メモリ(Content Addressable Memory、CAM)又は他のタイプのメモリ等の小型高速メモリ構造に記憶されてもよい。
【0081】
他の実施形態において、上記の例示的なプロセス300a及び300bは2回以上実行されてもよい。例えば、上記の例示的なプロセス300a及び300bは、ルックアップテーブル内に初期エントリを作成するために最初にウェハソートにおいて実行されてもよく、その後メモリダイの寿命を通してルックアップテーブル内に更新された又は追加されたエントリを作成するために、1回又は複数回更に実行されてもよい。
【0082】
図5は、コードワードを読み取るプロセス500の一実施形態のフローチャートである。一実施形態において、プロセス500は以下で説明するシステム制御回路によって実行され得る。
【0083】
ステップ502において、読取り命令を受信する。例えば、ホストデバイスはメモリコントローラに読取り命令を送信してもよい。一実施形態において、読取り命令は、読み出されるべき1つ以上のコードワードCWのアドレスを指定する。簡潔にするために、以下の説明では、受信された読取り命令が単一のコードワードCWの単一のアドレスADDを指定すると仮定する。
【0084】
ステップ504において、指定されたアドレスADDにおけるコードワードCWiを、図3Aのプロセス300a又は図3Bのプロセス300bのステップ310において決定されたグローバル読取り基準値vrdgなどのグローバル読取り基準値を使用して読み出す。
【0085】
ステップ506において、図3Aのプロセス300a又は図3Bのプロセス300bを使用して作成されたルックアップテーブル(例えば、図4Cのルックアップテーブル400c又は図4Dのルックアップテーブル400d)の検索を実行し、ルックアップテーブルが指定されたアドレスADDのエントリを含んでいるかを判定する。
【0086】
ステップ508において、ルックアップテーブルが一致するアドレスADDを含んでいるかを判定する。ステップ508において、ルックアップテーブルが一致するアドレスADDを含まないと判定された場合、ステップ510において一致フラグIを0に設定する。
【0087】
ステップ508において、ルックアップテーブルが一致するアドレスADDを含むと判定された場合、ステップ512において、アドレスADDにおけるコードワードの対応する個々の読取り基準値vrdiをルックアップテーブルから取得する。ステップ514において、一致フラグIを1に設定する。
【0088】
一実施形態において、ステップ506~514は、ステップ504において実行される読取り動作と並行して実行される。一実施形態において、ステップ504で読取り動作が実行されている間にステップ506~514が実行される。一実施形態において、ステップ506~514を完了するのに必要な時間は、ステップ504で実行される読取り動作を完了するのに必要な時間以下である。
【0089】
ステップ516において、ステップ504からの読取りデータを(例えば、ECCエンジンを使用して)復号する。ECCエンジンは、通常最大数のビット誤りECCを正常に訂正することができる。(例えば、ECC=5ビット、7ビット、又は他の最大ビット数)。ステップ504で読み取られたデータがECCのビット誤り以下を含む場合、ECCエンジンは誤りを正常に訂正することができ、ECC動作はパスする。しかしながら、ステップ504で読み取られたデータがECCビット誤りよりも多くを含む場合、ECCエンジンは誤りをうまく訂正することができず、ECC動作は失敗する。
【0090】
ステップ518において、ステップ516におけるECC動作がパスしたか否かを判定する。ステップ518において、ステップ504で読み取られたデータをECCエンジンが正常に復号したと判定された場合、復号されたデータをステップ520でホストに提供する。
【0091】
しかし、ステップ518で、ステップ504で読み取られたデータをECCエンジンが正常に復号できなかったと判定された場合、ステップ522で一致フラグI=1であるか否かを判定する。
【0092】
ステップ522において一致フラグIが1に等しくないと判定された場合、ステップ524において失敗処理動作を実行してもよい。一実施形態において、失敗処理動作は、コードワードCWに上書き読取り動作を実行することを含んでもよい。
【0093】
しかしながら、ステップ522において一致フラグIが1に等しいと判定された場合、ステップ526で指定されたアドレスADDにおけるコードワードCWiが再び読み出されるが、今回は、ステップ512においてルックアップテーブルから取得された対応する個々の読取り基準値vrdiを使用する。
【0094】
ステップ528において、一致フラグIを0に設定し、次いでプロセス500はステップ516にループバックして読み取られたデータを復号し、このインスタンスは、ステップ526において読み取られたデータを使用する。
【0095】
ステップ518において、ステップ516におけるECC動作がパスしたか否かを判定する。ステップ518において、ステップ504で読み取られたデータをECCエンジンが正常に復号したと判定された場合、復号されたデータをステップ520でホストに提供する。
【0096】
しかし、ステップ518で、ステップ504で読み取られたデータをECCエンジンが正常に復号できなかったと判定された場合、ステップ522で一致フラグI=1であるか否かを判定する。ステップ528において一致フラグIが0にリセットされたので、ステップ524において、上述したような失敗処理動作を実行してもよい。
【0097】
特定の理論に拘束されることは望ましくないが、プロセス500はコードワードの読取りに必要となる時間を改善削減し得ると考えられる。特に、指定されたコードワードCWは最初にグローバル読取り基準値vrdgを使用して読み出される。特定の理論に拘束されることは望ましくないが、ルックアップテーブルが指定されたコードワードCWのアドレスADDのエントリを含む場合であっても、多くの場合そのような読取りは正常に実行され得ると考えられる。
【0098】
しかし、第1の読み出しが正常に実行されず、ルックアップテーブルが指定されたコードワードCWのアドレスADDのエントリを含む場合、指定されたコードワードCWは、ルックアップテーブルから取得された対応する個々の読取り基準値vrdiを使用して2回目に読み出される。特定の理論に拘束されることは望ましくないが、こうした第2の読取りは、指定されたコードワードCWに個別に選択された個々の読取り基準値vrdiを使用するので、第2の読取りは正常に実行されると考えられる。
【0099】
しかしながら、第2の読取りが正常に実行されない場合、指定されたコードワードCWへの上書き読取りの実行など失敗処理動作を使用してコードワードを正常に読取りしてもよい。
【0100】
特定の理論に拘束されることは望ましくないが、ルックアップテーブルが検索され、任意の一致する個々の読取り基準値vrdiを第1の読取り動作と並行して取得するので、第2の読取り動作は、指定されたコードワードCWを正常に読取るために使用され得る代替の読取り基準値を見つけるための試行錯誤を必要とせずに、迅速に実行され得ると考えられる。
【0101】
加えて、特定の理論に拘束されることは望ましくないが、説明されたプロセスは、メモリダイ上のコードワードを読み取るために必要とされる上書き読み取り動作の数を排除又は大幅に低減し得ると考えられる。
【0102】
図6は、コードワードを読み取るプロセス600の一実施形態のフローチャートである。一実施形態において、プロセス600は以下で説明するシステム制御回路によって実行され得る。
【0103】
ステップ602において、対応する第1の所定の読取り基準値を集合的に有する複数のコードワードを含むメモリアレイから第1のコードワードを読み出すための命令を受信し、各コードワードは、対応する第2の所定の読取り基準値を有する。
【0104】
ステップ604において、第1の所定の読取り基準値を使用して第1のコードワードを読み出して第1の読取りデータを供給する。
【0105】
ステップ606において、第1のコードワードを読み出している間に、ルックアップテーブルから第1のコードワードに対応する第2の所定の読取り基準値を取得する。
【0106】
ステップ608において、誤り訂正符号アルゴリズムを使用して第1の読取りデータを復号する。
【0107】
ステップ610において、誤り訂正符号アルゴリズムが第1の読取りデータを正しく復号することができなかったと判定する。
【0108】
ステップ612において、取得された第2の所定の読取り基準値を使用して第1のコードワードを読み出して第2の読取りデータを供給する。
【0109】
図7は、本明細書に記載される技術を実装することができるメモリシステム700の一例を示すブロック図である。メモリシステム700は、上述したメモリセルのうちのいずれかを含み得るメモリアレイ702を含む。メモリアレイ702のアレイ分界線は、行として編成されたワード線の様々な層、及び列として編成されたビット線の様々な層を含む。しかしながら、他の配向も実装することができる。
【0110】
メモリシステム700は、行制御回路704を含み、その出力706は、メモリアレイ702の各ワード線に接続される。行制御回路704は、M行アドレス信号の組、及びシステム制御ロジック回路708からの1つ以上の様々な制御信号を受信し、典型的には、行デコーダ710、アレイ終端ドライバ712、及びブロック選択回路714のような回路を、読取り及び書込み動作の両方に対して含み得る。
【0111】
メモリシステム700は列制御回路716も含み、その入力/出力718は、メモリアレイ702の各ビット線に接続される。列制御回路718は、N列アドレス信号の組、及びシステム制御ロジック708からの1つ以上の様々な制御信号を受信し、典型的には、列デコーダ720、アレイ終端受信器又はドライバ722、ブロック選択回路724、並びに読取り/書込み回路及びI/Oマルチプレクサなどの回路を含み得る。
【0112】
システム制御論理708は、ホストからデータ及び命令を受信し、出力データをホストとステータスに供給する。他の実施形態では、システム制御ロジック708は、別個のコントローラ回路からデータ及び命令を受信し、出力データをそのコントローラ回路に供給し、コントローラ回路がホストと通信する。システム制御ロジック708は、メモリシステム700の動作を制御する1つ以上のステートマシン、レジスタ、及び他の制御ロジックを含んでもよい。
【0113】
一実施形態において、システム制御ロジック708は、図4C及び4Dそれぞれのルックアップテーブル400c及び400dなどの上述のルックアップテーブルを格納するメモリ構造(図示せず)を含む。一実施形態において、メモリ構造は、コンパクトで高速なメモリ構造である。一実施形態において、メモリ構造は、内容参照可能メモリである。他のメモリ構造が使用されてもよい。
【0114】
他の実施形態において、メモリアレイ702の一部は、図4C及び4Dそれぞれのルックアップテーブル400c及び400dなどの上述のルックアップテーブルを記憶するために使用されてもよい。
【0115】
一実施形態において、図7に示した全ての構成要素は単一の集積回路上に配置されている。例えば、システム制御ロジック708、列制御回路716、及び行制御回路704は基板の表面上に形成され、メモリアレイ702は基板上又は基板の上方に形成される。
【0116】
一実施形態において、メモリアレイ702、行制御回路704、列制御回路716、及びシステム制御論理708のうちの1つ又は複数は、図3A図3B図5、及び図6それぞれの方法300a、300b、500及び600を実装するように構成されたハードウェア及び/又はソフトウェアを含むシステム制御回路を構成する。
【0117】
上述の技術並びに図3A図3B図5及び図6それぞれの例示的な方法300a、300b、500及び600は、MRAMメモリセルを参照して説明されているが、当業者は、本技術が、MRAMメモリセル、相変化メモリセル、可逆抵抗スイッチングランダムアクセスメモリセル(ReRAM)メモリセル、及び他の抵抗スイッチングメモリセルを含む、任意の抵抗スイッチングメモリセルとともに使用され得ることを理解するであろう。更に、上述の技術並びに図3A図3B図5及び図6それぞれの例示的な方法300a、300b、500及び600は、複数の抵抗スイッチングメモリセルのブロックとともに使用され得る。
【0118】
一実施形態は、メモリアレイと制御回路とを含む装置を含む。メモリアレイは、各々が抵抗ランダムアクセスメモリ素子を含む不揮発性メモリセルを含む。制御回路は、不揮発性メモリセルの第1の組のアドレスを指定する読取り命令を受け取り、第1の所定の読取り基準値を使用して不揮発性メモリセルの第1の組の第1の読取りを実行して第1の読取りデータを供給し、第1の読取りを実行しながら、指定されたアドレスに対応する第2の所定の読取り基準値をメモリから取得し、第1の読取りデータに関して満たされる条件に応じて、第2の所定の読取り基準値を使用して不揮発性メモリセルの第1の組の第2の読取りを実行して第2の読取りデータを供給するように構成される。
【0119】
一実施形態は方法を含み、その方法は、対応する第1の所定の読取り基準値を集合的に含み、それぞれが対応する第2の所定の読取り基準値を含む複数のコードワードを含むメモリアレイから第1のコードワードを読み出すための命令を受信することと、第1の所定の読取り基準値を使用して第1のコードワードを読み取って第1の読取りデータを供給することと、第1のコードワードを読み出す間に、ルックアップテーブルから第1のコードワードに対応する第2の所定の読取り基準値を取得することと、誤り訂正符号アルゴリズムを使用して第1の読取りデータを復号することと、誤り訂正符号アルゴリズムが第1の読取りデータを正しく復号できなかったと判定することと、取得された第2の所定の読取り基準値を使用して第1のコードワードを読み取って第2の読取りデータを供給することと、を含む。
【0120】
一実施形態はシステムを含み、そのシステムは、複数組のメモリセルを含むメモリアレイ内の不揮発性メモリセルの第1の組を読み取るための命令を、ホストデバイスから受信し、第1の所定の読取り基準値を使用して不揮発性メモリセルの第1の組の第1の読取りを実行し、ルックアップテーブルから第2の所定の読取り基準値を取得し、第1の読取り中に読み出されたデータが正しく復号できなかった場合にのみ、第2の所定の読取り基準値を使用して不揮発性メモリセルの第1の組の第2の読取りを選択的に実行するように構成された制御回路を含む。取得ステップは、第1の読取りステップと並行して実行される。第1の所定の読取り基準値は、メモリセルの全ての組にわたって不良ビットカウントを最小化する。第2の所定の読取り基準値は、メモリセルの第1の組の不良ビットカウントを最小化する。
【0121】
本明細書の目的のために、明細書中の「実施形態」、「一実施形態」、「いくつかの実施形態」又は「別の実施形態」に対する言及は、異なる実施形態又は同一の実施形態について記述するために使用されることがある。
【0122】
本明細書の目的のために、接続とは、直接的な接続又は間接的な接続(例えば、1つ以上の他の部分を介して)であってもよい。場合によっては、ある要素が別の要素に接続されるか又は結合されると言及される場合、この要素は、他の要素に直接的に接続されてもよく、又は、介在要素を介して他の要素に間接的に接続されてもよい。ある要素が別の要素に直接的に接続されていると言及される場合、この要素と他の要素との間には介在要素は存在しない。2つのデバイスは、それらが互いの間で電子信号を交換することができるように直接的に又は間接的に接続されている場合、「通信状態」にある。
【0123】
本明細書の目的のために、「基づいて」という用語は、「少なくとも部分的に基づいて」と読むことができる。
【0124】
本明細書の目的のために、追加の文脈がない、「第1の」物体、「第2の」物体、及び「第3の」物体などの数値的な用語の使用は、物体の順序を示唆するものではなく、代わりに、異なる物体を識別するための識別目的で使用されることがある。
【0125】
本明細書の目的のために、物体の「組」という用語は、物体のうちの1つ以上の物体の「組」を指すことがある。
【0126】
前述の詳細な説明は、例示及び説明の目的のために提示されている。前述の詳細な説明は、網羅的であること、又は開示された正確な形態に限定することを意図したものではない。多くの修正形態及び変形形態が、上記の教示に鑑みて可能である。説明した実施形態は、提案した技術の原理及びその実際の用途を最もよく説明するために選択されたものであり、それによって、当業者が様々な実施形態で、企図される特定の使用法に適するように様々な修正を伴って、この技術を最も良いように利用することを可能にする。本範囲は、本明細書に添付の請求項によって定義されることが意図されている。
図1A
図1B
図1C
図1D
図1E
図2A
図2B
図2C
図3A
図3B
図4A
図4B
図4C
図4D
図5
図6
図7
【外国語明細書】