Skip to main content
Log in

Making DRAM refresh predictable

  • Published:
Real-Time Systems Aims and scope Submit manuscript

Abstract

Embedded control systems with hard real-time constraints require that deadlines are met at all times or the system may malfunction with potentially catastrophic consequences. Schedulability theory can assure deadlines for a given task set when periods and worst-case execution times (WCETs) of tasks are known. While periods are generally derived from the problem specification, a task’s code needs to be statically analyzed to derive safe and tight bounds on its WCET. Such static timing analysis abstracts from program input and considers loop bounds and architectural features, such as pipelining and caching. However, unpredictability due to dynamic memory (DRAM) refresh cannot be accounted for by such analysis, which limits its applicability to systems with static memory (SRAM).

In this paper, we assess the impact of DRAM refresh on task execution times and demonstrate how predictability is adversely affected leading to unsafe hard real-time system design. We subsequently contribute a novel and effective approach to overcome this problem through software-initiated DRAM refresh. We develop (1) a pure software and (2) a hybrid hardware/software refresh scheme. Both schemes provide predictable timings and fully replace the classical hardware auto-refresh. We discuss implementation details based on this design for multiple concrete embedded platforms and experimentally assess the benefits of different schemes on these platforms. We further formalize the integration of variable latency memory references into a data-flow framework suitable for static timing analysis to bound a task’s memory latencies with regard to their WCET. The resulting predictable execution behavior in the presence of DRAM refresh combined with the additional benefit of reduced access delays is unprecedented, to the best of our knowledge.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Akesson B, Goossens K, Ringhofer M (2007) Predator: a predictable SDRAM memory controller. In: CODES + ISSS’07: Proceedings of the 5th IEEE/ACM international conference on hardware/software codesign and system synthesis. ACM, New York, pp 251–256

    Chapter  Google Scholar 

  • Atanassov P, Puschner P (2001) Impact of dram refresh on the execution time of real-time tasks. In: Proc IEEE international workshop on application of reliable computing and communication, pp 29–34

    Google Scholar 

  • Ferdinand C, Wilhelm R (1999) Efficient and precise cache behavior prediction for real-time systems. Real-Time Syst 17(2/3):131–181

    Article  Google Scholar 

  • Ghosh M, Lee H-HS (2007) Smart refresh: an enhanced memory controller design for reducing energy in conventional and 3d die-stacked drams. In: MICRO, pp 134–145

    Google Scholar 

  • Hellebrand S, Wunderlich H-J, Ivaniuk AA, Klimets YV, Yarmolik VN (1999) Error detecting refreshment for embedded drams. In: VTS, pp 384–390

    Google Scholar 

  • Katayama Y, Stuckey EJ, Morioka S, Wu Z (1999) Fault-tolerant refresh power reduction of drams for quasi-nonvolatile data retention. In: DFT, pp 311–318

    Google Scholar 

  • Kim C-K, Kong B-S, Lee C-G, Jun Y-H (2008) CMOS temperature sensor with ring oscillator for mobile dram self-refresh control. In: ISCAS, pp 3094–3097

    Google Scholar 

  • Kim C-K, Lee J-G, Jun Y-H, Lee C-G, Kong B-S (2007) CMOS temperature sensor with ring oscillator for mobile dram self-refresh control. Microelectron J 38(10–11):1042–1049

    Article  Google Scholar 

  • Labrosse J (1998) Micro C/OS-II. R & D Books, Lawrence

    Google Scholar 

  • Lee C, Hahn J, Seo Y, Min S, Ha R, Hong S, Park C, Lee M, Kim C (1996) Analysis of cache-related preemption delay in fixed-priority preemptive scheduling. In: IEEE real-time systems symposium

    Google Scholar 

  • Liu C, Layland J (1973) Scheduling algorithms for multiprogramming in a hard-real-time environment. J Assoc Comput Mach 20(1):46–61

    MathSciNet  MATH  Google Scholar 

  • Liu J (2000) Real-time systems. Prentice Hall, New York

    Google Scholar 

  • Micron Technology, Inc (1999) Various methods of DRAM refresh. Technical note TN-04-30

  • Moshnyaga VG, Vo H, Reinman G, Potkonjak M (2007) Reducing energy of dram/flash memory system by OS-controlled data refresh. In: ISCAS, pp 2108–2111

    Google Scholar 

  • Motorola (2004) DRAM refresh modes (Order No. AN987/D). http://examenesutn.awardspace.com/examenes/tecdigi2/apuntes//Memorias/refresh.pdf

  • Mueller F (2000) Timing analysis for instruction caches. Real-Time Syst 18(2/3):209–239

    Article  Google Scholar 

  • Nowka K, Carpenter G, Brock B (2003) The design and application of the powerpc 405lp energy-efficient system on chip. IBM J Res Dev 47(5/6)

  • Patel K, Macii E, Poncino M, Benini L (2006) Energy-efficient value based selective refresh for embedded drams. J Low Power Electron 2(1):70–79

    Article  Google Scholar 

  • Pellizzoni R, Bui BD, Caccamo M, Sha L (2008) Coscheduling of CPU and i/o transactions in cots-based embedded systems. In: IEEE real-time systems symposium, pp 221–231

    Google Scholar 

  • Ramaprasad H, Mueller F (2005) Bounding worst-case data cache behavior by analytically deriving cache reference patterns. In: IEEE real-time embedded technology and applications symposium, pp 148–157

    Chapter  Google Scholar 

  • Ramaprasad H, Mueller F (2006a) Bounding preemption delay within data cache reference patterns for real-time tasks. In: IEEE real-time embedded technology and applications symposium, pp 71–80

    Google Scholar 

  • Ramaprasad H, Mueller F (2006b) Tightening the bounds on feasible preemption points. In: IEEE real-time systems symposium, pp 212–222

    Google Scholar 

  • Staschulat J, Ernst R (2004) Multiple process execution in cache related preemption delay analysis. In: International conference on embedded software

    Google Scholar 

  • Staschulat J, Schliecker S, Ernst R (2005) Scheduling analysis of real-time systems with precise modeling of cache related preemption delay. In: Euromicro conference on real-time systems

    Google Scholar 

  • Tsai T-H, Chen C-L, Lee C-L, Wang C-C (2008) Power-saving nano-scale drams with an adaptive refreshing clock generator. In: ISCAS, pp 612–615

    Google Scholar 

  • Venkatesan R, Herr S, Rotenberg E (2006) Retention-aware placement in dram (rapid): software methods for quasi-non-volatile dram. In: International symposium on high performance computer architecture, pp 155–165

    Google Scholar 

  • Wegener J, Mueller F (2001) A comparison of static analysis and evolutionary testing for the verification of timing constraints. Real-Time Syst 21(3):241–268

    Article  MATH  Google Scholar 

  • Wilhelm R, Engblohm J, Ermedahl A, Holsti N, Thesing S, Whalley D, Bernat G, Ferdinand C, Heckmann R, Mitra T, Mueller F, Puaut I, Puschner P, Staschulat J, Stenstrom P (2008) The worst-case execution time problem—overview of methods and survey of tools. ACM Trans Embed Comput Syst 7(3):1–53

    Article  Google Scholar 

  • Zhu Y, Mueller F (2007) DVSLEAK: combining leakage reduction and voltage scaling in feedback EDF scheduling. In: ACM SIGPLAN conference on language, compiler, and tool support for embedded systems, pp 31–40

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Frank Mueller.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bhat, B., Mueller, F. Making DRAM refresh predictable. Real-Time Syst 47, 430–453 (2011). https://doi.org/10.1007/s11241-011-9129-6

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11241-011-9129-6

Keywords

Navigation