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

  • Patent number: 7689891
    Abstract: A method of handling a stuck bit in a directory of a cache memory which detects an error in a stored tag having an address field, a state field and an error-correction field, determines that the error is associated with a stuck bit of the directory member, marks the directory member as defective, and casts out corrected address information. The error is detected during processing of a cache directory access request, and is determined to be associated with a stuck bit of the directory member by attempting to correct a first error and then detecting a second error after the first correction attempt. The address information is cast out by routing a surrogate tag contained in a surrogate member of the cache directory through error-correction pipeline circuitry while transmitting the address information from the surrogate member to a cast-out machine.
    Type: Grant
    Filed: September 13, 2005
    Date of Patent: March 30, 2010
    Assignee: International Business Machines Corporation
    Inventors: Robert H. Bell, Jr., Guy L. Guthrie, William J. Starke
  • Patent number: 7686619
    Abstract: An apparatus, system, and method are disclosed for a configurable blade card. A base card is in physical and electrical communication with a blade connector. The blade connector is in physical and electrical communication with a blade enclosure connector. A secondary card is in physical and electrical communication with the base card to form a blade card. A coupler physically couples the base card and the secondary card. The base card and the secondary card are co-planar and compatible with a blade card form factor.
    Type: Grant
    Filed: January 17, 2008
    Date of Patent: March 30, 2010
    Assignee: International Business Machines Corporation
    Inventors: Robert H. Bell, Jr., Jose R. Escalera, Octavian F. Herescu, Vernon W. Miller, Michael D. Roll
  • Patent number: 7689777
    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: December 6, 2007
    Date of Patent: March 30, 2010
    Assignee: International Business Machines Corporation
    Inventors: Robert H. Bell, Jr., Guy Lynn Guthrie, William John Starke, Jeffrey Adam Stuecheli
  • Publication number: 20100049963
    Abstract: A processor has multiple cores with each core having an associated function to support processor operations. The functions performed by the cores are selectively altered to improve processor operations by balancing the resources applied for each function. For example, each core comprises a field programmable array that is selectively and dynamically programmed to perform a function, such as a floating point function or a fixed point function, based on the number of operations that use each function. As another example, a processor is built with a greater number of cores than can be simultaneously powered, each core associated with a function, so that cores having functions with lower utilization are selectively powered down.
    Type: Application
    Filed: August 25, 2008
    Publication date: February 25, 2010
    Inventors: Robert H. Bell, JR., Louis Bennie Capps, JR., Thomas Edward Cook, Glenn G. Daves, Ronald Edward Newhart, Michael A. Paolini, Michael Jay Shapiro
  • Publication number: 20100023698
    Abstract: A method and system for precisely tracking lines evicted from a region coherence array (RCA) without requiring eviction of the lines from a processor's cache hierarchy. The RCA is a set-associative array which contains region entries consisting of a region address tag, a set of bits for the region coherence state, and a line-count for tracking the number of region lines cached by the processor. Tracking of the RCA is facilitated by a non-tagged hash table of counts represented by a Region Victim Hash (RVH). When a region is evicted from the RCA, and lines from the evicted region still reside in the processor's caches (i.e., the region's line-count is non-zero), the RCA line-count is added to the corresponding RVH count. The RVH count is decremented by the value of the region line count following a subsequent processor cache eviction/invalidation of the region previously evicted from the RCA.
    Type: Application
    Filed: July 22, 2008
    Publication date: January 28, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORP.
    Inventors: Robert H. Bell, JR., Jason F. Cantin
  • Publication number: 20090276190
    Abstract: A test system or simulator includes an integrated circuit (IC) benchmark software program that executes workload program software on a semiconductor die IC design model. The benchmark software program includes trace, simulation point, basic block vector (BBV) generation, cycles per instruction (CPI) error, clustering and other programs. The test system also includes CPI stack program software that generates CPI stack data that includes microarchitecture dependent information for each instruction interval of workload program software. The CPI stack data may also include an overall analysis of CPI data for the entire workload program. IC designers may utilize the benchmark software and CPI stack program to develop a reduced representative workload program that includes CPI data as well as microarchitecture dependent information.
    Type: Application
    Filed: April 30, 2008
    Publication date: November 5, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Robert H. Bell, JR., Thomas W. Chen, Venkat R. Indukuru, Alexander E. Mericas, Pattabi M. Seshadri, Madhavi G. Valluri
  • Publication number: 20090276191
    Abstract: A test system or simulator includes an enhanced IC test application sampling software program that executes test application software on a semiconductor die IC design model. The enhanced test application sampling software may include trace, simulation point, CPI error, clustering, instruction budgeting, and other programs. The enhanced test application sampling software generates basic block vectors (BBVs) and fly-by vectors (FBVs) from instruction trace analysis of test application software workloads. The enhanced test application sampling software utilizes the microarchitecture dependent information to generate the FBVs to select representative instruction intervals from the test application software. The enhanced test application sampling software generates a reduced representative test application software program from the BBV and FBV data utilizing a global instruction budgeting analysis method.
    Type: Application
    Filed: April 30, 2008
    Publication date: November 5, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Robert H. Bell, JR., Wen-Tzer Thomas Chen, Venkat R. Indukuru, Pattabi M. Seshadri, Madhavi G. Valluri
  • Publication number: 20090210727
    Abstract: A method to manage power in a computing device comprising a controller assembly and a storage assembly comprising a plurality of data storage devices, by selecting a processor parameter, establishing a threshold processor parameter value, establishing a threshold over-parameter time interval, selecting a data storage device parameter, and establishing a nominal data storage device parameter value. The method determines an actual processor parameter value. If the actual processor parameter value is less than or equal to the threshold processor parameter value, the method operates each of the plurality of data storage devices using the nominal data storage device parameter value. If the actual processor parameter value is greater than the threshold processor parameter value, then the method determines an actual over-parameter time interval.
    Type: Application
    Filed: February 14, 2008
    Publication date: August 20, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: ROBERT H. BELL, JR., JOSE RAUL ESCALERA, OCTAVIAN FLORIN HERESCU, VERNON WALTER MILLER, MICHAEL DECLAN ROLL
  • Patent number: 7568076
    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 10, 2007
    Date of Patent: July 28, 2009
    Assignee: International Business Machines Corporation
    Inventors: Robert H. Bell, Jr., Hugh Shen, Jeffrey Adam Stuecheli, Derek Edward Williams
  • Publication number: 20090186494
    Abstract: An apparatus, system, and method are disclosed for a configurable blade card. A base card is in physical and electrical communication with a blade connector. The blade connector is in physical and electrical communication with a blade enclosure connector. A secondary card is in physical and electrical communication with the base card to form a blade card. A coupler physically couples the base card and the secondary card. The base card and the secondary card are co-planar and compatible with a blade card form factor.
    Type: Application
    Filed: January 17, 2008
    Publication date: July 23, 2009
    Inventors: Robert H. Bell, JR., Jose R. Escalera, Octavian F. Herescu, Vernon W. Miller, Michael D. Roll
  • Publication number: 20090182994
    Abstract: A method, apparatus, and computer-usable program code in a computer system for identifying a subset of a workload, which includes a total set of dynamic instructions, to use as a trace. Processor unit hardware executes the entire workload in real-time using a particular dataset. The processor unit hardware includes at least one microprocessor and at least one cache. The real-time execution of the workload is monitored to obtain information about how the processor unit hardware executes the workload when the workload is executed using the particular dataset to form actual performance information. Multiple different subsets of the workload are generated. The execution of each one of the subsets by the processor unit hardware is compared with the actual performance information. A result of the comparison is used to select one of the plurality of different subsets that roost closely represents the execution of the entire workload using the particular dataset to use as a trace.
    Type: Application
    Filed: January 11, 2008
    Publication date: July 16, 2009
    Inventors: Robert H. Bell, JR., Wen-Tzer Thomas Chen, Venkat Rajeev Indukuru, Pattabi Michael Seshadri, Madhavi Gopal Valluri
  • Publication number: 20090164759
    Abstract: A method and apparatus for speculatively executing a single threaded program within a multi-core processor which includes identifying an idle core within the multi-core processor, performing a look ahead operation on the single thread instructions to identify speculative instructions within the single thread instructions, and allocating the idle core to execute the speculative instructions.
    Type: Application
    Filed: December 19, 2007
    Publication date: June 25, 2009
    Inventors: Robert H. Bell, JR., Louis Bennie Capps, JR., Michael A. Paolini, Michael Jay Shapiro
  • Publication number: 20090164812
    Abstract: A method, system and program are provided for dynamically reconfiguring a pipelined processor to operate with reduced power consumption without reducing existing performance. By monitoring or detecting the performance of individual units or stages in the processor as they execute a given workload, each stage may use high-performance circuitry until such time as a drop in the throughput performance is detected, at which point the stages are reconfigured to use lower-performance circuitry so as to meet the reduced performance throughput requirements using less power. By configuring the processor to back off from high-performance designs to low-performance designs to meet the detected performance characteristics of the executing workload warrant, power dissipation may be optimized.
    Type: Application
    Filed: December 19, 2007
    Publication date: June 25, 2009
    Inventors: Louis B. Capps, JR., Robert H. Bell, JR., Michael J. Shapiro
  • Publication number: 20090164755
    Abstract: A method for optimizing execution of a single threaded program on a multi-core processor. The method includes dividing the single threaded program into a plurality of discretely executable components while compiling the single threaded program; identifying at least some of the plurality of discretely executable components for execution by an idle core within the multi-core processor; and enabling execution of the at least one of the plurality of discretely executable components on the idle core.
    Type: Application
    Filed: December 19, 2007
    Publication date: June 25, 2009
    Inventors: Robert H. Bell, JR., Louis Bennie Capps, JR., Michael A. Paolini, Michael Jay Shapiro
  • Publication number: 20090164399
    Abstract: A multiprocessor system which includes automatic workload distribution. As threads execute in the multiprocessor system, an operating system or hypervisor continuously learns the execution characteristics of the threads and saves the information in thread-specific control blocks. The execution characteristics are used to generate thread performance data. As the thread executes, the operating system continuously uses the performance data to steer the thread to a core that will execute the workload most efficiently.
    Type: Application
    Filed: December 19, 2007
    Publication date: June 25, 2009
    Inventors: Robert H. Bell, JR., Louis Bennie Capps, JR., Thomas Edward Cook, Thomas J. Dewkett, Naresh Nayar, Ronald Edward Newhart, Bernadette Ann Pierson, Michael Jay Shapiro
  • Publication number: 20090165016
    Abstract: A method and apparatus for speculatively executing a single threaded program within a multi-core processor which includes identifying an idle core within the multi-core processor, performing a look ahead operation on the single thread instructions to identify speculative instructions within the single thread instructions, and allocating the idle core to execute the speculative instructions.
    Type: Application
    Filed: December 19, 2007
    Publication date: June 25, 2009
    Inventors: Robert H. Bell, JR., Louis Bennie Capps, JR., Michael A. Paolini, Michael Jay Shapiro
  • Publication number: 20090150617
    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: Application
    Filed: December 6, 2007
    Publication date: June 11, 2009
    Inventors: ROBERT H. BELL, JR., Guy Lynn Guthrie, William John Starke
  • Patent number: 7543120
    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: December 7, 2007
    Date of Patent: June 2, 2009
    Assignee: International Business Machines Corporation
    Inventors: Robert H. Bell, Jr., Hugh Shen, Jeffrey Adam Stuecheli, Derek Edward Williams
  • Patent number: 7543109
    Abstract: A method for caching data in a blade computing complex includes providing a storage blade that includes a disk operative to store pages of data and a cache memory operative to store at least one of the pages. A processor blade is provided that includes a first memory area to store at least one of the pages and a second memory area configured to store an address of each of the pages and a hint value that is assigned to each of the pages. An address of each of the pages is stored in the second memory area, and a hint is assigned to each of the pages, where the hint is one of: likely to be accessed, may be accessed, and unlikely to be accessed. The page is then stored in storage blade cache memory based on the hint.
    Type: Grant
    Filed: May 16, 2008
    Date of Patent: June 2, 2009
    Assignee: International Business Machines Corporation
    Inventors: Robert H. Bell, Jr., Jose R. Escalera, Octavian F. Herescu, Vernon W. Miller, Michael D. Roll
  • Publication number: 20090138220
    Abstract: A directory-based 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