Content addressable memory device, content addressable memory cell and data search comparison method thereof
By designing a content-addressable memory device and an electrical characteristic detection circuit, the problem of range search and storage that is difficult to achieve in existing TCAMs is solved. Range search and storage functions are realized in the memory, improving storage density and saving power consumption.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-09
- Publication Date
- 2026-03-24
AI Technical Summary
Existing non-volatile TCAMs struggle to achieve range search and range storage, and also struggle to achieve approximate search within memory.
A content-addressable memory device is designed, including multiple content-addressable memory strings and an electrical characteristic detection circuit. Search results are generated by detecting the current of the memory strings or the matching line voltage, supporting the comparison of range stored data with single-bit search data or single-bit stored data with range search data.
It implements range search and range storage functions within the memory, improving storage density and saving power consumption.
Smart Images

Figure CN117009594B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to a content addressable memory (CAM), a CAM cell and a data search comparison method thereof, and in particular, to a content addressable memory device, a CAM cell and a data search comparison method thereof for implementing in-memory approximate searching. BACKGROUND
[0002] 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. A conventional TCAM is usually composed of static random access memory (SRAM), so the storage density is low and the access power is high. In order to improve the storage density and save power consumption, a non-volatile memory array based on TCAM has recently been proposed.
[0003] Compared with a SRAM-based TCAM with 16 transistors (16T), a RRAM-based TCAM with a 2-transistor and 2-resistor (2T2R) structure has recently been developed to reduce the cell area. Standby power consumption can also be improved by using a non-volatile TCAM based on RRAM. However, the existing non-volatile TCAM is difficult to implement range search and range storage, and is also difficult to implement in-memory approximate searching.
[0004] Therefore, there is a need for a content addressable memory (CAM) device, a CAM memory cell, and a data search comparison method thereof, which can be used to implement in-memory approximate searching, and to implement range search and range storage. SUMMARY
[0005] According to an embodiment of the present application, a content addressable memory device is provided, comprising: a plurality of content addressable memory strings; and an electrical characteristic detection circuit coupled to the content addressable memory strings; wherein, during a data search, a search data is compared to a stored data stored in the content addressable memory strings, the content addressable memory strings generate a plurality of memory string currents, the electrical characteristic detection circuit detects the memory string currents or detects a plurality of match line voltages of a plurality of match lines coupled to the content addressable memory strings to generate a plurality of search results, wherein the stored data and the search data are a range stored data and a single bit search data, or the stored data and the search data are a single bit stored data and a range search data.
[0006] According to another embodiment of the present application, a data search comparison method for a content addressable memory device is provided, comprising: storing a stored data in a plurality of content addressable memory strings; performing a data search on the content addressable memory strings with a search data; the content addressable memory strings generating a plurality of memory string currents; detecting the memory string currents or detecting a plurality of match line voltages of a plurality of match lines coupled to the content addressable memory strings to generate a plurality of search results, wherein the stored data and the search data are a range stored data and a single bit search data, or the stored data and the search data are a single bit stored data and a range search data.
[0007] According to still another embodiment of the present application, a content addressable memory cell is provided, comprising: a plurality of memory cells, wherein the memory cells are connected in series with each other, and a plurality of search voltages representing a search data are inputted to a plurality of control terminals of the memory cells; or the control terminals of the memory cells receive a select voltage or a pass voltage, and the search voltages are inputted to a plurality of first terminals of the memory cells through a plurality of signal lines; or the control terminals of the memory cells are coupled to a plurality of word lines to receive the search voltages, and the first terminals of the memory cells are further coupled to a match line and a pre-charge control circuit, and a plurality of second terminals of the memory cells are coupled to a ground terminal, wherein a stored data of the content addressable memory cell and the search data are a range stored data and a single bit search data, or the stored data and the search data are a single bit stored data and a range search data.
[0008] For better understanding of the present application, reference will be made to the following embodiments with accompanying drawings. BRIEF DESCRIPTION OF DRAWINGS
[0009] Figure 1A A schematic diagram showing a single bit stored data and a single bit search data.
[0010] Figure 1B This is a diagram illustrating the difference between range-based data storage and single-digit search data.
[0011] Figure 1C This diagram illustrates the difference between storing data in a single bit and searching data within a range.
[0012] Figure 2A This diagram shows a content-addressable memory cell according to a second embodiment of the present invention, and its threshold voltage distribution.
[0013] Figure 2B This diagram illustrates the operation of "range storage and single-digit search" according to a second embodiment of the present invention.
[0014] Figure 3A This diagram shows a content-addressable memory cell according to a third embodiment of the present invention, and its threshold voltage distribution.
[0015] Figure 3B This diagram illustrates the operation of "range storage and single-digit search" according to a third embodiment of the present invention.
[0016] Figure 4A This diagram shows a content-addressable memory cell according to a fourth embodiment of the present invention, and a threshold voltage distribution diagram thereof.
[0017] Figure 4B and Figure 4C This diagram illustrates the operation of "range storage and single-digit search" according to the fourth embodiment of the present invention.
[0018] Figure 5A This diagram shows a content-addressable memory cell according to a fifth embodiment of the present invention, and a threshold voltage distribution diagram thereof.
[0019] Figure 5B This diagram illustrates the operation of "range storage and single-digit search" according to the fifth embodiment of the present invention.
[0020] Figure 6A and Figure 6B This illustration shows a "range storage and single-bit search" according to an embodiment of the present invention, as well as an operational diagram of the "single-bit storage and range search".
[0021] Figure 7 A flowchart showing a data search and comparison method for a CAM memory device according to an embodiment of the present invention is displayed.
[0022] Explanation of reference numerals in the attached figures
[0023] 200, 300, 400, 500: Content-Addressable Memory Units
[0024] T1~T4: Flash memory units
[0025] WL1-WL4, WL21-WL28, WL31-WL38, WL41-WL44: word line
[0026] SS21-SS24, SS31-SS34: memory string
[0027] C21-C28, C31-C38: content addressable memory cell
[0028] SA: sense amplifier BL1-BL12: bit line
[0029] ML, ML1-MLn: match line 501: pre-charge control circuit
[0030] 502: voltage detection circuit
[0031] 710-740: step DETAILED DESCRIPTION
[0032] The technical terms in the present specification refer to the conventional terms in the technical field, and the explanations of the terms in the present specification are subject to the descriptions or definitions in the present specification. Each of the embodiments of the present disclosure has one or more technical features. The person skilled in the art can selectively implement some or all of the technical features in any embodiment, or selectively combine some or all of the technical features in the embodiments, under the premise of possibility.
[0033] In an embodiment of the present disclosure, a CAM memory device, a CAM memory cell and a data search comparison method thereof are disclosed, which can implement a memory approximate search. Search data is input to a content addressable memory cell by a word line or a bit line, and storage data is stored in the content addressable memory cell. In an embodiment of the present disclosure, the storage data stored in the content addressable memory cell can be range storage data (i.e., the stored data is range data), and the search data is single-bit search data. Alternatively, in another embodiment of the present disclosure, the storage data stored in the content addressable memory cell can be single-bit storage data (i.e., the stored data is single-bit data), and the search data is range search data. The definitions of "range storage data" and "range search data" will be described below.
[0034] In one embodiment of the present application, the content addressable memory cell provides a cell current in a match state when performing a data search or data comparison; and does not provide a cell current in a non-match state when performing a data search or data comparison. In another embodiment of the present application, the content addressable memory cell does not provide a cell current in a match state when performing a data search or data comparison; and provides a cell current in a non-match state when performing a data search or data comparison.
[0035] In one embodiment of the present application, a memory string provides a high memory string current when search data fully matches stored data; provides a medium memory string current when search data partially matches stored data; and provides a low memory string current when search data fully does not match stored data. In another embodiment of the present application, a memory string provides a low memory string current when search data fully matches stored data; provides a medium memory string current when search data partially matches stored data; and provides a high memory string current when search data fully does not match stored data. That is, the magnitude of the memory string current depends on the degree of match (or non-match) between the search data and the stored data.
[0036] In addition, in another embodiment of the present application, a match line voltage on a match line can be maintained without being discharged (i.e., no discharge current) when search data fully matches stored data; can be discharged at a medium rate (i.e., discharge current is a medium discharge current) when search data partially matches stored data; and can be discharged at a high rate (i.e., discharge current is a high discharge current) when search data fully does not match stored data. That is, the degree of discharge of the match line voltage depends on the degree of match (or non-match) between the search data and the stored data.
[0037] Figure 1A A schematic diagram showing single bit stored data and single bit search data. An example is shown using a ternary content addressable memory (TCAM) as the content addressable memory cell. The single bit stored data of a single content addressable memory cell can be a logic 1, a logic 0, or an X (don’t care). The single bit search data can be a logic 1, a logic 0, or a wildcard (WC). When the search data matches the stored data, the search result is a match, and vice versa.
[0038] Figure 1BThis diagram illustrates the relationship between range-stored data and single-bit search data. Range-stored data for a single Content-Addressable Memory (CORE) cell can be range data or X (don't care). Range-stored data refers to, for example but not limited to, 1–3, 2–5, 1–8, "1–2 or 5", etc. When search data matches stored data, the search result is a match, and vice versa. Figure 1B Using the first column as an example, when the search data is 2 and the stored data is 1-3, the search result is a match; when the search data is 5 and the stored data is 2-5, the search result is a match; and when the search data is a wildcard character (1-8) and the stored data is "1-2 or 5", the search result is a match. Therefore, if the search result for the first column is a match, the search results for the remaining columns can be deduced similarly.
[0039] Figure 1C This diagram illustrates the relationship between single-bit stored data and range search data. Range search data, input via bit lines or word lines, refers to, for example but not limited to, 1–2, 5–8, 4–5, etc. A search result is a match when the search data matches the stored data, and vice versa. Figure 1C Using the first column as an example, when the search data is 1-2 and the stored data is 1, the search result is a match; when the search data is 5-8 and the stored data is 5, the search result is a match; and when the search data is 4-5 and the stored data is 2, the search result is a non-match. Therefore, the search result for the first column is a non-match, and the same logic applies to the other columns.
[0040] In one embodiment of the present invention, when a content-addressable memory unit includes N (N is a positive integer greater than or equal to 3) flash memory units, the encoding definition of these N flash memory units is as follows.
[0041] When N flash memory cells are used to represent a single ten-digit combination (0, 1, 2, ..., N), that is, when this CAM memory cell is used to store one of (0, 1, 2, ..., N), the N flash memory cells can be encoded as: one flash memory cell with a high threshold voltage ("0") and (N-1) flash memory cells with a low threshold voltage ("1"), or one flash memory cell with a low threshold voltage ("1") and (N-1) flash memory cells with a high threshold voltage ("0"). Therefore, the total number of combinations is... indivual.
[0042] When N flash memory cells are used to represent 2 decimal digit data combinations (0 and 1, 0 and 2, 1 and 3,... (N-1) and N), i.e., the CAM memory cell is used to store one of (0 and 1, 0 and 2, 1 and 3,... (N-1) and N), the N flash memory cells can be encoded as: 2 flash memory cells are high threshold voltage ("0") and (N-2) flash memory cells are low threshold voltage ("1"), or, 2 flash memory cells are low threshold voltage ("1") and (N-2) flash memory cells are high threshold voltage ("0"), so the number of combinations is .
[0043] When N flash memory cells are used to represent 3 decimal digit data combinations (0 and 1 and 2, 0 and 1 and 3,... (N-2) and (N-1) and N), i.e., the CAM memory cell is used to store one of (0 and 1 and 2, 0 and 1 and 3,... (N-2) and (N-1) and N), the N flash memory cells can be encoded as: 3 flash memory cells are high threshold voltage ("0") and (N-3) flash memory cells are low threshold voltage ("1"), or, 3 flash memory cells are low threshold voltage ("1") and (N-3) flash memory cells are high threshold voltage ("0"), so the number of combinations is .
[0044] By analogy, when N flash memory cells are used to represent N decimal digit data combinations (0 and 1 and 2... and N), i.e., the CAM memory cell is used to store one of (0 and 1 and 2... and N), the N flash memory cells can be encoded as: N flash memory cells are high threshold voltage ("0") and 0 flash memory cells are low threshold voltage ("1"), or, N flash memory cells are low threshold voltage ("1") and 0 flash memory cells are high threshold voltage ("0"), so the number of combinations is .
[0045] In an embodiment of the present application, when the search data is defined by N (N is a positive integer greater than or equal to 3) search voltages, the encoding of the N search voltages is defined as follows.
[0046] When N search voltages are used to represent 1 decimal digit data combination (0, 1, 2,... N), i.e. the search data represents one of (0, 1, 2,... N), the N search voltages can be encoded as: 1 search voltage is a high search voltage (can be voltage VH, VH2, VD or VS, which will be explained below respectively) and (N-1) search voltages are low search voltages (can be VL, VH1, 0V or 0V, which will be explained below respectively), or, 1 search voltage is a low search voltage and (N-1) search voltages are high search voltages, so the number of combinations is .
[0047] When N search voltages are used to represent 2 decimal digit data combinations (0 and 1, 0 and 2, 1 and 3,... (N-1) and N), i.e. the search data represents one of (0 and 1, 0 and 2, 1 and 3,... (N-1) and N), the N search voltages can be encoded as: 2 search voltages are high search voltages and (N-2) search voltages are low search voltages, or, 2 search voltages are low search voltages and (N-2) search voltages are high search voltages, so the number of combinations is .
[0048] When N search voltages are used to represent 3 decimal digit data combinations (0 and 1 and 2, 0 and 1 and 3,... (N-2) and (N-1) and N), i.e. the search data represents one of (0 and 1 and 2, 0 and 1 and 3,... (N-2) and (N-1) and N), the N search voltages can be encoded as: 3 search voltages are high search voltages and (N-3) search voltages are low search voltages, or, 3 search voltages are low search voltages and (N-3) search voltages are high search voltages, so the number of combinations is .
[0049] By analogy, when N search voltages are used to represent N decimal digit data combinations (0 and 1 and 2... and N), i.e. the search data represents (0 and 1 and 2... and N), the N search voltages can be encoded as: N search voltages are high search voltages and 0 search voltages are low search voltages, or, N search voltages are low search voltages and 0 search voltages are high search voltages, so the number of combinations is .
[0050] First embodiment
[0051] In the first embodiment of the present application, to achieve "range storage and single bit search", the threshold voltages of the multiple flash memory cells, and the setting of the multiple search voltages can be as shown in Table 1-1 below. In the following, the content addressable memory cell is taken as an example for illustration, but it is understood that the present application is not limited thereto.
[0052] Table 1-1
[0053]
[0054]
[0055] For example, in Table 1-1, when the threshold voltages of the four flash memory cells are 1101 or 0010, respectively, the stored data of the content addressable memory cell is 1; when the four search voltages are HHLH or LLHL, respectively, the search data is 1. The rest can be deduced accordingly.
[0056] When the stored data is 0, 1, 2, 3 (XX, not important), regardless of the search data, the search result is match. When the stored data is invalid data, regardless of the search data, the search result is mismatch. When the search data is the wildcard 0, 1, 2, 3 (XX, WC), regardless of the stored data, the search result is match. When the search data is invalid data, regardless of the stored data, the search result is mismatch.
[0057] In the first embodiment of the present application, to achieve "single bit storage and range search", the threshold voltages of the multiple flash memory cells, and the multiple search voltages can be set as shown in Table 1-2.
[0058] Table 1-2
[0059]
[0060] Second Embodiment
[0061] Figure 2A The content addressable memory cell 200 according to the second embodiment of the present application, and its threshold voltage distribution diagram are shown.
[0062] The content addressable memory unit 200 comprises a plurality of series-connected flash memory cells, such as, but not limited to, floating gate memory cells, Silicon-Oxide-Nitride-Oxide-Silicon (SONOS) memory cells, floating dot memory cells, Ferroelectric FET (FeFET) memory cells, Resistive random-access memory (RRAM or ReRAM), Phase-change memory (PCM), conductive-bridging RAM (CBRAM), etc. Figure 2A In the present embodiment, the content addressable memory unit 200 comprises four series-connected flash memory cells T1-T4, but it is understood that the present application is not limited thereto, and in other embodiments of the present application, the content addressable memory unit 200 comprises N series-connected flash memory cells (N is a positive integer greater than or equal to 3).
[0063] The gate of the flash memory cell T1 is connected to the word line WL1 for receiving a first search voltage SL_1, the gate of the flash memory cell T2 is connected to the word line WL2 for receiving a second search voltage SL_2, the gate of the flash memory cell T3 is connected to the word line WL3 for receiving a third search voltage SL_3, and the gate of the flash memory cell T4 is connected to the word line WL4 for receiving a fourth search voltage SL_4. The source of the flash memory cell T1 is electrically connected to the drain of the flash memory cell T2, and the rest can be deduced by analogy. The drain of the flash memory cell T1 and the source of the flash memory cell T4 are electrically connected to other signal lines (not shown).
[0064] The stored data of the content addressable memory unit 200 is determined by the combination of the threshold voltages of the flash memory cells T1-T4.
[0065] As shown in FIG. 1, in the first embodiment of the present application, when the flash memory cell has a high reference threshold voltage (HVT), the flash memory cell stores a logic 0; and when the flash memory cell has a low reference threshold voltage (LVT), the flash memory cell stores a logic 1. In addition, the reference search voltages VH (H) and VL (L) (VH > VL) represent the possible values of the first search voltage SL_1 to the fourth search voltage SL_4. Figure 2A As shown in FIG. 2, in the second embodiment of the present application, when the flash memory cell has a high reference threshold voltage (HVT), the flash memory cell stores a logic 0; and when the flash memory cell has a low reference threshold voltage (LVT), the flash memory cell stores a logic 1. In addition, the reference search voltages VH (H) and VL (L) (VH > VL) represent the possible values of the first search voltage SL_1 to the fourth search voltage SL_4.
[0066] In the second embodiment of the present application, by encoding the threshold voltages of the flash memory cells and encoding the search voltages, both "range storage and single bit search" and "single bit storage and range search" can be achieved. The following will be explained respectively.
[0067] "Range storage and single bit search" of the second embodiment
[0068] In the second embodiment of the present application, to achieve "range storage and single bit search", the threshold voltages of the flash memory cells T1-T4 and the search voltages SL_1-SL_4 can be set as shown in Table 2-1.
[0069] Table 2-1
[0070]
[0071]
[0072] Taking Table 2-1 as an example, when the threshold voltages of T1-T4 are 0001 respectively, the storage data of the content addressable memory cell 200 is 1; when the search voltages SL_1-SL_4 are VH, VH, VL, VH respectively, the search data is 1. The rest can be analogized.
[0073] "Single bit storage and range search" of the second embodiment
[0074] In the second embodiment of the present application, to achieve "single bit storage and range search", the threshold voltages of the flash memory cells T1-T4 and the search voltages SL_1-SL_4 can be set as shown in Table 2-2.
[0075] Table 2-2
[0076]
[0077]
[0078] Figure 2A The threshold voltage distribution diagram according to the second embodiment of the present application is also shown.
[0079] In the second embodiment of the present application, the voltage difference between the search voltage and the threshold voltage applied to the word line is called gate overdrive voltage (GO). In the matching state, the gate overdrive voltage exceeds a threshold value, and the transistor provides a cell current; on the contrary, in the non-matching state, the gate overdrive voltage is lower than the threshold value, and the transistor does not provide a cell current. Taking the threshold voltage of T1 as an example, when the search voltage is SL_1, the gate overdrive voltage is GO_1. Figure 2AFor example, the reference search voltages VH and VL can be 6V and 2V, respectively, the high reference threshold voltage can be, for example but not limited to, 6V, and the low reference threshold voltage can be, for example but not limited to, 2V. The gate overdrive voltage between the reference search voltage VH and the high reference threshold voltage is about 2V, which can be considered as a high gate overdrive voltage; the gate overdrive voltage between the reference search voltage VH and the low reference threshold voltage is about 6V, which can be considered as a high gate overdrive voltage; the gate overdrive voltage between the reference search voltage VL and the high reference threshold voltage is about <0V, which can be considered as a low gate overdrive voltage; and the gate overdrive voltage between the reference search voltage VL and the low reference threshold voltage is about 2V, which can be considered as a high gate overdrive voltage.
[0080] In detail, when the search voltage is the high reference search voltage (VH), no matter whether the threshold voltage of the transistor is the low reference threshold voltage (LVT) or the high reference threshold voltage (HVT), the gate overdrive voltage of the transistor exceeds the threshold value, so the transistor provides a cell current. When the search voltage is the low reference search voltage (VL), (1) if the threshold voltage of the transistor is the low reference threshold voltage (LVT), the gate overdrive voltage of the transistor exceeds the threshold value, so the transistor provides a reference cell current; and (2) if the threshold voltage of the cell is the high reference threshold voltage (HVT), the gate overdrive voltage of the transistor is lower than the threshold value, so the transistor does not provide a cell current.
[0081] Figure 2B An operation diagram of "range storage and single bit search" according to a second embodiment of the present application is shown. In the memory strings SS21-SS24, the stored data of the content addressable memory cells C21-C28 are shown as Figure 2B For example, the search data are 2 and 1. The search data are input to the content addressable memory cells C21-C28 through the word lines WL21-WL28.
[0082] The search data is 2 (search voltages are VH, VL, VH, VH respectively). The four threshold voltages of the content-addressable memory cell C21 are 0111 (the range of data stored in the content-addressable memory cell C21 is 0 to 2). All four flash memory cells T1 to T4 of the content-addressable memory cell C21 provide cell current. Therefore, the search result for the content-addressable memory cell C21 is a match. The search data is 1 (search voltages are VH, VH, VL, VH respectively). The four threshold voltages of the content-addressable memory cell C22 are 0010 (the range of data stored in the content-addressable memory cell C22 is 1). All four flash memory cells T1 to T4 of the content-addressable memory cell C22 provide cell current. Therefore, the search result for the content-addressable memory cell C22 is a match. Therefore, the memory string SS21 will generate a matching current to the sensing amplifier SA (also known as the current detection circuit or the electrical characteristic detection circuit), indicating that the search result for the memory string SS21 is a match.
[0083] Similarly, memory string SS22 will not generate a matching current to inductive amplifier SA, indicating that the search result for memory string SS22 is a mismatch. Memory string SS23 will generate a matching current to inductive amplifier SA, indicating that the search result for memory string SS23 is a match. Memory string SS24 will not generate a matching current to inductive amplifier SA, indicating that the search result for memory string SS24 is a mismatch.
[0084] Third Embodiment
[0085] Figure 3A This diagram illustrates a content-addressable memory cell 300 according to a third embodiment of the present invention, and its threshold voltage distribution. The circuit architecture of the content-addressable memory cell 300 may be the same as or similar to that of the content-addressable memory cell 200, and therefore its details are omitted here.
[0086] like Figure 3A As shown, in the third embodiment of the present invention, when the flash memory cell has a high reference threshold voltage (HVT) (e.g., but not limited to, 3-4V), the flash memory cell stores logic 0; and when the flash memory cell has a low reference threshold voltage (LVT) (e.g., but not limited to, less than 0V), the flash memory cell stores logic 1. Furthermore, the reference search voltages VH1 and VH2 (VH2 > VH1) represent possible values of the first search voltage SL_1 to the fourth search voltage SL_4, wherein VH2 and VH1 are, for example, but not limited to, 8V and 5V.
[0087] In the third embodiment of the present application, by encoding the threshold voltages of the flash memory cells and encoding the search voltages, "range storage and single bit search" and "single bit storage and range search" can be achieved. The following will be described respectively.
[0088] "Range storage and single bit search" of the third embodiment
[0089] In the third embodiment of the present application, to achieve "range storage and single bit search", the threshold voltages of the flash memory cells T1-T4 and the search voltages SL_1-SL_4 can be set as shown in Table 3-1.
[0090] Table 3-1
[0091]
[0092]
[0093] Taking Table 3-1 as an example, when the threshold voltages of T1-T4 are 0001 respectively, the storage data of the content addressable memory cell 200 is 1; when the search voltages SL_1-SL_4 are VH2, VH2, VH1, VH2 respectively, the search data is 1. The rest can be analogized.
[0094] "Single bit storage and range search" of the third embodiment
[0095] In the third embodiment of the present application, to achieve "single bit storage and range search", the threshold voltages of the flash memory cells T1-T4 and the search voltages SL_1-SL_4 can be set as shown in Table 3-2.
[0096] Table 3-2
[0097]
[0098]
[0099] Figure 3A Also shown is the threshold voltage distribution diagram according to the third embodiment of the present application.
[0100] When the search voltage is the high reference search voltage (VH2), the gate overdrive voltage of the transistor exceeds the threshold regardless of whether the threshold voltage of the transistor is the low reference threshold voltage (LVT) or the high reference threshold voltage (HVT), so the transistor provides a cell current. When the search voltage is the low reference search voltage (VH1), (1) if the threshold voltage of the transistor is the low reference threshold voltage (LVT), the gate overdrive voltage of the transistor exceeds the threshold, so the transistor provides a reference cell current; and (2) if the threshold voltage of the cell is the high reference threshold voltage (HVT), the gate overdrive voltage of the transistor is lower than the threshold, so the transistor does not provide a cell current.
[0101] Figure 3B The operation of the "range storage and single-bit search" according to the third embodiment of the present application is shown in the schematic diagram. The storage data of the content addressable memory cells C31-C38 in the memory strings SS31-SS34 are shown as Figure 3B The search data is 2 and 1 in the example. The search data is input to the content addressable memory cells C31-C38 through the word lines WL31-WL38.
[0102] The memory string SS32 is taken as an example. The search data is 2 (the search voltages are VH2, VH1, VH2, and VH2, respectively), and the four threshold voltages of the content addressable memory cell C33 are 1100 (the range storage data of the content addressable memory cell C33 is 2-3), so the four flash memory cells of the content addressable memory cell C33 all provide a cell current. The search data is 1 (the search voltages are VH2, VH2, VH1, and VH2, respectively), and the four threshold voltages of the content addressable memory cell C34 are 0100 (the range storage data of the content addressable memory cell C34 is 2), so the three flash memory cells T1, T2, and T4 of the content addressable memory cell C34 provide a cell current, but the flash memory cell T3 of the content addressable memory cell C34 does not provide a cell current. Therefore, the sensing result of the sense amplifier SA for the memory string SS32 represents a single-bit mismatch.
[0103] Similarly, the sensing result of the sense amplifier SA for the memory string SS31 represents a full match. The sensing result of the sense amplifier SA for the memory string SS33 represents a full match. The sensing result of the sense amplifier SA for the memory string SS34 represents a double-bit mismatch.
[0104] That is, in the third embodiment, the highest current can be sensed when the matching result is a full match; a medium current can be sensed when the matching result is a partial match (e.g., one-bit match, two-bit match, etc.); and the lowest current can be sensed when the matching result is a full mismatch.
[0105] Fourth Embodiment
[0106] Figure 4A A content addressable memory cell 400 according to the fourth embodiment of the present application is shown, along with its threshold voltage distribution. The content addressable memory cell 400 includes four flash memory cells whose gates are coupled together, and whose source terminals are coupled to bit lines BL1-BL4 to receive four search voltages, respectively, and whose drain terminals are coupled to the source terminals of the four flash memory cells of the next content addressable memory cell.
[0107] As shown in FIG. 4, in the fourth embodiment of the present application, a flash memory cell stores a logic 0 when it has a high reference threshold voltage (HVT), and stores a logic 1 when it has a low reference threshold voltage (LVT). Further, the reference search voltage VD and 0 V (VD > 0 V) represent possible values of the first search voltage SL_1 through the fourth search voltage SL_4. For example, but not by way of limitation, VD is close to 1 V. Figure 4A When the content addressable memory cell 400 is to be selected, a select voltage Vselect (Vselect is between the high reference threshold voltage (HVT) and the low reference threshold voltage (LVT)) is applied to the gates of the four flash memory cells of the selected content addressable memory cell 400 through the word lines WL41-WL44, and a pass voltage Vpass is applied to the gates of the four flash memory cells of the unselected content addressable memory cell 400. For example, but not by way of limitation, Vpass is close to 7 V. When the select voltage Vselect is applied, the four flash memory cells of the content addressable memory cell 400 are either on or off depending on their individual threshold voltages, wherein the flash memory cell is on when it has a high reference threshold voltage (HVT), and the flash memory cell is off when it has a low reference threshold voltage (LVT). When the pass voltage Vpass is applied, the four flash memory cells of the content addressable memory cell 400 are all on.
[0108]
[0109] In the fourth embodiment of the present application, by encoding the threshold voltages of the flash memory cells and encoding the search voltages, "range storage and single bit search" and "single bit storage and range search" can be achieved. The following will be explained respectively.
[0110] "Range storage and single bit search" of the fourth embodiment
[0111] In the fourth embodiment of the present application, to achieve "range storage and single bit search", the threshold voltages of the flash memory cells T1-T4 and the search voltages SL_1-SL_4 can be set as shown in Table 4-1.
[0112] Table 4-1
[0113]
[0114]
[0115] For example, in Table 4-1, when the threshold voltages of T1-T4 are 1101 respectively, the storage data of the content addressable memory cell 400 is 1; when the search voltages SL_1-SL_4 are 0V, 0V, VD, 0V respectively, the search data is 1. The rest can be deduced by analogy.
[0116] "Single bit storage and range search" of the fourth embodiment
[0117] In the fourth embodiment of the present application, to achieve "single bit storage and range search", the threshold voltages of the flash memory cells T1-T4 and the search voltages SL_1-SL_4 can be set as shown in Table 4-2.
[0118] Table 4-2
[0119]
[0120] Figure 4A The threshold voltage distribution diagram according to the fourth embodiment of the present application is also shown. In the fourth embodiment of the present application, when the search data matches the storage data, the content addressable memory cell 400 does not provide cell current; and when the search data does not match the storage data, the content addressable memory cell 400 provides cell current.
[0121] Figure 4B And Figure 4C The operation schematic diagram of "range storage and single bit search" according to the fourth embodiment of the present application is shown. The storage data of the content addressable memory cell is as shown in Table 4-1. Figure 4B And Figure 4CThe search data is 1, 2, 2. These search data are inputted to these content addressable memory units through bit lines BL1~BL12.
[0122] Take the selection of word line WL41 as an example. The search data is 1 (the search voltage is 0V, 0V, VD, 0V respectively), the four threshold voltages of the first content addressable memory unit are 1101 (the range storage data of the content addressable memory unit is 1), therefore, the four flash memory units of the first content addressable memory unit do not provide cell current. The search data is 2 (the search voltage is 0V, VD, 0V, 0V respectively), the four threshold voltages of the second content addressable memory unit are 1000 (the range storage data of the content addressable memory unit is 0~2), therefore, the four flash memory units of the second content addressable memory unit do not provide cell current. The search data is 2 (the search voltage is 0V, VD, 0V, 0V respectively), the four threshold voltages of the third content addressable memory unit are 0011 (the range storage data of the content addressable memory unit is 2~3), therefore, the four flash memory units of the third content addressable memory unit do not provide cell current. Therefore, the detection result of current detection circuit 410 on word line WL41 represents full match (no current).
[0123] Similarly, in the detection result of current detection circuit 410 on word line WL43 represents 2-bit mismatch (current), wherein the first content addressable memory unit and the second content addressable memory unit provide current, and the third content addressable memory unit does not provide current. Figure 4C
[0124] In the fourth embodiment, when the matching result is full match, no current can be sensed; when the matching result is partial match (such as 1-bit mismatch, 2-bit mismatch, etc.), a medium current can be sensed; when the matching result is full mismatch, the highest current can be sensed.
[0125] Fifth embodiment
[0126] Figure 5A A content addressable memory unit 500 according to the fifth embodiment of the present application is shown, as well as its threshold voltage distribution diagram. The content addressable memory unit 500 includes four flash memory units, the gates of which are coupled to different word lines WL1~WL4 respectively to receive four search voltages respectively. In addition, the source terminals of the four flash memory units are coupled to a match line ML, and the drain terminals of the four flash memory units are coupled to a ground terminal.
[0127] As shown in FIG. 5, the content addressable memory unit 500 includes four flash memory units, the gates of which are coupled to different word lines WL1~WL4 respectively to receive four search voltages respectively. In addition, the source terminals of the four flash memory units are coupled to a match line ML, and the drain terminals of the four flash memory units are coupled to a ground terminal. Figure 5A As shown, in the fifth embodiment of the present application, when the flash memory cell has a high reference threshold voltage (HVT), the flash memory cell stores a logic 0; and when the flash memory cell has a low reference threshold voltage (LVT), the flash memory cell stores a logic 1. In addition, the reference search voltage VS has possible values of the first search voltage SL_1 to the fourth search voltage SL_4. For example, but not limited to, VS is close to 3V.
[0128] When the content addressable memory cell 500 is to be searched, the four flash memory cells of the content addressable memory cell 500 are applied with search voltages through the word lines WL1~WL4. In addition, each match line ML is coupled to a pre-charge control circuit 501. The pre-charge control circuit 501, for example, but not limited to, is composed of a transistor, in which the gate receives a start voltage VST, the source is coupled to a reference voltage VM, and the drain is coupled to the match line ML. The match line ML is further coupled to a voltage detection circuit 502 (also referred to as an electrical characteristic detection circuit). Before the search starts, the start voltage VST turns on the pre-charge control circuit 501, so that the match line ML is pre-charged to the reference voltage VM.
[0129] In the fifth embodiment of the present application, by encoding the threshold voltages of the flash memory cells and encoding the search voltages, "range storage and single bit search" and "single bit storage and range search" can be achieved. The following will be described respectively.
[0130] "Range storage and single bit search" of the fifth embodiment
[0131] In the fifth embodiment of the present application, to achieve "range storage and single bit search", the threshold voltages of the flash memory cells T1~T4 and the search voltages SL_1~SL_4 can be set as shown in Table 5-1.
[0132] Table 5-1
[0133]
[0134]
[0135] For example, taking Table 5-1, when the threshold voltages of T1~T4 are 1101 respectively, the storage data of the content addressable memory cell 500 is 1; when the search voltages SL_1~SL_4 are 0V, 0V, VS, 0V respectively, the search data is 1. The rest can be analogized.
[0136] "Single bit storage and range search" of the fifth embodiment
[0137] In the fifth embodiment of the present application, to achieve "single bit storage and range search", the threshold voltages of these flash memory cells T1-T4, and the setting of these search voltages SL_1-SL_4 can be shown as Table 5-2.
[0138] Table 5-2
[0139]
[0140]
[0141] Figure 5A The threshold voltage distribution diagram according to the fifth embodiment of the present application is also shown. In the fifth embodiment of the present application, when the search data matches the stored data, the content addressable memory cell 500 is not turned on to maintain the match line voltage; and when the search data does not match the stored data, the content addressable memory cell 500 is turned on to discharge the match line voltage.
[0142] Figure 5B The operation schematic diagram of "range storage and single bit search" according to the fifth embodiment of the present application is shown. The stored data of these content addressable memory cells are shown as Figure 5B In this example, the search data are 1, 2, 2. These search data are inputted to these content addressable memory cells through the word line.
[0143] Take the match line ML1 as an example. When the search data is 1 (the search voltages are 0V, 0V, VS, 0V respectively), the four threshold voltages of the first content addressable memory cell are 1101 (the range stored data of the content addressable memory cell is 1), so the four flash memory cells of the first content addressable memory cell are not turned on. When the search data is 2 (the search voltages are 0V, VS, 0V, 0V respectively), the four threshold voltages of the second content addressable memory cell are 1000 (the range stored data of the content addressable memory cell is 0-2), so the four flash memory cells of the second content addressable memory cell are not turned on. When the search data is 2 (the search voltages are 0V, VS, 0V, 0V respectively), the four threshold voltages of the third content addressable memory cell are 0011 (the range stored data of the content addressable memory cell is 2-3), so the four flash memory cells of the third content addressable memory cell are not turned on. Since all the content addressable memory cells on the match line ML1 are not turned on, the match line ML1 will not be discharged, and the match line ML1 can maintain at the reference voltage VM, the search result of the match line ML1 represents full match (no discharge current).
[0144] Similarly, on the match line ML2, when the search data is 1 (the search voltages are 0V, 0V, 0V, VS respectively), the four threshold voltages of the first content addressable memory cell are 0110 (the range stored data of the content addressable memory cell is 0-1), so the four flash memory cells of the first content addressable memory cell are not turned on. When the search data is 2 (the search voltages are 0V, 0V, VS, 0V respectively), the four threshold voltages of the second content addressable memory cell are 1010 (the range stored data of the content addressable memory cell is 0-2), so the four flash memory cells of the second content addressable memory cell are not turned on. When the search data is 2 (the search voltages are 0V, 0V, VS, 0V respectively), the four threshold voltages of the third content addressable memory cell are 1100 (the range stored data of the content addressable memory cell is 0-2), so the four flash memory cells of the third content addressable memory cell are not turned on. Since all the content addressable memory cells on the match line ML2 are not turned on, the match line ML2 will not be discharged, and the match line ML2 can maintain at the reference voltage VM, the search result of the match line ML2 represents full match (no discharge current). Figure 5BIn the process, two content-addressable memory (CDMA) cells on the match line ML2 will be turned on, thus discharging the match line ML2. That is, the search result for the match line ML2 represents a 2-bit mismatch. Similarly, one CDMA cell on the match line MLn will be turned on, thus discharging the match line MLn. That is, the search result for the match line MLn represents a 1-bit mismatch. The more bit mismatches (the more CDMA cells are turned on), the faster the discharge speed on the match line.
[0145] In the fifth embodiment, the matching result of the matching line can be determined by the degree of discharge of the matching line, which can be determined as a full match, a partial match, or a complete mismatch.
[0146] Sixth Embodiment
[0147] Figure 6A and Figure 6B This illustration shows an operational diagram of "range storage and single-bit search" according to an embodiment of the present invention. In the sixth embodiment of the present invention, "range storage and single-bit search" and "single-bit storage and range search" can be implemented by encoding these threshold voltages of these flash memory cells and encoding these search voltages. Figure 6A and Figure 6B The invention is illustrated by taking a content-addressable memory cell 600 comprising six flash memory cells as an example, but it should be understood that the invention is not limited thereto.
[0148] exist Figure 6A and Figure 6B In this context, the matching results can be used to find the Hamming distance (HD) between the search data and the stored data.
[0149] Figure 7 A flowchart illustrating a data search and comparison method for a CAM memory device according to an embodiment of the present invention is shown. Figure 7 As shown, the data search and comparison method includes: storing storage data in a plurality of content-addressable memory strings (710); performing a data search on these content-addressable memory strings with search data (720); generating a plurality of memory string currents in these content-addressable memory strings (730); and detecting the memory string currents or detecting a plurality of matching line voltages coupled to a plurality of matching lines of these content-addressable memory strings to generate a plurality of search results, wherein the search data and the storage data constitute a range of storage data and a single-bit search data, or the search data and the storage data constitute a single-bit storage data and a range of search data (740).
[0150] In the above embodiments of the present application, the CAM memory device can be a two-dimensional (2D) flash memory architecture or a three-dimensional (3D) flash memory architecture, both of which are within the spirit of the present application.
[0151] In an embodiment of the present application, when performing an in-memory approximate search, the data search and comparison can be completed in one read cycle. With the high storage density of the CAM memory device, the in-memory approximate search of the embodiments of the present application can be used in various fields, such as but not limited to, Big-data searching, AI hardware accelerator / classifier, Approximate Computing, Associative memory, SSD data management, DNA matching, Data filter, etc.
[0152] In summary, although the present application has been disclosed with the above embodiments, it is not intended to limit the present application. Those skilled in the art of the present application can make various modifications and improvements without departing from the spirit and scope of the present application. Therefore, the scope of protection of the present application shall be subject to the scope defined by the appended claims.
Claims
1. A content-addressable memory device, characterized in that, include: Multiple content-addressable memory strings; as well as An electrical characteristic detection circuit is coupled to these content-addressable memory strings; in, During a data search, a search result is compared to stored data in these content-addressable memory (CDMA) strings. These CDMA strings generate multiple memory string currents. The electrical characteristic detection circuit detects these memory string currents or multiple matching line voltages coupled to multiple matching lines of these CDMA strings to generate multiple search results. Wherein, the stored data and the search data are a range of stored data and a single-bit search data, or the stored data and the search data are a single-bit stored data and a range of search data; A content-addressable memory cell in the content-addressable memory string includes N1 memory cells, where N1 is a positive integer greater than or equal to 3. When the content-addressable memory cell is encoded to store M1 combinations of decimal data, the M1 memory cells of the memory cell are programmed to have a first threshold voltage, and the N1-M1 memory cells of the memory cell are programmed to have a second threshold voltage, where M1 is a positive integer, M1>1 and M1<N1. The search data is defined by N2 search voltages, where N2 is a positive integer greater than or equal to 3. When the search data is encoded for a combination of M2 decimal data, the M2 search voltages have a first search voltage, and the N2-M2 search voltages have a second search voltage, where M2 is a positive integer, M2≥1 and M2≤N2.
2. The content-addressable memory device according to claim 1, characterized in that, When the search data matches the stored data, the electrical characteristic detection circuit detects the current in the memory string; and When the search data does not match the stored data, the electrical characteristic detection circuit cannot detect the memory string current.
3. The content-addressable memory device according to claim 1, characterized in that, When the search data matches the stored data, the electrical characteristic detection circuit cannot detect the memory string current; and When the search data does not match the stored data, the electrical characteristic detection circuit detects the current in the memory string.
4. The content-addressable memory device according to claim 1, characterized in that, Based on these search results, the degree of match between the search data and the stored data is determined to be one of the following: full match, partial match, or no match.
5. The content-addressable memory device according to claim 4, characterized in that, When the search data fully matches the stored data, the electrical characteristic detection circuit detects a first memory string current; When the search data partially matches the stored data, the electrical characteristic detection circuit detects a second memory string current; and When the search data does not match any of the stored data, the electrical characteristic detection circuit detects a current in a third memory string. The first memory string current is higher than the second memory string current, and the second memory string current is higher than the third memory string current.
6. The content-addressable memory device according to claim 4, characterized in that, When the search data fully matches the stored data, the electrical characteristic detection circuit detects the current in the first memory string; When the search data partially matches the stored data, the electrical characteristic detection circuit detects the second memory string current; and When the search data does not match any of the stored data, the electrical characteristic detection circuit detects the current in the third memory string. The first memory string current is lower than the second memory string current, and the second memory string current is lower than the third memory string current.
7. The content-addressable memory device according to claim 4, characterized in that, Also includes: A pre-charge control circuit is coupled to these matching lines. Before the search begins, the pre-charge control circuit pre-charges these matching lines to a reference voltage; in, When the search data fully matches the stored data, the electrical characteristic detection circuit detects a first matching line voltage; When the search data partially matches the stored data, the electrical characteristic detection circuit detects a second matching line voltage; and When the search data does not match any of the stored data, the electrical characteristic detection circuit detects a third matching line voltage. The first matching line voltage is higher than the second matching line voltage, and the second matching line voltage is higher than the third matching line voltage.
8. A data search and comparison method for a content-addressable memory device, characterized in that, include: Store data in a string of multiple content-addressable memories; A search is performed on these content-addressable memory strings using a search data set. These contents can address memory strings to generate multiple memory string currents; Detecting the current in these memory strings or detecting multiple matching line voltages on multiple matching lines coupled to these content-addressable memory strings can generate multiple search results. Wherein, the stored data and the search data are a range of stored data and a single-bit search data, or the stored data and the search data are a single-bit stored data and a range of search data; A content-addressable memory cell in the content-addressable memory string includes N1 memory cells, where N1 is a positive integer greater than or equal to 3. When the content-addressable memory cell is encoded to store M1 combinations of decimal data, the M1 memory cells of the memory cell are programmed to have a first threshold voltage, and the N1-M1 memory cells of the memory cell are programmed to have a second threshold voltage, where M1 is a positive integer, M1>1 and M1<N1. The search data is defined by N2 search voltages, where N2 is a positive integer greater than or equal to 3. When the search data is encoded for a combination of M2 decimal data, the M2 search voltages have a first search voltage, and the N2-M2 search voltages have a second search voltage, where M2 is a positive integer, M2≥1 and M2≤N2.
9. The data search and comparison method for a content-addressable memory device according to claim 8, characterized in that, When the search data matches the stored data, the electrical characteristic detection circuit detects the current in the memory string; and When the search data does not match the stored data, the electrical characteristic detection circuit cannot detect the memory string current.
10. The data search and comparison method for a content-addressable memory device according to claim 8, characterized in that, When the search data matches the stored data, the electrical characteristic detection circuit cannot detect the current in the memory string; and When the search data does not match the stored data, the electrical characteristic detection circuit detects the current in the memory string.
11. The data search and comparison method for a content-addressable memory device according to claim 8, characterized in that, Based on these search results, the degree of match between the search data and the stored data is determined to be one of the following: full match, partial match, or no match.
12. The data search and comparison method for a content-addressable memory device according to claim 11, characterized in that, When the search data fully matches the stored data, the electrical characteristic detection circuit detects a first memory string current; When the search data partially matches the stored data, the electrical characteristic detection circuit detects a second memory string current; and When the search data does not match any of the stored data, the electrical characteristic detection circuit detects a current in a third memory string. The first memory string current is higher than the second memory string current, and the second memory string current is higher than the third memory string current.
13. The data search and comparison method for a content-addressable memory device according to claim 11, characterized in that, When the search data fully matches the stored data, the electrical characteristic detection circuit detects the current in the first memory string; When the search data partially matches the stored data, the electrical characteristic detection circuit detects the second memory string current; and When the search data does not match any of the stored data, the electrical characteristic detection circuit detects the current in the third memory string. The first memory string current is lower than the second memory string current, and the second memory string current is lower than the third memory string current.
14. The data search and comparison method for a content-addressable memory device according to claim 11, characterized in that, Before the search begins, these matching lines are precharged to a reference voltage; When the search data fully matches the stored data, a first matching line voltage is detected; When the search data partially matches the stored data, a second matching line voltage is detected; and When the search data does not match any of the stored data, a third matching line voltage is detected. The first matching line voltage is higher than the second matching line voltage, and the second matching line voltage is higher than the third matching line voltage.
15. A content-addressable memory cell, characterized in that, include: Multiple memory units, in, These memory cells are connected in series, and multiple search voltages representing search data are input to multiple control terminals of these memory cells; or These control terminals of the memory cells receive a selection voltage or a pass voltage, and these search voltages are input to multiple first terminals of the memory cells via multiple signal lines; or These memory cells have control terminals coupled to multiple word lines to receive search voltages, and these first terminals of these memory cells are further coupled to a matching line and a precharge control circuit. Multiple second terminals of these memory cells are coupled to ground. Wherein, the stored data of the content addressable memory cell and the search data are a range of stored data and a single bit of search data, or the stored data and the search data are a single bit of stored data and a range of search data; A content-addressable memory cell in the content-addressable memory string includes N1 memory cells, where N1 is a positive integer greater than or equal to 3. When the content-addressable memory cell is encoded to store M1 combinations of decimal data, the M1 memory cells of the memory cell are programmed to have a first threshold voltage, and the N1-M1 memory cells of the memory cell are programmed to have a second threshold voltage, where M1 is a positive integer, M1>1 and M1<N1. The search data is defined by N2 search voltages, where N2 is a positive integer greater than or equal to 3. When the search data is encoded for a combination of M2 decimal data, the M2 search voltages have a first search voltage, and the N2-M2 search voltages have a second search voltage, where M2 is a positive integer, M2≥1 and M2≤N2.
Citation Information
Patent Citations
Content addressable memory circuits with threshold switching memristors
US10896731B1