Patents by Inventor Leo J. Clark

Leo J. Clark has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 8254411
    Abstract: A data processing system includes a plurality of local hubs each coupled to a remote hub by a respective one a plurality of point-to-point communication links. Each of the plurality of local hubs queues requests for access to memory blocks for transmission on a respective one of the point-to-point communication links to a shared resource in the remote hub. Each of the plurality of local hubs transmits requests to the remote hub utilizing only a fractional portion of a bandwidth of its respective point-to-point communication link. The fractional portion that is utilized is determined by an allocation policy based at least in part upon a number of the plurality of local hubs and a number of processing units represented by each of the plurality of local hubs. The allocation policy prevents overruns of the shared resource.
    Type: Grant
    Filed: February 10, 2005
    Date of Patent: August 28, 2012
    Assignee: International Business Machines Corporation
    Inventors: Leo J. Clark, Guy L. Guthrie, William J. Starke
  • Patent number: 8205024
    Abstract: In a data processing system, a plurality of agents communicate operations therebetween. Each operation includes a request and a combined response representing a system-wide response to the request. Latencies of requests and combined responses between the plurality of agents are observed. Each of the plurality of agents is configured with a respective duration of a protection window extension by reference to the observed latencies. Each protection window extension is a period following receipt of a combined response during winch an associated one of the plurality of agents protects transfer of coherency ownership of a data granule between agents. The plurality of agents employing protection window extensions in accordance with the configuration, and at least two of the agents have protection window extensions of differing durations.
    Type: Grant
    Filed: November 16, 2006
    Date of Patent: June 19, 2012
    Assignee: International Business Machines Corporation
    Inventors: Leo J. Clark, James S. Fields, Jr., Guy L. Guthrie, William J. Starke, Derek E. Williams
  • Patent number: 8140770
    Abstract: A cache coherent data processing system includes at least first and second coherency domains coupled for communication. The first and second coherency domains each include a respective one of first and second cache memories. A master in the first coherency domain selects a scope of an initial broadcast of an operation from among a first scope including only the first coherency domain and a second scope including both the first and second coherency domains based, at least in part, upon a type of the operation. The master then performs an initial broadcast of the operation within the cache coherent data processing system utilizing the selected scope.
    Type: Grant
    Filed: February 10, 2005
    Date of Patent: March 20, 2012
    Assignee: International Business Machines Corporation
    Inventors: Leo J. Clark, James S. Fields, Jr., Guy L. Guthrie, William J. Starke
  • Patent number: 8139592
    Abstract: A data processing system includes a plurality of processing units coupled by a plurality of communication links for point-to-point communication such that at least some of the communication between multiple different ones of the processing units is transmitted via intermediate processing units among the plurality of processing units. The communication includes operations having a request and a combined response representing a system response to the request.
    Type: Grant
    Filed: May 21, 2008
    Date of Patent: March 20, 2012
    Assignee: International Business Machines Corporation
    Inventors: Leo J. Clark, James S. Fields, Jr., Benjiman L. Goodman, William J. Starke, Jeffrey A. Stuecheli
  • Patent number: 7944932
    Abstract: A data processing system includes a plurality of processing units each having a respective point-to-point communication link with each of multiple others of the plurality of processing units but fewer than all of the plurality of processing units. Each of the plurality of processing units includes interconnect logic, coupled to each point-to-point communication link of that processing unit, that broadcasts operations received from one of the multiple others of the plurality of processing units to one or more of the plurality of processing units.
    Type: Grant
    Filed: April 1, 2008
    Date of Patent: May 17, 2011
    Assignee: International Business Machines Corporation
    Inventors: Leo J. Clark, James S. Fields, Jr., Guy L. Guthrie, William J. Starke
  • Patent number: 7890704
    Abstract: A system and method for implementing an enhanced hover state with active prefetches. According to a preferred embodiment of the present invention, a snooper in a processing unit receives a system-wide update complete operation indicating a completion of a storage-modifying operation targeting a particular address, where the storage-modifying operation results in a modified first cache line in a first cache memory. The snooper determines if a second cache memory held a second cache line associated with the particular address prior to receiving the system-wide update complete operation. If so, the snooper issues a prefetch request for a copy of the modified first cache line to replace the second cache line in the second cache memory. The snooper updates the second cache memory with a copy of the modified first cache line.
    Type: Grant
    Filed: December 19, 2006
    Date of Patent: February 15, 2011
    Assignee: International Business Machines Corporation
    Inventors: Leo J. Clark, James S. Fields, Jr., Pak-Kin Mak, William J. Starke
  • Patent number: 7761631
    Abstract: A data processing system includes a plurality of communication links and a plurality of processing units including a local master processing unit. The local master processing unit includes interconnect logic that couples the processing unit to one or more of the plurality of communication links and an originating master coupled to the interconnect logic. The originating master originates an operation by issuing a write-type request on at least one of the one or more communication links, receives from a snooper in the data processing system a destination tag identifying a route to the snooper, and, responsive to receipt of the combined response and the destination tag, initiates a data transfer including a data payload and a data tag identifying the route provided within the destination tag.
    Type: Grant
    Filed: May 8, 2008
    Date of Patent: July 20, 2010
    Assignee: International Business Machines Corporation
    Inventors: Leo J. Clark, James S. Fields, Jr., Guy L. Guthrie, William J. Starke, Jeffrey A. Stuecheli
  • Patent number: 7577797
    Abstract: A cache coherent data processing system includes at least first and second coherency domains. The first coherency domain includes a system memory controller for a system memory and a first processing unit having a first cache memory. The second coherency domain includes a second processing unit having a second cache memory. In the first cache memory, a coherency state field associated with a storage location and an address tag is set to a first coherency state. In response to snooping an exclusive access request specifying a target address matching the address tag, the first cache memory provides a first partial response to the exclusive access request based at least in part upon the first coherency state. In response to snooping the exclusive access request, the memory controller determines whether it is responsible for the target address and provides a second partial response to the exclusive access request based at least in part upon an outcome of the determination.
    Type: Grant
    Filed: March 23, 2006
    Date of Patent: August 18, 2009
    Assignee: International Business Machines Corporation
    Inventors: Leo J. Clark, James S. Fields, Jr., Guy L. Guthrie, William J. Starke, Derek E. Williams
  • Patent number: 7512742
    Abstract: A cache coherent data processing system includes at least first and second coherency domains. In a first cache memory within the first coherency domain of the data processing system, a memory block is held in a storage location associated with an address tag and a coherency state field. A determination is made if a home system memory assigned an address associated with the memory block is within the first coherency domain. If not, the coherency state field is set to a coherency state that indicates that the address tag is valid, that the storage location does not contain valid data, the first coherency domain does not contain the home system memory, and that, following formation of the coherency state, the memory block is cached outside of the first coherency domain.
    Type: Grant
    Filed: January 17, 2006
    Date of Patent: March 31, 2009
    Assignee: International Business Machines Corporation
    Inventors: Leo J. Clark, Guy L. Guthrie, William J. Starke, Jeffrey A. Stuecheli, Derek E. Williams
  • Patent number: 7478201
    Abstract: Scrubbing logic in a local coherency domain issues a domain query request to at least one cache hierarchy in a remote coherency domain. The domain query request is a non-destructive probe of a coherency state associated with a target memory block by the at least one cache hierarchy. A coherency response to the domain query request is received. In response to the coherency response indicating that the target memory block is not cached in the remote coherency domain, a domain indication in the local coherency domain is updated to indicate that the target memory block is cached, if at all, only within the local coherency domain.
    Type: Grant
    Filed: May 24, 2005
    Date of Patent: January 13, 2009
    Assignee: International Business Machines Corporation
    Inventors: Leo J. Clark, James S. Fields, Jr., Guy L. Guthrie, William J. Starke, Derek E. Williams
  • Patent number: 7475195
    Abstract: Scrubbing logic in a local coherency domain issues to at least one cache hierarchy in a remote coherency domain a domain reset request that forces invalidation of any cached copy of a target memory block then held in said remote coherency domain. A coherency response to said domain reset request is received. In response to said coherency response indicating that said target memory block is not cached in said remote coherency domain, a domain indication of said local coherency domain is updated to indicate that said target memory block is cached, if at all, only within said local coherency domain.
    Type: Grant
    Filed: May 24, 2005
    Date of Patent: January 6, 2009
    Assignee: International Business Machines Corporation
    Inventors: Leo J. Clark, James S. Fields, Jr., Guy L. Guthrie, William J. Starke, Derek E. Williams
  • Patent number: 7467262
    Abstract: In response to execution of program code, a control register within scrubbing logic in a local coherency domain is initialized with at least a target address of a target memory block. In response to the initialization, the scrubbing logic issues to at least one cache hierarchy in a remote coherency domain a domain indication scrubbing request targeting a target memory block that may be cached by the at least one cache hierarchy. In response to receipt of a coherency response indicating that the target memory block is not cached in the remote coherency domain, a domain indication in the local coherency domain is updated to indicate that the target memory block is cached, if at all, only within the local coherency domain.
    Type: Grant
    Filed: May 24, 2005
    Date of Patent: December 16, 2008
    Assignee: International Business Machines Corporation
    Inventors: Leo J. Clark, James S. Fields, Jr., Guy L. Guthrie, William J. Starke, Derek E. Williams
  • Patent number: 7447844
    Abstract: A processing unit includes a local processor core and a cache memory coupled to the local processor core. The cache memory includes a data array, a directory of contents of the data array. The cache memory further includes one or more state machines that service a first set of memory access requests, an arbiter that directs servicing of a second set of memory access requests by reference to the data array and the directory on a fixed schedule, address collision logic that protects memory access requests in the second set by detecting and signaling address conflicts between active memory access requests in the second set and subsequent memory access requests, and dispatch logic coupled to the address collision logic. The dispatch logic dispatches memory access requests in the first set to the one or more state machines for servicing and signals the arbiter to direct servicing of memory access requests in the second set according to the fixed schedule.
    Type: Grant
    Filed: July 13, 2006
    Date of Patent: November 4, 2008
    Assignee: International Business Machines Corporation
    Inventors: Leo J. Clark, Guy L. Guthrie, William J. Starke, Derek E. Williams
  • Patent number: 7447845
    Abstract: A data processing system includes a local processor core and a cache memory coupled to the local processor core. The cache memory includes a data array, a directory of contents of the data array, at least one snoop machine that services memory access requests of a remote processor core, and multiple state machines that service memory access requests of the local processor core. The multiple state machines include a first state machine that has a first set of memory access requests of the local processor core that it is capable of servicing and a second state machine that has a different second set of memory access requests of the local processor core that it is capable of servicing.
    Type: Grant
    Filed: July 13, 2006
    Date of Patent: November 4, 2008
    Assignee: International Business Machines Corporation
    Inventors: Leo J. Clark, Guy L. Guthrie, William J. Starke, Derek E. Williams
  • Publication number: 20080222648
    Abstract: A data processing system includes a plurality of processing units coupled by a plurality of communication links for point-to-point communication such that at least some of the communication between multiple different ones of the processing units is transmitted via intermediate processing units among the plurality of processing units. The communication includes operations having a request and a combined response representing a system response to the request.
    Type: Application
    Filed: May 21, 2008
    Publication date: September 11, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORP.
    Inventors: LEO J. CLARK, James S. Fields, Benjiman L. Goodman, William J. Starke, Jeffrey A. Stuecheli
  • Publication number: 20080209135
    Abstract: A data processing system includes a plurality of communication links and a plurality of processing units including a local master processing unit. The local master processing unit includes interconnect logic that couples the processing unit to one or more of the plurality of communication links and an originating master coupled to the interconnect logic. The originating master originates an operation by issuing a write-type request on at least one of the one or more communication links, receives from a snooper in the data processing system a destination tag identifying a route to the snooper, and, responsive to receipt of the combined response and the destination tag, initiates a data transfer including a data payload and a data tag identifying the route provided within the destination tag.
    Type: Application
    Filed: May 8, 2008
    Publication date: August 28, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Leo J. Clark, James S. Fields, Guy L. Guthrie, William J. Starke, Jeffrey A. Stuecheli
  • Patent number: 7409481
    Abstract: A data processing system includes a plurality of communication links and a plurality of processing units including a local master processing unit. The local master processing unit includes interconnect logic that couples the processing unit to one or more of the plurality of communication links and an originating master coupled to the interconnect logic. The originating master originates an operation by issuing a write-type request on at least one of the one or more communication links, receives from a snooper in the data processing system a destination tag identifying a route to the snooper, and, responsive to receipt of the combined response and the destination tag, initiates a data transfer including a data payload and a data tag identifying the route provided within the destination tag.
    Type: Grant
    Filed: February 10, 2005
    Date of Patent: August 5, 2008
    Assignee: International Business Machines Corporation
    Inventors: Leo J. Clark, James S. Fields, Jr., Guy L. Guthrie, William J. Starke, Jeffrey A. Stuecheli
  • Publication number: 20080181244
    Abstract: A data processing system includes a plurality of processing units each having a respective point-to-point communication link with each of multiple others of the plurality of processing units but fewer than all of the plurality of processing units. Each of the plurality of processing units includes interconnect logic, coupled to each point-to-point communication link of that processing unit, that broadcasts operations received from one of the multiple others of the plurality of processing units to one or more of the plurality of processing units.
    Type: Application
    Filed: April 1, 2008
    Publication date: July 31, 2008
    Inventors: LEO J. CLARK, James S. Fields, Guy L. Guthrie, William J. Starke
  • Publication number: 20080147991
    Abstract: A system and method for implementing an enhanced hover state with active prefetches. According to a preferred embodiment of the present invention, a snooper in a processing unit receives a system-wide update complete operation indicating a completion of a storage-modifying operation targeting a particular address, where the storage-modifying operation results in a modified first cache line in a first cache memory. The snooper determines if a second cache memory held a second cache line associated with the particular address prior to receiving the system-wide update complete operation. If so, the snooper issues a prefetch request for a copy of the modified first cache line to replace the second cache line in the second cache memory. The snooper updates the second cache memory with a copy of the modified first cache line.
    Type: Application
    Filed: December 19, 2006
    Publication date: June 19, 2008
    Inventors: Leo J. Clark, James S. Fields, Pak-Kin Mak, William J. Starke
  • Publication number: 20080120625
    Abstract: In a data processing system, a plurality of agents communicate operations therebetween. Each operation includes a request and a combined response representing a system-wide response to the request. Latencies of requests and combined responses between the plurality of agents are observed. Each of the plurality of agents is configured with a respective duration of a protection window extension by reference to the observed latencies. Each protection window extension is a period following receipt of a combined response during winch an associated one of the plurality of agents protects transfer of coherency ownership of a data granule between agents. The plurality of agents employing protection window extensions in accordance with the configuration, and at least two of the agents have protection window extensions of differing durations.
    Type: Application
    Filed: November 16, 2006
    Publication date: May 22, 2008
    Inventors: Leo J. Clark, James S. Fields, Guy L. Guthrie, William J. Starke, Derek E. Williams