簡易檢索 / 詳目顯示

研究生: 陳昊揚
Hao-Yang Chen
論文名稱: 適應性錯誤更正碼快取技術以提升三維快閃記憶體之可依賴性
Adaptive ECC Caching Techniques for Dependability Enhancement of 3D Flash Memories
指導教授: 呂學坤
Shyue-Kung Lu
口試委員: 呂學坤
Shyue-Kung Lu
李進福
Jin-Fu Li
黃樹林
Shu-Lin Hwang
王乃堅
Nai-Jian Wang
許鈞瓏
Chun-Lung Hsu
學位類別: 碩士
Master
系所名稱: 電資學院 - 電機工程系
Department of Electrical Engineering
論文出版年: 2020
畢業學年度: 108
語文別: 中文
論文頁數: 99
中文關鍵詞: 適應性錯誤更正碼快取快閃記憶體三維快閃記憶體可依賴性
外文關鍵詞: Adaptive, ECC, Caching, Flash Memory, 3D Flash Memory, Dependability
相關次數: 點閱:186下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 快閃記憶體有著高密度、低成本與高可靠度等優點,使得消費性市場的需求量持續大幅成長。為了更加提高儲存密度與降低單位儲存成本,使得製程逐漸縮小,單位細胞的儲存資料量也逐漸提升,導致臨限電壓的間距愈來愈小,細胞與細胞之間的干擾也逐漸增加,導致可靠度與耐久度下降,為了解決這些問題,三維快閃記憶體被提出。由於存在製程變異,導致三維快閃記憶體的每一層之原始 位元錯誤率有所不同,在寫入清除次數於 10,000 時,將會有 6 倍多的差異,並且隨著寫入清除次數的增加與資料保存時間的增加,差異的倍數將持續擴大。而原始位元錯誤率的上升會造成資料發生錯誤的機率上升,為了解決這個問題,傳統上採用一致性保護,利用最差狀況來進行錯誤更正碼的保護,對於三維快閃記憶體來說,為了保護最差的層,會對其它較好的層造成額外的浪費,不但浪費儲存空間,更強的錯誤更正碼保護能力會帶來額外的編解碼時間與效能損耗,並產 生過多的硬體成本。

    因此本篇論文提出適應性錯誤更正碼快取技術,利用三維快閃記憶體各層有著非常大的原始位元錯誤率差異,將各層群集成不同的層群組,並且配置對應強度的預設錯誤更正碼保護能力階級,能夠更加符合實際所需。另外隨著原始位元錯誤率的增加,本篇論文結合過去的研究所提出的修正餘度概念,能夠檢測編碼字是否需要額外的保護能力,提供適應性的錯誤更正碼保護能力階級,能夠提升三維快閃記憶體的可靠度與耐久度。另外結合過去的研究所提出的快取概念,將提升錯誤更正碼保護能力所產生額外檢查位元,儲存到額外的靜態隨機存取記憶體,在三維快閃記憶體斷電時,能夠寫回三維快閃記憶體做永久儲存,並且再次啟動時,能夠讀回靜態隨機存取記憶體做使用,也能避免對三維快閃記憶體產生額外的空間浪費,並且避免需要分別讀取編碼字與額外檢查位元,增加寫入讀取 次數,並且對效能造成影響。

    本篇論文也開發可以模擬修復率的模擬器,並且對於有效良率、可靠度與硬體成本進行模擬與分析,並完成超大型積體電路的實現與佈局。從實驗結果可以 得知,本篇論文提出的方法與傳統上採用一致性保護方法在配置 20 位元錯誤更 正碼保護能力之下做比較,修復率能提升 20.05 %、有效良率能提升 2.58%、硬體成本能節省 47.01 %,並且可靠度可以在 1800000 小時維持在 0.999。


    Flash memory has the advantages of high density, low cost and high reliability, which has caused the demand of the consumer market to continue to grow substantially. In order to further increase the storage density and reduce the unit storage cost, the manufacturing process is gradually scaled down, and the amount of stored data per unit cell is gradually increased. However, this results in a smaller and smaller threshold voltage margin, and the cell-to-cell interference is gradually increased and the reliability is also declining. In order to solve these problems, 3D flash memory has been proposed. Due to the process variations, the raw bit error rate of each layer in the 3D flash memory is different. There can be a difference of more than 6 times when the number of P/E cycles is 10,000. The differences might continue to expand with the number of P/E cycles and the increasing of the retention time. The worsened raw bit error rate will increase the probability of data errors. In order to solve this problem, traditionally, uniform protection is used. The protection of error correction code is based on the worst-case scenario. For the 3D flash memory, in order to protect the worst layers, additional resources will be wasted if the same protection capability is also applied for other less suffered layers.

    Therefore, this thesis proposed adaptive error correction code (AEC) caching technique, using the fact that each layer of the 3D flash memory has a very large difference of raw bit error rate. AEC assigns each layer into a different layer group and configure a corresponding strength for the default error correction code level, which is more suitable with the real requirements. In addition, with the increase of the raw bit error rate, this paper combined with the concept of correction slack proposed by previous research, which can detect whether the codeword requires additional protection, provide adaptive error correction code level. This improves the reliability and durability of 3D flash memory. Combining with the caching concept proposed by the previous research, the extra check bits generated by the additional error correction code are stored in static random access memory. The extra check bits are be written back when the 3D flash memory is powered off and stores permanently. When the 3D flash memory is restarted, the extra check bits can be read back from the 3D flash memory to the static random access memory for use, and the extra storage space of the 3D flash memory can be avoided. Therefore, the need to read the codeword and extra check bits, which increases the number of writes and reads can be avoided.

    This paper also developed a simulator that can simulate the repair rate, effective yield, reliability, and hardware overhead. We also completed the implementation and layout of very large integrated circuits. It can be seen from the experimental results that the method proposed in this paper is compared with the traditional uniform protection method under the protection capability of 20-bit error correction code. The repair rate can be increased by 20.05%, and the effective yield can be increased by 0.81%. The hardware cost can be saved by 47.01%, and the reliability can be maintained at 0.999 after 1800000 hours of operations.

    致謝 i 摘要 ii Abstract iii 目錄 v 圖目錄 viii 表目錄 xi 第一章 簡介 1 1.1 背景與動機 1 1.2 組織架構 4 第二章 快閃記憶體之基本原理與應用 5 2.1基本概念 5 2.2基本動作 6 2.2.1 寫入動作 6 2.2.2 清除動作 7 2.2.3 讀取動作 7 2.3基本架構 9 2.3.1 非或型快閃記憶體 9 2.3.2 非及型快閃記憶體 10 2.4 三維快閃記憶體 11 2.4.1 基本概念 11 2.4.2 基本架構 12 2.4.3 基本特性 13 2.5 固態硬碟 14 2.5.1 邏輯/實體位址映射 15 2.5.2 壞區塊管理 16 2.5.3 垃圾回收 16 2.5.4 損耗均衡 17 第三章 快閃記憶體之測試與修復技術 18 3.1 功能性故障模型 18 3.1.1 常見記憶體之故障模型 18 3.1.2 快閃記憶體之特定故障模型 20 3.2 快閃記憶體之測試 25 3.2.1 測試流程 25 3.2.2 測試演算法 26 3.3 內建自我修復 27 3.3.1 基本架構 27 3.3.2 內建自我測試 28 3.3.3 內建備用分析 29 3.4 錯誤更正碼 30 3.4.1 漢明碼 30 3.4.2 低密度奇偶檢查碼 31 3.4.3 BCH碼 32 第四章 適應性錯誤更正碼快取技術 35 4.1 基本概念 35 4.2 操作流程 45 4.2.1 讀取流程 45 4.2.2 寫入流程 47 4.3 硬體架構 48 4.3.1 完整架構 48 4.3.2 群組區別模組 49 4.3.3 錯誤更正碼階級靜態隨機存取記憶體 49 4.3.4 錯誤更正碼階級模組 50 4.4 操作範例 52 4.4.1 讀取範例 52 4.4.2 寫入範例 57 第五章 實驗結果 59 5.1 瑕疵分佈與瑕疵模型之設定 59 5.2 修復率分析 61 5.3 良率分析 63 5.4 可靠度分析 65 5.6 電路實現 77 第六章 結論與未來展望 79 6.1 結論 79 6.2 未來展望 79 參考文獻 80

    [1] H. Kim, S. Ahn, Y. G. Shin, K. Lee, and E. Jung, "Evolution of NAND Flash Memory: From 2D to 3D as a Storage Market Leader," in Proc. 2017 IEEE International Memory Workshop (IMW), pp. 1-4, May 2017.
    [2] Y. Du, Y. Zhou, M. Zhang, W. Liu, and S. Xiong, "Adapting Layer RBERs Variations of 3D Flash Memories via Multi-granularity Progressive LDPC Reading," in Proc. 2019 56th ACM/IEEE Design Automation Conference (DAC), pp. 1-6, June 2019.
    [3] N. Papandreou et al., "Characterization and Analysis of Bit Errors in 3D TLC NAND Flash Memory," 2019 IEEE International Reliability Physics Symposium (IRPS), pp. 1-6, Apr. 2019.
    [4] L. Yuan, H. Liu, P. Jia and Y. Yang, "Reliability-Based ECC System for Adaptive Protection of NAND Flash Memories," 2015 Fifth International Conference on Communication Systems and Network Technologies, pp. 897-902, Apr. 2015.
    [5] N. Mielke et al., "Bit error rate in NAND Flash memories," 2008 IEEE International Reliability Physics Symposium, pp. 9-19, May 2008.
    [6] S. K. Lu, and W. C. Tsai, "Adaptive fault tolerant techniques for improving reliability of flash memory," in Proc. IEEE Work on RTL and High Level Test (WRTLT), pp. 1-4, June 2018.
    [7] D. Frohman-Bentchkowsky, "Famos - A new semiconductor charge storage device," Solid State Electron, vol. 17, pp. 517-528, June 1974.
    [8] S. Aritome, NAND Flash Memory Technologies, Wiley, Dec. 2015.
    [9] S. M. Kang, and Y. Leblebici, CMOS Digital Integrated Circuits Analysis & Design, McGraw Hill, 2003.
    [10] R. Bez, E. Camerlenghi, A. Modelli, and A. Visconti, "Introduction to flash memory," in Proc. IEEE, vol. 91, no. 4, pp. 489-502, Apr. 2003.
    [11] Micron Technology, Inc., QLC NAND technology, 2020. [online] Available: https://tw.micron.com/products/nand-flash/qlc-nand.
    [12] M. Qin, "Fractional Bits-Per-Cell for NAND Flash with Low Read Latency," in Proc. IEEE Global Communications Conference, pp. 1-6, Dec. 2017.
    [13] L. Shijun, Z. Xuecheng, and W. Baocun, "Program and read methods with offset in quad-level-cell NAND design," 2017 International Conference on Electron Devices and Solid-State Circuits (EDSSC), pp. 1-2, Oct. 2017.
    [14] M. Fukuchi, Y. Sakaki, C. Matsui, and K. Takeuchi, "20% System-performance Gain of 3D Charge-trap TLC NAND Flash over 2D Floating-gate MLC NAND Flash for SCM/NAND Flash Hybrid SSD," in Proc. 2018 IEEE International Symposium on Circuits and Systems (ISCAS), pp. 1-5, May 2018.
    [15] R. Micheloni, S. Aritome, and L. Crippa, "Array Architectures for 3-D NAND Flash Memories," in Proc. IEEE, vol. 105, no. 9, pp. 1634-1649, Sep. 2017.
    [16] R. Cao, J. Wu, W. Yang, J. Chen, and X. Jiang, "Program/Erase Cycling Enhanced Lateral Charge Diffusion in Triple-Level Cell Charge-Trapping 3D NAND Flash Memory," in Proc. 2019 IEEE International Reliability Physics Symposium (IRPS), pp. 1-4, Apr. 2019.
    [17] Q. Xiong, F. Wu, Z. Lu, Y. Zhu, Y. Zhou, Y. Chu, and C. Xie, "Characterizing 3D Floating Gate NAND Flash: Observations, Analyses, and Implications," in Proc. ACM Transactions on Storage, vol. 14, no. 2, pp. 1-31, May 2018.
    [18] Y. Luo, S. Ghose, Y. Cai, E. F. Haratsch, and O. Mutlu, "Improving 3D NAND Flash Memory Lifetime by Tolerating Early Retention Loss and Process Variation," in Proc. 2018 ACM International Conference on Measurement and Modeling of Computer Systems, pp. 1-48, June 2018.
    [19] T. S. Chung, D. J. Park, S. Park, D. H. Lee, S. W. Lee, and H. J. Song, "A survey of Flash Translation Layer," Journal of Systems Architecture, vol. 55, no. 5-6, pp. 332-343, May 2009.
    [20] Intel Corporation, Understanding the flash translation layer (FTL) specification, Dec. 1998, [online] Available: http://read.pudn.com/downloads102/sourcecode/others/419093/Understanding% 20the%20Flash%20Translation%20Layer%20(FTL)%20Specification.pdf.
    [21] N. Agrawal, V. Prabhakaran, T. Wobber, J. D. Davis, M. Manasse, and R. Panigrahy, "Design Tradeoffs for SSD Performance, " in Proc. Annual Technical Conference (ATC), pp. 53-58, June 2008.
    [22] R. Chen, Z. Qin, Y. Wang, D. Liu, Z. Shao, and Y. Guan, "On-Demand BlockLevel Address Mapping in Large-Scale NAND Flash Storage Systems," in Proc. IEEE Transactions on Computers, vol. 64, no. 6, pp. 1729-1741, June 2015.
    [23] A. Ban, Flash file system, US Patent, 1993.
    [24] H. J. Kim, and S. G. Lee, "A new flash memory management for flash storage system," in Proc. Twenty-Third Annual International Computer Software and Applications Conference, pp. 284-289, Oct. 1999.
    [25] C. Park, W. Cheon, Y. Lee, M. Jung, W. Cho, and H. Yoon, "A Re-configurable FTL (Flash Translation Layer) Architecture for NAND Flash based Applications," in Proc. 18th IEEE/IFIP International Workshop on Rapid System Prototyping (RSP), pp. 202-208, May 2007.
    [26] J. Kim, J. M. Kim, S. H. Noh, S. L. Min, and Y. Cho, "A space-efficient flash translation layer for CompactFlash systems," in Proc. IEEE Transactions on Consumer Electronics, vol. 48, no. 2, pp. 366-375, May 2002.
    [27] Micron Technology, Inc., Bad Block Management in NAND Flash Memory, Oct. 2010, [online] Available: https://www.micron.com/media/client/global/documents/products/technicalnote/nand-flash/tn2959_bbm_in_nand_flash.pdf.
    [28] Intel Corporation, Intel Solid-State Drives in Server Storage Applications, Feb. 2014, [online] Available: https://www.intel.com/content/dam/www/public/us/en/documents/whitepapers/ssd-server-storage-applications-paper.pdf
    [29] R. Subramani, H. Swapnil, N. Thakur, B. Radhakrishnan, and K. Puttaiah, "Garbage Collection Algorithms for NAND Flash Memory Devices -- An Overview," 2013 European Modelling Symposium, Manchester, pp. 81-86, Nov. 2013.
    [30] M. Yang, Y. Chang, C. Tsao, P. Huang, Y. Chang and T. Kuo, "Garbage collection and wear leveling for flash memory: Past and future," 2014 International Conference on Smart Computing, pp. 66-73, Nov. 2014.
    [31] C. T. Huang, J. R. Huang, C. F. Wu, C. W. Wu, and T. Y. Chang, "A programmable BIST core for embedded DRAM," in Proc. IEEE Design & Test of Computers, vol. 16, no. 1, pp. 59-70, Jan. 1999.
    [32] R. Dekker, F. Beenker, and L. Thijssen, "Fault modeling and test algorithm development for static random access memories," International Test Conference, pp. 343-352, Sep. 1988.
    [33] "IEEE Standard Definitions and Characterization of Floating Gate Semiconductor Arrays," in Proc. IEEE Std, 1998.
    [34] J. Yeh, K. Cheng, Y. Chou, and C. Wu, "Flash Memory Testing and Built-In Self Diagnosis With March-Like Test Algorithms," in Proc. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 26, no. 6, pp. 1101-1113, June 2007.
    [35] C. Hou, and J. Li, "Testing Disturbance Faults in Various NAND Flash Memories," 2013 22nd Asian Test Symposium, pp. 221-226, Nov. 2013.
    [36] C. T. Huang, J. C. Yeh, Y. Y. Shih, R. F. Huang, and C. W. Wu, "On test and diagnostics of flash memories," in Proc. 13th Asian Test Symposium, pp. 260-265, Nov. 2004.
    [37] J. C. Yeh, K. L. Cheng, Y. F. Chou, and C. W. Wu, "Flash Memory Testing and Built-In Self-Diagnosis With March-Like Test Algorithms," in Proc. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 26, no. 6, pp. 1101-1113, June 2007.
    [38] K. L. Cheng, J. C. Yeh, C. W. Wang, C. T. Huang, and C. W. Wu, "RAMSES-FT: a fault simulator for flash memory testing and diagnostics," in Proc. 20th IEEE VLSI Test Symposium (VTS), pp. 281-286, Apr. 2002.
    [39] Y. Y. Hsiao, C. H. Chen, and C. W. Wu, "A built-in self-repair scheme for NORtype flash memory," in Proc. 24th IEEE VLSI Test Symposium, pp. 6-119, Apr. 2006. [40] O. Ginez, J. M. Portal, and H. Aziza, "Reliability issues in flash memories: an online diagnosis and repair scheme for word line drivers," in Proc. Int’l Workshop on Mixed-Signals, Sensors, and Systems Test, pp. 1-6, June 2008.
    [41] S. Y. Kuo, and W. K. Fuchs, "Efficient Spare Allocation in Reconfigurable Arrays," 23rd ACM/IEEE Design Automation Conference, pp. 385-390, June 1986.
    [42] C. T. Huang, C. F. Wu, J. F. Li, and C. W. Wu, "Built-in redundancy analysis for memory yield improvement," in Proc. IEEE Transactions on Reliability, vol. 52, no. 4, pp. 386-399, Dec. 2003.
    [43] T. Kawagoe, J. Ohtani, M. Niiro, T. Ooishi, M. Hamada, and H. Hidaka, "A builtin self-repair analyzer (CRESTA) for embedded DRAMs," in Proc. International Test Conference, pp. 567-574, Feb. 2000.
    [44] S. K. Lu, C. L. Yang, Y. C. Hsiao, and C. W. Wu, "Efficient BISR Techniques for Embedded Memories Considering Cluster Faults," in Proc. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 18, no. 2, pp. 184-193, Feb. 2010.
    [45] R. W. Hamming, "Error detecting and error correcting codes," in Proc. The Bell System Technical Journal, vol. 29, no. 2, pp. 147-160, Apr. 1950.
    [46] R. G. Gallager, Low-Density Parity-Check Code, 1963, [online] Available: https://web.stanford.edu/class/ee388/papers/ldpc.pdf.
    [47] R. Liu, M. Chuang, C. Yang, C. Li, K. Ho, and H. Li, "EC-Cache: Exploiting error locality to optimize LDPC in NAND flash-based SSDs," in Proc. 2014 51st ACM/EDAC/IEEE Design Automation Conference (DAC), pp. 1-6, June 2014.
    [48] D. Wei, L. Deng, M. Hao, L. Qiao, and X. Peng, A joint-LDPC decoding scheme based on retention error characteristics for MLC NAND flash memory, Microprocessors & Microsystems, pp. 65-76 , 2018.
    [49] R. Motwani, Z. Kwok, and S. Nelson, "Low density parity check (LDPC) codes and the need for stronger ECC," in Flash Memory Summit, 2011, [Online] Available: http://www.flashmemorysummit.com/.
    [50] S. Lin, and D. J. Costello, Error Control Coding, Pearson Prentice Hall, 2014. [51] R. Micheloni et al., "A 4Gb 2b/cell NAND Flash Memory with Embedded 5b BCH ECC for 36MB/s System Read Throughput," in Proc. 2006 IEEE International Solid State Circuits Conference - Digest of Technical Papers, pp. 497-506, Feb. 2016.
    [52] X. Youzhi, "Implementation of Berlekamp-Massey algorithm without inversion," in Proc. IEE I - Communications, Speech and Vision, vol. 138, no. 3, pp. 138-140, June 1991.
    [53] Y. Sugiyama, M. Kasahara, S. Hirasawa, and T. Namekawa, "A method for solving key equation for decoding Goppa codes," Information and Control, pp. 87-99, Jan. 1975.
    [54] Y. Chen, and K. K. Parhi, "Small area parallel Chien search architectures for long BCH codes," in Proc. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 12, no. 5, pp. 545-549, May 2004.
    [55] J. Gray, and C. van Ingen, "Empirical Measurements of Disk Failure Rates and Error Rates, "Microsoft Research Technical Report, Dec. 2005.
    [56] Park, J. Kim, J. Choi, D. Lee, and S. H. Noh, "Incremental redundancy to reduce data retention errors in flash-based SSDs," 2015 31st Symposium on Mass Storage Systems and Technologies (MSST), pp. 1-13, May 2015.
    [57] R. Ma, F. Wu, M. Zhang, Z. Lu, J. Wan, and C. Xie, "RBER-Aware Lifetime Prediction Scheme for 3D-TLC NAND Flash Memory," in Proc. IEEE Access, vol. 7, pp. 44696-44708, Apr. 2019.
    [58] Y. Zhou, F. Wu, Z. Lu, X. He, P. Huang, C. Xie, "SCORE: A Novel Scheme to Efficiently Cache Overlong ECCs in NAND Flash Memory," in Proc. ACM Transactions on Architecture and Code Optimization, vol. 15, no. 14, pp. 1-25, Dec. 2018.
    [59] S. K. Lu, H. P. Li, and K. Miyase, "Adaptive ECC Techniques for Reliability and Yield Enhancement of Phase Change Memory," in Proc. 2018 IEEE 24th International Symposium on On-Line Testing And Robust System Design (IOLTS), pp. 226-227, July 2018.
    [60] K. Pagiamtzis, and A. Sheikholeslami, "Content-addressable memory (CAM) circuits and architectures: A tutorial and survey, " in Proc. IEEE J. Solid-State Circuits, vol. 41, no. 3, pp. 712-727, Mar. 2006.
    [61] R. F. Huang, J. F. Li, J. C. Yeh and, C. W. Wu, "A simulator for evaluating redundancy analysis algorithms of repairable embedded memories," in Proc. Eighth IEEE International On-Line Testing Workshop (IOLTW 2002), pp. 262-267, July 2002.
    [62] I. Koren, and Z. Koren, "Defect tolerance in VLSI circuits: techniques and yield analysis," in Proc. IEEE, vol. 86, no. 9, pp. 1819-1838, Sep. 1998.

    無法下載圖示 全文公開日期 2025/08/06 (校內網路)
    全文公開日期 本全文未授權公開 (校外網路)
    全文公開日期 本全文未授權公開 (國家圖書館:臺灣博碩士論文系統)
    QR CODE