Patents by Inventor Blaine D. Gaither

Blaine D. Gaither 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: 20100250877
    Abstract: Embodiments of the present invention are directed to enhancing VPAR monitors to allow an active VPAR to be moved from one machine to another, as well as to enhancing virtual-machine monitors to move active VPARs from one machine to another. Because traditional VPAR monitors lack access to many computational resources and to executing-operating-system state, VPAR movement is carried out primarily by specialized routines executing within active VPARs, unlike the movement of guest operating systems between machines carried out by virtual-machine-monitor routines.
    Type: Application
    Filed: March 27, 2009
    Publication date: September 30, 2010
    Inventors: Blaine D. Gaither, John A. Morrison
  • Publication number: 20100235562
    Abstract: A switch module having shared memory that is allocated to other blade servers. A memory controller partitions and enables access to partitions of the shared memory by requesting blade servers.
    Type: Application
    Filed: March 13, 2009
    Publication date: September 16, 2010
    Inventors: Blaine D. Gaither, Andrew R. Wheeler
  • Publication number: 20100228785
    Abstract: A method for accessing data is disclosed. The method comprises writing data for a multi-dimensional array to a physical storage device. The data is written to a physical storage device as two different linear strings. The first linear string contains the data from the multi-dimensional array in row format and the second linear string contains the data from the multi-dimensional array in column format.
    Type: Application
    Filed: March 5, 2009
    Publication date: September 9, 2010
    Inventors: Blaine D. Gaither, F. Steven Chalmers, Greg Thelen
  • Patent number: 7774551
    Abstract: A method for maintaining cache coherence comprises coordinating operations among a plurality of processors distributed among a plurality of nodes coupled by an interconnect fabric and managing cache coherence in a plurality of memory directories respectively associated with the processor plurality in combination with a node controller directory cache associated with a node controller coupled between the processor plurality and the interconnect fabric. The method further comprises maintaining memory coherence directory information comprising identifying processors within a node in a first portion of bits of a memory directory entry coupled to an associated processor in the node and identifying subsets of processors external to the node in the system in a second portion of bits.
    Type: Grant
    Filed: October 6, 2006
    Date of Patent: August 10, 2010
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Blaine D. Gaither, Verna Knapp
  • Publication number: 20100192158
    Abstract: A method of determining an estimated data throughput capacity for a computer system includes the steps of creating a first model of data throughput of a central processing subsystem in the computer system as a function of latency of a memory subsystem of the computer system; creating a second model of the latency in the memory subsystem as a function of bandwidth demand of the memory subsystem; and finding a point of intersection of the first and second models. The point of intersection corresponds to a possible operating point for said computer system.
    Type: Application
    Filed: January 23, 2009
    Publication date: July 29, 2010
    Applicant: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
    Inventors: Blaine D. Gaither, Mark V. Riley
  • Patent number: 7765363
    Abstract: A system comprises a plurality of cache agents, a computing entity coupled to the cache agents, and a programmable mask accessible to the computing entity. The programmable mask is indicative of, for at least one memory address, those cache agents that can receive a snoop request associated with a memory address. Based on the mask, the computing entity transmits snoop requests, associated with the memory address, to only those cache agents identified by the mask as cache agents that can receive a snoop request associated with the memory address.
    Type: Grant
    Filed: July 26, 2007
    Date of Patent: July 27, 2010
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Blaine D. Gaither, Benjamin D. Osecky, Gerald J. Kaufman, Jr.
  • Patent number: 7739478
    Abstract: A method is provided for pre-fetching data into a cache memory. A first cache-line address of each of a number of data requests from at least one processor is stored. A second cache-line address of a next data request from the processor is compared to the first cache-line addresses. If the second cache-line address is adjacent to one of the first cache-line addresses, data associated with a third cache-line address adjacent to the second cache-line address is pre-fetched into the cache memory, if not already present in the cache memory.
    Type: Grant
    Filed: March 8, 2007
    Date of Patent: June 15, 2010
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Judson E. Veazey, Blaine D. Gaither
  • Patent number: 7600079
    Abstract: A method comprises, while a first device has ownership of a data unit, a second device issuing a request to perform a memory write of said data unit. The method further comprises a memory controller performing the memory write without changing ownership to the second device.
    Type: Grant
    Filed: October 27, 2006
    Date of Patent: October 6, 2009
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Blaine D. Gaither, Judson E. Veazey, Patrick Knebel
  • Publication number: 20090210628
    Abstract: Methods for selecting a line to evict from a data storage system are provided. A computer system implementing a method for selecting a line to evict from a data storage system is also provided. The methods include selecting an uncached class line for eviction prior to selecting a cached class line for eviction.
    Type: Application
    Filed: August 20, 2008
    Publication date: August 20, 2009
    Inventor: Blaine D. Gaither
  • Publication number: 20090037162
    Abstract: A method is provided for evaluating workload migration from a target computer in a datacenter. The method includes tracking the number of power cycles occurring for a plurality of computers located within the datacenter and generating power cycling information as a result of the tracking. The method further includes determining whether to power cycle the target computer based on the power cycling information.
    Type: Application
    Filed: July 31, 2007
    Publication date: February 5, 2009
    Inventors: Blaine D. Gaither, Russ W. Herrell
  • Publication number: 20090037164
    Abstract: A method is provided for evaluating workload consolidation on a computer located in a datacenter. The method comprises inflating a balloon workload on a first computer that simulates a consolidation workload of a workload originating on the first computer and a workload originating on a second computer. The method further comprises evaluating the quality of service on the first computer's workload during the inflating and transferring the workload originating on either the first or the second computer to the other of the first or second computer if the evaluating the quality of service remains above a threshold.
    Type: Application
    Filed: July 31, 2007
    Publication date: February 5, 2009
    Inventors: Blaine D. Gaither, Bret A. McKee
  • Publication number: 20090031087
    Abstract: A system comprises a plurality of cache agents, a computing entity coupled to the cache agents, and a programmable mask accessible to the computing entity. The programmable mask is indicative of, for at least one memory address, those cache agents that can receive a snoop request associated with a memory address. Based on the mask, the computing entity transmits snoop requests, associated with the memory address, to only those cache agents identified by the mask as cache agents that can receive a snoop request associated with the memory address.
    Type: Application
    Filed: July 26, 2007
    Publication date: January 29, 2009
    Inventors: Blaine D. Gaither, Benjamin D. Osecky, Gerald J. Kaufman, JR.
  • Publication number: 20080229009
    Abstract: A system for pushing data, the system includes a source node that stores a coherent copy of a block of data. The system also includes a push engine configured to determine a next consumer of the block of data. The determination being made in the absence oft he push engine detecting a request for the block of data from the next consumer. The push engine causes the source node to push the block of data to a memory associated with the next consumer to reduce latency of the next consumer accessing the block of data.
    Type: Application
    Filed: March 14, 2007
    Publication date: September 18, 2008
    Inventors: Blaine D. Gaither, Darel N. Emmot, Judson E. Veazey, Benjamin D. Osecky
  • Publication number: 20080222343
    Abstract: A method is provided for pre-fetching data into a cache memory. A first cache-line address of each of a number of data requests from at least one processor is stored. A second cache-line address of a next data request from the processor is compared to the first cache-line addresses. If the second cache-line address is adjacent to one of the first cache-line addresses, data associated with a third cache-line address adjacent to the second cache-line address is pre-fetched into the cache memory, if not already present in the cache memory.
    Type: Application
    Filed: March 8, 2007
    Publication date: September 11, 2008
    Inventors: Judson E. Veazey, Blaine D. Gaither
  • Publication number: 20080184194
    Abstract: A method of performing operations in a computer system, computer system, and related method of compilation, are disclosed. In one embodiment, the method of performing includes providing compiled code having at least one thread, where each of the at least one thread includes a respective plurality of blocks and each respective block includes a respective pre-fetch component and a respective execute component. The method also includes performing a first pre-fetch component from a first block of a first thread of the at least one thread, performing a first additional component after the first pre-fetch component has been performed, and performing a first execute component from the first block of the first thread. The first execute component is performed after the first additional component has been performed, and the first additional component is from either a second thread or another block of the first thread that is not the first block.
    Type: Application
    Filed: January 25, 2007
    Publication date: July 31, 2008
    Inventors: Blaine D. Gaither, Verna Knapp, Jerome Huck, Benjamin D. Osecky
  • Publication number: 20080133834
    Abstract: A method for handling a request of storage on a serial fabric comprising formatting an address for communication on a serial fabric into a plurality of fields including a field comprising at least one set selection bit and a field comprising at least one tag bit. The address is communicated on the serial fabric with the field comprising the at least one set selection bit communicated first.
    Type: Application
    Filed: December 5, 2006
    Publication date: June 5, 2008
    Inventors: Blaine D. Gaither, Verna Knapp
  • Publication number: 20080104329
    Abstract: A cache is provided for operatively coupling a processor with a main memory. The cache includes a cache memory and a cache controller operatively coupled with the cache memory. The cache controller is configured to receive memory requests to be satisfied by the cache memory or the main memory. In addition, the cache controller is configured to process cache activity information to cause at least one of the memory requests to bypass the cache memory.
    Type: Application
    Filed: October 31, 2006
    Publication date: May 1, 2008
    Inventors: Blaine D. Gaither, Patrick Knebel
  • Publication number: 20080104336
    Abstract: A method comprises, while a first device has ownership of a data unit, a second device issuing a request to perform a memory write of said data unit. The method further comprises a memory controller performing the memory write without changing ownership to the second device.
    Type: Application
    Filed: October 27, 2006
    Publication date: May 1, 2008
    Inventors: Blaine D. Gaither, Judson E. Veazey, Patrick Knebel
  • Publication number: 20080104332
    Abstract: A method for providing a transactional memory is described. A cache coherency protocol is enforced upon a cache memory including cache lines, wherein each line is in one of a modified state, an owned state, an exclusive state, a shared state, and an invalid state. Upon initiation of a transaction accessing at least one of the cache lines, each of the lines is ensured to be either shared or invalid. During the transaction, in response to an external request for any cache line in the modified, owned, or exclusive state, each line in the modified or owned state is invalidated without writing the line to a main memory. Also, each exclusive line is demoted to either the shared or invalid state, and the transaction is aborted.
    Type: Application
    Filed: October 31, 2006
    Publication date: May 1, 2008
    Inventors: Blaine D. Gaither, Judson E. Veazey
  • Publication number: 20080086601
    Abstract: A method for maintaining cache coherence comprises coordinating operations among a plurality of processors distributed among a plurality of nodes coupled by an interconnect fabric and managing cache coherence in a plurality of memory directories respectively associated with the processor plurality in combination with a node controller directory cache associated with a node controller coupled between the processor plurality and the interconnect fabric. The method further comprises maintaining memory coherence directory information comprising identifying processors within a node in a first portion of bits of a memory directory entry coupled to an associated processor in the node and identifying subsets of processors external to the node in the system in a second portion of bits.
    Type: Application
    Filed: October 6, 2006
    Publication date: April 10, 2008
    Inventors: Blaine D. Gaither, Verna Knapp