{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,12]],"date-time":"2025-10-12T04:29:07Z","timestamp":1760243347200,"version":"build-2065373602"},"reference-count":42,"publisher":"MDPI AG","issue":"10","license":[{"start":{"date-parts":[[2014,10,10]],"date-time":"2014-10-10T00:00:00Z","timestamp":1412899200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Sensors"],"abstract":"<jats:p>While the NAND flash memory is widely used as the storage medium in modern sensor systems, the aggressive shrinking of process geometry and an increase in the number of bits stored in each memory cell will inevitably degrade the reliability of NAND flash memory. In particular, it\u2019s critical to enhance metadata reliability, which occupies only a small portion of the storage space, but maintains the critical information of the file system and the address translations of the storage system. Metadata damage will cause the system to crash or a large amount of data to be lost. This paper presents Asymmetric Programming, a highly reliable metadata allocation strategy for MLC NAND flash memory storage systems. Our technique exploits for the first time the property of the multi-page architecture of MLC NAND flash memory to improve the reliability of metadata. The basic idea is to keep metadata in most significant bit (MSB) pages which are more reliable than least significant bit (LSB) pages. Thus, we can achieve relatively low bit error rates for metadata. Based on this idea, we propose two strategies to optimize address mapping and garbage collection. We have implemented Asymmetric Programming on a real hardware platform. The experimental results show that Asymmetric Programming can achieve a reduction in the number of page errors of up to 99.05% with the baseline error correction scheme.<\/jats:p>","DOI":"10.3390\/s141018851","type":"journal-article","created":{"date-parts":[[2014,10,10]],"date-time":"2014-10-10T10:24:07Z","timestamp":1412936647000},"page":"18851-18877","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":8,"title":["Asymmetric Programming: A Highly Reliable Metadata Allocation Strategy for MLC NAND Flash Memory-Based Sensor Systems"],"prefix":"10.3390","volume":"14","author":[{"given":"Min","family":"Huang","sequence":"first","affiliation":[{"name":"Department of Automatic Test and Control, Harbin Institute of Technology, 3033#,  Science Park of Harbin Institute of Technology, No.2, Yikuang Street, NanGang District,  Harbin 150080, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Zhaoqing","family":"Liu","sequence":"additional","affiliation":[{"name":"Department of Automatic Test and Control, Harbin Institute of Technology, 3033#,  Science Park of Harbin Institute of Technology, No.2, Yikuang Street, NanGang District,  Harbin 150080, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Liyan","family":"Qiao","sequence":"additional","affiliation":[{"name":"Department of Automatic Test and Control, Harbin Institute of Technology, 3033#,  Science Park of Harbin Institute of Technology, No.2, Yikuang Street, NanGang District,  Harbin 150080, China"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"1968","published-online":{"date-parts":[[2014,10,10]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","first-page":"449","DOI":"10.1145\/1210596.1210600","article-title":"The Design of efficient initialization and crash recovery for log-based file systems over flash memory","volume":"2","author":"Wu","year":"2006","journal-title":"ACM Trans. Storage"},{"key":"ref_2","doi-asserted-by":"crossref","unstructured":"Xiang, X., Yue, L., Liu, Z., and Wei, P. (2008, January 16\u201320). A ReliableB-Tree Implementation over Flash Memory. Cear\u00e1, Brazil.","DOI":"10.1145\/1363686.1364036"},{"key":"ref_3","doi-asserted-by":"crossref","unstructured":"Mylavarapu, S.K., Choudhuri, S., Shrivastava, A., Lee, J., and Givargis, T. (2009, January 20\u201324). FSAF: File system aware flash translation layer for NAND flash memories. Nice, France.","DOI":"10.1109\/DATE.2009.5090696"},{"key":"ref_4","doi-asserted-by":"crossref","first-page":"14","DOI":"10.1145\/2159542.2159546","article-title":"Timing analysis of system initialization and crash recovery for a segment-based flash translation layer","volume":"17","author":"Wu","year":"2012","journal-title":"ACM Trans. Des. Autom. Electron. Syst."},{"key":"ref_5","doi-asserted-by":"crossref","first-page":"953","DOI":"10.1109\/TCAD.2010.2048362","article-title":"An adaptive flash translation layer for high-performance storage systems","volume":"29","author":"Wu","year":"2010","journal-title":"IEEE Trans. Comput. Aided Des. Integrated Circuits Syst."},{"key":"ref_6","unstructured":"Wang, Y., Liu, D., Qin, Z., and Shao, Z. (2011, January 14\u201318). An endurance-enhanced Flash Translation Layer via reuse for NAND flash memory storage systems. Grenoble, France."},{"key":"ref_7","doi-asserted-by":"crossref","unstructured":"Park, D., Debnath, B., and Du, D. (2010, January 14\u201318). CFTL: A convertible flash translation layer adaptive to data access patterns. New York, NY, USA.","DOI":"10.1145\/1811039.1811089"},{"key":"ref_8","unstructured":"Wang, Y., Bathen, L.A.D., Shao, Z., and Dutt, N.D. (2012, January 12\u201316). 3D-FlashMap: A physical-location-aware block mapping strategy for 3D NAND flash memory. Dresden, Germany."},{"key":"ref_9","doi-asserted-by":"crossref","first-page":"22","DOI":"10.1145\/2491679","article-title":"Exploring the vulnerability of CMPs to soft errors with 3D stacked nonvolatile memory","volume":"9","author":"Sun","year":"2013","journal-title":"ACM J. Emerg. Technol. Comput. Syst."},{"key":"ref_10","doi-asserted-by":"crossref","unstructured":"Zhang, C., Wang, Y., Wang, T., Chen, R., Liu, D., and Shao, Z. (2014, January 24\u201328). Deterministic Crash Recovery for NAND Flash Based Storage Systems. Dresden, Germany.","DOI":"10.1145\/2593069.2593124"},{"key":"ref_11","doi-asserted-by":"crossref","unstructured":"Miranda, A., Effert, S., Kang, Y., Miller, E.L., Brinkmann, A., and Cortes, T. (2011, January 18\u201321). Reliable and randomized data distribution strategies for large scale storage systems. Bengaluru, India.","DOI":"10.1109\/HiPC.2011.6152745"},{"key":"ref_12","doi-asserted-by":"crossref","first-page":"343","DOI":"10.1109\/TCAD.2013.2288691","article-title":"Error Model Guided Joint Performance and Endurance Optimization for Flash Memory","volume":"33","author":"Shi","year":"2014","journal-title":"IEEE Trans. Comput. Aided Des. Integrated Circuits Syst."},{"key":"ref_13","doi-asserted-by":"crossref","unstructured":"Guo, J., Chen, Z., Wang, D., Shao, Z., and Chen, Y. (2014, January 20\u201323). DPA: A data pattern aware error prevention technique for NAND flash lifetime extension. Singapore.","DOI":"10.1109\/ASPDAC.2014.6742955"},{"key":"ref_14","doi-asserted-by":"crossref","unstructured":"Guo, J., Yang, J., Zhang, Y., and Chen, Y. (2013, January 18\u201322). Low cost power failure protection for MLC NAND flash storage systems with PRAM\/DRAM hybrid buffer. Grenoble, France.","DOI":"10.7873\/DATE.2013.181"},{"key":"ref_15","doi-asserted-by":"crossref","first-page":"9","DOI":"10.1145\/1288783.1288788","article-title":"A five-year study of file-system metadata","volume":"3","author":"Agrawal","year":"2007","journal-title":"ACM Trans. Storage"},{"key":"ref_16","doi-asserted-by":"crossref","unstructured":"Chen, J., Wei, Q., Chen, C., and Wu, L. (2013, January 19\u201320). FSMAC: A file system metadata accelerator with non-volatile memory. Monterey, CA, USA.","DOI":"10.1109\/MSST.2013.6558440"},{"key":"ref_17","doi-asserted-by":"crossref","unstructured":"Wang, Y., Bathen, L.A.D., Dutt, N.D., and Shao, Z. (2012, January 3\u20137). Meta-Cure: A reliability enhancement strategy for metadata in NAND flash memory storage systems. San Francisco, CA, USA.","DOI":"10.1145\/2228360.2228401"},{"key":"ref_18","doi-asserted-by":"crossref","unstructured":"Zhou, R., Liu, M., and Li, T. (2013, January 22\u201324). Characterizing the efficiency of data deduplication for big data storage management. Portland, OR, USA.","DOI":"10.1109\/IISWC.2013.6704674"},{"key":"ref_19","doi-asserted-by":"crossref","first-page":"1350","DOI":"10.1109\/TVLSI.2012.2210256","article-title":"Error rate-based wear-leveling for NAND flash memory at highly scaled technology nodes","volume":"21","author":"Pan","year":"2013","journal-title":"IEEE Trans. Very Large Scale Integration (VLSI) Syst."},{"key":"ref_20","doi-asserted-by":"crossref","first-page":"1228","DOI":"10.1109\/4.705361","article-title":"A multipage cell architecture for high-speed programming multilevel NAND flash memories","volume":"33","author":"Takeuchi","year":"1998","journal-title":"IEEE J. Solid State Circuits"},{"key":"ref_21","unstructured":"Vallina, F.M., Kohn, C., and Joshi, P. Zynq All Programmable SoC Sobel Filter Implementation Using the Vivado HLS Tool. Available online: http:\/\/china.zylinks.com\/support\/documentation\/application_notes\/xapp890-zynq-sobel-vivado-hls.pdf."},{"key":"ref_22","unstructured":"Venkateswaran, S. (2008). Essential Linux Device Drivers, Prentice Hall Press."},{"key":"ref_23","doi-asserted-by":"crossref","unstructured":"Wang, C., and Wong, W.F. (2013, January 18\u201322). TreeFTL: Efficient RAM management for high performance of NAND flash-based storage systems. Grenoble, France.","DOI":"10.7873\/DATE.2013.086"},{"key":"ref_24","doi-asserted-by":"crossref","first-page":"1094","DOI":"10.1109\/TVLSI.2011.2142015","article-title":"Space Reuse Strategy for Flash Translation Layers in SLC NAND Flash Memory Storage Systems","volume":"20","author":"Liu","year":"2012","journal-title":"IEEE Trans. Very Large Scale Integration (VLSI) Syst."},{"key":"ref_25","doi-asserted-by":"crossref","first-page":"111","DOI":"10.1145\/2499369.2465560","article-title":"BLog: Block-Level Log-Block Management for NAND Flash Memorystorage Systems","volume":"Volume 48","author":"Guan","year":"2013","journal-title":"Proceedings of ACM SIGPLAN Notices"},{"key":"ref_26","doi-asserted-by":"crossref","unstructured":"Qin, Z., Wang, Y., Liu, D., and Shao, Z. (2012, January 17\u201319). Real-time flash translation layer for NAND flash memory storage systems. Beijing, China.","DOI":"10.1109\/RTAS.2012.27"},{"key":"ref_27","doi-asserted-by":"crossref","first-page":"63","DOI":"10.1145\/2544375.2544383","article-title":"Reducing asynchrony in channel garbage-collection for improving internal parallelism of multichannel solid-state disks","volume":"13","author":"Chang","year":"2014","journal-title":"ACM Trans. Embedded Comput. Syst."},{"key":"ref_28","first-page":"1091","article-title":"Design for Multiple Flash-Memory Chips","volume":"28","author":"Wu","year":"2012","journal-title":"J. Inf. Sci. Eng."},{"key":"ref_29","doi-asserted-by":"crossref","first-page":"55","DOI":"10.1145\/2539036.2539051","article-title":"An adaptive, low-cost wear-leveling algorithm for multichannel solid-state disks","volume":"13","author":"Chang","year":"2013","journal-title":"ACM Trans. Embedded Comput. Syst."},{"key":"ref_30","doi-asserted-by":"crossref","unstructured":"Qin, Z., Wang, Y., Liu, D., Shao, Z., and Guan, Y. (2011, January 5\u201310). MNFTL: An efficient flash translation layer for MLC NAND flash memory storage systems. San Diego, AK, USA.","DOI":"10.1145\/2024724.2024730"},{"key":"ref_31","unstructured":"Woodhouse, D. (2001, January 26\u201329). JFFS: The journalling flash file system. Ottawa, Canada."},{"key":"ref_32","unstructured":"Manning, C. How YAFFS Works. Available online: http:\/\/users.actrix.co.nz\/manningc\/yaffs-docs\/HowYaffsWorks.pdf."},{"key":"ref_33","doi-asserted-by":"crossref","first-page":"211","DOI":"10.1016\/j.diin.2006.10.005","article-title":"Data hiding in the NTFS file system","volume":"3","author":"Huebner","year":"2006","journal-title":"Digit. Investig"},{"key":"ref_34","first-page":"14","article-title":"Analysis of FAT32 File System","volume":"1","author":"Zhang","year":"2005","journal-title":"Comput. Digit. Eng."},{"key":"ref_35","unstructured":"Preslan, K.W., Barry, A.P., Brassow, J.E., Erickson, G.M., Nygaard, E., Sabol, C.J., Soltis, S.R., Teigland, D.C., and O'Keefe, M.T. (1999, January 15\u201318). A 64-bit, shared disk file system for Linux. San Diego, AK, USA."},{"key":"ref_36","doi-asserted-by":"crossref","unstructured":"Long, C., Xiong, J., and Liu, Y. (2006, January 4\u20137). Techniques of power-gating to kill sub-threshold leakage. Singapore.","DOI":"10.1109\/APCCAS.2006.342219"},{"key":"ref_37","unstructured":"Mielke, N., Marquart, T., Ning, W., Kessenich, J., Belgal, H., Schares, E., Trivedi, F., Goodness, E., and Nevill, L.R. (May, January 27). Bit error rate in NAND Flash memories. Phoenix, AZ, USA."},{"key":"ref_38","doi-asserted-by":"crossref","unstructured":"Agarwal, R., and Marrow, M. (2010, January 6\u201310). A closed-form expression for write amplification in NAND Flash. Miami, FL, USA.","DOI":"10.1109\/GLOCOMW.2010.5700261"},{"key":"ref_39","unstructured":"Levine, D.D. (1998). Iometer User's Guide. Intel Server Architecture Lab."},{"key":"ref_40","unstructured":"Xilinx 7 Series FPGAs and Zynq-7000 All Programmable SoC XADC Dual 12-Bit 1 MSPS Analog-to-Digital Converter User Guide. Available online: http:\/\/www.xilinx.com\/support\/documentation\/user_guides\/ug480_7Series_XADC.pdf."},{"key":"ref_41","doi-asserted-by":"crossref","unstructured":"Jung, M., Wilson, E.H., Donofrio, D., Shalf, J., and Kandemir, M.T. (2012, January 19\u201320). NANDFlashSim: Intrinsic latency variation aware NAND flash memory system modeling and simulation at microarchitecture level. Monterey, CA, USA.","DOI":"10.1109\/MSST.2012.6232389"},{"key":"ref_42","doi-asserted-by":"crossref","unstructured":"Grupp, L.M., Caulfield, A.M., Coburn, J., Swanson, S., Yaakobi, E., Siegel, P.H., and Wolf, J.K. (2009, January 12\u201316). Characterizing flash memory: Anomalies, observations, and applications. New York, NY, USA.","DOI":"10.1145\/1669112.1669118"}],"container-title":["Sensors"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/1424-8220\/14\/10\/18851\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T21:16:47Z","timestamp":1760217407000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/1424-8220\/14\/10\/18851"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2014,10,10]]},"references-count":42,"journal-issue":{"issue":"10","published-online":{"date-parts":[[2014,10]]}},"alternative-id":["s141018851"],"URL":"https:\/\/doi.org\/10.3390\/s141018851","relation":{},"ISSN":["1424-8220"],"issn-type":[{"type":"electronic","value":"1424-8220"}],"subject":[],"published":{"date-parts":[[2014,10,10]]}}}