Patents by Inventor Robert H. Bell, Jr.

Robert H. Bell, Jr. 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: 20090138660
    Abstract: A snoop coherency method, system and program are provided for intervening a requested cache line from a plurality of candidate memory sources in a multiprocessor system on the basis of the sensed temperature or power dissipation value at each memory source. By providing temperature or power dissipation sensors in each of the candidate memory sources (e.g., at cores, cache memories, memory controller, etc.) that share a requested cache line, control logic may be used to determine which memory source should source the cache line by using the power sensor signals to signal only the memory source with acceptable power dissipation to provide the cache line to the requester.
    Type: Application
    Filed: November 28, 2007
    Publication date: May 28, 2009
    Inventors: Robert H. Bell, JR., Louis B. Capps, JR., Thomas E. Cook, Michael J. Shapiro, Naresh Nayar
  • Publication number: 20090138682
    Abstract: A method, system and program are provided for dynamically assigning priority values to instruction threads in a computer system based on one or more predetermined thread performance tests, and using the assigned instruction priorities to determine how resources are used in the system. By storing the assigning priority values for each thread as a tag in the thread's instructions, tagged instructions from different threads that are dispatched through the system are allocated system resources based on the tagged priority values assigned to the respective instruction threads. Priority values for individual threads may be updated with control software which tests thread performance and uses the test results to apply predetermined adjustment policies.
    Type: Application
    Filed: November 28, 2007
    Publication date: May 28, 2009
    Inventors: Louis B. Capps, JR., Robert H. Bell, JR.
  • Publication number: 20090138683
    Abstract: A method, system and program are provided for dynamically assigning priority values to instruction threads in a computer system based on one or more predetermined thread performance tests, and using the assigned instruction priorities to determine how resources are used in the system. By storing the assigning priority values in thread priority registers distributed throughout the computer system, instructions from different threads that are dispatched through the system are allocated system resources based on the priority values assigned to the respective instruction threads. Priority values for individual threads may be updated with control software which tests thread performance and uses the test results to apply predetermined adjustment policies.
    Type: Application
    Filed: November 28, 2007
    Publication date: May 28, 2009
    Inventors: Louis B. Capps, JR., Robert H. Bell, JR.
  • Patent number: 7533321
    Abstract: A method of handling a stuck bit in a directory of a cache memory, by defining multiple binary encodings to indicate a defective cache state, detecting an error in a tag stored in a member of the directory (wherein the tag at least includes an address field, a state field and an error-correction field), determining that the error is associated with a stuck bit of the directory member, and writing new state information to the directory member which is selected from one of the binary encodings based on a field location of the stuck bit within the directory member. The multiple binary encodings may include a first binary encoding when the stuck bit is in the address field, a second binary encoding when the stuck bit is in the state field, and a third binary encoding when the stuck bit is in the error-correction field. The new state information may also further be selected based on the value of the stuck bit, e.g.
    Type: Grant
    Filed: September 13, 2005
    Date of Patent: May 12, 2009
    Assignee: International Business Machines Corporation
    Inventors: Robert H. Bell, Jr., Guy L. Guthrie, William J. Starke
  • Publication number: 20090055153
    Abstract: Computer implemented method, system, and computer usable program code for simulating processor operation in a data processing system. An instruction trace is generated, wherein the instruction trace includes markers specified by a user for identifying interval boundaries for at least one interval of the instruction trace. The instruction trace is divided into a plurality of intervals in consideration of the markers, and the plurality of intervals are formed into a plurality of interval clusters, wherein each interval cluster represents one phase of execution of the instruction trace. At least one interval from each of the plurality of interval clusters is selected as a trace sample to provide a plurality of trace samples, wherein each selected interval is of at least a minimum size, a simulation is performed using the plurality of trace samples, and a result of the simulation is provided to the user.
    Type: Application
    Filed: August 21, 2007
    Publication date: February 26, 2009
    Inventors: Robert H. Bell, JR., Wen-Tzer Thomas Chen, Pattabi R. Seshadri, John-David Wellman
  • Publication number: 20080307203
    Abstract: A method, system, and computer program product are provided for identifying instructions to obtain representative traces. A phase instruction budget is calculated for each phase in a set of phases. The phase instruction budget is based on a weight associated with each phase and a global instruction budget. A starting index and an ending index are identified for instructions within a set of intervals in each phase in order to meet the phase instruction budget for that phase, thereby forming a set of interval indices. A determination is made as to whether the instructions within the set of interval indices meet the global instruction budget. Responsive to the global instruction budget being met, the set of interval indices are output as collection points for the representative traces.
    Type: Application
    Filed: June 5, 2007
    Publication date: December 11, 2008
    Inventors: Robert H. Bell, JR., Wen-Tzer T. Chen, Richard J. Eickemeyer, Venkat R. Indukuru, Pattabi M. Seshadri, Madhavi G. Valluri
  • Publication number: 20080301531
    Abstract: A method of handling a stuck bit in a directory of a cache memory, by defining multiple binary encodings to indicate a defective cache state, detecting an error in a tag stored in a member of the directory (wherein the tag at least includes an address field, a state field and an error-correction field), determining that the error is associated with a stuck bit of the directory member, and writing new state information to the directory member which is selected from one of the binary encodings based on a field location of the stuck bit within the directory member. The multiple binary encodings may include a first binary encoding when the stuck bit is in the address field, a second binary encoding when the stuck bit is in the state field, and a third binary encoding when the stuck bit is in the error-correction field. The new state information may also further be selected based on the value of the stuck bit, e.g.
    Type: Application
    Filed: August 12, 2008
    Publication date: December 4, 2008
    Inventors: Robert H. Bell, JR., Guy L. Guthrie, William J. Starke
  • Patent number: 7401189
    Abstract: A method and apparatus for preventing selection of Deleted (D) members as an LRU victim during LRU victim selection. During each cache access targeting the particular congruence class, the deleted cache line is identified from information in the cache directory. A location of a deleted cache line is pipelined through the cache architecture during LRU victim selection. The information is latched and then passed to MRU vector generation logic. An MRU vector is generated and passed to the MRU update logic, which is selects/tags the deleted member as a MRU member. The make MRU operation affects only the lower level LRU state bits arranged in a tree-based structure state bits so that the make MRU operation only negates selection of the specific member in the D state, without affecting LRU victim selection of the other members.
    Type: Grant
    Filed: February 9, 2005
    Date of Patent: July 15, 2008
    Assignee: International Business Machines Corporation
    Inventors: Robert H. Bell, Jr., Guy Lynn Guthrie, William John Starke, Jeffrey Adam Stuecheli
  • Patent number: 7366851
    Abstract: A processor includes at least one instruction execution unit that executes store instructions to obtain store operations and a store queue coupled to the instruction execution unit. The store queue includes a queue entry in which the store queue gathers multiple store operations during a store gathering window to obtain a data portion of a write transaction directed to lower level memory. In addition, the store queue includes dispatch logic that varies a size of the store gathering window to optimize store performance for different store behaviors and workloads.
    Type: Grant
    Filed: August 19, 2004
    Date of Patent: April 29, 2008
    Assignee: International Business Machines Corporation
    Inventors: Robert H. Bell, Jr., Hugh Shen, Jeffrey Adam Stuecheli, Derek Edward Williams
  • Patent number: 7363433
    Abstract: A method and apparatus for enabling protection of a particular member of a cache during LRU victim selection. LRU state array includes additional “protection” bits in addition to the state bits. The protection bits serve as a pointer to identify the location of the member of the congruence class that is to be protected. A protected member is not removed from the cache during standard LRU victim selection, unless that member is invalid. The protection bits are pipelined to MRU update logic, where they are used to generate an MRU vector. The particular member identified by the MRU vector (and pointer) is protected from selection as the next LRU victim, unless the member is Invalid. The make MRU operation affects only the lower level LRU state bits arranged a tree-based structure and thus only negates the selection of the protected member, without affecting LRU victim selection of the other members.
    Type: Grant
    Filed: February 9, 2005
    Date of Patent: April 22, 2008
    Assignee: International Business Machines Corporation
    Inventors: Robert H. Bell, Jr., Guy Lynn Guthrie, William John Starke, Jeffrey Adam Stuecheli
  • Patent number: 7343455
    Abstract: A method, apparatus, and computer for identifying selection of a bad victim during victim selection at a cache and recovering from such bad victim selection without causing the system to crash or suspend forward progress of the victim selection process. Among the bad victim selection addressed are recovery from selection of a deleted member and recovery from use of LRU state bits that do not map to a member within the congruence class. When LRU victim selection logic generates an output vector identifying a victim, the output vector is checked to ensure that it is a valid vector (non-null) and that it is not pointing to a deleted member. When the output vector is not valid or points to a deleted member, the LRU victim selection logic is triggered to re-start the victim selection process.
    Type: Grant
    Filed: February 9, 2005
    Date of Patent: March 11, 2008
    Assignee: International Business Machines Corporation
    Inventors: Robert H. Bell, Jr., Guy Lynn Guthrie, William John Starke
  • Patent number: 7343592
    Abstract: A synthetic benchmark for a computer program and a method and computer program product for creating a synthetic benchmark for a computer program. The synthetic benchmark is created using statistical information that is collected about an executing program, and some hints about the machine on which the benchmark will be run. When executed, the synthetic benchmark exhibits behavior similar to the computer program to permit computer performance to be accurately measured.
    Type: Grant
    Filed: June 17, 2004
    Date of Patent: March 11, 2008
    Assignee: International Business Machines Corporation
    Inventor: Robert H. Bell, Jr.
  • Patent number: 6950892
    Abstract: A method and system for managing distributed arbitration for multi-cycle data transfer requests provides improved performance in a processing system. A multi-cycle request indicator is provided to a slice arbiter and if a multi-cycle request is present, only one slice is granted its associated bus. The method further blocks any requests from other requesting slices having a lower latency than the first slice until the latency difference between the other requesting slices and the longest latency slice added to a predetermined cycle counter value has expired. The method also blocks further requests from the first slice until the predetermined cycle counter value has elapsed and blocks requests from slices having a higher latency than the first slice until the predetermined cycle counter value less the difference in latencies for the first slice and for the higher latency slice has elapsed.
    Type: Grant
    Filed: April 10, 2003
    Date of Patent: September 27, 2005
    Assignee: International Business Machines Corporation
    Inventors: Robert H. Bell, Jr., Robert Alan Cargnoni