US8848471B2 - Method for optimizing refresh rate for DRAM - Google Patents

Method for optimizing refresh rate for DRAM Download PDF

Info

Publication number
US8848471B2
US8848471B2 US13/569,486 US201213569486A US8848471B2 US 8848471 B2 US8848471 B2 US 8848471B2 US 201213569486 A US201213569486 A US 201213569486A US 8848471 B2 US8848471 B2 US 8848471B2
Authority
US
United States
Prior art keywords
refresh
refresh rate
rate
error
rows
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.)
Active, expires
Application number
US13/569,486
Other versions
US20140043927A1 (en
Inventor
Michele M. Franceschini
Hillery C. Hunter
Ashish Jagmohan
Charles A. Kilmer
Kyu-hyoun Kim
Luis A. Lastras
Moinuddin K. Qureshi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GlobalFoundries US Inc
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to US13/569,486 priority Critical patent/US8848471B2/en
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: FRANCESCHINI, MICHELE M., HUNTER, HILLERY, JAGMOHAN, ASHISH, KILMER, CHARLES A., KIM, KYU-HYOUN, LASTRAS, LUIS A., QURESHI, MOINUDDIN K.
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION CORRECTIVE ASSIGNMENT TO CORRECT DOC DATES FOR THE 5TH & 7TH ASSIGNORS PREVIOUSLY RECORDED ON REEL 028748 FRAME 0480. Assignors: KIM, KYU-HYOUN, QURESHI, MOINUDDIN K., FRANCESCHINI, MICHELE M., HUNTER, HILLERY, JAGMOHAN, ASHISH, KILMER, CHARLES A., LASTRAS, LUIS A.
Publication of US20140043927A1 publication Critical patent/US20140043927A1/en
Application granted granted Critical
Publication of US8848471B2 publication Critical patent/US8848471B2/en
Assigned to GLOBALFOUNDRIES U.S. 2 LLC reassignment GLOBALFOUNDRIES U.S. 2 LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: INTERNATIONAL BUSINESS MACHINES CORPORATION
Assigned to GLOBALFOUNDRIES INC. reassignment GLOBALFOUNDRIES INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GLOBALFOUNDRIES U.S. 2 LLC, GLOBALFOUNDRIES U.S. INC.
Assigned to WILMINGTON TRUST, NATIONAL ASSOCIATION reassignment WILMINGTON TRUST, NATIONAL ASSOCIATION SECURITY AGREEMENT Assignors: GLOBALFOUNDRIES INC.
Assigned to GLOBALFOUNDRIES U.S. INC. reassignment GLOBALFOUNDRIES U.S. INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GLOBALFOUNDRIES INC.
Assigned to GLOBALFOUNDRIES INC. reassignment GLOBALFOUNDRIES INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: WILMINGTON TRUST, NATIONAL ASSOCIATION
Assigned to GLOBALFOUNDRIES U.S. INC. reassignment GLOBALFOUNDRIES U.S. INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: WILMINGTON TRUST, NATIONAL ASSOCIATION
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/023Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50016Marginal testing, e.g. race, voltage or current testing of retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles

Definitions

  • This disclosure relates to dynamic RAM refresh. In particular, it relates to a method for quickly identifying a power-efficient refresh interval.
  • Dynamic memory cells store a charge on a capacitor.
  • the capacitor loses its charge over time and must be periodically refreshed. This refresh operation consumes resources and locks up the memory from performing other operations during the refresh, such as reading and writing.
  • the frequency with which a particular capacitor will need refreshing depends on the construction and manufacture of the chip. On the same chip and often the same row, some capacitors may hold a charge on the order of milliseconds, while other capacitors may hold a charge on the order of seconds.
  • this disclosure relates to a method for determining a slow refresh rate for DRAM having at least a fast and a slow refresh rate, which includes testing the DRAM rows at a test refresh rate, determining an error rate, evaluating the error rate against a constraint; and determining the slow refresh rate if the error rate is greater than the constraint.
  • this disclosure relates to a controller for determining an optimized refresh rate which includes a memory error test circuit, a determination circuit, and an evaluator logic unit.
  • the memory test circuit may be used for testing output at a test refresh rate.
  • the determination circuit may be used for determining an error rate of the rows of cells.
  • the evaluator logic unit may be used for evaluating the error rate against a constraint and setting a slow refresh rate when the error rate is greater than the constraint.
  • this disclosure relates to a method for optimizing refresh rate, which includes testing rows of cells at a refresh rate with a memory error test circuit, determining an error rate of the rows of cells with a determination circuit, evaluating the error rate against a constraint with an evaluator logic unit, and setting a slow refresh rate when the error rate is greater than the constraint with the evaluator logic unit.
  • FIG. 1 is a flowchart of an overall refresh optimization method, according to embodiments of the invention.
  • FIG. 2A is a graphical representation of the total refresh fraction vs. slow refresh rate.
  • FIG. 2B is a graphical representation of the total refresh fraction vs. iterations of a method, according to embodiments of the invention.
  • FIG. 3 is a flowchart of a refresh rate optimization method using row error, according to an embodiment of the invention.
  • FIG. 4 is a flowchart of a refresh rate optimization method using row error difference, according to an embodiment of the invention.
  • FIG. 5 is a diagrammatic representation of a hardware context in which a refresh rate optimization method may be implemented, according to principles of the invention.
  • DRAM Dynamic random access memory
  • these capacitors do not all lose charge at the same rate or require refreshing at the same frequency. Due to manufacturing variations and defects, some DRAM cells may leak or pick up charge at different rates than other cells. Rows having cells with capacitors poor at holding a charge must be refreshed at a faster rate than the majority of rows, which may have cells that are strong at holding a charge.
  • each row of the DRAM was refreshed at the refresh rate required for the weakest cells; this ensured that all the DRAM cells were refreshed before losing their charge. Refreshing DRAM consumes power and resources, and minimizing the total refresh time for the DRAM may reduce the power consumption of the DRAM and free up time and resources for reading and writing operations.
  • optimization of time spent on refresh may occur through a system of multiple refresh rates including a fast refresh rate suitable to retain data on a weakest cell in a particular DRAM technology, and a slow refresh rate for rows with cells that are able to retain their charge over the refresh interval.
  • the fast refresh rate may be the rate at which the weakest cells in a row require refreshing.
  • the slow refresh rate may be a calculated or adjustable refresh rate. Any row of cells that may not be adequately refreshed at the slow refresh rate may be refreshed at the fast refresh rate. Given enough resources, a machine could determine the optimum slow refresh rate for a given DRAM; however, this may take significant time and resources.
  • Refresh rate refers to the length of time between refreshes for a row of cells; for example, the refresh rate may be expressed in units of row/milliseconds. Because the row is referenced as a whole unit, the time unit will be the variable unit. Refresh rate may also be discussed in terms of a refresh interval, and it is known that discussing a refresh interval for a row is the same as discussing the refresh rate of the row. Using refresh interval instead of refresh rate does not change the operation of the method, as it is known to convert one to the other. For example, refresh interval may be the reciprocal of refresh rate.
  • a method for optimizing refresh rate involves testing rows at a refresh rate, determining an error rate of the rows at that refresh rate, and comparing the error rate to a constraint. These steps may be repeated for a number of iterations with a decreased refresh rate until the constraint is violated, at which point a slow refresh rate may be set.
  • FIG. 1 is a flowchart a refresh rate optimization method, according to embodiments of the invention.
  • the rows are tested at a test refresh rate.
  • the error rate of the rows is determined for the test refresh rate.
  • the error rate at the test refresh rate is evaluated against a constraint. If the constraint is not violated, the rows are tested at a new test refresh rate, as in operation 101 . If the constraint is violated, the slow refresh rate is set, as in operation 104 .
  • the total refresh time of the DRAM is a function of the number of rows of cells requiring a fast refresh rate (“fast rows”), the number of rows of cells refreshed at a slow refresh rate (“slow rows”), and the fast and slow refresh rates for those respective rows. This relationship may be represented in the following equation:
  • T R N F R F + N S R S
  • T R is the total refresh time
  • R F is the fast refresh rate
  • N F is the number of fast rows
  • R S is the slow refresh rate
  • N S is the number of slow rows.
  • the slow refresh rate is initially set to the fast refresh rate and that all rows start as slow rows. As the slow refresh rate is decreased, more rows will fail to hold a charge for the refresh period, increasing the number of rows requiring a fast refresh. There exists an optimum slow refresh rate for the DRAM that balances a lower slow refresh rate with a higher number of fast rows.
  • FIG. 2A and FIG. 2B are graphical representations of the total refresh time for a hypothetical DRAM whose cells exhibit exponential distribution for their charge-holding capabilities; the shape of these graphs may change depending on the properties of the DRAM.
  • the graph shows total refresh fraction vs. slow refresh rate.
  • the x-axis represents the slow refresh rate, plotted on a logarithmic scale.
  • the y-axis represents total refresh fraction, which is the total refresh time of the DRAM as a fraction of the refresh time the DRAM would have to spend if all the rows were refreshed at the fast refresh rate, represented by the following equation:
  • X R T R ⁇ R F N T
  • X R the total refresh fraction
  • T R the total refresh time
  • R F the fast refresh rate
  • N T the total number of rows to be refreshed, which ordinarily would be the total of fast rows and slow rows.
  • the optimum slow refresh rate is shown by the minimum in the plot, which corresponds to the lowest total time spent on refreshing.
  • FIG. 2B is a graphical representation of the total refresh time vs. the number of iterations of an optimization method performed.
  • the x-axis represents the number of iterations performed by the method, while the y-axis is total refresh fraction, as discussed above in FIG. 1A .
  • the optimum refresh rate for FIG. 2B would be four iterations, as seen by the graphical minimum; however, other refresh rates may still improve the refresh rate for the DRAM. Because the refresh rate determination takes time and resources, it may be advantageous in some embodiments to stop after fewer than four iterations of the method.
  • total refresh time in a DRAM is improved by testing the DRAM rows for their ability to hold a value for a refresh interval at a test refresh rate.
  • the total refresh time is evaluated at the test refresh rate, wherein the total refresh time is a function of the fast refresh rate, the test refresh rate, and the respective number of cells that fail and succeed at holding a value for the test interval.
  • the test is repeated at a changed test refresh rate until the total refresh time begins to increase, at which point the slow refresh rate is set.
  • FIG. 3 is a flowchart of an embodiment of the invention utilizing row error for determining a slow refresh rate. The steps of FIG. 1 are represented by hashed marks within FIG. 3 , and are discussed in detail below.
  • the rows may be tested at a refresh rate, as in operation 101 .
  • the test refresh rate may be the fast refresh rate for the DRAM, as in 301 .
  • This fast refresh rate is often tested and defined by the DRAM manufacturer.
  • the fast refresh rate may change depending on environmental factors of the DRAM, such as temperature.
  • the fast refresh rate may be determined with a test itself, where the test establishes the refresh rate required for a certain threshold of cells or rows to hold their charge; for example, an acceptable error may be 0.0001% of all cells.
  • the test refresh rate may be a known refresh rate for which all the cells may hold their charge; this may be refresh information stored from a previous test.
  • the test refresh rate may be determined by applying a refresh rate factor to the previous test refresh rate, as shown in operation 307 . This determination may be represented in the following equation:
  • R x R x - 1 K R
  • R x the current test refresh rate
  • R x-1 the previous test refresh rate (or fast refresh rate, if the first iteration)
  • K R the refresh rate factor
  • x the iteration number.
  • the previous test refresh rate is divided by the refresh rate factor; however, the refresh rate factor may multiply, divide, or perform any other mathematical operation.
  • the refresh rate factor will influence the convergence of the method on an optimal refresh rate, and may be selected based on such considerations as extent of refresh rate optimization and amount of time dedicated to refresh rate optimization. For example, if the previous refresh rate is one refresh cycle every 32 milliseconds and the refresh rate factor is 2, the current refresh rate will be one refresh cycle every 64 milliseconds.
  • the rows are tested at the test refresh rate, as in 302 .
  • the rows may be tested through any method that allows for the determination of whether the cells in a row can hold a value for the test refresh rate duration.
  • a row may be tested by writing a “one” to the cells, and observing whether the cells in the row are able to hold that value.
  • the rows may also be tested by writing a “zero” to the cells, and observing how many rows are able to hold the value.
  • the cells may be tested for their ability to hold a value for one or both cell values.
  • the rows may only be tested by charging the cells to a “one” value.
  • the rows may be tested with both a “one” charge and a “zero” charge.
  • the rows may be tested at start-up. Alternatively, the rows may be tested during normal operation of the system. If a weak row holding data is to be tested while the system is operated, the data from the weak row may be transferred to a row that is known to be a strong row so that the data is not lost during the test.
  • the error rate for a test refresh rate is determined, as in operation 102 .
  • the error rate may be any measure of the ability of a row of cells to hold a charge at a refresh rate or over a series of refresh rates.
  • the error rate may be the percentage of cells that fail to hold a charge at a given refresh rate, or it may be the increase in the percentage of cells that fail to hold a charge from one iteration to the next.
  • the error rate is the row error, which represents the percentage of rows with cells that fail to hold a cell value at a particular test refresh rate.
  • the row error may be determined for the rows tested at the test refresh rate, as in operation 303 .
  • Row error may be represented by the following equation:
  • E x N F N T
  • E x is the row error
  • N F is the number of rows with cells that fail (fast rows)
  • N T is the total number of rows tested (fast rows and slow rows).
  • the row error is also a function temperature of the DRAM.
  • the row error rate may be 0.03 if 3 out of 100 tested rows fail to hold a charge at the test refresh rate.
  • the row error may be the number of rows that fail. Evaluating Row Error against Constraint
  • the error rate for a test rate may be evaluated against a constraint, as in operation 103 .
  • the row error may be evaluated against a row error constraint.
  • the row error constraint may be determined, as in operation 304 .
  • the row error constraint sets the maximum allowable row error for a given refresh rate.
  • the row error constraint may be a predetermined value, or it may be calculated by an equation or set of inputs. For example, the maximum row error for a slow refresh rate may be set at 95%, ensuring that at most 5% of the rows would be refreshed at the slow refresh rate.
  • the row error (E x ) may be compared against the row error constraint (C ex ), as in operation 305 . If C ex is greater than E x , then the DRAM may perform another iteration of the test sequence while incrementing x; this may involve storing the current test refresh rate (R x ) as the previous test refresh rate (R x-1 ), as in operation 306 . If C, is less than E x , then the DRAM may set the slow refresh rate to the previous test refresh rate (R x-1 ), as in operation 308 . For example, if the row error is 0.03 and the row error constraint is 0.05, the method would perform another iteration. However, if the row error difference is 0.06, the method would stop iterating and the refresh rate of the last iteration may be set as the slow refresh rate.
  • FIG. 4 is a flowchart of an embodiment of the invention utilizing the change in row error for optimizing refresh rate.
  • Row error from the current iteration and a previous iteration may be used to calculate a difference in row error, with that row error difference (D x ) evaluated against a row error difference constraint (C dx ).
  • D x row error difference
  • C dx row error difference constraint
  • By analyzing the change in the rate between two or more iterations it may not be necessary to have values for the row error constraints, only for the rate of change of the row error values between iterations.
  • a row error difference may be determined from row error.
  • the previous row error may be a predetermined value, such as zero; for subsequent iterations, the previous row error may be retrieved from storage. For example, if the previous row error is 0.01 (1%) and the current row error is 0.03 (3%), then the row error difference would be 0.02.
  • the row error difference constraint may be determined for the row error difference, as in 402 .
  • the row error difference constraint (C dx ) sets the maximum allowable error difference between the current refresh rate and the previous refresh rate.
  • the constraint may be stored and retrieved, or it may be calculated by an equation or set of inputs.
  • the row error difference constraint may be calculated by the equation below:
  • C dx ( 1 K R ) x
  • C dx the row error difference constraint
  • x the iteration number
  • K R the refresh rate factor, discussed above. For example, if the refresh rate factor is 2 and the method is on its third iteration, the row error constraint may be 0.125.
  • the row error difference (D x ) may be evaluated against the row error difference constraint (C dx ), as in 403 . If C dx is greater than D x , then the DRAM performs another iteration while incrementing x; this may involve storing the current test refresh rate (R x ) as the previous test refresh rate (R x-1 ), and the row error (E x ) as the previous row error (E x-1 ), as in 404 . If C dx is less than D x , then the DRAM may set the slow refresh rate to the previous test refresh rate (R x-1 ), as in 308 .
  • FIG. 5 is a diagrammatic representation of a hardware implementation of the refresh optimization method, according to an embodiment of the invention.
  • a memory controller 501 may determine refresh rate that refreshes a DRAM array 508 .
  • the memory controller 501 may contain a memory test circuit 502 , a determination circuit 503 , and an evaluation circuit 504 .
  • the memory test circuit 502 may test the DRAM array 508 at a test refresh rate. The test may involve putting a charge on a row of cells, reading the row of cells after a refresh interval corresponding to the refresh rate, and determining whether the row held the charge for the refresh interval.
  • the determination circuit 503 may determine the error rate of the tested cells at the test refresh rate. The error rate determination may involve determining the fraction of the rows tested that failed to hold a charge in all their cells for the refresh interval.
  • the determination circuit 503 may send error rate information to the evaluation circuit 504 .
  • the evaluation circuit 504 may evaluate the error rate against a constraint.
  • the constraint may be stored as history parameters 505 , or may be calculated by the evaluation circuit 504 or other circuitry. History parameters 503 may include any stored data, whether temporary or permanent, regarding the refresh rate calculation. Permanent data may include constraint data and temporary data may include cell error, previous refresh rate, and the identities and locations of rows requiring a fast refresh rate.
  • the evaluation circuit 504 may send an increment signal back to the memory test circuit 502 if the error rate does not violate the constraint.
  • the memory test circuit 502 may determine a new test refresh rate and initiate the testing, determination, and evaluation process explained above.
  • the evaluation circuit 504 may set the slow refresh rate and send the refresh rate information to a refresh controller 506 .
  • the refresh controller 506 may convert the information into refresh rate signals, which may be sent to a refresh rate counter 507 and the DRAM array 508 for refresh.
  • a refresh rate optimization method may be implemented with discrete hardware or firmware components.
  • the refresh rate optimization method discussed above may be achieved through logic circuits or programmable devices, such as programmable logic arrays (PLA) or application specific integrated circuits (ASIC).
  • the firmware may be present on-board or off-board. The functions of the refresh rate optimization method may be performed through a combination of hardware and firmware.

Abstract

A method for determining an optimized refresh rate involves testing a refresh rate on rows of cells, determining an error rate of the rows, evaluating the error rate of the rows; and repeating these steps for a decreased refresh rate until the error rate is greater than a constraint, at which point a slow refresh rate is set.

Description

TECHNICAL FIELD
This disclosure relates to dynamic RAM refresh. In particular, it relates to a method for quickly identifying a power-efficient refresh interval.
BACKGROUND
Dynamic memory cells store a charge on a capacitor. The capacitor loses its charge over time and must be periodically refreshed. This refresh operation consumes resources and locks up the memory from performing other operations during the refresh, such as reading and writing. The frequency with which a particular capacitor will need refreshing depends on the construction and manufacture of the chip. On the same chip and often the same row, some capacitors may hold a charge on the order of milliseconds, while other capacitors may hold a charge on the order of seconds.
SUMMARY
In an embodiment, this disclosure relates to a method for determining a slow refresh rate for DRAM having at least a fast and a slow refresh rate, which includes testing the DRAM rows at a test refresh rate, determining an error rate, evaluating the error rate against a constraint; and determining the slow refresh rate if the error rate is greater than the constraint.
In another embodiment, this disclosure relates to a controller for determining an optimized refresh rate which includes a memory error test circuit, a determination circuit, and an evaluator logic unit. The memory test circuit may be used for testing output at a test refresh rate. The determination circuit may be used for determining an error rate of the rows of cells. The evaluator logic unit may be used for evaluating the error rate against a constraint and setting a slow refresh rate when the error rate is greater than the constraint.
In another embodiment, this disclosure relates to a method for optimizing refresh rate, which includes testing rows of cells at a refresh rate with a memory error test circuit, determining an error rate of the rows of cells with a determination circuit, evaluating the error rate against a constraint with an evaluator logic unit, and setting a slow refresh rate when the error rate is greater than the constraint with the evaluator logic unit.
BRIEF DESCRIPTION OF THE DRAWINGS
The drawings included in the present application are incorporated into, and form part of, the specification. They illustrate an embodiment of the present invention and, along with the description, serve to explain the principles of the invention. The drawings are only illustrative of a typical embodiment of the invention and do not limit the invention.
FIG. 1 is a flowchart of an overall refresh optimization method, according to embodiments of the invention.
FIG. 2A is a graphical representation of the total refresh fraction vs. slow refresh rate.
FIG. 2B is a graphical representation of the total refresh fraction vs. iterations of a method, according to embodiments of the invention.
FIG. 3 is a flowchart of a refresh rate optimization method using row error, according to an embodiment of the invention.
FIG. 4 is a flowchart of a refresh rate optimization method using row error difference, according to an embodiment of the invention.
FIG. 5 is a diagrammatic representation of a hardware context in which a refresh rate optimization method may be implemented, according to principles of the invention.
DETAILED DESCRIPTION
Dynamic random access memory (DRAM) must be periodically refreshed, as the capacitors that store a charge in the DRAM may leak the charge over time. However, these capacitors do not all lose charge at the same rate or require refreshing at the same frequency. Due to manufacturing variations and defects, some DRAM cells may leak or pick up charge at different rates than other cells. Rows having cells with capacitors poor at holding a charge must be refreshed at a faster rate than the majority of rows, which may have cells that are strong at holding a charge.
Traditionally, each row of the DRAM was refreshed at the refresh rate required for the weakest cells; this ensured that all the DRAM cells were refreshed before losing their charge. Refreshing DRAM consumes power and resources, and minimizing the total refresh time for the DRAM may reduce the power consumption of the DRAM and free up time and resources for reading and writing operations.
According to the principles of the invention, optimization of time spent on refresh may occur through a system of multiple refresh rates including a fast refresh rate suitable to retain data on a weakest cell in a particular DRAM technology, and a slow refresh rate for rows with cells that are able to retain their charge over the refresh interval. The fast refresh rate may be the rate at which the weakest cells in a row require refreshing. The slow refresh rate may be a calculated or adjustable refresh rate. Any row of cells that may not be adequately refreshed at the slow refresh rate may be refreshed at the fast refresh rate. Given enough resources, a machine could determine the optimum slow refresh rate for a given DRAM; however, this may take significant time and resources. Aspects of the invention relate to a method for quickly establishing an ideal slow refresh rate for use in conjunction with a fast refresh rate to reduce overall refresh time for a DRAM. Refresh rate as it is used in the disclosure refers to the length of time between refreshes for a row of cells; for example, the refresh rate may be expressed in units of row/milliseconds. Because the row is referenced as a whole unit, the time unit will be the variable unit. Refresh rate may also be discussed in terms of a refresh interval, and it is known that discussing a refresh interval for a row is the same as discussing the refresh rate of the row. Using refresh interval instead of refresh rate does not change the operation of the method, as it is known to convert one to the other. For example, refresh interval may be the reciprocal of refresh rate.
According to the principles of the invention, a method for optimizing refresh rate involves testing rows at a refresh rate, determining an error rate of the rows at that refresh rate, and comparing the error rate to a constraint. These steps may be repeated for a number of iterations with a decreased refresh rate until the constraint is violated, at which point a slow refresh rate may be set.
FIG. 1 is a flowchart a refresh rate optimization method, according to embodiments of the invention. In operation 101, the rows are tested at a test refresh rate. In operation 102, the error rate of the rows is determined for the test refresh rate. In operation 103, the error rate at the test refresh rate is evaluated against a constraint. If the constraint is not violated, the rows are tested at a new test refresh rate, as in operation 101. If the constraint is violated, the slow refresh rate is set, as in operation 104.
According to principles of the invention, the total refresh time of the DRAM is a function of the number of rows of cells requiring a fast refresh rate (“fast rows”), the number of rows of cells refreshed at a slow refresh rate (“slow rows”), and the fast and slow refresh rates for those respective rows. This relationship may be represented in the following equation:
T R = N F R F + N S R S
where TR is the total refresh time, RF is the fast refresh rate, NF is the number of fast rows, RS is the slow refresh rate, and NS is the number of slow rows. For purposes of understanding the relationship of the fast and slow cells, assume that the slow refresh rate is initially set to the fast refresh rate and that all rows start as slow rows. As the slow refresh rate is decreased, more rows will fail to hold a charge for the refresh period, increasing the number of rows requiring a fast refresh. There exists an optimum slow refresh rate for the DRAM that balances a lower slow refresh rate with a higher number of fast rows.
FIG. 2A and FIG. 2B are graphical representations of the total refresh time for a hypothetical DRAM whose cells exhibit exponential distribution for their charge-holding capabilities; the shape of these graphs may change depending on the properties of the DRAM. In FIG. 2A, the graph shows total refresh fraction vs. slow refresh rate. The x-axis represents the slow refresh rate, plotted on a logarithmic scale. The y-axis represents total refresh fraction, which is the total refresh time of the DRAM as a fraction of the refresh time the DRAM would have to spend if all the rows were refreshed at the fast refresh rate, represented by the following equation:
X R = T R R F N T
where XR is the total refresh fraction, TR is the total refresh time, discussed above, RF is the fast refresh rate, and NT is the total number of rows to be refreshed, which ordinarily would be the total of fast rows and slow rows. The optimum slow refresh rate is shown by the minimum in the plot, which corresponds to the lowest total time spent on refreshing.
FIG. 2B is a graphical representation of the total refresh time vs. the number of iterations of an optimization method performed. The x-axis represents the number of iterations performed by the method, while the y-axis is total refresh fraction, as discussed above in FIG. 1A. The optimum refresh rate for FIG. 2B would be four iterations, as seen by the graphical minimum; however, other refresh rates may still improve the refresh rate for the DRAM. Because the refresh rate determination takes time and resources, it may be advantageous in some embodiments to stop after fewer than four iterations of the method.
Alternatively, according to principles of the invention, total refresh time in a DRAM is improved by testing the DRAM rows for their ability to hold a value for a refresh interval at a test refresh rate. The total refresh time is evaluated at the test refresh rate, wherein the total refresh time is a function of the fast refresh rate, the test refresh rate, and the respective number of cells that fail and succeed at holding a value for the test interval. According to this embodiment, the test is repeated at a changed test refresh rate until the total refresh time begins to increase, at which point the slow refresh rate is set.
Optimization Using Row Error
FIG. 3 is a flowchart of an embodiment of the invention utilizing row error for determining a slow refresh rate. The steps of FIG. 1 are represented by hashed marks within FIG. 3, and are discussed in detail below.
Testing Rows
The rows may be tested at a refresh rate, as in operation 101. For a first test refresh rate iteration, the test refresh rate may be the fast refresh rate for the DRAM, as in 301. This fast refresh rate is often tested and defined by the DRAM manufacturer. The fast refresh rate may change depending on environmental factors of the DRAM, such as temperature. The fast refresh rate may be determined with a test itself, where the test establishes the refresh rate required for a certain threshold of cells or rows to hold their charge; for example, an acceptable error may be 0.0001% of all cells. Alternatively, the test refresh rate may be a known refresh rate for which all the cells may hold their charge; this may be refresh information stored from a previous test.
For iterations after the first iteration, the test refresh rate may be determined by applying a refresh rate factor to the previous test refresh rate, as shown in operation 307. This determination may be represented in the following equation:
R x = R x - 1 K R
where Rx is the current test refresh rate, Rx-1 is the previous test refresh rate (or fast refresh rate, if the first iteration), KR is the refresh rate factor, and x represents the iteration number. In the above equation, the previous test refresh rate is divided by the refresh rate factor; however, the refresh rate factor may multiply, divide, or perform any other mathematical operation. The refresh rate factor will influence the convergence of the method on an optimal refresh rate, and may be selected based on such considerations as extent of refresh rate optimization and amount of time dedicated to refresh rate optimization. For example, if the previous refresh rate is one refresh cycle every 32 milliseconds and the refresh rate factor is 2, the current refresh rate will be one refresh cycle every 64 milliseconds.
The rows are tested at the test refresh rate, as in 302. The rows may be tested through any method that allows for the determination of whether the cells in a row can hold a value for the test refresh rate duration. In an embodiment of the invention, a row may be tested by writing a “one” to the cells, and observing whether the cells in the row are able to hold that value. The rows may also be tested by writing a “zero” to the cells, and observing how many rows are able to hold the value. The cells may be tested for their ability to hold a value for one or both cell values. For example, if it is known that the cells in a row only lose a charge, taking the cell from “one” to “zero”, the rows may only be tested by charging the cells to a “one” value. However, if cells are determined to both leak a charge and pick up charge or if interactions between stored “one” and “zero” values are found to have effects on their retention interval, then the rows may be tested with both a “one” charge and a “zero” charge.
In embodiments of the invention, the rows may be tested at start-up. Alternatively, the rows may be tested during normal operation of the system. If a weak row holding data is to be tested while the system is operated, the data from the weak row may be transferred to a row that is known to be a strong row so that the data is not lost during the test.
Determining Error Rate
The error rate for a test refresh rate is determined, as in operation 102. The error rate may be any measure of the ability of a row of cells to hold a charge at a refresh rate or over a series of refresh rates. For example, the error rate may be the percentage of cells that fail to hold a charge at a given refresh rate, or it may be the increase in the percentage of cells that fail to hold a charge from one iteration to the next.
In one embodiment, the error rate is the row error, which represents the percentage of rows with cells that fail to hold a cell value at a particular test refresh rate. The row error may be determined for the rows tested at the test refresh rate, as in operation 303. Row error may be represented by the following equation:
E x = N F N T
where Ex is the row error, NF is the number of rows with cells that fail (fast rows), and NT is the total number of rows tested (fast rows and slow rows). In addition to refresh rate, the row error is also a function temperature of the DRAM. For example, the row error rate may be 0.03 if 3 out of 100 tested rows fail to hold a charge at the test refresh rate. In another embodiment, if the number of rows to be tested is known, the row error may be the number of rows that fail.
Evaluating Row Error Against Constraint
The error rate for a test rate may be evaluated against a constraint, as in operation 103. The row error may be evaluated against a row error constraint. The row error constraint may be determined, as in operation 304. The row error constraint sets the maximum allowable row error for a given refresh rate. The row error constraint may be a predetermined value, or it may be calculated by an equation or set of inputs. For example, the maximum row error for a slow refresh rate may be set at 95%, ensuring that at most 5% of the rows would be refreshed at the slow refresh rate.
The row error (Ex) may be compared against the row error constraint (Cex), as in operation 305. If Cex is greater than Ex, then the DRAM may perform another iteration of the test sequence while incrementing x; this may involve storing the current test refresh rate (Rx) as the previous test refresh rate (Rx-1), as in operation 306. If C, is less than Ex, then the DRAM may set the slow refresh rate to the previous test refresh rate (Rx-1), as in operation 308. For example, if the row error is 0.03 and the row error constraint is 0.05, the method would perform another iteration. However, if the row error difference is 0.06, the method would stop iterating and the refresh rate of the last iteration may be set as the slow refresh rate.
Optimization Using Row Error Difference
FIG. 4 is a flowchart of an embodiment of the invention utilizing the change in row error for optimizing refresh rate. Row error from the current iteration and a previous iteration may be used to calculate a difference in row error, with that row error difference (Dx) evaluated against a row error difference constraint (Cdx). It may be desirable to use row error difference, as it gives an indication of the rate of change of row error with decreasing refresh rate. This may be used both for predictive purposes and in the event that absolute row error constraints are not available. For example, row error constraints may not be known or tested for, or may be so variable that constraints may not be established, such as for large temperature changes. By analyzing the change in the rate between two or more iterations, it may not be necessary to have values for the row error constraints, only for the rate of change of the row error values between iterations.
The steps for operations 301, 302, 303, and 307 are the same as discussed above. In operation 401, a row error difference may be determined from row error. The row error difference may be the difference in the row errors between the current iteration and the previous iteration, represented in the following equation:
D x =E x −E x-1
where Dx is the row error difference, Ex is the current row error for the current test refresh rate, and Ex-1 is the previous row error for the previous test refresh rate. For a first iteration, the previous row error may be a predetermined value, such as zero; for subsequent iterations, the previous row error may be retrieved from storage. For example, if the previous row error is 0.01 (1%) and the current row error is 0.03 (3%), then the row error difference would be 0.02.
The row error difference constraint may be determined for the row error difference, as in 402. The row error difference constraint (Cdx) sets the maximum allowable error difference between the current refresh rate and the previous refresh rate. The constraint may be stored and retrieved, or it may be calculated by an equation or set of inputs. The row error difference constraint may be calculated by the equation below:
C dx = ( 1 K R ) x
where Cdx is the row error difference constraint, x is the iteration number, and KR is the refresh rate factor, discussed above. For example, if the refresh rate factor is 2 and the method is on its third iteration, the row error constraint may be 0.125.
The row error difference (Dx) may be evaluated against the row error difference constraint (Cdx), as in 403. If Cdx is greater than Dx, then the DRAM performs another iteration while incrementing x; this may involve storing the current test refresh rate (Rx) as the previous test refresh rate (Rx-1), and the row error (Ex) as the previous row error (Ex-1), as in 404. If Cdx is less than Dx, then the DRAM may set the slow refresh rate to the previous test refresh rate (Rx-1), as in 308.
FIG. 5 is a diagrammatic representation of a hardware implementation of the refresh optimization method, according to an embodiment of the invention. A memory controller 501 may determine refresh rate that refreshes a DRAM array 508. The memory controller 501 may contain a memory test circuit 502, a determination circuit 503, and an evaluation circuit 504. The memory test circuit 502 may test the DRAM array 508 at a test refresh rate. The test may involve putting a charge on a row of cells, reading the row of cells after a refresh interval corresponding to the refresh rate, and determining whether the row held the charge for the refresh interval. The determination circuit 503 may determine the error rate of the tested cells at the test refresh rate. The error rate determination may involve determining the fraction of the rows tested that failed to hold a charge in all their cells for the refresh interval. The determination circuit 503 may send error rate information to the evaluation circuit 504.
The evaluation circuit 504 may evaluate the error rate against a constraint. The constraint may be stored as history parameters 505, or may be calculated by the evaluation circuit 504 or other circuitry. History parameters 503 may include any stored data, whether temporary or permanent, regarding the refresh rate calculation. Permanent data may include constraint data and temporary data may include cell error, previous refresh rate, and the identities and locations of rows requiring a fast refresh rate. After the evaluation circuit 504 has evaluated the error rate against the constraint, the evaluation circuit 504 may send an increment signal back to the memory test circuit 502 if the error rate does not violate the constraint. After receiving an increment signal, the memory test circuit 502 may determine a new test refresh rate and initiate the testing, determination, and evaluation process explained above. Alternatively, if the evaluation circuit 504 determines that the error rate does violate the constraint, it may set the slow refresh rate and send the refresh rate information to a refresh controller 506. The refresh controller 506 may convert the information into refresh rate signals, which may be sent to a refresh rate counter 507 and the DRAM array 508 for refresh.
In another embodiment, a refresh rate optimization method may be implemented with discrete hardware or firmware components. The refresh rate optimization method discussed above may be achieved through logic circuits or programmable devices, such as programmable logic arrays (PLA) or application specific integrated circuits (ASIC). The firmware may be present on-board or off-board. The functions of the refresh rate optimization method may be performed through a combination of hardware and firmware.
Although the present invention has been described in terms of specific embodiments, it is anticipated that alterations and modifications thereof will become apparent to those skilled in the art. Therefore, it is intended that the following claims be interpreted as covering all such alterations and modifications as fall within the true spirit and scope of the invention.

Claims (20)

What is claimed is:
1. A method for determining a slow refresh rate for a DRAM having at least a fast and a slow refresh rate, wherein the slow refresh rate is an adjustable rate used to identify an efficient total refresh time for the DRAM, the method comprising:
testing rows of the DRAM at a test refresh rate;
setting the tested rows of the DRAM which have an error to refresh at the fast refresh rate;
determining an error rate for the DRAM;
evaluating the error rate against a row error constraint; and
determining the slow refresh rate if the error rate is greater than or equal to the constraint;
wherein a total refresh time is based on a first number of rows set to refresh at the fast refresh rate and a second number of rows set to refresh at the slow refresh rate.
2. The method of claim 1, wherein testing rows of the DRAM at the test refresh rate comprises setting a row of cells to a predetermined value and evaluating whether the cells hold the predetermined value for a refresh period.
3. The method of claim 1, wherein determining the error rate comprises determining a row error, wherein the row error is the fraction of rows tested that fail to hold a predetermined value for a refresh period.
4. The method of claim 1, wherein the row error constraint is either a predetermined value or a calculated value.
5. The method of claim 1, further comprising:
changing the test refresh rate to a new test refresh rate;
testing rows the DRAM at the new test refresh rate;
setting rows of the DRAM tested at the new refresh rate which have an error to refresh at the fast refresh rate;
determining a new error rate for the DRAM;
evaluating the new error rate against the row error constraint;
wherein the changing, testing, determining, and evaluating are repeated until the new error rate is greater than the row error constraint.
6. The method of claim 5, wherein:
the test refresh rate is the fast refresh rate for a first iteration; and
the new test refresh rate is the test refresh rate multiplied by a refresh rate factor for any iteration after the first iteration.
7. The method of claim 5, wherein determining the error rate comprises determining a row error difference, wherein the row error difference is the difference between a row error of a current iteration and a row error of a previous iteration, and wherein the row error is the fraction of rows tested that fail to hold a predetermined value for a refresh period and wherein the row error constraint is a row error difference constraint.
8. The method of claim 7, wherein the row error difference constraint is a function of a refresh rate factor.
9. The method of claim 5, wherein the slow refresh rate is set to the test refresh rate of a corresponding error rate which is less than the row error constraint.
10. The method of claim 1, wherein testing rows at a test refresh rate is performed during system operation.
11. A controller for determining a slow refresh rate for a DRAM having at least a fast and a slow refresh rate, wherein the slow refresh rate is an adjustable rate used to identify an efficient total refresh time for the DRAM, the controller comprising:
a memory error test circuit for testing rows of the DRAM at a test refresh rate and setting rows of the DRAM which have an error to refresh at the fast refresh rate;
a determination circuit for determining an error rate for the DRAM; and
an evaluator logic unit for evaluating the error rate against a row error constraint and setting the slow refresh rate when the error rate is greater than the row error constraint;
wherein a total refresh time is based on a first number of rows set to be refreshed at the fast refresh rate and a second number of rows set to be refreshed at the slow refresh rate.
12. The controller of claim 11, wherein the controller provides for testing at a changed test refresh rate until the evaluator logic unit determines that the error rate is greater than the row error constraint.
13. The controller of claim 11, wherein the memory error test circuit determines the test refresh rate.
14. The controller of claim 11, further comprising a storage circuit for storing a history of refresh information.
15. The controller of claim 14, wherein the history of refresh information includes the row error constraint as a predetermined value.
16. A method for determining a total refresh time for a DRAM having at least a fast and a slow refresh rate, comprising:
testing rows of a DRAM at a test refresh rate;
setting one or more rows of the DRAM to refresh at the fast refresh rate in response to failing the test;
determining a total refresh time, wherein the total refresh time is based on a first number of rows set to be refreshed at the fast refresh rate and a second number of rows set to be refreshed at the test refresh rate.
17. The method of claim 16, further comprising:
changing the test refresh rate to a new test refresh rate;
testing rows the DRAM at the new test refresh rate;
setting rows of the DRAM tested at the new refresh rate to refresh at the fast refresh rate in response to failing the test at the new test refresh rate; and
determining a new total refresh time based on the number of rows refreshed at the fast refresh rate and the number of rows refreshed at the new test refresh rate; and
repeating the changing, testing, setting, and determining when the new total refresh time is less than the total refresh time.
18. The method of claim 17, wherein the slow refresh rate is set to the new test refresh rate.
19. The method of claim 16, further comprising determining an error rate for the DRAM, wherein the error rate is the one or more rows of the DRAM set to be refreshed at the fast refresh rate as a percentage of a total number of tested rows of the DRAM.
20. The method of claim 19, wherein determining the error rate comprises determining a row error difference, wherein the row error difference is the difference between a row error of a current iteration and a row error of a previous iteration, and wherein the row error is the fraction of rows tested that fail to hold a predetermined value for a refresh period and wherein the row error constraint is a row error difference constraint.
US13/569,486 2012-08-08 2012-08-08 Method for optimizing refresh rate for DRAM Active 2032-12-01 US8848471B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/569,486 US8848471B2 (en) 2012-08-08 2012-08-08 Method for optimizing refresh rate for DRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/569,486 US8848471B2 (en) 2012-08-08 2012-08-08 Method for optimizing refresh rate for DRAM

Publications (2)

Publication Number Publication Date
US20140043927A1 US20140043927A1 (en) 2014-02-13
US8848471B2 true US8848471B2 (en) 2014-09-30

Family

ID=50066099

Family Applications (1)

Application Number Title Priority Date Filing Date
US13/569,486 Active 2032-12-01 US8848471B2 (en) 2012-08-08 2012-08-08 Method for optimizing refresh rate for DRAM

Country Status (1)

Country Link
US (1) US8848471B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150363261A1 (en) * 2013-01-31 2015-12-17 Hewlett-Packard Development Company, L.P. Ram refresh rate
US9857978B1 (en) 2017-03-09 2018-01-02 Toshiba Memory Corporation Optimization of memory refresh rates using estimation of die temperature
US11086561B2 (en) 2018-01-22 2021-08-10 Samsung Electronics Co., Ltd. Integrated circuit memory devices with enhanced buffer memory utilization during read and write operations and methods of operating same
US11398264B2 (en) 2019-07-08 2022-07-26 Micron Technology, Inc. Methods and apparatus for dynamically adjusting performance of partitioned memory

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10599504B1 (en) * 2015-06-22 2020-03-24 Amazon Technologies, Inc. Dynamic adjustment of refresh rate
KR102567111B1 (en) * 2018-08-02 2023-08-14 삼성전자주식회사 Storage device and method for operating storage device

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4736344A (en) 1985-03-25 1988-04-05 Hitachi, Ltd. Semiconductor memory
US6483764B2 (en) 2001-01-16 2002-11-19 International Business Machines Corporation Dynamic DRAM refresh rate adjustment based on cell leakage monitoring
US6728156B2 (en) 2002-03-11 2004-04-27 International Business Machines Corporation Memory array system
US6862240B2 (en) * 2003-02-19 2005-03-01 Freescale Semiconductor, Inc. Variable refresh control for a memory
US6920523B2 (en) 2002-10-07 2005-07-19 Infineon Technologies Ag Bank address mapping according to bank retention time in dynamic random access memories
US7035155B2 (en) * 2002-09-26 2006-04-25 Xware Technology, Inc. Dynamic memory management
US7095669B2 (en) 2003-11-07 2006-08-22 Infineon Technologies Ag Refresh for dynamic cells with weak retention
US7206244B2 (en) 2004-12-01 2007-04-17 Freescale Semiconductor, Inc. Temperature based DRAM refresh
US7233538B1 (en) 2004-08-02 2007-06-19 Sun Microsystems, Inc. Variable memory refresh rate for DRAM
US7305518B2 (en) 2004-10-20 2007-12-04 Hewlett-Packard Development Company, L.P. Method and system for dynamically adjusting DRAM refresh rate
US7444577B2 (en) 2005-08-04 2008-10-28 Rambus Inc. Memory device testing to support address-differentiated refresh rates
US7483319B2 (en) * 2005-02-25 2009-01-27 Brown Terry C Method and system for reducing volatile memory DRAM power budget
US7515494B2 (en) 2006-11-14 2009-04-07 Promos Technologies Pte.Ltd Refresh period adjustment technique for dynamic random access memories (DRAM) and integrated circuit devices incorporating embedded DRAM
US7565479B2 (en) 2005-08-04 2009-07-21 Rambus Inc. Memory with refresh cycle donation to accommodate low-retention-storage rows
US7734866B2 (en) 2005-08-04 2010-06-08 Rambus Inc. Memory with address-differentiated refresh rate to accommodate low-retention storage rows
US7742355B2 (en) * 2007-12-20 2010-06-22 Agere Systems Inc. Dynamic random access memory with low-power refresh

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4736344A (en) 1985-03-25 1988-04-05 Hitachi, Ltd. Semiconductor memory
US6483764B2 (en) 2001-01-16 2002-11-19 International Business Machines Corporation Dynamic DRAM refresh rate adjustment based on cell leakage monitoring
US6728156B2 (en) 2002-03-11 2004-04-27 International Business Machines Corporation Memory array system
US7035155B2 (en) * 2002-09-26 2006-04-25 Xware Technology, Inc. Dynamic memory management
US6920523B2 (en) 2002-10-07 2005-07-19 Infineon Technologies Ag Bank address mapping according to bank retention time in dynamic random access memories
US6862240B2 (en) * 2003-02-19 2005-03-01 Freescale Semiconductor, Inc. Variable refresh control for a memory
US7095669B2 (en) 2003-11-07 2006-08-22 Infineon Technologies Ag Refresh for dynamic cells with weak retention
US7233538B1 (en) 2004-08-02 2007-06-19 Sun Microsystems, Inc. Variable memory refresh rate for DRAM
US7305518B2 (en) 2004-10-20 2007-12-04 Hewlett-Packard Development Company, L.P. Method and system for dynamically adjusting DRAM refresh rate
US7206244B2 (en) 2004-12-01 2007-04-17 Freescale Semiconductor, Inc. Temperature based DRAM refresh
US7483319B2 (en) * 2005-02-25 2009-01-27 Brown Terry C Method and system for reducing volatile memory DRAM power budget
US7444577B2 (en) 2005-08-04 2008-10-28 Rambus Inc. Memory device testing to support address-differentiated refresh rates
US7565479B2 (en) 2005-08-04 2009-07-21 Rambus Inc. Memory with refresh cycle donation to accommodate low-retention-storage rows
US7734866B2 (en) 2005-08-04 2010-06-08 Rambus Inc. Memory with address-differentiated refresh rate to accommodate low-retention storage rows
US7515494B2 (en) 2006-11-14 2009-04-07 Promos Technologies Pte.Ltd Refresh period adjustment technique for dynamic random access memories (DRAM) and integrated circuit devices incorporating embedded DRAM
US7742355B2 (en) * 2007-12-20 2010-06-22 Agere Systems Inc. Dynamic random access memory with low-power refresh

Non-Patent Citations (14)

* Cited by examiner, † Cited by third party
Title
Borden et al., "On Coding for 'Stuck-at' Defects (Corresp).", IEEE Transactions on Information Theory, vol. 33, Issue 5, 1983. pp. 729-735. DOI: 10.1109/TIT.1987.1057347.
Heegard et al., "On the Capacity of Computer Memory with Defects", IEEE Transactions on Information Theory, vol. 29, Issue 5, 1983. pp. 731-739. DOI: 10.1109/TIT.1983.1056723.
Heegard, "Partitioned Linear Block Codes for Computer Memory with 'Stuck-at' Defects", IEEE Transactions on Information Theory. vol. 29, No. 6, Nov. 1983. pp. 831-842. DOI: 10.1109/TIT.1983.1056763.
Idei, Y. et al, "Dual-Period Self-Refresh Scheme for Low-Power DRAM's with On-Chip PROM Mode Register", IEEE Journal of Solid-State Circuits, Feb. 1998, pp. 253-259, vol. 33, No. 2. DOI: 10.1109/4.658627.
Kim, J., & Papaefthymiou, M., "Block-Based Multi-Period Dynamic Memory Design for Low Data-Retention Power", IEEE Transactions on Very Large Scale Integration (VLSI) Systems, Dec. 2003, pp. 1006-1018, vol. 11, No. 6. DOI: 10.1109/TVSLI.2003.817524.
Kim, J., & Papaefthymiou, M., "Block-Based Multi-Period Refresh for Energy Efficient Dynamic Memory", 14th Annual IEEE International ASIC/SOC Conference 2001, Sep. 12-15, 2001. IEEE Issue 7 Aug. 2002. pp. 193-197. DOI: 10.1109/ASIC.2001.954696.
Kim, J., & Papaefthymiou, M., "Dynamic Memory Design for Low Data-Retention Power", Proceedings of the 10th International Workshop on Integrated Circuit Design, Power and Timing Modeling, Optimization and Simulation, PATMOS '00, in Lecture Notes in Computer Science, vol. 1918/2000 Springer-Verlag, 2000, pp. 207-216.
Krishnamoorthy et al., "Error Control to Increase the Yield of Semiconductor RAM's", The 1998 IEEE/CAM Information Theory Workshop at Cornell, 1989. DOI: 10.1109/ITW.1989.761432.
Ohsawa et al., "Optimizing the DRAM Refresh Count for Merged DRAM/Logic LSIs", International Proceedings on Low Power Electronics and Design, 1998. pp. 82-87.
U.S. Appl. No. 12/433,157, filed Apr. 30, 2009, "Increased Capacity Heterogeneous Storage Elements", Elfadel et al.
U.S. Appl. No. 12/553,400, filed Sep. 3, 2009, "Advanced Memory Device Having Improved Performance, Reduced Power and Increased Reliability", Chiu et al.
U.S. Appl. No. 12/814,142, filed Jun. 11, 2010, "Encoding Data Into Constrained Memory", Franceschini et al.
U.S. Appl. No. 12/963,797, filed Dec. 9, 2010, "Memory System With a Programmable Refresh Cycle", Kilmer et al.
Venkatesan et al., "Retention-Aware Placement in DRAM (RAPID): Software Methods for Quasi-Non-Volatile DRAM", The 12th International Symposium on High Performance Computer Architecture, 2006. pp. 157-167. DOI: 10.1109/HPCA.2006.1598122.

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150363261A1 (en) * 2013-01-31 2015-12-17 Hewlett-Packard Development Company, L.P. Ram refresh rate
US9857978B1 (en) 2017-03-09 2018-01-02 Toshiba Memory Corporation Optimization of memory refresh rates using estimation of die temperature
US10324625B2 (en) 2017-03-09 2019-06-18 Toshiba Memory Corporation Optimization of memory refresh rates using estimation of die temperature
US10545665B2 (en) 2017-03-09 2020-01-28 Toshiba Memory Corporation Optimization of memory refresh rates using estimation of die temperature
US11086561B2 (en) 2018-01-22 2021-08-10 Samsung Electronics Co., Ltd. Integrated circuit memory devices with enhanced buffer memory utilization during read and write operations and methods of operating same
US11398264B2 (en) 2019-07-08 2022-07-26 Micron Technology, Inc. Methods and apparatus for dynamically adjusting performance of partitioned memory

Also Published As

Publication number Publication date
US20140043927A1 (en) 2014-02-13

Similar Documents

Publication Publication Date Title
US8848471B2 (en) Method for optimizing refresh rate for DRAM
CN104464792B (en) Address detection circuit and memory including it
CN109658961B (en) Volatile memory storage device and refreshing method thereof
US9349432B2 (en) Reference voltage modification in a memory device
US9685217B2 (en) Memory device with over-refresh and method thereof
US9418722B2 (en) Prioritizing refreshes in a memory device
CN104934057A (en) Access count device, memory system, and access count method
US20080126893A1 (en) Method of refreshing a dynamic random access memory and corresponding dynamic random access memory device, in particular incorporated into a cellular mobile telephone
CN101065809B (en) Sram test method and SRAM test arrangement to detect weak cells
KR20180049314A (en) Circuit for counting address, memory device and method for operating memory device
CN112147530B (en) Battery state evaluation method and device
CN112213648B (en) Method and device for judging balanced opening of battery cells
US9058896B2 (en) DRAM refresh
Bacchini et al. Characterization of data retention faults in DRAM devices
CN114187955B (en) Method, device, equipment and storage medium for testing memory array
CN114121074B (en) Method and device for testing self-refresh frequency of memory array
US20220375532A1 (en) Method and Apparatus for Performing a Read of a Flash Memory Using Predicted Retention-and-Read-Disturb-Compensated Threshold Voltage Shift Offset Values
CN104793145A (en) Rapid detection method for available capacity of battery
CN114649044A (en) Automatic refreshing time testing method and device
US8254197B2 (en) Semiconductor memory device and self refresh test method
Ahn et al. Adaptive self refresh scheme for battery operated high-density mobile DRAM applications
CN116959545A (en) Chip testing method and device
CN114333972B (en) Self-refresh cycle test method and device
CN103065687A (en) A method of parallel detection for RAM production defects in an integrated circuit
CN113030760B (en) Battery life prediction method, device and storage medium

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:FRANCESCHINI, MICHELE M.;JAGMOHAN, ASHISH;LASTRAS, LUIS A.;AND OTHERS;REEL/FRAME:028748/0480

Effective date: 20120727

AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT DOC DATES FOR THE 5TH & 7TH ASSIGNORS PREVIOUSLY RECORDED ON REEL 028748 FRAME 0480;ASSIGNORS:FRANCESCHINI, MICHELE M.;HUNTER, HILLERY;JAGMOHAN, ASHISH;AND OTHERS;SIGNING DATES FROM 20120727 TO 20120806;REEL/FRAME:028788/0905

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: GLOBALFOUNDRIES U.S. 2 LLC, NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:036550/0001

Effective date: 20150629

AS Assignment

Owner name: GLOBALFOUNDRIES INC., CAYMAN ISLANDS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GLOBALFOUNDRIES U.S. 2 LLC;GLOBALFOUNDRIES U.S. INC.;REEL/FRAME:036779/0001

Effective date: 20150910

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551)

Year of fee payment: 4

AS Assignment

Owner name: WILMINGTON TRUST, NATIONAL ASSOCIATION, DELAWARE

Free format text: SECURITY AGREEMENT;ASSIGNOR:GLOBALFOUNDRIES INC.;REEL/FRAME:049490/0001

Effective date: 20181127

AS Assignment

Owner name: GLOBALFOUNDRIES U.S. INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GLOBALFOUNDRIES INC.;REEL/FRAME:054633/0001

Effective date: 20201022

AS Assignment

Owner name: GLOBALFOUNDRIES INC., CAYMAN ISLANDS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION;REEL/FRAME:054636/0001

Effective date: 20201117

AS Assignment

Owner name: GLOBALFOUNDRIES U.S. INC., NEW YORK

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION;REEL/FRAME:056987/0001

Effective date: 20201117

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8