JP2004213588A - 半導体装置 - Google Patents

半導体装置 Download PDF

Info

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
Application number
JP2003002831A
Other languages
English (en)
Inventor
Shinichiro Kobayashi
新一郎 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2003002831A priority Critical patent/JP2004213588A/ja
Priority to US10/755,120 priority patent/US20040177256A1/en
Publication of JP2004213588A publication Critical patent/JP2004213588A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing 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

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キー比較部

Claims (1)

  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の処理部と、
    を具備する半導体装置。
JP2003002831A 2003-01-09 2003-01-09 半導体装置 Pending JP2004213588A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (4)

* Cited by examiner, † Cited by third party
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