(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-06
(45)【発行日】2023-12-14
(54)【発明の名称】アナログ-デジタル変換に先立つ初期統合をもたらすニューラル・ネットワーク回路
(51)【国際特許分類】
G06N 3/063 20230101AFI20231207BHJP
G11C 11/54 20060101ALI20231207BHJP
G06G 7/60 20060101ALI20231207BHJP
【FI】
G06N3/063
G11C11/54
G06G7/60
(21)【出願番号】P 2022512450
(86)(22)【出願日】2020-07-17
(86)【国際出願番号】 IB2020056739
(87)【国際公開番号】W WO2021038332
(87)【国際公開日】2021-03-04
【審査請求日】2022-12-23
(32)【優先日】2019-08-26
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】バール、ジェフリー
【審査官】円子 英紀
(56)【参考文献】
【文献】特開2018-109968(JP,A)
【文献】特開2005-122467(JP,A)
【文献】特開2018-160007(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/063
G11C 11/54
G06G 7/60
(57)【特許請求の範囲】
【請求項1】
デバイスであって、
複数のアナログ電圧を出力するように構成された第1のシナプシス・アレイと、
複数の入力配線を有する第2のシナプシス・アレイと、
前記第1のシナプシス・アレイおよび前記第2のシナプシス・アレイに動作上、結合されたネットワークと、
前記第1のシナプシス・アレイに動作上、結合された少なくとも1つのコンパレータであって、前記複数のアナログ電圧のうちの1つが所定のしきい値を超えるかどうかを各ビットが示すビットのベクトルを生成すべく前記複数のアナログ電圧を前記所定のしきい値と比較すること、および前記ネットワークを介してビットの前記ベクトルを送信することを行うように適合させられた、前記コンパレータと、
前記第1のシナプシス・アレイおよび前記ネットワークに動作上、結合された少なくとも1つのアナログ-デジタル変換器であって、前記複数のアナログ電圧をデジタル値のベクトルに変換すること、および前記ネットワークを介してデジタル値の前記ベクトルを送信することを行うように構成された、前記アナログ-デジタル変換器と、
前記第2のシナプシス・アレイおよび前記ネットワークに動作上、結合された少なくとも1つの変調器であって、
前記ネットワークからビットの前記ベクトルを受信すること、
ビットの前記ベクトルを処理することであって、ビットの前記ベクトルの対応するビットが、前記所定のしきい値が超えられたことを示すとき、前記第2のシナプシス・アレイの前記複数の入力配線の各々にパルスを供給することを含む、ビットの前記ベクトルを前記処理すること、
前記ネットワークからデジタル値の前記ベクトルを受信すること、および
デジタル値の前記ベクトルを処理することであって、前記第2のシナプシス・アレイの前記複数の入力配線の各々に、デジタル値の前記ベクトルの対応するデジタル値に比例する持続時間を各々が有するパルスを供給することを含む、デジタル値の前記ベクトルを前記処理すること
を行うように構成された、前記変調器と
を備え、
ビットの前記ベクトルを前記受信すること、またはビットの前記ベクトルを前記処理すること、あるいはその両方は、前記複数のアナログ電圧を前記変換すること、またはデジタル値の前記ベクトルを前記送信すること、あるいはその両方と並行に行われる、デバイス。
【請求項2】
前記第1のシナプシス・アレイおよび前記第2のシナプシス・アレイの各々が、複数の順序付けられた入力配線と、複数の順序付けられた出力配線と、前記複数の入力配線のうちの1つ、および前記複数の出力配線のうちの1つに各々が動作上、結合された複数のシナプシスとを備える、請求項1に記載のデバイス。
【請求項3】
前記複数のシナプシスの各々が、ニューラル・ネットワークの重みを記憶するように構成された抵抗変化型要素を備える、請求項2に記載のデバイス。
【請求項4】
前記シナプシス・アレイが、訓練されたニューラル・ネットワークとして構成される、請求項1に記載のデバイス。
【請求項5】
前記複数のアナログ電圧の各々が、符号なしの値に対応する、請求項1に記載のデバイス。
【請求項6】
前記複数のアナログ電圧の各々が、符号付きの値に対応する、請求項1に記載のデバイス。
【請求項7】
前記少なくとも1つのコンパレータが、少なくとも2つのコンパレータを備え、前記複数のアナログ電圧を前記所定のしきい値と比較することが、符号を決定すべく第1のコンパレータを前記アナログ電圧に適用すること、および前記アナログ電圧が前記所定のしきい値を超えるかどうかを決定すべく第2のコンパレータを前記アナログ電圧に適用することを含む、請求項6に記載のデバイス。
【請求項8】
前記第1のシナプシス・アレイが、前記複数のアナログ電圧のうちの1つを記憶すること、および出力することを行うように各々が構成された複数のキャパシタを備える、請求項1に記載のデバイス。
【請求項9】
方法であって、
複数のアナログ電圧のうちの1つが所定のしきい値を超えるかどうかを各ビットが示すビットのベクトルを生成すべく第1のシナプシス・アレイから出力された前記複数のアナログ電圧を前記所定のしきい値と比較すること、
ビットの前記ベクトルを処理することであって、ビットの前記ベクトルの対応するビットが、前記所定のしきい値が超えられたことを示すとき、第2のシナプシス・アレイの複数の入力配線の各々にパルスを供給することを含む、ビットの前記ベクトルを前記処理すること、
ビットの前記ベクトルを前記処理することと並行して、前記複数のアナログ電圧をデジタル値のベクトルに変換すること、および
ビットの前記ベクトルを前記処理することの後に続いて、前記第2のシナプシス・アレイの前記複数の入力配線の各々に、デジタル値の前記ベクトルの対応するデジタル値に比例する持続時間を各々が有するパルスを供給すること
を含む、方法。
【請求項10】
プロセッサに、
複数のアナログ電圧のうちの1つが所定のしきい値を超えるかどうかを各ビットが示すビットのベクトルを生成すべく第1のシナプシス・アレイから出力された前記複数のアナログ電圧を前記所定のしきい値と比較すること、
ビットの前記ベクトルを処理することであって、ビットの前記ベクトルの対応するビットが、前記所定のしきい値が超えられたことを示すとき、第2のシナプシス・アレイの複数の入力配線の各々にパルスを供給することを含む、ビットの前記ベクトルを前記処理すること、
ビットの前記ベクトルを前記処理することと並行して、前記複数のアナログ電圧をデジタル値のベクトルに変換すること、および
ビットの前記ベクトルを前記処理することの後に続いて、前記第2のシナプシス・アレイの前記複数の入力配線の各々に、デジタル値の前記ベクトルの対応するデジタル値に比例する持続時間を各々が有するパルスを供給すること
を実行させるためのコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、ニューラル・ネットワーク回路に関し、より具体的には、アナログ-デジタル変換に先立って初期統合をもたらすように適合させられた回路に関する。
【発明の概要】
【0002】
本発明の実施形態によれば、ニューラル・ネットワーク回路が、提供される。第1のシナプシス・アレイが、複数のアナログ電圧を出力すべく構成される。第2のシナプシス・アレイが、複数の入力配線を有する。ネットワークが、第1のシナプシス・アレイおよび第2のシナプシス・アレイに動作上、結合される。少なくとも1つのコンパレータが、第1のシナプシス・アレイに動作上、結合される。少なくとも1つのコンパレータは、複数のアナログ電圧のうちの1つが所定のしきい値を超えるかどうかを各ビットが示すビットのベクトルを生成すべく複数のアナログ電圧を所定のしきい値と比較すること、およびネットワークを介してビットのベクトルを送信することを行うように適合させられる。少なくとも1つのアナログ-デジタル変換器が、第1のシナプシス・アレイおよびネットワークに動作上、結合される。少なくとも1つのアナログ-デジタル変換器は、複数のアナログ電圧をデジタル値のベクトルに変換すること、およびネットワークを介してデジタル値のベクトルを送信することを行うように構成される。少なくとも1つの変調器が、第2のシナプシス・アレイおよびネットワークに動作上、結合される。少なくとも1つの変調器は、ネットワークからビットのベクトルを受信すること、ビットのベクトルを処理することであって、ビットのベクトルの対応するビットが、所定のしきい値が超えられたことを示すとき、第2のシナプシス・アレイの複数の入力配線の各々にパルスを供給することを含む、ビットのベクトルを処理すること、ネットワークからデジタル値のベクトルを受信すること、およびデジタル値のベクトルを処理することであって、第2のシナプシス・アレイの複数の入力配線の各々に、デジタル値のベクトルの対応するデジタル値に比例する持続時間を各々が有するパルスを供給することを含む、デジタル値のベクトルを処理することを行うように構成される。ビットのベクトルを受信すること、またはビットのベクトルを処理すること、あるいはその両方は、複数のアナログ電圧を変換すること、またはデジタル値のベクトルを送信すること、あるいはその両方と並行に行われる。
【0003】
本発明の実施形態によれば、ニューラル・ネットワーク回路を動作させる方法、およびニューラル・ネットワーク回路を動作させるためのコンピュータ・プログラム製品が、提供される。第1のシナプシス・アレイから出力された複数のアナログ電圧が、ビットのベクトルを生成すべく所定のしきい値と比較される。ビットのベクトルの各ビットが、複数のアナログ電圧のうちの1つが所定のしきい値を超えるかどうかを示す。ビットのベクトルが、処理される。ビットのベクトルを処理することは、ビットのベクトルの対応するビットが、所定のしきい値が超えられたことを示すとき、第2のシナプシス・アレイの複数の入力配線の各々にパルスを供給することを含む。ビットのベクトルを処理することと並行して、複数のアナログ電圧は、デジタル値のベクトルに変換される。ビットのベクトルを処理することの後に続いて、第2のシナプシス・アレイの複数の入力配線の各々に、デジタル値のベクトルの対応するデジタル値に比例する持続時間を各々が有するパルスが、供給される。
【図面の簡単な説明】
【0004】
【
図1】本発明の実施形態による例示的な不揮発性メモリ・ベースのクロスバー・アレイ、またはクロスバー・メモリを示す図である。
【
図2】本発明の実施形態によるニューラル・ネットワーク内の例示的なシナプシスを示す図である。
【
図3】本発明の実施形態によるニューラル・コアの例示的なアレイを示す図である。
【
図4】本発明の実施形態による例示的なニューラル・ネットワークを示す図である。
【
図5】本発明の実施形態による例示的なマルチコア・ニューラル・ネットワークを示す図である。
【
図6A】本発明の実施形態による例示的な統合を示す時系列図である。
【
図6B】本発明の実施形態による例示的な統合を示す時系列図である。
【
図7】本発明の実施形態によるニューラル・ネットワークを動作させる方法を示す図である。
【
図8】本発明の実施形態によるコンピューティング・ノードを示す図である。
【発明を実施するための形態】
【0005】
人工ニューラル・ネットワーク(ANN)は、シナプシスと呼ばれる接続ポイントを介して互いに接続されたいくつかのニューロンから成る、分散型コンピューティング・システムである。各シナプシスは、1つのニューロンの出力と別のニューロンの入力との間の接続の強度をエンコードする。各ニューロンの出力は、そのニューロンに接続された他のニューロンから受信された集約入力によって決定される。それ故、所与のニューロンの出力は、先行する層からの接続されたニューロンの出力、およびシナプシス重みによって決定される接続の強度に基づく。ANNは、特定のクラスの入力が所望される出力をもたらすようにシナプシスの重みを調整することによって特定の問題(例えば、パターン認識)を解決すべく訓練される。
【0006】
ANNは、クロスポイント・アレイまたはクロスワイヤ・アレイとしても知られる、クロスバー・アレイを含む、様々な種類のハードウェア上に実装されてよい。基本的なクロスバー・アレイ構成は、伝導性行配線のセットと、伝導性行配線のそのセットと交差すべく形成された伝導性列配線のセットとを含む。2つの配線セットの間の交差は、クロスポイント・デバイスによって分離される。クロスポイント・デバイスは、ANNの、ニューロン間の重み付けされた接続として機能する。
【0007】
様々な実施形態において、不揮発性メモリ・ベースのクロスバー・アレイ、またはクロスバー・メモリが、提供される。複数のジャンクションが、列ラインと交差する行ラインによって形成される。不揮発性メモリなどの抵抗変化型メモリ要素が、列ラインのうちの1つと行ラインのうちの1つとの間で結合するジャンクションの各々におけるセレクタと直列にある。セレクタは、様々なタイプが当技術分野において知られている、揮発性スイッチまたはトランジスタであってよい。メモリスタ、相変化メモリ、伝導性ブリッジング(conductive-bridging)RAM、およびスピン注入(spin-transfer torque)RAMを含め、様々な抵抗変化型メモリ要素が、本明細書において説明される通りに使用されるのに適することが、認識されよう。
【0008】
固定数のシナプシスが、コア上に設けられてよく、次に多数のコアが、完成したニューラル・ネットワークをもたらすべく接続されてよい。そのような実施形態において、コア間の相互接続が、1つのコア上のニューロンの出力を別のコアに、例えば、パケット交換ネットワークまたは回線交換ネットワークを介して、伝えるべく提供される。パケット交換ネットワークにおいて、相互接続のより高い柔軟性が、アドレス・ビットを送信する必要性、読み取る必要性、およびアドレス・ビットに応じて動作する必要性に起因する電力費用および速度費用を払って、実現されることがある。回線交換ネットワークにおいて、アドレス・ビットは、要求されず、したがって、柔軟性および再構成の容易さは、他の手段を介して実現されなければならない。
【0009】
様々な例示的なネットワークにおいて、複数のコアが、チップ上にアレイとして配置される。そのような実施形態において、コアの相対位置は、四方位(北、南、東、西)によって参照されてよい。ニューラル信号によって搬送されるデータは、バッファリングまたは他の形態のデジタル信号復元に適したデジタル電圧レベルを使用して、各配線によって搬送されるパルス持続時間にエンコードされてよい。
【0010】
ルーティングに対する1つのアプローチが、他の任意のコアにパケットを迅速にルーティングするためのデジタル・ネットワーク・オン・チップ、および各コアの入力エッジにおけるデジタル-アナログ変換器と対にして、各コアの出力エッジにおいてアナログ-デジタル変換器を提供することである。
【0011】
アナログ抵抗変化型メモリ要素を使用するディープ・ニューラル・ネットワーク(DNN)の実装を含む様々なコンピューティング・アプリケーションにおいて、パルス変調されたデータを駆動すべくデータが使用される次のアレイのエッジにそのデータを伝えるのに先立って、1つのアレイの最下エッジでアナログ-デジタル変換(ADC)を実行する必要性が、しばしば、存在する。そのような実装例において、各ADCの大きいサイズは、共有されるADCリソースの使用を時分割多重化する必要性につながる。すると、このことは、共有される各ADCリソースの最終的な時分割多重化された使用を完了するのに要求される合計動作時間を大幅に拡大する。ADC回路は、面積効率が悪いので、共有されるADCリソースを使用してADC動作を実行すること、データを送信すること、次のアレイにおいて入力パルスを変調すべく新たなデータを準備すること、および次のアレイにおいて可能な最長のパルスを待つことに相当に長い時間がかかる。
【0012】
後続のアレイにおいてパルス変調された統合をより迅速に実行する方法の必要性が、当技術分野において存在したままである。したがって、本発明の様々な実施形態は、ニューラル・ネットワーク・コンピューティングのためのADC(アナログ-デジタル変換)に先立つ初期統合のために最上位ビット(MSB)の送信を可能にする。
【0013】
図1を参照すると、例示的な不揮発性メモリ・ベースのクロスバー・アレイ、またはクロスバー・メモリが、示される。複数のジャンクション101が、列ライン103と交差する行ライン102によって形成される。不揮発性メモリなどの抵抗変化型メモリ要素104が、行ライン102のうちの1つと列ライン103のうちの1つとの間で結合するジャンクション101の各々におけるセレクタ105と直列にある。セレクタは、様々なタイプが当技術分野において知られている、揮発性スイッチまたはトランジスタであってよい。
【0014】
メモリスタ、相変化メモリ、伝導性ブリッジングRAM、およびスピン注入RAMを含め、様々な抵抗変化型メモリ要素が、本明細書において説明される通りに使用されるのに適することが、認識されよう。
【0015】
図2を参照すると、ニューラル・ネットワーク内の例示的なシナプシスが、示される。ノード201からの複数の入力x
1...x
nに対応する重みw
ijが掛けられる。重みΣx
iw
ijの総和が、値
【数1】
を得るべくノード202において関数f(・)に与えられる。ニューラル・ネットワークは、層の間に複数のそのような接続を含むこと、およびこのことは、例示的であるに過ぎないことが、認識されよう。
【0016】
次に
図3を参照すると、本発明の実施形態によるニューラル・コアの例示的なアレイが、示される。アレイ300は、複数のコア301を含む。アレイ300におけるコアは、後段でさらに説明される通り、ライン302によって互いに接続される。この実施例において、アレイは、2次元である。しかし、本発明は、コアの1次元アレイまたは3次元アレイに適用されてよいことが、認識されよう。コア301は、前段で説明される通りシナプシスを実装する不揮発性メモリ・アレイ311を含む。コア301は、他方が出力の役割をする間、各々が入力の役割をしてよい、西側と、南側とを含む。西/南という命名は、相対的位置付けの参照を容易にするために採用されているに過ぎず、入力および出力の方向を限定することは意図されていないことが、認識されよう。
【0017】
様々な例示的な実施形態において、西側は、コア301のその側全体に専用であるサポート回路312と、行のサブセットに専用である共有される回路313と、個々の行に専用である行ごとの回路314とを含む。様々な実施形態において、南側も同様に、コア301のその側全体に専用であるサポート回路315と、列のサブセットに専用である共有される回路316と、個々の列に専用である列ごとの回路317とを含む。
【0018】
図4を参照すると、例示的なニューラル・ネットワークが、示される。この実施例において、複数の入力ノード401が、複数の中間ノード402と互いに接続される。次に、中間ノード402が、出力ノード403と互いに接続される。この簡単なフィードフォワード・ネットワークは、単に例示の目的で提示されること、および本発明は、特定のニューラル・ネットワーク構成にかかわらず適用可能であることが、認識されよう。
【0019】
図5を参照すると、例示的なマルチコア・ニューラル・ネットワークが、示される。この実施例において、前段で説明される通りに実装されてよい、2つのコアが示される。入力行501(例えば、入力ノード401に対応してよい)が、出力列502の各々において出力電圧(V
N=Σx
iw
ijとして与えられる)をもたらすべく、クロスバー・アレイ510を通過する。伝達関数が、適用されて、入力行504のうちの1つに与えられる、活性化yをもたらす。この実施例において、y=f(V
N)であり、ここで、fは、任意の伝達関数である。選択される伝達関数にかかわらず、1つのコンパレータが、しきい値503によって示される通り、完全な統合時間の正確に1/2を誘発するアナログ電圧で必要とされる。
【0020】
本発明の実施形態において、1ニューロン当たり単一のビットが、所与のニューラル・ネットワーク内で第1のシナプシス・アレイ(例えば、クロスバー510)から次のシナプシス・アレイ(例えば、クロスバー520)に送信される。このビットが1(高い)である場合、すると、最大持続時間の1/2のパルスが、次のアレイ上に即時に変調される。この統合は、正確なADC動作を実行し、1ニューロン当たりNのビットを1つのアレイから次のアレイに送信し、任意の必要な押しつぶし(squashing)動作を実行するプロセスと並行に次のアレイにおいて行われることが可能である。
【0021】
様々な実施形態において、最初に送信されたMSBを計算すべく使用されるアナログ・コンパレータしきい値は、このレベルが、もたらされる最大の変調されたパルスの1/2のすぐ下とすぐ上の間の遷移に正確に対応するように設計される。このため、この発想は、データのNビットに適用される押しつぶし関数とは独立である。1ニューロン当たりデータのNビットが最終的に送信され、押しつぶされたとき、第2のアレイは、パルスを変調するのに最下位のN-1ビットを適用するだけでよい。同一の正確な合計パルス変調された持続時間が、第2のアレイに適用されるが、最大持続時間の全体として約1/2が、MSB情報の初期の効率的な送信によって節約されている。
【0022】
図6を参照すると、本発明の実施形態による統合に関する時系列が、与えられる。
図6Aと
図6Bの両方において、時系列は、T=0からT=tまで続く。T=0において、任意の先行する統合が終了して、キャパシタを帯電させたままにし、V
Nの最終値がADC変換の準備ができているようにする。
【0023】
図6Aは、初期統合なしの共有されるADCリソースのセットの動作を示す。Nビット/列の最初のADC変換は、送信元コアによって601において実行される。結果は、602において後続のコアに対して送信される、または押しつぶされる、あるいはその両方が行われる。この段階で、送信された値は、Nビット/レディ列に相当する。603において、これらの最初に受信されたNビット/列が、宛先コアにおける統合のために準備される。次に、604において、最初の利用可能な励起の統合が開始してよい。プロセスは、列が準備ができるにつれ、すべての列に関して繰り返される。したがって、最後のADC変換が、605において行われる。これらの最終のビットは、606において送信される、または押しつぶされる、あるいはその両方が行われる。関連付けられた受信されたビットが、607において宛先コアにおいて準備されて、608において最後の励起の統合を可能にする。受信されたすべての励起の統合が、T=tにおいて完了される。
【0024】
図6Bは、本発明の実施形態による初期統合を伴う共有されるADCリソースのセットの動作を示す。この場合、最上位ビットが、611において測定され、次に、列ごとに612において送信される。次に、すべての励起の最初の1/2の統合が、宛先コア上で613において進められてよい。宛先コアにおける統合と並行して、Nビット/列の最初のADC変換が、送信元コアによって614において実行される。結果は、615において宛先コアに対して送信される、または押しつぶされる、あるいはその両方が行われる。この段階で、送信された値は、Nビット/レディ列に相当する。616において、受信されたNビット/列が、宛先コアにおいて準備される。次に、最上位ビットを超える、最初の利用可能な励起の統合が、617において開始してよい。プロセスは、列が準備ができるにつれ、すべての列に関して繰り返される。したがって、最後のADC変換が、618において行われる。もたらされるビットは、619において送信される、または押しつぶされる、あるいはその両方が行われる。受信されたビットは、620において宛先コアにおいて準備されて、621において最後の励起の統合を可能にする。最上位ビットの初期統合(613における)は、T=tよりはるかに前に残りの統合(617および621における)が完了することを可能にする。全体的な時間節約が、622において示される。
【0025】
図7を参照すると、本発明の実施形態によるニューラル・ネットワークを動作させる方法が、示される。701において、第1のシナプシス・アレイから出力された複数のアナログ電圧が、ビットのベクトルを生成すべく所定のしきい値と比較される。ベクトルの各ビットは、複数のアナログ電圧のうちの1つが所定のしきい値を超えるかどうかを示す。702において、ビットのベクトルが、処理される。ビットのベクトルを処理することは、ビットのベクトルの対応するビットが、所定のしきい値が超えられたことを示すとき、第2のシナプシス・アレイの複数の入力配線の各々にパルスを供給することを含む。703において、ビットのベクトルを処理することと並行に、複数のアナログ電圧は、デジタル値のベクトルに変換される。704において、ビットのベクトルを処理することの後に続いて、第2のシナプシス・アレイの複数の入力配線の各々に、デジタル値のベクトルの対応するデジタル値に比例する持続時間を各々が有するパルスが、供給される。
【0026】
様々な実施形態において、第1のアレイのエッジにおけるアナログ電圧のベクトルを第2のアレイのエッジにおける持続時間のベクトルに変換するための回路のセットが、提供される。コンパレータが、各アナログ電圧を共通のアナログしきい値に照らして比較して、その結果、アナログ電圧ごとに最上位振幅ビットをもたらし、最上位振幅ビットのベクトルを生じさせる。送信システムが、第1のアレイのエッジから第2のアレイのエッジに最上位振幅ビットのベクトルを伝える。回路が、最上位振幅ビットの値に鑑みて、一定持続時間パルス信号のベクトルを第2のアレイに注入する。複数のA/D変換器が、第1のアレイのエッジにおけるアナログ電圧を、既に計算された最上位振幅ビットのベクトルを収容する高解像度残差デジタル・データ表現のベクトルに変換する。送信システムが、第1のアレイのエッジから第2のアレイのエッジに高解像度残差デジタル・データのベクトルを伝える。回路が、高解像度残差デジタル・データ・ベクトルの値に鑑みて、ばらつきのある持続時間パルス信号のベクトルを導入する。最上位振幅ビットに対して実行される動作(比較すること、最上位振幅ビットのベクトルを伝えること、および第2のアレイに対する一定持続時間の信号注入)は、A/D変換器の動作(変換すること、高解像度残差デジタル・データのベクトルを伝えること、および第2のアレイに対するばらつきのある持続時間の信号注入)と並行に行われる。
【0027】
一部の実施形態において、アナログ電圧は、共通のしきい値を超える正のアナログ電圧に関してだけ最上位振幅ビットがオンにされる、符号付きの量を表す。一部の実施形態において、アナログ電圧は、符号付きの量を表し、2つのコンパレータ(それぞれの共通のアナログしきい値を有する)が、使用される。
【0028】
一部の実施形態において、アナログ電圧は、キャパシタ上に保存される。
【0029】
次に、
図8を参照すると、コンピューティング・ノードの実施例の概略図が、示される。コンピューティング・ノード10は、適切なコンピューティング・ノードの一実施例に過ぎず、本明細書において説明される実施形態の用途または機能の範囲について限定を示唆することはまったく意図していない。いずれにせよ、コンピューティング・ノード10は、前段で示される機能のいずれとして実装されること、またはそのような機能のいずれを実行すること、あるいはその組合せが可能である。
【0030】
コンピューティング・ノード10において、他の多数の汎用または専用のコンピューティング・システム環境またはコンピューティング・システム構成で動作可能であるコンピュータ・システム/サーバ12が存在する。コンピュータ・システム/サーバ12と一緒に使用するのに適することがあるよく知られたコンピューティング・システム、環境または構成、あるいはその組合せの例は、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルド・デバイスもしくはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セットトップ・ボックス、プログラマブル家庭用電化製品、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および前述のシステムもしくはデバイスのいずれかを含む分散型クラウド・コンピューティング環境、ならびにそれに類するものを含むが、これらには限定されない。
【0031】
コンピュータ・システム/サーバ12は、コンピュータ・システムによって実行されている、プログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的なコンテキストで説明されてよい。一般に、プログラム・モジュールは、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含んでよい。コンピュータ・システム/サーバ12は、タスクが、通信ネットワークを介して結び付けられた遠隔処理デバイスによって実行される、分散型クラウド・コンピューティング環境において実施されてよい。分散型クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ・ストレージ・デバイスを含むローカル・コンピュータ・システム記憶媒体と遠隔コンピュータ・システム記憶媒体の両方に配置されてよい。
【0032】
図8に示される通り、コンピューティング・ノード10におけるコンピュータ・システム/サーバ12は、汎用コンピューティング・デバイスの形態で示される。コンピュータ・システム/サーバ12の構成要素は、1つまたは複数のプロセッサまたは処理ユニット16、システム・メモリ28、ならびにシステム・メモリ28を含む様々なシステム構成要素をプロセッサ16に結合するバス18を含んでよいが、これらには限定されない。
【0033】
バス18は、様々なバス・アーキテクチャのいずれかを使用する、メモリ・バスもしくはメモリ・コントローラ、周辺バス、アクセラレーテッド・グラフィックス・ポート、およびプロセッサ・バスもしくはローカル・バスを含む、いくつかのタイプのバス構造のいずれかの1つまたは複数を表す。例として、限定としてではなく、そのようなアーキテクチャは、インダストリ・スタンダード・アーキテクチャ(ISA)バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、エンハンストISA(EISA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(VESA)ローカル・バス、およびペリフェラル・コンポーネント・インターコネクト(PCI)バス、ペリフェラル・コンポーネント・インターコネクト・エクスプレス(PCIe)バス、およびアドバンスト・マイクロコントローラ・バス・アーキテクチャ(AMBA)を含む。
【0034】
コンピュータ・システム/サーバ12は、通常、様々なコンピュータ・システム可読媒体を含む。そのような媒体は、コンピュータ・システム/サーバ12によってアクセス可能である任意の利用可能な媒体であってよく、そのような媒体は、揮発性媒体と不揮発性媒体、取外し可能な媒体と取外し可能でない媒体の両方を含む。
【0035】
システム・メモリ28は、ランダム・アクセス・メモリ(RAM)30またはキャッシュ・メモリ32、あるいはその両方のなどの揮発性メモリの形態でコンピュータ・システム可読媒体を含むことが可能である。コンピュータ・システム/サーバ12は、他の取外し可能な/取外し可能でない、揮発性/不揮発性のコンピュータ・システム記憶媒体をさらに含んでよい。単に例として、ストレージ・システム34が、取外し可能でない、不揮発性の磁気媒体(図示されず、通常、「ハードドライブ」と呼ばれる)から読み取ること、およびそのような磁気媒体に書き込むことを行うために備えられることが可能である。図示されないものの、取外し可能な、不揮発性の磁気ディスク(例えば、「フロッピ・ディスク」)から読み取ること、およびそのような磁気ディスクに書き込むことを行うための磁気ディスク・ドライブ、ならびにCD-ROM、DVD-ROM、または他の光媒体などの取外し可能な、不揮発性の光ディスクから読み取ること、またはそのような光ディスクに書き込むことを行うための光ディスク・ドライブが、備えられることが可能である。そのような事例において、各媒体は、1つまたは複数のデータ媒体インターフェースによってバス18に接続されることが可能である。後段でさらに示され、説明される通り、メモリ28は、本発明の実施形態の機能を実行すべく構成されたプログラム・モジュールのセット(例えば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含んでよい。
【0036】
例として、限定としてではなく、プログラム・モジュール42のセット(少なくとも1つ)を有するプログラム/ユーティリティ40、ならびにオペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データが、メモリ28に記憶されてよい。オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データ、あるいはその何らかの組合せの各々が、ネットワーキング環境の実装例を含んでよい。プログラム・モジュール42は、一般に、本明細書において説明される実施形態の機能または方法、あるいはその組合せを実行する。
【0037】
また、コンピュータ・システム/サーバ12は、ユーザがコンピュータ・システム/サーバ12と対話することを可能にする1つまたは複数のデバイスである、キーボード、ポインティング・デバイス、ディスプレイ24、その他、またはコンピュータ・システム/サーバ12が他の1つまたは複数のコンピューティング・デバイスと通信することを可能にする任意のデバイス(例えば、ネットワーク・カード、モデム、その他)などの1つまたは複数の外部デバイス14と通信してもよい。そのような通信は、入出力(I/O)インターフェース22を介して行われることが可能である。さらに、コンピュータ・システム/サーバ12は、ローカル・エリア・ネットワーク(LAN)、汎用ワイド・エリア・ネットワーク(WAN)、またはパブリック・ネットワーク(例えば、インターネット)あるいはその組合せなどの1つまたは複数のネットワークと、ネットワーク・アダプタ20を介して通信することができる。図示される通り、ネットワーク・アダプタ20が、バス18を介してコンピュータ・システム/サーバ12の他の構成要素と通信する。図示されないものの、他のハードウェア構成要素またはソフトウェア構成要素、あるいはその組合せが、コンピュータ・システム/サーバ12と連携して使用されることも可能であることを理解されたい。例は、マイクロコード、デバイス・ドライバ、冗長な処理ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システム、その他を含むが、これらには限定されない。
【0038】
本発明は、システム、方法、またはコンピュータ・プログラム製品、あるいはその組合せとして実施されてよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行することをさせるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読記憶媒体(または複数の媒体)を含んでよい。
【0039】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用されるように命令を保持すること、および記憶することができる有形のデバイスであることが可能である。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、または以上の任意の適切な組合せであってよいが、これらには限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストは、以下、すなわち、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、読取り専用メモリ(ROM)、消去可能なプログラマブル読取り専用メモリ(EPROMもしくはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読取り専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピ・ディスク、命令が記録されているパンチカードもしくは溝の中の隆起構造などの機械的に符号化されたデバイス、および以上の任意の適切な組合せを含む。本明細書において使用されるコンピュータ可読記憶媒体は、電波もしくは他の自由に伝播する電磁波、導波路もしくは他の伝達媒体を介して伝播する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、または配線を介して伝送される電気信号などの一過性の信号そのものであると解釈されるべきではない。
【0040】
本明細書において説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、またはネットワーク、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、または無線ネットワーク、あるいはその組合せを介して外部コンピュータもしくは外部ストレージ・デバイスにダウンロードされることが可能である。ネットワークは、銅伝送ケーブル、伝送光ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを備えてよい。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インターフェースが、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶されるようにコンピュータ可読プログラム命令を転送する。
【0041】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk(R)、C++、もしくはそれに類するものなどのオブジェクト指向プログラミング言語、および「C」プログラミング言語もしくはそれに類似したプログラミング言語などの従来の手続き型プログラミング言語を含め、1つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードもしくはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、全体がユーザのコンピュータ上で実行されても、一部がユーザのコンピュータ上で実行されても、スタンドアロンのソフトウェア・パッケージとして実行されても、一部がユーザのコンピュータ上で、かつ一部が遠隔コンピュータ上で実行されても、全体が遠隔コンピュータもしくは遠隔サーバの上で実行されてもよい。全体が遠隔コンピュータもしくは遠隔サーバの上で実行されるシナリオにおいて、遠隔コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてよく、または接続は、外部コンピュータに対して行われてもよい(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)。一部の実施形態において、例えば、プログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路が、本発明の態様を実行するために、電子回路をカスタマイズするようにコンピュータ可読プログラム命令の状態情報を利用することによってコンピュータ可読プログラム命令を実行してよい。
【0042】
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャートまたはブロック図あるいはその両方を参照して本明細書において説明される。フローチャートまたはブロック図あるいはその両方の各ブロック、ならびにフローチャートまたはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実施されることが可能であることが理解されよう。
【0043】
これらのコンピュータ可読プログラム命令は、そのコンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行されるそれらの命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施する手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。また、これらのコンピュータ可読プログラム命令は、命令が記憶されているコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作の態様を実施する命令を含む製造品を備えるべく、特定の様態で機能するようにコンピュータ、プログラマブル・データ処理装置、または他のデバイス、あるいはその組合せを導くことができるコンピュータ可読記憶媒体に記憶されてもよい。
【0044】
また、コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施するように、コンピュータによって実施されるプロセスを作り出すべく、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされ、コンピュータ上、他のプログラマブル装置上、または他のデバイス上で一連の動作ステップを実行させるものであってもよい。
【0045】
図におけるフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を例示する。これに関して、フローチャートまたはブロック図における各ブロックは、指定された論理機能を実施するための1つまたは複数の実行可能命令を備える、命令のモジュール、セグメント、または部分を表すことが可能である。一部の代替の実装形態において、ブロックに記載される機能は、図に記載される順序を外れて生じてよい。例えば、連続して示される2つのブロックが、実際には、実質的に同時に実行されてよく、またはそれらのブロックが、ときとして、関与する機能に依存して、逆の順序で実行されてよい。また、ブロック図またはフローチャートあるいはその両方の各ブロック、ならびにブロック図またはフローチャートあるいはその両方におけるブロックの組合せは、指定された機能もしくは動作を実行する、または専用ハードウェア命令とコンピュータ命令の組合せを実行する専用ハードウェア・ベースのシステムによって実施されることが可能であることにも留意されたい。
【0046】
本発明の様々な実施形態の説明は、例示のために提示されてきたが、網羅的であることも、開示される実施形態に限定されることも意図していない。説明される実施形態の範囲を逸脱することなく、多くの変形形態および変更形態が、当業者には明白となろう。本明細書において使用される術語は、実施形態の原理、特定の応用例、または市場において見られる技術に優る技術的改良を最もよく説明すべく、あるいは本明細書において開示される実施形態を他の当業者が理解することを可能にすべく選択された。