TWI793854B - Content addressable memory cell, content addressable memory device and operation method thereof, and method for data searching and comparing - Google Patents
Content addressable memory cell, content addressable memory device and operation method thereof, and method for data searching and comparing Download PDFInfo
- Publication number
- TWI793854B TWI793854B TW110142170A TW110142170A TWI793854B TW I793854 B TWI793854 B TW I793854B TW 110142170 A TW110142170 A TW 110142170A TW 110142170 A TW110142170 A TW 110142170A TW I793854 B TWI793854 B TW I793854B
- Authority
- TW
- Taiwan
- Prior art keywords
- search
- data
- content
- memory unit
- addressable memory
- Prior art date
Links
Images
Abstract
Description
本發明係有關於一種內容定址記憶體(Content Addressable Memory,CAM)晶胞、CAM記憶體裝置及其操作方法以及資料搜尋比對的方法,且特別有關於一種可用於實現快閃記憶體內搜尋(In-memory searching,IMS)系統的CAM晶胞、CAM記憶體裝置及其操作方法以及資料搜尋比對的方法。 The present invention relates to a content addressable memory (Content Addressable Memory, CAM) unit cell, a CAM memory device and its operating method, and a method for searching and comparing data, and particularly relates to a method for realizing search ( A CAM unit cell of an In-memory searching (IMS) system, a CAM memory device, an operation method thereof, and a method for searching and comparing data.
隨著大數據與人工智慧(AI)硬體加速器的興起,資料搜尋與資料比對是重要功能。現有的三元內容定址記憶體(Ternary Content Addressable Memory,TCAM)可用於實現高度平行搜尋(highly parallel searching)。傳統TCAM通常由靜態隨機存取記憶體(Static Random Access Memory,SRAM)組成,因此記憶密度低且存取功率高。為了透過密集的記憶密度來節省功耗,最近提出了基於TCAM的非揮發性記憶體陣列。 With the rise of big data and artificial intelligence (AI) hardware accelerators, data search and data comparison are important functions. Existing Ternary Content Addressable Memory (TCAM) can be used to implement highly parallel searching. Conventional TCAM is usually composed of Static Random Access Memory (SRAM), so memory density is low and access power is high. To save power consumption through dense memory density, TCAM-based non-volatile memory arrays have recently been proposed.
相較於具有16個電晶體(16T)之基於SRAM的TCAM,最近發展出具有2個電晶體與2個電阻(2T2R)結構之基於電阻式隨機存取記憶體(Resistive Random Access Memory,RRAM)的TCAM,以減少晶胞面積。待機功耗(standby power consumption)也可藉由使用基於RRAM的非揮發性TCAM來改善。然而,RRAM的電阻率(R-ratio)有限而難以區分匹配狀態與不匹配狀態,故RRAM不足以對大量資料進行平行搜索。相較於2T2R結構,基於鐵電場效電晶體(Ferroelectric FET,FeFET)的TCAM陣列可提供更高的導通電流/關閉電流比(on/off ratio)和密集的記憶陣列,但FeFET裝置的導通電流/關閉電流比仍不夠高,影響到匹配準確性,故而不適用於長字元搜尋設計。 Compared with the SRAM-based TCAM with 16 transistors (16T), a recently developed resistive random access memory (Resistive Random Access Memory, RRAM) with 2 transistors and 2 resistors (2T2R) structure TCAM to reduce the unit cell area. Standby power consumption can also be improved by using RRAM-based non-volatile TCAM. However, the resistivity (R-ratio) of RRAM is limited and it is difficult to distinguish the matching state from the mismatching state, so the RRAM is not enough for parallel searching of a large amount of data. Compared with the 2T2R structure, the TCAM array based on ferroelectric field effect transistor (Ferroelectric FET, FeFET) can provide higher on/off ratio (on/off ratio) and dense memory array, but the on-current of FeFET device The /off current ratio is still not high enough to affect the matching accuracy, so it is not suitable for long character search design.
此外,於DNA的基因組分析中,利用次世代定序(Next Generation Sequencing,NGS)技術測量DNA或RNA定序數量。基因組被切割且定序為多組資料片段(read),然後將多組資料片段映射至參考基因組(稱為讀取映射(read mapping)),以進行基因組的匹配與定位。由於讀取映射需要龐大的記憶體數量,而且記憶體與計算單元(CPU/GPU)之間的通信限制讀取映射,使得讀取映射成為基因組分析過程的最耗時部分。 In addition, in the genome analysis of DNA, the sequence quantity of DNA or RNA is measured by using Next Generation Sequencing (NGS) technology. The genome is cut and sequenced into multiple sets of data fragments (read), and then the multiple sets of data fragments are mapped to the reference genome (called read mapping (read mapping)) for genome matching and positioning. Read mapping is the most time-consuming part of the genome analysis process due to the large amount of memory required for read mapping and the limitations of the communication between memory and computing units (CPU/GPU).
故而,需要有一種內容定址記憶體(Content Addressable Memory,CAM)晶胞、內容定址記憶體裝置及其操作方法以及資料搜尋比對的方法,當用於實現快閃記憶體內搜尋 (In-memory searching,IMS)系統以及基因組分析時,可提供高匹配準確性且適用於長字元搜尋設計。 Therefore, there is a need for a content addressable memory (Content Addressable Memory, CAM) unit cell, a content addressable memory device and its operation method, and a method for data search and comparison, when used to realize search in flash memory (In-memory searching, IMS) system and genome analysis, it can provide high matching accuracy and is suitable for long character search design.
根據本案一實例,提出一種內容定址記憶體晶胞,包括:一第一快閃記憶體晶胞,該第一快閃記憶體晶胞的一第一端用以接收一第一搜尋電壓;一第二快閃記憶體晶胞,該第二快閃記憶體晶胞的一第一端用以接收一第二搜尋電壓,該第一快閃記憶體晶胞的一第二端係與該第二快閃記憶體晶胞的一第二端電性連接;其中該第一快閃記憶體晶胞與該第二快閃記憶體晶胞係串聯連接,該內容定址記憶體晶胞之一儲存資料決定於該第一快閃記憶體晶胞與該第二快閃記憶體晶胞之複數個臨界電壓之組合。 According to an example of the present case, a content addressable memory unit cell is proposed, including: a first flash memory unit cell, a first end of the first flash memory unit cell is used to receive a first search voltage; A second flash memory unit cell, a first end of the second flash memory unit cell is used to receive a second search voltage, a second end of the first flash memory unit cell is connected to the first flash memory unit cell A second terminal of two flash memory unit cells is electrically connected; wherein the first flash memory unit cell and the second flash memory unit cell are connected in series, and one of the content addressable memory unit cells is stored Data is determined by a combination of threshold voltages of the first flash memory unit cell and the second flash memory unit cell.
根據本案另一實例,提出一種內容定址記憶體裝置,包括:複數個第一內容定址記憶體晶胞串列,該些第一內容定址記憶體晶胞串列包括複數個第一內容定址記憶體晶胞,各該些第一內容定址記憶體晶胞包括複數個快閃記憶體晶胞,各該些第一內容定址記憶體晶胞之一儲存資料決定於各該些第一內容定址記憶體晶胞之該些快閃記憶體晶胞之複數個臨界電壓之組合;一第一字元線驅動器,用以提供複數個第一搜尋電壓與複數個第二搜尋電壓至該些第一內容定址記憶體晶胞;複數條第一匹配線,耦接至該些第一內容定址記憶體晶胞;複數個第一感應放大器,耦接至該些第一匹配線;以及一解碼器,耦接至該些第一感應放大 器,其中,當該些第一搜尋電壓與該些第二搜尋電壓施加至該些第一內容定址記憶體晶胞時,該些第一感應放大器感應該些第一匹配線上的複數個第一匹配電流以產生複數個第一感應結果;依據該些第一感應結果,該解碼器產生一第一匹配位址,該第一匹配位址指示一第一搜尋結果為匹配的該些第一內容定址記憶體晶胞的個別位址。 According to another example of the present application, a content-addressable memory device is proposed, including: a plurality of first content-addressable memory unit cell strings, and these first content-addressable memory unit cell series include a plurality of first content-addressable memory unit cells Unit cells, each of the first content-addressable memory unit cells includes a plurality of flash memory unit cells, and the storage data of each of the first content-addressable memory unit cells is determined by each of the first content-addressable memory units A combination of a plurality of critical voltages of the flash memory unit cells of the unit cell; a first word line driver for providing a plurality of first search voltages and a plurality of second search voltages to address the first content memory unit cell; a plurality of first matching lines, coupled to the first content-addressable memory unit cells; a plurality of first sense amplifiers, coupled to the first matching lines; and a decoder, coupled to to those first sense amplifiers device, wherein, when the first search voltages and the second search voltages are applied to the first content-addressable memory cells, the first sense amplifiers sense the plurality of first sense amplifiers on the first match lines matching currents to generate a plurality of first sensing results; according to the first sensing results, the decoder generates a first matching address, and the first matching address indicates that a first search result matches the first contents Individual addresses for addressing memory cells.
根據本案更一實例,提出一種內容定址記憶體裝置之操作方法,包括:程式化複數個內容定址記憶體晶胞,各該些內容定址記憶體晶胞包括複數個快閃記憶體晶胞,各該些內容定址記憶體晶胞之一儲存資料決定於各該些內容定址記憶體晶胞之該些快閃記憶體晶胞之複數個臨界電壓之組合,該些內容定址記憶體晶胞耦接至複數條匹配線;施加複數個第一搜尋電壓與複數個第二搜尋電壓至該些內容定址記憶體晶胞;感應該些匹配線上的複數個匹配電流以產生複數個感應結果;以及依據該些感應結果,產生一匹配位址,該匹配位址指示一搜尋結果為匹配的該些內容定址記憶體晶胞的個別位址。 According to another example of the present case, a method for operating a content-addressable memory device is proposed, including: programming a plurality of content-addressable memory unit cells, each of which includes a plurality of flash memory unit cells, each The data stored in one of the content-addressable memory cells is determined by a combination of a plurality of threshold voltages of the flash memory cells in each of the content-addressable memory cells, and the content-addressable memory cells are coupled to to a plurality of matching lines; applying a plurality of first search voltages and a plurality of second search voltages to the content-addressed memory cells; inducing a plurality of matching currents on the matching lines to generate a plurality of induction results; and according to the The sensing results generate a matching address indicating individual addresses of the content-addressed memory cells for which a search result matches.
根據本案又一實例,提出一種內容定址記憶體裝置,包括:複數個內容定址記憶體晶胞串列,各該些內容定址記憶體晶胞串列包括複數個內容定址記憶體晶胞,各該些內容定址記憶體晶胞包括複數個串聯快閃記憶體晶胞,各該些內容定址記憶體晶胞串列之個別儲存資料有關於一參考串列(reference string)資料之一部份;一字元線解碼與驅動器,用以提供複數個搜尋電壓 至該些內容定址記憶體晶胞,於複數個比對回合中,該字元線解碼與驅動器依據一資料片段(read)而決定施加至該些內容定址記憶體晶胞的該些搜尋電壓;複數條匹配線,耦接至該些內容定址記憶體晶胞;複數個感應計數電路,耦接至該些匹配線;以及一解碼器,耦接至該些感應計數電路,其中,於該些比對回合中,當該些搜尋電壓施加至該些內容定址記憶體晶胞時,該些感應計數電路感應且計數該些匹配線上的複數個匹配電流以產生複數個計數結果,該解碼器依據該些感應計數電路之該些計數結果而決定該資料片段是否匹配於該參考串列資料。 According to another example of this case, a content-addressable memory device is proposed, including: a plurality of content-addressable memory unit cell series, and each of the content-addressable memory unit cell series includes a plurality of content-addressable memory unit cells, each of which These content-addressable memory cells include a plurality of series-connected flash memory unit cells, and the individual storage data of each of the content-addressable memory unit series is related to a part of a reference string (reference string) data; a Word line decoding and driver to provide multiple search voltages For the content-addressable memory unit cells, in a plurality of comparison rounds, the word line decoder and driver determine the search voltages applied to the content-addressable memory unit cells according to a data segment (read); A plurality of matching lines, coupled to the content-addressable memory cells; a plurality of sensing counting circuits, coupled to the matching lines; and a decoder, coupled to the sensing counting circuits, wherein, among the sensing counting circuits In a comparison round, when the search voltages are applied to the content-addressable memory cells, the sensing and counting circuits sense and count a plurality of matching currents on the matching lines to generate a plurality of counting results, and the decoder is based on The counting results of the sensing counting circuits determine whether the data segment matches the reference serial data.
根據本案又一實例,提出一種資料搜尋比對的方法,包括:程式化複數個內容定址記憶體晶胞,各該些內容定址記憶體晶胞包括複數個串聯快閃記憶體晶胞,各該些內容定址記憶體晶胞串列之個別儲存資料有關於一參考串列資料之一部份,該些內容定址記憶體晶胞耦接至複數條匹配線;施加複數個搜尋電壓至該些內容定址記憶體晶胞,於複數個比對回合中,一資料片段用以決定施加至該些內容定址記憶體晶胞的該些搜尋電壓;於該些比對回合中,感應且計數該些匹配線上的複數個匹配電流以產生複數個計數結果;以及依據該些計數結果,決定該資料片段是否匹配於該參考串列資料。 According to another example of this case, a method for data search and comparison is proposed, including: programming a plurality of content-addressable memory cells, each of which includes a plurality of series-connected flash memory unit cells, each of which Individually stored data of the content-addressable memory cell series is related to a portion of a reference serial data, the content-addressable memory unit cells are coupled to a plurality of match lines; a plurality of search voltages are applied to the content Addressing memory cells, during a plurality of comparison rounds, a data segment is used to determine the search voltages applied to the content addressable memory cells; during the comparison rounds, sensing and counting the matches A plurality of matching currents on the line is used to generate a plurality of counting results; and according to the counting results, it is determined whether the data segment matches the reference serial data.
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉實施例,並配合所附圖式詳細說明如下: In order to have a better understanding of the above-mentioned and other aspects of the present invention, the following specific examples are given in detail with the accompanying drawings as follows:
100,200,300,400,504,604,704,804:內容定址記憶體晶胞 100, 200, 300, 400, 504, 604, 704, 804: content-addressable memory cells
500A,600,700,800:內容定址記憶體裝置 500A, 600, 700, 800: content addressable memory devices
502-1~502-n,602-1~602-2n,702-1~702-2n,802:內容定址記憶體晶胞串列 502-1~502-n, 602-1~602-2n, 702-1~702-2n, 802: content addressable memory unit cell series
508,608-1,608-2,708-1,708-2:字元線驅動器 508, 608-1, 608-2, 708-1, 708-2: word line drivers
510-1~510-n,610-1~610-2n,710-1~710-2n,812:匹配線 510-1~510-n, 610-1~610-2n, 710-1~710-2n, 812: matching line
512-1~510-n,612-1~612-2n,712-1~712-2n,SA:感應放大器 512-1~510-n, 612-1~612-2n, 712-1~712-2n, SA: induction amplifier
514,616,716,816:解碼器 514,616,716,816: Decoders
606,704-1,704-2,806,T1,T2:快閃記憶體晶胞 606,704-1,704-2,806,T1,T2: flash memory unit cell
614-1~614n,714-1~714n:邏輯閘 614-1~614n, 714-1~714n: logic gate
808:字元線解碼與驅動器 808: word line decoding and driver
810:位元線驅動器 810: bit line driver
814-1~814-n:感應計數電路 814-1~814-n: induction counting circuit
820A,820B,820C,820D:參考串列資料 820A, 820B, 820C, 820D: reference list
820A-1~820A-X,820B-1~820B-X,820C-1~820C-X,820D-1~820D-X:部分 820A-1~820A-X,820B-1~820B-X,820C-1~820C-X,820D-1~820D-X: part
822A,822B,822C,822D:資料片段 822A, 822B, 822C, 822D: fragments of data
822A-1~822A-Y,822B-1~822A-3,822C-1~822C-Y,822D-1~822A-Y:種子資料 822A-1~822A-Y, 822B-1~822A-3, 822C-1~822C-Y, 822D-1~822A-Y: seed information
824,826:區域 824,826: area
MA,MB:匹配位址 MA, MB: match address
SL:搜尋電壓 SL: Search voltage
BL1~BL2n:位元線電壓 BL1~BL2n: bit line voltage
SL_1,SL(1)_1,SL(2)_1,...,SL(M)_1,SL(1)_1,SL(2)_1,...,SL(M)_1:第一搜尋電壓 SL_1,SL(1)_1,SL(2)_1,...,SL(M)_1,SL(1)_1,SL(2)_1,...,SL(M)_1: first search voltage
SL_2,SL(1)_2,SL(2)_2,...,SL(M)_2,SL(1)_2,SL(2)_2,...,SL(2M)_2:第二搜尋電壓 SL_2,SL(1)_2,SL(2)_2,...,SL(M)_2,SL(1)_2,SL(2)_2,...,SL(2M)_2: second search voltage
SL(M+1)_1,SL(M+2)_1,...,SL(2M)_1:第三搜尋電壓 SL(M+1)_1,SL(M+2)_1,...,SL(2M)_1: the third search voltage
SL(M+1)_2,SL(M+2)_2,...,SL(2M)_2:第四搜尋電壓 SL(M+1)_2,SL(M+2)_2,...,SL(2M)_2: the fourth search voltage
G1,G2:閘極 G1, G2: gate
S1,S2:源極 S1, S2: source
C:計數器 C: Counter
1002~1008,1102~1108:步驟 1002~1008,1102~1108: steps
第1圖顯示根據本案第一實施例的內容定址記憶體(Content Addressable Memory,CAM)晶胞及其操作示意圖。 FIG. 1 shows a schematic diagram of a content addressable memory (CAM) unit cell and its operation according to the first embodiment of the present invention.
第2圖顯示根據本案第二實施例的內容定址記憶體晶胞及其操作示意圖。 FIG. 2 shows a schematic diagram of a content-addressable memory unit cell and its operation according to the second embodiment of the present invention.
第3圖顯示根據本案第三實施例的內容定址記憶體晶胞及其操作示意圖。 FIG. 3 shows a schematic diagram of a content-addressable memory unit cell and its operation according to a third embodiment of the present invention.
第4圖顯示根據本案第四實施例的內容定址記憶體晶胞及其操作示意圖。 FIG. 4 shows a schematic diagram of a content-addressable memory unit cell and its operation according to a fourth embodiment of the present invention.
第5A圖顯示根據本案第五實施例的內容定址記憶體裝置的電路示意圖。 FIG. 5A shows a schematic circuit diagram of a content-addressable memory device according to a fifth embodiment of the present invention.
第5B圖顯示根據第五實施例的內容定址記憶體裝置的操作示意圖。 FIG. 5B is a schematic diagram showing the operation of the CAM device according to the fifth embodiment.
第6A圖顯示根據本案第六實施例的內容定址記憶體裝置的電路示意圖。 FIG. 6A shows a schematic circuit diagram of a content-addressable memory device according to a sixth embodiment of the present invention.
第6B圖顯示根據第六實施例的內容定址記憶體裝置的操作示意圖。 FIG. 6B is a schematic diagram showing the operation of the CAM device according to the sixth embodiment.
第7圖顯示根據本案第七實施例的內容定址記憶體裝置的電路示意圖。 FIG. 7 shows a schematic circuit diagram of a content-addressable memory device according to a seventh embodiment of the present application.
第8A圖顯示第八實施例的內容定址記憶體裝置及其操作示意圖。 FIG. 8A shows a schematic view of the eighth embodiment of the content addressable memory device and its operation.
第8B圖顯示第八實施例的內容定址記憶體裝置之第二種操作 示意圖。 Figure 8B shows the second operation of the content-addressable memory device of the eighth embodiment schematic diagram.
第8C圖顯示根據第八實施例的內容定址記憶體裝置之第三種操作示意圖。 FIG. 8C shows a schematic diagram of the third operation of the CAM device according to the eighth embodiment.
第8D圖顯示根據第八實施例的內容定址記憶體裝置之第四種操作示意圖。 FIG. 8D shows a schematic diagram of the fourth operation of the CAM device according to the eighth embodiment.
第9圖顯示利用萬用字元以加快資料搜尋比對的示意圖。 Figure 9 shows a schematic diagram of using wildcards to speed up data search and comparison.
第10圖顯示根據本案第九實施例之內容定址記憶體裝置之操作方法。 FIG. 10 shows the operation method of the content addressable memory device according to the ninth embodiment of the present application.
第11圖顯示根據本案第十實施例之內容定址記憶體裝置之操作方法。 Fig. 11 shows the operation method of the content addressable memory device according to the tenth embodiment of the present application.
本說明書的技術用語係參照本技術領域之習慣用語,如本說明書對部分用語有加以說明或定義,該部分用語之解釋係以本說明書之說明或定義為準。本揭露之各個實施例分別具有一或多個技術特徵。在可能實施的前提下,本技術領域具有通常知識者可選擇性地實施任一實施例中部分或全部的技術特徵,或者選擇性地將這些實施例中部分或全部的技術特徵加以組合。 The technical terms in this specification refer to the customary terms in this technical field. If some terms are explained or defined in this specification, the explanations or definitions of these terms shall prevail. Each embodiment of the disclosure has one or more technical features. On the premise of possible implementation, those skilled in the art may selectively implement some or all of the technical features in any embodiment, or selectively combine some or all of the technical features in these embodiments.
第一實施例 first embodiment
第1圖顯示根據本案第一實施例的內容定址記憶體(Content Addressable Memory,CAM)晶胞100及其操作示意圖。如第1圖所示,本案第一實施例的內容定址記憶體晶胞100例如但不受限於為,可儲存兩位元的多階CAM(multi-level CAM,MLC)。
FIG. 1 shows a content addressable memory (Content Addressable Memory, CAM)
內容定址記憶體晶胞100包括:二個串聯的快閃記憶體晶胞T1與T2,其中,該些快閃記憶體晶胞例如但不受限於為,浮接閘極記憶體晶胞(floating gate memory cell)、矽-氧化物-氮化物-氧化物-矽(Silicon-Oxide-Nitride-Oxide-Silicon,SONOS)記憶體晶胞、浮點記憶體晶胞(floating dot memory cell)、鐵電場效電晶體記憶體晶胞(Ferroelectric FET(FeFET)memory cell)等。
The content-
快閃記憶體晶胞T1的閘極G1用以接收第一搜尋電壓SL_1,快閃記憶體晶胞T2的閘極G2用以接收第二搜尋電壓SL_2,快閃記憶體晶胞T1的源極S1係與快閃記憶體晶胞T2的源極S2電性連接。 The gate G1 of the flash memory cell T1 is used to receive the first search voltage SL_1, the gate G2 of the flash memory cell T2 is used to receive the second search voltage SL_2, and the source of the flash memory cell T1 S1 is electrically connected to the source S2 of the flash memory unit cell T2.
此外,於本案第一實施例中,快閃記憶體晶胞T1的臨界電壓(亦可稱為第一臨界電壓)、快閃記憶體晶胞T2的臨界電壓(亦可稱為第二臨界電壓)、第一搜尋電壓SL_1與第二搜尋電壓SL_2可以有多種設定。於第1圖中,第一臨界電壓、第二臨界電壓、第一搜尋電壓SL_1與第二搜尋電壓SL_2的設定可如下表,其細節於此省略:
在本案第一實施例中,當儲存資料為第一既定儲存資料(00)時,第一臨界電壓為VT1(亦可稱為最小臨界電壓值),第二臨界電壓為VT4(亦可稱為最大臨界電壓值);當儲存資料為第二既定儲存資料(11)時,第一臨界電壓為一最大臨界電壓值,第二臨界電壓為一最小臨界電壓值;當儲存資料為第三既定儲存資料(XX(don’t care))時,第一臨界電壓與第二臨界電壓皆為一最小臨界電壓值;當儲存資料為第四既定儲存資料(即無效資料)時,第一臨界電壓與第二臨界電壓等於或大於一最大臨界電壓值。亦即,於本案第一實施例中,內容定址記憶體晶胞100之儲存資料決定於第一臨界電壓與第二臨界電壓之組合。
In the first embodiment of this case, when the stored data is the first predetermined stored data (00), the first critical voltage is VT1 (also called the minimum critical voltage value), and the second critical voltage is VT4 (also called maximum critical voltage value); when the storage data is the second predetermined storage data (11), the first critical voltage is a maximum critical voltage value, and the second critical voltage is a minimum critical voltage value; when the storage data is the third predetermined storage data data (XX (don't care)), the first threshold voltage and the second threshold voltage are a minimum threshold voltage value; when the storage data is the fourth predetermined storage data (ie invalid data), the first threshold voltage and The second critical voltage is equal to or greater than a maximum critical voltage value. That is, in the first embodiment of the present application, the storage data of the content-
在本案第一實施例中,當搜尋資料為第一既定搜尋資 料(00)時,第一搜尋電壓SL_1為VS1(亦可稱為最小搜尋電壓值),第二搜尋電壓SL_2為VS4(亦可稱為最大搜尋電壓值),其中搜尋資料代表所想要搜尋的資料;當搜尋資料為第二既定搜尋資料(11)時,第一搜尋電壓SL_1為一最大搜尋電壓值,第二搜尋電壓SL_2為一最小搜尋電壓值;當搜尋資料為第三既定搜尋資料(WC)時,第一搜尋電壓SL_1與第二搜尋電壓SL_2皆為一最大搜尋電壓值。 In the first embodiment of this case, when the search data is the first predetermined search data When material (00), the first search voltage SL_1 is VS1 (also called the minimum search voltage value), the second search voltage SL_2 is VS4 (also called the maximum search voltage value), where the search data represents the desired search data; when the search data is the second predetermined search data (11), the first search voltage SL_1 is a maximum search voltage value, and the second search voltage SL_2 is a minimum search voltage value; when the search data is the third predetermined search data When (WC), the first search voltage SL_1 and the second search voltage SL_2 both have a maximum search voltage value.
因此,於進行搜尋時,當搜尋資料匹配於儲存資料時,快閃記憶體晶胞T1與快閃記憶體晶胞T2皆產生匹配電流,代表搜尋結果為匹配;當搜尋資料未匹配於儲存資料時,至少快閃記憶體晶胞T1與快閃記憶體晶胞T2的其中之一為不導通而不會產生匹配電流,代表搜尋結果為不匹配;當搜尋資料為萬用字元(wildcard,WC)時,不論儲存資料為何值,快閃記憶體晶胞T1與快閃記憶體晶胞T2皆產生匹配電流,代表搜尋結果為匹配;當儲存資料為XX(don’t care,不重要)時,不論搜尋資料為何值,快閃記憶體晶胞T1與快閃記憶體晶胞T2皆產生匹配電流,代表搜尋結果為匹配。例如,當搜尋資料(00)匹配於儲存資料(00)時,快閃記憶體晶胞T1與快閃記憶體晶胞T2皆產生匹配電流,代表搜尋結果為匹配;當搜尋資料(00)未匹配於儲存資料(01)時,快閃記憶體晶胞T1關閉而快閃記憶體晶胞T2導通,則不會產生匹配電流,代表搜尋結果為不匹配。因此,搜尋資料與儲存資料的匹配情況可如下表,其細節於此省略:
○:快閃記憶體晶胞導通,X:快閃記憶體晶胞未導通 ○: Flash memory cell conduction, X: Flash memory cell not conduction
在另一實施例中,搜尋資料將匹配於最不相似的儲存資料,亦即,當所找到的儲存資料互補於搜尋資料時,即視為匹配。現將說明細節。第一臨界電壓、第二臨界電壓、第一搜尋電壓SL_1與第二搜尋電壓SL_2的設定可如下表:
例如,將第一臨界電壓與第二臨界電壓分別為VT1與VT4視為儲存資料為00,則儲存資料(00)匹配於最不相似的搜尋資料(11)(即第一搜尋電壓SL_1與第二搜尋電壓SL_2分別為VS4與VS1),使快閃記憶體晶胞T1與快閃記憶體晶胞T2皆導通而產生匹配電流,代表搜尋結果為匹配;若搜尋資料(11)與儲存資料(11)(即第一臨界電壓與第二臨界電壓分別為VT4與VT1)進行搜尋比對,快閃記憶體晶胞T1導通而快閃記憶體晶胞T2關閉,則不會產生匹配電流,代表搜尋結果為不匹配;若搜尋資料(11)與儲存資料(01)(即第一臨界電壓與第二臨界電壓分別為VT2與VT3)進行搜尋比對,快閃記憶體
晶胞T1導通而快閃記憶體晶胞T2關閉,則不會產生匹配電流,代表搜尋結果為不匹配。因此,搜尋資料與儲存資料的匹配情況可如下表,其細節於此省略:
在又一實施例中,搜尋資料將匹配於最不相似(互補)的儲存資料。現將說明細節。第一臨界電壓、第二臨界電壓、第一搜尋電壓SL_1與第二搜尋電壓SL_2的設定可如下表:
例如,第一搜尋電壓SL_1與第二搜尋電壓SL_2為VS4與VS1(即搜尋資料為00),則搜尋資料(00)匹配於最不相似(互補)的儲存資料(11)(即第一臨界電壓與第二臨界電壓分別為VT4與VT1),使快閃記憶體晶胞T1與快閃記憶體晶胞T2皆導通而產生匹配電流,代表搜尋結果為匹配;若搜尋資料(00)與儲存資料(00)(即第一臨界電壓與第二臨界電壓分別為VT1與VT4)進行搜尋比對,快閃記憶體晶胞T1導通而快閃記憶體晶胞T2關閉,則不會產生匹配電流,代表搜尋結果為不匹配;若搜尋資料(00)與儲存資料(01)(即第一臨界電壓與
第二臨界電壓分別為VT2與VT3)進行搜尋比對,快閃記憶體晶胞T1導通而快閃記憶體晶胞T2關閉,則不會產生匹配電流,代表搜尋結果為不匹配。因此,搜尋資料與儲存資料的匹配情況可如下表,其細節於此省略:
第二實施例 second embodiment
請參照第2圖,顯示根據本案第二實施例的內容定址記憶體晶胞200及其操作示意圖。內容定址記憶體晶胞200例如但不受限於為,可儲存三位元的三階CAM(triple-level CAM,TLC)。
Please refer to FIG. 2 , which shows a schematic diagram of a content-
在本案第二實施例中,第一臨界電壓、第二臨界電壓、
第一搜尋電壓SL_1與第二搜尋電壓SL_2亦可有不同設定。於第2圖中,第一臨界電壓、第二臨界電壓、第一搜尋電壓SL_1與第二搜尋電壓SL_2的設定可如下表,其細節於此省略:
在本案第二實施例中,當儲存資料為第一既定儲存資料(000)時,第一臨界電壓為VT1(亦可稱為最小臨界電壓值),第二臨界電壓為VT8(亦可稱為最大臨界電壓值);當儲存資料為第二既定儲存資料(111)時,第一臨界電壓為一最大臨界電壓值,第二臨界電壓為一最小臨界電壓值;當儲存資料為第三既定儲存資料(XXX(don’t care))時,第一臨界電壓與第二臨界電壓皆為一最小臨界電壓值;當儲存資料為第四既定儲存資料(即無效資料)時,第一臨界電壓與第二臨界電壓等於或大於一最大臨界電壓值。亦即,於本案第二實施例中,內容定址記憶體晶胞200之儲存資料決定於第一臨界電壓與第二臨界電壓之組合。
In the second embodiment of this case, when the stored data is the first predetermined stored data (000), the first threshold voltage is VT1 (also called the minimum threshold voltage value), and the second threshold voltage is VT8 (also called the minimum threshold voltage value). maximum critical voltage value); when the storage data is the second predetermined storage data (111), the first critical voltage is a maximum critical voltage value, and the second critical voltage is a minimum critical voltage value; when the storage data is the third predetermined storage data (XXX (don't care)), the first threshold voltage and the second threshold voltage are a minimum threshold voltage value; when the storage data is the fourth predetermined storage data (ie invalid data), the first threshold voltage and The second critical voltage is equal to or greater than a maximum critical voltage value. That is, in the second embodiment of the present application, the storage data of the content-
在本案第二實施例中,當搜尋資料為第一既定搜尋資料(000)時,第一搜尋電壓SL_1為VS1(亦可稱為最小搜尋電壓值),第二搜尋電壓SL_2為VS8(亦可稱為最大搜尋電壓值);當搜尋資料為第二既定搜尋資料(111)時,第一搜尋電壓SL_1為一最大搜尋電壓值,第二搜尋電壓SL_2為一最小搜尋電壓值;當搜尋資料為第三既定搜尋資料(WC)時,第一搜尋電壓SL_1與第二搜尋電壓SL_2皆為一最大搜尋電壓值。 In the second embodiment of the present case, when the search data is the first predetermined search data (000), the first search voltage SL_1 is VS1 (also called the minimum search voltage value), and the second search voltage SL_2 is VS8 (also is called the maximum search voltage value); when the search data is the second predetermined search data (111), the first search voltage SL_1 is a maximum search voltage value, and the second search voltage SL_2 is a minimum search voltage value; when the search data is In the third predetermined search data (WC), both the first search voltage SL_1 and the second search voltage SL_2 are a maximum search voltage value.
因此,於進行搜尋時,當搜尋資料匹配於儲存資料時,快閃記憶體晶胞T1與快閃記憶體晶胞T2皆產生匹配電流,代表搜尋結果為匹配;當搜尋資料未匹配於儲存資料時,至少快閃記憶體晶胞T1與快閃記憶體晶胞T2的其中之一為不導通而不會產生匹配電流,代表搜尋結果為不匹配;當搜尋資料為萬用字元(wildcard,WC)時,不論儲存資料為何值,快閃記憶體晶胞T1與快閃記憶體晶胞T2皆產生匹配電流,代表搜尋結果為匹配;當儲存資料為XX(don’t care,不重要)時,不論搜尋資料為何值,快閃記憶體晶胞T1與快閃記憶體晶胞T2皆產生匹配電流,代表搜尋結果為匹配。例如,當搜尋資料(000)匹配於儲存資料(000)時,快閃記憶體晶胞T1與快閃記憶體晶胞T2皆產生匹配電流,代表搜尋結果為匹配;當搜尋資料(000)未匹配於儲存資料(001)時,快閃記憶體晶胞T1關閉而快閃記憶體晶胞T2導通,則不會產生匹配電流,代表搜尋結果為不匹配。因此,搜尋資料與儲存資料的匹配情況可如下表,其細節於此省略:
第三實施例 third embodiment
請參照第3圖,顯示根據本案第三實施例的內容定址記憶體晶胞300及其操作示意圖。內容定址記憶體晶胞300例如但不受限於為,可儲存四位元的四階CAM(quad-level CAM,QLC)。
Please refer to FIG. 3 , which shows a schematic diagram of a content-
在本案第三實施例中,第一臨界電壓、第二臨界電壓、第一搜尋電壓SL_1與第二搜尋電壓SL_2亦可有不同設定。於第3圖中,第一臨界電壓、第二臨界電壓、第一搜尋電壓SL_1與第二搜尋電壓SL_2的設定可如下表,其細節於此省略:
在本案第三實施例中,當儲存資料為第一既定儲存資料(0000)時,第一臨界電壓為VT1(亦可稱為最小臨界電壓值),第二臨界電壓為VT16(亦可稱為最大臨界電壓值);當儲存資料為第二既定儲存資料(1111)時,第一臨界電壓為一最大臨界電壓值,第二臨界電壓為一最小臨界電壓值;當儲存資料為第三既定儲存資料(XXXX(don’t care))時,第一臨界電壓與第二臨界電壓皆為一最小臨界電壓值;當儲存資料為第四既定儲存資料(即無效資料)時,第一臨界電壓與第二臨界電壓等於或大於一最大臨界電壓值。亦即,於本案第三實施例中,內容定址記憶體晶胞300之儲存資料決定於第一臨界電壓與第二臨界電壓之組合。
In the third embodiment of this case, when the stored data is the first predetermined stored data (0000), the first critical voltage is VT1 (also called the minimum critical voltage value), and the second critical voltage is VT16 (also called the minimum critical voltage value). maximum threshold voltage value); when the stored data is the second predetermined storage data (1111), the first critical voltage is a maximum critical voltage value, and the second critical voltage is a minimum critical voltage value; when the stored data is the third predetermined storage data (XXXX (don't care)), the first threshold voltage and the second threshold voltage are a minimum threshold voltage value; when the storage data is the fourth predetermined storage data (ie invalid data), the first threshold voltage and The second critical voltage is equal to or greater than a maximum critical voltage value. That is to say, in the third embodiment of the present application, the storage data of the content-
在本案第三實施例中,當搜尋資料為第一既定搜尋資料(0000)時,第一搜尋電壓SL_1為VS1(亦可稱為最小搜尋電壓值),第二搜尋電壓SL_2為VS16(亦可稱為最大搜尋電壓值);當搜尋資料為第二既定搜尋資料(1111)時,第一搜尋電壓SL_1為一最大搜尋電壓值,第二搜尋電壓SL_2為一最小搜尋電壓值;當搜尋資料為第三既定搜尋資料(WC)時,第一搜尋電壓SL_1與第二搜尋電壓SL_2皆為一最大搜尋電壓值。 In the third embodiment of this case, when the search data is the first predetermined search data (0000), the first search voltage SL_1 is VS1 (also called the minimum search voltage value), and the second search voltage SL_2 is VS16 (also is called the maximum search voltage value); when the search data is the second predetermined search data (1111), the first search voltage SL_1 is a maximum search voltage value, and the second search voltage SL_2 is a minimum search voltage value; when the search data is In the third predetermined search data (WC), both the first search voltage SL_1 and the second search voltage SL_2 are a maximum search voltage value.
在本案第三實施例中,當搜尋資料匹配於儲存資料時,快閃記憶體晶胞T1與快閃記憶體晶胞T2皆產生匹配電流,代表搜尋結果為匹配;當搜尋資料未匹配於儲存資料時,至少快閃記憶體晶胞T1與快閃記憶體晶胞T2的其中之一不導通而不會產生匹配電流,代表搜尋結果為不匹配。亦即,本案第三實施例的儲存資料與搜尋資料的匹配條件類似於本案第一實施例與本案第二實施例,其細節於此省略。 In the third embodiment of this case, when the search data matches the stored data, both the flash memory cell T1 and the flash memory cell T2 generate a matching current, which means that the search result is a match; when the search data does not match the stored data When data is collected, at least one of the flash memory unit cell T1 and the flash memory unit cell T2 is not conducted and no matching current is generated, which means that the search result is a mismatch. That is to say, the matching conditions of the storage data and the search data in the third embodiment of the present invention are similar to those of the first embodiment and the second embodiment of the present invention, and the details thereof are omitted here.
第四實施例 Fourth embodiment
請參照第4圖,顯示根據本案第四實施例的內容定址記憶體晶胞400及其操作示意圖。內容定址記憶體晶胞400例如但不受限於為,可儲存五位元的五階CAM(penta-level CAM,PLC)。
Please refer to FIG. 4 , which shows a schematic diagram of a content-
在本案第四實施例中,第一臨界電壓、第二臨界電壓、第一搜尋電壓SL_1與第二搜尋電壓SL_2亦可有不同設定。於第4圖中,第一臨界電壓、第二臨界電壓、第一搜尋電壓SL_1與第二搜尋電壓SL_2的設定可如下表,其細節於此省略:
在本案第四實施例中,當儲存資料為第一既定儲存資料(00000)時,第一臨界電壓為VT1(亦可稱為最小臨界電壓值),第二臨界電壓為VT32(亦可稱為最大臨界電壓值);當儲存資料為第二
既定儲存資料(11111)時,第一臨界電壓為一最大臨界電壓值,第二臨界電壓為一最小臨界電壓值;當儲存資料為第三既定儲存資料(XXXXX(don’t care))時,第一臨界電壓與第二臨界電壓皆為一最小臨界電壓值;當儲存資料為第四既定儲存資料(即無效資料)時,第一臨界電壓與第二臨界電壓等於或大於一最大臨界電壓值。亦即,於本案第四實施例中,內容定址記憶體晶胞400之儲存資料決定於第一臨界電壓與第二臨界電壓之組合。
In the fourth embodiment of the present case, when the stored data is the first predetermined stored data (00000), the first critical voltage is VT1 (also called the minimum critical voltage value), and the second critical voltage is VT32 (also called the minimum critical voltage value). maximum threshold voltage value); when the stored data is the second
When the predetermined storage data (11111), the first threshold voltage is a maximum threshold voltage value, and the second threshold voltage is a minimum threshold voltage value; when the storage data is the third predetermined storage data (XXXXX (don't care)), Both the first threshold voltage and the second threshold voltage are a minimum threshold voltage value; when the storage data is the fourth predetermined storage data (ie invalid data), the first threshold voltage and the second threshold voltage are equal to or greater than a maximum threshold voltage value . That is, in the fourth embodiment of the present application, the storage data of the content-
在本案第四實施例中,當搜尋資料為第一既定搜尋資料(00000)時,第一搜尋電壓SL_1為VS1(亦可稱為最小搜尋電壓值),第二搜尋電壓SL_2為VS32(亦可稱為最大搜尋電壓值);當搜尋資料為第二既定搜尋資料(11111)時,第一搜尋電壓SL_1為一最大搜尋電壓值,第二搜尋電壓SL_2為一最小搜尋電壓值;當搜尋資料為第三既定搜尋資料(WC)時,第一搜尋電壓SL_1與第二搜尋電壓SL_2皆為一最大搜尋電壓值。 In the fourth embodiment of the present case, when the search data is the first predetermined search data (00000), the first search voltage SL_1 is VS1 (also called the minimum search voltage value), and the second search voltage SL_2 is VS32 (also can be is called the maximum search voltage value); when the search data is the second predetermined search data (11111), the first search voltage SL_1 is a maximum search voltage value, and the second search voltage SL_2 is a minimum search voltage value; when the search data is In the third predetermined search data (WC), both the first search voltage SL_1 and the second search voltage SL_2 are a maximum search voltage value.
在本案第四實施例中,當搜尋資料匹配於儲存資料時,快閃記憶體晶胞T1與快閃記憶體晶胞T2皆產生匹配電流,代表搜尋結果為匹配;當搜尋資料未匹配於儲存資料時,至少快閃記憶體晶胞T1與快閃記憶體晶胞T2的其中之一不導通而不會產生匹配電流,代表搜尋結果為不匹配。亦即,本案第四實施例的儲存資料與搜尋資料的匹配條件類似於本案第一實施例、本案第二實施例與本案第三實施例,其細節於此省略。 In the fourth embodiment of this case, when the search data matches the stored data, both the flash memory cell T1 and the flash memory cell T2 generate a matching current, which means that the search result is a match; when the search data does not match the stored data When data is collected, at least one of the flash memory unit cell T1 and the flash memory unit cell T2 is not conducted and no matching current is generated, which means that the search result is a mismatch. That is to say, the matching conditions of the storage data and the search data in the fourth embodiment of the present case are similar to the first embodiment, the second embodiment of the present case, and the third embodiment of the present case, and the details thereof are omitted here.
第五實施例 fifth embodiment
第5A圖顯示根據本案第五實施例的CAM記憶體裝置500A的電路示意圖,第5B圖顯示根據第五實施例的CAM記憶體裝置500A的操作示意圖。
FIG. 5A shows a schematic circuit diagram of a
如第5A圖所示,根據第五實施例的CAM記憶體裝置500A包括複數個內容定址記憶體晶胞串列502-1~502-n、字元線驅動器508、複數條匹配線510-1~510-n、複數個感應放大器512-1~512-n與解碼器514。
As shown in FIG. 5A, the
該些內容定址記憶體晶胞串列502-1~502-n包括複數個內容定址記憶體晶胞504,該些內容定址記憶體晶胞504包括複數個串聯快閃記憶體晶胞506。其中,該些內容定址記憶體晶胞504可相同或相似於第一實施例的內容定址記憶體晶胞100、第二實施例的內容定址記憶體晶胞200、第三實施例的內容定址記憶體晶胞300與第四實施例的內容定址記憶體晶胞400。
The content-addressable memory cell series 502 - 1 - 502 - n include a plurality of content-
字元線驅動器508用以提供複數個第一搜尋電壓SL(1)_1,SL(2)_1,...,SL(M)_1與複數個第二搜尋電壓SL(1)_2,SL(2)_2,...,SL(M)_2至該些內容定址記憶體晶胞504。位元線電壓BL1~BLn施加至該些內容定址記憶體晶胞串列502-1~502-n。該些匹配線510-1~510-n耦接至該些內容定址記憶體晶胞504,該些感應放大器512-1~510-n耦接至該些匹配線510-1~510-n,解碼器514耦接至該些感應放大器512-1~510-n。
The
於本案第五實施例中,內容定址記憶體晶胞504之一
儲存資料決定於內容定址記憶體晶胞504之快閃記憶體晶胞506之複數個臨界電壓之組合,內容定址記憶體晶胞504的臨界電壓設定可以相同或相似於第一實施例、第二實施例、第三實施例與第四實施例;以及,對第一搜尋電壓SL(1)_1,SL(2)_1,...,SL(M)_1與第二搜尋電壓SL(1)_2,SL(2)_2,...,SL(M)_2的設定可以相同或相似於第一實施例、第二實施例、第三實施例與第四實施例。故其細節於此省略。
In the fifth embodiment of the present case, one of the content addressable
當該些第一搜尋電壓SL(1)_1,SL(2)_1,...,SL(M)_1與該些第二搜尋電壓SL(1)_2,SL(2)_2,...,SL(M)_2施加至該些內容定址記憶體晶胞504時,該些感應放大器512-1~510-n感應該些匹配線510-1~510-n上的複數個匹配電流以產生複數個第一感應結果。依據該些第一感應結果,解碼器514產生匹配位址MA,匹配位址MA指示儲存資料匹配於搜尋資料的該(些)內容定址記憶體晶胞串列之該些內容定址記憶體晶胞504的個別位址。
When the first search voltages SL(1)_1, SL(2)_1, . . . , SL(M)_1 and the second search voltages SL(1)_2, SL(2)_2, . . . , when SL(M)_2 is applied to the content-
於第5A圖中,搜尋資料包括複數個搜尋字元,該些內容定址記憶體晶胞504的儲存資料包括複數個資料字元。
In FIG. 5A, the search data includes a plurality of search characters, and the stored data of the
為了解第五實施例的操作,請參照第5B圖。以臨界電壓設定與搜尋電壓設定如第一實施例所述,搜尋字元為[10110001],第一資料字元(Data word 1)為[10110001]、第二資料字元(Data word 2)為[10100001]、第三資料字元(Data word 3)為[01001110]為例做說明,當知本案並不受限於此。 To understand the operation of the fifth embodiment, please refer to FIG. 5B. The threshold voltage setting and search voltage setting are as described in the first embodiment, the search character is [10110001], the first data word (Data word 1) is [10110001], and the second data word (Data word 2) is [10100001], the third data character (Data word 3) is [01001110] as an example for illustration, it should be known that this case is not limited to this.
當以搜尋字元[10110001]對內容定址記憶體晶胞串列502-1(儲存第一資料字元[10110001])進行搜尋時,內容定址記憶體晶胞串列502-1的所有內容定址記憶體晶胞504的所有快閃記憶體晶胞皆為導通,故而相關的匹配線510-1上產生匹配電流。當以搜尋字元[10110001]對第一資料字元[10110001]進行搜尋時,搜尋結果為匹配。其中,MA代表內容定址記憶體晶胞串列502-1的內容定址記憶體晶胞的位址。
When searching the CAM cell string 502-1 (storing the first data character [10110001]) with the search character [10110001], all content addressable memory cell strings 502-1 All the flash memory cells of the
相似地,當以搜尋字元[10110001]對內容定址記憶體晶胞串列502-2(儲存第二資料字元[10100001])進行搜尋時,內容定址記憶體晶胞串列502-2的該些內容定址記憶體晶胞504的至少一個快閃記憶體晶胞為關閉,故而相關的匹配線510-2上未產生匹配電流。當以搜尋字元[10110001]對第二資料字元[10100001]進行搜尋時,搜尋結果為不匹配。
Similarly, when the search character [10110001] is used to search the CAM cell string 502-2 (storing the second data character [10100001]), the CAM cell string 502-2 At least one flash memory cell of the
同理,當以搜尋字元[10110001]對第三資料字元[01001110]進行搜尋時,搜尋結果為不匹配。 Similarly, when searching for the third data character [01001110] with the search character [10110001], the search result is no match.
第六實施例 Sixth embodiment
第6A圖顯示根據本案第六實施例之CAM記憶體裝置600的電路示意圖,第6B圖顯示根據第六實施例的CAM記憶體裝置600的操作示意圖。
FIG. 6A shows a schematic circuit diagram of a
如第6A圖所示,根據第六實施例的CAM記憶體裝置600包括複數個內容定址記憶體晶胞串列602-1~602-2n、字元線驅動器608-1與608-2、複數條匹配線610-1~610-2n、複
數個感應放大器612-1~612-2n、複數個邏輯閘614-1~614n與解碼器616。
As shown in Figure 6A, the
該些內容定址記憶體晶胞串列602-1~602-2n包括複數個內容定址記憶體晶胞604,該些內容定址記憶體晶胞604包括複數個串聯快閃記憶體晶胞606。其中,該些內容定址記憶體晶胞604可相同或相似於第一實施例的內容定址記憶體晶胞100、第二實施例的內容定址記憶體晶胞200、第三實施例的內容定址記憶體晶胞300與第四實施例的內容定址記憶體晶胞400。
The CAM cell strings 602 - 1 - 602 - 2 n include a plurality of
字元線驅動器608-1用以提供複數個第一搜尋電壓SL(1)_1,SL(2)_1,...,SL(M)_1與複數個第二搜尋電壓SL(1)_2,SL(2)_2,...,SL(M)_2至該些內容定址記憶體晶胞604。字元線驅動器608-2用以提供複數個第三搜尋電壓SL(M+1)_1,SL(M+2)_1,...,SL(2M)_1與複數個第四搜尋電壓SL(M+1)_2,SL(M+2)_2,...,SL(2M)_2至該些內容定址記憶體晶胞604。
The word line driver 608-1 is used for providing a plurality of first search voltages SL(1)_1, SL(2)_1, . . . , SL(M)_1 and a plurality of second search voltages SL(1)_2, SL(2)_2, . . . , SL(M)_2 through these address the
位元線電壓BL1~BL(2n)施加至該些內容定址記憶體晶胞串列602-1~602-2n。該些匹配線610-1~610-2n耦接至該些內容定址記憶體晶胞604。
Bit line voltages BL1˜BL(2n) are applied to the content-addressable memory unit cell series 602-1˜602-2n. The match lines 610 - 1 - 610 - 2n are coupled to the
該些感應放大器612-1~612-2n耦接至該些匹配線610-1~610-2n,用以感應由該些該些內容定址記憶體晶胞串列602-1~602-2n所產生之匹配電流。 The sense amplifiers 612-1~612-2n are coupled to the matching lines 610-1~610-2n for sensing the content generated by the content-addressable memory cell strings 602-1~602-2n The matching current.
該些邏輯閘614-1~614-n接收對應之感應放大器
612-1~612-2n之感應結果,並輸出邏輯運算結果至解碼器616。例如,邏輯閘614-1接收對應之感應放大器612-1與612-(n+1)之感應結果,並輸出邏輯運算結果至解碼器616。邏輯閘614-1~614-n例如但不受限於為AND邏輯閘。
These logic gates 614-1~614-n receive corresponding sense amplifiers
Sensing results of 612-1~612-2n, and output logic operation results to
於本案第六實施例中,內容定址記憶體晶胞604之一儲存資料決定於內容定址記憶體晶胞604之快閃記憶體晶胞606之複數個臨界電壓之組合,內容定址記憶體晶胞604的臨界電壓設定可以相同或相似於第一實施例、第二實施例、第三實施例與第四實施例;以及,對該些搜尋電壓SL(1)_1~SL(2M)_2的設定可以相同或相似於第一實施例、第二實施例、第三實施例與第四實施例,故其細節於此省略。
In the sixth embodiment of the present case, the data stored in the content-
當該些第一搜尋電壓SL(1)_1,SL(2)_1,...,SL(M)_1、該些第二搜尋電壓SL(1)_2,SL(2)_2,...,SL(M)_2、該些第三搜尋電壓SL(M+1)_1,SL(M+2)_1,...,SL(2M)_1與該些第四搜尋電壓SL(M+1)_2,SL(M+2)_2,...,~SL(2M)_2施加至該些內容定址記憶體晶胞604時,該些感應放大器612-1~612-2n感應該些匹配線610-1~610-2n上的複數個匹配電流以產生複數個第一感應結果與第二感應結果。該些邏輯閘614-1~614-n依據該些感應放大器612-1~612-n的第一感應結果以及該些感應放大器612-(n+1)~612-2n的第二感應結果進行邏輯運算,以產生複數個邏輯運算結果。解碼器616依據該些第一感應結果與該些第二
感應結果之該些邏輯運算結果而產生匹配位址MA與MB,匹配位址MA與MB指示儲存資料匹配於搜尋資料的該(些)內容定址記憶體晶胞串列之該些內容定址記憶體晶胞604的個別位址。
When the first search voltages SL(1)_1, SL(2)_1, . . . , SL(M)_1, the second search voltages SL(1)_2, SL(2)_2, . . . , SL(M)_2, the third search voltages SL(M+1)_1, SL(M+2)_1,..., SL(2M)_1 and the fourth search voltages SL(M+1 )_2, SL(M+2)_2,...,~SL(2M)_2 are applied to the content-
於第6A圖中,搜尋資料包括複數個搜尋字元,該些內容定址記憶體晶胞604的儲存資料包括複數個資料字元。
In FIG. 6A, the search data includes a plurality of search characters, and the storage data of the
第六實施例可適用於長搜尋字元。長字元可以拆開成為兩個字元(或更多個字元)。底下將說明之。 The sixth embodiment is applicable to long search characters. Long characters can be split into two characters (or more characters). It will be explained below.
為了解第六實施例的操作,請參照第6B圖。以臨界電壓設定與搜尋電壓設定如第一實施例所述。將長搜尋字元拆開成為第一搜尋字元[10110001]與第二搜尋字元[11001010]。長資料字元拆開成:第一資料字元(Data word 1)為[10110001](儲存於內容定址記憶體晶胞串列602-1)與第二資料字元(Data word 2)為[11001010](儲存於內容定址記憶體晶胞串列602-(n+1))。同樣地,另一筆長資料字元拆開成:第三資料字元(Data word 3)為[01001110](儲存於內容定址記憶體晶胞串列602-2)、第四資料字元(Data word 4)為[11001010](儲存於內容定址記憶體晶胞串列602-(n+2))。同樣地,又另一筆長資料字元拆開成:第五資料字元(Data word 5)為[11011010](儲存於內容定址記憶體晶胞串列602-3)、第六資料字元(Data word 6)為[00110101](儲存於內容定址記憶體晶胞串列602-(n+3))。上例為說明,當知本案並不受限於此。 To understand the operation of the sixth embodiment, please refer to FIG. 6B. The threshold voltage setting and search voltage setting are as described in the first embodiment. Split the long search character into the first search character [10110001] and the second search character [11001010]. The long data characters are disassembled into: the first data word (Data word 1) is [10110001] (stored in the CAM cell string 602-1) and the second data word (Data word 2) is [ 11001010] (stored in CAM cell string 602-(n+1)). Similarly, another long data character is disassembled into: the third data character (Data word 3) is [01001110] (stored in the content addressable memory unit cell string 602-2), the fourth data character (Data word 3) word 4) is [11001010] (stored in the CAM cell string 602-(n+2)). Similarly, another long data character is disassembled into: the fifth data character (Data word 5) is [11011010] (stored in the content addressable memory cell string 602-3), the sixth data character ( Data word 6) is [00110101] (stored in the CAM cell string 602-(n+3)). The above example is for illustration, and it should be understood that this case is not limited thereto.
當以第一搜尋字元[10110001]對第一資料字元[10110001]進行搜尋時,內容定址記憶體晶胞串列602-1的所有內
容定址記憶體晶胞604的所有快閃記憶體晶胞皆為導通以產生匹配電流。故而,當以第一搜尋字元[10110001]對第一資料字元[10110001]進行搜尋時,搜尋結果為匹配,感應放大器612-1感應到匹配電流以產生邏輯值1(即第一感應結果)。相似地,當以第二搜尋字元[11001010]對第二資料字元[11001010]進行搜尋時,內容定址記憶體晶胞串列602-(n+1)的所有內容定址記憶體晶胞604的所有快閃記憶體晶胞皆為導通以產生匹配電流。故而,當以第二搜尋字元[11001010]對第二資料字元[11001010]進行搜尋時,搜尋結果為匹配,感應放大器612-(n+1)感應到匹配電流以產生邏輯值1(即第二感應結果)。由於邏輯閘614-1的兩個輸入端皆為邏輯1,故而,邏輯閘614-1輸出邏輯1給解碼器616。解碼器616據以產生匹配位址MA與MB,其中,匹配位址MA代表內容定址記憶體晶胞串列602-1的該些內容定址記憶體晶胞604的位址;匹配位址MB代表內容定址記憶體晶胞串列602-(n+1)的該些內容定址記憶體晶胞604的位址。
When the first data character [10110001] is searched with the first search character [10110001], all contents of the content-addressed memory cell string 602-1
All flash memory cells that can accommodate the
同理,當以第一搜尋字元[10110001]對第三資料字元[01001110]進行搜尋時,搜尋結果為不匹配,感應放大器612-2未感應到匹配電流而產生邏輯值0(即第一感應結果)。同理,當以第二搜尋字元[11001010]對第四資料字元[11001010]進行搜尋時,搜尋結果為匹配,感應放大器612-(n+2)感應到匹配電流以產生邏輯值1(即第二感應結果)。但由於邏輯閘614-2的兩個輸入端並非皆為邏輯1,故而,邏輯閘614-2輸出邏輯0給解碼器616。
Similarly, when the first search character [10110001] is used to search the third data character [01001110], the search result is a mismatch, and the sense amplifier 612-2 does not sense the matching current and generates a logic value of 0 (that is, the first an induction result). Similarly, when the second search character [11001010] is used to search the fourth data character [11001010], the search result is a match, and the sense amplifier 612-(n+2) senses a matching current to generate a logic value 1 ( That is, the second induction result). However, since the two input terminals of the logic gate 614 - 2 are not both
同理,當以第一搜尋字元[10110001]對第五資料字元
[11011010]進行搜尋時,搜尋結果為不匹配,感應放大器612-3未感應到匹配電流而產生邏輯值0(即第一感應結果)。同理,當以第二搜尋字元[11001010]對第六資料字元[00110101]進行搜尋時,搜尋結果為不匹配,感應放大器612-(n+3)未感應到匹配電流以產生邏輯值0(即第二感應結果)。但由於邏輯閘614-3的兩個輸入端並非皆為邏輯1,故而,邏輯閘614-3輸出邏輯0給解碼器616。
Similarly, when the first search character [10110001] is used for the fifth data character
[11011010] When performing a search, the search result is a mismatch, and the sense amplifier 612-3 does not sense a matching current and generates a logic value of 0 (ie, the first sense result). Similarly, when the second search character [11001010] is used to search the sixth data character [00110101], the search result is a mismatch, and the sense amplifier 612-(n+3) does not sense a matching current to generate a logic value 0 (that is, the second induction result). However, since the two input terminals of the logic gate 614 - 3 are not both
如此,透過CAM記憶體裝置600,可搜尋長字元,以提高內容定址記憶體裝置的效能。再者,CAM記憶體裝置600更可減少內容定址記憶體晶胞串列(例如是NAND串列)的長度,以降低RC延遲,進而加速內容定址記憶體裝置的反應速度。
In this way, through the
第七實施例 Seventh embodiment
第7圖顯示根據本案第七實施例的CAM記憶體裝置700的電路示意圖。
FIG. 7 shows a schematic circuit diagram of a
如第7圖所示,根據第七實施例的CAM記憶體裝置700包括複數個內容定址記憶體晶胞串列702-1~702-2n、字元線驅動器708-1與708-2、複數條匹配線710-1~710-2n、複數個感應放大器712-1~712-2n、複數個邏輯閘714-1~714n與解碼器716。位元線電壓BL1~BL(2n)施加至該些內容定址記憶體晶胞串列702-1~702-2n。CAM記憶體裝置700的該些內容定址記憶體晶胞704的儲存資料和臨界電壓設定以及匹配操作方式相同或相似於第六實施例的CAM記憶體裝置600,其細節於此省略。
As shown in FIG. 7, the
第七實施例中,內容定址記憶體晶胞704包括兩個
快閃記憶體晶胞為例,而此兩個快閃記憶體晶胞分別屬於不同的內容定址記憶體晶胞串列。例如,內容定址記憶體晶胞704包括兩個快閃記憶體晶胞704-1與704-2,快閃記憶體晶胞704-1與704-2分別屬於不同的內容定址記憶體晶胞串列702-n與702-2n。
In the seventh embodiment, the content-
第八實施例 Eighth embodiment
請參照第8A圖至第8D圖,顯示第八實施例的內容定址記憶體裝置800及其四種操作示意圖。
Please refer to FIG. 8A to FIG. 8D , which show the content
如第8A圖至第8D圖所示,內容定址記憶體裝置800包括複數個內容定址記憶體晶胞串列802、字元線解碼與驅動器808、位元線驅動器810、複數條匹配線812、複數個感應計數電路(SC)814-1~814-n與解碼器816。
As shown in FIG. 8A to FIG. 8D, the
該些內容定址記憶體晶胞串列802包括複數個內容定址記憶體晶胞804,該些內容定址記憶體晶胞804包括複數個快閃記憶體晶胞806。該些內容定址記憶體晶胞804可相同或相似於第一實施例的內容定址記憶體晶胞100、第二實施例的內容定址記憶體晶胞200、第三實施例的內容定址記憶體晶胞300、第四實施例的內容定址記憶體晶胞400、第五實施例的內容定址記憶體晶胞504與第六實施例的內容定址記憶體晶胞604。
The CAM cell strings 802 include a plurality of
字元線解碼與驅動器808用以提供複數個搜尋電壓SL至該些內容定址記憶體晶胞804。該些匹配線812耦接至該些內容定址記憶體晶胞804,該些感應計數電路814-1~814-n耦接
至該些匹配線812,解碼器816耦接至該些感應計數電路814-1~814-n。
The word line decoder and
各該些感應計數電路814-1~814-n包括複數個感應放大器SA與計數器C。該些感應放大器SA用以感應相對應的內容定址記憶體晶胞串列802是否有匹配電流。例如,感應計數電路814-1耦接至第1~6個內容定址記憶體晶胞串列802,以感應第1~6個內容定址記憶體晶胞串列802的匹配電流;感應計數電路814-2耦接至第4~9個內容定址記憶體晶胞串列802,以感應第4~9個內容定址記憶體晶胞串列802的匹配電流,後面以此類推。
Each of the sense counting circuits 814-1˜814-n includes a plurality of sense amplifiers SA and a counter C. The sense amplifiers SA are used to sense whether the corresponding content-addressed
當感應到相對應的內容定址記憶體晶胞串列802的匹配電流時,該些感應放大器SA輸出感應結果至計數器C。計數器C則計數輸出感應結果的感應放大器SA之數量,以成為計數結果。
When the matching current of the corresponding
於本案第八實施例中,內容定址記憶體晶胞串列802之個別儲存資料有關於一參考串列(reference string)資料820A之一部份。參考串列資料820A例如但不受限於,為基因組。如第8A圖所示,參考串列資料820A包括複數個部份820A-1~820A-X(X為正整數)。參考串列資料820A包括:例如但不受限於CAATCCCCATCATTAAAGCGATGGCACACAGCATGCCCAATGACTGATTTAGCA,參考串列資料820A的第一個部份
820A-1包括第1-4個資料位元(CAAT),儲存於第一個內容定址記憶體晶胞串列802;參考串列資料820A的第二個部份820A-2包括第5-8個資料位元(CCCC),儲存於第2個內容定址記憶體晶胞串列802,後面以此類推。其中,參考串列資料820A的第X個部份820A-X包括最後兩個資料位元(CA),儲存於該些內容定址記憶體晶胞串列802之一。在選取參考串列資料時,並非以滑動方式來選取,故而可稱為固定參考串列資料選取方法。
In the eighth embodiment of the present invention, the individual storage data of the
於複數個比對回合中,字元線解碼與驅動器808依據一資料片段(read)822A而決定施加至該些內容定址記憶體晶胞804的該些搜尋電壓SL。其中,於各個比對回合中,字元線解碼與驅動器808從資料片段822A選擇一種子(seed)資料822A-1~822A-Y(Y為正整數,在第8A例中,Y=12,但本案不受限於此)之一,字元線解碼與驅動器808依據所選之種子資料822A-1~822A-Y而決定施加至該些內容定址記憶體晶胞804的該些搜尋電壓SL。
In a plurality of comparison rounds, the word line decoder and
如第8A圖所示,資料片段822A包括複數個資料位元,例如但不受限於,AAAGCGATGGCACA。將資料片段822A的第1-4個資料位元(AAAG)作為第1個比對回合的種子資料822A-1,將資料片段822A的第2-5個資料位元(AAGC)作為第2個比對回合的種子資料822A-2,後面以此類推。這稱為滑動種子(sliding seed)選取方法。
As shown in FIG. 8A, the
其中,當最後一個比對回合或最後幾個比對回合的
種子資料的資料位元數量較小時,則施加一個或數個萬用字元(wildcard,WC)X至資料位元數量較小的種子資料,使最後一個比對回合或最後幾個比對回合的種子資料的資料位元數量等於前面比對回合時的種子資料的資料位元數量。如第8A圖所示,最後1個比對回合的種子資料822A-12為資料片段822A的最後3個資料位元(ACA),其資料位元數量較小,故補上一個萬用字元X至最後1個比對回合的種子資料822A-12,使最後一個比對回合的種子資料822A-12的資料位元數量等於前面比對回合時的種子資料的資料位元數量。藉由補上萬用字元X至最後一個比對回合或最後幾個比對回合的種子資料,使得各比對回合的種子資料具有相同資料位元數量。
Among them, when the last comparison round or the last few comparison rounds
When the number of data bits of the seed data is small, one or several wildcards (WC) X are applied to the seed data with a small number of data bits, so that the last comparison round or the last few comparisons The number of data bits of the seed data of the round is equal to the number of data bits of the seed data of the previous round of comparison. As shown in Figure 8A, the
在第八實施例,A、T、C與G例如但不受限於,代表00、01、10、11。例如,當內容定址記憶體晶胞804被寫入A時,代表將儲存資料00儲存入內容定址記憶體晶胞804。同樣地,以種子資料822A-1為AAAG,代表搜尋電壓設定為00、00、00、11。其餘可依此類推。至於臨界電壓與搜尋電壓之設定則可以參考前面實施例,其細節在此不重述。
In the eighth embodiment, A, T, C and G represent, for example but not limited to, 00, 01, 10, 11. For example, when the content-
因此,於該些比對回合中,當該些搜尋電壓SL施加至該些內容定址記憶體晶胞804時,該些感應計數電路814-1~814-n感應且計數該些匹配線812上的複數個匹配電流以產生複數個計數結果,解碼器816依據該些感應計數電路814-1~814-n之該些計數結果而決定資料片段822A是否匹配於
參考串列資料820A。
Therefore, in these comparison rounds, when the search voltages SL are applied to the content-
如第8A圖所示,第5-7個內容定址記憶體晶胞串列802之個別儲存資料分別匹配於第3個比對回合的種子資料822A-3(AGCG)、第7個比對回合的種子資料822A-7(ATGG)與第11個比對回合的種子資料822A-11(CACA)而產生3個匹配電流。因此,對應於第5-6個內容定址記憶體晶胞串列802之感應計數電路814-1感應且計數到2個匹配電流以產生計數結果(2),對應於第5-7個內容定址記憶體晶胞串列802之感應計數電路814-2感應且計數到3個匹配電流以產生計數結果(3),對應於第7個內容定址記憶體晶胞串列802之感應計數電路814-3感應且計數到1個匹配電流以產生計數結果(1),故對應於第5-7個內容定址記憶體晶胞串列802之感應計數電路814(有最高計數結果)被選為一候選感應計數電路。而上述操作方式稱為以種子與投票策略(seed and vote strategy)進行的讀取映射(read mapping)。
As shown in FIG. 8A, the individual storage data of the 5th-7th content-addressed
當該些感應計數電路814之候選感應計數電路的計數結果高於一閾值(例如是2)時,代表上述之種子與投票策略成功,則解碼器816決定資料片段822A匹配於參考串列資料820A。如第8A圖所示,對應於第5-7個內容定址記憶體晶胞串列802之感應計數電路814-2(即候選感應計數電路)的計數結果(3)大於該閾值(2),種子與投票策略成功。因此,解碼器816依據計數結果(3)而決定資料片段822A匹配於參考串列資料820A之一部份。
When the counting results of the candidate sensing counting circuits of the
如第8A圖所示,當種子資料822A-1~822A-Y之一有效長度小於內容定址記憶體晶胞串列802的一內容定址記憶體晶胞數量時,將內容定址記憶體晶胞串列802的一部份,如區域824所示,儲存不重要(don’t care)儲存資料,使接收到不論何種搜尋電壓,區域824內的該些內容定址記憶體晶胞804皆為導通。或者是,當種子資料822A-1~822A-Y之一有效長度小於內容定址記憶體晶胞串列802的一內容定址記憶體晶胞數量時,對區域824內的該些內容定址記憶體晶胞804施加萬用字元搜尋電壓,同樣可使區域824內的該些內容定址記憶體晶胞804皆為導通。其中有效長度係指各個比對回合時輸入至內容定址記憶體晶胞串列802的種子資料的資料位元數量。
As shown in FIG. 8A, when the effective length of one of the
如第8A圖所示,當參考串列資料820A的該些部份820A-1~820A-X已全部儲存至該些內容定址記憶體晶胞串列802時,如果有剩餘的內容定址記憶體晶胞804,如區域826所示,未被寫入參考串列資料820A的該些部份820A-1~820A-X,則將該些剩餘的內容定址記憶體晶胞804寫入無效資料(如第一實施例至第三實施例)。如此一來,不論被施加何種搜尋電壓,區域826內的該些剩餘的內容定址記憶體晶胞804皆無電流通過。
As shown in FIG. 8A, when the
在一實施例中,倘若資料片段越長,代表種子資料越多。因此,當採用越長的資料片段與參考串列資料的讀取映射時,可降低投票的不確定性,以提高種子與投票策略的效能。 In one embodiment, if the data segment is longer, it means that there are more seed data. Therefore, when longer data fragments are used for read mapping with reference sequence data, the uncertainty of voting can be reduced to improve the performance of seed and voting strategies.
如此,透過第8A圖的內容定址記憶體裝置800與其
操作方式,可正確匹配資料片段與參考串列資料,並解決種子資料的錯位(misalignment)問題。
In this way, through the content
請參照第8B圖,顯示根據第八實施例的內容定址記憶體裝置800之第二種操作示意圖。第8B圖相較於第8A圖的內容定址記憶體裝置800的操作方式之差異在於採取滑動參考串列資料(sliding reference)方法,而不進行滑動種子方法,其細節將於底下說明之。
Please refer to FIG. 8B, which shows a schematic diagram of the second operation of the content
如第8B圖所示,參考串列資料820B包括複數個部份820B-1~820B-X(X為正整數)。參考串列資料820B包括:例如但不受限於CAATCCCCATCATTAAAGCGATGGCACACAGCATGCCCAATGACTGATTTAGCA,將參考串列資料820B的第一個部份820A-1包括第1-4個資料位元(CAAT),儲存於第1個內容定址記憶體晶胞串列802;將參考串列資料820B的第二個部份820A-2包括第2-5個資料位元(AATC),儲存於第2個內容定址記憶體晶胞串列802,後面以此類推。其中,參考串列資料820B的第X個部份820B-X包括最後一個資料位元(A),儲存於該些內容定址記憶體晶胞串列802之一。而上述的操作方式稱為滑動參考串列資料方法。
As shown in FIG. 8B, the reference
如第8B圖所示,資料片段822B包括複數個資料位元,例如但不受限於,AAAGCGATGGCACA。將資料片段822B的第1-4個資料位元(AAAG)作為第1個比對回合的種子資料
822B-1,將資料片段822B的第5-8個資料位元(CGAT)作為第2個比對回合的種子資料822B-2,後面以此類推。這稱為固定種子(fixed seed)選取方法。
As shown in FIG. 8B, the
其中,第3個比對回合的種子資料822B-3為資料片段822B的最後2個資料位元(GG),其資料位元數量較小,故施加兩個萬用字元XX至第3個比對回合的種子資料822B-3,使第3個比對回合的種子資料822B-3的資料位元數量等於前面比對回合時的種子資料的資料位元數量。
Among them, the
請參照第8C圖,顯示根據第八實施例的內容定址記憶體裝置800之第三種操作示意圖。第8C圖相較於第8A、8B圖的內容定址記憶體裝置800的操作方式之差異在於同時採取滑動種子方法與滑動參考串列資料方法進行讀取映射,其細節將於底下說明之。
Please refer to FIG. 8C , which shows a schematic diagram of the third operation of the content
如第8C圖所示,參考串列資料820C包括複數個部份820C-1~820C-X(X為正整數)。參考串列資料820C包括:例如但不受限於TAATCCCCATCATTAAAGCGATGGCACACAGCATGCCCAATGACTGATTTAGCA,採取滑動參考串列資料方法,將參考串列資料820C的第1-3個資料位元(TAA)儲存於第1個內容定址記憶體晶胞串列802,將參考串列資料820C的第2-4個資料位元(AAT)儲存於第2個內容定址記憶體晶胞串列802,後面以此類推。其中,參考串列資料820C的第X個部份820C-X包括
最後一個資料位元(A),儲存於該些內容定址記憶體晶胞串列802之一。
As shown in FIG. 8C, the reference
如第8C圖所示,資料片段822C包括複數個資料位元,例如但不受限於,AAAGCGATG。採取滑動種子方法,將資料片段822C的第1-3個資料位元(AAA)作為第1個比對回合的種子資料822C-1,資料片段822C的第2-4個資料位元(AAG)作為第2個比對回合的種子資料822C-2,後面以此類推。其中,最後一個比對回合的種子資料822C-Y為資料片段822C的最後3個資料位元(ATG)。
As shown in FIG. 8C, the
請參照第8D圖,顯示根據第八實施例的內容定址記憶體裝置800之第四種操作示意圖。第8D圖相較於第8A、8B、8C圖的內容定址記憶體裝置800的操作方式之差異在於採取固定種子資料方法與固定參考串列資料方法進行讀取映射,其細節將於底下說明之。
Please refer to FIG. 8D, which shows a schematic diagram of the fourth operation of the content
如第8D圖所示,參考串列資料820D包括複數個部份820D-1~820D-X(X為正整數)。參考串列資料820D包括:例如但不受限於CAATCCCCATCATTAAAGCGATGGCACACAGCATGCCCAATGACTGATTTAGCA,參考串列資料820D的第一個部份820D-1包括第1-4個資料位元(CAAT),儲存於第一個內容定址記憶體晶胞串列802;參考串列資料820D的第二個部份820D-2包括第5-8個資料位元(CCCC),儲存於第2個內容定址記憶體晶
胞串列802,後面以此類推。其中,參考串列資料820D的第X個部份820D-X包括最後兩個資料位元(CA),儲存於該些內容定址記憶體晶胞串列802之一。這種從參考串列資料選取一部份的方法即稱為固定參考串列資料方法。
As shown in FIG. 8D, the reference serial data 820D includes a plurality of parts 820D-1~820D-X (X is a positive integer). The reference serial data 820D includes, for example but not limited to, CAATCCCCATCATCATTAAAGCGATGGCACACAGCATGCCCAATGACTGATTTAGCA, the first part 820D-1 of the reference serial data 820D includes the 1st-4th data bits (CAAT), stored in the first content-addressed memory
如第8D圖所示,資料片段822D包括複數個資料位元,例如但不受限於,AAAGCGATGGCACA。將資料片段822D的第1-4個資料位元(AAAG)作為第1個比對回合的種子資料822D-1,資料片段822D的第5-8個資料位元(CGAT)作為第2個比對回合的種子資料822D-2,後面以此類推。這種從資料片段選取種子資料的方法即稱為固定種子資料方法。
As shown in FIG. 8D, the
其中,最後一個比對回合的種子資料822D-Y為資料片段822D的最後2個資料位元(CA),其資料位元數量較小,故施加兩個萬用字元XX至最後一個比對回合的種子資料822D-Y,使最後一個比對回合的種子資料822D-Y的資料位元數量等於前面比對回合時的種子資料的資料位元數量。
Among them, the
在一實施例中,倘若資料片段越長,代表種子資料越多。因此,當採用越長的資料片段與參考串列資料的讀取映射時,可降低投票的不確定性,以提高種子與投票策略的效能。 In one embodiment, if the data segment is longer, it means that there are more seed data. Therefore, when longer data fragments are used for read mapping with reference sequence data, the uncertainty of voting can be reduced to improve the performance of seed and voting strategies.
如此,依據第8A-8D圖的操作,可知透過第八實施例的內容定址記憶體裝置800,更能正確匹配資料片段與參考串列資料,以提高種子與投票策略的可信度。
In this way, according to the operations in FIGS. 8A-8D , it can be seen that through the content
在本案一實施例中,當應用第8A圖至第8D圖之一 來進行資料搜尋比對時,若資料搜尋比對失敗(即感應計數電路的計數結果並未高於一閾值),則可選用第8A圖至第8D圖之另一來進行資料搜尋比對,以獲得最佳的讀取映射結果。此亦在本案精神範圍內。 In one embodiment of this case, when applying one of the 8A to 8D When performing data search and comparison, if the data search and comparison fails (that is, the counting result of the induction counting circuit is not higher than a threshold), then another one of Figures 8A to 8D can be used for data search and comparison. for optimal read mapping results. This is also within the spirit of this case.
請參照第9圖,顯示利用萬用字元以加快資料搜尋比對的示意圖。如第9圖所示,當儲存資料為AAA、AAC、AAG、AAT時,利用「AA*(*代表萬用字元)」來搜尋,皆可以匹配。亦即,單一回合的搜尋操作可以同時搜尋多筆資料。相較之下,如果不利用萬用字元的話,則當儲存資料為AAA、AAC、AAG、AAT時,需要較多回合(4回合)的搜尋才能得到結果。如此,透過第9圖,可降低在讀取映射時的回合次數,加速資料搜尋比對。 Please refer to Figure 9, which shows a schematic diagram of using wildcards to speed up data search and comparison. As shown in Figure 9, when the stored data is AAA, AAC, AAG, AAT, use "AA* (* represents a wildcard)" to search, all can be matched. That is, a single round of search operation can search multiple pieces of data at the same time. In contrast, if no wildcard is used, when the stored data is AAA, AAC, AAG, AAT, more rounds (4 rounds) of searching are needed to obtain the result. In this way, through the use of Figure 9, the number of rounds when reading the mapping can be reduced, and data search and comparison can be accelerated.
在一實施例中,當資料片段與參考串列資料進行讀取映射時,若第8A圖至第8D圖的資料搜尋比對結果都失敗,則透過一圖形處理單元(Graphics Processing Unit,GPU)或一中央處理單元(Central Processing Unit,CPU)進行搜尋資料,其細節於此不詳述。 In one embodiment, when the data segment and the reference serial data are read and mapped, if the data search and comparison results in FIG. 8A to FIG. 8D all fail, a graphics processing unit (Graphics Processing Unit, GPU) Or a central processing unit (Central Processing Unit, CPU) to search for data, the details of which are not detailed here.
第10圖顯示根據本案第九實施例之內容定址記憶體裝置之操作方法,包括:於步驟1002中,程式化複數個內容定址記憶體晶胞,各該些內容定址記憶體晶胞包括複數個快閃記憶體晶胞,各該些內容定址記憶體晶胞之一儲存資料決定於各該些內容定址記憶體晶胞之該些快閃記憶體晶胞之複數個臨界電壓之組合,該些內容定址記憶體晶胞耦接至複數條匹配線;於步驟1004中,施
加複數個第一搜尋電壓與複數個第二搜尋電壓至該些內容定址記憶體晶胞;於步驟1006中,感應該些匹配線上的複數個匹配電流以產生複數個感應結果;以及於步驟1008中,依據該些感應結果,產生一匹配位址,該匹配位址指示一搜尋結果為匹配的該些內容定址記憶體晶胞的個別位址。
Fig. 10 shows the operation method of the content-addressable memory device according to the ninth embodiment of the present application, including: in
步驟1002-1008之細節可如上述該些實施例所述,於此不重述。其中,第10圖可以應用至第五實施例。 The details of steps 1002-1008 can be as described in the above-mentioned embodiments, and will not be repeated here. Among them, Fig. 10 can be applied to the fifth embodiment.
第11圖顯示根據本案第十實施例之內容定址記憶體裝置之操作方法,包括:於步驟1102中,程式化複數個內容定址記憶體晶胞,各該些內容定址記憶體晶胞包括複數個串聯快閃記憶體晶胞,各該些內容定址記憶體晶胞串列之個別儲存資料有關於一參考串列資料之一部份,該些內容定址記憶體晶胞耦接至複數條匹配線;於步驟1104中,施加複數個搜尋電壓至該些內容定址記憶體晶胞,於複數個比對回合中,一資料片段用以決定施加至該些內容定址記憶體晶胞的該些搜尋電壓;於步驟1106中,於該些比對回合中,感應且計數該些匹配線上的複數個匹配電流以產生複數個計數結果;以及於步驟1108中,依據該些計數結果,決定該資料片段是否匹配於該參考串列資料。
Fig. 11 shows the operation method of the content-addressable memory device according to the tenth embodiment of the present application, including: in
步驟1102-1108之細節可如上述該些實施例所述,於此不重述。其中,第11圖可以應用至第八實施例。 The details of steps 1102-1108 can be as described in the above-mentioned embodiments, and will not be repeated here. Among them, Fig. 11 can be applied to the eighth embodiment.
在本案上述實施例中,內容定址記憶體晶胞可實施為:可儲存兩位元的多階CAM晶胞(multi-level CAM cell,MLC)、可儲 存三位元的三階CAM晶胞(triple-level CAM cell,TLC)、可儲存四位元的四階CAM晶胞(quad-level CAM cell,QLC)、可儲存五位元的五階CAM晶胞(penta-level CAM cell,PLC)等,此皆在本案精神範圍內。 In the above-mentioned embodiment of this case, the content addressable memory unit cell can be implemented as: a multi-level CAM unit cell (multi-level CAM cell, MLC) that can store two bits, can store Three-bit CAM cell (triple-level CAM cell, TLC), four-bit CAM cell (quad-level CAM cell, QLC), five-bit CAM cell Unit cell (penta-level CAM cell, PLC), etc., are all within the spirit of this case.
在本案上述實施例中,CAM記憶體裝置可為二維(2D)快閃記憶體架構或三維(3D)快閃記憶體架構,此皆在本案精神範圍內。 In the above embodiments of the present application, the CAM memory device may be a two-dimensional (2D) flash memory structure or a three-dimensional (3D) flash memory structure, which are all within the scope of the present application.
在本案實施例中,進行資料搜尋匹配時,採用3D-NAND架構,故而可節省記憶體空間,並可改善記憶體內搜尋(In-memory searching,IMS)密度,且可提高匹配速度與準確性。 In the embodiment of this case, the 3D-NAND architecture is used for data search and matching, so memory space can be saved, and the density of in-memory searching (IMS) can be improved, and the matching speed and accuracy can be improved.
本案實施例適用於長字元搜尋設計。故而,當使用本案實施例的CAM晶胞與CAM記憶體裝置來進行大數據搜尋時,可以增進記憶體內搜尋密度。 The embodiment of this case is applicable to long character search design. Therefore, when using the CAM unit cell and the CAM memory device of this embodiment to search for large data, the search density in the memory can be increased.
綜上所述,雖然本發明已以實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。 To sum up, although the present invention has been disclosed by the above embodiments, it is not intended to limit the present invention. Those skilled in the art of the present invention can make various changes and modifications without departing from the spirit and scope of the present invention. Therefore, the scope of protection of the present invention should be defined by the scope of the appended patent application.
1002-1008:步驟 1002-1008: steps
Claims (18)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163223554P | 2021-07-20 | 2021-07-20 | |
US202163223551P | 2021-07-20 | 2021-07-20 | |
US63/223,554 | 2021-07-20 | ||
US63/223,551 | 2021-07-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202305804A TW202305804A (en) | 2023-02-01 |
TWI793854B true TWI793854B (en) | 2023-02-21 |
Family
ID=86661438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110142170A TWI793854B (en) | 2021-07-20 | 2021-11-12 | Content addressable memory cell, content addressable memory device and operation method thereof, and method for data searching and comparing |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI793854B (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6256216B1 (en) * | 2000-05-18 | 2001-07-03 | Integrated Device Technology, Inc. | Cam array with minimum cell size |
US6317349B1 (en) * | 1999-04-16 | 2001-11-13 | Sandisk Corporation | Non-volatile content addressable memory |
US6339540B1 (en) * | 2000-12-05 | 2002-01-15 | Tower Semiconductor Ltd. | Content-addressable memory for virtual ground flash architectures |
US7177183B2 (en) * | 2003-09-30 | 2007-02-13 | Sandisk 3D Llc | Multiple twin cell non-volatile memory array and logic block structure and method therefor |
US20090190404A1 (en) * | 2008-01-25 | 2009-07-30 | Roohparvar Frankie F | Nand flash content addressable memory |
-
2021
- 2021-11-12 TW TW110142170A patent/TWI793854B/en active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6317349B1 (en) * | 1999-04-16 | 2001-11-13 | Sandisk Corporation | Non-volatile content addressable memory |
US6256216B1 (en) * | 2000-05-18 | 2001-07-03 | Integrated Device Technology, Inc. | Cam array with minimum cell size |
US6339540B1 (en) * | 2000-12-05 | 2002-01-15 | Tower Semiconductor Ltd. | Content-addressable memory for virtual ground flash architectures |
US7177183B2 (en) * | 2003-09-30 | 2007-02-13 | Sandisk 3D Llc | Multiple twin cell non-volatile memory array and logic block structure and method therefor |
US20090190404A1 (en) * | 2008-01-25 | 2009-07-30 | Roohparvar Frankie F | Nand flash content addressable memory |
Also Published As
Publication number | Publication date |
---|---|
TW202305804A (en) | 2023-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10847238B2 (en) | Analog, non-volatile, content addressable memory | |
US9548120B2 (en) | Content addressable memory | |
US20110051485A1 (en) | Content addressable memory array writing | |
US20210142837A1 (en) | Content addressable memory, data processing method, and network device | |
CN115641893A (en) | Content addressing memory unit, content addressing memory device and operation method thereof and data searching and comparing method | |
US11289162B2 (en) | Analog content addressable memory utilizing three terminal memory devices | |
CN112397123B (en) | Dot product engine ternary content addressable memory and method implemented thereon | |
WO2008086232A1 (en) | Storing information in a memory | |
TWI793854B (en) | Content addressable memory cell, content addressable memory device and operation method thereof, and method for data searching and comparing | |
Kuekes et al. | Resistor-logic demultiplexers for nanoelectronics based on constant-weight codes | |
US11107531B2 (en) | Search circuits, hammer address management circuits, and memory systems including the same | |
CN106484750A (en) | Data handling system | |
US10489702B2 (en) | Hybrid compression scheme for efficient storage of synaptic weights in hardware neuromorphic cores | |
WO2003028034A2 (en) | A tertiary cam cell | |
US20040012989A1 (en) | Multi-bank content addressable memory (CAM) devices having segment-based priority resolution circuits therein and methods of operating same | |
US11398268B1 (en) | Memory device and operation method for the same | |
TWI790107B (en) | Content addressable memory device and method for data searching and comparing thereof | |
TWI785787B (en) | Cam cell, cam memory device and operation method thereof | |
JPWO2014038306A1 (en) | Full-text search system using non-volatile associative memory and character string comparison method used therefor | |
US20230238037A1 (en) | Content addressable memory device and method for data searching and comparing thereof | |
Chowdhury et al. | CAMeleon: Reconfigurable B (T) CAM in Computational RAM | |
US9595334B2 (en) | Apparatus and methods of operating memory for exact and inexact searching of feature vectors | |
EP1526546A1 (en) | Magnitude (relational) content addressable memory | |
US20140085957A1 (en) | Shared Stack dual Phase Content Addressable Memory (CAM) Cell | |
TWI824873B (en) | Ims memory cell, ims method and ims memory device |