CN117116320A - Refreshing circuit, refreshing method, memory and memory system - Google Patents
Refreshing circuit, refreshing method, memory and memory system Download PDFInfo
- Publication number
- CN117116320A CN117116320A CN202210531286.0A CN202210531286A CN117116320A CN 117116320 A CN117116320 A CN 117116320A CN 202210531286 A CN202210531286 A CN 202210531286A CN 117116320 A CN117116320 A CN 117116320A
- Authority
- CN
- China
- Prior art keywords
- random
- unit
- count value
- ambient temperature
- row hammer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000015654 memory Effects 0.000 title claims abstract description 46
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000005070 sampling Methods 0.000 claims abstract description 110
- 230000004044 response Effects 0.000 claims abstract description 28
- 238000001514 detection method Methods 0.000 claims description 6
- 230000002093 peripheral effect Effects 0.000 claims description 6
- 230000000694 effects Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 6
- 101150054439 TRHR gene Proteins 0.000 description 5
- 239000003990 capacitor Substances 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 3
- 230000000630 rising effect Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40611—External triggering or timing of internal or partially internal refresh operations, e.g. auto-refresh or CAS-before-RAS triggered refresh
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40626—Temperature related aspects of refresh operations
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4078—Safety or protection circuits, e.g. for preventing inadvertent or unauthorised reading or writing; Status cells; Test cells
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Dram (AREA)
Abstract
The application provides a refreshing circuit, a refreshing method, a memory and a storage system, wherein the refreshing circuit comprises the following components: a counting unit for counting the received external pulse signals and resetting the count value in response to the row hammer refresh command; a random unit for generating a first random number before the count unit outputs the count value; the first generation unit is connected with the counting unit and the plurality of random units and is used for acquiring the count value generated by the counting unit and a plurality of first random numbers generated by the plurality of random units, and the first random numbers generated by different random units are different; the first generation unit is also used for outputting sampling pulses when the count value is equal to any first random number; a second generation unit connected to the first generation unit for acquiring a corresponding access address when receiving the sampling pulse, and generating a hammer address based on the acquired at least one access address; and the refreshing unit is used for refreshing at least one row address adjacent to the row hammer address in response to the next row hammer refreshing command.
Description
Technical Field
The present application relates to the field of semiconductor technology, and relates to, but is not limited to, a refresh circuit, a refresh method, a memory, and a memory system.
Background
With the continuous development of the present-day science and technology, the density of semiconductor memory devices is increasing. High data reliability, high access speed, and smaller chip size are important trends in the development of semiconductor memories. However, the influence of electromagnetic interactions between memory cells on the memory cells increases, so that the probability of memory cell data loss increases.
A dynamic random access memory (Dynamic Random Access Memory, DRAM) is a volatile memory that stores information by storing charges accumulated in a cell capacitor as a physical signal. While the charge in the memory cells may decay over time, so that a refresh operation needs to be performed periodically, otherwise the stored data information will be lost. The charge stored in the memory cell may be maintained by recharging before the data is lost due to leakage of the charge. This recharging of the charge in the memory cell is known as a refresh operation, and the refresh operation can be repeated to replenish the charge before the charge is significantly lost, avoiding errors in the stored data. However, when the word line corresponding to a single row address in the memory cell is frequently turned on, the capacitor of the adjacent address leaks excessive charge before the refresh operation comes, resulting in data errors and data loss.
Disclosure of Invention
In view of the above, the embodiments of the present application provide a refresh circuit, a refresh method, a memory and a memory system.
In a first aspect, an embodiment of the present application provides a refresh circuit, including: a counting unit for counting the received external pulse signals and resetting the count value in response to the row hammer refresh command; a random unit for generating a first random number before the count unit outputs the count value; the first generation unit is connected with the counting unit and the plurality of random units and is used for acquiring the count value generated by the counting unit and the plurality of first random numbers generated by the plurality of random units, and the first random numbers generated by different random units are different; the first generating unit is further configured to output a sampling pulse when the count value is equal to any one of the first random numbers; the second generation unit is connected with the output end of the first generation unit and is used for acquiring a corresponding access address when receiving the sampling pulse and generating a row hammer address based on at least one acquired access address; and the refreshing unit is used for refreshing at least one row address adjacent to the row hammer address in response to the next row hammer refreshing command.
In some embodiments, the random unit is further configured to adjust a maximum random value of the first random number based on an ambient temperature.
In some embodiments, the random unit includes n pseudo-random number units, each for generating a second random number in response to the row hammer refresh command; the random unit is used for outputting the sum of the generated m second random numbers based on the ambient temperature to serve as the first random number; wherein n is more than or equal to m is more than or equal to 1; alternatively, the random unit is configured to output one of the second random numbers as the first random number based on an ambient temperature.
In some embodiments, the refresh circuit further comprises: the temperature detection module is used for detecting the ambient temperature; a temperature flag module for outputting different temperature flag signals based on the ambient temperature, the different temperature flag signals being used to characterize the refresh circuit as being at the different ambient temperatures; the random unit is further configured to receive the temperature flag signal and to adjust a maximum random value of the first random number based on the temperature flag signal.
In some embodiments, the counting unit has a count maximum, the counting unit further configured to adjust the count maximum based on the ambient temperature.
In some embodiments, the ambient temperature includes a first temperature interval and a second temperature interval, and the counting unit includes: the first counting unit is enabled based on the ambient temperature in the first temperature interval, and the second counting unit is enabled based on the ambient temperature in the second temperature interval, and the first counting unit and the second counting unit count the external pulse signals alternatively to generate the count value.
In some embodiments, the period of the external pulse signal is equal to 2 k The product of-1 is less than the minimum period of row hammer refresh; and k is the binary bit number of the random unit.
In some embodiments, the number of random units is greater than or equal to 3; the second generating unit is specifically configured to: and generating the row hammer address based on one or more access addresses with highest occurrence frequency in the acquired access addresses.
In some embodiments, the first generation unit comprises: the pre-sampling unit is used for outputting pre-sampling pulses, and the period of the pre-sampling pulses is consistent with the period of the external pulse signal; a sampling signal generating unit configured to output a sampling signal when the count value is equal to any one of the first random numbers; and the sampling pulse generating unit is connected with the pre-sampling unit and the sampling signal generating unit and is used for performing AND operation processing on the pre-sampling pulse and the sampling signal so as to output the sampling pulse.
In a second aspect, an embodiment of the present application provides a refresh method, including: counting the received external pulse signals, and resetting the count value in response to the row hammer refresh command; generating and outputting a plurality of different first random numbers before outputting the count value; acquiring the count value and a plurality of first random numbers; outputting a sampling pulse when the count value is equal to any one of the first random numbers; acquiring a corresponding access address when the sampling pulse is received, and generating a row hammer address based on at least one acquired access address; and refreshing at least one row address adjacent to the row hammer address in response to the next row hammer refresh command.
In some embodiments, the generating the first random number prior to outputting the count value further comprises: the maximum random value of the first random number is adjusted based on the ambient temperature.
In some embodiments, the adjusting the maximum random value of the first random number based on the ambient temperature includes: generating n second random numbers in response to the row hammer refresh command; outputting a sum of the generated m second random numbers as the first random number based on an ambient temperature; wherein n is more than or equal to m is more than or equal to 1; alternatively, one of the second random numbers is output as the first random number based on the ambient temperature.
In some embodiments, the refresh method further comprises: detecting the ambient temperature; outputting different temperature flag signals based on the ambient temperature, the different temperature flag signals being used to characterize the different ambient temperatures; the adjusting the maximum random value of the first random number based on the ambient temperature includes: and adjusting a maximum random value of the first random number based on the temperature mark signal.
In some embodiments, the refresh method further comprises: and adjusting a count maximum value of the count value based on the ambient temperature.
In some embodiments, the ambient temperature includes a first temperature interval and a second temperature interval; the counting of the received external pulse signals includes: counting the external pulse signals based on the ambient temperature in the first temperature interval to generate a first count value; counting the external pulse signals based on the ambient temperature in the second temperature interval to generate a second count value; the first count value and the second count value are selected as the count values, and the count maximum values of the first count value and the second count value are different.
In some embodiments, the period of the external pulse signal is equal to 2 k The product of-1 is less than the minimum period of row hammer refresh; and k is the binary digit of the first random number.
In some embodiments, the number of first random numbers is greater than or equal to 3; the generating a row hammer address based on the acquired at least one access address includes: and generating the row hammer address based on one or more access addresses with highest occurrence frequency in the acquired access addresses.
In a third aspect, an embodiment of the present application provides a memory, including: a memory cell array; peripheral circuitry coupled to the array of memory cells; the peripheral circuit includes the refresh circuit of any of the above embodiments.
In a fourth aspect, an embodiment of the present application provides a storage system, including: a memory comprising the refresh circuit of any of the above embodiments; a controller coupled to the memory; the controller is used for controlling the memory.
In the refresh circuit provided by the embodiment of the application, the counting unit is used for counting the external pulse to generate a count value, the plurality of random units are used for generating a plurality of different first random numbers, the first generating unit outputs sampling pulse when the count value is equal to any one of the first random numbers, and the second generating unit acquires the access address according to the sampling pulse to generate the row hammer address. Therefore, by generating a plurality of different first random numbers, at least one access address can be randomly grabbed in the row hammer refreshing period, the randomness and uniformity of the grabbed addresses are increased, and the accuracy of the generated row hammer addresses is improved, so that data errors and data loss caused by row hammer effects are reduced.
Drawings
FIG. 1 is a schematic diagram of a refresh circuit according to an embodiment of the present application;
FIG. 2 is a schematic diagram of another refresh circuit according to an embodiment of the present application;
FIG. 3 is a flowchart illustrating steps of a refreshing method according to an embodiment of the present application;
FIG. 4 is a schematic diagram of a refresh circuit according to an embodiment of the present application;
FIG. 5 is a timing diagram of operation of a refresh circuit according to an embodiment of the present application;
FIG. 6 is a schematic diagram of a memory according to an embodiment of the present application;
fig. 7 is a schematic diagram of a storage system according to an embodiment of the present application.
Detailed Description
In order to facilitate understanding of the present application, exemplary embodiments of the present disclosure will be described in more detail below with reference to the associated drawings. While exemplary embodiments of the application are shown in the drawings, it should be understood that the application may be embodied in various forms and should not be limited to the specific embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
In the following description, numerous specific details are set forth in order to provide a more thorough understanding of the present application. It will be apparent, however, to one skilled in the art that the application may be practiced without one or more of these details. In some embodiments, in order to avoid obscuring the present application, some technical features well known in the art are not described; that is, not all features of an actual implementation may be described in detail herein, nor are well-known functions and structures described in detail.
Generally, the term may be understood, at least in part, from the use of context. For example, the term "one or more" as used herein may be used to describe any feature, structure, or characteristic in a singular sense or may be used to describe a combination of features, structures, or characteristics in a plural sense, depending at least in part on the context. Similarly, terms such as "a" or "an" may also be understood to convey a singular usage or a plural usage, depending at least in part on the context. Additionally, the term "based on" may be understood as not necessarily intended to convey an exclusive set of factors, and may instead allow for the presence of additional factors that are not necessarily explicitly described, again depending at least in part on the context.
Unless otherwise defined, the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. As used herein, the term "and/or" includes any and all combinations of the associated listed items.
In order to provide a thorough understanding of the present application, detailed steps and detailed structures will be presented in the following description in order to explain the technical solution of the present application. Preferred embodiments of the present application are described in detail below, however, the present application may have other embodiments in addition to these detailed descriptions.
In some embodiments, conventional refreshing of the memory includes active and Precharge (Pre) operations. When a word address line (Word Address Line) in a memory is continuously activated for tens of thousands of times, the capacitor leakage rate of the physically adjacent address line may be higher than the natural leakage rate, so that the capacitor of the adjacent address is lost due to excessive charge before the conventional refresh signal arrives, and thus erroneous storage is generated, which is generally called Row Hammer effect (Row Hammer). The Row to which access is repeatedly performed is called an aggressive Row (aggresor Row), the address of the aggressive Row is a Row hammer address, and the Row adjacent to the aggressive Row is called a Victim Row (Victim Row). The row hammer refresh (Row Hammer Refresh) is to refresh the victim row after the memory is operated for a period of time to recharge the charge and ensure the data is correct, wherein the address of the victim row is the row hammer refresh address.
In some embodiments, there are multiple activation operations between two row hammer refreshes by selecting the access address of the activation operation at a fixed time as the row hammer address. However, the row hammer address thus selected is prone to missing a true aggressive row with less accuracy. Therefore, for row hammer address selection, it is desirable to be able to grasp the access addresses as randomly as possible between two row hammer refreshes, and by comparing the occurrence frequency of the grasped access addresses, find the address line with the highest access frequency as possible.
In some embodiments, the frequency of row hammer refresh may change with changes in ambient temperature. The higher the ambient temperature is, the higher the frequency of row hammer refreshing is, namely, the shorter the time interval between two row hammer refreshing is; the lower the ambient temperature, the lower the frequency of row hammer refresh, i.e., the longer the time interval between two row hammer refreshes. Thus, for any ambient temperature and any time interval of row hammer refresh, the probability of access addresses being grasped in different time intervals needs to be made substantially equal. That is, when the time interval of the row hammer refresh is longer, the number of times of grabbing the access address is more, and when the time interval of the row hammer refresh is shorter, the number of times of grabbing the access address is less.
As shown in fig. 1, an embodiment of the present application provides a refresh circuit 100, including: a counting unit 101 for counting the received external pulse signal 10a and resetting the count value 11a in response to the row hammer refresh command RHR; a random unit 102 for generating a first random number 12a before the count unit 101 outputs the count value 11a; a first generation unit 103 connected to the counting unit 101 and the plurality of random units 102, and configured to obtain the count value 11a generated by the counting unit 101 and the plurality of first random numbers 12a generated by the plurality of random units 102, where the first random numbers 12a generated by different random units 102 are different; the first generating unit 103 is further configured to output a sampling pulse 13a when the count value 11a is equal to any one of the first random numbers 12a; a second generation unit 104 connected to an output terminal of the first generation unit 103, for acquiring a corresponding access address 15a when the sampling pulse 13a is received, and generating a hammer address 14a based on at least one of the acquired access addresses; and a refresh unit 105 for refreshing at least one row address adjacent to said row hammer address 14a in response to a next said row hammer refresh command RHR.
In the embodiment of the present application, the counting unit 101 is configured to count the number of pulses of the received external pulse signal 10a to generate the count value 11a, and the counting unit 101 resets the count value 11a in response to the row hammer refresh command RHR. For example, the external pulse signal 10a may be provided by a Ring Oscillator (Ring Oscillator), where the external pulse signal 10a may be a square wave pulse signal. The counting unit 101 is connected to the ring oscillator, and counts the number of pulses of the square wave pulse signal, thereby generating and outputting a count value 11a. In some embodiments, after receiving the row hammer refresh command RHR, the count unit 101 generates an output count value 11a that changes continuously as the number of pulses of the received external pulse signal 10a increases; when the counter unit 101 receives the next row hammer refresh command RHR, the counter unit 101 resets, thereby resetting the count value 11a.
In the embodiment of the present application, the random unit 102 is configured to generate the first random number 12a in response to the row hammer refresh command RHR before the count unit 101 outputs the count value 11a. The refresh circuit 100 provided by the present application may include a plurality of random units 102, where the plurality of random units 102 generate a plurality of first random numbers 12a according to the received row hammer refresh command RHR. Illustratively, the random unit 102 may include a linear feedback shift register (Linear Feedback Shift Register, LFSR) that may generate a pseudo random number based on a received input signal, where the input signal may be a row hammer refresh command RHR, the pseudo random number being the first random number 12a. In some embodiments, after receiving the row hammer refresh command RHR, the random unit 102 generates and outputs the first random number 12a, and when the random unit 102 receives the next row hammer refresh command RHR, the random unit 102 updates and outputs the first random number 12a, that is, the first random number 12a generated by one random unit 102 may be unchanged or only one first random number 12a may be generated between two row hammer refresh commands RHR, i.e., one row hammer refresh period.
In the embodiment of the present application, the first generating unit 103 is connected to the counting unit 101 and the plurality of random units 102, and is configured to obtain a count value 11a and a plurality of first random numbers 12a; the first random numbers 12a generated by different random units 102 at the same time are different, that is, the first random numbers 12a generated by different random units 102 based on the same row of hammer refresh command RHR are different; the first generation unit 103 is further configured to compare the count value 11a with a plurality of first random numbers 12a, and output a sampling pulse 13a when the count value 11a is equal to any one of the first random numbers 12a. Illustratively, one random unit 102 includes one LFSR, and the pseudo random number generated by the LFSR may be directly used as the first random number 12a, and by setting an initial value (Seed) of each LFSR to a different value, the plurality of pseudo random numbers generated by the LFSRs at the same time may be made different, so that different random units 102 generate different first random numbers 12a.
Alternatively, one random unit 102 may include a plurality of LFSRs, and a plurality of pseudo random numbers generated by the LFSRs in one random unit 102 may be subjected to a certain operation, so that different random units 102 generate different first random numbers 12a. Further alternatively, if the first generation unit 103 receives two identical first random numbers 12a, the first generation unit 103 may generate an excitation signal to cause the occurrence of repeated random units 102 to regenerate the first random numbers 12a until a plurality of different first random numbers 12a equal in number to the random units 102 are acquired, in which case one random unit 102 may generate a plurality of first random numbers 12a in one row hammer refresh period.
In some embodiments, the first generating unit 103 connects each random unit 102 with the counting unit 101, and compares the count value 11a with each first random number 12a through a circuit including a plurality of logic gates, and when the count value 11a at a certain time is equal to any one of the first random numbers 12a, the first generating unit 103 outputs the sampling pulse 13a.
In the embodiment of the present application, the second generating unit 104 is connected to the output terminal of the first generating unit 103, and is configured to grab the corresponding access address 15a when the sampling pulse 13a is received, and generate the hammer address 14a based on at least one grabbed access address. Illustratively, in one row hammer refresh period, there is a moment when the count value 11a is equal to any one of the first random numbers 12a, and at this moment, the second generating unit 104 receives the sampling pulse 13a output by the first generating unit 103, and grabs the access address 15a. The second generation unit 104 then determines the row hammer address 14a from the at least one access address 15a grasped in one row hammer refresh cycle. In some embodiments, the second generating unit 104 may use the access address 15a with the highest occurrence frequency of the plurality of grasped access addresses 15a as the row hammer address 14a. Thus, by generating a plurality of different first random numbers 12a, at least one access address 15a can be randomly grabbed in the row hammer refresh period, so that the randomness and uniformity of grabbing addresses are increased, and the accuracy of the generated row hammer address 14a is improved, and data errors and data loss caused by row hammer effect are reduced.
In the embodiment of the present application, the refresh unit 105 is connected to the second generation unit 104 and is configured to refresh at least one row address adjacent to the row hammer address 14a in response to the next row hammer refresh command RHR, where the at least one row address adjacent to the row hammer address 14a is a victim row in the row hammer effect. Optionally, according to the performance and power consumption requirements of the refresh circuit and the memory, a row address adjacent to the row hammer address 14a may be selected for refresh to reduce power consumption; multiple, or even all, adjacent row addresses to row hammer address 14a may be selected for refresh to improve the accuracy of refreshing the victim row.
In some embodiments, the random unit 102 is further configured to adjust a maximum random value of the first random number 12a based on an ambient temperature.
In the embodiment of the present application, the refresh frequency of the row hammer changes along with the change of the ambient temperature, and the random unit 102 may adjust the maximum value of the first random number 12a according to the ambient temperature, so as to ensure that the number of the access addresses 15a grabbed is unchanged and the uniformity is maintained at different temperatures. Illustratively, when the ambient temperature is higher, the row hammer refresh period is shorter, the maximum value of the count value 11a is smaller, and the random unit 102 may decrease the maximum value of the first random number 12a, so that the number of times that the count value 11a is equal to any one of the first random numbers 12a in one row hammer refresh period is unchanged, and the number of the second generation unit 104 capturing the access addresses 15a is unchanged and uniformity is maintained; when the ambient temperature is low, the row hammer refresh period is long, the maximum value of the count value 11a is large, and the random unit 102 can increase the maximum value of the first random number 12a, so that the number of times that the count value 11a is equal to any one of the first random numbers 12a in one row hammer refresh period is unchanged, and the number of the second generation unit 104 grabbing the access addresses 15a is unchanged and uniformity is maintained. In this way, the number of access addresses 15a that the refresh circuit 100 grips at different temperatures is kept unchanged.
In some embodiments, as shown in fig. 2, the random unit 102 includes n pseudo random number units 1021, each of the pseudo random number units 1021 being configured to generate a second random number in response to the row hammer refresh command RHR; the random unit 102 is configured to output a sum of the generated m second random numbers as the first random number 12a based on an ambient temperature; wherein n is more than or equal to m is more than or equal to 1; alternatively, the random unit 102 is configured to output a second random number as the first random number 12a based on the ambient temperature.
In the embodiment of the present application, the random unit 102 includes n pseudo random number units 1021, where n is an integer greater than or equal to 1, and the pseudo random number units 1021 generate a pseudo random number as the second random number when receiving the row hammer refresh command RHR. Illustratively, the pseudorandom number unit 1021 may be an LFSR, and a k-bit linear feedback shift register may generate 2 k -1 pseudo random number, wherein k is a positive integer. The random unit 102 can output the sum of m second random numbers in n second random numbers as a first random number 12a through a calculation unit based on different environmental temperatures, wherein n is more than or equal to m is more than or equal to 1; or directly outputs one of the second random numbers as the first random number 12a. It should be noted that the first generating unit 103 may further include a random number detecting unit, where the random number detecting unit is configured to detect whether the first random numbers 12a generated by the random units 102 are all different, and when there is a repetition of the first random number 12a, the random number detecting unit controls the corresponding random unit 102 to regenerate the first random number 12a.
In some embodiments, when the ambient temperature is high, the random unit 102 directly outputs one of the second random numbers as the first random number 12a, and the maximum random value of the first random number 12a is smaller; when the ambient temperature is low, the random unit 102 outputs the sum of the m second random numbers as the first random number 12a, and the maximum random value of the first random number 12a is large. Thus, it is ensured that the number of times the count value 11a is equal to any one of the first random numbers 12a is unchanged, i.e., the probability that the refresh circuit 100 captures the access address 15a is the same, and uniformity is maintained, at different temperatures and within the same time interval.
In some embodiments, as shown in fig. 2, the refresh circuit 100 further includes: a temperature detection module 106 for detecting the ambient temperature; a temperature flag module 1061 for outputting different temperature flag signals 16a based on the ambient temperature, the different temperature flag signals 16a being used to characterize the refresh circuit 100 as being at the different ambient temperatures; the random unit 102 is further configured to receive the temperature flag signal 16a and to adjust a maximum random value of the first random number 12a based on the temperature flag signal 16 a.
In the embodiment of the present application, the refresh circuit 100 further includes a temperature detection module 106 and a temperature flag module 1061. The temperature detection module 106 is configured to detect an ambient temperature of the refresh circuit 100, and the temperature flag module 1061 is connected to the temperature detection module 106 and outputs different temperature flag signals 16a according to the ambient temperature, where the temperature flag signals 16a characterize the different ambient temperatures of the refresh circuit 100. The random unit 102 is also coupled to the temperature flag module 1061 and adjusts the maximum random value of the first random number 12a based on the received temperature flag signal 16 a. For example, when the random unit contains only one pseudorandom number unit, the maximum random value of the individual pseudorandom number unit may be adjusted; when the random unit includes a plurality of pseudo random number units, the number of the second random numbers included as the first random number of the sum value may be adjusted, thereby adjusting the maximum random value of the random unit.
In some embodiments, as shown in fig. 2, the counting unit 101 has a counting maximum, and the counting unit 101 is further configured to adjust the counting maximum based on the ambient temperature.
In the embodiment of the present application, the counting unit 101 counts the number of pulses of the received external pulse signal 10a to generate the count value 11a, and the maximum value of the count value 11a that can be generated by the counting unit 101 is the count maximum value. According to the above embodiment, when the ambient temperature is high, the row hammer refresh period is short, the maximum random value of the first random number 12a is small, and when the ambient temperature is low, the row hammer refresh period is long, and the maximum random value of the first random number 12a is large. Thus, the counting unit 101 may be connected to the temperature flag module 1061 to adjust the count maximum to correspond to the maximum random value of the first random number 12a based on the ambient temperature characterized by the temperature flag signal 16 a. In some embodiments, the counting unit 101 may adjust the count maximum in real time according to the ambient temperature. In some embodiments, when the count value 11a generated by the counting unit 101 reaches the count maximum value, the counting unit 101 may enter the sleep state to save power consumption.
In some embodiments, as shown in fig. 2, the ambient temperature includes a first temperature interval and a second temperature interval, and the counting unit 101 includes: a first counting unit 1011 and a second counting unit 1012, the maximum count value of the first counting unit 1011 being different from the maximum count value of the second counting unit 1012, the first counting unit 1011 being enabled based on the ambient temperature in the first temperature interval, the second counting unit 1012 being configured to count the external pulse signal 10a to generate the count value 11a based on the ambient temperature in the second temperature interval, the first counting unit 1011 and the second counting unit 1012 selecting one of them.
In the embodiment of the present application, the counting unit 101 further includes a first counting unit 1011 and a second counting unit 1012. And the ambient temperature may include a first temperature section and a second temperature section, the first counting unit 1011 counts the external pulse signal 10a when the ambient temperature is in the first temperature section to generate a count value 11a; the second counting unit 1012 counts the external pulse signal 10a when the ambient temperature is in the second temperature interval to generate the count value 11a. The first counting unit 1011 and the second counting unit 1012 count based on different ambient temperatures, and the maximum values of the counts of the two are different.
In some embodiments, the first temperature interval characterizes an ambient temperature that is higher than the ambient temperature interval characterizes a second temperature interval, and the first counting unit 1011 may be an i-bit counter with a count maximum of 2 i -1, wherein i is a binary number of bits and the second counting unit 1012 may be an i+1 bit counterThe maximum value of the number is 2 i+1 -1. That is, when the ambient temperature is high, the first counting unit 1011 having a smaller maximum value of the count is used for the count, and when the ambient temperature is low, the second counting unit 1012 having a larger maximum value of the count is used for the count. It is understood that the ambient temperature may further include more than two temperature intervals, and the counting unit 101 includes the same number of sub-counting units as the number of temperature intervals, and each sub-counting unit counts the external pulse signal 10a when the ambient temperature is in the corresponding temperature interval to generate the count value 11a.
In some embodiments, the period of the external pulse signal 10a is equal to 2 k The product of-1 is less than the minimum period of row hammer refresh; the k is the binary number of bits of the random unit 102.
In the embodiment of the present application, the period of the external pulse signal 10a is t, and the minimum time interval between two row hammer refresh commands RHR, i.e. the minimum period of row hammer refresh is tRRH min And (2) k -1)*t<tRHR min Where k is the binary number of bits of the random unit 102. It will be appreciated that 2 k -1 is the maximum random value of the first random number 12a generated by the k-bit random unit 102. In some embodiments, the binary number i of the counting unit 101 and the binary number k of the random unit 102 may be the same, at which time (2 k -1) t is the time counted by the counting unit 101 to the maximum random value, so the minimum period tRHR of the row hammer refresh min Should be greater than (2) k -1) t, avoiding that the count value 11a is reset before the count reaches the count maximum.
In some embodiments, the number of random units 102 is greater than or equal to 3; the second generating unit 104 is specifically configured to: the row hammer address 14a is generated based on one or more access addresses 15a having the highest occurrence frequency among the acquired access addresses 15a.
In the embodiment of the present application, the number of random units 102 is greater than or equal to 3, and then in one row hammer refresh period, there may be three first random numbers 12a equal to the count value 11a, that is, the second generation unit 104 may grasp the three access addresses 15a. In this case, it is possible that the access addresses 15a of which two fetches are identical, that is, there is one access address 15a whose occurrence frequency is highest. Thus, the second generation unit 104 takes one or more access addresses 15a with the highest occurrence frequency as the row hammer address 14a.
It will be appreciated that if the number of random units 102 is less than 3, then the second generation unit 104 can only grasp the access address 15a twice at most in one row hammer refresh period, and there is no access address 15a with the highest occurrence frequency. In some embodiments, when the second generating unit 104 cannot determine the access address 15a with the highest occurrence frequency in one row-hammer refresh period (for example, all the access addresses 15a that are grabbed occur with the same occurrence frequency, and any access address 15a is not grabbed in one row-hammer refresh period, etc.), one address line may be selected randomly as the row-hammer address 14a.
In some embodiments, the number of enabled random cells 102 may also be adjusted based on the ambient temperature, thereby adjusting the number of fetch access addresses 15a in one row hammer refresh cycle. Illustratively, when the ambient temperature is higher, the row hammer refresh period is shorter, at which time the number of enabled random cells 102 is reduced, such that the number of grip access addresses 15a in one row hammer refresh period is reduced; when the ambient temperature is low, the row hammer refresh period is longer, and the number of enabled random cells 102 is increased at this time, so that the number of the fetch access addresses 15a in one row hammer refresh period is increased.
In some embodiments, as shown in fig. 2, the first generating unit 103 includes: a pre-sampling unit 1031 for outputting a pre-sampling pulse 131a, the period of the pre-sampling pulse 131a being identical to the period of the external pulse signal 10 a; a sampling signal generating unit 1032 for outputting a sampling signal 132a when the count value 11a is equal to any one of the first random numbers 12 a; a sampling pulse generating unit 1033 connected to the pre-sampling unit 1031 and the sampling signal generating unit 1032, and configured to perform an and operation on the pre-sampling pulse 131a and the sampling signal 132a, so as to output the sampling pulse 13a.
In the embodiment of the present application, the first generation unit 103 further includes a pre-sampling unit 1031, a sampling signal generation unit 1032, and a sampling pulse generation unit 1033.
The pre-sampling unit 1031 is configured to receive the external pulse signal 10a, and generate and output a pre-sampling pulse 131a based on a falling edge of the external pulse signal 10a, where a period of the pre-sampling pulse 131a coincides with a period of the external pulse signal 10 a. It is understood that the pre-sampling unit 1031 may also generate and output the pre-sampling pulse 131a based on the rising edge of the external pulse signal 10 a. In some embodiments, the pre-sampling unit 1031 is configured to receive the delayed external pulse signal 10a such that the rising edge of the pre-sampling pulse 131a is aligned with the rising edge of the sampling signal 132 a.
The sampling signal generation unit 1032 includes a plurality of logic gates therein, and connects the counting unit 101 and the plurality of random units 102. The sampling signal generation unit 1032 outputs the sampling signal 132a when the count value 11a is equal to any one of the first random numbers 12 a.
The sampling pulse generation unit 1033 connects the pre-sampling unit 1031 and the sampling signal generation unit 1032. The sampling pulse generation unit 1033 performs and operation processing on the received pre-sampling pulse 131a and sampling signal 132a to output the sampling pulse 13a when the level states of the pre-sampling pulse 131a and sampling signal 132a are the same. It is understood that the sampling pulse generating unit 1033 may be connected to the pre-sampling unit 1031 and the sampling signal generating unit 1032 through a nand gate, and then inverted through an inverter, which is advantageous in simplifying design and saving cost due to the simpler circuit of the nand gate.
As shown in fig. 3, an embodiment of the present application provides a refresh method, including:
step S10: counting the received external pulse signal 10a, and resetting the count value 11a in response to the row hammer refresh command RHR; generating and outputting a first random number 12a before outputting the count value 11a;
step S20: acquiring the count value 11a and a plurality of the first random numbers 12a; outputting a sampling pulse 13a when the count value 11a is equal to any one of the first random numbers 12a;
Step S30: acquiring a corresponding access address 15a upon receiving the sampling pulse 13a, and generating a row hammer address 14a based on at least one of the acquired access addresses 15 a;
step S40: at least one row address adjacent to the row hammer address 14a is refreshed in response to the next row hammer refresh command RHR.
In the embodiment of the present application, the number of pulses of the external pulse signal 10a is counted in response to the row hammer refresh command RHR to generate the count value 11a, and a plurality of different first random numbers 12a are generated before the count value 11a is output, and the count value 11a is reset in response to the next row hammer refresh command RHR, and the first random numbers 12a are updated. Illustratively, after receiving the row hammer refresh command RHR, the count value 11a may be changed continuously with an increase in the number of pulses of the received external pulse signal 10a, while the first random number 12a may be unchanged; after receiving the next row hammer refresh command RHR, the count value 11a is reset, and the first random number 12a is updated. That is, a plurality of different first random numbers 12a are generated only once between two row hammer refresh commands RHR, i.e., one row hammer refresh period.
In the embodiment of the present application, after the count value 11a and the plurality of first random numbers 12a are generated, the count value 11a and the plurality of first random numbers 12a are acquired, wherein the plurality of first random numbers 12a at the same time may be different. In the case where the count value 11a is equal to any of the first random numbers 12a, the sampling pulse 13a is output. Illustratively, a pseudo-random number is generated by the LFSR to generate the first random number 12a. The pseudo random number generated by the LFSR may be directly used as the first random number 12a, and by setting the initial values of the LFSRs to different values, the pseudo random numbers generated by the LFSRs at the same time may be different, that is, the first random numbers 12a may be different; alternatively, a plurality of pseudo random numbers may be subjected to a certain operation to generate a plurality of different first random numbers 12a. Further, alternatively, if two identical first random numbers 12a are acquired in one row hammer refresh period, a stimulus signal may be generated to regenerate one of the repeated first random numbers 12a until a plurality of different first random numbers 12a are acquired, in which case it is possible to generate a certain first random number 12a plurality of times in one row hammer refresh period. In some embodiments, the count value 11a and each first random number 12a may be compared by a circuit having a plurality of logic gates, and the sampling pulse 13a is output when the count value 11a at a certain time is equal to any of the first random numbers 12a.
In an embodiment of the application, the corresponding access address 15a is grabbed upon receipt of the sampling pulse 13a, and the hammer address 14a is generated based on at least one of said grabbed access addresses. Illustratively, there is some time in one row hammer refresh period when the count value 11a is equal to any of the first random numbers 12a, at which time the sampling pulse 13a is received to capture the access address 15a. The row hammer address 14a is then determined from the at least one access address 15a grasped in one row hammer refresh cycle. In some embodiments, the most frequently occurring access address 15a of the plurality of grasped access addresses 15a may be used as the row hammer address 14a. Thus, by generating a plurality of different first random numbers 12a, at least one access address 15a can be randomly grabbed in the row hammer refresh period, so that the randomness and uniformity of grabbing addresses are increased, and the accuracy of the generated row hammer address 14a is improved, and data errors and data loss caused by row hammer effect are reduced.
In an embodiment of the present application, at least one row address adjacent to row hammer address 14a, where at least one row address adjacent to row hammer address 14a is the victim row, is refreshed in response to the next row hammer refresh command RHR. Optionally, according to the performance and power consumption requirements of the refresh circuit and the memory, a row address adjacent to the row hammer address 14a may be selected for refresh to reduce power consumption; multiple, or even all, adjacent row addresses to row hammer address 14a may be selected for refresh to improve the accuracy of refreshing the victim row.
In some embodiments, the generating the first random number 12a before outputting the count value 11a further includes: the maximum random value of the first random number 12a is adjusted based on the ambient temperature.
In some embodiments, the adjusting the maximum random value of the first random number 12a based on the ambient temperature includes: generating n second random numbers in response to the row hammer refresh command RHR; outputting a sum of the generated m second random numbers as the first random number 12a based on an ambient temperature; wherein n is more than or equal to m is more than or equal to 1; alternatively, one of the second random numbers is output as the first random number 12a based on the ambient temperature.
In the embodiment of the present application, n second random numbers are generated according to the received row hammer refresh command RHR, where n is an integer greater than or equal to 1, and the second random numbers may be pseudo random numbers. Illustratively, the sum of m second random numbers out of n second random numbers may be output as the first random number 12a based on different ambient temperatures, where n+.m+.1; or directly outputs one of the second random numbers as the first random number 12a. In some embodiments, it may also be detected whether the generated plurality of first random numbers 12a are all different, and when there is a repetition of the first random numbers 12a, the corresponding first random numbers 12a are regenerated.
In some embodiments, when the ambient temperature is high, one of the second random numbers is directly output as the first random number 12a, and the maximum value of the first random number 12a is smaller; when the ambient temperature is low, the sum of the m second random numbers is outputted as the first random number 12a, and the maximum value of the first random number 12a is large. Thereby, it is ensured that the number of times the count value 11a is equal to any one of the first random numbers 12a is unchanged, i.e., the number of the grip access addresses 15a is unchanged, and uniformity is maintained at different temperatures.
In some embodiments, the refresh method further comprises: detecting the ambient temperature; outputting different temperature signature signals 16a based on the ambient temperature, the different temperature signature signals 16a being used to characterize the different ambient temperatures; the adjusting the maximum random value of the first random number 12a based on the ambient temperature includes: the maximum random value of the first random number 12a is adjusted based on the temperature flag signal 16 a.
In some embodiments, the refresh method further comprises: the count maximum value of the count value 11a is adjusted based on the ambient temperature.
In an embodiment of the present application, the count maximum may be adjusted to correspond to the maximum random value of the first random number 12a based on the ambient temperature characterized by the temperature flag signal 16 a. In some embodiments, the count maximum may be adjusted in real time based on ambient temperature. In some embodiments, when the count value 11a reaches the count maximum value, a sleep state may be entered to save power consumption.
In some embodiments, the ambient temperature includes a first temperature interval and a second temperature interval; the counting of the received external pulse signal 10a includes: counting the external pulse signals 10a based on the ambient temperature in the first temperature interval, generating a first count value; counting the external pulse signals 10a based on the ambient temperature in the second temperature interval, generating a second count value; the first count value and the second count value are selected as the count value 11a, and the count maximum values of the first count value and the second count value are different.
It is understood that the ambient temperature may also include more than two temperature intervals, and based on different temperature intervals, a corresponding count value 11a is generated.
In some embodiments, the period of the external pulse signal 10a is equal to 2 k The product of-1 is less than the minimum period of row hammer refresh; the k is a binary digit of the first random number 12 a.
In some embodiments, the number of first random numbers 12a is greater than or equal to 3; the generating a row hammer address 14a based on the acquired at least one access address 15a includes: the row hammer address 14a is generated based on one or more access addresses 15a having the highest occurrence frequency among the acquired access addresses 15 a.
As shown in fig. 4, an embodiment of the present application further provides a refresh circuit 200, including: a counting unit 201 for counting the received external pulse signal 20a and resetting a count value 21a in response to the row hammer refresh command RHR; a random unit 202 for generating a first random number 22a before the count unit 201 outputs the count value 21a; a first generating unit 203 connected to the counting unit 201 and the plurality of random units 202, and configured to obtain the count value 21a generated by the counting unit 201 and the plurality of first random numbers 22a generated by the plurality of random units 202, where the first random numbers 22a generated by different random units 202 are different; the first generating unit 203 is further configured to output a sampling pulse 23a when the count value 21a is equal to any one of the first random numbers 22a; a second generating unit 204 connected to an output terminal of the first generating unit 203, for acquiring a corresponding access address 25a when the sampling pulse 23a is received, and generating a hammer address 24a based on at least one of the acquired access addresses; and a refresh unit 205, configured to refresh at least one row address adjacent to the row hammer address 24a in response to the next row hammer refresh command RHR.
In an embodiment of the present application, the counting unit 201 and the plurality of random units 202 further receive a temperature flag signal (not shown in fig. 4) built in the memory, and the temperature flag signal is used to represent that the ambient temperature is in a high temperature range or a low temperature range. The counting unit 201 includes a first counting unit 2011 and a second counting unit 2012. The first counting unit 2011 is an i-bit counter, and the second counting unit 2012 is an i+1-bit counter. Here, taking i=3 as an example, the count maximum value of the first count unit 2011 is 7, and the count maximum value of the second count unit 2012 is 15. The counting unit counts the external pulse signal 20a, wherein the external pulse signal 20a is a square wave pulse signal generated by a ring oscillator, and the period of the external pulse signal 20a is t. The counting unit 201 also resets upon receiving the row hammer refresh command RHR, resetting the count value 21a to 0. The plurality of random cells 202 includes four first random cells 2021 and four second random cells 2022, each of the first random cells 2021 and the second random cells 2022 being a k-bit LFSR and generating a pseudo-random number based on a row hammer refresh command RHR. Minimum period tRRH of row hammer refresh min Satisfy condition 2 k *t>tRHR min >(2 k -1)*t,tRHR min I.e. the time interval between two row hammer refreshes at the highest temperature.
Here, the pseudo random number outputted from each of the first and second randomizers 2021 and 2022 ranges from 1 to 7, taking k=3 as an example. The initial values of the four first random units 2021 are different, and the initial values of the four second random units 2022 are also different, so that the four pseudo random numbers generated by the four first random units 2021 are different at the same time, and the four pseudo random numbers generated by the four second random units 2022 are also different.
The first generation unit 203 includes a pre-sampling unit 2031, a sampling signal generation unit 2032, and a sampling pulse generation unit 2033. The sampling signal generation unit 2032 outputs the sampling signal 232a when the count value 21a is equal to any of the first random numbers 22 a. It should be noted that, the count value 21a and the first random number 22a are binary numbers, each bit of the 3-bit first random number 22a and a corresponding bit of the 3-bit count value 21a are processed by the exclusive or gate Xor, 3 processing results mat <0>, mat <1> and mat <2> are input to the nor gate nor, and then the comparison results of the plurality of first random numbers 22a and the count value 21a are output through the nor gate. Thus, when the count value 21a is equal to any of the first random numbers 22a, the corresponding exclusive or gate Xor outputs mat <0>, mat <1>, and mat <2> as 0, and the corresponding nor gate outputs 1 at this time, the or gate finally outputs 1, i.e., outputs the sampling signal 232a.
The pre-sampling unit 2031 outputs a pre-sampling pulse 231a according to the falling edge of the external pulse signal 20 a; the sampling pulse generation unit 2033 outputs the sampling pulse 23a when the pre-sampling pulse 231a and the sampling signal 232a are in the same level state. In some embodiments, the first generating unit 203 further includes a delay unit 2034, the delay unit 2034 being connected between the ring oscillator and the pre-sampling unit 2031 for delaying the external pulse signal 20a input to the pre-sampling unit 2031, thereby delaying the generated pre-sampling pulse 231a to prevent the pre-sampling pulse 231a from missing the sampling signal 232a that is generated at a slower speed.
When the ambient temperature is in the high temperature range, the first counting unit 2011 counts the external pulse signal 20a as in the timing chart shown in fig. 5, and outputs the count value 21a. The pseudo random numbers generated by the four first random units 2021 are directly used as the first random numbers 22a. When the count value 21a is equal to any one of the first random numbers 22a, the sampling signal 232a is high. The first generation unit 203 performs and operation processing on the sampling signal 232a and the pre-sampling pulse 231a, that is, outputs the sampling pulse 23a to perform sampling of the access address 25a when both the pre-sampling pulse 231a and the sampling signal 232a are at a high level. It will be appreciated that, due to the use of four first random cells 2021, a maximum of 4 accesses to address 25a may be taken within one row hammer refresh period. It is noted that, in fig. 5, the environmental temperatures corresponding to the three row hammer refresh periods tRHR1, tRHR2, tRHR3 are different, and the higher the environmental temperature is, the shorter the row hammer refresh period tRHR is.
In the case where the ambient temperature is in the low temperature range (the timing chart of this case is not shown in fig. 5), the second counting unit 2012 counts the external pulse signal 20a, and outputs the count value 21a. The result of the addition of the pseudo random numbers generated by the first random unit 2021 and the second random unit 2022 is taken as the first random number 22a. When the count value 21a is equal to any one of the first random numbers 22a, the sampling signal 232a is high. It will be appreciated that the count value 21a is 15 at this time and the maximum random value of the first random number 22a is 14. Therefore, compared with the case that the ambient temperature is in a high temperature range, the count maximum value and the maximum random value are both increased, so that the number of the grabbing access addresses 25a is kept unchanged and uniformity is maintained at different temperatures.
Thus, on the one hand, by generating a plurality of different first random numbers 22a, at least one access address 25a can be randomly grabbed in the row hammer refresh period, so that the randomness of the grabbed addresses is increased, the accuracy of the generated row hammer address 24a is improved, and data errors and data losses caused by row hammer effect are reduced. On the other hand, the count maximum value and the maximum random value are adjusted based on different temperatures, so that the uniformity of the grabbing access address 25a at different temperatures is better.
As shown in fig. 6, an embodiment of the present application further provides a memory 300, including: a memory cell array 301; a peripheral circuit 302 coupled to the memory cell array 301; the peripheral circuitry 302 includes the refresh circuitry of any of the embodiments described above. Therefore, the randomness of the grabbing access address is increased, the accuracy of the generated row hammer address is improved, and memory data errors and data loss caused by the row hammer effect are reduced.
As shown in fig. 7, an embodiment of the present application further provides a storage system 400, including: a memory 401 comprising a refresh circuit as described in any of the above embodiments; a controller 402 coupled to the memory 401; the controller 402 is configured to control the memory 401. Therefore, the randomness of the grabbing access address can be increased, the accuracy of the generated row hammer address is improved, the memory data errors and data loss caused by the row hammer effect are reduced, and the stability of the memory system is improved.
It should be noted that the features disclosed in the several method or apparatus embodiments provided in the present application may be arbitrarily combined without any conflict to obtain new method embodiments or apparatus embodiments.
The foregoing is merely illustrative of the present application, and the present application is not limited thereto, and any person skilled in the art will readily recognize that variations or substitutions are within the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.
Claims (19)
1. A refresh circuit, comprising:
a counting unit for counting the received external pulse signals and resetting the count value in response to the row hammer refresh command;
a random unit for generating a first random number before the count unit outputs the count value;
the first generation unit is connected with the counting unit and the plurality of random units and is used for acquiring the count value generated by the counting unit and the plurality of first random numbers generated by the plurality of random units, and the first random numbers generated by different random units are different; the first generating unit is further configured to output a sampling pulse when the count value is equal to any one of the first random numbers;
the second generation unit is connected with the output end of the first generation unit and is used for acquiring a corresponding access address when receiving the sampling pulse and generating a row hammer address based on at least one acquired access address;
and the refreshing unit is used for refreshing at least one row address adjacent to the row hammer address in response to the next row hammer refreshing command.
2. The refresh circuit of claim 1, wherein the random unit is further configured to adjust a maximum random value of the first random number based on an ambient temperature.
3. The refresh circuit of claim 2, wherein the random units comprise n pseudo-random number units, each for generating a second random number in response to the row hammer refresh command;
the random unit is used for outputting the sum of the generated m second random numbers based on the ambient temperature to serve as the first random number; wherein n is more than or equal to m is more than or equal to 1;
or,
the random unit is used for outputting one second random number based on the ambient temperature to serve as the first random number.
4. A refresh circuit according to claim 2 or 3, comprising:
the temperature detection module is used for detecting the ambient temperature;
a temperature flag module for outputting different temperature flag signals based on the ambient temperature, the different temperature flag signals being used to characterize the refresh circuit as being at the different ambient temperatures;
the random unit is further configured to receive the temperature flag signal and to adjust a maximum random value of the first random number based on the temperature flag signal.
5. The refresh circuit of claim 4, wherein the counting unit has a count maximum, the counting unit further configured to adjust the count maximum based on the ambient temperature.
6. The refresh circuit of claim 5, wherein the ambient temperature comprises a first temperature interval and a second temperature interval, the counting unit comprising: the first counting unit is enabled based on the ambient temperature in the first temperature interval, and the second counting unit is enabled based on the ambient temperature in the second temperature interval, and the first counting unit and the second counting unit count the external pulse signals alternatively to generate the count value.
7. The refresh circuit of claim 1, wherein the period of the external pulse signal is equal to 2 k The product of-1 is less than the minimum period of row hammer refresh; and k is the binary bit number of the random unit.
8. The refresh circuit of claim 1, wherein the number of random cells is greater than or equal to 3;
the second generating unit is specifically configured to: and generating the row hammer address based on one or more access addresses with highest occurrence frequency in the acquired access addresses.
9. The refresh circuit of claim 1, wherein the first generation unit comprises:
the pre-sampling unit is used for outputting pre-sampling pulses, and the period of the pre-sampling pulses is consistent with the period of the external pulse signal;
a sampling signal generating unit configured to output a sampling signal when the count value is equal to any one of the first random numbers;
and the sampling pulse generating unit is connected with the pre-sampling unit and the sampling signal generating unit and is used for performing AND operation processing on the pre-sampling pulse and the sampling signal so as to output the sampling pulse.
10. A method of refreshing comprising:
counting the received external pulse signals, and resetting the count value in response to the row hammer refresh command;
generating and outputting a plurality of different first random numbers before outputting the count value;
acquiring the count value and a plurality of first random numbers; outputting a sampling pulse when the count value is equal to any one of the first random numbers;
acquiring a corresponding access address when the sampling pulse is received, and generating a row hammer address based on at least one acquired access address;
and refreshing at least one row address adjacent to the row hammer address in response to the next row hammer refresh command.
11. The method of claim 10, wherein the generating a first random number prior to outputting the count value further comprises:
the maximum random value of the first random number is adjusted based on the ambient temperature.
12. The method of claim 11, wherein the adjusting the maximum random value of the first random number based on the ambient temperature comprises:
generating n second random numbers in response to the row hammer refresh command;
outputting a sum of the generated m second random numbers as the first random number based on an ambient temperature; wherein n is more than or equal to m is more than or equal to 1;
or,
one of the second random numbers is output as the first random number based on an ambient temperature.
13. The method according to claim 11 or 12, further comprising:
detecting the ambient temperature;
outputting different temperature flag signals based on the ambient temperature, the different temperature flag signals being used to characterize the different ambient temperatures;
the adjusting the maximum random value of the first random number based on the ambient temperature includes:
and adjusting a maximum random value of the first random number based on the temperature mark signal.
14. The method as recited in claim 13, further comprising:
and adjusting a count maximum value of the count value based on the ambient temperature.
15. The method of claim 14, wherein the ambient temperature comprises a first temperature interval and a second temperature interval;
the counting of the received external pulse signals includes:
counting the external pulse signals based on the ambient temperature in the first temperature interval to generate a first count value;
counting the external pulse signals based on the ambient temperature in the second temperature interval to generate a second count value;
the first count value and the second count value are selected as the count values, and the count maximum values of the first count value and the second count value are different.
16. The method according to claim 10, wherein the period of the external pulse signal is equal to 2 k The product of-1 is less than the minimum period of row hammer refresh; and k is the binary digit of the first random number.
17. The method of claim 10, wherein the number of first random numbers is greater than or equal to 3;
The generating a row hammer address based on the acquired at least one access address includes:
and generating the row hammer address based on one or more access addresses with highest occurrence frequency in the acquired access addresses.
18. A memory, comprising:
a memory cell array;
peripheral circuitry coupled to the array of memory cells; the peripheral circuit comprising a refresh circuit as claimed in any one of claims 1 to 9.
19. A storage system, comprising:
a memory comprising a refresh circuit as claimed in any one of claims 1 to 9;
a controller coupled to the memory; the controller is used for controlling the memory.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210531286.0A CN117116320A (en) | 2022-05-16 | 2022-05-16 | Refreshing circuit, refreshing method, memory and memory system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210531286.0A CN117116320A (en) | 2022-05-16 | 2022-05-16 | Refreshing circuit, refreshing method, memory and memory system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN117116320A true CN117116320A (en) | 2023-11-24 |
Family
ID=88795279
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202210531286.0A Pending CN117116320A (en) | 2022-05-16 | 2022-05-16 | Refreshing circuit, refreshing method, memory and memory system |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN117116320A (en) |
-
2022
- 2022-05-16 CN CN202210531286.0A patent/CN117116320A/en active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11062754B2 (en) | Apparatus and methods for refreshing memory | |
| US10490252B2 (en) | Apparatus and methods for refreshing memory | |
| US11081160B2 (en) | Apparatus and methods for triggering row hammer address sampling | |
| US11222684B2 (en) | Refresh control device and memory device for latching an address randomly | |
| US8218137B2 (en) | Methods of operating DRAM devices having adjustable internal refresh cycles that vary in response to on-chip temperature changes | |
| CN114496018A (en) | Apparatus and method for controlling refresh timing | |
| CN115705892A (en) | Apparatus and method for counteracting memory attacks | |
| US20150162066A1 (en) | Address storage circuit and memory and memory system including the same | |
| KR102833276B1 (en) | Semiconductor memory device and memory system including the same | |
| CN117116320A (en) | Refreshing circuit, refreshing method, memory and memory system | |
| US12354640B2 (en) | Memory device refresh operations | |
| US20220261221A1 (en) | Random number generator | |
| CN116072181A (en) | Address selection circuit, address selection method, refresh control circuit, and memory system | |
| KR20240032432A (en) | Integrated circuit and memory device including sampling circuit | |
| CN118471290A (en) | Address selection circuit, address selection method, refresh control circuit, and memory system | |
| CN118471288A (en) | Address selection circuit, address selection method, refresh control circuit, and memory system | |
| CN118471291A (en) | Address selection circuit and method, refresh control circuit and memory system | |
| CN118471289A (en) | Address selection circuit, address selection method, refresh control circuit, and memory system | |
| CN118471292A (en) | Address selection circuit, address selection method, refresh control circuit, and memory system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination |