Reducing cache power with low-cost, multi-bit error-correcting codes
read more
Citations
RAIDR: Retention-Aware Intelligent DRAM Refresh
System, method, and computer program product for improving memory systems
Memory Errors in Modern Systems: The Good, The Bad, and The Ugly
Flash correct-and-refresh: Retention-aware error management for increased flash memory lifetime
Graphicionado: a high-performance and energy-efficient accelerator for graph analytics
References
Algebraic Coding Theory
Error Control Coding
A 45nm Logic Technology with High-k+Metal Gate Transistors, Strained Silicon, 9 Cu Interconnect Layers, 193nm Dry Patterning, and 100% Pb-free Packaging
Error-control coding for computer systems
Related Papers (5)
Smart Refresh: An Enhanced Memory Controller Design for Reducing Energy in Conventional and 3D Die-Stacked DRAMs
Frequently Asked Questions (22)
Q2. How long does eDRAM take to be re-used?
Because eDRAM uses fast logic transistors with a higher leakage current than conventional DRAM, the refresh time for eDRAM is about a thousand times shorter than conventional DRAM.
Q3. How many microseconds will a eDRAM cache take to refresh?
In a baseline configuration with no error correction capability, the time between refreshes for such a cache will be 30 microseconds, leading to a significant amount of power consumed even when the processor is idle.
Q4. What is the effect of increasing cache capacity?
Since test time grows proportionately with the capacity of the memory being tested, increasing cache capacities may limit the applicability of all testing-based approaches.
Q5. What has led to the dramatic improvements in on-die cache capacity?
New process technologies have also enabled integrating DRAM on a logic process, leading to the use of embedded DRAM (eDRAM) to build on-die caches that are much denser than SRAM-based caches (e.g., IBM Power 7 [14]).
Q6. How long does it take to read a line to be re-read?
Since the retention time of their baseline eDRAM is 30us, and each read automatically implies a refresh, the authors know that retention failures will not occur for 30us after a line has been read.
Q7. What is the way to reduce the idle power of eDRAM?
SmartRefresh is ineffective during the idle mode when the cache is not being accessed, and therefore does not improve idle power.
Q8. How many lines can be disabled in a particular cache set?
Since their cache is a 16-way set-associative, and since disabling all lines in a particular cache set could be catastrophic for some workloads, the authors limit the maximum number of lines that can be disabled in a particular set to 14 of the 16 ways.
Q9. How many watts of power will an idling processor consume?
Duo show that an idling processor will consume an average of 0.5W-1.05W [24] depending on the processor and frequency of idle state exits caused by events like OS interrupts.
Q10. What is the common way to write to a large L3 eDRAM cache?
Most writes to the large L3 eDRAM cache will be in the form of smaller 64B sub-blocks generated at lower-level caches or fetched from memory.
Q11. Why is it important to reduce power consumption during idle states?
Reducing the power consumed during idle states is particularly important because the typical CPU spends the vast majority of its time in idle state.
Q12. What is the RALT's parity for each sub-block?
Each entry in the RALT consists of the following fields: a line address to identify the line the entry is associated with; a valid bit, a 2-bit period identifier field to indicate in which of the four periods the line was allocated (P0, P1, P2, P3); and a 16-bit parity consisting of one parity bit for each 64B sub-block in the line.
Q13. What is the way to increase DRAM refresh times?
Another promising approach to increase DRAM refresh times is the use of error-correcting codes (ECC) to dynamically identify and repair bits that fail [8, 15].
Q14. What is the effect of device variations on the retention time of the cache?
in eDRAM caches, device variations affect the retention time of individual DRAM cells, with a few particularly weak bits determining the refresh time of the whole cache.
Q15. What is the way to improve the speed of eDRAM refresh?
With this approach, a stronger error-correcting code, with the ability to correct multiple bits, implies increased refresh time and reduced power.
Q16. How does the SmartRefresh technique reduce refresh power?
Ghosh and Lee [10] recently proposed a SmartRefresh technique to reduce refresh power by adding timeout counters in each DRAM row and avoiding unnecessary refreshes for those rows which were recently read or written.
Q17. What is the purpose of the bit-fix algorithm?
Wilkerson et al propose the bit-fix algorithm, another testing-based approach, to address the problem of high failure rates in the context of Vccmin reduction in SRAM caches instead of DRAM refresh time.
Q18. What is the effect of reading the entire 1KB line?
This large number of additional reads causes a substantial increase in dynamic power consumption and a drastic reduction in the useful bandwidth delivered by the memory.
Q19. What is the probability of failure for the entire cache?
theprobability of failure for the entire cache is (1 – probability of success), where the probability of success is the probability that each bit in the cache stays failure-free.
Q20. What is the simplest way to correct a line?
When a line is read from the cache, a simple decoder generates the syndrome for the line, which includes information on whether it has zero, one, or a higher number of errors (Section 4.2).
Q21. How do the authors track lines that have been referenced in the last 30us?
Using a structure the authors refer to as the Recently Accessed Lines Table (RALT), the authors attempt to track lines that have been referenced in the last 30us.
Q22. How many failures do the authors need to tolerate?
as the authors show in Figure 1, decreasing refresh frequency implies the need to tolerate a higher number of failures for each cache line.