Graduation Semester and Year
Summer 2025
Language
English
Document Type
Thesis
Degree Name
Doctor of Philosophy in Computer Science
Department
Computer Science and Engineering
First Advisor
Hui Lu
Second Advisor
Jia Rao
Third Advisor
Song Jiang
Fourth Advisor
Hong Jiang
Abstract
The rapid evolution of memory and storage technologies is fundamentally reshaping the design of operating systems and data management. Emerging devices such as persistent memory, NVMe SSDs, and Compute Express Link (CXL)--enabled hybrid memory modules introduce new opportunities for high-performance, cost-efficient data management, yet they also expose limitations in traditional software abstractions. File systems, originally designed for slow block-based devices, incur excessive overhead on ultra-low-latency media, while block-level caches suffer from metadata and eviction inefficiencies. Moreover, hardware-managed tiering provides transparency but restricts adaptability across workloads. These challenges highlight the need to rethink caching and tiered memory management across multiple system layers.
This dissertation addresses these challenges through a series of system designs and empirical studies. We first introduce p2cache, a lightweight in-kernel caching mechanism that augments legacy file systems with persistent memory support. By establishing a read/write-distinguishable hierarchy across DRAM and persistent memory, p2cache achieves up to 200x speedup for RocksDB workloads while preserving crash consistency and durability. Moreover, we present a systematic study of OpenCAS, an industry-supported block-level caching framework, which reveals that metadata overhead and block-granular designs prevent effective use of persistent memory as a cache tier. In addition, we evaluate Samsung’s CMM-H, a CXL Type-3 memory device with hardware-managed tiering, and show that while hardware can achieve strong cache-hit performance, it suffers from significant cache-miss penalties and limited adaptability compared to software-managed approaches. Finally, building on these insights, we propose Shruti, a persistent block-level caching system designed for SCM/SSD hierarchies. Shruti streamlines the caching data plane, employs lightweight per-core logging for metadata persistence, and integrates an endurance-aware eviction mechanism tailored for QLC SSDs. Implemented as a Linux kernel module, Shruti outperforms state-of-the-art caching systems by up to 94% for RocksDB while reducing write amplification to nearly the theoretical minimum.
Together, these efforts advance the design of caching and tiered memory systems for heterogeneous storage environments. By spanning file system caching, block-level caching, hardware-managed tiering, and SCM/SSD co-design, this dissertation provides new insights and practical mechanisms for bridging the gap between modern hardware capabilities and software abstractions in the era of heterogeneous memory hierarchies.
Keywords
CXL, Memory, Caching, Memory tiering, SSD, QLC, Storage system, CPU
Disciplines
Computer and Systems Architecture | Data Storage Systems
License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Recommended Citation
Lin, Zhen, "Exploring Emerging Memory Technologies for Enhancing Data Center Applications" (2025). Computer Science and Engineering Dissertations. 423.
https://mavmatrix.uta.edu/cse_dissertations/423