進階搜尋


 
系統識別號 U0026-0309201818331700
論文名稱(中文) 快閃記憶體檔案系統之分析
論文名稱(英文) An Analysis of Flash Memory File Systems
校院名稱 成功大學
系所名稱(中) 電腦與通信工程研究所
系所名稱(英) Institute of Computer & Communication
學年度 106
學期 2
出版年 107
研究生(中文) 黃冠豪
研究生(英文) Guan-Hau Huang
學號 VM6052068
學位類別 碩士
語文別 中文
論文頁數 68頁
口試委員 指導教授-陳 敬
召集委員-張榮貴
口試委員-王明習
口試委員-張大緯
口試委員-薛智文
中文關鍵字 檔案系統  快閃記憶體  JAFFS2  YAFFS2  UBIFS  FTL 
英文關鍵字 file system  flash memory  JAFFS2  YAFFS2  UBIFS  FTL 
學科別分類
中文摘要 本論文探討並設計一分析快閃記憶體檔案系統之方法。因目前快閃記憶體檔案系統於嵌入式系統並無進一步的開發與進展,多數使用快閃記憶體轉換層配合磁碟檔案系統使用。期望可辨別嵌入式快閃記憶體檔案系統之應用場景與作為未來設計與開發之參考。
本論文首先分析快閃記憶體檔案系統應用於嵌入式系統之功能性與快閃記憶體之特性,再藉著傳統檔案系統之目的與功能作為參考,設計一測試方案符合用於嵌入式系統之快閃記憶體檔案系統。除了分析現有快閃記憶體之特性比較現存快閃記憶體檔案系統之優缺點。
測試方案實作以一實體嵌入式系統配合快閃記憶體晶片做為測試場景,用以架設各種快閃記憶體檔案系統之環境,包括JFFS2、YAFFS2及UBIFS。藉由添加用以記錄快閃記憶體檔案系統資訊之程式碼,配合第三方性能測試工具,模擬使用情況觀測運作數據並加以分析其掛載情形、讀寫情況與垃圾回收性能。可藉由測試方案數據挑選於各場景應用最優之檔案系統,或利用本數據加以改善並再開發快閃記體之檔案系統。
英文摘要 This paper explores and develops a method for analyzing flash file system. It is expected to identify the application scenarios with suitable the embedded flash file system and to serve as a reference for future design and development.
This paper first analyzes the characteristics of the flash memory the function of the flash file system applied to embedded system, and then used the function of the traditional file system as a target to design test data solution for embedded systems. In addition to analyzing the characteristics of existing flash memory, advantages and disadvantages of existing flash file system are discussed.
The test solution is implemented in a physical embedded system platform equipped with a flash memory chip to set up various flash file systems, including JFFS2, YAFFS2, UBIFS and the operating conditions are simulated. By adding code to record the operating information of the flash file system and using third-party performance testing tools to observe the operation, the performance of mounting, reading and writing, and garbage collection are analyzed. The test plan are results can help the suitable select the file system for various application scenarios. It is also possible use this result to improve and develop new flash file system.
論文目次 目 錄
第1章 緒論 1
1.1 研究背景 1
1.2 研究動機與目的 1
1.3 研究方法 2
1.4 章節規劃 2
第2章 相關研究 3
2.1 檔案系統 3
2.1.1 檔案系統的概念 3
2.1.2 檔案系統的類型 4
2.2 快閃記憶體 5
2.2.1 NOR快閃記憶體 5
2.2.2 NAND快閃記憶體 6
2.3 快閃記憶體之檔案系統 9
2.4 JOURNALING FLASH FILE SYSTEM 11
2.4.1 節點格式 11
2.4.2主記憶體的邏輯結構 12
2.4.3在快閃記憶體的實際結構 14
2.4.4 JFFS2 掛載流程 14
2.4.5 JFFS2 檔案寫入運作 15
2.4.6 JFFS2 檔案讀取運作 15
2.4.7 JFFS2 的垃圾回收 15
2.5 YET ANOTHER FLASH FILE SYSTEM 16
2.5.1 YAFFS2 在快閃記憶體上的實際數據結構 16
2.5.2 YAFFS2在主記憶體的邏輯結構 18
2.5.3掛載與卸載流程 18
2.5.4 YAFFS2 檔案寫入運作 19
2.5.5 YAFFS2 檔案讀取運作 19
2.5.6 YAFFS2 垃圾回收運作 19
2.6 UNSORTED BLOCK IMAGE FILE SYSTEM 20
2.6.1 UBI 20
2.6.2 UBIFS 21
2.6.3 UBIFS在快閃記憶體上的實際數據結構 21
2.6.4 UBIFS在主記憶體的邏輯結構 23
2.6.5 UBIFS 掛載與卸載流程 23
2.6.6 UBIFS 寫入運作 24
2.6.7 UBIFS 讀取運作 24
2.6.8 UBIFS 垃圾回收 24
2.7 過去文獻 26
2.8 討論 27
第3章 分析檔案系統的框架與設計 28
3.1 設計框架前言 28
3.2 框架設計 28
3.3 方法設計 29
3.3.1 探討掛載與卸載的時間關係 30
3.3.2 探討讀取與寫入的時間關係 30
3.3.3探討垃圾回收與時間的關係 31
3.4 方法實作 31
3.4.1 探討掛載與卸載的方法 31
3.4.2 探討讀取與寫入的方法 32
3.4.3 探討垃圾回收的方法 32
3.5 JFFS2測量方法 33
3.5.1 JFFS2的掛載與卸載 33
3.5.2 JFFS2的垃圾回收 34
3.6 YAFFS2的測量方法 35
3.6.1 YAFFS2的掛載與卸載 35
3.6.2 YAFFS2的垃圾回收 36
3.7 UBIFS的測量方式 38
3.7.1 UBIFS的掛載與卸載 38
3.7.2 UBIFS的垃圾回收 39
3.8 總結 39
第4章 模擬與分析 40
4.1 系統模擬工具之簡介 40
4.2 環境配置 40
4.2.1 嵌入式系統環境配置 40
4.2.2 環境製作 41
4.3 測試工具 47
4.4 分析流程 48
4.4.1 掛載與卸載 48
4.4.2 讀寫性能 55
4.4.3 垃圾回收 59
4.5 總結 63
第5章 結論與未來展望 65
5.1 結論 65
5.2 未來展望 65
參考文獻 67
參考文獻 [1] 檔案系統, https://sls.weco.net/node/21330, accessed on 2018-04-23.
[2] 檔案系統, https://en.wikipedia.org/wiki/File_system, accessed on 2018-04-23.
[3] 快閃記憶體, https://en.wikipedia.org/wiki/Flash_memory, accessed on 2018-04-26.
[4] Seung-Ho Lim, Kyu-Ho Park, “An efficient NAND flash file system for flash memory storage,” IEEE Transactions on Computers , Volume: 55, Issue: 7, 2006-07.
[5] 快閃記憶體介紹, http://cmchao.logdown.com/posts/60216, accessed on 2018-05-02.
[6] TLC, https://wechat.kanfb.com/archives/190751, accessed on 2018-05-03.
[7] 比較SLC, MLC, TLC, https://flashdba.com/2014/07/03/understanding-flash-slc-mlc-and-tlc/, accessed on 2018-04-13.
[8] 虛擬檔案系統, https://notes.shichao.io/lkd/ch13/, accessed on 2018-05-10.
[9] 快閃記憶體轉換, https://en.wikipedia.org/wiki/Flash_memory_controller, accessed on 2018-07-10.
[10] 記憶體技術設備, http://www.linux-mtd.infradead.org/, accessed on 2018-04-24.
[11] A JFFS2 ANALYSIS, http://www.inf.u-szeged.hu/projectdirs/jffs2/jffs2-anal/jffs2-anal.html, accessed on 2018-04-28.
[12] David Woodhouse, “JFFS: The Journaling Flash File System”.
[13] JFFS2 源代码情景分, https://wenku.baidu.com/view/718ed93c10661ed9ad51f3ae.html?pn=50, accessed on 2018-04-28.
[14] Charles Manning, “How Yaffs works,” 2012-06-02.
[15] YAFFS 官網, https://yaffs.net, accessed on 2018-05-06.
[16] Adrian Hunter, “A Brief Introduction to the Design of UBIFS,” 2008-3-27.
[17] Thomas Gleixner, Frank Haverkamp, Artem Bityutskiy, “UBI - Unsorted Block Images,” 2006-06-09.
[18] LIU Shu, GUAN Xuetao, TONG Dong and CHENG Xu, “Analysis and Comparison of NAND Flash Specific File System,” Chinese Journal of Electronics Vol 19 No.3, 2010-07-31.
[19] Shinji Namihira, “Evaluation of Flash File Systems for Large NAND Flash Memory”, Embedded System Technology Development Dept., 2009-07-17.
[20] Pierre Olivier, Jalil Boukhobza, Eric Senn, “On Benchmarking Embedded Linux Flash File Systems,” ACM SIGBED Review - 2nd Workshop on Embed With Linux (EWiLi 2012), Volume 9 Issue 2, 2012-06-31.
[21] Ming-Chang Yang, Yu-Ming Chang, Che-Wei Tsao, Po-Chun Huang, Yuan-Hao Chang, Tei-Wei Kuo, “Garbage Collection and Wear Leveling for Flash Memory: Past and Future,” International Conference on Smart Computing 2014.
[22] File Benchmarking Portal, http://fsbench.filesystems.org, accessed on 2018-04-23.
[23] Beagle Bone, https://eewiki.net/display/linuxonarm/BeagleBone+Black#BeagleBoneBlack-CopyRootFileSystem, accessed on 2018-01-20
[24] Iozone官網, http://www.iozone.org/, accessed on 2018-04-23.
[25] Bonnie++, https://sourceforge.net/projects/bonnie/, accessed on 2018-04-23.
[26] Fio, https://github.com/axboe/fio, accessed on 2018-04-23..
[27] ARM GCC, https://www.linaro.org/, accessed on 2018-02-10.
[28] U-BOOT, http://www.denx.de/wiki/U-Boot, accessed on 2018-02-12.
[29] Debian roofs, https://www.debian.org/, accessed on 2018-02-12.
[30] Bonnie++ example, https://www.jianshu.com/p/2e048e23e9f7, accessed on 2018-02-12.
[31] Fio example, https://wsgzao.github.io/post/fio/, accessed on 2018-05-01.
論文全文使用權限
  • 同意授權校內瀏覽/列印電子全文服務,於2018-09-19起公開。
  • 同意授權校外瀏覽/列印電子全文服務,於2018-09-19起公開。


  • 如您有疑問,請聯絡圖書館
    聯絡電話:(06)2757575#65773
    聯絡E-mail:etds@email.ncku.edu.tw