簡易檢索 / 詳目顯示

研究生: 張馨宇
Chang, Hsin-Yu
論文名稱: 應用於快閃記憶體之串接張量乘積碼及軟式決策BCH解碼器
Concatenated Tensor Product Code and Soft-Decision BCH Decoder for NAND Flash Memory
指導教授: 謝明得
Shieh, Ming-Der
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 電機工程學系
Department of Electrical Engineering
論文出版年: 2017
畢業學年度: 105
語文別: 英文
論文頁數: 97
中文關鍵詞: NAND型快閃記憶體資料可靠度錯誤更正碼軟式決策Chase演算法BCH解碼張量乘積碼
外文關鍵詞: NAND flash memory, data reliability, Eror Correction Codes, soft-decision, Chase algorithm, BCH decoding, Tensor product code
相關次數: 點閱:101下載:10
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 由於NAND型快閃記憶體高密度、高通量及低功率的特性,快閃記憶體已被廣泛應用在儲存裝置。然而,隨著快閃記憶體製程的持續微縮和多階層儲存單元技術之發展,如何確保資料的可靠度成為重要的探討議題。本篇論文主要是針對預防及修正錯誤的機制研究。
    本論文針對兩個主要的研究主題:快閃記憶體訊號處理及錯誤更正碼。首先針對快閃記憶體的訊號處理,我們提出評估錯誤數量之機制來減少錯誤更正碼解碼失敗的次數。此外,我們延用鄰接記憶單元輔助修正錯誤機制之架構,修正由於寫入操作所造成的記憶單元間干擾之誤判錯誤,並且獲取特定記憶單元的軟式資訊。
    針對錯誤更正碼應用之探討,本論文提出連結張量乘積碼及軟式決策BCH解碼器。為了克服硬式決策BCH解碼器的修正能力極限,可採用Chase類型演算法利用最不可靠位元之集合來增進錯誤修正能力。然而,由於快閃記憶體本身的限制,硬式決策讀取的輸出造成獲取軟式資訊的困難。雖然多次感測技術的應用能取得軟式資訊,但是多次的感測和資料輸出操作也造成大量的延遲和能量消耗。因此,我們提出利用張量乘積碼當作內碼,從快閃記憶體之硬式決策輸出萃取最不可靠位元的集合,提供給作為外碼之軟式決策錯誤更正碼。
    在不同層面評估下,本論文所提出的(8624, 8192)連結張量乘積碼及軟式決策BCH解碼器可以達到於每一千位元組資料中修正40個錯誤位元的能力。若與2Y奈米MLC快閃記憶體公稱壽命比較,有大約5.67倍的壽命提升,若和使用全域優化讀取參考電壓判決資料的記憶體之壽命比較,則有1.17倍的壽命幅度成長,其代價為大約2.81倍的(8528, 8192, 24) BCH解碼器之硬體面積。所提出的張量乘積碼與多次感測技術比較則可省下至少237.9 微秒至多672微秒的感測延遲,並且減少至少1.75 nJ/byte至多5.06 nJ/byte能量消耗。

    NAND flash memory has been widely used for data storage due to its high density, high throughput, and low power. However, data reliability becomes a serious issue with the continued scaling of NAND flash and multi-level cell technology. As a result, the mechanisms to prevent or correct errors are discussed in this dissertation.
    We investigated two major research topics: flash memory signal processing and error correction codes. For the first topic, we proposed an approach that can be applied to estimate error numbers to reduce the decoding failure of error correction codes. Furthermore, we adopted the architecture of neighbor-assisted correction mechanism to correct the misread errors due to cell-to-cell program interference and obtain the soft information for specific memory cells.
    For the second topic, a concatenated tensor product code and soft-decision BCH decoder is proposed. To overcome the limit of hard-decision BCH decoder, the Chase-typed BCH decoder is employed to enhance the error correction capability with the set of the least reliable bits. However, the fact that NAND flash memories only provide hard decision output causes the problem of obtaining soft information. The multiple sensing scheme was proposed to solve this problem, but it increase the significantly latency and energy consumption of sensing and data output operations. Therefore, we proposed to use the tensor product code as the inner code to extract the least reliable bits from hard decision outputs of NAND flash memory for the soft-decision outer code.
    From different aspects of evaluation, the proposed (8624, 8192) concatenated tensor product code and soft-decision BCH decoder can correct 40 error bits per 1k-Byte data, reach about 5.67 times lifetime of 2Y-nm MLC flash memory compared with the nominal lifetime, and increase 1.17 times lifetime compared with the memory using overall read reference voltage to read out data. The overhead is around 2.81 times the area of (8528,8192,24) BCH decoder. The proposed tensor product codes can save the latency by at least 237.9 μs up to 672 μs compared with the multiple sensing scheme, and reduce at least 1.75 nJ/byte up to 5.06 nJ/byte about energy consumption as well.

    摘要 i Abstract iii 誌謝 v Table of Contents vi List of Figures ix List of Tables xiii Chapter 1 Introduction 1 1.1 Motivation 1 1.2 Thesis Contribution 3 1.3 Thesis Organization 4 Chapter 2 Backgrounds 6 2.1 Basics of NAND Flash Memory 6 2.1.1 Basic Operations 8 2.1.2 NAND Device Organization 12 2.2 Data Reliability Issues 13 2.2.1 Program/Erase Cycle and Endurance 14 2.2.2 Cell-to-Cell Interference 16 2.2.3 Data Retention Error 17 2.3 BCH Codes for NAND flash memory 18 2.3.1 BCH Codes Construction 19 2.3.2 Decoding of BCH Codes 23 Chapter 3 Proposed Flash Signal Processing and Error Correction Coding 32 3.1 Flash Signal Processing 33 3.1.1 Error Number Estimation 34 3.1.2 Modified Neighbor-cell Assisted Error Correction 41 3.2 Concatenated Tensor Product Code and Soft-Decision BCH Decoder 46 3.2.1 Proposed Tensor Product Code for Chase-Typed Decoder 47 3.2.2 Highly Parallel and Efficient One-Pass Chase Type Soft-Decision BCH Decoder 57 3.3 System Architecture Overview 64 Chapter 4 Simulation Results and Complexity Analysis 66 4.1 Modelling of NAND Flash Memory Channel 66 4.1.1 P/E Cycling Noise Model 68 4.1.2 Cell-to-cell Program Interference Noise Model 70 4.2 Performance and Lifetime Evaluation 72 4.3 Latency and Energy Consumption Analysis 76 4.2.1 Flash Memory Read Latency and Energy Consumption 76 4.2.2 Latency of Error Correction System 80 4.4 Hardware Requirement and Complexity Analysis 83 4.3.1 Implementation of Finite Field Arithmetic 83 4.3.2 Hardware Requirement of Error Correct System and Complexity Comparison 87 Chapter 5 Conclusions and Future Work 91 5.1 Thesis Conclusion 91 5.2 Directions for Future Work 92 References 93

    [1]A. Maislos et al., “A New Era in Embedded Flash Memory”, in Proc. of Flash Memory Summit, 2011.
    [2]A. Hocquenghem, “Codes Corecteurs d’Erreurs,” Chiffres, vol. 2, pp. 147–156, 1959.
    [3]C. Marelli Rino, M. Luca, “Inside NAND Flash Memories,” Springer, New York, 2010.
    [4]D. Chase, “A Class of Algorithms for Decoding Block Codes with Channel Measurement Information,” IEEE Trans. Inform. Theory, vol. IT-18, pp. 170–182, Jan. 1972.
    [5]D. V. Sarwate and N. R. Shanbhag, " High-Speed Architectures for Reed – Solomon Decoders," IEEE Trans. on Very Large Scale Integration, vol. 9, no. 5, pp. 641-655, Oct. 2001.
    [6]D. Kim, J. Choi, and J. Ha, “On the Soft Information Extraction from Hard–Decision Outputs in MLC NAND Flash Memory,” GLOBECOM IEEE Global Telecommunications Conference, pp. 3208–3213, 2012.
    [7]E. Berlekamp, “Algebraic Coding Theory,” New York: McGraw–Hill, 1968.
    [8]E. Yeo, “An LDPC–Enabled Flash Controller in 40 nm CMOS,” in Proc. of Flash Memory Summit, Aug. 2012.
    [9]G. Forney, “Generalized Minimum Distance Decoding,” IEEE Trans. Inform. Theory, vol. 12, pp. 125–131, Apr. 1966.
    [10]G. Dong, N. Xie, and T. Zhang, “On the Use of Soft–Decision Error–Correction Codes in NAND Flash Memory,” IEEE Trans. Circuits Syst. I Regul. Pap., vol. 58, no. 2, pp. 429–439, 2011.
    [11]H. Choi, W. Liu, and W. Sung, “VLSI Implementation of BCH Error Correction for Multi-Level Cell NAND Flash Memory”, IEEE Transactions on VLSI Syst., vol. 18, no. 5, pp. 843–847, May.2010.
    [12]J. Wolf, “On Codes Derivable from the Tensor Product of Check Matrices,” Information Theory, IEEE Transactions, vol. 11, no. 2, pp. 281–284, 1965.
    [13]J. Massey, “Shift-Register Synthesis and BCH Decoding,” IEEE Trans. Inf. Theory, vol. IT-15, no. 1, pp. 122–127, Jan. 1969.
    [14]J. Lee, S. Hur, and J. Choi, “Effects of Floating-Gate Interference on NAND Flash Memory Cell Operation,” IEEE EDL, vol. 23, no. 5, pp. 264–266, 2002.
    [15]J. Wolf, “An Introduction to Tensor Product Codes and Applications to Digital Storage Systems,” in Information Theory Workshop, 2006. ITW ’06 Chengdu. IEEE, pp. 6–10, 2006.
    [16]J. Kim and W. Sung, “Low Energy Error Correction of NAND Flash Memory through Soft–Decision Decoding,” EURASIP J. Adv. Signal Process., vol. 2012, no. 1, pp. 195–206, 2012.
    [17]K. Lenzlinger and E. snow, “Fowler-Nordheim Tunneling into Thermally Grown SiO2,” IEDM Tech. Dig., vol. 40, pp. 273–283, 1969.
    [18]K. Suh et al., “A 3.3V 32Mb NAND Flash Memory with Incremental Step Pulse Programming,” IEEE J. Solid-State Circuits, vol. 30, no. 11, pp. 1149–1156, Nov. 1995.
    [19]K. Seth, K. N. Viswajith, S. Srinivasan, and V. Kamakoti, " Ultra Folded High-Speed Architectures for Reed-Solomon Decoders, " in Proc. Int. Conf VLSI Design, pp. 517–520, Jan. 2006.
    [20]K. Park et al. “A Zeroing Cell-to-Cell Interference Page Architecture with Temporary LSB Storing and Parallel MSB Program Scheme for MLC NAND Flash Memories”, JSSC, vol. 43, no. 4, pp. 919–928, 2008.
    [21]M. T. Shih, “VLSI design of inverse-free Berlekamp-Massey algorithm,” IEE Proceedings E-Computers and Digital Techniques, vol. 138, no. 5, pp. 295–298, 1991.
    [22]N. Kamiya, “On Algebraic Soft-Decision Decoding Algorithms for BCH Codes,” IEEE Trans. Info. Theory, vol. 47, no. 1, pp. 45-58, Jan. 2001.
    [23]N. Mielke et al., “Bit Error Rate in NAND Flash Memories,” Irps, pp. 9–19, 2008.
    [24]O. C. Decoding, N. Zheng, S. Member, and P. Mazumder, “An Efficient Eligible Error Locator Polynomial Searching Algorithm and Hardware Architecture for One–Pass Chase Decoding of BCH Codes,” IEEE Transactions on Circuits and Systems II: Express Briefs, vol. 64, no. 5, pp. 580–584, 2017.
    [25]R. Bose and D. Ray-Chaudhuri, “On a Class of Error Correcting Binary Group Codes,” Inform. Control, vol. 2, pp. 68–69, Mar. 1960.
    [26]R. Chien, “Cyclic Decoding Procedure for the Bose-Chaudhuri-Hocquenghem Codes,” IEEE Trans. Inform. Theory, vol. IT-10, pp. 357–363, Oct. 1964.
    [27]S. Tanakamaru, Y. Yanagihara, and K. Takeuchi, “25.2 Over-10x-Extended-Lifetime 76%-Reduced-Error Solid-State Drives (SSDs) with Error-Prediction LDPC Architecture and Error-Recovery Scheme,” in IEEE International Solid-State Circuits Conference (ISSCC), pp. 424–426, Feb. 2012.
    [28]T. K. Moon, “Error control coding”, John Wiley & Sons, Inc., 2005.
    [29]W. W. Peterson, “Encoding and Error–Correction Procedures for the Bose-Chaudhuri Codes,” IRE Trans. Inform. Theory, vol. IT-6, pp. 459–470, Sept. 1960.
    [30]W. Liu, J. Rho, and W. Sung, "Low-Power High-Throughput BCH Error Correction VLSI design for Multi-Level Cell NAND Flash Memories," Signal Processing Systems Design and Implementation, 2006. SIPS'06. IEEE Workshop on. IEEE, 2006.
    [31]X. Zhang, J. Zhu, and Y. Wu, “Efficient One-Pass Chase Soft-Decision BCH Decoder for Multi-Level Cell NAND Flash Memory,” Midwest Symposium on Circuits and Systems, 2011.
    [32]X. Xiong and H. Fan, “GF(2^n) Bit-Parallel Squarer Using Generalized Polynomial Basis For a New Class of Irreducible Pentanomials,” Electronics Letters, pp. 655-657, 2014.
    [33]X. Zhang, C. Western, and W. Reserve, “Finite Field Arithmetic and Implementations.”
    [34]X., Zhang, “VLSI Architectures for Modern Error-Correcting Codes,” Taylor & Francis Group, LLC, 2016.
    [35]Y. Lin, H. Chang, and C. Lee, “An Improved Soft BCH Decoder with One Extra Error Compensation,” in Proc. ISCAS, no. 1, pp. 3941–3944, May 2010.
    [36]Y. Cai, E. F. Haratsch, O. Mutlu, and K. Mai, “Error Patterns in MLC NAND Flash Memory: Measurement, Characterization, and Analysis,” Des. Autom. Test Eur., no. MLC, pp. 521–526, 2012.
    [37]Y. Cai et al., “Flash Correct–and–Refresh: Retention–Aware Error Management for Increased Flash Memory Lifetime,” Proceedings - IEEE International Conference on Computer Design: VLSI in Computers and Processors, (Iccd), pp. 94–101, 2012.
    [38]Y. Lee, H. Yoo, I. Yoo, and I. C. Park, “6.4Gb/s Multi-Threaded BCH Encoder and Decoder for Multi-Channel SSD Controllers,” in 2012 IEEE International Solid-State Circuits Conference Digest of Technical Papers (ISSCC), vol. 58, no. 8, pp. 426-428, Feb. 2012.
    [39]Y. Wu, “Fast Chase Decoding Algorithms and Architectures for Reed-Solomon Codes,” IEEE Trans. Inform. Theory, vol. 58, no. 1, pp. 109–129, Jan. 2012.
    [40]Y. Cai, E. Haratsch, O. Mutlu, and K. Mai, “Threshold Voltage Distribution in MLC NAND Flash Memory: Characterization, Analysis, and Modeling,” Design, Automation, and Test in Europe (DATE), pp. 1285–1290, 2013.
    [41]Y. Cai, O. Mutlu, E. F. Haratsch, and K. Mai, “Program Interference in MLC NAND Flash Memory: Characterization, Modeling, and Mitigation,” 2013 IEEE 31st International Conference on Computer Design, ICCD, pp. 123–130, 2013.
    [42]Y. Cai et al., “Neighbor–Cell Assisted Error Correction for MLC NAND Flash Memories,” The 2014 ACM International Conference on Measurement and Modeling of Computer Systems - SIGMETRICS’14, pp. 491–504, 2014.
    [43]“64Gb, 128Gb, 256Gb, 512Gb Asynchronous/Synchronous NAND Features,” Micron Technology Inc., 2010.
    [44]“Intel ® Solid-State Drive 530 Series,” Intel Technology, October 2013.

    下載圖示 校內:2022-08-29公開
    校外:2022-08-29公開
    QR CODE