A method and apparatus for ensuring data coherency in a processing system
that includes shared memory is presented. This is accomplished by
including a hierarchical validity database within the core logic that
interconnects the various memory clients to the memory structure. The
hierarchical validity database stores a number of hierarchical levels,
where each level pertains to different sized portions of the memory.
Validity of a portion, or block, within the memory can be determined by
referencing the hierarchical validity database.