Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Enhancing Flash Memory Reliability by Jointly Considering Write-back Pattern and Block Endurance

Published: 22 August 2018 Publication History

Abstract

Owing to high cell density caused by the advanced manufacturing process, the reliability of flash drives turns out to be rather challenging in flash system designs. To enhance the reliability of flash drives, error-correcting code (ECC) has been widely utilized in flash drives to correct error bits during programming/reading data to/from flash drives. Although ECC can effectively enhance the reliability of flash drives by correcting error bits, the capability of ECC would degrade while the program/erase (P/E) cycles of flash blocks is increased. Finally, ECC could not correct a flash page, because a flash page contains too many error bits. As a result, reducing error bits is an effective solution to further improve the reliability of flash drives when a specific ECC is adopted in the flash drive. This work focuses on how to reduce the probability of producing error bits in a flash page. Thus, we propose a pattern-aware write strategy for flash reliability enhancement. The proposed write strategy considers both the P/E cycle of blocks and the pattern of written data while a flash block is allocated to store the written data. Since the proposed write strategy allocates young blocks (respectively, old blocks) for hot data (respectively, cold data) and flips the bit pattern of the written data to the appropriate bit pattern, the proposed strategy can effectively improve the reliability of flash drives. The experimental results show that the proposed strategy can reduce the number of error pages by up to 50%, compared with the well-known DFTL solution. Moreover, the proposed strategy is orthogonal with all ECC mechanisms so that the reliability of the flash drives with ECC mechanisms can be further improved by the proposed strategy.

References

