(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-17
(45)【発行日】2024-09-26
(54)【発明の名称】ニューロモーフィック用途のためのPCMドリフトの補償
(51)【国際特許分類】
G11C 13/00 20060101AFI20240918BHJP
G11C 11/56 20060101ALI20240918BHJP
【FI】
G11C13/00 360
G11C13/00 210
G11C11/56 450
G11C13/00 270J
G11C13/00 480A
G11C13/00 480K
(21)【出願番号】P 2022549081
(86)(22)【出願日】2021-02-17
(86)【国際出願番号】 IB2021051313
(87)【国際公開番号】W WO2021165836
(87)【国際公開日】2021-08-26
【審査請求日】2023-07-21
(32)【優先日】2020-02-21
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】リー、ニン
(72)【発明者】
【氏名】キム、ワンキ
(72)【発明者】
【氏名】ベデル、ステファン
(72)【発明者】
【氏名】サダナ、デヴェンドラ
【審査官】豊田 真弓
(56)【参考文献】
【文献】米国特許第09558823(US,B1)
【文献】特許第5065401(JP,B2)
【文献】特開2008-276928(JP,A)
【文献】特表2005-537598(JP,A)
【文献】特開2014-154200(JP,A)
【文献】特開2005-166210(JP,A)
【文献】米国特許出願公開第2008/0266942(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G11C 13/00
G11C 11/56
(57)【特許請求の範囲】
【請求項1】
第1の線と第2の線とを介してアドレス可能且つアクセス可能なセルのアレイを含
み、前記セルが複数の状態に設定可能な値を有する相変化メモリ抵抗器を有する、アナログ相変化メモリ・アレイと、
前記第1の線のうちの1つ以上に結合された少なくとも1つのデバイスであって、前記1つ以上の第1の線に結合されたり、そこから分離されたりすることにより、前記1つ以上の第1の線におけるセルのうちの少なくとも1つのセルの抵抗の相変化メモリ抵抗ドリフトを補償することができる、前記少なくとも1つのデバイスと
、
個別の相変化メモリ抵抗器に同じセット・パルスを送信することによって前記相変化メモリ抵抗器の相変化メモリ抵抗ドリフトを低減するように構成されている制御回路とを含む、装置
であって、
前記セット・パルス電圧が前記少なくとも1つのデバイスと前記相変化メモリ抵抗器との間で自動的に分圧されることにより、前記相変化メモリ抵抗器に印加される実際のパルス電圧が前記相変化メモリ抵抗器の抵抗値に合わせて調整される、装置。
【請求項2】
前記少なくとも1つのデバイスのうちの1つ以上のデバイスが抵抗器を含む、請求項1に記載の装置。
【請求項3】
前記装置が1つ以上のスイッチを含み、前記少なくとも1つのデバイスが前記1つ以上のスイッチの全部のスイッチに対する単一の抵抗器を含み、前記単一の抵抗器は、前記1つ以上のスイッチのうちの対応する1つのスイッチを介して前記1つ以上の第1の線のそれぞれに結合されたり、そこから分離されたりする、請求項2に記載の装置。
【請求項4】
前記少なくとも1つのデバイスが、前記1つ以上の第1の線のうちの対応するものごとの抵抗器を含む、請求項2または3に記載の装置。
【請求項5】
前記抵抗器のうちの1つの抵抗器の値
が3.8Kオームである、請求項2乃至4のいずれかに記載の装置。
【請求項6】
前記装置が1つ以上のスイッチを含み、前記少なくとも1つのデバイスが前記1つ以上のスイッチの全部のスイッチに対する単一のトランジスタを含み、前記単一のトランジスタが前記1つ以上のスイッチのうちの対応する1つのスイッチを介して前記1つ以上の第1の線のそれぞれに結合されたり、そこから分離されたりする、請求項1乃至5のいずれかに記載の装置。
【請求項7】
前記制御回路が、前記トランジスタのゲート電圧を少なくとも調節することにより前記トランジスタの抵抗を調節することによって、前記トランジスタを調節可能抵抗器として使用するように構成されている、請求項6に記載の装置。
【請求項8】
前
記値が10Kオーム乃
至100Kオームの範囲で可変である、請求項
1に記載の装置。
【請求項9】
前記制御回路は、1周期に1回、
前記個別の相変化メモリ抵抗器に順次に
前記同じセット・パルスを送信す
るように構成されている、請求項
1に記載の装置。
【請求項10】
前記周期は数分おきである、請求項
9に記載の装置。
【請求項11】
前記周期は数十分おきである、請求項
9に記載の装置。
【請求項12】
前記セット・パルスが、前記相変化メモリ抵抗器を結晶化し、前記抵抗を低下させることにより、高抵抗値に向かう抵抗ドリフトを補償する電圧パルスである、請求項
1に記載の装置。
【請求項13】
前記電圧パルスのパルス波高
が2.1ボルトである、請求項
12に記載の装置。
【請求項14】
前記第1の線がワード線であり、且つ前記第2の線がビット線であるか、または前記第1の線がビット線であり、且つ前記第2の線がワード線である、請求項1乃至
13のいずれかに記載の装置。
【請求項15】
前記第1の線と前記第2の線とを使用して、前記少なくとも1つのデバイスを介して前記相変化メモリ・アレイ内の複数の個別の相変化メモリ抵抗器に
前記同じセット・パルスを送信するように構成され
ている、請求項1乃至
14のいずれかに記載の装置。
【請求項16】
前記制御回路が、1つ以上のプロセッサと、コンピュータ可読コードを含む1つ以上のメモリとを含み、前記1つ以上のプロセッサは、前記コンピュータ可読コードのロードと実行とに応答して、前記同じパルスを送信させる、請求項
15に記載の装置。
【請求項17】
請求項1乃至
16のいずれかに記載の装置を動作させる方法であって、
前記アナログ相変化メモリ・アレイのセルのアレイを、前記第1の線と第2の線とを介してアドレス且つアクセスすることと、
前記第1の線のうちの1つ以上の第1の線に結合可能な少なくとも1つのデバイスを、前記1つ以上の第1の線に結合したり、そこから分離したりすることによって、前記1つ以上の第1の線におけるセルのうちの少なくとも1つのセルの抵抗の相変化メモリ抵抗ドリフトを補償することとを含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般には、ニューロモーフィック・コンピューティングに関し、より詳細には、ニューロモーフィック・コンピューティングにおける相変化メモリ(PCM)に関する。
【背景技術】
【0002】
相変化メモリ(PCM)は、電源が遮断されている間、情報を記憶することができるメモリである。このメモリは、不規則な(またはアモルファス)状態から規則的(または結晶)状態にきわめて迅速に切り替わることができるためにそのように呼ばれる。PCMは、ユニバーサル・メモリ技術の望ましい特性の大部分に関して優れている。具体的には、PCMは百万サイクル以上のオーダーのきわめて良好な持続性と、適度の保持力と、20nm以下のノードまでの優れた微細化特性とを示す。さらに、そのセット状態とリセット状態との間の大きな抵抗差のためにマルチレベルセル記憶に適する。しかし、PCMがユニバーサル・メモリになるにはいくつかの技術的課題に対処する必要がある。PCM技術の重要な課題は、抵抗ドリフトとして知られる現象である。すなわち、セルの抵抗は、時間が経過すると上方にドリフトするのが観察され、その際、結晶状態よりもアモルファス状態でのドリフトが大きい。ドリフトは、隣接する密な抵抗レベル間の感知マージンが狭くなるため、PCMのマルチレベルセル(MLC)記憶の信頼性に重大な影響を与える。
【0003】
より詳細には、ニューロモーフィック・コンピューティングは複数(約1,000)の抵抗レベルを必要とする。状態間の抵抗差は、2つの抵抗状態しか必要としないストレージ・クラス・メモリよりよりもはるかに小さい。
【0004】
また、ニューラル・ネットワークのトレーニング時間は一般には長く、たとえば数時間、数日、またはさらに数週間のオーダーである。一方、PCMのドリフトにより、1時間で2つの隣接抵抗状態が混合する可能性がある。抵抗ドリフトは、アモルファス材料またはアモルファス領域と多結晶領域とが混在する材料など、不規則物質において本質的なものである。
【0005】
抵抗ドリフトはゼロである必要はないが、ドリフト係数は、ニューロモーフィック用途の場合、たとえば<0.005に低減する必要がある。PCM抵抗ドリフトを低減するために投影セルなどの従来技術が提案されているが、結果は0.005未満という目標ドリフト係数を満たすことができない。したがって、当技術分野では前述の問題に対処する必要がある。
【発明の概要】
【0006】
第1の観点から見ると、本発明は、第1の線と第2の線とを介してアドレス可能且つアクセス可能なセルのアレイを含むアナログ相変化メモリ・アレイと、第1の線のうちの1つ以上に結合され、1つ以上の第1の線に結合されたり、そこから分離されたりすることにより、1つ以上の第1の線におけるセルのうちの少なくとも1つのセルの抵抗の相変化メモリ抵抗ドリフトを補償することができる、少なくとも1つのデバイスとを含む装置を提供する。
【0007】
さらなる観点から見ると、本発明は、本発明の装置を動作させる方法であって、アナログ相変化メモリ・アレイのセルのアレイを、アレイの第1の線と第2の線とを介してアドレス且つアクセスすることと、第1の線のうちの1つ以上に結合可能な少なくとも1つのデバイスを、1つ以上の第1の線に結合したり、そこから分離したりすることによって、1つ以上の第1の線におけるセルのうちの少なくとも1つのセルの抵抗の相変化メモリ抵抗ドリフトを補償することとを含む方法を提供する。
【0008】
例示の一実施形態は装置である。この装置は、アナログ相変化メモリ・アレイを含む。この相変化メモリ・アレイは、第1の線と第2の線とを介してアドレス可能且つアクセス可能なセルのアレイを含む。この装置は、第1の線のうちの1つ以上の線に結合された少なくとも1つのデバイスを含み、この少なくとも1つのデバイスは、1つ以上の第1の線に結合されたり、そこから分離されたりすることにより、1つ以上の第1の線におけるセルのうちの少なくとも1つのセルの抵抗の相変化メモリ抵抗ドリフトを補償することができる。
【0009】
別の例示の一実施形態は装置である。この装置は、アナログ相変化メモリ・アレイを含み、アナログ相変化メモリは第1の線と第2の線とを介してアドレス可能且つアクセス可能なセルのアレイを含む。この装置は、第1の線のうちの1つ以上の第1の線に結合された少なくとも1つのデバイスも含む。この少なくとも1つのデバイスが、1つ以上の第1の線に結合されたり、そこから分離可能されたりすることにより、1つ以上の第1の線におけるセルのうちの少なくとも1つのセルの抵抗の相変化メモリ抵抗ドリフトを補償することができる。この装置はまた、第1の線および第2の線を使用して、少なくとも1つのデバイスを介して相変化メモリ・アレイ内の複数の個別の相変化メモリ抵抗器に同じセット・パルスを1周期に1回、順次に送信するように構成された制御回路を含む。
【0010】
以下、本発明について、例示のみを目的として以下の添付図面に示すような好ましい実施形態を参照しながら説明する。
【図面の簡単な説明】
【0011】
【
図1】抵抗と時間との関係を示すグラフであり、高抵抗状態と低抵抗状態とにおけるドリフトを説明するために使用されるグラフである。
【
図2】ニューロモーフィック用途のためのPCMドリフトを補償する例示の方法を示す図である。
【
図3】ニューロモーフィック用途のための例示の回路と、
図2の方法に基づくパルス波高とを示す図である。
【
図3A】ニューロモーフィック用途のための例示の回路の別の実施例と、
図2の方法に基づくパルス波高とを示す図である。
【
図4】例示の一実施形態における、所要パルス電圧とPCM抵抗器Rとの関係を示すグラフである。
【
図5】異なるPCM抵抗器の所要入力電圧を生じさせるために使用される分圧器回路を示す図である。
【
図6】ニューロモーフィック用途のための例示の回路と、
図2の方法に基づくパルス波高とを示す図である。
【発明を実施するための形態】
【0012】
本明細書または図面あるいはその両方に記載されている場合がある以下の略語を、以下のように定義する。
I/F インターフェース
I/O 入力/出力
PCM 相変化メモリ
R 抵抗
V ボルト
【0013】
「例示の」という用語は、本明細書では、「例、事例または例示となる」という意味で使用される。本明細書において「例示の」として説明されているいずれの実施形態も、他の実施形態よりも好ましいかまたは有利であるものと必ずしも解釈されるべきではない。この「発明を実施するための形態」に記載されている実施形態はすべて、当業者が本発明を製作または使用することができるようにするために示し、特許請求の範囲によって定義されている本発明の範囲を限定するためではない例示の実施形態である。
【0014】
上述のように、PCMの抵抗ドリフトはゼロである必要はないが、ドリフト係数はニューロモーフィック用途の場合、<0.005に低減される必要がある。PCM抵抗ドリフトを低減するために投影セルなどの従来技術が提案されているが、結果は0.005未満という目標ドリフト係数を満たすことができない。
【0015】
ニューロモーフィック用途用にPCMドリフトを補償するために回路を使用することができる。しかし、これに関しては課題がある。たとえば、ドリフトの速度が異なる。すなわち、高R(抵抗)状態はより高速にドリフトし、一方、低R状態はより低速にドリフトする。さらに、ニューロモーフィック・ネットワーク構造体を構成するアレイには未知の抵抗器値がある。
【0016】
図1は、抵抗(R、単位:オームΩ)と時間(単位:秒)との関係を示すグラフであり、高抵抗状態と低抵抗状態におけるドリフトを説明するために使用される。リセット状態110は、R=R
0(t/t
0)
vで説明され、ここでドリフト係数v=0.11である。グラフからわかるように、リセット状態110は時間10
0秒において約5×10
6オームで開始し、時間10
4秒において約1×10
7オームになるまで上昇する。v<0.01であるセット状態120の場合、セット状態は時間10
0秒と10
4秒の間で約8×10
3オーム付近の低抵抗を有する。
【0017】
上記のような問題に対処するために、本明細書に記載の例示の手法は以下を含む。
1)ドリフトは、常に抵抗上昇の方向にある。
2)例示の実施形態では数分ごとに1回、すべてのPCM抵抗器に個別にセット・パルスが送信される。
3)セット・パルスがPCMを結晶化し、高抵抗に向かうドリフトを補償する速度で抵抗を低下させる。
【0018】
上記およびその他の手法を実施するいくつかの例示の実施形態について以下に説明する。
【0019】
以下、ニューロモーフィック用途のためにPCMドリフトを補償する第1の例示の実施形態について説明する。
図2を参照すると、この図はニューロモーフィック用途のためにPCMドリフトを補償する例示の方法である。
図2に関連して説明する
図3も参照する。
図3は、ニューロモーフィック用途のための例示の回路と、
図2の方法に基づくパルス波高とを示す。
【0020】
図3において、ニューロモーフィック・ネットワーク構造体300が制御回路305とPCMアレイ370とを含む。ニューロモーフィック・ネットワーク構造体300は、たとえば集積回路の一部または全部としてのメモリ回路(一般にメモリ・チップと呼ばれる)であってもよい。制御回路は、一実施例では1つ以上のプロセッサ310と、1つ以上のメモリ315と、入力/出力(I/O)インターフェース(I/F)325とを含む。1つ以上のメモリは、一実施例ではPCMドリフト補償プログラム320として具現化されたプログラム命令を含む。この実施例では、PCMドリフト補償プログラム320は、1つ以上のプロセッサ310によって実行されているときに、ニューロモーフィック・ネットワーク構造体300に(たとえば制御回路305を介して)本明細書に記載の(
図2のブロックにおけるような)動作を行わせる。この実施例では、PCMドリフト補償プログラム320は、更新可能であり、コンピュータ可読プログラム命令を含み、メモリ315がコンピュータ可読記憶媒体である。別の可能性として、PCMドリフト補償プログラム320は、特定用途向け集積回路の一部として実装されるなど、完全に回路305の形で実装可能である。さらに別の可能性として、ハードウェアとソフトウェアの何らかの組合せが使用されてもよい。I/O I/F325は、ワード線340とビット線345にパルスを印加するためなど、様々な機能のために使用される。図の黒丸は、対応するワード線340/ビット線345に接触するために使用される要素であるとみなすともできる。
【0021】
PCMアレイ370は、PCMセル360のm(行)×n(列)行列を含む。PCMアレイ370は例示の一実施形態ではアナログ相変化メモリ・アレイである。PCMは、アナログ(多状態)またはデジタル(2状態)であってもよい。ドリフトはアナログ・メモリの場合により重要である。デジタルPCMにもドリフト問題があるが、メモリ・ウィンドウが一般に大きい。しかし、本明細書に記載の実施例は、その場合にも適用可能であり、またはPCMを使用する任意の他の技術にも適用可能である。この実施例では、各行がワード線340であり、各列がビット線345である。m本のワード線340とn本のビット線345がある。PCMセル360はワード線340-(m-1)およびビット線324-2に示されているので、PCMセル360-(m-1)(2)と称する。このPCMセル360は、選択トランジスタ390と、抵抗器記号で示されている対応するPCM395とを含む。PCM395は抵抗変化型メモリ(resistive memory)により動作するため、これをPCM抵抗器395とも呼ぶ。
【0022】
また、
図2を参照すると、ブロック210で、1分おきまたは数十分おきなどの1周期に1回、同じパルス331がPCMアレイの個々のPCM抵抗器395に順次に送信される。「順次に」とは、セット・パルス331が個別のPCM抵抗器395のうちの1つに送信され、次に個別のPCM抵抗器395のうちの別の1つに送信され、そしてこのプロセスが、重なり合わないセット・パルス331が特定数の個別PCM抵抗器395に送信されるまで続くことを意味する。この動作は、制御回路305によって、たとえばPCMドリフト補償プログラム320の制御下で行われる。PCM抵抗器395をアドレスするために、対応する行の対応するスイッチ335が有効にされ(たとえば「閉じられる」)、対応する選択トランジスタ390が有効にされることになる。これにより、(ワード線340としての)行における各PCM抵抗器395を個別にアドレスすることができる。「同じ」パルスとは、発生源からのパルスを変化させる必要がないことを意味する。「同じ」パルスの使用は、例示の実施形態の大きな利点である。通常であれば、異なるPCMセルのドリフトを補正するために異なるパルスが必要になる。この場合、制御回路は大規模なアレイの場合にきわめて複雑になる。例示の実施形態の利点の一例は、すべてのPCMセルに同じパルスを送信し、それらのすべてを補正することができることである。なお、類似のパルスを生成する際の正常範囲の変動(normal variances)により、パルスにはわずかな相違がある場合があり、したがって同じセット・パルスは実質的に同じであるが厳密には同じではない可能性があることに留意されたい。パルスを生成するために使用される回路の観点からは、セット・パルスは同じであるが実際のパルス・エンベロープはわずかに異なる場合があることが想定されるべきである。
【0023】
ブロック220に示すように、ワード線340に外部抵抗器330を付加して分圧器を形成することにより、PCM抵抗器395に印加される実際のパルス波高を自動的に調整することができる。外部抵抗器330は、関連付けられたワード線のセルにおける相変化メモリ抵抗ドリフトを補償するデバイスである。外部抵抗器330は、この抵抗器がPCMアレイ370の外部にあるために(この実施例において)「外部」と呼ばれる。この実施例では、PCMアレイ370のための単一の抵抗器330が示されている。抵抗器330をワード線340-1に接続したり、ワード線340-1から分離したりすることができるようにする、対応するスイッチ335-1も示されている。m本のワード線340のそれぞれについて1つずつ、m個のスイッチ335がある。各スイッチ335は線331に接続される。各ワード線340をこの抵抗器に異なる時点で接続するためのスイッチ335がある場合、このように1つのPCMアレイに対して1つの抵抗器とすることは適切である。この抵抗器が(たとえば
図6に示すようなトランジスタを使用して)調節可能であれば、これによってたとえば個別ワード線ごとにさらに調整を行うことができる。
【0024】
図3では1つの抵抗器330と、対応するスイッチ335-1のみが示されているが、ワード線340-1乃至340-mのそれぞれが対応する抵抗器330とスイッチ335を有し得る。
図3Aに、対応するワード線340-1乃至340-mのそれぞれに1つずつの抵抗器330、抵抗器330-1乃至330-mがある、この可能な形態を示す。各抵抗器330は線229に結合され、対応する出力線331-1乃至331-mを有し、この出力線331-1乃至331-mは対応するスイッチ335-1乃至335-mに結合されている。
図3Aに示す回路は1つの可能性に過ぎず、他の回路も使用可能であることに留意されたい。一例として、スイッチ335は線229(抵抗器330の前)に配置してもよく、または他の変更が加えられてもよい。
【0025】
周期については、本明細書の例示の実施形態では、クロック・サイクルごとに、または毎秒、パルスを送信する必要はない。パルスを送信する頻度は、PCMのドリフト係数とその他のパラメータによって決まり、それにしたがって調整可能である。一例は、数分(たとえば3分乃至5分)おきである。数十分(たとえば10分または15分または20分)おきを採用してもよい。1時間(またはそれより長い時間)おきも採用可能である。当業者は、適切な周期を容易に決定することができるはずである。
【0026】
ブロック230に示すように、パルス波高はPCMセル360における各PCM抵抗器395のR値によって決まる。すなわち、Rが大きい場合には高速ドリフトを補償するように高いパルスを受け取り、またはRが小さい場合には低速ドリフトを補償するように低いパルスを受け取る。抵抗器値を読み出す必要はない。すなわち、電圧がPCM抵抗器395と外部抵抗器330とで分圧される。PCM抵抗器値が読み出されなくても、外部抵抗器330を分圧器として使用してPCM抵抗器395に異なる電圧を印加することができる。
【0027】
図3(または
図3A)の例では、R値が大きいセル360-(1)(n)がある。たとえばPCMドリフト補償プログラム320の制御下でI/O I/F325によって対応するワード線340-1に印加される印加パルス331が、高さHのエンベロープ332(たとえば立ち上がり時間+存続時間+立ち下がり時間)を有することが示されている。これは、分圧器(後述)によって高さHに近い実際のパルス波高H
1となるように変換される。これは、Rが大きい場合の例である。アレイには常に大きいRと小さいRとがある。本例示の技術はそれらのすべてに適用され、そして任意の対応する抵抗器値に自動的に適用される。R値が小さいセル360-(x)(n)もあり、印加パルス331は、分圧器によって高さHの約半分の実際のパルス波高H
2となるように変換される。
【0028】
パルス331の(エンベロープ332によって示されている)形状に関して述べると、パルス形状は最適化などにより修正可能な別のパラメータである。立ち上がりは鋭くてもよい。立ち下がりは、結晶化を生じさせるように十分に長い必要がある。これは、使用されるPCMセル360によって決まり、当業者は使用されるPCMセル360に基づいてエンベロープ332のパラメータを決定することができる。
【0029】
次に
図4を参照すると、この図は例示の一実施形態における所要パルス電圧とPCM抵抗Rとの関係を示すグラフである。このグラフは、PCMセル360におけるPCM抵抗器395の抵抗Rに基づく、1回の更新のための(たとえば印加パルス331を生成するために使用される)パルス電圧の電圧Vを示す。PCM抵抗器の典型的な抵抗は、典型的には約(~)10Kオーム乃至約100Kオームであるが、これらは限定的ではない。パルス幅に関しては、典型的な段階的セット・プログラミングは5ns(ナノ秒)乃至10nsを使用する。なお、このグラフを用いて一般的な場合を例示していることに留意されたい。電圧は抵抗値に基づいて計算されている。実際には、パルス波高と存続期間は、PCMデバイス(たとえばPCM抵抗器395)に合わせて調整される必要がある。10Kオーム乃至100Kオームの値は例に過ぎず、実際のPCMセルによって決まることに留意されたい。
【0030】
図5を参照すると、この図は異なるPCM抵抗器の所要入力電圧を生じさせるために使用される分圧器回路である。R
exは外部抵抗器であり、抵抗器330に相当する。2つの変数(V
apおよびR
ex)を使用して、異なるPCM抵抗器の所要入力電圧を決定することができる。分圧器式は以下の通りである。
【0031】
【数1】
ここでRはPCM抵抗器395であり、R
exは外部抵抗器330であり、V
apは印加パルス331の電圧(たとえば高さH)であり、Vはパルスが対応するRに達するときのパルスの電圧(たとえばH
1またはH
2である)。
【0032】
これを使用する一例は以下の通りである。外部抵抗器R
exと印加パルス電圧V
apの値を求めると、この例示の場合はR
ex=3.8Kオーム、V
ap=2.1Vと決定することができる。
図4は、2つの端点、すなわち(10Kオーム、1.5V)と(100Kオーム、2V)とを示すことに留意されたい。これらの端点のそれぞれを上記の式で用いることにより、1つの部分的に満たされた(partially completed)式を得ることができる。これによって、2つの未知数(R
exおよびV
ap)を有する部分的に満たされた2つの式が得られるので、2つの未知数の値を求めることができる。
【0033】
R
exおよびV
apの設計のすべては、(たとえばニューロモーフィック・ネットワーク構造体300を含む)チップが製作される前に行うことができることに留意されたい。これは、PCM抵抗値がこの技術によって決定され、特定の範囲を有するためである。PCMドリフト補償アプリケーション320をトレーニングするために、特定の抵抗範囲がこのために使用されることになる。PCM抵抗がこの範囲外にある場合、これはこの使用可能範囲の値にプログラムされることになる。推測のみの実装形態の場合、すべてのPCM抵抗器値が固定される(事前にPCM抵抗器を所望の値にプログラムする必要がある)。したがって、抵抗値を予め知ることができる。(たとえばPCM抵抗を推定することに代えて、または推定することに加えて)PCM抵抗を測定する、実測値実装形態とすることも可能である。たとえば、PCMアレイのために可変抵抗器(
図6を参照しながら説明したトランジスタなど)を使用することによって、実測値実装形態は実現可能である。
【0034】
図6は、ニューロモーフィック用途のためにPCMドリフトを補償する別の実施例を示す図である。この実施例は、
図3の単一の入力抵抗器330を置き換えるためにトランジスタ430を使用するニューロモーフィック・ネットワーク構造体300-1を有する。トランジスタ430は、たとえば関連付けられたワード線におけるセルの相変化メモリ抵抗ドリフトを補償するデバイスであり、
図2のブロック220におけるように抵抗器として動作する。トランジスタ430(430-1など)の抵抗は、たとえばPCMドリフト補償プログラム320の制御下で制御回路305によって(ソース/ドレイン電圧V
sdとともに)供給されるゲート電圧V
gによって調整可能である。このトランジスタ430は、非線形抵抗器として使用可能であり、たとえばワード線ごとに適用可能である。すなわち、トランジスタ430の抵抗は
図2のブロック230のようにワード線ごとに変化させることができる。
【0035】
抵抗器330の
図3Aに示すものと同様に、ワード線1本につき1つのトランジスタを有することが可能であることに留意されたい。また、一適用例ではトランジスタと抵抗器の両方を使用することも可能である。また、抵抗器330をPCMセル360に結合するためにワード線340が使用されているが、抵抗器330をPCMセル360に接続するためにワード線340の代わりにビット線345を使用することも可能である。
【0036】
本発明は、システム、方法、またはコンピュータ・プログラム製品あるいはこれらの組合せとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令が記憶されたコンピュータ可読記憶媒体(または複数の媒体)を含み得る。
【0037】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用される命令を保持し、記憶することができる有形デバイスとすることができる。コンピュータ可読記憶媒体は、たとえば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学式ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組合せであってよいが、これらには限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには、可搬コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、可搬コンパクト・ディスク読み取り専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピィ・ディスク、パンチカードまたは命令が記録された溝内の隆起構造などの機械的に符号化されたデバイス、およびこれらの任意の適切な組合せが含まれる。本明細書で使用されるコンピュータ可読記憶媒体とは、電波またはその他の自由に伝播する電磁波、導波路またはその他の伝送媒体を伝播する電磁波(たとえば光ファイバ・ケーブルを通る光パルス)、またはワイヤを介して伝送される電気信号などの、一過性の信号自体であると解釈すべきではない。
【0038】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、または、ネットワーク、たとえばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、または無線ネットワークあるいはこれらの組合せを介して外部コンピュータまたは外部記憶デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバあるいはこれらの組合せを含んでもよい。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インターフェースが、ネットワークからコンピュータ可読プログラム命令を受信し、それらのコンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体への記憶のために転送する。
【0039】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、インストラクション・セット・アーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、または、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語、または同様のプログラム言語などの従来の手続き型プログラミング言語を含む、1つ以上のプログラミング言語の任意の組合せで書かれたソース・コードまたはオブジェクト・コードとすることができる。コンピュータ可読プログラム命令は、スタンドアロン・ソフトウェア・パッケージとして全体がユーザのコンピュータ上でまたは一部がユーザのコンピュータ上で、または一部がユーザのコンピュータ上で一部がリモート・コンピュータ上で、または全体がリモート・コンピュータまたはサーバ上で実行されてもよい。後者の場合、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む、任意の種類のネットワークを介してユーザのコンピュータに接続することができ、または接続は(たとえば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して行ってもよい。実施形態によっては、本発明の態様を実行するために、たとえばプログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路が、コンピュータ可読プログラム命令の状態情報を使用して電子回路をパーソナライズすることにより、コンピュータ可読プログラム命令を実行することができる。
【0040】
本発明の態様について、本明細書では、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品を示すフローチャート図またはブロック図あるいはその両方を参照しながら説明している。フローチャート図またはブロック図あるいはその両方の図の各ブロックおよび、フローチャート図またはブロック図あるいはその両方の図のブロックの組合せは、コンピュータ可読プログラム命令によって実装可能であることを理解されたい。
【0041】
これらのコンピュータ可読プログラム命令は、コンピュータまたはその他のプログラマブル・データ処理装置のプロセッサにより実行される命令が、フローチャートまたはブロック図あるいはその両方の1つ以上のブロックで指定されている機能/動作を実装する手段を形成するように、汎用コンピュータ、専用コンピュータまたはその他のプログラマブル・データ処理装置のプロセッサに提供されて、マシンを作り出すものであってよい。また、これらのコンピュータ可読プログラム命令は、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つ以上のブロックで指定されている機能/動作の態様を実装する命令を含む製造品を含むように、コンピュータ可読記憶媒体に記憶され、コンピュータ、プログラマブル・データ処理装置、またはその他のデバイスあるいはこれらの組合せに対して特定の方式で機能するように指示することができるものであってもよい。
【0042】
また、コンピュータ可読プログラム命令は、コンピュータ、その他のプログラマブル装置またはその他のデバイス上で実行される命令がフローチャートまたはブロック図あるいはその両方の1つ以上のブロックで指定されている機能/動作を実装するように、コンピュータ実装プロセスを作り出すべく、コンピュータ、その他のプログラマブル・データ処理装置、またはその他のデバイスにロードされ、コンピュータ、その他のプログラマブル装置、またはその他のデバイス上で一連の動作ステップを実行されるものであってもよい。
【0043】
図面中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能および動作を示す。これに関連して、フローチャートまたはブロック図の各ブロックは、指定されている論理機能を実装するための1つ以上の実行可能命令を含む、命令のモジュール、セグメント、または部分を表すことがある。一部の別の実装形態では、ブロックに記載されている機能は、図に記載されている順序とは異なる順序で行われてもよい。たとえば、連続して示されている2つのブロックは、関与する機能に応じて、実際には、実質的に並行して実行されてもよく、またはそれらのブロックは場合によっては逆の順序で実行されてもよい。また、ブロック図またはフローチャート図あるいはその両方の図の各ブロック、およびブロック図またはフローチャート図あるいはその両方の図のブロックの組合せは、指定されている機能または動作を実行する専用ハードウェア・ベースのシステムによって実装可能であるか、または専用ハードウェアとコンピュータ命令との組合せを実施することができることも理解されたい。