JP6229990B2 - 連想記憶装置、インデックス生成器、及び登録情報更新方法 - Google Patents
連想記憶装置、インデックス生成器、及び登録情報更新方法 Download PDFInfo
- Publication number
- JP6229990B2 JP6229990B2 JP2016544229A JP2016544229A JP6229990B2 JP 6229990 B2 JP6229990 B2 JP 6229990B2 JP 2016544229 A JP2016544229 A JP 2016544229A JP 2016544229 A JP2016544229 A JP 2016544229A JP 6229990 B2 JP6229990 B2 JP 6229990B2
- Authority
- JP
- Japan
- Prior art keywords
- vector
- index
- registration
- registration information
- index generation
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
- G11C15/04—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
従って、上記従来のCAMによれば、ビットコスト及び消費電力の観点から記憶容量の大規模化は困難である。
〔定義1〕(登録ベクトル)
相異なるk個(kは自然数)のnビット(nは自然数)のベクトルの集合を考える。このベクトルの集合を登録ベクトル集合(set of registered vectors)といい、登録ベクトル集合に属する各ベクトルを登録ベクトルという。
登録ベクトル集合の各要素と一致する入力に対して1からkまでの固有インデックスに単射し、それ以外の入力に対して0となる関数をインデックス生成関数という。
即ち、関数f(X):Bn→{0,1,…,k}(B={0,1},k∈自然数)において、k個の異なる登録ベクトルai∈Bn(i=1,2,…,k)に対してf(ai)=i(i=1,2,…,k)が成立し、それ以外の(2n−k)個の入力ベクトルaiに対しては、f(ai)=0が成立するとき、f(X)を重みkのインデックス生成関数という。インデックス生成関数は、k個の異なる2値ベクトルに対して、1からkまでの固有インデックスを生成する。なお、本明細書においては、kの値は入力ベクトルの組み合わせ総数2nに比べて十分に小さい(k<<2n)と仮定する。
ハッシュ関数とは、集合Sから整数の集合{0,1,…,m-1}への写像である。ここで、mは、集合Sの要素を超えない自然数である。
(第1実施形態)
1.構成の説明
図1は、本発明の第1実施形態による連想記憶装置100の構成例を示すブロック図である。連想記憶装置100は、検索対象のnビット(nは自然数)の入力ベクトルX(x1,x2,…,xn)に対応した固有のインデックスAを生成して出力するためのものであり、N個(Nは2以上の自然数)のインデックス生成部110−1,110−2,110−3,…,110−N、出力部120、制御部130を備えている。以下では必要に応じて、N個のインデックス生成部110−1,110−2,110−3,…,110−Nのうちの任意の一つを「インデックス生成部110−i」(iは、1からNまでの自然数)と表す。また、インデックス生成部110−1,110−2,110−3,…,110−Nのそれぞれは、インデックス生成器、インデックス生成装置等として単体で取り扱うことができる。
なお、N個のインデックス生成部110−1,110−2,110−3,…,110−Nでそれぞれ用いられるN個のハッシュ関数は、上述の〔定義3〕に従う限り、相互に同一の関数であってもよく、相互に異なる関数であってもよい。即ち、N個のインデックス生成部110−1,110−2,110−3,…,110−Nのそれぞれは、他のインデックス生成部で用いられるハッシュ関数と同一のハッシュ関数を用いてもよく、他のインデックス生成部で用いられるハッシュ関数とは異なるハッシュ関数を用いてもよい。
制御部130は、N個のインデックス生成部110−1,110−2,110−3,…,110−Nのそれぞれに登録された上記の登録情報の更新を制御するためのものである。制御部130からインデックス生成部110−1,110−2,110−3,…,110−Nに対し、登録情報である登録ベクトルの書き込み動作を制御するためのライトイネーブル信号WEと、登録ベクトルのインデックスIDXと、登録情報を書き込むべきインデックス生成部110−1,110−2,110−3,…,110−Nの何れか指定するための選択信号SELが供給される。
なお、制御部130は、指令信号UPDが供給された場合に、動作モードを更新モードに変更する。また、制御部130は、指令信号UPDとインデックスIDXとが供給された場合に、新規な登録情報を追加する動作を行う。また、制御部130は、指令信号UPDのみが供給された場合に、既存の登録情報を削除する動作を行う。
また、制御部130は、例えば、更新モードなどの動作中に、動作中であることを示す信号BSY(ビジー)を出力する。また、制御部130は、例えば、新規な登録情報を追加する動作が失敗した場合に、失敗したことを示す信号FAL(フェイル)を出力する。
図2は、本発明の第1実施形態による連想記憶装置100に備えられたインデックス生成部110−iの構成例を示すブロック図である。インデックス生成部110−iは、ハッシュ回路111、仮インデックス生成回路112、再生ベクトル生成回路113、比較回路114、出力回路115、衝突信号生成回路116を備えている。このうち、ハッシュ回路111は、ハッシュ関数を用いて、nビットの入力ベクトルXから、入力ベクトルXの特徴量を表すpビット(pはnよりも小さい自然数)のベクトルY1を生成するためのものである。ここでは、p=3とする。ハッシュ関数は、異なる入力に対して同じ値を与える場合があり、それをハッシュ衝突(collision)と称す。本実施形態による連想記憶装置100では、或るハッシュ関数でハッシュ衝突が発生した場合、別のインデックス生成部を用いることによりハッシュ衝突を回避する。その詳細については後述する。
なお、上記のハッシュ関数として非線形関数を用いた場合、再生ベクトル生成回路113は、入力ベクトルXの全ビットに対応したnビットの再生ベクトルX’を出力する。
このように、3個のハッシュ回路111(i=1),111(i=2),111(i=3)は、それぞれ異なるハッシュ関数を実現している。
仮インデックス生成回路112は、前述のように、DRAM等の汎用の半導体メモリから構成され、この汎用の半導体メモリは仮インデックス生成回路112の上記の主記憶部を形成する。データの書き込みと読み出しの両方が可能であることを限度に、仮インデックス生成回路112の主記憶部を形成するメモリとして、強誘電体メモリや磁性体メモリ等、任意の方式のメモリを用いることができる。仮インデックス生成回路112の主記憶部を形成するメモリには、登録ベクトルのインデックスに関する情報が登録情報として格納されている。仮インデックス生成回路112の主記憶部を形成する汎用メモリのアドレス入力端子には、ハッシュ回路111から出力されるpビットのベクトルY1の各ビットがアドレス信号として供給される。
再生ベクトル生成回路113は、上述の仮インデックス生成回路112と同様に、DRAM等の汎用の半導体メモリから構成され、この汎用の半導体メモリは再生ベクトル生成回路113の上記の副記憶部を形成する。データの書き込みと読み出しの両方が可能であることを限度に、再生ベクトル生成回路113の副記憶部を形成するメモリとして、強誘電体メモリや磁性体メモリ等、任意の方式のメモリを用いることができる。再生ベクトル生成回路113の副記憶部を形成するメモリには、登録ベクトルのビットの値が登録情報として格納されている。再生ベクトル生成回路113の副記憶部を形成する汎用メモリのアドレス入力端子には、仮インデックス生成回路112から出力されたqビットの仮のインデックスA’の各ビットがアドレス信号として供給される。
図4Aは、本発明の第1実施形態による連想記憶装置100に備えられたインデックス生成部110−iの比較回路114の構成例を示す図である。比較回路114は、一致ゲートである否定的排他的論理和ゲート回路1144,1145,1146から構成されている。否定的排他的論理和ゲート回路1144の入力部には、入力ベクトルXのX2のビットx4と再生ベクトルX2’のビットx4’が供給される。また、否定的排他的論理和ゲート回路1145の入力部には、入力ベクトルXのX2のビットx5と再生ベクトルX2’のビットx5’が供給される。更に、否定的排他的論理和ゲート回路1146の入力部には、入力ベクトルXのX2のビットx6と再生ベクトルX2’のビットx6’が供給される。否定的排他的論理和ゲート回路1144,1145,1146の各出力部は論理積ゲート回路1147の入力部に接続され、論理積ゲート回路1147の出力信号は一致信号MTiとされる。
図4Bは、本発明の第1実施形態による連想記憶装置100に備えられたインデックス生成部110−iの出力回路115の構成例を示す図である。この例では、k=15を考慮して、仮のインデックスA’が4ビット(a1’,a2’,a3’,a4’)で表される場合を想定している。ただし、この例に限定されず、仮のインデックスA’のビット数は任意の値に設定し得る。
図4Cは、本発明の第1実施形態による連想記憶装置100に備えられたインデックス生成部110−iの衝突信号生成回路116の構成例を示す図である。この例でも、k=15を考慮して、仮のインデックスA’が4ビット(a1’,a2’,a3’,a4’)で表される場合を想定している。
以上で、図1に示す連想記憶装置100に備えられたインデックス生成部110−iの構成を説明した。
図5は、本発明の第1実施形態による連想記憶装置100に備えられた出力部120の回路構成例を示す図である。
出力部120は、インデックス生成部110−1,110−2,110−3の個数に対応した3個の論理和ゲート回路1201,1202,1203から構成されている。論理和ゲート回路1201の入力部には、インデックス生成部110−1から出力されたインデックスA1のビットa1と、インデックス生成部110−2から出力されたインデックスA2のビットa1と、インデックス生成部110−3から出力されたインデックスA3のビットa1とが供給される。論理和ゲート回路1201は、インデックス生成部110−1,110−2,110−3からそれぞれ入力されたビットa1の論理和を演算し、その演算結果を、インデックスAのビットa1の値として出力する。
なお、全てのビットが‘1’からなる仮のインデックスA’を無効値として定義した場合、出力部120は、論理和ゲート回路1201,1202,1203に代えて、論理積演算を実施する論理積ゲート回路を備えればよい。
図6は、本発明の第1実施形態による連想記憶装置100に登録される登録情報の一例を示す図である。図6の登録情報は、n=6、k=15、X1=(x1、x2、x3)、X2=(x4,x5,x6)としたときに、入力ベクトルX(x1,x2,x3,x4,x5,x6)の各値と、入力ベクトルXの固有のインデックスAを表すインデックスIDXの値との対応関係を規定している。例えば、入力ベクトルX(x1,x2,x3,x4,x5,x6)の値(0,1,1,0,0,0)に対し、この入力ベクトルXの値に固有のインデックスAを表すインデックスIDXの値として値「1」が対応付けられている。
ただし、この例では、ビットx2、x3のみからインデックスIDXの値「1」及び「2」に対応する登録ベクトルを識別することが可能であり、この場合の登録ベクトルの特徴量としてビットx2,x3の値を用いることもできる。このようにして、X1によって識別可能な登録ベクトルに対応したインデックスIDXの集合が得られる。
図7に示すように、インデックス生成部110−1で実現される登録情報は、上述の図6に示す登録情報のうち、インデックスIDXの8個の値「4」、「5」、「2」、「1」、「11」、「10」、「15」、「3」と、これらのインデックスIDXの値に対応した8個の登録ベクトルのビット(x1,x2,x3,x4,x5,x6)の値との対応関係を規定するように決定される。
この場合、登録ベクトルのX2のビットx4,x5,x6を用いて、インデックス生成部110−2で実現する登録情報のインデックスIDXが決定される。
なお、図8に示す例では、入力ベクトルXの全ビットのうち、ビットx1,x2,x3の値が再生ベクトル生成回路113の副記憶部を構成するメモリに貯えられた値と一致する場合、比較回路114の一致信号MT2の値が‘1’となる。
この例では、上述の図6に示す登録情報のうち、インデックスIDXの5個の値「9」、「14」に関する登録情報が実現されている。この場合、登録情報のうち、インデックスIDXの値「9」、「14」に関する情報は、ビットy1,y2,y3の値によって指定される仮インデックス生成回路112の主記憶部のメモリセルに格納される。また、インデックスIDXの値「9」、「14」に対応した登録ベクトルのビット(y1,y2,y3,x4,x5,x6)の各値は、インデックスIDXの値「9」、「14」を表す仮のインデックスA’によって指定される再生ベクトル生成回路113の副記憶部のメモリセルに格納される。
なお、図9に示す例では、入力ベクトルXの全ビットのうち、ビットx4,x5,x6の値が再生ベクトル生成回路113の副記憶部を構成するメモリに貯えられた値と一致する場合、比較回路114の一致信号MT3の値が‘1’となる。
次に、第1実施形態による連想記憶装置100の通常の検索モードでの動作を説明する。通常の検索モードでの動作時には、入力ベクトルXに応答して、3個のインデックス生成部110−1,110−2,110−3のうち、一つのインデックス生成部110−iが有効値を示すインデックスAiを出力する。他の二つのインデックス生成部110−iは無効値を出力する。出力部120は、3個のインデックス生成部110−1,110−2,110−3からそれぞれ出力されたインデックスA1,A2,A3を結合してインデックスAを生成して出力する。このインデックスAは、3個のインデックス生成部110−1,110−2,110−3から出力されたインデックスA1,A2,A3のうち、有効値を示すインデックスAiと同値になる。入力ベクトルXがインデックス生成部110−1,110−2,110−3に設定された登録ベクトルのいずれとも一致しない場合は、すべてのインデックス生成部110−1,110−2,110−3が無効値を生成する。
更新モードでの動作として、既存の登録情報を削除する動作と、新規な登録情報を追加する動作がある。更新モードにおいて、制御部130は、登録情報として登録された既存の登録ベクトルが存在する場合、その既存の登録ベクトルに対応するインデックスを削除した後、登録情報として新規な登録ベクトルのインデックスを追加することにより、登録情報を更新する。更新モードにおいて登録情報を更新するための動作は制御部130により制御される。
ここでは、図13を参照して、上述した制御部130による既存の登録情報を削除する動作の一例について説明する。
図13は、本発明の第1実施形態による登録情報の削除方法の一例を示すフローチャートである。
既存の登録情報を削除する場合、連想記憶装置100を管理するシステム(図示なし)から、連想記憶装置100の制御部130に、更新モードの起動を示す指令信号UPDが供給される。そして、図13に示すように、指令信号UPDが制御部130に供給されると、制御部130は、削除すべき登録ベクトルを入力ベクトルとして、複数のインデックス生成部110−iに供給する(ステップS101)。すなわち、3個のインデックス生成部110−1,110−2,110−3には、削除すべき登録ベクトルが入力ベクトルXとして共通に供給される。
ここで、削除すべき登録ベクトルが存在すると、衝突が発生するので、衝突信号CDiおよび一致信号MTiが値‘1’を示す。この一致信号MTiから削除すべき登録ベクトルに対応するインデックス生成部を特定することができる。
第1段階:更新モードにおいて、削除すべき既存の登録ベクトルを入力ベクトルXとして複数のインデックス生成部110−1,110−2,110−3に供給する。
第2段階:複数のインデックス生成部110−1,110−2,110−3のそれぞれについて、制御部130は、一致信号MTiに基づき、削除すべき既存の登録ベクトルに対応した固有のインデックスが登録情報として存在するか否かを判定する。
第3段階:複数のインデックス生成部110−1,110−2,110−3の何れかにおいて、既存の登録ベクトルに対応した固有のインデックスが登録情報として存在する場合、制御部130は、登録情報として存在する既存の登録ベクトルのインデックスの値を有効値から無効値に変更する。
ここでは、図14を参照して、上述した制御部130による新規な登録情報を追加する動作の一例について説明する。
図14は、本発明の第1実施形態による新規情報の追加方法の一例を示すフローチャートである。
新規な登録ベクトルを追加する場合、連想記憶装置100を管理するシステムから、連想記憶装置100の制御部130に、更新モードの起動を示す指令信号UPDが供給される。また、同システムから、追加すべき登録ベクトルのインデックスIDXが供給される。そして、図14に示すように、指令信号UPDとインデックスIDXとが制御部130に供給されると、制御部130は、追加登録ベクトルを入力ベクトルとして、複数のインデックス生成部110−iに供給する(ステップS201)。すなわち、3個のインデックス生成部110−1,110−2,110−3には、追加すべき登録ベクトルが入力ベクトルXとして供給される。
第1段階:追加すべき新規な登録ベクトルを入力ベクトルXとして複数のインデックス生成部110−1,110−2,110−3に供給する。
第2段階:複数のインデックス生成部110−1,110−2,110−3のそれぞれについて、制御部130により、衝突信号CDiに基づき、追加すべき新規な登録ベクトルに対応した仮のインデックスが登録情報として存在するか否かを判定する。
第3段階:複数のインデックス生成部110−1,110−2,110−3の何れかにおいて、新規な登録ベクトルに対応した仮のインデックスが登録情報として存在しない場合、新規な登録ベクトルに対応したインデックスの値として有効値を設定する。
従って、第1実施形態によれば、ビットコストと消費電力の上昇を抑制しつつ、連想記憶装置100の記憶容量を大規模化することが可能となる。
次に、本発明の第2実施形態を説明する。
図10は、本発明の第2実施形態による連想記憶装置200の構成例を示すブロック図である。
図11は、本発明の第2実施形態による連想記憶装置200に備えられた連想メモリ110−Cとして用いられる従来型のCAM1000の基本構成の一例を表すブロック図である(特許文献1参照)。CAM1000は、比較レジスタ1001、検索ビット線ドライバ1002、m個のワードW1〜Wm、m個の一致センス回路MSC1〜MSCm、m個の一致フラグレジスタMFR1〜MFRm、及びプライオリティ・エンコーダ(優先度付符号化回路)PEを備えている。
この状態で、一致線MLが‘H’(=‘1’)状態にプリチャージされる。尚、一致線MLは‘H’が「一致」を表す。
従って、1ワードを構成するmビットのCAMセル1003のすべてにおいて一致が検出された場合に限り、一致線MLは‘H’(「一致」)の状態に保持される。一方、1ビットでもCAMセル1003で不一致が検出されると、一致線MLは‘L’(「不一致」)の状態となる。
以上で、第2実施形態による連想記憶装置200に備えられた連想メモリ110−Cとして用いられる従来型のCAM1000を説明した。
(手順1)k個の登録ベクトルを生成し、本発明による連想記憶装置100の複数のインデックス生成部110−iとCAMに格納する。
(手順2)複数の登録ベクトルの中からランダムに1つの登録ベクトルを取り出して、その登録ベクトルを連想記憶装置100から削除する。
(手順3)新規な登録ベクトルを生成し、連想記憶装置100に格納する。
上記の実験により、上述の実施形態による連想記憶装置の有効性を確認することができた。
110−1,110−2,110−3,110−i,110−N…インデックス生成部
110−C…連想メモリ
111…ハッシュ回路
112…仮インデックス生成回路
113…再生ベクトル生成回路
114…比較回路
115…出力回路
116…衝突信号生成回路
120…出力部
130…制御部
1000…CAM
1003…CAMセル
Claims (15)
- 複数のハッシュ関数を用いて入力ベクトルの特徴量を生成し、前記特徴量に基づき登録ベクトルに関する登録情報を検索することにより前記入力ベクトルに対応したインデックスを生成する複数のインデックス生成部と、
前記複数のインデックス生成部の各出力を結合して前記入力ベクトルに対応したインデックスを出力する出力部と、
前記登録情報の更新を制御する制御部と、
を備え、
前記複数のインデックス生成部のそれぞれは、
前記特徴量に基づき生成されたインデックスが前記登録情報として存在するか否かを示す第1信号を生成して前記制御部に供給すると共に、前記特徴量に基づき生成されたインデックスを用いて前記入力ベクトルの再生ベクトルを生成し、前記再生ベクトルが前記入力ベクトルと一致するか否かを示す第2信号を生成して前記制御部に供給する、連想記憶装置。 - 前記複数のインデックス生成部のそれぞれは、
前記入力ベクトルから前記入力ベクトルの特徴量を算出するためのハッシュ回路と、
前記登録ベクトルのインデックスが前記登録情報として格納された主記憶部を有し、前記主記憶部から前記特徴量に対応した仮のインデックスを読み出して出力する仮インデックス生成回路と、
前記仮インデックス生成回路から出力された仮のインデックスに基づいて前記第1信号を生成して出力する衝突信号生成回路と、
前記登録ベクトルが前記登録情報として格納された副記憶部を有し、前記副記憶部から前記仮のインデックスに対応したベクトルを読み出して前記再生ベクトルとして出力する再生ベクトル生成回路と、
前記再生ベクトルと前記入力ベクトルとを比較し、前記再生ベクトルと前記入力ベクトルとが一致するか否かを示す前記第2信号を出力する比較回路と、
前記第2信号が前記再生ベクトルと前記入力ベクトルとの一致を示す場合、前記仮のインデックスを前記入力ベクトルに対応した固有のインデックスとして出力し、前記第2信号が前記再生ベクトルと前記入力ベクトルとの不一致を示す場合、無効値を出力する出力回路と、
を備えた請求項1に記載の連想記憶装置。 - 前記主記憶部と前記副記憶部が、1つのメモリに統合された、請求項2に記載の連想記憶装置。
- 前記主記憶部は、前記特徴量を示すビット列がアドレス信号として入力されるメモリから構成された、請求項2または3に記載の連想記憶装置。
- 前記副記憶部は、前記仮のインデックスを示すビット列がアドレス信号として入力されるメモリから構成された、請求項2から4の何れか1項に記載の連想記憶装置。
- 前記複数のインデックス生成部のうちの一部のインデックス生成部に代えて、または、前記複数のインデックス生成部に加えて、CAMセルを有する連想メモリを備えた、請求項1から5の何れか1項に記載の連想記憶装置。
- 前記制御部は、
前記登録情報として登録ベクトルとそのインデックスとを追加する場合、追加すべき登録ベクトルが前記登録情報として存在しない旨を示す前記第1信号を供給するインデックス生成部を選択し、選択した当該インデックス生成部の登録情報として、前記追加すべき登録ベクトルに対応するインデックスを追加する、請求項1から6の何れか1項に記載の連想記憶装置。 - 前記制御部は、
前記登録情報として登録された登録ベクトルのインデックスを削除する場合、前記複数のインデックス生成部のうち、削除すべき登録ベクトルのインデックスを用いて生成された再生ベクトルが前記入力ベクトルと一致する旨を示す前記第2信号を供給するインデックス生成部を選択し、選択した当該インデックス生成部の登録情報から、前記登録ベクトルに対応するインデックスを削除する、請求項1から7の何れか1項に記載の連想記憶装置。 - 入力ベクトルから前記入力ベクトルの特徴量を算出して出力するハッシュ回路と、
登録ベクトルに関する登録情報として前記登録ベクトルに対応するインデックスが格納された主記憶部を有し、前記主記憶部から前記特徴量に対応した仮のインデックスを読み出して出力する仮インデックス生成回路と、
前記仮インデックス生成回路から出力された仮のインデックスに基づいて、前記特徴量に対応した仮のインデックスが前記登録情報として存在するか否かを示す第1信号を生成して出力する信号生成回路と、
前記登録ベクトルに関する登録情報として前記登録ベクトルが格納された副記憶部を有し、前記副記憶部から前記仮のインデックスに対応したベクトルを読み出して再生ベクトルとして出力する再生ベクトル生成回路と、
前記再生ベクトルと前記入力ベクトルとを比較し、前記再生ベクトルと前記入力ベクトルとが一致するか否かを示す第2信号を出力する比較回路と、
前記第2信号が前記再生ベクトルと前記入力ベクトルとの一致を示す場合、前記仮のインデックスを前記入力ベクトルに対応した固有のインデックスとして出力する出力回路と、
を備えたインデックス生成器。 - 請求項1から8の何れか1項に記載の連想記憶装置の登録情報を更新する情報更新方法であって、
前記連想記憶装置は、動作モードとして、検索モードと更新モードとを備え、
前記連想記憶装置に備えられた制御部は、前記更新モードにおいて前記登録情報を更新するための制御を実施する、情報更新方法。 - 前記検索モードにおいて、前記複数のインデックス生成部と前記出力部とが連想メモリとして機能する、請求項10に記載の情報更新方法。
- 前記更新モードにおいて、前記制御部は、前記登録情報として登録された登録ベクトルに対応するインデックスを削除した後、前記登録情報として追加すべき登録ベクトルに対応するインデックスを追加することにより、前記登録情報を更新する、請求項10または11に記載の情報更新方法。
- 前記更新モードにおいて、
削除すべき登録ベクトルを前記入力ベクトルとして前記連想記憶装置に備えられた複数のインデックス生成部に供給する第1段階と、
前記複数のインデックス生成部のそれぞれについて、前記制御部により、前記第2信号に基づき、前記削除すべき登録ベクトルに対応した固有のインデックスが前記登録情報として存在するか否かを判定する第2段階と、
前記複数のインデックス生成部の何れかにおいて、前記削除すべき登録ベクトルに対応した固有のインデックスが前記登録情報として存在する場合、前記制御部により、前記登録情報として存在する前記削除すべき登録ベクトルに対応するインデックスの値を有効値から無効値に変更する第3段階と、
を含む請求項12に記載の情報更新方法。 - 前記更新モードにおいて、
追加すべき登録ベクトルを前記入力ベクトルとして前記複数のインデックス生成部に供給する第1段階と、
前記複数のインデックス生成部のそれぞれについて、前記制御部により、前記第1信号に基づき、前記追加すべき登録ベクトルに対応した仮のインデックスが前記登録情報として存在するか否かを判定する第2段階と、
前記複数のインデックス生成部の何れかにおいて、前記追加すべき登録ベクトルに対応した仮のインデックスが前記登録情報として存在しない場合、前記追加すべき登録ベクトルに対応したインデックスの値として有効値を設定する第3段階と、
を含む請求項12または13に記載の情報更新方法。 - 前記複数のインデックス生成部の何れかにおいて、前記追加すべき登録ベクトルに対応した仮のインデックスが前記登録情報として存在する場合、前記制御部により、前記追加すべき登録ベクトルに対応した仮のインデックスが存在しない他のインデックス生成部において、前記追加すべき登録ベクトルに対応したインデックスの値として有効値を設定する、請求項14に記載の情報更新方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014168777 | 2014-08-21 | ||
JP2014168777 | 2014-08-21 | ||
PCT/JP2015/073227 WO2016027829A1 (ja) | 2014-08-21 | 2015-08-19 | 連想記憶装置、インデックス生成器、及び登録情報更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2016027829A1 JPWO2016027829A1 (ja) | 2017-04-27 |
JP6229990B2 true JP6229990B2 (ja) | 2017-11-15 |
Family
ID=55350773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016544229A Expired - Fee Related JP6229990B2 (ja) | 2014-08-21 | 2015-08-19 | 連想記憶装置、インデックス生成器、及び登録情報更新方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9865350B2 (ja) |
JP (1) | JP6229990B2 (ja) |
WO (1) | WO2016027829A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10572221B2 (en) * | 2016-10-20 | 2020-02-25 | Cortical.Io Ag | Methods and systems for identifying a level of similarity between a plurality of data representations |
KR20200093823A (ko) * | 2019-01-29 | 2020-08-06 | 삼성전자주식회사 | 해시 솔루션을 위한 반도체 메모리 장치 및 이의 구동방법 |
US11397561B2 (en) * | 2019-09-05 | 2022-07-26 | SK Hynix Inc. | Nonvolatile memory device performing a multiplicaiton and accumulation operation |
US11663118B2 (en) * | 2021-03-10 | 2023-05-30 | Infineon Technologies Ag | Address vectors for data storage elements |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6611512B1 (en) * | 1998-10-14 | 2003-08-26 | Agere Systems Inc. | Apparatus and method for scheduling correlation operations of a DS-CDMA shared correlator |
US6889225B2 (en) * | 2001-08-09 | 2005-05-03 | Integrated Silicon Solution, Inc. | Large database search using content addressable memory and hash |
US6765408B2 (en) * | 2002-02-11 | 2004-07-20 | Lattice Semiconductor Corporation | Device and method with generic logic blocks |
JP2004295967A (ja) | 2003-03-26 | 2004-10-21 | Kawasaki Microelectronics Kk | 連想メモリ |
JP4892693B2 (ja) | 2006-03-31 | 2012-03-07 | 国立大学法人九州工業大学 | アドレス生成器 |
US8352677B2 (en) | 2006-03-31 | 2013-01-08 | Kyushu Institute Of Technology | Associative memory |
US9270698B2 (en) * | 2008-12-30 | 2016-02-23 | Intel Corporation | Filter for network intrusion and virus detection |
US8261003B2 (en) * | 2010-08-11 | 2012-09-04 | Lsi Corporation | Apparatus and methods for managing expanded capacity of virtual volumes in a storage system |
US20140297996A1 (en) * | 2013-04-01 | 2014-10-02 | Advanced Micro Devices, Inc. | Multiple hash table indexing |
US9342462B2 (en) * | 2013-10-31 | 2016-05-17 | Oracle International Corporation | Systems and methods for implementing low-latency lookup circuits using sparse hash functions |
US20150363330A1 (en) * | 2014-06-17 | 2015-12-17 | Daniel Robert Watkins | Flash NAND device bad page replacement |
-
2015
- 2015-08-19 US US15/505,194 patent/US9865350B2/en not_active Expired - Fee Related
- 2015-08-19 JP JP2016544229A patent/JP6229990B2/ja not_active Expired - Fee Related
- 2015-08-19 WO PCT/JP2015/073227 patent/WO2016027829A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20170271011A1 (en) | 2017-09-21 |
WO2016027829A1 (ja) | 2016-02-25 |
JPWO2016027829A1 (ja) | 2017-04-27 |
US9865350B2 (en) | 2018-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9406381B2 (en) | TCAM search unit including a distributor TCAM and DRAM and a method for dividing a database of TCAM rules | |
KR101397264B1 (ko) | 키값 스토어를 포함하는 메모리 시스템 | |
JP6229990B2 (ja) | 連想記憶装置、インデックス生成器、及び登録情報更新方法 | |
CN101853190B (zh) | 一种适用于嵌入式处理器的数据完整性验证方法 | |
JP6362805B1 (ja) | ブロックチェーン・ネットワークにおいて過去のトランザクションにアクセス可能とするための方法及び当該ネットワークを構成するためのノード | |
JP2010501942A5 (ja) | ||
US8359438B2 (en) | Memory banking system and method to increase memory bandwidth via parallel read and write operations | |
JP2017188096A (ja) | 重複除去メモリモジュール及びそのメモリ重複除去方法 | |
WO2019160128A1 (ja) | ブロックチェーン・ネットワークにおいてトランザクションを検証するための方法及び当該ネットワークを構成するためのノード | |
US20150070957A1 (en) | Semiconductor device and method of writing/reading entry address into/from semiconductor device | |
JP2016062613A (ja) | キャッシュメモリ・システム及びその動作方法 | |
US20130297877A1 (en) | Managing buffer memory | |
US7822940B2 (en) | Apparatus and method for managing mapping information of nonvolatile memory | |
US11705207B2 (en) | Processor in non-volatile storage memory | |
JPWO2007119539A1 (ja) | アドレス生成器 | |
JP2015225675A (ja) | 連想メモリおよび半導体装置 | |
CN103077198B (zh) | 一种操作系统及其文件缓存定位方法 | |
JP2016110636A (ja) | メモリ管理 | |
US10997497B2 (en) | Calculation device for and calculation method of performing convolution | |
US8533396B2 (en) | Memory elements for performing an allocation operation and related methods | |
JP2014063540A (ja) | key−valueストア方式を有するメモリシステム | |
US20130046928A1 (en) | Memory Management Unit Tag Memory | |
WO2015129109A1 (ja) | インデックス管理装置 | |
WO2014038306A1 (ja) | 不揮発性連想メモリを利用した全文検索システム及びこれに用いる文字列比較方法 | |
JP2015028815A (ja) | key−valueストア方式を有するメモリシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161222 |
|
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: 20170912 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171006 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6229990 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |