Patents by Inventor Erik E. Hagersten

Erik E. Hagersten 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: 20040268055
    Abstract: A node includes several devices including a memory, an active device, and an interface configured to send and receive coherency messages on an inter-node network coupling the node to another node, as well as an address network and a data network. In response to receiving a coherency message requesting an access right to a coherency unit, the interface is configured to send a first type of address packet on the address network if the global access state of the coherency unit within the node is the modified state and a second type of address packet otherwise. The memory is configured to respond to receipt of the second type of address packet by sending a data packet on the data network, regardless of whether the memory currently has an ownership responsibility for the coherency unit.
    Type: Application
    Filed: April 9, 2004
    Publication date: December 30, 2004
    Applicant: Sun Microsystems, Inc.
    Inventors: Anders Landin, Robert E. Cypher, Erik E. Hagersten
  • Publication number: 20040260905
    Abstract: A system may include a plurality of nodes. Each node may include one or more active devices coupled to one or more memory subsystems. An active device included in one of the nodes includes a memory management unit configured to receive a virtual address generated within that active device and to responsively output a global address identifying a coherency unit. A portion of the global address identifies a translation function. A memory subsystem included in the node is configured to perform the translation function identified by the portion of the global address on an additional portion of the global address in order to obtain a local physical address of the coherency unit. Each active device included in the node is configured to use the portion of the global address identifying the translation function when determining whether a local copy of the coherency unit is currently stored in a cache associated with that active device.
    Type: Application
    Filed: April 2, 2004
    Publication date: December 23, 2004
    Applicant: Sun Microsystems, Inc.
    Inventors: Robert E. Cypher, Anders Landin, Erik E. Hagersten
  • Publication number: 20040260883
    Abstract: Various embodiments of a computer system employing bundled prefetching are disclosed. In one embodiment, a cache memory subsystem implements a method for prefetching data. The method comprises the cache memory subsystem receiving a request to access a line of data and determining that a cache miss with respect to the line occurred. The method further comprises transmitting a bundled transaction on a system interconnect in response to the cache miss, wherein the bundled transaction combines a request for the line of data and a prefetch request.
    Type: Application
    Filed: January 28, 2004
    Publication date: December 23, 2004
    Applicant: Sun Microsystems, Inc.
    Inventors: Dan G. Wallin, Erik E. Hagersten
  • Publication number: 20040260906
    Abstract: A system may include a plurality of nodes. Each node may include one or more active devices coupled to one or more memory subsystems. Each active device in one of the plurality of nodes includes a memory management unit configured to receive a virtual address generated within that active device and to responsively output a global address and associated information that identifies a translation function. The memory subsystem in the one of the plurality of nodes is configured to apply the translation function identified in the information to the global address to generate a local physical address.
    Type: Application
    Filed: April 2, 2004
    Publication date: December 23, 2004
    Applicant: Sun Microsystems, Inc.
    Inventors: Anders Landin, Erik E. Hagersten
  • Publication number: 20040260886
    Abstract: A system may include a node coupled to an additional node by an inter-node network. The node includes a memory, an active device, an interface to an inter-node network, and an address network coupling the memory, the active device, and the interface. The active device is configured to initiate a transaction to gain an access right to a coherency unit by sending an address packet on the address network. If the transaction cannot be satisfied within the node, the interface is configured to send a coherency message to the additional node via the inter-node network. In response to receiving an additional coherency message from the additional node via the inter-node network, the interface is configured to send data corresponding to the coherency unit to the active device. The active device gains the access right upon receipt of the data.
    Type: Application
    Filed: April 9, 2004
    Publication date: December 23, 2004
    Applicant: Sun Microsystems, Inc.
    Inventors: Anders Landin, Robert E. Cypher, Erik E. Hagersten
  • Patent number: 6826660
    Abstract: A symmetrical multiprocessing system includes a plurality of nodes interconnected by a hierarchical bus. To allow for the transfer of data between nodes and to restrict the global transfer of local transactions, a plurality of address partitions are defined: global space, local space, remote read space, and remote read and write space. Process private and local data is accessed using local space. Global data is accessed using global space. In one embodiment, a kernel of the operating system is resident in the local space of each node.
    Type: Grant
    Filed: February 11, 2002
    Date of Patent: November 30, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Erik E. Hagersten, Mark D. Hill
  • Publication number: 20040148471
    Abstract: Various embodiments of a multiprocessing computer system employing capacity prefetching are disclosed. In one embodiment, a cache subsystem implements a method for prefetching data. The method includes the cache subsystem receiving a request for data, and determining a cause of a cache miss that occurs in response to the request. The cache subsystem includes a controller that selectively prefetches additional data depending upon the cause of the cache miss. In one embodiment, determining the cause of the cache miss includes determining whether a cache line corresponding to the request exists in the cache memory of the cache subsystem in an invalid state. Additional data is prefetched in response to determining that the cache line is not present in the cache memory in an invalid state.
    Type: Application
    Filed: April 7, 2003
    Publication date: July 29, 2004
    Applicant: Sun Microsystems, Inc
    Inventors: Dan G. Wallin, Erik E. Hagersten
  • Patent number: 6760786
    Abstract: A computer system optimized for block copy operations is provided. In order to perform a block copy from a remote source block to a local destination block, a processor within a local node of the computer system performs a specially coded write operation. The local node, upon detection of the specially coded write operation, performs a read operation to the source block in the remote node. Concurrently, the write operation is allowed to complete in the local node such that the processor may proceed with subsequent computing tasks while the local node completes the copy operation. The read from the remote node and subsequent storage of the data in the local node is completed by the local node, not by the processor. In one specific embodiment, the specially coded write operation is indicated using certain most significant bits of the address of the write operation.
    Type: Grant
    Filed: March 29, 2001
    Date of Patent: July 6, 2004
    Assignee: Sun Microsystems, Inc.
    Inventor: Erik E. Hagersten
  • Publication number: 20040123049
    Abstract: A computer system includes a system memory and a plurality of active devices configured to access data associated with the system memory through an address network and a data network. Each of the active devices may be configured to cache data, and may include a promise array. Transitions in ownership of the given block may occur at a different time than the time at which the access right to the given block is changed. The promise array of an active device is provided to store information identifying an unreceived data packet to be conveyed to another device in response to a pending transaction to a cache block for which the active device is an owner. Each active device may be configured to have at most one outstanding transaction for each cache block.
    Type: Application
    Filed: June 30, 2003
    Publication date: June 24, 2004
    Applicant: Sun Microsystems Inc.
    Inventors: Robert E. Cypher, Anders Landin, Erik E. Hagersten
  • Publication number: 20040117564
    Abstract: A system and method for reducing shared memory write overhead in multiprocessor system. In one embodiment, a multiprocessing system implements a method comprising storing an indication of obtained store permission corresponding to a particular address in a store buffer. The indication may be, for example, the address of a cache line for which a write permission has been obtained. Obtaining the write permission may include locking and modifying an MTAG or other coherence state entry. The method further comprises determining whether the indication of obtained store permission corresponds to an address of a write operation to be performed. In response to the indication corresponding to the address of the write operation to be performed, the write operation is performed without invoking corresponding global coherence operations.
    Type: Application
    Filed: December 16, 2002
    Publication date: June 17, 2004
    Inventors: Oskar Grenholm, Zoran Radovic, Erik E. Hagersten
  • Publication number: 20030236817
    Abstract: A method for controlling a software lock acquirable by processors in a plurality of nodes of a multiprocessing system is disclosed. The method comprises a first processor of a first node of the plurality of nodes acquiring the lock, and the first processor selectively releasing the lock in a first state that allows other processors within the first node to acquire the lock but that prevents processors in a remote node of the plurality of nodes from obtaining the lock. In another embodiment, a method comprises a first processor of a first node attempting to acquire the lock, the first processor determining whether another processor within the same node is remotely spinning on the lock, and the first processor remotely spinning on the lock in response to determining that another processor in the same node is not remotely spinning on the software lock.
    Type: Application
    Filed: April 24, 2003
    Publication date: December 25, 2003
    Inventors: Zoran Radovic, Erik E. Hagersten
  • Patent number: 6654866
    Abstract: A portion of the global memory of a multiprocessing computer system is allocated to each node, called local memory space. Data from a remote node may be copied to local memory space of a node such that accesses to the data may be performed locally rather than globally. The global address of the data is translated to a local physical address for the node to which the data is copied. To reduce the size of the translation tables for converting between global addresses and local physical addresses, multiple pages of the address space are mapped to an entry in a translation table. To decrease the probability that an entry is not available for a page, the translation table may be implemented as a skewed-associative cache that implements an insertion algorithm that realigns the translations in the table to maximize the utilization of the available entries is implemented.
    Type: Grant
    Filed: August 27, 2001
    Date of Patent: November 25, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: Erik E. Hagersten, Mark D. Hill
  • Patent number: 6618799
    Abstract: A multiprocessing computer system employs local and global address spaces and multiple access modes. A portion of the global memory of the multiprocessing computer system is allocated to each node, called local memory space. Two logical address spaces are mapped to the local memory of each node. A coherent memory replication (CMR) address space stores shadow pages of data from remote nodes and a local address space stores local data. A bit within a local physical address identifies whether data is a shadow page, which is stored in CMR space, or local data, which is stored in local address space. When a transaction requiring a coherency operation is performed, the CMR bit indicates whether a local physical address to global address translation is required. In one embodiment, if the CMR bit is clear, the local physical address is the same as the global address and the local physical address is used for the coherency operation.
    Type: Grant
    Filed: July 19, 2002
    Date of Patent: September 9, 2003
    Assignee: Sun Microsystems, Inc.
    Inventor: Erik E. Hagersten
  • Patent number: 6578071
    Abstract: A symmetrical multiprocessing system includes a plurality of nodes interconnected by a hierarchical bus. To allow for the transfer of data between nodes and to restrict the global transfer of local transactions, a plurality of address partitions are defined: global space, local space, remote read space, and remote read and write space. Process private and local data is accessed using local space. Global data is accessed using global space. In one embodiment, a kernel of the operating system is resident in the local space of each node. Because the memory space where the kernel resides is designated as local space, no other nodes can write to, or corrupt, the node's kernel.
    Type: Grant
    Filed: March 15, 2001
    Date of Patent: June 10, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: Erik E. Hagersten, Mark D. Hill
  • Patent number: 6574659
    Abstract: A method in a computer network having a first plurality of nodes coupled to a common network infrastructure and a distributed shared memory distributed among the first plurality of nodes for servicing a first memory access request by a first node of the computer network pertaining to a memory block having a home node different from the first node in the computer network. The computer network has no natural ordering mechanism and natural broadcast for servicing memory access requests from the plurality of nodes. The home node has no centralized directory for tracking states of the memory block in the plurality of nodes. The method includes the step of receiving via the common network infrastructure at the home node from the first node the first memory access request for the memory block.
    Type: Grant
    Filed: March 20, 2000
    Date of Patent: June 3, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: Erik E. Hagersten, Mark Donald Hill
  • Publication number: 20030097539
    Abstract: A multiprocessing computer system employs local and global address spaces and multiple access modes. A portion of the global memory of the multiprocessing computer system is allocated to each node, called local memory space. Two logical address spaces are mapped to the local memory of each node. A coherent memory replication (CMR) address space stores shadow pages of data from remote nodes and a local address space stores local data. A bit within a local physical address identifies whether data is a shadow page, which is stored in CMR space, or local data, which is stored in local address space. When a transaction requiring a coherency operation is performed, the CMR bit indicates whether a local physical address to global address translation is required. In one embodiment if the CMR bit is clear, the local physical address is the same as the global address and the local physical address is used for the coherency operation.
    Type: Application
    Filed: July 19, 2002
    Publication date: May 22, 2003
    Applicant: Sun Microsystems, Inc.
    Inventor: Erik E. Hagersten
  • Patent number: 6536000
    Abstract: A multiprocessing computer system includes a plurality of processing nodes, each having one or more processors, a memory, and a system interface. The plurality of processing nodes may be interconnected through a global interconnect network which supports cluster communications. The system interface of an initiating node may launch a request to a remote node's memory or I/O. The computer system implements an error communication reporting mechanism wherein errors associated with remote transactions may be reported back to a particular processor which initiated the transaction. Each processor includes an error status register that is large enough to hold a transaction error code. The protocol associated with a local bus of each node (i.e., a bus interconnecting the processors of a node to the node's system interface) includes acknowledgement messages for transactions when they have completed.
    Type: Grant
    Filed: October 15, 1999
    Date of Patent: March 18, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: Christopher J. Jackson, Erik E. Hagersten
  • Patent number: 6496854
    Abstract: A method, in a computer network having a first plurality of nodes coupled to a common network infrastructure and a distributed shared memory distributed among the first plurality of nodes, for servicing a memory access request by a first node of the first plurality of nodes. The memory access request pertains to a memory block of a memory module that has a home node different from the first node in the computer network. The home node has a partial directory cache that has fewer directory cache entries than a total number of memory blocks in the memory module. If the memory block is currently cached in the partial directory cache, the first memory access request is serviced using a directory protocol. If the memory block is not currently cached in the partial directory cache, the first memory access request is serviced using a directory-less protocol.
    Type: Grant
    Filed: February 25, 2000
    Date of Patent: December 17, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Erik E. Hagersten, Mark Donald Hill
  • Patent number: 6449700
    Abstract: A multiprocessing system includes a plurality of nodes interconnected through a global interconnect network which supports cluster communications. An initiating node may launch a request to a remote node's memory. A cluster protection mechanism is employed within a system interface of the remote node. The system interface, which is coupled between the global interconnect network and a local bus of the remote node, includes a memory management unit, referred to as a cluster MMU, including a plurality of entries which are selectable on a page basis. Depending upon the particular address of a received global transaction, an entry within the memory management unit is retrieved. The entry includes various fields which may be used to protect against accesses by unauthorized nodes, and to specify the local physical address to be conveyed upon the local bus.
    Type: Grant
    Filed: September 4, 1998
    Date of Patent: September 10, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Erik E. Hagersten, Christopher J. Jackson, Aleksandr Guzovskiy, William A. Nesheim
  • Patent number: 6446185
    Abstract: A multiprocessing computer system employs local and global address spaces and multiple access modes. A portion of the global memory of the multiprocessing computer system is allocated to each node, called local memory space. Two logical address spaces are mapped to the local memory of each node. A coherent memory replication (CMR) address space stores shadow pages of data from remote nodes and a local address space stores local data. A bit within a local physical address identifies whether data is a shadow page, which is stored in CMR space, or local data, which is stored in local address space. When a transaction requiring a coherency operation is performed, the CMR bit indicates whether a local physical address to global address translation is required. In one embodiment, if the CMR bit is clear, the local physical address is the same as the global address and the local physical address is used for the coherency operation.
    Type: Grant
    Filed: June 5, 2001
    Date of Patent: September 3, 2002
    Assignee: Sun Microsystems, Inc.
    Inventor: Erik E. Hagersten