簡易檢索 / 詳目顯示

研究生: 賴德揚
Lai, Te-Yang
論文名稱: 基於嵌入式系統設計與實現運算型儲存裝置
Design and Implementation of an Embedded System-Based In-Storage Processing Prototype
指導教授: 侯廷偉
Hou, Ting-Wei
學位類別: 碩士
Master
系所名稱: 工學院 - 工程科學系
Department of Engineering Science
論文出版年: 2024
畢業學年度: 112
語文別: 中文
論文頁數: 77
中文關鍵詞: 儲存裝置內運算儲存裝置NAND型快閃記憶體
外文關鍵詞: In-Storage Processing, Storage Device, NAND Flash
相關次數: 點閱:130下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 儲存裝置內運算 (In-Storage Processing, ISP) 是一種將計算功能嵌入儲存設備的技術,旨在減少資料搬移的次數和延遲,提升整體系統性能。ISP 主要分為兩種類型:以固態硬碟控制器作為 ISP 處理器,或以外加專用的處理器作為 ISP 處理器。後者提供更具延展性的架構和靈活性,但設計和製造成本較高,並且需要解決處理器與儲存元件之間的存取速度問題。本研究考慮延展性,因此採取後者架構。
    本研究選用異質同構雙處理器嵌入式系統和 NAND Flash 架構 ISP 裝置雛形,其中系統處理器作為執行作業系統及 I/O 處理,另一處理器則作為 ISP 處理器。系統處理器負責接收主機命令並將資料傳遞給 ISP 處理器;ISP 處理器則執行資料讀寫和運算操作。此外,此嵌入式裝置可模擬成 USB 裝置,作為磁碟使用,能夠在 Windows系統上直接進行檔案存取。
    本研究以人臉辨識應用在 ISP 裝置上進行測試,通過團隊開發之 ISP API 將 ISP程式載入系統。並將相同測試資料存於 ISP 裝置與存於市售 USB 隨身碟,分別進行性能比較。實驗結果顯示,使用一台 ISP 裝置的情況下,運算速度相較 USB 隨身碟快了約 2.6 倍,證明本研究提出的 ISP 架構在資料處理效能上有明顯提升。

    In-storage processing (ISP) is a technology that integrates computational capabilities into storage devices, aiming to reduce the number of data movements and latency while enhancing overall system performance. ISP can be primarily categorized into two types: using an SSD controller as the ISP processor or employing a dedicated processing unit as the ISP processor. The latter offers a more extensible architecture and greater flexibility but comes with higher design, manufacturing costs, and requires accessing efficiency between the processing unit and the storage unit. Therefore, this study adopts the latter approach for investigation.
    This research adopts a heterogeneous dual-processor embedded system with a NAND Flash-based ISP device, where one system processor handles the operating system and I/O processing, while the other acts as the ISP engine. The system processor is responsible for receiving host commands and transmitting data to the ISP engine; the ISP engine executes data read/write and computational operations. Additionally, this embedded device simulates a USB device, functioning as a disk that allows direct file access on a Windows system.
    The study tests the ISP device with a facial recognition application by loading an ISP program into the embedded system via an ISP API developed by the research team. Performance comparisons are made between the host connected to the ISP device and a commercial USB flash drive, while both store the same test dataset. The experimental results demonstrate that the ISP approach has a significant improvement in performance.

    摘要 II Extended Abstract III 致謝 XI 目錄 XII 表目錄 XIV 圖目錄 XV 第一章 緒論 1 1.1 研究背景 1 1.2 研究貢獻 2 1.3 論文架構 2 第二章 文獻探討 3 2.1 儲存裝置內運算(In-Storage Processing) 3 2.2 Flash Memory 7 2.3 Memory Technology Devices 10 第三章 研究方法 12 3.1 研究流程 12 3.2 系統架構 14 3.3 硬體實作方法與流程 16 3.4 軟體實作方法與流程 21 3.4.1 ISP模式 21 3.4.2 USB模式 25 3.5 軟體使用方法 28 3.5.1 移植ISP程式 29 3.5.2 以人臉辨識為例 30 第四章 研究結果 32 4.1 實驗環境 32 4.2 實驗設計 34 4.3 測試結果 34 4.3.1 模擬USB裝置測試 35 4.3.2 ISP裝置與市售USB隨身碟比較 37 4.4 結果與討論 38 4.5 遭遇問題與解決方法 39 第五章 結論與未來展望 41 5.1 結論 41 5.2 未來研究方向 42 參考文獻 43 附錄 48 附錄A Build Image流程 48 附錄B SPI NAND Flash所需套件 55 附錄C OpenSSH所需套件 56 附錄D Build Bootable Image流程 57

    [1] A. HeydariGorji, M. Torabzadehkashi, S. Rezaei, H. Bobarshad, V. Alves and P. H. Chou, "In-storage Processing of I/O Intensive Applications on Computational Storage Drives," in 23rd International Symposium on Quality Electronic Design (ISQED), Santa Clara, CA, USA, April 2022, pp. 1-6.
    [2] C.-Z. Zheng and C.-H. Wu, "A Hybrid Computational Storage Architecture to Accelerate CNN Training," in 2020 International Computer Symposium (ICS), Tainan, Taiwan, December 2020, pp. 203-208.
    [3] M. Soltaniyeh, V. L. Moutinho, M. Bryson, S. Nagarakatte, R. P. Martin and X. Yao, "Near-Storage Processing for Solid State Drive Based Recommendation Inference with SmartSSDs®," in ACM/SPEC on International Conference on Performance Engineering, Bejing, China, 2022, pp. 177-186.
    [4] S. Kim, H. Oh, C. Park, S. Cho, S.-W. Lee and B. Moon, "In-storage processing of database scans and joins," Information Sciences: an International Journal, vol. 327, pp. 183-200, 10 January 2016.
    [5] S. Seshadri, M. Gahagan, S. Bhaskaran, T. Bunker, A. De, Y. Jin, Y. Liu and S. Swanson, "Willow: A User-Programmable SSD," in 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI 14), Broomfield, CO, 2014, pp. 67-80.
    [6] G. Koo, K. K. Matam, H. K. G. Narra , I. Te, J. Li, H.-W. Tseng, S. Swanson and M. Annavaram, "Summarizer: Trading Communication with Computing Near Storage," in 50th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO), Boston, MA, USA, 2017, pp. 219-231.
    [7] D. Gouk, M. Kwon, H. Bae and M. Jung, "Containerized In-Storage Processing Model and Hardware Acceleration for Fully-Flexible Computational SSDs," IEEE Computer Architecture Letters, pp. 1-4, 27 June 2023.
    [8] D. Tiwari, S. Boboila, S. S. Vazhkudai, Y. Kim, X. Ma, P. Desnoyers and Y. Solihin, "Active flash: towards energy-efficient, in-situ data analytics on extreme-scale machines," in FAST'13: Proceedings of the 11th USENIX conference on File and Storage Technologies, San Jose CA, 2013, pp. 119-132.
    [9] B. Gu, A. S. Yoon, D.-H. Bae, I. Jo, J. Lee, J. Yoon, J.-U. Kang, M. Kwon, C. Yoon, S. Cho, J. Jeong and D. Chang, "Biscuit: a framework for near-data processing of big data workloads," ACM SIGARCH Computer Architecture News, vol. 44, no. 3, pp. 153-165, 2016.
    [10] D. Park, J. Wang and Y.-S. Kee, "In-Storage Computing for Hadoop MapReduce Framework: Challenges and Possibilities," IEEE Transactions on Computers, vol. 1, no. 1, pp. 1-14, 28 July 2016.
    [11] Y. Kang, Y.-s. Kee, E. L. Miller and C. Park, "Enabling cost-effective data processing with smart SSD," in IEEE 29th Symposium on Mass Storage Systems and Technologies, Long Beach, CA, USA, 2013, pp. 1-12.
    [12] S.-W. Jun, M. Liu, S. Lee, J. Hicks, J. Ankcorn, M. King, S. Xu and A. , "BlueDBM: an appliance for big data analytics," in ISCA '15: Proceedings of the 42nd Annual International Symposium on Computer Architecture, Portland Oregon, June 2015, pp. 1-13.
    [13] M. Torabzadehkashi, S. Rezaei, A. Heydarigorji, H. Bobarshad, V. Alves and N. Bagherzadeh, "Catalina: In-Storage Processing Acceleration for Scalable Big Data Analytics," in 2019 27th Euromicro International Conference on Parallel, Distributed and Network-Based Processing, Pavia, Italy, February 2019, pp. 430-437.
    [14] A. HeydariGorji, S. Rezaei, M. Torabzadenhkashi, H. Bobarshad, V. Alves and P. H. Chou, "Leveraging Computational Storage for Power-Efficient Distributed Data Analytics," ACM Transactions on Embedded Computing Systems, vol. 21, no. 6, pp. 1-36, 18 October 2022.
    [15] Y.-C. Liu, K.-C. Hsu and H.-W. Tseng, "Rethinking Programming Frameworks for In-Storage Processing," in 60th ACM/IEEE Design Automation Conference (DAC), San Francisco, CA, USA, 2023, pp. 1-6.
    [16] M. Torabzadehkashi, S. Rezaei, V. Alves and N. Bagherzadeh, "CompStor: An In-storage Computation Platform for Scalable Distributed Processing," in IEEE International Parallel and Distributed Processing Symposium Workshops, Vancouver, BC, Canada, May 2018, pp. 1260-1267.
    [17] C. S. Analysis, "NAND vs. NOR Flash Memory For Embedded Systems," [Online]. Available: https://resources.system-analysis.cadence.com/blog/nand-vs-nor-flash-memory-for-embedded-systems. [Accessed 10 July 2024].
    [18] Kingston Technology Co., "什麼是 NAND?," [Online]. Available: https://www.kingston.com/tw/blog/pc-performance/difference-between-slc-mlc-tlc-3d-nand. [Accessed 10 July 2023].
    [19] nkc3g4, "NAND快閃記憶體讀寫原理," [Online]. Available: https://bbs.luobotou.org/bstra/thread-50291-1-1.html. [Accessed 10 July 2024].
    [20] Y.-W. Lin, "SSD for beginners," [Online]. Available: https://hackmd.io/@RinHizakura/Hy89c4sFF. [Accessed 10 July 2024].
    [21] 快嘴體育, "壞塊管理(Bad Block Management,BBM)," [Online]. Available: https://kknews.cc/news/gqjzkoe.html. [Accessed 7 July 2024].
    [22] STMicroelectronics, "MTD overview," [Online]. Available: https://wiki.st.com/stm32mpu/wiki/MTD_overview. [Accessed 10 July 2024].
    [23] M. T. Devices, "UBIFS - UBI File-System," [Online]. Available: http://www.linux-mtd.infradead.org/doc/ubifs.html. [Accessed 18 July 2024].
    [24] A. Lu, "NAND/MTD/UBI/UBIFS概念及使用方法," [Online]. Available: https://www.cnblogs.com/arnoldlu/p/17689046.html. [Accessed 10 July 2024].
    [25] Y.-D. Su, Design of an In-storage Processing Architecture, M.S. thesis, Department of Engineering Science, National Cheng Kung University, Tainan, Taiwan, 2024.
    [26] C.-Y. Yu, A Parallel Programming Interface for In-storage Processing, M.S. thesis, Department of Engineering Science, National Cheng Kung University, Tainan, Taiwan, 2024.
    [27] 成大資工Wiki, "SPI," [Online]. Available: https://wiki.csie.ncku.edu.tw/embedded/SPI. [Accessed 10 July 2024].
    [28] Nuvuton, "NuMaker-IoT-MA35D1-A1 Overview," [Online]. Available: https://www.nuvoton.com/products/iot-solution/iot-platform/numaker-iot-ma35d1-a1/. [Accessed 10 July 2024].
    [29] Winbond, "W25N04KV 4Gb Serial NAND Flash Memory with uniform 2KB+128B page size and set Buffer Read Mode as default," [Online]. Available: https://www.winbond.com/hq/product/code-storage-flash-memory/qspinand-flash/?__locale=zh_TW&partNo=W25N04KV. [Accessed 15 June 2024].
    [30] Nuvoton, "NuMaker-IoT-MA35D1-A1 User Manual," [Online]. Available: https://www.nuvoton.com/export/resource-files/en-us--UM_NuMaker_IoT_MA35D1_A1_EN_Rev1.08.pdf. [Accessed 13 May 2024].
    [31] Nuvoton, "NuMicro® Family MA35D1 Buildroot Project User Manual," 30 May 2022. [Online]. Available: https://www.nuvoton.com/export/resource-files/en-us--UM_EN_MA35D1_Buildroot.pdf. [Accessed 13 May 2024].
    [32] U. I. Forum, "Universal Serial Bus Mass Storage Class - Bulk Only Transport," [Online]. Available: https://www.usb.org/sites/default/files/usbmassbulk_10.pdf. [Accessed 5 July 2024].

    下載圖示
    2026-08-21公開
    QR CODE