JP2005521940A - デジタルメモリ - Google Patents

デジタルメモリ Download PDF

Info

Publication number
JP2005521940A
JP2005521940A JP2003581025A JP2003581025A JP2005521940A JP 2005521940 A JP2005521940 A JP 2005521940A JP 2003581025 A JP2003581025 A JP 2003581025A JP 2003581025 A JP2003581025 A JP 2003581025A JP 2005521940 A JP2005521940 A JP 2005521940A
Authority
JP
Japan
Prior art keywords
address
data
memory
input
bits
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003581025A
Other languages
English (en)
Other versions
JP4209335B2 (ja
Inventor
フーバー・ステファン・バイラム
Original Assignee
コグニサイエンス・リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by コグニサイエンス・リミテッド filed Critical コグニサイエンス・リミテッド
Publication of JP2005521940A publication Critical patent/JP2005521940A/ja
Application granted granted Critical
Publication of JP4209335B2 publication Critical patent/JP4209335B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/06Address interface arrangements, e.g. address buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)
  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Static Random-Access Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Communication Control (AREA)
  • Holo Graphy (AREA)
  • Magnetically Actuated Valves (AREA)

Abstract

第1の選択可能な状態と第2の選択可能な状態とをそれぞれ有する予め決められた数のビットを含む識別子がそれぞれ割り当てられた複数のアドレスデコーダと、予め決められた長さの複数のワードラインを有するデータメモリとを備え、各アドレスデコーダを付勢して、複数のワードラインの一つを選択することができ、アドレスデコーダは、予め決められた数のビットを有する入力アドレスを受信する手段と、アドレスデコーダの識別子を入力アドレスと比較する手段とを備え、データメモリは、更に、入力アドレス内で第1の選択可能な状態に設定された少なくとも予め決められた最小数のビットが、デコーダの識別子内で第1の選択可能な状態に設定されたビットに相当する場合に、アドレスデコーダを付勢する手段とを備えたことを特徴とするコンピュータシステムに使用するメモリ構造。

Description

