JP5119912B2 - Associative memory - Google Patents
Associative memory Download PDFInfo
- Publication number
- JP5119912B2 JP5119912B2 JP2007336169A JP2007336169A JP5119912B2 JP 5119912 B2 JP5119912 B2 JP 5119912B2 JP 2007336169 A JP2007336169 A JP 2007336169A JP 2007336169 A JP2007336169 A JP 2007336169A JP 5119912 B2 JP5119912 B2 JP 5119912B2
- Authority
- JP
- Japan
- Prior art keywords
- search
- memory cell
- cell array
- data
- signal
- 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
Landscapes
- Dram (AREA)
Description
本発明は、連想メモリ(CAM:Content Addressable Memory)、即ち、外部から与えられた検索データと同一データを記憶するアドレスを検索し、検索データと同一データを記憶するアドレスを示すアドレス信号を外部に出力する機能(いわゆる検索機能)を有するメモリに関する。 The present invention retrieves an associative memory (CAM: Content Addressable Memory), that is, an address for storing the same data as search data given from the outside, and externally sends an address signal indicating the address for storing the same data as the search data. The present invention relates to a memory having an output function (so-called search function).
図17は連想メモリの機能をRAM(Random Access Memory)と比較して説明するための図である。図17中、1はRAM、2は連想メモリである。RAM1は、書き込み及び読み出しが可能とされたものであり、(A)に示すように、ライトコマンドとアドレス信号とデータが与えられると、アドレス信号が指示するアドレスに対するデータの書き込みを行い、(B)に示すように、リードコマンドとアドレス信号が与えられると、アドレス信号が指示するアドレスからデータを読み出して出力する。
FIG. 17 is a diagram for explaining the function of the associative memory in comparison with a RAM (Random Access Memory). In FIG. 17, 1 is a RAM and 2 is an associative memory. The
連想メモリ2は、書き込み、読み出し及び検索が可能とされたものであり、(C)に示すように、ライトコマンドとアドレス信号とデータが与えられると、アドレス信号が指示するアドレスに対するデータの書き込みを行い、(D)に示すように、リードコマンドとアドレス信号が与えられると、アドレス信号が指示するアドレスからデータを読み出して出力し、(E)に示すように、検索コマンドとデータが与えられると、与えられたデータと同一データを記憶するアドレスを検索し、検索したアドレスを示すアドレス信号を出力する。
The
図18は連想メモリが備えるメモリセルの一例を示す回路図である。図18中、WLはライト/リード時にメモリセルの選択を行うためのワードライン、BL、XBLはライト時にはライトアンプが出力する相補化されたライトデータのメモリセルへの伝送を行い、リード時にはメモリセルから読み出された相補化されたリードデータのセンスアンプへの伝送を行うためのビットライン、SB、XSBは外部から与えられた検索データを相補化してなるデータをサーチドライバからメモリセルに伝送するためのサーチバス、MLは検索データとメモリセルの記憶データとの一致、不一致を検出するためのマッチライン、3はSRAM(Static Random Access Memory)セルからなるメモリセルである。 FIG. 18 is a circuit diagram showing an example of a memory cell provided in the associative memory. In FIG. 18, WL is a word line for selecting a memory cell at the time of writing / reading, BL and XBL are transmitted to the memory cell of complementary write data output from the write amplifier at the time of writing, and memory at the time of reading. Bit lines SB and XSB for transmitting the complementary read data read from the cell to the sense amplifier, the data obtained by complementing the search data given from the outside is transmitted from the search driver to the memory cell. A search bus ML is a match line for detecting a match or mismatch between the search data and the stored data of the memory cell, and 3 is a memory cell composed of SRAM (Static Random Access Memory) cells.
また、メモリセル3において、4は記憶媒体をなすフリップフロップであり、5、6はインバータ、S0、S1はストレージノードである。7、8はワードラインWLの電位によりON、OFFが制御されるNMOSトランジスタ、9はストレージノードS0の電位によりON、OFFが制御されるNMOSトランジスタ、10はストレージノードS1の電位によりON、OFFが制御されるNMOSトランジスタ、11はサーチバスXSBの電位によりON、OFFが制御されるNMOSトランジスタ、12はサーチバスSBの電位によりON、OFFが制御されるNMOSトランジスタである。
In the
本例では、メモリセル3に対するデータの書き込み及びメモリセル3からのデータの読み出しは、ワードラインWLと、ビットラインBL、XBLと、NMOSトランジスタ7、8とを使用して行われる。表1はメモリセル3に対するデータ書き込み時及びメモリセル3からのデータ読み出し時におけるメモリセル3の記憶データとストレージノードS0、S1の論理値とビットラインBL、XBLの論理値との関係を示している。
In this example, data writing to the
ここで、メモリセル3にデータ“0”を書き込む場合には、ワードラインWLの論理値=“1”、NMOSトランジスタ7、8の状態=ON、ビットラインBLの論理値=“0”、ビットラインXBLの論理値=“1”とすることにより、ストレージノードS0の論理値=“0”、ストレージノードS1の論理値=“1”とし、その後、ワードラインWLの論理値=“0”、NMOSトランジスタ7、8の状態=OFFとする。
Here, when data “0” is written to the
これに対して、メモリセル3にデータ“1”を書き込む場合には、ワードラインWLの論理値=“1”、NMOSトランジスタ7、8の状態=ON、ビットラインBLの論理値=“1”、ビットラインXBLの論理値=“0”とすることにより、ストレージノードS0の論理値=“1”、ストレージノードS1の論理値=“0”とし、その後、ワードラインWLの論理値=“0”、NMOSトランジスタ7、8の状態=OFFとする。
On the other hand, when data “1” is written in the
また、メモリセル3の記憶データが“0”の場合、即ち、ストレージノードS0の論理値=“0”、ストレージノードS1の論理値=“1”とされている場合において、ワードラインWLの論理値=“1”、NMOSトランジスタ7、8の状態=ONとし、メモリセル3からデータを読み出すと、ビットラインBLの論理値=“0”、ビットラインXBLの論理値=“1”となる。
When the storage data of the
これに対して、メモリセル3の記憶データが“1”の場合、即ち、ストレージノードS0の論理値=“1”、ストレージノードS1の論理値=“0”とされている場合において、ワードラインWLの論理値=“1”、NMOSトランジスタ7、8の状態=ONとし、メモリセル3からデータを読み出すと、ビットラインBLの論理値=“1”、ビットラインXBLの論理値=“0”となる。
On the other hand, when the storage data of the
また、メモリセル3に対する検索は、サーチバスSB、XSBと、NMOSトランジスタ9〜12と、マッチラインMLとを使用して行われる。表2は検索時におけるメモリセル3の記憶データとストレージノードS0、S1の論理値と検索データとサーチバスSB、XSBの論理値とマッチラインMLの論理値との関係を示しており、図19〜図22はメモリセル3に対する検索動作を説明するための回路図である。
The search for the
本例では、非検索時には、サーチバスSB、XSBの論理値=“0”、NMOSトランジスタ11、12の状態=OFFとされる。これに対して、検索時には、マッチラインMLは、電源電圧VDDにプリチャージされ、その論理値を“1”とされる。そして、検索データ=“0”の場合には、サーチバスSBの論理値=“0”、サーチバスXSBの論理値=“1”とされ、検索データ=“1”の場合には、サーチバスSBの論理値=“1”、サーチバスXSBの論理値=“0”とされる。
In this example, at the time of non-search, the logical values of the search buses SB and XSB = “0”, and the states of the
ここで、図19に示すように、メモリセル3の記憶データ=“0”の場合(即ち、ストレージノードS0の論理値=“0”、ストレージノードS1の論理値=“1”とされている場合)に、検索データとして“0”が入力された場合(即ち、サーチバスSBの論理値=“0”、サーチバスXSBの論理値=“1”とされた場合)には、NMOSトランジスタ9はOFF、NMOSトランジスタ10はON、NMOSトランジスタ11はON、NMOSトランジスタ12はOFFとなるので、マッチラインMLの論理値=“1”が維持される。
Here, as shown in FIG. 19, when the storage data of the
これに対して、図20に示すように、メモリセル3の記憶データ=“0”の場合(即ち、ストレージノードS0の論理値=“0”、ストレージノードS1の論理値=“1”とされている場合)に、検索データとして“1”が入力された場合(即ち、サーチバスSBの論理値=“1”、サーチバスXSBの論理値=“0”とされた場合)には、NMOSトランジスタ9はOFF、NMOSトランジスタ10はON、NMOSトランジスタ11はOFF、NMOSトランジスタ12はONとなるので、マッチラインMLは、NMOSトランジスタ10、12を介して接地され、マッチラインMLの論理値は“0”に遷移する。
On the other hand, as shown in FIG. 20, when the storage data of the
また、図21に示すように、メモリセル3の記憶データ=“1”の場合(即ち、ストレージノードS0の論理値=“1”、ストレージノードS1の論理値=“0”とされている場合)に、検索データとして“1”が入力された場合(即ち、サーチバスSBの論理値=“1”、サーチバスXSBの論理値=“0”とされた場合)には、NMOSトランジスタ9はON、NMOSトランジスタ10はOFF、NMOSトランジスタ11はOFF、NMOSトランジスタ12はONとなるので、マッチラインMLの論理値=“1”が維持される。
Further, as shown in FIG. 21, when the storage data of the
また、図22に示すように、メモリセル3の記憶データ=“1”の場合(即ち、ストレージノードS0の論理値=“1”、ストレージノードS1の論理値=“0”とされている場合)に、検索データとして“0”が入力された場合(即ち、サーチバスSBの論理値=“0”、サーチバスXSBの論理値=“1”とされた場合)には、NMOSトランジスタ9はON、NMOSトランジスタ10はOFF、NMOSトランジスタ11はON、NMOSトランジスタ12はOFFとなるので、マッチラインMLは、NMOSトランジスタ9、11を介して接地され、マッチラインMLの論理値は“0”に遷移する。
As shown in FIG. 22, when the storage data of the
図23はメモリセル3に対する検索時のサーチバスSB、XSB及びマッチラインMLの電位変化を示す波形図であり、(A)はサーチバスSB、XSBの電位変化、(B)はマッチラインMLの電位変化を示している。前述のように、マッチラインMLは、電源電圧VDD(論理1)にプリチャージされるが、検索データとメモリセル3の記憶データとが不一致のときは、マッチラインMLは、NMOSトランジスタ9、11又はNMOSトランジスタ10、12を介して接地され、マッチラインMLの電位は0V(論理0)に下降し、検索データとメモリセル3の記憶データとが一致したときは、マッチラインMLは、接地されず、電源電圧VDD(論理1)を維持する。
FIG. 23 is a waveform diagram showing potential changes of the search buses SB and XSB and the match line ML at the time of search for the
図24は実際の連想メモリにおけるメモリセルとマッチラインとの関係を示す回路図である。図24中、3(0)、3(1)、3(2)、3(n−1)はメモリセルであり、メモリセル3(3)〜3(n−2)は図示を省略している。SB(0)、XSB(0)、SB(1)、XSB(1)、SB(2)、XSB(2)、SB(n−1)、XSB(n−1)はサーチバスであり、サーチバスSB(3)、XSB(3)〜SB(n−2)、XSB(n−2)は図示を省略している。 FIG. 24 is a circuit diagram showing the relationship between memory cells and match lines in an actual content addressable memory. In FIG. 24, 3 (0), 3 (1), 3 (2), and 3 (n-1) are memory cells, and the memory cells 3 (3) to 3 (n-2) are not shown. Yes. SB (0), XSB (0), SB (1), XSB (1), SB (2), XSB (2), SB (n-1), and XSB (n-1) are search buses, and search The buses SB (3), XSB (3) to SB (n-2), and XSB (n-2) are not shown.
また、15は検索時にマッチラインMLの電位変化を検出して検索結果信号MSZを出力するマッチライン・センスアンプ(MLSA:Match Line Sense Amplifier)である。マッチライン・センスアンプ15は、マッチラインMLの論理値=“1”のときは、検索結果信号MSZの論理値=“1”とし、マッチラインMLの論理値=“0”のときは、検索結果信号MSZの論理値=“0”とする。
図24に示すように、実際の連想メモリにおいては、メモリセルとマッチラインとの関係は、1対1ではなく、マッチラインMLには、検索データのビット数と同じ数のメモリセル3(0)〜3(n−1)が接続されている。そして、マッチラインMLは、nビットからなる検索データの各ビットの論理値が、対応するメモリセルの記憶データの論理値と一致するときは、“1”を維持するが、検索データのいずれかのビットの論理値が、対応するメモリセルの記憶データの論理値と一致しないときは、“0”に遷移する。 As shown in FIG. 24, in the actual associative memory, the relationship between the memory cell and the match line is not 1: 1, and the match line ML has the same number of memory cells 3 (0 as the number of search data bits). ) To 3 (n-1) are connected. The match line ML maintains “1” when the logical value of each bit of the search data composed of n bits matches the logical value of the data stored in the corresponding memory cell. Transitions to “0” when the logical value of this bit does not match the logical value of the data stored in the corresponding memory cell.
図25は従来の連想メモリの一例の一部分を示すブロック図である。図25中、16は図18に示す構成のメモリセルを1行(1ワードライン)当たりn個配列したメモリセル列が512行配列されてなるメモリセルアレイ、17はワードラインを駆動するワードデコーダ(WDEC)のグループであるワードデコーダ部、18はメモリセルに書き込みを行うライトアンプ(W/A)のグループであるライトアンプ部、19はビットラインに読み出されたデータを増幅するセンスアンプ(S/A)のグループであるセンスアンプ部である。 FIG. 25 is a block diagram showing a part of an example of a conventional content addressable memory. In FIG. 25, 16 is a memory cell array in which 512 memory cell columns in which n memory cells having the configuration shown in FIG. 18 are arranged per row (one word line) are arranged, and 17 is a word decoder (word decoder for driving word lines). WDEC) is a word decoder unit, 18 is a write amplifier (W / A) group that writes to a memory cell, and 19 is a sense amplifier (S) that amplifies the data read to the bit line. / A) is a sense amplifier unit.
20はサーチバスを駆動するサーチドライバ(S/D)のグループであるサーチドライバ部、21はマッチラインのレベル検出を行うマッチライン・センスアンプ(MLSA)のグループであるマッチライン・センスアンプ部、22はマッチライン・センスアンプ部21が出力する検索結果信号MSZをエンコードして、検索データと同一のデータが記憶されているアドレスを示すアドレス信号を出力するエンコーダ(ENC)である。
20 is a search driver section that is a group of search drivers (S / D) that drives the search bus, 21 is a match line sense amplifier section that is a group of match line sense amplifiers (MLSA) that performs level detection of match lines, An encoder (ENC) 22 encodes the search result signal MSZ output from the match line /
23は外部から与えられる検索コマンド信号をデコードするコマンドデコーダ(COMDEC)、24はコマンドデコーダ23が出力する検索コマンドデコード信号を入力してサーチドライバ部20のサーチドライバに与えるサーチドライバ活性化信号を生成するサーチドライバ活性化信号生成回路(SBEGEN)である。
図26は図25に示す従来の連想メモリの一部分をより詳しく示す回路図である。メモリセルアレイ16において、3(0、0)は1行目の1ビット目のメモリセル、3(0、1)は1行目の2ビット目のメモリセル、3(0、n−1)は1行目のnビット目のメモリセルであり、1行目の3ビット目〜n−1ビット目のメモリセル3(0、2)〜3(0、n−2)は図示を省略している。3(1、0)は2行目の1ビット目のメモリセル、3(1、1)は2行目の2ビット目のメモリセル、3(1、n−1)は2行目のnビット目のメモリセルであり、2行目の3ビット目〜n−1ビット目のメモリセル3(1、2)〜3(1、n−2)は図示を省略している。
FIG. 26 is a circuit diagram showing a part of the conventional content addressable memory shown in FIG. 25 in more detail. In the
3(511、0)は512行目の1ビット目のメモリセル、3(511、1)は512行目の2ビット目のメモリセル、3(511、n−1)は512行目のnビット目のメモリセルであり、512行目の3ビット目〜n−1ビット目のメモリセル3(511、2)〜3(511、n−2)は図示を省略している。また、3行目〜511行目のメモリセル3(2、0)〜3(2、n−1)、…、3(510、0)〜3(510、n−1)も図示を省略している。図27は図25に示すメモリセルアレイ16の部分をより詳しく示している。なお、本例では、m行目(但し、m=1、2、…、512であり、以下、同様である。)のメモリセル列の番地は、m−1番地とされる。
3 (511, 0) is the first bit memory cell in the 512th row, 3 (511, 1) is the second bit memory cell in the 512th row, and 3 (511, n-1) is n in the 512th row. The memory cells 3 (511, 2) to 3 (511, n-2) of the third bit to the (n-1) th bit in the 512th row are not shown. The memory cells 3 (2, 0) to 3 (2, n−1),..., 3 (510, 0) to 3 (510, n−1) in the third to 511th rows are not shown. ing. FIG. 27 shows in more detail the portion of the
また、図26において、WL0は1行目のワードライン、WL1は2行目のワードライン、WL511は512行目のワードラインであり、3行目〜511行目のワードラインWL2〜WL510は図示を省略している。ML0は1行目のマッチライン、ML1は2行目のマッチライン、ML511は512行目のマッチラインであり、3行目〜511行目のマッチラインML2〜ML510は図示を省略している。 In FIG. 26, WL0 is the word line of the first row, WL1 is the word line of the second row, WL511 is the word line of the 512th row, and the word lines WL2 to WL510 of the third to 511th rows are illustrated. Is omitted. ML0 is the first match line, ML1 is the second match line, ML511 is the 512th match line, and the third to 511th match lines ML2 to ML510 are not shown.
ワードデコーダ部17において、25(0)は1行目のワードラインWL0に対応して設けられたワードデコーダ、25(1)は2行目のワードラインWL1に対応して設けられたワードデコーダ、25(511)は512行目のワードラインWL511に対応して設けられたワードデコーダであり、3行目〜511行目のワードラインWL2〜WL510に対応して設けられたワードデコーダ25(2)〜25(510)は図示を省略している。
In the
ライトアンプ部18において、26(0)は1ビット目のビットラインBL(0)、XBL(0)に対応して設けられたライトアンプ、26(1)は2ビット目のビットラインBL(1)、XBL(1)に対応して設けられたライトアンプ、26(n−1)はnビット目のビットラインBL(n−1)、XBL(n−1)に対応して設けられたライトアンプであり、3ビット目〜n−1ビット目のビットラインBL(2)、XBL(2)〜BL(n−2)、XBL(n−2)に対応して設けられたライトアンプ26(2)〜26(n−2)は図示を省略している。
In the
センスアンプ部19において、27(0)は1ビット目のビットラインBL(0)、XBL(0)に対応して設けられたセンスアンプ、27(1)は2ビット目のビットラインBL(1)、XBL(1)に対応して設けられたセンスアンプ、27(n−1)はnビット目のビットラインBL(n−1)、XBL(n−1)に対応して設けられたセンスアンプであり、3ビット目〜n−1ビット目のビットラインBL(2)、XBL(2)〜BL(n−2)、XBL(n−2)に対応して設けられたセンスアンプ27(2)〜27(n−2)は図示を省略している。
In the
サーチドライバ部20において、28(0)は1ビット目のサーチバスSB(0)、XSB(0)に対応して設けられたサーチドライバ、28(1)は2ビット目のサーチバスSB(1)、XSB(1)に対応して設けられたサーチドライバ、28(n−1)はnビット目のサーチバスSB(n−1)、XSB(n−1)に対応して設けられたサーチドライバであり、3ビット目〜n−1ビット目のサーチバスSB(2)、XSB(2)〜SB(n−2)、XSB(n−2)に対応して設けられたサーチドライバ28(2)〜28(n−2)は図示を省略している。
In the
マッチライン・センスアンプ部21において、15(0)は1行目のマッチラインML0に対応して設けられたマッチライン・センスアンプ、15(1)は2行目のマッチラインML1に対応して設けられたマッチライン・センスアンプ、15(511)は512行目のマッチラインML511に対応して設けられたマッチライン・センスアンプであり、3行目〜511行目のマッチラインML2〜ML510に対応して設けられたマッチライン・センスアンプ15(2)〜15(510)は図示を省略している。
In the match line /
図28は図25に示す従来の連想メモリの検索動作例を説明するための回路図、図29及び図30は図25に示す従来の連想メモリの検索動作例を示すタイミング図であり、図29は検索データDINと1番地の記憶データとが一致した場合、図30は検索データDINと0番地の記憶データとが一致した場合である。
28 is a circuit diagram for explaining an example of the search operation of the conventional associative memory shown in FIG. 25, and FIGS. 29 and 30 are timing diagrams showing an example of the search operation of the conventional associative memory shown in FIG. FIG. 30 shows the case where the search data DIN matches the storage data at the
図28において、XSERは外部からコマンドデコーダ23に与えられる検索コマンド信号、SERZはコマンドデコーダ23が出力する検索コマンドデコード信号、SBEZはサーチドライバ活性化信号生成回路24が出力するサーチドライバ活性化信号、DINは外部から与えられるnビットからなる検索データ、D(0)は検索データDINの1ビット目のデータ、D(n−1)は検索データDINのnビット目のデータであり、検索データDINの2ビット目〜n−1ビット目のデータD(1)〜D(n−2)は図示を省略している。また、MS0Zは1行目のマッチライン・センスアンプ15(0)が出力する検索結果信号、MS1Zは2行目のマッチライン・センスアンプ15(1)が出力する検索結果信号、EAはエンコーダ22が出力する9ビットからなるアドレス信号である。
In FIG. 28, XSER is a search command signal supplied to the
また、図29及び図30において、(A)は動作サイクルを決めるクロック信号CLK、(B)は検索コマンド信号XSER、(C)は検索コマンドデコード信号SERZ、(D)はサーチドライバ活性化信号SBEZ、(E)はサーチバスSB(p)、XSB(p)の論理値(但し、p=0、1、…、n−1であり、以下、同様である。)、(F)はマッチラインML0の論理値、(G)は検索結果信号MS0Z、(H)はマッチラインML1の論理値、(I)は検索結果信号MS1Zを示している。 29 and 30, (A) is a clock signal CLK for determining an operation cycle, (B) is a search command signal XSER, (C) is a search command decode signal SERZ, and (D) is a search driver activation signal SBEZ. , (E) are logical values of search buses SB (p), XSB (p) (where p = 0, 1,..., N−1, and so on), (F) is a match line. The logical value of ML0, (G) indicates the search result signal MS0Z, (H) indicates the logical value of the match line ML1, and (I) indicates the search result signal MS1Z.
即ち、図25に示す従来の連想メモリにおいては、検索前(スタンバイ時)には、検索コマンド信号XSER=“1”、検索コマンドデコード信号SERZ=“0”、サーチドライバ活性化信号SBEZ=“0”、サーチバスSB(p)、XSB(p)の論理値=“0”、マッチラインML0〜ML511の論理値=“1”、検索結果信号MS0Z〜MS511Z=“1”とされる。 That is, in the conventional associative memory shown in FIG. 25, the search command signal XSER = “1”, the search command decode signal SERZ = “0”, and the search driver activation signal SBEZ = “0” before search (during standby). “, Logical values of search buses SB (p) and XSB (p) =“ 0 ”, logical values of match lines ML0 to ML511 =“ 1 ”, and search result signals MS0Z to MS511Z =“ 1 ”.
そして、検索を行う場合には、図29及び図30に示すように、検索コマンド信号XSER=“0”とされ、検索が指示されると共に、サーチドライバ28(0)〜28(n−1)に検索データD(0)〜D(n−1)が与えられる。この結果、コマンドデコーダ23は、検索コマンドデコード信号SERZ=“1”とし、これに応答して、サーチドライバ活性化信号生成回路24は、サーチドライバ活性化信号SBEZ=“1”とし、サーチドライバ28(p)は、検索データD(p)の値に対応してサーチバスSB(p)、XSB(p)の一方の論理値=“1”、他方の論理値=“0”とする。
When searching, as shown in FIGS. 29 and 30, the search command signal XSER = “0” is set, the search is instructed, and the search drivers 28 (0) to 28 (n−1). Is provided with search data D (0) to D (n-1). As a result, the
ここで、検索データD(0)〜D(n−1)が0番地の記憶データ(即ち、メモリセル3(0、0)〜3(0、n−1)の記憶データ)と一致せず、1番地の記憶データ(即ち、メモリセル3(1、0)〜3(1、n−1)の記憶データ)と一致すると、図29に示すように、マッチラインML0の論理値=“0”となり、マッチラインML1の論理値=“1”が維持される。この結果、マッチライン・センスアンプ15(0)は、検索結果信号MS0Z=“0”とし、マッチライン・センスアンプ15(1)は、検索結果信号MS1Z=“1”を維持する。したがって、この場合には、エンコーダ22は、1番地を示すアドレス信号EAとして[000000001]を出力する。
Here, the search data D (0) to D (n−1) do not match the storage data at the address 0 (that is, the storage data of the memory cells 3 (0, 0) to 3 (0, n−1)). When the data matches the storage data at address 1 (that is, the storage data of memory cells 3 (1, 0) to 3 (1, n-1)), as shown in FIG. 29, the logical value of match line ML0 = "0" ", And the logical value of the match line ML1 =" 1 "is maintained. As a result, the match line sense amplifier 15 (0) sets the search result signal MS0Z = “0”, and the match line sense amplifier 15 (1) maintains the search result signal MS1Z = “1”. Therefore, in this case, the
これに対して、検索データD(0)〜D(n−1)が0番地の記憶データ(即ち、メモリセル3(0、0)〜3(0、n−1)の記憶データ)と一致し、1番地の記憶データ(即ち、メモリセル3(1、0)〜3(1、n−1)の記憶データ)と一致しなかった場合には、図30に示すように、マッチラインML0の論理値=“1”が維持され、マッチラインML1の論理値=“0”となる。この結果、マッチライン・センスアンプ15(0)は、検索結果信号MS0Z=“1”を維持し、マッチライン・センスアンプ15(1)は、検索結果信号MS1Zの論理値=“0”とする。したがって、この場合には、エンコーダ22は、0番地を示すアドレス信号EAとして[000000000]を出力する。
On the other hand, the search data D (0) to D (n−1) is equal to the storage data at address 0 (that is, the storage data of the memory cells 3 (0, 0) to 3 (0, n−1)). If it does not match the storage data at address 1 (that is, the storage data of memory cells 3 (1, 0) to 3 (1, n-1)), as shown in FIG. 30, match line ML0 Of the match line ML1 is maintained at “0”. As a result, the match line sense amplifier 15 (0) maintains the search result signal MS0Z = "1", and the match line sense amplifier 15 (1) sets the logical value of the search result signal MS1Z = "0". . Therefore, in this case, the
なお、連想メモリは、検索データが複数番地の記憶データと一致した場合、どの番地を示すアドレス信号を出力するかについて予め優先順位を定めておき、これに従ってアドレス信号を出力するという機能、即ち、プライオリティ・マッチ(Priority match)機能を備えている。例えば、図25に示す従来の連想メモリが、検索データDINが複数番地の記憶データと一致した場合には、最小番地を示すアドレス信号を出力するという優先順位を定めている場合において、例えば、図31に示すように、検索データDINが0番地の記憶データと2番地の記憶データとに一致した場合には、エンコーダ22は、0番地を検出して、0番地を示すアドレス信号を出力することになる。
図25に示す従来の連想メモリにおいては、検索データDINについての検索動作は、512個の全アドレス(0番地〜511番地)に対して行われるが、検索データDINと同一データを記憶するアドレスは、ほんの一部であり、512本のマッチラインML0〜ML511のほとんどは、その論理値が“0”に遷移するので、検索後、スタンバイ状態に戻る際には512本のマッチラインML0〜ML511のほとんどについて充電が必要となる。ここに、検索後、スタンバイ状態に戻る際に充電を必要とするマッチラインの数を減らすことができれば、消費電流を低減することができるので、これを可能とする連想メモリの開発が要請されている。 In the conventional associative memory shown in FIG. 25, the search operation for the search data DIN is performed for all 512 addresses (addresses 0 to 511), but the address for storing the same data as the search data DIN is The logic value of most of the 512 match lines ML0 to ML511 transitions to “0”, so when returning to the standby state after the search, the 512 match lines ML0 to ML511 Most require charging. Here, if it is possible to reduce the number of match lines that need to be charged when returning to the standby state after searching, the current consumption can be reduced, so the development of an associative memory capable of this is required. Yes.
本発明は、かかる点に鑑み、検索後、スタンバイ状態に戻る際に充電を必要とするマッチラインの数を減らし、消費電流の低減化を図ることができるようにした連想メモリを提供することを目的とする。 In view of the above, the present invention provides an associative memory that can reduce the number of match lines that need to be charged when returning to a standby state after a search, thereby reducing current consumption. Objective.
本出願で開示する連想メモリは、外部から与えられた検索データについて順に検索対象とされる複数のメモリセルアレイと、前記検索データと同一データを記憶するメモリセルアレイについて検索を実行したときは、前記検索データと同一データを記憶するメモリセルアレイ以降に検索対象とされているメモリセルアレイについては検索を実行しないように検索動作を制御する制御部とを備えるものである。 The associative memory disclosed in the present application performs a search for a plurality of memory cell arrays that are sequentially searched for search data given from the outside and a memory cell array that stores the same data as the search data. A control unit that controls a search operation so as not to execute a search for a memory cell array that is to be searched after the memory cell array that stores the same data as the data is provided.
開示した連想メモリによれば、前記制御部は、前記検索データと同一データを記憶するメモリセルアレイについて検索を実行したときは、前記検索データと同一データを記憶するメモリセルアレイ以降に検索対象とされているメモリセルアレイについては検索を実行しないように検索動作を制御するので、検索後、スタンバイ状態に戻る際に、前記検索データと同一データを記憶するメモリセルアレイ以降に検索対象とされているメモリセルアレイに設けられているマッチラインについては充電の必要がない。したがって、検索後、スタンバイ状態に戻る際に充電を必要とするマッチラインの数を減らし、消費電流の低減化を図ることができる。 According to the disclosed associative memory, when the control unit executes a search for a memory cell array that stores the same data as the search data, the control unit is set as a search target after the memory cell array that stores the same data as the search data. Since the search operation is controlled so as not to execute the search for the memory cell array in the memory cell array, when returning to the standby state after the search, the memory cell array that stores the same data as the search data after the memory cell array is searched. There is no need to charge the match line provided. Therefore, it is possible to reduce the number of match lines that need to be charged when returning to the standby state after the search, thereby reducing current consumption.
(第1実施形態)
図1は本発明の第1実施形態の一部分を示す回路図である。図1中、31、32はそれぞれ図18に示す構成のメモリセルを1行(1ワードライン)当たりn個配列したメモリセル列が256行配列されたメモリセルアレイ(MCA)である。これらメモリセルアレイ31、32は、図25に示す従来の連想メモリが備えるメモリセルアレイ16を0番地〜255番地までの部分と256番地〜512番地までの部分に分割したものであり、メモリセルアレイ31は0番地〜255番地の部分、メモリセルアレイ32は256番地〜512番地の部分である。
(First embodiment)
FIG. 1 is a circuit diagram showing a part of the first embodiment of the present invention. In FIG. 1,
本発明の第1実施形態においては、ビットラインは、メモリセルアレイ31、32に対してビットラインBL(0)、XBL(0)〜BL(n−1)、XBL(n−1)が共通に設けられるが、サーチバスは、メモリセルアレイ31に対してはサーチバスSB0(0)、XSB0(0)〜SB0(n−1)、XSB0(n−1)が設けられ、メモリセルアレイ32に対してはサーチバスSB1(0)、XSB1(0)〜SB1(n−1)、XSB1(n−1)が設けられる。
In the first embodiment of the present invention, bit lines BL (0), XBL (0) to BL (n−1), and XBL (n−1) are common to the
33はメモリセルアレイ31に配列されているワードラインWL0〜WL255及びメモリセルアレイ32に配列されているワードラインWL256〜WL511を駆動するワードデコーダのグループであるワードデコーダ部、34はメモリセルアレイ31、32のメモリセルに書き込みを行うライトアンプのグループであるライトアンプ部、35はメモリセルアレイ31、32のメモリセルからビットラインBL(0)、XBL(0)〜BL(n−1)、XBL(n−1)に読み出されたデータを増幅するセンスアンプのグループであるセンスアンプ部である。
36はメモリセルアレイ31に配列されているサーチバスSB0(0)、XSB0(0)〜SB0(n−1)、XSB0(n−1)を駆動するサーチドライバのグループであるサーチドライバ部、37はメモリセルアレイ32に配列されているサーチバスSB1(0)、XSB1(0)〜SB1(n−1)、XSB1(n−1)を駆動するサーチドライバのグループであるサーチドライバ部、38はメモリセルアレイ31に配置されているサーチバスSB0(0)、XSB0(0)〜SB0(n−1)、XSB0(n−1)の論理値を取り込んでサーチドライバ部37のサーチドライバに転送するフリップフロップ(FF)のグループであるフリップフロップ部である。
39はメモリセルアレイ31に配列されているマッチラインML0〜ML255のレベル検出を行うマッチライン・センスアンプのグループであるマッチライン・センスアンプ部、40はメモリセルアレイ32に配列されているマッチラインML256〜ML511のレベル検出を行うマッチライン・センスアンプのグループであるマッチライン・センスアンプ部である。
41はマッチライン・センスアンプ部39が出力する検索結果信号MS0Z〜MS255Zとマッチライン・センスアンプ部40が出力する検索結果信号MS256Z〜MS511Zとを入力し、検索データDINと同一データを記憶しているアドレスを示す9ビットのアドレス信号EAを生成するエンコーダである。なお、エンコーダ41は、検索データDINが複数番地の記憶データと一致した場合、これら複数番地のうち、最小番地を示すアドレス信号EAを出力するものである。
41 receives search result signals MS0Z to MS255Z output from the matchline /
42は外部から与えられた検索コマンド信号XSERをデコードして検索コマンドデコード信号SERZを出力するコマンドデコーダ、43はコマンドデコーダ42が出力する検索コマンドデコード信号SERZを入力してサーチドライバ部36のサーチドライバに与えるサーチドライバ活性化信号SBE0Zを生成するサーチドライバ活性化信号生成回路、44はサーチドライバ活性化信号生成回路43が出力するサーチドライバ活性化信号SBE0Zをクロック信号CLKに同期して取り込むフリップフロップである。
A
45はマッチライン・センスアンプ部39が出力する検索結果信号MS0Z〜MS255Zを入力し、検索結果信号MS0Z〜MS255Zが全て“0”の場合(即ち、検索データDINがメモリセルアレイ31に記憶されているデータの全てと不一致の場合)であるか、あるいは、検索結果信号MS0Z〜MS255Zのいずれかが“1”の場合(即ち、検索データDINがメモリセルアレイ31に記憶されているデータのいずれかと一致した場合)であるかを判定して検索結果判定信号DET0Zを出力する検索結果判定回路(DET)である。
45 receives the search result signals MS0Z to MS255Z output from the match line /
検索結果判定回路45は、検索結果信号MS0Z〜MS255Zが全て“0”の場合(即ち、検索データDINがメモリセルアレイ31に記憶されているデータの全てと不一致の場合)には、検索結果判定信号DET0Z=“1”とし、検索結果信号MS0Z〜MS255Zのいずれかが“1”の場合(即ち、検索データDINがメモリセルアレイ31に記憶されているデータのいずれかと一致した場合)には、検索結果判定信号DET0Z=“0”とする。
When the search result signals MS0Z to MS255Z are all “0” (that is, when the search data DIN does not match all the data stored in the memory cell array 31), the search
46は検索結果判定回路45が出力する検索結果判定信号DET0Zとフリップフロップ44が出力するサーチドライバ活性化信号SBE0Zとを入力して、サーチドライバ部37のサーチドライバに与えるサーチドライバ活性化信号SBE1Zを出力するサーチドライバ活性化信号バッファ(SBEBUF)である。サーチドライバ活性化信号バッファ46は、検索結果判定信号DET0Z=“1”のときは、フリップフロップ44が出力するサーチドライバ活性化信号SBE0Zをサーチドライバ活性化信号SBE1Zとして出力し、検索結果判定信号DET0Z=“0”のときは、サーチドライバ活性化信号SBE1Z=“0”とする。
46 receives the search result determination signal DET0Z output from the search
図2は本発明の第1実施形態の一部分をより詳しく示す回路図であり、メモリセルアレイ31、32、ライトアンプ部34、センスアンプ部35、サーチドライバ部36、37及びフリップフロップ部38の部分をより詳細に示している。
FIG. 2 is a circuit diagram showing a part of the first embodiment of the present invention in more detail. The
メモリセルアレイ31において、50(0、0)は1行目の1ビット目のメモリセル、50(0、n−1)は1行目のnビット目のメモリセルであり、1行目の2ビット目〜n−1ビット目のメモリセル50(0、1)〜50(0、n−2)は図示を省略している。50(255、0)は256行目の1ビット目のメモリセル、50(255、n−1)は256行目のnビット目のメモリセルであり、2行目の2ビット目〜n−1ビット目のメモリセル50(255、1)〜50(255、n−2)は図示を省略している。また、2行目〜255行目のメモリセル50(1、0)〜50(1、n−1)、…、50(254、0)〜50(254、n−1)も図示を省略している。図3はメモリセルアレイ31の部分をより詳しく示している。
In the
メモリセルアレイ32において、50(256、0)は257行目の1ビット目のメモリセル、50(256、n−1)は257行目のnビット目のメモリセルであり、257行目の2ビット目〜n−1ビット目のメモリセル256(0、1)〜256(0、n−2)は図示を省略している。50(511、0)は512行目の1ビット目のメモリセル、50(511、n−1)は512行目のnビット目のメモリセルであり、512行目の2ビット目〜n−1ビット目のメモリセル50(511、1)〜50(511、n−2)は図示を省略している。また、258行目〜511行目のメモリセル50(257、0)〜50(257、n−1)、…、50(510、0)〜50(510、n−1)も図示を省略している。図4はメモリセルアレイ32の部分をより詳しく示している。
In the
WL0は1行目のワードライン、WL255は256行目のワードラインであり、2行目〜255行目のワードラインWL1〜WL254は図示を省略している。WL256は257行目のワードライン、WL511は512行目のワードラインであり、258行目〜511行目のワードラインWL257〜WL510は図示を省略している。 WL0 is the first word line, WL255 is the 256th word line, and the second to 255th word lines WL1 to WL254 are not shown. WL256 is the word line of the 257th row, WL511 is the word line of the 512th row, and the word lines WL257 to WL510 of the 258th to 511th rows are not shown.
ML0は1行目のマッチライン、ML255は256行目のマッチラインであり、2行目〜255行目のマッチラインML1〜ML254は図示を省略している。ML256は257行目のマッチライン、ML511は512行目のマッチラインであり、258行目〜511行目のマッチラインML257〜ML510は図示を省略している。 ML0 is the first match line, ML255 is the 256th match line, and the second to 255th match lines ML1 to ML254 are not shown. ML256 is a match line of the 257th row, ML511 is a matchline of the 512th row, and matchlines ML257 to ML510 of the 258th to 511th rows are not shown.
ライトアンプ部34において、51(0)は1ビット目のビットラインBL(0)、XBL(0)に対応して設けられたライトアンプ、51(n−1)はnビット目のビットラインBL(n−1)、XBL(n−1)に対応して設けられたライトアンプであり、2ビット目〜n−1ビット目のビットラインBL(1)、XBL(1)〜BL(n−2)、XBL(n−2)に対応して設けられたライトアンプ51(1)〜51(n−2)は図示を省略している。
In the
センスアンプ部35において、52(0)は1ビット目のビットラインBL(0)、XBL(0)に対応して設けられたセンスアンプ、52(n−1)はnビット目のビットラインBL(n−1)、XBL(n−1)に対応して設けられたセンスアンプであり、2ビット目〜n−1ビット目のビットラインBL(1)、XBL(1)〜BL(n−2)、XBL(n−2)に対応して設けられたセンスアンプ52(1)〜52(n−2)は図示を省略している。
In the
サーチドライバ部36において、53(0)は1ビット目のサーチバスSB0(0)、XSB0(0)に対応して設けられたサーチドライバ、53(n−1)はnビット目のサーチバスSB0(n−1)、XSB0(n−1)に対応して設けられたサーチバスであり、2ビット目〜n−1ビット目のサーチバスSB0(1)、XSB0(1)〜SB0(n−2)、XSB0(n−2)に対応して設けられたサーチドライバ53(2)〜53(n−2)は図示を省略している。
In the
サーチドライバ53(p)は、サーチドライバ活性化信号SBE0Z=“1”のときは活性化され、与えられた検索データD(p)に対応して、サーチバスSB0(p)、XSB0(p)の一方の論理値=“1”、他方の論理値=“0”とし、サーチドライバ活性化信号SBE0Z=“0”のときは非活性とされ、サーチバスSB0(p)、XSB0(p)の論理値=“0”とする。 The search driver 53 (p) is activated when the search driver activation signal SBE0Z = “1”, and corresponds to the search data D (p) applied to the search buses SB0 (p) and XSB0 (p). When the search driver activation signal SBE0Z = "0" and one of the logic values = "1" and the other logic value = "0", the signal is deactivated and the search buses SB0 (p) and XSB0 (p) Logical value = “0”.
サーチドライバ部37において、54(0)は1ビット目のサーチバスSB1(0)、XSB1(0)に対応して設けられたサーチドライバ、54(n−1)はnビット目のサーチバスSB1(n−1)、XSB1(n−1)に対応して設けられたサーチバスであり、2ビット目〜n−1ビット目のサーチバスSB1(1)、XSB1(1)〜SB1(n−2)、XSB1(n−2)に対応して設けられたサーチドライバ54(2)〜54(n−2)は図示を省略している。
In the
サーチドライバ54(p)は、サーチドライバ活性化信号SBE1Z=“1”のときは活性化され、フリップフロップ部38を介して与えられるサーチバスSB0(p)、XSB0(p)の論理値(検索データDIN)に対応して、サーチバスSB1(p)、XSB1(p)の一方の論理値=“1”、他方の論理値=“0”とし、サーチドライバ活性化信号SBE1Z=“0”のときは非活性とされ、サーチバスSB1(p)、XSB1(p)の論理値=“0”とする。
The search driver 54 (p) is activated when the search driver activation signal SBE1Z = “1”, and the logical values (searches) of the search buses SB0 (p) and XSB0 (p) given through the flip-
図5は本発明の第1実施形態の一部分をより詳しく示す回路図であり、ワードデコーダ部33及びマッチライン・センスアンプ部39、40の部分をより詳細に示している。ワードデコーダ部33において、55(0)は1行目のワードラインWL0に対応して設けられたワードデコーダ、55(255)は256行目のワードラインWL255に対応して設けられたワードデコーダであり、2行目〜255行目のワードラインWL1〜WL254に対応して設けられたワードデコーダ55(1)〜55(254)は図示を省略している。
FIG. 5 is a circuit diagram showing a part of the first embodiment of the present invention in more detail, and shows parts of the
また、55(256)は257行目のワードラインWL256に対応して設けられたワードデコーダ、55(511)は512行目のワードラインWL511に対応して設けられたワードデコーダであり、258行目〜511行目のワードラインWL257〜WL510に対応して設けられたワードデコーダ55(257)〜55(510)は図示を省略している。 55 (256) is a word decoder provided corresponding to the word line WL256 of the 257th row, and 55 (511) is a word decoder provided corresponding to the word line WL511 of the 512th row. The word decoders 55 (257) to 55 (510) provided corresponding to the word lines WL257 to WL510 in the first to 511th rows are not shown.
マッチライン・センスアンプ部39において、56(0)は1行目のマッチラインML0に対応して設けられたマッチライン・センスアンプ、56(255)は256行目のマッチラインML255に対応して設けられたマッチライン・センスアンプであり、2行目〜255行目のマッチラインML1〜ML254に対応して設けられたマッチライン・センスアンプ56(1)〜56(254)は図示を省略している。
In the match line /
マッチライン・センスアンプ部40において、56(256)は257行目のマッチラインML256に対応して設けられたマッチライン・センスアンプ、56(511)は512行目のマッチラインML511に対応して設けられたマッチライン・センスアンプであり、258行目〜511行目のマッチラインML257〜ML510に対応して設けられたマッチライン・センスアンプ56(257)〜56(510)は図示を省略している。
In the match line /
図6及び図7は本発明の第1実施形態の検索動作例を示すタイミング図であり、図6は検索データDINがメモリセルアレイ31に記憶されているデータの全てと不一致の場合、図7は検索データDINがメモリセルアレイ31に記憶されているデータのいずれかと一致した場合である。
6 and 7 are timing diagrams showing an example of a search operation according to the first embodiment of the present invention. FIG. 6 shows a case where the search data DIN does not match all the data stored in the
図6及び図7において、(A)は動作サイクルを決めるクロック信号CLK、(B)は検索コマンド信号XSER、(C)は検索コマンドデコード信号SERZ、(D)はサーチドライバ活性化信号SBE0Z、(E)はサーチバスSB0(p)、XSB0(p)の論理値、(F)はマッチラインML0〜ML255の論理値、(G)は検索結果信号MS0Z〜MS255Z、(H)は検索結果判定信号DET0Z、(I)はサーチドライバ活性化信号SBE1Z、(J)はサーチバスSB1(p)、XSB1(p)の論理値、(K)はマッチラインML256〜ML511の論理値、(L)は検索結果判定信号MS256Z〜MS511Zを示している。 6A and 7B, (A) is a clock signal CLK that determines an operation cycle, (B) is a search command signal XSER, (C) is a search command decode signal SERZ, (D) is a search driver activation signal SBE0Z, ( E) is a logical value of the search buses SB0 (p) and XSB0 (p), (F) is a logical value of the match lines ML0 to ML255, (G) is a search result signal MS0Z to MS255Z, (H) is a search result determination signal. DET0Z, (I) is the search driver activation signal SBE1Z, (J) is the logical value of the search bus SB1 (p), XSB1 (p), (K) is the logical value of the match lines ML256 to ML511, (L) is the search The result determination signals MS256Z to MS511Z are shown.
即ち、本発明の第1実施形態においては、検索前(スタンバイ時)には、検索コマンド信号XSER=“1”、検索コマンドデコード信号SERZ=“0”、サーチドライバ活性化信号SBE0Z=“0”、サーチバスSB0(p)、XSB0(p)の論理値=“0”、マッチラインML0〜ML255の論理値=“1”、検索結果信号MS0Z〜MS255Z=“1”、検索結果判定信号DET0Z=“0”、サーチドライバ活性化信号SBE1Z=“0”、サーチバスSB1(p)、XSB1(p)の論理値=“0”、マッチラインML256〜ML511の論理値=“1”、検索結果信号MS256Z〜MS511Z=“1”とされる。 That is, in the first embodiment of the present invention, the search command signal XSER = “1”, the search command decode signal SERZ = “0”, and the search driver activation signal SBE0Z = “0” before the search (during standby). , Logical values of search buses SB0 (p) and XSB0 (p) = “0”, logical values of match lines ML0 to ML255 = “1”, search result signals MS0Z to MS255Z = “1”, search result determination signal DET0Z = “0”, search driver activation signal SBE1Z = “0”, search bus SB1 (p), logical value of XSB1 (p) = “0”, logical value of match lines ML256 to ML511 = “1”, search result signal MS256Z to MS511Z = “1”.
そして、検索を行う場合には、図6(B)及び図7(B)に示すように、例えば、サイクルSwで、検索コマンド信号XSER=“0”とされ、検索が指示されると共に、サーチドライバ53(0)〜53(n−1)に検索データD(0)〜D(n−1)が与えられる。この結果、コマンドデコーダ42は、図6(C)及び図7(C)に示すように、検索コマンドデコード信号SERZ=“1”とし、これに応答して、サーチドライバ活性化信号生成回路43は、図6(D)及び図7(D)に示すように、サーチドライバ活性化信号SBE0Z=“1”とすると共に、サーチドライバ53(p)は、検索データD(p)の値に対応して、図6(E)及び図7(E)に示すように、サーチバスSB0(p)、XSB0(p)の一方の論理値=“1”、他方の論理値=“0”とする。
Then, when performing a search, as shown in FIG. 6 (B) and FIG. 7 (B), the example, in cycle S w, is the search command signal XSER = "0", with the search is instructed, Search data D (0) to D (n-1) is given to the search drivers 53 (0) to 53 (n-1). As a result, as shown in FIGS. 6C and 7C, the
ここで、検索データD(0)〜D(n−1)がメモリセルアレイ31に記憶されているデータの全てと不一致の場合には、図6(F)に示すように、マッチラインML0〜ML255の論理値=“0”となる。この結果、マッチライン・センスアンプ56(0)〜56(255)は、図6(G)に示すように、検索結果信号MS0Z〜MS255Z=“0”とし、これに応答して、検索結果判定回路45は、図6(H)に示すように、検索結果判定信号DET0Z=“1”とする。
If the search data D (0) to D (n−1) does not match all the data stored in the
したがって、サーチドライバ活性化信号生成回路43は、図6(I)に示すように、サイクルSw+1において、サーチドライバ活性化信号SBE1Z=“1”とし、サーチドライバ54(p)を活性化する。また、サーチバスSB0(p)、XSB0(p)の論理値がフリップフロップ55(p)を介してサーチドライバ54(p)に供給される。この結果、サーチドライバ54(p)は、図6(J)に示すように、検索データD(p)の値に対応してサーチバスSB1(p)、XSB1(p)の一方の論理値=“1”、他方の論理値=“0”とする。
Therefore, as shown in FIG. 6 (I), the search driver activation
そして、検索データD(0)〜D(n−1)がメモリセルアレイ32に記憶されているデータのいずれかと一致すると、図6(K)に示すように、マッチラインML255〜ML511のうち、検索データD(0)〜D(n−1)と同一データを記憶するアドレスのマッチラインの論理値が“1”に維持されるので、マッチライン・センスアンプ56(256)〜56(511)は、図6(L)に示すように、検索結果信号MS256Z〜MS511Zのうち、検索データD(0)〜D(n−1)と同一データを記憶するアドレスの検索結果信号を“1”に維持する。
When the search data D (0) to D (n−1) matches any of the data stored in the
これに対して、検索データD(0)〜D(n−1)がメモリセルアレイ31に記憶されているデータのいずれかと一致すると、図7(F)に示すように、マッチラインML0〜ML255のうち、検索データD(0)〜D(n−1)と同一データを記憶するアドレスのマッチラインの論理値が“1”に維持される。この結果、マッチライン・センスアンプ56(0)〜56(255)は、図7(G)に示すように、検索結果信号MS0Z〜MS255Zのうち、検索データD(0)〜D(n−1)と同一データを記憶するアドレスの検索結果信号を“1”に維持し、検索結果判定回路45は、図7(H)に示すように、検索結果判定信号DET0Z=“0”を維持する。
On the other hand, when the search data D (0) to D (n−1) match any of the data stored in the
したがって、この場合には、サーチドライバ活性化信号生成回路43は、図7(I)に示すように、サイクルSw+1においても、サーチドライバ活性化信号SBE1Z=“0”を維持し、サーチドライバ54(p)を活性化せず、図7(J)に示すように、サーチバスSB1(p)、XSB1(p)の論理値=“0”に維持されるので、図7(K)に示すように、マッチラインML256〜ML511の論理値=“1”、図7(L)に示すように、検索結果信号MS256Z〜MS511Zの論理値=“1”に維持される。
Therefore, in this case, the search driver activation
ここで、エンコーダ41は、図6に示す場合(検索結果信号MS0Z〜MS255Zの全ての論理値=“0”、検索結果信号MS256Z〜MS511Zのいずれかの論理値=“1”の場合)も、図7に示す場合(検索結果信号MS0Z〜MS255Zのいずれかの論理値=“1”、検索結果信号MS256Z〜MS511Zの全ての論理値が“1”場合)も、検索結果信号MS0Z〜MS511Zを入力し、検索データDINと同一データを記憶するアドレスを示すアドレス信号EAを出力する。なお、本発明の第1実施形態においては、フリップフロップ44と、検索結果判定回路45と、サーチバス活性化信号バッファ46とで、メモリセルアレイ32に対する検索動作を制御する制御部が構成されている。
Here, the
以上のように、本発明の第1実施形態によれば、検索コマンド信号XSERが“0”とされると共に、検索データDINが与えられると、メモリセルアレイ31を対象として検索が実行され、検索データDINがメモリセルアレイ31に記憶されているデータのいずれかと一致した場合には、メモリセルアレイ32を対象とした検索は実行されず、検索データDINがメモリセルアレイ31に記憶されているデータの全てと不一致の場合にのみ、メモリセルアレイ32を対象とした検索動作が実行される。
As described above, according to the first embodiment of the present invention, when the search command signal XSER is set to “0” and the search data DIN is given, the search is executed on the
この結果、検索データDINがメモリセルアレイ31に記憶されているデータのいずれかと一致し、メモリセルアレイ32を対象とした検索を実行しないで済んだ場合には、スタンバイ状態に戻る際に、メモリセルアレイ32に設けられているマッチラインML256〜ML511については充電の必要がない。したがって、検索後、スタンバイ状態に戻る際に充電を必要とするマッチラインの数を減らし、消費電流の低減化を図ることができる。
As a result, if the search data DIN matches any of the data stored in the
(第2実施形態)
図8は本発明の第2実施形態の一部分を示す回路図である。図8中、61〜64はそれぞれ図18に示す構成のメモリセルを1行(1ワードライン)当たりn個配列したメモリセル列が128行配列されたメモリセルアレイである。これらメモリセルアレイ61〜64は、図25に示す従来の連想メモリが備えるメモリセルアレイ16を、0番地〜127番地までの部分と、128番地〜255番地までの部分と、256番地〜383番地の部分と、384番地〜511番地の部分とに分割したものであり、メモリセルアレイ61は0番地〜127番地の部分、メモリセルアレイ62は128番地〜255番地の部分、メモリセルアレイ63は256番地〜383番地の部分、メモリセルアレイ64は384番地〜511番地の部分である。
(Second Embodiment)
FIG. 8 is a circuit diagram showing a part of the second embodiment of the present invention. In FIG. 8,
本発明の第2実施形態においては、ビットラインは、図9及び図10に示すように、メモリセルアレイ61〜64に対してビットラインBL(0)、XBL(0)〜BL(n−1)、XBL(n−1)が共通に設けられるが、サーチバスは、メモリセルアレイ61に対しては、図9に示すように、サーチバスSB0(0)、XSB0(0)〜SB0(n−1)、XSB0(n−1)が設けられ、メモリセルアレイ62に対しては、同じく図9に示すように、サーチバスSB1(0)、XSB1(0)〜SB1(n−1)、XSB1(n−1)が設けられ、メモリセルアレイ63に対しては、図10に示すように、サーチバスSB2(0)、XSB2(0)〜SB2(n−1)、XSB2(n−1)が設けられ、メモリセルアレイ64に対しては、同じく図10に示すように、サーチバスSB3(0)、XSB3(0)〜SB3(n−1)、XSB3(n−1)が設けられる。
In the second embodiment of the present invention, as shown in FIGS. 9 and 10, the bit lines are bit lines BL (0), XBL (0) to BL (n−1) with respect to the
65はメモリセルアレイ61に配列されているワードラインWL0〜WL127、メモリセルアレイ62に配列されているワードラインWL128〜WL255、メモリセルアレイ63に配列されているワードラインWL256〜WL383及びメモリセルアレイ64に配列されているワードラインWL384〜WL511を駆動するワードデコーダのグループであるワードデコーダ部、66はメモリセルアレイ61〜64のメモリセルに書き込みを行うライトアンプのグループであるライトアンプ部、67はビットラインBL(0)、XBL(0)〜BL(n−1)、XBL(n−1)に読み出されたデータを増幅するセンスアンプのグループであるセンスアンプ部である。
65, word lines WL0 to WL127 arranged in the
68はメモリセルアレイ61に配列されているサーチバスSB0(0)、XSB0(0)〜SB0(n−1)、XSB0(n−1)を駆動するサーチドライバのグループであるサーチドライバ部、69はメモリセルアレイ62に配列されているサーチバスSB1(0)、XSB1(0)〜SB1(n−1)、XSB1(n−1)を駆動するサーチドライバのグループであるサーチドライバ部、70はメモリセルアレイ63に配列されているサーチバスSB2(0)、XSB2(0)〜SB2(n−1)、XSB2(n−1)を駆動するサーチドライバのグループであるサーチドライバ部、71はメモリセルアレイ64に配列されているサーチバスSB3(0)、XSB3(0)〜SB3(n−1)、XSB3(n−1)を駆動するサーチドライバのグループであるサーチドライバ部である。
68 denotes a search driver unit which is a group of search drivers for driving search buses SB0 (0), XSB0 (0) to SB0 (n-1), XSB0 (n-1) arranged in the
72はメモリセルアレイ61に配列されているサーチバスSB0(0)、XSB0(0)〜SB0(n−1)、XSB0(n−1)の論理値を取り込んでサーチドライバ部69のサーチドライバに転送するフリップフロップのグループであるフリップフロップ部、73はメモリセルアレイ62に配列されているサーチバスSB1(0)、XSB1(0)〜SB1(n−1)、XSB1(n−1)の論理値を取り込んでサーチドライバ部70のサーチドライバに転送するフリップフロップのグループであるフリップフロップ部、74はメモリセルアレイ63に配列されているサーチバスSB2(0)、XSB2(0)〜SB2(n−1)、XSB2(n−1)の論理値を取り込んでサーチドライバ部71のサーチドライバに転送するフリップフロップのグループであるフリップフロップ部である。
72 takes in the logical values of the search buses SB0 (0), XSB0 (0) to SB0 (n-1), XSB0 (n-1) arranged in the
75はメモリセルアレイ61に配列されているマッチラインML0〜ML127のレベル検出を行うマッチライン・センスアンプのグループであるマッチライン・センスアンプ部、76はメモリセルアレイ62に配列されているマッチラインML128〜ML255のレベル検出を行うマッチライン・センスアンプのグループであるマッチライン・センスアンプ部、77はメモリセルアレイ63に配列されているマッチラインML256〜ML383のレベル検出を行うマッチライン・センスアンプのグループであるマッチライン・センスアンプ部、78はメモリセルアレイ64に配列されているマッチラインML384〜ML511のレベル検出を行うマッチライン・センスアンプのグループであるマッチライン・センスアンプ部である。
79はマッチライン・センスアンプ部75が出力する検索結果信号MS0Z〜MS127Zと、マッチライン・センスアンプ部76が出力する検索結果信号MS128Z〜MS255Zと、マッチライン・センスアンプ部77が出力する検索結果信号MS256Z〜MS383Zと、マッチライン・センスアンプ部78が出力する検索結果信号MS384Z〜MS511Zとを入力し、検索データDINと同一データを記憶しているアドレスを示す9ビットのアドレス信号EAを生成するエンコーダである。なお、エンコーダ79は、検索データDINが複数番地の記憶データと一致した場合、これら複数番地のうち、最小番地を示すアドレス信号EAを出力するものである。
80は外部から与えられた検索コマンド信号XSERをデコードして検索コマンドデコード信号SERZを出力するコマンドデコーダ、81はコマンドデコーダ80が出力する検索コマンドデコード信号SERZを入力してサーチドライバ部68のサーチドライバに与えるサーチドライバ活性化信号SBE0Zを生成するサーチドライバ活性化信号生成回路、82はサーチドライバ活性化信号生成回路81が出力するサーチドライバ活性化信号SBE0Zをクロック信号CLKに同期して取り込むフリップフロップである。
A
83はマッチライン・センスアンプ部75が出力する検索結果信号MS0Z〜MS127Zを入力し、検索結果信号MS0Z〜MS127Zが全て“0”の場合(即ち、検索データDINがメモリセルアレイ61に記憶されているデータの全てと不一致の場合)であるか、あるいは、検索結果信号MS0Z〜MS127Zのいずれかが“1”の場合(即ち、検索データDINがメモリセルアレイ61に記憶されているデータのいずれかと一致した場合)であるかを判定して検索結果判定信号DET0Zを出力する検索結果判定回路である。
83, search result signals MS0Z to MS127Z output from the match line /
検索結果判定回路83は、検索結果信号MS0Z〜MS127Zが全て“0”の場合(即ち、検索データDINがメモリセルアレイ61に記憶されているデータの全てと不一致の場合)には、検索結果判定信号DET0Z=“1”とし、検索結果信号MS0Z〜MS127Zのいずれかが“1”の場合(即ち、検索データDINがメモリセルアレイ61に記憶されているデータのいずれかと一致した場合)には、検索結果判定信号DET0Z=“0”とする。
When the search result signals MS0Z to MS127Z are all “0” (that is, when the search data DIN does not match all the data stored in the memory cell array 61), the search
84は検索結果判定回路83が出力する検索結果判定信号DET0Zをクロック信号CLKに同期して取り込むフリップフロップ、85はフリップフロップ82が出力するサーチドライバ活性化信号SBE0Zとフリップフロップ84が出力する検索結果判定信号DET0Zaとを入力して、サーチドライバ部69のサーチドライバに与えるサーチドライバ活性化信号SBE1Zを出力するサーチドライバ活性化信号バッファである。
84 is a flip-flop that takes in the search result determination signal DET0Z output from the search
サーチドライバ活性化信号バッファ85は、検索結果判定信号DET0Zaの論理値=“1”のときは、フリップフロップ82から与えられたサーチドライバ活性化信号SBE0Zをサーチドライバ活性化信号SBE1Zとして出力し、検索結果判定信号DET0Zaの論理値=“0”のときは、サーチドライバ活性化信号SBE1Zの論理値=“0”とする。
The search driver
86はサーチドライバ活性化信号バッファ85が出力するサーチドライバ活性化信号SBE1Zをクロックに同期して取り込むフリップフロップ、87はマッチライン・センスアンプ部76が出力する検索結果信号MS128Z〜MS255Zを入力し、検索結果信号MS128Z〜MS255Zが全て“0”の場合(即ち、検索データDINがメモリセルアレイ62に記憶されているデータの全てと不一致の場合)であるか、あるいは、検索結果信号MS128Z〜MS255Zのいずれかが“1”の場合(即ち、検索データDINがメモリセルアレイ62に記憶されているデータのいずれかと一致した場合)であるかを判定して検索結果判定信号DET1Zを出力する検索結果判定回路である。
86 is a flip-flop that fetches the search driver activation signal SBE1Z output from the search driver
検索結果判定回路87は、検索結果信号MS128Z〜MS255Zが全て“0”の場合(即ち、検索データDINがメモリセルアレイ62に記憶されているデータの全てと不一致の場合)には、検索結果判定信号DET1Z=“1”とし、検索結果信号MS128Z〜MS255Zのいずれかが“1”の場合(即ち、検索データDINがメモリセルアレイ62に記憶されているデータのいずれかと一致した場合)には、検索結果判定信号DET1Z=“0”とする。
When the search result signals MS128Z to MS255Z are all “0” (that is, when the search data DIN does not match all the data stored in the memory cell array 62), the search
88は検索結果判定回路87が出力する検索結果判定信号DET1Zをクロック信号CLKに同期して取り込むフリップフロップ、89はフリップフロップ86が出力するサーチドライバ活性化信号SBE1Zとフリップフロップ88が出力する検索結果判定信号DET1Zaとを入力して、サーチドライバ部70のサーチドライバに与えるサーチドライバ活性化信号SBE2Zを出力するサーチドライバ活性化信号バッファである。
サーチドライバ活性化信号バッファ89は、検索結果判定信号DET1Zaの論理値=“1”のときは、フリップフロップ86から与えられたサーチドライバ活性化信号SBE1Zをサーチドライバ活性化信号SBE2Zとして出力し、検索結果判定信号DET1Zaの論理値=“0”のときは、サーチドライバ活性化信号SBE2Zの論理値=“0”とする。
The search driver
90はサーチドライバ活性化信号バッファ89が出力するサーチドライバ活性化信号SBE2Zをクロックに同期して取り込むフリップフロップ、91はマッチライン・センスアンプ部77が出力する検索結果信号MS256Z〜MS383Zを入力し、検索結果信号MS256Z〜MS383Zが全て“0”の場合(即ち、検索データDINがメモリセルアレイ63に記憶されているデータの全てと不一致の場合)であるか、あるいは、検索結果信号MS256Z〜MS383Zのいずれかが“1”の場合(即ち、検索データDINがメモリセルアレイ63に記憶されているデータのいずれかと一致した場合)であるかを判定して検索結果判定信号DET2Zを出力する検索結果判定回路である。
90 is a flip-flop that takes in the search driver activation signal SBE2Z output from the search driver
検索結果判定回路91は、検索結果信号MS256Z〜MS383Zが全て“0”の場合(即ち、検索データDINがメモリセルアレイ63に記憶されているデータの全てと不一致の場合)には、検索結果判定信号DET2Z=“1”とし、検索結果信号MS256Z〜MS383Zのいずれかが“1”の場合(即ち、検索データDINがメモリセルアレイ63に記憶されているデータのいずれかと一致した場合)には、検索結果判定信号DET2Z=“0”とする。
When the search result signals MS256Z to MS383Z are all “0” (that is, when the search data DIN does not match all the data stored in the memory cell array 63), the search
92は検索結果判定回路91が出力する検索結果判定信号DET2Zをクロック信号CLKに同期して取り込むフリップフロップ、93はフリップフロップ90が出力するサーチドライバ活性化信号SBE2Zとフリップフロップ92が出力する検索結果判定信号DET2Zaとを入力して、サーチドライバ部71のサーチドライバに与えるサーチドライバ活性化信号SBE3Zを出力するサーチドライバ活性化信号バッファである。
92 is a flip-flop that takes in the search result determination signal DET2Z output from the search
サーチドライバ活性化信号バッファ93は、検索結果判定信号DET2Zaの論理値=“1”のときは、フリップフロップ90から与えられるサーチドライバ活性化信号SBE2Zをサーチドライバ活性化信号SBE3Zとして出力し、検索結果判定信号DET2Zaの論理値=“0”のときは、サーチドライバ活性化信号SBE3Zの論理値=“0”とする。
When the logical value of the search result determination signal DET2Za is “1”, the search driver
図9は本発明の第2実施形態の一部分をより詳しく示す回路図であり、メモリセルアレイ61、62、ライトアンプ部66、センスアンプ部67、サーチドライバ部68、69及びフリップフロップ部72の部分をより詳細に示している。
FIG. 9 is a circuit diagram showing a part of the second embodiment of the present invention in more detail.
メモリセルアレイ61において、96(0、0)は1行目の1ビット目のメモリセル、96(0、n−1)は1行目のnビット目のメモリセルであり、1行目の2ビット目〜n−1ビット目のメモリセル96(0、1)〜96(0、n−2)は図示を省略している。96(127、0)は128行目の1ビット目のメモリセル、96(127、n−1)は128行目のnビット目のメモリセルであり、128行目の2ビット目〜n−1ビット目のメモリセル96(127、1)〜96(127、n−2)は図示を省略している。また、2行目〜127行目のメモリセル96(1、0)〜96(1、n−2)、…、96(126、0)〜96(126、n−2)も図示を省略している。
In the
メモリセルアレイ62において、96(128、0)は129行目の1ビット目のメモリセル、96(128、n−1)は129行目のnビット目のメモリセルであり、129行目の2ビット目〜n−1ビット目のメモリセル96(128、1)〜96(128、n−2)は図示を省略している。96(255、0)は256行目の1ビット目のメモリセル、96(255、n−1)は256行目のnビット目のメモリセルであり、256行目の2ビット目〜n−1ビット目のメモリセル96(255、1)〜96(255、n−2)は図示を省略している。また、130行目〜255行目のメモリセル96(129、0)〜96(129、n−2)、…、96(254、0)〜96(254、n−2)も図示を省略している。
In the
WL0は1行目のワードライン、WL127は128行目のワードラインであり、2行目〜127行目のワードラインWL1〜WL126は図示を省略している。WL128は129行目のワードライン、WL255は256行目のワードラインであり、130行目〜255行目のワードラインWL129〜WL254は図示を省略している。 WL0 is the first word line, WL127 is the 128th word line, and the second to 127th word lines WL1 to WL126 are not shown. WL128 is the word line of the 129th row, WL255 is the wordline of the 256th row, and the word lines WL129 to WL254 of the 130th to 255th rows are not shown.
ML0は1行目のマッチライン、ML127は128行目のマッチラインであり、2行目〜127行目のマッチラインML1〜ML126は図示を省略している。ML128は129行目のマッチライン、ML255は256行目のマッチラインであり、130行目〜255行目のマッチラインML129〜ML254は図示を省略している。 ML0 is the first match line, ML127 is the 128th match line, and the second to 127th match lines ML1 to ML126 are not shown. ML128 is a match line of the 129th row, ML255 is a matchline of the 256th row, and matchlines ML129 to ML254 of the 130th to 255th rows are not shown.
ライトアンプ部66において、97(0)は1ビット目のビットラインBL(0)、XBL(0)に対応して設けられたライトアンプ、97(n−1)はnビット目のビットラインBL(n−1)、XBL(n−1)に対応して設けられたライトアンプであり、2ビット目〜n−1ビット目のビットラインBL(1)、XBL(1)〜BL(n−2)、XBL(n−2)に対応して設けられたライトアンプ97(1)〜97(n−2)は図示を省略している。
In the
センスアンプ部67において、98(0)は1ビット目のビットラインBL(0)、XBL(0)に対応して設けられたセンスアンプ、98(n−1)はnビット目のビットラインBL(n−1)、XBL(n−1)に対応して設けられたセンスアンプであり、2ビット目〜n−1ビット目のビットラインBL(1)、XBL(1)〜BL(n−2)、XBL(n−2)に対応して設けられたセンスアンプ98(1)〜98(n−2)は図示を省略している。
In the
サーチドライバ部68において、99(0)は1ビット目のサーチバスSB0(0)、XSB0(0)に対応して設けられたサーチドライバ、99(n−1)はnビット目のサーチバスSB0(n−1)、XSB0(n−1)に対応して設けられたサーチバスであり、2ビット目〜n−1ビット目のサーチバスSB0(1)、XSB0(1)〜SB0(n−2)、XSB0(n−2)に対応して設けられたサーチドライバ99(1)〜99(n−2)は図示を省略している。
In the
サーチドライバ99(p)は、サーチドライバ活性化信号SBE0Z=“1”のときは活性化され、外部から与えられる検索データD(p)に対応して、サーチバスSB0(p)、XSB0(p)の一方の論理値=“1”、他方の論理値=“0”とし、サーチドライバ活性化信号SBE0Z=“0”のときは非活性とされ、サーチバスSB0(p)、XSB0(p)の論理値=“0”とする。 The search driver 99 (p) is activated when the search driver activation signal SBE0Z = "1", and corresponds to the search data D (p) given from the outside, and the search buses SB0 (p), XSB0 (p ) Is inactive when the search driver activation signal SBE0Z = “0”, the search bus SB0 (p), XSB0 (p) The logical value of “= 0”.
サーチドライバ部69において、100(0)は1ビット目のサーチバスSB1(0)、XSB1(0)に対応して設けられたサーチドライバ、100(n−1)はnビット目のサーチバスSB1(n−1)、XSB1(n−1)に対応して設けられたサーチドライバであり、2ビット目〜n−1ビット目のサーチバスSB1(1)、XSB1(1)〜SB1(n−2)、XSB1(n−2)に対応して設けられたサーチドライバ100(1)〜100(n−2)は図示を省略している。
In the
サーチドライバ100(p)は、サーチドライバ活性化信号SBE1Z=“1”のときは活性化され、サーチバスSB1(p)、XSB1(p)及びフリップフロップ部72を介して与えられる検索データD(p)に対応して、サーチバスSB1(p)、XSB1(p)の一方の論理値=“1”、他方の論理値=“0”とし、サーチドライバ活性化信号SBE1Z=“0”のときは非活性とされ、サーチバスSB1(p)、XSB1(p)の論理値=“0”とする。
The search driver 100 (p) is activated when the search driver activation signal SBE1Z = “1”, and the search data D () provided via the search buses SB1 (p), XSB1 (p) and the flip-
フリップフロップ部72において、101(0)はサーチバスSB0(0)、XSB0(0)に対応して設けられたフリップフロップであり、クロック信号CLKに同期してサーチバスSB0(0)、XSB0(0)の論理値を取り込み、サーチドライバ100(0)に転送するものである。101(n−1)はサーチバスSB0(n−1)、XSB0(n−1)に対応して設けられたフリップフロップであり、クロック信号CLKに同期してサーチバスSB0(n−1)、XSB0(n−1)の論理値を取り込み、サーチドライバ100(n−1)に転送するものである。サーチバスSB0(1)、XSB0(1)〜SB0(n−2)、XSB0(n−2)に対応して設けられているフリップフロップ101(1)〜101(n−2)は図示を省略している。
In the flip-
図10は本発明の第2実施形態の一部分をより詳しく示す回路図であり、メモリセルアレイ63、64、サーチドライバ部70、71及びフリップフロップ部73、74の部分をより詳細に示している。
FIG. 10 is a circuit diagram showing a part of the second embodiment of the present invention in more detail, and shows
メモリセルアレイ63において、96(256、0)は257行目の1ビット目のメモリセル、96(256、n−1)は257行目のnビット目のメモリセルであり、257行目の2ビット目〜n−1ビット目のメモリセル96(256、1)〜96(256、n−2)は図示を省略している。96(383、0)は384行目の1ビット目のメモリセル、96(383、n−1)は384行目のnビット目のメモリセルであり、384行目の2ビット目〜n−1ビット目のメモリセル96(383、1)〜96(383、n−2)は図示を省略している。また、258行目〜383行目のメモリセル96(257、0)〜96(257、n−2)、…、96(382、0)〜96(382、n−2)も図示を省略している。
In the
メモリセルアレイ64において、96(384、0)は385行目の1ビット目のメモリセル、96(384、n−1)は385行目のnビット目のメモリセルであり、385行目の2ビット目〜n−1ビット目のメモリセル96(384、1)〜96(384、n−2)は図示を省略している。96(511、0)は512行目の1ビット目のメモリセル、96(511、n−1)は512行目のnビット目のメモリセルであり、512行目の2ビット目〜n−1ビット目のメモリセル96(511、1)〜96(511、n−2)は図示を省略している。また、386行目〜511行目のメモリセル96(385、0)〜96(385、n−2)、…、96(510、0)〜96(510、n−2)も図示を省略している。
In the
WL256は257行目のワードライン、WL383は384行目のワードラインであり、258行目〜383行目のワードラインWL257〜WL382は図示を省略している。WL384は385行目のワードライン、WL511は512行目のワードラインであり、386行目〜511行目のワードラインWL385〜WL510は図示を省略している。 WL256 is the word line of the 257th row, WL383 is the word line of the 384th row, and the word lines WL257 to WL382 of the 258th to 383th rows are not shown. WL384 is the word line of the 385th row, WL511 is the word line of the 512th row, and the word lines WL385 to WL510 of the 386th to 511th rows are not shown.
ML256は257行目のマッチライン、ML383は384行目のマッチラインであり、258行目〜383行目のマッチラインML257〜ML382は図示を省略している。ML384は385行目のマッチライン、ML511は512行目のマッチラインであり、386行目〜511行目のマッチラインML385〜ML510は図示を省略している。 ML256 is a match line of the 257th row, ML383 is a match line of the 384th row, and match lines ML257 to ML382 of the 258th to 383th rows are not shown. ML384 is a match line of the 385th row, ML511 is a match line of the 512th row, and match lines ML385 to ML510 of the 386th to 511th rows are not shown.
サーチドライバ部70において、102(0)は1ビット目のサーチバスSB2(0)、XSB2(0)に対応して設けられたサーチドライバ、102(n−1)はnビット目のサーチバスSB2(n−1)、XSB2(n−1)に対応して設けられたサーチドライバであり、2ビット目〜n−1ビット目のサーチバスSB2(1)、XSB2(1)〜SB2(n−2)、XSB2(n−2)に対応して設けられたサーチドライバ102(2)〜102(n−2)は図示を省略している。
In the
サーチドライバ102(p)は、サーチドライバ活性化信号SBE2Z=“1”のときは活性化され、サーチバスSB1(p)、XSB1(p)及びフリップフロップ部73を介して与えられる検索データD(p)に対応して、サーチバスSB2(p)、XSB2(p)の一方の論理値=“1”、他方の論理値=“0”とし、サーチドライバ活性化信号SBE2Z=“0”のときは非活性とされ、サーチバスSB2(p)、XSB2(p)の論理値=“0”とする。
The search driver 102 (p) is activated when the search driver activation signal SBE2Z = “1”, and the search data D () provided via the search buses SB1 (p) and XSB1 (p) and the flip-
サーチドライバ部71において、103(0)は1ビット目のサーチバスSB3(0)、XSB3(0)に対応して設けられたサーチドライバ、103(n−1)はnビット目のサーチバスSB3(n−1)、XSB3(n−1)に対応して設けられたサーチドライバであり、2ビット目〜n−1ビット目のサーチバスSB3(1)、XSB3(1)〜SB3(n−2)、XSB3(n−2)に対応して設けられたサーチドライバ103(2)〜103(n−2)は図示を省略している。
In the
サーチドライバ103(p)は、サーチドライバ活性化信号SBE3Z=“1”のときは活性化され、サーチバスSB2(p)、XSB2(p)及びフリップフロップ部74を介して与えられる検索データD(p)に対応して、サーチバスSB3(p)、XSB3(p)の一方の論理値=“1”、他方の論理値=“0”とし、サーチドライバ活性化信号SBE3Z=“0”のときは非活性とされ、サーチバスSB3(p)、XSB3(p)の論理値=“0”とする。
The search driver 103 (p) is activated when the search driver activation signal SBE3Z = “1”, and the search data D () provided via the search buses SB2 (p), XSB2 (p) and the flip-
フリップフロップ部73において、104(0)はサーチバスSB1(0)、XSB1(0)に対応して設けられたフリップフロップであり、クロック信号CLKに同期してサーチバスSB1(0)、XSB1(0)の論理値を取り込み、サーチドライバ102(0)に転送するものである。104(n−1)はサーチバスSB1(n−1)、XSB1(n−1)に対応して設けられたフリップフロップであり、クロック信号CLKに同期してサーチバスSB1(n−1)、XSB1(n−1)の論理値を取り込み、サーチドライバ102(n−1)に転送するものである。サーチバスSB1(1)、XSB1(1)〜SB1(n−2)、XSB1(n−2)に対応して設けられているフリップフロップ104(1)〜104(n−2)は図示を省略している。
In the flip-
フリップフロップ部74において、105(0)はサーチバスSB2(0)、XSB2(0)に対応して設けられたフリップフロップであり、クロック信号CLKに同期してサーチバスSB2(0)、XSB2(0)の論理値を取り込み、サーチドライバ103(0)に転送するものである。105(n−1)はサーチバスSB2(n−1)、XSB2(n−1)に対応して設けられたフリップフロップであり、クロック信号CLKに同期してサーチバスSB2(n−1)、XSB2(n−1)の論理値を取り込み、サーチドライバ103(n−1)に転送するものである。サーチバスSB2(1)、XSB2(1)〜SB2(n−2)、XSB2(n−2)に対応して設けられているフリップフロップ105(1)〜105(n−2)は図示を省略している。
In the flip-
図11は本発明の第2実施形態の一部分をより詳しく示す回路図であり、メモリセルアレイ61〜64、ワードデコーダ部65及びマッチライン・センスアンプ部75〜78の部分をより詳細に示している。
FIG. 11 is a circuit diagram showing a part of the second embodiment of the present invention in more detail, and shows parts of the
ワードデコーダ部65において、106(0)は1行目のワードラインWL0に対応して設けられたワードデコーダ、106(127)は128行目のワードラインWL127に対応して設けられたワードデコーダであり、2行目〜127行目のワードラインWL1〜WL126に対応して設けられたワードデコーダ106(1)〜106(126)は図示を省略している。106(128)は129行目のワードラインWL128に対応して設けられたワードデコーダ、106(255)は256行目のワードラインWL255に対応して設けられたワードデコーダであり、130行目〜255行目のワードラインWL129〜WL254に対応して設けられたワードデコーダ106(129)〜106(254)は図示を省略している。
In the
106(256)は257行目のワードラインWL256に対応して設けられたワードデコーダ、106(383)は384行目のワードラインWL383に対応して設けられたワードデコーダであり、258行目〜383行目のワードラインWL257〜WL382に対応して設けられたワードデコーダ106(257)〜106(382)は図示を省略している。106(384)は385行目のワードラインWL384に対応して設けられたワードデコーダ、106(511)は512行目のワードラインWL511に対応して設けられたワードデコーダであり、386行目〜511行目のワードラインWL385〜WL510に対応して設けられたワードデコーダ106(385)〜106(510)は図示を省略している。 106 (256) is a word decoder provided corresponding to the word line WL256 of the 257th row, and 106 (383) is a word decoder provided corresponding to the word line WL383 of the 384th row. The word decoders 106 (257) to 106 (382) provided corresponding to the word lines WL257 to WL382 in the 383th row are not shown. 106 (384) is a word decoder provided corresponding to the word line WL384 in the 385th row, and 106 (511) is a word decoder provided corresponding to the word line WL511 in the 512th row. The word decoders 106 (385) to 106 (510) provided corresponding to the word lines WL385 to WL510 in the 511th row are not shown.
マッチライン・センスアンプ部75において、107(0)は1行目のマッチラインML0に対応して設けられたマッチライン・センスアンプ、107(127)は128行目のマッチラインML127に対応して設けられたマッチライン・センスアンプであり、2行目〜127行目のマッチラインML1〜ML126に対応して設けられたマッチライン・センスアンプ107(1)〜107(126)は図示を省略している。
In the match line /
マッチライン・センスアンプ部76において、107(128)は129行目のマッチラインML128に対応して設けられたマッチライン・センスアンプ、107(255)は256行目のマッチラインML255に対応して設けられたマッチライン・センスアンプであり、130行目〜255行目のマッチラインML129〜ML254に対応して設けられたマッチライン・センスアンプ107(129)〜107(254)は図示を省略している。
In the match line /
マッチライン・センスアンプ部77において、107(256)は257行目のマッチラインML256に対応して設けられたマッチライン・センスアンプ、107(383)は384行目のマッチラインML383に対応して設けられたマッチライン・センスアンプであり、258行目〜383行目のマッチラインML257〜ML382に対応して設けられたマッチライン・センスアンプ107(257)〜107(382)は図示を省略している。
In the match line /
マッチライン・センスアンプ部78において、107(384)は385行目のマッチラインML384に対応して設けられたマッチライン・センスアンプ、107(511)は512行目のマッチラインML511に対応して設けられたマッチライン・センスアンプであり、386行目〜511行目のマッチラインML385〜ML510に対応して設けられたマッチライン・センスアンプ107(385)〜107(510)は図示を省略している。
In the match line /
図12は本発明の第2実施形態の検索動作例を示すタイミング図であり、検索データDIN=D(0)〜D(n−1)がメモリセルアレイ61に記憶されているデータのいずれかと一致した場合を例にしている。
FIG. 12 is a timing chart showing an example of a search operation according to the second embodiment of the present invention. Search data DIN = D (0) to D (n−1) matches any of the data stored in the
図12において、(A)は動作サイクルを決めるクロック信号CLK、(B)は検索コマンド信号XSER、(C)は検索コマンドデコード信号SERZ、(D)はサーチドライバ活性化信号SBE0Z、(E)はサーチバスSB0(p)、XSB0(p)の論理値、(F)はマッチラインML0〜ML127の論理値、(G)は検索結果信号MS0Z〜MS127Z、(H)は検索結果判定信号DET0Z、(I)はサーチドライバ活性化信号SBE1Z、(J)はサーチバスSB1(p)、XSB1(p)の論理値、(K)はマッチラインML128〜ML255の論理値、(L)は検索結果信号MS128Z〜MS255Z、(M)は検索結果判定信号DET1Z、(N)はサーチドライバ活性化信号SBE2Z、(O)はサーチバスSB2(p)、XSB2(p)の論理値、(P)はマッチラインML256〜ML383の論理値、(Q)は検索結果信号MS256Z〜MS383Z、(R)は検索結果判定信号DET2Z、(S)はサーチドライバ活性化信号SBE3Z、(T)はサーチバスSB3(p)、XSB3(p)の論理値、(U)はマッチラインML384〜ML511の論理値、(V)は検索結果信号MS384Z〜MS511Zを示している。 12, (A) is a clock signal CLK that determines an operation cycle, (B) is a search command signal XSER, (C) is a search command decode signal SERZ, (D) is a search driver activation signal SBE0Z, (E) is Search buses SB0 (p) and XSB0 (p) are logical values, (F) is a logical value of match lines ML0 to ML127, (G) is a search result signal MS0Z to MS127Z, (H) is a search result determination signal DET0Z, ( I) is a search driver activation signal SBE1Z, (J) is a logical value of search bus SB1 (p), XSB1 (p), (K) is a logical value of match lines ML128 to ML255, and (L) is a search result signal MS128Z. MS255Z, (M) is search result determination signal DET1Z, (N) is search driver activation signal SBE2Z, (O) is search bus B2 (p) and XSB2 (p) are logical values, (P) is a logical value of the match lines ML256 to ML383, (Q) is a search result signal MS256Z to MS383Z, (R) is a search result determination signal DET2Z, (S) Is a search driver activation signal SBE3Z, (T) is a logical value of the search buses SB3 (p) and XSB3 (p), (U) is a logical value of the match lines ML384 to ML511, and (V) is a search result signal MS384Z to MS511Z. Is shown.
即ち、本発明の第2実施形態においては、検索前(スタンバイ時)には、検索コマンド信号XSER=“1”、検索コマンドデコード信号SERZ=“0”、サーチドライバ活性化信号SBE0Z=“0”、サーチバスSB0(p)、XSB0(p)〜SB3(p)、XSB3(p)の論理値=“0”、マッチラインML0〜ML511の論理値=“1”、検索結果信号MS0Z〜MS511Z=“1”、検索結果判定信号DET0Z〜DET2Z=“0”、サーチドライバ活性化信号SBE1Z〜SBE3Z=“0”とされる。 That is, in the second embodiment of the present invention, the search command signal XSER = “1”, the search command decode signal SERZ = “0”, and the search driver activation signal SBE0Z = “0” before search (during standby). , Search buses SB0 (p), XSB0 (p) to SB3 (p), XSB3 (p) logical value = “0”, match lines ML0 to ML511 logical value = “1”, search result signals MS0Z to MS511Z = “1”, search result determination signals DET0Z to DET2Z = “0”, and search driver activation signals SBE1Z to SBE3Z = “0”.
そして、検索を行う場合には、例えば、サイクルSwにおいて、検索コマンド信号XSER=“0”とされ、検索が指示されると共に、サーチドライバ99(0)〜99(n−1)に検索データD(0)〜D(n−1)が与えられる。この結果、コマンドデコーダ80は、検索コマンドデコード信号SERZ=“1”とし、これに応答して、サーチドライバ活性化信号生成回路81は、サーチドライバ活性化信号SBE0Z=“1”とすると共に、サーチドライバ99(p)は、検索データD(p)の値に対応してサーチバスSB0(p)、XSB0(p)の一方の論理値=“1”、他方の論理値=“0”とする。
Then, when performing a search, for example, in a cycle S w, search command signal XSER = set to "0", the search data together with the search is instructed, the search driver 99 (0) ~99 (n- 1) D (0) to D (n-1) are given. As a result, the
ここで、検索データD(0)〜D(n−1)がメモリセルアレイ61に記憶されているデータのいずれかと一致すると、マッチラインML0〜ML127のうち、検索データD(0)〜D(n−1)と同一データを記憶するアドレスのマッチラインの論理値=“1”が維持される。この結果、マッチライン・センスアンプ107(0)〜107(127)は、検索結果信号MS0Z〜MS127Zのうち、検索データD(0)〜D(n−1)と同一データを記憶するアドレスの検索結果信号=“1”を維持し、検索結果判定回路83は、検索結果判定信号DET0Z=“0”を維持する。したがって、サーチドライバ活性化信号バッファ85は、サイクルSw、Sw+1においては、サーチドライバ活性化信号SBE1Z=“0”を維持し、サーチドライバ100(0)〜100(n−1)を活性化しない。
Here, when the search data D (0) to D (n−1) matches any of the data stored in the
また、この結果、サイクルSw、Sw+1においては、マッチラインML128〜ML255の論理値=“1”が維持されるので、マッチライン・センスアンプ107(128)〜107(255)は、検索結果信号MS128Z〜MS255Z=“1”を維持し、検索結果判定回路87は、検索結果判定信号DET1Z=“0”を維持する。したがって、サーチドライバ活性化信号バッファ89は、サイクルSw〜Sw+2においては、サーチドライバ活性化信号SBE2Z=“0”を維持し、サーチドライバ102(0)〜102(n−1)を活性化しない。
As a result, in the cycles S w and S w + 1 , the logic values of the match lines ML128 to ML255 are maintained at “1”, so that the matchline sense amplifiers 107 (128) to 107 (255) The search result signals MS128Z to MS255Z = "1" are maintained, and the search
また、この結果、サイクルSw〜Sw+2においては、マッチラインML256〜ML383の論理値=“1”が維持されるので、マッチライン・センスアンプ107(256)〜107(383)は、検索結果信号MS256Z〜MS383Z=“1”を維持し、検索結果判定回路91は、検索結果判定信号DET2Z=“0”を維持する。したがって、サーチドライバ活性化信号バッファ93は、サイクルSw〜Sw+3においては、サーチドライバ活性化信号SBE3Z=“0”を維持し、サーチドライバ103(0)〜103(n−1)を活性化しない。
As a result, in the cycles S w to S w + 2 , the logic values of the
これに対して、図示は省略するが、検索データD(0)〜D(n−1)が、メモリセルアレイ61に記憶されているデータの全てと不一致で、メモリセルアレイ62に記憶されているデータと一致する場合には、マッチラインML0〜ML127の論理値=“0”となる。この結果、マッチライン・センスアンプ107(0)〜107(127)は、検索結果信号MS0Z〜MS127Z=“0”とし、検索結果判定回路83は、検索結果判定信号DET0Z=“1”とする。
On the other hand, although illustration is omitted, the search data D (0) to D (n−1) does not match all of the data stored in the
したがって、サーチドライバ活性化信号バッファ85は、サイクルSw+1においては、サーチドライバ活性化信号SBE1Z=“1”とし、サーチドライバ99(p)を活性化する。また、サーチバスSB1(p)、XSB1(p)の論理値がフリップフロップ101(p)を介してサーチドライバ100(p)に供給される。この結果、サーチドライバ100(p)は、検索データD(p)の値に対応してサーチバスSB1(p)、XSB1(p)の一方の論理値=“1”、他方の論理値=“0”とする。
Therefore, the search driver
ここで、検索データD(0)〜D(n−1)がメモリセルアレイ62に記憶されているデータのいずれかと一致すると、マッチラインML128〜ML255のうち、検索データD(0)〜D(n−1)と同一データを記憶するアドレスのマッチラインの論理値=“1”が維持される。この結果、マッチライン・センスアンプ107(128)〜107(255)は、検索結果信号MS128Z〜MS255Zのうち、検索データD(0)〜D(n−1)と同一データを記憶するアドレスの検索結果信号=“1”を維持し、検索結果判定回路87は、検索結果判定信号DET1Z=“0”を維持する。したがって、サーチドライバ活性化信号バッファ89は、サイクルSw〜Sw+2においては、サーチドライバ活性化信号SBE2Z=“0”を維持し、サーチドライバ102(0)〜102(n−1)を活性化しない。
Here, when the search data D (0) to D (n−1) matches any of the data stored in the
また、この結果、サイクルSw〜Sw+2においては、マッチラインML256〜ML383の論理値=“1”が維持される。この結果、マッチライン・センスアンプ107(256)〜107(383)は、検索結果信号MS256Z〜MS383Z=“1”を維持し、検索結果判定回路87は、検索結果判定信号DET2Z=“0”を維持する。したがって、サーチドライバ活性化信号バッファ93は、サイクルSw〜Sw+3においては、サーチドライバ活性化信号SBE3Z=“0”を維持し、サーチドライバ103(0)〜103(n−1)を活性化しない。
As a result, in the cycles S w to S w + 2 , the logical values = “1” of the
また、図示は省略するが、検索データD(0)〜D(n−1)がメモリセルアレイ61、62に記憶されているデータの全てと不一致で、メモリセルアレイ63に記憶されているデータと一致する場合には、マッチラインML0〜ML127の論理値=“0”となる。この結果、マッチライン・センスアンプ107(0)〜107(127)は、検索結果信号MS0Z〜MS127Z=“0”となり、検索結果判定回路83は、検索結果判定信号DET0Z=“1”とする。
Although not shown, the search data D (0) to D (n−1) does not match all the data stored in the
したがって、サーチドライバ活性化信号バッファ85は、サイクルSw+1においては、サーチドライバ活性化信号SBE1Z=“1”とし、サーチドライバ100(p)を活性化する。また、サーチバスSB0(p)、XSB0(p)の論理値がフリップフロップ101(p)を介してサーチドライバ100(p)に供給される。この結果、サーチドライバ100(p)は、検索データD(p)の値に対応してサーチバスSB1(p)、XSB1(p)の一方の論理値=“1”、他方の論理値=“0”とする。
Therefore, search driver
しかし、この場合には、マッチラインML128〜ML255の論理値=“0”となるので、マッチライン・センスアンプ107(128)〜107(255)は、検索結果信号MS128Z〜MS255Z=“0”とし、検索結果判定回路87は、検索結果判定信号DET1Z=“1”とする。
However, in this case, since the logical values of the match lines ML128 to ML255 are “0”, the match line sense amplifiers 107 (128) to 107 (255) set the search result signals MS128Z to MS255Z = “0”. The search
したがって、サーチドライバ活性化信号バッファ89は、サイクルSw+2においては、サーチドライバ活性化信号SBE2Z=“1”とし、サーチドライバ102(p)を活性化する。また、サーチバスSB1(p)、XSB1(p)の論理値がフリップフロップ104(p)を介してサーチドライバ102(p)に供給される。この結果、サーチドライバ102(p)は、検索データD(p)の値に対応してサーチバスSB2(p)、XSB2(p)の一方の論理値=“1”、他方の論理値=“0”とする。
Therefore, the search driver
ここで、検索データD(0)〜D(n−1)がメモリセルアレイ63に記憶されているデータのいずれかと一致すると、マッチラインML256〜ML383のうち、検索データD(0)〜D(n−1)と同一データを記憶するアドレスのマッチラインの論理値=“1”が維持される。この結果、マッチライン・センスアンプ107(256)〜107(383)は、検索結果信号MS256Z〜MS383Zのうち、検索データD(0)〜D(n−1)と同一データを記憶するアドレスの検索結果信号=“1”を維持し、検索結果判定回路91は、検索結果判定信号DET2Z=“0”を維持する。したがって、サーチドライバ活性化信号バッファ93は、サイクルSw〜Sw+3においては、サーチドライバ活性化信号SBE3Z=“0”を維持し、サーチドライバ103(0)〜103(n−1)を活性化しない。
Here, when the search data D (0) to D (n−1) matches any of the data stored in the
また、図示は省略するが、検索データD(0)〜D(n−1)がメモリセルアレイ61〜63に記憶されているデータの全てと不一致で、メモリセルアレイ64に記憶されているデータと一致する場合には、まず、マッチラインML0〜ML127の論理値=“0”となる。この結果、マッチライン・センスアンプ107(0)〜107(127)が出力する検索結果信号MS0Z〜MS127Z=“0”となり、検索結果判定回路83が出力する検索結果判定信号DET0Z=“1”となる。
Although not shown, the search data D (0) to D (n−1) does not match all the data stored in the
したがって、サーチドライバ活性化信号バッファ85は、サイクルSw+1においては、サーチドライバ活性化信号SBE1Z=“1”とし、サーチドライバ100(p)を活性化する。また、サーチバスSB0(p)、XSB0(p)の論理値がフリップフロップ101(p)を介してサーチドライバ100(p)に供給される。この結果、サーチドライバ100(p)は、検索データD(p)の値に対応してサーチバスSB1(p)、XSB1(p)の一方の論理値=“1”、他方の論理値=“0”とする。
Therefore, search driver
しかし、この場合には、マッチラインML128〜ML255の論理値=“0”となるので、マッチライン・センスアンプ107(128)〜107(255)は、検索結果信号MS128Z〜MS255Z=“0”とし、検索結果判定回路87は、検索結果判定信号DET1Z=“1”とする。
However, in this case, since the logical values of the match lines ML128 to ML255 are “0”, the match line sense amplifiers 107 (128) to 107 (255) set the search result signals MS128Z to MS255Z = “0”. The search
したがって、サーチドライバ活性化信号バッファ89は、サイクルSw+2においては、サーチドライバ活性化信号SBE2Z=“1”とし、サーチドライバ102(p)を活性化する。また、サーチバスSB1(p)、XSB1(p)の論理値がフリップフロップ104(p)を介してサーチドライバ102(p)に供給される。この結果、サーチドライバ102(p)は、検索データD(p)の値に対応してサーチバスSB2(p)、XSB2(p)の一方の論理値=“1”、他方の論理値=“0”とする。
Therefore, the search driver
しかし、この場合には、マッチラインML256〜ML383の論理値=“0”となるので、マッチライン・センスアンプ107(256)〜107(383)は、検索結果信号MS256Z〜MS383Z=“0”とし、検索結果判定回路91が出力する検索結果判定信号DET2Z=“1”とする。
However, in this case, since the logical values of the match lines ML256 to ML383 are “0”, the match line sense amplifiers 107 (256) to 107 (383) set the search result signals MS256Z to MS383Z = “0”. The search result determination signal DET2Z output from the search
したがって、サーチドライバ活性化信号バッファ93は、サイクルSw+3においては、サーチドライバ活性化信号SBE3Z=“1”とし、サーチドライバ103(p)を活性化する。また、サーチバスSB2(p)、XSB2(p)の論理値がフリップフロップ105(p)を介してサーチドライバ103(p)に供給される。この結果、サーチドライバ103(p)は、検索データD(p)の値に対応してサーチバスSB3(p)、XSB3(p)の一方の論理値=“1”、他方の論理値=“0”とする。
Therefore, the search driver
ここで、エンコーダ79は、検索データDINが、メモリセルアレイ61に記憶されているデータのいずれかと一致した場合においても、メモリセルアレイ62に記憶されているデータのいずれかと一致した場合においても、メモリセルアレイ63に記憶されているデータのいずれかと一致した場合においても、メモリセルアレイ64に記憶されているデータのいずれかと一致した場合においても、検索結果信号MS0Z〜MS511Zを入力し、検索データDINと同一のデータを記憶するアドレスを示すアドレス信号EAを出力する。
Here, the
なお、本発明の第2実施形態においては、フリップフロップ部72〜74と、検索結果判定回路83、87、91と、サーチバス活性化信号バッファ85、89、93とで、メモリセルアレイ62〜64に対する検索動作を制御する制御部が構成されている。
In the second embodiment of the present invention, the flip-
以上のように、本発明の第2実施形態によれば、検索コマンド信号XSERが“0”とされると共に、検索データDINが与えられると、メモリセルアレイ61を対象として検索が実行され、検索データDINがメモリセルアレイ61に記憶されているデータのいずれかと一致した場合には、メモリセルアレイ62〜64を対象とした検索は実行されない。
As described above, according to the second embodiment of the present invention, when the search command signal XSER is set to “0” and the search data DIN is given, the search is performed on the
また、メモリセルアレイ61を対象として検索が実行された場合において、検索データDINがメモリセルアレイ61に記憶されているデータの全てと不一致の場合には、メモリセルアレイ62を対象とした検索が実行され、検索データDINがメモリセルアレイ62に記憶されているデータのいずれかと一致した場合には、メモリセルアレイ63、64を対象とした検索は実行されない。
When the search is performed on the
また、メモリセルアレイ61、62を対象として検索が実行された場合において、検索データDINがメモリセルアレイ61、62に記憶されているデータの全てと不一致の場合には、メモリセルアレイ63を対象とした検索が実行され、検索データDINがメモリセルアレイ63に記憶されているデータのいずれかと一致した場合には、メモリセルアレイ64を対象とした検索は実行されない。
When the search is performed on the
したがって、検索データDINがメモリセルアレイ61に記憶されているデータのいずれかと一致し、メモリセルアレイ62〜64を対象とした検索を実行しないで済んだ場合には、スタンバイ状態に戻る際に、メモリセルアレイ62〜64に設けられているマッチラインML128〜ML511については充電の必要がなく、また、検索データDINがメモリセルアレイ62に記憶されているデータのいずれかと一致し、メモリセルアレイ63、64を対象とした検索を実行しないで済んだ場合には、スタンバイ状態に戻る際に、メモリセルアレイ63、64に設けられているマッチラインML256〜ML511については充電の必要がなく、また、検索データDINがメモリセルアレイ63に記憶されているデータのいずれかと一致し、メモリセルアレイ64を対象とした検索を実行しないで済んだ場合には、スタンバイ状態に戻る際に、メモリセルアレイ64に設けられているマッチラインML384〜ML511については充電の必要がないので、検索後、スタンバイ状態に戻る際に充電を必要とするマッチラインの数を減らし、消費電流の低減化を図ることができる。
Therefore, if the search data DIN matches any of the data stored in the
(第3実施形態)
図13は本発明の第3実施形態の一部分を示す回路図である。本発明の第3実施形態は、本発明の第2実施形態が備えるエンコーダ79の代わりに、エンコーダ110〜120とフリップフロップ118〜120とを設けると共に、その他については、本発明の第2実施形態が備える回路部と同一の回路部を備えている。
(Third embodiment)
FIG. 13 is a circuit diagram showing a part of the third embodiment of the present invention. In the third embodiment of the present invention,
エンコーダ110は、マッチライン・センスアンプ107(0)〜107(127)が出力する検索結果信号MS0Z〜MS127Zを入力してエンコードし、7ビットのアドレス信号EAA0を出力すると共に、このアドレス信号EAA0が有効であるか否かを示す1ビットの有効/無効信号C0を出力するものであり、また、検索データDINが複数番地の記憶データと一致した場合、これら複数番地のうち、最小番地を示すアドレス信号EAA0を出力するものである。
The
ここで、検索結果信号MS0Z〜MS127Zのいずれかが“1”である場合(即ち、検索データDINがメモリセルアレイ61に記憶されているデータのいずれかと一致した場合)には、エンコーダ110は、検索データDINと同一データを記憶する番地のメモリセルアレイ61内での番地を示すアドレス信号EAA0を出力すると共に、有効/無効信号C0=“1”とし、このアドレス信号EAA0が有効であることを示す。これに対して、検索結果信号MS0Z〜MS127Zの全てが“0”である場合(即ち、検索データDINがメモリセルアレイ61に記憶されているデータの全てと不一致の場合)には、有効/無効信号C0=“0”とし、アドレス信号EAA0が無効であることを示す。
Here, when any of the search result signals MS0Z to MS127Z is “1” (that is, when the search data DIN matches any of the data stored in the memory cell array 61), the
エンコーダ111は、マッチライン・センスアンプ107(128)〜107(255)が出力する検索結果信号MS128Z〜MS255Zを入力してエンコードし、7ビットのアドレス信号EAA1を出力すると共に、このアドレス信号EAA1が有効であるか否かを示す1ビットの有効/無効信号C1を出力するものであり、また、検索データDINが複数番地の記憶データと一致した場合、これら複数番地のうち、最小番地を示すアドレス信号EAA1を出力するものである。
The
ここで、検索結果信号MS128Z〜MS255Zのいずれかが“1”である場合(即ち、検索データDINがメモリセルアレイ62に記憶されているデータのいずれかと一致した場合)には、エンコーダ111は、検索データDINと同一データを記憶している番地のメモリセルアレイ62内での番地を示すアドレス信号EAA1を出力すると共に、有効/無効信号C1=“1”とし、このアドレス信号EAA1が有効であることを示す。これに対して、検索結果信号MS128Z〜MS255Zの全てが“0”である場合(即ち、検索データDINがメモリセルアレイ62に記憶されているデータの全てと不一致の場合)には、有効/無効信号C1=“0”とし、アドレス信号EAA1が無効であることを示す。
Here, when any of the search result signals MS128Z to MS255Z is “1” (that is, when the search data DIN matches any of the data stored in the memory cell array 62), the
エンコーダ112は、マッチライン・センスアンプ107(256)〜107(383)が出力する検索結果信号MS256Z〜MS383Zを入力してエンコードし、7ビットのアドレス信号EAA2を出力すると共に、このアドレス信号EAA2が有効であるか否かを示す1ビットの有効/無効信号C2を出力するものであり、また、検索データDINが複数番地の記憶データと一致した場合、これら複数番地のうち、最小番地を示すアドレス信号EAA2を出力するものである。
The
ここで、検索結果信号MS256Z〜MS383Zのいずれかが“1”である場合(即ち、検索データDINがメモリセルアレイ63に記憶されているデータのいずれかと一致した場合)には、エンコーダ112は、検索データDINと同一データを記憶している番地のメモリセルアレイ63内での番地を示すアドレス信号EAA2を出力すると共に、有効/無効信号C2=“1”とし、このアドレス信号EAA2が有効であることを示す。これに対して、検索結果信号MS256Z〜MS383Zの全てが“0”である場合(即ち、検索データDINがメモリセルアレイ63に記憶されているデータの全てと不一致の場合)には、有効/無効信号C2=“0”とし、アドレス信号EAA2が無効であることを示す。
Here, when any of the search result signals MS256Z to MS383Z is “1” (that is, when the search data DIN matches any of the data stored in the memory cell array 63), the
エンコーダ113は、マッチライン・センスアンプ107(384)〜107(511)が出力する検索結果信号MS384Z〜MS511Zを入力してエンコードし、7ビットのアドレス信号EAA3を出力すると共に、アドレス信号EAA3が有効であるか否かを示す1ビットの有効/無効信号C3を出力するものであり、また、検索データDINが複数番地の記憶データと一致した場合、これら複数番地のうち、最小番地を示すアドレス信号EAA3を出力するものである。
The
ここで、検索結果信号MS384Z〜MS511Zのいずれかが“1”である場合(即ち、検索データDINがメモリセルアレイ64に記憶されているデータのいずれかと一致した場合)には、エンコーダ113は、検索データDINと同一データを記憶している番地のメモリセルアレイ64内での番地を示すアドレス信号EAA3を出力すると共に、有効/無効信号C3=“1”とし、このアドレス信号EAA3が有効であることを示す。これに対して、検索結果信号MS384Z〜MS511Zの全てが“0”である場合(即ち、検索データDINがメモリセルアレイ64に記憶されているデータの全てと不一致の場合)には、有効/無効信号C3=“0”とし、アドレス信号EAA3が無効であることを示す。
Here, when any of the search result signals MS384Z to MS511Z is “1” (that is, when the search data DIN matches any of the data stored in the memory cell array 64), the
なお、q=0、1、…、127とすると、メモリセルアレイ61内のメモリセル96(q、0)〜96(q、n−1)の部分のメモリセルアレイ61内での番地はq番地であり、メモリセルアレイ62内のメモリセル96(q+128、0)〜96(q+128、n−1)の部分のメモリセルアレイ62内での番地はq番地であり、メモリセルアレイ63内のメモリセル96(q+256、0)〜96(q+256、n−1)の部分のメモリセルアレイ63内での番地はq番地であり、メモリセルアレイ64内のメモリセル96(q+384、0)〜96(q+384、n−1)の部分のメモリセルアレイ64内での番地はq番地である。
If q = 0, 1,..., 127, the addresses in the
エンコーダ114は、エンコーダ110が出力するアドレス信号EAA0と有効/無効信号C0とを入力し、アドレス信号EAA0に9ビット目及び8ビット目を設定し、これら9ビット目及び8ビット目に“00”を付加して9ビットのアドレス信号EAB0を出力すると共に、このアドレス信号EAB0が有効であるか否かを示す1ビットの有効/無効信号CB0を出力するものである。エンコーダ114は、有効/無効信号C0=“1”の場合には、有効/無効信号CB0=“1”とし、アドレス信号EAB0が有効であることを示し、有効/無効信号C0=“0”の場合には、有効/無効信号CB0=“0”とし、アドレス信号EAB0が無効であることを示す。
The
このように、エンコーダ114は、検索データDINがメモリセルアレイ61に記憶されているデータのいずれかと一致した場合には、検索データDINと同一データを記憶するメモリセル部分の、メモリセルアレイ61〜64を1つのメモリセルアレイと見たときの番地(本発明の第3実施形態内での番地)を示すアドレス信号EAB0を出力する。また、フリップフロップ118は、エンコーダ114が出力するアドレス信号EAB0と有効/無効信号CB0とをクロック信号CLKに同期して取り込んでエンコーダ115に転送するものである。
As described above, when the search data DIN matches any of the data stored in the
エンコーダ115は、フリップフロップ118が出力するアドレス信号EAB0及び有効/無効信号CB0と、エンコーダ111が出力するアドレス信号EAA1及び有効/無効信号C1とを入力し、9ビットのアドレス信号EAB1を出力すると共に、このアドレス信号EAB1が有効であるか否かを示す1ビットの有効/無効信号CB1を出力するものである。
The
エンコーダ115は、有効/無効信号CB0=“1”、有効/無効信号C1=“0”の場合には、アドレス信号EAB0と同一値のアドレス信号EAB1を出力すると共に、有効/無効信号CB1=“1”とし、このアドレス信号EAB1が有効であることを示す。これに対して、有効/無効信号CB0=“0”、有効/無効信号C1=“1”の場合には、エンコーダ115は、アドレス信号EAA1に9ビット目及び8ビット目を設定し、これら9ビット目及び8ビット目に“01”を付加してなるアドレス信号EAB1を出力すると共に、有効/無効信号CB1=“1”とし、このアドレス信号EAB1が有効であることを示す。また、有効/無効信号CB0=“0”、有効/無効信号C1=“0”の場合には、エンコーダ115は、有効/無効信号CB1=“0”とし、アドレス信号EAB1が無効であることを示す。
When the valid / invalid signal CB0 = "1" and the valid / invalid signal C1 = "0", the
このように、エンコーダ115は、検索データDINがメモリセルアレイ62に記憶されているデータのいずれかと一致した場合には、検索データDINと同一データを記憶するメモリセル部分の、メモリセルアレイ61〜64を1つのメモリセルアレイと見たときの番地(本発明の第3実施形態内での番地)を示すアドレス信号EAB1を出力する。また、フリップフロップ119は、エンコーダ115が出力するアドレス信号EAB1と有効/無効信号CB1とをクロック信号CLKに同期して取り込んでエンコーダ116に転送するものである。
Thus, when the search data DIN matches any of the data stored in the
エンコーダ116は、フリップフロップ119が出力するアドレス信号EAB1及び有効/無効信号CB1と、エンコーダ112が出力するアドレス信号EAA2及び有効/無効信号C2とを入力し、9ビットのアドレス信号EAB2を出力すると共に、このアドレス信号EAB2が有効であるか否かを示す1ビットの有効/無効信号CB2を出力するものである。
The
エンコーダ116は、有効/無効信号CB1=“1”、有効/無効信号C2=“0”の場合には、アドレス信号EAB1と同一値のアドレス信号EAB2を出力すると共に、有効/無効信号CB2=“1”とし、このアドレス信号EAB2が有効であることを示す。これに対して、有効/無効信号CB1=“0”、有効/無効信号C2=“1”の場合には、エンコーダ116は、アドレス信号EAA2に9ビット目及び8ビット目を設定し、これら9ビット目及び8ビット目に“10”を付加してなるアドレス信号EAB2を出力すると共に、有効/無効信号CB2=“1”とし、このアドレス信号EAB2が有効であることを示す。また、有効/無効信号CB1=“0”、有効/無効信号C2=“0”の場合には、エンコーダ116は、有効/無効信号CB2=“0”とし、アドレス信号EAB2が無効であることを示す。
When the valid / invalid signal CB1 = "1" and valid / invalid signal C2 = "0", the
このように、エンコーダ116は、検索データDINがメモリセルアレイ63に記憶されているデータのいずれかと一致した場合には、検索データDINと同一データを記憶するメモリセル部分の、メモリセルアレイ61〜64を1つのメモリセルアレイと見たときの番地(本発明の第3実施形態内での番地)を示すアドレス信号EAB2を出力する。また、フリップフロップ120は、エンコーダ116が出力するアドレス信号EAB2と有効/無効信号CB2とをクロック信号CLKに同期して取り込んでエンコーダ117に転送するものである。
In this way, the
エンコーダ117は、フリップフロップ120が出力するアドレス信号EAB2及び有効/無効信号CB2と、エンコーダ113が出力するアドレス信号EAA3及び有効/無効信号C3とを入力し、9ビットのアドレス信号EAを出力すると共に、このアドレス信号EAが有効であるか否かを示す有効/無効信号CB3を出力ものである。
The
エンコーダ117は、有効/無効信号CB2=“1”、有効/無効信号C3=“0”の場合には、アドレス信号EAB2と同一値のアドレス信号EAを出力すると共に、有効/無効信号CB3=“1”とし、このアドレス信号EAが有効であることを示す。これに対して、有効/無効信号CB2=“0”、有効/無効信号C3=“1”の場合には、エンコーダ117は、アドレス信号EAA3に9ビット目及び8ビット目を設定し、これら9ビット目及び8ビット目に“11”を付加してなるアドレス信号EAを出力すると共に、有効/無効信号CB3=“1”とし、このアドレス信号EAが有効であることを示す。また、有効/無効信号CB2=“0”、有効/無効信号C3=“0”の場合には、エンコーダ117は、有効/無効信号CB3=“0”とし、アドレス信号EAが無効であることを示す。
When the valid / invalid signal CB2 = "1" and the valid / invalid signal C3 = "0", the
このように、エンコーダ117は、検索データDINがメモリセルアレイ64に記憶されているデータのいずれかと一致した場合には、検索データDINと同一データを記憶するメモリセル部分の、メモリセルアレイ61〜64を1つのメモリセルアレイと見たときの番地(本発明の第3実施形態内での番地)を示すアドレス信号EAを出力する。
Thus, when the search data DIN matches any of the data stored in the
また、本発明の第3実施形態においては、サーチドライバ99(p)は、サーチドライバ活性化信号SBE0Z=“1”、かつ、クロック信号CLK=“1”のときに活性化され、検索データD(p)の値に対応して、サーチバスSB0(p)、XSB0(p)の一方の論理値=“0”、他方の論理値=“1”とし、サーチドライバ活性化信号SBE0Z=“0”又はクロック信号CLK=“0”のときは非活性状態とされ、サーチバスSB0(p)、XSB0(p)の論理値=“0”とする。 In the third embodiment of the present invention, the search driver 99 (p) is activated when the search driver activation signal SBE0Z = "1" and the clock signal CLK = "1", and the search data D Corresponding to the value of (p), one of the search buses SB0 (p) and XSB0 (p) is set to “0”, the other is set to “1”, and the search driver activation signal SBE0Z = “0”. Or when the clock signal CLK = "0", the inactive state is set, and the logical values of the search buses SB0 (p) and XSB0 (p) are "0".
また、サーチドライバ100(p)は、サーチドライバ活性化信号SBE1Z=“1”、かつ、クロック信号CLK=“1”のときに活性化され、検索データD(p)の値に対応して、サーチバスSB1(p)、XSB1(p)の一方の論理値=“0”、他方の論理値=“1”とし、サーチドライバ活性化信号SBE1Z=“0”又はクロック信号CLK=“0”のときは非活性状態とされ、サーチバスSB1(p)、XSB1(p)の論理値=“0”とする。 The search driver 100 (p) is activated when the search driver activation signal SBE1Z = “1” and the clock signal CLK = “1”, and corresponds to the value of the search data D (p), One of the search buses SB1 (p) and XSB1 (p) is set to “0”, the other is set to “1”, and the search driver activation signal SBE1Z = “0” or the clock signal CLK = “0”. In some cases, the inactive state is set, and the logical values of the search buses SB1 (p) and XSB1 (p) are set to “0”.
また、サーチドライバ102(p)は、サーチドライバ活性化信号SBE2Z=“1”、かつ、クロック信号CLK=“1”のときに活性化され、検索データD(p)の値に対応して、サーチバスSB2(p)、XSB2(p)の一方の論理値=“0”、他方の論理値=“1”とし、サーチドライバ活性化信号SBE2Z=“0”又はクロック信号CLK=“0”のときは非活性状態とされ、サーチバスSB2(p)、XSB2(p)の論理値=“0”とする。 The search driver 102 (p) is activated when the search driver activation signal SBE2Z = “1” and the clock signal CLK = “1”, and corresponds to the value of the search data D (p), One of the search buses SB2 (p) and XSB2 (p) is set to “0”, the other is set to “1”, and the search driver activation signal SBE2Z = “0” or the clock signal CLK = “0”. In some cases, the inactive state is set, and the logical values of the search buses SB2 (p) and XSB2 (p) are set to “0”.
また、サーチドライバ103(p)は、サーチドライバ活性化信号SBE3Z=“1”、かつ、クロック信号CLK=“1”のときに活性化され、検索データD(p)の値に対応して、サーチバスSB3(p)、XSB3(p)の一方の論理値=“0”、他方の論理値=“1”とし、サーチドライバ活性化信号SBE3Z=“0”又はクロック信号CLK=“0”のときは非活性状態とされ、サーチバスSB3(p)、XSB3(p)の論理値=“0”とする。 The search driver 103 (p) is activated when the search driver activation signal SBE3Z = “1” and the clock signal CLK = “1”, and corresponds to the value of the search data D (p), One of the search buses SB3 (p) and XSB3 (p) is set to “0”, the other is set to “1”, and the search driver activation signal SBE3Z = “0” or the clock signal CLK = “0”. At this time, the state is inactivated, and the logical values of the search buses SB3 (p) and XSB3 (p) are set to “0”.
また、マッチラインML0〜ML511は、レベル検出時においては、クロック信号CLK=“0”のときにプリチャージされる。その他については、本発明の第2実施形態と同様に構成されている。 The match lines ML0 to ML511 are precharged when the level is detected when the clock signal CLK = "0". About others, it is comprised similarly to 2nd Embodiment of this invention.
図14及び図15は本発明の第3実施形態の検索動作例を示すタイミング図であり、検索データDIN1〜DIN6が連続して与えられ、検索データDIN1がメモリセルアレイ61に記憶されているデータのいずれかと一致し、検索データDIN2がメモリセルアレイ62に記憶されているデータのいずれかと一致し、検索データDIN3がメモリセルアレイ63に記憶されているデータのいずれかと一致し、検索データDIN4がメモリセルアレイ64に記憶されているデータのいずれかと一致し、検索データDIN5がメモリセルアレイ61〜64に記憶されているデータの全てと不一致であり、検索データDIN6がメモリセルアレイ61に記憶されているデータのいずれかと一致した場合を例にしている。
14 and 15 are timing charts showing an example of a search operation according to the third embodiment of the present invention. Search data DIN1 to DIN6 are successively given, and the search data DIN1 is stored in the
図14において、(A)は動作サイクルを決めるクロック信号CLK、(B)は検索データDIN1〜DIN6、(C)は検索コマンド信号XSER、(D)はサーチドライバ活性化信号SBE0Z、(E)はサーチバスSB0(p)、XSB0(p)の論理値、(F)はマッチラインML0〜ML127の論理値、(G)は検索結果信号MS0Z〜MS127Z、(H)はフリップフロップ84が出力する検索結果判定信号DET0Za、(I)はサーチドライバ活性化信号SBE1Z、(J)はサーチバスSB1(p)、XSB1(p)の論理値、(K)はマッチラインML128〜ML255の論理値、(L)は検索結果信号MS128Z〜MS255Z、(M)はフリップフロップ88が出力する検索結果判定信号DET1Za、(N)はサーチドライバ活性化信号SBE2Z、(O)はサーチバスSB2(p)、XSB2(p)の論理値、(P)はマッチラインML256〜ML383の論理値、(Q)は検索結果信号MS256Z〜MS383Z、(R)はフリップフロップ92が出力する検索結果判定信号DET2Za、(S)はサーチドライバ活性化信号SBE3Z、(T)はサーチバスSB3(p)、XSB3(p)の論理値、(U)はマッチラインML384〜ML511の論理値、(V)は検索結果信号MS384Z〜MS511Zを示している。
14, (A) is a clock signal CLK that determines an operation cycle, (B) is search data DIN1 to DIN6, (C) is a search command signal XSER, (D) is a search driver activation signal SBE0Z, (E) is Search buses SB0 (p) and XSB0 (p) are logical values, (F) is a logical value of match lines ML0 to ML127, (G) is a search result signal MS0Z to MS127Z, and (H) is a search output from flip-
図15において、(A)はクロック信号CLK、(B)は検索データDIN1〜DIN6、(C)はエンコーダ110が出力するアドレス信号EAA0、(D)はエンコーダ114が出力するアドレス信号EAB0、(E)はエンコーダ111が出力するアドレス信号EAA1、(F)はエンコーダ115が出力するアドレス信号EAB1、(G)はエンコーダ112が出力するアドレス信号EAA2、(H)はエンコーダ116が出力するアドレス信号EAB2、(I)はエンコーダ113が出力するアドレス信号EAA3、(J)はエンコーダ117が出力するアドレス信号EAを示している。
15, (A) is a clock signal CLK, (B) is search data DIN1 to DIN6, (C) is an address signal EAA0 output from the
また、A1は検索データDIN1と同一データを記憶しているメモリセルアレイ61のメモリセル部分のメモリセルアレイ61内での番地(0〜127番地のいずれか)であり、アドレス信号EAA0が示すものである。A1CはA1番地をメモリセルアレイ61〜64を1つのメモリセルアレイと見たときの番地(本発明の第3実施形態内での番地=A1=0〜127番地のいずれか)であり、アドレス信号EAB0、EAB1、EAB2、EAが示すものである。
A1 is an address (any of
A2は検索データDIN2と同一データを記憶しているメモリセルアレイ62内のメモリセル部分のメモリセルアレイ62内での番地(0〜127番地のいずれか)であり、アドレス信号EAA1が示すものである。A2CはA2番地をメモリセルアレイ61〜64を1つのメモリセルアレイと見たときの番地(本発明の第3実施形態内での番地=A2+128=128〜255番地のいずれか)であり、アドレス信号EAB1、EAB2、EAが示すものである。
A2 is an address (any one of
A3は検索データDIN3と同一データを記憶しているメモリセルアレイ63内のメモリセル部分のメモリセルアレイ63内での番地(0〜127番地のいずれか)であり、アドレス信号EAA2が示すものである。A3CはA3番地をメモリセルアレイ61〜64を1つのメモリセルアレイと見たときの番地(本発明の第3実施形態内での番地=A3+256=256〜383番地のいずれか)であり、アドレス信号EAB2、EAが示すものである。
A3 is an address (any one of
A4は検索データDIN4と同一データを記憶しているメモリセルアレイ64内のメモリセル部分のメモリセルアレイ64内での番地(0〜127番地のいずれか)であり、アドレス信号EAA3が示すものである。A4CはA4番地をメモリセルアレイ61〜64を1つのメモリセルアレイと見たときの番地(本発明の第3実施形態内での番地=A4+384=384〜511番地のいずれか)であり、アドレス信号EAが示すものである。
A4 is an address (any one of
A6は検索データDIN6と同一データを記憶しているメモリセルアレイ61内のメモリセル部分のメモリセルアレイ64内での番地(0〜127番地のいずれか)であり、アドレス信号EAA0が示すものである。A6CはA6番地の、メモリセルアレイ61〜64を1つのメモリセルアレイと見たときの番地(本発明の第3実施形態内での番地=A6=0〜127番地のいずれか)であり、アドレス信号EAB0、EAB1、EAB2、EAが示すものである。
A6 is an address (any one of
即ち、本発明の第3実施形態においては、例えば、サイクルSwの後半時に検索コマンド信号XSERが“0”とされると共に、サイクルSwの後半時及びサイクルSw+1の前半時に検索データDIN1が入力されると、サイクルSw+1の前半時に、サーチドライバ99(0)〜99(n−1)は活性化され、メモリセルアレイ61のサーチバスSB0(0)、XSB0(0)〜SB0(n−1)、XSB0(n−1)を駆動する。
That is, in the third embodiment of the present invention, for example, the cycle S together with the search command signal XSER is "0" in the second half when w, cycle S late time and cycle S w + 1 in the first half time of the search data for w When DIN1 is input, the search drivers 99 (0) to 99 (n-1) are activated in the first half of the cycle Sw + 1 , and the search buses SB0 (0) and XSB0 (0) to the
ここで、検索データDIN1は、メモリセルアレイ61に記憶されているデータのいずれかと一致するので、マッチラインML0〜ML127のいずれかの論理値=“1”、検索結果信号MS0Z〜MS127Zのいずれかの論理値=“1”が維持され、サイクルSw+1、Sw+2においては、検索結果判定信号DET0Za=“0”、サーチドライバ活性化信号SBE1Z=“0”が維持され、サーチドライバ100(0)〜100(n−1)は非活性とされる。
Here, since the search data DIN1 matches any of the data stored in the
この結果、サイクルSw+1、Sw+2においては、マッチラインML128〜ML255の論理値=“1”、検索結果信号MS128Z〜MS255Zの論理値=“1”が維持され、サイクルSw+1〜Sw+3においては、検索結果判定信号DET1Za=“0”、サーチドライバ活性化信号SBE2Z=“0”が維持され、サーチドライバ102(0)〜102(n−1)は非活性とされる。 As a result, in the cycles S w + 1 and S w + 2 , the logical values of the match lines ML128 to ML255 = “1” and the logical values of the search result signals MS128Z to MS255Z = “1” are maintained, and the cycle S w + In 1 to Sw + 3 , the search result determination signal DET1Za = "0" and the search driver activation signal SBE2Z = "0" are maintained, and the search drivers 102 (0) to 102 (n-1) are inactive. Is done.
また、この結果、サイクルSw+1〜Sw+3においては、マッチラインML256〜ML383の論理値=“1”、検索結果信号MS256Z〜MS383Zの論理値=“1”が維持され、サイクルSw+1〜Sw+4においては、検索結果判定信号DET2Za=“0”、サーチドライバ活性化信号SBE3Z=“0”が維持され、サーチドライバ103(0)〜103(n−1)は非活性とされる。 As a result, in the cycles S w + 1 to S w + 3 , the logical values of the match lines ML256 to ML383 = “1” and the logical values of the search result signals MS256Z to MS383Z = “1” are maintained. In w + 1 to S w + 4 , the search result determination signal DET2Za = “0” and the search driver activation signal SBE3Z = “0” are maintained, and the search drivers 103 (0) to 103 (n−1) are not. It is considered active.
次に、サイクルSw+1の後半時及びサイクルSw+2の前半時に検索データDIN2が入力されると、サイクルSw+2の前半時に、サーチドライバ99(0)〜99(n−1)は活性化され、メモリセルアレイ61のサーチバスSB0(0)、XSB0(0)〜SB0(n−1)、XSB0(n−1)を駆動する。
Then, the cycle S when w + 1 of the second half time and cycle S w + 2 search in the first half time of data DIN2 is inputted, during the first half of the cycle S w + 2, search driver 99 (0) ~99 (n- 1 ) Is activated to drive the search buses SB0 (0), XSB0 (0) to SB0 (n-1), XSB0 (n-1) of the
ここで、検索データDIN2は、メモリセルアレイ61に記憶されているデータの全てと不一致となるので、マッチラインML0〜ML127の論理値=“0”、検索結果信号MS0Z〜MS127Zの論理値=“0”となり、サイクルSw+3においては、検索結果判定信号DET0Za=“1”、サーチドライバ活性化信号SBE1Z=“1”となり、サーチドライバ100(0)〜100(n−1)は、サイクルSw+3の前半では、活性化され、メモリセルアレイ62のサーチバスSB1(0)、XSB1(0)〜SB1(n−1)、XSB1(n−1)を駆動する。
Here, since the search data DIN2 does not match all the data stored in the
ここで、検索データDIN2は、メモリセルアレイ62に記憶されているデータのいずれかと一致するので、マッチラインML128〜ML255のいずれかの論理値=“1”、検索結果信号MS128Z〜MS255Zのいずれかの論理値=“1”が維持され、サイクルSw+1〜Sw+4においては、検索結果判定信号DET1Za=“0”、サーチドライバ活性化信号SBE2Z=“0”が維持され、サーチドライバ102(0)〜102(n−1)は非活性とされる。
Here, since the search data DIN2 matches any of the data stored in the
また、この結果、サイクルSw+1〜Sw+4においては、マッチラインML256〜ML383の論理値=“1”、検索結果信号MS256Z〜MS383Zの論理値=“1”が維持され、サイクルSw+1〜Sw+5においては、検索結果判定信号DET2Za=“0”、サーチドライバ活性化信号SBE3Z=“0”が維持され、サーチドライバ103(0)〜103(n−1)は非活性とされる。 As a result, in the cycles S w + 1 to S w + 4 , the logical values of the match lines ML256 to ML383 = “1” and the logical values of the search result signals MS256Z to MS383Z = “1” are maintained, and the cycle S In w + 1 to S w + 5 , the search result determination signal DET2Za = "0" and the search driver activation signal SBE3Z = "0" are maintained, and the search drivers 103 (0) to 103 (n-1) are not It is considered active.
次に、サイクルSw+2の後半時及びサイクルSw+3の前半時に検索データDIN3が入力されると、サイクルSw+3の前半時に、サーチドライバ99(0)〜99(n−1)は活性化され、メモリセルアレイ61のサーチバスSB0(0)、XSB0(0)〜SB0(n−1)、XSB0(n−1)を駆動する。
Then, the cycle S when w + 2 in the second half of the time and cycle S w + 3 in the first half time of the search data DIN3 is input, in the first half time of the cycle S w + 3, search driver 99 (0) ~99 (n- 1 ) Is activated to drive the search buses SB0 (0), XSB0 (0) to SB0 (n-1), XSB0 (n-1) of the
ここで、検索データDIN3は、メモリセルアレイ61に記憶されているデータの全てと不一致となるので、マッチラインML0〜ML127の論理値=“0”、検索結果信号MS0Z〜MS127Zの論理値=“0”となり、サイクルSw+4においては、検索結果判定信号DET0Za=“1”、サーチドライバ活性化信号SBE1Z=“1”となり、サイクルSw+4の前半時に、サーチドライバ100(0)〜100(n−1)は活性化され、メモリセルアレイ62のサーチバスSB1(0)、XSB1(0)〜SB1(n−1)、XSB1(n−1)を駆動する。
Here, the search data DIN3 does not match all of the data stored in the
ここで、検索データDIN3は、メモリセルアレイ62に記憶されているデータの全てと不一致となるので、マッチラインML128〜ML255の論理値=“0”、検索結果信号MS128Z〜MS255Zの論理値=“0”となり、サイクルSw+5においては、検索結果判定信号DET1Za=“1”、サーチドライバ活性化信号SBE2Z=“1”となり、サイクルSw+5の前半時に、サーチドライバ102(0)〜102(n−1)は活性化され、メモリセルアレイ63のサーチバスSB2(0)、XSB2(0)〜SB2(n−1)、XSB2(n−1)を駆動する。
Here, since the search data DIN3 does not match all the data stored in the
ここで、検索データDIN3は、メモリセルアレイ63に記憶されているデータのいずれかと一致するので、マッチラインML256〜ML383のいずれかの論理値=“1”、検索結果信号MS256Z〜MS383Zのいずれかの論理値=“1”が維持され、サイクルSw+1〜Sw+6においては、検索結果判定信号DET2Za=“0”、サーチドライバ活性化信号SBE3Z=“0”が維持され、サーチドライバ103(0)〜103(n−1)は非活性とされる。
Here, since the search data DIN3 matches any of the data stored in the
次に、サイクルSw+3の後半時及びサイクルSw+4の前半時に検索データDIN4が入力されると、サイクルSw+4の前半時に、サーチドライバ99(0)〜99(n−1)は活性化され、メモリセルアレイ61のサーチバスSB0(0)、XSB0(0)〜SB0(n−1)、XSB0(n−1)を駆動する。
Then, the cycle S when w + search data DIN4 late time and during the first half of the cycle S w + 4 3 is input, when the first half of the cycle S w + 4, search driver 99 (0) ~99 (n- 1 ) Is activated to drive the search buses SB0 (0), XSB0 (0) to SB0 (n-1), XSB0 (n-1) of the
ここで、検索データDIN4は、メモリセルアレイ61に記憶されているデータの全てと不一致となるので、マッチラインML0〜ML127の論理値=“0”、検索結果信号MS0Z〜MS127Zの論理値=“0”が維持され、サイクルSw+5においては、検索結果判定信号DET0Za=“1”、サーチドライバ活性化信号SBE1Z=“1”となり、サイクルSw+5の前半時に、サーチドライバ100(0)〜100(n−1)は活性化され、メモリセルアレイ62のサーチバスSB1(0)、XSB1(0)〜SB1(n−1)、XSB1(n−1)を駆動する。
Here, since the search data DIN4 does not match all the data stored in the
ここで、検索データDIN4は、メモリセルアレイ62に記憶されているデータの全てと不一致となるので、マッチラインML128〜ML255の論理値=“0”、検索結果信号MS128Z〜MS255Zの論理値=“0”となり、サイクルSw+6においては、検索結果判定信号DET1Za=“1”、サーチドライバ活性化信号SBE2Z=“1”となり、サイクルSw+6の前半時に、サーチドライバ102(0)〜102(n−1)は活性化され、メモリセルアレイ63のサーチバスSB2(0)、XSB2(0)〜SB2(n−1)、XSB2(n−1)を駆動する。
Here, since the search data DIN4 does not match all the data stored in the
ここで、検索データDIN4は、メモリセルアレイ63に記憶されているデータの全てと不一致となるので、マッチラインML256〜ML383の論理値=“0”、検索結果信号MS256Z〜MS383Zの論理値=“0”となり、サイクルSw+7においては、検索結果判定信号DET2Za=“1”、サーチドライバ活性化信号SBE3Z=“1”となり、サイクルSw+7の前半時に、サーチドライバ103(0)〜103(n−1)は、活性化され、メモリセルアレイ64のサーチバスSB3(0)、XSB3(0)〜SB3(n−1)、XSB3(n−1)を駆動する。ここで、検索データDIN4は、メモリセルアレイ64に記憶されているデータの全てと一致となるので、マッチラインML384〜ML511のいずれかの論理値=“1”、検索結果信号MS384Z〜MS511Zのいずれかの論理値=“0”となる。
Here, since the search data DIN4 does not match all the data stored in the
次に、サイクルSw+4の後半時及びサイクルSw+5の前半時に検索データDIN5が入力されると、サイクルSw+5の前半時に、サーチドライバ99(0)〜99(n−1)は活性化され、メモリセルアレイ61のサーチバスSB0(0)、XSB0(0)〜SB0(n−1)、XSB0(n−1)を駆動する。
Next, the search data DIN5 the first half time of the cycle S w + 4 of the second half time and cycle S w + 5 is input, when the first half of the cycle S w + 5, the search driver 99 (0) ~99 (n- 1 ) Is activated to drive the search buses SB0 (0), XSB0 (0) to SB0 (n-1), XSB0 (n-1) of the
ここで、検索データDIN5は、メモリセルアレイ61に記憶されているデータの全てと不一致となるので、マッチラインML0〜ML127の論理値=“0”、検索結果信号MS0Z〜MS127Zの論理値=“0”となり、サイクルSw+6においては、検索結果判定信号DET0Za=“1”、サーチドライバ活性化信号SBE1Z=“1”となり、サイクルSw+6の前半時に、サーチドライバ100(0)〜100(n−1)は、活性化され、メモリセルアレイ62のサーチバスSB1(0)、XSB1(0)〜SB1(n−1)、XSB1(n−1)を駆動する。
Here, the search data DIN5 does not match all of the data stored in the
ここで、検索データDIN5は、メモリセルアレイ62に記憶されているデータの全てと不一致となるので、マッチラインML128〜ML255の論理値=“0”、検索結果信号MS128Z〜MS255Zの論理値=“0”となり、サイクルSw+7においては、検索結果判定信号DET1Za=“1”、サーチドライバ活性化信号SBE2Z=“1”となり、サイクルSw+7の前半時に、サーチドライバ102(0)〜102(n−1)は活性化され、メモリセルアレイ63のサーチバスSB2(0)、XSB2(0)〜SB2(n−1)、XSB2(n−1)を駆動する。
Here, since the search data DIN5 does not match all the data stored in the
ここで、検索データDIN5は、メモリセルアレイ63に記憶されているデータの全てと不一致となるので、マッチラインML256〜ML383の論理値=“0”、検索結果信号MS256Z〜MS383の論理値=“0”となり、サイクルSw+8においては、検索結果判定信号DET2Za=“1”、サーチドライバ活性化信号SBE3Z=“1”となり、サイクルSw+8の前半時に、サーチドライバ103(0)〜103(n−1)は活性化され、メモリセルアレイ64のサーチバスSB3(0)、XSB3(0)〜SB3(n−1)、XSB3(n−1)を駆動する。
Here, since the search data DIN5 does not match all the data stored in the
次に、サイクルSw+5の後半時及びサイクルSw+6の前半時に検索データDIN6が入力されると、サイクルSw+6の前半時に、サーチドライバ99(0)〜99(n−1)は活性化され、メモリセルアレイ61のサーチバスSB0(0)、XSB0(0)〜SB0(n−1)、XSB0(n−1)を駆動する。
Next, the search data DIN6 in the first half time of the cycle S w + 5 in the second half of the time and cycle S w + 6 is input, when the first half of the cycle S w + 6, the search driver 99 (0) ~99 (n- 1 ) Is activated to drive the search buses SB0 (0), XSB0 (0) to SB0 (n-1), XSB0 (n-1) of the
ここで、検索データDIN6は、メモリセルアレイ61に記憶されているデータのいずれかと一致するので、マッチラインML0〜ML127のいずれかの論理値=“1”、検索結果信号MS0Z〜MS127Zのいずれかの論理値=“1”が維持され、サイクルSw+7においては、検索結果判定信号DET0Za=“0”、サーチドライバ活性化信号SBE1Z=“0”が維持され、サーチドライバ100(0)〜100(n−1)は非活性とされる。
Here, since the search data DIN6 matches any of the data stored in the
この結果、サイクルSw+7においては、マッチラインML128〜ML255の論理値=“1”、検索結果信号MS128〜MS255Zの論理値=“1”が維持され、サイクルSw+8においては、検索結果判定信号DET1Za=“0”、サーチドライバ活性化信号SBE2Z=“0”が維持され、サーチドライバ102(0)〜102(n−1)は非活性とされる。 As a result, in the cycle S w + 7 , the logical values of the match lines ML128 to ML255 = “1” and the logical values of the search result signals MS128 to MS255Z = “1” are maintained. In the cycle S w + 8 , the search is performed. The result determination signal DET1Za = "0" and the search driver activation signal SBE2Z = "0" are maintained, and the search drivers 102 (0) to 102 (n-1) are deactivated.
また、この結果、サイクルSw+8においては、マッチラインML256〜ML383の論理値=“1”、検索結果信号MS256〜ML383の論理値=“1”が維持され、サイクルSw+9においては、検索結果判定信号DET2Za=“0”、サーチドライバ活性化信号SBE3Z=“0”が維持され、サーチドライバ103(0)〜103(n−1)は非活性とされる。 As a result, in the cycle S w + 8 , the logical values of the match lines ML256 to ML383 = “1” and the logical values of the search result signals MS256 to ML383 = “1” are maintained, and in the cycle S w + 9 The search result determination signal DET2Za = "0" and the search driver activation signal SBE3Z = "0" are maintained, and the search drivers 103 (0) to 103 (n-1) are deactivated.
また、本発明の第3実施形態においては、サイクルSw+1の前半時に、サーチドライバ99(0)〜99(n−1)が活性化され、検索データDIN1がメモリセルアレイ61に記憶されているデータのいずれかと一致すると、エンコーダ110は、図15(C)に示すように、検索データDIN1と同一データを記憶するメモリセル部分のメモリセルアレイ61内での番地であるA1番地を示すアドレス信号EAA0を出力する。
In the third embodiment of the present invention, the search drivers 99 (0) to 99 (n-1) are activated in the first half of the cycle Sw + 1 , and the search data DIN1 is stored in the
この結果、エンコーダ114は、サイクルSw+1で、A1番地を示すアドレス信号EAA0を入力し、図15(D)に示すように、メモリセルアレイ61内での番地であるA1番地をメモリセルアレイ61〜64を1つのメモリセルアレイとして見た場合の番地に変換し、この変換した番地であるA1C番地を示すアドレス信号EAB0を出力する。
As a result, the
また、この結果、エンコーダ115は、サイクルSw+2で、フリップフロップ118を介してA1C番地を示すアドレス信号EAB0を入力し、図15(F)に示すように、A1C番地を示すアドレス信号EAB1を出力する。エンコーダ116は、サイクルSw+3で、フリップフロップ119を介してA1C番地を示すアドレス信号EAB1を入力し、図15(H)に示すように、A1C番地を示すアドレス信号EAB2を出力する。エンコーダ117は、サイクルSw+4で、フリップフロップ120を介してA1C番地を示すアドレス信号EAB2を入力し、図15(J)に示すように、A1C番地を示すアドレス信号EAを出力する。
As a result, the
また、サイクルSw+3の前半時に、サーチドライバ100(0)〜100(n−1)が活性化され、検索データDIN2がメモリセルアレイ62に記憶されているデータのいずれかと一致すると、エンコーダ111は、図15(E)に示すように、検索データDIN2と同一データを記憶するメモリセル部分のメモリセルアレイ62内での番地であるA2番地を示すアドレス信号EAA1を出力する。
When the search drivers 100 (0) to 100 (n-1) are activated in the first half of the cycle S w + 3 and the search data DIN2 matches any of the data stored in the
この結果、エンコーダ115は、サイクルSw+3で、A2番地を示すアドレス信号EAB1を入力し、図15(F)に示すように、メモリセルアレイ62内での番地であるA2番地をメモリセルアレイ61〜64を1つのメモリセルアレイとして見た場合の番地に変換し、この変換した番地であるA2C番地を示すアドレス信号EAB1を出力する。
As a result, the
また、この結果、エンコーダ116は、サイクルSW+4で、フリップフロップ119を介してA2C番地を示すアドレス信号EAB1を入力し、図15(H)に示すように、A2C番地を示すアドレス信号EAB2を出力する。エンコーダ117は、サイクルSW+5で、フリップフロップ120を介してA2C番地を示すアドレス信号EAB2を入力し、図15(J)に示すように、A2C番地を示すアドレス信号EAを出力する。
As a result, the
また、サイクルSw+5の前半時に、サーチドライバ102(0)〜102(n−1)が活性化され、検索データDIN3がメモリセルアレイ63に記憶されているデータのいずれかと一致すると、エンコーダ112は、図15(G)に示すように、検索データDIN3と同一データを記憶するメモリセル部分のメモリセルアレイ63内での番地であるA3番地を示すアドレス信号EAA2を出力する。
When the search drivers 102 (0) to 102 (n-1) are activated during the first half of the cycle S w + 5 and the search data DIN3 matches any of the data stored in the
この結果、エンコーダ116は、サイクルSw+5で、A3番地を示すアドレス信号EAA2を入力し、図15(H)に示すように、メモリセルアレイ63内での番地であるA3番地をメモリセルアレイ61〜64を1つのメモリセルアレイとして見た場合の番地に変換し、この変換した番地であるA3C番地を示すアドレス信号EAB2を出力する。エンコーダ117は、サイクルSw+6で、フリップフロップ120を介してA3C番地を示すアドレス信号EAB2を入力し、図15(J)に示すように、A3C番地を示すアドレス信号EAを出力する。
As a result, the
また、サイクルSw+7の前半時に、サーチドライバ103(0)〜103(n−1)が活性化され、検索データDIN4がメモリセルアレイ64に記憶されているデータのいずれかと一致すると、エンコーダ113は、図15(I)に示すように、検索データDIN4と同一データを記憶するメモリセル部分のメモリセルアレイ64内での番地であるA4番地を示すアドレス信号EAA3を出力する。エンコーダ117は、サイクルSw+7で、A4番地を示すアドレス信号EAA3を入力し、図15(J)に示すように、A4C番地を示すアドレス信号EAを出力する。
When the search drivers 103 (0) to 103 (n-1) are activated in the first half of the cycle S w + 7 and the search data DIN4 matches any of the data stored in the
また、サイクルSw+6の前半時に、サーチドライバ99(0)〜99(n−1)が活性化され、検索データDIN6がメモリセルアレイ61に記憶されているデータのいずれかと一致すると、エンコーダ110は、図15(C)に示すように、検索データDIN6と同一データを記憶するメモリセル部分のメモリセルアレイ61内での番地であるA6番地を示すアドレス信号EAA0を出力する。
When the search drivers 99 (0) to 99 (n-1) are activated in the first half of the cycle S w + 6 and the search data DIN6 matches any of the data stored in the
この結果、エンコーダ114は、サイクルSw+6で、A6番地を示すアドレス信号EAA0を入力し、図15(D)に示すように、メモリセルアレイ61内での番地であるA6番地をメモリセルアレイ61〜64を1つのメモリセルアレイとして見た場合の番地に変換し、この変換した番地であるA6C番地を示すアドレス信号EAB0を出力する。
As a result, the
また、この結果、エンコーダ115は、サイクルSw+7で、フリップフロップ118を介してA6C番地を示すアドレス信号EAB0を入力し、図15(F)に示すように、A6C番地を示すアドレス信号EAB1を出力する。エンコーダ116は、サイクルSw+8で、フリップフロップ119を介してA6C番地を示すアドレス信号EAB1を入力し、図15(H)に示すように、A6C番地を示すアドレス信号EAB2を出力する。エンコーダ117は、サイクルSw+9で、フリップフロップ120を介してA6C番地を示すアドレス信号EAB2を入力し、図15(J)に示すように、A6C番地を示すアドレス信号EAを出力する。
As a result, the
以上のように、本発明の第3実施形態においては、エンコーダ110を設け、検索データDINがメモリセルアレイ61に記憶されているデータのいずれかと一致した場合には、検索データDINと同一データを記憶するメモリセル部分のメモリセルアレイ61内での番地を示すアドレス信号EAA0を出力するようにしている。また、エンコーダ111を設け、検索データDINがメモリセルアレイ62に記憶されているデータのいずれかと一致した場合には、検索データDINと同一データを記憶するメモリセル部分のメモリセルアレイ62内での番地を示すアドレス信号EAA1を出力するようにしている。
As described above, in the third embodiment of the present invention, the
また、エンコーダ112を設け、検索データDINがメモリセルアレイ63に記憶されているデータのいずれかと一致した場合には、検索データDINと同一データを記憶するメモリセル部分のメモリセルアレイ63内での番地を示すアドレス信号EAA2を出力するようにしている。また、エンコーダ113を設け、検索データDINがメモリセルアレイ64に記憶されているデータのいずれかと一致した場合には、検索データDINと同一データを記憶するメモリセル部分のメモリセルアレイ64内での番地を示すアドレス信号EAA3を出力するようにしている。
Further, an
そして、アドレス信号EAA0が有効であるときは、アドレス信号EAA0が示すメモリセルアレイ61内の番地がメモリセルアレイ61〜64を1つのメモリセルアレイとして見た場合の番地に変換され、アドレス信号EAB0、EAB1、EAB2としてエンコーダ114からエンコーダ115、116を介してエンコーダ117にパイプライン転送され、エンコーダ117からアドレス信号EAとして出力される。
When the address signal EAA0 is valid, the address in the
また、アドレス信号EAA1が有効であるときは、アドレス信号EAA1が示すメモリセルアレイ62内の番地がメモリセルアレイ61〜64を1つのメモリセルアレイとして見た場合の番地に変換され、アドレス信号EAB1、EAB2としてエンコーダ115からエンコーダ116を介してエンコーダ117にパイプライン転送され、エンコーダ117からアドレス信号EAとして出力される。
When the address signal EAA1 is valid, the address in the
また、アドレス信号EAA2が有効であるときは、アドレス信号EAA2が示すメモリセルアレイ63内の番地がメモリセルアレイ61〜64を1つのメモリセルアレイとして見た場合の番地に変換され、アドレス信号EAB2としてエンコーダ116からエンコーダ117にパイプライン転送される。また、アドレス信号EAA3が有効であるときは、エンコーダ117において、アドレス信号EAA3が示すメモリセルアレイ64内の番地がメモリセルアレイ61〜64を1つのメモリセルアレイとして見た場合の番地に変換され、アドレス信号EAとして出力される。
When the address signal EAA2 is valid, the address in the
本発明の第3実施形態によれば、図8に示す本発明の第2実施形態と同様に、検索後、スタンバイ状態に戻る際に充電を必要とするマッチラインの数を減らし、消費電流の低減化を図ることができると共に、メモリセルアレイ61〜64に対してそれぞれ異なる検索データについての検索動作を同時に行うことができ、連続する検索動作の高速化を図ることができる。
According to the third embodiment of the present invention, as in the second embodiment of the present invention shown in FIG. 8, after the search, the number of match lines that need to be charged when returning to the standby state is reduced. In addition to being able to reduce the number of data, the
(その他)
本発明の第1実施形態〜第3実施形態においては、二値(binary)タイプのメモリセルを使用した場合について説明したが、その他、本発明は、例えば、図16に示すような三値(ternary)タイプのメモリセルを使用することもできる。図16中、123は一方の記憶媒体であるフリップフロップであり、124、125はインバータである。また、S0、S1はストレージノード、126、127はワードラインWLの電位によりON、OFFが制御されるNMOSトランジスタである。128は他方の記憶媒体であるフリップフロップであり、129、130はインバータである。また、S3、S4はストレージノード、131、132はワードラインWLの電位によりON、OFFが制御されるNMOSトランジスタである。
(Other)
In the first to third embodiments of the present invention, the case where a binary type memory cell is used has been described. In addition, the present invention, for example, uses a ternary (as shown in FIG. A ternary type memory cell can also be used. In FIG. 16, 123 is a flip-flop which is one storage medium, and 124 and 125 are inverters. S0 and S1 are storage nodes, and 126 and 127 are NMOS transistors whose ON and OFF are controlled by the potential of the word line WL.
133はストレージノードS1の電位によりON、OFFが制御されるNMOSトランジスタ、134はストレージノードS4の電位によりON、OFFが制御されるNMOSトランジスタ、135はサーチバスSBの電位によりON、OFFが制御されるNMOSトランジスタ、136はサーチバスXSBの電位によりON、OFFが制御されるNMOSトランジスタである。
133 is an NMOS transistor whose ON / OFF is controlled by the potential of the storage node S1, 134 is an NMOS transistor whose ON / OFF is controlled by the potential of the storage node S4, and 135 is ON / OFF controlled by the potential of the search bus SB. The
図16に示すメモリセルに対するデータの書き込み及び図16に示すメモリセルからのデータの読み出しは、ワードラインWLとビットラインBL0、XBL0、BL1、XBL1とNMOSトランジスタ126、127、131、132とを使用して行われる。表3は図16に示すメモリセルに対するデータ書き込み時及び図16に示すメモリセルからのデータ読み出し時における図16に示すメモリセルの記憶データとビットラインBL0、XBL0、BL1、XBL1の論理値との関係を示している。
16 uses the word line WL, the bit lines BL0, XBL0, BL1, and XBL1 and the
また、図16に示すメモリセルに対する検索は、サーチバスSB、XSBと、NMOSトランジスタ133〜136と、マッチラインMLを使用して行われる。表4は検索時における図16に示すメモリセルの記憶データとサーチバスSB、XSBの論理値との関係を示している。
Further, the search for the memory cell shown in FIG. 16 is performed using the search buses SB and XSB, the
また、本発明の第1実施形態〜第3実施形態においては、メモリセルとしてSRAMセルを使用した場合について説明したが、本発明は、SRAMセル以外のメモリセルを使用する場合にも適用することができることは当然である。 In the first to third embodiments of the present invention, the case where the SRAM cell is used as the memory cell has been described. However, the present invention is also applicable to the case where a memory cell other than the SRAM cell is used. Of course you can.
1…RAM
2…連想メモリ(CAM)
3…メモリセル(MC)
4…フリップフロップ
5、6…インバータ
7〜12…NMOSトランジスタ
15…マッチライン・センスアンプ(MLSA)
16…メモリセルアレイ
17…ワードデコーダ(WDEC)部
18…ライトアンプ(W/A)部
19…センスアンプ(S/A)部
20…サーチドライバ(S/D)部
21…マッチライン・センスアンプ(MLSA)部
22…エンコーダ(ENC)
23…コマンドデコーダ(COMDEC)
24…サーチドライバ活性化信号生成回路(SBEGEN)
25…ワードドライバ(WDEC)
26…ライトアンプ(W/A)
27…センスアンプ(S/A)
28…サーチドライバ(S/D)
31、32…メモリセルアレイ(MCA)
33…ワードデコーダ(WDEC)部
34…ラインアンプ(W/A)部
35…センスアンプ(S/A)部
36、37…サーチドライバ(S/D)部
38…フリップフロップ(FF)部
39、40…マッチライン・センスアンプ(MLSA)部
41…エンコーダ(ENC)
42…コマンドデコーダ(COMDEC)
43…サーチドライバ活性化信号生成回路(SBEGEN)
44…フリップフロップ(FF)
45…検索結果判定回路(DET)
46…サーチドライバ活性化信号バッファ(SBEBUF)
50…メモリセル(MC)
51…ライトアンプ(W/A)
52…センスアンプ(S/A)
53、54…サーチドライバ(S/D)
55…フリップフロップ(FF)
56…マッチライン・センスアンプ(MLSA)
61〜64…メモリセルアレイ(MCA)
65…ワードデコーダ(WDEC)部
66…ライトアンプ(W/A)部
67…センスアンプ(S/A)部
68〜71…サーチドライバ(S/D)部
72〜74…フリップフロップ(FF)部
75〜78…マッチライン・センスアンプ(MLSA)部
79…エンコーダ(ENC)
80…コマンドデコーダ(COMDEC)
81…サーチドライバ活性化信号生成回路(SBEGEN)
82…フリップフロップ(FF)
83…検索結果判定回路(DET)
84…フリップフロップ(FF)
85…サーチドライバ活性化信号バッファ(SBEBUF)
86…フリップフロップ(FF)
87…検索結果判定回路(DET)
88…フリップフロップ(FF)
89…サーチドライバ活性化信号バッファ(SBEBUF)
90…フリップフロップ(FF)
91…検索結果判定回路(DET)
92…フリップフロップ(FF)
93…サーチドライバ活性化信号バッファ(SBEBUF)
96…メモリセル(MC)
97…ライトアンプ(W/A)
98…センスアンプ(S/A)
99、100…サーチドライバ(S/D)
101…フリップフロップ(FF)
102、103…サーチドライバ(S/D)
104、105…フリップフロップ(FF)
106…ワードデコーダ(WDEC)
107…マッチライン・センスアンプ(MLSA)
110〜117…エンコーダ(ENC)
118〜120…フリップフロップ(FF)
123…フリップフロップ(FF)
124、125…インバータ
126、127…NMOSトランジスタ
128…フリップフロップ
129、130…インバータ
131〜136…NMOSトランジスタ
1 ... RAM
2 ... Associative memory (CAM)
3 ... Memory cell (MC)
4 ... flip-
DESCRIPTION OF
23 ... Command decoder (COMDEC)
24 ... Search driver activation signal generation circuit (SBBEGEN)
25 ... Word driver (WDEC)
26 ... Light amplifier (W / A)
27 ... Sense amplifier (S / A)
28 ... Search driver (S / D)
31, 32 ... Memory cell array (MCA)
33 ... Word decoder (WDEC)
42 ... Command decoder (COMDEC)
43 ... Search driver activation signal generation circuit (SBBEGEN)
44 ... flip-flop (FF)
45 ... Search result judgment circuit (DET)
46 ... Search driver activation signal buffer (SBEBUF)
50 ... Memory cell (MC)
51 ... Light amplifier (W / A)
52. Sense amplifier (S / A)
53, 54 ... Search driver (S / D)
55. Flip-flop (FF)
56 ... Match line sense amplifier (MLSA)
61-64 ... Memory cell array (MCA)
65: Word decoder (WDEC) unit 66: Write amplifier (W / A)
80 ... Command decoder (COMDEC)
81 ... Search driver activation signal generation circuit (SBBEGEN)
82. Flip-flop (FF)
83 ... Search result judgment circuit (DET)
84 ... flip-flop (FF)
85 ... Search driver activation signal buffer (SBEBUF)
86 ... Flip-flop (FF)
87 ... Search result judgment circuit (DET)
88 ... flip-flop (FF)
89 ... Search driver activation signal buffer (SBEBUF)
90 ... flip-flop (FF)
91 ... Search result judgment circuit (DET)
92 ... flip-flop (FF)
93 ... Search driver activation signal buffer (SBEBUF)
96 ... Memory cell (MC)
97 ... Light amplifier (W / A)
98 ... Sense amplifier (S / A)
99, 100 ... Search driver (S / D)
101 ... flip-flop (FF)
102, 103 ... Search driver (S / D)
104, 105 ... flip-flop (FF)
106: Word decoder (WDEC)
107 ... Match line sense amplifier (MLSA)
110-117 ... Encoder (ENC)
118-120 ... flip-flop (FF)
123 ... flip-flop (FF)
124, 125 ...
Claims (3)
第i(但し、i=1、2、…、kである。)のメモリセルアレイに対応して設けられた第iのマッチライン・センスアンプと、
第j(但し、j=1、…、k−1である。)のマッチライン・センスアンプの出力値が、第jのメモリセルアレイが前記検索データと同一データを記憶しているメモリセルアレイでないことを示している場合にのみ、第j+1のメモリセルアレイについて検索を行うように検索動作を制御する第jの制御部と、
前記第iのマッチライン・センスアンプの出力値が、前記検索データが前記第iのメモリセルアレイに記憶されているデータのいずれかと一致したことを示している場合には、前記検索データと同一データを記憶するメモリセル部分の前記第iのメモリセルアレイ内の番地を示す第1型の第iのアドレス信号を出力する第1型の第iのエンコーダと、
前記第1型の第iのアドレス信号を入力し、前記第1型の第iのアドレス信号が示す番地を前記第1〜第kのメモリセルアレイを1つのメモリセルアレイとして見た場合の番地に変換し、該変換した番地を示す第2型の第iのアドレス信号を出力する第2型の第iのエンコーダとを備え、
第2型の第1、第2、…、第kのエンコーダは、第2型の第1、…、第k−1のエンコーダが出力する第2型の第1、…、第k−1のアドレス信号を第2型の第kのエンコーダに向けてパイプライン転送できるように接続されていること
を特徴とする連想メモリ。 First, second,..., K-th (where k is an integer equal to or greater than 2) memory cell arrays that are sequentially searched for search data given from the outside;
An i-th match line sense amplifier provided corresponding to the i-th (where i = 1, 2,..., K) memory cell array;
The output value of the j-th (where j = 1,..., K−1) match line sense amplifier is not the memory cell array in which the j-th memory cell array stores the same data as the search data. only if they represent a control unit of the j-th control the search operation to perform a search for the (j + 1) of the memory cell array,
If the output value of the i-th match line sense amplifier indicates that the search data matches any of the data stored in the i-th memory cell array, the same data as the search data A first-type i-th encoder that outputs a first-type i-th address signal indicating an address in the i-th memory cell array of a memory cell portion that stores
The first-type i-th address signal is input, and the address indicated by the first-type i-th address signal is converted into an address when the first to k-th memory cell arrays are viewed as one memory cell array. And a second type i-th encoder that outputs a second type i-th address signal indicating the converted address,
The first, second,..., Kth encoders of the second type are the first,..., K-1th of the second types output by the first, first,. An associative memory characterized by being connected so that an address signal can be pipeline-transferred toward a second type k-th encoder .
前記第iのメモリセルアレイに対応して設けられ、前記第iのサーチバスを駆動して前記第iのメモリセルアレイ内のメモリセルを検索動作状態に設定する第iのサーチドライバ部とを備え、
前記第jの制御部は、
前記第jのマッチライン・センスアンプの出力値から、前記第jのメモリセルアレイが前記検索データと同一データを記憶しているメモリセルアレイでないことを示しているか否かを判定する第jの検索結果判定回路と、
前記第jの検索結果判定回路が、前記第jのメモリセルアレイは前記検索データと同一データを記憶しているメモリセルアレイではないと判定した場合には、第j+1のサーチドライバ部を活性化し、前記第jのメモリセルアレイが前記検索データと同一データを記憶しているメモリセルアレイであると判定した場合には、前記第j+1のサーチドライバ部を非活性とする第j+1のサーチドライバ部活性化回路とを備えること
を特徴とする請求項1に記載の連想メモリ。 An i-th search bus provided corresponding to the i-th memory cell array and connected to the memory cells in the i-th memory cell array;
An i-th search driver unit provided corresponding to the i-th memory cell array and driving the i-th search bus to set the memory cells in the i-th memory cell array to a search operation state;
The j-th control unit is
The jth search result for determining whether or not the jth memory cell array is not a memory cell array storing the same data as the search data, based on the output value of the jth match line sense amplifier A determination circuit;
When the j-th search result determination circuit determines that the j-th memory cell array is not a memory cell array storing the same data as the search data, the j-th search result determination circuit activates the j + 1-th search driver unit, and when the memory cell array of the first j is determined to be a memory cell array that stores the search data and the same data, and the (j + 1) of the search driver activating circuit to the (j + 1) th search driver inactive The associative memory according to claim 1 , further comprising:
第1のサーチドライバ部は、前記外部から与えられた検索データに基づいて第1のサーチバスを駆動し、
前記第j+1のサーチドライバ部は、第j+1のサーチバスの論理値が前記第jのサーチバスの論理値と同一となるように前記第j+1のサーチバスを駆動すること
を特徴とする請求項2に記載の連想メモリ。 The logical value of the search buses of the j comprises a transfer means for transferring the search driver portion of the first j + 1,
The first search driver unit drives the first search bus based on the search data given from the outside,
Search driver unit of the (j + 1) th, the claim 2, characterized in that the logical value of the j + 1 of the search buses to drive the (j + 1) th search bus so as to become the same as the logical value of the search buses of the first j The associative memory described in 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007336169A JP5119912B2 (en) | 2007-12-27 | 2007-12-27 | Associative memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007336169A JP5119912B2 (en) | 2007-12-27 | 2007-12-27 | Associative memory |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009158027A JP2009158027A (en) | 2009-07-16 |
JP5119912B2 true JP5119912B2 (en) | 2013-01-16 |
Family
ID=40961873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007336169A Expired - Fee Related JP5119912B2 (en) | 2007-12-27 | 2007-12-27 | Associative memory |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5119912B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011181147A (en) | 2010-03-02 | 2011-09-15 | Renesas Electronics Corp | Associative memory device |
JP2017097940A (en) * | 2015-11-26 | 2017-06-01 | ルネサスエレクトロニクス株式会社 | Semiconductor device |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2779114B2 (en) * | 1993-05-19 | 1998-07-23 | 川崎製鉄株式会社 | Associative memory |
JP2003272386A (en) * | 2002-03-20 | 2003-09-26 | Mitsubishi Electric Corp | Tcam cell, tcam cell array, address retrieving memory, retrieving device for network address |
JP4541077B2 (en) * | 2004-01-13 | 2010-09-08 | 株式会社日立超エル・エス・アイ・システムズ | Semiconductor memory device |
JP4861012B2 (en) * | 2005-03-31 | 2012-01-25 | ルネサスエレクトロニクス株式会社 | CAM equipment |
JP4901288B2 (en) * | 2006-04-25 | 2012-03-21 | ルネサスエレクトロニクス株式会社 | Content reference memory |
-
2007
- 2007-12-27 JP JP2007336169A patent/JP5119912B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009158027A (en) | 2009-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4997316B2 (en) | Semiconductor memory device | |
US5659515A (en) | Semiconductor memory device capable of refresh operation in burst mode | |
US6480424B1 (en) | Compact analog-multiplexed global sense amplifier for RAMS | |
US6633952B2 (en) | Programmable refresh scheduler for embedded DRAMs | |
CN101038785A (en) | A high speed dram architecture with uniform access latency | |
US6778435B1 (en) | Memory architecture for TCCT-based memory cells | |
JPH11306751A (en) | Semiconductor storage | |
TW201346911A (en) | Content addressable memory system | |
US20020131312A1 (en) | Pseudo differential sensing method and apparatus for DRAM cell | |
JP2001273193A (en) | Cache memory | |
US8724359B2 (en) | Methods and circuits for limiting bit line leakage current in a content addressable memory (CAM) device | |
US6762972B2 (en) | Synchronous semiconductor memory device and method of processing data thereof | |
JP2007273007A (en) | Semiconductor memory device | |
TWI252492B (en) | Semiconductor memory device having advanced tag block | |
JP3317746B2 (en) | Semiconductor storage device | |
JPH0636560A (en) | Semiconductor memory | |
JPH10106264A (en) | Semiconductor memory device | |
TWI483250B (en) | Hierarchical dram sensing | |
JP5119912B2 (en) | Associative memory | |
JP4511790B2 (en) | Associative memory | |
US6115317A (en) | Semiconductor memory device for masking data by controlling column select line signals | |
JP5115913B2 (en) | Main row decoder for semiconductor memory device | |
JP5104297B2 (en) | Associative memory | |
JP4926129B2 (en) | Evaluation circuit for memory | |
KR101986416B1 (en) | Static random access memory device for sharing power of local bitline and control method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100830 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120619 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120815 |
|
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: 20120925 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121008 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151102 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5119912 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |