×

Multi-node cluster computer system incorporating an external coherency unit at each node to insure integrity of information stored in a shared, distributed memory

  • US 5,394,555 A
  • Filed: 12/23/1992
  • Issued: 02/28/1995
  • Est. Priority Date: 12/23/1992
  • Status: Expired due to Term
First Claim
Patent Images

1. A computer cluster architecture comprising:

  • A) a plurality of nodes;

    B) at least one central processing unit resident at each said node, at least one of said central processing units including at least one primary cache, each said central processing unit having a property of coherency;

    C) a node-local communications means resident at each said node;

    each said node-local communications means coupling all said primary caches resident in the same node with said node-local communications means;

    D) a local main memory resident at each said node, each said local main memory having physical space assignable as shared physical space and non-shared physical space;

    E) an external coherency unit resident at each said node, each said external coherency unit being coupled to the node-local communications means and to the local main memory resident in the same node with said external coherency unit;

    F) inter-node communication means coupling all said external coherency units;

    G) each said external coherency unit comprising;

    1) monitoring means adapted to monitor both said inter-node communication means and said node-local communications means resident in the same node with said external coherency unit; and

    2) coherency means adapted to;

    a) respond to said monitoring means sensing a cache-line request appearing on said node-local communications means in the same node with said external coherency unit and determining that such cache-line request is non-shared by directing said non-shared cache-line request to said non-shared physical space of said local main memory; and

    b) respond to said monitoring means sensing a cache-line request appearing on said node-local communications means in the same node with said external coherency unit and determining that such cache-line request is shared by examining its coherence state to further determine if inter-node action is required to service the request and, if such inter-node action is required, transmitting a unique identifier and a coherency command over said inter-node communication means to all other said external coherency units;

    (H) each said external coherency unit assigning a coherency state to each unit of information stored in the shared memory spaces of said cluster, said coherency states comprising;

    1) exclusive indicating that a copy of the requested information present in the shared memory space of said local main memory resident in the same node as said external coherency unit is unique in the cluster;

    2) modified indicating that a copy of the requested information present in said local main memory resident in the same node as said external coherency unit has been updated by a central processing unit in said same node;

    3) invalid indicating that a copy of the requested information present in said local main memory resident in the same node as said external coherency unit either does not exist or is known to be out-of-date; and

    4) shared indicating that a copy of the requested information present in said local main memory resident in the same node as said external coherency unit is one of a plurality of current copies of the requested information in a plurality of nodes; and

    I) each said coherency means in each said external coherency unit responding to a local cache-line request associated with a block of shared information as follows;

    1) if the requested cache-line state is exclusive or modified, the requested block is retrieved directly from the local main memory resident in the requesting node with no remote action taken because no current copies exist elsewhere in the cluster;

    2) if the requested cache-line state is invalid, a read-with-intent-to-write command is transmitted over said communications means to all other said nodes, and a remote node that contains the requested cache-line information in the exclusive or modified state responds thereto by siphoning the requested cache-line information over said communications means to the requesting node; and

    3) if the requested cache-line state is shared, an invalidating command is sent to all other nodes such that the requested cache-line state is set to invalid in such all other nodes;

    whereby, the most recent instantiation of the requested data available in the shared physical spaces among all said local memories in the cluster are provided to the one of said external coherency units requesting the same.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×