簡易檢索 / 詳目顯示

研究生: 張智凱
Chih-Kai Chang
論文名稱: 適用於嵌入式系統之快閃記憶體檔案系統
A File System for Flash Memory on Embedded System
指導教授: 阮聖彰
Shanq-Jang Ruan
口試委員: 許新添
Hsin-Teng Hsu
邱炳樟
Bin-Chang Chieu
學位類別: 碩士
Master
系所名稱: 電資學院 - 電子工程系
Department of Electronic and Computer Engineering
論文出版年: 2008
畢業學年度: 96
語文別: 中文
論文頁數: 75
中文關鍵詞: 嵌入式系統檔案系統快閃記憶體
外文關鍵詞: File System, JFFS2
相關次數: 點閱:260下載:10
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報

本文將在嵌入式系統上實現用於快閃記憶體的日誌式檔案系統,建構兼具效能及省電,適於多媒體應用的嵌入式系統。並且介紹快閃記憶體檔案系統的發展沿革,將JFFS2實現在嵌入式Linux作業系統上,提出簡單有效的演算法,在效能與安全性之間取得平衡點,延長快閃記憶體使用壽命。
系統實做Linux作業系統平台上搭載使用Axis Communications所創始,之後由David Woodhouse改良的JFFS2,硬體設備使用擎亞科技所出產的CoAsia C340嵌入式開發板。


This thesis accomplish an example of constructing a flash file system on embedded hardware, which has good performance, consumes less energy than traditional filesystem, and it is suitable for multimedia applications.
The system runs on Linux operating system, and we use JFFS2, which is first developed by Axis Communications then improved by David Woodhouse as flash file system. The Evaluate Board CoAsia C340 whitch is a product of CoAsia Microelectronics Corp plays the role of hardware.

第一章 緒論 1 1.1 前言 1 1.2 研究動機與目標 1 1.3 論文架構 3 第二章 背景知識 4 2.1 快閃記憶體 FLASH 4 2.1.1 Code Flash 5 2.1.2 Data Flash 5 2.2 虛擬檔案系統(VIRTUAL FILE SYSTEM) 7 2.2.1 VFS資料物件 9 2.2.2 VFS可支援的檔案系統 11 2.3 FLASH TRANSLATION LAYER (FTL) 12 2.4 LOG-STRUCTURED FILE SYSTEM (LFS) 14 2.4.1 Spite LFS 15 第三章 相關研究 17 3.1 LOGFS 17 3.1.1 Wandering Tree 18 3.1.2 硬連結 19 3.1.3 inode File 19 3.2 YAFFS (YET ANOTHER FLASH FILE SYSTEM) 20 3.2.1 YAFFS的記憶體留存資料結構 21 3.2.2 儲存單位 23 3.2.3 預留空間(Spare Space) 25 3.2.4 Tree Node Structure(Tnode Structure) 26 3.2.5 垃圾回收 26 3.2.6磨耗平衡 27 第四章 JFFS2 28 4.1 JFFS2重要資料結構 29 4.1.1 節點相容性 32 4.2 節點管理列表 32 4.3 檔案操作 33 4.4 垃圾回收 36 4.5 磨耗平衡 37 第五章 系統架構與實做 39 5.1 系統晶片(SYSTEM-ON-A-CHIP) 39 5.2 S3C2440系統晶片 39 5.2.1 S3C2440硬體架構 41 5.1.1 S3C2440硬體區塊特徵 41 5.3 COASIA C340開發平台 46 5.4 K9F2G08 NAND型快閃記憶體 47 5.5 GNU/LINUX安裝與設定 50 5.5.1 核心編譯前置工作 52 5.5.2 核心支援JFFS2 53 5.5.3 核心支援ARM處理器 56 5.6 檔案系統與SHELL 57 5.6 改進磨耗平衡 59 5.6.1 個別區塊加註抹除次數 59 5.6.2 列表排序 60 5.7 成果展示 62 第六章 結論 71 參考文獻 72

[1] 王智弘 , “NOR Flash產業僅三家業者將存活,” 新電子科技雜誌 - 市場分析; http://www.mem.com.tw/marketanalysis_content.asp?sn=0710290009.

[2] M. DeVoss, “打不贏NAND,NOR廠商另謀策略投入戰局 .,” Global Sources - 電子工程專輯; http://www.eettaiwan.com/ART_8800417358_480202_NT_a718242f.HTM.

[3] Samsung Electronics, “K9F2G08UXA Datasheet”; http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=159&partnum=K9F2G08U0A.

[4] R. Bez et al, “Introduction to flash memory,” Proceedings of the IEEE, vol. 91, 2003, pp. 489-502.