本発明は、デジタルメモリに関連する。
コンピュータシステム及びデジタル電子装置の使用が増大してきたため、多数の種々のメモリ構造が提案されてきた。デジタルメモリを要求する広範囲な適用分野は、種々の異なる特性を有するメモリが要求されることを物語っている。
例えば、誤った単一ビットがコンピュータの故障の原因となるので、従来のプログラム記憶型コンピュータに使用するメモリでは、高レベルのデータ完全性が要求される。従来のコンピュータメモリは、特定のアドレスに記憶された情報を検索し、読み出すのに正確に読出しアドレスが知られていることを要する。これは、従来のメモリがメモリ内の特定のロケーションにN2進数字列(以下、「ワード」という)を記憶するためである。特定の時間に特定のロケーションに唯一のワードが記憶される。
大量のデータを記憶する適用例では、メモリから読み出されるデータ中に含まれるある程度のエラーは許容され、システムがエラーを見逃すことができる場合もある。また、誤った読出しアドレスを使用してデータを読み出すことが必要な場合もある。本発明は、このような適用に適するメモリに関するものである。
公知の一メモリ構造は、カネルヴァ(Kanerva)により開発され、カネルヴァ・ピー(Kanerva P.)著下記非特許文献1及び非特許文献2に記載される。ここで、多量のアドレスデコーダが多数のワードラインを有するデータに接続される。各アドレスデコーダは、データメモリ内の異なるワードラインに接続される。各デコーダは、大きな2進数の形態でアドレスにより識別される。
メモリにデータを書き込むときに、入力アドレスがデコーダのセットに付与され、入力アドレスの予め決められたハミング距離内に識別子を有するデコーダが付勢される。次に、付勢されたデコーダに接続されたワードラインが選択されて書き込みデータを受信する。メモリからデータを取り出すとき、デコーダにアドレスが付与され、多くのワードラインが再び付勢される。付勢された各ワードラインの各ビット(二進数字)を合計して、適切な閾値を適用することにより、読み出すべきメモリにデータを書き込むことができる。このように、データを書き込みかつ検索することによりアドレスを有効に機能させかつデータエラーを最小限に抑制することができる。
国際特許公報WO90/04830(大学宇宙研究協会) 「疎分配メモリ」MITプレス、1988年発行 「自己増殖探索:メモリの統合理論」報告書第CSLI-84-7 スタンフォード大学1984年
カネルヴァが提案したメモリ構造は、多くの欠点を有する。これらの欠点の一つは、効率的にハミング距離の計算を行えば、特に設計したハードウエアを必要とする。
この欠点を克服すことを探索する代替メモリ構造が上記特許文献1に記載されている。このシステムは、カネルヴァにより提案された基本構造を備えているが、異なる基準を使用して特殊な入力アドレスに応答してどのアドレスデコーダを付勢すべきかを決定しなければならない。このシステムでは、各デコーダアドレスのqビットのサブセットに特定の「0」値及び「1」値が割り当てられる。システムに入力アドレスを付与するとき、付与されたアドレスの複数のqビット値は、各アドレスデコーダのビット値と比較される。付与されたアドレスが、これらのqビットで特定のアドレスデコーダと同一値を備えていれば、そのデコーダが付勢される。
本発明は、前記種類の代替メモリ構造を提供することを目的とする。
本発明の第一の特徴は、複数のアドレスデコーダと、データメモリとを備えかつコンピュータシステムに使用するメモリ構造を提供する点にあり、各アドレスデコーダは、予め決められた数のビットを有する識別子が割り当てられ、各ビットは、第1の選択可能な状態と第2の選択可能な状態とを有し、データメモリは、予め決められた長さを有する複数のワードライン(語線)を有し、各アドレスデコーダを付勢して、複数のワードラインの一つを選択することができ、アドレスデコーダは、予め決められた数のビットを有する入力アドレスを受信する手段と、アドレスデコーダの識別子を入力アドレスと比較する手段とを備え、データメモリは、更に、入力アドレス内で第1の選択可能な状態に設定された少なくとも予め決められた最小数のビットが、デコーダの識別子内で第1の選択可能な状態に設定されたビットに相当する場合に、アドレスデコーダを付勢する手段とを備えている。
本発明により得られる利点と効果は、第2の選択可能な状態に設定されたビットを無視して、入力アドレス内の第1の選択可能な状態に設定された基準ビット上でアドレスデコーダを付勢することにより部分的に発生する。対照的に、前記従来のシステムは、第1の選択可能な状態と第2の選択可能な状態とに設定されたビットを比較することによりアドレスデコーダを付勢する。
アドレスデコーダの識別子を入力アドレスと比較する手段は、入力アドレス内の第1の選択可能な状態に設定されたビットと、デコーダ識別子内の第1の選択可能な状態に設定されたビットとの間の位置一致(位置対応)を考慮することが好ましい。
各アドレスデコーダ識別子は、第1の選択可能な状態に設定された等しい数のビットを有してもよい。入力アドレスを受信する手段は、第1の選択可能な状態に設定された予め決められた数のビットを含むアドレスを受信するように構成される。入力アドレス内の第1の選択可能な状態に設定された予め決められた数のビットは、各アドレスデコーダ識別子内の第1の選択可能な状態に設定されたビットの数に等しいことが好適である。
単一のビットメモリ内に各ワードラインの各ビットを記憶するように、データメモリは、単一ビットの複数のメモリを備えることが好ましい。データメモリは、複数のワードラインの各々に等しい数のビットを有するデータ入力線を備えることが好ましい。また、メモリ構造は、データ入力線からアドレスデコーダにより付勢されるワードラインにデータを複写するデータ書込み手段を有してもよい。データ入力線は、第1の選択可能な状態に設定された予め決められた数のビットを含む入力データを受信するように構成される。
また、メモリ構造は、アドレスデコーダにより付勢されるワードラインの各ビットに記憶される値を合計して、各ビットに対する付勢レベル値を作成する手段を備えてもよい。更に、メモリ構造は、第1の選択可能な状態に設定された予め決められた数のビットを含む出力語を作成する手段を備えてもよい。出力内で第1の選択可能な状態に設定されるビットは、最高の付勢レベルを有する予め決められた数のビットでもよい。
互いに接続された複数の人工ニューロンを使用して、メモリを駆動し、ニューラルネットワークを形成してもよい。複数のアドレスデコーダニューロンにより複数のアドレスデコーダを表示して、複数のデータニューロンによりデータメモリを表示してもよい。
また、本発明は、コンピュータシステムに使用するニューラルメモリ構造を提供するものであり、このメモリ構造は、各々予め決められた数の入力ニューロンに接続された複数のアドレスデコーダニューロンと、複数のデータニューロンを有するデータメモリとを備え、各アドレスデコーダニューロンを付勢して、複数のデータニューロンの幾つかを選択することができ、アドレスデコーダニューロンは、それが接続された入力ニューロンの発火を表示する信号を受信する手段を備え、アドレスデコーダニューロンは、アドレスデコーダが連結された少なくとも予め決められた数の入力ニューロンから発火信号を受信したとき、データニューロンを付勢する手段を備えている。
実際に、全てのアドレスデコーダニューロンを全ての入力ニューロンに接続して、これらの各連結値に「1」又は「0」の加重値が割り当てられる。このような設置計画では、加重値「0」は、特定の入力ニューロンとアドレスデコーダニューロンとの間が非連結と同一の効果を有する。このように、連結値が加重値「1」を有するようなアドレスデコーダニューロンに接続された入力ニューロンからの発火信号のみが、前記のように、連結を表示する。
本発明の第2の特徴は、コンピュータシステムに使用するメモリの操作法を提供することにあり、このメモリは、各々第1の選択可能な状態と第2の選択可能な状態とを有しかつ予め決められた数のビットを含む識別子がそれぞれ割り当てられた複数のアドレスデコーダと、予め決められた長さの複数のワードラインを有するデータメモリとを備え、各アドレスデコーダを付勢して、複数のワードラインの一つを選択することができ、予め決められた数のビットを有する入力アドレスは、アドレスデコーダに入力され、アドレスデコーダの識別子は、入力アドレスと比較され、入力アドレス内で第1の選択可能な状態に設定された少なくとも予め決められた最小数のビットが、デコーダ識別子内の第1の選択可能な状態に設定されたビットに相当する場合に、アドレスデコーダが付勢される。
データメモリのデータ入力に入力データが付与され、付勢されたアドレスデコーダにより付勢されたワードラインにデータを書込むことができる。100未満のアドレスデコーダが何等かの有効な入力アドレスによって付勢されるように、予め決められた最小数のビットを設定することが好ましい。ビットの予め決められた最小数は、何等かの有効な入力アドレスによって50に満たないアドレスデコーダを付勢するように設定されることがより好ましい。20個以下でかつ11個より少なくない数のアドレスデコーダを何等かの有効な入力アドレスにより付勢するように、予め決められた最小数のビットを設定することが最も好ましい。
本発明の第3の特徴は、コンピュータメモリの操作を最適化する方法を提供することにあり、このコンピュータメモリは、第1の選択可能な状態と第2の選択可能な状態とをそれぞれ有する予め決められた数のビットを含む識別子がそれぞれ割り当てられた複数のアドレスレコーダと、予め決められた長さの複数のワードラインを有するデータメモリとを備え、各アドレスデコーダを付勢して複数のワードラインの一つを選択することができ、更にデータメモリは、入力アドレスを受信する手段と、デコーダ識別子と入力アドレスとの間の比較が予め決められた比較閾値を超える場合にアドレスデコーダの1つ又はそれ以上を付勢する手段とを備え、最適化法は、有効な入力アドレスに応答して付勢すべきアドレスデコーダの操作上有利な数を決定する過程と、有効な入力アドレスが付勢すべきアドレスデコーダの操作上有利な数に実質的に等しい数のアドレスデコーダを付勢するように、比較閾値を設定する過程とを含む。
この比較は、入力アドレス内の第1の選択可能な状態に設定されたビットの数を、各アドレスデコーダ識別子内で第1の選択可能な状態に設定されたビットの数と比較するものである。
データメモリから最大のエラー無しデータを回復するように、操作上有利な数を決定することができる。下式の関数を使用してこれを行うことができる。
w=f(h, Pc, D, d)
ここで、wは、付勢すべきアドレスデコーダの操作上有利な数、hは、第1の選択可能な状態に設定されるデータメモリ内の任意ビットの確率、Dは、各ワードラインが第1の選択可能な状態に設定された数dのビットを有する場合の各ワードライン内のビット数、Pcは、データ記憶装置から正しく回復されたビットの所望確率を示す。
下記の関数を使用できる:
Figure 2005521940
幾つかのデータをエラーと共に回復しながら、最大のエラー無しデータを回復するように、付勢すべきアドレスデコーダの操作上有利な数を決定することができる。下記の関数を使用して、操作上有利な数を決定することができる:
w=f(h, D, d)
ここで、wは、付勢すべきアドレスデコーダの操作上有利な数、hは、第1の選択可能な状態に設定されるデータメモリ内の任意ビットの確率、Dは、各ワードラインが第1の選択可能な状態に設定された数dのビットを有する場合の各ワードライン内のビット数である。
下記の関数を使用できる:
Figure 2005521940
操作上有利な数wを設定して、下式により与えられるものより大きな値を有することが好ましい。
Figure 2005521940
及び等式により付与されるものより小さい。
Figure 2005521940
更に、本発明は、キャリア媒体を保持するコンピュータにより読出し可能なコード手段を提供し、このコード手段は、前記方法による手順及び前記方法を実行するコンピュータプログラムをコンピュータに実行させるものである。
以下、本発明による実施の形態の例を図面について以下説明する。
図1は、カネルヴァが説明しかつ前記したアドレス構造を示す。アドレスを伝達できる複数のアドレスライン1が設けられる。アドレスは、二進数であり、各アドレスライン1は、nビットアドレスを表示するため、n個のラインを必要とするように、各アドレスライン1は、1ビットのアドレスを伝達する。アドレスラインは、アドレスデコーダ2のアレイへの入力を構成し、各アドレスデコーダ2は、nビット二進数の形式の識別子を有する。アドレスデコーダ2は、データを記憶する多数のワードラインを有するデータメモリ3に接続される。各ワードラインは、Mビットの記憶容量を有する。各ワードラインの各ビットは、カウンタ4に記憶される。データメモリに書き込むべきデータは、データ入力ライン5上で伝達される。メモリから読み出されるデータは、データライン8に沿って加算ブロック6に送出され、加算ブロック6からデータ出力ライン7上に出力される。
アドレスライン1の数は、典型的には1千ビット二進数をアドレスデコーダ2に付与するように約一千本である。1千ビット二進数(約10の301乗)によって非常に多くのアドレスを表示することができるので、各可能なアドレスに対するデータを記憶する独立したワードラインを持つことは実用的ではない。従って、可能なアドレススペース内に大きな任意のアドレスサンプルが実行される。典型的には、100万個のアドレスが実行され、これらの各々は、アドレスデコーダ2に割り当てられる。100万個(10の6乗)のデコーダアドレスは、利用可能なアドレス空間(10の301乗アドレス)内にまばらに分散されるので、カネルヴァにより提案されたメモリは、まばらとして記載される理由である。
使用の際に、アドレスはアドレスライン1上で伝達され、アドレスレコーダ2により受信される。伝達されるアドレスと各アドレスデコーダのアドレスとの間の比較が行われる。この比較は、伝達されるアドレスのどれだけ多くのビットが各アドレスデコーダ2に関連するアドレスに対して相違するかを演算するハミング距離計算を使用して実施される。ハミング距離計算は、式(1)により表される:
Figure 2005521940
ここで、xは、N要素を有する二進ベクトル、yは、N要素を有する二進ベクトル、Hは、xとyとの間のハミング距離で、xi≠yiでのビット位置数である。
伝達されるアドレスxの予め決められたハミング距離r内のデコーダが付勢される。各アドレスに対するこの付勢領域は、半径rを有しかつxに中心を有する球とみなすことができる。例えば、カネルヴァは、各アドレスが1000ビットを有し、予め決められたハミング距離rが451であれば、球形の付勢領域は、アドレスデコーダに関連するアドレスの約1/1000を含む。使用の際に、各デコーダアドレスと付与される入力アドレスとの間のハミング距離が演算される。この距離が、特定のアドレスデコーダのrより小さければ、そのデコーダは付勢される。
カネルヴァにより提案されたシステムでデータをメモリに書き込む過程の詳細を説明する。所与のアドレスデコーダ2を付勢するとき、メモリのデータ入力端子5に付与されるデータは、付勢されたアドレスデコーダに接続されたワードラインに書き込まれる。予め決められたそのアドレスデコーダのハミング距離内にアドレスが発生するときはいつでもアドレスデコーダの付勢が開始されるので、データは、多くの異なるワードラインに書き込まれる。同様に、同一のアドレスデコーダを付勢する多くの種々のアドレスも存在する。これは、多数の種々の入力書込みアドレスに対する特定のワードラインにデータが書き込まれることを意味する。
各ワードラインは、それぞれ単一ビットのデータを記憶するM個のカウンタを有する。所与のワードラインでのカウンタにより、そのワードラインに記憶される多数のMビット語の直線的蓄積が可能となる。ワードラインの特定のビットに「1」を付与すれば、対応するカウンタ4は、増加される。特定のビットで「0」を付与すれば、そのビットに関するカウンタ4は、減少される。
カウンタは、有限の容量を有し、継続するデータの書き込みによってこの容量に達すれば、データの更なる書込みは無効である。例えば、継続する「1」の書込みによってカウンタが最大値に達すれば、そのカウンタに更に「1」を書き込むことは無効である。同様に、継続する「0」の書込みによってカウンタが最小値に達すれば、そのカウンタに更に「0」を書き込むことは無効である。それぞれ±127の範囲を有する8ビットのカウンタを使用すれば通常十分である。実際に、2ビット又は4ビットのカウンタを使用すれば十分な場合もある。しかしながら、カネルヴァにより提案されるメモリでは、いかなるビット長さのアップダウンカウンタも相当の余裕があることに注意すべきである。
100万個のアドレスデコーダ2に対して、任意のアドレスは、デコーダの約100の予め決められたハミング距離内にある。このように、任意の入力アドレスに対して、入力データは、データメモリ3内に1000ワードラインに書き込まれ、各ワードラインの適当なカウンタ4は、前記のように増加され又は減少される。
カネルヴァが提案したシステムでメモリからデータを読み出す過程の詳細を説明する。
アドレスライン1上に入力アドレスを付与することによりデータがメモリから読み出される。この入力アドレスが、読み出すべきデータを書き込むのに使用したものと同一であれば、同一のアドレスデコーダが付勢され、正しいワードラインからデータが読み出される。
書込みに使用したアドレスに近いアドレスが付与されれば、データを書き込むために付勢された多くのアドレスデコーダ2は、データを読み出すために付勢される。しかしながら、書込みのために付勢されたいくつかのデコーダは付勢されず、以前に付勢されなかった他のデコーダが付勢されよう。これにより、読み出されるデータ内にノイズが存在する。読出し過程と書込み過程との間で共通の十分な数のデコーダがあれば、正しいデータは、なお加算器6から出力され、ノイズの影響は減少する。これは、カネルヴァにより記載されるメモリの有利な特徴である。
付勢されるアドレスデコーダに接続される各ワードラインのカウンタ4内に保持される値は、読出しサイクル間にデータライン8上に出力される。各データライン8上に出力される値は、加算器6により加算される。予め決められた閾値を超える出力の加算器は、出力データライン7上に出力「1」を発生し、その閾値を超えないものは、出力「0」を発生する。
メモリの構造及び機能は、入力アドレス内の1千ビットのものを意味し、その同一の入力アドレスから正しく読み出すのに僅かに600ビットが読出しアドレス中に正しいものと要求することをカネルヴァが決定した。例えば、データの書込み間に1千のワードライン上にビットを「1」に設定すれば、そのビットに対して値を保持するカウンタに接続される加算器6は、1000を出力するであろう。しかしながら、データが書き込まれた1千ワードラインの大多数を検索(読出し)アドレスにより読み出すのであれば、一般的に加算器は、正しく解釈される値を出力するであろう。このように、カネルヴァにより提案されたメモリは、有用なエラー修正特性を有し、前記のように、ノイズの影響を緩和するものである。
N-Mコードは、Mビット二進数のNビットを「1」に設定したコードである。従って、如何なるN-Mコードも、「1」に設定されるNビット及び「0」に設定されたM-Nビットを有する。コードにより表される各値は、「1」及び「0」が発生する順番で異なる。N-Mコードは、N「1」を受信したとき、コードが完全である(即ち、値を受信した)が、N「1」より小さい値を受信したとき、コードは不完全である点で自己タイミングである。
本発明のメモリ構造は、図1に示す従来のメモリの散在分散特性を有し、メモリに多数のエンハンスメントを付与するようにN-Mコード付けを幾つか適用するものであるが、この点は後述する。本発明で実施するメモリ構造を図2に高レベルで図示する。一般的構造は図1と類似するので、適切な場合には類似の参照数字を使用する。図1のメモリと本発明により提供されるメモリとの僅かな相違は後述の通りである。
一般に、メモリは、特定の読出し又は書込みに対して付勢されるwのWアドレスデコーダ2を有する。各Wアドレスデコーダは、Aビットアドレスを有し、これらのアドレスの各々は、値「1」を有するaビットを備えている。このように、各アドレスデコーダのアドレスは、A-aコードである。アドレスがアドレスデコーダ2に入力されるとき、「1」値に設定されたiビットと、「0」値に設定されたA-iビットとを有する。このように、如何なる入力アドレスもA-iコードである。全ての入力アドレスは、デコーダ(i=a)のアドレスに等しい「1」ビット数を有する実施の形態もある。しかしながら、iをaから独立させる点において通常限界利得が存在する。
複数のアドレスデコーダ2が入力アドレスを受信したとき、各デコーダのA-aコードと、入力アドレスのA-iコードとの間を比較する。各アドレスデコーダは、関連する閾値Tを有する。閾値Tは、入力アドレスとデコーダアドレスとの間で一致しなければならない「1」の数を決定する。
デコーダ付勢手順を単純化する例を説明する。これらの例では、3つのアドレスデコーダ(A、B及びC)が存在し、それぞれ8-3コードを有するものと仮定する。これらのデコーダのアドレスは、下記の通りである。
A: 01001001
B: 10001010
C: 01101000
下記の説明では、各アドレスは、指数0で始まり、左から右に索引付けされるものとする。
第1の実施の形態では、各デコーダの閾値は、入力アドレスの少なくとも2つのビットがデコーダアドレスの2つのビットに一致するように設定される。即ち、下記が付与される:
アドレス1: 01001000 (8-2コード)
入力アドレスのビット1及び4が「1」であり、デコーダAとCのアドレスのビット1及び4も「1」のとき、デコーダAとCとが付勢されることは理解できよう。このように、2つの一致ビットの閾値が達成される。アドレス1とデコーダBとの間で「1」の1つのみが一致(ビット4)するので、デコーダBは、付勢されない。
同様に、下記アドレス:
アドレス2: 01000011 (8-3コード)
が付与され、閾値Tが変化しないと仮定すると、アドレス2は、ビット1と7内に「1」を有し、デコーダAが付勢されることを意味することを理解できよう。各デコーダアドレスの「1」ビットのみがアドレス2内の「1」と一致するので、デコーダBとCとは付勢されない。
前記付勢手順は、Wの全体からwデコーダを付勢する。従って、付勢パターンは、W-wコードである。所与の読出しサイクル又は書込みサイクルの間に、最適数又は最適に近い数のアドレスデコーダを確実に発火するように、閾値を設定することが好ましい点で重要であるが、これは、図1について説明した過程に類似する。この最適数は、カネルヴァが提案したメモリ内で付勢される数よりも典型的に極めて小さいことが判明した。発明者は、より少ない数のデコーダを付勢して十分に高精度でメモリからデータの読出し及び書込みが可能であること及びカネルヴァのシステムのように、1千個のデコーダの付勢を要しないことを実現した。メモリシステムのこの特性の詳細な分析は、後述の通りである。
次に、w付勢デコーダは、データを読み出すべき又は書込むべきwワードラインを選択する。このように、アドレスデコーダ2と、データメモリ3のワードラインとの間の連絡は、W-wコードである(即ち、全てにおいてWデコーダのw付勢デコーダ)。前記の通り、独立に付勢されるアドレスデコーダを含む付勢手順が与えられれば、wを確実に一定にすることは、通常実用的ではない。アドレスデコーダ2からデータメモリ3にWコードのこのwを連絡することは、図2の矢印9により図示する。
w付勢デコーダは、wワードラインを選択する。書込みデータを付与して、データをデータメモリ3に書込み、読出しデータは、データメモリ3から読み出される。読出し又は書込みは、各w付勢ワードラインで実行される。入力データ5は、D-dコードを表すものと判断され、各ワードラインは、Dビット、「1」に設定された「d」を含む。各入力がD-dコードであれば、各書込みデータ操作は、d「1」を含む書込みデータである。
各ワードラインの各ビットは、従来の二進単一ビットメモリ内に記憶される。全てのワードラインの全てのビットは、最初に「0」に設定される。「1」をビットに書込むべきとき、「0」値は、「1」により置き換えられる。後続する書込みサイクルで「0」をそのビットに書込もうとする場合でも、一度ビットが「0」に設定されれば、決して「0」にリセットされない。一度データ書込み操作が1つの値を設定すれば、この値のその後の増加は、単にノイズとなり、従ってその増加を破棄できるためである。この記憶手順は、M-Nコードの単極特性に基づき、その信頼性の理由を後述する。
データメモリ3からデータを読み出すべきときに、アドレスデコーダ2にアドレスを付与すると、アドレスデコーダ2は、複数のwアドレスデコーダを付勢する。次に、これらのwアドレスデコーダは、データメモリ3内のwワードラインを付勢する。各語は、Dビットを含み、付勢された各ワードラインの各ビットの内容は、合計されて、D出力を発生する。本明細書では、これらの合計を「付勢レベル」と指称する。全ての書込みデータは、D-dコードであることは知られており、従って、メモリから読み出されるデータもD-dコードである。
単一の書込みサイクルが特定のアドレスに値を書込み、読出しデータ操作に対して同一のアドレスが付与される場合(更に介在書込みサイクルがなく)、書込みデータ内で「1」に設定される各ビットの付勢レベルは、wであり、書込みデータ内で「0」に設定される各ビットの付勢レベルは、零である。このように、出力データ内でどのビットを「1」に設定すべきかを容易に理解することができる。
しかしながら、2つの書込みサイクルが複数の異なる入力書込みアドレスにデータを書込む場合に、第1の書込みサイクルの間に付勢されるアドレスデコーダは、第2の書込みサイクルの間に付勢されるものも存在するかもしれない。即ち、データメモリ3内のワードラインは、第1の書込みサイクルの結果として「1」に設定されるビットと、第2の書込みサイクルの結果として「1」に設定されるビットとを含むものがある。
第1の書込みアドレスに等しいアドレスをアドレスデコーダ2に付与するとき、読出しデータ手順は、wワードラインを付勢し、前記のように、付勢レベルを計算する。介在書込みサイクルの動作があれば、これらの付勢レベルは、第2の書込みから誘導される幾つかの値を含み、即ち、第1の書込みサイクルの間にこれらの付勢レベルを「1」に設定されるビットよりも小さくすべきであっても、第1の書込みサイクル内で「0」に設定された幾つかのビットは、非零付勢レベルを有する。即ち、dビットより多いと、非零付勢レベルを有する。
出力データをD-dコードとすべきことが既知であるから、修正された勝利者取り分全て(winner takes all, WTA)のアルゴリズムを適用して、最大の付勢レベルを有するdビットを決定する。これらのdビットは、そのアドレスにデータを書込む間に「1」に設定された可能性の最も高いものであり、従って、出力データ内で「1」に設定される。
WTAアルゴリズムは、通常データの集合から単一の勝利者を決定する。この場合に、修正されたアルゴリズム(本明細書では、「k-WTAアルゴリズム」と称する)は、最高の付勢レベルを有する複数のd値を決定し、これらの値を有するビットは、出力内で「1」に設定される。即ち、これらのdビットは、アルゴリズム内の「勝利者」である。適当な分類(ソート)アルゴリズムを使用して、D値を分類し、これらの分類された値から最高のd値を選択することにより、k-WTAアルゴリズムを実行することもできる。
データメモリにM-Nコード付けを適用することにより、出力データ内に如何に多くの「1」が存在するかを知るように、読出し過程でこの形態を使用することができる。カネルヴァが提案したシステムでは、メモリに書込むデータが二進数の場合に、出力データ中に如何に多くの「1」が存在するかを認識する方法がないから、カネルヴァは、記憶素子として複数のカウンタを使用して、各ビットに書込まれるデータを蓄積し、カウンタの内容を合計し、閾値を適用して出力を発生する。
単一のビットメモリは、「1」を超えて増大されないことは前記の通りである。即ち、これは、特定のビットでの値が常に「1」又は「0」の何れかであるべきだからである。従って、「1」を超えて増大することは、そのビットに不都合なあるノイズが記憶されることを意味しなければならない。このノイズは、共通のワードラインを付勢する2つの書込みアドレスによって発生される。この場合に、「1」を超えて増大できるカウンタを必要とせずに、どのビットを「1」に設定すべきかをk-WTAアルゴリズムが正確に特定することができる。アップダウンカウンタ及び零閾値を使用するカネルヴァの実施法は、「0」又は「1」の何れに特定の出力ビットを設定すべきかを決定するのに最早必要としない。このように、本発明は、カウンタではなく、従来の単一ビットメモリ内にデータを記憶させるメモリを提供する。これにより、装置の価格を大幅に低減することができる。また、近時の技術革新により大容量の適当なメモリ(RAM)を安価で効率的に利用することができる。
メモリの各ビットに対して有用に記憶できる情報のビット数から見れば、メモリの有効性の一般的な基準は、記憶容量である。この基準を使用して、本発明を実施するシステムは、カネルヴァが提案したシステムより優れた顕著な利点を生ずる。この大記憶容量の主な理由は、より少ない数のワードラインにデータを書込むことから得られる。典型的には、カネルヴァのシステムが数千ワードラインにデータを書込んだのに対し、本発明では、発明者は、カネルヴァのメモリの利益を保持ししかも格段に大きな記憶効率を得ながら、遥かに少ない数のワードラインにデータを書込むことができることを発見したのである。例えば、下記の記憶特性に対して、データを100ワードラインより少なく書込むことが好ましく、50ワードライン以下にデータを書込むことが更に好ましく、11と20ワードラインの間でデータを書込むことが操作上最大の利点が生ずる。データを書込むべき最適数のワードライン数を決定する方程式と共に、記憶容量について説明する。
データメモリ3は、相関行列メモリの形態である。相関行列メモリは、例えば、ティー・コーエン著「相関行列メモリ」電気電子学会トランスアクションズ・コンピュータ・C-21(4)1972年4月第353〜359頁、エム・ターナー及びジェ・オースチン著「二進数相関行列メモリの整合性」ニューラル・ネットワーク10(9)、1997年1637〜1648頁において広く研究されてきた。この解析の大要を誘導体wの基礎として本明細書中に示す。
アドレス入力及びデータ入力がそれらの空間全体に均一に分散されると仮定する。データメモリ3は、最初に各ビットで「0」を含む。書込み過程でのある点で「1」に設定されるデータメモリ内の任意のビットの確率を表す占有量hを使用する。Z書込み操作後に、期待される占有量は、方程式(2)で与えられる。
Figure 2005521940
方程式(2)の下記条件:
Figure 2005521940
は、単一の書込み操作内でデータメモリ内の特定のビットを「1」に設定する確率を与える。1からこの条件を減じると、特定の操作内でそのビットを「1」に設定しない確率値が与えられる。この減算値は、Zの書込み操作の効果を表示するように、更にZ乗される。従って、下記項:
Figure 2005521940
は、Zの書込み操作後に、任意のビットを「1」に設定しない確率を与える。このように、Z操作後に任意のビットを1に設定する確率:hを誘導するため、この条件は、1から差し引かれて方程式(2)を生ずる。
Zは、0であるから、hは、最初に0であり、方程式の右辺は、単純に1-1となることは方程式(2)から理解できよう。より多くのデータがメモリ内に記憶されるとき、hは、1に向かって単調に増加する。
対数を使用して、方程式(2)を下記の通り書き換えることができる。
Figure 2005521940
典型的に、dがDより極めて小さく、wがWより極めて小さいと仮定すれば、下記項:
Figure 2005521940
は、小さい。従って、方程式の右辺の自然対数をテイラー級数の初項にほぼ等しいとみなせる。これは、方程式(4)に記載するように、記憶されたデータ項目の数に対する式を与える。
Figure 2005521940
D-dコードによって表すことができる記号の数を考慮することにより、Z書込み操作後に、メモリ内に記憶される全情報を特定することができる。この情報は、方程式(5)で与えられる。
Figure 2005521940
方程式(5)で与えられる情報容量をデータメモリ内の二進数記憶ロケーションの数と比較することにより、方程式(6)で表される記憶効率を演算することができる。
Figure 2005521940
ここで、η(Z)は、メモリの記憶効率である。
Dの大きな値に対して、方程式(6)の組み合わせ項を下式により近似させることができる:
Figure 2005521940
dがDより極めて小さい場合の散在メモリに対して、方程式(7)と(4)とを方程式(6)に代入し、簡素化すると下式が得られる:
Figure 2005521940
ここで、η(Z)は、メモリの記憶効率である。
これは、零エラー状態の下で所与の占有量hに対して最高効率メモリは、D-1[1ホットコード(1-hot code):n個の状態を表すための1ヵ所のみが1で他が0のnビット符号]としてデータが書込まれた場合及び最少数のアドレスデコーダが所与の入力アドレスに対して発火する場合である。即ち、d=1で、w=1である。しかしながら、これらの基準に従ってd及びwを設定することは、逆に、下記のように、高容量又は入力エラーの下でメモリの頑健性に影響を与える。
データメモリの頑健性を考慮するため、Zデータ語の書込みに続いて、エラー無しで読出しアドレスを付与する場合に、単一のデータ語の読出し(検索)が考慮される。読出しアドレスにより付勢されるwアドレスデコーダは、書込みデータ過程の間に付勢されるwアドレスデコーダと同一である。特定のビットに書込まれたデータが、「1」であれば、各wワードラインは、そのビットに「1」を記憶し、方程式(9)によって付勢レベルが与えられる。
Figure 2005521940
ここで、E(X)は、付勢レベルである。
しかしながら、特定のビットに書込まれたデータ値が「0」であれば、期待される付勢レベルは、:
Figure 2005521940
ここで、hは、前記定義の通りである。
hは、1より小さいので、書込んだデータを回復するようにメモリを操作でき、「1」に方程式(9)及び(10)から明らかなように、設定されたビットは、「0」に設定されたものより高い付勢レベルを有する。しかしながら、「0」に設定されたビットの付勢レベルは、統計学上の変動(ばらつき)を生ずることがあり、ある(小さな)確率では、全ての加重値は、他のデータ書込みにより既に「1」に設定されている。この場合に、「0」であるべき出力の付勢レベルは、「1」であるべき出力の付勢レベルと同一である。これは、「誤り1」エラー状態の可能性を与える。書込みエラーがなければ、「誤り0」エラーの可能性は存在しない。
「0」出力の一因となる全てのビットが誤って「1」に設定される場合にのみ、「誤り1」エラーが発生する。このように、正確に読み出される「0」ビットの確率は、方程式(11)により付与される。
Figure 2005521940
即ち、hwは、誤って「1」に設定された付勢レベルの原因となるwビットの確率に対する値を付与する。このように、1からこの値を引くことは、正しく読み出される「0」値の確率、即ち、複数のwビットが誤って「1」に全て設定されなかった確率を与える。
0に設定されたD-dビットが全て正確に読み出されれば、データ語は、正確に読み出される。語を正確に読み出す確率は、方程式(12)により与えられる:
Figure 2005521940
(「data word correct」は、「正確に読み出されるデータ語」を意味する。)
即ち、D-dビットを全体で取り出すべきならば、方程式(11)の表示は、D-d乗に上昇する。
Zデータ語をメモリに書込めば、記憶されたあらゆるデータ語を正確に読み出すことができる確立は、方程式(13)によって付与される。
Figure 2005521940
hが増加するので、エラー無し回復(読出し)は、零に向かって減少する。
対数を使用する再書込み方程式(13)は、次の通りである:
Figure 2005521940
wが1より相当に大きい場合に、hwは極めて小さいので、テイラー級数の第1項は、方程式(14)の右辺の対数に対する下記近似式に書き換えることができる:
Figure 2005521940
データメモリを最適な構造に構成するため、アドレスデコーダWの数及び語長Dを固定することが考慮される。
また、データ符号付け(D-d)を固定することが考慮される。正しいデータ回復の確率を最大化するため、hw又はwlnhを最小化すべきことは方程式(13)から理解できよう。従って、下式の解を求める:
Figure 2005521940
再生方程式(4):
Figure 2005521940
この式を下記のように書き換えることができる:
Figure 2005521940
wに関する微分方程式(17)及び方程式(17)から得られるZ値を代入すると、次式が得られる:
Figure 2005521940
方程式(18)から方程式(16)に
Figure 2005521940
値を代入すると、hの下式が得られる。
Figure 2005521940
簡素化すると、下式が得られる:
Figure 2005521940
方程式(20)の両辺にhを乗ずると、下式が得られる:
Figure 2005521940
方程式(21)は、h=0.5の解をもつ。
h=0.5のとき(ジェイ・ピー・ナダル及びジー・トウロウス共著「分散コード型メモリネットの情報記憶装置」ネットワーク(1990年)61〜74頁参照)、相関行列メモリの最大情報内容が生ずることが予め示されてきた。前記hの最適化は、メモリが如何に多くの情報を保持できるかについてではなく、如何に多くの情報を確実に回復できるかであった。従って、最大回復可能内容は、最大内容に一致する。
方程式(4)から方程式(15)にZ値を代入すると、下式が得られる:
Figure 2005521940
前記のように得られた最適値h、即ちh=0.5を使用し、W, d及びDが既知であり、エラー無し回復率Pcの許容可能な確率を使用すれば、wに対する値を演算することができる。
しかしながら、メモリの特性が付与されれば、完全にエラー無し回復率(これまで仮定したように)は、制限的過ぎる要求である。メモリの情報収容能力に対する別の定義は、エラーと共に他の幾つかの事項を回復することを認めながら、エラー無しで回復できる最大数のデータ事項を確立することである。
再現能力式(12):
Figure 2005521940
エラーEcと共に他の事項を回復しながら、高精度に回復できるデータ事項の数に対する式を誘導することは可能である。この式は、方程式(23)で与えられる。
Figure 2005521940
ここで、Zは、メモリ内の語数である。
所与の値Zに対して、Ecを最大化するように、wは、変化され、h=0.5でこの最大値が生ずる。
各新しい入力により1つ又はそれ以上の更なる読出しエラーが生ずるまで、データをメモリに書込めば、メモリの最大有用収容能力に達した。下記の場合に、この点に到達する:
Figure 2005521940
再書込み方程式(23)は、下記の通りである:
Figure 2005521940
微分方程式(25)は、下記の通りである:
Figure 2005521940
再書込み式(4):
Figure 2005521940
一定のhに対して、wZは、一定(W, D及びdが与えられれば)であり、不変であることが方程式(27)から明らかである。従って、:
Figure 2005521940
方程式(28)を方程式(26)に代入すれば、下式が得られる:
Figure 2005521940
エラーと共に幾つかの語を検索しながら、極力多くの語を正しく読み出すことが目的のとき、方程式(29)は、最適値wに対する別の値を与える。方程式(29)から得られる値wは、方程式(22)から得られるものより小さい。これは、より多くの数(即ち、wを増加する)のアドレスデコーダを付勢することにより、メモリのエラーがより少なくなるが、収容能力もより小さいとの事実を反映するものである。逆に、w値が小さくなるほど、メモリがより多くのエラーを生ずるが、各書込みデータ操作により、データメモリのより少ないワードライン内に値を設定するので、メモリはより大きな収容能力を有する。いずれの場合でも、h=0.5のとき、回収可能な最大情報が生ずる。
前記のように、式を誘導した本発明者は、方程式(22)及び(29)により決定される複数の値の間にwが設定されれば、本発明の具現化を可能にするメモリを十分に改良できることを決定した。
図3及び図4について前記の解析を説明する。図3は、方程式(23)の三次元線図を示す。Z軸は、メモリに書込まれた数項目を表し、w軸は、読出し操作又は書込み操作により付勢されるアドレスデコーダの数を表し、Ec軸は、方程式(23)により与えられる量を表す。図4は、w軸及びZ軸が図3の各軸と同一の量を表す場合の図3の線図の等高線図を示す。線図に例示するシステムは、4096個のアドレスデコーダ(即ち、W=4096)と、256-11コード(即ち、d=11及びD=256)を使用してデータを記憶させた例である。他の構造も類似の結果を示す。
まず、図3では、メモリに書込まれるデータが増加する(即ち、Zが増加する)ほど、正確に検索できる語数が増加するが、Zが大き過ぎるようになると、急激に低下する(絶壁形状10)。即ち、多くのデータを書込んだ後に、メモリは飽和し、正しく回復できる多くの語が急激に転落する。
図4について更に解析を行う。等高線は、正しい語(Ec)の期待数は、記憶された情報入力数(Z)及び付勢されたアドレスデコーダ(w)の数と共に変化する。エラー率が約11%で、Ecの最大値は、5332である。この最大値は、ワードライン(W=4096)の数より多い。中央等高線11は、Ec=5000で形成され、次の等高線は、500の段で形成される。線図の南面は、極めて平坦に近く、wが小さい線図の西側を除き、Ecは、Zに極めて近い。線図の西側及び北側での急激な各傾斜により示すように、wが小さくなるか又はZが大きくなると、性能は急落する。
前記の連続的な等高線に他の2つのデータ組が重ねられる。第1のデータ組は、長めの点線で描く3つの双曲線12を含む。各双曲線は、hに対する所与の値を生ずるw値及びZ値を示す。これらの双曲線の内、第1の双曲線Aは、h=0.2での線図を示し、第2の双曲線Bは、h=0.5を示し、第3の双曲線Cは、h=0.8を示す。最適占有率(h=0.5)を示す線は、線図の最大値を通過することを理解できよう。
更に、3つの曲線13は、w値及びZ値がPc値にどのような影響を与えるかを示す。左から右に流れる3つの曲線は、それぞれ0.1、0.5及び0.9のPc値を表す。曲線13の各最大値は、線h=0.5上に存在することは図4から理解できよう。収容能力は、確立Pcに対して比較的影響されないことを示しながら一緒に接近している。
前記の説明から、エラーと共に回復される他のデータが発生すれば、最大の正しいデータ回復に対する最適値は、線図の最大値にあることは理解できよう。即ち、w=11である。エラー無し回復の最適値は、中央双曲線Bが曲線13の中央曲線と交差する点から読み出される。(即ち、h=0.5線がPc=0.5線と交差する点)この場合、w=20となり、エラーを有する回復値の2倍を超える。エラー無し回復に対してw値を決定するため、Pc曲線の最大値を配置する必要がある。しかしながら、この曲線は、極めて平坦であるから、最大値を検出することは非常に困難である。この最大値は、h=0.5の点で生ずることが知られているので、Pc=0.5線とh=0.5との交点を得て、最大エラー無しデータ回復に対するw値を決定することは可能である。従って、本発明により実施される展開により、前記のように設定されたパラメータ(変数)を有する如何なるメモリも、11と20との間のw値で最適に操作される。
前記の解説は、wに対する最適値を決定する新規な方法を提案し、このような決定の利点を提供するものである。しかしながら、各アドレスデコーダは独立して発火するので、各入力アドレスによってwアドレスを正確にかつ確実に付勢することが困難であり、即ち、wにある変動がある。前記の分析は、この情報に照らして修正される。
デコーダを付勢すべき場合に、閾値Tをアドレスデコーダに適用して、入力アドレスとデコーダ識別子との間に対応することが必要なビット数を決定できることは前記の通りである。付勢されたアドレスデコーダは、入力アドレスに対応する入力の少なくともTビットを有するものである。
第1のM-N1コードが、第2のM-N2コードと共通して、T「1」を有する確率は、方程式(30)により与えられる:
Figure 2005521940
入力アドレスと共通してTビットを有するアドレスデコーダが付勢されるので、方程式(31)を使用して、
Figure 2005521940
で示すw平均値を誘導することができる。
Figure 2005521940
エラー無し入力でメモリを操作していれば、同一のアドレスデコーダは、所与の入力アドレスによって常に付勢される。しかしながら、異なる入力アドレスによって付勢される多数のデコーダ内に統計学上のある変動が生ずる。所与の入力アドレスに対して、付勢される何れか1つのアドレスデコーダの確率は、下式により与えられる:
Figure 2005521940
Wアドレスデコーダは、方程式(31)による平均値及び方程式(33)による分散値と共に、wに対する二項分布を与える:
Figure 2005521940
特定値w’を得るwの確率は、:
Figure 2005521940
方程式(13)は、記憶されたデータ値の全てをエラー無しで回復できる確率の式を与える。方程式(34)が付与されれば、方程式(13)を下記の通り修正することができる:
Figure 2005521940
即ち、方程式(13)を補正して、w値の分散値を考慮することができる。
同様に、正しく回復できるデータ要素(項目)(エラーと共に回復されるものを無視する)の期待数に対する値を付与する方程式(23)は、:
Figure 2005521940
wの二項分散を考慮して、Ec値及びPc値に前記補正を行うと、図4の等高線図は、図5のように修正される。等高線、双曲線及び曲線は、図4に示すのと同一の情報を示す。図5の垂直(Z)軸は、図4の各軸と同一の量を表す。w水平を調節して、w平均値を示すことができる。
この場合に、Ecの最大値は、Z=5440及びw=15では、Ec=4445でより低い。この最大値は、最早、h=0.5ではないが、h=0.575で生ずる。エラー無し性能は、wのより低い値で著しく悪化するが、線図の全体的形状は影響を受けない。しかしながら、w二項分散を与えれば、T値を設定して、前記提案したものより高い平均値をwに付与しなければならない。方程式(31)を再編成しかつa、A、i及びwの適当な値を使用して、要求されるT値を決定することができる。
人工ニューラルネットワーク法を使用して、本発明のシステムを実施することができるが、この実施法について説明する。図6は、適当な人工ニューラルネットワークの基本構造を示す。ニューラルネットワークは、複数のアドレスデコーダニューロン15の層に接続される複数の入力ニューロン14の層を有する。データメモリは、複数のDニューロン16を有する。各データニューロン16は、各アドレスデコーダニューロン15に接続される。各データニューロン16は、書込みデータ入力IP及び読出しデータ出力OPを有する。
漏出積分発火スパイクニューロンに基づく実施に特に適するが、他のニューロンモデルを介して適用することもできる。積分付勢ニューロンは、複数のn入力を有し、これらの入力の加重された合計を得る。この合計は、ニューロンの付勢レベルとして知られている。付勢レベルが予め決められた閾値を超えた場合にのみ、ニューロンが発火する。下記の実施は、単一のパルスを出力するスパイクニューロンに基づくが、即ち、ニューロンは、発火してパルスを発生するか又は発火せずパルスを発生しないかの何れかである。ニューロンの出力は、デジタル0/1出力であるとみなすことができる。ニューロンの漏洩特性は、予め決められた時間の間にニューロンにより入力が保持されることを意味する。この時間経過後に、付勢レベルは、零に戻る。このように、入力が波状に発火すれば、他の入力が零に漏出(低下)するので、単一の所与の波からの入力のみを付勢レベルの計算に考慮される。先の入力の効果のために、漏洩特性は、誤ってニューロンを確実に発火させないので、重要である。漏洩特性は、システム内のニューロンを活性波間で確実に不活性状態にさせる。
A-iコードの形態でアドレスを入力ニューロン14からアドレスデコーダニューロン15に入力する。この入力は、ほぼ同時に到着するA入力ニューロンのi上の一連のiスパイクである。これらのスパイクニューロンは、下記のように、幾つかのアドレスデコーダニューロンの付勢レベルの一因となる。
アドレスデコーダは、Wアドレスデコーダニューロン15を有する。入力ニューロン14とアドレスデコーダに関連するニューロンとの連結は固定される。同様に、アドレスデコーダニューロンが発火する閾値も固定される。例えば、図6に簡素化して図示する例では、そのアドレスデコーダニューロンが発火すべき場合に、特定のアドレスデコーダニューロン15に連結された2つの入力ニューロン14の少なくとも1つが発火しなければならない。即ち、各アドレスデコーダニューロンは閾値1を有する。
入力ニューロン14とアドレスデコーダニューロン15との間の連結を表すマトリックスを形成することができ、この連結マトリックスは、全ての要素を含む−即ち、全ての入力ニューロンは全てのアドレスデコーダニューロンに連結する。各アドレスデコーダニューロンは、加重値Aを有する。a加重値は、連結マトリックス内で「1」に設定され、加重値A-aは、「0」に設定される。連結マトリックスの一部を図7に示す。図7は、一つのアドレスデコーダニューロンに対する複数の連結を示す。5つの入力ライン17は、単一のアドレスデコーダニューロン(図示せず)の各入力ライン18にそれぞれ接続される。入力ライン17とアドレスデコーダ入力ライン18との間の複数の連結の各々に加重値「1」又は加重値「0」が割り当てられる。
左側から右側に入力ライン17を読出し、上側から下側にアドレスデコーダニューロン入力を読出しながら、第1の入力ラインと第1のアドレスデコーダニューロン入力との間の連結に「0」が割り当てられる一方で、第2の入力ラインと第2のニューロン入力との間の連結に「1」が割り当てられることが理解できよう。
5つの入力ライン17と5つのアドレスデコーダ入力18が設けられる。これらのラインの3つの間の連結に加重値「1」が割り当てられる。このように、各アドレスデコーダニューロンに、実際に、識別子としてコード5-3が割り当てられる。加重値「1」を有する複数の連結の各々に対して、関連する入力ライン上の入力ニューロン発火は、アドレスデコーダニューロンの付勢レベルの一因となる。逆に、加重値「0」を有する連結に対して、関連する入力ライン上の入力ニューロン発火は、アドレスデコーダニューロンの付勢レベルの一因とはならない。
図7に示す構造は、Wアドレスデコーダニューロン入力に連結されるように各入力ライン17は、反復される。図7に示す例では、各入力ライン17を単一の入力18にのみ連結するように、単一のみのアドレスデコーダニューロンの複数の入力を示す。
加重値「1」は、発火入力ニューロンがアドレスデコーダニューロン入力18(即ち、その入力ラインは、アドレスデコーダの識別子内の「1」を表す)に影響を与えることを意味し、加重値「0」は、非連結を有効に表示する(即ち、この入力ライン上のニューロン発火は、アドレスデコーダニューロンに影響を与えない)ことを意味するので、各アドレスデコーダニューロンは、「1」を保有するi入力ニューロンに連結されることのみが必要である。加重値「1」を有する3つの入力ライン17のみがアドレスデコーダニューロン15の入力18に連結される場合のこれを図8に示す。
このように、入力とアドレスデコーダニューロンとの間に連結を、「0」値及び「1」値(図7)を有する完全な連結マトリックスとして又は特殊な連結(図8)を含む路線指定テーブルの何れかとして考えることができる。前記2つの考えは、同等である。図7に例示するように、単一のアドレスデコーダニューロンに対する複数の連結のみを図8に示し、類似の連結は、複数のWアドレスデコーダニューロンの各々に要求されよう。
一般に、各アドレスデコーダニューロンへの連結(又は「1」)は、任意に選択される。
スパイク(入力アドレスを表す)が到達したとき、多くのアドレスデコーダニューロンが発火する。発火ニューロンは、十分な数の加重値「1」入力線上で「1」値を受信して、アドレスデコーダニューロンの付勢レベルを閾値Tを超えて上昇させるものである。アドレスデコーダニューロン15のこの発火は、前記のWコードのwである。
データメモリ3は、それぞれWアドレスデコーダニューロン15を有する複数のDニューロン16を有する。複数のDデータメモリニューロンの各々は、唯一の書込みデータ入力IPを有する。WアドレスデコーダニューロンとDデータメモリニューロンとの間の連結は、最初に零加重値を有するように設定される。書込みデータ入力(図示せず)からの連結は、最初に無関係の値を有する。しかしながら、書込みデータニューロンが発火するとき、アドレスデコーダニューロンを発火する関連する付随波を通じて持続するヘッブの学習則モードに各データメモリニューロンを適用しなければならない。即ち、データを書込むべきときに、各データメモリニューロンを付勢して、書き込みデータニューロンによって付与されるデータを記憶可能にさせなければならない。
データメモリにデータを書込む手順を以下説明する。まず、D書込みデータニューロン(図示せず)のdが発火して、対応するdデータメモリニューロン16がヘッブの学習則モードに移行する。アドレスデコーダニューロン15は、前記のように、発火し、Wコードのwがデータメモリニューロン16に連絡する。アドレスデコーダからスパイクを受け取るwニューロンは、書込みデータ入力ニューロンによってヘッブの学習則モードに移行されて、「1」に設定される加重値を有する。
付随するアドレスデコーダニューロンスパイクの波が一度通過すれば、全てのニューロンの漏洩特性によって、付勢レベルが「0」に戻る。この時点で、データメモリニューロンは、ヘッブの学習則モードを停止する。適当な遅延時間経過後に、メモリは、始動すべき更なる読出しサイクル又は書込みサイクルの適当な状態となる。このように、ニューロンの漏洩特性によって、先の書込みサイクルからの付勢が現在の書込みサイクルの操作に確実に影響を及ぼさない。
データメモリからデータを読み出すべきとき、書込みデータニューロンは、消勢状態にある。前記のように、Wアドレスデコーダニューロンのwを発火することにより、読出し操作を始動する。先の書込みサイクルによって少なくとも幾つかのニューロンが設定されると仮定すれば、w発火アドレスデコーダニューロンによって、幾つかのデータメモリニューロン上の付勢レベルが上昇する。
出力論理の一般化した「勝利者が全てを取る」(k-WTA)形式は、最高の付勢レベルでdデータメモリニューロン及びそれらの各出力OP上の放出スパイクを選択して、データ出力の表示を形成する。前記のように、更なる読出しサイクル又は書込みサイクルが開始される前に、適当な遅延が要求される。多くの既存の方法を使用して、k-WTAアルゴリズムを実行することができる。これらの一方法では、まず最高の付勢レベル発火を伴い、ニューロンと共に付勢レベルを減少する順序で、複数の出力ニューロンは、発火する。このように、dニューロンが発火した後に、最高の付勢レベルを有するdニューロンは、その出力の一因となった。更に、d発火サイクルを保持すると共に、更なる発火を防止する抑制信号を発生する逆ニューロンによって、その後、更なる発火を抑制することもできる。
前記のように、アドレスデコーダ論理にM-Nコード付けを適用すれば、多くの利点がある。特に、これらのコードは、データ値内の「1」ビット位置にのみ関連するので、発火ニューロンによって「1」を表す場合に、ニューロンネットワークへの適用に特に適する。二進法では、二進法の神経組織化の実現を困難にするので、非発火ニューロンを表示しかつ検出することは比較的困難である。このように、イベント(ニューロンの発火)が効力を生ずる場合及び非イベントが効力を生じない場合に、M-Nコード付けの適用により有効なイベント駆動システムを提供する。
N-Mコードに対するM値とN値の特定の選択は、ある程度まで適用内容に依存する。例えば、DNAデータを表示すべきバイオインフォーマチックス(生命科学と情報科学、情報工学が融合した学問分野)への適用では、しばしば4-1コードが選択される。DNAは、多数の塩基を有し、各塩基は、G、A、T及びCと通常表示される4つの適当な塩基の組から選択されるので、前記の選択が行われる。このように、各塩基は、コードによって付与される4つの入力の1つ上に「1」により書く塩基が表示される。即ち、例えば:
G=0001 A=0010
T=0100 C=1000
即ち、コード4-1により、4つの異なる値(2ビット二進数)を表示することができる。従って、DNA塩基配列の各塩基を一コードとして表示する一連の4-1コードとしてDNAを表示することができる。この塩基配列を使用して、16-4コードにより4つのDNA塩基配列を表示することができる。これは、コードの第1の4ビット内に「1」ビットの一つが存在し、次の4ビット内に第2の「1」ビットが一つ存在し、以下同様である。
例えば、デュアルレールコーディングを使用して、一般的な二進コードをM-Nコードに変換することができる。ここで、二進コードの各ビットは、2つの「レール」に割り当てられる。ビットが「1」に設定されれば、パルスは、そのビットの第1のレール上で送信されるが、ビットが「0」に設定されれば、そのビットの第2のレール上でパルスが送信される。図6に示すニューラルネットワークにこのデュアルレール法について、各入力ニューロン14は、2つのデュアルレール入力ニューロンからの入力を受信する。即ち、システム内に10のデュアルレール入力ニューロンが存在する。入力が受信されたとき、1つの「1」が第1のニューロン対の一方上に存在しなければならず、また1つの「1」が第2のニューロン対の一方上に存在しなければならないような制限と共に、これは、10-5コードの形態の中に存在する。「1」レールニューロンから入力を受信する入力ニューロンは、その後前記のように、発火する。
このように、デュアルレール法の追加により、前記のように、制限されたM-Nコードを使用して、デュアルレール入力が操作されるシステムが提供されるが、如何に多くのニューロンが発火するかについて確実性はなく、入力ニューロンは二進で動作する点に注意すべきである。これは、M-Nシステムと二進法との間に有効な変換を与えるものである。
従来のアドレスデコーダ及びデータ記憶装置のワードラインによって又は前記のようにニューラルシステムとして本発明のメモリ構造を実施できることは当業者に理解できよう。また、専用ハードウエア構成部品を作成し又はフィールド・プログラマブル・ゲート・アレイ(FPGAs)等の再構成可能な部品を構成することにより本発明のシステムを実行できることも明らかである。別法として、適当なコンピュータプログラムを書込んで、本発明のシステムを実現して、従来のコンピュータシステム上で駆動することもできる。このようなシステムは、本発明を実施するメモリをシミュレートする方法で従来のコンピュータのハードウエアを使用できる。目標設定した実施が特に好ましいが、広範囲に使用される多くのコンピュータプログラム言語の何れかでコンピュータプログラムを書込むこともできる。
従来公知のメモリ構造を示すブロック図 本発明によるメモリ構造のブロック図 図2に示す特定のメモリ構造の記憶容量を示す三次元線図 図3の三次元線図の等高線図 独立して付勢されたアドレスデコーダを考慮して補正した図4の等高線図 本発明のメモリの実行に使用できる人工ニューラルネットワークのブロック図 図6に類似する一般形態を有する人工ニューラルネットワーク内の入力ニューロンとアドレスデコーダニューロンとの間の接続の代替構造を示すブロック図 図7に示す代替構造に対する入力ニューロンとアドレスデコーダニューロンとの連結の代替構造を示すブロック図
符号の説明
14・・入力ニューロン、 15・・アドレスデコーダニューロン、 16・・データニューロン、 IP・・書込みデータ入力、 OP・・読出しデータ出力、 17・・入力ライン、 18・・入力ライン、

