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.