Patents by Inventor Benjiman Goodman

Benjiman Goodman 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).

  • Publication number: 20080077744
    Abstract: A cache, system and method for reducing the number of rejected snoop requests. A “stall/reorder unit” in a cache receives a snoop request from an interconnect. Information, such as the address, of the snoop request is stored in a queue of the stall/reorder unit. The stall/reorder unit forwards the snoop request to a selector which also receives a request from a processor. An arbitration mechanism selects either the snoop request or the request from the processor. If the snoop request is denied by the arbitration mechanism, information, e.g., address, about the snoop request may be maintained in the stall/reorder unit. The request may be later resent to the selector. This process may be repeated up to “n” clock cycles. By providing the snoop request additional opportunities (n clock cycles) to be accepted by the arbitration mechanism, fewer snoop requests may ultimately be denied.
    Type: Application
    Filed: December 5, 2007
    Publication date: March 27, 2008
    Applicant: International Business Machines Corporation
    Inventors: Benjiman Goodman, Guy Guthrie, William Starke, Jeffrey Stuecheli, Derek Williams
  • Publication number: 20080040556
    Abstract: A cache coherent data processing system includes at least first and second coherency domains each including at least one processing unit. The first coherency domain includes a first cache memory and a second cache memory, and the second coherency domain includes a remote coherent cache memory. The first cache memory includes a cache controller, a data array including a data storage location for caching a memory block, and a cache directory. The cache directory includes a tag field for storing an address tag in association with the memory block and a coherency state field associated with the tag field and the data storage location. The coherency state field has a plurality of possible states including a state that indicates that the memory block is possibly shared with the second cache memory in the first coherency domain and cached only within the first coherency domain.
    Type: Application
    Filed: August 8, 2007
    Publication date: February 14, 2008
    Inventors: James Fields, Benjiman Goodman, Guy Guthrie, William Starke, Derek Williams
  • Publication number: 20080016284
    Abstract: According to a method of data processing, a predictor is maintained that indicates a historical scope of broadcast for one or more previous operations transmitted on an interconnect of a data processing system. A scope of broadcast of a subsequent operation is predictively selected by reference to the predictor.
    Type: Application
    Filed: September 28, 2007
    Publication date: January 17, 2008
    Inventors: BENJIMAN GOODMAN, Guy Guthrie, William Starke, Jeffrey Stuecheli, Derek Williams
  • Publication number: 20070294486
    Abstract: A cache, system and method for reducing the number of rejected snoop requests. A “stall/reorder unit” in a cache receives a snoop request from an interconnect. Information, such as the address, of the snoop request is stored in a queue of the stall/reorder unit. The stall/reorder unit forwards the snoop request to a selector which also receives a request from a processor. An arbitration mechanism selects either the snoop request or the request from the processor. If the snoop request is denied by the arbitration mechanism, information, e.g., address, about the snoop request may be maintained in the stall/reorder unit. The request may be later resent to the selector. This process may be repeated up to “n” clock cycles. By providing the snoop request additional opportunities (n clock cycles) to be accepted by the arbitration mechanism, fewer snoop requests may ultimately be denied.
    Type: Application
    Filed: August 30, 2007
    Publication date: December 20, 2007
    Applicant: International Business Machines Corporation
    Inventors: Benjiman Goodman, Guy Guthrie, William Starke, Jeffrey Stuecheli, Derek Williams
  • Publication number: 20070266126
    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: April 13, 2006
    Publication date: November 15, 2007
    Inventors: Leo Clark, James Fields, Benjiman Goodman, William Starke, Jeffrey Stuecheli
  • Publication number: 20070239939
    Abstract: An apparatus for performing stream prefetch within a multiprocessor system is disclosed. The multiprocessor system includes a first and second processors, and each of the processors includes a primary cache and a secondary cache. A stream register having multiple entries is initially provided within the first processor, and at least one of the entries in the stream register includes a prefetch history field. The bit in the prefetch history field associated with a sequential address stream is set in response to the sequential address stream being found in the secondary cache of the second processor after a system memory operation has been performed by the first processor. The bit in the prefetch history field associated with the same sequential address stream is reset in response to the sequential address stream not being found in the secondary cache of the second processor after a cache memory operation has been performed by the first processor.
    Type: Application
    Filed: April 6, 2006
    Publication date: October 11, 2007
    Inventors: Benjiman Goodman, Jeffrey Stuecheli
  • Publication number: 20070081516
    Abstract: A data processing system includes a first plane including a first plurality of processing nodes, each including multiple processing units, and a second plane including a second plurality of processing nodes, each including multiple processing units. The data processing system also includes a plurality of point-to-point first tier links. Each of the first plurality and second plurality of processing nodes includes one or more first tier links among the plurality of first tier links, where the first tier link(s) within each processing node connect a pair of processing units in the same processing node for communication. The data processing system further includes a plurality of point-to-point second tier links.
    Type: Application
    Filed: October 7, 2005
    Publication date: April 12, 2007
    Inventors: Ravi Arimilli, Benjiman Goodman, Guy Guthrie, Praveen Reddy, William Starke
  • Publication number: 20070073998
    Abstract: A data processing system includes a first processing node and a second processing node. The first processing node includes a plurality of first processing units coupled to each other for communication, and the second processing node includes a plurality of second processing units coupled to each other for communication. Each of the plurality of first processing units is coupled to a respective one of the plurality of second processing units in the second processing node by a respective one of a plurality of point-to-point links.
    Type: Application
    Filed: September 27, 2005
    Publication date: March 29, 2007
    Inventors: Vicente Chung, Benjiman Goodman, Praveen Reddy, William Starke
  • Publication number: 20070061630
    Abstract: A data processing system, method, and computer-usable medium for recovering from a hang condition in a data processing system. The data processing system includes a collection of coupled processing units. The processing units include a collection of processing unit components such as, two or more processing cores, and a cache array, a processor core master, a cache snooper, and a local hang manager. The local hang manager determines whether at least one component out of the collection of processing unit components has entered into a hang condition. If the local hang manager determines at least one component has entered into a hang condition, a throttling manager throttles the performance of the processing unit in an attempt to break the at least one component out of the hang condition.
    Type: Application
    Filed: September 13, 2005
    Publication date: March 15, 2007
    Inventors: James Fields, Benjiman Goodman, Praveen Reddy
  • Publication number: 20060271744
    Abstract: According to a method of data processing, a predictor is maintained that indicates a historical scope of broadcast for one or more previous operations transmitted on an interconnect of a data processing system. A scope of broadcast of a subsequent operation is predictively selected by reference to the predictor.
    Type: Application
    Filed: May 31, 2005
    Publication date: November 30, 2006
    Applicant: International Business Machines Corporation
    Inventors: Benjiman Goodman, Guy Guthrie, William Starke, Jeffrey Stuecheli, Derek Williams
  • Publication number: 20060187939
    Abstract: A data processing system includes a first processing node and a second processing node coupled by an interconnect fabric. The first processing node includes a plurality of first processing units coupled to each other for communication, and the second processing node includes a plurality of second processing units coupled to each other for communication. A first processing unit in the first processing node includes interconnect logic that processes a plurality of concurrently pending broadcast operations of differing broadcast scope. At least a first of the plurality of concurrently pending broadcast operations has a first scope limited to the first processing node, and at least a second of the plurality of concurrently pending broadcast operations has a second scope including the first processing node and the second processing node.
    Type: Application
    Filed: February 10, 2005
    Publication date: August 24, 2006
    Applicant: International Business Machines Corporation
    Inventors: Benjiman Goodman, Praveen Reddy
  • Publication number: 20060187818
    Abstract: A method, apparatus, and computer instructions are provided by the present invention to automatically recover from a failed node concurrent maintenance operation. A control logic is provided to send a first test command to processors of a new node. If the first test command is successful, a second test command is sent to all processors or to the remaining nodes if nodes are removed. If the second command is successful, system operation is resumed with the newly configured topology with either nodes added or removed. If the response is incorrect or a timeout has occurred, the control logic restores values to the current mode register and sends a third test command to check for an error. A fatal system attention is sent to a service processor or system software if an error is encountered. If no error, system operation is resumed with previously configured topology.
    Type: Application
    Filed: February 9, 2005
    Publication date: August 24, 2006
    Applicant: International Business Machines Corporation
    Inventors: James Fields, Michael Floyd, Benjiman Goodman, Paul Lecocq, Praveen Reddy
  • Publication number: 20060184748
    Abstract: A cache, system and method for reducing the number of rejected snoop requests. A “stall/reorder unit” in a cache receives a snoop request from an interconnect. Information, such as the address, of the snoop request is stored in a queue of the stall/reorder unit. The stall/reorder unit forwards the snoop request to a selector which also receives a request from a processor. An arbitration mechanism selects either the snoop request or the request from the processor. If the snoop request is denied by the arbitration mechanism, information, e.g., address, about the snoop request may be maintained in the stall/reorder unit. The request may be later resent to the selector. This process may be repeated up to “n” clock cycles. By providing the snoop request additional opportunities (n clock cycles) to be accepted by the arbitration mechanism, fewer snoop requests may ultimately be denied.
    Type: Application
    Filed: February 11, 2005
    Publication date: August 17, 2006
    Applicant: International Business Machines Corporation
    Inventors: Benjiman Goodman, Guy Guthrie, William Starke, Jeffrey Stuecheli, Derek Williams
  • Publication number: 20060179337
    Abstract: A data processing system includes a plurality of processing units, including at least a local master and a local hub, which are coupled for communication via a communication link. The local master includes a master capable of initiating an operation, a snooper capable of receiving an operation, and interconnect logic coupled to a communication link coupling the local master to the local hub. The interconnect logic includes request logic that synchronizes internal transmission of a request of the master to the snooper with transmission, via the communication link, of the request to the local hub.
    Type: Application
    Filed: February 10, 2005
    Publication date: August 10, 2006
    Applicant: International Business Machines Corporation
    Inventors: Benjiman Goodman, Guy Guthrie, Praveen Reddy, William Starke, Jeffrey Stuecheli
  • Publication number: 20060179245
    Abstract: A cache coherent data processing system includes at least first and second coherency domains each including at least one processing unit. The first coherency domain includes a first cache memory and a second cache memory, and the second coherency domain includes a remote coherent cache memory. The first cache memory includes a cache controller, a data array including a data storage location for caching a memory block, and a cache directory. The cache directory includes a tag field for storing an address tag in association with the memory block and a coherency state field associated with the tag field and the data storage location. The coherency state field has a plurality of possible states including a state that indicates that the memory block is possibly shared with the second cache memory in the first coherency domain and cached only within the first coherency domain.
    Type: Application
    Filed: February 10, 2005
    Publication date: August 10, 2006
    Applicant: International Business Machines Corporation
    Inventors: James Fields, Benjiman Goodman, Guy Guthrie, William Starke, Derek Williams
  • Publication number: 20060179356
    Abstract: A method, apparatus, and program for systematically testing the functionality of all connections in a multi-tiered bus system that connects a large number of processors. Each bus controller is instructed to send a test version of a snoop request to all of the other processors and to wait for the replies. If a connection is bad, the port associated with that connection will time out. Detection of a time-out will cause the initialization process to be halted until the problem can be isolated and resolved.
    Type: Application
    Filed: February 9, 2005
    Publication date: August 10, 2006
    Applicant: International Business Machines Corporation
    Inventors: Benjiman Goodman, Paul Lecocq, Praveen Reddy
  • Publication number: 20060179237
    Abstract: A method and apparatus for performing data prefetch in a multiprocessor system are disclosed. The multiprocessor system includes multiple processors, each having a cache memory. The cache memory is subdivided into multiple slices. A group of prefetch requests is initially issued by a requesting processor in the multiprocessor system. Each prefetch request is intended for one of the respective slices of the cache memory of the requesting processor. In response to the prefetch requests being missed in the cache memory of the requesting processor, the prefetch requests are merged into one combined prefetch request. The combined prefetch request is then sent to the cache memories of all the non-requesting processors within the multiprocessor system. In response to a combined clean response from the cache memories of all the non-requesting processors, data are then obtained for the combined prefetch request from a system memory.
    Type: Application
    Filed: February 9, 2005
    Publication date: August 10, 2006
    Applicant: International Business Machines Corporation
    Inventors: James Fields, Benjiman Goodman, Guy Guthrie, Jeffrey Stuecheli
  • Publication number: 20060179244
    Abstract: A cache coherent data processing system includes at least a first cache memory supporting a first processing unit and a second cache memory supporting a second processing unit. The first cache memory includes a cache array and a cache directory of contents of the cache array. In response to the first cache memory detecting on an interconnect a broadcast operation that specifies a request address, the first cache memory determines from the operation a type of the operation and a coherency state associated with the request address. In response to determining the type and the coherency state, the first cache memory filters out the broadcast operation without accessing the cache directory.
    Type: Application
    Filed: February 10, 2005
    Publication date: August 10, 2006
    Applicant: International Business Machines Corporation
    Inventors: Benjiman Goodman, Guy Guthrie, William Starke, Derek Williams
  • Publication number: 20060176886
    Abstract: A data processing system includes a first processing node and a second processing node coupled by an interconnect fabric. The first processing node includes a plurality of first processing units coupled to each other for communication, and the second processing node includes a plurality of second processing units coupled to each other for communication. The first processing units in the first processing node have a first mode in which the first processing units broadcast operations with a first scope limited to the first processing node and a second mode in which the first processing units of the first processing node broadcast operations with a second scope including the first processing node and the second processing node.
    Type: Application
    Filed: February 10, 2005
    Publication date: August 10, 2006
    Applicant: International Business Machines Corporation
    Inventors: Benjiman Goodman, Praveen Reddy
  • Publication number: 20060176885
    Abstract: A data processing system includes an interconnect fabric, a protected resource having a plurality of banks each associated with a respective one of a plurality of address sets, a snooper that controls access to the resource, one or more masters that initiate requests, and interconnect logic coupled to the one or more masters and to the interconnect fabric. The interconnect logic regulates a rate of delivery to the snooper via the interconnect fabric of requests that target any one the plurality of banks of the protected resource.
    Type: Application
    Filed: February 10, 2005
    Publication date: August 10, 2006
    Applicant: International Business Machines Corporation
    Inventors: Benjiman Goodman, Praveen Reddy, Jeffrey Stuecheli