簡易檢索 / 詳目顯示

研究生: 余興品
Hsing-Pin Yu
論文名稱: 適應性資料重映射技術提升快閃記憶體的良率和可靠度
Adaptive Data Remapping Technique for Enhancing Yield and Reliability of NAND Flash Memory
指導教授: 呂學坤
Shyue-Kung Lu
口試委員: 李進福
Jin-Fu Li
王乃堅
Nai-Jian Wang
洪進華
Jin-Hua Hong
黃樹林
Shu-Lin Hwang
學位類別: 碩士
Master
系所名稱: 電資學院 - 電機工程系
Department of Electrical Engineering
論文出版年: 2019
畢業學年度: 107
語文別: 中文
論文頁數: 89
中文關鍵詞: 快閃記憶體可靠度故障遮蔽良率錯誤更正碼故障分類
外文關鍵詞: NAND Flash, Reliability, Yield, Error correction code, Fault masking, Fault classification
相關次數: 點閱:305下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 快閃記憶體擁有良好的可擴充性、高效能及低成本等特性,加上近年來製程穩定與成熟,快閃記憶體廣泛出現在消費性電子產品中,像是智慧型手機、筆記型電腦與數位影音播放器等等。快閃記憶體儲存資料的值是依靠電子是否儲存於浮閘中來作為依據,隨著製程的進步,多階細胞 (Multiple-Level Cell, MLC)、三階細胞 (Triple-Level Cell, TLC) 及四階細胞 (Quad-Level Cell, QLC) 等技術被提出,由於每個細胞可以儲存 1 個位元以上的資料,快閃記憶體的儲存密度有效上升,但這也使得每個狀態間的雜訊邊界變小,隨著製程的微縮,快閃記憶體的可靠度和耐久度受到嚴重的威脅。為了改善這些問題,錯誤更正碼技術是最為常見的方法來修正快閃記憶體中的錯誤,其中故障可分為永久性故障和干擾性故障兩大類,雖然都可以靠錯誤更正碼技術修復,當編碼字的錯誤數量高於錯誤更正碼的更正能力時,該編碼字就無法被修復。
    在這樣的情況下,我們提出一種全面的故障分類,將故障分為存 0 安全故障與存 1 安全故障,並結合故障遮蔽技術將故障遮蔽機率最大化。其主要概念為根據故障特性來儲存資料,以固定型故障來說明,固定於邏輯 0 的故障,在儲存邏輯 1 時會使得資料由邏輯 1 轉變為邏輯 0;而此時儲存邏輯 0 則為安全值。因此,本研究提出適應性資料重映射技術將資料重映射至安全的值中。此外為了減低資料重映射技術的硬體成本,我們採用修正餘度 (Correction Slack) 的概念 [1],藉由計算錯誤更正碼所剩餘的保護位元數量,針對修正餘度低於或等於使用者自訂的門檻值的資料以資料重映射技術保護。
    本研究也實現適應性資料重映射技術的硬體電路,且開發出模擬器對一個 128 MB 快閃記憶體的故障遮蔽效率、修復率、良率、可靠度及硬體成本進行分析。實驗結果顯示本技術可有效提升故障遮蔽機率,快閃記憶體在三時五萬小時使用後可靠度仍保有 98.4%,與傳統錯誤更正碼比較下的修復率也明顯較高。


    Flash memory has good device features such as scalability, high performance, low cost, and the fabrication technology is stable and mature recently. It is widely used in consumer electronic products such as smart phones, notebooks, digital audio players, and so on. The data value stored in a flash memory cell depends on the number of charges contained in the floating gate. Owing to the rapid progress of the process technologies, the multi-level cell (MLC), triple-level cell (TLC), and the quad-level cell (QLC) techniques are developed. Flash memory density increases rapidly since each cell can store more than one bit. However, the noise margin of each state becomes narrower. As the process scaling keeps shrinking, the reliability and endurance of flash memories are seriously threatened. To cure this problem, the most popularly used technique is the error correction code (ECC) which can correct error bits in flash memory. In general, permanent faults and disturb faults are the main fault types of flash memories, both can be repaired by ECC. However, when the number of erroneous bits is more than the correction capability of the adopted ECC, codewords cannot be repaired correctly.
    To cure this dilemma, we propose a comprehensive fault classification method based on the 1-safe and the 0-safe fault types. Thereafter, a novel fault masking technique is presented to maximize the masking probability. The main idea is that the data bits stored in the faulty cells are based on their fault behaviors. For example, the faulty cell with a stuck-at 0 fault cannot store logic 1 since the fault will be activated. Alternately, logic 0 is a safe value for this faulty cell. Therefore, the adaptive data remapping (DR) technique is proposed to remap data to their safe values for faulty cells. Besides, in order to reduce the hardware cost of the proposed DR technique, we adopt the concept of correction slack, which represents the remaining correction capability of the adopted ECC. Data words are equipped with the DR technique when the correction slack is less than or equal to the user-defined threshold.
    The corresponding hardware architecture of the adaptive DR technique is also proposed in this paper. A simulator is developed to analyze the fault masking efficiency, repair rate, yield, reliability, and hardware overhead for a 128-MB flash memory equipped with the adaptive DR technique. Experimental results show that the proposed technique can effectively increase the fault masking probability. The flash memory can still have 98.8% reliability after 900,000 operation hours. The repair rate is also higher as compared to the traditional ECC scheme.

    目錄 誌謝 I 摘要 II Abstract III 目錄 V 圖目錄 VIII 表目錄 XII 第一章 簡介 1 1.1 背景及動機 1 1.2 組織架構 5 第二章 快閃記憶體之基本工作原理與應用 6 2.1 快閃記憶體細胞之基本原理 6 2.2 快閃記憶體之操作 7 2.2.1 寫入操作 7 2.2.2 讀取操作 8 2.2.3 清除操作 9 2.3 快閃記憶體之陣列架構 10 2.3.1 非及型快閃記憶體 10 2.3.2 非或型快閃記憶體 11 2.4 固態硬碟 13 2.4.1 固態硬碟架構 14 2.4.2 邏輯/實體位址映射 14 2.4.3 壞區塊管理 16 2.4.4 損耗均衡 16 2.4.5 垃圾回收 17 第三章 快閃記憶體之測試與修復技術 18 3.1 功能性故障模型 18 3.1.1 常見記憶體之故障模型 18 3.1.2 快閃記憶體之特定故障模型 20 3.2 快閃記憶體之測試 23 3.2.1 測試演算法 23 3.2.2 測試流程 24 3.2.3 內建自我測試 25 3.3 內建自我修復技術 27 3.3.1 內建備用分析 27 3.3.2 內建自我修復 29 3.4 錯誤更正碼修復技術 30 3.4.1 漢明碼 30 3.4.2 BCH 碼 30 第四章 基於資料重映射之錯誤遮蔽技術 37 4.1 新型態快閃記憶體故障分類 37 4.2 故障遮蔽技術之基本概念 40 4.3 適應性資料重映射技術 41 4.3.1 適應性資料重映射技術介紹 41 4.3.2 適應性資料重映射技術之演算法 45 4.3.3 適應性資料重映射技術之流程 49 4.3.4 適應性資料重映射技術範例 51 4.4 適應性資料重映射技術之硬體架構 54 4.4.1 整體硬體架構模組 54 4.4.2 故障資訊定址記憶體模組 58 4.4.3 資料重映射之編/解映射器模組 59 第五章 實驗結果 61 5.1 故障遮蔽效率分析 61 5.1.1 注入故障模型 61 5.1.2 故障遮蔽效率分析結果 62 5.2 修復率分析 62 5.2.1 瑕疵分布與故障型態設定 63 5.2.2 修復率模擬結果 65 5.3 良率分析 67 5.3.1 良率分析模型 67 5.4 可靠度分析 70 5.4.1 可靠度模型 70 5.4.2 可靠度模擬結果 72 5.5 硬體成本分析 72 5.6 電路實現 76 5.6.1 電路功能驗證 76 5.6.2 電路佈局 80 第六章 結論與未來展望 82 6.1 結論 82 6.2 未來展望 82 參考文獻 83

    [1] 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.
    [2] Y. Li and K. N. Quader, “NAND flash memory: challenges and opportunities,” Computers, pp. 23-29, Aug. 2013.
    [3] T. Karnik, P. Hazucha and J. Patel, “Characterization of soft errors caused by single event upsets in CMOS processes,” IEEE Trans. Depend. Secure Computing, vol. 1, no. 2, pp. 128-143, Apr.-June 2004.
    [4] W. Kuo, W. T. K. Chien and T. Kim, “Reliability, yield, and stress burn-in,” Kluwer Academic Publishers, 1998.
    [5] N. Mielke, T. Marquart, N. Wu, J. Kessenich, H. Belgal, E. Schares, F. Trivedi, E. Goodness and L. R. Nevill, “Bit error rate in NAND flash memories,” in Proc. IEEE Int’l Rel. Phys. Symp. (IRPS), pp. 9-19, Apr. 2008.
    [6] S. Lin and D. J. Costello, Error control coding, 2nd ed., Englewood Cliffs, NJ: Pearson Prentice Hall, 2014.
    [7] G. Forney, “On decoding BCH codes,” IEEE Trans. Information Theory, vol. 11, no. 4, pp. 549-557, Oct. 1965.
    [8] M. R. Li, et al., “A low-complexity LDPC decoder for NAND flash applications,” in Proc. IEEE Int. Symp. Circuits Syst. pp. 213-216, July 2014.
    [9] S. Tanakamaru, Y. Yanagihara and K. Takeuchi, “Error prediction LDPC and error recovery schemes for highly reliable solid-state drives (SSDs),” IEEE J. Solid-State Circuits, vol. 48, no. 11, pp. 2920-2933, Nov. 2013.
    [10] Y. Y. Hsiao, C. H. Chen and C. W. Wu, “Built-in self-repair schemes for flash memory,” IEEE Trans. Computer-Aided Design of Integrated Circuits and Systems, vol. 29, no. 8, pp. 1243-1256, Aug. 2010.
    [11] O. Ginez, J. M. Portal and H. Aziza, “Reliability issues in flash memories: an on-line 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.
    [12] 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), pp. 114-119, Apr. 2006.
    [13] S. Y. Kuo and W. K. Fuchs, “Efficient spare allocation in reconfigurable arrays,” in Proc IEEE Design and Test of Computers, vol. 4, no. 1, pp. 24-31, June 1987.
    [14] Y. Hu, N. Xiao and X. Liu, “An elastic error correction code technique for NAND flash-based consumer electronic devices,” IEEE Trans. Consumer Electronics, vol. 9, no. 1, pp. 53-58, Apr. 2013.
    [15] D. Wei, L. Deng, P. Zhang, L. Qiao and X. Peng, “NRC: A nibble remapping coding strategy for NAND flash reliability extension,” IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems, vol. 35, no. 11, pp. 1942-1946, Nov. 2016.
    [16] J. Guo, D. Wang, Z. Shao and Y. Chen, “DPA: A data pattern aware error prevention technique for NAND flash lifetime extension,” IEEE Trans. VLSI, vol. 25, no. 4, pp. 1433-1443, Apr. 2017.
    [17] L. Cola, M. D. Tomasi, R. E. Vaion, A. Mervic and P. Zabberoni, “Read disturb on flash memories: Study on temperature annealing effect,” Mic. Rel., vol. 52, no. 9-10, pp. 1803-1807, June 2012.
    [18] S. K. Lu, S. H. Yu, Masaki H. and Hiroyuki Y., “Fault-Aware page address remapping techniques for enhancing yield and reliability of flash memories,” in Proc. IEEE Asian Test Symp. (ATS), pp. 249-254, Nov. 2017.
    [19] https://www.edntaiwan.com/news/article/20170911NT02-memory
    [20] D. Kahng and S. M. Sze, “A floating gate and its application to memory device,” Bell Syst. Tech. J., 46, 1288, 1967.
    [21] K. D. Suh, B. H. Suh, Y. H. Lim, J. K. Kim, Y. J. Choi, Y. N. Koh, S. S. Lee, S. C. Kwon, B. S. Choi, 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. ISSCC Tech., Vol. 30, no. 11, pp. 1149-1156, Nov. 1995.
    [22] M. Woods, “An E-PROM’s integrity starts with its cell structure,” in Nonvolatile Semiconductor Memories: Technologies, Design, and Application, IEEE Press, Ch. 3, pp. 59–62, 1991.
    [23] F. Masuoka, M. Momodomi, Y. Iwata and R. Shirota, “New ultra high density EPROM and flash EEPROM with NAND structured cell,” IEDM Tech. Dig., pp. 552-555, Dec. 1987.
    [24] R. Bez, E. Camerlenghi, A. Modelli and A. Visconti, “Introduction to flash memory” Proc. IEEE, vol. 91, no. 4, pp. 489-502, Apr. 2003.
    [25] https://www.giichinese.com.tw/publisher/foin.shtml
    [26] Takeuchi, K., “Novel co-design of NAND flash memory and NAND flash controller circuits for sub-30 nm low-power high-speed solid-state drives (SSD),” IEEE J. Solid State Circuits, vol. 44, pp. 1227–1234, Mar. 2009.
    [27] J. Kim, S. Noh, S. Min and Y. Cho, “A space-efficient flash translation layer for compactflash systems,” IEEE Trans. Consumer Electron., vol. 48, no. 2, pp. 366-375, May 2002.
    [28] STMicroelectronics, “Bad block management in NAND flash memories,” Application Note AN-1819, May 2004.
    [29] A. Ban and R. Hasbaron, “Wear leveling of static areas in flash memory,” US Patent 6,732,221, M-Systems, May 2004.
    [30] L. P. Chang, “On efficient wear-leveling for large-scale flash memory storage systems,” in Proc. ACM Symp. Applied Computing (ACM SAC), Mar. 2007.
    [31] M. L. Chiang, P. C. H. Lee and R. C. Chang, “Using data clustering to improve cleaning performance for flash memory,” Softw. Pract and Exper, 29(3), pp. 267-290, May 1999.
    [32] 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 Computing (ACM SAC), pp. 838-842, Mar. 2005.
    [33] L. Han, Y. Ryu and K. Yim, “CATA: A garbage collection scheme for flash memory file systems,” in Proc. Ubiquitous Intelligence and Computing (UCI), pp 103-112, 2006
    [34] 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.
    [35] IEEE 1005 standard definitions and characterization of floating gate semiconductor arrays, Piscataway, NJ: IEEE Standards Sept. 1999.
    [36] 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 Integrated Circuits and Systems, pp. 1101–1113, June 2007.
    [37] M. G. Mohammad and L. Terkawi, “Fault collapsing for flash memory disturb faults,” in Proc. IEEE European Symposium on Test (ETS), pp. 142–147, May 2005.
    [38] Stefano D. C., Fabiano M., Piazza R. and Prinetto P, “Exploring modeling and testing of NAND flash memories,” IEEE Design & Test Symp. (EWDTS), Sept. 2010.
    [39] C. T. Huang, J. R. Huang, C. F. Wu, C. W. Wu and T. Y. Chang, “A programmable BIST core for embedded DRAM,” IEEE Design & Test of Computers, vol. 16, no. 1, pp. 59-70, Jan. 1999.
    [40] A. J. V. D. Goor, “Using march tests to test SRAMs,” IEEE Design & Test of Computers, vol. 10, no. 1, pp. 8-14, Mar. 1993.
    [41] R. Nair, S. M. Thatte and J. A. Abraham, “Efficient algorithms for testing semiconductor random-access memories,” IEEE Trans. Computers, vol. C-27, no. 6, pp. 572-576, June 1978.
    [42] 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. IEEE VLSI Test Symp. (VTS), pp. 281-286, Apr. 2002
    [43] 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. IEEE Asian Test Symp. (ATS), pp. 260-265, Jan. 2005.
    [44] S. Y. Kuo and W. K. Fuchs, “Efficient spare allocation in reconfigurable arrays,” IEEE Design and Test of Computers, vol. 4, no. 1, pp. 24-31, June 1987.
    [45] C. T. Huang, C. F. Wu, J. F. Li and C. W. Wu, “Built-in redundancy analysis for memory yield improvement,” IEEE Trans. Reliability, vol. 52, no. 4, pp. 386-399, Dec. 2003.
    [46] S. K. Lu, C. L. Yang, Y. C. Hsiao and C. W. Wu, “Efficient BISR techniques for embedded memories considering cluster faults,” IEEE Trans. VLSI, vol. 18, no. 2, pp. 184-193, Feb. 2010.
    [47] R. W. Hamming, “Error detecting and error correcting codes,” Bell System Tech. J., no. 2, pp. 147-160, Apr. 1950.
    [48] R. C. Bose and D. K. Ray Chaudhuri, “On a class of error-correcting binary group codes,” Information and Contribution, vol. 3, Mar. 1960.
    [49] E. R. Berlekamp, “Algebraic Coding Theory”, McGraw-Hill, 1968.
    [50] 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. IJAREEIE, vol. 3, pp. 7782-7788, Mar. 2014.
    [51] X. Youzhi, “Implementation of Berlekamp-Massey algorithm without inversion,” in Proc. IEEE Proc. Communications, Speech and Vision, vol. 138, no. 3, pp. 138-140, June 1991.
    [52] Y. Chen and K. Parhi, “Small area parallel Chien search architectures for long BCH codes,” IEEE Trans. VLSI , vol. 12, no. 5, pp. 545-549, May 2004.
    [53] M. G. Mohammad and K. K. Saluja, “Optimizing program disturb fault tests using defect-based testing,” IEEE trans. on Computer-Aided Design of Integrated Circuits and Systems, vol. 24, no. 6, pp. 905-915, June 2005.
    [54] N. Dutt, P. Gupta, A. Nicolau and A. BanaiyanMofrad, “Multi-layer memory resiliency,” in Proc. IEEE Design Automation Conference, pp. 1-6, June 2014.
    [55] Diestel, Reinard. Graph Theory, Grad. Text in Math. Springer. 2005. ISBN 978-3-642-14278-9.
    [56] J. M. Rabaey, A. Chandrakasan and B. Nikolic, “Digital integrated circuits,” Pearson Education Taiwan Ltd.
    [57] K. Pagiamtzis and A. Sheikholeslami, “Content-addressable memory (CAM) circuits and architectures: A tutorial and survey,” IEEE J. Solid-State Circuits, vol. 41, no. 3, pp. 712-727, Mar. 2006.
    [58] C. H. Stapper, F. M. Armstrong and K. Saji, “Integrated circuit yield statistics,” Proc. IEEE, vol. 71, no. 4, pp. 453-470, Apr. 1983.
    [59] I. Koren and Z. Koren, “Defect tolerant VLSI circuits: techniques and yield analysis,” Proc. IEEE, vol. 86, pp. 1817-1836, Sept. 1998.
    [60] 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.

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