簡易檢索 / 詳目顯示

研究生: 馬國峰
Guo-Feng Ma
論文名稱: 使用適應性部分修復技術以提升快閃記憶體的良率及可靠度
Adaptive Partial Replacement Techniques for Yield and Reliability Enhancement of Flash Memories
指導教授: 呂學坤
Shyue-Kung Lu
口試委員: 呂學坤
Shyue-Kung Lu
王乃堅
Nai-Jian Wang
李進福
Jin-Fu Li
黃樹林
Shu-Lin Hwang
洪進華
Jin-Hua Hong
學位類別: 碩士
Master
系所名稱: 電資學院 - 電機工程系
Department of Electrical Engineering
論文出版年: 2022
畢業學年度: 110
語文別: 中文
論文頁數: 126
中文關鍵詞: 快閃記憶體適應性部分修復技術良率可靠度
外文關鍵詞: Flash Memory, Adaptive Partial Replacement Technique, Yield, Reliability
相關次數: 點閱:161下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 快閃記憶體是目前最受歡迎的非揮發型記憶體之一,由於其擁有低功耗、高存取速度以及可擴充性等優勢,而被廣泛運用於消費性電子產品中的儲存元件,像是固態硬碟、電腦以及行動裝置。隨著製程進步,快閃記憶體也發展出多階儲存細胞以及三維的架構,以提升其儲存密度,但是同時也因製程微縮,而導致晶片在製造時,維持其良率變得更困難,另外,快閃記憶體因細胞間的可靠度容限縮小,而造成細胞的耐久度降低,使得其可靠度受影響。在過去,錯誤更正碼以及內建自我修復技術常用來解決些問題,不過,為了達到目標的快閃記憶體良率以及可靠度,往往需要透過增加檢查位元數或者備用元件數的方式保護快閃記憶體,然而,分布於快閃記憶體中的故障或錯誤通常不會是均勻的,上述技術都屬於均勻保護技術,因此,可能會出現消耗大量硬體成本來修復稀疏的故障或錯誤而造成不必要的硬體浪費以及效能的損失。
    為了改善上述的問題,本篇論文利用快閃記憶體以字為單位循序存取資料的特性,我們提出以細粒度的備用元件修復的適應性部分修復技術,並結合過去所提出的修正餘度 (Correction Slack) 概念,在編碼字的修正餘度接近臨限值時,將編碼字中有錯誤的次編碼字修復以有效保護快閃記憶體,實現以低硬體成本和避免系統效能下降的方式,達到維持快閃記憶體良率以及可靠度的目的。另外,本篇技術依照修復特性的不同,進而提出兩種架構: 局部適應性部分修復技術與全域適應性部分修復技術。
    本篇論文也實現所提技術的硬體電路,並針對 1 GB 快閃記憶體的修復率、良率、可靠度及硬體成本進行分析。實驗結果顯示,本篇技術搭配粗粒度內建自我修復技術於測試模式時,在平均瑕疵數目為 50 時,修復率可達 99.5 % 以上,且在原始良率為 0.85 時,有效良率可維持在 99.92 % 以上;本篇技術於正常模式時,且錯誤發生率為 10-9 /小時的情況下,在經過 76 萬小時的操作後仍可維持達 0.99 之可靠度。最後,本篇技術以幾乎可忽略不計的硬體成本下,使得良率及可靠度能夠有效提升。


    Flash memory is currently one of the most popular non-volatile memories. Due to the advantages of low power consumption, high access speed and scalability, it is widely used in storage elements of consumer electronic products such as solid-state drives, computers, and mobile devices. With the rapid advances of process technologies, there are also multi-level cells and three-dimensional structures developed for increasing the storage density. However, the shrinkage of the feature size makes it difficult to maintain the yield during chip manufacturing. In addition, due to the narrowing of the reliability margins between flash memory cells, the endurance of the cells is also reduced. Therefore, the reliability of the flash memory is threatened. In the past, error correction codes (ECC) and built-in self-repair (BISR) techniques were used to solve these problems. However, in order to achieve the target yield and reliability, it is necessary to increase the number of check bits or spare elements to protect the flash memory. However, the distribution of faults or errors in the flash memory are usually not uniform. The above techniques are both uniform protection techniques. It may occur that a large amount of hardware cost are comsumed to repair sparse faults or errors. This will incur unnecessary waste of hardware and lower performance.
    To cure the dilemma described above, this thesis takes advantage of the characteristics of flash memory to access data sequentially in the word level and proposes adaptive partial repair techniques with spare words, We combines the concept of correction slack proposed in the past. When the correction slack of a codeword is closed to the specified value, faulty sub-codewords in the codeword are replaced with spare words. The incurred hardware overhead thus is low and we can avoid system performance degradation. In addition, this thesis proposes two architectures according to the different repair characteristics: the local adaptive partial repair technique (LAPRT) and the global adaptive partial repair technique (GAPRT).
    We have implemented the hardware circuits of the proposed adaptive partial repair technique, and analyzed the repair rate, yield, reliability, and hardware overhead for 1 GB flash memory. Experimental results show that if the proposed technique is integrated with the coarse-grained built-in self-repair technique (CGBISR) in the test mode and the average injected number of defects is 50, the repair rate can reach more than 99.5 %. If the original yield is 0.85, the effective yield can be maintained above 99.92 %. In normal mode and the failure rate is 10-9/hour, its reliability can still be higher than 0.99 after 760,000 hours of operations. Finally, the proposed techniques can effectively improve yield and reliability with almost negligible hardware cost.

    致謝 I 摘要 II Abstract IV 目錄 VI 圖目錄 XI 表目錄 XV 第一章 簡介 1 1.1 背景及動機 1 1.2 組織架構 7 第二章 快閃記憶體之基本介紹與應用 8 2.1 快閃記憶體細胞 8 2.1.1 快閃記憶體細胞之基本架構 8 2.1.2 快閃記憶體細胞之基本操作 9 2.1.2.1 寫入操作 9 2.1.2.2 讀取操作 10 2.1.2.3 清除操作 12 2.2 快閃記憶體之陣列架構 12 2.2.1 非及型快閃記憶體 12 2.2.2 非或型快閃記憶體 14 2.3 固態硬碟 15 2.3.1 固態硬碟架構 15 2.3.2 快閃記憶體轉換層 16 2.3.2.1 邏輯/實體位址映射 17 2.3.2.2 壞區塊管理 18 2.3.2.3 垃圾回收 19 2.3.2.4 損耗均衡 19 2.3.3 快閃記憶體晶片 20 2.3.3.1 快閃記憶體晶片之接腳介紹 20 2.3.3.2 快閃記憶體晶片之內部構造 22 2.3.3.3 快閃記憶體晶片之操作時序圖 23 第三章 快閃記憶體之測試與修復技術 25 3.1 功能性故障模型 25 3.1.1 常見記憶體之故障模型 25 3.1.2 快閃記憶體之特定故障模型 27 3.2 快閃記憶體之測試 29 3.2.1 測試流程 29 3.2.2 測試演算法 30 3.3 快閃記憶體之相關容錯技術 31 3.3.1 內建自我修復技術 31 3.3.1.1 內建自我測試 32 3.3.1.2 內建備用分析 34 3.3.2 錯誤更正碼 36 3.3.2.1 BCH碼 37 3.3.2.2 低密度奇偶檢查碼 38 3.3.3 故障避免技術 39 3.3.3.1 降低讀取干擾技術 39 3.3.3.2 降低資料保留錯誤技術 40 3.3.3.3 資料編碼技術 40 第四章 適應性部分修復技術 41 4.1 適應性部分修復技術基本概念 41 4.2 局部適應性部份修復技術 44 4.3 全域適應性部份修復技術 46 4.4 適應性部分修復演算法 47 4.5 適應性部分修復技術於測試模式時之操作流程與範例 51 4.5.1 內建自我測試及修復流程 53 4.5.2 內建自我測試及修復之範例 54 4.6 適應性部分修復技術於正常模式時之操作流程與範例 57 4.6.1 寫入操作流程 57 4.6.2 讀取操作流程 59 4.6.3 適應性部分修復技術之範例 60 4.7 適應性部分修復技術硬體架構 64 4.7.1 地址產生器模組 66 4.7.2 錯誤資訊產生器模組 67 4.7.3 錯誤資訊暫存器模組 68 4.7.4 適應性地址重映射模組 69 4.7.5 備用次編碼字及備用資訊內容定址記憶模組 70 4.7.6 控制器狀態圖 72 第五章 實驗結果 74 5.1 瑕疵分布與故障型態 74 5.2 修復率分析 75 5.3 良率分析 79 5.4 可靠度分析 85 5.5 硬體成本分析 91 5.6 效能損失分析 99 5.7 超大積體電路實現 101 第六章 結論與未來展望 103 6.1 結論 103 6.2 未來展望 103 參考文獻 104

    [1] C. Matsui, C. Sun, and K. Takeuchi, “Design of hybrid SSDs with storage class memory and NAND flash memory,” Proc. IEEE, vol. 105, no. 9, pp. 1812–1821, July 2017.
    [2] L. Shi, K. Qiu, M. Zhao, and C. J. Xue, “Error model guided joint performance and endurance optimization for flash memory,” IEEE Trans. Comput.-Aided Design Integr. Circuits Syst., vol. 33, no. 3, pp. 343–355, Mar. 2014.
    [3] Gregory Wong, R. Micheloni, L. Crippa and A. Marelli, “Market and applications for NAND flash memories,” Inside NAND flash memories, Ed. SpringerVerlag, June 2010, pp. 353–392.
    [4] T. Karnik and P. Hazucha, “Characterization of soft errors caused by single event upsets in CMOS processes,” IEEE Trans. Dependable Secure Comput., vol. 1, no. 2, pp. 128–143, Apr./June 2004.
    [5] S. Gerardin et al., “Radiation effects in flash memories,” IEEE Trans. Nucl. Sci., vol. 60, no. 3, pp. 1953–1969, June 2013.
    [6] Y. Cai, S. Ghose, E. F. Haratsch, Y. Luo, and O. Mutlu, ‘‘Error characterization, mitigation, and recovery in flash-memory-based solid-state drives,’’ in Proc. IEEE, vol. 105, no. 9, pp. 1666–1704, Sep. 2017.
    [7] S. K. Lu, and W. C. Tsai, “Adaptive fault tolerant techniques for improving reliability of flash memory,” in Proc. IEEE Workshop on RTL and High Level Test. (WRTLT), pp. 1–4, June 2018.
    [8] R. Bez, E. Camerlenghi, A. Modelli, and A. Visconti, ‘‘Introduction to flash memory,’’ Proc. IEEE, vol. 91, no. 4, pp. 489–502, Apr. 2003.
    [9] D. Kahng and S. M. Sze, "A floating gate and its application to memory devices," The Bell System Technical Journal, vol. 46, no. 6, pp. 1288-1295, July-Aug. 1967.
    [10] K. D. Suh, B. H. Suh, Y. H. Lim, J. K. Kim, Y. J. Choi, Y. N. Koh, S. S. Lee, S. C. Kwon, J. S. Yum, J. H. Choi, J. R. Kim, and H. K. Lim, “A 3.3 V 32 Mb NAND flash memory with incremental step pulse programming scheme,” IEEE J. Solid-State Circuits, vol. 30, no. 11, pp. 1149–1156, Nov. 1995.
    [11] M. Woods, “An E-PROM’s integrity starts with its cell structure,” Nonvolatile Semiconductor Memories: Technologies, Design, and Application, IEEE Press, Chap 3, pp. 59–62, 1991.
    [12] 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. IEEE Int. Memory Workshop (IMW), May 2017, pp. 1–4
    [13] R. Micheloni, S. Aritome, and L. Crippa, “Array architectures for 3-D NAND flash memories,” Proc. IEEE, vol. 105, no. 9, pp. 1634–1649, Sep. 2017.
    [14] Ken Takeuchi, "Novel co-design of NAND flash memory and NAND flash controller circuits for sub-30 nm low-power high-speed solid-state drives (SSD)," in Proc. IEEE Symp. on VLSI Circuits, pp. 124-125, June 2008.
    [15] J. Kim, J. M. Kim, S. H. Noh, S. L. Min, and Y. Cho, “A space-efficient flash translation layer for compact flash systems,” IEEE Trans. on Consumer Electronics, vol. 48, no. 2, pp. 366–375, May 2002.
    [16] STMicroelectronics, “Bad block management in NAND flash memories,” Application Note AN-1819, May 2004.
    [17] M. C. Yang, Y. M. Chang, C. W. Tsao, P. C. Huang, Y. H. Chang, and T. W. Kuo, ‘‘Garbage collection and wear leveling for flash memory: Past and future,’’ in Proc. Int’l Conf. Smart Comput., Nov. 2014, pp. 66–73.
    [18] A. Kawaguchi, S. Nishioka, and H. Motoda, ‘‘A flash memory based file system,” in Proc. the 1995 USENIX Technical Conf., pp. 155–164, Jan. 1995.
    [19] M. L. Chiang and R. C. Chang, “Cleaning policies in mobile computers using flash memory,” Journal of System Software, 48(3): 213–231, May 1999.
    [20] L. Han, Y. Ryu, and K. Yim, “CATA: A garbage collection scheme for flash memory file systems,” in Proc. Ubiquitous Intelligence and Comput. (UCI), pp 103-112, Sept. 2006.
    [21] A. Ban and R. Hasbaron, “Wear leveling of static areas in flash memory,” US Patent 6,732,221, M-Syst., May 2004.
    [22] J. W. Hsieh, L. P. Chang, and T. W. Kuo, “Efficient on-line identification of hot data for flash memory management,” in Proc. ACM Symp. Applied Comput. (ACM SAC), pp. 838-842, Mar. 2005.
    [23] https://www.micron.com/-/media/client/global/documents/products/data-sheet/nand-flash/20-series/2gb_nand_m29b.pdf
    [24] R. Dekker, F. Beenker, and L. Thijssen, “Fault modeling and test algorithm development for static random-access memories,” in Proc. IEEE Int’l Test Conf., pp. 343-352, Sept. 1988.
    [25] IEEE 1005 standard definitions and characterization of floating gate semiconductor arrays, Piscataway, NJ: IEEE Standards Sept. 1999.
    [26] M. G. Mohammad and L. Terkawi, “Fault collapsing for flash memory disturb faults,” in Proc. 10th IEEE European Test Symp. (ETS), May 2005, pp. 142–147.
    [27] 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,” IEEE Trans. on Computer-Aided Design of Integr. Circuits and Syst., vol. 26, no. 6, pp. 1101-1113, June 2007.
    [28] S. D. Carlo, M. Fabiano, R. Piazza, and P. Prinetto, “Exploring modeling and testing of NAND flash memories,” in Proc. IEEE East-West Design & Test Symp. (EWDTS), Sept. 2010, pp. 17–20.
    [29] C. T. Huang, J. C. Yeh, Y. Y. Shih, et al, “On test and diagnostics of flash memories,” in Proc. 13th IEEE Asian Test Symp. (ATS), Taiwan, pp. 260–265, Nov. 2004.
    [30] Y. Y. Hsiao, C. H. Chen, and C. W. Wu, “Built-in self-repair schemes for flash memories,” IEEE Trans. Computer-Aided Design of Integr. Circuits and Syst., vol. 29, no. 8, pp. 1243-1256, Aug. 2010.
    [31] Y. Y. Hsiao, C. H. Chen, and C. W. Wu, “A built-in self-repair scheme for NOR-type flash memory,” in Proc. IEEE VLSI Test Symp. (VTS), Apr. 2006, pp. 114-119.
    [32] S. K. Lu, S. C. Tseng, “Fine-grained built-in self-repair techniques for enhancing yield and reliability of NAND flash memories (Unpublished master’s thesis),” National Taiwan University of Science and Technology (NTUST), 2020.
    [33] R. C. Bose and D. K. Ray Chaudhuri, “On a class of error-correcting binary group codes,” Information and Contribution, vol. 3, Mar. 1960.
    [34] E. R. Berlekamp, “Algebraic Coding Theory”, McGraw-Hill, 1968.
    [35] R. Elumalai, and A. Ramachandran, “Encoder and decoder for (15, 11, 3) and (63, 39, 4) binary BCH code with multiple error correction,” in Proc. Int’l Journal of Advanced Research in Electrical, Electronics and Instrumentation Engineering (IJAREEIE), vol. 3, pp. 7782-7788, Mar. 2014.
    [36] S. Choi, H. K. Ahn, B. K. Song, J. P. Kim, S. H. Kang, and S. Jung, “A decoder for short BCH codes with high decoding efficiency and low power for emerging memories,” IEEE Trans. VLSI System, vol. 27, no. 2, pp. 387–397, Nov. 2019.
    [37] Y. Chen, and K. Parhi, “Small area parallel Chien search architectures for long BCH codes,” IEEE Trans. VLSI System, vol. 12, no. 5, pp. 545-549, May 2004.
    [38] R. G. Gallager, Low-Density Parity-Check Code, Jan. 1963.
    [39] P. Chen et al., “Rate-adaptive protograph LDPC codes for multilevel-cell NAND flash memory,” IEEE Commun. Lett., vol. 22, no. 6, pp. 1112–1115, June 2018.
    [40] Q. Li, L. Shi, Y. Cui, and C. J. Xue, “Exploiting asymmetric errors for LDPC decoding optimization on 3D NAND flash memory,” IEEE Trans. Comput., vol. 69, no. 4, pp. 475–488, Apr. 2020.
    [41] K. Ha, J. Jeong, and J. Kim. “A read-disturb management technique for high-density NAND flash memory,” in Proc. ACM 4th Asia-Pacific Workshop on Syst. (APSys), July 2013.
    [42] C. Y. Liu, Y. M. Chang, and Y. H. Chang. “Read leveling for flash storage systems,” in Proc. ACM Int’l Syst. Stor. Conf., May 2015.
    [43] T. Wu, Y. Ma, and L. Chang, "Flash read disturb management using adaptive cell bit-density with in-place reprogramming," in Proc. Design, Automation & Test in Europe Conference & Exhibition (DATE), Mar. 2018, pp. 325-330.
    [44] Y. Cai, et al., "Flash correct-and-refresh: Retention-aware error management for increased flash memory lifetime," in Proc. IEEE 30th Int’l Conf. on Comput. Design (ICCD), Sept. 2012, pp. 94-101.
    [45] H. Park, J. Kim, J. Choi, D. Lee, and S. H. Noh, “Incremental redundancy to reduce data retention errors in flash-based ssds,” in Proc. IEEE 31st Symp. on Mass Storage Syst. and Technologies (MSST), June 2015, pp. 1–13.
    [46] L. Shi, Y. Di, M. Zhao, C. Xue, K. Wu, and E.-. Sha, “Exploiting process variation for write performance improvement on NAND flash memory storage systems,” IEEE Trans. VLSI System, vol. 24, no. 1, pp. 334–337, Jan. 2016.
    [47] Y. Di, L. Shi, K. Wu, and C. J. Xue, "Exploiting process variation for retention induced refresh minimization on flash memory," in Proc. Design, Automation & Test in Europe Conference & Exhibition (DATE), July 2016, pp. 391-396.
    [48] S. K. Lu and H. P. Yu, “Adaptive data remapping techniques for enhancing yield and reliability of NAND flash memories (Unpublished master’s thesis),” National Taiwan University of Science and Technology (NTUST), 2019.
    [49] C. H. Stapper, F. M. Armstrong, and K. Saji, “Integrated circuit yield statistics,” Proc. IEEE, vol. 71, no. 4, pp. 453-470, Apr. 1983.
    [50] I. Koren and Z. Koren, “Defect tolerant VLSI circuits: techniques and yield analysis,” Proc. IEEE, vol. 86, pp. 1817-1836, Sept. 1998.
    [51] 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. IEEE Int’l Workshop Mem. Technol., Des. Testing (MTDT), pp. 68-73, July 2002.

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