{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,17]],"date-time":"2026-06-17T01:09:32Z","timestamp":1781658572427,"version":"3.54.5"},"reference-count":139,"publisher":"Institute of Electrical and Electronics Engineers (IEEE)","issue":"5","license":[{"start":{"date-parts":[[2016,5,1]],"date-time":"2016-05-01T00:00:00Z","timestamp":1462060800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/ieeexplore.ieee.org\/Xplorehelp\/downloads\/license-information\/IEEE.html"}],"funder":[{"DOI":"10.13039\/100000015","name":"U.S. Department of Energy","doi-asserted-by":"publisher","id":[{"id":"10.13039\/100000015","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100006132","name":"Office of Science","doi-asserted-by":"publisher","id":[{"id":"10.13039\/100006132","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100006192","name":"Advanced Scientific Computing Research","doi-asserted-by":"crossref","id":[{"id":"10.13039\/100006192","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["IEEE Trans. Parallel Distrib. Syst."],"published-print":{"date-parts":[[2016,5,1]]},"DOI":"10.1109\/tpds.2015.2442980","type":"journal-article","created":{"date-parts":[[2015,6,9]],"date-time":"2015-06-09T18:23:42Z","timestamp":1433874222000},"page":"1537-1550","source":"Crossref","is-referenced-by-count":216,"title":["A Survey of Software Techniques for Using Non-Volatile Memories for Storage and Main Memory Systems"],"prefix":"10.1109","volume":"27","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-2908-993X","authenticated-orcid":false,"given":"Sparsh","family":"Mittal","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Jeffrey S.","family":"Vetter","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"263","reference":[{"key":"ref39","doi-asserted-by":"publisher","DOI":"10.1109\/MASCOTS.2011.64"},{"key":"ref38","first-page":"17","article-title":"Strata: Scalable high-performance storage on virtualized non-volatile memory","author":"cully","year":"0","journal-title":"Proc USENIX Conf File Storage Technol"},{"key":"ref33","doi-asserted-by":"publisher","DOI":"10.1145\/2591971.2591994"},{"key":"ref32","article-title":"Refactored design of I\/O architecture for flash storage","author":"lee","year":"0","journal-title":"Comput Archit Lett"},{"key":"ref31","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2010.5416650"},{"key":"ref30","doi-asserted-by":"publisher","DOI":"10.1145\/1244002.1244248"},{"key":"ref37","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2011.5749735"},{"key":"ref36","article-title":"CAFTL: A content-aware flash translation layer enhancing the lifespan of flash memory based solid state drives","volume":"11","author":"chen","year":"0","journal-title":"Proc USENIX Conf File Storage Technol"},{"key":"ref35","doi-asserted-by":"publisher","DOI":"10.1109\/ICCD.2013.6657034"},{"key":"ref34","first-page":"521","article-title":"Error patterns in MLC NAND flash memory: Measurement, characterization, and analysis","author":"cai","year":"0","journal-title":"Proc Des Autom Test Eur"},{"key":"ref28","first-page":"338","article-title":"A 16\ufffdGb ReRAM with 200\ufffdMB\/s write and 1\ufffdGB\/s read in 27\ufffdnm technology","author":"fackenthal","year":"0","journal-title":"Proc IEEE Int Solid-State Circuits Conf"},{"key":"ref27","doi-asserted-by":"publisher","DOI":"10.1109\/SC.2010.56"},{"key":"ref29","doi-asserted-by":"publisher","DOI":"10.1145\/195470.195506"},{"key":"ref20","doi-asserted-by":"crossref","first-page":"1864","DOI":"10.1109\/JPROC.2008.2004319","article-title":"NAND flash memory and its role in storage architectures","volume":"96","author":"sanvido","year":"0","journal-title":"Proc IEEE"},{"key":"ref22","doi-asserted-by":"publisher","DOI":"10.1145\/1508244.1508271"},{"key":"ref21","doi-asserted-by":"crossref","first-page":"1543","DOI":"10.7873\/DATE.2015.0733","article-title":"Destiny: A Tool for Modeling Emerging 3D NVM and eDRAM Caches","author":"matt poremba","year":"2015","journal-title":"Design Automation Test in Europe Conference Exhibition (DATE)"},{"key":"ref24","doi-asserted-by":"publisher","DOI":"10.1145\/1247480.1247488"},{"key":"ref23","doi-asserted-by":"publisher","DOI":"10.1145\/2016603.1967683"},{"key":"ref101","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2012.89"},{"key":"ref26","article-title":"A case for efficient hardware\/software cooperative management of storage and memory","author":"meza","year":"0","journal-title":"Proc Workshop Energy-Efficient Design"},{"key":"ref100","article-title":"Lifetime management of flash-based SSDs using recovery-aware dynamic throttling","author":"lee","year":"0","journal-title":"Proc FAST"},{"key":"ref25","doi-asserted-by":"publisher","DOI":"10.1145\/1519065.1519081"},{"key":"ref50","article-title":"Adaptive wear-leveling in flash-based memory","author":"liao","year":"2014","journal-title":"Comput Archit Lett"},{"key":"ref51","doi-asserted-by":"publisher","DOI":"10.1109\/L-CA.2012.20"},{"key":"ref59","first-page":"101","article-title":"Extending SSD Lifetimes with disk-based write caches","volume":"10","author":"soundararajan","year":"0","journal-title":"Proc USENIX Conf File Storage Technol"},{"key":"ref58","doi-asserted-by":"publisher","DOI":"10.1109\/ISPASS.2011.5762711"},{"key":"ref57","doi-asserted-by":"publisher","DOI":"10.1109\/MSST.2013.6558426"},{"key":"ref56","article-title":"Optimizing NAND flash-based SSDs via retention relaxation","author":"liu","year":"0","journal-title":"Proc USENIX Conf File Storage Technol"},{"key":"ref55","article-title":"De-indirection for flash-based SSDs with nameless writes","author":"zhang","year":"0","journal-title":"Proc USENIX Conf File Storage Technol"},{"key":"ref54","article-title":"The bleak future of NAND flash memory","author":"grupp","year":"0","journal-title":"Proc USENIX Conf File Storage Technol"},{"key":"ref53","article-title":"Write endurance in flash drives: Measurements and analysis","volume":"10","author":"boboila","year":"0","journal-title":"Proc USENIX Conf File Storage Technol"},{"key":"ref52","doi-asserted-by":"publisher","DOI":"10.1145\/1669112.1669118"},{"key":"ref40","doi-asserted-by":"publisher","DOI":"10.1016\/j.sysarc.2011.01.005"},{"key":"ref4","doi-asserted-by":"publisher","DOI":"10.1145\/2503210.2503215"},{"key":"ref3","doi-asserted-by":"publisher","DOI":"10.1145\/1654059.1654117"},{"key":"ref6","doi-asserted-by":"publisher","DOI":"10.1109\/MCSE.2015.4"},{"key":"ref5","doi-asserted-by":"crossref","DOI":"10.1145\/2636342","article-title":"A survey of methods for analyzing and improving GPU energy efficiency","volume":"47","author":"mittal","year":"2015","journal-title":"ACM Comput Surveys"},{"key":"ref8","doi-asserted-by":"publisher","DOI":"10.1145\/1995896.1995902"},{"key":"ref49","doi-asserted-by":"publisher","DOI":"10.1145\/2228360.2228405"},{"key":"ref7","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2014.2324563"},{"key":"ref9","year":"0"},{"key":"ref46","doi-asserted-by":"publisher","DOI":"10.1145\/2463209.2488937"},{"key":"ref45","doi-asserted-by":"publisher","DOI":"10.1145\/2228360.2228401"},{"key":"ref48","first-page":"260","article-title":"Extending the lifetime of nand flash memory by salvaging bad blocks","author":"wang","year":"0","journal-title":"Proc Conf Des Autom Test Eur"},{"key":"ref47","first-page":"212","article-title":"Endurance enhancement of flash-memory storage systems: An efficient static wear leveling design","author":"chang","year":"0","journal-title":"Proc Des Autom Conf"},{"key":"ref42","doi-asserted-by":"publisher","DOI":"10.1145\/2464996.2465003"},{"key":"ref41","doi-asserted-by":"publisher","DOI":"10.1145\/2541940.2541953"},{"key":"ref44","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2011.5749736"},{"key":"ref43","doi-asserted-by":"publisher","DOI":"10.1109\/NAS.2013.13"},{"key":"ref127","doi-asserted-by":"publisher","DOI":"10.1145\/2063384.2063436"},{"key":"ref126","first-page":"61","article-title":"Consistent and durable data structures for non-volatile byte-addressable memory","author":"venkataraman","year":"0","journal-title":"Proc USENIX Conf File Storage Technol"},{"key":"ref125","doi-asserted-by":"publisher","DOI":"10.1145\/2524211.2524216"},{"key":"ref124","doi-asserted-by":"publisher","DOI":"10.1109\/TCE.2014.6780924"},{"key":"ref73","doi-asserted-by":"publisher","DOI":"10.1145\/2485732.2485743"},{"key":"ref72","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2013.2288691"},{"key":"ref129","first-page":"1","article-title":"Incremental checkpointing of program state to NVRAM for transiently-powered systems","author":"aouda","year":"0","journal-title":"Proc Int Symp Reconfigurable Commun -Centric Syst -on-Chip"},{"key":"ref71","doi-asserted-by":"publisher","DOI":"10.1145\/1815961.1815982"},{"key":"ref128","doi-asserted-by":"publisher","DOI":"10.1145\/2304576.2304587"},{"key":"ref70","article-title":"Caching less for better performance: balancing cache size and update cost of flash memory cache in hybrid storage systems","volume":"12","author":"oh","year":"0","journal-title":"Proc USENIX Conf File Storage Technol"},{"key":"ref76","doi-asserted-by":"publisher","DOI":"10.1145\/2168836.2168863"},{"key":"ref130","doi-asserted-by":"publisher","DOI":"10.1145\/2592798.2592814"},{"key":"ref77","first-page":"45","article-title":"Write policies for host-side flash caches","author":"koller","year":"0","journal-title":"Proc USENIX Conf File Storage Technol"},{"key":"ref74","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2014.6835962"},{"key":"ref75","doi-asserted-by":"crossref","first-page":"8:1","DOI":"10.1145\/2390191.2390199","article-title":"Hybrid nonvolatile disk cache for energy-efficient and high-performance systems","volume":"18","author":"shi","year":"2013","journal-title":"ACM Trans Des Autom Electron Syst"},{"key":"ref133","doi-asserted-by":"publisher","DOI":"10.1145\/2540708.2540744"},{"key":"ref134","doi-asserted-by":"publisher","DOI":"10.1145\/2513228.2513325"},{"key":"ref131","doi-asserted-by":"publisher","DOI":"10.1145\/2366231.2337203"},{"key":"ref78","doi-asserted-by":"publisher","DOI":"10.1145\/2463209.2488939"},{"key":"ref132","first-page":"433","article-title":"Atlas: Leveraging locks for non-volatile memory consistency","author":"chakrabarti","year":"0","journal-title":"Proc Conf Object-Oriented Program Syst Lang Appl"},{"key":"ref79","first-page":"489","article-title":"FlexECC: Partially relaxing ECC of MLC SSD for better cache performance","author":"huang","year":"0","journal-title":"Proc USENIX Annu Tech Conf"},{"key":"ref136","doi-asserted-by":"publisher","DOI":"10.1109\/LCA.2014.2329832"},{"key":"ref135","doi-asserted-by":"publisher","DOI":"10.1145\/2110205.2110209"},{"key":"ref138","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2015.2426179"},{"key":"ref137","doi-asserted-by":"publisher","DOI":"10.1109\/MMUL.2013.44"},{"key":"ref60","doi-asserted-by":"publisher","DOI":"10.1145\/1807060.1807061"},{"key":"ref139","doi-asserted-by":"crossref","first-page":"190","DOI":"10.1145\/356989.357007","article-title":"OceanStore: An architecture for global-scale persistent storage","volume":"35","author":"kubiatowicz","year":"2000","journal-title":"ACM SIGPLAN Notices"},{"key":"ref62","doi-asserted-by":"publisher","DOI":"10.1145\/2150976.2151018"},{"key":"ref61","doi-asserted-by":"publisher","DOI":"10.1145\/1367829.1367830"},{"key":"ref63","doi-asserted-by":"publisher","DOI":"10.1145\/1555815.1555790"},{"key":"ref64","first-page":"1","article-title":"BPLRU: A buffer management scheme for improving random writes in flash storage","volume":"8","author":"kim","year":"0","journal-title":"Proc USENIX Conf File Storage Technol"},{"key":"ref65","doi-asserted-by":"publisher","DOI":"10.1109\/ISPASS.2013.6557143"},{"key":"ref66","doi-asserted-by":"publisher","DOI":"10.14778\/1453856.1453913"},{"key":"ref67","doi-asserted-by":"publisher","DOI":"10.1109\/CLUSTR.2009.5289148"},{"key":"ref68","doi-asserted-by":"publisher","DOI":"10.1145\/2668128"},{"key":"ref2","year":"0"},{"key":"ref69","first-page":"16","article-title":"SSDAlloc: Hybrid SSD\/RAM memory management made easy","author":"badam","year":"0","journal-title":"Proc 3rd USENIX Conf Netw Syst Des Implementation"},{"key":"ref1","year":"0"},{"key":"ref109","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2010.33"},{"key":"ref95","first-page":"15","article-title":"DI-MMAP-a scalable memory-map runtime for out-of-core data-intensive applications","author":"essen","year":"2013","journal-title":"Cluster Comput"},{"key":"ref108","doi-asserted-by":"publisher","DOI":"10.1109\/MASCOTS.2012.57"},{"key":"ref94","article-title":"Reducing SSD read latency via NAND flash program and erase suspension","author":"wu","year":"0","journal-title":"Proc FAST"},{"key":"ref107","first-page":"2","article-title":"Onyx: A protoype phase change memory storage array","author":"akel","year":"0","journal-title":"Proc 3rd USENIX Conf on Hot Topics in Storage and File Syst"},{"key":"ref93","first-page":"61","article-title":"Lifetime improvement of NAND flash-based storage systems using dynamic program and erase scaling","author":"jeong","year":"0","journal-title":"Proc USENIX Conf File Storage Technol"},{"key":"ref106","doi-asserted-by":"publisher","DOI":"10.1145\/2464996.2465005"},{"key":"ref92","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2013.114"},{"key":"ref105","doi-asserted-by":"publisher","DOI":"10.1109\/MSST.2012.6232378"},{"key":"ref91","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2008.32"},{"key":"ref104","doi-asserted-by":"publisher","DOI":"10.1145\/2482767.2482806"},{"key":"ref90","doi-asserted-by":"publisher","DOI":"10.1109\/HiPC.2013.6799122"},{"key":"ref103","doi-asserted-by":"publisher","DOI":"10.1145\/1629575.1629589"},{"key":"ref102","doi-asserted-by":"publisher","DOI":"10.1145\/2541940.2541957"},{"key":"ref111","first-page":"14","article-title":"Operating system support for NVM+ DRAM hybrid main memory","author":"mogul","year":"0","journal-title":"Proceedings of the 12th Conference on Hot Topics in Operating Systems"},{"key":"ref112","doi-asserted-by":"publisher","DOI":"10.1145\/2527792.2527799"},{"key":"ref110","doi-asserted-by":"crossref","first-page":"105","DOI":"10.1145\/1961295.1950380","article-title":"NV-Heaps: Making persistent objects fast and safe with next-generation, non-volatile memories","volume":"39","author":"coburn","year":"0","journal-title":"Proc ACM SIGARCH Comput Archit News"},{"key":"ref98","doi-asserted-by":"publisher","DOI":"10.1109\/MSST.2012.6232369"},{"key":"ref99","doi-asserted-by":"publisher","DOI":"10.1145\/1555754.1555760"},{"key":"ref96","first-page":"159","article-title":"Mementos: System support for long-running computation on RFID-scale devices","author":"ransford","year":"0","journal-title":"Proc Archit Support Programm Lang Operating Syst"},{"key":"ref97","first-page":"91","article-title":"Janus: Optimal flash provisioning for cloud storage workloads","author":"albrecht","year":"0","journal-title":"Proc USENIX Annu Tech Conf"},{"key":"ref10","year":"0"},{"key":"ref11","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-07518-1_21"},{"key":"ref12","year":"0"},{"key":"ref13","doi-asserted-by":"publisher","DOI":"10.1145\/1961295.1950379"},{"key":"ref14","first-page":"21","article-title":"Rethinking database algorithms for phase change memory","author":"chen","year":"0","journal-title":"Proc 5th Biennial Conf Innovative Data Syst Res"},{"key":"ref15","doi-asserted-by":"publisher","DOI":"10.1109\/5.622505"},{"key":"ref118","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2010.46"},{"key":"ref16","article-title":"A survey of power management techniques for phase change memory","author":"mittal","year":"2014","journal-title":"Int J Comput Aided Eng Technol"},{"key":"ref82","doi-asserted-by":"publisher","DOI":"10.1145\/1785481.1785503"},{"key":"ref117","doi-asserted-by":"publisher","DOI":"10.1145\/1815961.1815980"},{"key":"ref17","doi-asserted-by":"publisher","DOI":"10.1109\/TMAG.2009.2024163"},{"key":"ref81","doi-asserted-by":"publisher","DOI":"10.1109\/ICCD.2012.6378623"},{"key":"ref18","doi-asserted-by":"publisher","DOI":"10.1145\/1555349.1555371"},{"key":"ref84","doi-asserted-by":"publisher","DOI":"10.1145\/1629911.1630085"},{"key":"ref119","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2011.5749752"},{"key":"ref19","first-page":"57","article-title":"Design tradeoffs for SSD performance","author":"agrawal","year":"0","journal-title":"Proc USENIX Annu Tech Conf"},{"key":"ref83","doi-asserted-by":"publisher","DOI":"10.1109\/MASCOTS.2010.11"},{"key":"ref114","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2014.6835960"},{"key":"ref113","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2014.6853222"},{"key":"ref116","doi-asserted-by":"publisher","DOI":"10.1145\/1736020.1736023"},{"key":"ref80","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2012.6168954"},{"key":"ref115","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2013.69"},{"key":"ref120","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2012.6168941"},{"key":"ref89","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2012.90"},{"key":"ref121","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2012.6263950"},{"key":"ref122","doi-asserted-by":"publisher","DOI":"10.1145\/2491956.2462171"},{"key":"ref123","doi-asserted-by":"publisher","DOI":"10.1109\/ATS.2012.57"},{"key":"ref85","doi-asserted-by":"publisher","DOI":"10.1145\/2540708.2540712"},{"key":"ref86","doi-asserted-by":"publisher","DOI":"10.1109\/TCE.2012.6311326"},{"key":"ref87","first-page":"1","article-title":"Combo drive: Optimizing cost and performance in a heterogeneous storage device","volume":"1","author":"payer","year":"0","journal-title":"Proc of the First Workshop on Integrating Solid-state Memory into the Storage Hierarchy"},{"key":"ref88","doi-asserted-by":"publisher","DOI":"10.1109\/TCE.2010.5505937"}],"container-title":["IEEE Transactions on Parallel and Distributed Systems"],"original-title":[],"link":[{"URL":"http:\/\/xplorestaging.ieee.org\/ielx7\/71\/7449033\/07120149.pdf?arnumber=7120149","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,10,11]],"date-time":"2021-10-11T02:34:22Z","timestamp":1633919662000},"score":1,"resource":{"primary":{"URL":"http:\/\/ieeexplore.ieee.org\/document\/7120149\/"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,5,1]]},"references-count":139,"journal-issue":{"issue":"5"},"URL":"https:\/\/doi.org\/10.1109\/tpds.2015.2442980","relation":{},"ISSN":["1045-9219"],"issn-type":[{"value":"1045-9219","type":"print"}],"subject":[],"published":{"date-parts":[[2016,5,1]]}}}