研究生: |
謝文凱 Hsieh, Wen-Kai |
---|---|
論文名稱: |
應用於多通道快閃記憶體之有條件閾值平均磨損演算法 Conditional Threshold Wear-leveling Algorithm for Multi-channel NAND Flash Memory |
指導教授: |
馬席彬
Ma, Hsi-Pin |
口試委員: | |
學位類別: |
碩士 Master |
系所名稱: |
電機資訊學院 - 電機工程學系 Department of Electrical Engineering |
論文出版年: | 2009 |
畢業學年度: | 98 |
語文別: | 英文 |
論文頁數: | 53 |
中文關鍵詞: | 平均磨損演算法 、快閃記憶體 、多通道 |
外文關鍵詞: | wear-leveling, NAND flash, multi-channel |
相關次數: | 點閱:3 下載:0 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
近年來NAND型快閃記憶體已成為一種被廣泛使用的儲存媒體,然而它有耐用度上得問題。每個NAND型快閃記憶體的區塊都有有限的磨耗次數。當一區塊超過1萬至10萬次的磨耗之後,抹除錯誤會開始發生,也就是該區塊有可能無法被正確地寫入與抹除,這是目前NAND型快閃記憶體必然會面臨的問題。若檔案系統沒有針對這個部份加以處理,會發生記憶體區塊抹除數不平均的情況,造成某些區塊較早發生抹除錯誤,間接縮短了快閃記憶體的壽命。平均磨損是一種將抹除動作平均分散到各個區塊的技術,避免部份區塊被過度使用,以延長使用壽命。
而固態硬碟是由數片NAND型快閃記憶體晶片組成,目標是取代傳統的磁碟式硬碟。為了提昇效能,有些支援多通道的控制器已經被提出,這些通道可以同時分別控制不同的晶片。我們考慮這點,對所提出的演算法做出一些修改。
在此論文中,我們提出了一個適用於多通道快閃記憶體的有條件閾值平均磨損演算法。此演算法的基本原則是追蹤各區塊抹除數並做調整。針對多通道,一個平均磨損的動作被分成數個子動作並分配到不同的通道上,這幾個子動作同時執行,可以減少執行單一個平均磨損動作所需要的時間。而有條件閾值的概念則是讓閾值隨著平均磨耗次數增加而減少,這能讓快閃記憶體在還很新的時候,不用做太多的平均磨損動作造成多餘的抹除,但是又會隨著快閃記憶體的老化,閾值會逐漸變小,使平均磨損運作得更頻繁,以達到延長整個記憶體使用壽命的作用。
Recently, NAND flash memory has become a widely used data storage media. However, it has the endurance problem that each NAND flash block has limited erase cycles. Erase failure usually first occurs over 10K-100K erase cycles. This is inherent endurance characteristic of NAND flash, and in multi-level cell (MLC) NAND flash, this problem is more serious.
Wear-leveling is a technique that distributes erase operations evenly to all blocks to extend the lifetime of a flash memory. NAND flash-based solid-state drive (NSSD) is composed of several NAND flash memory chips. To improve the performance, some multi-channel NSSD controllers have been
proposed. These channels can operate parallelly and control different chips.
In this thesis, a conditional threshold wear-leveling algorithm fitting multi-channel architectur is proposed. The overall wear-leveling operation is separated into several suboperations, and these sub-operations are distributed to different channels. This reduces the
runtime of the wear-leveling operation. The conditional threshold value decreases when the average erase cycle increases. This can reduce extra erase operations cause by wear-leveling when the flash memory is young. As the flash memory becomes older, the smaller threshold makes wear-leveling work more frequently to get better performance.
[1] A. Inoue and D. Wong. (2003, Apr.) NAND flash applications design guide. [Online].
Available: http://www.data-io.com/pdf/NAND/Toshiba/NandDesignGuide.pdf
[2] J. Janukowicz and D. Reinsel. (2007, Nov.) Evaluating the SSD total cost of ownership. [Online]. Available: http://shop.lenovo.com/ISSStatic/
merchandising/US/PDFs/evaluating-total-cost.pdf
[3] D. Dumitru. (2007, Aug.) Understanding flash SSD performance. [Online]. Available:
http://www.storagesearch.com/easyco-flashperformance-art.pdf
[4] Understanding the Flash Translation Layer (FTL) Specification, Intel Corporation, 1998.
[5] Flash-memory Translation Layer for NAND flash (NFTL), M-Systems, 1998.
[6] Sandisk Flash Memory Cards Wear Leveling, SanDisk, 2003.
[7] D. Shmidt. (2002, Mar.) Trueffs wear-leveling mechanism. [Online]. Available: http://www.spezial.de/commercio/dateien/magazin/TrueFFS-Wear-Leveling-Mechanism.pdf
[8] K. Perdue. (2008, Apr.) Wear leveling. [Online]. Available:
http://www.eettaiwan.com/STATIC/PDF/200808/EETOL-2008IIC-Spansion-AN-13.pdf
[9] J. U. Kang, J. Kim, C. Park, H. Park, and J. Lee, “A multi-channel architecture for high performance NAND flash-based storage system,” Journal of Systems Architecture,
[10] C. Park, P. Talawar, D. Won, M. J. Jung, J. B. Im, S. Kim, and Y. Choi, “A high performance controller for NAND flash-based solid state disk (NSSD),” Non-Volatile Semiconductor Memory Workshop, vol. 53, pp. 17–20, Feb. 2006.
[11] L. P. Chang and T. W. Kuo, “An adaptive striping architecture for flash memory storage systems of embedded systems,” in Proceedings of the Eighth IEEE Real-Time and
Embedded Technology and Applications Symposium (RTAS’02), Sep. 25–27, 2002, p. 187.
[12] J.W. Park, G. H. Park, C.Weems, and S. D. Kim, “Sub-grouped superblock management for high-performance flash storages,” IEICE Electronics Express, vol. 6, no. 6, p. 297, Mar. 2009.
[13] T. Gleixner, F. Haverkamp, and A. Bityutskiy. (2006, Jun.) Ubi- unsorted block images. ubidesign.pdf. [Online]. Available: http://www.linuxmtd.infradead.org/doc/ubidesign/ubidesign.pdf
[14] L. P. Chang, “On efficient wear leveling for large-scale flash-memory storage systems,”in Proceedings of the ACM symposium on applied computing, Seoul, Korea, Mar. 11–15, 2007, pp. 1126–1130.
[15] L. P. Chang and T.W. Kuo, “Efficient management for large-scale flash-memory storage systems with resource conservation,” ACM Transaction on Storage, vol. 1, pp. 381–418, Nov. 2005.
[16] D. Jung, Y. H. Chae, H. Jo, J. S. Kim, and J. Lee, “A group-based wear-leveling algorithm for large-capacity flash memory storage system,” in Proceedings of the International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES), Salzburg, Austria, Sep. 2007, pp. 160–164.
[17] D. Woodhouse. JFFS: The journalling flash file system. jffs2.pdf. [Online]. Available:
http://sources.redhat.com/jffs2/
[18] ——. JFFS2: The journalling flash file system, version 2. jffs2.pdf. [Online]. Available:
http://sourceware.org/jffs2/
[19] C. Manning. (2006, Jul.) YAFFS: the nand-specific flash file system. [Online]. Available:
http://www.yaffs.net/yaffs-nand-specific-flash-file-system-introductory-article
[20] H. joon Kim and S. goo Lee, “An effective flash memory manager for reliable flash
memory space management,” IEICE Transactions on Information and System, vol. E85-D, no. 6, pp. 950–964, Jun. 2002.
[21] M. L. Chiang, P. C. H. Lee, and R. C. Chang, “Using data clustering to improve cleaning performance for flash memory,” Software: Practice and Experience, vol. 29, no. 3, pp. 267–290, Mar. 1999.
[22] Y.-H. Chang, J.-W. Hsieh, and T.-W. Kuo, “Endurance enhancement of flash-memory storage, systems: An efficient static wear leveling design,” in Design Automation Conference, 2007. DAC ’07. 44th ACM/IEEE, Jun. 4–8, 2007, pp. 212–217.