JP2004213588A - 半導体装置 - Google Patents
半導体装置 Download PDFInfo
- Publication number
- JP2004213588A JP2004213588A JP2003002831A JP2003002831A JP2004213588A JP 2004213588 A JP2004213588 A JP 2004213588A JP 2003002831 A JP2003002831 A JP 2003002831A JP 2003002831 A JP2003002831 A JP 2003002831A JP 2004213588 A JP2004213588 A JP 2004213588A
- Authority
- JP
- Japan
- Prior art keywords
- address
- data
- key
- signal
- output
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
Abstract
【課題】記憶領域を有効に利用することができる半導体装置を提供する。
【解決手段】外部から入力されたキー又はデータを供給されたアドレスに格納するメモリ6〜10と、外部から入力されたキーとメモリ6〜10が出力するキーとを比較するキー比較部11〜15と、外部から入力されたキーを第1のアドレスに多対一対応させる第1ハッシュ関数演算部2と、第1のアドレスを第2のアドレスに一対一対応させる第2の演算を行う第2ハッシュ関数演算部3と、第1又は第2のアドレスをメモリ6〜10に供給し、データを格納させるデータ書込処理部4と、第1又は第2のアドレスをメモリ6〜10に供給し、データを読み出すデータ読出処理部5とを具備する。
【選択図】 図1
【解決手段】外部から入力されたキー又はデータを供給されたアドレスに格納するメモリ6〜10と、外部から入力されたキーとメモリ6〜10が出力するキーとを比較するキー比較部11〜15と、外部から入力されたキーを第1のアドレスに多対一対応させる第1ハッシュ関数演算部2と、第1のアドレスを第2のアドレスに一対一対応させる第2の演算を行う第2ハッシュ関数演算部3と、第1又は第2のアドレスをメモリ6〜10に供給し、データを格納させるデータ書込処理部4と、第1又は第2のアドレスをメモリ6〜10に供給し、データを読み出すデータ読出処理部5とを具備する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、キー及びデータを格納するための半導体装置に関する。
【0002】
【従来の技術】
従来より、メモリに格納されているデータを高速に読み出すためのハッシュと呼ばれる技術が用いられている。この技術では、(i)データを、当該データを一意に特定するキーに対応づけ、(ii)キーをある関数(ハッシュ関数と呼ばれる)によって変換した結果として得られた出力をキー及びデータを格納するためのアドレスとし、(iii)このようにして得られたアドレスに、キー及びデータを格納する。また、データの読み出し時には、キーをハッシュ関数によってアドレスに変換し、このアドレスに格納されているデータを読み出す。
【0003】
一般に、ハッシュ関数においては、入力と出力が多対一対応であるため、複数の異なるキーが同一のアドレスに変換される場合がある(以下、「アドレスの重複」ともいう)。このようなアドレスの重複を防止するため、キーを変換した結果として得られるアドレスがアドレス空間に一様に分布するようなハッシュ関数を用いることが望ましいが、そのようなハッシュ関数を求めることは困難である。そのため、あるアドレスにはキー及びデータが多数集中する一方、他のアドレスにはキー及びデータが存在しないという場合が生ずる。
このようなアドレスの重複が生じた場合であっても、キー及びデータを格納することが可能な技術として、オープンハッシュ、クローズドハッシュ等がある。
【0004】
オープンハッシュ等の技術を用いた場合には、ある程度のアドレスの重複が生じた場合に、キー及びデータを格納することが可能である。しかしながら、オープンハッシュ等の技術を用いた場合であっても、ある程度以上のアドレスの重複が生じた場合には、キー及びデータを格納することができない。そのため、記憶領域を有効に利用することができなかった。
【0005】
【発明が解決しようとする課題】
そこで、上記の点に鑑み、本発明は、記憶領域を有効に利用することができる半導体装置を提供することを目的とする。
【0006】
【課題を解決するための手段】
以上の課題を解決するため、本発明に係る半導体装置は、キー及びデータを格納するための半導体装置であって、第1〜第N(Nは、2以上の自然数)の記憶容量をそれぞれ有し、キー及びデータの書き込み時において、外部から入力されたキー又はデータを供給されたアドレスに格納し、キー及びデータの読み出し時において、キー及びデータが供給されたアドレスに格納されている場合に当該キー及びデータを出力し、キー及びデータが供給されたアドレスに格納されていない場合にその旨を表す第1の信号を出力する第1〜第Nの記憶部と、第1〜第Nの記憶部へのキー及びデータの書き込み時において、外部から入力されたキーと第1〜第Nの記憶部が出力するキーとを比較し、外部から入力されたキーと第1〜第Nの記憶部が出力するキーとが一致する場合に、その旨を表す第2の信号を出力し、第1〜第Nの記憶部が第1の信号を出力する場合に、その旨を表す第3の信号を出力し、第1〜第Nの記憶部からのキー及びデータの読み出し時において、外部から入力されたキーと第1〜第Nの記憶部が出力するキーとを比較し、外部から入力されたキーと第1〜第Nの記憶部が出力するキーとが一致する場合に、第1〜第Nの記憶部の内の外部から入力されたキーと一致するキーを出力した記憶部が出力したデータを外部に出力する第1〜第Nの比較部と、外部から入力されたキーを第1のアドレスに多対一対応させる第1の演算を行う第1の演算部と、第1のアドレスを第2のアドレスに一対一対応させる第2の演算を行う第2の演算部と、キー及びデータの書き込み時において、第1のアドレスを第1〜第Nの記憶部に供給し、第M番目(Mは、N以下の自然数)の比較部から第2の信号を受け取った場合に、外部から入力されたデータを第M番目の記憶部の第1のアドレスに格納させ、第1〜第Nの比較部のいずれからも第2の信号を受け取らず且つ第1〜第Nの比較部の内の1以上の比較部から第3の信号を受け取った場合に、外部から入力されたキー及びデータを、第1〜第Nの記憶部の内の第1の信号を出力した記憶部を第1の順序で配列した場合における最初の記憶部の第1のアドレスに格納させ、第1〜第Nの比較部のいずれからも第2の信号を受け取らず且つ第1〜第Nの比較部のいずれからも第3の信号を受け取らなかった場合に、第2のアドレスを第1〜第Nの記憶部に供給し、第L番目(Lは、N以下の自然数)の比較部から第2の信号を受け取った場合に、外部から入力されたデータを第L番目の記憶部の第2のアドレスに格納させ、第1〜第Nの比較部のいずれからも第2の信号を受け取らず且つ第1〜第Nの比較部の内の1以上の比較部から第3の信号を受け取った場合に、外部から入力されたキー及びデータを、第1〜第Nの記憶部の内の第1の信号を出力した記憶部を第2の順序で配列した場合における最初の記憶部の第2のアドレスに格納させる第1の処理部と、データの読み出し時において、第1のアドレスを第1〜第Nの記憶部に供給し、第1〜第Nの比較部のいずれからも第2の信号を受け取らなかった場合に、第2のアドレスを第1〜第Nの記憶部に供給する第2の処理部とを具備する。
【0007】
以上の構成によれば、記憶領域を有効に利用することができる。
【0008】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態について説明する。
図1は、本発明の一実施形態に係る半導体装置を示す図である。図1に示すように、半導体装置1は、第1ハッシュ関数演算部2と、第2ハッシュ関数演算部3と、データ書込処理部4と、データ読出処理部5と、メモリ6〜10と、キー比較部11〜15とを具備する。
【0009】
第1ハッシュ関数演算部2には、外部回路からキーが入力される。第1ハッシュ関数演算部2は、入力されたキーを第1のアドレスに多対一対応させる第1のハッシュ関数
y=hash1(x) ・・・(1)
の演算を行う。(1)式において、xは入力されたキーであり、yは第1のアドレスである。第1ハッシュ関数演算部2は、入力されたキーに基づいて算出した第1のアドレスを第2ハッシュ関数演算部3、データ書込処理部4、及び、データ読出処理部5に出力する。
【0010】
第2ハッシュ関数演算部3は、第1のアドレスを第2のアドレスに一対一対応させる第2のハッシュ関数
y=hash2(x) ・・・(2)
の演算を行う。(2)式において、xは第1のアドレスであり、yは第2のアドレスである。第2ハッシュ関数演算部3は、第1のアドレスに基づいて算出した第2のアドレスをデータ書込処理部4及びデータ読出処理部5に出力する。なお、第2のハッシュ関数は、入力x(第1のアドレス)と出力y(第2のアドレス)が同じ値にならないような関数となっている。第2のハッシュ関数としては、キーのMSB(Most Significant Bit)を反転し、更にGray Code変換する関数等を用いることができる。
【0011】
半導体装置1のデータ書き込み動作時において、外部回路から、キーが第1ハッシュ関数演算部2、データ書込処理部4、及び、キー比較部11〜15に入力され、データ、及び、ライト信号がデータ書込処理部4に入力される。ここで、図2〜図7を参照しながら、半導体装置1のデータ書き込み動作について説明する。図2〜図7は、メモリ6〜10に格納されているキー及びデータを示す図である。
【0012】
メモリ6〜10は、同じ記憶容量を有しており、同じアドレス空間にマッピングされている。本実施形態においては、図2に示すように、キーa及びデータαがメモリ6のアドレスAに、キーb及びデータβがメモリ7のアドレスAに、キーc及びデータγがメモリ8のアドレスAに、それぞれ格納されているものとする。また、キーh及びデータθがメモリ6のアドレスCに、キーi及びデータιがメモリ7のアドレスCに、キーj及びデータκがメモリ8のアドレスCに、キーk及びデータλがメモリ9のアドレスCに、キーl及びデータμがメモリ10のアドレスCに、それぞれ格納されているものとする。さらに、キーn及びデータξがメモリ6のアドレスDに、キーo及びデータοがメモリ7のアドレスDに、キーp及びデータπがメモリ6のアドレスEに、それぞれ格納されているものとする。このとき、
A=hash1(a)=hash1(b)=hash1(c)・・・(3)
C=hash1(h)=hash1(i)=hash1(j)=hash1(k)=hash1(l) ・・・(4)
D=hash1(n)=hash1(o) ・・・(5)
E=hash1(p) ・・・(6)
である。
【0013】
ここで、
A=hash1(d) ・・・(7)
D=hash2(A) ・・・(8)
となるようなキーd、データδ、及び、ライト信号が外部回路から半導体装置1に入力されると、第1ハッシュ関数演算部2は、第1のアドレスとしてのアドレスAを第2ハッシュ関数演算部3及びデータ書込処理部4に出力し、第2ハッシュ関数演算部3は、第2のアドレスとしてのアドレスDをデータ書込処理部4に出力する。
データ書込処理部4は、アドレスA及びDを受け取ると、まず、アドレスAをメモリ6〜10に出力する。
【0014】
メモリ6〜8は、アドレスAが入力されると、キーa〜cをキー比較部11〜13にそれぞれ出力し、メモリ9及び10は、キー及びデータが格納されていないことを表す第1の信号(例えば、0xffff等)をキー比較部14及び15に出力する。
データ書き込み動作時において、キー比較部11〜15は、外部回路から入力されているキーとメモリ6〜10が出力するキーとを比較して一致するか否かをそれぞれ判断し、一致する場合にはその旨を表す第2の信号をデータ書込処理部4及びデータ読出処理部5に出力する。ここでは、外部回路から入力されるキーdとメモリ6〜8がそれぞれ出力するキーa〜cとが一致しないため、キー比較部11〜13は、第2の信号を出力しない。また、キー比較部14及び15は、メモリ9及び10のアドレスAにキー及びデータが格納されていないことを表す第3の信号をデータ書込処理部4にそれぞれ出力する。
【0015】
データ書込処理部4は、第1のアドレス(ここでは、アドレスA)を出力したときに、キー比較部11〜15のいずれかから第2の信号を受信した場合には、メモリ6〜10の内のキーdを格納しているメモリのアドレスAにデータδを格納(上書き)させる。また、データ書込処理部4は、キー比較部11〜15のいずれからも第2の信号を受け取らず且つキー比較部11〜15の内の1以上の比較部から第3の信号を受け取った場合に、キーd及びデータδを、メモリ6〜10の内の第1の信号を出力したメモリをメモリ6からメモリ10に向かう順序でチェックした場合における最初のメモリのアドレスAに格納させる。
本実施形態においては、キー比較部11〜13のいずれもが第2の信号を出力せず、また、キー比較部14及び15が第3の信号をそれぞれ出力するため、データ書込処理部4は、キーd及びデータδをメモリ9のアドレスAに格納させる。図3は、メモリ9のアドレスAにキーd及びデータδが格納された様子を示す図である。
【0016】
次に、
A=hash1(e) ・・・(9)
D=hash2(A) ・・・(10)
となるようなキーe、データε、及び、ライト信号が外部回路から半導体装置1に入力されると、第1ハッシュ関数演算部2は、第1のアドレスとしてのアドレスAを第2ハッシュ関数演算部3及びデータ書込処理部4に出力し、第2ハッシュ関数演算部3は、第2のアドレスとしてのアドレスDをデータ書込処理部4に出力する。
データ書込処理部4は、アドレスA及びDを受け取ると、まず、アドレスAをメモリ6〜10に出力する。
【0017】
メモリ6〜9は、アドレスAを受け取ると、キーa〜dをキー比較部11〜14にそれぞれ出力し、メモリ10は、第1の信号をキー比較部15に出力する。
キー比較部11〜14は、外部回路から入力されるキーeとメモリ6〜9がそれぞれ出力するキーa〜dとが一致しないため、第2の信号を出力しない。また、キー比較部15は、第3の信号をデータ書込処理部4に出力する。
【0018】
キー比較部11〜14のいずれもが第2の信号を出力せず、また、キー比較部15が第3の信号を出力するため、データ書込処理部4は、メモリ10のアドレスAにキーe及びデータεを格納させる。図4は、メモリ10のアドレスAにキーe及びデータεが格納された様子を示す図である。
【0019】
次に、
A=hash1(f) ・・・(11)
D=hash2(A) ・・・(12)
となるようなキーf、データζ、及び、ライト信号が外部回路から半導体装置1に入力されると、第1ハッシュ関数演算部2は、アドレスAを第2ハッシュ関数演算部3及びデータ書込処理部4に出力し、第2ハッシュ関数演算部3は、アドレスDをデータ書込処理部4に出力する。
データ書込処理部4は、アドレスA及びDを受け取ると、まず、アドレスAをメモリ6〜10に出力する。
【0020】
メモリ6〜10は、アドレスAを受け取ると、キーa〜eをキー比較部11〜15にそれぞれ出力する。
キー比較部11〜15は、外部回路から入力されるキーfとメモリ6〜10がそれぞれ出力するキーa〜eとが一致しないため、第2の信号を出力しない。
データ書込処理部4は、キー比較部11〜15のいずれもが第2の信号及び第3の信号を出力しないため、アドレスDをメモリ6〜10に出力する。
【0021】
アドレスDを受け取ると、メモリ6及び7は、キーn及びoをキー比較部11〜12にそれぞれ出力し、メモリ8〜10は、第1の信号をキー比較部13〜15にそれぞれ出力する。
キー比較部11及び12は、外部回路から入力されるキーfとメモリ6及び7が出力するキーn及びoとが一致しないため、いずれも第2の信号を出力しない。また、キー比較部13〜15は、第3の信号をデータ書込処理部4にそれぞれ出力する。
【0022】
データ書込処理部4は、第2のアドレス(ここでは、アドレスD)を出力したときに、キー比較部11〜15のいずれかから第2の信号を受信した場合には、メモリ6〜10の内のキーfを格納しているメモリのアドレスAにデータζを格納(上書き)させる。また、データ書込処理部4は、キー比較部11〜15のいずれからも第2の信号を受け取らず且つキー比較部11〜15の内の1以上の比較部から第3の信号を受け取った場合に、キーf及びデータζを、メモリ6〜10の内の第1の信号を出力したメモリをメモリ10からメモリ6に向かう順序でチェックした場合における最初のメモリのアドレスDに格納させる。
本実施形態においては、キー比較部11及び12のいずれもが第2の信号を出力せず、また、キー比較部13〜15が第3の信号を出力するため、データ書込処理部4は、キーf及びデータζをメモリ10のアドレスDに格納させる。図5は、メモリ10のアドレスDにキーf及びデータζが格納された様子を示す図である。
【0023】
次に、
A=hash1(g) ・・・(13)
D=hash2(A) ・・・(14)
となるようなキーg、データη、及び、ライト信号が外部回路から半導体装置1に入力されると、第1ハッシュ関数演算部2は、第1のアドレスとしてのアドレスAを第2ハッシュ関数演算部3及びデータ書込処理部4に出力し、第2ハッシュ関数演算部3は、第2のアドレスとしてのアドレスDをデータ書込処理部4に出力する。
データ書込処理部4は、アドレスA及びDを受け取ると、まず、アドレスAをメモリ6〜10に出力する。
【0024】
メモリ6〜10は、アドレスAを受け取ると、キーa〜eをキー比較部11〜15にそれぞれ出力する。
キー比較部11〜15は、外部回路から入力されるキーgとメモリ6〜10が出力するキーa〜eとが一致しないため、第2の信号を出力しない。
データ書込処理部4は、キー比較部11〜15のいずれもが第2の信号を出力しないため、アドレスDをメモリ6〜10に出力する。
【0025】
アドレスDを受け取ると、メモリ6及び7及び10は、キーn及びo及びfをキー比較部11及び12及び15にそれぞれ出力し、メモリ8及び9は、第1の信号をキー比較部13及び14にそれぞれ出力する。
キー比較部11及び12及び15は、外部回路から入力されるキーgとメモリ6及び7及び10がそれぞれ出力するキーn及びo及びfとが一致しないため、いずれも第2の信号を出力しない。また、キー比較部13及び14は、第3の信号をそれぞれ出力する。
【0026】
キー比較部11及び12及び15のいずれもが第2のを出力せず、また、キー比較部13及び14が第3の信号を出力するため、データ書込処理部4は、キーg及びデータηをメモリ9のアドレスDに格納させる。図6は、メモリ9のアドレスDにキーf及びデータζが格納された様子を示す図である。
【0027】
次に、
C=hash1(m) ・・・(15)
B=hash2(C) ・・・(16)
となるようなキーm、データν、及び、ライト信号が外部回路から半導体装置1に入力されると、第1ハッシュ関数演算部2は、第1のアドレスとしてのアドレスCを第2ハッシュ関数演算部3及びデータ書込処理部4に出力し、第2ハッシュ関数演算部3は、第2のアドレスとしてのアドレスBをデータ書込処理部4に出力する。
データ書込処理部4は、アドレスC及びBを受け取ると、まず、アドレスCをメモリ6〜10に出力する。
【0028】
メモリ6〜10は、アドレスCを受け取ると、キーh〜lをキー比較部11〜15にそれぞれ出力する。
キー比較部11〜15は、外部回路から入力されるキーmとメモリ6〜10が出力するキーh〜lとが一致しないため、第2の信号を出力しない。
データ書込処理部4は、キー比較部11〜15のいずれもが第2の信号を出力しないため、アドレスBをメモリ6〜10に出力する。
【0029】
メモリ6〜10は、アドレスBを受け取ると、第1の信号ををキー比較部11〜15にそれぞれ出力する。
キー比較部11〜15が、第2の信号を出力せず、第3の信号をそれぞれ出力するため、データ書込処理部4は、キーm及びデータνをメモリ10のアドレスBに格納させる。図7は、メモリ9のアドレスDにキーf及びデータζが格納された様子を示す図である。
【0030】
次に、半導体装置1のデータ読み出し動作について説明する。ここでは、図7中のメモリ9のアドレスDに格納されているデータηを読み出す場合について説明する。
半導体装置1のデータ読み出し動作時において、外部回路から、キーが第1ハッシュ関数演算部2及びキー比較部11〜15に入力され、リード信号がデータ読出処理部5に入力される。キーgが入力されると、第1ハッシュ関数演算部2は、第1のアドレスとしてのアドレスAを第2ハッシュ関数演算部3及びデータ読出処理部5に出力し、第2ハッシュ関数演算部3は、第2のアドレスとしてのアドレスDをデータ読出処理部5に出力する。
データ読出処理部5は、アドレスA及びDを受け取ると、まず、アドレスAをメモリ6〜10に出力する。
【0031】
メモリ6〜10は、アドレスAを受け取ると、キーa〜e及びデータα〜εをキー比較部11〜15にそれぞれ出力する。
データ読み出し動作時において、キー比較部11〜15は、外部回路から入力されているキーとメモリ6〜10が出力するキーとをそれぞれ比較し、一致する場合には第2の信号をデータ読出処理部5に出力するとともに、一致するキーに対応づけられたデータを外部回路に出力する。ここでは、外部回路から入力されるキーgとメモリ6〜10がそれぞれ出力するキーa〜eとが一致しないため、、キー比較部11〜15は、第2の信号を出力せず、データα〜εのいずれをも外部回路に出力しない。
【0032】
データ読出処理部5は、キー比較部11〜15のいずれかから第2の信号を受信した場合には処理を終了するが、本実施形態においては、キー比較部11〜15のいずれもが第2の信号を出力しないため、アドレスDをメモリ6〜10に出力する。
【0033】
アドレスDを受け取ると、メモリ6及び7及び9及び10は、キーn及びデータξ、キーo及びデータο、キーg及びデータη、並びに、キーf及びデータζをキー比較部11及び12及び14及び15にそれぞれ出力する。また、メモリ8は、第1の信号をキー比較部13に出力する。
キー比較部14は、外部回路から入力されるキーgとメモリ9が出力するキーgとが一致するため、第2の信号をデータ読出処理部5に出力するとともに、データηを外部回路に出力する。
データ読出処理部5は、キー比較部14から第2の信号を受信すると、処理を終了する。
【0034】
このように、本実施形態によれば、メモリ6〜10を有効に利用することができる。コンピュータシミュレーションを行った結果によれば、従来技術におけるメモリの利用率は60%程度であるが、本実施形態におけるメモリ6〜10の利用率は90%程度となる。
【0035】
なお、本実施形態においては、メモリ6〜10の記憶容量を同一としているが、図8に示すように、メモリ6〜10の記憶容量の比を16:8:4:2:1とすることとしても良いし、その他の比率とすることとしても良い。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る半導体装置の構成を示す図。
【図2】図1のメモリ6〜10に格納されているデータを示す図。
【図3】図1のメモリ6〜10に格納されているデータを示す図。
【図4】図1のメモリ6〜10に格納されているデータを示す図。
【図5】図1のメモリ6〜10に格納されているデータを示す図。
【図6】図1のメモリ6〜10に格納されているデータを示す図。
【図7】図1のメモリ6〜10に格納されているデータを示す図。
【図8】メモリ6〜10の記憶容量の比率の例を示す図。
【符号の説明】
1 半導体装置、2 第1ハッシュ関数演算部、3 第2ハッシュ関数演算部、4 データ書込処理部、5 データ読出処理部、6〜10 メモリ11〜15キー比較部
【発明の属する技術分野】
本発明は、キー及びデータを格納するための半導体装置に関する。
【0002】
【従来の技術】
従来より、メモリに格納されているデータを高速に読み出すためのハッシュと呼ばれる技術が用いられている。この技術では、(i)データを、当該データを一意に特定するキーに対応づけ、(ii)キーをある関数(ハッシュ関数と呼ばれる)によって変換した結果として得られた出力をキー及びデータを格納するためのアドレスとし、(iii)このようにして得られたアドレスに、キー及びデータを格納する。また、データの読み出し時には、キーをハッシュ関数によってアドレスに変換し、このアドレスに格納されているデータを読み出す。
【0003】
一般に、ハッシュ関数においては、入力と出力が多対一対応であるため、複数の異なるキーが同一のアドレスに変換される場合がある(以下、「アドレスの重複」ともいう)。このようなアドレスの重複を防止するため、キーを変換した結果として得られるアドレスがアドレス空間に一様に分布するようなハッシュ関数を用いることが望ましいが、そのようなハッシュ関数を求めることは困難である。そのため、あるアドレスにはキー及びデータが多数集中する一方、他のアドレスにはキー及びデータが存在しないという場合が生ずる。
このようなアドレスの重複が生じた場合であっても、キー及びデータを格納することが可能な技術として、オープンハッシュ、クローズドハッシュ等がある。
【0004】
オープンハッシュ等の技術を用いた場合には、ある程度のアドレスの重複が生じた場合に、キー及びデータを格納することが可能である。しかしながら、オープンハッシュ等の技術を用いた場合であっても、ある程度以上のアドレスの重複が生じた場合には、キー及びデータを格納することができない。そのため、記憶領域を有効に利用することができなかった。
【0005】
【発明が解決しようとする課題】
そこで、上記の点に鑑み、本発明は、記憶領域を有効に利用することができる半導体装置を提供することを目的とする。
【0006】
【課題を解決するための手段】
以上の課題を解決するため、本発明に係る半導体装置は、キー及びデータを格納するための半導体装置であって、第1〜第N(Nは、2以上の自然数)の記憶容量をそれぞれ有し、キー及びデータの書き込み時において、外部から入力されたキー又はデータを供給されたアドレスに格納し、キー及びデータの読み出し時において、キー及びデータが供給されたアドレスに格納されている場合に当該キー及びデータを出力し、キー及びデータが供給されたアドレスに格納されていない場合にその旨を表す第1の信号を出力する第1〜第Nの記憶部と、第1〜第Nの記憶部へのキー及びデータの書き込み時において、外部から入力されたキーと第1〜第Nの記憶部が出力するキーとを比較し、外部から入力されたキーと第1〜第Nの記憶部が出力するキーとが一致する場合に、その旨を表す第2の信号を出力し、第1〜第Nの記憶部が第1の信号を出力する場合に、その旨を表す第3の信号を出力し、第1〜第Nの記憶部からのキー及びデータの読み出し時において、外部から入力されたキーと第1〜第Nの記憶部が出力するキーとを比較し、外部から入力されたキーと第1〜第Nの記憶部が出力するキーとが一致する場合に、第1〜第Nの記憶部の内の外部から入力されたキーと一致するキーを出力した記憶部が出力したデータを外部に出力する第1〜第Nの比較部と、外部から入力されたキーを第1のアドレスに多対一対応させる第1の演算を行う第1の演算部と、第1のアドレスを第2のアドレスに一対一対応させる第2の演算を行う第2の演算部と、キー及びデータの書き込み時において、第1のアドレスを第1〜第Nの記憶部に供給し、第M番目(Mは、N以下の自然数)の比較部から第2の信号を受け取った場合に、外部から入力されたデータを第M番目の記憶部の第1のアドレスに格納させ、第1〜第Nの比較部のいずれからも第2の信号を受け取らず且つ第1〜第Nの比較部の内の1以上の比較部から第3の信号を受け取った場合に、外部から入力されたキー及びデータを、第1〜第Nの記憶部の内の第1の信号を出力した記憶部を第1の順序で配列した場合における最初の記憶部の第1のアドレスに格納させ、第1〜第Nの比較部のいずれからも第2の信号を受け取らず且つ第1〜第Nの比較部のいずれからも第3の信号を受け取らなかった場合に、第2のアドレスを第1〜第Nの記憶部に供給し、第L番目(Lは、N以下の自然数)の比較部から第2の信号を受け取った場合に、外部から入力されたデータを第L番目の記憶部の第2のアドレスに格納させ、第1〜第Nの比較部のいずれからも第2の信号を受け取らず且つ第1〜第Nの比較部の内の1以上の比較部から第3の信号を受け取った場合に、外部から入力されたキー及びデータを、第1〜第Nの記憶部の内の第1の信号を出力した記憶部を第2の順序で配列した場合における最初の記憶部の第2のアドレスに格納させる第1の処理部と、データの読み出し時において、第1のアドレスを第1〜第Nの記憶部に供給し、第1〜第Nの比較部のいずれからも第2の信号を受け取らなかった場合に、第2のアドレスを第1〜第Nの記憶部に供給する第2の処理部とを具備する。
【0007】
以上の構成によれば、記憶領域を有効に利用することができる。
【0008】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態について説明する。
図1は、本発明の一実施形態に係る半導体装置を示す図である。図1に示すように、半導体装置1は、第1ハッシュ関数演算部2と、第2ハッシュ関数演算部3と、データ書込処理部4と、データ読出処理部5と、メモリ6〜10と、キー比較部11〜15とを具備する。
【0009】
第1ハッシュ関数演算部2には、外部回路からキーが入力される。第1ハッシュ関数演算部2は、入力されたキーを第1のアドレスに多対一対応させる第1のハッシュ関数
y=hash1(x) ・・・(1)
の演算を行う。(1)式において、xは入力されたキーであり、yは第1のアドレスである。第1ハッシュ関数演算部2は、入力されたキーに基づいて算出した第1のアドレスを第2ハッシュ関数演算部3、データ書込処理部4、及び、データ読出処理部5に出力する。
【0010】
第2ハッシュ関数演算部3は、第1のアドレスを第2のアドレスに一対一対応させる第2のハッシュ関数
y=hash2(x) ・・・(2)
の演算を行う。(2)式において、xは第1のアドレスであり、yは第2のアドレスである。第2ハッシュ関数演算部3は、第1のアドレスに基づいて算出した第2のアドレスをデータ書込処理部4及びデータ読出処理部5に出力する。なお、第2のハッシュ関数は、入力x(第1のアドレス)と出力y(第2のアドレス)が同じ値にならないような関数となっている。第2のハッシュ関数としては、キーのMSB(Most Significant Bit)を反転し、更にGray Code変換する関数等を用いることができる。
【0011】
半導体装置1のデータ書き込み動作時において、外部回路から、キーが第1ハッシュ関数演算部2、データ書込処理部4、及び、キー比較部11〜15に入力され、データ、及び、ライト信号がデータ書込処理部4に入力される。ここで、図2〜図7を参照しながら、半導体装置1のデータ書き込み動作について説明する。図2〜図7は、メモリ6〜10に格納されているキー及びデータを示す図である。
【0012】
メモリ6〜10は、同じ記憶容量を有しており、同じアドレス空間にマッピングされている。本実施形態においては、図2に示すように、キーa及びデータαがメモリ6のアドレスAに、キーb及びデータβがメモリ7のアドレスAに、キーc及びデータγがメモリ8のアドレスAに、それぞれ格納されているものとする。また、キーh及びデータθがメモリ6のアドレスCに、キーi及びデータιがメモリ7のアドレスCに、キーj及びデータκがメモリ8のアドレスCに、キーk及びデータλがメモリ9のアドレスCに、キーl及びデータμがメモリ10のアドレスCに、それぞれ格納されているものとする。さらに、キーn及びデータξがメモリ6のアドレスDに、キーo及びデータοがメモリ7のアドレスDに、キーp及びデータπがメモリ6のアドレスEに、それぞれ格納されているものとする。このとき、
A=hash1(a)=hash1(b)=hash1(c)・・・(3)
C=hash1(h)=hash1(i)=hash1(j)=hash1(k)=hash1(l) ・・・(4)
D=hash1(n)=hash1(o) ・・・(5)
E=hash1(p) ・・・(6)
である。
【0013】
ここで、
A=hash1(d) ・・・(7)
D=hash2(A) ・・・(8)
となるようなキーd、データδ、及び、ライト信号が外部回路から半導体装置1に入力されると、第1ハッシュ関数演算部2は、第1のアドレスとしてのアドレスAを第2ハッシュ関数演算部3及びデータ書込処理部4に出力し、第2ハッシュ関数演算部3は、第2のアドレスとしてのアドレスDをデータ書込処理部4に出力する。
データ書込処理部4は、アドレスA及びDを受け取ると、まず、アドレスAをメモリ6〜10に出力する。
【0014】
メモリ6〜8は、アドレスAが入力されると、キーa〜cをキー比較部11〜13にそれぞれ出力し、メモリ9及び10は、キー及びデータが格納されていないことを表す第1の信号(例えば、0xffff等)をキー比較部14及び15に出力する。
データ書き込み動作時において、キー比較部11〜15は、外部回路から入力されているキーとメモリ6〜10が出力するキーとを比較して一致するか否かをそれぞれ判断し、一致する場合にはその旨を表す第2の信号をデータ書込処理部4及びデータ読出処理部5に出力する。ここでは、外部回路から入力されるキーdとメモリ6〜8がそれぞれ出力するキーa〜cとが一致しないため、キー比較部11〜13は、第2の信号を出力しない。また、キー比較部14及び15は、メモリ9及び10のアドレスAにキー及びデータが格納されていないことを表す第3の信号をデータ書込処理部4にそれぞれ出力する。
【0015】
データ書込処理部4は、第1のアドレス(ここでは、アドレスA)を出力したときに、キー比較部11〜15のいずれかから第2の信号を受信した場合には、メモリ6〜10の内のキーdを格納しているメモリのアドレスAにデータδを格納(上書き)させる。また、データ書込処理部4は、キー比較部11〜15のいずれからも第2の信号を受け取らず且つキー比較部11〜15の内の1以上の比較部から第3の信号を受け取った場合に、キーd及びデータδを、メモリ6〜10の内の第1の信号を出力したメモリをメモリ6からメモリ10に向かう順序でチェックした場合における最初のメモリのアドレスAに格納させる。
本実施形態においては、キー比較部11〜13のいずれもが第2の信号を出力せず、また、キー比較部14及び15が第3の信号をそれぞれ出力するため、データ書込処理部4は、キーd及びデータδをメモリ9のアドレスAに格納させる。図3は、メモリ9のアドレスAにキーd及びデータδが格納された様子を示す図である。
【0016】
次に、
A=hash1(e) ・・・(9)
D=hash2(A) ・・・(10)
となるようなキーe、データε、及び、ライト信号が外部回路から半導体装置1に入力されると、第1ハッシュ関数演算部2は、第1のアドレスとしてのアドレスAを第2ハッシュ関数演算部3及びデータ書込処理部4に出力し、第2ハッシュ関数演算部3は、第2のアドレスとしてのアドレスDをデータ書込処理部4に出力する。
データ書込処理部4は、アドレスA及びDを受け取ると、まず、アドレスAをメモリ6〜10に出力する。
【0017】
メモリ6〜9は、アドレスAを受け取ると、キーa〜dをキー比較部11〜14にそれぞれ出力し、メモリ10は、第1の信号をキー比較部15に出力する。
キー比較部11〜14は、外部回路から入力されるキーeとメモリ6〜9がそれぞれ出力するキーa〜dとが一致しないため、第2の信号を出力しない。また、キー比較部15は、第3の信号をデータ書込処理部4に出力する。
【0018】
キー比較部11〜14のいずれもが第2の信号を出力せず、また、キー比較部15が第3の信号を出力するため、データ書込処理部4は、メモリ10のアドレスAにキーe及びデータεを格納させる。図4は、メモリ10のアドレスAにキーe及びデータεが格納された様子を示す図である。
【0019】
次に、
A=hash1(f) ・・・(11)
D=hash2(A) ・・・(12)
となるようなキーf、データζ、及び、ライト信号が外部回路から半導体装置1に入力されると、第1ハッシュ関数演算部2は、アドレスAを第2ハッシュ関数演算部3及びデータ書込処理部4に出力し、第2ハッシュ関数演算部3は、アドレスDをデータ書込処理部4に出力する。
データ書込処理部4は、アドレスA及びDを受け取ると、まず、アドレスAをメモリ6〜10に出力する。
【0020】
メモリ6〜10は、アドレスAを受け取ると、キーa〜eをキー比較部11〜15にそれぞれ出力する。
キー比較部11〜15は、外部回路から入力されるキーfとメモリ6〜10がそれぞれ出力するキーa〜eとが一致しないため、第2の信号を出力しない。
データ書込処理部4は、キー比較部11〜15のいずれもが第2の信号及び第3の信号を出力しないため、アドレスDをメモリ6〜10に出力する。
【0021】
アドレスDを受け取ると、メモリ6及び7は、キーn及びoをキー比較部11〜12にそれぞれ出力し、メモリ8〜10は、第1の信号をキー比較部13〜15にそれぞれ出力する。
キー比較部11及び12は、外部回路から入力されるキーfとメモリ6及び7が出力するキーn及びoとが一致しないため、いずれも第2の信号を出力しない。また、キー比較部13〜15は、第3の信号をデータ書込処理部4にそれぞれ出力する。
【0022】
データ書込処理部4は、第2のアドレス(ここでは、アドレスD)を出力したときに、キー比較部11〜15のいずれかから第2の信号を受信した場合には、メモリ6〜10の内のキーfを格納しているメモリのアドレスAにデータζを格納(上書き)させる。また、データ書込処理部4は、キー比較部11〜15のいずれからも第2の信号を受け取らず且つキー比較部11〜15の内の1以上の比較部から第3の信号を受け取った場合に、キーf及びデータζを、メモリ6〜10の内の第1の信号を出力したメモリをメモリ10からメモリ6に向かう順序でチェックした場合における最初のメモリのアドレスDに格納させる。
本実施形態においては、キー比較部11及び12のいずれもが第2の信号を出力せず、また、キー比較部13〜15が第3の信号を出力するため、データ書込処理部4は、キーf及びデータζをメモリ10のアドレスDに格納させる。図5は、メモリ10のアドレスDにキーf及びデータζが格納された様子を示す図である。
【0023】
次に、
A=hash1(g) ・・・(13)
D=hash2(A) ・・・(14)
となるようなキーg、データη、及び、ライト信号が外部回路から半導体装置1に入力されると、第1ハッシュ関数演算部2は、第1のアドレスとしてのアドレスAを第2ハッシュ関数演算部3及びデータ書込処理部4に出力し、第2ハッシュ関数演算部3は、第2のアドレスとしてのアドレスDをデータ書込処理部4に出力する。
データ書込処理部4は、アドレスA及びDを受け取ると、まず、アドレスAをメモリ6〜10に出力する。
【0024】
メモリ6〜10は、アドレスAを受け取ると、キーa〜eをキー比較部11〜15にそれぞれ出力する。
キー比較部11〜15は、外部回路から入力されるキーgとメモリ6〜10が出力するキーa〜eとが一致しないため、第2の信号を出力しない。
データ書込処理部4は、キー比較部11〜15のいずれもが第2の信号を出力しないため、アドレスDをメモリ6〜10に出力する。
【0025】
アドレスDを受け取ると、メモリ6及び7及び10は、キーn及びo及びfをキー比較部11及び12及び15にそれぞれ出力し、メモリ8及び9は、第1の信号をキー比較部13及び14にそれぞれ出力する。
キー比較部11及び12及び15は、外部回路から入力されるキーgとメモリ6及び7及び10がそれぞれ出力するキーn及びo及びfとが一致しないため、いずれも第2の信号を出力しない。また、キー比較部13及び14は、第3の信号をそれぞれ出力する。
【0026】
キー比較部11及び12及び15のいずれもが第2のを出力せず、また、キー比較部13及び14が第3の信号を出力するため、データ書込処理部4は、キーg及びデータηをメモリ9のアドレスDに格納させる。図6は、メモリ9のアドレスDにキーf及びデータζが格納された様子を示す図である。
【0027】
次に、
C=hash1(m) ・・・(15)
B=hash2(C) ・・・(16)
となるようなキーm、データν、及び、ライト信号が外部回路から半導体装置1に入力されると、第1ハッシュ関数演算部2は、第1のアドレスとしてのアドレスCを第2ハッシュ関数演算部3及びデータ書込処理部4に出力し、第2ハッシュ関数演算部3は、第2のアドレスとしてのアドレスBをデータ書込処理部4に出力する。
データ書込処理部4は、アドレスC及びBを受け取ると、まず、アドレスCをメモリ6〜10に出力する。
【0028】
メモリ6〜10は、アドレスCを受け取ると、キーh〜lをキー比較部11〜15にそれぞれ出力する。
キー比較部11〜15は、外部回路から入力されるキーmとメモリ6〜10が出力するキーh〜lとが一致しないため、第2の信号を出力しない。
データ書込処理部4は、キー比較部11〜15のいずれもが第2の信号を出力しないため、アドレスBをメモリ6〜10に出力する。
【0029】
メモリ6〜10は、アドレスBを受け取ると、第1の信号ををキー比較部11〜15にそれぞれ出力する。
キー比較部11〜15が、第2の信号を出力せず、第3の信号をそれぞれ出力するため、データ書込処理部4は、キーm及びデータνをメモリ10のアドレスBに格納させる。図7は、メモリ9のアドレスDにキーf及びデータζが格納された様子を示す図である。
【0030】
次に、半導体装置1のデータ読み出し動作について説明する。ここでは、図7中のメモリ9のアドレスDに格納されているデータηを読み出す場合について説明する。
半導体装置1のデータ読み出し動作時において、外部回路から、キーが第1ハッシュ関数演算部2及びキー比較部11〜15に入力され、リード信号がデータ読出処理部5に入力される。キーgが入力されると、第1ハッシュ関数演算部2は、第1のアドレスとしてのアドレスAを第2ハッシュ関数演算部3及びデータ読出処理部5に出力し、第2ハッシュ関数演算部3は、第2のアドレスとしてのアドレスDをデータ読出処理部5に出力する。
データ読出処理部5は、アドレスA及びDを受け取ると、まず、アドレスAをメモリ6〜10に出力する。
【0031】
メモリ6〜10は、アドレスAを受け取ると、キーa〜e及びデータα〜εをキー比較部11〜15にそれぞれ出力する。
データ読み出し動作時において、キー比較部11〜15は、外部回路から入力されているキーとメモリ6〜10が出力するキーとをそれぞれ比較し、一致する場合には第2の信号をデータ読出処理部5に出力するとともに、一致するキーに対応づけられたデータを外部回路に出力する。ここでは、外部回路から入力されるキーgとメモリ6〜10がそれぞれ出力するキーa〜eとが一致しないため、、キー比較部11〜15は、第2の信号を出力せず、データα〜εのいずれをも外部回路に出力しない。
【0032】
データ読出処理部5は、キー比較部11〜15のいずれかから第2の信号を受信した場合には処理を終了するが、本実施形態においては、キー比較部11〜15のいずれもが第2の信号を出力しないため、アドレスDをメモリ6〜10に出力する。
【0033】
アドレスDを受け取ると、メモリ6及び7及び9及び10は、キーn及びデータξ、キーo及びデータο、キーg及びデータη、並びに、キーf及びデータζをキー比較部11及び12及び14及び15にそれぞれ出力する。また、メモリ8は、第1の信号をキー比較部13に出力する。
キー比較部14は、外部回路から入力されるキーgとメモリ9が出力するキーgとが一致するため、第2の信号をデータ読出処理部5に出力するとともに、データηを外部回路に出力する。
データ読出処理部5は、キー比較部14から第2の信号を受信すると、処理を終了する。
【0034】
このように、本実施形態によれば、メモリ6〜10を有効に利用することができる。コンピュータシミュレーションを行った結果によれば、従来技術におけるメモリの利用率は60%程度であるが、本実施形態におけるメモリ6〜10の利用率は90%程度となる。
【0035】
なお、本実施形態においては、メモリ6〜10の記憶容量を同一としているが、図8に示すように、メモリ6〜10の記憶容量の比を16:8:4:2:1とすることとしても良いし、その他の比率とすることとしても良い。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る半導体装置の構成を示す図。
【図2】図1のメモリ6〜10に格納されているデータを示す図。
【図3】図1のメモリ6〜10に格納されているデータを示す図。
【図4】図1のメモリ6〜10に格納されているデータを示す図。
【図5】図1のメモリ6〜10に格納されているデータを示す図。
【図6】図1のメモリ6〜10に格納されているデータを示す図。
【図7】図1のメモリ6〜10に格納されているデータを示す図。
【図8】メモリ6〜10の記憶容量の比率の例を示す図。
【符号の説明】
1 半導体装置、2 第1ハッシュ関数演算部、3 第2ハッシュ関数演算部、4 データ書込処理部、5 データ読出処理部、6〜10 メモリ11〜15キー比較部
Claims (1)
- キー及びデータを格納するための半導体装置であって、
第1〜第N(Nは、2以上の自然数)の記憶容量をそれぞれ有し、キー及びデータの書き込み時において、外部から入力されたキー又はデータを供給されたアドレスに格納し、キー及びデータの読み出し時において、キー及びデータが供給されたアドレスに格納されている場合に当該キー及びデータを出力し、キー及びデータが供給されたアドレスに格納されていない場合にその旨を表す第1の信号を出力する第1〜第Nの記憶部と、
前記第1〜第Nの記憶部へのキー及びデータの書き込み時において、前記外部から入力されたキーと前記第1〜第Nの記憶部が出力するキーとを比較し、前記外部から入力されたキーと前記第1〜第Nの記憶部が出力するキーとが一致する場合に、その旨を表す第2の信号を出力し、前記第1〜第Nの記憶部が前記第1の信号を出力する場合に、その旨を表す第3の信号を出力し、前記第1〜第Nの記憶部からのキー及びデータの読み出し時において、前記外部から入力されたキーと前記第1〜第Nの記憶部が出力するキーとを比較し、前記外部から入力されたキーと前記第1〜第Nの記憶部が出力するキーとが一致する場合に、前記第1〜第Nの記憶部の内の前記外部から入力されたキーと一致するキーを出力した記憶部が出力したデータを外部に出力する第1〜第Nの比較部と、
前記外部から入力されたキーを第1のアドレスに多対一対応させる第1の演算を行う第1の演算部と、
前記第1のアドレスを第2のアドレスに一対一対応させる第2の演算を行う第2の演算部と、
キー及びデータの書き込み時において、前記第1のアドレスを前記第1〜第Nの記憶部に供給し、第M番目(Mは、N以下の自然数)の比較部から前記第2の信号を受け取った場合に、前記外部から入力されたデータを前記第M番目の記憶部の前記第1のアドレスに格納させ、前記第1〜第Nの比較部のいずれからも前記第2の信号を受け取らず且つ前記第1〜第Nの比較部の内の1以上の比較部から前記第3の信号を受け取った場合に、前記外部から入力されたキー及びデータを、前記第1〜第Nの記憶部の内の前記第1の信号を出力した記憶部を第1の順序で配列した場合における最初の記憶部の前記第1のアドレスに格納させ、前記第1〜第Nの比較部のいずれからも前記第2の信号を受け取らず且つ前記第1〜第Nの比較部のいずれからも前記第3の信号を受け取らなかった場合に、前記第2のアドレスを前記第1〜第Nの記憶部に供給し、第L番目(Lは、N以下の自然数)の比較部から前記第2の信号を受け取った場合に、前記外部から入力されたデータを前記第L番目の記憶部の前記第2のアドレスに格納させ、前記第1〜第Nの比較部のいずれからも前記第2の信号を受け取らず且つ前記第1〜第Nの比較部の内の1以上の比較部から前記第3の信号を受け取った場合に、前記外部から入力されたキー及びデータを、前記第1〜第Nの記憶部の内の前記第1の信号を出力した記憶部を第2の順序で配列した場合における最初の記憶部の前記第2のアドレスに格納させる第1の処理部と、
データの読み出し時において、前記第1のアドレスを前記第1〜第Nの記憶部に供給し、前記第1〜第Nの比較部のいずれからも前記第2の信号を受け取らなかった場合に、前記第2のアドレスを前記第1〜第Nの記憶部に供給する第2の処理部と、
を具備する半導体装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003002831A JP2004213588A (ja) | 2003-01-09 | 2003-01-09 | 半導体装置 |
US10/755,120 US20040177256A1 (en) | 2003-01-09 | 2004-01-09 | Semiconductor apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003002831A JP2004213588A (ja) | 2003-01-09 | 2003-01-09 | 半導体装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004213588A true JP2004213588A (ja) | 2004-07-29 |
Family
ID=32820458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003002831A Pending JP2004213588A (ja) | 2003-01-09 | 2003-01-09 | 半導体装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20040177256A1 (ja) |
JP (1) | JP2004213588A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2523364A1 (en) | 2003-07-28 | 2012-11-14 | Panasonic Corporation | Radio Communication Apparatus and Radio Communication Method |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9417894B1 (en) | 2011-06-15 | 2016-08-16 | Ryft Systems, Inc. | Methods and apparatus for a tablet computer system incorporating a reprogrammable circuit module |
US20120324143A1 (en) | 2011-06-15 | 2012-12-20 | Data Design Corporation | Methods and apparatus for data access by a reprogrammable circuit module |
SG11201701440SA (en) * | 2014-10-03 | 2017-04-27 | Agency Science Tech & Res | Distributed active hybrid storage system |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6434662B1 (en) * | 1999-11-02 | 2002-08-13 | Juniper Networks, Inc. | System and method for searching an associative memory utilizing first and second hash functions |
US20020138648A1 (en) * | 2001-02-16 | 2002-09-26 | Kuang-Chih Liu | Hash compensation architecture and method for network address lookup |
-
2003
- 2003-01-09 JP JP2003002831A patent/JP2004213588A/ja active Pending
-
2004
- 2004-01-09 US US10/755,120 patent/US20040177256A1/en not_active Abandoned
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2523364A1 (en) | 2003-07-28 | 2012-11-14 | Panasonic Corporation | Radio Communication Apparatus and Radio Communication Method |
EP2547005A1 (en) | 2003-07-28 | 2013-01-16 | Panasonic Corporation | Radio Communication Apparatus and Radio Communication Method |
EP2547006A1 (en) | 2003-07-28 | 2013-01-16 | Panasonic Corporation | Radio Communicatino Apparatus and Radio Communication Method |
EP3567745A1 (en) | 2003-07-28 | 2019-11-13 | Optis Wireless Technology, LLC | Apparatus and method for radio communication |
Also Published As
Publication number | Publication date |
---|---|
US20040177256A1 (en) | 2004-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5731179B2 (ja) | 半導体記憶装置 | |
US6892273B1 (en) | Method and apparatus for storing mask values in a content addressable memory (CAM) device | |
JPH11273365A (ja) | 内容呼出し可能メモリ(cam) | |
JP5680511B2 (ja) | データ処理装置、トレースユニット、および診断装置 | |
US20110289256A1 (en) | Memory banking system and method to increase memory bandwidth via parallel read and write operations | |
JP2019121370A (ja) | メモリ装置 | |
IT201800000580A1 (it) | Metodo di aggiornamento in tempo reale di una memoria differenziale con accessibilita' continua in lettura, memoria differenziale e sistema elettronico | |
US9921969B2 (en) | Generation of random address mapping in non-volatile memories using local and global interleaving | |
US4800535A (en) | Interleaved memory addressing system and method using a parity signal | |
KR102597291B1 (ko) | 리페어 제어 장치 및 이를 포함하는 반도체 장치 | |
TW202103177A (zh) | 記憶體裝置及其操作方法 | |
US7774583B1 (en) | Processing bypass register file system and method | |
JPS6141028B2 (ja) | ||
JP2004213588A (ja) | 半導体装置 | |
JP4004847B2 (ja) | 連想メモリ装置 | |
NO150338B (no) | Null-detektor | |
US7363460B2 (en) | Semiconductor memory device having tag block for reducing initialization time | |
US20090235010A1 (en) | Data processing circuit, cache system, and data transfer apparatus | |
US7174418B2 (en) | Semiconductor memory device for enhancing refresh operation in high speed data access | |
KR100517765B1 (ko) | 캐시 메모리 및 그 제어 방법 | |
US20050177691A1 (en) | Access to bit values within data words stored in a memory | |
KR100546387B1 (ko) | 마스크 비트 전송방법 및 장치 | |
JPS5962959A (ja) | 記憶装置 | |
JP4785492B2 (ja) | メモリシステムおよび検索方法 | |
JP2011054221A (ja) | 記憶装置及び電子機器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060131 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060331 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060418 |