ORCID Identifier(s)

0009-0004-3653-7173

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

Share

COinS
 
 

To view the content in your browser, please download Adobe Reader or, alternately,
you may Download the file to your hard drive.

NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.