The Non-Volatile Systems Laboratory, has two goals: To produce world-class researchers and to be a world leader in understanding how memory technologies will impact future computing systems. We are always looking for new students, post-docs, and visitors to help realize these goals.

Two professors currently lead the NVSL:  Jishen Zhang joined UCSD last year and Steven Swanson has been running the lab since 2009.


Check out Steve and Jishen’s homepage to learn more about them and their research.

Building Systems

The NVSL builds real systems to identify, understand, and solve real problems.  Our systems typically involve hardware, software, and the boundary between them.  Building real systems means our work has impact.

Building Researchers

The NVSL trains students to frame world-changing research questions, devise solutions, and build real systems that solve important problems. You will also learn how to convey those solutions to your peers, other researchers, and the wider world. Our work cannot have impact if no one knows about it.

If you are curious about what, exactly, you’ll learn, here are some essays I’ve written about different aspects of doing research in grad school.

After the NVSL

The most important goal of the NVSL is to train great researchers to prepare them for the career they want. Our alumni have gone on to jobs at leading companies, startups, and places in between.  For instance, Laura Caulfield (Ph.D., 2013) joined Microsoft and makes key decisions about to integrate non-volatile memories into the Microsoft cloud.  Yanqin Jin (Ph.D., 2017) is an early-stage employee at a big-data startup.  You can see where some other students have ended up at the bottom of this page.

Post docs from the NVSL have gone on to be faculty at universities across the country.  Yiying Zhang is now a professor at Purdue, Jack Sampson is at Penn State, Hung Wei Tseng is at NCSU, and Joe Izraelevitz is wrapping up a successful academic job search.

Joining the NVSL

If you like building systems, I would love to have you join the lab.  Prospective Ph.D. and master students should apply the graduate program and mention me as potential advisor.  Potential visitors and post-docs should contact me directly.

NVSL Research Directions

System Support for Persistent Memory

We build cutting-edge system software to support persistent memories and RDMA-based networking.  We built the world’s fastest (and most fault-tolerant) persistent memory file system (NOVA) and the most capable distributed file system for persistent memory (Orion).  We are also updating legacy software stacks and file systems interface to be a better match for technologies like Intel’s Optane persistent main memory.

Persistent Programming

Non-volatile memory is blazingly fast but tricky to use safely, so we build tools to make it safer and easier to use.  NV-Heaps was the first persistent memory object library.  We followed it with easy techniques to leverage PMEM performance, hard data about how real PMEM performs, and simple rules for how programmers should use it.  We are also building compilers, language support, debugging, and verification tools make PMEM programming easy and safe.

Building Research Communities

My group hosts two research meeting on persistent memory and solid state storage that bring top researchers to UC each year.  In March the Non-Volatile Memories Workshop attracts nearly 200 researchers from around the world to hear about the latest research developments in solid state storage.  In the summer, we host Persistent Programming In Real Life (PIRL), smaller workshop focused on the nitty gritty of programming for PMEM in real, deployable systems.  Both meetings have helped make UCSD a global leader in solid state storage research.

Where Alumni are Now