We design memory systems for data-intensive computing. Our research spans CXL and tiered memory, GPU UVM and memory oversubscription, PIM/NDP, memory management, and compression and deduplication. We treat data placement, movement, and computation as a single architectural problem, especially where AI and heterogeneous computing stress conventional memory hierarchies.