(57)【要約】  本開示の幾つかの実施形態は、ニューロプロセッサチップから交換可能な記憶装置内に別個にシナプス荷重を格納するための技法をサポートする。交換可能なシナプスメモリは、ニューロプロセッサに一意の機能を与え、非常に様々な用途をサポートするそれの柔軟性を向上させる。さらに、交換可能なシナプス記憶装置は、使用されるメモリのタイプに関してより多くの選択肢を提供することができ、及び、全体的なニューロプロセッサチップの面積および実装コストを低減させることが可能である。
2013534017.tif 000002
【特許請求の範囲】
【請求項１】
複数のニューロン回路及び少なくとも１つのシナプスを有するニューロプロセッサチップと、
前記少なくとも１つのシナプスの荷重を格納する前記ニューロプロセッサチップに接続された取り外し可能なメモリと、を備え、前記少なくとも１つのシナプスは、一対のニューロン回路を接続し、前記荷重は、少なくとも部分的に、前記ニューロプロセッサチップの機能を定義する、電気回路。
【請求項２】
前記取り外し可能なメモリは、インタフェース回路を介して前記ニューロプロセッサチップに接続され、
前記インタフェース回路は、前記ニューロプロセッサチップから前記取り外し可能なメモリに及び前記取り外し可能なメモリから前記ニューロプロセッサチップに前記荷重を搬送する請求項１に記載の電気回路。
【請求項３】
前記ニューロプロセッサチップは、前記荷重の少なくとも一部を格納するためのローカルメモリを備える請求項１に記載の電気回路。
【請求項４】
前記荷重は、前記取り外し可能なメモリ内に格納される前にニューロン回路の前記対に関して訓練される請求項１に記載の電気回路。
【請求項５】
前記訓練された荷重の値は、他のニューロプロセッサチップに接続された他の取り外し可能なメモリ内において模写及び格納され、
前記他のニューロプロセッサチップは、少なくとも部分的に前記荷重の前記値に基づいて前記ニューロプロセッサチップの前記機能を実行する請求項４に記載の電気回路。
【請求項６】
前記取り外し可能なメモリは、前記取り外し可能なメモリと異なる前記荷重の値を格納する他の取り外し可能なメモリと交換され、
前記荷重の前記値は、少なくとも部分的に、前記ニューロプロセッサチップの他の機能を定義する請求項１に記載の電気回路。
【請求項７】
前記取り外し可能なメモリは、非揮発性メモリデバイスを備える請求項１に記載の電気回路。
【請求項８】
ニューロプロセッサチップに取り外し可能なメモリを接続することと、
前記取り外し可能なメモリにシナプス荷重を格納することと、を備え、シナプスは、ニューロプロセッサチップの複数のニューロン回路のうちの２つを接続し、前記荷重は、少なくとも部分的に、前記ニューロプロセッサチップの機能を定義する、ニューラルシステムを実装するための方法。
【請求項９】
インタフェース回路を用いて前記ニューロプロセッサチップに前記取り外し可能なメモリを接続することと、
前記インタフェース回路を介して、前記ニューロプロセッサチップから前記取り外し可能なメモリに、及び前記取り外し可能なメモリから前記ニューロプロセッサチップに、前記荷重を転送することと、をさらに備える請求項８に記載の方法。
【請求項１０】
前記ニューロプロセッサチップ内のローカルメモリに前記シナプス荷重の少なくとも一部を格納することをさらに備える請求項８に記載の方法。
【請求項１１】
前記２つのニューロン回路に関して前記荷重を訓練することと、
前記取り外し可能なメモリに前記訓練された荷重を格納することと、をさらに備える請求項８に記載の方法。
【請求項１２】
他のニューロプロセッサチップに接続された他の取り外し可能なメモリに前記訓練された荷重の値を模写することをさらに備え、
前記他のニューロプロセッサチップは、少なくとも部分的に前記荷重の前記値に基づいて前記ニューロプロセッサチップの前記機能を実行する請求項１１に記載の方法。
【請求項１３】
前記取り外し可能なメモリと異なる前記荷重の値を格納する他の取り外し可能なメモリと前記取り外し可能なメモリを交換することをさらに備え、前記荷重の前記値は、少なくとも部分的に、前記ニューロプロセッサチップの他の機能を定義する請求項８に記載の方法。
【請求項１４】
前記取り外し可能なメモリは、非揮発性メモリデバイスを備える請求項８に記載の方法。
【請求項１５】
ニューロプロセッサチップに取り外し可能なメモリを接続するための手段と、
前記取り外し可能なメモリにシナプス荷重を格納するための手段と、を備え、シナプスは、ニューロプロセッサチップの複数のニューロン回路のうちの２つを接続し、前記荷重は、少なくとも部分的に、前記ニューロプロセッサチップの機能を定義する、ニューラルシステムを実装するための装置。
【請求項１６】
インタフェース回路を用いて前記ニューロプロセッサチップに前記取り外し可能なメモリを接続するための手段と、
前記インタフェース回路を介して、前記ニューロプロセッサチップから前記取り外し可能なメモリに、及び前記取り外し可能なメモリから前記ニューロプロセッサチップに、前記荷重を転送するための手段と、をさらに備える請求項１５に記載の装置。
【請求項１７】
前記ニューロプロセッサチップ内のローカルメモリに前記シナプス荷重の少なくとも一部を格納するための手段をさらに備える請求項１５に記載の装置。
【請求項１８】
前記２つのニューロン回路に関して前記荷重を訓練するための手段と、
前記取り外し可能なメモリに前記訓練された荷重を格納するための手段と、をさらに備える請求項１５に記載の装置。
【請求項１９】
他のニューロプロセッサチップに接続された他の取り外し可能なメモリに前記訓練された荷重の値を模写するための手段をさらに備え、
前記他のニューロプロセッサチップは、少なくとも部分的に前記荷重の前記値に基づいて前記ニューロプロセッサチップの前記機能を実行する請求項１８に記載の装置。
【請求項２０】
前記取り外し可能なメモリと異なる前記荷重の値を格納する他の取り外し可能なメモリと前記取り外し可能なメモリを交換するための手段をさらに備え、前記荷重の前記値は、少なくとも部分的に、前記ニューロプロセッサチップの他の機能を定義する請求項１５に記載の装置。
【請求項２１】
前記取り外し可能なメモリは、非揮発性メモリデバイスを備える請求項１５に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の幾つかの実施形態は、概して、ニューラルシステム工学に関するものである。本開示は、より具体的には、シナプス荷重をニューロプロセッサチップから交換可能な記憶装置内に別個に格納するための方法に関するものである。
【背景技術】
【０００２】
ニューロプロセッサの機能は、ニューロン間の結合の強度を制御するシナプス荷重に依存する。シナプス荷重は、典型的には、パワーダウン後にプロセッサの機能を保存するために非揮発性のオンチップメモリ内に格納される。
【０００３】
このメモリをニューロプロセッサとともに同じチップ上に有することは、ニューロプロセッサの機能と柔軟性を制限する。さらに、オンチップシナプスメモリは、利用可能な非揮発性メモリのタイプに関する選択肢を限定し、さらに、全体的なチップの面積および実装コストを増大させる。
【発明の概要】
【０００４】
本開示の幾つかの実施形態は、電気回路を提供する。電気回路は、複数のニューロン回路及びシナプスを有するニューロプロセッサチップと、シナプスの荷重を格納するニューロプロセッサチップに接続された取り外し可能なメモリと、を概して含み、各シナプスは、一対のニューロン回路を接続し、荷重は、ニューロンプロセッサチップの機能を決定する。
【０００５】
本開示の幾つか実施形態は、ニューラルシステムを実装するための方法を提供する。方法は、シナプスの荷重を格納するために取り外し可能なメモリを使用することと、ニューロプロセッサチップに取り外し可能なメモリを接続することと、を概して含み、各シナプスは、ニューロプロセッサチップの複数のニューロン回路のうちの２つを接続し、荷重は、ニューロプロセッサチップの機能を決定する。
【０００６】
本開示の幾つかの実施形態は、ニューラルシステムを実装するための装置を提供する。装置は、シナプスの荷重を格納するために取り外し可能なメモリを使用するための手段と、ニューロプロセッサチップに取り外し可能なメモリを接続するための手段と、を概して含み、各シナプスは、ニューロプロセッサチップの複数のニューロン回路のうちの２つを接続し、荷重は、ニューロプロセッサチップの機能を決定する。
【図面の簡単な説明】
【０００７】
本開示の上記の特徴を詳細に理解できるようにすることを目的として、実施形態を参照することで上記において要約したより具体的な説明を行うことができ、それらの実施形態の一部は添付された図面において例示されている。しかしながら、添付された図面は、本開示の幾つかの典型的な実施形態のみを例示するにすぎず、従って、それの適用範囲を制限するものであるとみなされるべきではなく、説明は、その他の同等に有効な実施形態を含めることが可能である。
【図１】本開示の幾つかの実施形態によるニューラルシステム例を示した図である。
【図２】本開示の幾つかの実施形態により外部のシナプス荷重メモリとインタフェースされたニューロプロセッサの例を示した図である。
【図３】本開示の幾つかの実施形態によりニューロプロセッサ外部のシナプス荷重メモリを実装するための動作例を示した図である。
【図３Ａ】図３において例示された動作を実施することが可能なコンポーネント例を示した図である。
【図４】本開示の幾つかの実施形態により外部のシナプス荷重メモリを実装するために用いることができる非揮発性メモリの例を示した図である。
【発明を実施するための形態】
【０００８】
以下では、本開示の様々な実施形態が添付図面を参照してより詳細に説明される。しかしながら、本開示は、数多くの異なる形態で具現化することができ、本開示全体を通じて提示された特定の構造又は機能に限定するとは解釈されるべきでない。むしろ、これらの実施形態は、本開示が徹底的かつ完全であること、及び本開示の適用範囲を当業者に十分に伝達することを目的として提供される。当業者は、ここにおける教示に基づき、本開示の適用範囲は、ここにおいて開示された本開示の実施形態が本開示のその他の実施形態から独立して実装されるか又は結合されるかにかかわらず、それらのあらゆる実施形態を網羅することが意図されることを評価すべきである。例えば、ここにおいて示される実施形態のうちのあらゆる数を用いて装置を実装すること又は方法を実践することができる。さらに、本開示の適用範囲は、ここにおいて示される開示の様々な実施形態に加えての又は様々な実施形態以外のその他の構造、機能、又は機能と構造を用いて実践される該装置又は方法を網羅することが意図される。ここにおいて開示された本開示のいずれの実施形態も、請求項の１つ以上の要素によって具現化可能であることが理解されるべきである。
【０００９】
語句“典型的な”は、“１つの例、事例、又は実例を提供すること”を意味するためにここにおいて用いられる。ここにおいて“典型的な”として説明されるいずれの実施形態も、その他の実施形態よりも好ましい又は有利であるとは必ずしも解釈されるべきではない。
【００１０】
ここにおいては特定の実施形態が説明されるが、これらの実施形態の数多くの変形及び置換も本開示の適用範囲内である。好ましい実施形態の幾つかの利益及び利点が述べられているが、本開示の適用範囲は、特定の利益、用途又は目標に限定されることは意図されない。むしろ、本開示の実施形態は、異なる技術、システム構成、ネットワーク及びプロトコルに対して広範囲に適用可能であることが意図されており、それらの一部は、図内及び好ましい実施形態に関する以下の説明において例として示される。詳細な発明を実施するための形態及び図面は、本開示を限定するのではなく単に例示するだけであるにすぎず、本開示の適用範囲は、添付された請求項及びそれらの同等物によって画定される。
【００１１】
典型的なニューラルシステム
図１は、本開示の幾つかの実施形態による複数のニューロンレベルを有するニューラルシステム例１００を示す。ニューラルシステム１００は、シナプス結合ネットワーク１０４を通じて他のニューロンレベル１０６に結合されたニューロンレベル１０２を備えることができる。簡略化を目的として、図１には２つのニューロンレベルのみが例示されるが、典型的なニューラルシステム内にはそれよりも多くのニューロンレベルが存在することができる。
【００１２】
図１において例示されるように、レベル１０２の各ニューロンは、前レベル（図１には示されていない）の複数のニューロンによって生成することができる入力信号１０８を受け取ることができる。信号１０８は、レベル１０２のニューロンの入力電流を表すことができる。この電流は、膜電位をチャージ（ｃｈａｒｇｅ）するためにニューロン膜上に蓄積することができる。膜電位がそれの閾値レベルに達したときに、ニューロンは発火し、次のニューロンレベル（例えば、レベル１０６）に伝達される出力スパイクを生成することができる。
【００１３】
図１において例示されるように、１つのニューロンレベルから他へのスパイクの伝達は、シナプス結合ネットワーク（又は単に“シナプス”）１０４を通じて達成させることができる。シナプス１０４は、レベル１０２のニューロンから出力信号（すなわち、スパイク）を受け取り、調整可能なシナプス荷重によりそれらの信号をスケーリングしｗ１（ｉ，ｉ＋１），．．．，ｗＰ（ｉ，ｉ＋１）（ここで、Ｐは、レベル１０２と１０６のニューロン間のシナプス結合の総数）、スケーリングされた信号をレベル１０６のニューロンの入力信号として結合する。レベル１０６内のすべてのニューロンが、対応する結合された入力信号に基づいて出力スパイク１１０を生成することができる。出力スパイク１１０は、他のシナプス結合ネットワーク（図１には示されてない）を用いて他のニューロンレベルに伝達することができる。
【００１４】
ニューラルシステム１００は、ニューロプロセッサによってエミュレーションすることができ、広範な用途、例えばパターン認識、機械学習及びモーター制御、において利用することができる。ニューラルシステム１００の各ニューロンは、ニューロプロセッサチップ内においてニューロン回路として実装することができる。出力スパイクを開始させるための閾値レベルまでチャージされるニューロン膜は、内部を流れる電流を積分するキャパシタとしてニューロン回路内に実装することができる。ニューロン回路の面積を実質的に縮小するために、ナノメータのフィーチャーサイズ（ｆｅａｔｕｒｅ  ｓｉｚｅ）のメモリスタ素子をキャパシタに代わる積分デバイスとして利用することができる。この手法を用いることによって、超大規模なニューラルシステムハードウェアの効率的な実装を可能にすることができる。
【００１５】
ニューラルシステム１００をエミュレーションするニューロプロセッサの機能は、シナプス結合の荷重に依存することができ、それは、ニューロン間の結合の強度を制御することができる。シナプス荷重は、パワーダウン後にプロセッサの機能を保存するために非揮発性メモリ内に格納することができる。しかしながら、このメモリをニューロプロセッサとともに同じチップ上に有することは、プロセッサの機能及び柔軟性を制限することがある。さらに、オンチップシナプスメモリは、利用する非揮発性メモリのタイプに関する選択肢を限定することがあり、及び、全体的なチップの面積および実装コストを増大させることがある。
【００１６】
本開示の幾つかの実施形態は、主ニューロプロセッサチップと別個の外部チップ上におけるシナプス荷重メモリの実装をサポートする。シナプス荷重メモリは、交換可能な取り外し可能なメモリとしてニューロプロセッサチップとは別個にパッケージングすることができる。これは、ニューロプロセッサに多様な機能を提供することができ、特定の機能は、ニューロプロセッサに現在取り付けられている取り外し可能なメモリ内に格納されたシナプス荷重に基づくことができる。
【００１７】
外部のシナプスメモリを有する典型的なニューロモーフィックアーキテクチャ
図２は、本開示の幾つかの実施形態によるニューロモーフィックアーキテクチャ２００の例を示す。シナプスメモリ２０６は、別個の外部の取り外し可能なメモリとして実装することができ、それは、インタフェース回路２０４を通じてニューロプロセッサ２０２に接続することができる。ニューロプロセッサ２０２は、図１において例示されたニューラルシステム１００をエミュレーションすることができる。それは、多数のニューロン回路とシナプス結合とを備えることができる。インタフェース２０４は、ニューロプロセッサチップ２０２及び外部のシナプス取り外し可能なメモリ２０６を接続するバスを備えることができる。インタフェースバスは、シナプス荷重データを両方向に搬送するように、及びコマンド、例えば“メモリ書き込み”、“メモリ読み取り”及び“アドレッシング”、を搬送するように設計することができる。
【００１８】
ニューラルシステム工学上の用途をサポートするために、ニューロプロセッサ２０２は、典型的には、例えば、１つのニューロン当たり約１００のシナプスを有する約１万のニューロン回路を備えることができ、それは、ニューロプロセッサ２０２内のシナプス総数を約１０６にする。各シナプス結合の強度は、希望される精度による一定のビット数で表される荷重と関連付けることができる。典型的には、非常に様々な用途に関して十分な精度を提供するためにシナプス荷重当たり最大10ビットが要求されることがある。例えば、すべての荷重が１０ビットで表される場合は、約１０６のシナプスを有するニューロプロセッサに関するシナプス荷重を格納するために約１０Ｍｂｉｔのメモリが要求される。
【００１９】
ニューロプロセッサ内のニューロン及びシナプスの数は、さらに複雑なニューラルシステム工学上の用途をサポートするために近い将来に大きく増加することが予想される。シナプス荷重メモリの要求されるサイズは、１０Ｍｂｉｔをはるかに上回るであろう。取り外し可能なメモリとしての大型のシナプスメモリをニューロプロセッサの外部に実装することは、ニューロプロセッサ及びシナプスメモリの両方のより効率的なダイ利用を提供することができる。さらに、より良い性能及びより低いコストを提供するために、ニューロプロセッサ及びメモリの製造プロセスをこれらの別個のチップのニーズに合わせて個別に好適化することができる。
【００２０】
前述されるように、ニューロプロセッサ２０２の機能は、ニューロン回路間のシナプス結合の荷重に依存することができる。ニューロプロセッサ２０２が特定の用途を実行できるようにするためには、ニューロプロセッサ内においてシナプス荷重の訓練（ｔｒａｉｎｉｎｇ）を最初に行う必要がある。訓練プロセス中には、シナプス荷重は、インタフェース２０４を通じて外部メモリ２０６に格納する及び外部メモリ２０６に／からローディングすることができる。学習プロセスが終了された時点で、すべての訓練されたシナプス荷重を外部のメモリチップ２０６内に完全に格納することができる。
【００２１】
多くの用途にとっては、ニューロプロセッサ内での荷重訓練プロセス継続時間は長時間になることがある。しかしながら、訓練されたシナプス荷重が外部の取り外し可能なメモリ２０６に完全に格納された時点で、それらは、他の取り外し可能なメモリに素早く模写（ｒｅｐｌｉｃａｔｅ）することができる。この方法により、ニューロプロセッサ２０２の機能を１つのメモリチップから他に単に“クローニング”することを可能にすることができる。これで、他のニューロプロセッサチップ内での時間と電力を消費する荷重訓練プロセスを完全に回避することができ、他方のニューロプロセッサチップが荷重訓練を行わずにニューロプロセッサ２０２と同じ機能を実行することができるようになる。
【００２２】
本開示の一実施形態においては、外部メモリ２０６は、交換可能な取り外し可能なメモリとして実装することができる。同じニューロプロセッサ２０２が、取り付けられたシナプス取り外し可能なメモリに依存して異なる機能を有することができる。交換可能な取り外し可能なメモリは、ユーザ間で共用することができ、及び、異なる機能（すなわち、同じシナプスの異なる荷重値）のライブラリを異なる取り外し可能なメモリ内に格納することができる。多様な機能を有するこれらのシナプス取り外し可能なメモリは、ニューロプロセッサ２０２から完全に独立して設計することができる。
【００２３】
本開示の他の実施形態においては、より高速なプロセッサ動作を提供するために、一時的なデータ（例えば、シナプス荷重の一部）を有するローカルワーキングメモリをニューロプロセッサチップ２０２内に実装することができる。ローカルメモリは、上記の荷重訓練プロセス中にも利用することができる。他方、プロセッサの機能を完全に決定するすべての訓練されたシナプス荷重を備える永久的メモリは外部であることができ及び別個のメモリチップ２０６として実装することができる。
【００２４】
図３は、本開示の幾つかの実施形態によりニューロプロセッサチップの外部にシナプス取り外し可能なメモリを実装するための動作例３００を示す。３０２において、取り外し可能なメモリをニューロプロセッサチップに接続することができる。３０４において、取り外し可能なメモリは、シナプス荷重を格納するために用いることができ、各シナプスは、ニューロプロセッサチップの複数のニューロン回路のうちの２つを接続することができ、荷重は、少なくとも部分的に、ニューロプロセッサチップの機能を定義することができる。
【００２５】
ニューロプロセッサ及びシナプスメモリチップの典型的な実装
ニューロプロセッサチップ２０２及び外部のシナプスメモリチップ２０６に関する実装詳細が次に示される。実装推定値は、ニューロプロセッサ２０２が様々な今日のニューラルシステム用途をサポートするために約１０４のニューロンを備えることができる典型的な事例に基づく。
【００２６】
１つのニューロン回路の実装面積は、ニューロン膜を模倣するためにキャパシタの代わりにメモリスタ素子が積分デバイスとして利用された場合は、今日の相補型金属酸化膜半導体（ＣＭＯＳ）技術の場合は３２×３２μｍ２のオーダーであることができる。このニューロン回路実装は、その結果として、ニューロプロセッサチップ２０２内の全ニューロンに関して約１０ｍｍ２の面積コストであることができる。
【００２７】
典型的には、１つのニューロン当たり約１００のシナプスが存在することができ、それは、１０４のニューロン回路を備える典型的なプロセッサの場合は約１０６のシナプスに相当することができる。１つのシナプス当たりの実装面積は、各シナプスがナノメータのフィーチャーサイズのメモリスタ素子に基づいて実装された場合は、今日のＣＭＯＳ技術の場合は１０×１０μｍ２のオーダーであることができる。この結果、１０４のニューロン回路を備える典型的なニューロプロセッサ２０２内の全シナプスに関して約１００ｍｍ２の面積コストであることができる。従って、ニューロプロセッサチップ２０２の総ダイ面積は、１１０ｍｍ２にほぼ等しいことができる（例えば、１０．５ｍｍ×１０．５ｍｍのダイ面積）。
【００２８】
ニューロンの最速の発火率は、５ｍｓごとに１回のスパイクに等しいことができる。いずれかの所定の５ｍｓの期間に最大で全ニューロンの約１０％（この典型的な事例では約１０００のニューロン回路）が同時にスパイクすることができる。従って、シナプス荷重メモリ２０６からインタフェース２０４を通じてニューロプロセッサ２０２には５ｍｓごとに最大１０５のシナプス荷重を読み込むことが必要になる。換言すると、一度に１つのシナプス荷重のみを外部メモリ２０６からニューロプロセッサ２０２にローディングすることができる場合は、５０ｎｓごとに１つのシナプス荷重を読み取る必要がある。
【００２９】
他方、メモリ書き込み時間は、報酬信号が到着したときに更新する必要がある適格な（ｅｌｉｇｉｂｌｅ）シナプスの数に基づいて決定することができる。最悪のシナリオでは、メモリ書き込み時間は、メモリ読み取り時間と等しくなることがある。上記のように、シナプスメモリチップ２０６は、典型的には、約１０６のシナプス荷重を格納することを要求することができる。例えば、１つのシナプス荷重当たり６ビットが利用される場合は、６Ｍｂｉｔの総格納容量を要求することができる。
【００３０】
磁気抵抗メモリ（ＭＲＡＭ）及び抵抗変化メモリ（ＲＲＡＭ（登録商標））が今日の最速の非揮発性メモリの代表である。これらのメモリは、１０ｎｓ未満の読み取り／書き込み時間及び６又は１０Ｍｂｉｔ超の容量を可能にすることができ、それは、外部のシナプス荷重メモリとしての使用に適したものにする。
【００３１】
図４は、本開示の幾つかの実施形態により外部シナプスメモリ２０６のために用いることができる非揮発性メモリの例を有するグラフ４００を例示する。非揮発性メモリタイプの広範な選択肢は、フラッシュメモリ、強誘電体メモリ、磁気トンネル接合メモリ、スピン注入メモリ、相変化メモリ、抵抗／メムリスティブ（ｍｅｍｒｉｓｔｉｖｅ）スイッチ、等を含む。すべてのこれらの選択肢は、外部シナプスメモリ２０６に関する可能な候補であることができる。
【００３２】
グラフ４００の一部分４０２は、ローカルワーキングオンチップメモリの動作領域に対応することができ、それは、より高速なプロセッサ動作のためのシナプス荷重の一部を格納することができる。強誘電体ランダムアクセスメモリ（ＦｅＲＡＭ）、磁気抵抗メモリ（ＭＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）及び相変化ランダムアクセスメモリ（ＰＲＡＭ）がワーキングオンチップメモリに関する可能な候補であることが図４から観察することができる。他方、図４において例示されるように、抵抗変化メモリ（ＲＲＡＭ）は大規模かつ高価すぎるためローカルオンチップワーキングメモリとして利用することはできない。
【００３３】
ＰＲＡＭメモリ、ＦｅＲＡＭメモリ及びＭＲＡＭメモリはすべて、書き込み動作前にデータを消去することを要求しない非揮発性メモリであることが注目されるべきである。しかしながら、ＲＲＡＭメモリは、書き込み動作前に消去を要求する非揮発性メモリである。他方、ＤＲＡＭ及びＳＲＡＭは、揮発性メモリの代表例である。
【００３４】
グラフ４００の一部分４０４は、外部メモリとインタフェースされたニューロプロセッサによって実行される用途と関連付けられたすべてのシナプス荷重を格納するための外部メモリの動作領域に対応することができる。ＮＡＮＤフラッシュメモリ、ＮＯＲフレッシュ（ｆｌｅｓｈ）メモリ及びＰＲＡＭが外部シナプスメモリに関する可能な選択肢であることができることを図４から観察することができる。ＮＡＮＤフラッシュメモリ及びＮＯＲフレッシュメモリは、書き込み前にデータを消去することを要求する非揮発性メモリである一方で、ＰＲＡＭは、書き込み前に消去を要求しない非揮発性ＲＡＭの例である。
【００３５】
上述される方法の様々な動作は、対応する機能を実行することが可能なあらゆる適切な手段によって行うことができる。それらの手段は、様々なハードウェア及び／又はソフトウェアコンポーネント及び／又はモジュールを含むことができ、限定されることなしに、回路、特定用途向け集積回路（ＡＳＩＣ）、又はプロセッサを含む。概して、図において例示される動作が存在する場合は、それらの動作は、同様の番号を有する対応する手段＋機能（ｍｅａｎｓ−ｐｌｕｓ−ｆｕｎｃｔｉｏｎ）コンポーネントを有することがある。例えば、図３において例示された動作３００は、図３Ａにおいて例示されたコンポーネント３００Ａ、３０２Ａ及び３０４Ａに対応する。
【００３６】
ここにおいて用いられる場合の表現“決定すること”は、非常に様々な行動を包含する。例えば、“決定すること”は、計算すること、演算すること、処理すること、導き出すこと、調査すること、検索すること（例えば、テーブル、データベース又は他のデータ構造内を検索すること）、確認すること、等を含むことができる。さらに、“決定すること”は、受信すること（例えば、情報を受信すること）、アクセスすること（例えば、メモリ内のデータにアクセスすること）、等を含むことができる。さらに、“決定すること”は、解決すること、選定すること、選択すること、確立すること、等を含むことができる。
【００３７】
ここにおいて用いられる場合において、項目（品目）のリストのうちの“少なくとも１つ”という句は、単一の構成要素を含むそれらの項目（品目）のあらゆる組み合わせを意味する。一例として、“ａ、ｂ、又はｃのうちの少なくとも１つ”は、ａ、ｂ、ｃ、ａ−ｂ、ａ−ｃ、ｂ−ｃ、及びａ−ｂ−ｃを網羅することが意図される。
【００３８】
本開示と関係させて説明される様々な例示的な論理ブロック、モジュール、及び回路は、ここにおいて説明される機能を果たすように設計された汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ信号（ＦＰＧＡ）又はその他のプログラマブル論理デバイス（ＰＬＤ）、ディスクリートゲートロジック、ディスクリートトランジスタロジック、ディスクリートハードウェアコンポーネント、又はそれらのあらゆる組合せ、を用いて実装又は実行することができる。汎用プロセッサは、マイクロプロセッサであることができるが、代替においては、プロセッサは、どのような市販のプロセッサ、コントローラ、マイクロコントローラ、又はステートマシンであってもよい。プロセッサは、計算デバイスの組合せ、例えば、ＤＳＰと、１つのマイクロプロセッサとの組合せ、複数のマイクロプロセッサとの組合せ、ＤＳＰコアと関連する１つ以上のマイクロプロセッサとの組合せ、又はその他のあらゆる該構成との組合せ、として実装することもできる。
【００３９】
本開示と関係させて説明される方法又はアルゴリズムのステップは、ハードウェア内において直接的に、プロセッサによって実行されるソフトウェアモジュール内において、又はそれらの２つの組み合わせにおいて具現化することができる。ソフトウェアモジュールは、当業において知られるあらゆる形態の記憶媒体内に常駐することができる。使用することができる記憶媒体の幾つかの例は、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、取り外し可能なディスク、ＣＤ−ＲＯＭ、等を含む。ソフトウェアモジュールは、単一の命令、又は数多くの命令を備えることができ、及び、幾つかの異なるコードセグメントにわたって、異なるプログラム間で、及び複数の記憶媒体にわたって分散させることができる。記憶媒体は、プロセッサが記憶媒体から情報を読み出すこと、及び記憶媒体に情報を書き込むことができるように該プロセッサに結合させることができる。代替においては、記憶媒体は、プロセッサと一体化することができる。
【００４０】
ここにおいて開示された方法は、説明される方法を実現させるための１つ以上のステップ又は行動を備える。方法ステップ及び／又は行動は、請求項の適用範囲を逸脱することなしに互換することができる。換言すると、ステップ又は行動の特定の順序が指定されないかぎり、特定のステップ及び／又は行動の順序及び／又は使用は、請求項の適用範囲を逸脱することなしに修正することができる。
【００４１】
説明される機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせにおいて実装することができる。ソフトウェアにおいて実装される場合は、これらの機能は、１つ以上の命令としてコンピュータによって読み取り可能な媒体に格納することができる。記憶媒体は、コンピュータによってアクセス可能なあらゆる利用可能な媒体であることができる。一例として、及び限定することなしに、該コンピュータによって読み取り可能な媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ又はその他の光学ディスク記憶装置、磁気ディスク記憶装置又はその他の磁気記憶装置、又は、希望されるプログラムコードを命令又はデータ構造の形態で搬送又は格納するために用いることができ及びコンピュータによってアクセス可能であるその他の媒体、を備えることができる。ここにおいて用いられるときのディスク（ｄｉｓｋ及びｄｉｓｃ）は、コンパクトディスク（ＣＤ）（ｄｉｓｃ）と、レーザディスク（ｄｉｓｃ）と、光ディスク（ｄｉｓｃ）と、デジタルバーサタイルディスク（ＤＶＤ）（ｄｉｓｃ）と、フロッピー（登録商標）ディスク（ｄｉｓｋ）と、Ｂｌｕ−ｒａｙ（登録商標）ディスク（ｄｉｓｃ）と、を含み、ここで、ｄｉｓｋは、通常は磁気的にデータを複製し、ｄｉｓｃは、レーザを用いて光学的にデータを複製する。
【００４２】
従って、幾つかの実施形態は、ここにおいて提示された動作を実行するためのコンピュータプログラム製品を備えることができる。例えば、該コンピュータプログラム製品は、ここにおいて説明される動作を実行するために１つ以上のプロセッサによって実行可能な命令が格納されている（及び／又は符号化されている）コンピュータによって読み取り可能な媒体を備えることができる。幾つかの実施形態の場合は、コンピュータプログラム製品は、パッケージング材料を含むことができる。
【００４３】
ソフトウェア又は命令は送信媒体を通じて送信することもできる。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、より対線、デジタル加入者ライン（ＤＳＬ）、又は無線技術、例えば、赤外線、無線、及びマイクロ波、を用いてウェブサイト、サーバ、又はその他の遠隔ソースから送信される場合は、該同軸ケーブル、光ファイバケーブル、より対線、ＤＳＬ、又は無線技術、例えば赤外線、無線、及びマイクロ波、は、送信媒体の定義の中に含まれる。
【００４４】
さらに、ここにおいて説明される方法及び技法を実施するためのモジュール及び／又はその他の適切な手段は、ユーザ端末及び／又は基地局によって適宜ダウンロードすること及び／又はその他の方法で入手することができることが評価されるべきである。例えば、該デバイスは、ここにおいて説明される方法を実行するための手段の転送を容易にするためにサーバに結合することができる。代替として、ここにおいて説明される様々な方法は、記憶手段（例えば、ＲＡＭ、ＲＯＭ、物理的記憶媒体、例えばコンパクトディスク（ＣＤ）、フロッピーディスク、等）を介して提供することができ、このため、ユーザ端末及び／又は基地局は、デバイスに記憶手段を結合又は提供次第様々な方法を入手することができる。さらに、ここにおいて説明される方法及び技法をデバイスに提供するためのあらゆるその他の適切な技法を利用可能である。
【００４５】
請求項は、上記の正確な構成及びコンポーネントに限定されないことが理解されるべきである。請求項の適用範囲を逸脱することなしに上述される方法及び装置の手はず、動作及び詳細の様々な修正、変更及び変形を行うことができる。
【００４６】
上記は、本開示の実施形態を対象とする一方で、本開示の基本的な適用範囲を逸脱することなしにそれのその他の及びさらなる実施形態を案出することができ、それの適用範囲は、後続する請求項によって決定される。
【図１】
2013534017.tif 000003
【図２】
2013534017.tif 000004
【図３】
2013534017.tif 000005
【図３Ａ】
2013534017.tif 000006
【図４】
2013534017.tif 000007
【国際調査報告】
2013534017.tif 000008
2013534017.tif 000009