簡易檢索 / 詳目顯示

研究生: 余書奇
SHU-CHI YU
論文名稱: 使用錯誤遮罩技術以 提升高容量快閃記憶體的良率和可靠度
Fault Masking Techniques for Enhancing Yield and Reliability of High-Capacity Flash Memories
指導教授: 呂學坤
Shyue-Kung Lu
口試委員: 李進福
Jin-Fu Li
方劭云
Shao-Yun Fang
吳晉賢
Chin-Hsien Wu 
王乃堅
Nai-Jian Wang
學位類別: 碩士
Master
系所名稱: 電資學院 - 電機工程系
Department of Electrical Engineering
論文出版年: 2017
畢業學年度: 105
語文別: 中文
論文頁數: 108
中文關鍵詞: 快閃記憶體錯誤遮罩技術資料反轉技術位址重映射技術干擾性故障良率可靠度
外文關鍵詞: Flash Memory, Fault Masking Techniques, Data Inversion Techniques, Address Remapping Techniques, Disturbance Faults, Yield, Reliability
相關次數: 點閱:304下載:25
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報

由於有良好的可擴充性、低功耗及出色的隨機存取表現,快閃記憶體在消費性電子產品中佔主要的地位,像是筆記型電腦和數位音響播放器等產品。快閃記憶體細胞的儲存資訊方法是將電子儲存於浮閘中,隨著製程的進步,使得每個細胞不再是單階儲存細胞 (Single-Level Cell, SLC) ,而是發展出多階儲存細胞 (Multiple-Level Cell, MLC),因此每個細胞可以儲存1個位元以上的資料,但這也促使每個臨界偏壓的雜訊邊限縮小,因此製程越小就會讓快閃記憶體的可靠度和耐久度下降。為了解決這些問題,常見的方法為使用錯誤更正碼技術來解決快閃記憶體中的故障,其中故障又主要分為永久性故障和干擾性故障,然而當一個編碼字的故障細胞數量超出更正碼的修正能力範圍時,該編碼字就無法被修復。
因此,本研究提出錯誤遮罩技術來解決這些問題,核心概念為根據故障特性來儲存資料,以永久性故障來說,固定於邏輯1的錯誤雖然不能儲存邏輯0,但能儲存邏輯1,反之亦然。本研究提出兩種錯誤遮罩技術,一種是以資料反轉技術來遮罩故障,此外為了提升遮罩效益亦將其結合錯誤分散技術;另一種則是以位址重映射技術來遮罩故障,包括頁字位址重映射技術和站細胞位址重映射技術,此外根據干擾故障特性,該故障亦適用於上述的方法,在此篇將干擾故障視為虛擬固定型故障,並將其和永久性故障分為能儲存邏輯1的種類和能儲存邏輯0的種類,根據此種歸納方式,當資料寫入緩衝器時,適時地做資料或位址上的處理,以達到錯誤遮罩的效果。
本研究實現錯誤遮罩技術的硬體電路,包括資料反轉器、位址重映射器等,並發展一個模擬器以評估修復率以及良率,此外分析計算可靠度及硬體成本。根據實驗的結果,本篇所提出技術硬體成本只有1.1%,幾乎可以忽略,而且結合錯誤遮罩的技術修復率比只使用漢明更正碼技術提升約15%,良率最少也有93.4%,此外當使用時間達到300,000小時後,可靠度仍有98% 的水準。


