Date Added: Jan 2011
The layered design of modern file systems hides the liveness of data from the underlying storage systems. In this paper, the authors define a generic "Purge" operation that can be used by a file system to pass liveness information to the storage system with minimal changes in the layer interfaces. They present three approaches for implementing such a purge operation: direct call, zero pages, and flagged writes. They demonstrate the feasibility of these techniques through a reference implementation in User-mode Linux to dynamically manage a Copy-On-Write (COW) data store. Performance results obtained from this reference implementation show that these techniques can achieve significant storage savings with a reasonable execution time overhead.