{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,12]],"date-time":"2025-10-12T02:51:33Z","timestamp":1760237493529,"version":"build-2065373602"},"reference-count":38,"publisher":"MDPI AG","issue":"10","license":[{"start":{"date-parts":[[2020,5,22]],"date-time":"2020-05-22T00:00:00Z","timestamp":1590105600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"DOI":"10.13039\/501100003725","name":"National Research Foundation of Korea","doi-asserted-by":"publisher","award":["NRF-2019R1F1A1057503"],"award-info":[{"award-number":["NRF-2019R1F1A1057503"]}],"id":[{"id":"10.13039\/501100003725","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100010418","name":"Institute for Information and Communications Technology Promotion","doi-asserted-by":"publisher","award":["Grant No. 2019-0-00420"],"award-info":[{"award-number":["Grant No. 2019-0-00420"]}],"id":[{"id":"10.13039\/501100010418","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Sensors"],"abstract":"<jats:p>NAND flash memory-based storage devices are vulnerable to errors induced by NAND flash memory cells. Error-correction codes (ECCs) are integrated into the flash memory controller to correct errors in flash memory. However, since ECCs show inherent limits in checking the excessive increase in errors, a complementary method should be considered for the reliability of flash storage devices. In this paper, we propose a scheme based on lossless data compression that enhances the error recovery ability of flash storage devices, which applies to improve recovery capability both of inside and outside the page. Within a page, ECC encoding is realized on compressed data by the adaptive ECC module, which results in a reduced code rate. From the perspective of outside the page, the compressed data are not placed at the beginning of the page, but rather is placed at a specific location within the page, which makes it possible to skip certain pages during the recovery phase. As a result, the proposed scheme improves the uncorrectable bit error rate (UBER) of the legacy system.<\/jats:p>","DOI":"10.3390\/s20102952","type":"journal-article","created":{"date-parts":[[2020,5,25]],"date-time":"2020-05-25T11:42:02Z","timestamp":1590406922000},"page":"2952","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["Compression-Assisted Adaptive ECC and RAID Scattering for NAND Flash Storage Devices"],"prefix":"10.3390","volume":"20","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-3096-0785","authenticated-orcid":false,"given":"Seung-Ho","family":"Lim","sequence":"first","affiliation":[{"name":"Division of Computer and Electronic Systems Engineering, Hankuk University of Foreign Studies, Yongin 17035, Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-3377-223X","authenticated-orcid":false,"given":"Ki-Woong","family":"Park","sequence":"additional","affiliation":[{"name":"Department of Computer and Information Security, Sejong University, Seoul 05006, Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"1968","published-online":{"date-parts":[[2020,5,22]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","unstructured":"Mielke, N., Marquart, T., Wu, N., Kessenich, J., Belgal, H., Schares, E., Trivedi, F., Goodness, E., and Nevill, L.R. (May, January 27). Bit error rate in NAND Flash memories. Proceedings of the 2008 IEEE International Reliability Physics Symposium, Phoenix, AZ, USA.","DOI":"10.1109\/RELPHY.2008.4558857"},{"key":"ref_2","doi-asserted-by":"crossref","unstructured":"Cai, Y., Mutlu, O., Haratsch, E.F., and Mai, K. (2013, January 6\u20139). Program interference in MLC NAND flash memory: Characterization, modeling, and mitigation. Proceedings of the 2013 IEEE 31st International Conference on Computer Design (ICCD), Asheville, NC, USA.","DOI":"10.1109\/ICCD.2013.6657034"},{"key":"ref_3","unstructured":"Micron (2012). Enabling Software BCH ECC on a Linux Platform, Micron. Technical Note, TN-29-71."},{"key":"ref_4","unstructured":"Zhao, K., Zhao, W., Sun, H., Zhang, X., Zheng, N., and Zhang, T. (2013, January 12\u201315). LDPC-in-SSD: Making advanced Error Correction Codes Work Effectively in Solid State Drives. Proceedings of the 11th USENIX Conference on File and Storage Technologies, San Jose, CA, USA."},{"key":"ref_5","doi-asserted-by":"crossref","first-page":"335","DOI":"10.1109\/TC.2010.150","article-title":"Using lossless data compression in data storage systems: Not for saving space","volume":"60","author":"Xie","year":"2011","journal-title":"IEEE Trans. Comput."},{"key":"ref_6","doi-asserted-by":"crossref","unstructured":"Ahrens, T., Rajab, M., and Freudenberger, J. (2016, January 5\u20137). Compression of short data blocks to improve the reliability of non-volatile flash memories. Proceedings of the 2016 International Conference on Information and Digital Technologies (IDT), Rzeszow, Poland.","DOI":"10.1109\/DT.2016.7557141"},{"key":"ref_7","doi-asserted-by":"crossref","unstructured":"Chen, P.M., and Lee, E.K. (1995, January 15\u201319). Striping in a RAID level 5 disk array?. Proceedings of the 1995 ACM SIGMETRICS Joint International Conference on Measurement and Modeling of Computer Systems, Ottawa, ON, Canada.","DOI":"10.1145\/223587.223603"},{"key":"ref_8","doi-asserted-by":"crossref","unstructured":"Lee, Y., Jung, S., and Song, Y.H. (2009, January 11\u201316). FRA: A flash-aware redundancy array of flash storage devices. Proceedings of the 7th IEEE\/ACM International Conference on Hardware\/Software Codesign and System Synthesis, Grenoble, France.","DOI":"10.1145\/1629435.1629459"},{"key":"ref_9","doi-asserted-by":"crossref","unstructured":"Qin, Y., Feng, D., Liu, J., Tong, W., Hu, Y., and Zhu, Z. (2012, January 28\u201330). A Parity Scheme to Enhance Reliability for SSDs. Proceedings of the 7th International Conference on Networking, Architecture, and Storage, Xiamen, China.","DOI":"10.1109\/NAS.2012.40"},{"key":"ref_10","doi-asserted-by":"crossref","first-page":"1116","DOI":"10.1109\/TC.2014.2375179","article-title":"Chip-Level RAID with Flexible Stripe Size and Parity Placement for Enhanced SSD Reliability","volume":"65","author":"Kim","year":"2016","journal-title":"IEEE Trans. Comput."},{"key":"ref_11","doi-asserted-by":"crossref","unstructured":"Kim, K., and Lim, S.H. (2017). Compression and Variable-Sized ECC Scheme for the Reliable Flash Memory System. Advances in Computer Science and Ubiquitous Computing, Springer.","DOI":"10.1007\/978-981-10-7605-3_196"},{"key":"ref_12","unstructured":"Intel Corporation (1998). Understanding the Flash Translation Layer (FTL) Specification, Intel Corporation. Application Note."},{"key":"ref_13","doi-asserted-by":"crossref","first-page":"366","DOI":"10.1109\/TCE.2002.1010143","article-title":"A space-efficient flash translation layer for CompactFlash systems","volume":"48","author":"Kim","year":"2002","journal-title":"IEEE Trans. Consum. Electron."},{"key":"ref_14","doi-asserted-by":"crossref","unstructured":"Kang, J.U., Jo, H., Kim, J.S., and Lee, J. (2006, January 22\u201325). A superblock-based flash translation layer for NAND Flash memory. Proceedings of the 6th ACM & IEEE International Conference on Embedded Software, Seoul, Korea.","DOI":"10.1145\/1176887.1176911"},{"key":"ref_15","doi-asserted-by":"crossref","unstructured":"Lee, S.W., Choi, W.K., and Park, D.J. (2006). FAST: An efficient flash translation layer for flash memory. International Conference on Embedded and Ubiquitous Computing, Springer.","DOI":"10.1007\/11807964_88"},{"key":"ref_16","doi-asserted-by":"crossref","unstructured":"Gupta, A., Kim, Y., and Urgaonkar, B. (2009, January 7\u201311). DFTL: A Flash Translation Layer Employing Demand-based Selective Caching of Page-level Address Mappings. Proceedings of the 14th International Conference on Architectural Support for Programming Languages and Operating Systems, Washington, DC, USA.","DOI":"10.1145\/1508244.1508271"},{"key":"ref_17","doi-asserted-by":"crossref","unstructured":"Ma, D., Feng, J., and Li, G. (2011, January 12\u201316). LazyFTL: A Page-level Flash Translation Layer Optimized for NAND Flash Memory. Proceesings of the ACM SIGMOD, Athens, Greece.","DOI":"10.1145\/1989323.1989325"},{"key":"ref_18","doi-asserted-by":"crossref","unstructured":"Chen, F., Lee, R., and Zhang, X. (2011, January 12\u201316). Essential roles of exploiting internal parallelism of flash memory based solid state drives in high-speed data processing. Proceedings of the International Symposium on High Performance Computer Architecture (HPCA), San Antonio, TX, USA.","DOI":"10.1109\/HPCA.2011.5749735"},{"key":"ref_19","unstructured":"Agrawal, N., Prabhakaran, V., Wobber, T., Davis, J.D., Manasse, M., and Panigrahy, R. (2008, January 22\u201327). Design tradeoffs for SSD performance. Proceedings of the USENIX Annual Technical Conference, Boston, MA, USA."},{"key":"ref_20","doi-asserted-by":"crossref","first-page":"905","DOI":"10.1109\/TC.2010.63","article-title":"Hydra: A Block-Mapped Parallel Flash Memory Solid-State Disk Architecture","volume":"59","author":"Seong","year":"2010","journal-title":"IEEE Trans. Comput."},{"key":"ref_21","unstructured":"Hu, Y., Jiang, H., Feng, D., Tian, L., Luo, H., and Zhang, S. (June, January 31). Performance impact and interplay of ssd parallelism through advanced commands, allocation strategy and data granularity. Proceedings of the International Conference on Supercomputing, Tucson, AZ, USA."},{"key":"ref_22","unstructured":"Jung, M., and Kandemir, M. (2012, January 13\u201314). An evaluation of different page allocation strategies on high-speed SSDs. Proceedings of HotStorage, Boston, MA, USA."},{"key":"ref_23","unstructured":"Bjorling, M., Axboe, J., Nellans, D., and Bonnet, P. (July, January 30). Linux Block IO: Introducing Multi-queue SSD Access on Multi-core Systems. Proceedings of the 6th Intetnational Systems and Storage Conference, Haifa, Israel."},{"key":"ref_24","unstructured":"Yaakobi, E., Grupp, L., Siegel, P.H., Swanson, S., and Wolf, J.K. (February, January 30). Characterization and error-correcting codes for TLC flash memories. Proceedings of the International Conference on Computing, Networking and Communications (ICNC), Maui, HI, USA."},{"key":"ref_25","unstructured":"Yang, J. (2012, January 22\u201324). Novel ECC architecture enhances storage system reliability. Proceedings of the Flash Memory Summit, Santa Clara, CA, USA."},{"key":"ref_26","unstructured":"Yeo, E. (2012, January 22\u201324). An LDPC-enabled flash controller in 40 nm CMOS. Proceedings of the Flash Memory Summit, Santa Clara, CA, USA."},{"key":"ref_27","unstructured":"Motwani, R., and Ong, C. (February, January 30). Robust decoder architecture for multi-level flash memory storage channels. Proceedings of the International Conference on Computing, Networking and Communications (ICNC), Maui, HI, USA."},{"key":"ref_28","doi-asserted-by":"crossref","unstructured":"Tanakamaru, S., Yanagihara, Y., and Takeuchi, K. (2012, January 19\u201323). Over-10x-extended-lifetime 76%-reduced-error solid-state drives (SSDs) with error-prediction LDPC architecture and error-recovery scheme. Proceedings of the IEEE International Solid-State Circuits Conference (ISSCC), San Francisco, CA, USA.","DOI":"10.1109\/ISSCC.2012.6177074"},{"key":"ref_29","doi-asserted-by":"crossref","first-page":"145","DOI":"10.1145\/176979.176981","article-title":"Patterson, RAID: High-Performance, Reliable Secondary Storage","volume":"26","author":"Chen","year":"1994","journal-title":"ACM Comput. Surv."},{"key":"ref_30","doi-asserted-by":"crossref","first-page":"80","DOI":"10.1109\/TC.2010.197","article-title":"Flash-Aware RAID Techniques for Dependable and High-Performance Flash Memory SSD","volume":"60","author":"Im","year":"2011","journal-title":"IEEE Trans. Comput."},{"key":"ref_31","unstructured":"Kulkarni, P., Douglis, F., LaVoie, J.D., and Tracey, J.M. (July, January 27). Redundancy elimination within large collections of files. Proceedings of the USENIX 2004 Annual Technical Conference, Boston, MA, USA."},{"key":"ref_32","doi-asserted-by":"crossref","first-page":"14","DOI":"10.1145\/2078861.2078864","article-title":"A study of practical deduplication","volume":"7","author":"Meyer","year":"2012","journal-title":"ACM Trans. Storage"},{"key":"ref_33","first-page":"120","article-title":"VL-ECC: Variable Data-Length Error Correction Code for Embedded Memory in DSP Applications","volume":"6","author":"Park","year":"2014","journal-title":"IEEE Trans. Circ. Syst. II"},{"key":"ref_34","doi-asserted-by":"crossref","unstructured":"Kim, Y., Tauras, B., Gupta, A., and Urgaonkar, B. (2009, January 20\u201325). FlashSim: A Simulator for NAND Flash-based Solid-State Drives. Proceedings of the First International Conference on Advances in System Simulation, Porto, Portugal.","DOI":"10.1109\/SIMUL.2009.17"},{"key":"ref_35","unstructured":"Matias Bjorling (2018, August 01). Extended FlashSim. GitHub. Available online: https:\/\/github.com\/MatiasBjorling\/flashsim."},{"key":"ref_36","unstructured":"Gailly, J., and Adler, M. (2018, December 01). zlib: A Massively Spiffy Yet Delicately Unobtrusive Compression Library. Available online: https:\/\/zlib.net."},{"key":"ref_37","unstructured":"Xilinx Corporation (2020, March 20). GZIP\/ZLIB\/Deflate Data Compression Core. Available online: https:\/\/www.xilinx.com\/products\/intellectual-property\/1-7aisy9.html#overview."},{"key":"ref_38","unstructured":"Intel Corporation (2020, March 20). Intelligent Storage Acceleration Library. Available online: https:\/\/software.intel.com\/en-us\/isa-l."}],"container-title":["Sensors"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/1424-8220\/20\/10\/2952\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T09:31:38Z","timestamp":1760175098000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/1424-8220\/20\/10\/2952"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,5,22]]},"references-count":38,"journal-issue":{"issue":"10","published-online":{"date-parts":[[2020,5]]}},"alternative-id":["s20102952"],"URL":"https:\/\/doi.org\/10.3390\/s20102952","relation":{},"ISSN":["1424-8220"],"issn-type":[{"type":"electronic","value":"1424-8220"}],"subject":[],"published":{"date-parts":[[2020,5,22]]}}}