Claims (34)

  1. 第1の選択可能な状態と第2の選択可能な状態とをそれぞれ有する予め決められた数のビットを含む識別子がそれぞれ割り当てられた複数のアドレスデコーダと、予め決められた長さの複数のワードラインを有するデータメモリとを備え、各アドレスデコーダを付勢して、複数のワードラインの一つを選択することができ、アドレスデコーダは、予め決められた数のビットを有する入力アドレスを受信する手段と、アドレスデコーダの識別子を入力アドレスと比較する手段とを備え、データメモリは、更に、入力アドレス内で第1の選択可能な状態に設定された少なくとも予め決められた最小数のビットが、デコーダの識別子内で第1の選択可能な状態に設定されたビットに相当する場合に、アドレスデコーダを付勢する手段とを備えたことを特徴とするコンピュータシステムに使用するメモリ構造。
  2. アドレスデコーダの識別子を入力アドレスと比較する手段は、入力アドレス内の第1の選択可能な状態に設定されたビットと、デコーダ識別子内の第1の選択可能な状態に設定されたビットとの間の位置一致(位置対応)を考慮する請求項1に記載のメモリ構造。
  3. 各アドレスデコーダ識別子は、第1の選択可能な状態に設定された等しい数のビットを有する請求項1又は2に記載のメモリ構造。
  4. 入力アドレスを受信する手段は、第1の選択可能な状態に設定された予め決められた数のビットを含むアドレスを受信するように構成される先行する請求項の何れか1項に記載のメモリ構造。
  5. 入力アドレス内の第1の選択可能な状態に設定された予め決められた数のビットは、各アドレスデコーダ識別子内の第1の選択可能な状態に設定されたビットの数に等しい請求項3又は4に記載のメモリ構造。
  6. 単一のビットメモリ内に各ワードラインの各ビットを記憶するように、データメモリは、単一ビットの複数のメモリを備える先行する請求項の何れか1項に記載のメモリ構造。
  7. データメモリは、複数のワードラインの各々に等しい数のビットを有するデータ入力線を備える先行する請求項の何れか1項に記載のメモリ構造。
  8. データ入力線からアドレスデコーダにより付勢されるワードラインにデータを複写するデータ書込み手段を備えた請求項7に記載のメモリ構造。
  9. データ入力線は、第1の選択可能な状態に設定された予め決められた数のビットを含む入力データを受信するように構成される請求項7又は8に記載のメモリ構造。
  10. アドレスデコーダにより付勢されるワードラインの各ビットに記憶される値を合計して、各ビットに対する付勢レベル値を作成する手段を備えた先行する請求項の何れか1項に記載のメモリ構造。
  11. 第1の選択可能な状態に設定された予め決められた数のビットを含む出力語を作成する手段を備えた請求項9又は10に記載のメモリ構造。
  12. 出力内で第1の選択可能な状態に設定されるビットは、最高の付勢レベルを有する予め決められた数のビットである請求項11に記載のメモリ構造。
  13. 互いに接続された複数の人工ニューロンを使用して、メモリを駆動し、ニューラルネットワークを形成する請求項1乃至12の何れか1項に記載のメモリ構造。
  14. 複数のアドレスデコーダニューロンにより複数のアドレスデコーダを表示し、複数のデータニューロンによりデータメモリを表示する請求項13に記載のメモリ構造。
  15. 各々予め決められた数の入力ニューロンに接続された複数のアドレスデコーダニューロンと、複数のデータニューロンを有するデータメモリとを備え、各アドレスデコーダニューロンを付勢して、複数のデータニューロンの幾つかを選択することができ、アドレスデコーダニューロンは、それが接続された入力ニューロンの発火を表示する信号を受信する手段を備え、アドレスデコーダニューロンは、アドレスデコーダが連結された少なくとも予め決められた数の入力ニューロンから発火信号を受信したとき、データニューロンを付勢する手段を備えたことを特徴とするコンピュータシステムに使用するニューラルメモリ構造。
  16. 各々第1の選択可能な状態と第2の選択可能な状態とを有しかつ予め決められた数のビットを含む識別子がそれぞれ割り当てられた複数のアドレスデコーダと、予め決められた長さの複数のワードラインを有するデータメモリとを備え、各アドレスデコーダを付勢して、複数のワードラインの一つを選択することができ、予め決められた数のビットを有する入力アドレスは、アドレスデコーダに入力され、アドレスデコーダの識別子は、入力アドレスと比較され、入力アドレス内で第1の選択可能な状態に設定された少なくとも予め決められた最小数のビットが、デコーダ識別子内の第1の選択可能な状態に設定されたビットに相当する場合に、アドレスデコーダが付勢されることを特徴とするコンピュータシステムに使用するメモリの操作法。
  17. データメモリのデータ入力に入力データが付与され、付勢されたアドレスデコーダにより付勢されたワードラインにデータを書込む請求項16に記載の方法。
  18. 100未満のアドレスデコーダが何等かの有効な入力アドレスによって付勢されるように、予め決められた最小数のビットを設定する請求項16又は17に記載の方法。
  19. 何等かの有効な入力アドレスによって50に満たないアドレスデコーダを付勢するようにビットの予め決められた最小数を設定する請求項18に記載の方法。
  20. 20個以下でかつ11個より少なくない数のアドレスデコーダを何等かの有効な入力アドレスにより付勢するように予め決められた最小数のビットを設定する請求項19に記載の方法。
  21. 第1の選択可能な状態と第2の選択可能な状態とをそれぞれ有する予め決められた数のビットを含む識別子がそれぞれ割り当てられた複数のアドレスレコーダと、予め決められた長さの複数のワードラインを有するデータメモリとを備え、各アドレスデコーダを付勢して複数のワードラインの一つを選択することができ、更にデータメモリは、入力アドレスを受信する手段と、デコーダ識別子と入力アドレスとの間の比較が予め決められた比較閾値を超える場合にアドレスデコーダの1つ又はそれ以上を付勢する手段とを備え、最適化法は、有効な入力アドレスに応答して付勢すべきアドレスデコーダの操作上有利な数を決定する過程と、有効な入力アドレスが付勢すべきアドレスデコーダの操作上有利な数に実質的に等しい数のアドレスデコーダを付勢するように、比較閾値を設定する過程とを含むことを特徴とするコンピュータメモリの操作を最適化する方法。
  22. 入力アドレス内の第1の選択可能な状態に設定されたビットの数を、各アドレスデコーダ識別子内で第1の選択可能な状態に設定されたビットの数と比較して比較を行う請求項21に記載の方法。
  23. データメモリから最大のエラー無しデータを回復するように、操作上有利な数を決定する請求項21又は22に記載の方法。
  24. 下式の関数:
    w=f(h, Pc, D, d)
    ここで、wは、付勢すべきアドレスデコーダの操作上有利な数、hは、第1の選択可能な状態に設定されるデータメモリ内の任意ビットの確率、Dは、各ワードラインが第1の選択可能な状態に設定された数dのビットを有する場合の各ワードライン内のビット数、Pcは、データ記憶装置から正しく回復されたビットの所望確率を示す、を使用して操作上有利な数を決定する請求項23に記載の方法。
  25. 関数は:
    Figure 2005521940
    である請求項24に記載の方法。
  26. 幾つかのデータをエラーと共に回復しながら、最大のエラー無しデータを回復するように、付勢すべきアドレスデコーダの操作上有利な数を決定する請求項21又は22に記載の方法。
  27. 下記の関数:
    w=f(h, D, d)
    ここで、wは、付勢すべきアドレスデコーダの操作上有利な数、hは、第1の選択可能な状態に設定されるデータメモリ内の任意ビットの確率、Dは、各ワードラインが第1の選択可能な状態に設定された数dのビットを有する場合の各ワードライン内のビット数である、を使用して操作上有利な数を決定する請求項26に記載の方法。
  28. 関数は、:
    Figure 2005521940
    である請求項27に記載の方法。
  29. 下式:
    Figure 2005521940
    により与えられるものより小さくなくかつ下式:
    Figure 2005521940
    により与えられるものより大きくない値を有するように操作上有利な数wを設定する請求項21又は22に記載の方法。
  30. 請求項16乃至29の何れか1項の方法による過程をコンピュータに実行させるコンピュータ読出し可能なコード手段を備えたキャリア媒体。
  31. 請求項16乃至請求項29の何れか1項に記載の方法を実施するコンピュータプログラム。
  32. 添付図面の図2乃至図8に示す実質的に前記のメモリ構造。
  33. 添付図面の図2乃至図8に示す実質的に前記のメモリを操作する方法。
  34. 添付図面の図3乃至図5に示す実質的に前記のコンピュータメモリの操作を最適化する方法。
