簡易檢索 / 詳目顯示

研究生: 陳啟宏
Chi-Hung Chen
論文名稱: 嵌入式系統之UBIFS檔案系統移植
Porting UBIFS on Embedded Systems
指導教授: 吳晉賢
Chin-Hsien Wu 
口試委員: 阮聖彰
Shanq-Jang Ruan 
陳維美
Wei-Mei Chen 
張經略
Ching-Lueh Chang
學位類別: 碩士
Master
系所名稱: 電資學院 - 電子工程系
Department of Electronic and Computer Engineering
論文出版年: 2014
畢業學年度: 102
語文別: 中文
論文頁數: 70
中文關鍵詞: 嵌入式系統檔案系統UBIFS
外文關鍵詞: File Systems, Embedded Systems, UBIFS
相關次數: 點閱:368下載:3
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 市面上嵌入式系統的應用日新月異,隨著產品應用的進步,相對的程式大小與檔案儲存的空間需求也遽增,所以儲存裝置的效能與容量需求越來越大,目前嵌入式系統的儲存裝置除了EEPROM、NOR Flash、SD card之外,主流以NAND Flash為大宗,主要是因為NAND Flash擁有了容量大、成本低的特性,且現在市面上的嵌入式系統所使用的CPU幾乎都內嵌了NAND Flash的控制器,如此更簡化了電路上的設計,因此適用於NAND Flash的檔案系統也日益重要,UBIFS為目前嵌入式作業系統上最常被使用的檔案系統。
    本論文將實作嵌入式作業系統的檔案系統功能,重點在於如何將UBIFS檔案系統移植到嵌入式系統的過程,並不針對特定的硬體平台。因此,此流程是可實作於多數的硬體平台上。希望透過本論文能夠一窺UBIFS檔案系統的移植方法,並分享移植過程中所遭遇的問題、重點以及解決方法。望藉由本論文,使相關研究者能夠在將來遇到不同嵌入式平台時能夠有移植與建置系統的參考。


    With the improvement of embedded systems, the demand for the storage of the related products increases. Current storage devices of embedded systems include EEPROM, NOR Flash, SD card, and NAND Flash as well. NAND Flash is the most frequently-used device because of its large capacity and low cost. Now, almost every embedded CPU has NAND Flash controller, which simplifies the circuit design. As a result, the suitability of file systems for NAND Flash is increasingly important, and UBIFS is the most common used file system for NAND Flash.
    The thesis implements a NAND Flash file system on embedded systems and focuses on how to port UBIFS file system on embedded systems, but not restricted to any specific hardware platform. Through the thesis, I hope to share the porting method of UBIFS and provide a solution to the problems during the porting process. I also hope that future researchers can take it for references when porting and building the UBIFS system on different embedded platforms.

    論文摘要 i ABSTRACT ii 第一章:緒論 1 第二章:文獻探討 3 2.1 TI AM3352處理器 3 2.1.1 AM3352 NAND Flash控制器介紹 4 2.2 AM335x 開發板 6 2.3 嵌入式系統 7 2.3.1交叉工具鏈 8 2.3.2 嵌入式系統開機載入程序(bootloader) 8 2.3.3 嵌入式作業系統核心(Kernel) 9 2.3.4 嵌入式根檔案系統(root file system) 9 2.4 NAND Flash介紹 10 2.4.1 NAND FALSH種類 10 2.4.2 NAND Flash的限制與缺點 11 2.4.3 NAND Flash的控制 12 2.4.4 NAND Flash定址方式 14 2.5 UBIFS檔案系統 15 2.5.1 UBIFS與JFFS2的差異 16 2.5.2 UBIFS檔案系統架構 17 2.5.3 MTD系統 17 2.5.4 UBI系統 18 2.5.4.1 UBI header 19 2.5.4.2 UBI volume表 22 2.5.4.3 標示壞塊 23 2.5.5 UBIFS系統介紹 24 2.5.5.1 UBIFS索引架構 25 2.5.5.2 Out of place update 27 2.5.5.3 UBIFS寫入緩衝器 27 2.5.5.4 垃圾回收機制 29 2.5.5.5 UBIFS分區說明 30 2.5.5.6 node key組成 33 2.5.6 UBIFS檔案系統實作 33 2.5.6.1 檔案系統操作 34 2.5.6.2 UBI attach MTD 程序 37 2.5.6.3 掛載UBIFS程序 39 2.5.6.4 UBIFS寫入操作程序 45 2.5.6.5 UBIFS讀取操作程序 46 第三章:系統實作 51 3.1 安裝TI BSP source code 51 3.2 移植U-boot 52 3.3 移植LINUX Kernel 54 3.4製作UBIFS image 55 3.5硬體開機 57 3.6製作可開機SD CARD 58 3.7燒入到NAND Flash 59 第四章:實驗目標 62 4.1 讀檔案效能實驗 62 4.2 寫檔案效能實驗 64 4.3 掛載實驗 65 第五章:結論 67 參考文獻 68

    [1] Xiaoru Cai ; Shi Shao, “An Optimization Algorithm for UBIFS Wear-Leveling”, Intelligent Systems and Applications (ISA), 2010 2nd International Workshop on , DOI: 10.1109/IWISA.2010.5473441 , Publication Year: 2010 , Page(s): 1 – 4, IEEE CONFERENCE PUBLICATIONS
    [2] Dongwook Kang , “Enhanced UBI layer for fast boot-up times of mobile consumer devices” Consumer Electronics, IEEE Transactions on Volume: 58 , Issue: 2 , DOI: 10.1109/TCE.2012.6227446 Publication Year: 2012 , Page(s): 450 – 454, IEEE JOURNALS & MAGAZINES
    [3] Andreas Schierl, Gerhard Schellhorn, Dominik Haneberg, Wolfgang Reif, “Abstract Specification of the UBIFS File System for Flash Memory”, FM 2009: Formal Methods Lecture Notes in Computer Science Volume 5850, 2009, pp 190-206
    [4] UBI presentation, http://www.linux-mtd.infradead.org/doc/ubi.ppt
    [5] UBI - Unsorted Block Images, http://www.linux-mtd.infradead.org/doc/ubi.html
    [6] UBIFS - UBI File-System, http://www.linux-mtd.infradead.org/doc/ubifs.html
    [7] UBIFS white pager, http://www.linux-mtd.infradead.org/doc/ubifs_whitepaper.pdf
    [8] 德州儀器: http://www.ti.com/
    [9] UBIFS presentation, http://www.linux-mtd.infradead.org/doc/ubifs.odp
    [10] WIKI UBIFS, http://en.wikipedia.org/wiki/UBIFS
    [11] ARM Website, http://www.arm.com/
    [12] Jollen 的 Blog,http://www.jollen.org/blog/
    [13] ARM,http://www.arm.com/products/processors/索引.php
    [14] 宋寶華,裝置驅動程式之開發詳解,台北:文魁資訊股份有限公司,2008
    [15] 鳥哥的LINUX私房菜, http://linux.vbird.org/linux_basic/0230filesystem/0230filesystem-fc4.php
    [16] Wim H. Hesselink, Muhammad Ikram Lali , “Formalizing a hierarchical file system”, Formal Aspects of Computing, January 2012, Volume 24, Issue 1, pp 27-44,
    [17] ric Senn, Jalil Boukhobza, Eric Senn” Flashmon V2: monitoring raw NAND Flash memory I/O requests on embedded Linux”, Operating System Workshop (EWiLi 2013) Volume 11 Issue 1, February 2014, Pages 38-43
    [18] “SAW: System-assisted wear leveling on the write endurance of NAND Flash devices”, Design Automation Conference (DAC), 2013 50th ACM / EDAC / IEEE, May 29 2013-June 7 2013, Page(s):1-9, ISSN :0738-100X,INSPEC Accession Number:13673224,Conference Location :Austin, TX,Publisher:IEEE
    [19] Gidon Ernst, Gerhard Schellhorn, Dominik Haneberg, Jorg Pfahler, Wolfgang Reif, “Verification of a Virtual Filesystem Switch”, 5th International Conference, VSTTE 2013, Menlo Park, CA, USA, May 17-19, 2013, Revised Selected Papers, pp 242-261,Copyright 2014, Online ISBN 978-3-642-54108-7
    [20] Gerhard Schellhorn, Gidon Ernst, Jorg Pfahler, Dominik Haneberg, Wolfgang Reif “Development of a Verified Flash File System”, 4th International Conference, ABZ 2014, Toulouse, France, June 2-6, 2014. Proceedings, pp 9-24,Copyright 2014, Online ISBN 978-3-662-43652-3
    [21] WANG CHUNDONG, “Flash memory management with cooperation, adaptation and assistance”, XI’AN JIAOTONG UNIVERSITY, CHINA,
    [22] 馬漢裕,“多媒體系統之嵌入式即時作業系統實作”,碩士論文,2006。
    [23] 黃柏翰,“移植 RT-Tread 即時作業系統於嵌入式系統 ”,碩士論文,2011。
    [24] 賴勇均,“開機引導程序網路自動更新修復機制於嵌入式系統”,碩士論文, 2009。
    [25] 馮國進,“嵌入式 LINUX 驅動程序設計”, 清華大學出版社,2008。
    [26] 台灣瑞宏科技股份有限公司,“ARM9 嵌入式系統實習 JXARM9-2410 基礎實驗教學”。
    [27] 陳詒君,“基於 ARM 平台上之即時作業系統實作”, 碩士論文,2013。
    [28] 周珊羽, “嵌入式即時作業系統之檔案系統實作” ,東華大學, 碩士論文,2013。
    [29] 朱恆興,”在JFFS2上執行B+Tree的索引架構”,輔仁大學 碩士論文, 98
    [30] Chin-Hsien Wu, Tei-Wei Kuo and Li-Ping Chang, “An Efficient B-Tree Layer Implementation for Flash-Memory Storage Systems” proceeding of ACM Transactions on Embedded Computing Systems, Vol. 6, No. 3, Article 19, Publication date: July 2007
    [31] Chin-Hsien Wu, Li-Pin Chang, Tei-Wei Kuo, “An Efficient R-Tree Implementation over Flash-Memory Storage Systems” in Proceedings of the eleventh ACM international symposium on Advances in geographic information systems. ACM Press, 2003, pp. 17–24.
    [32] V. Srinivasan and Michael J. Carey,” Performance of B-樹 concurrency control algorithms ”, Proceedings of the 1991 ACM SIGMOD international conference on Management of data on pages 416 – 425.
    [33] Hung-Yi Lin and Chin-Ling Chen, “Using Compressed B+樹s for Line-based Database Indexes”, proceeding of Signal Processing and Information Technology, Aug ,2006 IEEE International Symposium on pages 258-263.
    [34] Micron, NAND flash datasheet MT29F4G08ABADA.pdf
    [35] TEXAS INSTRUMENTS, AM335x datasheet am3352.pdf

    QR CODE