(57)【要約】  確率的なプログラミング電流が、確率的な双安定スイッチング素子のクラスタに注入され、確率的なプログラミング電流が、任意の所与の双安定スイッチング素子のスイッチングの確率が100%よりも小さくなるように設定されたパラメータを有し、双安定スイッチング素子のクラスタの抵抗が検出される。終了条件が満たされるまで、確率的なプログラミング電流は注入され、クラスタ状態の抵抗は検出される。任意選択で、終了条件は、双安定スイッチング素子のクラスタの抵抗が、複数ビットのデータを表す値であることを検出することである。
2013530479.tif 000002
【特許請求の範囲】
【請求項１】
アクセス制御のための少なくとも1つのトランジスタと、
N個の確率的な双安定スイッチング素子のクラスタであって、第1のクラスタプログラミング電流端子および第2のクラスタプログラミング電流端子を有し、前記確率的な双安定スイッチング素子がクラスタトポロジーで結合される、クラスタと
を含み、前記第1のクラスタプログラミング電流端子と前記第2のクラスタプログラミング電流端子の1つから流れる、プログラミング電流を受け取ったことに応答して、前記クラスタが、少なくともN+1個の可能な抵抗のレベルへの、0ではないスイッチングの確率を有する、磁気ランダムアクセスメモリ(MRAM)マルチレベルセル。
【請求項２】
前記クラスタトポロジーが、直列に結合された複数のSTT-MTJ素子を含む、請求項1に記載のMRAM。
【請求項３】
前記クラスタトポロジーが、並列に結合された複数のSTT-MTJ素子を含む、請求項1に記載のMRAM。
【請求項４】
確率的な双安定スイッチング素子がSTT-MTJ素子を含む請求項1に記載のMRAMであって、決定論的なスイッチング領域もほぼ決定論的なスイッチング領域も全く含まないスイッチング領域においてSTT-MTJ素子を動作させるための特性を有する、前記プログラミング電流を生成するための、確率的な電流源をさらに含む、MRAM。
【請求項５】
エラーの訂正、エラーへの耐性、歩留まりの改善、およびプログラミング速度の向上のうちの少なくとも1つのために、N個の確率的な双安定スイッチング素子の前記クラスタが、第1のバイナリ値と関連付けられた、前記少なくともN+1個の可能な抵抗レベルのうちの複数を有し、第2のバイナリ値と関連付けられた、前記少なくともN+1個の可能な抵抗レベルのうちの複数を有する、請求項1に記載のMRAM。
【請求項６】
前記MRAMが少なくとも1つの半導体ダイに組み込まれる、請求項1に記載のMRAM。
【請求項７】
セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定位置のデータユニット、およびコンピュータからなる群から選択されるデバイスにさらに組み込まれる、請求項6に記載のMRAM。
【請求項８】
双安定スイッチング素子のクラスタの抵抗をプログラムする方法であって、
双安定スイッチング素子の前記クラスタの前記抵抗の状態を検出するステップと、
前記検出された状態に基づいて、少なくとも1つのプログラミング電流の特性を決定するステップと、
前記少なくとも1つの決定されたプログラミング電流の特性を有する、前記プログラミング電流を加えるステップと、
所与のプログラミング完了状態に達するまで、上のステップを繰り返すステップと
を含む、方法。
【請求項９】
前記上のステップを繰り返す、繰返しの数を計数するステップをさらに含み、1つのプログラミング完了状態が、所与の数の前記繰返しに等しいタイムアウトである、請求項8に記載の方法。
【請求項１０】
1つのプログラミング完了状態が、前記抵抗の状態が所与の抵抗値を満たすのを前記検出することである、請求項8に記載の方法。
【請求項１１】
前記上のステップを繰り返すステップが、前記上の複数のステップを同時に実行する、請求項8に記載の方法。
【請求項１２】
前記上のステップを繰り返すステップが、前記上のステップを順次実行する、請求項8に記載の方法。
【請求項１３】
前記上のステップを繰り返すステップが、時間的に連続する、請求項8に記載の方法。
【請求項１４】
前記上のステップを繰り返すステップが、時間的に別々である、請求項8に記載の方法。
【請求項１５】
前記少なくとも1つのプログラミング電流の特性が、電流の方向を含む、請求項8に記載の方法。
【請求項１６】
前記少なくとも1つのプログラミング電流の特性が、電流の大きさを含む、請求項8に記載の方法。
【請求項１７】
前記少なくとも1つのプログラミング電流の特性が、電流パルスの長さを含む、請求項8に記載の方法。
【請求項１８】
前記少なくとも1つのプログラミング電流の特性が、アナログ波形の特性を含む、請求項8に記載の方法。
【請求項１９】
前記少なくとも1つのアナログ波形の特性が、アナログランプの特性である、請求項18に記載の方法。
【請求項２０】
前記抵抗の前記検出された状態と、目標抵抗状態との差を検出するステップをさらに含み、前記アナログランプの特性が、前記検出された差によって決定される、請求項19に記載の方法。
【請求項２１】
前記少なくとも1つのプログラミング電流の特性が、デジタル波形の特性を含む、請求項8に記載の方法。
【請求項２２】
少なくとも1つのデジタル波形の特性が、デジタルランプの特性である、請求項21に記載の方法。
【請求項２３】
前記抵抗の前記検出された状態と目標抵抗状態との差を検出するステップをさらに含み、前記デジタルランプの特性が前記差によって決定される、請求項22に記載の方法。
【請求項２４】
前記上のステップを繰り返す、繰返しの数を計数するステップをさらに含み、1つのプログラミング完了状態が、繰返しの前記数が所与のタイムアウトに達することであり、別のプログラミング完了状態が、前記抵抗の状態が所与の抵抗値を満たすのを検出することである、請求項8に記載の方法。
【請求項２５】
前記抵抗の前記検出された状態と目標抵抗状態との差を検出するステップをさらに含み、所与のビットエラーレートと、前記双安定スイッチング素子のスイッチング特性とに基づいて、前記タイムアウトを決定するステップをさらに含み、前記所与のタイムアウトによって表される前記数の繰返し以内で、前記双安定スイッチング素子の前記クラスタの前記抵抗状態と前記目標抵抗状態との間の前記差の確率によって、ビットエラーレートが前記所与のビットエラーレートと同じ程度に小さくなる、請求項24に記載の方法。
【請求項２６】
所与のプログラミング遅延の制限と、前記決定されたプログラミング電流の特性とに基づいて、前記タイムアウトを決定するステップをさらに含み、前記所与のプログラミング遅延の制限と前記決定されたプログラミング電流の特性によって、前記所与のタイムアウトによって表される前記数以内の繰返しで、プログラミング遅延が前記所与のプログラミング遅延の制限と同じ程度に小さくなる、請求項24に記載の方法。
【請求項２７】
前記少なくとも1つのプログラミング電流の特性が、前記目標抵抗状態に達するように最適化された大きさを有する、一方向の電流を含む、請求項24に記載の方法。
【請求項２８】
前記抵抗の前記検出された状態と目標抵抗状態との差を検出するステップをさらに含み、前記電流の方向が前記差によって決定される、請求項27に記載の方法。
【請求項２９】
所与の目標抵抗状態に達するのに必要な平均のプログラミングの繰返しを最適化することによって、前記電流の大きさを決定するステップをさらに含む、請求項27に記載の方法。
【請求項３０】
所与の目標抵抗状態に達するのに必要な平均のプログラミング電力に関して、前記電流の大きさを最適化することによって、前記電流の大きさを決定するステップをさらに含む、請求項27に記載の方法。
【請求項３１】
所与の目標抵抗状態に達するのに必要な平均のプログラミング遅延に関して、前記電流の大きさを最適化することによって、前記電流の大きさを決定するステップをさらに含む、請求項27に記載の方法。
【請求項３２】
前記プログラミング電流がある電流パルス長を有するパルスであり、所与の目標抵抗状態に達するのに必要な平均のプログラミングの繰返しに関して前記電流パルス長を最適化することによって、前記電流パルス長を決定するステップをさらに含む、請求項27に記載の方法。
【請求項３３】
前記プログラミング電流がある電流パルス長を有するパルスであり、所与の目標抵抗状態に達するのに必要な平均のプログラミング電力に関して前記電流パルス長を最適化することによって、前記電流パルス長を決定するステップをさらに含む、請求項24に記載の方法。
【請求項３４】
データを記憶するための確率的な抵抗性メモリであって、
双安定素子を有する抵抗性素子のクラスタであって、各双安定素子が、少なくとも1つのパラメータを有するプログラミング電流に応答して、少なくとも2つの抵抗状態の第1の抵抗状態と、前記少なくとも2つの抵抗状態の第2の抵抗状態との間でスイッチングするように構成され、スイッチングの確率が、前記プログラミング電流の少なくとも1つのパラメータの値によって決定される、抵抗性素子のクラスタと、
前記抵抗性素子のクラスタのクラスタ抵抗状態を検出し、前記抵抗性素子のクラスタにプログラミング電流を注入するための、確率的なプログラミングコントローラであって、前記少なくとも1つのパラメータの前記値が、前記スイッチングの確率を1よりも小さく決定する、確率的なプログラミングコントローラと
を含む、確率的な抵抗性メモリ。
【請求項３５】
前記抵抗性素子のクラスタがN個の双安定素子を有し、前記データがMビットのデータであり、Mが少なくとも2であり、Nが少なくとも3である、請求項34に記載の確率的な抵抗性メモリ。
【請求項３６】
前記双安定スイッチング素子が、プログラミング電流が所与の順方向であることに応答して、前記第1の抵抗状態から前記第2の抵抗状態にスイッチングするように構成され、プログラミング電流が前記所与の順方向とは反対の所与の逆方向であることに応答して、前記第2の抵抗状態から前記第1の抵抗状態にスイッチングするように構成される、請求項34に記載の確率的な抵抗性メモリ。
【請求項３７】
前記確率的なプログラミングコントローラが、前記クラスタ抵抗状態を、前記データに対応する目標抵抗状態と比較し、前記クラスタ抵抗状態が前記目標抵抗状態を下回ることに応答して、前記順方向の前記プログラミング電流を注入し、前記クラスタ抵抗状態が前記目標抵抗状態を上回ることに応答して、前記所与の逆方向の前記プログラミング電流を注入するように構成される、請求項36に記載の確率的な抵抗性メモリ。
【請求項３８】
前記確率的なプログラミングコントローラが、所与の終了条件の発生を検出するように構成され、前記確率的なプログラミングコントローラが、前記所与の終了条件を検出するまで、前記クラスタ抵抗状態の前記検出と、前記抵抗性素子のクラスタへの前記プログラミング電流の前記注入とを繰り返すように構成される、請求項37に記載の確率的な抵抗性メモリ。
【請求項３９】
前記確率的なプログラミングコントローラが、前記クラスタ抵抗状態の前記検出および前記プログラミング電流の前記注入の繰返しの数と関連付けられる、プログラミングパルスの数を検出するように構成される、請求項38に記載の確率的な抵抗性メモリ。
【請求項４０】
1つの所与の終了条件が、前記クラスタ抵抗状態が所与の基準内で前記目標抵抗状態を満たすことを前記比較が示す場合に起きる、プログラミング完了条件である、請求項38に記載の確率的な抵抗性メモリ。
【請求項４１】
1つの所与の終了条件が、前記プログラミングパルスの数が所与のタイムアウト値を満たすことを前記比較が示す場合に起きる、プログラミング完了条件である、請求項38に記載の確率的な抵抗性メモリ。
【請求項４２】
前記所与のタイムアウト値が、所与のビットエラーレートの制限値と、前記プログラミング電流の前記少なくとも1つのパラメータによって決定される前記スイッチングの確率とに基づき、前記所与のタイムアウト値に達した時、プログラミングビットエラーレートが、前記所与のビットエラーレートの制限値と同程度に小さい、請求項41に記載の確率的な抵抗性メモリ。
【請求項４３】
前記所与のタイムアウト値が、所与のプログラミング遅延の制限値と、前記プログラミング電流の前記少なくとも1つのパラメータによって決定される前記スイッチングの確率とに基づき、前記所与のタイムアウト値に達した時、前記プログラミング遅延が、前記所与のプログラミング遅延の制限値と同程度に小さい、請求項41に記載の確率的な抵抗性メモリ。
【請求項４４】
前記クラスタがN個の双安定素子を含み、前記データがMビットデータであり、Mが少なくとも2であり、Nが少なくとも3であり、前記確率的なプログラミングコントローラの電流が、前記少なくとも1つのパラメータの前記値を設定して、前記スイッチングの確率を、平均のパルスの繰返しの数を最適化する1よりも小さな値に決定する、請求項41に記載の確率的な抵抗性メモリ。
【請求項４５】
前記クラスタがN個の双安定素子を含み、前記データが1ビットデータであり、Nが1であり、前記確率的なプログラミングコントローラの電流が、前記少なくとも1つのパラメータの前記値を設定して、前記スイッチングの確率を、平均のプログラミング遅延を最適化する1よりも小さな値に決定する、請求項41に記載の確率的な抵抗性メモリ。
【請求項４６】
少なくとも1つの半導体ダイに組み込まれる、請求項34に記載の確率的な抵抗性メモリ。
【請求項４７】
セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定位置のデータユニット、およびコンピュータからなる群から選択されるデバイスにさらに組み込まれる、請求項46に記載の確率的な抵抗性メモリ。
【請求項４８】
双安定スイッチング素子のクラスタの抵抗をプログラムする方法であって、
前記抵抗の状態を検出するためのステップと、
前記検出された状態に基づいて、少なくとも1つのプログラミング電流の特性を決定するためのステップと、
前記少なくとも1つの決定されたプログラミング電流の特性を有する、前記プログラミング電流を加えるためのステップと、
所与のプログラミング完了状態に達するまで、前記検出するためのステップ、前記決定するためのステップ、および前記加えるステップを繰り返すためのステップと
を含む、方法。
【請求項４９】
前記繰り返すためのステップが、繰り返すための前記ステップの繰返しの数を計数するためのステップを含み、1つのプログラミング完了状態が、繰返しの所与の数に等しい所与のタイムアウトである、請求項48に記載の方法。
【請求項５０】
1つのプログラミング完了状態が、前記抵抗の状態が所与の抵抗の基準を満たすのを検出することである、請求項48に記載の方法。
【請求項５１】
前記検出するためのステップおよび前記加えるためのステップが同時である、請求項48に記載の方法。
【請求項５２】
前記検出するためのステップおよび前記加えるためのステップが順次的である、請求項48に記載の方法。
【請求項５３】
前記少なくとも1つのプログラミング電流の特性が、電流の方向を含む、請求項48に記載の方法。
【請求項５４】
前記繰り返すためのステップが、繰返しの前記数を計数するためのステップを含み、1つのプログラミング完了状態が、所与の数の繰返しに等しい所与のタイムアウトであり、別のプログラミング完了状態が、前記抵抗の状態が所与の抵抗の基準を満たすのを前記検出することである、請求項48に記載の方法。
【請求項５５】
前記抵抗の前記検出された状態と目標抵抗状態との差を検出するためのステップをさらに含み、所与のビットエラーレートと、前記双安定スイッチング素子のスイッチング特性とに基づいて、タイムアウトを決定するためのステップをさらに含み、前記タイムアウトによって表される前記数の繰返し以内で、前記抵抗の前記検出された状態と双安定スイッチング素子の前記クラスタの前記目標抵抗状態との間の前記検出された差の確率が、ビットエラーレートを前記所与のビットエラーレートと同じ程度に小さくする、請求項48に記載の方法。
【請求項５６】
所与のプログラミング遅延の制限と、前記決定されたプログラミング電流の特性とに基づいて、タイムアウトを決定するためのステップをさらに含み、前記所与のプログラミング遅延の制限と前記決定されたプログラミング電流の特性が、前記決定されたタイムアウトによって表される前記数以内の繰返しで、前記プログラミング遅延を前記所与のプログラミング遅延の制限と同じ程度に小さくする、請求項48に記載の方法。
【請求項５７】
双安定スイッチング素子のクラスタと、
双安定スイッチング素子の前記クラスタの抵抗の状態を検出するための手段と、
前記検出された状態に基づいて、少なくとも1つのプログラミング電流の特性を決定するための手段と、
前記少なくとも1つの決定されたプログラミング電流の特性に従って、双安定スイッチング素子の前記クラスタに、前記プログラミング電流を加えるための手段と、
所与のプログラミング完了状態に達するまで、前記検出、前記決定、および前記印加を繰り返すための手段と
を含む、確率的な抵抗性メモリ。
【請求項５８】
前記繰り返すための手段が、前記検出、前記決定、および前記印加を繰り返す、繰返しの数を計数するための手段を含み、1つのプログラミング完了状態が、所与の数の繰返しに等しい所与のタイムアウトである、請求項57に記載の確率的な抵抗性メモリ。
【請求項５９】
1つのプログラミング完了状態が、前記抵抗の状態が所与の抵抗の基準を満たすのを前記検出することである、請求項57に記載の確率的な抵抗性メモリ。
【請求項６０】
前記繰り返すための手段が、繰返しの前記数を計数するための手段を含み、1つのプログラミング完了状態が、繰返しの前記数が所与のタイムアウトに達することであり、別のプログラミング完了状態が、前記抵抗の状態を検出するための前記手段によって抵抗が所与の抵抗の基準を満たすのを検出することである、請求項57に記載の確率的な抵抗性メモリ。
【請求項６１】
少なくとも1つの半導体ダイに組み込まれる、請求項57に記載の確率的な抵抗性メモリ。
【請求項６２】
セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定位置のデータユニット、およびコンピュータからなる群から選択されるデバイスにさらに組み込まれる、請求項61に記載の確率的な抵抗性メモリ。
【請求項６３】
アンテナと、
前記アンテナに結合されるワイヤレスコントローラと、
前記ワイヤレスコントローラに結合される集積回路であって、処理ユニットと、前記処理ユニットに結合されるデータを記憶するための確率的な抵抗性メモリとを有する、集積回路と、
前記集積回路に結合される入力デバイスと
を含む、通信デバイスであって、
前記集積回路の前記確率的な抵抗性メモリが、
双安定素子のクラスタであって、各双安定素子が、プログラミング電流に応答して、少なくとも2つの抵抗状態の第1の抵抗状態と、前記少なくとも2つの抵抗状態の第2の抵抗状態との間でスイッチングするように構成され、スイッチングの確率が、前記プログラミング電流の少なくとも1つのパラメータの値によって決定される、双安定素子のクラスタと、
双安定素子の前記クラスタのクラスタ抵抗状態を検出し、前記抵抗性素子のクラスタにプログラミング電流を注入するための、確率的なプログラミングコントローラであって、前記少なくとも1つのパラメータの前記値が、前記スイッチングの確率を1よりも小さく決定する、確率的なプログラミングコントローラと
を含む、通信デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
米国特許法第119条による優先権の主張
本特許出願は、本出願の譲受人に譲渡され、参照により本明細書に明確に組み込まれる、2010年5月6日に出願された「Method and Apparatus of Using STT-MTJ Array with Probabilistic Programming to Implement Non-Volatile Multi-Level Memory Cell (MLC)」と題する仮出願第61/331,929号の優先権を主張する。
【０００２】
本開示の技術分野は双安定抵抗性素子の不揮発性メモリに関し、より具体的には、スピントルク注入(STT)磁気トンネル接合(MTJ)メモリセルに関する。
【背景技術】
【０００３】
STT-MTJは、その知られている潜在的な特徴として、高速なスイッチング、高いスイッチングサイクル耐久性、低い消費電力、およびより長い非通電の長期保存記憶があり、次世代の不揮発性メモリに対して有望な技術であると見られている。
【０００４】
動作中、STT-MTJ素子は、電気的な「書込み」電流を層に通すことによって、2つの互いに反対の安定した磁化状態、すなわち「平行」(P)および「反平行」(AP)の状態の間でスイッチング可能である。書込み電流が所与の臨界点(CPT)を上回る場合、STT-MTJは、書込み電流の向きによって誘導されて、PまたはAPにスイッチングする。従来のSTT-MTJメモリセルは1ビットを記憶し、P状態とAP状態の一方が第1のバイナリ値、たとえば「0」を表すように割り当てられ、他方が第2のバイナリ値、たとえば「1」を表すように割り当てられる。STT-MTJ素子は、AP状態よりもP状態で電気抵抗が相対的に低いので、記憶されたバイナリ値を読み取ることができる。
【０００５】
従来のSTT-MTJメモリは、スイッチングの確率の目標を100%として、STT-MTJ素子を正しいP/AP状態にスイッチングするのに、十分大きく十分長い書込み電流を注入するように、設計され構築された書込み回路を利用する。したがって、STT-MTJメモリの従来の設計思想は、メモリ素子のスイッチングが「決定論的」であるSRAMのような、従来のメモリの設計パラダイムに制限される、決定論的な書込みである。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、決定論的なSTT-MTJの書込みという従来の設計思想は、AP→PまたはP→APのスイッチングが発生する正確で再現可能な閾値をSTT-MTJ素子が有さないという現実を、可能な範囲で完全になくす設計規則を、必ずしも含まない。
【０００７】
この理由は、図1のシミュレーショングラフ100で示される。含まれるシミュレーショングラフ102Aは、CPTを上回る電流レベルの書込みパルス104を用いて、パルス幅tの関数として、STT-MTJ素子がP/AP状態をスイッチングする例示的な確率を示す。対照的に、図1のシミュレーショングラフ102Bは、CPTよりも低い電流レベルの書込みパルス106を用いて、パルス幅tの関数として、STT-MTJ素子がP/AP状態をスイッチングする確率を示す。示されるように、パルス幅にもよるが、書込み電流レベルが大きい場合には、スイッチングの確率は、パルス電流レベルが低い場合のスイッチングの確率よりも、はるかに鋭く増大する。
【０００８】
したがって、従来の決定論的なプログラミングによって許容可能な書込み性能を得るには、すなわち、書込みエラーレートが余剰のパルス幅を伴わずに所与の最大ビットエラーレート(BER)よりも小さくなるようにするには、一般にCPTをかなり上回る書込み電流レベルが必要である。このことは、パルス幅202対スイッチングの確率204の図2のグラフ200においてさらに示され、グラフ200において、シミュレーションのスイッチング確率曲線206は、臨界レベルを上回る書込み電流に対応する。点2050は、100%に近いスイッチングの確率に必要な、例示的なパルスの長さを示す。従来の決定論的なプログラミングにおいて必要な、これらのパルス電流のレベルおよび長さによって、決定論的なスイッチングに近づこうとする中で、余計な電力と余計な時間が使われる。図2を参照すると、全体像を与えるように、確率曲線220は、点2052が例示的な読取り点を示す、CPTをかなり下回る電流に対応する。
【０００９】
加えて、従来のSTT-MTJメモリは、各STT-MTJ抵抗性素子に対して、読取り/書込みアクセスおよび制御回路が必要である。したがって、従来のSTT-MTJメモリは、各々の記憶ビットに対して、完全なSTT-MTJメモリセルを必要とする。さらに、メモリセルの各々において、STT-MTJ素子のフットプリントは一般に、セル領域のより小さな部分を占める。n行とm列(以後「n×m」)のSTT-MTJアレイのサイズを、より大きな値のmおよびnに増やしても、この非効率性をなくすことにはならない。
【課題を解決するための手段】
【００１０】
一実施形態は、アクセス制御のための少なくとも1つのトランジスタと、N個の確率的な双安定スイッチング素子のクラスタとを有する、磁気ランダムアクセスメモリ(MRAM)マルチレベルセルを提供する。このクラスタは、第1のクラスタプログラミング電流端子と、第2のクラスタプログラミング電流端子とを有し得る。一態様では、確率的な双安定スイッチング素子はクラスタトポロジーで結合され、第1のクラスタプログラミング電流端子と第2のクラスタプログラミング電流端子の1つから流れるプログラミング電流を受け取ったことに応答して、クラスタは、少なくともN+1個の可能な抵抗のレベルへの、0ではないスイッチングの確率を有する。
【００１１】
一態様では、確率的な双安定スイッチング素子は、STT-MTJ素子を含み得る。さらなる一態様では、確率的な電流源が、決定論的なスイッチング領域もほぼ決定論的なスイッチング領域も全く含まないスイッチング領域においてSTT-MTJ素子を動作させる特性を有する、プログラミング電流を生成するように構成される。
【００１２】
一実施形態は、双安定スイッチング素子のクラスタの抵抗をプログラムするための方法を提供し、一態様では、その方法は、抵抗の状態を検出するステップと、検出された状態に基づいて、少なくとも1つのプログラミング電流の特性を決定するステップと、前記少なくとも1つの決定された特性を有するプログラミング電流を加えるステップと、所与のプログラミング完了条件に達するまで、検出するステップ、決定するステップ、および加えるステップを繰り返すステップとを、含み得る。
【００１３】
一態様では、一実施形態によるプログラミングの方法は、プログラミングパルスの計数、すなわち、繰返しの回数の計数を含んでもよく、1つのプログラミング完了条件は、プログラミングパルスの計数が所与のタイムアウトを満たす時、すなわち、所与の数の繰返しに等しいタイムアウトに繰返しの数が達した時であってよく、別のプログラミング完了条件は、抵抗の状態が所与の抵抗の基準を満たすのを検出することであってよい。
【００１４】
さらなる一態様では、一実施形態による方法は、所与のビットエラーレートと、双安定スイッチング素子のスイッチング特性とに基づいて、タイムアウトを決定するステップを含んでもよく、タイムアウトによって表される数以内の繰返しで、双安定スイッチング素子のクラスタの抵抗状態と目標抵抗との間の差の確率によって、ビットエラーレートが所与のビットエラーレートと同じ程度に小さくなる。一態様では、プログラミング電流は、所与の順方向、所与の逆方向、および/または、たとえば検出された抵抗状態と目標抵抗状態との差によって決定され得る、順方向もしくは逆方向であってよい、電流の方向を含み得る。
【００１５】
さらなる一態様では、一実施形態による方法はさらに、所与のプログラミング遅延の制限と、決定されたプログラミング電流の特性とに基づいて、タイムアウトを決定するステップを含んでもよく、所与のプログラミング遅延の制限と決定されたプログラミング電流の特性によって、タイムアウトによって表される数以内の繰返しで、プログラミング遅延が所与のプログラミング遅延の制限と同じ程度に小さくなる。
【００１６】
一態様では、一実施形態による方法において、プログラミング電流の特性は、目標抵抗状態に達するように最適化された大きさを有する、一方向の電流を含み得る。さらなる一態様では、電流の大きさは、所与の目標抵抗状態に達するのに必要な平均のプログラミングの繰返しの回数を最適化することによって、最適化され得る。一態様では、電流の大きさは、所与の目標抵抗状態に達するのに必要な平均のプログラミング電力に関して、最適化され得る。一態様では、電流の大きさは、所与の目標抵抗状態に達するのに必要な平均のプログラミング遅延に関して、最適化され得る。
【００１７】
一実施形態は、たとえば、N個の双安定素子を有する抵抗性素子のクラスタを含む、確率的な抵抗性メモリを提供し、各々の双安定素子は、プログラミング電流に応答して、少なくとも2つの抵抗状態の第1の抵抗状態と、少なくとも2つの抵抗状態の第2の抵抗状態との間でスイッチングするように構成され、スイッチングの確率は、プログラミング電流の少なくとも1つのパラメータの値によって決定され、さらに一実施形態は、抵抗性素子のクラスタのクラスタ抵抗状態を検出し、抵抗性素子のクラスタにプログラミング電流を注入するための、確率的なプログラミングコントローラを含んでもよく、少なくとも1つのパラメータの値が、スイッチング確率を1よりも小さく決定する。
【００１８】
一実施形態による確率的な抵抗性メモリの一態様では、確率的なプログラミングコントローラは、所与の終了条件の発生を検出するように構成されてよく、所与の終了条件を検出するまで、クラスタの抵抗状態の検出と、抵抗性素子のクラスタへのプログラミング電流の注入とを繰り返すように構成され得る。
【００１９】
一態様では、1つの所与の終了条件は、所与のタイムアウト値であってよく、タイムアウト値に達した場合に、プログラミングビットエラーレートが、所与のビットエラーレートの制限値と同じ程度に小さくなるように、タイムアウト値は、所与のビットエラーレートの制限値と、プログラミング電流の少なくとも1つのパラメータによって決定されるスイッチングの確率とに基づいてよい。
【００２０】
一態様では、1つの終了条件は、所与のタイムアウト値であってよく、タイムアウト値に達した場合に、プログラミング遅延が、所与のプログラミング遅延の制限と同じ程度に小さくなるように、タイムアウト値は、所与のプログラミング遅延の制限と、プログラミング電流の少なくとも1つのパラメータによって決定されるスイッチングの確率とに基づき得る。
【００２１】
一実施形態は、双安定スイッチング素子のクラスタを有する確率的な抵抗性メモリと、双安定スイッチング素子のクラスタの抵抗の状態を検出するための手段と、検出された状態に基づいて、少なくとも1つのプログラミング電流の特性を決定するための手段と、少なくとも1つの決定された特性に従って、双安定スイッチング素子のクラスタにプログラミング電流を加えるための手段と、所与のプログラミング完了条件に達するまで、検出するステップ、決定するステップ、および加えるステップを繰り返すための手段とを、提供する。
【００２２】
添付書類に見出される添付の図面は、本発明の実施形態の説明を助けるために提示され、実施形態の限定ではなく、実施形態の例示のためのみに提供される。
【図面の簡単な説明】
【００２３】
【図１】STT-MTJの所望のスイッチングを生成する書込みパルスの、パルス幅に対する確率的な特性を示す図である。
【図２】許容可能なビットエラーを得るための、従来のSTT-MTJ書込みパルスの振幅/長さのパラメータの一例を示す図である。
【図３】1つまたは複数の例示的な実施形態による、1つの例示的な、確率的にプログラムされるマルチレベルSTT-MTJクラスタメモリを示す図である。
【図４】1つまたは複数の例示的な実施形態による、STT-MTJクラスタメモリの1つの例示的かつ確率的なプログラミングの流れ図である。
【図５】1つまたは複数の例示的な実施形態による、STT-MTJクラスタメモリの確率的なプログラミングのための、最適なSTT-MTJのスイッチングの確率を選択および/または確定するための、1つの例示的な処理を示すシミュレーション結果である。
【図６】1つまたは複数の例示的な実施形態による、確率的にプログラムされるSTT-MTJクラスタメモリのための、1つのハイブリッド直列/並列STT-MTJクラスタの一例を示す図である。
【図７】1つまたは複数の例示的な実施形態による、確率的にプログラムされるSTT-MTJクラスタメモリのための、1つのハイブリッド並列/直列STT-MTJクラスタの一例を示す図である。
【図８】1つまたは複数の例示的な実施形態による、確率的にプログラムされるSTT-MTJクラスタメモリの、1つの直列STT-MTJクラスタの態様を有するセルの、1つの例示的なMRAMアレイを示す図である。
【図９】1つまたは複数の例示的な実施形態による、確率的にプログラムされるSTT-MTJクラスタメモリの、1つの並列STT-MTJクラスタの態様を有するセルの、1つの例示的なMRAMアレイを示す図である。
【図１０】1つまたは複数の例示的な実施形態による、確率的にプログラムされるSTT-MTJクラスタメモリのための、配線された相互接続直列STT-MTJクラスタの、断面図の一例を示す図である。
【図１１】1つまたは複数の例示的な実施形態による、確率的にプログラムされるSTT-MTJクラスタメモリのための、積層直列STT-MTJクラスタの、断面図の一例を示す図である。
【図１２】1つまたは複数の例示的な実施形態による、確率的にプログラムされるSTT-MTJクラスタメモリのための、隣接並列STT-MTJクラスタの、断面図の一例を示す図である。
【図１３】1つまたは複数の例示的な実施形態による、確率的にプログラムされるSTT-MTJクラスタメモリにおける、STT-MTJクラスタのための隣接並列STT-MTJの積層構造の、断面図の一例を示す図である。
【図１４】1つまたは複数の例示的な実施形態による、1つの確率的にプログラムされるSTT-MTJのニューラルアレイを示す図である。
【図１５】1つまたは複数の例示的な実施形態による、1つの例示的なパーソナルコンピューティングデバイスの機能ブロック図である。
【図１６】1つまたは複数の例示的な実施形態による、例示的なパーソナルコンピューティングデバイスの機能ブロック図である。
【発明を実施するための形態】
【００２４】
本発明の特定の実施形態を対象とする以下の説明および関連する図面で、本発明の態様を開示する。本発明の範囲から逸脱することなく、代替的な実施形態を考案することができる。さらに、本発明の関連する詳細を不明瞭にしないように、本発明のよく知られている要素については詳細に説明しないか、または省略する。
【００２５】
「例示的な」という言葉は、「一例、実例または例として」を意味するために本明細書で使用される。「例示的」として本明細書で説明する任意の実施形態は、必ずしも他の実施形態よりも好ましいまたは有利であると解釈されない。同様に、「本発明の実施形態」という用語は、本発明のすべての実施形態が、論じられた特徴、利点または動作モードを含むことを必要としない。
【００２６】
本明細書において使われる用語は、特定の実施形態を記載するためのものに過ぎず、本発明の実施形態を限定することは意図していない。本明細書で使用する単数形「a」、「an」、および「the」は、文脈が別段に明確に示すのでなければ、複数形をも含むものとする。さらに、本明細書で使用する「含む(comprises)」、「含んでいる(comprising)」、「含む(includes)」、および/または「含んでいる(including)」という用語は、述べられた特徴、整数、ステップ、動作、要素、および/または構成要素の存在を明示するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、および/またはそれらのグループの存在または追加を排除しないことを理解されたい。
【００２７】
さらに、多くの実施形態が、たとえば、コンピューティングデバイスの要素によって実行すべき一連のアクションに関して説明される。本明細書で説明する様々なアクションは、特定の回路(たとえば、特定用途向け集積回路(ASIC))によって、1つもしくは複数のプロセッサによって実行されるプログラム命令によって、または両方の組合せによって実行できることを認識されよう。さらに、本明細書で説明するこれらの一連のアクションは、実行時に、関連するプロセッサに本明細書で説明する機能を実行させる、コンピュータ命令の対応するセットを記憶した、任意の形式のコンピュータ可読記憶媒体内で全体として具現化されるものと見なすことができる。したがって、本発明の様々な態様は、すべてが請求する主題の範囲内に入ることが企図されているいくつかの異なる形式で具現化できる。さらに、本明細書で説明する実施形態ごとに、任意のそのような実施形態の対応する形式を、たとえば、記載のアクションを実行する「ように構成された論理」として本明細書で説明することがある。
【００２８】
情報および信号は、多種多様な技術および技法のいずれかを使用して表され得ることを、当業者は諒解されよう。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界もしくは磁性粒子、光場、電子スピン素粒子、電子スピン、またはそれらの任意の組合せによって表され得る。
【００２９】
さらに、本明細書で開示した実施形態に関連して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装できることを、当業者は諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップを、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、具体的な適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を具体的な適用例ごとに様々な方法で実装することができるが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。
【００３０】
本明細書で開示した実施形態と関連して説明した方法、手順、および/またはアルゴリズムは、ハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、またはその2つの組合せで直接実施され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体中に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサと一体であり得る。
【００３１】
したがって、本発明の実施形態は、実装のための方法を具現化するコンピュータ可読媒体を含み得る。したがって、本発明は図示の例に限定されず、本明細書で説明した機能を実行するためのいかなる手段も、本発明の実施形態中に含まれる。
【００３２】
様々な例示的な実施形態が、N個のSTT-MTJ素子のSTT-MTJクラスタセルを提供し、一態様では、STT-MTJ素子への個々のアクセスを必要とすることなく、少なくともN+1個のクラスタ抵抗のいずれかを有するように、各STT-MTJクラスタセルの確率的なプログラミングを提供する。
【００３３】
本明細書で用いられる場合、「クラスタ抵抗」(RCLST)という用語は、一方のプログラミング電流線へのクラスタの結合部分から、もう一方のプログラミング電流線へのクラスタの結合部分までの抵抗を意味し、プログラミング電流は、一方のプログラミング電流線からクラスタに入り、または一方のプログラミング電流線に向かってクラスタから出ることができ、もう一方のプログラミング電流線に向かってクラスタから出て、またはもう一方のプログラミング電流線からクラスタに入ることができる。
【００３４】
加えて、本明細書で用いられる場合、「クラスタ状態」は、クラスタを構成する個々のSTT-MTJ素子がどのようなP/AP状態になるか関する、N素子STT-MTJクラスタのP/APの混合状態を意味する。「クラスタ状態」のこの定義は、N素子STT-MTJクラスタ内の、特定のSTT-MTJ素子を特定することはできない。このことは、本発明の様々な例示的な実施形態が、セルの個々のSTT-MTJ素子のP/AP状態の検出または制御を必要とせずに、マルチビットの記憶およびエラー訂正の記憶をセルに対して実現するので、許容可能である。
【００３５】
本開示を読めば、例示的な実施形態は、STT-MTJクラスタへの情報の記録を、クラスタの抵抗レベルの形で実現し、クラスタの抵抗レベルの検出によって情報の取り出しを実現するということを、当業者は諒解するだろう。接続トポロジーの様々な例が説明され、実施形態に従って実践する中で、他の例も明らかになるだろう。クラスタを構成するN個の双安定STT-MTJの具体的な接続トポロジーと、異なる双安定STT-MTJのスイッチング先であり得る、複数の抵抗レベルの間の比例関係とに応じて、得られるクラスタは、N+1個から2N個までのいずれかの個数の異なる抵抗レベルを有し得ることを理解されたい。一例として、1つの例示的な実施形態による1つのクラスタは、直列に接続された3つの同一のSTT-MTJを含んでもよく、これらのSTT-MTJの各々は、抵抗レベルrまたは抵抗レベル2rにスイッチングし得る。この例示的なクラスタは、3r、4r、5r、および6rという4つの異なる抵抗レベルのいずれかをとることができるので、2ビットの情報の記憶を実現することができる。別の例では、別の例示的な実施形態による1つのSTT-MTJクラスタは、2つが並列に接続され、3番目が、並列に配置された最初の2つと直列に接続される、3つの同一のSTT-MTJを含んでもよく、さらにより具体的な例では、これらの3つのSTT-MTJの各々は、抵抗レベルrと抵抗レベル2rとの間でスイッチングし得る。この例示的なSTT-MTJクラスタは、9r/6、10r/6、12r/6、15r/6、16r/6、および18r/6という6つの異なる抵抗レベルのいずれかを、とることができる。したがって、この例は、2ビットよりも多くの情報の記憶を実現することができる。さらに別の例では、1つの例示的な実施形態による1つのSTT-MTJクラスタは、直列に接続された3つの異なる構造のSTT-MTJを含んでもよく、その構造の差は、3つのSTT-MTJの1つが、抵抗レベルrと抵抗レベル2rとの間でスイッチングすることができ、3つのSTT-MTJの2番目が、抵抗レベル2rと抵抗レベル4rとの間でスイッチングすることができ、STT-MTJの3番目が、抵抗レベル4rと抵抗レベル8rとの間でスイッチングすることができるというものである。1つの例示的な実施形態によるこの例示的なSTT-MTJクラスタは、7r、8r、9r、10r、11r、12r、13r、および14rという8つの異なる抵抗レベルのいずれかをとることができる。したがって、この例は、3ビットの情報の記憶を実現することができる。
【００３６】
それぞれの抵抗レベルに関して区別できない、対称的なトポロジーで接続されるN個のSTT-MTJを有する、例示的な実施形態による、特定の例示的なSTT-MTJクラスタおよび関連する方法が説明される。本開示を読むことによって、例示的な実施形態によるそのような例示的なSTT-MTJクラスタは、構成するSTT-MTJのこの関連する構造によって対称的なトポロジーで実装されると、N+1個の異なる抵抗レベルを表せることが、当業者には理解されよう。したがって、これらの例は、N+1個の異なる抵抗レベルを提供するものとして説明される。これらの説明された例は、対称的なトポロジーに従って接続された同一の抵抗レベルのSTT-MTJに、実施形態を限定するものとして意図されないことが、当業者によって理解されよう。代わりに、説明された例は、そうした例が示すことを意図する概念の基礎ではない、形態そのものと形態の説明の両方においてより複雑ではない実施される形態で、概念を紹介するために用いられる。しかし、本開示を読めば、当業者は、同一ではないSTT-MTJのクラスタおよび/または非対象なトポロジーを用いて、当業者が有する一般的なノウハウを説明された概念に適用することによって、説明された実施形態およびその様々な代替的な形態に従って、容易に実践することができる。
【００３７】
理解されるように、一実施形態では、クラスタを形成する複数のSTT-MTJ素子のすべてが、(許容可能な設計および製造の誤差内で)同一のRP値およびRAP値を有してもよく、さらに、どのSTT-MTJ素子の状態が変化するかに関係なく、1つのSTT-MTJ素子のP/AP状態の変化がクラスタ抵抗の対応する変化を生み出すような、様々なクラスタトポロジーで配置され得る。したがって、一態様では、N素子STT-MTJクラスタの2N個の可能な状態があるが、これらの2N個の可能な状態の各々は、N+1個だけの可能なRCLST値の1つに該当し得る。しかし、実施形態は、RP値とRAP値が等しいSTT-MTJ素子には限定されないことが理解されよう。対照的に、例示的な実施形態は、明らかに異なるRP値およびRAP値を有する、N素子STT-MTJクラスタ内の異なるSTT-MTJ素子を利用して、実行されてもよい。
【００３８】
明示的に述べられる場合または文脈から明らかにされる場合を除き、P状態とAP状態の一方からもう一方へのスイッチングに関して説明される動作は、反対方向のスイッチングに関して説明される動作と、概念上は同一であることが、理解されよう。
【００３９】
1つの一般的な実施形態では、後のセクションでさらに詳細に説明されるように、N素子STT-MTJクラスタセルは、確率的なプログラミングによってN+1個のレベルのいずれかにプログラム可能な、N+1個のレベルの記憶装置を提供するように構成され得る。一態様では、N+1個のレベルは、個々のSTT-MTJ素子の状態を制御する必要なく、Mビットの情報の記憶装置を提供することができ、MはLog2(N+1)である。別の態様では、N+1個のレベルは、スイッチングしないSTT-MTJ素子を有するかどうかに無関係に提供される1ビットのバイナリ記憶装置として機能する、エラー訂正セル(ECC)を提供することができる。1つの一般的な実施形態によるさらなる態様は、後のセクションでさらに詳細に説明されるように、N素子STT-MTJクラスタセルによって記憶されるビットの数であるMを、Log2(N+1)より小さくなるように割り当て、複数ビットの記憶装置とECC記憶装置の両方を得る。
【００４０】
1つの一般的な実施形態では、N素子STT-MTJクラスタの確率的なプログラミングは、記憶すべきデータを受け取り、次いで、データを表すRCLST値を(たとえば参照テーブルを通じて)決定することによって、開始する。RCLST値は、「目標RCLST値」と呼ばれ得る。一態様では、確率的なプログラミングは、N素子STT-MTJクラスタの現在の状態を読み取り、現在のRCLST値が目標RCLST値を上回るか下回るかを判定する。現在のRCLST値が目標RCLST値を上回る場合、RAPがRPよりも大きいので、AP状態にあるN素子STT-MTJクラスタ中のSTT-MTJ素子の数が多すぎる(または、代替的に述べると、P状態の素子が少なすぎる)。それに応じて、確率的なプログラミングは、特別に設定されたパラメータを有するプログラミング電流を、N素子STT-MTJクラスタに注入する。このパラメータ(まとめて「PM」と呼ばれる)は、現在AP状態であるすべてのSTT-MTJ素子が、P状態へのスイッチングの確率PMTJ(PM)を有するように、具体的に設定される。一態様では、プログラミング電流がN素子クラスタに注入されると、現在AP状態であるすべてのSTT-MTJ素子は、P状態への同じスイッチングの確率PMTJ(PM)を有する(または、同じPMの周りで適度に狭い統計的な広がりを有する)。
【００４１】
一態様では、例示的なパラメータPMは、パルスの形またはパルスの特性、たとえば、代替的には電流の長さまたはパルス幅と呼ばれる電流パルスの長さを特徴付けることができ、かつ/または、パルスの極性を特徴付けることができる。さらなる態様では、例示的なパラメータPMは、たとえば、ランプの傾き、ランプの大きさ、および/もしくはランプの極性のような、アナログランプの特性またはデジタルランプの特性を定義する、アナログランプ電流またはデジタルランプ電流を特徴付けることができる。これらの特定される書込み電流のパルスおよびランプの形態は、それらの各々を設定して調整するための対応するパラメータPMの例とともに、単に例示を目的とするものであることが理解されよう。たとえば、少なくとも1つのアナログ波形の特性および/または少なくとも1つのデジタル波形の特性に従った、アナログ波形またはデジタル波形を定める、他のプログラミング電流の形態および他のプログラミング電流のパラメータが考えられる。
【００４２】
例示的な実施形態による確率的なプログラミングでは、上で説明された最初の繰返しの結果、すなわち、プログラミング電流の最初の注入の結果は、ある数のSTT-MTJ素子がAP状態からP状態にスイッチングするというものである可能性がある。スイッチングする実際のSTT-MTJ素子の数はわからないことが、理解されよう。代わりに、その推定の数のみがわかる。したがって、各繰返しの後にスイッチングしたSTT-MTJ素子の実際の数を求めるために、更新されたRCLST値が読み取られる。更新されたRCLST値が目標RCLSTを依然として上回る場合、別のプログラミング電流パルスが、最初の注入と同じ方向で注入され得る。一方、更新されたRCLST値が目標RCLSTを下回る場合、別のプログラミング電流パルスが注入され得るが、それは最初の注入とは逆の方向である。
【００４３】
一態様では、プログラミング電流パラメータの1つまたは複数が、確率PMTJを変えるために、第2の注入については変更されてよい。たとえば、この態様では、更新されるRCLST値が目標RCLST値を1上回っているだけ(1つのSTT-MTJ素子のみが状態の変化を必要とすることを意味する)である場合、第2のプログラミング電流パルスの長さまたは振幅は、低減され得る。これによって、第2のパルスが、追加の繰返しが必要になる、AP状態のSTT-MTJ素子の2つ以上のP状態へのスイッチングの確率が、下がり得る。容易に理解されるように、この追加の繰返しは、反対方向のプログラミング電流によって行われる。
【００４４】
別の態様では、このプログラミング電流のパラメータは、第2のプログラミングパルスについて、少なくとも所与の設計および製造の誤差内で、同じスイッチングの確率PMTJを有するように選択され得る。各繰返しの後にプログラミング電流のパラメータを変更しないこの態様では、値PMTJは好ましくは、そのような繰返しの数(以後「パルス数」(PC))を最小化するように、演繹的に最適化され得る。本開示から理解されるように、プログラミング電流のパラメータによって、PMTJが大きくなりすぎた場合、目標RCLST値を「オーバーシュートする」率が不必要に高くなる結果となり得る。たとえば、更新されたRCLST値が目標RCLST値より1または2だけ大きい場合、大きすぎるPMTJによって、1つまたは2つよりも多くのSTT-MTJ素子がスイッチングすることが多くなりすぎる可能性がある。そしてさらに、反対方向のプログラミング電流による訂正の繰返しが必要になる。追加の繰返しにおいて、スイッチングするSTT-MTJ素子が再び多くなりすぎる可能性もある。一方、プログラミング電流パラメータによって、PMTJが小さくなりすぎた場合、RCLSTが目標に収束するのに必要なPCが不必要に大きくなり得る。PCを最小化するようにPMTJを最適化するための例示的な処理および技法が、後のセクションでさらに詳細に説明される。
【００４５】
図3は、1つまたは複数の例示的な実施形態による、N素子STT-MTJクラスタセル300の一例を示す。一態様では、N素子STT-MTJクラスタセル300は、一連のN個のSTT-MTJ素子302-1、302-2、...302-Nを含むN素子STT-MTJ直列クラスタ302を含み得る。後のセクションでさらに詳細に説明される別の態様では、N素子STT-MTJクラスタセル300は、N個のSTT-MTJ素子352-1、352-2、...352-Nの並列配置を含むN素子STT-MTJ並列クラスタ350を含んでもよく、点350Aと350Bとの間にプログラム可能な抵抗を形成する。N素子STT-MTJ直列クラスタ302を利用する態様をここで参照すると、N素子STT-MTJ直列クラスタ302は、読取り/書込み電流(BL)線304に一方の端302Aで結合され、イネーブルスイッチ306を通じて、別の読取り/書込み電流(SL)線308に他方の端302Bで結合される。BL304およびSL308は、図3の例示的なN素子STT-MTJ直列クラスタ302と同一であり得る、複数の追加のSTT-MTJクラスタ(図示せず)の各々に延びて結合し得ることが、理解されよう。BL線304およびSL線308は、従来のn×mアレイのSTT-MTJメモリビット線およびソース線という手段によるものであってよい。同様に、イネーブルスイッチ306は、従来のn×mアレイのSTT-MTJメモリワードイネーブルスイッチ手段によるものであってよい。BL線304、SL線308、およびイネーブルスイッチは、それぞれ、従来のビット線、ソース線およびワードトランジスタ以外のものであってよいことも理解されよう。
【００４６】
図3の参照を続けると、以下でさらに詳細に説明されるような、確率的なプログラミング(PPG)のコントローラユニット312によって制御される確率的なプログラミング電流(PGC)源310が、BL線304およびSL線308に結合する。N+1レベル電圧検出器314は、読取りイネーブルスイッチ316を通じてBL線304に結合されるセンス入力314Aと、MビットからN+1レベルへの変換器318に結合されるセンス入力314Bとを有し得る。MビットデータからN+1レベルへの変換器318は、Mビットデータを、N+1個のレベルの目標抵抗電圧信号VCLS/TGTに変換することができる。N+1レベルへの変換器318は、比較(CP)信号をPPGコントローラ312に与えることができる。
【００４７】
N+1レベル電圧検出器314は、BLソース線304を介して、N素子STT-MTJ直列クラスタ302に読取り電流を注入するための、読取り電流源(明示的には示されない)を含み得ることが理解されよう。N+1レベル電圧検出器314の特定の構造について、本開示を考慮すると、当業者は、マルチレベル電圧検出器の一般的なノウハウを適用して、説明された機能を実行する様々なデバイスを容易に選択して実装することができる。したがって、さらなる詳細な説明は省略される。
【００４８】
確率的なプログラミングのコントローラ312のような図示されるブロックは機能ブロックであり、例示的な処理を説明する目的で別々に示され、ハードウェアの任意の構成または区分を必ずしも表すものではないことも、理解されよう。たとえば、PPGコントローラ312の説明された機能、たとえばタイムアウトカウンタ320は、図示された他の機能を実装する様々なデバイス、たとえばPGC源310またはN+1レベル電圧検出器314に組み込まれてよく、それらに分散配置されてもよい。
【００４９】
一態様では、後のセクションでさらに詳細に説明されるように、PPGコントローラ312は、確率的なプログラミング電流IP→APまたはIAP→PをN素子STT-MTJ直列クラスタ302に注入するように、PGC源310を制御することができ、さらに手順を進める前に、PPGコントローラ312は、N+1レベル電圧検出器314から比較信号CPを受け取ることができる。比較信号CPから、PPGコントローラ312は、N素子STT-MTJ直列クラスタ302のクラスタ状態が、MビットからN+1レベルへの変換器318へのMビットデータに対応する目標クラスタ状態にあるか、それよりも上か、それよりも下かを、識別することができる。CP信号が、N素子STT-MTJ直列クラスタ302が目標クラスタ状態にあることを示す場合、PPGコントローラ312は、プログラミングは完了したと判定することができる。
【００５０】
別の態様では、PPGコントローラ312は、プログラミング電流IP→APまたはIAP→PをN素子STT-MTJ直列クラスタ302に注入することと、N素子STT-MTJ直列クラスタ302の、生成された目標クラスタ状態に対する、得られたクラスタ状態または更新されたクラスタ状態を検出することと、本明細書では代替的に終了条件と呼ばれるプログラミング完了条件を検出するまでループを繰り返すこととを、繰返しまたはループとして反復するように、PGC源310(さらにイネーブルスイッチ306および読取りイネーブルスイッチ316)を制御する。前に説明されたように、1つの終了条件は、N素子STT-MTJ直列クラスタ302が、目標クラスタ状態にあることである。一態様では、PGCコントローラ312は、発生するパルス数(PC)として繰返しを計数するための、タイムアウトカウンタ320を含んでもよく、終了条件は、PCが所与のタイムアウト値に達することである。一態様では、タイムアウト値は、所望の最大ビットエラーレート(BER)の関数、ならびに、選択されたパラメータ値PMに対応するNおよびPMTJの値の関数であってよい。本開示から当業者が容易に理解するように、この関数は、シミュレーションを通じて、またはたとえば経験的な手段で取得され得る。別の態様では、タイムアウト値は、PPGの遅延を最大のプログラミング遅延の範囲内に保つように、設定され得る。
【００５１】
様々な例示的な実施形態によれば、PPGコントローラ312とPGC源310の1つまたは両方が、最適化されたPMTJ、PMTJ,OPTを生成するように設定された電流パラメータPM(たとえば、パルス振幅、パルス長、または他の波形パラメータ)を有する、確率的なプログラミング電流IP→APまたはIAP→Pを注入するように構成される。一態様では、後のセクションでさらに詳細に説明される手段および処理を通じて、N素子STT-MTJ直列クラスタ302が目標クラスタ状態に達するための最小の平均PCを提供する、PMTJ,OPTが決定される。前に説明されたように、かつ、本開示から当業者が理解するように、IP→APおよびIAP→Pのパラメータが大きすぎるPMTJを確立すると、大きなクラスタ状態の変化(たとえば、STT-MTJ素子のすべてが、P状態とAP状態の一方からP状態とAP状態の他方にスイッチングする)は迅速に達成され得るが、小さなクラスタ状態の変化は実現が難しくなり得る。IP→APおよびIAP→Pの代替的なパラメータ、およびこれらのパラメータを制御する態様が、後のセクションでさらに詳細に説明される。
【００５２】
図3を参照すると、本概念に特有ではない不必要な複雑さをもたらさず、実施形態の説明に焦点を当てるために、RAPとRPのデフォルトの関係は、RAPがRPの2倍、すなわち、RAP=2RPであるものとする。RAP=2RPというこの例示的な関係は、述べられたように、この説明に焦点を当てるためのものに過ぎず、実施形態の範囲を何ら限定しない。それどころか、本開示を読むと、当業者は、説明された概念を、RAPとRPの他の比例関係を用いる例示的な実施形態の実施に、容易に適合させることができる。
【００５３】
図3のN素子STT-MTJクラスタセル300による1つの例示的なデバイスは、N素子STT-MTJ直列クラスタ302の3素子STT-MTJ直列クラスタの実装形態を用いて、4レベル、2ビットのメモリセルを実装することができる。そのような例では、上で述べられたようにRAP=2RPと仮定すると、最小のRCLSTは3RPであり、3つすべてのSTT-MTJ素子がP状態(「S0クラスタ状態」と呼ばれる)である時に起き、最大のRCLSTは6RPであり、3つすべてのSTT-MTJ素子がAP状態(「S3クラスタ状態」と呼ばれる)である時に起きる。容易に理解されるように、S0クラスタ状態に対応するRCLSTの最小値は3RPであり、S3クラスタ状態によって表されるRCLSTは6RPである。S0クラスタ状態は、バイナリの「00」を表すように割り当てられてよく、S3クラスタ状態は、バイナリの「11」を表すように割り当てられてよい。「S1クラスタ状態」は、3つのSTT-MTJ素子の1つがAP状態であり、残りの2つがP状態である任意のクラスタ状態として定義され得る。S1クラスタ状態は、バイナリの「01」を表すように割り当てられ得る。したがって、S1クラスタ状態に対応するRCLSTは(前に説明されたようにRAP=2RPと仮定すると)、4RPである。最後に、「S2クラスタ状態」は、3つのSTT-MTJ素子の2つがAP状態であり、残りの1つがP状態である任意のクラスタ状態として定義され得る。S2クラスタ状態は、バイナリの「10」を表すように割り当てられ得る。したがって、S2クラスタ状態に対応するRCLSTは(やはり前に説明されたようにRAP=2RPと仮定すると)、5RPである。
【００５４】
クラスタ状態(たとえばS0、S1...)とMビットのバイナリ値との間の関係は、上で説明された例のように直接的なものには限定されないことが、理解されよう。例示すると、クラスタ状態S0が、バイナリの「10」を表すように割り当てられてよく、クラスタ状態S3が、バイナリの「00」を表すように割り当てられてよい。
【００５５】
例示的な実施形態による、上で説明された例示的な4レベル、2ビットのメモリセルを含む、NビットSTT-MTJクラスタセルの確率的なプログラミングの例示的な処理が、図4および本開示の他の箇所を参照して説明される。本開示から当業者が理解するように、図3のN素子STT-MTJクラスタセル300の、上で説明された構成によって提供される、4レベル、2ビットのメモリセルは、クラスタを形成する3つのSTT-MTJ素子への個々のアクセスを必要とすることなく、2ビットの記憶装置を提供するように構成され得る。
【００５６】
たとえば3つのSTT-MTJ素子という同じ例示的なSTT-MTJ直列クラスタ302のトポロジーを用い得る、図3のN素子STT-MTJクラスタセル300による別の例示的なデバイスは、4レベル、1ビットのエラー訂正セル(ECC)を実装する。この4レベルのSTT-MTJ ECCセルの例では、上で説明されたように、3RPという最小のRCLSTは、3つすべてのSTT-MTJ素子がP状態にある時に起き、6RPという最大のRCLSTは、3つすべてのSTT-MTJ素子がAP状態にある時に起きる。しかし、この例示的な4レベル、1ビットのSTT-MTJ ECCセルでは、S0クラスタ状態とS1クラスタ状態の両方が「0」を表すように割り当てられてよく、S2クラスタ状態とS3クラスタ状態の両方が「1」を表すように割り当てられてよい。
【００５７】
容易に諒解され得るように、上で説明された例の、4レベル、1ビットのECC STT-MTJクラスタが適切に機能するには、3つのSTT-MTJ素子のうちの2つが正常にスイッチングするだけでよい。さらに、STT-MTJ素子の3つすべてが正常にスイッチングしている場合、N+1レベル電圧検出器314がS0クラスタ状態とS1クラスタ状態のいずれかを検出した時に、「0」の記憶は完了し、N+1レベル電圧検出器314がS2クラスタ状態とS3クラスタ状態のいずれかを検出した時に、「1」の記憶は完了する。例示的な実施形態による、マルチレベル、1ビットのECC STT-MTJクラスタセルのための、N+1レベル電圧検出器314は、従来のSTT-MTJメモリの読取りに用いられるような、従来のバイナリ比較器であってよいことが理解されよう。
【００５８】
さらに図3を参照すると、上で説明された例示的な動作は、図示されるような直列クラスタのトポロジーを利用するN素子STT-MTJ直列クラスタ302を参照する。しかし、直列トポロジーは、例示的な実施形態によるマルチレベルSTT-MTJクラスタの一例に過ぎない。SL線308へのイネーブルスイッチ354によってイネーブルされる、図示されるN素子STT-MTJ並列クラスタ350は、代替的なSTT-MTJクラスタトポロジーの一例である。N素子STT-MTJ並列クラスタ350は、例示的な実施形態による繰返しプログラミングによって、N+1個のレベルのいずれか、すなわち、点350Aと350Bとの間のN+1個のクラスタ抵抗値を確立し得る、個々に352-1、352-2、...352-Nと名付けられるN個のSTT-MTJ素子を含む。一態様では、N素子STT-MTJ並列クラスタ350が、図3のマルチレベルSTT-MTJクラスタセル300の中の、N素子STT-MTJ直列クラスタ302を置き換えてもよい。別の態様では、N素子STT-MTJ並列クラスタ350は、N素子STT-MTJ直列クラスタ302と組み合わせて用いられてもよい。本開示の全体を読めば、N素子STT-MTJ並列クラスタ350の確率的なプログラミングと、N素子STT-MTJ直列クラスタ302の確率的なプログラミングとの比較から、差分が、時間に対するRCLSTとして、またはパルス数に対するRCLSTとして表され得ることを、当業者は理解するだろう。たとえば、N素子STT-MTJ並列クラスタ350を、すべてP状態とすべてAP状態の一方から、すべてP状態とすべてAP状態の他方へ確率的にプログラムする場合に現れる、時間に対するRCLSTまたはパルス数に対するRCLSTには、N素子STT-MTJ直列クラスタ302の同様の確率的なプログラミングの間に現れる、上記のようなRCLSTと比較して、差があり得る。これらの特性は、後のセクションでさらに詳細に説明される。
【００５９】
図4は、本発明の様々な例示的な実施形態による、STT-MTJクラスタメモリの1つの確率的なプログラミング400の流れ図である。概念を例示するために、図4の例400による処理が、図3の例示的なN素子STT-MTJクラスタセル300を参照して説明される。理解されるように、これは例示を目的とするものに過ぎず、様々な例示的な実施形態による確率的なプログラミングが実施され得るSTT-MTJクラスタのトポロジーの範囲に対する制限ではない。
【００６０】
本開示から当業者が理解するように、図4の例示的な確率的なプログラミング400は反復性であり、プログラミングを完了するのに必要なループまたは繰返しの正確な数は、知ることができない。したがって、様々な実施形態による、STT-MTJクラスタのプログラミングは、代替的に、たとえば、「繰返しプログラミング」、「確率的なプログラミング」、または、STT-MTJクラスタの各STT-MTJ素子のスイッチングが確率的であるので「確率的なスイッチング」と呼ばれ得る。簡潔にするために、この説明では「確率的なプログラミング」という用語を用いるが、この用語自体が、様々な実施形態のいずれかの範囲に、または実施形態の任意の態様に制限を設けるものではないことが、理解されよう。さらに、本開示から当業者が理解するように、プログラミングの完了に必要なループまたは繰返しの実際の数に関して「確率的」であっても、例示的な実施形態による確率的なプログラミングは、STT-MTJクラスタの状態が、任意の所望のプログラミング終了点において収束に向かうように促す。収束の統計は、たとえば、特定の書込み電流パラメータを用いた、STT-MTJクラスタの特定の構造の回路分析(たとえばシミュレーションモデル)を通じて特徴付けられ得ることが、理解されよう。この特徴付けは、ある範囲のプログラミング条件、たとえばある範囲の書込み電流パラメータについて取得され得る。STT-MTJクラスタの収束のそのような特徴付けを通じて、確率的なプログラミングを終了するためのタイムアウトを取得することができ、タイムアウトとは、それに達すると、ビットが正しくプログラムされる統計的な確率が所与のエラーレートを満たすことを意味する、繰返しの数である。STT-MTJクラスタの収束の統計の特徴付けから決定されるタイムアウトは、次いで、プログラミング条件に特有の既知の値に、最大のビットエラーレートを制限するために利用され得る。加えて、タイムアウトは、プログラミング条件に特有の既知の値に、最大のプログラミング遅延を制限するために利用され得る。後のセクションでさらに詳細に説明される一態様では、所与のエラーレートを確実に満たすために必要なタイムアウトを最小化できる、N素子STT-MTJクラスタのクラスタ状態収束の統計の最適化は、たとえば、書込み電流パラメータの選択を通
じて得ることができる。
【００６１】
ここで図4を参照すると、例示的な確率的なプログラミング400は、初期状態402から開始し得る。初期状態402はたとえば、例示的な実施形態による任意のN素子STT-MTJクラスタの任意のクラスタ状態であってよく、そのクラスタ状態と関連付けられるすべてのRCSTを有する。一態様では、初期状態は、PCタイムアウトカウンタ320を0(または、PCタイムアウトカウンタ320が減少方向のカウンタとして構成される場合には最大のカウント)にリセットすることを含み、または仮定する。例示として、上で説明される例示的な4レベル3ビットの直列STT-MTJメモリに対して、例示的な確率的なプログラミング400を実行する際、初期状態は、3つのSTT-MTJ素子の1つがAP状態であり、残りの2つがP状態である、S1状態であってよい。前に説明されたRPとRAPの例示的な関係を用いると、クラスタ状態S1のRCSTは4RPである。404において書き込む値を受け取ると、処理は406に進み、そこでSTT-MTJクラスタ350の読取りが実行される。406における読取りは、たとえば、PGC電流源310が読取り電流をSTT-MTJクラスタ300に注入し、たとえば点302Aと302Bの1つにおける電圧を、参照電圧(図示せず)と比較することによって、実現され得る。図3の例示的なN素子STT-MTJクラスタ300を参照すると、406における読取りは、N+1レベル電圧検出器314が適切な読取り電流を注入し、次いで、得られた電圧を、MビットデータからN+1レベルへの変換器318によって生成されたプログラミング目標電圧と比較することによって、実行され得る。
【００６２】
406における上で説明された読取りに関して、たとえば、点302Aと302Bの1つにおける読取り電圧と参照電圧との比較は、N素子STT-MTJクラスタのクラスタ状態を検出するための一例に過ぎないことが理解されよう。例示的な実施形態による1つの代替形態では、アナログデジタル変換器(図示せず)が、クラスタにおける電圧をデジタル値に変換し、次いで、デジタル値を目標のMビットデータと比較するために、提供され得る。さらに、一態様では、クラスタ状態の読取り/感知は、406のような別個のステップを必要とするのではなく、414におけるプログラミング電流の印加と同時に実行されてもよく、これは以下でさらに詳細に説明される。同時の読取り/書込みというこの態様を用いる、例示的な実施形態による確率的なプログラミングは、遅延および電力に関してプログラミングのオーバーヘッドを低減することができる。本開示で述べられる概念から、当業者は、同時の読取り/書込みの態様を用いる例示的な実施形態に従って実施するための、説明された例に対する必要な修正を容易に識別し実施することができる。
【００６３】
図4の参照を続けると、406における読取りの後、例示的な確率的なプログラミング400は、406における読取り値を差分ゼロ基準または他の所与の基準と比較する、ゼロ終了判定ブロック408に進み、上記の基準の例が以下で説明される。ゼロ終了判定ブロック408が「はい」を示す場合、処理は、書込み完了ブロック410に進み、初期状態402に戻ることで終了する。一態様では、ゼロ終了判定ブロック408によって適用される差分ゼロ基準は、クラスタ状態が目標クラスタ状態であることであり得る。別の態様では、差分ゼロ基準は、クラスタ状態が、目標クラスタ状態から所与の差以内にあることとして、定義され得る。たとえば、所与の抵抗値として目標クラスタ状態を特徴付ける場合、ゼロ終了判定ブロック408のための所与の基準は、所与の抵抗値に対する抵抗の範囲であってよい。加えて、設計の選択および具体的な用途に応じて、書込み完了ブロック410は、たとえば完了したばかりの書込み動作と関連付けられる別の処理リソース(図示せず)によって利用され得る、「書込み完了」または「プログラム完了」信号(図示せず)を生成する、図3の例示的な確率的なプログラミングコントローラ312のようなコントローラを含み得る。
【００６４】
理解されるように、ゼロ終了判定ブロック408に入った最初の時に「はい」となる1つの場合は、N素子STT-MTJクラスタがすでに、書き込まれるべきデータを表す状態にある場合であり得る。
【００６５】
図4の参照を続けると、ゼロ終了判定ブロック408が「いいえ」を示す場合、例示的な確率的なプログラミング400は、タイムアウト終了判定ブロック412に進むことができ、そこで、タイムアウトカウンタの値「PCLOOP」が所与のタイムアウト「PCTMOUT」と比較される。図4の確率的なプログラミング400によるこの例は、初期状態ブロック402から開始したので、ブロック412においてはタイムアウトにならない可能性が高い。次のループまたは繰返しにおいて、タイムアウト終了判定ブロック412が「はい」を示す場合、すなわち、PCLOOPがPCTMOUTに対する所与の関係の基準(たとえば、PCTMOUTよりも大きい、PCTMOUT以上である)を満たす場合、処理は、書込み完了ブロック410に進み、初期状態402に戻ることによって終了する。設計の選択および具体的な用途に応じて、書込み完了ブロック410は、ゼロ終了判定ブロック408ではなくタイムアウト終了判定ブロック412からの入力に応答して、前に説明された書込み完了信号またはプログラム完了信号ではなく書込みタイムアウト信号(図示せず)を生成する、図3の例示的な確率的なプログラミングコントローラ312のようなコントローラを含み得る。書込みタイムアウト信号、またはその等価物は、たとえば、タイムアウトになった書込み動作を繰り返すために利用されてもよいことが、考慮される。書込みタイムアウト信号またはその等価物は、たとえば、プログラミング動作が目標の状態に達していないことを示すフラグビット(図示せず)を設定するために利用されてもよく、それによって追加のエラー処理手順を可能にすることが、さらに考慮される。
【００６６】
さらに図4を参照すると、タイムアウト終了判定ブロック412が「いいえ」を示す場合、処理は414へ進み、最初の適切なプログラミング電流パルスを、または現在のループが繰返しのループである場合には別の適切なプログラミング電流パルスを、印加または注入し、次いで416へ進みPCLOOPをインクリメントする。ブロック414は、たとえば、PGC源310とイネーブルスイッチ306の1つまたは両方を制御するPPGコントローラ312によって、実行され得る。一態様では、ブロック414は、全範囲の状態遷移にわたって、クラスタ状態が目標クラスタ状態に収束するのに必要な平均のPCが最も小さくなるように、演繹的に最適化されたパラメータ(たとえば、電流パルス振幅および電流パルス長)を有するIP→APおよびIAP→Pを加える。別の態様では、ブロック414は、ブロック408において実行される比較に従って、IP→APまたはIAP→Pの1つまたは複数のパラメータ(および、したがって現在の繰返しに対するPMTJ)を調整するための、たとえば参照テーブル(図示せず)を介して構成されている、PGC源310とPPGコントローラ312の1つまたは両方を含み得る。ブロック414においてIP→APまたはIAP→Pを加え、416においてPCを増加させた後で、確率的なプログラミング400はブロック406へ進み、クラスタ状態の更新された読取り値を得て、終了条件が判定ブロック408と412の1つにおいて検出されるまで、図示され上で説明されたループを繰り返す。
【００６７】
最適なPMTJを選択するための例示的な処理および技法が、ここで説明される。本開示から当業者が理解するように、最適なPMTJが選択されると、プログラミング電流のパラメータを、たとえばこれらのパラメータに対するPMTJについてのSTT-MTJ素子特性のシミュレーションを用いて、決定することができる。
【００６８】
まず、PMTJを最適化するための例示的な処理および技法の説明に用いられる用語が、ここで定義される。これらの用語自体は、本明細書で定義される意味のみを有する記号であり、本来の意味を全く有さず、別段述べられない限り、この説明以外で現れる同一または同様の用語を指すこと、またはそれらを包含することは何ら意図されないことが、理解されよう。
【００６９】
変数Nは、プログラムされているSTT-MTJクラスタ中のSTT-MTJ素子の数である。図3の例示的なマルチレベルSTT-MTJクラスタセル300の、直列のN素子STT-MTJクラスタ302を参照すると、Nは値Nである。
【００７０】
変数λは、クラスタ状態の遷移のためにスイッチングされる、STT-MTJ素子の数である。たとえば、図3の例示的なN素子STT-MTJ直列クラスタ302に従って配置され、STT-MTJ素子の3つすべてがP状態であるS0クラスタ状態から、3つのSTT-MTJ素子のうち2つがAP状態であるS2クラスタ状態にスイッチングする、上で説明された例示的な4レベル3ビットの直列STT-MTJメモリは、2つのSTT-MTJ素子がP状態からAP状態にスイッチングされる必要がある。したがって、この例においてλの値は2である。「λ=N」は、クラスタ中のすべてのSTT-MTJがスイッチングされる必要がある、クラスタ状態の遷移を表すことが理解されよう。
【００７１】
本開示から当業者が容易に理解するように、PMTJが低い場合、目標クラスタ状態への収束に必要な平均PCの観点で最悪の場合の状態遷移は、λ=N、すなわち、STT-MTJクラスタ中のすべてのSTT-MTJ素子をスイッチングする必要がある状態遷移である。当業者が同様に理解するように、PMTJが高い場合、最悪の場合の状態遷移は、λ=1、すなわち、STT-MTJクラスタ中のSTT-MTJ素子の1つしかスイッチングを必要としない状態遷移である。
【００７２】
さらなる用語がここで定義される。
【００７３】
pτは、選択された振幅およびτというパルス幅を有するプログラミングパルスを加えた時の、STT-MTJのスイッチングの確率である。
【００７４】
【数１】
2013530479.tif 000003
【００７５】
は、λ個のSTT-MTJをスイッチングする必要がある状態遷移の、プログラミングの繰返し(すなわちPC)の平均の数である。
【００７６】
【数２】
2013530479.tif 000004
【００７７】
は、λ個のSTT-MTJをスイッチングする必要がある状態遷移の、平均のプログラミング時間(遅延)を示す。
【００７８】
単一のSTT-MTJしかない場合であるN=1では、前述の確率的なプログラミングの平均のプログラミングの繰返しおよび遅延は、以下のように表され得る。
【００７９】
【数３】
2013530479.tif 000005
【００８０】
【数４】
2013530479.tif 000006
【００８１】
【数５】
2013530479.tif 000007
【００８２】
ここで、
【００８３】
【数６】
2013530479.tif 000008
【００８４】
は、確率的なプログラミングによって達成できる最小の平均プログラミング遅延を表し、これは、従来の決定論的なプログラミングによって実現できる最小の平均プログラミング遅延よりも、はるかに小さい。pτの背後にある詳細な物理特性に関係なく、本開示を読んだ後に当業者によって容易に生成される、具体的な製造プロセスに対するSTT-MTJスイッチング特性グラフは、この最小平均プログラミング遅延が、以下の関係によって、PMTJが約63.2%の場合の遅延であることを示す。
【００８５】
【数７】
2013530479.tif 000009
【００８６】
N=2M-1のMビットのマルチレベルセル(MLC)プログラミングの場合、平均のプログラミングの繰返し数および平均プログラミング遅延(時間)に関して、以下の関係がある。
【００８７】
【数８】
2013530479.tif 000010
【００８８】
【数９】
2013530479.tif 000011
【００８９】
ここで、γM≒M0.866である。
【００９０】
例示的な実施形態の考えられる適用例は、プログラミングコスト、たとえば記憶動作の実行に必要であるクロックサイクルの数が最小になる適用例を含む。例示的な実施形態による確率的なプログラミングは、λの全範囲にわたって、最小の平均PCを得る値を最適なPMTJとして選択することによって、この目的を満たすように構成され得る。
【００９１】
一態様では、最小の平均PCという目的に従って最適化されるPMTJ値は、たとえば、モンテカルロシミュレーションを通じて得ることができる。適切なモンテカルロシミュレーションは、HSPICEまたは同等のもののような、市販のシミュレーションシステムを用いて実行することができる。当業者は、本開示を考慮して、過度の実験を伴わずに、HSPICEのようなシミュレーションシステムで、必要な回路およびデバイスのモデルを容易に実装し、最適な平均PCを得るように最適化されたPMTJ値を特定することができる。
【００９２】
単独で、または上で説明されたモンテカルロシミュレーションとともに、所望のクラスタ状態に収束するのに必要な最小の平均PCを与え得る、またはそのようなPCを少なくとも指し得る、PMTJに対する1つの経験的な式は、以下の通りである。
【００９３】
【数１０】
2013530479.tif 000012
【００９４】
広く経験的に観測されたクラスタトポロジーの範囲にわたって、かつ、すべてのモデル化された状態遷移にわたって、すなわちλの全範囲にわたって、対応する最小の平均PCを示す1つの経験的な式が、以下のように表され得る。
【００９５】
【数１１】
2013530479.tif 000013
【００９６】
図5は、図3のSTT-MTJクラスタメモリセル300のN素子STT-MTJ直列クラスタ302のような直列のクラスタトポロジーを有する、モデル化された3素子、4レベルのSTT-MTJクラスタで用いられるPMTJの値の範囲を表す横軸502を有する、シミュレーション結果500である。縦軸504は、目標状態への収束に必要な平均PCのシミュレーション結果である。プロット線506は、特定のPMTJに対してλ個のクラスタ状態の遷移が用いられる、シミュレーションされた最悪の場合の平均PCを、PMTJに対して示すものであり、上記の最悪の場合のクラスタ状態の遷移とは、言い換えると、PMTJが0に近い場合には、STT-MTJ素子の3つすべてをP/AP状態にスイッチングする必要があるクラスタ状態の遷移であり、PMTJが100%に近い場合には、λ=1のクラスタ状態遷移である。プロット線510は、シミュレーションされたすべての状態遷移λの平均PCを、PMTJに対して示すものであり、すべての状態遷移とは、言い換えると、STT-MTJ素子の1つ、2つ、または3つをP/AP状態へスイッチングする必要があるすべてのクラスタ状態遷移である。「PMTJ-OPT」という名前の重畳されたマーカー512は、上の経験的な式(7)から得られるPMTJ,OPTの値である。見るとわかるように、シミュレーション結果と経験的な式(7)は一致する。
【００９７】
図6は、1つまたは複数の例示的な実施形態による、確率的にプログラムされるSTT-MTJクラスタメモリのための、1つの例示的なハイブリッド直列/並列STT-MTJクラスタ600を示す。図6の例示的なハイブリッド直列/並列STT-MTJクラスタ600は、N個の並列トポロジーのSTT-MTJクラスタ602-1、...602-Nの直列結合を含み、各並列トポロジーのSTT-MTJクラスタ602は、T個の並列のSTT-MTJ素子6020-1、...6020-Tを有する。
【００９８】
図7は、1つまたは複数の例示的な実施形態による、確率的にプログラムされるSTT-MTJクラスタメモリの、1つの例示的なハイブリッド並列/直列STT-MTJクラスタ700を示す。図7の例示的なハイブリッド並列/直列STT-MTJクラスタ700は、N個の直列トポロジーのSTT-MTJクラスタ702-1、...702-Nの並列結合(一般に「702-x」と呼ばれる)を含み、各直列トポロジーのSTT-MTJクラスタ702-xは、V個の直列のSTT-MTJ素子7020-1、7020-2、...7020-Vを有する。
【００９９】
図8は、3素子、4レベルのSTT-MTJ直列クラスタ802で形成される1つの例示的なMRAMアレイ800を示し、STT-MTJ直列クラスタ802は各々が、図3の例示的なマルチレベルSTT-MTJクラスタメモリ300のN素子STT-MTJ直列クラスタ302のような、3つの直列に結合されたSTT-MTJ素子8020-1、8020-2および8020-3という、8020として拡大図で示されるトポロジーを有する。
【０１００】
図9は、3素子、4レベルのSTT-MTJ並列クラスタ902で形成される1つの例示的なMRAMアレイ900を示し、STT-MTJ並列クラスタ902は各々が、図3の例示的なマルチレベルSTT-MTJクラスタメモリ300のN素子STT-MTJ並列クラスタ350のような、3つの並列に結合されたSTT-MTJ素子9020-1、9020-2および9020-3という、9020として拡大図で示されるトポロジーを有する。
【０１０１】
図10は、1つまたは複数の例示的な実施形態による、確率的にプログラムされるSTT-MTJクラスタメモリのための、配線された相互接続直列STT-MTJクラスタ1000の、断面図の一例を示す。図10の断面図は、図が示す新規の概念を不明瞭にするのを避けるために、実施形態に特有ではないSTT-MTJ素子の構造的特徴を省略し、代わりに、図示される概念の任意の1つまたは複数を具現化するSTT-MTJクラスタを、STT-MTJの設計および製造に関する当業者が設計し、製造し、検査できるようにするのに十分詳細に、構造的特徴を示すことが理解されよう。図10を参照すると、STT-MTJクラスタ1000は、N個のSTT-MTJ素子1002-1、1002-2、...1002-N(一般に「1002-x」と呼ばれる)を形成する。各STT-MTJ素子1002-xは、下部接続層1006と上部接続層1010との間に、固定層1018、接合層1016、およびフリー層1014がある、STT-MTJ積層であってよい。最も左側のSTT-MTJ素子1002-1は、絶縁体1004と素子内部の絶縁体1012との間に、STT-MTJ積層を有する。他のSTT-MTJ素子(1002-2、1002-N)は、複数の絶縁体1012の間に対応するSTT-MTJ積層を有する。垂直方向の接続層1008は、各STT-MTJ素子1002xを、隣のSTT-MTJ素子1002-xと直列に接続する。配線された相互接続直列STT-MTJクラスタ1000は、接続層1008が素子と素子の間の接続を形成するので、「配線された」と呼ばれる。一態様では、例1000のような配線された相互接続直列STT-MTJクラスタは、たとえば、図3の例示的なマルチレベルSTT-MTJクラスタメモリ300のN素子STT-MTJ直列クラスタ302として、用いられ得る。例を示すと、最も右端のSTT-MTJ素子1002-Nの上部接続層1010はビット線BLに接続され、一方最も左端のSTT-MTJ素子1002-1の下部接続層1006は、例示的なイネーブルスイッチ1020を通じてソース線SLに接続される。
【０１０２】
図11は、1つまたは複数の例示的な実施形態による、確率的にプログラムされるSTT-MTJクラスタメモリのための、配線された積層相互接続直列STT-MTJクラスタ1100の、断面図の一例を示す。図11の断面図は、図が示す新規の概念を不明瞭にするのを避けるために、実施形態に特有ではないSTT-MTJ素子の構造的特徴を省略し、代わりに、図示される概念の任意の1つまたは複数を具現化するSTT-MTJクラスタを、STT-MTJの設計および製造に関する当業者が設計し、製造し、検査できるようにするのに十分詳細に、構造的特徴を示すことが理解されよう。図11を参照すると、配線された積層相互接続直列STT-MTJクラスタ1100は、N個のSTT-MTJ素子1102-1、1102-2、...1102-N(一般に「1102-x」と呼ばれる)の積層を有する。各STT-MTJ素子1102-xは、2つの絶縁体1106の間で、固定層1108、接合層1112、およびフリー層1110というSTT-MTJ積層がその上に形成される、下部接続層1104で形成される。配線された積層相互接続直列STT-MTJクラスタ1100は、下部接続層1104が素子と素子の間の接続を形成するので、「配線された」と呼ばれる。この例では、最下部のSTT-MTJ素子1102-1の下部接続層1104は、イネーブルスイッチ1120を通じてソース線に接続される。最上部のSTT-MTJ素子1102-Nは、ビット線BLに接続するように示される上部接続層1112を有する。
【０１０３】
図12は、1つまたは複数の例示的な実施形態による、確率的にプログラムされるSTT-MTJクラスタメモリのための、隣接並列STT-MTJクラスタ1200の、断面図の一例を示す。図12の断面図は、図が示す新規の概念を不明瞭にするのを避けるために、実施形態に特有ではないSTT-MTJ素子の構造的特徴を省略し、代わりに、図示される概念の任意の1つまたは複数を具現化するSTT-MTJクラスタを、STT-MTJの設計および製造に関する当業者が設計し、製造し、検査できるようにするのに十分詳細に、構造的特徴を示すことが理解されよう。図12を参照すると、隣接並列STT-MTJクラスタ1200は、機械的に隣接して形成されるN個のSTT-MTJ素子1202-1、1202-2、...1202-N(一般に「1202-x」と呼ばれる)で形成される。各STT-MTJ素子1202-xは、その下端または基部において、クラスタ全体にわたる接続層1204へ結合する。各STT-MTJ素子1202-xは、下部接続層1204に接触する固定層1210、固定層1210の上の接合層1212、および接合層1212の上のフリー層1214の積層で形成される。絶縁体1208は、隣接するSTT-MTJ素子1202-xを分離する。上部接続層1206は、各々のSTT-MTJ素子1202のフリー層1214に接触する、クラスタ全体の最上部にわたる。この例では、下部接続層1204は、イネーブルスイッチ1220を通じてソース線に接続されるように示され、上部接続層1206は、ビット線BLに接続されるように示される。一態様では、例1200のような隣接並列STT-MTJクラスタは、たとえば、図3の例示的なマルチレベルSTT-MTJクラスタメモリ300の中の1つの代替的なSTT-MTJクラスタとして示される、N素子STT-MTJ並列クラスタ350として用いられ得る。
【０１０４】
図13は、1つまたは複数の例示的な実施形態による、確率的にプログラムされるSTT-MTJクラスタメモリのための、積層直列/並列ハイブリッドSTT-MTJクラスタ1300の、断面図の一例を示す。図13の断面図は、図が示す新規の概念を不明瞭にするのを避けるために、実施形態に特有ではないSTT-MTJ素子の構造的特徴を省略し、代わりに、図示される概念の任意の1つまたは複数を具現化するSTT-MTJクラスタを、STT-MTJの設計および製造に関する当業者が設計し、製造し、検査できるようにするのに十分詳細に、構造的特徴を示すことが理解されよう。図13を参照すると、積層直列/並列ハイブリッドSTT-MTJクラスタ1300は、N個の隣接並列STT-MTJクラスタ1302-1、1302-2、...1302-N(一般に「1302-x」と呼ばれる)の積層を含む。一態様では、隣接並列クラスタ1302-xの各々は、最下部の並列STT-MTJクラスタ1302-1を除くすべての並列STT-MTJクラスタの下部接続層1304が、その下のSTT-MTJクラスタ1302-xの上部接続層(個別に番号は付けられていない)として動作し、最上部の並列STT-MTJクラスタ1302-Nのみが上部接続層1306を有するという点を除いて、図12の隣接並列STT-MTJクラスタ1200に従ったものであってよい。一態様では、例1300のような積層隣接並列STT-MTJクラスタは、たとえば、図6の例示的な直列/並列ハイブリッドSTT-MTJクラスタ600として用いられ得る。
【０１０５】
図14は、確率的にプログラムされるN素子STT-MTJクラスタをシナプスとして利用する、1つの例示的な実施形態による、STT-MTJニューラルネットワーク1400の代表的な部分を示す。STT-MTJニューラルネットワーク1400は基本的に、i個の軸索の行1410-1、1410-2、...1410-iと、1404-jおよび1404-j-1が示されるj個の樹状突起の列と、STT-MTJクラスタ1402でできたkビットのMLCシナプスとを有するシステムの、i×j×kのマトリックスを表す。STT-MTJクラスタ1402は、たとえば、図3の例示的なN素子STT-MTJクラスタセル300を用いて実装されてよく、STT-MTJ素子の数Nは2k-1である。図4を参照して説明されたように、STT-MTJクラスタ1402の確率的なプログラミングを用いて、任意のi×j×kのマトリックスの状態が学習され得る。様々な例示的な実施形態によるSTT-MTJクラスタは、シナプスが脳の中でどのように機能するかを忠実に模擬する、確率的なスイッチングの性質によって、まさしく、ニューラルネットワークにおけるシナプスの役割に自然に適合する。このSTT-MTJニューラルネットワーク1400の1つのさらなる利点は、最小のIOで最大のプログラム可能性を実現でき、確率的なSTT-MTJクラスタのプログラミングによって可能になる高速なプログラミング速度を、低電力という点で高性能に達成できることである。
【０１０６】
ニューラルネットワークの当業者により知られているように、実際の生物学的なニューラルネットワークにおいては、刺激はシナプスを通じて軸索から樹状突起に伝えられる。シナプスを通る刺激が多くなると、全般にシナプスの伝導性が高くなる(結合が強くなる)可能性が高くなり、一方、刺激が実際には阻害剤である場合、伝導性は低くなる(結合は弱くなる)。例示的な実施形態によるSTT-MTJの確率的なスイッチングによって、STT-MTJクラスタが、人工的なニューラルネットワークにおいてシナプスとして用いられるのにまさに適当なものになることが、当業者には理解されよう。一例として、図3の例示的なN素子STT-MTJクラスタセル300のPPGコントローラ312の小さな修正によって、STT-MTJクラスタ(たとえばN素子STT-MTJ直列クラスタ302)へ連続的なパルスが与えられ得る。パルスが進むにつれて、さらに多くのSTT-MTJが、確率的なプログラミング電流の方向に応じて、PからAP、またはAPからPのいずれかの方向にスイッチングする。そして、このスイッチングは、(確率的なプログラミング電流がSTT-MTJをAPからPにスイッチングする場合)さらに高い伝導性に対応し、(電流がSTT-MTJをPからAPにスイッチングする場合)さらに低い伝導性に対応する。したがって、神経の刺激を模擬する確率的なプログラミング電流パルスを用いて、生体的なメモリを形成するニューラルネットワークにおいて、シナプスの結合を強くすることができる。さらなる利点として、逆方向のプログラミング電流パルスを用いて、シナプスの結合を弱めて、生体的なメモリを消去し、または阻害剤の効果の模擬することができ、これは学習に大きく関連し得る。
【０１０７】
例示的な実施形態による、確率的にプログラム可能なSTT-MTJクラスタを有するニューラルネットワークを実施する際、パルス数またはプログラミングの長さに対するクラスタ抵抗、すなわちRCLSTの変化の線形性を、特徴付けるとともに増加または減少させることが望まれ得る。このことの実行に加えて、すべてPからすべてAPにスイッチングするように確率的にプログラムされている直列トポロジーのN素子STT-MTJクラスタについて、所与のクラスタ状態におけるクラスタ抵抗RCLSTは、以下のように表され得る。
【０１０８】
【数１２】
2013530479.tif 000014
【０１０９】
ここで、
【０１１０】
【数１３】
2013530479.tif 000015
【０１１１】
は、AP状態の各STT-MTJ素子の抵抗であり、
【０１１２】
【数１４】
2013530479.tif 000016
【０１１３】
は、P状態の各STT-MTJ素子の抵抗であり、NはSTT-MTJ素子の数であり、xはAP状態のSTT-MTJ素子の数である。
【０１１４】
直列トポロジーのSTT-MTJクラスタがPからAPにスイッチングされている間の、各STT-MTJ素子がPからAPにスイッチングしたことによるRCLSTの変化を意味する、RCLSTのデルタ変化は、以下のように表され得る。
【０１１５】
【数１５】
2013530479.tif 000017
【０１１６】
N素子の直列トポロジーのSTT-MTJクラスタを、すべてAPからすべてPにスイッチングする際の、クラスタ抵抗およびクラスタ抵抗のデルタ変化は、上の特性と同様である。
【０１１７】
しかし、例示的な実施形態による確率的なプログラミングは、単位時間あたり一定の数のSTT-MTJ素子のスイッチングを引き起こさない。したがって、上で説明されたように、N素子STT-MTJクラスタの実際の確率的なプログラミングにおいて、何らかの非線形性が示され得る。
【０１１８】
すべてPからすべてAPへスイッチングするように確率的にプログラムされている、並列トポロジーのm素子STT-MTJクラスタについて、x個のSTT-MTJがAP状態である所与のクラスタ状態におけるクラスタ抵抗RCLSTが、以下のように表され得ることにも、留意することができる。
【０１１９】
【数１６】
2013530479.tif 000018
【０１２０】
並列トポロジーのSTT-MTJクラスタがすべてPからすべてAPにスイッチングされている間の、並列トポロジーのm素子STT-MTJクラスタの各STT-MTJ素子がPからAPにスイッチングしたことによるRCLSTの変化を意味する、RCLSTのデルタ変化は、以下のように表され得る。
【０１２１】
【数１７】
2013530479.tif 000019
【０１２２】
容易にわかるように、このデルタは、並列トポロジーのSTT-MTJクラスタがすべてPからすべてAPにスイッチングされている時は、線形ではない。
【０１２３】
すべてAPからすべてPへスイッチングするように確率的にプログラムされている、並列トポロジーのm素子STT-MTJクラスタについて、x個のSTT-MTJがP状態である所与のクラスタ状態におけるクラスタ抵抗RCLSTは、以下のように表され得る。
【０１２４】
【数１８】
2013530479.tif 000020
【０１２５】
並列トポロジーのSTT-MTJクラスタがAPからPにスイッチングされている間の、並列トポロジーのm素子STT-MTJクラスタの各STT-MTJ素子がAPからPにスイッチングしたことによるRCLSTの変化を意味する、RCLSTのデルタ変化は、以下のように表され得る。
【０１２６】
【数１９】
2013530479.tif 000021
【０１２７】
図6の例600のような、直列/並列ハイブリッドトポロジーの複数素子STT-MTJクラスタ、または、図7の例700のような並列/直列ハイブリッドトポロジーの複数素子STT-MTJクラスタ、またはこれら両方の組合せを利用することで、線形特性の選択および修正を実現できることを、当業者は本開示から諒解するだろう。
【０１２８】
図15は、1つまたは複数の例示的な実施形態によるワイヤレス電話のような、電子デバイス1500の機能ブロック図である。デバイス1500は、確率的にプログラムされるマルチレベルメモリ回路、たとえば、別のメモリ1506(たとえばDRAM)に結合され得るデジタルシグナルプロセッサ(DSP)1504のようなプロセッサまたは処理ユニットに結合される、N素子STT-MTJメモリ回路1502を含み得る。1つの説明のための例では、確率的にプログラムされるN素子STT-MTJクラスタメモリ回路1502は、図3を参照して説明されたN素子STT-MTJクラスタメモリセル300、または1つの代替手段として、図8を参照して説明されたような3素子、4レベルのSTT-MTJ直列クラスタ802を有するMRAMアレイ800、または別の代替手段として、図9を参照して説明されたような3素子、4レベルのSTT-MTJ並列クラスタ902を有するMRAMアレイ900、または別の代替手段ではこれらの任意の組合せのような、装置を含み得る。
【０１２９】
さらに図15を参照すると、電子デバイス1500は、DSP1504およびディスプレイ1510に結合される、ディスプレイコントローラ1508を有し得る。加えて、コーダ/デコーダ(コーデック)1512が、DSP1504、スピーカ1536、およびマイクロフォン1538に結合され得る。ワイヤレスコントローラ1518が、デジタルシグナルプロセッサ1504およびワイヤレスアンテナ1520に結合され得る。ある特定の実施形態では、DSP1504、メモリ1506、ディスプレイコントローラ1508、確率的にプログラムされるマルチレベルSTT-MTJクラスタメモリ回路1502、コーデック1512、およびワイヤレスコントローラ1518は、システムインパッケージまたはシステムオンチップ(SOC)1522に含まれる。ある特定の実施形態では、入力デバイス1530(たとえば、タッチパッド、キーパッド、他の人間の命令インターフェース)および電源1544が、SOC1522に結合される。その上、図15に示されるように、一態様では、ディスプレイ1510、入力デバイス1530、スピーカ1536、マイクロフォン1538、ワイヤレスアンテナ1520、および電源1544が、SOC1522の外部にあってよい。しかし、これらの各々は、たとえばインターフェースまたはコントローラを通じて、SOC1522の1つまたは複数のコンポーネントに結合され得る。
【０１３０】
図16は、本開示の1つまたは複数の実施形態が有利に利用され得る、例示的なワイヤレス通信システム1600を示す。説明のために、図16は、3つの遠隔ユニット1620、1630、1650および2つの基地局1640を示す。従来のワイヤレス通信システムは、これより多くの遠隔ユニットおよび基地局を有し得ることが理解されよう。遠隔ユニット1620、1630、および1650は、集積回路または他の半導体デバイス(本明細書で開示されたようなオンチップ電圧レギュレータを含む)1625、1635、および1655を含み、これらは以下でさらに論じられるような本開示の実施形態の一部である。図16は、基地局1640から遠隔ユニット1620、1630、1650への順方向リンク信号1680、および遠隔ユニット1620、1630、1650から基地局1640への逆方向リンク信号1690を示す。
【０１３１】
図16では、遠隔ユニット1620は携帯電話として示され、遠隔ユニット1630は可搬型コンピュータとして示され、遠隔ユニット1650はワイヤレスローカルループシステム中の固定位置の遠隔ユニットとして示されている。たとえば、遠隔ユニットは、携帯電話、ハンドヘルドパーソナル通信システム(PCS)ユニット、携帯情報端末(PDA)のようなポータブルデータユニット、(GPS対応デバイスのような)ナビゲーションデバイス、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、メータ読取り機器のような固定位置のデータユニット、またはデータもしくはコンピュータ命令の記憶もしくは取り出しを行う任意の他のデバイス、またはそれらの任意の組合せのうちの、任意の1つまたは組合せであってよい。図16は、本開示の教示に従った遠隔ユニットを示すが、本開示は、これらの例示的な示されたユニットには限定されない。本開示の実施形態は、試験および特性評価のための、メモリおよびオンチップ回路を含む能動的な集積回路を含む、任意のデバイスにおいて適切に利用され得る。
【０１３２】
前述の開示されたデバイスおよび機能は、コンピュータ可読媒体に記憶されるコンピュータファイル(たとえば、RTL、GDSII、GERBERなど)になるように、設計かつ構成され得る。そのようなファイルの一部またはすべてが、そのようなファイルに基づいてデバイスを製造する製造担当者に与えられ得る。得られた製品は、次いで半導体ダイに切断され半導体チップにパッケージングされる、半導体ウェハを含む。そして、このチップが、上で説明されたデバイスで利用される。
【０１３３】
上記の開示は本発明の例示的な実施形態を示すが、添付の特許請求の範囲によって規定される本発明の範囲から逸脱することなく、本明細書において様々な変更および修正を行えることに留意されたい。本明細書で説明した本発明の実施形態による方法クレームの機能、ステップおよび/またはアクションは、特定の順序で実行されなくてもよい。さらに、本発明の要素は、単数形で説明または特許請求されていることがあるが、単数形に限定することが明示的に述べられていない限り、複数形が企図される。
【符号の説明】
【０１３４】
300  N素子STT-MTJクラスタセル
302  N素子STT-MTJ直列クラスタ
304  BL線
306  イネーブルスイッチ
308  SL線
310  PGC源
312  PPGコントローラ
314  N+1レベル電圧検出器
316  読取りイネーブルスイッチ
318  MビットデータからN+1レベルへの変換器
600  ハイブリッド直列/並列STT-MTJクラスタ
700  ハイブリッド並列/直列STT-MTJクラスタ
800  MRAMアレイ
802  STT-MTJ直列クラスタ
900  MRAMアレイ
902  STT-MTJ並列クラスタ
1000  配線された相互接続直列STT-MTJクラスタ
1002-1  STT-MTJ素子
1004  絶縁体
1006  接続層
1008  垂直方向の接続層
1010  上部接続層
1012  素子内部の絶縁体
1014  フリー層
1016  接合層
1018  固定層
1020  イネーブルスイッチ
1400  STT-MTJニューラルネットワーク
1402  STT-MTJクラスタ
1404-j  樹状突起の列
1410-1  軸索の行
【図１】
2013530479.tif 000022
【図２】
2013530479.tif 000023
【図３】
2013530479.tif 000024
【図４】
2013530479.tif 000025
【図５】
2013530479.tif 000026
【図６】
2013530479.tif 000027
【図７】
2013530479.tif 000028
【図８】
2013530479.tif 000029
【図９】
2013530479.tif 000030
【図１０】
2013530479.tif 000031
【図１１】
2013530479.tif 000032
【図１２】
2013530479.tif 000033
【図１３】
2013530479.tif 000034
【図１４】
2013530479.tif 000035
【図１５】
2013530479.tif 000036
【図１６】
2013530479.tif 000037
【国際調査報告】
2013530479.tif 000038
2013530479.tif 000039