研究生: |
馬國峰 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.
[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.