skip to main content
research-article

CDF-LDPC: A New Error Correction Method for SSD to Improve the Read Performance

Authors Info & Claims
Published:25 February 2017Publication History
Skip Abstract Section

Abstract

The raw error rate of a Solid-State drive (SSD) increases gradually with the increase of Program/Erase (P/E) cycles, retention time, and read cycles. Traditional approaches often use Error Correction Code (ECC) to ensure the reliability of SSDs. For error-free flash memory pages, time costs spent on ECC are redundant and make read performance suboptimal. This article presents a CRC-Detect-First LDPC (CDF-LDPC) algorithm to optimize the read performance of SSDs. The basic idea is to bypass Low-Density Parity-Check (LDPC) decoding of error-free flash memory pages, which can be found using a Cyclic Redundancy Check (CRC) code. Thus, error-free pages can be read directly without sacrificing the reliability of SSDs. Experiment results show that the read performance is improved more than 50% compared with traditional approaches. In particular, when idle time of benchmarks and SSD parallelism are exploited, CDF-LDPC can be performed more efficiently. In this case, the read performance of SSDs can be improved up to about 80% compared to that of the state-of-art.

References

  1. Nitin Agrawal, Vijayan Prabhakaran, Ted Wobber, John D. Davis, Mark S. Manasse, and Rina Panigrahy. 2008. Design tradeoffs for SSD performance. In Proceedings of the USENIX Annual Technical Conference. 57--70. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. John S. Bucy, Jiri Schindler, Steven W. Schlosser, and Gregory R. Ganger. 2008. The DiskSim simulation environment version 4.0 reference manual (cmu-pdl-08-101). Parallel Data Laboratory (2008).Google ScholarGoogle Scholar
  3. Yu Cai, Erich F. Haratsch, Mark McCartney, and Ken Mai. 2011. FPGA-based solid-state drive prototyping platform. In Proceedings of the 19th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM). 101--104. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Yu Cai, Erich F. Haratsch, Onur Mutlu, and Ken Mai. 2012. Error patterns in MLC NAND flash memory: Measurement, characterization, and analysis. In Proceedings of the Design, Automation & Test in Europe Conference 8 Exhibition (DATE). 521--526. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Yu Cai, Yixin Luo, Saugata Ghose, and Onur 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 (DSN). 438--449. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Yu Cai, Onur Mutlu, Erich F. Haratsch, and Ken Mai. 2013. Program interference in MLC NAND flash memory: Characterization, modeling, and mitigation. In Proceedings of the 31st International Conference on Computer Design (ICCD). 123--130.Google ScholarGoogle ScholarCross RefCross Ref
  7. Feng Chen, Rubao Lee, and Xiaodong Zhang. 2011. Essential roles of exploiting internal parallelism of flash memory based solid state drives in high-speed data processing. In Proceedings of the 17th International Symposium on High Performance Computer Architecture (HPCA). 266--277. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Hyojin Choi, Wei Liu, and Wonyong Sung. 2010. VLSI implementation of BCH error correction for multilevel cell NAND flash memory. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 18, 5 (2010), 843--847. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Jim Cooke. 2007. Flash memory technology direction. Micron Applications Engineering Document (2007).Google ScholarGoogle Scholar
  10. Koichi Fukuda, Yuui Shimizu, Kazumi Amemiya, Masahiro Kamoshida, and Chenming Hu. 2007. Random telegraph noise in flash memories-model and technology scaling. In Proceedings of the IEEE International Electron Devices Meeting (IEDM). 169--172.Google ScholarGoogle ScholarCross RefCross Ref
  11. Robert G. Gallager. 1962. Low-density parity-check codes. IRE Transactions on Information Theory 8, 1 (1962), 21--28.Google ScholarGoogle Scholar
  12. Laura M. Grupp, Adrian M. Caulfield, Joel Coburn, Steven Swanson, Eitan Yaakobi, Paul H. Siegel, and Jack K. Wolf. 2009. Characterizing flash memory: Anomalies, observations, and applications. In Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO). 24--33. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Yang Hu, Hong Jiang, Dan Feng, Lei Tian, Hao Luo, and Shuping Zhang. 2011. Performance impact and interplay of SSD parallelism through advanced commands, allocation strategy and data granularity. In Proceedings of the International Conference on Supercomputing (ICS). 96--107. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Ping Huang, Pradeep Subedi, Xubin He, Shuang He, and Ke Zhou. 2014. FlexECC: Partially relaxing ECC of MLC SSD for better cache performance. In Proceedings of the 2014 USENIX Conference on USENIX Annual Technical Conference (ATC). 489--500. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Myoungsoo Jung and Mahmut T. Kandemir. 2014. Sprinkler: Maximizing resource utilization in many-chip solid state disks. In Proceedings of the 20th International Symposium on High Performance Computer Architecture (HPCA). 524--535.Google ScholarGoogle Scholar
  16. Myoungsoo Jung, Ellis H. Wilson III, and Mahmut Kandemir. 2012. Physically addressed queueing (PAQ): Improving parallelism in solid state disks. In Proceedings of the International Symposium on Computer Architecture (ISCA). 404--415. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Philip Koopman. 2015. Best CRC Polynomials. https://users.ece.cmu.edu/∼koopman/crc/.Google ScholarGoogle Scholar
  18. Philip Koopman and Tridib Chakravarty. 2004. Cyclic redundancy code (CRC) polynomial selection for embedded networks. In Proceedings of the International Conference on Dependable Systems and Networks (DSN). 145--154. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Jae-Duk Lee, Jeong-Hyuk Choi, Donggun Park, and Kinam Kim. 2003. Data retention characteristics of sub-100 nm NAND flash memory cells. IEEE Electron Device Letters 24, 12 (2003), 748--750.Google ScholarGoogle ScholarCross RefCross Ref
  20. Jae-Duk Lee, Sung-Hoi Hur, and Jung-Dal Choi. 2002. Effects of floating-gate interference on NAND flash memory cell operation. IEEE Electron Device Letters 23, 5 (2002), 264--266.Google ScholarGoogle ScholarCross RefCross Ref
  21. David J. C. MacKay and Radford M. Neal. 1996. Near Shannon limit performance of low density parity check codes. IEEE Electronics Letters 32, 18 (1996), 1645--1646.Google ScholarGoogle ScholarCross RefCross Ref
  22. Neal Mielke, Hanmant P. Belgal, Albert Fazio, Qingru Meng, and Nick Righos. 2006. Recovery effects in the distributed cycling of flash memories. In Proceedings of the IEEE International Reliability Physics Symposium. 29--35.Google ScholarGoogle ScholarCross RefCross Ref
  23. Christian Monzio Compagnoni, Michele Ghidotti, Andrea L. Lacaita, Alessandro S. Spinelli, and Angelo Visconti. 2009. Random telegraph noise effect on the programmed threshold-voltage distribution of flash memories. IEEE Electron Device Letters, 30, 9 (2009), 984--986.Google ScholarGoogle ScholarCross RefCross Ref
  24. Yangyang Pan, Guiqiang Dong, Ningde Xie, and Tong Zhang. 2013. Using Quasi-EZ-NAND flash memory to build large-capacity solid-state drives in computing systems. IEEE Transactions on Computers 62, 5 (2013), 1051--1057. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Judea Pearl. 1988. Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference. Morgan Kaufmann. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Shigui Qi, Dan Feng, and Jingning Liu. 2014. Optimal voltage signal sensing of NAND flash memory for LDPC code. In Proceedings of the IEEE Workshop on Signal Processing Systems (SiPS). 145--150.Google ScholarGoogle Scholar
  27. Shigui Qi, Dan Feng, Nan Su, Wenguo Liu, and Jingning Liu. 2015. A new solution based on multi-rate LDPC for flash memory to reduce ECC redundancy. In Proceedings of IEEE Trustcom/BigDataSE/ISPA. 918--923. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Shuhei Tanakamaru, Chinglin Hung, Atsushi Esumi, Mitsuyoshi Ito, Kai Li, and Ken 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 Digest of Technical Papers (ISSCC). 204--206.Google ScholarGoogle ScholarCross RefCross Ref
  29. Guanying Wu, Xubin He, Ningde Xie, and Tong Zhang. 2010. DiffECC: Improving SSD read performance using differentiated error correction coding schemes. In Proceedings of the IEEE International Symposium on Modeling, Analysis 8 Simulation of Computer and Telecommunication Systems (MASCOTS). 57--66. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Qi Wu and Tong Zhang. 2014. OFWAR: Reducing SSD response time using on-demand fast-write-and-rewrite. IEEE Transactions on Computers 63, 10 (2014), 2500--2512. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Kai Zhao, Kalyana S. Venkataraman, Xuebin Zhang, Jiangpeng Li, Ning Zheng, and Tong Zhang. 2014b. Over-clocked SSD: Safely running beyond flash memory chip I/O clock specs. In Proceedings of the 20th International Symposium on High Performance Computer Architecture (HPCA). 536--545.Google ScholarGoogle ScholarCross RefCross Ref
  32. Kai Zhao, Wenzhe Zhao, Hongbin Sun, Tong Zhang, Xiaodong Zhang, and Nanning Zheng. 2013. LDPC-in-SSD: Making advanced error correction codes work effectively in solid state drives. In Proceedings of the 9th USENIX Conference on File and Stroage Technologies (FAST). 243--256. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Wenzhe Zhao, Hongbin Sun, Minjie Lv, Guiqiang Dong, Nanning Zheng, and Tong Zhang. 2014a. Improving min-sum LDPC decoding throughput by exploiting intra-cell bit error characteristic in MLC NAND flash memory. In Proceedings of the 30th Symposium on Mass Storage Systems and Technologies (MSST). 1--6.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. CDF-LDPC: A New Error Correction Method for SSD to Improve the Read Performance

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!