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.
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Jim Cooke. 2007. Flash memory technology direction. Micron Applications Engineering Document (2007).Google Scholar
- 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 Scholar
Cross Ref
- Robert G. Gallager. 1962. Low-density parity-check codes. IRE Transactions on Information Theory 8, 1 (1962), 21--28.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- Philip Koopman. 2015. Best CRC Polynomials. https://users.ece.cmu.edu/∼koopman/crc/.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- Judea Pearl. 1988. Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference. Morgan Kaufmann. Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
Index Terms
CDF-LDPC: A New Error Correction Method for SSD to Improve the Read Performance
Recommendations
Read-Performance Optimization for Deduplication-Based Storage Systems in the Cloud
Data deduplication has been demonstrated to be an effective technique in reducing the total data transferred over the network and the storage space in cloud backup, archiving, and primary storage systems, such as VM (virtual machine) platforms. However, ...
An improved split-row threshold decoding algorithm for LDPC codes
ICC'09: Proceedings of the 2009 IEEE international conference on CommunicationsWe present an improved thresholding LDPC decoding algorithm which outperforms the Split-Row and original Split-Row Threshold decoders with a small increase in hard-ware. Simulation results show that the algorithm provides 0.27- 0.50 dB coding gain over ...
ACS: an alternate coding scheme to improve degrade read performance for SSD-based RAID5 systems
To guarantee high performance and reliability, storage systems require better devices and data redundancy schemes, e.g., SSD-based RAID5. However, failures in the large-scale storage systems are common. In order to serve requests on a failed node, the SSD-...






Comments