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: 8254411Abstract: 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: GrantFiled: February 10, 2005Date of Patent: August 28, 2012Assignee: International Business Machines CorporationInventors: Leo J. Clark, Guy L. Guthrie, William J. Starke
-
Patent number: 8205024Abstract: 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: GrantFiled: November 16, 2006Date of Patent: June 19, 2012Assignee: International Business Machines CorporationInventors: Leo J. Clark, James S. Fields, Jr., Guy L. Guthrie, William J. Starke, Derek E. Williams
-
Patent number: 8140770Abstract: 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: GrantFiled: February 10, 2005Date of Patent: March 20, 2012Assignee: International Business Machines CorporationInventors: Leo J. Clark, James S. Fields, Jr., Guy L. Guthrie, William J. Starke
-
Patent number: 8139592Abstract: 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: GrantFiled: May 21, 2008Date of Patent: March 20, 2012Assignee: International Business Machines CorporationInventors: Leo J. Clark, James S. Fields, Jr., Benjiman L. Goodman, William J. Starke, Jeffrey A. Stuecheli
-
Patent number: 7944932Abstract: 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: GrantFiled: April 1, 2008Date of Patent: May 17, 2011Assignee: International Business Machines CorporationInventors: Leo J. Clark, James S. Fields, Jr., Guy L. Guthrie, William J. Starke
-
Patent number: 7890704Abstract: 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: GrantFiled: December 19, 2006Date of Patent: February 15, 2011Assignee: International Business Machines CorporationInventors: Leo J. Clark, James S. Fields, Jr., Pak-Kin Mak, William J. Starke
-
Patent number: 7761631Abstract: 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: GrantFiled: May 8, 2008Date of Patent: July 20, 2010Assignee: International Business Machines CorporationInventors: Leo J. Clark, James S. Fields, Jr., Guy L. Guthrie, William J. Starke, Jeffrey A. Stuecheli
-
Patent number: 7577797Abstract: 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: GrantFiled: March 23, 2006Date of Patent: August 18, 2009Assignee: International Business Machines CorporationInventors: Leo J. Clark, James S. Fields, Jr., Guy L. Guthrie, William J. Starke, Derek E. Williams
-
Patent number: 7512742Abstract: 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: GrantFiled: January 17, 2006Date of Patent: March 31, 2009Assignee: International Business Machines CorporationInventors: Leo J. Clark, Guy L. Guthrie, William J. Starke, Jeffrey A. Stuecheli, Derek E. Williams
-
Patent number: 7478201Abstract: 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: GrantFiled: May 24, 2005Date of Patent: January 13, 2009Assignee: International Business Machines CorporationInventors: Leo J. Clark, James S. Fields, Jr., Guy L. Guthrie, William J. Starke, Derek E. Williams
-
Patent number: 7475195Abstract: 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: GrantFiled: May 24, 2005Date of Patent: January 6, 2009Assignee: International Business Machines CorporationInventors: Leo J. Clark, James S. Fields, Jr., Guy L. Guthrie, William J. Starke, Derek E. Williams
-
Patent number: 7467262Abstract: 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: GrantFiled: May 24, 2005Date of Patent: December 16, 2008Assignee: International Business Machines CorporationInventors: Leo J. Clark, James S. Fields, Jr., Guy L. Guthrie, William J. Starke, Derek E. Williams
-
Patent number: 7447844Abstract: 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: GrantFiled: July 13, 2006Date of Patent: November 4, 2008Assignee: International Business Machines CorporationInventors: Leo J. Clark, Guy L. Guthrie, William J. Starke, Derek E. Williams
-
Patent number: 7447845Abstract: 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: GrantFiled: July 13, 2006Date of Patent: November 4, 2008Assignee: International Business Machines CorporationInventors: Leo J. Clark, Guy L. Guthrie, William J. Starke, Derek E. Williams
-
Publication number: 20080222648Abstract: 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: ApplicationFiled: May 21, 2008Publication date: September 11, 2008Applicant: INTERNATIONAL BUSINESS MACHINES CORP.Inventors: LEO J. CLARK, James S. Fields, Benjiman L. Goodman, William J. Starke, Jeffrey A. Stuecheli
-
Publication number: 20080209135Abstract: 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: ApplicationFiled: May 8, 2008Publication date: August 28, 2008Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Leo J. Clark, James S. Fields, Guy L. Guthrie, William J. Starke, Jeffrey A. Stuecheli
-
Patent number: 7409481Abstract: 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: GrantFiled: February 10, 2005Date of Patent: August 5, 2008Assignee: International Business Machines CorporationInventors: Leo J. Clark, James S. Fields, Jr., Guy L. Guthrie, William J. Starke, Jeffrey A. Stuecheli
-
Publication number: 20080181244Abstract: 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: ApplicationFiled: April 1, 2008Publication date: July 31, 2008Inventors: LEO J. CLARK, James S. Fields, Guy L. Guthrie, William J. Starke
-
Publication number: 20080147991Abstract: 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: ApplicationFiled: December 19, 2006Publication date: June 19, 2008Inventors: Leo J. Clark, James S. Fields, Pak-Kin Mak, William J. Starke
-
Publication number: 20080120625Abstract: 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: ApplicationFiled: November 16, 2006Publication date: May 22, 2008Inventors: Leo J. Clark, James S. Fields, Guy L. Guthrie, William J. Starke, Derek E. Williams