| 研究生: |
黃冠豪 Huang, Guan-Hau |
|---|---|
| 論文名稱: |
快閃記憶體檔案系統之分析 An Analysis of Flash Memory File Systems |
| 指導教授: |
陳 敬
Chen, Jing |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 電腦與通信工程研究所 Institute of Computer & Communication Engineering |
| 論文出版年: | 2018 |
| 畢業學年度: | 106 |
| 語文別: | 中文 |
| 論文頁數: | 68 |
| 中文關鍵詞: | 檔案系統 、快閃記憶體 、JAFFS2 、YAFFS2 、UBIFS 、FTL |
| 外文關鍵詞: | file system, flash memory, JAFFS2, YAFFS2, UBIFS, FTL |
| 相關次數: | 點閱:90 下載:6 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
本論文探討並設計一分析快閃記憶體檔案系統之方法。因目前快閃記憶體檔案系統於嵌入式系統並無進一步的開發與進展,多數使用快閃記憶體轉換層配合磁碟檔案系統使用。期望可辨別嵌入式快閃記憶體檔案系統之應用場景與作為未來設計與開發之參考。
本論文首先分析快閃記憶體檔案系統應用於嵌入式系統之功能性與快閃記憶體之特性,再藉著傳統檔案系統之目的與功能作為參考,設計一測試方案符合用於嵌入式系統之快閃記憶體檔案系統。除了分析現有快閃記憶體之特性比較現存快閃記憶體檔案系統之優缺點。
測試方案實作以一實體嵌入式系統配合快閃記憶體晶片做為測試場景,用以架設各種快閃記憶體檔案系統之環境,包括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] 檔案系統, 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.