• Donate
  • Log In
Home
  • About
    • About
      • About Us
      • Our Board of Directors
      • Board Meeting Minutes
      • Board Elections
      • Updates & Announcements
      • Our Staff
      • Governance & Financials
      • Lifetime Achievement Award
  • Events
    • Events
      • Upcoming
      • Past
      • Conference FAQ
      • Conference Policies
      • Code of Conduct
      • Calls for Papers
      • Author Resources
      • Grant Opportunities
      • Best Papers
      • Test of Time Awards
  • Join & Support
    • Join & Support
      • Become a Member
      • Ways to Give
      • Our Supporters
      • Student Opportunities
      • Sponsorship Opportunities
  • Archive
    • Archive
      • Proceedings
      • Multimedia
      • ;login: Archive
      • Short Topics in System Administration Series
      • Journal of Education in System Administration (JESA)
      • Journal of Election Technology and Systems (JETS)
      • Computing Systems Journal
  • Search

Good Old-Fashioned Persistent Memory

Author(s): 

Terence Kelly

Given the excitement surrounding commercially available byte-addressable non-volatile memory (NVM), now is a good time to remind ourselves that it has long been possible to implement a software abstraction of persistent memory on conventional hardware—ordinary volatile DRAM and block-addressed storage devices. The corresponding "persistent memory style of programming" offers many of the same attractions as NVM programming but doesn't require special NVM hardware. This article illustrates persistent memory programming on conventional hardware with working C code for UNIX-like operating systems. The right crash consistency mechanism for persistent memory programming on conventional hardware is failure-atomic msync() (FAMS), and this article presents a concise new implementation of FAMS.

Download Article: 
PDF icon Good Old-Fashioned Persistent Memory (PDF)
Additional files: 
File kelly_code.tgz
Plain text icon kelly_errata.txt
Article Section: 
PROGRAMMING
;login: issue: 
Winter 2019, Vol. 44, No. 4
USENIX logo
  • Contact USENIX
  • Privacy Policy

© USENIX 2025
EIN 13-3055038

Website designed and built by Giant Rabbit LLC
Powered by Backdrop CMS

We need contributions from individuals like you.

USENIX conferences directly influence the development of computing systems and products used worldwide. Contribute today to support this vital work for the next 50 years.

Secure the Future of USENIX

Donate
Close