×

Method and apparatus for a coherence transformer with limited memory for connecting computer system coherence domains

  • US 5,829,034 A
  • Filed: 07/01/1996
  • Issued: 10/27/1998
  • Est. Priority Date: 07/01/1996
  • Status: Expired due to Term
First Claim
Patent Images

1. In a computer system having a computer node which has a common bus, a method for enabling an external device in an external domain that is external to said computer node to share memory blocks having local physical addresses in a memory module at said computer node irrespective whether said external device and said common bus both employ a common protocol and irrespective whether said external device and said common bus both operate at the same speed, each of said memory blocks having an associated Mtag for tracking a global state associated with said each of said memory block, including a global exclusive state for indicating that said each of said memory blocks is exclusive to said computer node, a global shared state for indicating that said each of said memory blocks is shared by said computer node with said external device, and a global invalid state for indicating that said each of said memory blocks is invalid in said computer node, said method comprising:

  • receiving through a coherence transformer that is coupled to said common bus, a first memory access request for a first memory block from said external device;

    obtaining a first copy of said first memory block, using said coherence transformer, from said common bus, said coherence transformer having a snoop tag array having a plurality of snoop tags, each of said plurality of snoop tags being configured to track an external state of a copy of one of said memory blocks if cached by said external device, said external state including one of an external exclusive state for indicating that said copy of one of said memory blocks is exclusive to said external domain, an external shared state for indicating that said copy of one of said memory blocks is shared by said external domain, and an external invalid state for indicating that said copy of one of said memory blocks is invalid in said external domain;

    if at least one tag in said plurality of snoop tags is available for tracking said external state of said first copy of said first memory block, responding to said first memory access request using a snoop-only approach by tracking said external state of said first copy of said first memory block using said at least one tag;

    else if at least one tag in said plurality of snoop tags is not available for tracking said external state of said first copy of said first memory block, responding to said first memory access request using an Mtag-only approach by modifying a first Mtag associated with said first memory block in said memory module at said computer node using said coherence transformer to reflect that said external device is caching said first copy of said first memory block; and

    sending said first copy of said first memory block from said coherence transformer to said external device.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×