| 研究生: |
曾裕亨 Tseng, Yu-Heng |
|---|---|
| 論文名稱: |
FAT32檔案系統應用於即時系統之研究 A Study on the Application of FAT32 File System in Real-time Systems |
| 指導教授: |
陳敬
Chen, Jing |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 電機工程學系 Department of Electrical Engineering |
| 論文出版年: | 2024 |
| 畢業學年度: | 112 |
| 語文別: | 中文 |
| 論文頁數: | 109 |
| 中文關鍵詞: | FAT檔案系統 、即時系統 、SD卡 、資料儲存 |
| 外文關鍵詞: | FAT File System, Real-time System, SD Card, File Storing |
| 相關次數: | 點閱:71 下載:5 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
FAT檔案系統為一歷史悠久的檔案系統,但其廣泛之相容性及精簡之設計在現今的應用中仍然相當熱門,但受限FAT架構之限制,在檔案存取時間上並不足夠穩定,這使即時系統中使用標準FAT檔案系統可能面臨時限議題。
本論文基於能夠提供穩定存取時間之SD卡為儲存媒體,並根據即時系統應用之特性,以改善標準FAT檔案系統使其更適用於即時系統之應用,稱為RFAT,使即時系統操作檔案時亦能滿足其對時間限制之要求。本論文研究與設計之重點包含:(1)根據標準FAT檔案系統之規格設計具相容性之檔案系統與格式化工具;(2)針對小量資料之讀寫進行優化,使執行時間之波動降低;(3)設計儲存空間分配機制使RFAT能在面臨空間分配時仍維持穩定之執行時間;(4)設計資料救援工具與RFAT之運作進行搭配,應用程式所記錄之資料得以安全保存。為驗證本系統之設計可用性,本論文設計一系列測試,以確保本研究開發之RFAT系統能夠保有相容性且其穩定之存取時間可滿足即時系統應用所需。
本論文主要貢獻為設計與實作一平台獨立之RFAT函式庫,讓即時系統開發人員可根據需求將此函式庫作為系統開發之組件,以在即時系統應用中紀錄檔案。
The FAT file system is a long established file system, but its simplicity and broad compatibility with streamlined design still make it popular in modern applications. However, due to the limitations of the FAT architecture, file access times can be unstable and unpredictable, posing potential timing issues when using the standard FAT file system in real-time systems.
This thesis focuses on improving the interoperability of standard FAT file system so that it can be more suitable for real-time system applications using SD card as the storage medium. The file system, referred to as RFAT, is proposed to meet the requirement of predictable timing behavior of file operations when used in real-time systems. The key research and design aspects of this paper include: (1) Designing a compatible file system and formatting tool based on the standard FAT file system specifications; (2) Optimizing file operations of read and write for small amount of data to reduce fluctuations of execution time; (3) Developing a storage space allocation mechanism that allows RFAT to maintain stable execution times even when dealing with space allocation; (4) Creating data recovery tools to help maintain the intergrity of file system data recorded by applications is safely preserved. To verify the usability of the RFAT system design, a series of tests were conducted to ensure that the developed RFAT system maintains compatibility and that its stable access times can meet the requirements of real-time system applications.
The main contribution of this thesis is the design and implementation of a OS independent stand alone RFAT library, allowing real-time system developers to use this library as a component for system development that use file operations in real-time system applications.
[1] DOS Days. "The FAT (File Allocation Table) Explained." https://dosdays.co.uk/topics/fat.php (accessed Sep. 25, 2023).
[2] Microsoft. "exFAT file system specification." https://learn.microsoft.com/en-us/windows/win32/fileio/exfat-specification (accessed Jul. 18, 2024).
[3] Canon. "傳輸 SD 卡上記錄的影像至電腦." https://tw.canon/zh_TW/support/8202093100 (accessed Sep. 25, 2023).
[4] Kingston TECHNOLOGY. "Understanding file systems." https://www.kingston.com/tw/blog/personal-storage/understanding-file-systems (accessed Sep. 20, 2023).
[5] Nintendo. "Nintendo Switch." https://www.nintendo.tw/hardware/detail/switch/ (accessed Aug. 25, 2023).
[6] Sony. "Sony Alpha 7 III 數位相機." https://www.sony.com.tw/zh/interchangeable-lens-cameras/products/ilce-7m3-body-kit (accessed Agu. 30, 2023).
[7] J. J. S. Costa, R. S. d. Oliveira, and L. F. Arcaro, "Use of Measurements in Worst-Case Execution Time Estimation for Real-Time Systems," in 2021 XI Brazilian Symposium on Computing Systems Engineering (SBESC), 22-26 Nov. 2021 2021, pp. 1-8, doi: 10.1109/SBESC53686.2021.9628230.
[8] Jane W. S. liu, Real-Time Systems. 2000.
[9] R. M. K. Cheng and D. W. Gillies, "Disk management for a hard real-time file system," in Proceedings of the Eighth Euromicro Workshop on Real-Time Systems, 12-14 June 1996 1996, pp. 255-260, doi: 10.1109/EMWRTS.1996.557933.
[10] M. C. Yang, Y. M. Chang, C. W. Tsao, P. C. Huang, Y. H. Chang, and T. W. Kuo, "Garbage collection and wear leveling for flash memory: Past and future," in 2014 International Conference on Smart Computing, 3-5 Nov. 2014 2014, pp. 66-73, doi: 10.1109/SMARTCOMP.2014.7043841.
[11] SD Association. "Application Performance Class." https://www.sdcard.org/developers/sd-standard-overview/application-performance-class/ (accessed Agu. 31, 2023).
[12] Microsoft. "Microsoft FAT Specification." https://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/fatgen103.doc (accessed Aug. 31, 2023).
[13] Microsoft. "本機檔案系統." https://learn.microsoft.com/zh-tw/windows/win32/fileio/file-systems (accessed Oct. 2, 2023).
[14] Microsoft. "Diectory Management." https://learn.microsoft.com/zh-tw/windows/win32/fileio/directory-management (accessed Oct. 2, 2023).
[15] N. Agrawal, W. J. Bolosky, J. R. Douceur, and J. R. Lorch, "A five-year study of file-system metadata," ACM Transactions on Storage, vol. 3, no. 3, 2007, doi: 10.1145/1288783.1288788.
[16] "Comparative Study on Various File System Implementations on Different OS," International Research Journal of Engineering and Technology, vol. 8, no. 11, pp. 1186-1196, 2021, doi: 10.1117/12.922875.
[17] K. Ankit. "File Allocation Methods in OS." https://www.codingninjas.com/studio/library/file-allocation-methods (accessed Sep. 24, 2023).
[18] Xiaodong Lin. "Examining FAT File System." https://link.springer.com/chapter/10.1007/978-3-030-00581-8_5 (accessed Sep. 26, 2023).
[19] Oracle. "8.3 Name Creation." https://docs.oracle.com/en/applications/enterprise-performance-management/11.2/hitzz/server_name_8_3.html (accessed Oct. 4, 2023).
[20] simms. "NAND Flash leakage - why you could lose data." https://www.simms.co.uk/tech-talk/nand-flash-leakage-why-you-could-lose-data/ (accessed May. 10, 2024).
[21] S. Jain and Y.-H. Lee, "Real-time support of flash memory file system for embedded applications," presented at the The Fourth IEEE Workshop on Software Technologies for Future Embedded and Ubiquitous Systems, and the Second International Workshop on Collaborative Computing, Integration, and Assurance (SEUS-WCCIA'06), 2006.
[22] I. Corporation. "Understanding the Flash Translation Layer (FTL) Specification." (accessed May. 15, 2024).
[23] B. Van Houdt, "Performance of garbage collection algorithms for flash-based solid state drives with hot/cold data," Performance Evaluation, vol. 70, no. 10, pp. 692-703, 2013/10/01/ 2013, doi: https://doi.org/10.1016/j.peva.2013.08.010.
[24] Matia. "FTL-Page-Mapping-FAST-LAST." https://matia.tistory.com/entry/FTL-Page-Mapping-FAST-LAST (accessed 12.10, 2023).
[25] W. Choi, M. Jung, M. Kandemir, and C. Das, "Parallelizing garbage collection with I/O to improve flash resource utilization," presented at the Proceedings of the 27th International Symposium on High-Performance Parallel and Distributed Computing, 2018.
[26] 許勝杰, "快閃記憶體儲存管理系統之設計與實作," 碩士論文, 電機工程研究所, 國立成功大學, 2004.
[27] A. Boubriak, A. Cooper, C. Hossack, D. Permogorov, and R. S. Sherratt, "SlimFS: A Thin and Unobtrusive File System for Embedded Systems and Consumer Products," IEEE Transactions on Consumer Electronics, vol. 64, no. 3, pp. 334-338, 2018, doi: 10.1109/TCE.2018.2867826.
[28] G. TK and J. Luniya. "Implementation of Real-time File System(RTFS) on Renesas M16 board." https://arcb.csc.ncsu.edu/~mueller/rt/rt05/readings/g7/ (accessed 12.07, 2023).
[29] P. Sunhwa and O. Seong-Young, "New techniques for real-time FAT file system in mobile multimedia devices," IEEE Transactions on Consumer Electronics, vol. 52, no. 1, pp. 1-9, 2006, doi: 10.1109/TCE.2006.1605017.
[30] M. Choi, H. Park, and J. Jeon, "Design and Implementation of a FAT File System for Reduced Cluster Switching Overhead," in 2008 International Conference on Multimedia and Ubiquitous Engineering (mue 2008), 24-26 April 2008 2008, pp. 355-360, doi: 10.1109/MUE.2008.42.
[31] X. Han, J. Zhang, and H. Tian, "Design of Memory FAT file System for Airborne Sensors," presented at the 2023 2nd International Conference on Big Data, Information and Computer Network (BDICN), 2023.
[32] Actian. "Introduction to Btrieve APIs." https://docs.actian.com/psql/PSQLv13/index.html#page/btrieveapi/btrintro.htm (accessed Aug. 19, 2024).
[33] R. p. Official. "Raspberry Pi 4 Tech Specs." https://www.raspberrypi.com/products/raspberry-pi-4-model-b/specifications/ (accessed Jun. 28, 2024).
[34] rsta2. "Circle." https://github.com/rsta2/circle (accessed May. 31, 2024).
[35] elm-chan. "FatFs - Generic FAT Filesystem Module." http://elm-chan.org/fsw/ff/ (accessed May. 31, 2024).
[36] ZEROPLUS. "SD BUS 命令列表及暫存器說明." https://www.zeroplus.com.tw/E-paper/200907/image/SD_command%20and%20register%20list.pdf (accessed May. 30, 2024).
[37] J. Lessem. "Everything is a File." http://ibgwww.colorado.edu/~lessem/psyc5112/usail/concepts/filesystems/everything-is-a-file.html (accessed Jun. 11, 2024).
[38] M. Kerrisk. "unistd.h(0p) — Linux manual page." https://www.man7.org/linux/man-pages/man0/unistd.h.0p.html (accessed Jun. 11, 2024).
[39] OURSTREAM. "Sandisk edge 16gb." https://www.oursteam.com.tw/view-product.php?id=430 (accessed Aug. 25, 2024).
[40] rsta2. "Circle USB FAT File sysyem." https://github.com/rsta2/circle/tree/master/sample/15-files (accessed Jun. 10, 2024).