Owing to the good scalability, low power consumption and excellent random access performance, flash memories are widely used in consumer products such as laptop computers, digital audio players and so on. The way to store information for a flash memory cell is by storing electrons into its floating gate. In spite of the conventional single-level cell (SLC), there are also the multiple-level cells (MLC) and the triple-level cells (TLC). However, the noise margin on each Vth level of the multiple-level cells shrinks significantly. Therefore, the aggressive scaling trend causes serious reliability and endurance degradation. In order to deal with this issue, the most popularly used technique is error correction code (ECC). In general, faults can be classified into two categories: the permanent fault and the disturb fault. However, a codeword cannot be corrected successfully if the number of faulty bits within a codeword is greater than the protection capability of the adopted ECC techniques.
Therefore, this thesis proposes fault masking techniques to solve this problem. The main idea is to store the safe data bits based on the characteristics of faults. For example, faulty cell with the permanent stuck-at 1 cannot store logic 0. That is, logic 1 is a safe value for this cell. There are two types of fault masking techniques. The first one is the data inversion technique. In order to enhance the masking probability, the basic data inversion technique can also incorporate with the fault redistribution technique. It masks faults by the address remapping techniques which including the page word address remapping and the bank cell address remapping techniques. Moreover, the disturb faults also can also be masked by the techniques mentioned above. In this thesis, we treat the disturb faults as the virtual stuck-at faults. We then group disturb faults and permanent faults into two categories. The first categories can store logic 1 correctly. Alternately, the second one can store logic 0 safely. Based on this observation, we can change the mapping of data or address bits before entering the page buffer for masking faults.
The hardware architecture for implementing the proposed fault masking technique includes the data inverter and the address remapper, etc. A simulator has been developed to evaluate the repair rate and the effective yield. Moreover, we also analyze and evaluate the hardware overhead and reliability. According to experimental results, the hardware overhead of proposed technique is about 1.6%. The repair rate of proposed technique is 15% higher than merely using the ECC technique. The achieved effective yield is more than 93.4%. Furthermore, the reliability of a flash memory can achieve up to 98% after 300,000 hours of normal operations.

誌謝 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 讀取操作 7 2.2.3 清除操作 9 2.3 快閃記憶體的架構 9 2.3.1 非及型快閃記憶體 10 2.3.1 非或型快閃記憶體 10 2.4 固態硬碟 11 2.4.1 邏輯/實體位址映射 13 2.4.2 壞區塊管理 14 2.4.3 垃圾回收 14 2.4.4 損耗均衡 15 第三章 快閃記憶體的測試與修復技術 16 3.1 功能性故障模型 16 3.1.1 常見記憶體的故障模型 16 3.1.2 快閃記憶體的特定故障模型 18 3.2 測試演算法 20 3.3 快閃記憶體的測試流程 22 3.4 內建自我修復 23 3.4.1 內建自我測試 24 3.4.2 內建備用分析 26 第四章 錯誤遮罩技術 29 4.1 錯誤遮罩技術概念 29 4.2 基於資料反轉技術之錯誤遮罩技術 32 4.2.1 資料反轉技術 32 4.2.2 錯誤分散技術 34 4.2.3 結合資料反轉與錯誤分散技術 36 4.2.4 針對資料反轉技術之錯誤分散演算法 38 4.2.5 基於資料反轉技術的測試與修復流程 44 4.3 基於位址重映射技術之錯誤遮罩技術 51 4.3.1 記憶體頁字位址重映射技術 51 4.3.2 記憶體站細胞位址重映射技術 53 4.3.3 位址重映射技術演算法 55 4.3.3.1 記憶體頁字位址重映射演算法 55 4.3.3.2 記憶體站細胞位址重映射演算法 59 4.3.4 基於位址重映射技術的測試與修復流程 64 第五章 實驗結果 66 5.1 瑕疵分佈與故障模型的設定 66 5.2 修復率分析 68 5.3 良率分析 70 5.4 可靠度分析 73 5.5 硬體成本分析 76 5.6 超大型積體電路實現 80 5.6.1 前段電路設計 80 5.6.2 後段電路設計 86 第六章 結論與未來展望 88 6.1 結論 88 6.2 未來展望 89 參考文獻 90

