Patent ID: 7975018
Filing Date: 2011-07-05
Classification: H04L

Abstract:
1. A method of providing cache coherence between caches in a distributed set of caching data access nodes sharing access to shared data of a data storage volume, the method comprising: maintaining at least a portion of a directory in a first one of the access nodes, said directory storing locations of copies of the shared data among respective caches of the plurality of access nodes; receiving, at the first access node, a data access request from a host system, said data access request identifying data of the shared data to be processed, determining whether the first access node has the identified data stored in its cache, and if not: wherein the one of a share request or the invalidate request is used to provide cache coherence between the caches; and if the first access node has the identified data stored in its cache, then (d) satisfying the data access request using the identified data in the cache of the first access node, and (e) if the data access is a read request, then refraining from sending the share request to any of the other access nodes having a copy of the identified data as indicated by the portion of the directory, wherein the directory is divided into chunks associated with corresponding sets of pages of the shared memory, and the portion of the directory in the first access node includes a chunk having a directory entry storing the locations of copies of the identified data among the caches of the access nodes, and further including participating in locality-conscious directory migration by which the chunks of the directory are dynamically distributed among the access nodes, the participating including: