CN112992258A - Signal processing circuit and memory including on-chip ECC - Google Patents

Signal processing circuit and memory including on-chip ECC Download PDF

Info

Publication number
CN112992258A
CN112992258A CN202110402430.6A CN202110402430A CN112992258A CN 112992258 A CN112992258 A CN 112992258A CN 202110402430 A CN202110402430 A CN 202110402430A CN 112992258 A CN112992258 A CN 112992258A
Authority
CN
China
Prior art keywords
data line
control signal
data
module
global
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110402430.6A
Other languages
Chinese (zh)
Other versions
CN112992258B (en
Inventor
何军
孙豳
应战
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changxin Memory Technologies Inc
Original Assignee
Changxin Memory Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Changxin Memory Technologies Inc filed Critical Changxin Memory Technologies Inc
Priority to CN202110402430.6A priority Critical patent/CN112992258B/en
Publication of CN112992258A publication Critical patent/CN112992258A/en
Application granted granted Critical
Publication of CN112992258B publication Critical patent/CN112992258B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4078Safety or protection circuits, e.g. for preventing inadvertent or unauthorised reading or writing; Status cells; Test cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The embodiment of the application provides a signal processing circuit and a memory for on-chip ECC, and a data transmission line comprises: the encoding module is used for generating an ECC (error correction code) which is used for correcting errors generated in the storage process of the original data; the judging module is used for outputting a first control signal; the statistical module is used for outputting a second control signal; the data buffer module is used for transmitting data to be written to the global data line or transmitting the data to be written to the global data line after the data to be written is turned over according to the first control signal; the write-in module controls the data in the global data line to be transmitted to the local data line, and judges whether data inversion is carried out in the process of transmitting the data in the global data line to the local data line or not based on a third control signal; the array area read-write control unit is used for storing the original data, the ECC check code and the second control signal into the storage unit; the present application aims to reduce the low power consumption of a data transmission line and improve the reliability of data storage, and the like.

Description

Signal processing circuit and memory including on-chip ECC
Technical Field
The present disclosure relates to the field of semiconductor circuit design, and more particularly, to a signal processing circuit and a memory including an on-chip ECC.
Background
Dynamic Random Access Memory (DRAM) is widely used in modern electronic systems due to its high storage density and high transmission speed. With the development of semiconductor technology, the DRAM technology is more and more advanced, and the integration level of the memory cell is higher and higher; meanwhile, performance, power consumption, reliability and the like of the DRAM are also increasingly required by various applications.
However, the existing memory data transmission line with on-chip Error correction (on-chip ECC) still has room for improvement in power consumption and reliability, and there is a need to design an ECC memory capable of reducing data transmission power consumption and improving storage reliability, so as to further improve the comprehensive performance of the existing ECC memory to meet the requirements of various application scenarios.
Disclosure of Invention
The embodiment of the application provides a signal processing circuit and a memory for on-chip ECC (error correction code) so as to reduce the low power consumption of a data transmission line and improve the reliability of data storage and the like.
To solve the above technical problem, an embodiment of the present application provides a signal processing circuit including an on-chip ECC, for writing data into a memory cell and reading data from the memory cell, including: the coding module is connected with the external data line and used for generating an ECC (error correction code) according to the original data transmitted in the external data line, and the ECC is used for correcting errors generated in the storage process of the original data; the original data and the ECC check code form data to be written; the judging module is connected with the coding module and the global data line and used for outputting a first control signal for representing whether the difference digit of the data to be written and the data currently transmitted by the global data line exceeds a first preset value; the statistical module is connected with the coding module and used for outputting a second control signal, and the second control signal is used for representing whether the bit number occupied by high-level data in the data to be written exceeds a second preset value or not; the second control signal is stored in the memory cell as flag bit data to read out the second control signal in the process of reading out data; the data buffer module, the coding module and the judgment module are used for transmitting the data to be written to the global data line or transmitting the data to be written to the global data line after the data to be written is turned over according to the first control signal; the write-in module is connected between the local data line and the global data line, controls data in the global data line to be transmitted to the local data line, and judges whether data inversion is carried out in the process of transmitting the data in the global data line to the local data line or not based on a third control signal, wherein the third control signal is used for representing whether the value of the first control signal is the same as the value of the second control signal or not; and the array area read-write control unit is connected with the local data line and is used for storing the original data, the ECC check code and the second control signal into the storage unit.
Compared with the prior art, the first control signal is obtained by comparing the data difference between the external data line and the global data line, and whether the first data inversion is carried out is judged, so that the inversion of the transmission data line is reduced in the data transmission process, and the power consumption of data transmission is saved; acquiring a second control signal by comparing the quantity of low-level data and high-level data in the external data line, and acquiring a third control signal by the first control signal and the second control signal to judge whether the global data line is transmitted to the local data line to perform second data inversion or not so as to ensure the reliability of data storage and reading; judging whether the third overturning is needed during reading by acquiring a second control signal so as to ensure that the read data is the data originally written into the memory; meanwhile, because the on-chip ECC is used, data errors possibly caused by inversion in the writing process of data can be repaired, and the reliability of data storage is ensured.
In addition, the array area read-write control unit is also used for reading the original data, the ECC check code and the second control signal in the storage unit to the local data line in the read operation.
In addition, the signal processing circuit including on-chip ECC further includes: the error detection module is used for judging whether the original data has errors during the storage period according to the ECC check code and/or correcting the error-generated original data; the reading module is used for controlling whether the original data and the ECC check code of the local data line need to be turned over or not when the original data and the ECC check code are transmitted backwards according to the read second control signal; if the number of the bits occupied by the high-level data exceeds a second preset value, the reading module is configured to flip the original data and the ECC check code and finally transmit the original data and the ECC check code to the error detection module; and if the number of the bits occupied by the high-level data does not exceed a second preset value, the reading module is configured to finally transmit the original data and the ECC check code to the error detection module.
In addition, the judging module includes: the detection unit is connected with the coding module and the global data line, detects the data to be written and the data transmitted by the global data line bit by bit, generates a first sub-control signal if the data to be written in the current bit is different from the data transmitted by the global data line of the current bit, and generates a second sub-control signal if the data to be written in the current bit is the same as the data transmitted by the global data line of the current bit; and the acquisition unit is connected with the detection unit and used for acquiring the first sub-control signals and the second sub-control signals, and if the number of the first sub-control signals exceeds a first preset value, the first control signals are generated, wherein the first preset value is a preset percentage of the sum of the number of the first sub-control signals and the number of the second sub-control signals. The first control signal is obtained by comparing the data difference between the external data line and the global data line, and whether the first data turnover is carried out is judged so as to avoid the turnover of the transmission data line in the data transmission process and save the power consumption of data transmission.
In addition, the preset percentage is 50%.
In addition, the second preset value is 50% of the number of bits of data transmitted by the external data line.
In addition, a data buffering module comprising: the conversion module is used for controlling whether the corrected data needs to be turned over when being transmitted to the global data line or not according to the first control signal; if the difference digit exceeds a first preset value, the conversion module is configured to transmit the corrected data to a global data line after being turned over; if the difference digit does not exceed the first preset value, the conversion module is configured to transmit the corrected data to the global data line.
In addition, the conversion module includes: one end of the third transmission element is connected with the coding module through the phase inverter, and the other end of the third transmission element is connected with the global data line; one end of the fourth transmission element is connected with the coding module, and the other end of the fourth transmission element is connected with the global data line; the third transmission element and the fourth transmission element are also used for receiving a first control signal and selecting to conduct the third transmission element or the fourth transmission element according to the first control signal.
In addition, the local data line includes a first local data line and a second local data line that are differential data transmission lines; the data in the global data line is turned over in the process of transmitting the data to the local data line, and the data turning method comprises the following steps: the write module is configured to transmit the data in the global data line to the first local data line after being inverted, and/or the write module is configured to transmit the data in the global data line to the second local data line. The first local data line and the second local data line for transmitting differential data are arranged, so that the stability of data inversion between the local data lines and the global data lines is ensured.
Additionally, a write module comprising: and the enabling control module is used for receiving the first control signal and the second control signal and outputting a third control signal for representing whether the first control signal and the second control signal are the same or not.
In addition, the enable control module is further configured to receive a write enable signal, and output a third control signal indicating whether the first control signal and the second control signal are the same if the write enable signal is at an active level.
In addition, the enable control module is further configured to receive the first control signal, the second control signal, and an inverted signal of the write enable signal, and generate a fourth control signal if the write enable signal is at an active level, where the third control signal and the fourth control signal are inverted signals.
Additionally, a write module comprising: the first conversion circuit comprises a first MOS tube, a second MOS tube and a third MOS tube; the grid electrode of the first MOS tube receives a third control signal, the source electrode of the first MOS tube is connected with the global data line, and the drain electrode of the first MOS tube is connected with the first local data line; the grid electrode of the second MOS tube is connected with the global data line, the drain electrode of the second MOS tube is connected with the second local data line, and the source electrode of the second MOS tube is connected with the drain electrode of the third MOS tube; the grid electrode of the third MOS tube receives the third control signal, and the source electrode of the third MOS tube is grounded.
In addition, the write module further includes: the second conversion circuit comprises a fourth MOS tube, a fifth MOS tube and a sixth MOS tube; a grid electrode of the fourth MOS tube receives a fourth control signal, a source electrode of the fourth MOS tube is connected with the global data line, a drain electrode of the fourth MOS tube is connected with the second local data line, and the third control signal and the fourth control signal are mutually opposite-phase signals; the grid electrode of the fifth MOS tube is connected with the global data line, the drain electrode of the fifth MOS tube is connected with the first local data line, and the source electrode of the fifth MOS tube is connected with the drain electrode of the sixth MOS tube; and the grid electrode of the sixth MOS tube receives the fourth control signal, and the source electrode of the sixth MOS tube is grounded.
In addition, the global data lines comprise a first global data line and a second global data line which are differential data transmission lines; the write module includes: a first write circuit and a second write circuit; the first write circuit is configured to control data in the first global data line to be transmitted to the first local data line or data in the second global data line to be transmitted to the first local data line; the second write circuit is configured to control data in the first global data line to be transmitted to the second local data line or to transmit data in the second global data line to the second local data line. The stability of data inversion between the first local data line and the second local data line and between the first global data line and the second global data line is ensured by arranging the first global data line and the second global data line for transmitting differential data.
In addition, the first write circuit includes: the MOS transistor comprises a first MOS transistor and a second MOS transistor; the grid electrode of the first MOS tube receives a third control signal, the source electrode of the first MOS tube is connected with the first global data line, and the drain electrode of the first MOS tube is connected with the first local data line; a grid electrode of the second MOS tube receives a fourth control signal, a source electrode of the second MOS tube is connected with the second global data line, and a drain electrode of the second MOS tube is connected with the first local data line; the third control signal and the fourth control signal are inverse signals.
In addition, the second write circuit includes: a third MOS transistor and a fourth MOS transistor; a grid electrode of the third MOS tube receives a fourth control signal, a source electrode of the third MOS tube is connected with the first global data line, a drain electrode of the third MOS tube is connected with the second local data line, and the third control signal and the fourth control signal are mutually opposite-phase signals; the grid electrode of the fourth MOS tube receives a third control signal, the source electrode of the fourth MOS tube is connected with the second global data line, and the drain electrode of the fourth MOS tube is connected with the second local data line.
In addition, the reading module is connected between the local data line and the global data line and used for controlling data transmission between the local data line and the global data line according to a second control signal, and if the number of bits occupied by the high-level data exceeds a second preset value, the reading module is configured to transmit the opposite value of the data in the local data line to the global data line; and if the number of the bits occupied by the high-level data does not exceed a second preset value, the reading module is configured to transmit the data in the local data line to the global data line.
In addition, the local data line includes a first local data line and a second local data line that are differential data transmission lines; the data in the local data line is transmitted to the global data line after being overturned, and the method comprises the following steps: the sense module is configured to transfer an opposite value of the data in the first local data line to the global data line, and/or the sense module is configured to transfer the data in the second local data line to the global data line. The first local data line and the second local data line for transmitting differential data are arranged, so that the stability of data inversion between the local data lines and the global data lines is ensured.
In addition, the readout module includes: a seventh MOS tube, an eighth MOS tube, a ninth MOS tube, a tenth MOS tube and an eleventh MOS tube; the grid electrode of the seventh MOS transistor is connected with the first local data line, the drain electrode of the seventh MOS transistor is connected with the global data line, and the source electrode of the seventh MOS transistor is connected with the drain electrode of the ninth MOS transistor; the grid electrode of the eighth MOS transistor is connected with the second local data line, the drain electrode of the eighth MOS transistor is connected with the global data line, and the source electrode of the eighth MOS transistor is connected with the drain electrode of the tenth MOS transistor; a grid electrode of the ninth MOS tube receives the second control signal, and a source electrode of the ninth MOS tube is connected with a drain electrode of the eleventh MOS tube; a grid electrode of the tenth MOS tube receives a fifth control signal, a source electrode of the tenth MOS tube is connected with a drain electrode of the eleventh MOS tube, and the second control signal and the fifth control signal are mutually opposite-phase signals; the gate of the eleventh MOS transistor receives the read enable signal, and the source is grounded.
In addition, the reading module is connected with the global data line and the error detection module and used for controlling data transmission between the global data line and the error detection module according to a second control signal, and if the bit number occupied by the high-level data exceeds a second preset value, the reading module is configured to transmit the data in the global data line to the error detection module after being overturned; and if the number of the bits occupied by the high-level data does not exceed a second preset value, the reading module is configured to transmit the data in the global data line to the error detection module.
In addition, the readout module includes: one end of the first transmission element is connected with the global data line through the phase inverter, and the other end of the first transmission element is connected with the error detection module; one end of the second transmission element is connected with the global data line, and the other end of the second transmission element is connected with the error detection module; the first transmission element and the second transmission element are also used for receiving a second control signal and conducting the first transmission element or the second transmission element according to the second control signal.
An embodiment of the present application further provides a memory, including the above on-chip ECC-containing signal processing circuit, further including: and the storage unit is connected with a local data line, and the local data line is used for writing data into the storage unit and reading data out of the storage unit.
Compared with the prior art, the first control signal is obtained by comparing the data difference between the external data line and the global data line, and whether the first data inversion is carried out is judged, so that the inversion of the transmission data line is reduced in the data transmission process, and the power consumption of data transmission is saved; acquiring a second control signal by comparing the quantity of low-level data and high-level data in the external data line, and acquiring a third control signal by the first control signal and the second control signal to judge whether the global data line is transmitted to the local data line to perform second data inversion or not so as to ensure the reliability of data storage and reading; judging whether the third overturning is needed during reading by acquiring a second control signal so as to ensure that the read data is the data originally written into the memory; meanwhile, because the on-chip ECC is used, data errors possibly caused by inversion in the writing process of data can be repaired, and the reliability of data storage is ensured.
Drawings
FIG. 1 is a schematic diagram of a signal processing circuit with on-chip ECC according to an embodiment of the present invention;
fig. 2 is a schematic structural diagram of a determining module according to an embodiment of the present invention;
fig. 3 is a circuit diagram of a conversion module according to an embodiment of the invention;
FIG. 4 is a circuit diagram of an enable control module according to an embodiment of the present invention;
fig. 5 is a circuit diagram of a first conversion circuit according to an embodiment of the invention;
fig. 6 is a circuit diagram of a second conversion circuit according to an embodiment of the invention;
FIG. 7 is a circuit diagram of a read module of FIG. 1 according to an embodiment of the present invention;
FIG. 8 is a block diagram of a signal processing circuit with on-chip ECC according to an embodiment of the present invention;
FIG. 9 is a circuit diagram of a read block of FIG. 8 according to an embodiment of the present invention;
FIG. 10 is a circuit diagram of a first write circuit according to another embodiment of the present invention;
FIG. 11 is a circuit diagram of a second write circuit according to another embodiment of the present invention;
FIG. 12 is a block diagram of a signal processing circuit with on-chip ECC according to another embodiment of the present invention;
FIG. 13 is a circuit diagram of a read block of FIG. 12 according to another embodiment of the present invention;
FIG. 14 is a block diagram of a signal processing circuit with on-chip ECC according to another embodiment of the present invention;
FIG. 15 is a circuit diagram of a read block of FIG. 14 according to another embodiment of the present invention;
fig. 16 and 17 are schematic structural diagrams of a memory according to still another embodiment of the invention.
Detailed Description
With the progress of technology, the integration level of the storage unit in the memory is higher and higher, the length of the data transmission line in the storage unit array is larger and larger, and the power consumption is higher and higher in the process of writing data into the storage unit of the memory and reading data; in addition, applicants have found that DRAM (Dynamic Random Access Memory) has a lower ability to sense high levels than to sense low levels; meanwhile, storing high level data into memory cells of a DRAM is more serious than storing low level data.
To solve the above problem, an embodiment of the present application provides a signal processing circuit including an on-chip ECC, for writing data into a memory cell and reading data from the memory cell, including: the coding module is connected with the external data line and used for generating an ECC (error correction code) according to the original data transmitted in the external data line, and the ECC is used for correcting errors generated in the storage process of the original data; the original data and the ECC check code form data to be written; the judging module is connected with the coding module and the global data line and used for outputting a first control signal for representing whether the difference digit of the data to be written and the data currently transmitted by the global data line exceeds a first preset value; the statistical module is connected with the coding module and used for outputting a second control signal, and the second control signal is used for representing whether the bit number occupied by high-level data in the data to be written exceeds a second preset value or not; the second control signal is stored in the memory cell as flag bit data to read out the second control signal in the process of reading out data; the data buffer module, the coding module and the judgment module are used for transmitting the data to be written to the global data line or transmitting the data to be written to the global data line after the data to be written is turned over according to the first control signal; the write-in module is connected between the local data line and the global data line, controls data in the global data line to be transmitted to the local data line, and judges whether data inversion is carried out in the process of transmitting the data in the global data line to the local data line or not based on a third control signal, wherein the third control signal is used for representing whether the value of the first control signal is the same as the value of the second control signal or not; and the array area read-write control unit is connected with the local data line and is used for storing the original data, the ECC check code and the second control signal into the storage unit.
To make the objects, technical solutions and advantages of the embodiments of the present application clearer, the embodiments of the present application will be described in detail below with reference to the accompanying drawings. However, it will be appreciated by those of ordinary skill in the art that in the examples of the present application, numerous technical details are set forth in order to provide a better understanding of the present application. However, the technical solution claimed in the present application can be implemented without these technical details and various changes and modifications based on the following embodiments. The following embodiments are divided for convenience of description, and should not constitute any limitation to the specific implementation manner of the present application, and the embodiments may be combined with each other and cited as reference to each other without contradiction.
Fig. 1 is a schematic structural diagram of a signal processing circuit including on-chip ECC provided in this embodiment, fig. 2 is a schematic structural diagram of a determination module provided in this embodiment, fig. 3 is a schematic circuit diagram of a conversion module provided in this embodiment, fig. 4 is a schematic circuit diagram of an enable control module provided in this embodiment, fig. 5 is a schematic circuit diagram of a first conversion circuit provided in this embodiment, fig. 6 is a schematic circuit diagram of a second conversion circuit provided in this embodiment, fig. 7 is a schematic circuit diagram corresponding to a read module in fig. 1 provided in this embodiment, fig. 8 is a schematic structural diagram of a signal processing circuit including on-chip ECC provided in this embodiment, and fig. 9 is a schematic circuit diagram corresponding to a read module in fig. 8 provided in this embodiment; the signal processing circuit including on-chip ECC provided in this embodiment is described in further detail below with reference to the accompanying drawings.
Referring to fig. 1, a signal processing circuit 100 with on-chip ECC for writing data to and reading data from memory cells includes:
the encoding module 105 is connected to the external data line DataBus and is used for generating an ECC check code according to original data transmitted in the external data line DataBus, the ECC check code is used for correcting errors occurring in the original data in the storage process, and the original data and the ECC check code form data to be written.
In this embodiment, the encoding module 105 is specifically an on-chip error detection and correction module (on die ECC), and the on die ECC is used for error detection and correction when data is stored in a memory or a processor.
Specifically, taking the memory as an example, when the memory stores the original data, the memory encodes the original data to obtain the ECC check code corresponding to the original data, and stores the ECC check code into the storage unit during the process of storing the original data into the storage unit. When the memory reads the data stored in the storage unit, the original data and the ECC check code are read from the storage unit, the accuracy of the original data read from the storage unit is ensured through the ECC check code, and when the memory outputs the read original data, the ECC check code is abandoned, and only the corrected original data is read.
Note that, the external data line DataBus mentioned in this embodiment is only for distinguishing a transmission line different from the global data line YIO, and the "external" in the external data line DataBus is external to the global data line YIO and the memory cell array, and is not a data line external to the chip.
The determining module 111 is connected to the encoding module 105 and the global data line YIO, and configured to output a first control signal indicating whether a difference bit number between the data to be written and the data currently transmitted by the global data line YIO exceeds a first preset value.
Specifically, referring to fig. 2, the determining module 111 includes:
the detection unit 201 is connected to the encoding module 105 and the global data line YIO, and detects the data to be written and the data currently transmitted by the global data line YIO bit by bit. If the current bit data to be written is different from the data transmitted by the current bit global data line YIO, a first sub-control signal is generated; if the current bit data to be written is the same as the data transmitted by the current bit global data line YIO, a second sub-control signal is transmitted. Specifically, the manner of generating the first sub control signal and the second sub control signal refers to the following table:
data to be written Global data line YIO Generating
First bit 0 1 A first sub-control signal
Second bit 0 0 Second sub-control signal
Third position 1 1 Second sub-control signal
The fourth bit 1 0 A first sub-control signal
The obtaining unit 202 is connected to the detecting unit 201, and is configured to obtain the first sub-control signal and the second sub-control signal. And if the number of the first sub-control signals exceeds a first preset value, generating a first control signal Flag, wherein the first preset value is a preset percentage of the sum of the number of the first sub-control signals and the number of the second sub-control signals. Specifically, the first control signal Flag is generated by referring to the following table (taking the sum of the numbers of the first sub-control signal and the second sub-control signal as 40 as an example, which is only schematic):
predetermined percentage of Number of first sub-control signals Number of second sub-control signals First control signal Flag
40 18 22 1
50 23 17 1
60 22 18 0
It should be noted that, in this example, the preset percentage is 50%, and by setting the preset percentage to 50%, it is ensured that the first control signal is generated when the difference bit number between the data to be written and the currently transmitted data of the global data line YIO is greater than the same bit number, and the data to be written is inverted and then transmitted to the global data line YIO, so that data inversion in the global data line YIO is avoided, and energy consumption during data transmission is reduced.
With continued reference to fig. 1, an on-chip ECC-containing signal processing circuit 100 includes: the data buffering module 106 is connected to the encoding module 105 and the determining module 111, and configured to transmit the data to be written to the global data line YIO or transmit the data to be written to the global data line YIO after being flipped according to the first control signal Flag.
Specifically, the data buffering module 106 includes:
the conversion module 101 is configured to control whether data to be written needs to be turned over when the data is transmitted to the global data line YIO according to the first control signal Flag; the first control signal Flag is used to indicate whether the difference bit number between the data currently transmitted by the external data line DataBus and the data currently transmitted by the global data line YIO exceeds a first preset value.
For the conversion module 101, if the difference between the data to be written and the data currently transmitted by the global data line YIO exceeds a first preset value, the conversion module 101 is configured to flip the data to be written and transmit the data to the global data line YIO; if the difference between the data to be written and the data currently transmitted by the global data line YIO does not exceed the first preset value, the conversion module 101 is configured to transmit the data to be written to the global data line YIO.
In one example, referring to fig. 3, the conversion module 101 includes: a third transmission element 303 having one end connected to the encoding module 105 through an inverter and the other end connected to the global data line YIO; a fourth transmission element 304 having one end connected to the encoding module 105 and the other end connected to the global data line YIO; the third transmission element 303 and the fourth transmission element 304 are further configured to receive a first control signal Flag, and to select to turn on the third transmission element 303 or the fourth transmission element 304 according to the first control signal Flag.
In this embodiment, the example of controlling the third transmission element 303 and the fourth transmission element 304 to be conductive at a low level is described as follows:
when the first control signal Flag is "1", the third transmission element 303 turns on the signal transmission line, and at this time, the encoding module 105 is connected to the global data line YIO through the inverter, so that the data to be written is turned over and then transmitted to the global data line YIO; the fourth transmission element 304 turns off the signal transmission line. When the control signal Flag is "0", the third transmission element 303 turns off the signal transmission line, the fourth transmission element 304 turns on the signal transmission line, and the encoding module 105 is directly connected to the global data line YIO, so that the data to be written is directly transmitted to the global data line YIO.
It should be noted that in other embodiments, different control methods may also be adopted to control the third transmission element and the fourth transmission element to be turned on, and as long as the difference bit number between the data to be written and the data currently transmitted by the global data line YIO exceeds a first preset value, the encoding module 105 turns over the data to be written and then transmits the data to be written to the global data line YIO; when the difference between the data to be written and the data currently transmitted by the global data line YIO does not exceed the first preset value, the encoding module 105 directly transmits the data to be written to the global data line YIO.
With continued reference to fig. 1, the signal processing circuit 100 with on-chip ECC further includes: the statistic module 112 is connected to the encoding module 105, and is configured to output a second control signal 1 "more", where the second control signal 1 "more" is used to represent whether the number of bits occupied by high-level data in the data to be written exceeds a second preset value, and specifically, the following table is referred to in a manner of generating the second control signal 1 "more" (taking the second preset value as an example of 50% of the number of bits of data transmitted by the external data line):
high level number of data to be written Number of low levels of data to be written Second control signal 1 "more"
22 18 1
19 21 0
It should be noted that, in other embodiments, it may also be configured that when the number of high-level data of the external data line is greater than the number of low-level data of the external data line, the second control signal is 0; when the number of high level data of the external data line is less than the number of low level data of the external data line, the second control signal is 1.
In addition, the second control signal 1 "more" is stored as flag bit data in the memory cell to read out the second control signal 1 "more" in the process of reading out data.
In one example, referring to fig. 2, the statistic module 112 is configured to detect the data to be written bit by bit, and obtain the second control signal 1 "more" based on whether the number of bits occupied by the high level data exceeds a second preset value.
It should be noted that, in this example, the second preset value is 50%, and by setting the second preset value to 50%, it is ensured that when data to be written in data transmission is stored in the storage unit, the amount of data stored in the low level is not less than the amount of data stored in the high level, thereby improving the reliability of data storage and reading.
With continued reference to fig. 1, the signal processing circuit 100 with on-chip ECC further includes: the write module 103 is connected between the local data line LIO and the global data line YIO, and is configured to control data in the global data line YIO to be transmitted to the local data line YIO, and determine whether data inversion is performed after the data in the global data line YIO is transmitted to the local data line LIO based on a third control signal WrEn, where the third control signal WrEn is used to indicate whether a value of the first control signal Flag is the same as a value of the second control signal 1 "more". Specifically, the third control signal WrEn is used to control the amount of data stored in the low level to be not less than the amount of data stored in the high level.
In this embodiment, when the first control signal Flag is 1, the token data needs to be inverted when being transmitted to the global data line YIO; when the second control signal 1 'more' is 1, the representation data needs to be turned over when finally stored; at this time, the data is already inverted when being transmitted to the global data line YIO, and the data does not need to be inverted when being finally stored, that is, the token data does not need to be inverted when the third control signal WrEn is 1. Correspondingly, when the first control signal Flag is 1, it is characterized that the original data needs to be turned over when being transmitted to the global data line YIO; when the second control signal 1 'more' is 0, the representation data does not need to be turned over when finally stored; at this time, the data is inverted when being transmitted to the global data line YIO, and is finally inverted when being stored, that is, when the third control signal WrEn is 0, the token data is inverted. The configuration of the third control signal WrEn is referenced to the following table:
first control signal Flag Second control signal 1 "more" Third control signal WrEn
Roll-over Roll-over Not turning over
Roll-over Not turning over Roll-over
Not turning over Roll-over Roll-over
Not turning over Not turning over Not turning over
It should be noted that, when the setting manners of the first control signal Flag and the second control signal 1 "more" are changed, the setting manner of the third control signal WrEn needs to be changed according to the setting manners of the first control signal Flag and the second control signal 1 "more" to ensure that the amount of data finally stored in the low level is not less than the amount of data stored in the high level.
With continued reference to FIG. 1, the write module 103 includes: the enable control module 133 is configured to generate the third control signal WrEn according to the first control signal Flag and the second control signal 1 "more".
In addition, in the present embodiment, the enable control module 133 is further configured to receive a write enable signal WriteEnable (refer to fig. 4), and if the write enable signal WriteEnable is at an active level, output a third control signal WrEn for indicating whether the first control signal and the second control signal are the same.
In one example, referring to fig. 4, the first control signal Flag and the second control signal 1 "more" are connected through an exclusive or gate XOR, and an output terminal of the exclusive or gate XOR is connected to the same nor gate as an inverted signal WriteEnable of the write enable signal WriteEnable.
In this example, the enable control module 133 is further configured to receive the first control signal Flag, the second control signal 1 "more", and the inverse signal WriteEnable-of the write enable signal, write enable, to be active level, and then generate the fourth control signal WrEn-, the third control signal WrEn, and the fourth control signal WrEn-to be inverse signals to each other.
Specifically, the first control signal Flag and the second control signal 1 "more" are connected through an exclusive or gate XOR, an output terminal of which is connected to an inverter, and an inverted signal WriteEnable-connected to the write enable signal WriteEnable is connected to the same nor gate.
For the circuit for generating the third control signal WrEn and the fourth control signal WrEn-, when the write enable signal WriteEnable is 0, the inverted signal WriteEnable-of the write enable signal is 1, and when the third control signal WrEn and the fourth control signal WrEn-are both 0, the memory cannot perform the write operation, which indicates that the memory is not in the write operation stage; when the write enable signal WriteEnable is 1 and the inverse signal WriteEnable-of the write enable signal is 0, the circuit functions as follows:
if the first control signal Flag is 1 and the second control signal 1 'more' is 1, the XOR gate XOR has the same working principle of "0" and different working principle of "1", the output signal of the XOR gate XOR is 0, the generated third control signal WrEn is 1, and the fourth control signal WrEn-is 0.
If the first control signal Flag is 1 and the second control signal 1 'more' is 0, since the working principle of the XOR gate XOR is "same as 0, but different from 1", the output signal of the XOR gate XOR is 1, and at this time, the generated third control signal WrEn is 0 and the fourth control signal WrEn-is 1.
If the first control signal Flag is 0, the second control signal 1 'more' is 1, and since the working principle of the XOR gate XOR is "same as 0, but different from 1", the output signal of the XOR gate XOR is 1, and at this time, the generated third control signal WrEn is 0, and the fourth control signal WrEn-is 1.
If the first control signal Flag is 0, the second control signal 1 'more' is 0, and since the working principle of the XOR gate XOR is "same as 0, but different from 1", the output signal of the XOR gate XOR is 0, at this time, the generated third control signal WrEn is 1, and the fourth control signal WrEn-is 0.
With continued reference to fig. 1, in the present embodiment, the local data line LIO includes a first local data line LIO and a second local data line LIO —, which are differential data transmission lines; by providing the first local data line LIO and the second local data line LIO "for transmitting differential data, stability of data inversion between the local data line LIO and the global data line YIO is ensured.
The data inversion is performed during the process of transmitting the data in the global data line YIO to the local data line LIO, and includes: the write module 103 is configured to flip the data in the global data line YIO for transmission to the first local data line LIO, and/or the write module 103 is configured to transmit the data in the global data line YIO to the second local data line LIO-.
Specifically, the writing module 103 includes: a first conversion circuit 113 and a second conversion circuit 123.
The first conversion circuit 113 is configured to control the transfer of data in the global data line YIO to the first local data line LIO and/or to control the transfer of the opposite value of data in the global data line YIO to the second local data line LIO-.
In one example, referring to fig. 5, the first conversion circuit 113 includes: a first MOS transistor 401, a second MOS transistor 402, and a third MOS transistor 403.
The gate of the first MOS transistor 401 receives the third control signal WrEn, the source is connected to the global data line YIO, and the drain is connected to the first local data line LIO; the gate of the second MOS transistor 402 is connected to the global data line YIO, the drain is connected to the second local data line LIO-, and the source is connected to the drain of the third MOS transistor 403; the gate of the third MOS transistor 403 receives the third control signal WrEn, and the source is grounded to GND (not shown).
It should be noted that the term "source" or "drain" in the first MOS transistor 401, the second MOS transistor 402, and the third MOS transistor 403 is only used to distinguish the ports of the MOS transistors, and is not limited at all, that is, the concepts of source and drain may be interchanged.
The second conversion circuit 123 is configured to control the transfer of data in the global data line YIO to the second local data line LIO-, and/or to control the transfer of the opposite value of data in the global data line YIO to the first local data line LIO.
In one example, referring to fig. 6, the second conversion circuit 123 includes: a fourth MOS transistor 404, a fifth MOS transistor 405, and a sixth MOS transistor 406.
The gate of the fourth MOS transistor 404 receives the fourth control signal WrEn-, the source is connected to the global data line YIO, and the drain is connected to the second local data line LIO-; the gate of the fifth MOS transistor 405 is connected to the global data line YIO, the drain is connected to the first local data line LIO, and the source is connected to the drain of the sixth MOS transistor 406; the gate of the sixth MOS transistor 406 receives the fourth control signal WrEn-, and the source is grounded (not shown).
It should be noted that the term "source" or "drain" in the fourth MOS transistor 404, the fifth MOS transistor 405 and the sixth MOS transistor 406 is only used to distinguish the ports of the MOS transistors, and is not limited at all, i.e., the concepts of source and drain may be interchanged.
For the first conversion circuit 113 and the second conversion circuit 123, the operation principle is as follows:
when the third control signal WrEn is 1 and the fourth control signal WrEn-is 0, the data transmission between the global data line YIO and the first and second local data lines LIO and LIO-is controlled by the first switching circuit 113. Specifically, when YIO is 1, at this time, the gates of the first MOS transistor 401, the second MOS transistor 402, and the third MOS transistor 403 are all turned on, the global data line YIO and the first local data line LIO are connected through the first MOS transistor 401, and the first local data line LIO and the global data line YIO are 1; the second local data line LIO-is grounded through the second MOS transistor 402 and the third MOS transistor 403, that is, the second local data line LIO-is 0; when YIO is 0, the global data line YIO and the first local data line LIO are connected through the first MOS transistor 401, and the first local data line LIO and the global data line YIO are 0; since global data line YIO is 0, the source and drain of second MOS transistor 402 are not conducting, second local data line LIO-is not grounded, and is 1 due to the effect of precharging (i.e., LIO and LIO-are both precharged high before writing).
When the third control signal WrEn is 0 and the fourth control signal WrEn-is 1, the data transmission between the global data line YIO and the first and second local data lines LIO and LIO-is controlled by the second switching circuit 123. Specifically, when YIO is 1, at this time, the gates of the fourth MOS transistor 404, the fifth MOS transistor 405, and the sixth MOS transistor 406 are all turned on, the global data line YIO and the second local data line LIO — are connected through the fourth MOS transistor 404, and the second local data line LIO — and the global data line YIO are 1; the first local data line LIO is grounded through the fifth MOS transistor 405 and the sixth MOS transistor 406, that is, the first local data line LIO is 0; when YIO is 0, the global data line YIO and the second local data line LIO-are connected through the fourth MOS transistor 404, and the second local data line LIO-and the global data line YIO are 0; since the global data line YIO is 0, the source and drain of the fifth MOS transistor 405 are not conductive, the first local data line LIO is not grounded, and the first local data line LIO is 1 due to the effect of precharging (i.e., LIO and LIO-are both precharged to a high level before writing).
With continued reference to fig. 1, in the present embodiment, the second control signal 1 "more" is stored as flag bit data in the memory cell to read out the second control signal 1 "more" in the process of reading out data.
With continued reference to fig. 1, the signal processing circuit 100 with on-chip ECC further includes:
and the error detection module 108 is configured to determine whether the original data is erroneous during storage according to the ECC check code, and/or correct the error of the erroneous original data.
The readout module 102 is configured to control data transmission between the local data line LIO and the external data line DataBus according to the read second control signal 1 "more", and if the number of bits occupied by the high-level data exceeds a second preset value, the readout module 102 is configured to flip the data in the local data line LIO and finally transmit the data to the error detection module 108; if the number of bits occupied by the high-level data does not exceed the second preset value, the readout module 102 is configured to finally transmit the data in the local data line LIO to the error detection module 108.
It should be noted that, in this embodiment, a data buffering module 106 (not shown in the drawings) is further included between the reading module 102 and the error detection module 108, and data buffering during data reading does not relate to the core scheme of the present application, so details are not described here, and those skilled in the art understand that data also needs to pass through the data buffering module when the memory reads data.
In one example, referring to fig. 1, in the present embodiment, the readout module 102 is connected between the local data line LIO and the global data line YIO, and is configured to control data transmission between the local data line LIO and the global data line YIO according to the second control signal 1 "more".
If the number of bits occupied by the high-level data exceeds a second preset value, the readout module 102 is configured to flip the data in the local data line LIO and transmit the data to the global data line YIO; if the number of bits occupied by the high-level data does not exceed the second predetermined value, the readout module 102 is configured to transmit the data in the local data line LIO to the global data line YIO.
Specifically, the local data line LIO includes a first local data line LIO and a second local data line LIO —, which are differential data transmission lines; by providing the first local data line LIO and the second local data line LIO "for transmitting differential data, stability of data inversion between the local data line LIO and the global data line YIO is ensured.
The data in the local data line LIO is inverted and then transmitted to the global data line YIO, which includes: the sense module 102 is configured to transfer the opposite value of the data in the first local data line LIO to the global data line YIO, and/or the sense module 102 is configured to transfer the data in the second local data line LIO-to the global data line YIO.
Referring to fig. 7, the readout module 102 includes: a seventh MOS transistor 407, an eighth MOS transistor 408, a ninth MOS transistor 409, a tenth MOS transistor 410, and an eleventh MOS transistor 411.
The gate of the seventh MOS transistor 407 is connected to the first local data line LIO, the drain is connected to the global data line YIO, and the source is connected to the drain of the ninth MOS transistor 409; the gate of the eighth MOS transistor 408 is connected to the second local data line LIO-, the drain is connected to the global data line YIO, and the source is connected to the drain of the tenth MOS transistor 410; the gate of the ninth MOS transistor 409 receives the second control signal 1 "more", and the source is connected to the drain of the eleventh MOS transistor 411; the gate of the tenth MOS 410 receives the fifth control signal 1 "more" -, the source is connected to the drain of the eleventh MOS 411, and the second control signal 1 "more" and the fifth control signal 1 "more" -are opposite signals; the gate of the eleventh MOS transistor 411 receives the read enable signal ReadEnable, and the source is grounded to GND (not shown).
For the above-mentioned switching circuit, when the read enable signal ReadEnable is 0, the memory cannot perform the read operation, which means that the memory is not in the read operation stage at this time; when the read enable signal ReadEnable is 1, the operation principle is as follows:
when the second control signal 1 "more" is 1, the fifth control signal 1 "more" -is 0, which is equivalent to turning on only the left circuit, representing that the opposite value of the data in the first local data line LIO is transferred to the global data line YIO. When the first local data line LIO is 1, the seventh MOS transistor 407 is turned on, and at this time, the global data line YIO is grounded, and the global data line YIO is 0, so that the opposite value of the data in the first local data line LIO is transmitted to the global data line YIO; when the first local data line LIO is 0, the seventh MOS transistor 407 is turned off, and the global data line YIO is 1 due to the pre-charge effect (i.e., YIO is pre-charged to a high level before being read), so that the opposite value of the data in the first local data line LIO is transmitted to the global data line YIO.
When the second control signal 1 "more" is 0, the fifth control signal 1 "more" -is 1, which is equivalent to turning on only the left circuit, representing that the opposite value of the data in the second local data line LIO-is transferred to the global data line YIO. When the second local data line LIO-is 1, the ninth MOS transistor 409 is turned on, the global data line YIO is grounded, the global data line YIO is 0, and the opposite value of the data in the second local data line LIO-is transmitted to the global data line YIO; when the second local data line LIO-is 0, the ninth MOS transistor 409 is turned off, and the global data line YIO is 1 due to the pre-charge effect (i.e., YIO is pre-charged to a high level before being read), so that the opposite value of the data in the second local data line LIO-is transferred to the global data line YIO.
It should be noted that the term "source" or "drain" in the seventh MOS transistor 407, the eighth MOS transistor 408, the ninth MOS transistor 409, the tenth MOS transistor 410 and the eleventh MOS transistor 411 is only used to distinguish the ports of the MOS transistors, and is not limited at all, that is, the concepts of source and drain may be interchanged.
In another example, referring to FIG. 8, in the present embodiment, sense module 102 is coupled to global data line YIO and error detection module 108 for controlling data transmission between global data line YIO and error detection module 108 according to second control signal 1 "more".
Specifically, if the number of bits occupied by the high-level data exceeds a second preset value, the readout module 102 is configured to flip the data in the global data line YIO and transmit the data to the error detection module 108; if the number of bits occupied by the high-level data does not exceed the second predetermined value, the readout module 102 is configured to transmit the data in the global data line YIO to the error detection module 108.
More specifically, referring to fig. 9, the present embodiment is described by taking the example of controlling the first transmission element 301 and the second transmission element 302 to be conductive at a low level, which is as follows: when the second control signal 1 "more" is 1, the first transmission element turns on the signal transmission line, and at this time, the first global data line YIO is connected to the error detection module 108 through the inverter, so that the first global data line YIO turns over the transmitted data and transmits the data to the error detection module 108; the second transmission element 302 turns off the signal transmission line. When the second control signal 1 "more" is 0, the first transmission element 301 turns off the signal transmission line, the second transmission element 302 turns on the signal transmission line, and the first global data line YIO is directly connected to the error detection module 108, so that the first global data line YIO directly transmits the transmitted data to the error detection module 108.
In this embodiment, the signal processing circuit 100 with on-chip ECC further includes: the array area read-write control unit 107 is connected to the local data line LIO, and is configured to store the original data, the ECC check code, and the second control signal 1 "more" in the storage unit 501. In addition, the array area read-write control unit 107 is further configured to read the original data, the ECC check code, and the second control signal 1 "more" in the memory unit 501 onto the local data line LIO during a read operation.
Compared with the prior art, the first control signal is obtained by comparing the data difference between the external data line and the global data line, and whether the first data inversion is carried out is judged, so that the inversion of the transmission data line is reduced in the data transmission process, and the power consumption of data transmission is saved; acquiring a second control signal by comparing the quantity of low-level data and high-level data in the external data line, and acquiring a third control signal by the first control signal and the second control signal to judge whether the global data line is transmitted to the local data line to perform second data inversion or not so as to ensure the reliability of data storage and reading; judging whether the third overturning is needed during reading by acquiring a second control signal so as to ensure that the read data is the data originally written into the memory; meanwhile, because the on-chip ECC is used, data errors possibly caused by inversion in the writing process of data can be repaired, and the reliability of data storage is ensured.
It should be noted that, in this embodiment, all units are logic units, and in practical application, one logic unit may be one physical unit, may also be a part of one physical unit, and may also be implemented by a combination of multiple physical units. In addition, in order to highlight the innovative part of the present application, a unit that is not so closely related to solving the technical problem proposed by the present application is not introduced in the present embodiment, but this does not indicate that there is no other unit in the present embodiment.
The present application further relates to a data transmission line, and different from the first embodiment, the present embodiment provides another circuit implementation manner of a readout module, so as to further improve the data reading efficiency.
Fig. 10 is a circuit schematic diagram of a first write circuit provided in this embodiment, fig. 11 is a circuit schematic diagram of a second write circuit provided in this embodiment, fig. 12 is a structural schematic diagram of a signal processing circuit including on-chip ECC provided in this embodiment, fig. 13 is a circuit schematic diagram corresponding to the read module in fig. 12 provided in this embodiment, fig. 14 is a structural schematic diagram of a signal processing circuit including on-chip ECC provided in this embodiment, and fig. 15 is a circuit schematic diagram corresponding to the read module in fig. 14 provided in this embodiment; the signal processing circuit including the on-chip ECC provided in this embodiment will be described in detail below with reference to the accompanying drawings, and details of the same or corresponding portions as those in the above embodiments will not be repeated below.
Referring to fig. 10, a signal processing circuit 100 including on-chip ECC includes: the write module 103 is connected between the local data line LIO and the global data line YIO, and is configured to control data in the global data line YIO to be transmitted to the local data line LIO, and determine whether data inversion is performed after the data in the global data line YIO is transmitted to the local data line LIO based on a third control signal WrEn, where the third control signal WrEn is used to indicate whether a value of the first control signal Flag is the same as a value of the second control signal 1 "more". Specifically, the third control signal WrEn is used to control the amount of data stored in the low level to be not less than the amount of data stored in the high level.
In the present embodiment, the global data line YIO includes a first global data line YIO and a second global data line YIO-that are differential data transmission lines. By providing the first global data line YIO and the second global data line YIO-for transferring differential data, stability of data inversion between the first local data line LIO and the second local data line LIO-and the first global data line YIO and the second global data line YIO-is ensured.
In one example, referring to fig. 3, the conversion module 101 includes: a third transmission element 303 having one end connected to the encoding module 105 through an inverter and the other end connected to the global data line YIO; a fourth transmission element 304 having one end connected to the encoding module 105 and the other end connected to the global data line YIO; the third transmission element 303 and the fourth transmission element 304 are further configured to receive a first control signal Flag, and to select to turn on the third transmission element 303 or the fourth transmission element 304 according to the first control signal Flag.
In this embodiment, the example of controlling the third transmission element 303 and the fourth transmission element 304 to be conductive at a low level is described as follows: when the first control signal Flag is "1", the third transmission element 303 turns on the signal transmission line, and at this time, the encoding module 105 is connected to the global data line YIO through the inverter, so that the data to be written is turned over and then transmitted to the global data line YIO; the fourth transmission element 304 turns off the signal transmission line. When the control signal Flag is "0", the third transmission element 303 turns off the signal transmission line, the fourth transmission element 304 turns on the signal transmission line, and the encoding module 105 is directly connected to the global data line YIO, so that the data to be written is directly transmitted to the global data line YIO.
In some embodiments, the encoding module 105 and the second global data line YIO-are also provided with a data conversion circuit similar to the conversion module 101, and the control process is opposite to that of the conversion module 101, i.e., the encoding module 105 is controlled to be turned on to connect the path directly to the second global data line YIO-when the first control signal Flag is "1", and the encoding module 105 is connected to the second global data line YIO-through an inverter when the first control signal Flag is "0".
Secondly, it should be noted that, in other embodiments, different control methods may also be adopted to control the third transmission element and the fourth transmission element to be turned on, so as to ensure that when the difference bits between the data to be written and the currently transmitted data of the first global data line YIO or the second global data line YIO-exceed a first preset value, the data to be written is turned over and then transmitted into the second global data line YIO-; when the difference between the data to be written and the data currently transmitted by the global data line YIO does not exceed the first preset value, the data to be written is directly transmitted to the first global data line YIO.
In some embodiments, an amplifying circuit may be disposed between the first global data line YIO and the second global data line YIO — to enable the first global data line YIO and the second global data line YIO-to transmit signals that are opposite to each other.
In this embodiment, when the first control signal Flag is 1, the external data is represented to be transmitted to the second global data line YIO-; when the second control signal 1 'more' is 1, the data which is finally stored in the storage unit is represented to be an opposite value of the original data of the external data line; at this time, the data of the first global data line YIO can be directly stored in the memory cell if the first global data line YIO has transmitted the opposite value of the external original data, that is, the data of the first global data line YIO can be transmitted to the first local data line LIO and the data of the second global data line YIO-can be transmitted to the second local data line LIO-if the third control signal WrEn is 1. Correspondingly, when the first control signal Flag is 1, the external data is characterized to be transmitted to the second global data line YIO-; when the second control signal 1 'more' is 0, the data finally stored in the storage unit is represented as external data line original data; at this time, the first global data line YIO transmits the inverse value of the external original data, and the data of the second global data line YIO-is finally stored in the memory cell, i.e. when the third control signal WrEn is 0, it indicates that the data of the first global data line YIO is to be transmitted to the second local data line LIO-, and the data of the second global data line YIO-is to be transmitted to the first local data line LIO. The configuration of the third control signal WrEn is referenced to the following table:
Figure BDA0003020925040000201
Figure BDA0003020925040000211
it should be noted that, when the setting manners of the first control signal Flag and the second control signal 1 "more" are changed, the setting manner of the third control signal WrEn needs to be changed according to the setting manners of the first control signal Flag and the second control signal 1 "more" to ensure that the amount of data finally stored in the low level is not less than the amount of data stored in the high level.
With continued reference to FIG. 10, the write module 103 includes: the enable control module 133 is configured to generate the third control signal WrEn according to the first control signal Flag and the second control signal 1 "more".
In addition, in the present embodiment, the enable control module 133 is further configured to receive a write enable signal WriteEnable (refer to fig. 4), and if the write enable signal WriteEnable is at an active level, output a third control signal WrEn for indicating whether the first control signal and the second control signal are the same.
In one example, referring to fig. 4, the first control signal Flag and the second control signal 1 "more" are connected through an exclusive or gate XOR, and an output terminal of the exclusive or gate XOR is connected to the same nor gate as an inverted signal WriteEnable of the write enable signal WriteEnable.
In this example, the enable control module 133 is further configured to receive the first control signal Flag, the second control signal 1 "more", and the inverse signal WriteEnable-of the write enable signal, write enable, to be active level, and then generate the fourth control signal WrEn-, the third control signal WrEn, and the fourth control signal WrEn-to be inverse signals to each other.
Specifically, the first control signal Flag and the second control signal 1 "more" are connected through an exclusive or gate XOR, an output terminal of which is connected to an inverter, and an inverted signal WriteEnable-connected to the write enable signal WriteEnable is connected to the same nor gate.
For the circuit for generating the third control signal WrEn and the fourth control signal WrEn-, when the write enable signal WriteEnable is 0, the inverted signal WriteEnable-of the write enable signal is 1, and at this time, the third control signal WrEn and the fourth control signal WrEn-are both 0, the memory cannot perform the write operation, which indicates that the memory is not in the write operation phase at this time; when the write enable signal WriteEnable is 1 and the inverse signal WriteEnable-of the write enable signal is 0, the circuit functions as follows:
if the first control signal Flag is 1 and the second control signal 1 'more' is 1, the XOR gate XOR has the same working principle of "0" and different working principle of "1", the output signal of the XOR gate XOR is 0, the generated third control signal WrEn is 1, and the fourth control signal WrEn-is 0.
If the first control signal Flag is 1 and the second control signal 1 'more' is 0, since the working principle of the XOR gate XOR is "same as 0, but different from 1", the output signal of the XOR gate XOR is 1, and at this time, the generated third control signal WrEn is 0 and the fourth control signal WrEn-is 1.
If the first control signal Flag is 0, the second control signal 1 'more' is 1, and since the working principle of the XOR gate XOR is "same as 0, but different from 1", the output signal of the XOR gate XOR is 1, and at this time, the generated third control signal WrEn is 0, and the fourth control signal WrEn-is 1.
If the first control signal Flag is 0, the second control signal 1 'more' is 0, and since the working principle of the XOR gate XOR is "same as 0, but different from 1", the output signal of the XOR gate XOR is 0, at this time, the generated third control signal WrEn is 1, and the fourth control signal WrEn-is 0.
With continued reference to fig. 1, the data flipping process performed during the data transmission from the global data line YIO to the local data line LIO includes: the write module 103 is configured to flip the data in the global data line YIO for transmission to the first local data line LIO, and/or the write module 103 is configured to transmit the data in the global data line YIO to the second local data line LIO-.
Specifically, the write module includes: a first write circuit 213 and a second write circuit 223.
The first write circuit 213 is configured to control data transfer in the first global data line YIO to the first local data line LIO or to transfer data in the second global data line YIO-to the first local data line LIO.
In one example, referring to fig. 11, the first write circuit 213 includes: a first MOS transistor 601 and a second MOS transistor 602.
The gate of the first MOS transistor 601 receives the third control signal WrEn, the source is connected to the first global data line YIO, and the drain is connected to the first local data line LIO; the gate of the second MOS transistor 602 receives the fourth control signal WrEn-, the source is connected to the second global data line YIO-, and the drain is connected to the first local data line LIO.
It should be noted that the term "source" or "drain" in the first MOS transistor 601 and the second MOS transistor 602 is only used to distinguish the ports of the MOS transistors, and is not limited at all, i.e., the concepts of source and drain can be interchanged.
The second write circuit 223 is configured to control the data in the first global data line YIO to be transferred to the second local data line LIO-, or to transfer the data in the second global data line YIO-to the second local data line LIO-.
In one example, referring to fig. 12, the second write circuit 223 includes: a third MOS transistor 603 and a fourth MOS transistor 604.
The gate of the third MOS 603 receives the fourth control signal WrEn-, the source is connected to the first global data line YIO, the drain is connected to the second local data line LIO-, the third control signal WrEn and the fourth control signal WrEn are opposite-phase signals; the gate of the fourth MOS transistor 604 receives the third control signal WrEn, the source is connected to the second global data line YIO, and the drain is connected to the second local data line LIO-.
It should be noted that the term "source" or "drain" in the third MOS transistor 603 and the fourth MOS transistor 604 is only used to distinguish the ports of the MOS transistors, and is not limited at all, i.e., the concepts of source and drain can be interchanged.
For the first write circuit 213 and the second write circuit 223, the operation principle is as follows:
when the third control signal WrEn is 1 and the fourth control signal WrEn-is 0, the data transmission among the first global data line YIO, the second global data line YIO, the first local data line LIO and the second local data line LIO-is controlled by the first write circuit 213 and the second write circuit 223. Specifically, when YIO is 1, at this time, the gates of the first MOS transistor 601 and the fourth MOS transistor 604 are turned on, the first global data line YIO and the first local data line LIO are connected through the first MOS transistor 601, and the first local data line LIO and the first global data line YIO are 1; the second global data line YIO-and the second local data line LIO-are connected through the fourth MOS transistor 604, and the second local data line LIO-and the second global data line YIO-are 0. When YIO is 0, at this time, the gates of the first MOS transistor 601 and the fourth MOS transistor 604 are turned on, the first global data line YIO and the first local data line LIO are connected through the first MOS transistor 601, and the first local data line LIO and the first global data line YIO are 0; the second global data line YIO-and the second local data line LIO-are connected through the fourth MOS transistor 604, and the second local data line LIO-and the second global data line YIO-are 1.
When the third control signal WrEn is 0 and the fourth control signal WrEn-is 1, the data transmission among the first global data line YIO, the second global data line YIO, the first local data line LIO and the second local data line LIO-is controlled by the first write circuit 213 and the second write circuit 223. Specifically, when YIO is 1, the gates of the second MOS transistor 602 and the third MOS transistor 603 are turned on, the second global data line YIO — and the first local data line LIO are connected through the second MOS transistor 602, and the first local data line LIO and the second global data line YIO — are 0; the first global data line YIO and the second local data line LIO-are connected through the third MOS transistor 603, and the second local data line LIO-and the first global data line YIO are 1. When YIO is 0, at this time, the gates of the second MOS transistor 602 and the third MOS transistor 603 are turned on, the second global data line YIO — and the first local data line LIO are connected through the second MOS transistor 602, and the first local data line LIO and the second global data line YIO — are 1; the first global data line YIO and the second local data line LIO-are connected through the third MOS transistor 603, and the second local data line LIO-and the first global data line YIO are 0.
The readout module 102 is configured to control data transmission among the first local data line LIO, the second local data line LIO —, and the error detection module 108 according to the read second control signal 1 "more", and if the number of bits occupied by the high-level data exceeds a second preset value, the readout module 102 is configured to finally transmit data in the second local data line LIO —, to the error detection module 108; if the number of bits occupied by the high-level data does not exceed the second preset value, the readout module 102 is configured to finally transmit the data in the first local data line LIO to the error detection module 108.
In one example, referring to fig. 10, the readout module 102 is connected between the first and second local data lines LIO and LIO-, the first and second global data lines YIO and YIO-, and is configured to control data transmission between the first and second local data lines LIO and LIO-and the first and second global data lines YIO and YIO-according to the second control signal 1 "more".
Specifically, if the number of bits occupied by the high-level data exceeds the second preset value, the readout module 102 is configured to transmit an opposite value of the data in the first local data line LIO to the first global data line YIO, and/or transmit an opposite value of the data in the second local data line LIO-to the second global data line YIO-; if the number of bits occupied by the high level data does not exceed the second preset value, the readout module 102 is configured to transmit an opposite value of the data in the first local data line LIO to the second global data line YIO-, and/or transmit an opposite value of the data in the second local data line LIO-to the first global data line YIO.
More specifically, referring to fig. 13, the readout module 102 includes: a fifth MOS transistor 605, a sixth MOS transistor 606, a seventh MOS transistor 607, an eighth MOS transistor 608, a ninth MOS transistor 609, a tenth MOS transistor 610, an eleventh MOS transistor 611, a twelfth MOS transistor 612, a thirteenth MOS transistor 613, and a fourteenth MOS transistor 614.
The gate of the thirteenth MOS transistor 613 is connected to the first local data line LIO, the drain is connected to the second global data line YIO ", and the source is connected to the drain of the seventh MOS transistor 607; the gate of the fifth MOS transistor 605 is connected to the second local data line LIO-, the drain is connected to the second global data line YIO-, and the source is connected to the drain of the eighth MOS transistor 608; the gate of the seventh MOS transistor 607 is connected to the fifth control signal 1 "more" -, the source is connected to the drain of the eleventh MOS transistor 611, and the second control signal 1 "more" and the fifth control signal 1 "more" -are inverse signals to each other; the gate of the eighth MOS transistor 608 is connected to the second control signal 1 "more", and the source is connected to the drain of the eleventh MOS transistor 611; the gate of the eleventh MOS transistor 611 receives the read enable signal ReadEnable, and the source is grounded to GND (not shown); the gate of the fourteenth MOS 614 is connected to the second local data line LIO-, the drain is connected to the first global data line YIO, and the source is connected to the drain of the ninth MOS 609; the gate of the sixth MOS transistor 606 is connected to the first local data line LIO, the drain is connected to the first global data line YIO, and the source is connected to the drain of the tenth MOS transistor 610; the gate of the ninth MOS 609 is connected to the fifth control signal 1 "more" -, and the source is connected to the drain of the twelfth MOS 612; the gate of the tenth MOS transistor 610 is connected to the second control signal 1 "more", and the source is connected to the drain of the twelfth MOS transistor 612; the gate of the twelfth MOS transistor 612 receives the read enable signal ReadEnable, and the source is grounded GND (not shown).
For the above-mentioned switching circuit, when the read enable signal ReadEnable is 0, the memory cannot perform the read operation, which means that the memory is not in the read operation stage at this time; when the read enable signal ReadEnable is 1, the operation principle is as follows:
when the second control signal 1 "more" is 1, the fifth control signal 1 "more" -is 0, which corresponds to turning on only the intermediate circuit, representing that the opposite value of the data in the first local data line LIO is transferred to the first global data line YIO, and the opposite value of the data in the second local data line LIO-is transferred to the second global data line YIO-. When the first local data line LIO is 1, the sixth MOS 606 is turned on, and at this time, the first global data line YIO is grounded, and the first global data line YIO is 0, so that the opposite value of the data in the first local data line LIO is transmitted to the first global data line YIO; when the second local data line LIO-is 1, the fifth MOS transistor 605 is turned on, and the second global data line YIO-is grounded, and the second global data line YIO-is 0, so that the opposite value of the data in the second local data line LIO-is transmitted to the second global data line YIO-.
When the second control signal 1 'more' is 0, the fifth control signal 1 'more' -is 1, which is equivalent to turning on only the edge circuit, representing that the opposite value of the data in the first local data line LIO is transferred to the second global data line YIO-, and the opposite value of the data in the second local data line LIO-is transferred to the first global data line YIO. When the first local data line LIO is 1, the thirteenth MOS transistor 613 is turned on, and at this time, the second global data line YIO-is grounded, and the second global data line YIO-is 0, so that the opposite value of the data in the first local data line LIO is transmitted to the second global data line YIO-; when the second local data line LIO-is 1, the fourteenth MOS 614 is turned on, and the first global data line YIO is grounded, and the first global data line YIO is 0, so that the opposite value of the data in the second local data line LIO-is transmitted to the first global data line YIO.
It should be noted that the terms "source" or "drain" in the fifth MOS transistor 605, the sixth MOS transistor 606, the seventh MOS transistor 607, the eighth MOS transistor 608, the ninth MOS transistor 609, the tenth MOS transistor 610, the eleventh MOS transistor 611, the twelfth MOS transistor 612, the thirteenth MOS transistor 613 and the fourteenth MOS transistor 614 are only used to distinguish the ports of the MOS transistors, and are not limited at all, that is, the concepts of source and drain may be interchanged.
In another example, referring to fig. 14, the readout module 102 connects the first global data line YIO, the second global data line YIO-, and the external data line DataBus for controlling data transmission between the first global data line YIO, the second global data line YIO-, and the external data line DataBus according to the second control signal 1 "more".
Specifically, if the number of bits occupied by the high-level data exceeds the second preset value, the readout module 102 is configured to transmit the opposite value of the data in the first global data line YIO to the error detection module 108, and/or transmit the data in the second global data line YIO-to the error detection module 108; if the number of bits occupied by the high level data does not exceed the second predetermined value, the readout module 102 is configured to transmit the data in the first global data line YIO to the error detection module 108 and/or transmit the opposite value of the data in the second global data line YIO-to the error detection module 108.
More specifically, referring to fig. 15, the readout module 102 includes: a first transmission element 301 having one end connected to the second global data line YIO-and the other end connected to the error detection module 108; a second transmission element 302 having one end connected to the first global data line YIO and the other end connected to the error detection module 108; the first transmission element 301 and the second transmission element 302 are further configured to receive a second control signal 1 "more" for turning on the first transmission element 301 or the second transmission element 302 according to the second control signal 1 "more".
In this embodiment, the first transmission element 301 and the second transmission element 302 are controlled to be turned on at a low level, which is specifically as follows: when the second control signal 1 "more" is 1, the first transmission element turns on the signal transmission line, and at this time, the second global data line YIO-is connected to the error detection module 108, so that the second global data line YIO-transmits the transmitted data to the error detection module 108; the second transmission element 302 turns off the signal transmission line. When the second control signal 1 "more" is 0, the first transmission element 301 turns off the signal transmission line, the second transmission element 302 turns on the signal transmission line, and the first global data line YIO is connected to the error detection module 108, so that the first global data line YIO transmits the transmitted data to the error detection module 108.
Compared with the prior art, the first control signal is obtained by comparing the data difference between the external data line and the global data line, and whether the first data inversion is carried out is judged, so that the inversion of the transmission data line is reduced in the data transmission process, and the power consumption of data transmission is saved; acquiring a second control signal by comparing the quantity of low-level data and high-level data in the external data line, and acquiring a third control signal by the first control signal and the second control signal to judge whether the global data line is transmitted to the local data line to perform second data inversion or not so as to ensure the reliability of data storage and reading; judging whether the third overturning is needed during reading by acquiring a second control signal so as to ensure that the read data is the data originally written into the memory; meanwhile, because the on-chip ECC is used, data errors possibly caused by inversion in the writing process of data can be repaired, and the reliability of data storage is ensured.
It should be noted that, in this embodiment, all units are logic units, and in practical application, one logic unit may be one physical unit, may also be a part of one physical unit, and may also be implemented by a combination of multiple physical units. In addition, in order to highlight the innovative part of the present application, a unit that is not so closely related to solving the technical problem proposed by the present application is not introduced in the present embodiment, but this does not indicate that there is no other unit in the present embodiment.
Since the above embodiments correspond to the present embodiment, the present embodiment can be implemented in cooperation with the above embodiments. Related technical details mentioned in the above embodiments are still valid in this embodiment, and the technical effects that can be achieved in the above embodiments can also be achieved in this embodiment, and are not described herein again in order to reduce repetition. Accordingly, the related-art details mentioned in the present embodiment can also be applied to the above-described embodiments.
Another embodiment of the present application relates to a memory, including the signal processing circuit with on-chip ECC provided in the foregoing embodiment, further including: and the storage unit is connected with a local data line, and the local data line is used for writing data into the storage unit and reading data out of the storage unit.
Fig. 16 and 17 are schematic structural diagrams of the memory provided in the present embodiment; the memory provided in this embodiment is further described in detail below with reference to the drawings, and details of the same or corresponding parts as those in the above embodiment will not be repeated below.
Referring to fig. 16 and 17, the memory 500 includes:
the encoding module 105 is connected to the external data line DataBus and is used for generating an ECC check code according to original data transmitted in the external data line DataBus, the ECC check code is used for correcting errors occurring in the original data in the storage process, and the original data and the ECC check code form data to be written.
The determining module 111 is connected to the encoding module 105 and the global data line YIO, and configured to output a first control signal indicating whether a difference bit number between the data to be written and the data currently transmitted by the global data line YIO exceeds a first preset value.
The data buffering module 106 is connected to the encoding module 105 and the determining module 111, and configured to transmit the data to be written to the global data line YIO or transmit the data to be written to the global data line YIO after being flipped according to the first control signal Flag.
Specifically, the data buffering module 106 includes:
the conversion module 101 is configured to control whether data to be written needs to be turned over when the data is transmitted to the global data line YIO according to the first control signal Flag; the first control signal Flag is used to indicate whether the difference bit number between the data currently transmitted by the external data line DataBus and the data currently transmitted by the global data line YIO exceeds a first preset value.
For the conversion module 101, if the difference between the data to be written and the data currently transmitted by the global data line YIO exceeds a first preset value, the conversion module 101 is configured to flip the data to be written and transmit the data to the global data line YIO; if the difference between the data to be written and the data currently transmitted by the global data line YIO does not exceed the first preset value, the conversion module 101 is configured to transmit the data to be written to the global data line YIO.
The counting module 112 is connected to the encoding module 105, and is configured to output a second control signal 1 "more", where the second control signal 1 "more" is used to represent whether the number of bits occupied by the high-level data in the data to be written exceeds a second preset value.
In addition, the second control signal 1 "more" is stored as flag bit data in the memory cell to read out the second control signal 1 "more" in the process of reading out data.
The write module 103 is connected between the local data line LIO and the global data line YIO, and is configured to control data in the global data line YIO to be transmitted to the local data line LIO, and determine whether data inversion is performed after the data in the global data line YIO is transmitted to the local data line LIO based on a third control signal WrEn, where the third control signal WrEn is used to indicate whether a value of the first control signal Flag is the same as a value of the second control signal 1 "more". Specifically, the third control signal WrEn is used to control the amount of data stored in the low level to be not less than the amount of data stored in the high level.
In one example, referring to fig. 16, the write module 103 includes: an enable control module 133 for generating a third control signal WrEn according to the first control signal Flag and the second control signal 1 "more"; the write module 103 further includes: a first conversion circuit 113 and a second conversion circuit 123.
Wherein the first conversion circuit 113 is configured to control the transfer of data in the global data line YIO to the first local data line LIO and/or to control the transfer of the opposite value of data in the global data line YIO to the second local data line LIO-. The second conversion circuit 123 is configured to control the transfer of data in the global data line YIO to the second local data line LIO-, and/or to control the transfer of the opposite value of data in the global data line YIO to the first local data line LIO.
In another example, referring to fig. 17, the write module 103 includes: an enable control module 133 for generating a third control signal WrEn according to the first control signal Flag and the second control signal 1 "more"; the write module 103 further includes: a first write circuit 213 and a second write circuit 223.
Wherein the first write circuit 213 is configured to control the data in the first global data line YIO to be transferred to the first local data line LIO or to transfer the data in the second global data line YIO-to the first local data line LIO. The second write circuit 223 is configured to control the data in the first global data line YIO to be transferred to the second local data line LIO-, or to transfer the data in the second global data line YIO-to the second local data line LIO-.
With continued reference to fig. 16 and 17, the memory 500 further includes:
the readout module 102 is configured to control data transmission between the local data line LIO and the external data line DataBus according to the read second control signal 1 "more", and if the number of bits occupied by the high-level data exceeds a second preset value, the readout module 102 is configured to flip the data in the local data line LIO and finally transmit the data to the error detection module 108; if the number of bits occupied by the high-level data does not exceed the second preset value, the readout module 102 is configured to finally transmit the data in the local data line LIO to the error detection module 108.
In the present embodiment, the readout module 102 is connected between the local data line LIO and the global data line YIO, and is configured to control data transmission between the local data line LIO and the global data line YIO according to the second control signal 1 "more"; in other embodiments, the readout module is connected to the local data line and the encoding module, and is configured to control data transmission between the global data line and the external data line according to the second control signal.
In one example, referring to fig. 16, if the number of bits occupied by the high-level data exceeds the second preset value, the readout module 102 is configured to flip the data in the local data line LIO and transmit the data to the global data line YIO; if the number of bits occupied by the high-level data does not exceed the second preset value, the readout module 102 is configured to transmit the data in the local data line LIO to the global data line.
Specifically, the local data line LIO includes a first local data line LIO and a second local data line LIO —, which are differential data transmission lines; by providing the first local data line LIO and the second local data line LIO "for transmitting differential data, stability of data inversion between the local data line LIO and the global data line YIO is ensured.
The data in the local data line LIO is inverted and then transmitted to the global data line YIO, which includes: the sense module 102 is configured to transfer the opposite value of the data in the first local data line LIO to the global data line YIO, and/or the sense module 102 is configured to transfer the data in the second local data line LIO-to the global data line YIO.
In another example, referring to FIG. 17, sense module 102 is coupled to global data line YIO and error detection module 108 for controlling data transfer between global data line YIO and error detection module 108 in accordance with a second control signal 1 "more".
Specifically, if the number of bits occupied by the high-level data exceeds a second preset value, the readout module 102 is configured to flip the data in the global data line YIO and transmit the data to the error detection module 108; if the number of bits occupied by the high-level data does not exceed the second predetermined value, the readout module 102 is configured to transmit the data in the global data line YIO to the error detection module 108.
The array area read-write control unit 107 is connected to the local data line LIO, and is configured to store the original data, the ECC check code, and the second control signal 1 "more" in the storage unit 501. In addition, the array area read-write control unit 107 is further configured to read the original data, the ECC check code, and the second control signal 1 "more" in the memory unit 501 onto the local data line LIO during a read operation.
And the error detection module 108 is configured to determine whether the original data is erroneous during storage according to the ECC check code, and/or correct the error of the erroneous original data.
It should be noted that, in this embodiment, the local data line LIO connection storage unit 501 includes: direct connection and indirect connection. In the present embodiment, the local data line LIO is not directly connected to the memory cell 501, but the memory cell 501 is actually connected to a bit line BitLine, and the bit line is connected to the local data line LIO through column selection.
Compared with the prior art, the first control signal is obtained by comparing the data difference between the external data line and the global data line, and whether the first data inversion is carried out is judged, so that the inversion of the transmission data line is reduced in the data transmission process, and the power consumption of data transmission is saved; acquiring a second control signal by comparing the quantity of low-level data and high-level data in the external data line, and acquiring a third control signal by the first control signal and the second control signal to judge whether the global data line is transmitted to the local data line to perform second data inversion or not so as to ensure the reliability of data storage and reading; judging whether the third overturning is needed during reading by acquiring a second control signal so as to ensure that the read data is the data originally written into the memory; meanwhile, because the on-chip ECC is used, data errors possibly caused by inversion in the writing process of data can be repaired, and the reliability of data storage is ensured.
It should be noted that, in this embodiment, all units are logic units, and in practical application, one logic unit may be one physical unit, may also be a part of one physical unit, and may also be implemented by a combination of multiple physical units. In addition, in order to highlight the innovative part of the present application, a unit that is not so closely related to solving the technical problem proposed by the present application is not introduced in the present embodiment, but this does not indicate that there is no other unit in the present embodiment.
Since the above embodiments correspond to the present embodiment, the present embodiment can be implemented in cooperation with the above embodiments. Related technical details mentioned in the above embodiments are still valid in this embodiment, and the technical effects that can be achieved in the above embodiments can also be achieved in this embodiment, and are not described herein again in order to reduce repetition. Accordingly, the related-art details mentioned in the present embodiment can also be applied to the above-described embodiments.
It will be understood by those of ordinary skill in the art that the foregoing embodiments are specific examples for carrying out the present application, and that various changes in form and details may be made therein without departing from the spirit and scope of the present application in practice.

Claims (23)

1. A signal processing circuit for on-chip ECC for writing data to and reading data from a memory cell, comprising:
the encoding module is connected with an external data line and used for generating an ECC (error correction code) according to original data transmitted in the external data line, wherein the ECC is used for correcting errors generated in the storage process of the original data; the original data and the ECC check code form data to be written;
the judging module is connected with the coding module and the global data line and used for outputting a first control signal representing whether the difference digit of the data to be written and the data currently transmitted by the global data line exceeds a first preset value;
the statistical module is connected with the coding module and used for outputting a second control signal, wherein the second control signal is used for representing whether the bit number occupied by high-level data in the data to be written exceeds a second preset value; the second control signal is stored in the memory cell as marker bit data so as to be read out in the process of reading out data;
the data buffer module, the coding module and the judging module are used for transmitting the data to be written to the global data line or transmitting the data to be written to the global data line after turning the data to be written according to the first control signal;
the write-in module is connected between a local data line and the global data line, controls data in the global data line to be transmitted to the local data line, and judges whether data inversion is performed in the process of transmitting the data in the global data line to the local data line or not based on a third control signal, wherein the third control signal is used for representing whether the value of the first control signal is the same as the value of the second control signal or not;
and the array area read-write control unit is connected with the local data line and is used for storing the original data, the ECC check code and the second control signal into the storage unit.
2. The on-chip ECC signal processing circuit according to claim 1, wherein the array region read-write control unit is further configured to read out the original data, the ECC check code, and the second control signal in the memory cell onto the local data line in a read operation.
3. The on-chip ECC-containing signal processing circuit according to claim 2, further comprising:
the error detection module is used for judging whether the original data has errors during storage according to the ECC check code and/or correcting the error of the original data;
the read module is used for controlling whether the original data and the ECC check code of the local data line need to be turned over or not when the original data and the ECC check code are transmitted backwards according to the read second control signal; if the bit number occupied by the high-level data exceeds the second preset value, the reading module is configured to flip the original data and the ECC check code and finally transmit the original data and the ECC check code to the error detection module; if the bit number occupied by the high-level data does not exceed the second preset value, the reading module is configured to finally transmit the original data and the ECC check code to the error detection module.
4. The on-chip ECC-containing signal processing circuit according to claim 1, wherein the determining module comprises:
the detection unit is connected with the coding module and the global data line and detects the data to be written and the data transmitted by the global data line bit by bit, if the data to be written is different from the data transmitted by the global data line, a first sub-control signal is generated, and if the data to be written is the same as the data transmitted by the global data line, a second sub-control signal is generated;
and an obtaining unit, connected to the detecting unit, configured to obtain the first sub-control signal and the second sub-control signal, and if the number of the first sub-control signals exceeds the first preset value, generate the first control signal, where the first preset value is a preset percentage of a sum of the number of the first sub-control signals and the number of the second sub-control signals.
5. The on-chip ECC-containing signal processing circuit of claim 4, wherein the preset percentage is 50%.
6. The on-chip ECC signal processing circuit as recited in claim 1, wherein the second predetermined value is 50% of the number of bits of the data to be written.
7. The on-chip ECC-containing signal processing circuit according to claim 1, wherein the data buffering module comprises:
the conversion module is used for controlling whether the data to be written needs to be turned over when the data to be written is transmitted to the global data line or not according to a first control signal; if the difference digit exceeds the first preset value, the conversion module is configured to transmit the data to be written to the global data line after being turned over; if the difference bit number does not exceed the first preset value, the conversion module is configured to transmit the data to be written to the global data line.
8. The on-chip ECC-containing signal processing circuit according to claim 7, wherein the conversion module comprises:
one end of the third transmission element is connected with the coding module through the phase inverter, and the other end of the third transmission element is connected with the global data line;
one end of the fourth transmission element is connected with the coding module, and the other end of the fourth transmission element is connected with the global data line;
the third transmission element and the fourth transmission element are further configured to receive the first control signal, and to selectively turn on the third transmission element or the fourth transmission element according to the first control signal.
9. The on-chip ECC-containing signal processing circuit of claim 1, wherein the local data line comprises a first local data line and a second local data line that are differential data transmission lines;
the data in the global data line is turned over in the process of transmitting the data to the local data line, and the data turning method comprises the following steps: the write module is configured to flip data in the global data line and transmit the data to the first local data line, and/or the write module is configured to transmit data in the global data line to the second local data line.
10. The on-chip ECC signal processing circuit according to claim 9, wherein the write module comprises:
and the enabling control module is used for receiving the first control signal and the second control signal and outputting the third control signal for representing whether the first control signal and the second control signal are the same or not.
11. The on-die ECC signal processing circuit of claim 10, wherein the enable control module is further configured to receive a write enable signal, and if the write enable signal is at an active level, output the third control signal indicating whether the first control signal and the second control signal are the same.
12. The on-chip ECC signal processing circuit of claim 10, wherein the enable control module is further configured to receive inverted signals of the first control signal, the second control signal, and a write enable signal, and generate a fourth control signal if the write enable signal is active level, and the third control signal and the fourth control signal are inverted signals.
13. The on-die ECC-containing signal processing circuit of claim 10, wherein the write module comprises:
the first conversion circuit comprises a first MOS tube, a second MOS tube and a third MOS tube;
the grid electrode of the first MOS tube receives the third control signal, the source electrode of the first MOS tube is connected with the global data line, and the drain electrode of the first MOS tube is connected with the first local data line;
the grid electrode of the second MOS tube is connected with the global data line, the drain electrode of the second MOS tube is connected with the second local data line, and the source electrode of the second MOS tube is connected with the drain electrode of the third MOS tube;
and the grid electrode of the third MOS tube receives a third control signal, and the source electrode of the third MOS tube is grounded.
14. The on-chip ECC signal processing circuit according to claim 10, wherein the write module further comprises:
the second conversion circuit comprises a fourth MOS tube, a fifth MOS tube and a sixth MOS tube;
a grid electrode of the fourth MOS tube receives a fourth control signal, a source electrode of the fourth MOS tube is connected with the global data line, a drain electrode of the fourth MOS tube is connected with the second local data line, and the third control signal and the fourth control signal are opposite-phase signals;
the grid electrode of the fifth MOS tube is connected with the global data line, the drain electrode of the fifth MOS tube is connected with the first local data line, and the source electrode of the fifth MOS tube is connected with the drain electrode of the sixth MOS tube;
and the grid electrode of the sixth MOS tube receives the fourth control signal, and the source electrode of the sixth MOS tube is grounded.
15. The on-die ECC signal processing circuit according to claim 10, wherein the global data line comprises a first global data line and a second global data line that are differential data transmission lines;
the write module includes: a first write circuit and a second write circuit;
the first write circuit is configured to control data in the first global data line to be transmitted to the first local data line or data in the second global data line to be transmitted to the first local data line;
the second write circuit is configured to control data in the first global data line to be transferred to the second local data line or to transfer data in the second global data line to the second local data line.
16. The on-chip ECC-containing signal processing circuit according to claim 15, wherein the first write circuit comprises: the MOS transistor comprises a first MOS transistor and a second MOS transistor;
the grid electrode of the first MOS tube receives the third control signal, the source electrode of the first MOS tube is connected with the first global data line, and the drain electrode of the first MOS tube is connected with the first local data line;
a grid electrode of the second MOS tube receives a fourth control signal, a source electrode of the second MOS tube is connected with the second global data line, and a drain electrode of the second MOS tube is connected with the first local data line; the third control signal and the fourth control signal are inverse signals.
17. The on-chip ECC-containing signal processing circuit according to claim 15, wherein the second write circuit comprises: a third MOS transistor and a fourth MOS transistor;
a grid electrode of the third MOS tube receives a fourth control signal, a source electrode of the third MOS tube is connected with the first global data line, a drain electrode of the third MOS tube is connected with the second local data line, and the third control signal and the fourth control signal are mutually opposite-phase signals;
and the grid electrode of the fourth MOS tube receives a third control signal, the source electrode of the fourth MOS tube is connected with the second global data line, and the drain electrode of the fourth MOS tube is connected with the second local data line.
18. The on-chip ECC signal processing circuit according to claim 3, wherein the readout module is connected between the local data line and the global data line, and configured to control data transmission between the local data line and the global data line according to a second control signal, and if the number of bits occupied by the high level data exceeds the second preset value, the readout module is configured to transmit an opposite value of data in the local data line to the global data line; if the bit number occupied by the high-level data does not exceed the second preset value, the reading module is configured to transmit the data in the local data line to the global data line.
19. The on-die ECC signal processing circuit of claim 18, wherein the local data line comprises a first local data line and a second local data line that are differential data transmission lines;
the transmitting the data in the local data line to the global data line after being inverted includes: the sense module is configured to transfer an opposite value of the data in the first local data line to the global data line, and/or the sense module is configured to transfer the data in the second local data line to the global data line.
20. The on-chip ECC-containing signal processing circuit of claim 19, wherein the readout module comprises: a seventh MOS tube, an eighth MOS tube, a ninth MOS tube, a tenth MOS tube and an eleventh MOS tube;
the grid electrode of the seventh MOS tube is connected with the first local data line, the drain electrode of the seventh MOS tube is connected with the global data line, and the source electrode of the seventh MOS tube is connected with the drain electrode of the ninth MOS tube;
the grid electrode of the eighth MOS transistor is connected with the second local data line, the drain electrode of the eighth MOS transistor is connected with the global data line, and the source electrode of the eighth MOS transistor is connected with the drain electrode of the tenth MOS transistor;
the grid electrode of the ninth MOS tube receives the second control signal, and the source electrode of the ninth MOS tube is connected with the drain electrode of the eleventh MOS tube;
a grid electrode of the tenth MOS tube receives a fifth control signal, a source electrode of the tenth MOS tube is connected with a drain electrode of the eleventh MOS tube, and the second control signal and the fifth control signal are mutually inverse signals;
and the grid electrode of the eleventh MOS tube receives a read enabling signal, and the source electrode of the eleventh MOS tube is grounded.
21. The on-chip ECC signal processing circuit according to claim 3, wherein the readout module is connected to the global data line and the error detection module, and configured to control data transmission between the global data line and the error detection module according to a second control signal, and if the bit occupied by the high-level data exceeds the second preset value, the readout module is configured to flip the data in the global data line and transmit the data to the error detection module; if the bit number occupied by the high-level data does not exceed the second preset value, the reading module is configured to transmit the data in the global data line to the error detection module.
22. The on-chip ECC-containing signal processing circuit of claim 21, wherein the readout module comprises:
one end of the first transmission element is connected with the global data line through an inverter, and the other end of the first transmission element is connected with the error detection module;
one end of the second transmission element is connected with the global data line, and the other end of the second transmission element is connected with the error detection module;
the first transmission element and the second transmission element are further configured to receive the second control signal, and to turn on the first transmission element or the second transmission element according to the second control signal.
23. A memory comprising the signal processing circuit including an on-chip ECC as claimed in any one of claims 1 to 22, further comprising: and the storage unit is connected with a local data line, and the local data line is used for writing data into the storage unit and reading data out of the storage unit.
CN202110402430.6A 2021-04-14 2021-04-14 Signal processing circuit and memory including on-chip ECC Active CN112992258B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110402430.6A CN112992258B (en) 2021-04-14 2021-04-14 Signal processing circuit and memory including on-chip ECC

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110402430.6A CN112992258B (en) 2021-04-14 2021-04-14 Signal processing circuit and memory including on-chip ECC

Publications (2)

Publication Number Publication Date
CN112992258A true CN112992258A (en) 2021-06-18
CN112992258B CN112992258B (en) 2022-05-31

Family

ID=76339738

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110402430.6A Active CN112992258B (en) 2021-04-14 2021-04-14 Signal processing circuit and memory including on-chip ECC

Country Status (1)

Country Link
CN (1) CN112992258B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115061852A (en) * 2022-08-15 2022-09-16 广东科伺智能科技有限公司 Functional board card, production system of functional board card and use method of servo system

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100241928A1 (en) * 2009-03-18 2010-09-23 Jaehong Kim Data Processing System Having ECC Encoding and Decoding Circuits Therein with Code Rate Selection Based on Bit Error Rate Detection
US20110035644A1 (en) * 2009-03-06 2011-02-10 Texas Instruments Incorporated Data Path Read/Write Sequencing for Reduced Power Consumption
CN104269190A (en) * 2014-08-26 2015-01-07 上海华虹宏力半导体制造有限公司 Data verification method of memory
CN105845167A (en) * 2015-01-30 2016-08-10 爱思开海力士有限公司 Data transmission circuit
CN110299910A (en) * 2018-03-23 2019-10-01 爱思开海力士有限公司 Data transmission devices and semiconductor devices including data transmission devices
CN211125039U (en) * 2019-10-25 2020-07-28 长鑫存储技术(上海)有限公司 Write operation circuit and semiconductor memory
CN111863049A (en) * 2020-07-27 2020-10-30 安徽大学 Sense amplifier, memory and control method of sense amplifier
US20210005276A1 (en) * 2019-07-05 2021-01-07 Winbond Electronics Corp. Semiconductor memory apparatus and method for reading the same
CN112634955A (en) * 2019-09-24 2021-04-09 长鑫存储技术有限公司 DRAM memory

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110035644A1 (en) * 2009-03-06 2011-02-10 Texas Instruments Incorporated Data Path Read/Write Sequencing for Reduced Power Consumption
US20100241928A1 (en) * 2009-03-18 2010-09-23 Jaehong Kim Data Processing System Having ECC Encoding and Decoding Circuits Therein with Code Rate Selection Based on Bit Error Rate Detection
CN104269190A (en) * 2014-08-26 2015-01-07 上海华虹宏力半导体制造有限公司 Data verification method of memory
CN105845167A (en) * 2015-01-30 2016-08-10 爱思开海力士有限公司 Data transmission circuit
CN110299910A (en) * 2018-03-23 2019-10-01 爱思开海力士有限公司 Data transmission devices and semiconductor devices including data transmission devices
US20210005276A1 (en) * 2019-07-05 2021-01-07 Winbond Electronics Corp. Semiconductor memory apparatus and method for reading the same
CN112634955A (en) * 2019-09-24 2021-04-09 长鑫存储技术有限公司 DRAM memory
CN211125039U (en) * 2019-10-25 2020-07-28 长鑫存储技术(上海)有限公司 Write operation circuit and semiconductor memory
CN111863049A (en) * 2020-07-27 2020-10-30 安徽大学 Sense amplifier, memory and control method of sense amplifier

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
卞振鹏等: "4 Gbps低功耗并串转换CMOS集成电路", 《电子与封装》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115061852A (en) * 2022-08-15 2022-09-16 广东科伺智能科技有限公司 Functional board card, production system of functional board card and use method of servo system

Also Published As

Publication number Publication date
CN112992258B (en) 2022-05-31

Similar Documents

Publication Publication Date Title
US6700827B2 (en) Cam circuit with error correction
US10614906B2 (en) Semiconductor memory devices, memory systems and methods of operating semiconductor memory devices
US11314591B2 (en) Apparatuses and methods for error correction coding and data bus inversion for semiconductor memories
KR20120010664A (en) Static random access memory device including negative voltage level shifter
CN112885388B (en) Data transmission circuit and memory
US8520452B2 (en) Data bus power-reduced semiconductor storage apparatus
CN112992258B (en) Signal processing circuit and memory including on-chip ECC
US11894089B2 (en) Memory with error checking and correcting unit
US7372763B2 (en) Memory with spatially encoded data storage
CN114203228B (en) Memory device
US11947810B2 (en) Semiconductor memory device and memory system including the same
CN113035263B (en) Signal processing circuit and memory containing channel ECC
CN114255802B (en) integrated circuit
CN112885389B (en) Double-end data transmission circuit and memory
CN211404065U (en) Read operation circuit and semiconductor memory
CN115440261A (en) Control circuit and memory
CN115440265A (en) Memory device
CN102332295B (en) Memory circuit and method for reading data by applying same
WO2024036723A1 (en) Counting circuit and memory
CN111108559B (en) Power reduction techniques during write bursts
CN117636950A (en) Data access processing structure, data access processing method and memory
CN115579031A (en) Sense amplifier, method of operating the same, memory and memory system
CN116343891A (en) Memory block and memory
CN116312673A (en) Data self-refreshing circuit, chip and electronic equipment
CN115579032A (en) Sense amplifier, method of operating the same, memory and memory system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant