TOP > 国内特許検索 > 半導体連想メモリ > 明細書

明細書 :半導体連想メモリ

発行国 日本国特許庁(JP)
公報種別 特許公報(B2)
特許番号 特許第3731046号 (P3731046)
公開番号 特開2002-288985 (P2002-288985A)
登録日 平成17年10月21日(2005.10.21)
発行日 平成18年1月5日(2006.1.5)
公開日 平成14年10月4日(2002.10.4)
発明の名称または考案の名称 半導体連想メモリ
国際特許分類 G11C  15/04        (2006.01)
FI G11C 15/04 631F
G11C 15/04 631W
G11C 15/04 C
請求項の数または発明の数 18
全頁数 22
出願番号 特願2002-008783 (P2002-008783)
出願日 平成14年1月17日(2002.1.17)
優先権出願番号 2001011760
優先日 平成13年1月19日(2001.1.19)
優先権主張国 日本国(JP)
審査請求日 平成14年1月17日(2002.1.17)
特許権者または実用新案権者 【識別番号】504136568
【氏名又は名称】国立大学法人広島大学
発明者または考案者 【氏名】マタウシュ・ハンスユルゲン
【氏名】行天 隆幸
個別代理人の代理人 【識別番号】100058479、【弁理士】、【氏名又は名称】鈴江 武彦
【識別番号】100091351、【弁理士】、【氏名又は名称】河野 哲
【識別番号】100088683、【弁理士】、【氏名又は名称】中村 誠
【識別番号】100108855、【弁理士】、【氏名又は名称】蔵田 昌俊
【識別番号】100075672、【弁理士】、【氏名又は名称】峰 隆司
【識別番号】100109830、【弁理士】、【氏名又は名称】福原 淑弘
【識別番号】100084618、【弁理士】、【氏名又は名称】村松 貞男
【識別番号】100092196、【弁理士】、【氏名又は名称】橋本 良郎
審査官 【審査官】小松 正
参考文献・文献 特表平10-503317(JP,A)
特開平07-271816(JP,A)
調査した分野 G11C 15/04
特許請求の範囲 【請求項1】
R行、W列に配列された各kビット(R、W、kは自然数)のユニット蓄積器と、
前記ユニット蓄積器にストアされた各kビットのユニットがW個配列されてなるW×kビットの入力データ及び参照データをワード長kビットのユニットごとに比較するR行、W列に配列されたユニット比較器と、
前記ユニット比較器からの各行の出力データに対してビットごとに重み付けするワード重み付け比較器と、
R行のロウデコーダと、
W×k列のカラムデコーダと、
を含むメモリアレイを具備し、
前記入力データによる前記参照データの検索がハミング距離を用いて行われ、
前記ユニット蓄積器はSRAM型メモリセルからなり、
前記ユニット比較器は、前記SRAM型メモリセルを構成するラッチ回路の相補型出力部にそれぞれ接続された2入力EXOR回路又は2入力EXNOR回路からなり、
前記ワード重み付け比較器は、前記2入力EXOR回路又は前記2入力EXNOR回路の出力部に接続された各1個のトランジスタ又は互いに直列接続された各2個のトランジスタからなり、
前記ワード重み付け比較器における出力データの重み付けは、前記ワード重み付け比較器を構成する前記各1個のトランジスタ又は前記互いに直列接続された各2個のトランジスタのいずれか1つのゲート幅とゲート長の比の値を前記重み付けに応じて選択することによりなされることを特徴とする半導体連想メモリ。
【請求項2】
前記メモリアレイにおける前記ユニットは、バイナリコードデータから構成され、前記ユニットのビット数kは、k=1であることを特徴とする請求項1記載の半導体連想メモリ。
【請求項3】
R行、W列に配列された各kビット(R、W、kは自然数)のユニット蓄積器と、
前記ユニット蓄積器にストアされた各kビットのユニットがW個配列されてなるW×kビットの入力データ及び参照データをワード長kビットのユニットごとに比較するR行、W列に配列されたユニット比較器と、
前記ユニット比較器からの各行の出力データに対してビットごとに重み付けするワード重み付け比較器と、
R行のロウデコーダと、
W×k列のカラムデコーダと、
を含むメモリアレイを具備し、
前記入力データによる前記参照データの検索がマンハッタン距離を用いて行われ、
前記ユニット蓄積器は、k(>1)ビットの相補型入力部及び相補型出力部を備え、
前記ユニット比較器は、前記相補型出力部の出力信号を前記相補型入力部の入力信号から減算して減算結果の絶対値を計算する機能を備え、
前記ワード重み付け比較器は、前記ユニット比較器の出力部に接続された各1個のトランジスタ又は互いに直列接続された各2個のトランジスタからなり、
前記ワード重み付け比較器における出力データの重み付けは、前記ワード重み付け比較器を構成する前記各1個のトランジスタ又は前記互いに直列接続された各2個のトランジスタのいずれか1つのゲート幅とゲート長の比の値を前記重み付けに応じて選択することによりなされることを特徴とする半導体連想メモリ。
【請求項4】
前記メモリアレイにおける前記ユニットは、バイナリコードデータから構成され、前記ユニットのビット数kは、k>1であることを特徴とする請求項記載の半導体連想メモリ。
【請求項5】
前記半導体連想メモリは、前記メモリアレイの各行に接続されたウィンナ・ラインアップ増幅器を備え、前記ウィンナ・ラインアップ増幅器は、
ウィンナ/ルーザ距離増幅ユニットと、
前記ウィンナ/ルーザ距離増幅ユニットに含まれるフィードバック信号生成部と、
前記フィードバック信号生成部から出力されたフィードバック信号を用いて前記ワード重み付け比較器の比較信号を前記ウィンナ/ルーザ距離増幅ユニットの増幅度が最大になるように制御する比較信号制御ユニットと、
フィードバック信号をコード化することにより、ウィンナの一致の質を出力するフィードバック信号コード化部と、
を具備することを特徴とする請求項1乃至4のいずれか1つに記載の半導体連想メモリ。
【請求項6】
R行、W列に配列された各kビット(R、W、kは自然数)のユニット蓄積器と、
前記ユニット蓄積器にストアされた各kビットのユニットがW個配列されてなるW×kビットの入力データ及び参照データをワード長kビットのユニットごとに比較するR行、W列に配列されたユニット比較器と、
前記ユニット比較器からの各行の出力データに対してビットごとに重み付けするワード重み付け比較器と、
R行のロウデコーダと、
W×k列のカラムデコーダと、
を含むメモリアレイを具備し、
前記半導体連想メモリは、前記メモリアレイの各行に接続されたウィンナ・ラインアップ増幅器を備え、前記ウィンナ・ラインアップ増幅器は、
ウィンナ/ルーザ距離増幅ユニットと、
前記ウィンナ/ルーザ距離増幅ユニットに含まれるフィードバック信号生成部と、
前記フィードバック信号生成部から出力されたフィードバック信号を用いて前記ワード重み付け比較器の比較信号を前記ウィンナ/ルーザ距離増幅ユニットの増幅度が最大になるように制御する比較信号制御ユニットと、
フィードバック信号をコード化することにより、ウィンナの一致の質を出力するフィードバック信号コード化部と、
を具備することを特徴とする半導体連想メモリ。
【請求項7】
前記ウィンナ/ルーザ距離増幅ユニットは、前記メモリアレイの各行に設けられた、プッシュプル増幅回路及び非反転/反転イネーブル信号を受ける2個のトランジスタ及び補償容量からなり、
前記フィードバック信号生成部は、前記プッシュプル増幅回路の出力をゲートに受ける前記メモリアレイの各行に設けられたソースフォロワ型プルダウントランジスタ、及び前記各プルダウントランジスタと直列に接続された前記メモリアレイの全ての行に共通のプルアップトランジスタからなり、
前記比較信号制御ユニットは、前記メモリアレイの各行に設けられた、前記ワード重み付け比較器からの出力信号電流を制御するパストランジスタ及び前記出力信号電流を中間電位に変換するソースフォロワ型プルアップトランジスタからなり、
前記ソースフォロワ型プルアップトランジスタのゲートには前記フィードバック信号が入力され、前記パストランジスタのゲートには前記イネーブル信号が入力されることを特徴とする請求項6記載の半導体連想メモリ。
【請求項8】
前記ウィンナ/ルーザ距離増幅ユニットは、前記メモリアレイの各行に設けられたカレントミラー型増幅回路と補償容量からなり、
前記フィードバック信号生成部は、高速動作するMin/Max型回路からなり、
前記比較信号制御ユニットは、前記ワード重み付け比較器からの出力信号電流を中間電位に変換するソースフォロワ型プルアップトランジスタと、前記フィードバック信号の電圧レベルをシフトして前記シフトされたフィードバック信号を前記ワード重み付け比較器の各1個のトランジスタのソースにそれぞれ入力するレベルシフタからなることを特徴とする請求項6記載の半導体連想メモリ。
【請求項9】
前記半導体連想メモリは、前記メモリアレイの各行ごとに接続されたウィンナ・テイクオール回路をさらに備え、前記ウィンナ・テイクオール回路は、
所要の際にのみ構成されるレベルシフタと、
前記ウィンナ/ルーザ距離増幅ユニットのウィンナ/ルーザ距離出力信号をさらに増幅するためのn段(nは1以上の整数)のウィンナ・テイクオール増幅回路と、
前記ウィンナ・テイクオール増幅回路のn段目の出力部に接続された最終決定回路と、
を具備することを特徴とする請求項6乃至8のいずれか1つに記載の半導体連想メモリ。
【請求項10】
前記半導体連想メモリは、前記メモリアレイの各行に接続されたウィンナ・テイクオール回路をさらに備え、
前記ウィンナ・テイクオール回路は、レベルシフタと1段のウィンナ・テイクオール増幅回路からなり、
前記レベルシフタは、前記1段のウィンナ・テイクオール増幅回路の増幅度が最大になるように前記ウィンナ・ルーザ距離増幅ユニットの出力信号電圧のレベルをシフトし、
前記1段のウィンナ・テイクオール増幅回路は、前記シフトされた出力信号電圧を前記増幅回路の電流変化に変換するトランジスタと、前記増幅回路の電流変化をさらに前記1段のウィンナ・テイクオール増幅回路の出力信号電圧に変換するトランジスタとを含み、
前記1段のウィンナ・テイクオール増幅回路は、その出力部に設けられた、前記1段のウィンナ・テイクオール増幅回路の出力信号電圧に適合するようにスイッチングしきい値電圧が設定されたインバータからなる最終決定回路を具備することを特徴とする請求項6乃至8のいずれか1つに記載の半導体連想メモリ。
【請求項11】
前記半導体連想メモリは、前記メモリアレイの各行に接続されたウィンナ・テイクオール回路をさらに備え、
前記ウィンナ・テイクオール回路は、レベルシフタ、及びn段(nは2以上の整数)のウィンナ・テイクオール増幅回路を含み、
前記レベルシフタは、1段目のウィンナ・テイクオール増幅回路の増幅度が最大になるように前記ウィンナ・ルーザ距離増幅ユニットの出力信号電圧のレベルをシフトし、
前記1段目のウィンナ・テイクオール増幅回路は、前記シフトされた出力信号電圧を前記増幅回路の電流変化に変換するトランジスタ、及び前記増幅回路の電流変化をさらに前記1段目のウィンナ・テイクオール増幅回路の出力信号電圧に変換するトランジスタからなり、
i段目(iは1以上、n以下の整数)のウィンナ・テイクオール増幅回路は、前記i段目のウィンナ・テイクオール増幅回路の出力信号電圧を前記増幅回路の電流変化に変換するトランジスタ、及び前記増幅回路の電流変化をさらに前記i段目のウィンナ・テイクオール増幅回路の出力信号電圧に変換するトランジスタを含み、
n段目のウィンナ・テイクオール増幅回路は、その出力部に設けられた、前記n段目のウィンナ・テイクオール増幅回路の出力信号電圧に適合するようにスイッチングのしきい値電圧が設定されたインバータからなる最終決定回路を具備することを特徴とする請求項6乃至8のいずれか1つに記載の半導体連想メモリ。
【請求項12】
R行、W列に配列された各kビット(R、W、kは自然数)のユニット蓄積器、及び前記ユニット蓄積器にストアされた各kビットのユニットがW個配列されてなるW×kビットの入力データと参照データとをワード長kビットを単位として比較するR行、W列に配列されたユニット比較器、及び前記ユニット比較器から各行の出力データに対してビットごとに重み付けするワード重み付け比較器、及びR行のロウデコーダ、及びW×k列のカラムデコーダからなるメモリアレイと、
ウィンナ/ルーザ距離増幅ユニット、及び前記ウィンナ/ルーザ距離増幅ユニットに含まれるフィードバック信号生成部、及び前記フィードバック信号生成部から出力されたフィードバック信号を用いて前記ワード重み付け比較器の比較信号を前記ウィンナ/ルーザ距離増幅ユニットの増幅度が最大になるように制御する比較信号制御ユニット、及びフィードバック信号をコーディングすることによりウィンナの一致の質を出力するフィードバック信号符号化部からなる前記メモリアレイの各行に接続されたウィンナ・ラインアップ増幅器と、
所要の際にのみ構成されるレベルシフタ、及び前記ウィンナ/ルーザ距離増幅ユニットのウィンナ/ルーザ距離出力信号を増幅するためのn段(nは正の整数)のウィンナ・テイクオール増幅回路、及び前記ウィンナ・テイクオール増幅回路のn段目の出力部に接続された最終決定回路を具備する前記メモリアレイの各行に接続されたウィンナ・テイクオール回路と、
からなり、
前記フィードバック信号は、前記ワード重み付け比較器を構成する各1個のトランジスタのソース、又は前記ワード重み付け比較器を構成する互いに直列接続された各2個のトランジスタのいずれか1つのゲートに入力されることを特徴とする半導体連想メモリ。
【請求項13】
前記ワード重み付け比較器を構成する各1個のトランジスタ、又は前記ワード重み付け比較器を構成する互いに直列接続された各2個のトランジスタの導電型が反転され、
前記ウィンナ/ルーザ距離増幅ユニット及び前記フィードバック信号生成部をそれぞれ構成するトランジスタの導電型を反転し、前記ウィンナ/ルーザ距離増幅ユニット及び前記フィードバック信号生成部のイネーブル信号の極性を反転し、前記ウィンナ・テイクオール回路を構成するトランジスタの導電型を反転し、かつ、前記ウィンナ/ルーザ距離増幅ユニット及び前記フィードバック信号生成部及び前記ウィンナ・テイクオール回路の電源端子と接地端子がそれぞれ入れ替えられることを特徴とする請求項12記載の半導体連想メモリ。
【請求項14】
前記ウィンナ・ラインアップ増幅器、及び前記ウィンナ・テイクオール回路を構成するトランジスタ数は、前記メモリ領域の行数Rに比例することを特徴とする請求項12記載の半導体連想メモリ。
【請求項15】
R行、W列に配列された各kビット(R、W、kは自然数)のユニット蓄積器と、
前記ユニット蓄積器にストアされた各kビットのユニットがW個配列されてなるW×kビットの入力データ及び参照データをワード長kビットのユニットごとに比較するR行、W列に配列されたユニット比較器と、
前記ユニット比較器からの各行の出力データに対してビットごとに重み付けしてアナログ信号を出力するワード重み付け比較器と、
R行のロウデコーダと、
W×k列のカラムデコーダと、
を含むメモリアレイからなることを特徴とする半導体連想メモリ。
【請求項16】
前記メモリアレイにおける前記ユニットは、バイナリコードデータから構成され、前記ユニットのビット数kは、前記入力データによる参照データの検索にハミング距離を用いる場合にはk=1であり、マンハッタン距離を用いる場合にはk>1であることを特徴とする請求項15記載の半導体連想メモリ。
【請求項17】
前記入力データによる前記参照データの検索がハミング距離を用いて行われ、
前記ユニット蓄積器はSRAM型メモリセルからなり、
前記ユニット比較器は、前記SRAM型メモリセルを構成するラッチ回路の相補型出力部にそれぞれ接続された2入力EXOR回路又は2入力EXNOR回路からなり、
前記ワード重み付け比較器は、前記2入力EXOR回路又は前記2入力EXNOR回路の出力部に接続された各1個のトランジスタ又は互いに直列接続された各2個のトランジスタからなることを特徴とする請求項15記載の半導体連想メモリ。
【請求項18】
前記入力データによる前記参照データの検索がマンハッタン距離を用いて行われ、
前記ユニット蓄積器は、k(>1)ビットの相補型入力部及び相補型出力部を備え、
前記ユニット比較器は、前記相補型出力部の出力信号を前記相補型入力部の入力信号から減算して減算結果の絶対値を計算する機能を備え、
前記ワード重み付け比較器は、前記ユニット比較器の出力部に接続された各1個のトランジスタ又は互いに直列接続された各2個のトランジスタからなることを特徴とする請求項15記載の半導体連想メモリ。
発明の詳細な説明 【0001】
【発明の属する技術分野】
本発明は連想メモリに係り、特に最小距離検索機能が優れた高速・並列の小面積連想メモリであって、人工知能システム、データバンクシステム、及び移動ネットワーク端末等に使用されるものである。
【0002】
【従来の技術】
従来、連想メモリは、ビット長kのユニットW個で構成される入力データと、同様にビット長kのユニットW個で構成されるR個の参照データとの間で、「最も類似したデータ」を検索することにより動作する。このように、連想メモリは、記憶されている参照データと外部より入力される検索データ(マッチデータ)とを比較して最も類似したデータを明らかにするために比較ビットを発生する機能を備えている。
【0003】
ここで、「最も類似したデータ」とは、距離と呼ばれる尺度が最小になるものと定義されている。このような距離の尺度として、従来「ハミング距離」(“Hamming distance”)と「マッハンタン距離」(“Manhattan distance”)が最もよく知られている。「ハミング距離」はデータ列や音声認識又は白黒の2値画像等に用いられ、「マンハッタン距離」はカラー画像又はグレイスケールの画像等に用いられる。
【0004】
入力データ又は参照データにおけるユニットのビット長が1ビット(k=1)であれば、ハミング距離が適用される。すなわち、ハミング距離は比較される2個のデータ間における互いに異なるビットの数として定義される。
【0005】
一方、入力データ又は参照データが、例えばXin={x1,x2,x3,…,xW}とYref={y1,y2,y3,…,yW}等のコード化された数からなるユニットで構成される場合には、マンハッタン距離が適用される。このとき、2個のデータ間のマンハッタン距離は次式のように定義される。
【0006】
【数1】
JP0003731046B2_000002t.gif【0007】
従来、「最も類似したデータ」(以下ウィンナと呼ぶ)を検索するため、基本的には次のような方法が用いられてきた。すなわち、
(a)アナログニューラルネットワークを用いるもの(H. P. Graf and L. D. Jackel, “Analog Electronic Neural Network Circuits”, IEEE Circuits and Device Mag., 5 pp. 44, 1989)、
(b)複数のSRAM及び分割されたディジタル方式の検索回路を用いるもの(A. Nakada et al.,“A Fully Parallel Vector-Quantization Processor for Real-Time Motion Picture Compression”, IEEE Journ. Solid-State Circuits, vol. 34, pp. 822-830, 1999; T. Nozawa et al.,“A Parallel Vector Quantization Processor Eliminating Redundant Calculations for Real-time Motion Picture Compression”, ISSCC Digest of Tech. Papers, pp. 234-235, 2000)、
(c)ソースフォロアを構成するMOSトランジスタを用いたアナログ・ウィンナ・テイクオール回路(Analog Winner Take-All circuit; WTA circuit)を用いるもの(S. M. S. Jalaleddine and L. G. Johnson, “Associative IC Memories with Relational Search and Nearest-Match Capabilities”, IEEE Journ. Solid-State Circuits, vol. 27, pp. 892-900, 1992)、
等が知られている。
【0008】
しかし、これらの方法には次のような問題がある。すなわち、検索回路の回路規模がR2のオーダ(O(R2))又はR*Wのオーダ(O(R*W))で増加するので、チップ内における占有面積が増加すること(上記(a)項、(b)項の引用文献参照)、さらに検索に要する時間が長くなること(約1μsec)、また、小さいWまでしか検索できないこと(上記(c)項の引用文献参照)等の問題が指摘されてきた。
【0009】
このように、従来、連想メモリを用いた人工知能システムは、面積効率の高いハードウエアを実現することが不可能に近い状況であったため、複雑なソフトウェアを用いて高性能なコンピュータ上に構築されるのが一般的であった。
【0010】
また、ビデオ信号によるコミュニケーションが可能な移動端末はいまだに存在しない。その理由は、例えばMPEG等の画像データ圧縮法を用いれば、送受信端末として膨大なハードウェアを要するからである。これに対して連想メモリではコードブックに基づくデータ圧縮法を用いることができる(A. Nakada et al.,“A Fully Parallel Vector-Quantization Processor for Real-Time Motion Picture Compression”, IEEE Journ. Solid-State Circuits, vol. 34, pp. 822-830, 1999)。
【0011】
この方法では、先ず一連のデータが所定のビット数のブロックに分割され、次に、連想メモリの機能を用いて、コードブックの中で最も類似したベストマッチブロックが決定され、最終的にはただ1つのブロックの識別名が受信側に伝達される。このようにして伝達されたデータは、コードブックから再構成される。従って、受信側は極めて簡単な構造で実現することができる。
【0012】
この技術は、特にビデオ映像信号の伝達に適合しており、ベクトル量子化と呼ばれている。本発明の連想メモリは、コンパクトな複数のチップ又は1チップのみで移動通信端末でのビデオ映像の帯域圧縮や人工知能システム、データバンクシステム等の分野で先行使用されるものである。
【0013】
【発明が解決しようとする課題】
上記したように、従来のウィンナの検索方法には、入力データのユニット数Wや、参照データの数Rが大きくなれば検索回路の回路規模がいちじるしく増加し、このためチップの所要面積がいちじるしく増加し、検索に要する時間がR2に比例して長くなるという問題があった。
【0014】
本発明は上記の問題点を解決すべくなされたものでR2に比例する回路数の増加を回避し、この増加をRに比例するように抑制してチップ面積の小さい検索回路を備えた高速・並列検索が可能な連想メモリを提供し、携帯機器を含む移動通信やビデオ映像の帯域圧縮、人工知能等の分野に適用することを目的とする。
【0015】
【課題を解決するための手段】
本発明の最小距離の検索機能に優れた高速・並列の連想メモリは、入力データのユニット数Wや、参照データの数Rが大きくなっても回路のいちじるしい増加が抑制され、チップ面積が小さく高速検索が可能なCMOS回路により形成された連想メモリを提供することを特徴とする。
【0016】
具体的には本発明の連想メモリは、R行、W列に配列された各kビット(R、W、kは自然数)のユニット蓄積器と、前記ユニット蓄積器にストアされた各kビットのユニットがW個配列されてなるW×kビットの入力データ及び参照データをワード長kビットのユニットごとに比較するR行、W列に配列されたユニット比較器と、前記ユニット比較器から各行出力データに対してビットごとに重み付けするワード重み付け比較器と、R行のロウデコーダと、W×k列のカラムデコーダとを含むメモリアレイからなることを特徴とする。
【0017】
好ましくはメモリアレイにおけるユニットは、バイナリコードデータから構成され、ユニットのビット数kは、入力データにマッチする参照データの検索にハミング距離を用いる場合にはk=1であり、マンハッタン距離を用いる場合にはk>1であることを特徴とする。
【0018】
また、好ましくは入力データによる参照データの検索がハミング距離を用いて行われる場合において、ユニット蓄積器はSRAM型メモリセルからなり、ユニット比較器は、SRAM型メモリセルを構成するラッチ回路の相補型出力部にそれぞれ接続された2入力EXOR回路又は2入力EXNOR回路からなり、ワード重み付け比較器は、2入力EXOR回路又は2入力EXNOR回路の出力部に接続された各1個のトランジスタ又は互いに直列接続された各2個のトランジスタからなることを特徴とする。
【0019】
また、好ましくは入力データによる参照データの検索がマンハッタン距離を用いて行われる場合において、ユニット蓄積器は、k(>1)ビットの相補型入力部及び相補型出力部を備え、ユニット比較器は、相補型出力部の出力信号を相補型入力部の入力信号から減算して減算結果の絶対値を計算する機能を備え、ワード重み付け比較器は、ユニット比較器の出力部に接続された各1個のトランジスタ又は互いに直列接続された各2個のトランジスタからなることを特徴とする。
【0020】
また、好ましくはワード重み付け比較器における出力データの重み付けは、ワード重み付け比較器を構成する各1個のトランジスタ又は互いに直列接続された各2個のトランジスタのいずれか1つのゲート幅とゲート長の比の値を重み付けに応じて選択することによりなされることを特徴とする。
【0021】
また、好ましくは本発明の半導体連想メモリは、メモリアレイの各行に接続されたウィンナ・ラインアップ増幅器を備え、ウィンナ・ラインアップ増幅器は、ウィンナ/ルーザ距離増幅ユニットと、ウィンナ/ルーザ距離増幅ユニットに含まれるフィードバック信号生成部と、フィードバック信号生成部から出力されたフィードバック信号を用いてW行の各ワード重み付け比較器の比較信号をウィンナ/ルーザ距離増幅ユニットの増幅度が最大になるように制御する比較信号制御ユニットと、フィードバック信号をコード化することにより、ウィンナの一致の質を出力するフィードバック信号コード化部とをさらに具備することを特徴とする。
【0022】
また、好ましくはウィンナ/ルーザ距離増幅ユニットは、フィードバック信号生成部と同様に、メモリアレイの各行に設けられたプッシュプル増幅回路及び非反転/反転イネーブル信号を受ける2個のトランジスタ及び補償容量からなり、フィードバック信号生成部は、プッシュプル増幅回路の出力をゲートに受けるメモリアレイの各行に設けられたソースフォロワ型プルダウントランジスタ、及び各プルダウントランジスタと直列に接続されたメモリアレイの全ての行に共通のプルアップトランジスタからなり、さらに好ましくは比較信号制御ユニットは、メモリアレイの各行に設けられた、ワード重み付け比較器からの出力信号電流を制御するパストランジスタ及び出力信号電流を中間電位に変換するソースフォロワ型プルアップトランジスタからなり、ソースフォロワ型プルアップトランジスタのゲートにはフィードバック信号が入力され、パストランジスタのゲートにはイネーブル信号が入力されることを特徴とする。
【0023】
また、好ましくはウィンナ/ルーザ距離増幅ユニットは高速動作するMin/Max型回路を含むフィードバック信号生成部と同様にメモリアレイの各行に設けられたカレントミラー型増幅回路と補償容量からなり、さらに好ましくは比較信号制御ユニットは、ワード重み付け比較器からの出力信号電流を中間電位に変換するソースフォロワ型プルアップトランジスタと、フィードバック信号の電圧レベルをシフトしてシフトされたフィードバック信号をワード重み付け比較器の各1個のトランジスタのソースにそれぞれ入力するレベルシフタからなることを特徴とする。
【0024】
また、好ましくは本発明の半導体連想メモリは、メモリアレイの各行ごとに接続されたウィンナ・テイクオール回路をさらに備え、ウィンナ・テイクオール回路は、所要の際にのみ構成されるレベルシフタと、ウィンナ/ルーザ距離増幅ユニットのウィンナ/ルーザ距離出力信号をさらに増幅するためのn段(nは1以上の整数)のウィンナ・テイクオール増幅回路と、ウィンナ・テイクオール増幅回路のn段目の出力部に接続された最終決定回路とを具備することを特徴とする。
【0025】
また、好ましくは本発明の半導体連想メモリは、メモリアレイの各行に接続されたウィンナ・テイクオール回路をさらに備え、ウィンナ・テイクオール回路は、レベルシフタと1段のウィンナ・テイクオール増幅回路からなり、レベルシフタは、1段のウィンナ・テイクオール増幅回路の増幅度が最大になるようにウィンナ・ルーザ距離増幅ユニットの出力信号電圧のレベルをシフトし、1段のウィンナ・テイクオール増幅回路は、レベルシフタの出力信号電圧を増幅回路の電流変化に変換するトランジスタと、増幅回路の電流変化をさらに1段のウィンナ・テイクオール増幅回路の出力信号電圧に変換するトランジスタとを含み、1段のウィンナ・テイクオール増幅回路は、その出力部に設けられた、1段のウィンナ・テイクオール増幅回路の出力信号電圧に適合するようにスイッチングしきい値電圧が設定されたインバータからなる最終決定回路を具備することを特徴とする。
【0026】
また、好ましくは本発明の半導体連想メモリは、前記メモリアレイの各行に接続されたウィンナ・テイクオール回路をさらに備え、ウィンナ・テイクオール回路は、レベルシフタ、及びn段(nは2以上の整数)のウィンナ・テイクオール増幅回路を含み、レベルシフタは、1段目のウィンナ・テイクオール増幅回路の増幅度が最大になるように前記ウィンナ・ルーザ距離増幅ユニットの出力信号電圧のレベルをシフトし、1段目のウィンナ・テイクオール増幅回路は、レベルシフタの出力信号電圧を増幅回路の電流変化に変換するトランジスタ、及び増幅回路の電流変化をさらに1段目のウィンナ・テイクオール増幅回路の出力信号電圧に変換するトランジスタからなり、i段目(iは1以上、n以下の整数)のウィンナ・テイクオール増幅回路は、i段目のウィンナ・テイクオール増幅回路の出力信号電圧をi段目のウィンナ・テイクオール増幅回路の増幅回路の電流変化に変換するトランジスタ、及びi段目のウィンナ・テイクオール増幅回路の増幅回路の電流変化をさらにi段目のウィンナ・テイクオール増幅回路の出力信号電圧に変換するトランジスタを含み、n段目のウィンナ・テイクオール増幅回路は、その出力部に設けられたn段目のウィンナ・テイクオール増幅回路の出力信号電圧に適合するようにスイッチングのしきい値電圧が設定されたインバータからなる最終決定回路を具備することを特徴とする。
【0027】
また、好ましくはフィードバック信号は、ワード重み付け比較器を構成する各1個のトランジスタのソース、又はワード重み付け比較器を構成する互いに直列接続された各2個のトランジスタのいずれか1つのゲートに入力されることを特徴とする。
【0028】
また、好ましくはワード重み付け比較器を構成する各1個のトランジスタ、又はワード重み付け比較器を構成する互いに直列接続された各2個のトランジスタの導電型が反転される場合において、ウィンナ/ルーザ距離増幅ユニット及びフィードバック信号生成部をそれぞれ構成するトランジスタの導電型を反転し、ウィンナ/ルーザ距離増幅ユニット及びフィードバック信号生成部のイネーブル信号の極性を反転し、ウィンナ・テイクオール回路を構成するトランジスタの導電型を反転し、かつ、ウィンナ/ルーザ距離増幅ユニット及びフィードバック信号生成部及びウィンナ・テイクオール回路の電源端子と接地端子がそれぞれ入れ替えられることを特徴とする。
【0029】
また、好ましくはウィンナ・ラインアップ増幅器、及びウィンナ・テイクオール回路を構成するトランジスタ数は、メモリ領域の行数Rに比例することを特徴とする。
【0030】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
<第1の実施形態>
図1は、本発明の第1の実施形態に係る連想メモリのブロック構成を示す図である。
【0031】
図1に示す連想メモリにおいてメモリアレイ1は集積化されたユニット比較器UCi,j(i=1~R,j=1~W)を備えるR行、W列データのユニット蓄積器USi,j(i=1~R,j=1~W)と、ワード重み付け比較器WWCi(i=1~R)から構成される。各ユニットは、それぞれkビットで構成される。
【0032】
メモリ領域1の左辺にはR行のロウデコーダが接続され、メモリ領域1の上辺には、各kビットのユニットW個からなる入力データの入力部が配置される。また、メモリ領域1の下辺にはW×k列のカラムデコーダが接続され、各ユニット蓄積器ごとに読み出し/書き込みが行われる。
【0033】
ハミング距離が使われる典型的な場合には、k=1となる。また、マンハッタン距離が使われる典型的な場合には、k>1であり、ユニットはコード化されたバイナリデータを表している。ウィンナの選択は、O(R)の2個の機能ブロックにより実行される。
【0034】
その1は、ウィンナ・ラインアップ増幅器(winner line-up amplifier; WLA)2であり、ウィンナとルーザ(以下入力データに類似しない参照データをルーザ(loser)と呼ぶ)の距離の差を最初の増幅段階で最も大きく増幅するために比較信号Ci(i=1~R)のレベルを制御する。
【0035】
その2は、ウィンナ・テイクオール回路(winner take-all circuit; WTA)3であり、WLA 2の出力信号LAi(i=1~R)を入力して一致信号Mi(i=1~R)を出力する。一致信号Miでは、ウィンナ行の信号は“1”であり、その他全ての行の信号は“0”である。なお、WLA 2の入力部には、WWCiの比較信号Ci(i=1~R)が入力され、WLAからはフィードバック信号FがWWCiに返される。
【0036】
以下の実施形態で説明するように、図1に示す連想メモリの高速・並列の最小距離検索機能を実現するため、次の2つの事項に留意して設計が進められた。
【0037】
その1は、図1に示す機能ブロックにおいて、入力データと参照データとを比較し、WWCiの比較信号Ciとして大小の電流を高速に出力する。このため、アナログ原理を用いた高速なWWCiを実現する。
【0038】
これを構成するトランジスタは、例えば入力データと参照データとの間の不一致ビットに対応してオンするようにし、良い一致と悪い一致の相違を電流の大きさに素早く対応させる。
【0039】
その2は、ウィンナ・ラインアップ増幅器WLAの優れた増幅原理を実現する。この回路を用いて検索可能な全ての場合に対し、ウィンナ/ルーザ間の距離の増幅度が全ての可能な場合に対して最大となるように、フィードバック信号を用いてウィンナ行のWWCiの出力レベルを制御する。
【0040】
<第2の実施形態>
次に、図2(a)、図2(b)を用いて、第2の実施形態について説明する。第2の実施形態では、ハミング距離を求めるためのメモリ領域の具体的な回路構成について説明する。
【0041】
ハミング距離を求めるために、nチャネルMOS電界効果トランジスタ(以下nMOSと呼ぶ)及びpチャネルMOS電界効果トランジスタ(以下pMOSと呼ぶ)を用いて、SRAMセルからなる1ビットのユニット蓄積器US(以下USi,jの総称をUSとする)に、1ビットのユニット比較器UC及びワード重み付け比較器WWC(以下UCi,j、WWCiの総称をUC、WWCとする)を集積化した回路が、それぞれ図2(a)、図2(b)に示されている。
【0042】
図2(a)、図2(b)において、USはnMOS Q1、Q2及びインバータI1、I2からなるラッチ回路から構成される、入力データSW(以下SWjの総称をSWとする)及び反転入力データ/SWは、それぞれUSのカラム線及び相補カラム線に入力される。参照データはUSにストアされている。USのnMOS Q1、Q2は、カラム線が新たな参照データのUSへの書き込み、又は参照データのUSからの読み出しに用いられるような、異なる動作モードの時にのみワード線WL(以下WLiの総称をWLとする)で選択される。
【0043】
図2(a)において、UCとWWCの機能は、3個のnMOS Q3、Q4、Q5のみで実現することができる。そのうち、UCを構成する2個のnMOS Q3、Q4は、入力データSW及び/SWとUSにストアされた参照データとを比較し、一致又は不一致のビットを決定するためのEXOR機能を実現するのに用いられ、WWCのnMOS Q5は、EXORの出力を比較信号C(以下Ciの総称をCとする)に寄与させるために用いられる。
【0044】
入力データと参照データが一致すれば、“0”(VSS)に相当する値が入力データSW及び反転入力データ/SWからnMOS Q3、Q4を用いて選択され、Q5のゲートに接続されてWWCのnMOS Q5はオフ状態になる。入力データと参照データが不一致であれば、“1”(VDD)に相当する値が入力データSW及び反転入力データ/SWからnMOS Q3、Q4を用いて選択され、Q5のゲートに接続されてWWCのnMOS Q5はオン状態になる。
【0045】
従って、ウィンナ行(不一致ビットの合計が最も小さい行)では、比較信号Cの信号電流が最小となるので、ハミング距離は、各UCにそれぞれ接続されるWWCのnMOS Q5のゲート幅及びゲート長を全て等しくする(重み付けを等しくする)ことで求められる。このとき、WWCの出力ビットごとにnMOS Q5のゲート幅とゲート長の比を変化すれば、任意の重み付けでウィンナの検索が可能になり、任意の尺度の距離に対応できることはいうまでもない。
【0046】
図2(b)には、UC及びWWCをpMOS Q6、Q7、Q8を用いて構成する例が示されている。この場合にも、入力データと参照データが不一致であればWWCのpMOS Q8はオン状態になり、入力データと参照データが一致すればpMOS Q8はオフ状態になる。
【0047】
<第3の実施形態>
次に、図3を用いて第3の実施形態について説明する 。
【0048】
第3の実施形態では、マンハッタン距離を求めるためのメモリ領域の回路構成について説明する 。
【0049】
図3には、コード化されたバイナリデータ(k>1)を各ユニット蓄積器USに付与することでマンハッタン距離を求めるために、ユニット蓄積器US、ユニット比較器UC、及びワード重み付け比較器WWCを集積化した回路が示されている。図3に示すように、マンハッタン距離を求めるためのUS及びUCは、それぞれkビットの2個のユニットをストアする回路と、ストアされた参照ユニットから入力ユニットを減算し計算結果の絶対値を出力する回路を用いてそれぞれ構成される。
【0050】
kビットユニットのWWC部は、例えばそれぞれk個のpMOS(例えば、Q1,1~Q1,k)で構成される。なお、これらのpMOSのゲート長とゲート幅の割合は、図3に示すように、データを構成するビットの重み(例えば2進数の桁)に対応して選択される。
【0051】
例えば、kビットの第1グループバイナリコードデータについて、USにストアされたkビットの参照データからkビットの入力データSW、/SWを減算した後、最上位ビットに“1”が出力されると、これに対応するpMOS Q1,kがオン状態となり、そのゲート長/ゲート幅の比が2k-10/L0(W0は最下位ビットのゲート幅、L0は最下位ビットのゲート長)に設定されるので、電源電圧VDDから大きな信号電流が流れる。このようにして、最上位ビットから最下位ビットまで、ビットの順位に応じて重み付けされた比較信号Cに寄与する電流を得ることができる。
【0052】
<第4の実施形態>
次に、図4を用いて、第4の実施形態について説明する 。
【0053】
第4の実施形態では、本発明の主要部分をなす連想メモリのウィンナ・ラインアップ増幅器WLA 2のブロック構成について説明する。
【0054】
図4に示すWLA 2は、ワード重み付け比較器WWCiで生成された比較信号Ci(i=1~R)の電流の大きさを電圧信号に変換する機能を備える比較信号制御ユニット(SR)21と、フィードバック信号Fの生成部、及びウィンナ/ルーザ・距離増幅ユニット22と、入力データと参照データの一致の質(ウィンナの距離)を任意にコード化する機能を備える比較器からなるフィードバック信号コード化部23から構成される。
【0055】
ここで発生したフィードバック信号Fは、SR 21、フィードバック信号コード化部23、及び適当であればワード重み付け比較器WWCiにフィードバックされ、連想メモリの検索能力を高める効果がある。なお、EnはWLA 2のイネーブル信号、LAi(i=1~R)はウィンナ/ルーザ・距離増幅ユニットの増幅された出力信号である。
【0056】
<第5の実施形態>
次に、図5を用いて第5の実施の形態について説明する。
第5の実施の形態では、ウィンナ・ラインアップ増幅器WLA 2の簡単な回路構成例について述べる。図5に示す回路規模O(R)のWLA 2は、それぞれ1行当り7個程度のトランジスタで構成される。この場合WWCへのフィードバックはメモリ領域の面積を最小にするため使用していない。
【0057】
図5に示すWLA 2の回路構成では、2個のnMOS Q21、Q22を用いて各Ci(i=1~R)の比較信号制御ユニット21を構成している。nMOS Q21は、WLA 2をイネーブル信号Enで活性化/不活性化させたり、WWCの電流を制御するパストランジスタであり、nMOS Q22は、WWCの電流の大きさを中間電位VI(図5の例では同じ行のVI1)に変換するソースフォロワー構成のプルアップトランジスタである。なお、nMOS Q22のゲートには、フィードバック信号生成部22bをなすnMOS Q25のソースフォロワー出力(フィードバック信号F)が入力される。
【0058】
ウィンナ/ルーザ・距離増幅ユニット22aは、イネーブル信号Enを受けるnMOS Q23、nMOS Q24と、インバータI3からなるプッシュプル増幅器(PPA)と、各行の補償容量Cを備える。WLA 2が不活性の場合、低レベルのEnがnMOS Q23をオフとし、インバータI4を介して高レベルとなった高レベルのEnがnMOS Q24をオン状態にする。その結果、PPAの入力が0V(接地電位)になる。
【0059】
もし、イネーブル信号Enを高レベルであればWLA 2が活性化し、インバータI3によるプッシュプル増幅が行われる。補助キャパシタCはWLAの十分な動作マージンを確保する役割を果たしている。
【0060】
フィードバック信号Fは、WLA 2の各行の出力をそれぞれゲートに受けるソースフォロワー構成のプルダウンpMOS Q25と、これらに直列に接続されたWLA 2の全ての行に共通なプルアップpMOS Q26により生成される。実際の回路動作では、ウィンナの行に流れる電流の大きさが最小になるので、ウィンナの行の中間電位VIwinは最も高くなり、インバータI3を介して出力されるPPAの出力電位LAwinは最も低くなる。
【0061】
従って、フィードバック信号Fの電圧はウィンナの行で次のように定められる。Vth,pをpMOS Q25のしきい値電圧として、
【数2】
JP0003731046B2_000003t.gif【0062】
その結果、ウィンナの行のSRユニットに流れる電流の大きさが、ウィンナの行のWWCを流れる電流の大きさとバランスがとれた時、WLAはPPAの増幅が最大となる領域で動作する。このとき、ウィンナの行の中間電位はVIWINとなり、ウィンナが安定して選択される状態になる。
【0063】
このようにWLA回路は、全ての可能な場合において、PPAによる距離増幅が最大となる領域に各信号を自動的に制御する機能を備えている。従って、WLA設計上の留意点は、トランジスタ・パラメータが製造プロセス上の最悪条件になった場合でも、大きな制御範囲でWLA回路が動作するように設計することである。
【0064】
次に図6を用いて、WLAの動作について、さらに具体的に説明する。
図6(a)、図6(b)、図6(c)は、PPAの電流/電圧増幅特性を示すものであり、さらにウィンナ行及びルーザ行からのPPAの入力(WLAの入力)とPPAの出力(WLAの出力)の相互関係を示している。
【0065】
図6(a)は、比較信号制御ユニットSRによる比較信号Cの制御不足の状態を示している。すなわち、ウィンナ行に対応する比較信号Cの電流が過大であり、従ってPPAの入力信号電圧が低下し、ウィンナ行及びウィンナ行より比較信号Cの電流が大きい最近接ルーザ行に対応するPPAの入力信号電圧が低下し、さらに比較信号Cの電流が大きい他のルーザ行に対応するPPAの入力信号電圧がさらに低くなり、PPAの出力が増幅特性上(I3のインバータ特性上)の高レベル側に外れた状態を示している。この場合には、ウィンナ行と最近接ルーザとのWLAによる識別が困難になる。
【0066】
図6(b)は、比較信号制御ユニットSRによる比較信号Cの制御過剰の状態を示している。このような場合には、上記の議論からウィンナ行より信号電流が大きい最近接ルーザ行に対応する出力電圧がPPAの増幅特性曲線上、低レベル側に集まり、さらに信号電流が大きい他のルーザ行に対応する出力電圧がこれに続くので、図6(a)と同様、ウィンナ行と最近接ルーザとのWLAによる識別が困難になる。
【0067】
これに対して図6(c)の状態では、図5に示すフィードバック回路が良好に動作して、ウィンナ行の動作点と最近接ルーザ行の動作点が、共にPPAの増幅特性曲線上の最大増幅を与える領域に自動的に制御される場合が示されている。このとき、ウィンナ/ルーザ間距離の最大増幅出力電圧が得られ、連想メモリにおいて、入力データによる参照データの検索が最良の状態で行われることになる。
【0068】
もし、図5に示す第5の実施の形態と同様に、図2(b)又は図3に示すようにpMOSがWWCiに用いられる場合には、FIG.5に示すnMOS Q21乃至Q24をpMOSに、pMOS Q25、Q26をnMOSに置き換え、イネーブル信号Enの極性を反転し、電源端子VDDと接地端子を入れ替えねばならない。
【0069】
<第6の実施形態>
次に、図7、図8を用いて第6の実施形態について説明する。
第6の実施形態では、ウィンナ・ラインアップ増幅器WLAからワード重み付け比較器WWCへのフィードバック信号Fの入力方法と、フィードバック信号FによるWWCからの比較信号Cの出力制御について説明する。
【0070】
図7に示すWWCiは、例えば1ビットのユニット比較を行うUCi,jの出力をゲートに受けるpMOS Q41と、WLAからのフィードバック信号Fをゲートに受けるpMOS Q42との直列接続回路で構成される。フィードバック信号Fが増加すればpMOSQ42がさらにオフ側に変化するので、プルアップトランジスタ(図5のQ22)を介してVDDに接続されたWWCiの比較信号電流Ciが減少することでCiを制御することができる。なお、図7に示すWWCiは、比較信号電流Ciの制御の利得は大きいが、メモリ領域内において、1ビット当り1個のトランジスタを追加する必要がある。
【0071】
図8に示すWWCiは、例えば1ビットのユニット比較を行うUCi,jからの出力をゲートに受けるnMOS Q43のみで構成される。WLAからのフィードバック信号FはnMOS Q43のソースに入力される。このようにしてフィードバック信号Fが増加すれば、nMOS Q43のドレイン電流が減少することでWWCiの比較信号電流Ciを制御することができる。図8のWWCiはトランジスタ数は少ないが、メモリ領域内において、1ビット当り1本の配線を追加する必要がある。
【0072】
WWCにおいてフィードバックを用いる利点は、特に大きな距離の場合、WWCから出力されるウィンナと最近接ルーザとの出力差の増幅が製造プロセスのばらつきによらずに改善されることである。
【0073】
<第7の実施形態>
次に、図9を用いて、第7の実施形態について説明する。
第7の実施形態では、先に第5の実施形態で説明したウィンナ・ラインアップ増幅器WLAの改良回路と、メモリ領域において重み付きワード比較を行うWWCへのフィードバック信号Fの転送を行う具体的方法について説明する。
【0074】
図9に示すWLA 2aは、図5のWLA 2を改良した増幅回路の一例である。WLA 2aでは、ウィンナとルーザとの間の距離の増幅に、増幅度の高いカレントミラー回路が用いられ、高速動作するMin/Max型回路(例えば、R. G. Carvajal et al.,“High-Speed High-Precision Min/Max Circuit in CMOS Technology”, Electronics Letters, vol. 36, pp. 697-699, 2000参照)をフィードバック信号Fを生成する回路や、ウィンナとルーザとの距離をさらに大幅に増幅する回路に使用している。
【0075】
これらの回路を用いたWWC/WLA回路は、ウィンナとルーザとの距離の検索可能な範囲を1,000ビット乃至10,000ビットに拡大することができ、かつ比較信号制御ユニットSR 21aにおける消費電力を0.1mW以下にすることが可能である。
【0076】
第7の実施形態のWLA 2aは、図5のプッシュプル増幅器PPAの代わりに、より増幅度の高いnMOS及びpMOS Q64乃至Q69を用いた高速動作のカレントミラー増幅器を使用している。さらにフィードバック回路は、全ての行に共通なpMOSQ77と共に各行に設けられたnMOS及びpMOS Q70乃至Q76からなるMin/Max回路で構成される。フィードバック信号F2は、フィードバック信号F2の電圧レベルをほぼnMOS Q62のしきい値電圧だけシフトダウンさせ、本来VSSを供給するWWCの端子に入力される(図8参照)。
【0077】
フィードバック信号が変化すれば、WWCを構成するトランジスタのソース/ドレイン間電圧も変化するので、WWCの出力にはフィードバックの効果が2乗の効果として現れる、このため、図5に示すWLA 2と比較して、製造プロセスの変動によらず、特に入力データに対して大きな距離のウィンナとルーザの違いを増幅することができる。
【0078】
なお、第7の実施形態において、図9に示すWWCとして、図2(b)又は図3に示すようにpMOSを用いる場合には、図9に示すnMOSをpMOSに、pMOSをnMOSに置き換え、イネーブル信号Enの極性を反転し、電源端子VDDと接地端子を入れ替えねばならない。
【0079】
<第8の実施形態>
次に、図10を用いて第8の実施形態について説明する。
第8の実施形態では、ウィンナ・テイクオール回路WTA 3の構成について説明する。
【0080】
図10に示す回路規模O(R)のWTA 3は、それぞれ1行当り10個程度のトランジスタを用いて構成される。先ずnMOS Q31、Q32からなるレベルダウンシフタを用いて、WTAの増幅度が大きい領域で動作するようにWLAの出力信号LAを制御する。このレベルダウンシフタは出力信号LAのレベルダウンが必要な場合にのみ設けられる。
【0081】
ここで、WTA段とよばれるこの回路の主要部は、Lazzaro等が提案している共通のソースフォロワQ35(第1段WTA)又はQ38(第2段WTA)を有するWTA回路である(J. Lazzaro et al.,“Winner-Take-All network of O(N) complexity”, in Advances in Neural Information Processing Systems, I. D. S. Touretzky Ed., San Mateo, CA: Morgan Kaufmann, 1989)。そして、決定回路により最終的にディジタルな検索結果が出力される。
【0082】
トランジスタQ33、Q34、Q35からなる第1段のWTA 32は、レベルダウンシフタ31の出力電圧を電流に変換するためpMOS Q34を用いている。WLA 2の出力電圧LAは、ウィンナ行において最も低くなるので、ウィンナ行におけるレベルダウンシフタの出力電流もまた最小になる。このため、ウィンナ行のトランジスタQ34を流れる電流は最大になる。この最大電流は、第1段のWTA 32の出力部の最大電圧に変換され、その他の全ての行の出力は実質的に抑制される。
【0083】
第2段のWTA 33も、第1段と同様に電圧/電流/電圧の変換を実行し、ウィンナとルーザとの距離をさらに増幅する。ウィンナの電圧は、この第2段のWTA 33の出力において最も低くなる。最終決定回路33aは、スイッチングしきい値電圧が第2段のWTA 33の出力電圧レベルに適合するように設定されたインバータI5で構成される。この回路により、一致信号Mとしてウィンナ行に“1”が出力され、その他のルーザ行には全て“0”が出力される。
【0084】
なお、第8の実施形態において、ウィンナ・テイクオール回路が2段のWTAで構成される場合を例として説明したが、ウィンナ・テイクオール回路は3段以上のWTAで構成することもできるし、1段のWTAで構成することも可能である。また、図2(b)、図3のように、WWCとしてpMOSを用いる場合には、図10のnMOSをpMOSに、pMOSをnMOSに置き換え、電源端子VDDと接地端子を入れ替えねばならない。
【0085】
<第9の実施形態>
次に、図11乃至図13を用いて、第9の実施形態について説明する。
【0086】
第9の実施形態では、CMOS技術を用いて製造された本発明の連想メモリチップとその性能について説明する。
最小線幅0.6μmのCMOS技術を用いて製造された32行から127ビットまでのウィンナを検索可能な、最小ハミング距離検索用の連想メモリのチップを図11に示す。この連想メモリチップは、図5に示す第5の実施の形態に係るウィンナ・ラインアップ増幅器WLA 2、及び図10に示す第8の実施形態に係るウィンナ・テイクオール回路WTA 3を用いて設計された。
【0087】
チップ中央部に32行128列のメモリアレイが形成され、ハミング距離による検索を用いるため、メモリアレイにはビット(セル)ごとの蓄積セル(SC)、及びビット比較部(BC)、及び重み付けされないワード比較部(WC)から構成される。
【0088】
チップの上辺には、128ビットのワード検索部(Search Word)が配置され、チップの下辺には、カラムデコーダ及び読み出し/書き込み部(column decode and read/write)が配置される。チップの右辺には、WLA、WTA、及び出力を取り出すセレクタが配置される。ここで、WLA、WTA回路は、1.57mm2のチップサイズの小さい連想メモリの内、全体の14.3%とごく僅かな領域を占めるに過ぎない。
【0089】
次に、図12を用いて、図11の連想メモリチップのウィンナ検索時間のシミュレーション結果について説明する。図12は、ウィンナ/ルーザ間の距離がそれぞれ1ビット、2ビット、5ビット、10ビットの場合について、ウィンナを検索するのに要する時間をウィンナ/入力間距離の関数として示したものである。
【0090】
図12から、50ビット程度の中間の距離では、検索時間を50nsec以下にすることができるが、それ以上の距離では検索時間が増加し、ウィンナの距離が最大の127ビットに達すれば、検索時間は160nsecになる。
【0091】
WLA回路を図9に示す第7の実施形態で説明したように改良すれば、不一致ビットが1000ビットのウィンナにおいて、ウィンナとルーザの距離が僅か1ビットでウィンナ/入力間の距離が大であっても検索時間が100nsec以下になる可能性があることがシミュレーションの結果明らかにされた。
【0092】
このように、本発明の連想メモリアキテクチャは、大きな検索マージンを備えているので、「良い一致」、すなわち、ウィンナ/入力間の距離が小さいか、又は、ウィンナとルーザとの距離の差が大きい場合においても信頼性が高い。また、「悪い一致」、すなわち、ウィンナ/入力間の距離が大きく、かつ、ウィンナとルーザとの距離の差が小さい場合には、検索マージンが小さく信頼性も低下するが、なお実用レベルを維持することができる。
【0093】
ウィンナ行と最近接ルーザ行間におけるWLAにより制御されたWC出力のを図13に示す。ウィンナ/最近接ルーザ間の距離がそれぞれ1ビット、2ビット、5ビット、10ビットの場合について、ウィンナ/ルーザの比較信号差(CW-CL)がウィンナ/入力間の距離の関数として示されている。図13の結果から極めて「良い一致」の場合には比較信号差が数100mVに達するが、極めて「悪い一致」の場合には比較信号差が2mV乃至3mVと、小さくなることがわかる。このように、比較信号差の大きさが一致の質を与える量となる。
【0094】
本発明の連想メモリアーキテクチャは、フィードバック回路による自己整合的なWLAの制御により、距離の情報を安定にコード化することができるので、製造プロセスの変動やノイズの変動に対する許容範囲が大きいという特徴がある。また、図5及び図10で説明したWLA及び図10で説明したWTAの回路において、回路に用いるトランジスタ数(回路の集積度)が、メモリアレイの行数(参照データの数)Rに比例するという特徴がある。しかし、チップ内におけるトランジスタパラメータのばらつきが、一致信号の出力部では誤動作の原因となり、ウィンナを正確に検索できる範囲を制限する可能性が残されている。
【0095】
なお本発明は上記の実施の形態に限定されることはない。その他本発明の要旨を逸脱しない範囲で、種々変形して実施することができる。
【0096】
【発明の効果】
従来人工知能システムは、面積効率の高いハードウエアを実現することが不可能であったため、高性能なコンピュータシステム上に複雑なソフトウエアを用いて構築されることが一般的であったが、上述したように本発明の連想メモリによれば、コンパクトな複数のチップ又は1チップのみでパターン認識や人工知能システム、データバンクシステム等を実現することが可能になる。
【図面の簡単な説明】
【図1】第1の実施形態に係る連想メモリのブロック構成図。
【図2】第2の実施形態に係るハミング距離を用いたユニット比較器及びワード重み付け比較器の回路構成を示す図であって、
(a)は、ワード重み付け比較器にnMOSを用いた回路構成を示す図。
(b)は、ワード重み付け比較器にpMOSを用いた回路構成を示す図。
【図3】第3の実施形態に係るマンハッタン距離を用いたユニット比較器及びワード重み付け比較器の回路構成を示す図。
【図4】第4の実施形態に係るウィンナ・ラインアップ回路のブロック構成図。
【図5】第5の実施形態に係る簡単なウィンナ・ラインアップ回路を示す図。
【図6】ウィンナ・ラインアップ回路の原理を示す図であって、
(a)は、制御不足の場合を示す図。
(b)は、制御過剰の場合を示す図。
(c)は、最適制御の場合を示す図。
【図7】ワード重み付け比較器の構成と、フィードバック方法を示す図。
【図8】ワード重み付け比較器の他の構成とフィードバック方法を示す図。
【図9】第7の実施形態に係るワード重み付け比較器へのフィードバック回路を設けた、改良されたウィンナ・ラインアップ回路の構成を示す図。
【図10】第8の実施形態に係るウィンナ・テイクオール回路の構成を示す図。
【図11】第9の実施形態に係るCMOS連想メモリのチップを示す画像。
【図12】ウィンナ/最近接ルーザ間距離をパラメータとして、ウィンナ検索時間をウィンナ/入力間距離の関数としてシミュレーションにより求めた図。
【図13】ウィンナ/最近接ルーザ間距離をパラメータとして、比較信号差をウィンナ/入力間距離の関数としてシミュレーションにより求めた図。
【符号の説明】
1…メモリアレイ
2…ウィンナ・ラインアップ増幅器(WLA)
2a…改良ウィンナ・ラインアップ増幅器
3…ウィンナ・テイクオール回路(WTA)
21、21a…比較信号制御ユニット(SR)
22…フィードバック信号生成部及びウィンナ/ルーザ距離増幅ユニット
22a、22c…ウィンナ/ルーザ距離増幅ユニット
22b、22d…フィードバック信号生成部
23…フィードバック信号コード化部
31…レベルシフタ
32…第1段ウインナ・テイクオール回路
33…第2段ウインナ・テイクオール回路
33a…最終決定回路
図面
【図1】
0
【図2】
1
【図3】
2
【図4】
3
【図5】
4
【図6】
5
【図7】
6
【図8】
7
【図9】
8
【図10】
9
【図11】
10
【図12】
11
【図13】
12