JP2003581025A 2002-03-28 2002-10-14 デジタルメモリ Expired - Fee Related JP4209335B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB0207372.4A GB0207372D0 (en) 2002-03-28 2002-03-28 Digital memory
PCT/GB2002/004650 WO2003083669A2 (en) 2002-03-28 2002-10-14 Inexact addressable digital memory

Publications (2)

Publication Number Publication Date
JP2005521940A true JP2005521940A (ja) 2005-07-21
JP4209335B2 JP4209335B2 (ja) 2009-01-14

Family

ID=9933933

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003581025A Expired - Fee Related JP4209335B2 (ja) 2002-03-28 2002-10-14 デジタルメモリ

Country Status (10)

Country Link
US (1) US7512572B2 (ja)
EP (1) EP1488425B1 (ja)
JP (1) JP4209335B2 (ja)
AT (1) ATE332564T1 (ja)
AU (1) AU2002330642B2 (ja)
CA (1) CA2479944C (ja)
DE (1) DE60213007T2 (ja)
ES (1) ES2268084T3 (ja)
GB (1) GB0207372D0 (ja)
WO (1) WO2003083669A2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0524126D0 (en) * 2005-11-26 2006-01-04 Cogniscience Ltd Data transmission method
WO2008021554A2 (en) * 2006-08-18 2008-02-21 Board Of Supervisors Of Louisiana State University And Agricultural And Mechanical College A configurable decoder with applications in fpgas
US20100114760A1 (en) * 2008-08-04 2010-05-06 Raj Sundarasen Online interactive issued account acquired transaction information management
US8473439B2 (en) 2010-12-08 2013-06-25 International Business Machines Corporation Integrate and fire electronic neurons
US8812414B2 (en) 2011-05-31 2014-08-19 International Business Machines Corporation Low-power event-driven neural computing architecture in neural networks
US8909576B2 (en) 2011-09-16 2014-12-09 International Business Machines Corporation Neuromorphic event-driven neural computing architecture in a scalable neural network
US8891872B2 (en) 2011-12-16 2014-11-18 General Electric Company System and method for identifying physical markings on objects
US9235499B2 (en) 2011-12-16 2016-01-12 General Electric Company System and method for identifying a character-of-interest
US9558443B2 (en) 2013-08-02 2017-01-31 International Business Machines Corporation Dual deterministic and stochastic neurosynaptic core circuit
EP3089080A1 (en) * 2015-04-27 2016-11-02 Universität Zürich Networks and hierarchical routing fabrics with heterogeneous memory structures for scalable event-driven computing systems
US10169701B2 (en) * 2015-05-26 2019-01-01 International Business Machines Corporation Neuron peripheral circuits for neuromorphic synaptic memory array based on neuron models
TWI653584B (zh) * 2017-09-15 2019-03-11 中原大學 利用非揮發性記憶體完成類神經網路訓練的方法
WO2023041919A1 (en) * 2021-09-17 2023-03-23 The University Of Manchester Computer memory

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5113507A (en) 1988-10-20 1992-05-12 Universities Space Research Association Method and apparatus for a sparse distributed memory system
US5829009A (en) 1993-01-07 1998-10-27 Texas Instruments Incorporated Method and device for storing and recalling information implementing a kanerva memory system
US5390139A (en) 1993-05-28 1995-02-14 Texas Instruments Incorporated Devices, systems and methods for implementing a Kanerva memory
US5457408A (en) * 1994-11-23 1995-10-10 At&T Corp. Method and apparatus for verifying whether a bitstream received by a field programmable gate array (FPGA) is intended for that FPGA
EP0876681B1 (de) * 1996-01-25 2000-06-28 Siemens Aktiengesellschaft Halbleiterneuron mit variablen eingangsgewichten
US6226710B1 (en) * 1997-11-14 2001-05-01 Utmc Microelectronic Systems Inc. Content addressable memory (CAM) engine
FI107767B (fi) * 1998-05-26 2001-09-28 Nokia Mobile Phones Ltd Menetelmä ja järjestely konvoluutiodekoodauksen toteuttamiseksi
US6460112B1 (en) * 1999-02-23 2002-10-01 Netlogic Microsystems, Llc Method and apparatus for determining a longest prefix match in a content addressable memory device
US7043673B1 (en) * 2001-08-03 2006-05-09 Netlogic Microsystems, Inc. Content addressable memory with priority-biased error detection sequencing
US6597595B1 (en) * 2001-08-03 2003-07-22 Netlogic Microsystems, Inc. Content addressable memory with error detection signaling

