{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,9,26]],"date-time":"2025-09-26T00:11:25Z","timestamp":1758845485347,"version":"3.41.0"},"reference-count":42,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2022,1,14]],"date-time":"2022-01-14T00:00:00Z","timestamp":1642118400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"NSF","award":["I\/UCRC-1439722 and FoMR-1823403"],"award-info":[{"award-number":["I\/UCRC-1439722 and FoMR-1823403"]}]},{"name":"DellEMC"},{"name":"Hewlett Packard Enterprise"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2022,1,31]]},"abstract":"<jats:p>Hybrid memory systems, comprised of emerging non-volatile memory (NVM) and DRAM, have been proposed to address the growing memory demand of current mobile applications. Recently emerging NVM technologies, such as phase-change memories (PCM), memristor, and 3D XPoint, have higher capacity density, minimal static power consumption and lower cost per GB. However, NVM has longer access latency and limited write endurance as opposed to DRAM. The different characteristics of distinct memory classes render a new challenge for memory system design.<\/jats:p>\n          <jats:p>Ideally, pages should be placed or migrated between the two types of memories according to the data objects\u2019 access properties. Prior system software approaches exploit the program information from OS but at the cost of high software latency incurred by related kernel processes. Hardware approaches can avoid these latencies, however, hardware\u2019s vision is constrained to a short time window of recent memory requests, due to the limited on-chip resources.<\/jats:p>\n          <jats:p>In this work, we propose OpenMem: a hardware-software cooperative approach that combines the execution time advantages of pure hardware approaches with the data object properties in a global scope. First, we built a hardware-based memory manager unit (HMMU) that can learn the short-term access patterns by online profiling, and execute data migration efficiently. Then, we built a heap memory manager for the heterogeneous memory systems that allows the programmer to directly customize each data object\u2019s allocation to a favorable memory device within the presumed object life cycle. With the programmer\u2019s hints guiding the data placement at allocation time, data objects with similar properties will be congregated to reduce unnecessary page migrations.<\/jats:p>\n          <jats:p>We implemented the whole system on the FPGA board with embedded ARM processors. In testing under a set of benchmark applications from SPEC 2017 and PARSEC, experimental results show that OpenMem reduces 44.6% energy consumption with only a 16% performance degradation compared to the all-DRAM memory system. The amount of writes to the NVM is reduced by 14% versus the HMMU-only, extending the NVM device lifetime.<\/jats:p>","DOI":"10.1145\/3494536","type":"journal-article","created":{"date-parts":[[2022,1,15]],"date-time":"2022-01-15T05:51:26Z","timestamp":1642225886000},"page":"1-18","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":12,"title":["Software Hint-Driven Data Management for Hybrid Memory in Mobile Systems"],"prefix":"10.1145","volume":"21","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-8789-8495","authenticated-orcid":false,"given":"Fei","family":"Wen","sequence":"first","affiliation":[{"name":"Texas A&amp;M University Electrical &amp; Computer Engineering, College Station, TX"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-1753-3914","authenticated-orcid":false,"given":"Mian","family":"Qin","sequence":"additional","affiliation":[{"name":"Texas A&amp;M University Electrical &amp; Computer Engineering, College Station, TX"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-7120-7189","authenticated-orcid":false,"given":"Paul","family":"Gratz","sequence":"additional","affiliation":[{"name":"Texas A&amp;M University Electrical &amp; Computer Engineering, College Station, TX"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4625-8819","authenticated-orcid":false,"given":"Narasimha","family":"Reddy","sequence":"additional","affiliation":[{"name":"Texas A&amp;M University Electrical &amp; Computer Engineering, College Station, TX"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2022,1,14]]},"reference":[{"key":"e_1_3_2_2_2","unstructured":"Lukasz Anaczkowski. 2019. User extensible heap manager for heterogeneous memory platforms and mixed memory policies. Retrieved November 2020 from http:\/\/memkind.github.io."},{"issue":"11","key":"e_1_3_2_3_2","first-page":"1","article-title":"Reconsidering custom memory allocation","volume":"37","author":"Berger Emery D.","year":"2002","unstructured":"Emery D. Berger, Benjamin G. Zorn, and Kathryn S. McKinley. 2002. Reconsidering custom memory allocation. In Proceedings of the 17th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications 37, 11 (Nov. 2002), 1\u201312. DOI:https:\/\/doi.org\/10.1145\/583854.582421","journal-title":"Proceedings of the 17th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications"},{"key":"e_1_3_2_4_2","doi-asserted-by":"publisher","DOI":"10.1109\/IISWC.2009.5306793"},{"key":"e_1_3_2_5_2","unstructured":"Christian Bienia. 2011. Benchmarking Modern Multiprocessors . Ph.D. Dissertation. Princeton University."},{"key":"e_1_3_2_6_2","doi-asserted-by":"publisher","DOI":"10.1145\/2024716.2024718"},{"key":"e_1_3_2_7_2","doi-asserted-by":"publisher","DOI":"10.1145\/2597917.2597924"},{"key":"e_1_3_2_8_2","unstructured":"ChampSim. 2016. Champsim. Retrieved November 2020 from https:\/\/github.com\/ChampSim\/ChampSim."},{"key":"e_1_3_2_9_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.sse.2016.07.006"},{"key":"e_1_3_2_10_2","unstructured":"Jeongdong Choe. 2017. Intel 3D XPoint memory die removed from intel optane PCM. Retrieved November 2020 from https:\/\/www.techinsights.com\/blog\/intel-3d-xpoint-memory-die-removed-intel-optanetm-pcm-phase-change-memory."},{"key":"e_1_3_2_11_2","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2014.63"},{"key":"e_1_3_2_12_2","unstructured":"F. J. Corbato. 1968. A paging experiment with the multics system. TechInsights."},{"key":"e_1_3_2_13_2","doi-asserted-by":"publisher","DOI":"10.1145\/1629911.1630086"},{"key":"e_1_3_2_14_2","doi-asserted-by":"publisher","DOI":"10.1145\/2901318.2901344"},{"key":"e_1_3_2_15_2","unstructured":"EEMBC. 2015. An EEMBC benchmark for android devices. Retrieved November 2020 from http:\/\/www.eembc.org\/andebench."},{"key":"e_1_3_2_16_2","doi-asserted-by":"publisher","DOI":"10.1109\/TVLSI.2010.2049867"},{"key":"e_1_3_2_17_2","doi-asserted-by":"publisher","DOI":"10.1145\/3132402.3132409"},{"key":"e_1_3_2_18_2","doi-asserted-by":"publisher","DOI":"10.1145\/2742854.2742886"},{"key":"e_1_3_2_19_2","unstructured":"Rik Henderson and Max Langridge. 2020. From galaxy s to galaxy S20. Retrieved November 2020 from https:\/\/www.pocket-lint.com\/phones\/news\/samsung\/136736-timeline-of-samsung-galaxy-flagship-android-phones-in-pictures."},{"key":"e_1_3_2_20_2","doi-asserted-by":"publisher","DOI":"10.1145\/2628071.2628089"},{"key":"e_1_3_2_21_2","unstructured":"INTEL CORPORATION. 2016. Intel optane technology. Retrieved November 2020 from https:\/\/www.intel.com\/content\/www\/us\/en\/architecture-and-technology\/intel-optane-technology.html."},{"key":"e_1_3_2_22_2","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2014.51"},{"key":"e_1_3_2_23_2","doi-asserted-by":"publisher","DOI":"10.1145\/3126908.3126917"},{"key":"e_1_3_2_24_2","doi-asserted-by":"publisher","DOI":"10.1145\/1555754.1555758"},{"key":"e_1_3_2_25_2","doi-asserted-by":"publisher","DOI":"10.1145\/3079079.3079089"},{"key":"e_1_3_2_26_2","doi-asserted-by":"publisher","DOI":"10.1109\/Co-HPC.2014.8"},{"key":"e_1_3_2_27_2","doi-asserted-by":"publisher","DOI":"10.1109\/l-ca.2012.2"},{"key":"e_1_3_2_28_2","volume-title":"Calculating Memory Power for DDR4 SDRAM","author":"Technology Inc. Micron","year":"2017","unstructured":"Inc. Micron Technology. 2017. Calculating Memory Power for DDR4 SDRAM. Technical Report."},{"key":"e_1_3_2_29_2","doi-asserted-by":"publisher","DOI":"10.5555\/1855568.1855582"},{"key":"e_1_3_2_30_2","doi-asserted-by":"publisher","DOI":"10.1145\/2872362.2872363"},{"key":"e_1_3_2_31_2","doi-asserted-by":"publisher","DOI":"10.1145\/1250734.1250746"},{"key":"e_1_3_2_32_2","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2015.74"},{"key":"e_1_3_2_33_2","doi-asserted-by":"publisher","DOI":"10.1109\/CLUSTER.2014.6968756"},{"key":"e_1_3_2_34_2","doi-asserted-by":"publisher","DOI":"10.1145\/1555754.1555760"},{"key":"e_1_3_2_35_2","doi-asserted-by":"publisher","DOI":"10.1147\/rd.524.0465"},{"key":"e_1_3_2_36_2","doi-asserted-by":"publisher","DOI":"10.5555\/2971808.2972024"},{"key":"e_1_3_2_37_2","unstructured":"Markus Levy Shay Gal-On. 2012. Exploring coremark\u2014a benchmark maximizing simplicity and efficacy. Retrieved November 2020 from https:\/\/www.eembc.org\/techlit\/articles\/coremark-whitepaper.pdf."},{"key":"e_1_3_2_38_2","unstructured":"SPEC. 2017. SPEC CPU2017 documentation. Retrieved November 2020 from https:\/\/www.spec.org\/cpu2017\/Docs\/."},{"key":"e_1_3_2_39_2","doi-asserted-by":"publisher","DOI":"10.1145\/2818950.2818978"},{"key":"e_1_3_2_40_2","doi-asserted-by":"publisher","DOI":"10.1109\/LES.2014.2325878"},{"key":"e_1_3_2_41_2","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2020.3012213"},{"key":"e_1_3_2_42_2","doi-asserted-by":"publisher","DOI":"10.1145\/3126908.3126923"},{"key":"e_1_3_2_43_2","doi-asserted-by":"publisher","DOI":"10.1145\/3297858.3304024"}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3494536","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3494536","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3494536","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T20:48:43Z","timestamp":1750193323000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3494536"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,1,14]]},"references-count":42,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2022,1,31]]}},"alternative-id":["10.1145\/3494536"],"URL":"https:\/\/doi.org\/10.1145\/3494536","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"type":"print","value":"1539-9087"},{"type":"electronic","value":"1558-3465"}],"subject":[],"published":{"date-parts":[[2022,1,14]]},"assertion":[{"value":"2021-02-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2021-10-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2022-01-14","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}