[5] C. Mouli, K. Prall, and C. Roberts, “Trends in Memory Technology ? Reliability Perspectives, Challenges and Opportunities,” Physical and Failure Analysis of Integrated Circuits, 2007. IPFA 2007. 14th International Symposium on the, 2007, pp. 130-134.

[6] D.P. Bovet and M. Cesati, Understanding the Linux Kernel, O'Reilly Media, .

[7] A. Kawaguchi, S. Nishioka, and H. Motoda, “A flash-memory based file system,” Proceedings of the USENIX 1995 Technical Conference Proceedings on USENIX 1995 Technical Conference Proceedings, New Orleans, Louisiana: USENIX Association, 1995, pp. 13-13.

[8] Intel. Corporation, “Understanding the Flash Translation Layer (FTL) Specification,” 1998; http: //www.intel.com/design/flcomp/applnots/29781602.pdf.

[9] Han-Joon Kim and Sang-Goo Lee, “A new flash memory management for flash storage system,” Computer Software and Applications Conference, 1999. COMPSAC '99. Proceedings. The Twenty-Third Annual International, 1999, pp. 284-289.

[10] M. Rosenblum and J.K. Ousterhout, “The design and implementation of a log-structured file system,” ACM Trans. Comput. Syst., vol. 10, 1992, pp. 26-52.

[11] R. Konishi et al, “The Linux implementation of a log-structured file system,” SIGOPS Oper. Syst. Rev., vol. 40, 2006, pp. 102-107.

[12] Jorn Engel, Dirk Bolte, and Robert Mertens, “Garbage Collection in LogFS,” 2007; http://lazybastard.org/logfs/.

[13] J. Engel and R. Mertens, “LogFS - ?nally a scalable ?ash ?le system”; http://lazybastard.org/logfs/.

[14] 黃千庭, “YAFFS - ESSLabWiki”; http://esslab.tw/wiki/index.php/YAFFS.

[15] Samsung Electronics, “K9F1208 Datasheet”; http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=158&partnum=K9F1208U0A.

[16] D. Comer, “Ubiquitous B-Tree,” ACM Comput. Surv., vol. 11, 1979, pp. 121-137.

[17] D. Kang et al, “μ-tree: an ordered index structure for NAND flash memory,” Proceedings of the 7th ACM & IEEE international conference on Embedded software, Salzburg, Austria: ACM, 2007, pp. 144-153.

[18] S. Choudhuri and R.N. Mahapatra, “Energy characterization of filesystems for diskless embedded systems,” Proceedings of the 41st annual conference on Design automation, San Diego, CA, USA: ACM, 2004, pp. 566-569.

[19] D. Woodhouse , “JFFS : The Journalling Flash File System,” JFFS : The Journalling Flash File System; http://sources.redhat.com/jffs2/jffs2-html/.

[20] 李強, 杜威, 及 慕春棣, “基於大容量閃存的嵌入式文件系統,” 計算機工程, vol. 31, 2005, 頁. 78-80.

[21] Samsung Electronics, “S3C2440A 32-BIT CMOS MICROCONTROLLER
USER'S MANUAL.”

[22] S. Segars, “The ARM9 family-high performance microprocessors for embedded applications,” Computer Design: VLSI in Computers and Processors, 1998. ICCD '98. Proceedings. International Conference on, 1998, pp. 230-235.

[23] J.L. Hennessy et al, Computer Architecture: A Quantitative Approach, Morgan Kaufmann Publication, 2006.

[24] S. Richard, “Richard Stallman's Personal Page”; http://www.stallman.org/.

[25] “The GNU Operating System”; http://www.gnu.org/.

[26] Ixia Communications, Google, and D. Kegel, “crosstool-howto,” 2006; http://kegel.com/crosstool/crosstool-0.43/doc/crosstool-howto.html.

[27] 陳俊宏, “建立 Cross GNU Toolchains for ARM,” 2004; http://www.jollen.org/blog/2004/08/_cross_gnu_toolchains_for_arm.html.

[28] “HOWTO build arm-linux toolchain for ARM/XSCALE”; http://ftp.snapgear.org/pub/snapgear/tools/arm-linux/build-arm-linux-3.4.4.

[29] “GNU ARM? toolchain for CygWin, Linux and MacOS”; http://www.gnuarm.com/.

[30] “ARM Linux”; http://www.arm.linux.org.uk/.

[31] “Linus Torvalds biography by The Linux Information Project”; http://www.linfo.org/linus.html.

[32] “The Linux Kernel Archives”; http://www.kernel.org/.

[33] “BusyBox”; http://busybox.net/.

[34] K. Yaghmour, Building Embedded Linux Systems: Concepts, Techniques, Tricks, and Traps, O'Reilly Media, 2008.

[35] “Filesystem Hierarchy Standard”; http://www.pathname.com/fhs/.

QR CODE