Some of the material in is restricted to members of the community. By logging in, you may be able to gain additional access to certain collections or items. If you have questions about access or logging in, please use the form on the Contact Page.
The legacy storage data path is largely structured in black-box layers and has four major limitations: (1) functional redundancies across layers, (2) poor cross-layer coordination and data tracking, (3) presupposition of high-latency storage devices, and (4) poor support for new storage data models. We introduce Tags, a unifying primitive that can be used throughout the storage data path. This white-box approach enables all storage layers to coordinate and track data using shared data structures that are constructed through the Tags API. Our case studies show that by eliminating redundant services, our Tags-based key-value store can outperform LevelDB by 10-220% when inserting and deleting 100-byte key-value pairs. We also built a Tags-based file system (TagFS) and differentiated storage services to demonstrate the usability, extensibility, and robustness of Tags. In addition, we build per-file secure deletion via TagFS to show data-path-wide coordination and data tracking.