Advanced Virtualization for Modern Non-Volatile Memory Devices

ANViL is another interface related paper. Different from the RPC interface, which is more complicated and hard to implement, this design is simple and easy to implement.

There is a need to design different interface for SSDs, both from the application’s point of view and the aspect of the distinct interface of flash. Some new machinery has been proposed to support Atomic Writes, Persistent TRIM, and Sparseness. This paper proposes a simple yet powerful set of primitives based on fine-grained address remapping at both the block and extent level.

The new Address-remapping Interfaces includes:

  • Range Clone: clone(src, len, dst)
  • Range Move: move(src, len, dst)
  • Range Delete: delete(src, len)

Several Case Studies, such as Snapshots, Deduplication, Single-Write Journaling, shows the power of this simple interface.