1. A system for maintaining consistent cached copies of memory in a multi-node computing system having a main memory, comprising: at least one memory directory having memory directory entries mapping the main memory, one or more of the memory directory entries including state information for a corresponding line of main memory; at least one directory cache for storing directory cache lines corresponding to a subset of the memory directory entries; and means for using the state information to allocate memory directory entries to the directory cache.