[1]
Y. Cai, S. Ghose, E. F. Haratsch, Y. Luo, and O. Mutlu. 2017. Error characterization, mitigation, and recovery in flash-memory-based solid-state drives. Proc. IEEE 105, 9 (Sept. 2017), 1666--1704.
[2]
Y. Cai, S. Ghose, Y. Luo, K. Mai, O. Mutlu, and E. F. Haratsch. 2017. Vulnerabilities in MLC NAND flash memory programming: Experimental analysis, exploits, and mitigation techniques. In Proceedings of the IEEE International Symposium on High Performance Computer Architecture (HPCA’17). 49--60.
[3]
Y. Cai, E. F. Haratsch, O. Mutlu, and K. Mai. 2012. Error patterns in MLC NAND flash memory: Measurement, characterization, and analysis. In Proceedings of the Design, Automation Test in Europe Conference Exhibition (DATE’12). 521--526.
[4]
Y. Cai, Y. Luo, S. Ghose, and O. Mutlu. 2015. Read disturb errors in MLC NAND flash memory: Characterization, mitigation, and recovery. In Proceedings of the 45th Annual IEEE/IFIP International Conference on Dependable Systems and Networks. 438--449.
[5]
Y. Cai, Y. Luo, E. F. Haratsch, K. Mai, and O. Mutlu. 2015. Data retention in MLC NAND flash memory: Characterization, optimization, and recovery. In Proceedings of the IEEE 21st International Symposium on High Performance Computer Architecture (HPCA’15). 551--563.
[6]
Y. Cai, O. Mutlu, E. F. Haratsch, and K. Mai. 2013. Program interference in MLC NAND flash memory: Characterization, modeling, and mitigation. In Proceedings of the IEEE 31st International Conference on Computer Design (ICCD’13). 123--130.
[7]
Y. Cai, G. Yalcin, O. Mutlu, E. F. Haratsch, A. Cristal, O. S. Unsal, and K. Mai. 2012. Flash correct-and-refresh: Retention-aware error management for increased flash memory lifetime. In Proceedings of the IEEE 30th International Conference on Computer Design (ICCD’12). 94--101.
[8]
Yu Cai, Gulay Yalcin, Onur Mutlu, Erich F. Haratsch, Osman Unsal, Adrian Cristal, and Ken Mai. 2014. Neighbor-cell assisted error correction for MLC NAND flash memories. In Proceedings of the ACM International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS’14). ACM, New York, NY, 491--504.
[9]
Li-Pin Chang. 2007. On efficient wear leveling for large-scale flash-memory storage systems. In Proceedings of the ACM Symposium on Applied Computing (SAC’07). ACM, New York, NY, 1126--1130.
[10]
Y. H. Chang, J. W. Hsieh, and T. W. Kuo. 2010. Improving flash wear-leveling by proactively moving static data. IEEE Trans. Comput. 59, 1 (Jan. 2010), 53--65.
[11]
Tseng-Yi Chen, Yuan-Hao Chang, Yuan-Hung Kuan, Ming-Chang Yang, Yu-Ming Chang, and Pi-Cheng Hsiu. 2017. A pattern-aware write strategy to enhance the reliability of flash-memory storage systems. In Proceedings of the Symposium on Applied Computing (SAC’17). 1460--1466.
[12]
H. Choi, W. Liu, and W. Sung. 2010. VLSI implementation of BCH error correction for multilevel cell NAND flash memory. IEEE Trans. Very Large Scale Integr. Syst. 18, 5 (May 2010), 843--847.
[13]
G. Dong, N. Xie, and T. Zhang. 2011. On the use of soft-decision error-correction codes in nand flash memory. IEEE Trans. Circ. Syst. I: Reg. Papers 58, 2 (Feb. 2011), 429--439.
[14]
Eran Gal and Sivan Toledo. 2005. Algorithms and data structures for flash memories. ACM Comput. Survey 37, 2 (June 2005), 138--163.
[15]
J. Guo, D. Wang, Z. Shao, and Y. Chen. 2017. Data-pattern-aware error prevention technique to improve system reliability. IEEE Trans. Very Large Scale Integr. Syst. 25, 4 (Apr. 2017), 1433--1443.
[16]
Aayush Gupta, Youngjae Kim, and Bhuvan Urgaonkar. 2009. DFTL: A flash translation layer employing demand-based selective caching of page-level address mappings. In Proceedings of the Architectural Support for Programming Languages and Operating Systems (ASPLOS’09).
[17]
K. Ha, J. Jeong, and J. Kim. 2016. An integrated approach for managing read disturbs in high-density NAND flash memory. IEEE Trans. Comput.-Aided Design Integr. Circ. Syst. 35, 7 (July 2016), 1079--1091.
[18]
K. C. Ho, P. C. Fang, H. P. Li, C. Y. M. Wang, and H. C. Chang. 2013. A 45nm 6b/cell charge-trapping flash memory using LDPC-based ECC and drift-immune soft-sensing engine. In Proceedings of the IEEE International Solid-State Circuits Conference Digest of Technical Papers. 222--223.
[19]
Ping Huang, Guanying Wu, Xubin He, and Weijun Xiao. 2014. An aggressive worn-out flash block management scheme to alleviate SSD performance degradation. In Proceedings of the 9th European Conference on Computer Systems (EuroSys’14). ACM, New York, NY, Article 22, 14 pages.
[20]
A. N. Jacobvitz, R. Calderbank, and D. J. Sorin. 2013. Coset coding to extend the lifetime of memory. In Proceedings of the IEEE 19th International Symposium on High Performance Computer Architecture (HPCA’13). 222--233.
[21]
D. Lee, I. J. Chang, S. Y. Yoon, J. Jang, D. S. Jang, W. G. Hahn, J. Y. Park, D. G. Kim, C. Yoon, B. S. Lim, B. J. Min, S. W. Yun, J. S. Lee, I. H. Park, K. R. Kim, J. Y. Yun, Y. Kim, Y. S. Cho, K. M. Kang, S. H. Joo, J. Y. Chun, J. N. Im, S. Kwon, S. Ham, A. Park, J. D. Yu, N. H. Lee, T. S. Lee, M. Kim, H. Kim, K. W. Song, B. G. Jeon, K. Choi, J. M. Han, K. H. Kyung, Y. H. Lim, and Y. H. Jun. 2012. A 64Gb 533Mb/s DDR interface MLC NAND flash in sub-20nm technology. In Proceedings of the IEEE International Solid-State Circuits Conference. 430--432.
[22]
S. Li and T. Zhang. 2010. Improving multi-level NAND flash memory storage reliability using concatenated BCH-TCM coding. IEEE Trans. Very Large Scale Integr. Syst. 18, 10 (Oct 2010), 1412--1420.
[23]
Y. Li, A. Jiang, and J. Bruck. 2014. Error correction and partial information rewriting for flash memories. In Proceedings of the IEEE International Symposium on Information Theory. 2087--2091.
[24]
Chun-Yi Liu, Yu-Ming Chang, and Yuan-Hao Chang. 2015. Read leveling for flash storage systems. In Proceedings of the 8th ACM International Systems and Storage Conference (SYSTOR’15). ACM, New York, NY, Article 5, 10 pages.
[25]
Y. Luo, Y. Cai, S. Ghose, J. Choi, and O. Mutlu. 2015. WARM: Improving NAND flash memory lifetime with write-hotness aware retention management. In Proceedings of the 31st Symposium on Mass Storage Systems and Technologies (MSST’15). 1--14.
[26]
S. Moon and A. L. N. Reddy. 2012. Write amplification due to ECC on flash memory or leave those bit errors alone. In Proceedings of the IEEE 28th Symposium on Mass Storage Systems and Technologies (MSST’12). 1--6.
[27]
Samsung. 2015. Samsung V-NAND@ONLINE, Retrieved from http://www.samsung.com/semiconductor/products/flash-storage/v-nand/.
[28]
David Sheldon and Frank Vahid. 2008. Don’T forget memories: A case study redesigning a pattern counting ASIC circuit for FPGAs. In Proceedings of the 6th IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS’08). ACM, New York, NY, 155--160.
[29]
S. Tanakamaru, M. Doi, and K. Takeuchi. 2014. NAND flash memory/ReRAM hybrid unified solid-state-storage architecture. IEEE Trans. Circ. Syst. I: Reg. Papers 61, 4 (Apr. 2014), 1119--1132.
[30]
S. Tanakamaru, C. Hung, A. Esumi, M. Ito, K. Li, and K. Takeuchi. 2011. 95%-lower-BER 43%-lower-power intelligent solid-state drive (SSD) with asymmetric coding and stripe pattern elimination algorithm. In Proceedings of the IEEE International Solid-State Circuits Conference. 204--206.
[31]
W. Wang, T. Xie, A. Khoueir, and Y. Kim. 2015. Reducing MLC flash memory retention errors through programming initial step only. In Proceedings of the 31st Symposium on Mass Storage Systems and Technologies (MSST’15). 1--8.
[32]
Y. Wang, W. Wang, T. Xie, W. Pan, Y. Gao, and Y. Ouyang. 2014. CR5M: A mirroring-powered channel-RAID5 architecture for an SSD. In Proceedings of the 30th Symposium on Mass Storage Systems and Technologies (MSST’14). 1--10.
[33]
Ming-Chang Yang, Yuan-Hao Chang, Che-Wei Tsao, and Po-Chun Huang. 2013. New ERA: New efficient reliability-aware wear leveling for endurance enhancement of flash storage devices. In Proceedings of the 50th ACM/EDAC/IEEE Design Automation Conference (DAC’13). 1--6.
[34]
Meng Zhang, Fei Wu, Xubin He, P. Huang, Shunzhuo Wang, and Changsheng Xie. 2016. REAL: A retention error aware LDPC decoding scheme to improve NAND flash read performance. In Proceedings of the 32nd Symposium on Mass Storage Systems and Technologies (MSST’16). 1--13.
[35]
H. Zhou, M. Schwartz, A. A. Jiang, and J. Bruck. 2015. Systematic error-correcting codes for rank modulation. IEEE Trans. Info. Theory 61, 1 (Jan 2015), 17--32.

