{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,12,30]],"date-time":"2025-12-30T17:52:24Z","timestamp":1767117144821,"version":"3.41.0"},"reference-count":59,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2014,12,8]],"date-time":"2014-12-08T00:00:00Z","timestamp":1417996800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100000028","name":"Semiconductor Research Corporation","doi-asserted-by":"publisher","id":[{"id":"10.13039\/100000028","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100002418","name":"Intel Corporation","doi-asserted-by":"publisher","id":[{"id":"10.13039\/100002418","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Archit. Code Optim."],"published-print":{"date-parts":[[2015,1,9]]},"abstract":"<jats:p>New phase-change memory (PCM) devices have low-access latencies (like DRAM) and high capacities (i.e., low cost per bit, like Flash). In addition to being able to scale to smaller cell sizes than DRAM, a PCM cell can also store multiple bits per cell (referred to as multilevel cell, or MLC), enabling even greater capacity per bit. However, reading and writing the different bits of data from and to an MLC PCM cell requires different amounts of time: one bit is read or written first, followed by another. Due to this asymmetric access process, the bits in an MLC PCM cell have different access latency and energy depending on which bit in the cell is being read or written.<\/jats:p>\n          <jats:p>\n            We leverage this observation to design a new way to store and buffer data in MLC PCM devices. While traditional devices\n            <jats:italic>couple<\/jats:italic>\n            the bits in each cell next to one another in the address space, our key idea is to logically\n            <jats:italic>decouple<\/jats:italic>\n            the bits in each cell into two separate regions depending on their read\/write characteristics: fast-read\/slow-write bits and slow-read\/fast-write bits. We propose a low-overhead hardware\/software technique to predict and map data that would benefit from being in each region at runtime. In addition, we show how MLC bit decoupling provides more flexibility in the way data is buffered in the device, enabling more efficient use of existing device buffer space.\n          <\/jats:p>\n          <jats:p>Our evaluations for a multicore system show that MLC bit decoupling improves system performance by 19.2%, memory energy efficiency by 14.4%, and thread fairness by 19.3% over a state-of-the-art MLC PCM system that couples the bits in its cells. We show that our results are consistent across a variety of workloads and system configurations.<\/jats:p>","DOI":"10.1145\/2669365","type":"journal-article","created":{"date-parts":[[2014,12,8]],"date-time":"2014-12-08T16:17:14Z","timestamp":1418055434000},"page":"1-25","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":53,"title":["Efficient Data Mapping and Buffering Techniques for Multilevel Cell Phase-Change Memories"],"prefix":"10.1145","volume":"11","author":[{"given":"Hanbin","family":"Yoon","sequence":"first","affiliation":[{"name":"Carnegie Mellon University"}]},{"given":"Justin","family":"Meza","sequence":"additional","affiliation":[{"name":"Carnegie Mellon University"}]},{"given":"Naveen","family":"Muralimanohar","sequence":"additional","affiliation":[{"name":"Hewlett-Packard Labs"}]},{"given":"Norman P.","family":"Jouppi","sequence":"additional","affiliation":[{"name":"Google Inc."}]},{"given":"Onur","family":"Mutlu","sequence":"additional","affiliation":[{"name":"Carnegie Mellon University"}]}],"member":"320","published-online":{"date-parts":[[2014,12,8]]},"reference":[{"volume-title":"The Datacenter as a Computer. Morgan & Claypool","author":"Barroso L. A.","key":"e_1_2_1_1_1","unstructured":"L. A. Barroso and others. 2013. The Datacenter as a Computer. Morgan & Claypool , San Francisco, CA . L. A. Barroso and others. 2013. The Datacenter as a Computer. Morgan & Claypool, San Francisco, CA."},{"key":"e_1_2_1_2_1","volume-title":"A Bipolar-Selected Phase Change Memory Featuring Multi-Level Cell Storage. JSSC","author":"Bedeschi F.","year":"2009","unstructured":"F. Bedeschi and others. 2009. A Bipolar-Selected Phase Change Memory Featuring Multi-Level Cell Storage. JSSC ( 2009 ). F. Bedeschi and others. 2009. A Bipolar-Selected Phase Change Memory Featuring Multi-Level Cell Storage. JSSC (2009)."},{"key":"e_1_2_1_3_1","unstructured":"M. Bender and others. 1998. Flow and Stretch Metrics for Scheduling Continuous Job Streams. In SODA.   M. Bender and others. 1998. Flow and Stretch Metrics for Scheduling Continuous Job Streams. In SODA."},{"key":"e_1_2_1_4_1","volume-title":"Retrieved","author":"Buros B.","year":"2012","unstructured":"B. Buros . 2012 . Tuning and Optimizing malloc on PowerLinux. IBM developerWorks (PowerLinux Architecture) (2012) . Retrieved October 26, 2014 from http:\/\/www.ibm.com\/developerworks\/wikis\/display\/LinuxP\/Tuning&plus;and&plus;optimizing&plus;malloc&plus;on&plus;PowerLinux. B. Buros. 2012. Tuning and Optimizing malloc on PowerLinux. IBM developerWorks (PowerLinux Architecture) (2012). Retrieved October 26, 2014 from http:\/\/www.ibm.com\/developerworks\/wikis\/display\/LinuxP\/Tuning&plus;and&plus;optimizing&plus;malloc&plus;on&plus;PowerLinux."},{"key":"e_1_2_1_5_1","doi-asserted-by":"crossref","unstructured":"Y. Cai and others. 2012. Error Patterns in MLC NAND Flash Memory: Measurement Characterization and Analysis. In DATE.   Y. Cai and others. 2012. Error Patterns in MLC NAND Flash Memory: Measurement Characterization and Analysis. In DATE.","DOI":"10.1109\/DATE.2012.6176524"},{"key":"e_1_2_1_6_1","doi-asserted-by":"crossref","unstructured":"Y. Cai and others. 2013. Threshold Voltage Distribution in MLC NAND Flash Memory: Characterization Analysis and Modeling. In DATE.   Y. Cai and others. 2013. Threshold Voltage Distribution in MLC NAND Flash Memory: Characterization Analysis and Modeling. In DATE.","DOI":"10.7873\/DATE.2013.266"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1669112.1669157"},{"key":"e_1_2_1_8_1","unstructured":"G. F. Close and others. 2011. A 512Mb Phase-Change Memory (PCM) in 90nm CMOS Achieving 2b\/cell. In VLSIC.  G. F. Close and others. 2011. A 512Mb Phase-Change Memory (PCM) in 90nm CMOS Achieving 2b\/cell. In VLSIC."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1669112.1669150"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629911.1630086"},{"key":"e_1_2_1_11_1","volume-title":"Memory Allocation and First-Touch. Intel Developer Zone","author":"Doerner W.","year":"2012","unstructured":"W. Doerner . 2012. Memory Allocation and First-Touch. Intel Developer Zone ( 2012 ). http:\/\/software.intel.com\/en-us\/articles\/memory-allocation-and-first-touch. W. Doerner. 2012. Memory Allocation and First-Touch. Intel Developer Zone (2012). http:\/\/software.intel.com\/en-us\/articles\/memory-allocation-and-first-touch."},{"key":"e_1_2_1_12_1","volume-title":"NVSim: A Circuit-Level Performance, Energy, and Area Model for Emerging Nonvolatile Memory. TCAD","author":"Dong X.","year":"2012","unstructured":"X. Dong and others. 2012. NVSim: A Circuit-Level Performance, Energy, and Area Model for Emerging Nonvolatile Memory. TCAD ( 2012 ). X. Dong and others. 2012. NVSim: A Circuit-Level Performance, Energy, and Area Model for Emerging Nonvolatile Memory. TCAD (2012)."},{"key":"e_1_2_1_13_1","doi-asserted-by":"crossref","unstructured":"T. D. Happ and others. 2006. Novel One-Mask Self-Heating Pillar Phase Change Memory. In VLSIT.  T. D. Happ and others. 2006. Novel One-Mask Self-Heating Pillar Phase Change Memory. In VLSIT.","DOI":"10.1109\/VLSIT.2006.1705246"},{"key":"e_1_2_1_14_1","unstructured":"M. Hosomi and others. 2005. A Novel Non-Volatile Memory with Spin Torque Transfer Magnetization Switching: Spin-RAM. In IEDM.  M. Hosomi and others. 2005. A Novel Non-Volatile Memory with Spin Torque Transfer Magnetization Switching: Spin-RAM. In IEDM."},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/165123.165170"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/1736020.1736023"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/2228360.2228521"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2012.6169027"},{"key":"e_1_2_1_19_1","volume-title":"Mercury: A Fast and Energy-Efficient Multi-Level Cell Based Phase Change Memory System. In HPCA.","author":"Joshi M.","year":"2011","unstructured":"M. Joshi and others. 2011 . Mercury: A Fast and Energy-Efficient Multi-Level Cell Based Phase Change Memory System. In HPCA. M. Joshi and others. 2011. Mercury: A Fast and Energy-Efficient Multi-Level Cell Based Phase Change Memory System. In HPCA."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2010.38"},{"key":"e_1_2_1_21_1","volume-title":"NUMA Aware Heap Memory Manager. AMD Developer Central","author":"Kaminski P.","year":"2009","unstructured":"P. Kaminski . 2009. NUMA Aware Heap Memory Manager. AMD Developer Central ( 2009 ). http:\/\/developer.amd.com\/wordpress\/media\/2012\/10\/NUMA_aware_heap_memory_manager_article_final.pdf. P. Kaminski. 2009. NUMA Aware Heap Memory Manager. AMD Developer Central (2009). http:\/\/developer.amd.com\/wordpress\/media\/2012\/10\/NUMA_aware_heap_memory_manager_article_final.pdf."},{"key":"e_1_2_1_22_1","doi-asserted-by":"crossref","unstructured":"S. Kang and others. 2007. A 0.1-um 1.8-V 256-Mb Phase-Change Random Access Memory (PRAM) with 66-MHz Synchronous Burst-Read Operation. JSSC (2007).  S. Kang and others. 2007. A 0.1-um 1.8-V 256-Mb Phase-Change Random Access Memory (PRAM) with 66-MHz Synchronous Burst-Read Operation. JSSC (2007).","DOI":"10.1109\/JSSC.2006.888349"},{"key":"e_1_2_1_23_1","doi-asserted-by":"crossref","unstructured":"I. S. Kim and others. 2010a. High Performance PRAM Cell Scalable to Sub-20nm Technology with below 4F2 Cell Size Extendable to DRAM Applications. In VLSIT.  I. S. Kim and others. 2010a. High Performance PRAM Cell Scalable to Sub-20nm Technology with below 4F2 Cell Size Extendable to DRAM Applications. In VLSIT.","DOI":"10.1109\/VLSIT.2010.5556228"},{"key":"e_1_2_1_24_1","volume-title":"ATLAS: A Scalable and High-Performance Scheduling Algorithm for Multiple Memory Controllers. In HPCA.","author":"Kim Y.","year":"2010","unstructured":"Y. Kim and others. 2010 b. ATLAS: A Scalable and High-Performance Scheduling Algorithm for Multiple Memory Controllers. In HPCA. Y. Kim and others. 2010b. ATLAS: A Scalable and High-Performance Scheduling Algorithm for Multiple Memory Controllers. In HPCA."},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2010.51"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/1772690.1772751"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/1555754.1555758"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/1785414.1785441"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2010.24"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2008.15"},{"key":"e_1_2_1_31_1","doi-asserted-by":"crossref","unstructured":"J. Meza and others. 2012a. A Case for Small Row Buffers in Non-Volatile Main Memories. In ICCD.  J. Meza and others. 2012a. A Case for Small Row Buffers in Non-Volatile Main Memories. In ICCD.","DOI":"10.1109\/ICCD.2012.6378685"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/L-CA.2012.2"},{"key":"e_1_2_1_33_1","doi-asserted-by":"crossref","unstructured":"T. Nirschl and others. 2007. Write Strategies for 2 and 4-bit Multi-Level Phase-Change Memory. In IEDM.  T. Nirschl and others. 2007. Write Strategies for 2 and 4-bit Multi-Level Phase-Change Memory. In IEDM.","DOI":"10.1109\/IEDM.2007.4418973"},{"key":"e_1_2_1_34_1","doi-asserted-by":"crossref","unstructured":"D. Niu and others. 2013. Low Power Multi-Level-Cell Resistive Memory Design with Incomplete Data Mapping (ICCD).  D. Niu and others. 2013. Low Power Multi-Level-Cell Resistive Memory Design with Incomplete Data Mapping (ICCD).","DOI":"10.1109\/ICCD.2013.6657035"},{"key":"e_1_2_1_35_1","volume-title":"Drift-Tolerant Multilevel Phase-Change Memory. In Intl. Memory Workshop (IMW).","author":"Papandreou N.","year":"2011","unstructured":"N. Papandreou and others. 2011 . Drift-Tolerant Multilevel Phase-Change Memory. In Intl. Memory Workshop (IMW). N. Papandreou and others. 2011. Drift-Tolerant Multilevel Phase-Change Memory. In Intl. Memory Workshop (IMW)."},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2004.28"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/1669112.1669117"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/1555754.1555760"},{"key":"e_1_2_1_39_1","doi-asserted-by":"crossref","unstructured":"M. K. Qureshi and others. 2010a. Improving Read Performance of Phase Change Memories via Write Cancellation and Write Pausing. In HPCA.  M. K. Qureshi and others. 2010a. Improving Read Performance of Phase Change Memories via Write Cancellation and Write Pausing. In HPCA.","DOI":"10.1109\/HPCA.2010.5416645"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/1815961.1815981"},{"key":"e_1_2_1_41_1","doi-asserted-by":"crossref","unstructured":"M. K. Qureshi and others. 2012. PreSET: Improving Performance of Phase Change Memories by Exploiting Asymmetry in Write Times. In ISCA.   M. K. Qureshi and others. 2012. PreSET: Improving Performance of Phase Change Memories by Exploiting Asymmetry in Write Times. In ISCA.","DOI":"10.1109\/ISCA.2012.6237033"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/1995896.1995911"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1147\/rd.524.0465"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/339647.339668"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/1815961.1815980"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/2485922.2485960"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/378993.379244"},{"key":"e_1_2_1_48_1","doi-asserted-by":"crossref","unstructured":"D. B. Strukov and others. 2008. The Missing Memristor Found. Nature.  D. B. Strukov and others. 2008. The Missing Memristor Found. Nature.","DOI":"10.1038\/nature06932"},{"key":"e_1_2_1_49_1","unstructured":"K.-D. Suh and others. 1995. A 3.3 V 32 Mb NAND Flash Memory with Incremental Step Pulse Programming Scheme. In JSSC.  K.-D. Suh and others. 1995. A 3.3 V 32 Mb NAND Flash Memory with Incremental Step Pulse Programming Scheme. In JSSC."},{"key":"e_1_2_1_50_1","volume-title":"A Multipage Cell Architecture for High-Speed Programming Multilevel NAND Flash Memories. JSSC","author":"Takeuchi K.","year":"1998","unstructured":"K. Takeuchi and others. 1998. A Multipage Cell Architecture for High-Speed Programming Multilevel NAND Flash Memories. JSSC ( 1998 ). K. Takeuchi and others. 1998. A Multipage Cell Architecture for High-Speed Programming Multilevel NAND Flash Memories. JSSC (1998)."},{"key":"e_1_2_1_51_1","unstructured":"The International Technology Roadmap for Semiconductors. 2010. Process Integration Devices and Structures.  The International Technology Roadmap for Semiconductors. 2010. Process Integration Devices and Structures."},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1109\/L-CA.2011.1"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1109\/JPROC.2010.2070050"},{"key":"e_1_2_1_54_1","doi-asserted-by":"crossref","unstructured":"D. H. Yoon and others. 2011. FREE-p: Protecting Non-Volatile Memory Against Both Hard and Soft Errors. In HPCA.   D. H. Yoon and others. 2011. FREE-p: Protecting Non-Volatile Memory Against Both Hard and Soft Errors. In HPCA.","DOI":"10.1109\/HPCA.2011.5749752"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICCD.2012.6378661"},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/1669112.1669116"},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1109\/40.946676"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/1555754.1555759"},{"key":"e_1_2_1_60_1","first-page":"630","article-title":"1997. Controller for a Synchronous DRAM That Maximizes Throughput by Allowing Memory Requests and Commands to be Issued Out of Order","volume":"5","author":"Zuravleff W. K.","year":"1995","unstructured":"W. K. Zuravleff and T. Robinson . 1997. Controller for a Synchronous DRAM That Maximizes Throughput by Allowing Memory Requests and Commands to be Issued Out of Order . In U.S. Patent Number 5 , 630 ,096, Filed May 10, 1995 , Issued May 13, 1997. W. K. Zuravleff and T. Robinson. 1997. Controller for a Synchronous DRAM That Maximizes Throughput by Allowing Memory Requests and Commands to be Issued Out of Order. In U.S. Patent Number 5,630,096, Filed May 10, 1995, Issued May 13, 1997.","journal-title":"U.S. Patent Number"}],"container-title":["ACM Transactions on Architecture and Code Optimization"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2669365","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2669365","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T06:13:17Z","timestamp":1750227197000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2669365"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2014,12,8]]},"references-count":59,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2015,1,9]]}},"alternative-id":["10.1145\/2669365"],"URL":"https:\/\/doi.org\/10.1145\/2669365","relation":{},"ISSN":["1544-3566","1544-3973"],"issn-type":[{"type":"print","value":"1544-3566"},{"type":"electronic","value":"1544-3973"}],"subject":[],"published":{"date-parts":[[2014,12,8]]},"assertion":[{"value":"2014-03-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2014-09-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2014-12-08","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}