簡易檢索 / 詳目顯示

研究生: 吳炘婷
Wu, Shin-Ting
論文名稱: 新興非揮發式記憶體上的多維資料結構設計
Redesigning Multidimensional Indexing Data Structures for Emerging Nonvolatile Memories
指導教授: 石維寬
Shih, Wei-Kuan
口試委員: 周志遠
Chou, Chi-Yuan
張原豪
Chang, Yuan-Hao
謝仁偉
Hsieh, Jen-Wei
梁郁珮
Liang, Yu-Pei
陳碩漢
Chen, Shuo-Han
黃柏鈞
Huang, Po-Chun
陳聿廣
Chen, Yu-Guang
曾學文
Tseng, Hsueh-Wen
學位類別: 博士
Doctor
系所名稱: 電機資訊學院 - 資訊工程學系
Computer Science
論文出版年: 2024
畢業學年度: 113
語文別: 英文
論文頁數: 110
中文關鍵詞: 快閃記憶體持續記憶體可再程式化快閃記憶體多維資料結構寫入放大
外文關鍵詞: Flash memory, Persistent memory, Reprogrammable flash, Multidimensional data structure, Write amplification
相關次數: 點閱:2下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 近年來,資料的價值已廣為人知,這益發彰顯了以資料為中心的計算在各式應用場景中的重要性。在許多情境中的資料常是多維的,而多維資料的管理往往在提供更好的資料存取效能與保證儲存空間的利用率之間面臨著更艱鉅的挑戰。時至今日,雖然已有許多既有之多維索引資料結構被提出,它們的設計卻並未充分針對新式的非揮發式記憶體如可位元存取之持續記憶體之固有硬體特性來最佳化,而對資料結構的存取效能與空間效率造成傷害。這個觀察促使我們去改良既有之多維索引資料結構,來最佳化它們在快閃記憶體與相變記憶體等新式非揮發式記憶體上的時間與空間效率。在此研究中,我們分別針對可逐位元存取之相變記憶體、基於區塊之快閃記憶體與混合式非揮發記憶體提出數種多維資料結構與最佳化技術,希望能提升常見資料探勘與機器學習演算法在鍵值資料庫與向量資料庫上的執行效能。本論文之具體技術貢獻如下:

    *針對可隨機存取之持續記憶體,我們提出了可緩解寫入放大效應與空間浪費之WARM樹(write-amplification reducing tree, WARM-tree)設計。藉由漸進式的空間配置策略和限制節點的最小大小,WARM樹得以保證其於持續記憶體上之空間利用率、同時抑制因節點分裂所造成的寫入放大效應,而成為格外適用於寫入密集計算環境的多維資料索引結構。
    *針對儲存密度較高但須以頁面為單位存取之NAND型快閃記憶體,我們利用新式NAND快閃記憶體之可重寫技術提出支援平行化、批量寫入之FIRM樹(multidimensional index structure for reprogrammable flash memory, FIRM-tree)。通過整合高速的隨機存取記憶體及利用NAND快閃記憶體的頁面重寫能力,FIRM樹得以有效減少因重整多維點資料導致的寫入放大,並提高插入、更新和刪除等操作之效能。
    *為進一步解決多維資料在新式記憶/儲存媒體上的索引設計問題,在本論文的第三部分中,我們探討了如並行存取、資料結構之可延展性、記憶/儲存媒體之使用壽命與資料索引之服務品質定義、評估與改良等各種索引設計的關鍵議題,以及資料索引結構和記憶/儲存媒體管理機制之交互作用。此外,我們也將討論新式的、以資料為中心的計算應用之資料存取介面、性能需求與可靠度要求。

    根據一系列的分析與實驗的驗證,我們所提出之索引資料結構可以充分發揮新式非揮發式記憶體之特長,並滿足各式以資料為中心的計算應用對資料存放與管理之嚴苛要求。相較於既有之研究,我們所提出之多維資料結構能配合非揮發式記憶體的硬體特性與存取限制,以便更高效的管理多維度之各式資料。


    Recently, the value of data has been widely recognized, and the significance of data-centric computing has been highlighted in diversified application scenarios. In many cases, the data are multidimensional, and the management of multidimensional data often confronts greater challenges in supporting efficient data access and guaranteeing space utilization. Up to now, while many existing index data structures have been proposed for multidimensional data, however, their designs are not fully optimized for modern nonvolatile memories, such as byte-addressable persistent memories and block-based flash memory. As a result, they might suffer from serious degradation of data access performance or the inability to guarantee memory space utilization. This observation motivates the redesigning of index data structures for multidimensional point data on modern nonvolatile memories. In this work, we propose several multidimensional index data structures to reduce the write amplification effect on modern nonvolatile memories, such as byte-addressable persistent memories, block-based flash memory, and their hybrid. Our design objective is to improve the performance of data-centric computing applications, such as data mining and machine learning algorithms, key-value stores, and vector databases. Our primary technical contributions are as follows:

    *For byte-addressable persistent memories, we propose the \emph{WARM-tree}, a multidimensional tree for reducing the \underline{w}rite \underline{a}mplification effect by the proposed incremental space allocation and guaranteeing the minimum node size. The WARM-tree can provide arbitrary worst-case space utilization guarantees and reduce write traffic of insertion operations.
    *For block-based NAND flash memory, we propose the FIRM-tree, a multidimensional indexing tree structure for reducing writes on flash memory. Through leveraging the reprogramming capability of NAND flash memory, the FIRM-tree effectively reduces the write traffic due to the rearrangement of multidimensional point data, thereby achieving better insert performance.

    *To ultimately solve the design problems of multidimensional index data structures on persistent memories, NAND flash memory, and the hybrid of them, in the third part of this dissertation, we broadly discuss potential research issues of index structure designs, such as aging-aware reliability models, concurrent access supports, sequential access optimization techniques, temperature-aware data management, and learned data structures. Meanwhile, we also explore emerging data-centric applications, e.g., hyperdimensional computing (HDC), for our proposing multidimensional tree designs.

    As verified by our analytical and experimental studies, the proposed index data structures can not only exhibit the unique strengths of modern nonvolatile memories, but also fulfill diversified requirements of data storage and management in different data-centric computing application scenarios. In the upcoming era of data-centric computing, we believe that novel, hardware--software codesigned index data structures will continue to play a pivotal role in the data infrastructure of more pioneering technologies like deep learning and anything beyond.

    Abstract (Chinese) . . . . . . . . . . . . . . . . . . . . . . . . I Acknowledgements (Chinese) III Abstract IV Contents VI List of Figures X List of Tables XIII List of Algorithms XIV 1 Introduction 1 2 Background, System Architecture, and Motivations . . . . . . . . . . . . . . . 6 2.1 Background and System Architecture . . . . . . . . . . . . . . . . . . . . 6 2.2 Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.3 Targeted Technical Issues and Our Solutions . . . . . . . . . . . . . . . . 12 3 WARM-tree: a Write-efficient Multidimensional Tree for Persistent Memories . . 15 3.1 Predominant Design Ideas . . . . . . . . . . . . . . . . . . . . . . . 15 3.1.1 Incremental Space Allocation for Space Efficiency Enhancement . . . . 15 3.1.2 Reusing the Buckets of Overflown Nodes for Suppressing the Write Amplification . . . . . . . . . . . . . . . . . . . . . . . 16 3.1.3 Bucket Capacity Relaxation Design for Postponed Node Splitting . . . . 18 3.2 Static Structure of the WARM-tree . . . . . . . . . . . . . . . . . . 18 3.3 Space Management Designs . . . . . . . . . . . . . . . . . . . . . . 21 3.3.1 Node capacity/size limitation . . . . . . . . . . . . . . . . . 21 3.3.2 Bucket reusing strategy . . . . . . . . . . . . . . . . . . . . . 24 3.4 Operations of the WARM-tree . . . . . . . . . . . . . . . . . . . . . 27 3.4.1 Point Lookup Query, Update, and Delete Operations . . . . 27 3.4.2 Insert Operation . . . . . . . . . . . . . . . . . . . . . . . . 29 3.4.3 Node Split Operation . . . . . . . . . . . . . . . . . . . . . . 30 3.5 An Integrated Working Example . . . . . . . . . . . . . . . . . . . . 33 3.6 Implementation Remarks on the Supports for Range and kNN Queries 36 3.6.1 Tree Metadata Management . . . . . . . . . . . . . . . . . . 36 3.7 Analytical Studies . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.7.1 The Minimum Allowed Node Size ssafe . . . . . . . . . . . . 41 3.7.2 Lower Bound of the Node Capacity Constraint C∗. . . . . . 42 3.7.3 Cost Benefit Factor B on Node Splitting . . . . . . . . . . . 43 3.7.4 Correctness of the kNN Query Algorithm . . . . . . . . . . . 44 3.8 Experimental Studies . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.8.1 Experimental Settings . . . . . . . . . . . . . . . . . . . . . 45 3.8.2 Experimental Results . . . . . . . . . . . . . . . . . . . . . . 50 4 FIRM-tree: a Write-efficient Multidimensional Tree for NAND Flash Memory 59 4.1 Basic Structure & Working Principles of the FIRM-tree . . . . . . . 60 4.2 Predominant Design Ideas . . . . . . . . . . . . . . . . . . . . . . . 62 4.2.1 Selective Data Migration for Memories of Multiple Levels of Access Granularity . . . . . . . . 62 4.2.2 Level Skipping Strategy . . . . . . . . . . . . . . . . . . . . 65 4.2.3 Full/Incremental Data Compaction Strategies . . . . . . . . 66 4.2.4 Collaboration of Different FIRM-tree Components . . . . . . 70 4.3 Implementation Remarks . . . . . . . . . . . . . . . . . . . . . . . . 72 4.3.1 Multi-channel Architecture Supports . . . . . . . . . . . . . 72 4.3.2 Support of Delete Operations . . . . . . . . . . . . . . . . . 73 4.3.3 Page Reprogrammability on Higher-level-cell Flash Memories 74 4.3.4 Supports for Regional Data . . . . . . . . . . . . . . . . . . 75 4.4 Analytical Studies . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.5 Experimental Studies . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.5.1 Experimental Setting . . . . . . . . . . . . . . . . . . . . . . 77 4.5.2 Experimental Results . . . . . . . . . . . . . . . . . . . . . . 79 5 Advanced Design Issues & Applications 89 5.1 Aging-aware Performance & Reliability Models . . . . . . . . . . . . . . . . . . . . 89 5.2 Concurrent Access Supports . . . . . . . . . . . . . . . . . . . . . . 90 5.3 Sequential Access Optimization . . . . . . . . . . . . . . . . . . . . 91 5.4 Metadata Placement & Hot–Cold Data Separation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 5.5 Learned Data Structures . . . . . . . . . . . . . . . . . . . . . . . . 93 5.6 Emerging Applications of Multidimensional Indexing Data Structures . . . . 94 6 Related Work 95 6.1 Nonvolatile Memories and Persistent Memories . . . . . . . . . . . . . . . . . . . . . . 95 6.2 Existing Index Data Structures . . . . . . . . . . . . . . . . . . . . 96 7 Conclusion and Future Work . . . . . . . . . . . . . . . . . . 99 8 Selected Publications . . . . . . . . . . . . . . . . . . . . . .101 Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

    [1] Geonames database. https://www.kaggle.com/datasets/geonames/ geonames-database/data. Accessed: 2024-05-28.
    [2] Urban Institute. https://datacatalog.urban.org/dataset/resource/ 4c9440ba-d711-46d9-8b85-8a11c3224966. Accessed: 2024-05-28.
    [3] Youssef Abadade, Anas Temouden, Hatim Bamoumen, Nabil Benamar, Yousra Chtouki, and Abdelhakim Senhaji Hafid. A comprehensive survey on tinyml. IEEE Access, 2023.
    [4] Nitin Vinayak Agrawal. Kaggle: 13 dimension 10 million Big Data High Dimension, 2021.
    [5] Alexandro Baldassin, João Barreto, Daniel Castro, and Paolo Romano. Persistent Memory: A Survey of Programming Support and Implementations. ACM Computing Survey, 2022.
    [6] Norbert Beckmann, Hans-Peter Kriegel, Ralf Schneider, and Bernhard Seeger. The R*-tree: An Efficient and Robust Access Method for Points and Rectangles. SIGMOD Rec., 19(2):322–331, 1990.
    [7] Michael A Bender, Martin Farach-Colton, Rob Johnson, Simon Mauras, Tyler Mayer, Cynthia A Phillips, and Helen Xu. Write-optimized skip lists. In ACM SIGMOD-SIGACT-SIGAI Symposium on Principles of Database Systems, pages 69–78, 2017. 102
    [8] Jon Louis Bentley. Multidimensional Binary Search Trees Used for Associative Searching. CACM, 18(9):509–517, 1975.
    [9] Gerth Stolting Brodal and Rolf Fagerberg. Lower bounds for external memory dictionaries. SODA ’03, pages 546–554, USA, 2003. Society for Industrial and Applied Mathematics.
    [10] Cactus Technologies. An Overview of Pseudo-SLC NAND, 2016.
    [11] Anderson Chaves Carniel and Cristina Dutra de Aguiar. Spatial Index Structures for Modern Storage Devices: A Survey. IEEE Transactions on Knowledge and Data Engineering, pages 1–20, 2023.
    [12] Hokeun Cha, Moohyeon Nam, Kibeom Jin, Jiwon Seo, and Beomseok Nam. B3-Tree: Byte-Addressable Binary B-tree for Persistent Memory. ACM Trans. Storage, jul 2020.
    [13] NM Mosharaf Kabir Chowdhury, Md Mostofa Akbar, and Mohammad Kaykobad. DiskTrie: An efficient data structure using flash memory for mo bile devices. In WALCOM, pages 76–87, 2007.
    [14] Thomas H Cormen, Charles E Leiserson, Ronald L Rivest, and Clifford Stein. Introduction to Algorithms, 4th Edition. MIT press, 2022.
    [15] Kai Cui, Peiquan Jin, and Lihua Yue. Hashtree: a new hybrid index for flash disks. In International Asia-Pacific Web Conference, pages 45–51. IEEE, 2010.
    [16] Biplob Debnath, Sudipta Sengupta, Jin Li, David J Lilja, and David HC Du. Bloomflash: Bloom filter on flash-based storage. In International Conference on Distributed Computing Systems (ICDCS), pages 635–644. IEEE, 2011. [17] Dheeru Dua and Casey Graff. UCI Machine Learning Repository, 2017. 103 [18] Ahmed Eldawy and Mohamed F. Mokbel. SpatialHadoop: A Mapreduce Framework for Spatial Data, 2015.
    [19] David Eppstein, Michael T. Goodrich, and Jonathan Z. Sun. The Skip Quadtree: A Simple Data Structure for Multidimensional Data. In The Annual Symposium on Computational Geometry, SCG ’05, pages 296–305. ACM, 2005.
    [20] Athanasios Fevgas et al. Indexing in flash storage devices: a survey on challenges, current approaches, and future trends. The VLDB Journal, 29(1):273– 311, 2020.
    [21] Athanasios Fevgas et al. HyR-tree: a spatial index for hybrid flash/3d xpoint storage. Neural Computing and Applications, pages 1–13, 2021.
    [22] Baotong Lu et al. Dash: Scalable hashing on persistent memory. CoRR, abs/2003.07302, 2020.
    [23] Baptiste Lepers et al. Kvell: The design and implementation of a fast persis tent key-value store. In ACM Symposium on Operating Systems Principles, SOSP ’19, pages 447–461. Association for Computing Machinery, 2019.
    [24] Durgesh Kumar et al. Domain wall memory: Physics, materials, and devices. Physics Reports, 958:1–35, 2022.
    [25] Mohammadamin Ajdari et al. Re-architecting i/o caches for emerging fast storage devices. In ACM International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2023, pages 542–555. ACM, 2023. 104
    [26] Moohyeon Nam et al. Write-optimized dynamic hashing for persistent mem ory. In USENIX Conference on File and Storage Technologies (FAST 19), pages 31–44, 2019.
    [27] Yu-Pei Liang et al. Enabling a B+-tree-based data management scheme for key-value store over smr-based sshd. In ACM/IEEE Design Automation Con ference (DAC), pages 1–6, 2020.
    [28] Paolo Ferragina, Fabrizio Lillo, and Giorgio Vinciguerra. On the performance of learned data structures. Theoretical Computer Science, 871:107–120, 2021.
    [29] Paolo Ferragina and Giorgio Vinciguerra. Learned data structures. In Recent Trends in Learning From Data: Tutorials from the INNS Big Data and Deep Learning Conference (INNSBDDL2019), pages 5–41. Springer, 2020.
    [30] Athanasios Fevgas and Panayiotis Bozanis. LB-Grid: An SSD efficient Grid File. Data & Knowledge Engineering, 121:18–41, 2019.
    [31] Amos Fiat and Haim Kaplan. Making data structures confluently persistent. Journal of Algorithms, 48(1):16–58, 2003. Twelfth Annual ACM-SIAM Symposium on Discrete Algorithms.
    [32] Raphael A Finkel and Jon Louis Bentley. Quad Trees a Data Structure for Retrieval on Composite Keys. Acta Informatica, 4(1):1–9, 1974. [33] Congming Gao, Min Ye, Chun Jason Xue, Youtao Zhang, Liang Shi, Jiwu Shu, and Jun Yang. Reprogramming 3D TLC flash memory based solid state drives. ACM Trans. Storage, 18(1), jan 2022.
    [34] Yunfan Gao, Yun Xiong, Xinyu Gao, Kangxiang Jia, Jinliu Pan, Yuxi Bi, Yi Dai, Jiawei Sun, Meng Wang, and Haofen Wang. Retrieval-augmented generation for large language models: A survey, 2024. 105
    [35] Paul R Genssler, Mahta Mayahinia, Simon Thomann, Mehdi B Tahoori, and Hussam Amrouch. DropHD: Technology/Algorithm co-design for reliable energy-efficient nvm-based hyper-dimensional computing under voltage scaling. In 2024 Design, Automation & Test in Europe Conference & Exhibition (DATE), pages 1–6. IEEE, 2024.
    [36] Goetz Graefe and Harumi Kuno. Modern B-tree techniques. In International Conference on Data Engineering (ICDE), pages 1370–1373. IEEE, 2011.
    [37] Antonin Guttman. R-trees: A dynamic index structure for spatial searching. In ACM International Conference on Management of Data (SIGMOD), pages 47–57, 1984.
    [38] Yang Hu, Hong Jiang, Dan Feng, Lei Tian, Hao Luo, and Shuping Zhang. Performance Impact and Interplay of SSD Parallelism through Advanced Commands, Allocation Strategy and Data Granularity. In Proceedings of the international conference on Supercomputing, pages 96–107, 2011.
    [39] Warren Hunt, William R. Mark, and Gordon Stoll. Fast kd-tree Construction with an Adaptive Error-Bounded Heuristic. In IEEE Symposium on Interactive Ray Tracing, pages 81–88, 2006.
    [40] Peiquan Jin, Puyuan Yang, and Lihua Yue. Optimizing B+-tree for hybrid storage systems. Distributed and Parallel Databases, 33(3):449–475, 2015.
    [41] Y.-M. Joo and N. McKeown. Doubling memory bandwidth for network buffers. In Proceedings. IEEE INFOCOM ’98, the Conference on Computer Communications. Seventeenth Annual Joint Conference of the IEEE Computer and Communications Societies. Gateway to the 21st Century (Cat. No.98, volume 2, pages 808–815 vol.2, 1998. 106
    [42] Geethan Karunaratne, Manuel Le Gallo, Giovanni Cherubini, Luca Benini, Abbas Rahimi, and Abu Sebastian. In-memory hyperdimensional computing. Nature Electronics, 3(6):327–337, 2020.
    [43] Beomjun Kim and Myungsuk Kim. LazyRS: Improving the performance and reliability of high-capacity TLC/QLC flash-based storage systems using lazy reprogramming. Electronics, 12(4), 2023.
    [44] Nam Sung Kim, Choungki Song, Woo Young Cho, Jian Huang, and Myoungsoo Jung. LL-PCM: Low-latency phase change memory architecture. In ACM/IEEE Design Automation Conference (DAC), pages 1–6, 2019.
    [45] Tim Kraska, Alex Beutel, Ed H Chi, Jeffrey Dean, and Neoklis Polyzotis. The case for learned index structures. In Proceedings of the 2018 international conference on management of data, pages 489–504, 2018.
    [46] Hyun-Seob Lee and Dong-Ho Lee. An efficient index buffer management scheme for implementing a B-tree on NAND flash memory. Data & Knowledge Engineering, 69(9):901–916, 2010. [47] G. Li, P. Zhao, L. Yuan, et al. Efficient implementation of a multi-dimensional index structure over flash memory storage systems. Journal of Supercomputing, 64:1055–1074, 2013.
    [48] Guohui Li, Pei Zhao, Sheng Gao, and Jianqiang Du. F-KDB: An K-D-B Tree Implementation over Flash Memory. In 2010 10th IEEE International Conference on Computer and Information Technology, pages 635–642. IEEE, 2010.
    [49] Guohui Li, Pei Zhao, Sheng Gao, and Jianqiang Du. F-KDB: An KDB tree implementation over flash memory. In IEEE International Conference on Computer and Information Technology, pages 635–642. IEEE, 2010. 107
    [50] Guohui Li, Pei Zhao, Ling Yuan, and Sheng Gao. Efficient implementation of a multi-dimensional index structure over flash memory storage systems. The Journal of Supercomputing, 64:1055–1074, 2013.
    [51] Jihang Liu, Shimin Chen, and Lujun Wang. LB+Trees: Optimizing persistent index performance on 3DXPoint memory. Proc. VLDB Endow., 13(7):1078– 1090, March 2020.
    [52] Chen Luo and Michael J Carey. LSM-based storage techniques: a survey. The VLDB Journal, 29(1):393–418, 2020.
    [53] Longfei Luo, Han Wang, Dingcui Yu, Yina Lv, and Liang Shi. Cpf: A cross-layer prefetching framework for high-density flash-based storage. In 2024 Design, Automation Test in Europe Conference Exhibition (DATE), pages 1–6, 2024.
    [54] Rino Micheloni et al. 3D Flash Memories. Springer, 2016.
    [55] Sparsh Mittal and Jeffrey S. Vetter. A survey of software techniques for using non-volatile memories for storage and main memory systems. IEEE Transactions on Parallel and Distributed Systems, 27(5):1537–1550, 2016.
    [56] J. Nievergelt, Hans Hinterberger, and Kenneth C. Sevcik. The Grid File: An Adaptable, Symmetric Multikey File Structure. ACM Trans. Database Syst., 9(1):38–71, 3 1984.
    [57] Sai Tung On, Haibo Hu, Yu Li, and Jianliang Xu. Lazy-update B+-tree for flash devices. In International Conference on Mobile Data Management: Systems, Services and Middleware, pages 323–328. IEEE, 2009.
    [58] James Jie Pan, Jianguo Wang, and Guoliang Li. Survey of vector database management systems. The VLDB Journal, 33(5):1591–1615, 2024. 108
    [59] Gianlucca O. Puglia, Avelino Francisco Zorzo, C´esar A. F. De Rose, Taciano Perez, and Dejan Milojicic. Non-volatile memory file systems: A survey. IEEE Access, 7:25836–25871, 2019.
    [60] Saeed Rashidi, Majid Jalili, and Hamid Sarbazi-Azad. A survey on PCM lifetime enhancement schemes. ACM Comput. Surv., 52(4), Aug 2019.
    [61] Partha Pratim Ray. A review on tinyml: State-of-the-art and prospects. Journal of King Saud University-Computer and Information Sciences, 34(4):1595–1623, 2022. [62] John T Robinson. The kdb-tree: a search structure for large multidimensional dynamic indexes. In ACM International Conference on Management of Data (SIGMOD), pages 10–18, 1981.
    [63] Hanan Samet. Foundations of Multidimensional and Metric Data Structures. Elsevier, 2006.
    [64] Subhadeep Sarkar, Tarikul Islam Papon, Dimitris Staratzis, and Manos Athanassoulis. Lethe: A tunable delete-aware LSM engine. In Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data, pages 893–908, 2020.
    [65] Steve Scargall. Programming Persistent Memory: A Comprehensive Guide for Developers. Apress, USA, 1st edition, 2020.
    [66] Shihao Song et al. Improving phase change memory performance with data content aware access. In ACM SIGPLAN International Symposium on Memory Management, ISMM 2020, pages 30–47. ACM, 2020.
    [67] SMART Modular Technologies. T5EN pSLC U.2 PCIe NVMe SSD, 2024. 109
    [68] Wojciech A Trybulec. Pigeon Hole Principle. Journal of Formalized Mathe matics, 2(199):1–5, 1990.
    [69] Huiying Wang and Jianhua Feng. FlashSkipList: indexing on flash devices. In Proceedings of the ACM Turing 50th Celebration Conference-China, pages 1–10, 2017.
    [70] Shin-Ting Wu, Liang-Chi Chen, Po-Chun Huang, Yuan-Hao Chang, Chien-Chung Ho, and Wei-Kuan Shih. WARM-tree: Making quadtrees write efficient and space-economic on persistent memories. ACM Transactions on Embedded Computing Systems, 22(5s), Sep 2023.
    [71] Shin-Ting Wu, Pin-Jung Chen, Po-Chun Huang, Wei-Kuan Shih, and Yuan-Hao Chang. FIRM-Tree: A multidimensional index structure for reprogrammable flash memory. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 43(11):3600–3613, 2024.
    [72] Jian Xu and Steven Swanson. NOVA: A log-structured file system for hybrid volatile/non-volatile main memories. In USENIX Conference on File and Storage Technologies (FAST’16), pages 323–338, 2016.
    [73] Tianyang Yu, Bi Wu, Ke Chen, Gong Zhang, and Weiqiang Liu. Memristor-based approximate query architecture for in-memory hyperdimensional computing. IEEE Transactions on Computers, 2024.
    [74] XianWei Zhang, Le Jang, Youao Zhang, Chuanjun Zhang, and Jun Yang. WoM-SET: Low power proactive-set-based PCM write using WoM code. In International Symposium on Low Power Electronics and Design, pages 217– 222, 2013.

    QR CODE