Quill : Exploiting Fast Non-Volatile Memory by Transparently Bypassing the File System

Fast non-volatile memories will soon make their appearance on the processor memory bus. They offer the potential for extremely low-latency, high-bandwidth access to persistent files. However, existing interfaces will impose large system call and file system overheads on those accesses, squandering the memories’ performance. At the same time, we would like to leverage existing file systems as much as possible, to reduce the cost of adopting these new storage technologies. We present a user space library, called Quill, that avoids system call overheads on most accesses by interposing on file operations and converting them into memory operations. Quill enforces the protections that the file system provides by transferring protection information into the process’s page table and accessing files directly via load and store instructions. We describe the Quill system and compare it to a conventional software stack accessing the same storage device.