CN110706733A - DRAM memory row disturbance error solution method - Google Patents
DRAM memory row disturbance error solution method Download PDFInfo
- Publication number
- CN110706733A CN110706733A CN201910744955.0A CN201910744955A CN110706733A CN 110706733 A CN110706733 A CN 110706733A CN 201910744955 A CN201910744955 A CN 201910744955A CN 110706733 A CN110706733 A CN 110706733A
- Authority
- CN
- China
- Prior art keywords
- row
- memory row
- memory
- activation command
- active
- 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
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C29/50012—Marginal testing, e.g. race, voltage or current testing of timing
Landscapes
- Dram (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
A DRAM memory row disturbance error solution method comprises the following steps: s1, each DRAM memory row adopts a two-bit latest access timer to track the latest passive activation information; s2, when some memory line has read-write access, it generates active activation command to its adjacent line according to probability N; s3, after the active activation command is determined to be generated, determining whether to execute the active activation operation according to the latest access timer information of the memory row; the invention has the advantages that: on the premise of negligible storage cost, the active activation command can be accurately sent to the victim memory row, meanwhile, unnecessary active activation commands are avoided, and adverse effects on performance are minimized.
Description
Technical Field
The invention provides a solution based on memory row passive activation information, aiming at the problem of row disturbance error of a DRAM memory in the existing computer.
Background
DRAM memory is widely used for the main memory of computers. Each memory cell of a DRAM memory contains a capacitor, where data is stored primarily as a charge. A large number of memory cells form a two-dimensional memory array, with the horizontal memory cells forming rows and the vertical memory cells being columns. The DRAM memory reads and writes data in units of rows, and each time the data is read and written, the row in which the target data is located needs to be activated. When a data row (row) in the DRAM is frequently activated by reading and writing, the memory cells of the data rows adjacent to the row above and below the row decrease the threshold voltage due to the coupling effect, the leakage current increases, and the charges in the memory cell capacitors are rapidly lost, resulting in the loss of stored data. This phenomenon of memory row data loss due to frequent activation of adjacent rows is called row disturb error.
The main reason for the row disturbance error is that the charge loss of the row memory cell is accelerated, so one solution is to perform a refresh operation on the row memory cell in time, supplement the charge, and protect the data. A common default data refresh operation period for DRAM memories is 64 milliseconds. The row causing the other rows to have data errors due to row disturbance is called a victim row, and the row having the row disturbance error is called a victim row. If the number of activation times of the victim row exceeds a certain threshold in the default refresh period, row disturbance errors occur to the data of the victim row, and the victim row cannot be protected by the default refresh operation in time. Therefore, once the number of activations of the victim row approaches a certain threshold, an active activation operation is required to protect the data of the victim row.
The active activation operation is equivalent to the refresh operation at the circuit level. The active refresh operation corresponds to a passive refresh operation, which occurs mainly when a memory row is read or written or a default refresh operation is performed. The passive activation operation is equivalent to the active activation operation in protecting the line data against disturbance errors. If a memory row has recently undergone a passive active operation, there is no need to initiate an active refresh operation to protect the data. The traditional method for solving the line disturbance error depends on active activation operation, and the data protection effect of passive activation operation is not considered, so that unnecessary active activation operation is excessive, and adverse effect on performance is brought.
Disclosure of Invention
The present invention overcomes the above-mentioned drawbacks of the prior art and proposes a method for solving the disturbance error of DRAM rows in combination with the memory row passive activation information. The contents and features of the present invention include the following:
s1, each DRAM memory line adopts two-bit recent access timer to track its recent passive activation
Information;
s2, when some memory line has read-write access, it generates active activation command to its adjacent line according to probability N;
s3, after the active activation command is determined to be generated, determining the latest access timer information according to the memory row
Whether to perform an active activation operation;
wherein the step of S1 is specifically as follows: each memory row is provided with a two-bit latest access timer, when the memory row is subjected to passive activation operation (operation such as reading and writing, default refreshing and the like), the corresponding latest access timer is initialized to 11 and is periodically updated according to the sequence of 11, 10, 01 and 00 until the latest access timer is changed into 00; the method comprises the steps that a threshold value of the frequent activation times of adjacent rows with disturbance errors of a memory row is set to be R, and the time T required for activating R times determines the update period of a latest access timer; the update period of the two-bit last access timer is T/3, so the period T is required for updating from 11 to 00.
Wherein the step of S2 is specifically as follows: each time data access occurs, a random number generator in the memory controller generates a random number r between [0, N), and the value of the probability N equivalent to the random number r is between [0, rN); if r is less than or equal to nN, the event with the probability of N is generated, namely an active activation command for an adjacent row is generated; otherwise, no proactive activation command is generated.
Wherein the step of S3 is specifically as follows: after the active activation command is generated, checking the latest access timer value of the memory row to be activated, and if the value is 00, sending the active activation command to the DRAM; otherwise, the proactive activation command cancels.
The invention has the advantages that: on the premise of negligible storage cost, the active activation command can be accurately sent to the victim memory row, meanwhile, unnecessary active activation commands are avoided, and adverse effects on performance are minimized.
Drawings
FIG. 1 is a schematic diagram of a DRAM row disturb error problem described by the method of the present invention.
Fig. 2 is the update process of the last access timer of the method of the present invention.
Fig. 3 is a main flow diagram of the method of the present invention.
Detailed Description
The technical scheme of the method is further explained by combining the attached drawings and the embodiment.
Fig. 1 is a diagram illustrating a row disturbance error problem of a DRAM, in which memory cells in the DRAM form a two-dimensional array, and an impaired row (aggressor row) causes disturbance to two victim rows (victims rows) adjacent to each other due to frequent accesses, so that a row disturbance error occurs in the victim row. R represents the lower limit of the number of times the victim row is activated for data access when a row disturbance error occurs in the victim row. The period T is the time it takes to activate R times the offending row. The final period T may be selected as the minimum of the currently acquired periods T, since the same activation times take different times for different offending rows of different applications. The period T must be less than the default data refresh period, otherwise, the default data refresh operation protects the data against row disturbance errors. If the time period is less than the period T, the victim row does not have the current disturbance error; when the time period is longer than the period T, the victim row may be subjected to the current disturbance error, and the necessary protection is required.
Each memory row has a two-bit most recent access timer for indicating whether the current memory row has recently been passively activated. FIG. 2 is a two-bit most recent access timer update procedure, at time t1When the memory row is passively activated (because of operations such as reading and writing, default refreshing and the like), the corresponding latest timer is set to be 11, and the value of the timer is decreased in a descending order every T/3 until 00. According to the value of the timer, whether the memory row has been activated in the latest T period can be judged. If the value of the timer is 00, the memory row is not activated in the latest T period; otherwise, it is.
If the value of the last access timer is still in the process of decrementing (less than 00), but the memory line is passively activated, the value of the last access timer is reset to 11 and then decremented at the original default T/3 interval. At this point, the value of the timer cannot indicate that the memory line has not been activated for the past period of time TOperation, only the past (2/3T, T) period, no active operation has occurred with the memory row. Since the timing at which the passive activation occurs is not predictable ahead of time, once it occurs during the descending count down of the timer, it will cause the final 00 value of the timer to occur ahead of time. In FIG. 2, time t2A passive activation occurs, the timer is reset to 11, at time t4The timer is set to 00. If at time t2The timer is set to 11 and no passive activation occurs, the timer until time t5Is set to 00. Time t4And time t5The difference between these is the characterization error (error) introduced by the passive activation operation. The maximum value for the characterization error is T/3.
The existence of the characterization error enables the value T characterized by the latest access timer to be shorter than the real value, namely the harmful row is considered to have R activation operations in the condition of being shorter than the time period T, and the active activation operation is initiated in advance. Therefore, the characterization error causes excessive protection of the victim row, and the final period T can be extended appropriately to offset the effect of the characterization error.
Fig. 3 is a main flow chart of the present invention, first generating an active activation command with a probability N. When a memory row [ i ] has read and write access, a random number r between 0 and n is generated and the values of r and nN are compared. If r is less than nN, it indicates that an event with a probability of N occurs, and the first condition for initiating an active activation command to the victim row [ i-1] and row [ i +1] is satisfied. The second condition is to check the values of the last access timer (RAC) of the victim rows row [ i +1] and row [ i-1], and if the value is 00, send an active activate command to the memory; if the value is not 00, it indicates that the victim is still within the period T, protected by the last passive activate operation, so no active activate command needs to be sent.
The generation of the active refresh command in a probabilistic manner can avoid the storage cost of recording the access times of each memory row, and has the disadvantage that the missed diagnosis rate may occur, that is, the active activate command should be generated without actually being generated. And the probability value N is reasonably selected, so that the missed diagnosis rate can be controlled. The relationship between the probability N and the missed diagnosis rate P is as follows: 1- (1-e)N*R)k. Where k represents the number of accesses to a memory line within the normal operating life, as positiveThe normal 10-year working time is 250 hundred million, R is 32000 times, and the missed diagnosis rate can be controlled to be 4.0 multiplied by 10 by only setting the value of the probability N to be 0.2 percent-18To a negligible extent.
The most recent access timer for each memory row requires only two bits of storage space. Considering an 8Gb DRAM memory and 8Kb memory row, all the last access timers occupy only 2M of memory space and are constructed in groups, each with a size of 512 bits. Since the most recently accessed timer for a memory row is frequently accessed, in order to increase the access speed, the timer is provided in the memory controller. Meanwhile, the extended memory controller adds a random number generator such that a random number between [0, n) is generated every time there is a data access, and accesses the latest timer group to determine whether to send an active activation command to the DRAM memory.
The embodiments described in this specification are merely illustrative of implementations of the inventive concept and the scope of the present invention should not be considered limited to the specific forms set forth in the embodiments but rather by the equivalents thereof as may occur to those skilled in the art upon consideration of the present inventive concept.
Claims (1)
1. A DRAM memory row disturbance error solution method comprises the following steps:
s1, each DRAM memory row adopts a two-bit latest access timer to track the latest passive activation information;
s2, when some memory line has read-write access, it generates active activation command to its adjacent line according to probability N;
s3, after the active activation command is determined to be generated, determining whether to execute the active activation operation according to the latest access timer information of the memory row;
wherein the step of S1 is specifically as follows: each memory row is provided with a two-bit latest access timer, when the memory row is subjected to passive activation operation, the corresponding latest access timer is initialized to 11 and is periodically updated according to the sequence of 11, 10, 01 and 00 until the latest access timer is finally 00; the method comprises the steps that a threshold value of the frequent activation times of adjacent rows with disturbance errors of a memory row is set to be R, and the time T required for activating R times determines the update period of a latest access timer; the update period of the two-bit latest access timer is T/3, so the period T is needed from 11 to 00;
wherein the step of S2 is specifically as follows: each time data access occurs, a random number generator in the memory controller generates a random number r between [0, N), and the value of the probability N equivalent to the random number r is between [0, rN); if r is less than or equal to nN, the event with the probability of N is generated, namely an active activation command for an adjacent row is generated; otherwise, not generating an active activation command;
wherein the step of S3 is specifically as follows: after the active activation command is generated, checking the latest access timer value of the memory row to be activated, and if the value is 00, sending the active activation command to the DRAM; otherwise, the proactive activation command cancels.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910744955.0A CN110706733A (en) | 2019-08-13 | 2019-08-13 | DRAM memory row disturbance error solution method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910744955.0A CN110706733A (en) | 2019-08-13 | 2019-08-13 | DRAM memory row disturbance error solution method |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110706733A true CN110706733A (en) | 2020-01-17 |
Family
ID=69193767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910744955.0A Pending CN110706733A (en) | 2019-08-13 | 2019-08-13 | DRAM memory row disturbance error solution method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110706733A (en) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7352642B2 (en) * | 2005-06-30 | 2008-04-01 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
CN102467957A (en) * | 2010-10-29 | 2012-05-23 | 海力士半导体有限公司 | Refresh operation control circuit, semiconductor memory device including the same, and refresh operation control method |
US20140281206A1 (en) * | 2013-03-15 | 2014-09-18 | John H. Crawford | Techniques for Probabilistic Dynamic Random Access Memory Row Repair |
CN104350546A (en) * | 2012-06-30 | 2015-02-11 | 英特尔公司 | Row hammer refresh command |
CN104737234A (en) * | 2012-11-30 | 2015-06-24 | 英特尔公司 | Row hammer monitoring based on stored row hammer threshold value |
CN104778013A (en) * | 2014-01-15 | 2015-07-15 | 三星电子株式会社 | Method and device for tracking activations to rows of memory |
US9384821B2 (en) * | 2012-11-30 | 2016-07-05 | Intel Corporation | Row hammer monitoring based on stored row hammer threshold value |
US20170186481A1 (en) * | 2015-12-28 | 2017-06-29 | Samsung Electronics Co., Ltd. | Refresh controller and memory device including the same |
CN108897490A (en) * | 2018-05-14 | 2018-11-27 | 浙江工商大学 | A kind of data managing method of the heterogeneous mixing memory system of DRAM/PRAM |
CN109564532A (en) * | 2016-08-05 | 2019-04-02 | 美光科技公司 | Prediction corrective action in memory based on probabilistic data structure |
-
2019
- 2019-08-13 CN CN201910744955.0A patent/CN110706733A/en active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7352642B2 (en) * | 2005-06-30 | 2008-04-01 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
CN102467957A (en) * | 2010-10-29 | 2012-05-23 | 海力士半导体有限公司 | Refresh operation control circuit, semiconductor memory device including the same, and refresh operation control method |
CN104350546A (en) * | 2012-06-30 | 2015-02-11 | 英特尔公司 | Row hammer refresh command |
CN104737234A (en) * | 2012-11-30 | 2015-06-24 | 英特尔公司 | Row hammer monitoring based on stored row hammer threshold value |
US9384821B2 (en) * | 2012-11-30 | 2016-07-05 | Intel Corporation | Row hammer monitoring based on stored row hammer threshold value |
US20140281206A1 (en) * | 2013-03-15 | 2014-09-18 | John H. Crawford | Techniques for Probabilistic Dynamic Random Access Memory Row Repair |
CN104778013A (en) * | 2014-01-15 | 2015-07-15 | 三星电子株式会社 | Method and device for tracking activations to rows of memory |
US20170186481A1 (en) * | 2015-12-28 | 2017-06-29 | Samsung Electronics Co., Ltd. | Refresh controller and memory device including the same |
CN109564532A (en) * | 2016-08-05 | 2019-04-02 | 美光科技公司 | Prediction corrective action in memory based on probabilistic data structure |
CN108897490A (en) * | 2018-05-14 | 2018-11-27 | 浙江工商大学 | A kind of data managing method of the heterogeneous mixing memory system of DRAM/PRAM |
Non-Patent Citations (1)
Title |
---|
DAE-HYUN KIM等: "Architectural Support for Mitigating RowHammering in DRAM Memories", 《IEEE COMPUTER ARCHITECTURE LETTERS》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108242248B (en) | Memory device, memory system including the same, and method of operating the same | |
TWI643200B (en) | Controller-based memory scrub for drams with internal error-correcting code (ecc) bits contemporaneously during auto refresh or by using masked write commands | |
CN112420107A (en) | Apparatus and method for dynamic refresh allocation | |
CN110556156A (en) | Semiconductor memory device, memory system and method of operating semiconductor memory device | |
CN116529825A (en) | Apparatus and method for tracking word line access | |
CN104488031A (en) | Performing refresh of a memory device in response to access of data | |
WO2015149037A1 (en) | Most activated memory portion handling | |
CN114255800A (en) | Apparatus and method for controlling refresh operation | |
CN114822628A (en) | Apparatus and method for dynamically assigned aggressor detection | |
CN116189734A (en) | Apparatus, system, and method for master sketch and fine sketch circuitry for row address tracking | |
KR102306380B1 (en) | Circuit for selecting rows to be refreshed | |
TWI668692B (en) | Dynamic random access memory | |
CN108228093B (en) | Method and apparatus for monitoring memory using background media scanning | |
US11749333B2 (en) | Memory system | |
CN109961815B (en) | Dynamic random access memory and operation method thereof | |
US20190146687A1 (en) | Method for performing refresh management in a memory device, associated memory device and controller thereof | |
CN110706733A (en) | DRAM memory row disturbance error solution method | |
US20230162776A1 (en) | Memory | |
CN110765041A (en) | Adaptive Nand Flash read-write speed adjusting system | |
CN114627929A (en) | Memory controller and memory system | |
US20190074051A1 (en) | Memory system and refresh control method thereof | |
CN116168742A (en) | Memory and memory system and method of operating memory and memory system | |
KR20230037992A (en) | Memory device including row hammer preventing circuitry and operating method thereof | |
US11990198B2 (en) | Memory system and operation method of memory system | |
CN110765042A (en) | Adaptive Nand Flash read-write speed adjusting method |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200117 |
|
RJ01 | Rejection of invention patent application after publication |