In this proposal, we leverage application data access and sharing behavior to tailor the design of both identity and coherence metadata to the application in order to improve storage efficiency. We show how a coherence directory decoupling the sharing pattern from cache lines compresses coherence metadata, allowing coherence to scale to a larger number of cores. We also propose a variable cache line size design that adjusts individual cache line sizes to match the locality specific to different applications and data structures within applications. The identity metadata required to manage the system is thus a function of an application's spatial locality. The result is a memory hierarchy with improved cache utilization and lower bandwidth demands.