(57)【要約】【課題】ニューロモーフィックのハードウェア実装に関連するメモリ・セル構造を提供。【解決手段】メモリ・セル構造が、複数のセル・コンポーネントを含むシナプス・メモリ・セルであって、複数のセル・コンポーネントの各々は単位セルを含む、シナプス・メモリ・セルと、シナプス・メモリ・セルにシナプス状態を書き込むように配置された複数の書き込み線であって、複数の書き込み線の各々が、対応するセル・コンポーネントに含まれる単位セルに所定の数の状態の第２の組のうちの１つを書き込むことによって、所定の数の状態の第１の組のうちの１つを、対応するセル・コンポーネントに書き込むために用いられ、第１の組は、第２の組と、対応するセル・コンポーネントに含まれる単位セルの数とに依拠する、複数の書き込み線と、シナプス・メモリ・セルからシナプス状態を読み出すように配置された読み出し線であって、読み出し線は、複数のセル・コンポーネントの全てから所定の数の状態の第１の組のうちの１つを同時に読み出すために用いられる、読み出し線と、を備える。【選択図】図５
2019537187.tif 000002
【特許請求の範囲】
【請求項１】
メモリ・セル構造であって、
複数のセル・コンポーネントを含むシナプス・メモリ・セルであって、前記複数のセル・コンポーネントの各々は少なくとも１つの単位セルを含む、前記シナプス・メモリ・セルと、
前記シナプス・メモリ・セルにシナプス状態を書き込むように構成された複数の書き込み線であって、前記複数の書き込み線の各々が、前記複数のセル・コンポーネントのうちの対応するセル・コンポーネントに含まれる前記少なくとも１つの単位セルの全てに所定の数の状態の第２の組を書き込むことによって、前記所定の数の状態の第１の組を、前記対応するセル・コンポーネントに書き込むように構成され、前記第１の組は、前記第２の組と、前記対応するセル・コンポーネントに含まれる前記少なくとも１つの単位セルの数とに依拠する、前記複数の書き込み線と、
前記シナプス・メモリ・セルから前記シナプス状態を読み出すように構成された読み出し線であって、前記読み出し線は、前記複数のセル・コンポーネントの全てから前記所定の数の状態の前記第１の組を同時に読み出すように更に構成される、前記読み出し線と、
を備える、メモリ・セル構造。
【請求項２】
前記少なくとも１つの単位セルの各々が抵抗であり、前記所定の数の状態は、前記抵抗のコンダクタンスに関する状態である、請求項１に記載のメモリ・セル構造。
【請求項３】
前記少なくとも１つの単位セルの各々はコンデンサであり、前記所定の数の状態は、前記コンデンサのキャパシタンスに関する状態である、請求項１に記載のメモリ・セル構造。
【請求項４】
前記所定の数の状態の所定の数は２であり、前記複数のセル・コンポーネントのｉ番目のセル・コンポーネントは、２ｉ−１個の単位セルを含み、ｉは自然数であり、
前記第１の組における前記所定の数の状態の各々は、前記第２の組における前記所定の数の状態のうちの対応する状態の２ｉ−１倍である、請求項１ないし３のいずれかに記載のメモリ・セル構造。
【請求項５】
前記所定の数の状態の所定の数は３であり、
前記複数のセル・コンポーネントのｉ番目のセル・コンポーネントは、３ｉ−１個の単位セルを含み、ｉは自然数であり、
前記第１の組における前記所定の数の状態の各々は、前記第２の組における前記所定の数の状態のうちの対応する状態の３ｉ−１倍である、請求項１ないし４のいずれかに記載のメモリ・セル構造。
【請求項６】
メモリ・セル・システムであって、
複数のセル・コンポーネントを含むシナプス・メモリ・セルであって、前記複数のセル・コンポーネントの各々は少なくとも１つの単位セルを含む、前記シナプス・メモリ・セルと、
シナプス状態を前記シナプス・メモリ・セルに書き込むように構成された複数の書き込みドライバであって、前記複数の書き込みドライバの各々が、前記複数のセル・コンポーネントのうちの対応するセル・コンポーネントに含まれる前記少なくとも１つの単位セルの全てに所定の数の状態の第２の組を書き込むことによって、前記所定の数の状態の第１の組を、前記対応するセル・コンポーネントに書き込むように構成され、前記第１の組は、前記第２の組と、前記対応するセル・コンポーネントに含まれる前記少なくとも１つの単位セルの数とに依拠する、前記複数の書き込みドライバと、
前記シナプス・メモリ・セルから前記シナプス状態を読み出すように構成された読み出しドライバであって、前記読み出しドライバは、前記複数のセル・コンポーネントの全てから前記所定の数の状態の前記第１の組を同時に読み出すように更に構成される、前記読み出しドライバと、
を備える、メモリ・セル・システム。
【請求項７】
前記少なくとも１つの単位セルの各々が抵抗であり、前記所定の数の状態は、前記抵抗のコンダクタンスに関する状態である、請求項６に記載のメモリ・セル・システム。
【請求項８】
前記少なくとも１つの単位セルの各々はコンデンサであり、前記所定の数の状態は、前記コンデンサのキャパシタンスに関する状態である、請求項６に記載のメモリ・セル・システム。
【請求項９】
前記所定の数の状態の所定の数は２であり、
前記複数のセル・コンポーネントのｉ番目のセル・コンポーネントは、２ｉ−１個の単位セルを含み、ｉは自然数であり、
前記第１の組における前記所定の数の状態の各々は、前記第２の組における前記所定の数の状態のうちの対応する状態の２ｉ−１倍である、請求項６ないし８のいずれかに記載のメモリ・セル・システム。
【請求項１０】
前記所定の数の状態の所定の数は３であり、
前記複数のセル・コンポーネントのｉ番目のセル・コンポーネントは、３ｉ−１個の単位セルを含み、ｉは自然数であり、
前記第１の組における前記所定の数の状態の各々は、前記第２の組における前記所定の数の状態のうちの対応する状態の３ｉ−１倍である、請求項６ないし９のいずれかに記載のメモリ・セル・システム。
【請求項１１】
メモリ・セル構造を製造するための方法であって、
複数の単位セルを準備することと、
複数のセル・コンポーネントを構成することであって、前記複数のセル・コンポーネントの各々は、前記複数の単位セルのうちの少なくとも１つの単位セルを含む、前記構成することと、
前記複数のセル・コンポーネントを含むシナプス・メモリ・セルを構成することと、
前記シナプス・メモリ・セルにシナプス状態を書き込むように構成された複数の書き込み線を配置することであって、前記複数の書き込み線の各々は、前記複数のセル・コンポーネントのうちの対応するセル・コンポーネントに含まれる前記少なくとも１つの単位セルの全てに所定の数の状態の第２の組を書き込むことによって、前記所定の数の状態の第１の組を、前記対応するセル・コンポーネントに書き込むように構成され、前記第１の組は、前記第２の組と、前記対応するセル・コンポーネントに含まれる前記少なくとも１つの単位セルの数とに依拠する、前記配置することと、
前記シナプス・メモリ・セルから前記シナプス状態を読み出すように構成された読み出し線を配置することであって、前記読み出し線は、前記複数のセル・コンポーネントの全てから前記所定の数の状態の前記第１の組を同時に読み出すように更に構成される、前記配置することと、
を含む、メモリ・セル構造を製造するための方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ・セル構造に関する。
【背景技術】
【０００２】
最近では、メモリ・セル構造に関する様々な技法が知られている。ニューロモーフィック・システムのハードウェア実装は、シナプス・メモリならびにニューロン動作ブロックおよび軸索接続ネットワークを含む。
【０００３】
シナプス・メモリに関して、オフライン学習を用いたシステムが既知である。このモードでは、シナプス・メモリ・データは更新されない。なぜなら、メモリ書き込み動作は、オフライン学習動作モードでのみアクティベートされるためである。
【０００４】
他方で、オンライン学習を用いたシステムも既知である。シナプス・メモリの性能によってシステムの性能が決まる。シナプス・メモリ・セルは、２つのタイプ、すなわち、アナログ・シナプス・セル・タイプおよびデジタル・シナプス・セル・タイプに分類される。
【０００５】
双方のタイプが欠点を有する。シナプス・セルは、これらの欠点が解決される場合、はるかに簡便かつ厳密に制御されることになる。したがって、当技術分野において、上述した問題に対処することが必要とされている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、ニューロモーフィックのハードウェア実装に関連するメモリ・セル構造、メモリ・セル・システム、およびメモリ・セル構造を製造するための方法を提供する。
【課題を解決するための手段】
【０００７】
第１の態様の観点から、このメモリ・セル構造は、複数のセル・コンポーネントを含むシナプス・メモリ・セルであって、複数のセル・コンポーネントの各々は少なくとも１つの単位セルを含む、シナプス・メモリ・セルと、シナプス・メモリ・セルにシナプス状態を書き込むように構成された複数の書き込み線であって、複数の書き込み線の各々が、複数のセル・コンポーネントのうちの対応するセル・コンポーネントに含まれる少なくとも１つの単位セルの全てに所定の数の状態の第２の組を書き込むことによって、所定の数の状態の第１の組を、対応するセル・コンポーネントに書き込むように構成され、第１の組は、第２の組と、対応するセル・コンポーネントに含まれる少なくとも１つの単位セルの数とに依拠する、複数の書き込み線と、シナプス・メモリ・セルからシナプス状態を読み出すように構成された読み出し線であって、読み出し線は、複数のセル・コンポーネントの全てから所定の数の状態の第１の組を同時に読み出すように更に構成される、読み出し線と、を備える。
【０００８】
更なる態様の観点から、このメモリ・セル・システムは、複数のセル・コンポーネントを含むシナプス・メモリ・セルであって、複数のセル・コンポーネントの各々は少なくとも１つの単位セルを含む、シナプス・メモリ・セルと、シナプス状態をシナプス・メモリ・セルに書き込むように構成された複数の書き込みドライバであって、複数の書き込みドライバの各々が、複数のセル・コンポーネントのうちの対応するセル・コンポーネントに含まれる少なくとも１つの単位セルの全てに所定の数の状態の第２の組を書き込むことによって、所定の数の状態の第１の組を、対応するセル・コンポーネントに書き込むように構成され、第１の組は、第２の組と、対応するセル・コンポーネントに含まれる少なくとも１つの単位セルの数とに依拠する、複数の書き込みドライバと、シナプス・メモリ・セルからシナプス状態を読み出すように構成された読み出しドライバであって、読み出しドライバは、複数のセル・コンポーネントの全てから所定の数の状態の第１の組を同時に読み出すように更に構成される、読み出しドライバと、を備える。
【０００９】
更なる態様の観点から、この方法は、複数の単位セルを準備することと、複数のセル・コンポーネントを構成することであって、複数のセル・コンポーネントの各々は、複数の単位セルのうちの少なくとも１つの単位セルを含む、構成することと、複数のセル・コンポーネントを含むシナプス・メモリ・セルを構成することと、シナプス・メモリ・セルにシナプス状態を書き込むように構成された複数の書き込み線を配置することであって、複数の書き込み線の各々は、複数のセル・コンポーネントのうちの対応するセル・コンポーネントに含まれる少なくとも１つの単位セルの全てに所定の数の状態の第２の組を書き込むことによって、所定の数の状態の第１の組を、対応するセル・コンポーネントに書き込むように構成され、第１の組は、第２の組と、対応するセル・コンポーネントに含まれる少なくとも１つの単位セルの数とに依拠する、配置することと、シナプス・メモリ・セルからシナプス状態を読み出すように構成された読み出し線を配置することであって、読み出し線は、複数のセル・コンポーネントの全てから所定の数の状態の第１の組を同時に読み出すように更に構成される、配置することと、を含む。
【００１０】
本発明の実施形態によれば、メモリ・セル構造は、複数のセル・コンポーネントを含むシナプス・メモリ・セルを含む。複数のセル・コンポーネントの各々は少なくとも１つの単位セルを含む。メモリ・セル構造は、シナプス・メモリ・セルにシナプス状態を書き込むように配置された複数の書き込み線を更に備える。複数の書き込み線の各々が、複数のセル・コンポーネントのうちの対応するセル・コンポーネントに含まれる少なくとも１つの単位セルの全てに所定の数の状態の第２の組のうちの１つを書き込むことによって、所定の数の状態の第１の組のうちの１つを、対応するセル・コンポーネントに書き込むように構成される。第１の組は、第２の組と、対応するセル・コンポーネントに含まれる少なくとも１つの単位セルの数とに依拠する。メモリ・セル構造は、シナプス・メモリ・セルからシナプス状態を読み出すように配置された読み出し線を更に含む。読み出し線は、複数のセル・コンポーネントの全てから所定の数の状態の第１の組のうちの１つを同時に読み出すように構成される。
【００１１】
本発明の別の実施形態によれば、メモリ・セル・システムは、複数のセル・コンポーネントを含むシナプス・メモリ・セルを含む。複数のセル・コンポーネントの各々は少なくとも１つの単位セルを含む。メモリ・セル・システムは、シナプス状態をシナプス・メモリ・セルに書き込むように構成された複数の書き込みドライバを更に備える。複数の書き込みドライバの各々が、複数のセル・コンポーネントのうちの対応するセル・コンポーネントに含まれる少なくとも１つの単位セルの全てに所定の数の状態の第２の組のうちの１つを書き込むことによって、所定の数の状態の第１の組のうちの１つを、対応するセル・コンポーネントに書き込むように構成される。第１の組は、第２の組と、対応するセル・コンポーネントに含まれる少なくとも１つの単位セルの数とに依拠する。メモリ・セル・システムは、シナプス・メモリ・セルからシナプス状態を読み出すように構成された読み出しドライバを更に含む。読み出しドライバは、複数のセル・コンポーネントの全てから所定の数の状態の第１の組のうちの１つを同時に読み出すように構成される。
【００１２】
本発明のまた別の実施形態によれば、本方法は、複数の単位セルを準備することを含む。本方法は、各々が複数の単位セルのうちの少なくとも１つの単位セルを含む複数のセル・コンポーネントを構成することを含む。本方法は、複数のセル・コンポーネントを含むシナプス・メモリ・セルを構成することを含む。本方法は、シナプス・メモリ・セルにシナプス状態を書き込むための複数の書き込み線を配置することを更に含む。複数の書き込み線の各々は、複数のセル・コンポーネントのうちの対応するセル・コンポーネントに含まれる少なくとも１つの単位セルの全てに所定の数の状態の第２の組のうちの１つを書き込むことによって、所定の数の状態の第１の組のうちの１つを、対応するセル・コンポーネントに書き込むように構成される。第１の組は、第２の組と、対応するセル・コンポーネントに含まれる少なくとも１つの単位セルの数とに依拠する。本方法は、シナプス・メモリ・セルからシナプス状態を読み出すための読み出し線を配置することを更に含む。読み出し線は、複数のセル・コンポーネントの全てから所定の数の状態の第１の組のうちの１つを同時に読み出すように構成される。
【００１３】
ここで、本発明を、単なる例として、以下の図に示されるような好ましい実施形態を参照して説明する。
【図面の簡単な説明】
【００１４】
【図１】本発明の好ましい実施形態を実施することができる、従来技術によるクロス・バー・アレイ構造を有するシナプス・メモリを示す。
【図２】例示的な実施形態による、シナプス・メモリ・セルのセル・コンポーネントを示す。
【図３】例示的な実施形態による、シナプス・メモリ・セルのセル・コンポーネントを示す。
【図４】例示的な実施形態による、シナプス・メモリ・セルのセル・コンポーネントを示す。
【図５】例示的な実施形態による、シナプス・メモリ・セルのセル・コンポーネントを示す。
【図６】例示的な実施形態による、シナプス・メモリ・セル・システムを示す。
【図７】本発明の実施形態による、書き込みドライバからの信号出力、読み出しドライバからの信号出力、およびシナプス・メモリ・セルの状態遷移のタイミングを示すタイム・チャートを示す。
【図８】例示的な実施形態による、シナプス・メモリ・システム、およびシナプス・メモリ・システムにおけるデータ・フローを示す。
【図９】例示的な実施形態による、シナプス・メモリ・セル・システムを製造するための方法を表すブロック／フロー図を示す。
【発明を実施するための形態】
【００１５】
以下に、添付の図面を参照して本発明の例示的な実施形態を詳細に説明する。
【００１６】
本発明は、以下に与える例示的な実施形態に限定されるものではなく、本発明の範囲内で様々な変更を伴って実施され得ることに留意されたい。加えて、本明細書において用いられる図面は説明を目的としており、実際の寸法を示さない場合がある。
【００１７】
ニューロモーフィック・システムのハードウェア実装は、シナプス・メモリ、ならびにニューロン体（neuron body）および軸索接続ネットワークを含むことができる。図１を参照すると、クロス・バー・アレイ構造を有するシナプス・メモリ１００が示されている。図１に示すように、シナプス・メモリ１００は、全ての軸索２０および全ての樹状突起３０の全ての交点に配置された(arranged)／配置された(placed)シナプス・メモリ・セル１０を含むことができる。シナプス・メモリ・セル１０の各々は、シナプス状態の１つの例としてシナプス重み値を記憶することができる。シナプス重み値は、軸索２０のうちの対応する軸索と、樹状突起３０のうちの対応する樹状突起との間のシナプス接続の重みを示す。
【００１８】
シナプス・メモリ・セル１０は、２つのタイプ、すなわち、アナログ・シナプス・メモリ・セル（例えば、アナログ・セル）およびデジタル・シナプス・メモリ・セル（例えば、デジタル・セル）に分類される。
【００１９】
アナログ・セルは、連続したシナプス重み値を表すことができる。しかしながら、一定の精度レベルでシナプス重み値を制御することは困難である。また、そのような精度レベル内でシナプス重み値を制御するには、複雑な周辺回路が必要である。更に、シナプス・メモリ・セル１０の性能の変動は、ニューロモーフィック・システムの性能に直接影響を及ぼす。
【００２０】
デジタル・セルは、シングル・レベル・セル（ＳＬＣ）およびマルチ・レベル・セル（ＭＬＣ）に更に分類することができる。
【００２１】
ＳＬＣは、２つの状態（例えば、重状態（heavy state）および軽状態（light state））を区別するのに単一の閾値レベルを用いる。ＳＬＣは、プレ・シナプスとポスト・シナプスとの間の接続を有する状態または有しない状態のみを表すことができる。このため、ＳＬＣは、ほとんどの場合、３つ以上のシナプス重み値を表すには他のメモリを必要とする。したがって、複数のメモリへのアクセスが必要とされる。
【００２２】
ＭＬＣは、複数の閾値レベルを用いる。閾値レベルの数がｎ（＞１）であると仮定すると、ＭＬＣは、（ｎ＋１）個のシナプス重み値を表すことができる。例えば、ｎが７の場合、８個のシナプス重み値を１つのＭＬＣに記憶することができる。ＭＬＣは、ＳＬＣよりも正確なシナプス重み値を表すことができる。しかしながら、シナプス重み値および上記のアナログ・セルを制御するのは困難である。更に、ＭＬＣは、シナプス重み値の読み取りおよび書き込みのために、高分解能の検知回路および複雑な符号化／復号回路を必要とする。
【００２３】
シナプス・メモリ・セル１０は、これらの欠点が解決される場合、より簡便かつ厳密に制御される。
【００２４】
以下で説明する単純な構造を有するシナプス・メモリ・セル１０は、ＭＬＣよりも正確である。このシナプス・メモリ・セル１０は、高分解能の検知回路も、複雑な符号化／復号回路も必要としない。
【００２５】
図２〜図５を参照すると、例示的な実施形態によるシナプス・メモリ・セル１０のセル・コンポーネントが示されている。例示的な実施形態において、シナプス・メモリ・セル１０は、複数の単位抵抗を含む抵抗変化型メモリ・セルであると仮定される。複数の単位抵抗の各々は、コンダクタンス値（例えば、抵抗値Ｒｕｎｉｔの逆数）とすることができる重み値Ｗｕｎｉｔを有すると仮定される。例示的な実施形態では、複数の単位抵抗の各々は、上述したＳＬＣを用いて実施されると仮定される。すなわち、重み値Ｗｕｎｉｔは、２つの状態、すなわち、重状態および軽状態を有すると仮定される。例えば、重み値Ｗｕｎｉｔは、重状態を有するとき、１とすることができ、軽状態を有するとき、０とすることができる。
【００２６】
実施形態において、各々が２ｉ−１個の単位抵抗からなるセル・コンポーネントを準備することができる。ここで、ｉは１〜ｎである。ｉが１でない場合、２ｉ−１個の単位抵抗は、並列に接続することができる。このため、２ｉ−１個の単位抵抗からなるセル・コンポーネントは、Ｗｕｎｉｔの２ｉ−１倍で表される重み値（Ｒｕｎｉｔの２ｉ−１分の１（１／２ｉ−１）で表される抵抗値）を有することができる。すなわち、２ｉ−１個の単位抵抗からなるセル・コンポーネントは、重み値「０」または「２ｉ−１」を有することができる。
【００２７】
例えば、図２は、ｉ＝１の場合のセル・コンポーネントであるセル・コンポーネント１１を示す。セル・コンポーネント１１は、１つの単位抵抗１１１を含むことができる。このため、セル・コンポーネント１１は、Ｗｕｎｉｔで表される重み値を有することができる。すなわち、セル・コンポーネント１１は、重み値「０」または「１」を有することができる。重み値「０」および「１」は、所定の数の状態の第１の組の１つの例としての役割を果たす。ｉ＝１の場合の単一のセル・コンポーネントの場合、重み値「０」および「１」は、所定の数の状態の第２の組の１つの例としての役割も果たす。更に、図２は、セル・コンポーネント１１の最上位ノード（ＴＮ）および最下位ノード（ＢＮ）を示す。
【００２８】
図３は、ｉ＝２の場合のセル・コンポーネントであるセル・コンポーネント１２を示す。セル・コンポーネント１２は、並列に接続された単位抵抗１２１および１２２を含むことができる。このため、セル・コンポーネント１２は、Ｗｕｎｉｔの２倍で表される重み値（Ｒｕｎｉｔの２分の１（１／２）で表される抵抗値）を有することができる。すなわち、セル・コンポーネント１２は、重み値「０」または「２」を有することができる。重み値「０」および「２」は、所定の数の状態の第１の組の１つの例としての役割を果たす。更に、図３は、単位抵抗１２１および１２２の最上位ノードを接続することによって形成されるＴＮ、ならびに単位抵抗１２１および１２２の最下位ノードを接続することによって形成されるＢＮを示す。
【００２９】
図４は、ｉ＝３の場合のセル・コンポーネントであるセル・コンポーネント１３を示す。セル・コンポーネント１３は、並列に接続された単位抵抗１３１〜１３４を含むことができる。このため、セル・コンポーネント１３は、Ｗｕｎｉｔの４倍で表される重み値（Ｒｕｎｉｔの４分の１（１／４）で表される抵抗値）を有することができる。すなわち、セル・コンポーネント１３は、重み値「０」または「４」を有することができる。重み値「０」および「４」は、所定の数の状態の第１の組の１つの例としての役割を果たす。更に、図４は、単位抵抗１３１〜１３４の最上位ノードを接続することによって形成されるＴＮ、ならびに単位抵抗１３１〜１３４の最下位ノードを接続することによって形成されるＢＮを示す。
【００３０】
同様に、ｉ＝４〜ｉ＝ｎ−１の場合のセル・コンポーネントを形成することができる。ここで図５を参照すると、図５は、ｉ＝ｎの場合のセル・コンポーネントであるセル・コンポーネント１Ｎを示す。セル・コンポーネント１Ｎは、並列に接続された２ｎ−１個の単位抵抗を含むことができる。このため、セル・コンポーネント１Ｎは、Ｗｕｎｉｔの２ｎ−１倍で表される重み値（Ｒｕｎｉｔの２ｎ−１分の１（１／２ｎ−１）で表される抵抗値）を有することができる。すなわち、セル・コンポーネント１Ｎは、重み値「０」または「２ｎ−１」を有することができる。重み値「０」および「２ｎ−１」は、所定の数の状態の第１の組の１つの例としての役割を果たす。更に、図５は、２ｎ−１個の単位抵抗の最上位ノードを接続することによって形成されるＴＮ、ならびに２ｎ−１個の単位抵抗の最下位ノードを接続することによって形成されるＢＮを示す。例えば、ｉ＝１〜ｉ＝３の場合のこれらのセル・コンポーネントを組み合わせることによって、シナプス重み値「０」〜「７」を表すことができる。すなわち、ｉ＝１〜ｉ＝ｎの場合のこれらのセル・コンポーネントを用いて、ｎ桁バイナリ数のためのシナプス重み値を表すことができる。
【００３１】
図６を参照すると、例示的な実施形態によるシナプス・メモリ・セル・システムが示されている。
【００３２】
図６は、まず、それぞれｉ＝１〜ｉ＝６の場合のセル・コンポーネントであるセル・コンポーネント１１〜１６を用いたシナプス・メモリ・セル１０の構造を示す。図２および図６に示されているように、セル・コンポーネント１１は、１（＝２０）個の単位抵抗を用いて実装されると仮定される。図３および図６に示されているように、セル・コンポーネント１２は、２（＝２１）個の単位抵抗を用いて実装されると仮定される。図４および図６に示されているように、セル・コンポーネント１３は、４（＝２２）個の単位抵抗を用いて実装されると仮定される。図５（ｉ＝４）および図６に示されているように、セル・コンポーネント１４は、８（＝２３）個の単位抵抗を用いて実装されると仮定される。図５（ｉ＝５）および図６に示されているように、セル・コンポーネント１５は、１６（＝２４）個の単位抵抗を用いて実装されると仮定される。図５（ｉ＝６）および図６に示されているように、セル・コンポーネント１６は、３２（＝２５）個の単位抵抗を用いて実装されることが仮定される。このため、図６において、１つのシナプス・セルは、６３（＝２６−１）個の単位抵抗を用いて実装されると仮定される。
【００３３】
図６は、シナプス・メモリ・セル１０のために機能する構造要素として、書き込みドライバ・アレイ４０、読み出しドライバ５０、電流センサ６０、ニューロン体７０、重み評価器８０および重み符号化器９０を更に示す。
【００３４】
書き込みドライバ・アレイ４０は、学習動作入力または認識動作入力に応答して、シナプス重み値をシナプス・メモリ・セル１０に書き込むように構成することができる。特に、書き込みドライバ・アレイ４０は、それぞれ、セル・コンポーネント１１〜１６のための書き込みドライバ４１〜４６を含むことができる。セル・コンポーネント１１〜１６の各々のＴＮは、書き込み線を介して、書き込みドライバ・アレイ４０における書き込みドライバ４１〜４６のうちの対応する書き込みドライバの出力ノードに接続することができる。このため、書き込みドライバ４１〜４６は、対応する書き込み線を介して、セル・コンポーネント１１〜１６のうちの対応するセル・コンポーネントを構成する全ての単位抵抗に重み値「０」または「１」を書き込むことができる。更に、セル・コンポーネント１１〜１６のＢＮは、書き込みドライバ４１〜４６のＤＣ共通ノードに共に接続することができる。
【００３５】
読み出しドライバ５０は、認識動作入力に応答して、シナプス・メモリ・セル１０からシナプス重み値を読み出すように構成することができる。セル・コンポーネント１１〜１６のＴＮは、読み出しドライバ５０の出力ノードに共に接続することができる。このため、読み出しドライバ５０は、セル・コンポーネント１１〜１６の全てに同時に電流を印加することができる。
【００３６】
また、電流センサ６０は、シナプス・メモリ・セル１０からシナプス重み値を読み出すように構成することもできる。セル・コンポーネント１１〜１６のＢＮは、読み出し線を介して電流センサ６０に共に接続することができる。読み出しドライバ５０のＤＣ共通ノードも電流センサ６０に接続することができる。このため、電流センサ６０は、読み出し線を介して、セル・コンポーネント１１〜１６の全てからの全電流を検知することができる。
【００３７】
ニューロン体７０は、ニューロン動作を行うことができる。特に、ニューロン体７０は、電流センサ６０によって検知される全電流に基づいてシナプス重み値を取得することができる。次に、ニューロン体７０は、シナプス重み値を、認識動作出力として、別のシナプス・メモリ・システムおよび重み評価器８０に出力することができる。セル・コンポーネントの多数の単位抵抗が重み値「１」を有する場合、セル・コンポーネントは、大きな電流を通すことができる。他方で、セル・コンポーネントの多数の単位抵抗が重み値「０」を有する場合、セル・コンポーネントは、小さな電流を通すことができる。したがって、電流センサ６０によって検知される全電流は、シナプス・メモリ・セル１０に記憶されるシナプス重み値を表すことができる。
【００３８】
重み評価器８０は、ニューロン体７０のニューロン出力信号を用いて現在のシナプス重み値を評価し、次のシナプス重み値を決定することができる。詳細には、重み評価器８０は、ニューロン体７０から取得されたニューロン出力信号を、学習動作入力として与えられた所望の出力信号と比較し、シナプス・メモリ・セル１０に記憶された現在のシナプス重み値を更新するのに用いる次のシナプス重み値を計算することができる。
【００３９】
重み符号化器９０は、重み評価器８０によって計算される次のシナプス重み値を符号化することができる。特に、重み符号化器９０は、次のシナプス重み値を、各々が書き込みドライバ４１〜４６のうちの対応する書き込みドライバに供給されるバイナリ符号化値に符号化し、書き込みドライバ４１〜４６の各々が、バイナリ符号化値のうちの対応するバイナリ符号化値をセル・コンポーネント１１〜１６のうちの対応するセル・コンポーネントに書き込むことができるように、書き込みドライバ４１〜４６を駆動することができる。
【００４０】
図７を参照すると、タイム・チャート４５０、５５０および１５０が示されている。タイム・チャート４５０は、シナプス・メモリ・セル１０に書き込む際の、書き込みドライバ４１〜４６のうちの任意の書き込みドライバからの信号出力のタイミングを示す。タイム・チャート５５０は、シナプス・メモリ・セル１０から読み出す際の、読み出しドライバ５０からの信号出力のタイミングを示す。更に、タイム・チャート１５０は、シナプス・メモリ・セル１０の状態遷移のタイミングを示す。
【００４１】
シナプス重み値をシナプス・メモリ・セル１０に書き込むために、書き込みドライバ４１〜４６の各々を、それぞれセットまたはリセット閾値レベルよりも高くまたは低く駆動することができる。
【００４２】
第１に、書き込みドライバ４１〜４６の全てをアクティベートし、書き込みドライバ４１〜４６がセル・コンポーネント１１〜１６をリセット方向（例えば、リセット閾値レベルよりも低い）に駆動することができるようにすることによって、セル・コンポーネント１１〜１６の全てが、重み値「０」を与える軽状態にプリセットされることが仮定される。タイム・チャート４５０において、この動作は、タイム・チャート１５０の状態「Ｒｅｓｅｔ１」において行われる。
【００４３】
次に、書き込みドライバ４１〜４６間の選択された書き込みドライバをアクティベートし、これらの選択された書き込みドライバが選択されたセル・コンポーネントをセット方向（例えば、セット閾値レベルよりも高い）に駆動することができるようにすることによって、セル・コンポーネント１１〜１６間の選択されたセル・コンポーネントのみが、重み値「１」を与える重状態にセットされることが仮定される。タイム・チャート４５０において、この動作は、タイム・チャート１５０の状態「Ｓｅｔ１」において行われる。
【００４４】
次に、選択された書き込みドライバをアクティベートし、これらの選択された書き込みドライバが選択されたセル・コンポーネントをリセット方向（例えば、リセット閾値レベルよりも低い）に駆動することができるようにすることによって、選択されたセル・コンポーネントを、重み値「０」を与える軽状態にセットすることができる。タイム・チャート４５０において、この動作は、タイム・チャート１５０の状態「Ｒｅｓｅｔ２」において行われる。
【００４５】
シナプス・メモリ・セル１０からシナプス重み値を読み出すために、読み出しドライバ５０をアクティベートすることができる。タイム・チャート５５０において、この動作は、タイム・チャート１５０の状態「Ｒｅａｄ１」および「Ｒｅａｄ２」において行われる。タイミングの各々において、シナプス重みに比例した、セル・コンポーネント１１〜１６の全てからの全電流出力を電流センサ６０によって検知することができる。
【００４６】
読み出しドライバ５０からの信号出力のレベルは、シナプス・メモリ・セル１０に記憶されたシナプス重み値が読み出しドライバ５０からの信号出力によって破壊（例えば、上書き）されないように、セット閾値レベルよりも低くすることができることに留意されたい。アナログ・セルまたはＭＬＣ構造において、単位抵抗の厳密な制御は必須である。しかしながら、この構造により、単位抵抗のそのような厳密な制御を回避することができる。この理由は、ＳＬＣのように全ての単位抵抗が２つの状態のみで制御され、ＭＬＣと異なり、ベリファイ読み出し（verify read）も追加の書き込みも必要でないためである。
【００４７】
更に、駆動の競合を回避するために、書き込み（リセット／セット）および読み出しのタイミングを排他的に分離することができる。すなわち、書き込みドライバ・アレイ４０および読み出しドライバ５０は、同時にアクティベートされないように制御することができる。例えば、書き込みドライバ・アレイ４０は、読み出しドライバ５０がシナプス・メモリ・セル１０を駆動している間、高インピーダンス（Ｈｉ−Ｚ）状態に保持しておくことができ、読み出しドライバ５０は、書き込みドライバ・アレイ４０がシナプス・メモリ・セル１０を駆動している間、高インピーダンス（Ｈｉ−Ｚ）状態に保持しておくことができる。
【００４８】
図８を参照すると、図６のシナプス・メモリ・セル・システムを含むニューロ・シナプティック・コア・システムの例が示されている。例示的な実施形態による、このシステムにおけるデータ・フローが図８に示されている。図８において、シナプス・メモリ１００は、オンライン学習を用いてこのシステムを実施するために応用されることが仮定される。
【００４９】
図８に示されているように、ニューロ・シナプティック・コア・システムは、シナプス・メモリ１００、書き込みドライバ・アレイ４００、読み出しドライバ５００、電流センサ６００、ニューロン体７００、重み評価器８００および重み符号化器９００を含むことができる。
【００５０】
シナプス・メモリ１００は、図１に示されているような複数のシナプス・メモリ・セル１０を含むことができる。
【００５１】
書き込みドライバ・アレイ４００は複数の書き込みドライバ・アレイを含むことができ、そのうちの１つが図６において書き込みドライバ・アレイ４０として示されている。複数の書き込みドライバ・アレイの各々は、図６に示す共通構造を用いて個々のシナプス・メモリ・セル１０に接続することができる。
【００５２】
読み出しドライバ５００は複数の読み出しドライバを含むことができ、そのうちの１つが図６において読み出しドライバ・アレイ５０として示されている。複数の読み出しドライバの各々は、図６に示す共通構造を用いて個々のシナプス・メモリ・セル１０に接続することができる。
【００５３】
電流センサ６００は複数の電流センサを含むことができ、そのうちの１つが図６において電流センサ６０として示されている。電流センサの各々は、図６に示す共通構造を用いて個々のシナプス・メモリ・セル１０に接続することができる。
【００５４】
ニューロン体７００は複数の複数のニューロン体を含むことができ、そのうちの１つが図６においてニューロン体７０として示されている。ニューロン体の各々は、図６に示す共通構造を用いて個々のメモリ・セル１０に結合された個々の電流センサ６０に接続することができる。
【００５５】
重み評価器８００は複数の重み評価器を含むことができ、そのうちの１つが図６において重み評価器８０として示されている。重み評価器の各々は、図６に示す共通構造を用いて個々の書き込みドライバ・アレイ４０を通じて個々のシナプス・メモリ・セル１０に結合された個々の重み符号化器９０に接続することができる。
【００５６】
重み符号化器９００は複数の重み符号化器を含むことができ、そのうちの１つが図６において重み符号化器９０として示されている。重み符号化器の各々は、図６に示す共通構造を用いて個々のシナプス・メモリ・セル１０に結合された個々の書き込みドライバ・アレイ４０に接続することができる。
【００５７】
図８は、斜線矢印によって示される学習動作モードにおけるデータ・フロー、および白抜き矢印によって示された認識動作モードにおけるデータ・フローを更に示す。
【００５８】
図８に示すような学習動作モードにおいて、書き込みドライバ・アレイ４００のうちの１つは、認識動作入力に応答して、シナプス・メモリ１００内の対応するシナプス・メモリ・セル１０に電圧を印加することができる。この事例において、書き込みドライバ・アレイ４００のうちの１つが、図７のリセット閾値レベルおよびセット閾値レベル間のレベルの電圧を印加する場合、シナプス・メモリ・セル１０に記憶されたシナプス重み値は上書きされない。
【００５９】
次に、電流センサ６００のうちの１つが、シナプス・メモリ・セル１０に結合された対応する樹状突起３０からの全電流を検知することができる。ニューロン体７００のうちの１つが、電流センサ６００のうちの１つによって検知された全電流に基づいてニューロン膜電位値を計算し、重み評価器８００のうちの１つにニューロン出力を供給することができる。重み評価器８００のうちの１つは、ニューロン体７００のうちの１つから取得したニューロン出力を、学習動作入力と比較し、比較結果に基づいて、シナプス・メモリ・セル１０のコンテンツを更新するのに用いられる次のシナプス重み値を計算することができる。重み符号化器９００のうちの１つは、次のシナプス重み値をバイナリ符号化値に符号化し、書き込みドライバ・アレイ４００のうちの１つがバイナリ符号化値をシナプス・メモリ・セル１０に書き込むことができるように、この書き込みドライバ・アレイを駆動することができる。書き込みドライバ・アレイ４００のうちの１つは、シナプス・メモリ・セル１０に対し、バイナリ符号化値をシナプス重み値として駆動することができる。
【００６０】
認識動作モードにおいて、図８に示すように、読み出しドライバ５００は、認識動作入力に応答して、シナプス・メモリ１００内のシナプス・メモリ・セル１０に結合された軸索２０に電流を印加することができる。
【００６１】
次に、電流センサ６００は、シナプス・メモリ・セル１０に結合された樹状突起３０からの全電流を検知することができる。ニューロン体７００は、電流センサ６００によって検知された全電流に基づいてニューロン膜電位を計算し、ニューロン出力を認識動作出力として別のシナプス・メモリ・システムに供給することができる。
【００６２】
図９を参照すると、実施形態による、書き込みドライバおよび読み出しドライバを含むシナプス・メモリ・セル・システムの製造手順を表すブロック／フロー図が示されている。
【００６３】
図９に示すように、２つの重み値のうちの１つの書き込みおよび読み出しのための最小サイズの複数の単位抵抗を準備することができる（ステップ１０１）。例えば、２つの重み値は、重状態に対応する重み値「１」および軽状態に対応する重み値「０」とすることができる。複数の単位抵抗を並列に接続して、複数のセル・コンポーネントを構成することができる（ステップ１０２）。次に、二値加重された（binary weighted）数の単位抵抗を含む異なる種類のセル・コンポーネント１１〜１６を準備することができる（ステップ１０３）。異なる種類のセル・コンポーネント１１〜１６を組み合わせて、シナプス・メモリ・セル１０を構成することができる（ステップ１０４）。
【００６４】
その一方で、シナプス・メモリ・セル１０内のセル・コンポーネント１１〜１６に別個であるが並列して同時に重み値を書き込むための書き込みドライバ４１〜４６を準備することができる（ステップ１０５）。すなわち、デジタル書き込みのための書き込みドライバ４１〜４６を準備することができる。このステップは、そのようなデジタル書き込みのために用いられる書き込み線を配置することを更に含むことができる。シナプス・メモリ・セル１０においてセル・コンポーネント１１〜１６からシナプス重み値を同時に読み出すための読み出しドライバ５０を準備することができる（ステップ１０６）。すなわち、アナログ読み出しのための読み出しドライバ５０を準備することができる。このステップは、そのようなアナログ読み出しのために用いられる読み出し線を配置することを更に含むことができる。
【００６５】
次に、代替的な例示的実施形態を説明する。
【００６６】
代替的な例示的実施形態において、シナプス・メモリ・セル１０は、複数の単位コンデンサを含む容量性メモリ・セルであると仮定される。例示的な実施形態における抵抗変化型メモリ・セルは、容量性メモリ・セルと置き換えることができる。なぜなら、シナプス重み値は、抵抗変化型メモリ・セルのコンダクタンス値、および容量性メモリ・セルのキャパシタンス値の双方によって同じように表すことができるためである。容量性メモリ・セルのキャパシタンス値は、抵抗変化型メモリ・セルのコンダクタンス値のように、単位コンデンサが並列に接続されているとき、２倍にすることができ、単位コンデンサが直列に接続されているとき、半分にすることができる。代替的な例示的実施形態において、電流センサ(current sensor)６０（例えば、電流センサ(current sensors)６００）は、キャパシタンス・センサ(capacitance sensor)（例えば、キャパシタンス・センサ(capacitance sensors)）等と置き換えることもできることに留意されたい。更に、抵抗変化型メモリ・セルのコンダクタンス値を抵抗変化型メモリ・セルに対して一般化することができるのと同様に、容量性メモリ・セルのキャパシタンス値を単位セルの状態に一般化することができる。
【００６７】
続いて、別の代替的な例示的実施形態を説明する。
【００６８】
第２の代替的な例示的実施形態において、重み値Ｗｕｎｉｔは、３つの状態、すなわち、重状態、中状態および軽状態を有することが仮定される。例えば、重み値Ｗｕｎｉｔは、重状態を有するとき２とすることができ、中状態を有するとき１とすることができ、軽状態を有するとき０とすることができる。
【００６９】
第２の代替的な例示的実施形態において、各々が３ｉ−１個の単位抵抗からなるセル・コンポーネントを準備することができる。ここで、ｉは１〜ｎである。ｉが１でない場合、３ｉ−１個の単位抵抗を並列に接続することができる。このため、３ｉ−１個の単位抵抗からなるセル・コンポーネントは、Ｗｕｎｉｔの３ｉ−１倍で表される重み値（Ｒｕｎｉｔの３ｉ−１分の１（１／３ｉ−１）で表される抵抗値）を有することができる。すなわち、３ｉ−１個の単位抵抗からなるセル・コンポーネントは、重み値「０」、「３ｉ−１」または「２×３ｉ−１」を有することができる。
【００７０】
例えば、ｉ＝１の場合のセル・コンポーネントは、重み値「０」、「１」または「２」を有することができる。重み値「０」、「１」および「２」は、所定の数の状態の第１の組の１つの例としての役割を果たす。ｉ＝１の場合の単一のセル・コンポーネントについて、重み値「０」、「１」および「２」は、所定の数の状態の第２の組の１つの例としての役割も果たす。ｉ＝２の場合のセル・コンポーネントは、重み値「０」、「３」または「６」を有することができる。重み値「０」、「３」および「６」は、所定の数の状態の第１の組の１つの例としての役割を果たす。ｉ＝３の場合のセル・コンポーネントは、重み値「０」、「９」または「１８」を有することができる。重み値「０」、「９」および「１８」は、所定の数の状態の第１の組の１つの例としての役割を果たす。ｉ＝１〜ｉ＝３の場合のこれらのセル・コンポーネントを組み合わせることによって、シナプス重み値「０」〜「２６」を表すことができる。すなわち、ｉ＝１〜ｉ＝ｎの場合のこれらのセル・コンポーネントを用いて、ｎ桁３進数のためのシナプス重み値を表すことができる。
【図１】
2019537187.tif 000003
【図２】
2019537187.tif 000004
【図３】
2019537187.tif 000005
【図４】
2019537187.tif 000006
【図５】
2019537187.tif 000007
【図６】
2019537187.tif 000008
【図７】
2019537187.tif 000009
【図８】
2019537187.tif 000010
【図９】
2019537187.tif 000011
【国際調査報告】
2019537187.tif 000012
2019537187.tif 000013