Also Published As

Publication number Publication date
ATE332564T1 (de) 2006-07-15
WO2003083669A3 (en) 2003-12-31
AU2002330642A1 (en) 2003-10-13
EP1488425B1 (en) 2006-07-05
US7512572B2 (en) 2009-03-31
DE60213007T2 (de) 2007-02-08
WO2003083669A2 (en) 2003-10-09
DE60213007D1 (de) 2006-08-17
US20050281116A1 (en) 2005-12-22
JP4209335B2 (ja) 2009-01-14
CA2479944A1 (en) 2003-10-09
CA2479944C (en) 2013-04-23
AU2002330642B2 (en) 2008-12-04
ES2268084T3 (es) 2007-03-16
GB0207372D0 (en) 2002-05-08
EP1488425A2 (en) 2004-12-22

Similar Documents

Publication Publication Date Title
JP4209335B2 (ja) デジタルメモリ
US7502254B2 (en) Method for generating soft bits in flash memories
CN101685672B (zh) 在多级单元闪存装置中使用的最低有效位页恢复方法
JP5367835B2 (ja) 不揮発性メモリにおけるデータ・エラー回復
US7783955B2 (en) Method for implementing error-correction codes in flash memory
US8468424B2 (en) Method for decoding data in non-volatile storage using reliability metrics based on multiple reads
JP5620973B2 (ja) アナログメモリセルにおける最適スレッシュホールドのサーチ
US11189358B2 (en) Method of controlling operation of nonvolatile memory device using machine learning and storage system
US20130283128A1 (en) Operating Method of Controller Controlling Nonvolatile Memory Device and Mapping Pattern Selecting Method of Selecting Mapping Pattern Mapping Polar Coded Code Word with Multi Bit Data of Nonvolatile Memory Device
CN105144302A (zh) 存储器装置中的错误校正操作
US11436482B2 (en) Storing neural net works and weights for neural networks
JP2004282737A (ja) 記憶媒体から検索されたデータを検証する方法およびシステム、ならびにコンピュータ可読記憶媒体
KR102631407B1 (ko) Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법
US9507662B2 (en) Expanded error correction codes
CN102142282B (zh) 一种NANDFlash存储芯片ECC校验算法的识别方法
JP2021111826A (ja) 復号装置及び復号方法
US10998920B1 (en) Overcoming saturated syndrome condition in estimating number of readout errors
US20060236044A1 (en) Method and system for enhancing the endurance of memory cells
TWI479317B (zh) Memory system
Furber et al. Sparse distributed memory using rank-order neural codes
KR20160075001A (ko) 플래시 메모리 시스템 동작 방법
US11621048B2 (en) Positioning read thresholds in a nonvolatile memory based on successful decoding
US11874736B2 (en) Calculating soft metrics depending on threshold voltages of memory cells in multiple neighbor word lines
CN110391815B (zh) 解码方法及储存控制器
JP2017055254A (ja) データ復元回路、半導体記憶装置およびデータ復元方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050930

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080613

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080912

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081009

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081022

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111031

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121031

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131031

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees