Internal error checking circuitry and memory
Patent Information
- Application Number
- TW114118916
- Authority / Receiving Office
- TW · TW
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2024-12-03
- Filing Date
- 2025-05-20
- Publication Date
- 2026-08-11
- Estimated Expiration
- 2045-05-19
AI Technical Summary
With increasing data transmission rates and smaller storage cell sizes in DRAM devices, charge leakage and data instability lead to higher error rates, necessitating an effective internal error checking mechanism to ensure data integrity and system reliability.
An internal error checking circuit is introduced, comprising a clock generation circuit, internal command generation circuit, address generation circuit, control logic circuit, and error correction circuit, which reuses existing circuits to perform periodic read-modify-write operations on storage arrays, enabling error detection and correction without affecting the timing of self-refresh or external operations.
The solution optimizes circuit design, saves area, and enhances data stability by implementing periodic error detection and correction, reusing existing circuits for both internal and external operations in DRAM chips.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of semiconductor technology, and more particularly to an internal error checking circuit and a memory. Prior Technology
[0002] With the continuous development of semiconductor technology, people have placed increasingly higher demands on data transmission rates when manufacturing and using devices such as computers. In order to obtain faster data transmission speeds, a series of dynamic random access memory (DRAM) devices capable of transmitting data at double data rate (DDR) have emerged.
[0003] However, with increasingly faster memory transfer rates, smaller storage cell sizes, and row hammering, problems such as charge leakage in DRAM memory are becoming more severe, potentially increasing data instability and potential error rates in the storage system. Therefore, an appropriate internal error checking mechanism is needed to periodically check the memory for errors and promptly correct any detected errors to ensure data integrity and system reliability. Summary of the Invention
[0004] This disclosure provides an internal error checking circuit and memory.
[0005] In a first aspect, embodiments of this disclosure provide an internal error checking circuit, including: a clock generation circuit, an internal command generation circuit, an address generation circuit, a control logic circuit, and an error correction circuit; the clock generation circuit is configured to generate and output a self-refresh clock signal in response to a self-refresh enable signal; the internal command generation circuit is configured to receive the self-refresh clock signal and an error checking enable signal, count the self-refresh clock signal when the error checking enable signal indicates that the internal error checking function is enabled, and generate and output a command when the count value of the self-refresh clock signal is a first preset value. An internal error checking command signal is received; the address generation circuit is configured to receive the internal error checking command signal and count the internal error checking command signal to generate and output an internal error checking address; the control logic circuit is configured to receive the internal error checking command signal and the internal error checking address, and in response to the internal error checking command signal, control the error correction circuit to sequentially perform an internal read-modify-write operation on the target storage cell corresponding to the internal error checking address in multiple storage arrays; wherein the multiple storage arrays share the error correction circuit.
[0006] In some embodiments, the control logic circuit includes multiple storage array control circuits, each corresponding to one of the multiple storage arrays; each storage array control circuit is configured to receive the internal error checking command signal and the internal error checking address, sequentially generate multiple sets of internal signals in response to the internal error checking command signal, and, when the corresponding storage array is enabled, control the error correction circuit to perform an internal read-modify-write operation on the target storage cell in the corresponding storage array according to the corresponding set of internal signals; wherein, each set of internal signals includes an internal read signal and an internal write signal.
[0007] In some embodiments, the error correction circuit is configured to read stored data from the target storage unit according to the internal read signal, and perform error detection and correction on the stored data to generate correction data; the error correction circuit is further configured to write the correction data into the target storage unit according to the internal write signal.
[0008] In some embodiments, the internal command generation circuit is further configured to generate and output an internal self-refresh command signal in response to each pulse on the self-refresh clock signal when the error check enable signal indicates that the internal error check function is not enabled; and to generate and output an internal self-refresh command signal when the error check enable signal indicates that the internal error check function is enabled and the count value of the self-refresh clock signal is not a first preset value.
[0009] In some embodiments, the control logic circuit is further configured to control the error correction circuit to perform an internal read-modify-write operation on all storage arrays after sequentially performing an internal read-modify-write operation on the target storage cell corresponding to the internal error check address in the plurality of storage arrays.
[0010] In some embodiments, the address generation circuit includes a column address generation circuit, a first decoding circuit, and a row address generation circuit; the column address generation circuit is configured to receive the internal error checking command signal, count columns of the current storage row according to the internal error checking command signal, and generate and output a target column address; the first decoding circuit is configured to decode the target column address, and generate and output a column end signal when the target column address indicates that the column counting of the current storage row is complete; the row address generation circuit is configured to receive the column end signal and the internal error checking command signal, count rows of the storage array according to the column end signal, and generate and output a target row address signal.
[0011] In some embodiments, the row address generation circuit includes: a row counting circuit configured to receive the column end signal, count rows in the storage array according to the column end signal, generate and output a row count value; and a row address sampling circuit configured to receive the internal error checking command signal and the row count value, sample the row count value in response to the internal error checking command signal, generate and output the target row address signal.
[0012] In some embodiments, the address generation circuit further includes a refresh address generation circuit, configured to receive the internal self-refresh command signal, and perform row counting on the storage array according to the internal self-refresh command signal to generate and output a self-refresh address; the control logic circuit is further configured to control all storage arrays to perform a refresh operation once based on the self-refresh address.
[0013] In some embodiments, the column address generation circuit includes N cascaded first flip-flops, where N is an integer greater than or equal to 1; the clock control terminal of the first-stage first flip-flop serves as the input terminal of the column address generation circuit, receiving the internal error check command signal; the inverted output terminal of each stage of the first flip-flop is connected to its own data entry terminal; the clock control terminals of the other first flip-flops besides the first-stage first flip-flops are all connected to the inverted output terminal of the previous stage's first flip-flop; the non-inverted output terminals of the N first flip-flops jointly output the target column address; the first decoding circuit includes a first inverting gate, the N input terminals of the first inverting gate are respectively connected to the non-inverted output terminals of the N first flip-flops, and the output terminal of the first inverting gate is used to output the column end signal.
[0014] In some embodiments, the row counting circuit includes M cascaded second flip-flops, where M is an integer greater than or equal to 1; the clock control terminal of the first-stage second flip-flop serves as the input terminal of the row counting circuit, receiving the column end signal; the inverted output terminal of each stage of the second flip-flop is connected to its own data entry terminal; the clock control terminals of the other second flip-flops besides the first-stage second flip-flops are all connected to the inverted output terminal of the previous stage of the second flip-flops; the non-inverted output terminals of the M second flip-flops jointly output the row count value; the row address sampling circuit includes M third flip-flops; the clock control terminal of each third flip-flop receives the internal error check command signal; the data entry terminals of the M third flip-flops are connected one-to-one with the non-inverted output terminals of the M second flip-flops, receiving the row count value; the non-inverted output terminals of the M third flip-flops jointly output the target row address.
[0015] In some embodiments, the storage array control circuit includes: an identifier signal generation circuit configured to receive the internal error check command signal and, in response to the internal error check command signal, generate and output an operation identifier signal at a valid level; a read / write command generation circuit configured to receive the operation identifier signal and the internal error check command signal, and, in response to the internal error check command signal, sequentially generate multiple sets of internal signals while the operation identifier signal is at a valid level; the identifier signal generation circuit is further configured to receive the internal write signal and, when the count value of the internal write signal reaches a second preset value, set the operation identifier signal to an invalid level.
[0016] In some embodiments, the identification signal generation circuit includes: a command counting circuit configured to count the inverted signal of the internal write signal to generate and output a count value of the internal write signal; a second decoding circuit configured to receive the count value of the internal write signal and generate and output an operation end signal when the count value of the internal write signal reaches a second preset value; and an SR trigger configured to receive the internal error check command signal and the operation end signal, and in response to the internal error check command signal, set the operation identification signal to an active level, and set the operation identification signal to an inactive level when the count value of the internal write signal reaches the second preset value.
[0017] In some embodiments, the read / write command generation circuit includes: a second inverse OR gate, the first input terminal of which receives the operation identifier signal, and the second input terminal of which receives the internal error check command signal; a first inverse OR gate, the first input terminal of which is electrically connected to the output terminal of the second inverse OR gate, the output terminal of which is used to output the internal read signal; and a second inverse OR gate, the first input terminal of which is electrically connected to the output terminal of the first inverse OR gate, and the output terminal of which is electrically connected to the second input terminal of the first inverse OR gate. The delay unit has an input terminal electrically connected to the output terminal of the first inverse OR gate; the first inverse gate has an input terminal electrically connected to the output terminal of the delay unit, and its output terminal is electrically connected to the second input terminal of the second inverse OR gate; the second inverse gate has an input terminal that receives the operation identifier signal; the third inverse OR gate has a first input terminal electrically connected to the output terminal of the second inverse gate, and its second input terminal is electrically connected to the output terminal of the first inverse OR gate, and its output terminal is used to output the internal write signal.
[0018] In some embodiments, the storage array control circuit further includes a self-refresh control circuit, configured to receive the operation identifier signal and the self-refresh address, and when the operation identifier signal flips to an invalid level, control the corresponding storage array to perform a refresh operation according to the self-refresh address.
[0019] In some embodiments, the error correction circuit is further configured to generate and output an error identification signal when an error exists in the stored data of the target storage unit during an internal read-modify-write operation on the target storage unit; the internal error checking circuit further includes an error register configured to receive the internal error checking address and the error identification signal, and in response to the error identification signal, store the internal error checking address.
[0020] In a second aspect, embodiments of this disclosure provide a memory that includes internal error checking circuitry as described in the first aspect.
[0021] This disclosure provides an internal error checking circuit and a memory. The internal command generation circuit in the internal error checking circuit can "steal" the current pulse on the self-refresh clock signal to generate an internal error checking command signal whenever the error checking enable signal indicates that the internal error checking function is enabled and the count value of the self-refresh clock signal reaches a first preset value. The control logic circuit can then use this internal error checking command signal to reuse the original operation circuit and path for executing external read-modify-write commands, and control the error correction circuit to sequentially perform an internal read-modify-write operation on the target storage unit in the multiple storage arrays that share it. Since the internal read-modify-write operation performed by the error correction circuit has the function of data error detection / correction. In this way, the memory error checking circuit can reuse the original clock generation circuit (for self-refresh operation), the operation circuit and path for executing external read-modify-write commands, without affecting the timing of the original self-refresh operation and external read-modify-write operation. Moreover, only simple improvements are needed to the original internal command generation circuit, address generation circuit and control logic circuit to realize periodic data error detection / correction operations for multiple storage arrays. While implementing the internal error checking mechanism to effectively improve the stability of stored data, the circuit design is optimized and circuit area is saved. Simple Explanation of the Diagram
[0022] Figure 1 is a schematic diagram of the composition structure of an internal error checking circuit provided in an embodiment of this disclosure; Figure 2 is a schematic diagram of the composition structure of a control logic circuit provided in an embodiment of this disclosure; Figure 3 is a schematic diagram of the composition structure of a storage area provided in an embodiment of this disclosure; Figure 4 is a signal timing diagram of an internal error checking circuit provided in an embodiment of this disclosure. Figure 5 is a schematic diagram of the composition structure of an address generation circuit provided in an embodiment of this disclosure; Figure 6 is a signal timing diagram of an internal error checking circuit provided in an embodiment of this disclosure; Figure 7 is a schematic diagram of the composition structure of a row address generation circuit provided in an embodiment of this disclosure; Figure 8 is a schematic diagram of the composition structure of a column address generation circuit provided in an embodiment of this disclosure; Figure 9 is a schematic diagram of the composition structure of a first decoding circuit provided in an embodiment of this disclosure; Figure 10 is a schematic diagram of the composition structure of a row counting circuit and a row address sampling circuit provided in an embodiment of this disclosure; Figure 11 is a schematic diagram of the composition structure of a storage array control circuit provided in an embodiment of this disclosure; Figure 12 is a schematic diagram of the composition structure of an identification signal generation circuit provided in an embodiment of this disclosure; Figure 13 is a schematic diagram of the composition structure of another storage array control circuit provided in an embodiment of this disclosure; Figure 14 is a schematic diagram of the composition structure of a read / write command generation circuit provided in an embodiment of this disclosure; Figure 15 is a schematic diagram of the composition structure of another internal error checking circuit provided in an embodiment of this disclosure; Figure 16 is a schematic diagram of the composition structure of a memory provided in an embodiment of this disclosure. Implementation
[0023] The technical solutions of the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are for illustrative purposes only and are not intended to limit the disclosure. Furthermore, it should be noted that, for ease of description, only the parts relevant to the disclosure are shown in the drawings.
[0024] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. The terminology used herein is for the purpose of describing embodiments of this disclosure only and is not intended to limit this disclosure.
[0025] In the following description, references are made to "some embodiments," which describe a subset of all possible embodiments. However, it is understood that "some embodiments" may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0026] It should be noted that the terms "first", "second", and "third" used in the embodiments of this disclosure are merely to distinguish similar objects and do not represent a specific order of objects. It is understood that "first", "second", and "third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this disclosure described herein can be implemented in an order other than that illustrated or described herein.
[0027] To establish a suitable internal error checking mechanism for periodically performing error detection / correction operations on multiple storage arrays (within memory), this disclosure provides an internal error checking circuit including a clock generation circuit, an internal command generation circuit, an address generation circuit, a control logic circuit, and an error correction circuit. The clock generation circuit is configured to generate and output a self-refresh clock signal in response to a self-refresh enable signal. The internal command generation circuit is configured to receive the self-refresh clock signal and the error checking enable signal, and count the pulses on the self-refresh clock signal when the error checking enable signal is at a valid level. When the count value of the self-refresh clock signal reaches a first preset value, an internal error check command signal is generated and output. The address generation circuit is configured to receive the internal error check command signal and count the internal error check command signal to generate and output the internal error check address. The control logic circuit is configured to receive the internal error check command signal and the internal error check address, and respond to the internal error check command signal by controlling the error correction circuit to perform an internal read-modify-write operation on the target storage cell corresponding to the internal error check address in multiple storage arrays in sequence. The error correction circuit is shared by multiple storage arrays. Thus, when the error checking enable signal indicates that the internal error checking function is enabled, and whenever the count value of the self-refresh clock signal reaches the first preset value, the internal command generation circuit can "steal" the current pulse on the self-refresh clock signal to generate an internal error checking command signal. The control logic circuit can also reuse the original operation circuit and path for executing external read-modify-write commands, and control the error correction circuit to perform an (internal) read-modify-write operation on the target storage cells in the multiple storage arrays that share it, based on the internal error checking command signal. Since the internal read-modify-write operation performed by the error correction circuit has the function of data error detection / correction. In this way, the memory error checking circuit can reuse the original clock generation circuit (for self-refresh operation), the operation circuit and path for executing external read-modify-write commands, without affecting the timing of the original self-refresh operation and external read-modify-write operation. Moreover, only simple improvements are needed to the original internal command generation circuit, address generation circuit and control logic circuit to realize periodic data error detection / correction operations for multiple storage arrays. While implementing the internal error checking mechanism to effectively improve the stability of stored data, the circuit design is optimized and circuit area is saved.
[0028] The embodiments of this disclosure will now be described in detail with reference to the accompanying drawings.
[0029] In one embodiment of this disclosure, referring to FIG1, a schematic diagram of the composition structure of an internal error checking circuit 10 provided in this embodiment is shown. As shown in FIG1, the internal error checking circuit 10 includes: a clock generation circuit 11, an internal command generation circuit 12, an address generation circuit 13, a control logic circuit 14, and an error correction circuit 16, wherein,
[0030] The clock generation circuit 11 is configured to generate and output a self-refresh clock signal SR_CLK in response to the self-refresh enable signal SR_EN; wherein the self-refresh clock signal SR_CLK has a first preset period;
[0031] The internal command generation circuit 12 is configured to receive the self-refresh clock signal SR_CLK and the error check enable signal, count the pulses on the self-refresh clock signal SR_CLK when the error check enable signal indicates that the internal error check function is enabled, and generate and output an internal error check command signal IMWRAB when the count value of the self-refresh clock signal SR_CLK is a first preset value.
[0032] Address generation circuit 13 is configured to receive internal error check command signal IMWRAB, count the internal error check command signal IMWRAB, and generate and output internal error check address IMWR_AD;
[0033] Control logic circuit 14 is configured to receive internal error checking command signal IMWRAB and internal error checking address IMWR_AD, and respond to internal error checking command signal IMWRAB by controlling error correction circuit 16 to perform an internal read-modify-write operation on the target storage cell corresponding to internal error checking address IMWR_AD in multiple storage arrays 15 in sequence;
[0034] Multiple storage arrays 15 share an error correction circuit 16.
[0035] It should be noted that the embodiments disclosed herein relate to the overall circuit framework design of an internal error checking and correction mechanism, particularly in DRAM LPDDR series chips and DRAM DDR4 chips. Since the ECS function is only specified in the SPEC of DRAM DDR4 chips, while the SEPC of LPDDR series chips and DDR4 chips does not specify the ECS function or related requirements, it is impossible to use the ECS function to periodically (perhaps every 12 hours / 24 hours / 48 hours, etc.) perform complete error checking and clearing on such DRAM chips. Therefore, to implement an internal error checking and correction mechanism similar to ECS in such chips, it is necessary to complete the overall framework design of the internal error checking circuit without affecting the original functions and timing requirements of the DRAM chip. This internal error checking circuit reuses the original clock generation circuit, self-refresh command path, and operation circuit and path for executing external read-modify-write commands. It does not affect the original functions and timing of the DRAM chip's self-refresh operation and external read-modify-write operation. Only simple improvements are needed to the original internal command generation circuit, address generation circuit, and control logic circuit to achieve a periodic internal error checking and correction mechanism. This internal error checking circuit can be applied to DDR4 chips and LPDDR series chips, but it is not limited to this scope. Other memory chips, as well as other internal command generation and timing control, can also adopt this design.
[0036] It should also be noted that in related technologies, when the external write command received by the DRAM chip is a masked write (MWR) command, an external read-modify-write (RMW) operation will be performed. The external read-modify-write operation can be decomposed into three operation steps: read, modify, and write back. Specifically, read: the error correction circuit first reads the stored data from the storage array; modify: the error correction circuit modifies the read stored data according to the partial data to be written to generate write data, and can generate new verification data based on the write data; write back: the error correction circuit stores the write data and the verification data. The internal error checking circuit 10 of this embodiment reuses the relevant circuits and paths of the original external read-modify-write operation of the DRAM chip to perform internal read-modify-write operation on the stored data in the storage array to realize the internal error detection / correction function. The internal read-modify-write operation can be decomposed into two operation steps: read-modify and write-back. Specifically, read-modify: the error correction circuit 16 reads the stored data from the storage array 15 based on the internal read signal IRD, and performs error detection and correction on the stored data based on the verification data to generate correction data. Write: the correction data is written into the storage array based on the internal write signal IWR. The read and modification operations are both completed during the valid period of the write command signal and should belong to the same operation step. Therefore, it can be seen that although the internal read-modify-write operation in this embodiment reuses the relevant circuits (error correction circuit 16) and paths (interaction path between control logic circuit 14, error correction circuit 16 and storage array 15) of the external read-modify-write operation, there is a difference between the internal read-modify-write operation and the external read-modify-write operation. The modification in the external read-modify-write operation refers to modifying the stored data read according to the data to be written, while there is no external input data to be written in the internal read-modify-write operation. Its modification is actually to perform error detection and error correction operations on the stored data read. Furthermore, performing an internal read-modify-write operation can be considered as completing an internal error checking operation. Since the error correction circuit 16 reads the storage array based on the internal error checking command, it can only read a few bits of stored data from one storage address (internal error checking address) at a time. These bits can be 64 bits, 128 bits, 256 bits, etc. Therefore, it is necessary to count the columns and rows of the storage array based on each internal error checking command to traverse each storage address in the storage array. In this way, each internal error checking command can generate an internal error checking address, thereby ensuring that internal read-modify-write operations can be performed on the stored data in all storage cells of the storage array. Performing an internal read-modify-write operation on all storage cells of the storage array can be considered as completing one round of internal error checking operations.
[0037] As shown in Figure 1, the clock generation circuit 11 is used to generate a self-refresh clock signal SR_CLK when the self-refresh enable signal SR_EN indicates that the memory has entered the self-refresh state. Without an internal error checking function, the internal command generation circuit 12 can generate a self-refresh command signal IREFAB based on each pulse on the self-refresh clock signal SR_CLK to control the execution of one self-refresh operation. With the introduction of an internal error checking function, the clock generation circuit 11 and the internal command generation circuit 12 can be reused, and the internal command generation circuit 12 can be simply improved. Specifically, the internal command generation circuit 12 can receive the error checking enable signal IMWR_EN. When the error checking enable signal IMWR_EN is at a valid level, it indicates that the internal error checking function is enabled. The internal command generation circuit 12 needs to periodically "steal" one pulse from the self-refresh clock signal SR_CLK to generate the internal error checking command signal IMWRAB, that is, whenever the count value of the self-refresh clock signal SR_CLK is the first preset value... An internal error check command signal IMWRAB is generated and output, and simultaneously sent to the address generation circuit 13 and the control logic circuit 14 to control the execution of the internal read-modify-write operation. At this time, the internal self-refresh command signal IREFAB is no longer generated based on the pulse on the self-refresh clock signal SR_CLK that has been "stolen". When the error check enable signal IMWR_EN is at an invalid level, it indicates that the internal error check function is not enabled. The internal command generation circuit 12 generates the internal self-refresh command signal IREFAB based on the self-refresh clock signal SR_CLK and executes the relevant functions of the original self-refresh operation.
[0038] It should be noted that the count value of the self-refresh clock signal SR_CLK refers to the count value generated by counting the pulses on the self-refresh clock signal SR_CLK; and after generating the internal error check command signal IMWRAB, the internal command generation circuit 12 needs to reset the count value of the self-refresh clock signal SR_CLK to 0 to ensure that the time interval for generating the internal error check command signal IMWRAB is the same.
[0039] In some embodiments, the first preset value can be any integer greater than 1, that is, every first preset value of pulses, the internal command generation circuit 12 generates an internal error check command signal IMWRAB based on the self-refresh clock signal SR_CLK; in other embodiments, the first preset value is 1, that is, each pulse on the self-refresh clock signal SR_CLK corresponds to the generation of an internal error check command signal IMWRAB. In this case, since the internal command generation circuit 12 does not generate a self-refresh command signal IREFAB based on the self-refresh clock signal SR_CLK, in order to ensure the normal execution of the self-refresh operation, a self-refresh operation needs to be performed immediately after each internal read-modify-write operation is completed.
[0040] In this embodiment of the disclosure, the valid level is a high level (logic "1") and the invalid level is a low level (logic "0"); in some other embodiments, the invalid level may also be a high level (logic "1") and the valid level may be a low level (logic "0"), and there is no limitation on this.
[0041] In some embodiments, the clock generation circuit 11 can be an oscillator with a control terminal. When an external Self-Refresh Entry (SRE) command instructs the memory to enter a self-refresh state, a self-refresh enable signal SR_EN is activated. The control terminal of the oscillator starts oscillating upon receiving the self-refresh enable signal SR_EN in the activated state, generating and outputting a self-refresh clock signal SR_CLK. The period of the self-refresh clock signal can be set according to the interval of the self-refresh command signal or the self-refresh period, and typically, the duty cycle of the self-refresh clock signal SR_CLK is less than 50%. In this embodiment, the self-refresh enable signal SR_EN is in the activated state when it is high (logic "1") and in the deactivated state when it is low (logic "0"); in other embodiments, the self-refresh enable signal SR_EN is in the deactivated state when it is high (logic "1") and in the activated state when it is low (logic "0"), and this is not limited in any way.
[0042] Referring again to Figure 1, the address generation circuit 13 generates the corresponding internal error check address IMWR_AD according to the internal error check command signal IMWRAB output by the internal command generation circuit 12, so as to indicate the target storage cell for performing this internal error check operation (internal read-modify-write operation), so that the control logic circuit 14 can control the error correction circuit 16 to perform an internal read-modify-write operation on the target storage cells in the multiple storage arrays 15 in sequence according to the internal error check command signal IMWRAB. The internal error check address IMWR_AD includes the target row address and the target column address. This internal error check address IMWR_AD is shared by multiple storage arrays 15, meaning that each storage array 15 contains the target storage cell indicated by the internal error check address IMWR_AD. Moreover, the error correction circuit 16 is shared by multiple storage arrays 15, and the error correction circuit 16 can only perform an internal read-modify-write operation on the target storage cell in one storage array 15 at a time. Therefore, based on each internal error check command signal IMWRAB and the corresponding internal error check address IMWR_AD, the error correction circuit 16 needs to perform an internal read-modify-write operation on the target storage cell in each storage array 15 in sequence. That is, the error correction circuit 16 actually performs multiple internal read-modify-write operations (corresponding to multiple sets of internal signals IRD / IWR) in sequence before it can complete the internal error check operation (internal read-modify-write operation) corresponding to the current internal error check command signal IMWRAB.
[0043] In some embodiments, the error correction circuit 16 can be an on-die ECC circuit. The error correction circuit 16 can generate verification data for the write data written to the storage array 15, and can also use the stored data and verification data read from the storage array 15 to check and correct errors in the stored data. The internal read-modify-write operation in this disclosure utilizes the function of the error correction circuit 16 to check and correct errors in the stored data. Furthermore, the error correction circuit 16 can use encoding methods such as Hamming code, RS code, and convolutional code, which are not specifically limited here.
[0044] Further, regarding the composition of the control logic circuit 14, as shown in Figure 2, the control logic circuit 14 includes multiple storage array control circuits 141, which correspond one-to-one with multiple storage arrays 15. Each storage array control circuit 141 is configured to receive an internal error checking command signal IMWRAB and an internal error checking address IMWR_AD, and in response to the internal error checking command signal IMWRAB, sequentially generate multiple sets of internal signals IRD / IWR. When the corresponding storage array 15 is in an enabled state, it controls the error correction circuit 16 to perform an internal read-modify-write operation on the target storage cell in the corresponding storage array 15 according to the corresponding set of internal signals IRD / IWR. Each set of internal signals IRD / IWR includes an internal read signal IRD and an internal write signal IWR.
[0045] It should be noted that in the DRAM chip, each storage array 15 can correspond to a storage array control circuit 141. The storage array control circuit 141 can not only control the error correction circuit 16 to perform internal read-modify-write operations on the corresponding storage array 15, but also control the error correction circuit 16 to perform external read-modify-write operations on the corresponding storage array 15. That is, the internal error checking circuit 10 of this embodiment realizes the related circuits (storage array control circuit 141 and error correction circuit 16) and paths (interaction paths between storage array control circuit 141, error correction circuit 16 and storage array 15) of the original external read-modify-write operations. With only a simple improvement to the storage array control circuit 141, internal read-modify-write operations can be performed on the stored data in the storage array 15 to realize the internal error detection / correction function.
[0046] In addition, the storage array control circuit 141 can also control the corresponding storage array 15 to perform external read-modify-write operations and normal read-write operations. Specifically, the storage array control circuit 141 can control the corresponding storage cells in the storage array to perform word line activation, charge sharing, data amplification, data reading, data writing, pre-charging, and other operations in sequence according to information such as start command signal, read / write command signal, pre-charge signal, row address, and column address, so as to realize the correct reading or writing of stored data.
[0047] For example, if four storage arrays 15 (BA0, BA1, BA2, BA3) share one error correction circuit 16, the control logic circuit 14 includes four storage array control circuits 141 (BA Logic0, BA Logic1, BA Logic2, BA Logic3), corresponding one-to-one with the four storage arrays 15. Each storage array control circuit 141 generates four sets of internal signals IRD / IWR (IRD0 / IWR0, IRD1 / IWR1, IRD2 / IWR2, IRD3 / IWR3), sequentially enabling the four storage arrays BA0, BA1, BA2, and BA3. This ensures that the error correction circuit 16 performs internal read-modify-write operations on only one storage array 15 at a time. In the first time period T0, each storage array control circuit sends the first set of internal signals IRD0 / IWR0. At this time, storage array BA0 is enabled, while the other storage arrays BA1, BA2, and BA3 are not enabled. The error correction circuit 16 only receives the signals from the corresponding storage array control circuit BA0. Logic0 sends the first set of internal signals IRD0 / IWR0, controlling an internal read-modify-write operation on the target storage cell in storage array BA0. In the second time period T1, each storage array control circuit sends the second set of internal signals IRD1 / IWR1. At this time, storage array BA1 is enabled, while other storage arrays BA0, BA2, and BA3 are disabled. Error correction circuit 16 only receives the second set of internal signals IRD1 / IWR1 from the corresponding storage array control circuit BA1, controlling an internal read-modify-write operation on the target storage cell in storage array BA1. Similarly, in the third time period T2, error correction circuit 16 only receives the third set of internal signals IRD2 / IWR2 from the corresponding storage array control circuit BA2, controlling an internal read-modify-write operation on the target storage cell in storage array BA2. In the third time period T3, error correction circuit 16 only receives the third set of internal signals IRD2 / IWR2 from the corresponding storage array control circuit BA2. The fourth set of internal signals IRD3 / IWR3 sent by Logic3 controls the execution of an internal read-modify-write operation on the target storage cell in storage array BA3. Thus, based on the set of internal signals sent by the corresponding storage array control circuit, the error correction circuit 16 sequentially performs an internal read-modify-write operation on the target storage cells in the four storage arrays BA0, BA1, BA2, and BA3.
[0048] Referring to Figure 3, it shows a schematic diagram of the layout of a storage array 15, a storage array control circuit 141, and an error correction circuit 16 provided in an embodiment of this disclosure. In the example shown in Figure 3, the storage region (also called the core region) includes 8 storage groups (Bank Groups, BG): BG0-BG7. Different storage groups can operate synchronously. Each storage group corresponds to an error correction circuit 16: ECC0-ECC7. Each storage group includes 4 storage arrays 15 (also called storage banks, BA): BA0, BA1, BA2, and BA3. The 4 storage arrays BA0, BA1, BA2, and BA3 in each storage group share one error correction circuit 16. Each storage bank in each storage group corresponds to a storage array control circuit 141 (also called storage bank logic circuit). Taking BA3 in BG1 as an example, storage array BA3 includes m rows: ROW0-ROWm and n columns: Col0-Coln. In Figure 3, a circle represents multiple storage cells corresponding to a storage address. Specifically, in storage array BA3, multiple storage cells can be located based on a storage address (including row address ROW0 and row address Col0). Each internal read-modify-write operation is for multiple storage cells corresponding to a storage address in storage array 15.
[0049] In some embodiments, the internal command generation circuit 12 and the address generation circuit 13 are shared by all storage arrays 15 within the memory. That is, the internal error checking command signal IMWRAB generated by the internal command generation circuit 12 and the internal error checking address IMWR_AD (including the target row address Row_ad and the target column address Col_ad) generated by the address generation circuit 13 are sent to each storage array 15 respectively. Since different storage groups BG0-BG7 can operate synchronously, each storage group BG needs to be equipped with one control logic circuit 14 and one error correction circuit 16. The multiple storage arrays 15 within each storage group BG can share one control logic circuit 14 and one error correction circuit 16. Specifically, as shown in Figure 3, the storage area includes a total of 4*8=32 storage arrays 15, and the 32 storage arrays 15 in the 8 storage groups share one internal command generation circuit 12 and one address generation circuit 13. Each storage group BG corresponds to one control logic circuit 14 (including four storage array control circuits 141) and one error correction circuit 16. The eight storage groups correspond to eight control logic circuits 14 (32 storage array control circuits) and eight error correction circuits 16. The four storage arrays 15 in each storage group BG share one error correction circuit 16, and each storage array control circuit 141 controls one storage array.
[0050] It should be noted that the storage array can be a storage unit (BA), a storage group (BG), or a storage block. Here, the storage array is used as an example of a storage unit (BA), but this does not constitute a limitation on the disclosure.
[0051] In some embodiments, as shown in Figures 1-2, the error correction circuit 16 is configured to read stored data RD_Data from the target storage unit according to the internal read signal IRD, and perform error detection and correction on the stored data RD_Data to generate correction data WR_Data; the error correction circuit 16 is also configured to write the correction data WR_Data into the target storage unit according to the internal write signal IWR.
[0052] It should be noted that, as shown in Figure 2, the error correction circuit 16 needs to perform an internal read-modify-write operation on multiple storage arrays 15 sequentially based on multiple sets of internal signals IRD / IWR. When performing the internal read-modify-write operation on each storage array 15, the error correction circuit 16 needs to perform the above-mentioned read-modify function (i.e., read the stored data RD_Data from the target storage cell according to the internal read signal IRD, and perform error detection and correction on the stored data RD_Data to generate correction data WR_Data) and write function (i.e., write the correction data WR_Data into the target storage cell according to the internal write signal IWR).
[0053] In some embodiments, as shown in FIG1, the internal command generation circuit 12 is further configured to generate and output an internal self-refresh command signal IMWRAB in response to each pulse on the self-refresh clock signal SR_CLK when the error check enable signal IMWR_EN indicates that the internal error check function is not enabled; and to generate and output an internal self-refresh command signal IMWRAB when the error check enable signal IMWR_EN indicates that the internal error check function is enabled and the count value of the self-refresh clock signal SR_CLK is not a first preset value.
[0054] It should be noted that, as mentioned earlier, when the error checking enable signal IMWR_EN is at a valid level, it indicates that the internal error checking function is enabled. The internal command generation circuit 12 needs to periodically "steal" a pulse from the self-refresh clock signal SR_CLK to generate the internal error checking command signal IMWRAB. However, when the count value of the self-refresh clock signal SR_CLK is not the first preset value, or when the error checking enable signal IMWR_EN is at an invalid level, indicating that the internal error checking function is not enabled, it is not necessary to "steal" a pulse from the self-refresh clock signal SR_CLK to generate the internal error checking command signal IMWRAB. The internal command generation circuit 12 continues to generate and output an internal self-refresh command signal IREFAB based on the pulse from the self-refresh clock signal SR_CLK, and performs the relevant functions of the original self-refresh operation.
[0055] Referring to the signal timing diagram shown in Figure 4, the working principle of the internal error checking circuit 10 provided in this embodiment of the present disclosure will be explained in detail as follows:
[0056] At time t0, when the external self-refresh entry command SRE instructs the memory to enter the self-refresh state, the self-refresh enable signal SR_EN is activated, that is, the self-refresh enable signal SR_EN is toggled from low level to high level; the clock generation circuit 11 responds to the self-refresh enable signal SR_EN by starting to generate and outputting the self-refresh clock signal SR_CLK;
[0057] During the t0-t1 phase, the error checking enable signal IMWR_EN is at an invalid level (low level). At this time, the internal error checking function is not enabled. The internal command generation circuit 12 generates the internal self-refresh command signal IREFAB based on the self-refresh clock signal SR_CLK to control the storage array 15 to perform the original self-refresh operation.
[0058] At time t1, the error checking enable signal IMWR_EN flips to an active level (high level), at which point the internal error checking function is enabled, and the internal command generation circuit 12 begins counting the pulses on the self-refresh clock signal SR_CLK.
[0059] At time t2, when the pulse count value on the self-refresh clock signal SR_CLK reaches the first preset value for the first time, the first internal error check command signal IMWRAB is generated, and the count value is reset;
[0060] During the t2-t3 phase, the address generation circuit 13 counts the row / column addresses of the storage array based on the received first internal error check command signal IMWRAB, and generates and outputs the target row address Row_ad=RA and the target column address Col_ad=CA+1=000000 (taking the column address as a 6-bit signal and the column address CA as the initial value 111111 as an example), which is the internal error check address IMWR_AD; the control logic circuit 14 (or the storage array control circuit 141) sets the operation flag signal IMWR_FLAG to an active level (high level) at time t3 based on the received internal error check command signal IMWRAB; here, the internal error check command signal IMWRAB actually refers to the pulse on the internal error check command signal;
[0061] It should be noted that the timing diagram shown in Figure 4 has taken into account the transmission delay between circuits and the delay inherent in the circuit components themselves. Therefore, the change times of some associated signals are not perfectly aligned. Specifically, the internal error check command signal IMWRAB is generated at time t2, and its associated operation flag signal IMWR_FLAG flips from an invalid level to an active level at time t3, which is after time t2.
[0062] During the t3-t7 phase, the operation flag signal IMWR_FLAG is at an active level. The control logic circuit 14 (or the storage array control circuit 141) sequentially generates four sets of internal signals, that is, it alternately generates four internal read signals IRD and four internal write signals IWR, so as to control the error correction circuit 16 to perform an internal read-modify-write operation on the four storage arrays 15 in sequence. Here, the example of four storage arrays 15 (BA0-BA3) sharing one error correction circuit 16 is given and is not intended to be limiting.
[0063] Specifically, during the t3-t4 phase, the count value IWR_cnt of the internal write signal is initially 00. At this time, storage array BA0 is enabled, while storage arrays BA1-BA3 are not enabled. The error correction circuit 16 receives the first set of internal signals sent by the control logic circuit 14 (or only receives the corresponding storage array control circuit 141), namely, the internal read signal IRD and the internal write signal IWR sent during the t3-t4 phase. The error correction circuit 16 performs an internal read-modify-write operation on storage array BA0 based on this first set of internal signals. At time t4, based on the first rising edge of the inverted signal IWRB of the internal write signal, the count value IWR_cnt of the internal write signal is... The signal changes from 00 to 01, at which point storage array BA1 is enabled, while other storage arrays are disabled. During t4-t5, error correction circuit 16 receives the second set of internal signals sent by control logic circuit 14 (or only the corresponding storage array control circuit 141). Based on this second set of internal signals, error correction circuit 16 performs an internal read-modify-write operation on storage array BA1. Similarly, during t5-t6, error correction circuit 16 performs an internal read-modify-write operation on storage array BA2 based on the third set of internal signals, and during t6-t7, error correction circuit 16 performs an internal read-modify-write operation on storage array BA3 based on the fourth set of internal signals.
[0064] Until time t8, based on the last rising edge of the inverted signal IWRB of the internal write signal, the count value IWR_cnt of the internal write signal changes from 11 to 00, and the operation end signal IMWR_END generates a rising edge, that is, it toggles from invalid level (low level, logic "0") to valid level (high level, logic "1"); based on the rising edge of the operation end signal IMWR_END, the operation flag signal IMWR_FLAG toggles from valid level to invalid level. At this point, the entire internal read-modify-write operation is completed.
[0065] At time t9, when the count value of the pulse on the self-refresh clock signal SR_CLK reaches the first preset value again, a second internal error check command signal IMWRAB is generated, and the count value is reset; the address generation circuit 13 counts the row / column addresses of the storage array according to the second internal error check command signal IMWRAB. Specifically, the column address is incremented by 1 to generate and output the target column address Col_ad=CA+2=000001, while the target row address Row_ad=RA remains unchanged;
[0066] Until time t10, when the count value of the pulse on the self-refresh clock signal SR_CLK reaches the first preset value for the nth time, the nth internal error check command signal IMWRAB is generated. Assuming n is 64, the address generation circuit 13 performs the 64th "+1" operation on the column address, generating and outputting the target column address Col_ad=111111, while the target row address Row_ad=RA remains unchanged. At this time, it indicates that the address generation circuit 13 has traversed all column addresses (Col_ad=000000 to Col_ad=111111) in the RA row of the storage array 15. The error correction circuit 16 will perform an internal read-modify-write operation on the storage cell corresponding to the last column address CA=111111 in the RA row.
[0067] It should be noted that the address generation circuit 13 needs to synchronously sample and output the target row address Row_ad and target column address Col_ad based on the internal error checking command signal IMWRAB each time, while the row count value Row_cnt will change based on the currently generated target column address Col_ad. That is, the target row address Row_ad output by the address generation circuit 13 each time corresponds to the previous target column address Col_ad, and since the next internal error checking command signal IMWRAB will instruct the error correction circuit 16 to adjust the storage array... The storage unit corresponding to the first column address Col_ad=000000 of the next row RA+1 of 15 performs an internal read-modify-write operation. Therefore, when the currently generated target column address Col_ad=111111, the row count value Row_cnt needs to be set to RA+1 so that when the next internal error check command signal IMWRAB is received, the address generation circuit 13 can synchronously sample and output the correct target row address Row_ad=RA+1 and target column address Col_ad=000000.
[0068] In some embodiments, as shown in FIG1, the control logic circuit 14 is further configured to control the execution of a self-refresh operation on all storage arrays 15 after the control error correction circuit 16 sequentially performs an internal read-modify-write operation on the target storage cell corresponding to the internal error check address IMWR_AD in the plurality of storage arrays 15.
[0069] It should be noted that when the error checking enable signal IMWR_EN indicates that the internal error checking function is enabled, the internal command generation circuit 12 needs to periodically "steal" a pulse from the self-refresh clock signal SR_CLK to generate the internal error checking command signal IMWRAB. At this time, the internal self-refresh command signal IREFAB is no longer generated based on the pulse from the "stolen" self-refresh clock signal SR_CLK. At this time, the control logic circuit 14 can no longer perform the self-refresh operation based on the internal self-refresh command signal IREFAB, which is equivalent to performing one less self-refresh operation. In order to ensure that the introduction of the internal error checking function does not affect the original self-refresh function, after the control logic circuit 14 completes the internal read-modify-write operation based on the internal error checking command signal IMWRAB, it can immediately perform a self-refresh operation on all storage arrays 15 (without waiting for the next pulse of the self-refresh clock signal SR_CLK), which is equivalent to making up for the impact on the original self-refresh function caused by the execution of the internal error checking operation.
[0070] In some embodiments, as shown in FIG5, the address generation circuit 13 includes a column address generation circuit 131, a first decoding circuit 132, and a row address generation circuit 133;
[0071] Column address generation circuit 131 is configured to receive the internal error check command signal IMWRAB, count the columns of the current storage row according to the internal error check command signal IMWRAB, generate and output the target column address Col_ad;
[0072] The first decoding circuit 132 is configured to decode the target column address Col_ad, and generate and output a column end signal Col_End when the target column address Col_ad indicates that the column count of the current stored row has been completed;
[0073] The row address generation circuit 133 is configured to receive the column end signal Col_End and the internal error check command signal IMWRAB, and to perform row counting on the storage array according to the column end signal Col_End, thereby generating and outputting the target row address signal Row_ad.
[0074] Taking the storage area shown in Figure 3 as an example, the working principle of the address generation circuit 13 will be explained in conjunction with Figures 4 and 5. The column address generation circuit 131 can sequentially traverse all column addresses (Col_ad=000000 to Col_ad=111111) of each row in the storage array 15. Each time, it performs a "+1" count on the current column address based on the internal error checking command signal IMWRAB to generate and output the target column address Col_ad, until the currently generated target row address Row_ad=RA and target column address Col_ad=111111, as shown in t10 of Figure 4. At this point, the column address generation circuit 131 has completed the traversal and counting of all column addresses (Col_ad=000000 to Col_ad=111111) in the current row RA of the storage array 15. At this time, the first decoding circuit 132 decodes the current target column address Col_ad=111111 and outputs the column end signal Col_End to instruct the row address generation circuit 133 to perform a "+1" count on the current row address to generate and output a new target row address RA+1. At the same time, the column address generation circuit 131 will again perform a "+1" count on the target column address Col_ad=111111 next time to obtain a new target column address Col_ad=000000, instructing the execution of a content read-modify-write operation on the storage cell corresponding to the first column address of the next row RA+1.
[0075] Referring to Figures 1, 5, and 6, the working principle of the internal error checking circuit 10 in this embodiment of the present disclosure, which performs a self-refresh operation after the internal read-modify-write operation is completed, is explained as follows:
[0076] At time t11, similar to Figure 4, when the external self-refresh entry command SRE instructs the memory to enter the self-refresh state, the self-refresh enable signal SR_EN is activated, and the clock generation circuit 11 begins to generate and output the self-refresh clock signal SR_CLK;
[0077] During the t11-t13 phase, the error checking enable signal IMWR_EN is at an invalid level, meaning the internal error checking function is not enabled. The internal command generation circuit 12 generates an internal self-refresh command signal IREFAB based on each pulse on the self-refresh clock signal SR_CLK to control the storage array 15 to perform a self-refresh operation. Specifically, at t13, the internal command generation circuit 12 generates an internal self-refresh command signal IREFAB based on the self-refresh clock signal SR_CLK. Simultaneously, the address generation circuit 13 (or refresh address generation circuit 136) also performs row counting on the storage array based on the internal self-refresh command signal IREFAB, generating and outputting the self-refresh address S_RA. The control logic circuit 14 (or storage array control circuit 141) controls the self-refresh operation to be performed on all storage rows corresponding to the self-refresh address S_RA in the storage array 15.
[0078] At time t13, the error checking enable signal IMWR_EN flips to an active level, at which point the internal error checking function is enabled, and the internal command generation circuit 12 begins counting the pulses on the self-refresh clock signal SR_CLK.
[0079] During the t14-t16 phase, when the pulse count value on the self-refresh clock signal SR_CLK reaches the first preset value for the first time (taking the first preset value as m as an example), after the internal command generation circuit 12 generates the internal error check command signal IMWRAB, the address generation circuit 13 and the control logic circuit 14 (or the storage array control circuit 141) control the error correction circuit 16 to sequentially perform an internal read-modify-write operation on multiple storage arrays 15. The timing is the same as shown in Figure 4, and can be referred to the above content, which will not be repeated here.
[0080] It should be noted that during the t13-t14 phase, before the internal read-modify-write operation is performed (i.e., before the pulse count on the self-refresh clock signal SR_CLK reaches the first preset value m for the first time), the internal command generation circuit 12 has already generated m-1 self-refresh command signals IREFAB. Correspondingly, the address generation circuit 13 (or refresh address generation circuit 136) also performs m-1 "+1" counts on the self-refresh address SREF_Row based on the m-1 self-refresh command signals IREFAB, and the self-refresh address SREF_Row becomes S_RA+m-1. When performing another self-refresh operation after the internal read-modify-write operation is completed, to avoid this self-refresh... The operation repeats the self-refresh operation on the previous self-refresh address S_RA+m-1. The address generation circuit 13 (or refresh address generation circuit 136) also needs to increment the self-refresh address SREF_Row by "1" to output the self-refresh address SREF_Row corresponding to this self-refresh operation. However, since the internal command generation circuit 12 does not generate the self-refresh command signal IREFAB, at time t14, the address generation circuit 13 (or refresh address generation circuit 136) can increment the self-refresh address SREF_Row by "1" based on the internal error check command signal IMWRAB and output the new self-refresh address SREF_Row=S_RA+m;
[0081] At time t16, the operation flag signal IMWR_FLAG flips from an active level to an inactive level, indicating that all storage arrays 15 have completed this internal read-modify-write operation. At this time, in response to the falling edge of the operation flag signal IMWR_FLAG, the control logic circuit 14 (specifically, the self-refresh control circuit 147 in the storage array control circuit 141) flips the self-refresh window signal SREF_WIN from an inactive level (low level, logic "0") to an active level (high level, logic "1"). Based on the active self-refresh window signal SREF_WIN and the received self-refresh address S_RA+m, the control logic circuit 14 (specifically, the self-refresh control circuit 147 in the storage array control circuit 141) controls the storage array 15 to perform a self-refresh operation.
[0082] In some embodiments, as shown in FIG7, the row address generation circuit 133 includes: a row counting circuit 134 configured to receive a column end signal Col_End, and count rows in the storage array 15 according to the column end signal Col_End, generating and outputting a row count value Row_cnt; and a row address sampling circuit 135 configured to receive an internal error checking command signal IMWRAB and the row count value Row_cnt, and sample the row count value Row_cnt in response to the internal error checking command signal IMWRAB, generating and outputting a target row address signal Row_ad.
[0083] It should be noted that after the control logic circuit 14 (or the storage array control circuit 141) receives the internal error checking command signal IMWRAB, it needs to wait for the corresponding internal error checking addresses (i.e., the target row address Row_ad and the target column address Col_ad) before it can control the error correction circuit 16 to perform the internal read-modify-write operation. In order not to affect the original external read-modify-write operation timing requirements of the memory, the column address generation circuit 131 and the row address generation circuit 133 need to synchronously sample and output the target row address Row_ad and the target column address Col_ad based on the internal error checking command signal IMWRAB each time. This can ensure that the time of outputting the target row address Row_ad and the target column address Col_ad is less delayed than that of the internal error checking command signal IMWRAB.
[0084] It should also be noted that the row counting circuit 134 performs row counting on the column end signal Col_End to generate a row count value Row_cnt. The row count value Row_cnt changes based on the currently generated target column address Col_ad, and the target column address Col_ad changes based on the internal error check command signal IMWRAB. Therefore, before the row count value Row_cnt changes, the row address sampling circuit 135 has already sampled the row count value Row_cnt based on the internal error check command signal IMWRAB and output the target row address Row_ad. That is, the target row address Row_ad output by the row address sampling circuit 135 each time corresponds to the previous target column address Col_ad output by the row address generation circuit 133.
[0085] In some embodiments, as shown in FIG5, the address generation circuit 13 further includes a refresh address generation circuit 136, configured to receive an internal self-refresh command signal IREFAB, and perform row counting on the storage array 15 according to the internal self-refresh command signal IREFAB, generate and output a self-refresh address SREF_Row; the control logic circuit 14 is further configured to control the execution of a refresh operation on all storage arrays based on the self-refresh address SREF_Row.
[0086] It should be noted that refreshing operates on one or more rows of the storage array 15. Therefore, the refresh address generation circuit 136 does not need to traverse and count the column addresses, but only needs to complete the traversal and counting of the row addresses. The self-refresh address SREF_Row only includes row address information.
[0087] In some embodiments, continuing to refer to FIG5, the address generation circuit 13 further includes a refresh address generation circuit 136, configured to receive an internal self-refresh command signal IREFAB or an internal error check command signal IMWRAB, and perform row counting on the storage array 15 according to the internal self-refresh command signal IREFAB or the internal error check command signal IMWRAB, and generate and output a self-refresh address SREF_Row.
[0088] Referring to Figure 6, at time t16, when the control logic circuit 14 performs a self-refresh operation after completing the internal read-modify-write operation, the refresh address generation circuit 136, which includes the address generation circuit 13, also needs to synchronously output the self-refresh address SREF_Row corresponding to the self-refresh operation to the control logic circuit 14. If the refresh address generation circuit 136 only counts rows of the storage array based on the internal self-refresh command signal IREFAB, but because the current pulse of the self-refresh clock signal SR_CLK is "stolen" to generate the internal error check command signal IMWRAB instead of generating the internal self-refresh command signal IREFAB, the refresh address generation circuit 136 cannot generate a new self-refresh address based on the internal self-refresh command signal IREFAB. It will still output the self-refresh address S_RA corresponding to the previous self-refresh operation (the refresh operation before time t10), resulting in the storage cell with the same row address being refreshed twice. Therefore, in this case, the refresh address generation circuit 136 can be configured to simultaneously receive the internal error check command signal IMWRAB and the internal self-refresh command signal IREFAB, and perform row counting on the storage array according to the internal error check command signal IMWRAB or the internal self-refresh command signal IREFAB, generating and outputting the self-refresh address SREF_Row. That is, regardless of whether the internal command generation circuit 12 generates the internal error check command signal IMWRAB or the internal self-refresh command signal IREFAB, the refresh address generation circuit 136 can perform a row counting on the storage array once. For example, at time t10, the refresh address generation circuit 136 can generate a new self-refresh address S_RA+m based on the internal error check command signal IMWRAB, so as to ensure that at time t16, after the internal read-modify-write operation, a self-refresh operation can be performed on the new self-refresh address S_RA+m, avoiding performing two self-refresh operations on the same row address at time t15.
[0089] In some embodiments, the storage array control circuit 141 can control multiple storage rows of the storage array 15 to perform a refresh operation simultaneously. In this case, the refresh address generation circuit 136 can output multiple self-refresh addresses simultaneously. Each time, the storage array is counted according to the internal error check command signal IMWRAB or the internal self-refresh command signal IREFAB, and it may not necessarily be a +1 count. For example, based on the parameter configuration in the mode register, the storage array control circuit 141 can perform a refresh operation on 4 storage rows simultaneously. Each time, the refresh address generation circuit 136 counts the storage array by +4 according to the internal error check command signal IMWRAB or the internal self-refresh command signal IREFAB. If the 4 self-refresh addresses corresponding to the previous self-refresh operation are S_RA, S_RA+1, S_RA+2, and S_RA+3, the 4 self-refresh addresses output this time are S_RA+4, S_RA+5, S_RA+6, and S_RA+7. Of course, if the storage array is divided into 4 groups, with P storage rows in each group, the refresh address generation circuit 136 can also increment the row count by 1 each time. When the 4 self-refresh addresses corresponding to the previous self-refresh operation are S_RA, S_RA+P, S_RA+2P, and S_RA+3P, the 4 self-refresh addresses output this time are S_RA+1, S_RA+P+1, S_RA+2P+1, and S_RA+3P+1.
[0090] In some embodiments, as shown in Figures 8-9, the column address generation circuit 131 includes N cascaded first flip-flops DFF1, where N is an integer greater than or equal to 1; the clock control terminal of the first-stage first flip-flop DFF1 serves as the input terminal of the column address generation circuit 131, receiving the internal error check command signal IMWRAB; the inverted output terminal of each stage of the first flip-flop DFF1 is connected to its own data entry terminal; the clock control terminals of the other first flip-flops DFF1 besides the first-stage first flip-flop DFF1 are all connected to the inverted output terminal of the previous stage of the first flip-flop DFF1; the non-inverted output terminals of the N first flip-flops DFF1 jointly output the target column address Col_ad; the first decoding circuit includes a first inverter 137, the N input terminals of the first inverter 137 are respectively connected to the non-inverted output terminals of the N first flip-flops DFF1, and the output terminal of the first inverter 137 is used to output the column end signal.
[0091] Figures 8 and 9 illustrate this with N=6 as an example, meaning the target column address Col_ad<5:0> includes 6 bits of information, but this does not constitute a limitation of this disclosure.
[0092] It should be noted that the column address generation circuit 131 shown in Figure 8 is a synchronous binary counter. In some other embodiments, the column address generation circuit 131 can also be implemented by an asynchronous binary counter, which is not specifically limited here. The first decoding circuit 132 shown in Figure 9 outputs the column count signal Col_End when Col_ad<5:0> is 111111, that is, it traverses and counts the target column address Col_ad<5:0> in the order of CA=000000 to CA=111111. In some other embodiments, it can also traverse and count in other orders. Specifically, it can traverse and count the target column address Col_ad<5:0> in the order of CA=100000 to CA=011111. At this time, the first decoding circuit 132 outputs the column count signal Col_End when Col_ad<5:0> is 011111.
[0093] In some embodiments, as shown in FIG10, the row counting circuit 134 includes M cascaded second flip-flops DFF2, where M is an integer greater than or equal to 1; the clock control terminal of the first-stage second flip-flop DFF2 serves as the input terminal of the row counting circuit 134, receiving the column end signal Col_End; the inverted output terminal of each stage of the second flip-flop DFF2 is connected to its own data entry terminal; the clock control terminals of the other second flip-flops DFF2 besides the first-stage second flip-flop DFF2 are all connected to the inverted output terminal of the previous stage of the second flip-flop DFF2. The M second flip-flops (DFF2) together output the row count value Row_cnt; the row address sampling circuit 135 includes M third flip-flops (DFF3); the clock control terminal of each third flip-flop (DFF3) receives the internal error check command signal IMWRAB; the data entry terminals of the M third flip-flops (DFF3) are connected one-to-one with the non-inverting output terminals of the M second flip-flops (DFF2) to receive the row count value Row_cnt; the non-inverting output terminals of the M third flip-flops (DFF3) together output the target row address Row_ad.
[0094] It should be noted that Figure 10 uses M=15 as an example for illustration, that is, both the row count value Row_cnt<14:0> and the target row address Row_ad<14:0> include 15 bits of information, but this does not constitute a limitation of this disclosure; the row counting circuit 134 shown in Figure 10 is a synchronous binary counter. In some other embodiments, the row counting circuit 134 can also be implemented by a non-synchronous binary counter, which is not specifically limited here.
[0095] In some embodiments, as shown in FIG11, the storage array control circuit 141 includes: an identifier signal generation circuit 142 configured to receive an internal error check command signal IMWRAB and, in response to the internal error check command signal IMWRAB, generate and output an operation identifier signal IMWR_FLAG at a valid level; a read / write command generation circuit 143 configured to receive the operation identifier signal IMWR_FLAG and the internal error check command signal IMWRAB, and, in response to the internal error check command signal IMWRAB, sequentially generate multiple sets of internal signals while the operation identifier signal IMWR_FLAG is at a valid level; the identifier signal generation circuit 142 is further configured to receive an internal write signal IWR, and, when the count value of the internal write signal IWR reaches a second preset value, set the operation identifier signal IMWR_FLAG to an invalid level.
[0096] It should be noted that the second preset value is related to the number of multiple storage arrays 15 that share the error correction circuit 16 in each storage group BG. That is, it ensures that the multiple sets of internal signals (internal read signal IRD and internal write signal IWR) generated and output by the read / write command generation circuit 143 can control the error correction circuit 16 to perform an internal read-modify-write operation on each of the multiple storage arrays 15 in sequence.
[0097] In some embodiments, as shown in FIG12, the identifier signal generation circuit 142 includes: a command counting circuit 144 configured to count the inverted signal of the internal write signal IWR to generate and output the count value of the internal write signal IWR; a second decoding circuit 145 configured to receive the count value of the internal write signal IWR, and generate and output an operation end signal IMWR_END when the count value of the internal write signal IWR is a second preset value; and an SR flip-flop 146 configured to receive an internal error check command signal IMWRAB and an operation end signal IMWR_END, and in response to the internal error check command signal IMWRAB, set the operation identifier signal IMWR_FLAG to an active level, and set the operation identifier signal IMWR_FLAG to an inactive level when the count value of the internal write signal IWR reaches the second preset value.
[0098] For example, as shown in Figures 3 and 4, if each storage group BG includes one error correction circuit 16 and four storage arrays 15 (BA0, BA1, BA2, BA3), then the second preset value is 4 (represented by binary "00"). That is, the read / write command generation circuit 143 needs to generate four sets of internal signals during the period when the operation flag signal IMWR_FLAG is at the active level. At time t3, the SR flip-flop 146 in the flag signal generation circuit 142 sets the operation flag signal IMWR_FLAG to the active level (high level) according to the received internal error check command signal IMWRAB. Then, during the period when the operation flag signal IMWR_FLAG is at the active level, i.e., the t3-t7 stage, four internal read signals IRD and four internal write signals IWR are alternately generated, respectively denoted as a set of internal signals IRD1 and IWR1 corresponding to BA0 (in the t3-t4 stage), and a set of internal signals IRD2 and IWR2 corresponding to BA1 (in the t4-t5 stage). A set of internal signals IRD3 / IWR3 corresponding to BA2 (in stages t5-t6), and a set of internal signals IRD4 and IWR4 corresponding to BA3 (in stages t6-t7) are used to control the error correction circuit 16 to perform one internal read-modify-write operation on the stored data corresponding to the internal error check addresses in the four storage arrays 15. Each internal read-modify-write operation first reads the stored data RD_Data according to the internal read signal IRD, and performs error detection and correction operations. Then, according to the internal write signal IWR, the corrected data WR_Data after error detection and correction is written into the storage array. To ensure that all storage arrays complete the internal read-modify-write operation normally, the command counting circuit 144 needs to count the internal write signal IWR or its inverted signal IWRB. At time t7, the counting is performed based on the last rising edge of the inverted signal IWRB. When the count value IWR_cnt of the internal write signal output by the command counting circuit 144 is the second preset value 4 (represented by binary "00"), the error correction circuit 16 has written the corresponding correction data into the corresponding storage array BA3 according to the last internal write signal IWR4. The second decoding circuit 145 will output IMWR_END to indicate that all storage arrays 15 have completed the internal read-modify-write operation. At this time, the operation flag signal IMWR_FLAG can be set to an invalid level to stop the generation of internal signals IRD / IWR.
[0099] It should be noted that, in order to ensure that the last write operation performed by the error correction circuit 16 according to the internal write signal IWR4 is completed normally, the inverted signal IWRB of the internal write signal can be counted to generate the count value IWR_cnt of the internal write signal. This scheme can ensure that when the count value of the internal write signal reaches the second preset value 4 (that is, at time t7 in Figure 4, the fourth rising edge of IWRB corresponds to the fourth falling edge of IWR), the error correction circuit 16 has completed the last write operation according to the internal write signal IWR (valid level, high level "1"). At this time, even if the operation flag signal IMWR_FLAG is set to an invalid level, the control read / write command generation circuit 143 will no longer generate the internal signal IRD / IWR, and it will not affect the last internal read-modify-write operation performed by the error correction circuit 16.
[0100] It should also be noted that the internal write signal count value IWR_cnt shown in Figure 4 is represented by a 2-bit signal. The second preset value = 4 corresponds to signal "00", which is exactly the initial value of the internal write signal count value IWR_cnt. Therefore, after setting the operation flag signal IMWR_FLAG to an invalid level, it is not necessary to reset the internal write signal count value IWR_cnt. However, in some other embodiments, the internal write signal count value IWR_cnt is represented by a 3-bit signal. The second preset value = 4 corresponds to signal "100". In this case, after the operation flag signal IMWR_FLAG is set to an invalid level, it is necessary to reset the internal write signal count value IWR_cnt to the initial value 000.
[0101] In some embodiments, as shown in FIG14, the read / write command generation circuit 143 includes: a second inverse OR gate 1431, the first input terminal of the second inverse OR gate 1431 receiving an operation identifier signal IMWR_FLAG, and the second input terminal of the second inverse OR gate 1431 receiving an internal error check command signal IMWRAB; a first inverse OR gate 1432, the first input terminal of the first inverse OR gate 1432 being electrically connected to the output terminal of the second inverse OR gate 1431, and the output terminal of the first inverse OR gate 1432 being used to output an internal read signal IRD; and a second inverse OR gate 1433, the first input terminal of the second inverse OR gate 1433 being electrically connected to the output terminal of the first inverse OR gate 1432, and the output terminal of the second inverse OR gate 1433 being electrically connected to the second input terminal of the first inverse OR gate 1432. The circuit includes: a delay unit 1434, whose input is electrically connected to the output of the first reverse OR gate 1432; a first reverse gate 1435, whose input is electrically connected to the output of the delay unit 1434, and whose output is electrically connected to the second input of the second reverse OR gate 1433; a second reverse gate 1436, whose input receives the operation identifier signal IMWR_FLAG; and a third reverse OR gate 1437, whose first input is electrically connected to the output of the second reverse gate 1436, whose second input is electrically connected to the output of the first reverse OR gate 1432, and whose output is used to output the internal write signal IWR.
[0102] It should be noted that the delay time of the delay unit 1434 for the input signal is equal to the pulse width of the internal read signal IRD and the internal write signal IWR. Here, it is illustrated by taking a delay time, the pulse width of the internal write signal IWR, and the pulse width of the internal read signal IRD as all being 2ns. In some embodiments, the delay time of the delay unit 1434 can also be adjusted. Specifically, the delay time of the delay unit 1434 can be adjusted according to the timing requirements of the internal read-modify-write operation, that is, ensuring that within the pulse width of the internal read signal IRD, the error correction circuit 16 can complete the reading, error detection, and error correction operations of the stored data of the target storage cell of the storage array 15, and within the pulse width of the internal write signal IWR, the error correction circuit 16 can write the corrected data after error detection and correction into the target storage cell of the storage array 15. In some embodiments, the pulse width of the internal write signal IWR and the pulse width of the internal read signal IRD can also be different, which is not limited here.
[0103] In some embodiments, as shown in FIG13, the storage array control circuit 141 further includes a self-refresh control circuit 147, configured to receive an operation identifier signal IMWR_FLAG and a self-refresh address SREF_Row, and control the corresponding storage array 15 to perform a refresh operation according to the self-refresh address SREF_Row when the operation identifier signal IMWR_FLAG flips to an invalid level.
[0104] In some embodiments, as shown in FIG15, the error correction circuit 16 is further configured to generate and output an error flag signal Error flag when an error exists in the stored data RD_Data in the target storage unit during an internal read-modify-write operation on the target storage unit; the internal error checking circuit 10 further includes an error register 17, configured to receive the internal error checking address IMWR_AD and the error flag signal Error flag, and in response to the error flag signal Error flag, store the internal error checking address IMWR_AD.
[0105] It should be noted that the error register 17 can be a reserved mode register within the memory. It stores the internal error check address IMWR_AD according to the error flag signal. The memory can perform various repair operations based on the stored error information, or it can periodically provide the stored error information to the memory controller. The memory controller can perform redundant repair processing based on the error signal, or it can skip the storage address where the data error occurred during the next read / write operation, thereby protecting the accuracy of the data and providing stability to the storage system.
[0106] In another embodiment of this disclosure, referring to FIG16, a schematic diagram of the composition structure of a memory 20 provided in an embodiment of this disclosure is shown. As shown in FIG16, the memory 20 may include the internal error checking circuit 10 of any of the foregoing embodiments.
[0107] In some embodiments, the memory 20 may include DRAM.
[0108] It should be noted that the embodiments disclosed herein introduce an internal error checking circuit design into DRAM LPDDR series chips and DRAM DDR4 chips, realizing a new function similar to ECS operation in DDR5. Furthermore, the memory error checking circuit 10 reuses the original clock generation circuit, operation circuit and path for executing external read-modify-write commands for self-refresh operation, without affecting the timing of the original self-refresh operation and external read-modify-write operation. Moreover, only simple improvements are needed to the original internal command generation circuit, address generation circuit and control logic circuit to realize periodic data error detection / correction operations for multiple storage arrays. Under the premise of realizing the internal error checking mechanism to effectively improve the stability of stored data, the circuit design is optimized and the circuit area of the DRAM chip is saved.
[0109] In this embodiment of the disclosure, the DRAM can conform to memory specifications such as DDR, DDR2, DDR3, DDR4, DDR5, and DDR6, as well as LPDDR, LPDDR2, LPDDR3, LPDDR4, LPDDR5, and LPDDR6. No limitation is made here.
[0110] In this embodiment of the disclosure, the memory 20 includes the internal error checking circuit 10 of any of the foregoing embodiments, thereby enabling internal error checking operations on the memory and improving the performance of the memory.
[0111] The above description is merely an example embodiment of this disclosure and is not intended to limit the scope of protection of this disclosure.
[0112] It should be noted that, in this disclosure, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0113] The sequence numbers of the embodiments disclosed above are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0114] The features disclosed in the several product embodiments provided in this disclosure can be arbitrarily combined without conflict to obtain new product embodiments.
[0115] The above description is merely a specific embodiment of this disclosure, but the scope of protection of this disclosure is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this disclosure should be included within the scope of protection of this disclosure. Therefore, the scope of protection of this disclosure should be determined by the scope of protection of the aforementioned patent application.
[0116] 10: Internal error checking circuit 11: Clock Generation Circuit 12: Internal command generation circuit 13: Address generation circuit 14: Control Logic Circuit 15: Storage Array 16: Error Correction Circuit 17: Error Register 131: Column Address Generation Circuit 132: First decoding circuit 133: Row Address Generation Circuit 134: Row counting circuit 135: Row address sampling circuit 136: Refresh Address Generation Circuit 137: First reverse and gate 141: Storage Array Control Circuit 142: Identifier signal generation circuit 143: Read / Write Command Generation Circuit 144: Command Counting Circuit 145: Second Decoding Circuit 146: SR trigger 147: Self-refresh control circuit 1431: Second reverse and gate 1432: First reverse or gate 1433: Second reverse or gate 1434: Delay Unit 1435: First reverse gate 1436: Second reverse gate 1437: Third reverse or gate 20: Memory SR_EN: Self-refresh enable signal SR_CLK: Self-refresh clock signal; IMWR_EN: Error checking enable signal IWR_cnt: Count value IMWRAB: Internal Error Check Command Signal IMWR_AD: Internal error check address IREFAB: Self-refresh command signal IRD / IWR: Internal Signals IRD: Internal Read Signal IWR: Internal Write Signal Col_ad: Target column address Row_ad: Target row address Col_End: Column end signal Row_cnt: Row count value IMWR_FLAG: Operation Identifier Signal IMWR_END: Operation completed signal SREF_Row: Self-refresh address BA0~BA3: Storage array BG0~BG7: Storage Groups ECC0~ECC7: Error correction circuit IRD0 / IWR0, IRD1 / IWR1, IRD2 / IWR2, IRD3 / IWR3: Internal signals S_RA: Self-refresh address RD_Data: Stored data WR_Data: Calibration data
Claims
1. An internal error checking circuit, comprising: Clock generation circuit, internal command generation circuit, address generation circuit, control logic circuit, and error correction circuit; The clock generation circuit is configured to generate and output a self-refresh clock signal in response to a self-refresh enable signal; the internal command generation circuit is configured to receive the self-refresh clock signal and an error checking enable signal, count the self-refresh clock signal when the error checking enable signal indicates that the internal error checking function is enabled, and generate and output an internal error checking command signal when the count value of the self-refresh clock signal is a first preset value; the address generation circuit is configured to receive the internal error checking command signal and count the row address and column address of the storage array according to the internal error checking command signal to generate and output an internal error checking address; the control logic circuit is configured to receive the internal error checking command signal and the internal error checking address, and in response to the internal error checking command signal, control the error correction circuit to sequentially perform an internal read-modify-write operation on the target storage cell corresponding to the internal error checking address in multiple storage arrays; wherein the multiple storage arrays share the error correction circuit.
2. The internal error checking circuit as described in claim 1, wherein, The control logic circuit includes multiple storage array control circuits, each corresponding to one of the multiple storage arrays. Each storage array control circuit is configured to receive the internal error checking command signal and the internal error checking address, generate multiple sets of internal signals in response to the internal error checking command signal, and, when the corresponding storage array is enabled, control the error correction circuit to perform an internal read-modify-write operation on the target storage cell in the corresponding storage array according to the corresponding set of internal signals. Each set of internal signals includes an internal read signal and an internal write signal.
3. The internal error checking circuit as described in claim 2, wherein, The error correction circuit is configured to read stored data from the target storage unit according to the internal read signal, and perform error detection and correction on the stored data to generate correction data; the error correction circuit is further configured to write the correction data into the target storage unit according to the internal write signal.
4. The internal error checking circuit as described in claim 1, wherein, The internal command generation circuit is further configured to, when the error checking enable signal indicates that the internal error checking function is not enabled, generate and output an internal self-refresh command signal in response to each pulse on the self-refresh clock signal. And when the error checking enable signal indicates that the internal error checking function is enabled and the count value of the self-refresh clock signal is not a first preset value, generate and output an internal self-refresh command signal; and / or the control logic circuit is further configured to control the execution of a self-refresh operation on all storage arrays after controlling the error correction circuit to perform an internal read-modify-write operation on the target storage cell corresponding to the internal error checking address in multiple storage arrays in sequence.
5. The internal error checking circuit as described in claim 4, wherein, The address generation circuit includes a column address generation circuit, a first decoding circuit, and a row address generation circuit. The column address generation circuit is configured to receive the internal error checking command signal, count columns in the current storage row according to the internal error checking command signal, and generate and output a target column address. The first decoding circuit is configured to decode the target column address, and generate and output a column end signal when the target column address indicates that the column counting of the current storage row is complete. The row address generation circuit is configured to receive the column end signal and the internal error checking command signal, count rows in the storage array according to the column end signal, and generate and output a target row address signal.
6. The internal error checking circuit as described in claim 5, wherein, The row address generation circuit includes: a row counting circuit configured to receive the column end signal, count rows in the storage array according to the column end signal, generate and output a row count value; a row address sampling circuit configured to receive the internal error checking command signal and the row count value, and sample the row count value in response to the internal error checking command signal, generate and output the target row address signal; and / or the address generation circuit further includes a refresh address generation circuit configured to receive the internal self-refresh command signal, count rows in the storage array according to the internal self-refresh command signal, generate and output a self-refresh address; The control logic circuit is further configured to perform a refresh operation on all storage arrays based on the self-refresh address control; and / or the column address generation circuit includes N cascaded first flip-flops, where N is an integer greater than or equal to 1; the clock control terminal of the first-stage first flip-flop serves as the input terminal of the column address generation circuit, receiving the internal error check command signal; the inverted output terminal of each stage of the first flip-flop is connected to its own data login terminal; the clock control terminals of the other first flip-flops besides the first-stage first flip-flops are all connected to the inverted output terminal of the previous stage's first flip-flop; the non-inverted output terminals of the N first flip-flops jointly output the target column address; the first decoding circuit includes a first inverted gate, the N input terminals of the first inverted gate are respectively connected to the non-inverted output terminals of the N first flip-flops, and the output terminal of the first inverted gate is used to output the column end signal; The row counting circuit includes M cascaded second flip-flops, where M is an integer greater than or equal to 1; the clock control terminal of the first-stage second flip-flop serves as the input terminal of the row counting circuit, receiving the column end signal; the inverted output terminal of each stage of the second flip-flop is connected to its own data entry terminal; the clock control terminals of all second flip-flops except the first-stage second flip-flop are connected to the inverted output terminal of the previous stage's second flip-flop; the non-inverted output terminals of the M second flip-flops jointly output the row count value; the row address sampling circuit includes M third flip-flops; the clock control terminal of each third flip-flop receives the internal error check command signal; the data entry terminals of the M third flip-flops are connected one-to-one with the non-inverted output terminals of the M second flip-flops, receiving the row count value; the non-inverted output terminals of the M third flip-flops jointly output the target row address.
7. The internal error checking circuit as described in claim 2, wherein, The storage array control circuit includes: an identifier signal generation circuit configured to receive the internal error check command signal and, in response to the internal error check command signal, generate and output an operation identifier signal at a valid level; a read / write command generation circuit configured to receive the operation identifier signal and the internal error check command signal, and, in response to the internal error check command signal, sequentially generate multiple sets of internal signals while the operation identifier signal is at a valid level; the identifier signal generation circuit is further configured to receive the internal write signal and, when the count value of the internal write signal reaches a second preset value, set the operation identifier signal to an invalid level.
8. The internal error checking circuit as described in claim 7, wherein, The identification signal generation circuit includes: a command counting circuit configured to count the inverted signal of the internal write signal to generate and output the count value of the internal write signal; a second decoding circuit configured to receive the count value of the internal write signal and generate and output an operation end signal when the count value of the internal write signal is a second preset value; an SR trigger configured to receive the internal error check command signal and the operation end signal, and in response to the internal error check command signal, set the operation identification signal to an active level, and set the operation identification signal to an inactive level when the count value of the internal write signal reaches the second preset value; and / or the read / write command generation circuit includes: a second inverse gate, the first input terminal of the second inverse gate receiving the operation identification signal, and the second input terminal of the second inverse gate receiving the internal error check command signal; a first inverse OR gate, the first input terminal of the first inverse OR gate being electrically connected to the output terminal of the second inverse OR gate, and the output terminal of the first inverse OR gate being used to output the internal read signal; A second inverse OR gate, wherein the first input terminal of the second inverse OR gate is electrically connected to the output terminal of the first inverse OR gate, and the output terminal of the second inverse OR gate is electrically connected to the second input terminal of the first inverse OR gate; a delay unit, wherein the input terminal of the delay unit is electrically connected to the output terminal of the first inverse OR gate; a first inverse gate, wherein the input terminal of the first inverse gate is electrically connected to the output terminal of the delay unit, and the output terminal of the first inverse gate is electrically connected to the second input terminal of the second inverse OR gate; a second inverse gate, wherein the input terminal of the second inverse gate receives the operation identifier signal; a third inverse OR gate, wherein the first input terminal of the third inverse OR gate is electrically connected to the output terminal of the second inverse gate, and the second input terminal of the third inverse OR gate is electrically connected to the output terminal of the first inverse OR gate, and the output terminal of the third inverse OR gate is used to output the internal write signal; and / or the storage array control circuit further includes: a self-refresh control circuit, configured to receive the operation identifier signal and a self-refresh address, and, when the operation identifier signal flips to an invalid level, control the corresponding storage array to perform a refresh operation according to the self-refresh address.
9. The internal error checking circuit as described in claim 1, wherein, The error correction circuit is further configured to generate and output an error identification signal when an error exists in the stored data of the target storage unit during an internal read-modify-write operation on the target storage unit. The internal error checking circuit further includes an error register, configured to receive the internal error checking address and the error identification signal, and in response to the error identification signal, store the internal error checking address.
10. A memory, characterized in that the memory includes an internal error checking circuit as described in any one of claims 1 to 9.
Citation Information
Patent Citations
Refresh circuit and method and memory
CN118351907A