{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,17]],"date-time":"2026-06-17T16:39:14Z","timestamp":1781714354083,"version":"3.54.5"},"reference-count":34,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2018,2,5]],"date-time":"2018-02-05T00:00:00Z","timestamp":1517788800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2018,3,31]]},"abstract":"<jats:p>Recently, the research community has introduced several predictable dynamic random-access memory (DRAM) controller designs that provide improved worst-case timing guarantees for real-time embedded systems. The proposed controllers significantly differ in terms of arbitration, configuration, and simulation environment, making it difficult to assess the contribution of each approach. To bridge this gap, this article provides the first comprehensive evaluation of state-of-the-art predictable DRAM controllers. We propose a categorization of available controllers, and introduce an analytical performance model based on worst-case latency. We then conduct an extensive evaluation for all state-of-the-art controllers based on a common simulation platform, and discuss findings and recommendations.<\/jats:p>","DOI":"10.1145\/3158208","type":"journal-article","created":{"date-parts":[[2018,2,6]],"date-time":"2018-02-06T18:13:28Z","timestamp":1517940808000},"page":"1-23","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":23,"title":["A Comparative Study of Predictable DRAM Controllers"],"prefix":"10.1145","volume":"17","author":[{"given":"Danlu","family":"Guo","sequence":"first","affiliation":[{"name":"University of Waterloo, ON, CANADA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-5926-5861","authenticated-orcid":false,"given":"Mohamed","family":"Hassan","sequence":"additional","affiliation":[{"name":"University of Waterloo, ON, CANADA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Rodolfo","family":"Pellizzoni","sequence":"additional","affiliation":[{"name":"University of Waterloo, ON, CANADA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Hiren","family":"Patel","sequence":"additional","affiliation":[{"name":"University of Waterloo, ON, CANADA"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2018,2,5]]},"reference":[{"key":"e_1_2_2_1_1","volume-title":"Memory Controllers for Real-Time Embedded Systems","author":"Akesson Benny","unstructured":"Benny Akesson and Kees Goossens . 2011. Memory Controllers for Real-Time Embedded Systems . Springer . Benny Akesson and Kees Goossens. 2011. Memory Controllers for Real-Time Embedded Systems. Springer."},{"key":"e_1_2_2_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1289816.1289877"},{"key":"e_1_2_2_3_1","volume-title":"International Conference on Real-Time and Network Systems (RTNS\u201908)","author":"Bourgade Roman","year":"2008","unstructured":"Roman Bourgade , Cl\u00e9ment Ballabriga , Hugues Cass\u00e9 , Christine Rochange , and Pascal Sainrat . 2008 . Accurate analysis of memory latencies for WCET estimation . In International Conference on Real-Time and Network Systems (RTNS\u201908) . Roman Bourgade, Cl\u00e9ment Ballabriga, Hugues Cass\u00e9, Christine Rochange, and Pascal Sainrat. 2008. Accurate analysis of memory latencies for WCET estimation. In International Conference on Real-Time and Network Systems (RTNS\u201908)."},{"key":"e_1_2_2_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTSS.2015.13"},{"key":"e_1_2_2_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/ECRTS.2016.8"},{"key":"e_1_2_2_6_1","doi-asserted-by":"crossref","unstructured":"Leonardo Ecco Sebastian Tobuschat Selma Saidi and Rolf Ernst. 2014. A mixed critical memory cntroller using bank privatization and fixed priority scheduling. In Embedded and Real-Time Computing Systems and Applications (RTCSA\u201914). 1--10.  Leonardo Ecco Sebastian Tobuschat Selma Saidi and Rolf Ernst. 2014. A mixed critical memory cntroller using bank privatization and fixed priority scheduling. In Embedded and Real-Time Computing Systems and Applications (RTCSA\u201914). 1--10.","DOI":"10.1109\/RTCSA.2014.6910550"},{"key":"e_1_2_2_7_1","volume-title":"Design, Automation 8 Test in Europe Conference & Exhibition (DATE\u201913)","author":"Gomony Manil Dev","unstructured":"Manil Dev Gomony , Benny Akesson , and Kees Goossens . 2013. Architecture and optimal configuration of a real-time multi-channel memory controller . In Design, Automation 8 Test in Europe Conference & Exhibition (DATE\u201913) . IEEE , 1307--1312. Manil Dev Gomony, Benny Akesson, and Kees Goossens. 2013. Architecture and optimal configuration of a real-time multi-channel memory controller. In Design, Automation 8 Test in Europe Conference & Exhibition (DATE\u201913). IEEE, 1307--1312."},{"key":"e_1_2_2_8_1","volume-title":"Proceedings of the Conference on Design, Automation and Test in Europe. EDA Consortium, 525--530","author":"Goossens Sven","year":"2013","unstructured":"Sven Goossens , Benny Akesson , and Kees Goossens . 2013 . Conservative open-page policy for mxed time-criticality memory cntrollers . In Proceedings of the Conference on Design, Automation and Test in Europe. EDA Consortium, 525--530 . Sven Goossens, Benny Akesson, and Kees Goossens. 2013. Conservative open-page policy for mxed time-criticality memory cntrollers. In Proceedings of the Conference on Design, Automation and Test in Europe. EDA Consortium, 525--530."},{"key":"e_1_2_2_9_1","volume-title":"DRAMController: A simulation framework for real-time DRAM controllers. Retrieved","author":"Guo Danlu","year":"2016","unstructured":"Danlu Guo and Rodolfo Pellizzoni . 2016. DRAMController: A simulation framework for real-time DRAM controllers. Retrieved December 2016 , from https:\/\/ece.uwaterloo.ca\/ rpellizz\/techreps\/dramcontroller.pdf. Danlu Guo and Rodolfo Pellizzoni. 2016. DRAMController: A simulation framework for real-time DRAM controllers. Retrieved December 2016, from https:\/\/ece.uwaterloo.ca\/ rpellizz\/techreps\/dramcontroller.pdf."},{"key":"e_1_2_2_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTAS.2015.7108454"},{"key":"e_1_2_2_11_1","volume-title":"Real-Time Systems Symposium (RTSS\u201914)","author":"Jalle Javier","unstructured":"Javier Jalle , Eduardo Qui\u00f1ones , Jaume Abella , Luca Fossati , Marco Zulianello , and Fransisco J. Cazorla . 2014. A dual-criticality memory controller (DCmc): Proposal and evaluation of a space case study . In Real-Time Systems Symposium (RTSS\u201914) . 207--217. Javier Jalle, Eduardo Qui\u00f1ones, Jaume Abella, Luca Fossati, Marco Zulianello, and Fransisco J. Cazorla. 2014. A dual-criticality memory controller (DCmc): Proposal and evaluation of a space case study. In Real-Time Systems Symposium (RTSS\u201914). 207--217."},{"key":"e_1_2_2_12_1","unstructured":"DDR3 SDRAM JEDEC. 2008. JEDEC JESD79-3B. 2008.  DDR3 SDRAM JEDEC. 2008. JEDEC JESD79-3B. 2008."},{"key":"e_1_2_2_13_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTAS.2015.7108455"},{"key":"e_1_2_2_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTAS.2014.6925998"},{"key":"e_1_2_2_15_1","volume-title":"Macsim: Simulator for heterogeneous architecture.","author":"Kim H.","year":"2012","unstructured":"H. Kim , J. Lee , N. Lakshminarayana , J. Lim , and T. Pho . 2012 . Macsim: Simulator for heterogeneous architecture. H. Kim, J. Lee, N. Lakshminarayana, J. Lim, and T. Pho. 2012. Macsim: Simulator for heterogeneous architecture."},{"key":"e_1_2_2_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/COMPSAC.2014.54"},{"key":"e_1_2_2_17_1","volume-title":"International Symposium on High-Performance Computer Architecture. IEEE, 1--12","author":"Kim Yoongu","year":"2010","unstructured":"Yoongu Kim , Dongsu Han , Onur Mutlu , and Mor Harchol-Balter . 2010 . ATLAS: A scalable and high-performance scheduling algorithm for multiple memory controllers . In International Symposium on High-Performance Computer Architecture. IEEE, 1--12 . Yoongu Kim, Dongsu Han, Onur Mutlu, and Mor Harchol-Balter. 2010. ATLAS: A scalable and high-performance scheduling algorithm for multiple memory controllers. In International Symposium on High-Performance Computer Architecture. IEEE, 1--12."},{"key":"e_1_2_2_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2010.51"},{"key":"e_1_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/LCA.2015.2414456"},{"key":"e_1_2_2_20_1","volume-title":"Euromicro Conference on Real-Time Systems (ECRTS\u201914)","author":"Krishnapillai Yogen","year":"2014","unstructured":"Yogen Krishnapillai , Zheng Pei Wu , and Rodolfo Pellizoni . 2014 . ROC: A rank-switching, open-row DRAM controller for time-predictable systems . In Euromicro Conference on Real-Time Systems (ECRTS\u201914) . Yogen Krishnapillai, Zheng Pei Wu, and Rodolfo Pellizoni. 2014. ROC: A rank-switching, open-row DRAM controller for time-predictable systems. In Euromicro Conference on Real-Time Systems (ECRTS\u201914)."},{"key":"e_1_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/ECRTS.2014.18"},{"key":"e_1_2_2_22_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTAS.2016.7461341"},{"key":"e_1_2_2_23_1","volume-title":"Conference Record of the 44th Asilomar Conference on Signals, Systems and Computers. 2111--2115","author":"Liu Isaac","unstructured":"Isaac Liu , Jan Reineke , and Edward A. Lee . 2010. A PRET architecture supporting concurrent programs with composable timing properties . In Conference Record of the 44th Asilomar Conference on Signals, Systems and Computers. 2111--2115 . Isaac Liu, Jan Reineke, and Edward A. Lee. 2010. A PRET architecture supporting concurrent programs with composable timing properties. In Conference Record of the 44th Asilomar Conference on Signals, Systems and Computers. 2111--2115."},{"key":"e_1_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1394608.1382128"},{"key":"e_1_2_2_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/LES.2010.2041634"},{"key":"e_1_2_2_26_1","volume-title":"Characterization of the EEMBC benchmark suite","author":"Poovey Jason","unstructured":"Jason Poovey . 2007. Characterization of the EEMBC benchmark suite . North Carolina State University . Jason Poovey. 2007. Characterization of the EEMBC benchmark suite. North Carolina State University."},{"key":"e_1_2_2_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/2039370.2039388"},{"key":"e_1_2_2_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/L-CA.2011.4"},{"key":"e_1_2_2_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2016.2526003"},{"key":"e_1_2_2_30_1","doi-asserted-by":"publisher","DOI":"10.1109\/CPSNA.2015.24"},{"key":"e_1_2_2_31_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2009.2013287"},{"key":"e_1_2_2_32_1","volume-title":"Worst Case Analysis of DRAM Latency in Hard Real Time Systems. Master\u2019s thesis","author":"Zheng Pei Wu.","unstructured":"Zheng Pei Wu. 2013. Worst Case Analysis of DRAM Latency in Hard Real Time Systems. Master\u2019s thesis . University of Waterloo . Zheng Pei Wu. 2013. Worst Case Analysis of DRAM Latency in Hard Real Time Systems. Master\u2019s thesis. University of Waterloo."},{"key":"e_1_2_2_33_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTSS.2013.44"},{"key":"e_1_2_2_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/ECRTS.2015.24"}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3158208","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3158208","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T02:13:22Z","timestamp":1750212802000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3158208"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,2,5]]},"references-count":34,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2018,3,31]]}},"alternative-id":["10.1145\/3158208"],"URL":"https:\/\/doi.org\/10.1145\/3158208","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"value":"1539-9087","type":"print"},{"value":"1558-3465","type":"electronic"}],"subject":[],"published":{"date-parts":[[2018,2,5]]},"assertion":[{"value":"2017-02-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2017-11-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2018-02-05","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}