Patents by Inventor James P. Laudon

James P. Laudon 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: 8762951
    Abstract: A system and method for profiling runtime system events of a computer system may include associating a data source type with detected system events. The system events may be detected dependent on information included in a reply message received by a processor in response to a data request or other transaction request message. The reply message may include information characterizing a source type of a source of data included in the reply message. The source type information may indicate that the source is remote or local; that it is a shared or a private storage location; that the data is supplied via a cache-to-cache transfer; or that the data is sourced from a coherency domain other than that of the requesting process. Instructions, events, messages, and replies may be sampled, and extended address information corresponding to the samples may be stored in an event set database for performance analysis.
    Type: Grant
    Filed: March 21, 2007
    Date of Patent: June 24, 2014
    Assignee: Oracle America, Inc.
    Inventors: Nicolai Kosche, James P. Laudon, Adam R. Talcott, Sanjay Patel, Farnad Sajjadian
  • Patent number: 8195903
    Abstract: A memory controller including a control unit for limiting the number of memory requests that are executed within a predetermined time period to regulate power consumption. The control unit may determine a memory request limit indicating the maximum number of memory requests that are allowed to be executed during the predetermined time period based on at least a carry-over limit and a new request limit. The carry-over limit may indicate the maximum number of carry-over memory requests that are allowed during the predetermined time period. The new request limit may indicate the maximum number of new memory requests that are allowed during the predetermined time period. The control unit may further control the number of memory requests that are executed in each of a sequence of predetermined time periods.
    Type: Grant
    Filed: June 29, 2006
    Date of Patent: June 5, 2012
    Assignee: Oracle America, Inc.
    Inventor: James P. Laudon
  • Patent number: 7574566
    Abstract: Software-based cache coherence protocol. A processing unit may execute a memory request using a processor thread. In response to detecting a cache hit to shared or a cache miss associated with the memory request, a cache may provide both a trap signal and coherence information to the processor thread of the processing unit. After receiving the trap signal and the coherence information, the processor thread may perform a cache coherence operation for the memory request using at least the received coherence information. The processing unit may include a plurality of processor threads and a load balancer. The load balancer may receive coherence requests from one or more remote processing units and distribute the received coherence requests across the plurality of processor threads. The load balance may preferentially distribute the received coherence requests across the plurality of processor threads based on the operation state of the processor threads.
    Type: Grant
    Filed: September 21, 2006
    Date of Patent: August 11, 2009
    Assignee: Sun Microsystems, Inc.
    Inventor: James P. Laudon
  • Patent number: 7454631
    Abstract: A system is provided for detecting when a temperature of a multiprocessor chip approaches an established threshold temperature indicating an imminent overheat condition. When the threshold temperature is reached, a number of active threads are idled in order to remove their contribution from the overall power consumption of the multiprocessor chip. Idling of the threads serves to prevent the multiprocessor chip from reaching the overheat condition. Once the temperature of the multiprocessor chip drops to an acceptable level, execution of the previously idled threads is resumed. Detection of the imminent overheat condition and corresponding idling of the threads to avoid reaching the overheat condition is conducted by hardware to ensure timely reduction of the multiprocessor chip temperature.
    Type: Grant
    Filed: March 11, 2005
    Date of Patent: November 18, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: James P. Laudon, Curtis R. McAllister
  • Publication number: 20080077743
    Abstract: Software-based cache coherence protocol. A processing unit may execute a memory request using a processor thread. In response to detecting a cache hit to shared or a cache miss associated with the memory request, a cache may provide both a trap signal and coherence information to the processor thread of the processing unit. After receiving the trap signal and the coherence information, the processor thread may perform a cache coherence operation for the memory request using at least the received coherence information. The processing unit may include a plurality of processor threads and a load balancer. The load balancer may receive coherence requests from one or more remote processing units and distribute the received coherence requests across the plurality of processor threads. The load balance may preferentially distribute the received coherence requests across the plurality of processor threads based on the operation state of the processor threads.
    Type: Application
    Filed: September 21, 2006
    Publication date: March 27, 2008
    Inventor: James P. Laudon
  • Publication number: 20080016325
    Abstract: In one embodiment, a processor comprises a core configured to execute instructions; a register file comprising a plurality of storage locations; and a window management unit. The window management unit is configured to operate the plurality of storage locations as a plurality of windows, wherein register addresses encoded into the instructions identify storage locations among a subset of the plurality of storage locations that are within a current window. Additionally, the window management unit is configured to allocate a second window in response to a predetermined event. One of the current window and the second window serves as a checkpoint of register state, and the other one of the current window and the second window is updated in response to instructions processed subsequent to the checkpoint. The checkpoint may be restored if the speculative execution results are discarded.
    Type: Application
    Filed: July 12, 2006
    Publication date: January 17, 2008
    Inventors: James P. Laudon, Adam R. Talcott, Sanjay Patel, Thirumalai S. Suresh
  • Publication number: 20080005511
    Abstract: A memory controller including a control unit for limiting the number of memory requests that are executed within a predetermined time period to regulate power consumption. The control unit may determine a memory request limit indicating the maximum number of memory requests that are allowed to be executed during the predetermined time period based on at least a carry-over limit and a new request limit. The carry-over limit may indicate the maximum number of carry-over memory requests that are allowed during the predetermined time period. The new request limit may indicate the maximum number of new memory requests that are allowed during the predetermined time period. The control unit may further control the number of memory requests that are executed in each of a sequence of predetermined time periods.
    Type: Application
    Filed: June 29, 2006
    Publication date: January 3, 2008
    Inventor: James P. Laudon
  • Patent number: 7281096
    Abstract: A hardware implemented method for writing data to a cache is provided. In this hardware implemented method, a Block Initializing Store (BIS) instruction is received to write the data from a processor core to a memory block. The BIS instruction includes the data from the processor core. Thereafter, a dummy read request is sent to a memory controller and known data is received from the memory controller without accessing a main memory. The known data is then written to the cache and, after the known data is written, the data from the processor core is written to the cache. A system and processor for writing data to the cache also are described.
    Type: Grant
    Filed: February 9, 2005
    Date of Patent: October 9, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Ramaswamy Sivaramakrishnan, Sunil Vemula, Sanjay Patel, James P. Laudon
  • Patent number: 6182195
    Abstract: A multiprocessor computer system and method for maintaining coherency between virtual-to-physical memory translations of multiple requestors in the system. A poison bit is associated with a memory block in the system. The poison bit is set to indicate that a virtual-to-physical memory translation for the memory block is stale. An exception is generated in response to an access by one of the requestors to the memory block if the poison bit is set, thereby indicating to the requestor that the virtual-to-physical memory translation entry for the memory block is stale. The virtual-to-physical memory translation for the memory block is then updated with a virtual memory translation corresponding to a new physical location for the memory block. In an embodiment having a cache-based multiprocessor system, the method further comprises the step of invalidating all cached copies of the memory block. In this case, the invalidating step and the setting step must be performed as an atomic operation.
    Type: Grant
    Filed: July 28, 1998
    Date of Patent: January 30, 2001
    Assignee: Silicon Graphics, Inc.
    Inventors: James P. Laudon, Daniel E. Lenoski
  • Patent number: 6049476
    Abstract: A high memory capacity dual in-line memory module (DIMM) for use in a directory-based, distributed shared memory multiprocessor computer system including a data memory for storing data and a state memory for storing state or directory information corresponding to at least a portion of the data. The DIMM allows the data and the state information to be accessed independently. The DIMM can be configured in a plurality of storage capacities.
    Type: Grant
    Filed: July 31, 1998
    Date of Patent: April 11, 2000
    Assignee: Silicon Graphics, Inc.
    Inventors: James P. Laudon, Daniel E. Lenoski, John Manton, Michael E. Anderson
  • Patent number: 5991895
    Abstract: A system and method for partitioning to support high availability of a multiprocessor system. The system comprises a plurality of masters, including processors, input/output devices, or the like, and is divided into regions. Per-region access rights are assigned to the system resources. The regions are grouped into partitions, wherein a partition is a portion of the system that is treated as a single unit with respect to failure. Failure of a master in a given region only affects resources accessible to that given region. Per-region access can be to main memory on a per-page basis, for example. Alternatively, the per-region access can limit access to directory storage, input/output ports and devices, control or diagnostics registers.
    Type: Grant
    Filed: May 5, 1995
    Date of Patent: November 23, 1999
    Assignee: Silicon Graphics, Inc.
    Inventors: James P. Laudon, Daniel E. Lenoski
  • Patent number: 5790447
    Abstract: A high memory capacity dual in-line memory modules (DIMM) for use in a directory-based, distributed shared memory multiprocessor computer system includes a data memory for storing data and a state memory for storing state or directory information corresponding to at least a portion of the data. The DIMM allows the data and the state information to be accessed independently. The DIMM can be configured in a plurality of storage capacities.
    Type: Grant
    Filed: November 12, 1996
    Date of Patent: August 4, 1998
    Assignee: Silicon Graphics, Inc.
    Inventors: James P. Laudon, Daniel E. Lenoski, John Manton
  • Patent number: 5787476
    Abstract: A multiprocessor computer system and method for maintaining coherency between virtual-to-physical memory translations of multiple requestors in the system. A poison bit is associated with a memory block in the system. The poison bit is set to indicate that a virtual-to-physical memory translation for the memory block is stale. An exception is generated in response to an access by one of the requestors to the memory block if the poison bit is set, thereby indicating to the requestor that the virtual-to-physical memory translation entry for the memory block is stale. The virtual-to-physical memory translation for the memory block is then updated with a virtual memory translation corresponding to a new physical location for the memory block. In an embodiment having a cache-based multiprocessor system, the method further comprises the step of invalidating all cached copies of the memory block. In this case, the invalidating step and the setting step must be performed as an atomic operation.
    Type: Grant
    Filed: May 5, 1995
    Date of Patent: July 28, 1998
    Assignee: Silicon Graphics, Inc.
    Inventors: James P. Laudon, Daniel E. Lenoski
  • Patent number: 5727150
    Abstract: A page migration controller is described. The page migration controller determines whether a memory page addressed by a memory access request should be migrated from a local processing node to a requester processing node. The page migration controller accesses an array to obtain a first count associated with the addressed memory page and the requester processing node, and a second count associated with the addressed memory page and the local processing node. The first count is incremented, and then the second count is subtracted from the incremented first count to obtain a difference between the second count and the incremented first count. A comparator determines whether the difference is greater than a migration threshold value. If the difference is greater than the migration threshold value, then a migration interrupt is issued.
    Type: Grant
    Filed: December 17, 1996
    Date of Patent: March 10, 1998
    Assignee: Silicon Graphics, Inc.
    Inventors: James P. Laudon, Daniel E. Lenoski
  • Patent number: 5686730
    Abstract: A high memory capacity DIMM for use in a directory-based, distributed shared memory multiprocessor computer system includes a data memory for storing data and a state memory for storing state or directory information corresponding to at least a portion of the data. The DIMM allows the data and the state information to be accessed independently. The DIMM is configured for use in a DIMM pair. In the DIMM pair, a first DIMM includes a first data memory having first and second memory bank portions for storing data, and a first state memory configured to store state information corresponding to data stored in a first memory bank. A second DIMM includes a second data memory having third and fourth memory bank portions for storing data, and a second state memory configured to store state information corresponding to data stored in a second memory bank. The first memory bank is formed from the first memory bank portion and the third memory bank portion.
    Type: Grant
    Filed: November 12, 1996
    Date of Patent: November 11, 1997
    Assignee: Silicon Graphics, Inc.
    Inventors: James P. Laudon, Daniel E. Lenoski, John Manton
  • Patent number: 5680576
    Abstract: A multiprocessor system having a plurality of requestors, a memory and memory directory controller employing directory-based coherence. The system implements a method to detect dropping of clean-exclusive data. Only one intervention message is permitted to target an exclusive object held by a first requestor, wherein the intervention message is caused by a second requestor. The system detects whether the first requestor has an outstanding writeback for the object targeted by the intervention message, as well as whether the first requestor has a clean-exclusive, dirty-exclusive or invalid copy of the object targeted by the intervention message. A clean-exclusive copy of the object has been dropped when no outstanding writeback is detected and the first requestor has the object in the invalid state.
    Type: Grant
    Filed: May 5, 1995
    Date of Patent: October 21, 1997
    Assignee: Silicon Graphics, Inc.
    Inventor: James P. Laudon
  • Patent number: 5634110
    Abstract: A memory controller in a computer system is described. The memory controller maintains a directory comprising a plurality of entries. Each entry is associated with a memory block. The memory controller maintains an entry of the directory in a modified fine bit vector format when a memory block associated with the entry is cached in one or more nodes all of which are within a single partition of the computer system. The entry when maintained in the modified fine bit vector format comprises a partition field storing information identifying the single partition, and a modified fine bit vector field storing information identifying nodes in the single partition where the memory block is cached. The memory controller maintains the entry in a modified coarse bit vector format when the memory block is cached in multiple nodes distributed among P partitions of the computer system, where P is greater than one.
    Type: Grant
    Filed: May 5, 1995
    Date of Patent: May 27, 1997
    Assignee: Silicon Graphics, Inc.
    Inventors: James P. Laudon, Daniel E. Lenoski