Cited By

View all
  • (2024)Are Superpages Super-fast? Distilling Flash Blocks to Unify Flash Pages of a Superpage in an SSD2024 IEEE International Symposium on High-Performance Computer Architecture (HPCA)10.1109/HPCA57654.2024.00055(630-642)Online publication date: 2-Mar-2024
  • (2022)Resolving the Reliability Issues of Open Blocks for 3-D NAND Flash: Observations and StrategiesIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2022.319748741:11(4076-4087)Online publication date: 1-Nov-2022
  • (2020)Shift-Limited Sort: Optimizing Sorting Performance on Skyrmion Memory-Based SystemsIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2020.301288039:11(4115-4128)Online publication date: Nov-2020
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Design Automation of Electronic Systems
ACM Transactions on Design Automation of Electronic Systems  Volume 23, Issue 5
September 2018
310 pages
ISSN:1084-4309
EISSN:1557-7309
DOI:10.1145/3268934
  • Editor:
  • Naehyuck Chang
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Journal Family

Publication History

Published: 22 August 2018
Accepted: 01 May 2018
Revised: 01 May 2018
Received: 01 October 2017
Published in TODAES Volume 23, Issue 5

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Flash reliability
  2. NAND flash
  3. bit error
  4. bit-flip
  5. multi-level cell

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)8
  • Downloads (Last 6 weeks)0
Reflects downloads up to 28 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Are Superpages Super-fast? Distilling Flash Blocks to Unify Flash Pages of a Superpage in an SSD2024 IEEE International Symposium on High-Performance Computer Architecture (HPCA)10.1109/HPCA57654.2024.00055(630-642)Online publication date: 2-Mar-2024
  • (2022)Resolving the Reliability Issues of Open Blocks for 3-D NAND Flash: Observations and StrategiesIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2022.319748741:11(4076-4087)Online publication date: 1-Nov-2022
  • (2020)Shift-Limited Sort: Optimizing Sorting Performance on Skyrmion Memory-Based SystemsIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2020.301288039:11(4115-4128)Online publication date: Nov-2020
  • (2020)Temperature-Aware Persistent Data Management for LSM-Tree on 3D NAND Flash MemoryIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2020.2982623(1-1)Online publication date: 2020

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media