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.
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
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
Ferdinand C, Wilhelm R (1999) Efficient and precise cache behavior prediction for real-time systems. Real-Time Syst 17(2/3):131–181
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
Hellebrand S, Wunderlich H-J, Ivaniuk AA, Klimets YV, Yarmolik VN (1999) Error detecting refreshment for embedded drams. In: VTS, pp 384–390
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
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
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
Labrosse J (1998) Micro C/OS-II. R & D Books, Lawrence
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
Liu C, Layland J (1973) Scheduling algorithms for multiprogramming in a hard-real-time environment. J Assoc Comput Mach 20(1):46–61
Liu J (2000) Real-time systems. Prentice Hall, New York
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
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
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
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
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
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
Ramaprasad H, Mueller F (2006b) Tightening the bounds on feasible preemption points. In: IEEE real-time systems symposium, pp 212–222
Staschulat J, Ernst R (2004) Multiple process execution in cache related preemption delay analysis. In: International conference on embedded software
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
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
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
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
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
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
Author information
Authors and Affiliations
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11241-011-9129-6