{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:07:56Z","timestamp":1750306076130,"version":"3.41.0"},"reference-count":38,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2017,11,14]],"date-time":"2017-11-14T00:00:00Z","timestamp":1510617600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000001","name":"NSF","doi-asserted-by":"publisher","award":["CNS-1253424, CNS-1615475 and AFRL FA8750-15-1-0176"],"award-info":[{"award-number":["CNS-1253424, CNS-1615475 and AFRL FA8750-15-1-0176"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2018,1,31]]},"abstract":"<jats:p>Write amplification is a major cause of performance and endurance degradations in NAND flash-based storage systems. In an object-based NAND flash device (ONFD), two causes of write amplification are onode partial update and cascading update. Here, onode is a type of small-sized object metadata, and multiple onodes are stored in one NAND flash page. Updating one onode invokes partial page update (i.e., onode partial update), incurring unnecessary migration of the un-updated data. Cascading update denotes updating object metadata in a cascading manner due to object data update or migration. Although there are only several bytes that need to be updated in the object metadata, one or more pages have to be re-written accordingly. In this work, we propose a system design to alleviate the write amplification issue in the object-based NAND flash device. The proposed design includes (1) a multi-level garbage collection technique to minimize unnecessary data migration incurred by onode partial update and (2) a B+ table tree, Semantics-Aware Flexible (SAF) data layout, and selective cache design to reduce the write operations associated with cascading update. To guarantee system consistency, we also propose a power failure handling technique. Experiment results show that our proposed design can achieve up to 20% write reduction compared to the best states of the art.<\/jats:p>","DOI":"10.1145\/3105924","type":"journal-article","created":{"date-parts":[[2017,11,14]],"date-time":"2017-11-14T14:02:44Z","timestamp":1510668164000},"page":"1-26","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Improving Write Performance and Extending Endurance of Object-Based NAND Flash Devices"],"prefix":"10.1145","volume":"17","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-5256-9499","authenticated-orcid":false,"given":"Jie","family":"Guo","sequence":"first","affiliation":[{"name":"University of Pittsburgh, PA, USA"}]},{"given":"Chuhan","family":"Min","sequence":"additional","affiliation":[{"name":"University of Pittsburgh, PA, USA"}]},{"given":"Tao","family":"Cai","sequence":"additional","affiliation":[{"name":"Jiangsu University, Jiangsu, China"}]},{"given":"Yiran","family":"Chen","sequence":"additional","affiliation":[{"name":"Duke University, Durham, NC, USA"}]}],"member":"320","published-online":{"date-parts":[[2017,11,14]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"Ohio Supercomputing Center. 2013. OSC software OSD implementation. Retrieved from https:\/\/github.uconn.edu\/SNSL\/osc-osd\/tree\/master.  Ohio Supercomputing Center. 2013. OSC software OSD implementation. Retrieved from https:\/\/github.uconn.edu\/SNSL\/osc-osd\/tree\/master."},{"volume-title":"Proceedings of the 10th USENIX Conference on File and Storage Technologies (FAST\u201912)","author":"Chidambaram Vijay","key":"e_1_2_1_2_1"},{"key":"e_1_2_1_3_1","unstructured":"GNU. 2011. Hammerora: the open source oracle load test tool. Retrieved from https:\/\/sourceforge.net\/projects\/hammerora\/.  GNU. 2011. Hammerora: the open source oracle load test tool. Retrieved from https:\/\/sourceforge.net\/projects\/hammerora\/."},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.5555\/2208461.2208463"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/2968456.2968465"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1109\/NVMSA.2016.7547179"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1109\/TVLSI.2016.2642055"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2744769.2744843"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.7873\/DATE.2013.087"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.7873\/DATE.2013.181"},{"key":"e_1_2_1_11_1","volume-title":"Proceedings of the 14th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS\u201908)","volume":"44","author":"Gupta Aayush","year":"2008"},{"key":"e_1_2_1_12_1","unstructured":"B. Harrosh and B. Halevy. 2009. The Linux Exofs Object-based pNFS Metadata Server.  B. Harrosh and B. Halevy. 2009. The Linux Exofs Object-based pNFS Metadata Server."},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/2324876.2324878"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1138041.1138043"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1534530.1534544"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/1289927.1289953"},{"volume-title":"Proceedings of the 27th IEEE Symposium on Mass Storage Systems and Technologies (MSST\u201911)","author":"Kang Yangwook","key":"e_1_2_1_17_1"},{"key":"e_1_2_1_18_1","volume-title":"Proceedings of the 6th USENIX Conference on File and Storage Technologies (FAST\u201908)","volume":"8","author":"Kim Hyojun","year":"2008"},{"volume-title":"Proceedings of the 13th USENIX Conference on File and Storage Technologies (FAST\u201915)","year":"2015","author":"Lee Changman","key":"e_1_2_1_19_1"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1453775.1453783"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/1450058.1450063"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1109\/MSST.2013.6558448"},{"key":"e_1_2_1_23_1","unstructured":"Linux. 2016. Strace\u2014trace system calls and signals. Retrieved from http:\/\/man7.org\/linux\/man-pages\/man1\/strace.1.html.  Linux. 2016. Strace\u2014trace system calls and signals. Retrieved from http:\/\/man7.org\/linux\/man-pages\/man1\/strace.1.html."},{"key":"e_1_2_1_24_1","unstructured":"Aleph One Ltd. 2012. Yaffs A Flash File System for Embedded Use. Retrieved from http:\/\/www.yaffs.net\/.  Aleph One Ltd. 2012. Yaffs A Flash File System for Embedded Use. Retrieved from http:\/\/www.yaffs.net\/."},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.5555\/2591272.2591299"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.5555\/2591272.2591299"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASPDAC.2017.7858416"},{"key":"e_1_2_1_28_1","first-page":"4","article-title":"The ANSI T10 object-based storage standard and current implementations","volume":"52","author":"David Nagle","year":"2008","journal-title":"IBM J. Res. Dev."},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/MDM.2009.48"},{"volume-title":"Proceedings of the USENIX Annual Technical Conference (ATC\u201909)","author":"Rajimwale Abhishek","key":"e_1_2_1_30_1"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/146941.146943"},{"volume-title":"Proceedings of the International Memory Workshop (IMW\u201913)","author":"Chao","key":"e_1_2_1_32_1"},{"key":"e_1_2_1_33_1","unstructured":"Carnegie Mellon University. 1994. Coda Project Traces and DFSTrace. Retrieved from http:\/\/coda.cs.cmu.edu\/DFSTrace\/.  Carnegie Mellon University. 1994. Coda Project Traces and DFSTrace. Retrieved from http:\/\/coda.cs.cmu.edu\/DFSTrace\/."},{"volume-title":"Proceedings of the USENIX ATC FREENIX Track. 165--172","year":"2001","author":"Riel Rik Van","key":"e_1_2_1_34_1"},{"volume-title":"Proceedings of the International Conference on Computing, Networking and Communications (ICNC\u201914)","year":"2014","author":"Wang Danghui","key":"e_1_2_1_35_1"},{"volume-title":"Proceedings of the Conference on Design, Automation 8 Test in Europe (DATE\u201914)","year":"2014","author":"Wang Wei","key":"e_1_2_1_36_1"},{"volume-title":"Proceedings of the Flash Memory Summit.","year":"2012","author":"Yoon Jung","key":"e_1_2_1_37_1"},{"volume-title":"Proceedings of the 11th USENIX Conference on File and Storage Technologies (FAST\u201913)","year":"2013","author":"Zhao Kai","key":"e_1_2_1_38_1"}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3105924","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3105924","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3105924","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T03:30:04Z","timestamp":1750217404000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3105924"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,11,14]]},"references-count":38,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2018,1,31]]}},"alternative-id":["10.1145\/3105924"],"URL":"https:\/\/doi.org\/10.1145\/3105924","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"type":"print","value":"1539-9087"},{"type":"electronic","value":"1558-3465"}],"subject":[],"published":{"date-parts":[[2017,11,14]]},"assertion":[{"value":"2016-12-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2017-05-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2017-11-14","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}