A CAM content addressing circuit and addressing method based on memristor in-memory computing
By adopting memristor-based in-memory computing technology in the CAM content addressing circuit, combining technologies such as PWM modulation and 1T1R memristor array, the shortcomings of traditional memory in high-speed data retrieval and processing are solved, and efficient and simple data retrieval and processing are achieved to meet the needs of large-scale storage and computing.
Patent Information
- Application Number
- CN202510019736.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-07
- Publication Date
- 2025-03-28
- Estimated Expiration
- 2045-01-07
AI Technical Summary
Traditional memory has shortcomings in high-speed data retrieval and processing, and cannot effectively meet the needs of big data and artificial intelligence applications.
In-memory computing technology based on memristors is adopted, combined with key technologies such as PWM modulation, multiplexer, 1T1R memristor array, SA array and Ref voltage lookup table, to realize efficient data retrieval and processing of CAM content addressing circuits.
The calculations in the storage unit are realized through conductance matching, which improves processing efficiency and data access speed, simplifies design, and adapts to large-scale storage and computing needs.
Smart Images

Figure CN119446212B_ABST
Abstract
Description
Technical Field
[0001] The invention relates to the technical field of memory, and provides a CAM content addressing circuit and an addressing method based on memristor in-memory calculation. Background Art
[0002] With the rapid development of computer technology, in the context of big data and artificial intelligence, the demand for data processing is growing, and the demand for data storage is increasing. Although traditional random access memory (RAM) performs well in data access speed and capacity, it is incapable of meeting the requirements in specific application scenarios, such as high-speed data retrieval and processing. In order to solve this problem, content-addressable memory (CAM) came into being. Traditional storage methods usually require address addressing, while CAM can directly find matching items in data storage through content addressing, which significantly improves the efficiency of data retrieval. This makes CAM an important technology in the fields of cache, network routers, database queries, etc.
[0003] There are several mainstream ways to implement existing content addressing technology, including static content addressable memory (StaticCAM, SCM), dynamic content addressable memory (Dynamic CAM, DCM), hybrid content addressable memory, etc. SCM uses static logic units (such as SRAM) to store data and implements content addressing through comparators. It has fast speed and strong data retention capability, but also high power consumption, especially in large-scale applications. DCM is based on dynamic storage units (such as DRAM) and requires periodic refresh when storing data. It has high storage density and low cost, but periodic refresh increases design complexity and its rate is slower than SCM. Hybrid content addressable memory combines the advantages of SCM and DCM, and better balances the operating speed and cost, but it makes the overall design more complex and power consumption difficult to control. Summary of the invention
[0004] The present invention aims to provide a CAM content addressing circuit based on memristor in-memory computing, aiming to solve the shortcomings of traditional memories in high-speed data retrieval and processing, and to achieve more efficient, simpler and highly integrated data retrieval and processing by combining key technologies such as PWM modulation, multiplexer, 1T1R memristor array, SA array and Ref voltage lookup table, so as to meet the needs of large-scale storage and computing.
[0005] In order to achieve the above purpose, the present invention adopts the following technical solutions:
[0006] The present invention provides a CAM content addressing circuit based on memristor in-memory calculation, comprising a PWM modulation unit, a multiplexer, a memristor array, a Ref voltage lookup table unit, an SA array, and an encoder;
[0007] The input signal of the PWM modulation unit is a 4-bit digital signal, and the output signal of the PWM modulation unit is used as the input of the multiplexer. The output port of the multiplexer is connected to the WL of the memristor array unit, WL represents the Word Line, and the BL of the memristor array is connected to the input port on one side of the SA array, BL represents the Bit Line. At the same time, the input of the Ref voltage lookup table unit is also a 4-bit digital signal, and the output port Out is connected to the input port on the other side of the SA array. The output port of the SA array unit is connected to the input port of the encoder.
[0008] In the above solution, the width of the pulse signal output by the PWM modulation unit is proportional to the size of the input 4-bit digital signal, and different input signal values correspond to different pulse widths.
[0009] In the above solution, the number of output ports of the multiplexer is N, where N is the number of rows of memristor array units, and the output ports of the multiplexer correspond one-to-one to the WL input ports of the memristor array.
[0010] In the above solution, the number of input ports of the SA array is M+2, where M is the number of columns of the memristor array, and the M input ports of the SA array correspond one-to-one to the BL output ports of the memristor array.
[0011] In the above solution, the SA array includes M units, each of which is composed of two voltage comparators and an AND gate.
[0012] In the above scheme, the Ref voltage lookup table unit looks up two output voltages, namely Vref1 and Vref2, according to the 4-bit digital signal input. Vref1 and Vref2 are sent to the two input ports corresponding to "2" in "M+2" of the SA array through two output ports.
[0013] In the above solution, all the units in each row of the memristor share the same WL; all the units in each column share a BL and a SL, where SL represents a Source Line.
[0014] In the above scheme, the memristor array unit is a 1T1R structure, each unit is composed of an RRAM and a transistor, in each unit, the transistor source is connected to SL; the transistor drain is connected to the upper electrode of the memristor, the lower electrode of the memristor is connected to BL; the gate of the transistor is connected to WL.
[0015] In the above solution, the conductance value of the RRAM is a preset value. The conductance value of each RRAM is between gmmin and gmmax, and there are 16 conductance values in total. The conductance values are matched one by one from small to large with the 0-15 sixteen inputs that can be represented by the 4-bit input signal. Among them, gmmin represents the minimum value of the memristor conductance value, and gmmax represents the maximum value of the memristor conductance value.
[0016] The present invention also provides a CAM content addressing method based on in-memory computing of memristors, including the following steps:
[0017] Input the 4-bit digital signal into the PWM modulation unit to convert it into a pulse width modulation signal;
[0018] According to the output signal of the PWM modulation unit, selectively activate specific memory rows in the memristor array through a multiplexer;
[0019] In the activated specific memory row, perform content addressing through the conductance matching of the memristor array;
[0020] Output the bit line voltage of the memristor array to the SA array and compare it with the reference voltage output by the Ref voltage lookup table unit;
[0021] According to the comparison result, output a matching signal through the SA array;
[0022] Input the output signal of the SA array into an encoder to encode it into address information.
[0023] Further, perform reference voltage lookup, bit line voltage matching, and output address encoding, specifically including the following steps:
[0024] Store 32 preset reference voltage values in the registers of the Ref voltage lookup table unit, divided into two groups, with 16 in each group;
[0025] Input the 4-bit input signal as an address into the lookup table;
[0026] Determine the lookup address according to the 4-bit input signal and output two reference voltages Vref1 and Vref2 corresponding to this address;
[0027] Output the bit line voltage VBL of each column of the 1T1R memristor array to the corresponding SA array;
[0028] Input the two reference voltages output by the lookup table into the two voltage comparators of the SA array;
[0029] According to the result of the voltage comparator, if Vref1 < VBL < Vref2, the AND gate of the SA array outputs a high level;
[0030] All SA arrays output high or low levels according to the voltage comparison results;
[0031] The outputs of all SA arrays are used as parallel inputs of the encoder;
[0032] The encoder encodes the high and low levels of the parallel input and outputs the address code;
[0033] The content addressing operation is completed, and the output address is the encoding result.
[0034] Because the present invention adopts the above technical means, it has the following beneficial effects:
[0035] (1) The present invention combines computation with storage by utilizing the conductivity characteristics of memristors. Through conductivity matching, the circuit can perform computation directly in the storage unit without transmitting data to an external processing unit, thereby improving processing efficiency.
[0036] (2) The present invention realizes the function of content addressing by comparing the input signal with the conductance of the memristor. Without address lines, the circuit can directly search according to the data content, which improves the data access speed.
[0037] (3) The use of PWM modulation in the present invention allows the input signal to flexibly control the duty cycle of the output signal, thereby accurately selecting and activating the storage unit. This modulation method enhances the controllability and adaptability of the circuit. BRIEF DESCRIPTION OF THE DRAWINGS
[0038] Figure 1 A theoretical schematic diagram of a CAM circuit based on memristor memory calculation of the present invention;
[0039] Figure 2 A theoretical schematic diagram of the 1T1R memristor array portion of the present invention;
[0040] Figure 3 A theoretical schematic diagram of the Ref voltage lookup table portion of the present invention;
[0041] Figure 4 A theoretical schematic diagram of an SA array in the SA array part of the present invention;
[0042] Figure 5 A schematic diagram of an intermediate signal waveform and an output waveform corresponding to an input signal waveform of the present invention. DETAILED DESCRIPTION
[0043] The following is a detailed description of the embodiments of the present invention. Although the present invention will be described and illustrated in conjunction with some specific embodiments, it should be noted that the present invention is not limited to these embodiments. On the contrary, modifications or equivalent substitutions made to the present invention should all be included in the scope of the claims of the present invention.
[0044] In addition, in order to better illustrate the present invention, numerous specific details are given in the following specific embodiments. It will be understood by those skilled in the art that the present invention can also be implemented without these specific details.
[0045] The present invention provides a CAM content addressing circuit based on memristor in-memory computing, comprising:
[0046] PWM modulation unit: The input is a 4-bit digital signal, and the output is a pulse width modulation signal. The pulse signal width is proportional to the input signal size, and the frequency is a fixed frequency;
[0047] Multiplexer: The number of output ports is N, where N is the number of rows of the 1T1R RRAM array, and the output ports are connected to the Word Lines of the 1T1RRRAM array;
[0048] 1T1R memristor array: It is composed of multiple 1T1R memristor units, each unit consists of an RRAM and a transistor. The conductance value of the RRAM is preset to 16 different values between gmmin and gmmax, which correspond to the 16 inputs 0-15 that can be represented by the 4-bit input signal. The top electrode of the RRAM is connected to the bit line, the bottom electrode is connected to the drain of the transistor, the source of the transistor is connected to the Source Line, and the gate of the transistor is connected to the Word Line.
[0049] Ref voltage lookup table unit: input is 4-bit digital signal, output is two reference voltages Vref1 and Vref2;
[0050] SA array: contains M units, each unit consists of two voltage comparators and an AND gate. M is the number of columns of the 1T1R RRAM array. The M input ports of each unit correspond one-to-one to the Bit Line of the 1T1R RRAM array. The input ends of the two voltage comparators are connected to VBL and Vref1, Vref2 respectively.
[0051] Encoder: Encode the output of the SA array and output the content-addressed address.
[0052] In order to facilitate those skilled in the art to better understand the technical concept of the present invention, the following further explanation is made:
[0053] 1. Input signal modulation and output to 1T1R memristor array
[0054] As attached Figure 1 As shown in the figure, the 4-bit input signal is first input into the PWM modulation part. The DAC (digital-to-analog converter) in the PWM modulator converts the digital signal into a corresponding analog voltage signal to ensure that it represents a continuous voltage value. At this time, a fixed-frequency triangle wave signal is generated in the PWM modulator as the reference signal of the PWM modulator, and the converted analog voltage is compared with the reference waveform. In each clock cycle, the PWM modulator compares the input analog voltage with the current value of the reference waveform. If the input analog voltage is higher than the current value of the reference waveform, a high level is output; if it is lower, a low level is output. Depending on the amplitude of the input voltage, the duty cycle of the PWM output signal will change accordingly. When the multiplexer receives the output signal of the PWM modulator, it will use the state of the signal to determine which output signal is pulled high, and this pulled-up output signal will activate a row of word lines in the 1T1R memristor array.
[0055] 2. 1T1R memristor array conductance preset and in-memory computing operation
[0056] As a common memristor array structure, 1T1R memristor array has been applied to many RRAM memories and RRAM storage and computing integrated designs, such as the attached Figure 2 As shown. In this array structure, the top electrode of the RRAM cell is connected to the bit line, the bottom electrode is connected to the drain of an N-type MOS tube, the gate of the MOS tube is connected to the word line, and the source is connected to a new line, the source line, and then such cells are arrayed. In this 1T1R array, the switch of the array cell is controlled by the gate of the transistor, that is, the word line. Before any operation is performed on the cell, the voltage of the word line must be adjusted to be higher than the source line by a transistor threshold voltage to ensure that the transistor is turned on. In the RRAM array, when setting, the bit line end is set to a high voltage and the source line end is grounded. Conversely, in the reset phase, the source line is set to a high voltage and the bit line end is grounded. In storage and computing applications, the 1T1R memristor array can provide data expansion or share other data traffic in the analog domain, thereby obtaining higher data density and lower power consumption. Before performing content addressing operations, the required conductivity data needs to be stored in each RRAM in the memristor array in advance. The conductivity state of the memristor is modified by the flow of current and the applied voltage. Different voltages and time lengths will cause phase changes or ion migration in the memristor material, thereby changing its conductivity to achieve the purpose of storing data. When the conductivity is preset, a voltage is first applied to the word line to turn on the transistor, and then different voltages are applied to the bit line connected to the corresponding memristor unit according to different storage values to cause different degrees of ion migration, so that the conductivity value of each memristor unit reaches the preset situation.
[0057] During content addressing, the output signal of the multiplexer is fed into the 1T1R memristor array. In this process, the word line of a specific row is pulled high to form a reference signal. Since the conductance values of each memristor cell are pre-stored during the previous write process and these values are different, the voltage signal on the word line affects the current of each memristor cell, resulting in different current values flowing through each cell. These differentiated current signals ultimately generate different voltage signals (VBL) on the bit lines connected to each memristor cell. Specifically, a larger current flows through the memristor cell with a higher conductance value, resulting in a higher voltage on the bit line; while a lower conductance value leads to a lower voltage. Then these bit line voltages will be output to the SA array for further operations.
[0058] 3. Reference Voltage Lookup, Bit Line Voltage Matching and Output Address Encoding
[0059] As shown in Figure 3 the Ref voltage lookup table unit structure in the example, 32 voltage values (16 for reference voltage 1 and 16 for reference voltage 2) are preset and stored as constants in the registers of the Ref voltage lookup table unit. The 4-bit input signal is input into the lookup table as an address. For example, if the 4-bit input signal is 0110, the lookup address is 6, and the reference voltage 1 (Vref1) and reference voltage 2 (Vref2) at address 6 are output as the two reference voltages of the lookup table to the units of the SA array.
[0060] The bit line voltage output of each column of the 1T1R memristor array mentioned in the previous part will be input as VBL into the corresponding SA array, and the two reference voltages output by the Ref voltage lookup table will also be input into the two voltage comparators of the SA array as shown in the Figure 3 attachment. If Vref1 < VBL < Vref2, the output of the AND gate of this SA array is high level. The other SA arrays will also output high level or low level according to the results of the voltage comparators.
[0061] Then the outputs of all SA arrays are used as the parallel inputs of the encoder. The encoder encodes these input high and low levels. For example, if the input of the encoder is 10110010, the encoding is 178, indicating that the address obtained by the content addressing operation is 178, and this content addressing operation is completed.
[0062] In short, the present invention proposes a content addressing circuit based on memristor in-memory calculation, which systematically combines key components such as PWM modulation, multiplexer, 1T1R memristor array, signal amplifier (SA) array and reference voltage lookup table. This circuit design shows high efficiency and flexibility in content addressing operation, and can accurately access data through 4-bit input signals. First, the input signal is converted into a corresponding analog voltage signal through the PWM modulation part, and a specific word line is selectively activated by the multiplexer. Then, the conductance value of the 1T1R memristor array is stored in a preset stage and is ready for matching. In the content addressing operation, the high word line signal generates different bit line voltages by affecting the current of each memristor, and finally these voltage signals are input to the SA array for comparison. Finally, the reference voltage provided by the reference voltage lookup table is matched with the bit line voltage. If the conditions are met, the corresponding SA array outputs a high level, and the outputs of all SA arrays are encoded by the encoder, and finally the content addressing address is generated. This process not only simplifies the complexity of data access, but also improves the search speed and storage density, and has a wide range of application prospects.
Claims
1. A CAM content addressing circuit based on memristor in-memory computing, characterized in that: include: PWM modulation unit, multiplexer, memristor array, Ref voltage lookup table unit, SA array, encoder; The input signal of the PWM modulation unit is a 4-bit digital signal, and the output signal of the PWM modulation unit is used as the input of the multiplexer. The output port of the multiplexer is connected to the WL of the memristor array unit, WL represents the Word Line, and the BL of the memristor array is connected to the input port on one side of the SA array, BL represents the Bit Line. At the same time, the input of the Ref voltage lookup table unit is also a 4-bit digital signal, and the output port Out is connected to the input port on the other side of the SA array. The output port of the SA array unit is connected to the input port of the encoder.
2. A CAM content addressing circuit based on memristor in-memory computing according to claim 1, characterized in that: The pulse signal width output by the PWM modulation unit is proportional to the size of the input 4-bit digital signal, and different input signal values correspond to different pulse widths.
3. A CAM content addressing circuit based on memristor in-memory computing according to claim 1, characterized in that: The number of output ports of the multiplexer is N, where N is the number of rows of memristor array units, and the output ports of the multiplexer correspond one-to-one to the WL input ports of the memristor array.
4. The CAM content addressing circuit based on memristor in-memory computing according to claim 1, characterized in that: The number of input ports of the SA array is M+2, where M is the number of columns of the memristor array, and the M input ports of the SA array correspond one-to-one to the BL output ports of the memristor array.
5. The CAM content addressing circuit based on memristor in-memory computing according to claim 1, characterized in that: The SA array includes M units, each of which is composed of two voltage comparators and an AND gate.
6. The CAM content addressing circuit based on memristor in-memory computing according to claim 4, characterized in that: The Ref voltage lookup table unit looks up two output voltages, Vref1 and Vref2, according to the 4-bit digital signal input. Vref1 and Vref2 are sent to two input ports corresponding to "2" in "M+2" of the SA array through two output ports.
7. The CAM content addressing circuit based on memristor in-memory computing according to claim 1, characterized in that: All the cells in each row of the memristor share the same WL; all the cells in each column share a BL and a SL, where SL represents a Source Line; The memristor array unit is a 1T1R structure, each unit is composed of an RRAM and a transistor, and in each unit, the transistor source is connected to the SL; The drain of the transistor is connected to the upper electrode of the memristor, and the lower electrode of the memristor is connected to BL; The gate of the transistor is connected to WL.
8. The CAM content addressing circuit based on memristor in-memory computing according to claim 7, characterized in that: The conductivity value of the RRAM is a preset value. Each conductivity value of the RRAM is between gmmin and gmmax. There are 16 conductivity values in total. The conductivity values match the 16 inputs 0-15 that can be represented by the 4-bit input signal from small to large. gmmin represents the minimum value of the conductivity value of the memristor, and gmmax represents the maximum value of the conductivity value of the memristor.
9. A CAM content addressing method based on memristor in-memory computing, characterized in that: Using the CAM circuit as described in any one of claims 1 to 8, the CAM content addressing method comprises the following steps: The input 4-bit digital signal is input to the PWM modulation unit and converted into a pulse width modulation signal; According to the output signal of the PWM modulation unit, a specific storage row in the memristor array is selectively activated through a multiplexer; Content addressing is performed by conductance matching of the memristor array in a specific activated memory row; Outputting the bit line voltage of the memristor array to the SA array and comparing it with the reference voltage output by the Ref voltage lookup table unit; According to the comparison result, a matching signal is output through the SA array; The output signal of the SA array is input to the encoder and encoded into address information.
10. A CAM content addressing method based on memristor in-memory computing according to claim 9, characterized in that: The reference voltage search, bit line voltage matching and output address coding are performed, specifically including the following steps: 32 preset reference voltage values are stored in the register of the Ref voltage lookup table unit, divided into two groups, each with 16 values; Enter the 4-bit input signal as the address into the lookup table; Determine the search address according to the 4-bit input signal, and output two reference voltages Vref1 and Vref2 corresponding to the address; Input the bit line voltage VBL output of each column of the 1T1R memristor array to the corresponding SA array; The two reference voltages output from the lookup table are input into two voltage comparators of the SA array; According to the voltage comparator result, if Vref1 < VBL < Vref2, the AND gate of the SA array outputs a high level; All SA arrays output high or low levels according to the voltage comparison results; The outputs of all SA arrays are used as parallel inputs of the encoder; The encoder encodes the high and low levels of the parallel input and outputs the address code; The content addressing operation is completed, and the output address is the encoding result.
Citation Information
Patent Citations
Physical unclonable function circuit structure based on resistive random access memory
CN111581675A
Resistive content addressable memory based in-memory computation architecture
US20180137916A1