[1] Semico Res. Corp., Phoenix, AZ, USA, ASIC IP Rep., 2007. [Online]. Available: http://www.semico.com/content/semico-systems-chip-%E2%80%93-braver-new-world.
[2] Y. Li and K. N. Quader, “NAND flash memory: challenges and opportunities,” Computer, pp. 23-29, Aug. 2013.
[3] 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.
[4] 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.-Jun. 2004.
[5] W. Kuo, W. T. K. Chien, and T. Kim, “Reliability, yield, and stress burn-in,” Kluwer Academic Publishers, Boston, 1998.
[6] C. S. Hou and J. F. Li, “Testing disturbance faults in various NAND flash memories,” in Proc. IEEE Asian Test Symp. (ATS), pp. 221-226, Nov. 2013.
[7] M. G. Mohammad and K. K. Saluja, “Flash memory disturbances: modeling and test,” in Proc. IEEE VLSI Test Symp. (VTS), pp. 218-224, Apr. 2001.
[8] 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.
[9] 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.
[10] 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), Berkeley, pp. 114-119, Apr. 2006.
[11] F. Sala, K. A. S. Immink, and L. Dolecek, “Error control schemes for modern flash memories: solutions for flash deficiencies,” IEEE Consumer Electronics Magazine, vol. 4, no.1, pp. 66-73, Jan. 2015.
[12] R. W. Hamming, “Error detecting and correcting codes,” Bell Syst. Tech. J., vol. 29, pp. 147-160, Apr. 1950.
[13] C. C. Chu, Y. M. Lin, C. H. Yang, and H. C. Chang, "A fully parallel BCH codec with double error correcting capability for NOR flash applications," in Proc. IEEE Int’l Conf. Acoustics, Speech and Signal Processing (ICASSP), pp. 1605-1608, Mar. 2012.
[14] L.Yuan, H. Liu, P. Jia, and Y. Yang, “Reliability-based ECC system for adaptive protection of NAND flash memories,” in Proc. 5th Int’l Conf. Commun. Syst. Netw. Technol. (CSNT), pp. 897-902, Apr. 2015.
[15] 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.
[16] J. Guo, Z. Chen, D. Wang, Z. Shao, and Y. Chen, “DPA: A data pattern aware error prevention technique for NAND flash lifetime extension,” in Proc. Asia South Pac. Des. Autom. Conf. (ASP-DAC), pp. 592-597, Jan. 2014.
[17] 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.
[18] S. K. Lu, S. X. Zhong, and M. Hashizume, “Adaptive ECC techniques for yield and reliability enhancement of flash memories”, in Proc. IEEE Asian Test Symp. (ATS), pp. 287-292, Nov. 2016.
[19] S. S. Rizvi and T. S. Ching, "Flash SSD vs HDD: High performance oriented modern embedded and multimedia storage systems," in Proc. Computer Engineering and Technology (ICCET 10), pp. 297-299, Nov.-Dec. 2010.
[20] J. Kim, S. Noh, S. Min, and Y. Cho, “A space-efficient flash translation layer for compact flash systems,” IEEE Trans. Consumer Electron., vol. 48, no. 2, pp. 366-375, May 2002.
[21] 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.
[22] 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.
[23] IEEE 1005 standard definitions and characterization of floating gate semiconductor arrays, Piscataway, NJ: IEEE Standards Dept., 1999.
[24] 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.-Mar. 1999.
[25] 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.
[26] 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.
[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. Computer-Aided Design of Integrated Circuits and Systems, vol. 26, no. 6, pp. 1101-1113, June 2007.
[28] 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.
[29] C. F. Wu, C. T. Huang, and C. W. Wu, “RAMSES: a fast memory simulator,” in Proc. IEEE Int’l Symp. On Defect and Fault Tolerance in VLSI Systems (DFT), pp. 165-173, Nov. 1999.
[30] 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.
[31] T. Kawagoe, J. Ohtani, M. Niiro, T. Ooishi, M. Hamada, and H. Hidaka, “A built-in self-repair analyzer (CRESTA) for embedded DRAMs,” in Proc. Int’l Test Conf. (ITC), pp. 567-574, Oct. 2000.
[32] 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.
[33] 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.
[34] S. K. Lu, C. L. Yang, Y. C. Hsiao, and C. W. Wu, “Efficient BISR techniques for embedded memories considering cluster faults,” IEEE Trans. Very Large Scale Integr. Syst., vol. 18, no. 2, pp. 184-193, Feb. 2010.
[35] M. G. Mohammad and K. K. Saluja, “Optimizing program disturb fault tests using defect-based testing”, IEEE Trans. Computer-Aided Design of Integrated Circuits and Systems, vol. 24, no. 6, pp. 905-915, June 2005.
[36] C. H. Stapper, F. M. Armstrong, and K. Saji, “Integrated circuit yield statistics,” Proceedings of the IEEE, vol. 71, no. 4, pp. 453-470, Apr. 1983.
[37] I. Koren and Z. Koren, “Defect tolerant VLSI circuits: techniques and yield analysis,” in Proc. IEEE, vol. 86, pp. 1817-1836, Sept. 1998.
[38] R. F. Huang, J. F. Li, J. C. Yeh, and C. W. Wu, “A simulator for evaluating redundancy analysis algorithm of repairable embedded memories,” in Proc. 8th IEEE Int’l On-Line Testing Workshop, pp. 262-267, July 2002.
[39] M. Mano and C. Kime, “Logic and computerdesign fundamentals,” Prentice Hall, Inc., pp. 111-116, 2003.
[40] http://www.hoy-tech.com/.

QR CODE