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: 20020073164
    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: Application
    Filed: February 11, 2002
    Publication date: June 13, 2002
    Applicant: Sun Microsystems, Inc.
    Inventors: Erik E. Hagersten, Mark D. Hill
  • Patent number: 6401174
    Abstract: In one embodiment, a multiprocessing computer system includes a plurality of nodes. The plurality of nodes may be interconnected through a global interconnect network which supports cluster communications. An initiating node may launch a request to a remote nodes memory. In the event of an error, an error status register of a system interface of the launching cluster node is set to indicate the occurrence of an error. The error may be the result of an access violation, or the result of a time-out occurrence in either the remote node or the initiating node. Various other errors may alternatively be reported. The system interface advantageously includes a plurality of error status registers, with a separate error status register provided for each processor included in the node. A process running on any of the processors of the node reads an error by issuing a transaction to a unique address, wherein the unique address is independent of the processor upon which the process is running.
    Type: Grant
    Filed: September 4, 1998
    Date of Patent: June 4, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Erik E. Hagersten, Christopher J. Jackson, Aleksandr Guzovskiy, William A. Nesheim
  • Patent number: 6377980
    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: January 25, 1999
    Date of Patent: April 23, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Erik E. Hagersten, Mark Donald Hill
  • Patent number: 6370585
    Abstract: A multiprocessing computer 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. In one specific implementation, the address base of the system is divided into “slices”. Different slices may correspond to the local memory of differing cluster nodes. The system interface of each node advantageously includes a lookup table which is used to associate selected address regions, or slices, with specific remote nodes for which the slices are local. Accordingly, when a processor within a node initiates a transaction on a local bus, the system interface of that node accesses its lookup table to determine whether that transaction should be conveyed to a remote node, as determined by the corresponding entry of the lookup table for that transaction's address. Otherwise, the transaction is a local transaction and is not conveyed upon the global bus network.
    Type: Grant
    Filed: September 4, 1998
    Date of Patent: April 9, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Erik E. Hagersten, Christopher J. Jackson
  • Patent number: 6351795
    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: September 4, 1998
    Date of Patent: February 26, 2002
    Assignee: Sun Microsystems, Inc.
    Inventor: Erik E. Hagersten
  • Publication number: 20020019921
    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: Application
    Filed: August 27, 2001
    Publication date: February 14, 2002
    Inventors: Erik E. Hagersten, Mark D. Hill
  • Publication number: 20020004886
    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 nodes memory. A cluster protection mechanism is advantageously 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: Application
    Filed: September 4, 1998
    Publication date: January 10, 2002
    Inventors: ERIK E. HAGERSTEN, CHRISTOPHER J. JACKSON, WILLIAM A. NESHEIM, ALEKSANDR GUZOVSKIY
  • Publication number: 20010054079
    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: Application
    Filed: March 15, 2001
    Publication date: December 20, 2001
    Applicant: Sun Microsystems, Inc.
    Inventors: Erik E. Hagersten, Mark D. Hill
  • Patent number: 6332169
    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: December 18, 1998
    Date of Patent: December 18, 2001
    Assignee: Sun Microsystems, Inc.
    Inventor: Erik E. Hagersten
  • Patent number: 6332165
    Abstract: A multiprocessing computer 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 remote cluster node may be reached by passing the request through one or more intermediate nodes configured in pass-through mode. Accordingly, various global network topologies may be supported. The pass-through mode may be advantageously accommodated using a node having hardware which is similar to other nodes in the system. More particularly, the pass through mechanism may be implemented without significantly altering a node's local bus transactions. In one specific implementation, when the system interface of a particular node receives a transaction, the address of the transaction is checked to determine if the transaction should be treated as a pass through transaction.
    Type: Grant
    Filed: September 4, 1998
    Date of Patent: December 18, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Erik E. Hagersten, Christopher J. Jackson, Hien Nguyen
  • Publication number: 20010051977
    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: Application
    Filed: December 18, 1998
    Publication date: December 13, 2001
    Applicant: SUN MICROSYSTEMS, INC
    Inventor: ERIK E. HAGERSTEN
  • Publication number: 20010042176
    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 copies to local memory space of a node such that accesses to the data may be performed locally rather than globally. The copies data is referred to as a shadow page. 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, the page to which shadow copies may be stored and which global addresses may be converted to local physical addresses may be restricted. Multiple page of local memory space may be allocated to one entry of a local physical address to global address (LPA2GA) table. When a page is allocated to store shadow pages, an entry in the LPA2GA table associated with that page is marked as unavailable.
    Type: Application
    Filed: September 4, 1998
    Publication date: November 15, 2001
    Inventors: ERIK E. HAGERSTEN, MARK HILL
  • Publication number: 20010037419
    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: Application
    Filed: March 29, 2001
    Publication date: November 1, 2001
    Applicant: Sun Microsystems, Inc.
    Inventor: Erik E. Hagersten
  • Patent number: 6308246
    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 copies to local memory space of a node such that accesses to the data may be performed locally rather than globally. The copies data is referred to as a shadow page. 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, the page to which shadow copies may be stored and which global addresses may be converted to local physical addresses may be restricted. Multiple page of local memory space may be allocated to one entry of a local physical address to global address (LPA2GA) table. When a page is allocated to store shadow pages, an entry in the LPA2GA table associated with that page is marked as unavailable.
    Type: Grant
    Filed: September 4, 1998
    Date of Patent: October 23, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Erik E. Hagersten, Mark D. Hill
  • Publication number: 20010027512
    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: June 5, 2001
    Publication date: October 4, 2001
    Inventor: Erik E. Hagersten
  • Patent number: 6243742
    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. The method includes the step of ascertaining whether the memory block is currently cached in the partial directory cache. 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: January 25, 1999
    Date of Patent: June 5, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Erik E. Hagersten, Mark Donald Hill
  • Patent number: 6240501
    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 the 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. Multiple page of local memory space may be allocated to one entry of a local physical address to global address (LPA2GA) table. When a page is allocated to store shadow pages, an entry in the LPA2GA table associated with that page is marked as unavailable. Accordingly, new translations may not be stored to that entry of the LPA2GA table and other pages associated with that entry may not be allocated to store shadow pages. In a similar manner, multiple pages of the global address space are mapped to an entry in a global address to local physical address(GA2LPA) translation table.
    Type: Grant
    Filed: September 4, 1998
    Date of Patent: May 29, 2001
    Assignee: Sun Microsystems, Inc.
    Inventor: Erik E. Hagersten
  • Patent number: 6226671
    Abstract: A shared memory system for symmetric multiprocessing systems including a plurality of physical memory locations in which the locations are either allocated to one node of a plurality of processing nodes, equally distributed among the processing nodes, or unequally distributed among the processing nodes. The memory locations are configured to be accessed by the plurality of processing nodes by mapping all memory locations into a plurality of address partitions within a hierarchy bus. The memory locations are addressed by a plurality of address aliases within the bus while the properties of the address partitions are employed to control transaction access generated in the processing nodes to memory locations allocated locally and globally within the processing nodes.
    Type: Grant
    Filed: July 30, 1998
    Date of Patent: May 1, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Erik E. Hagersten, Mark D. Hill
  • Patent number: 5983326
    Abstract: A multiprocessing system having a plurality of processing nodes interconnected by an interconnect network. A home agent is configured to service multiple requests simultaneously. A transaction blocking unit is coupled to a home agent control unit for preventing the servicing of a pending coherent transaction request if another transaction request corresponding to the same coherency unit is already being serviced by the home agent control unit. The transaction blocking unit is further configured such that read-to-share transaction requests in a NUMA mode do not block other read-to-share transaction requests in the NUMA mode.
    Type: Grant
    Filed: July 1, 1996
    Date of Patent: November 9, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Erik E. Hagersten, Paul N. Loewenstein
  • Patent number: 5958019
    Abstract: When a processor within a computer system performs a synchronization operation, the system interface within the node delays subsequent transactions from the processor until outstanding coherency activity is completed. Therefore, the computer system may employ asynchronous operations. The synchronization operations may be used when needed to guarantee global completion of one or more prior asynchronous operations. In one embodiment, the synchronization operation is placed into a queue within the system interface. When the synchronization operation reaches the head of the queue, it may be initiated within the system interface. The system interface further includes a request agent comprising multiple control units, each of which may concurrently service coherency activity with respect to a different transaction. Furthermore, the system interface includes a synchronization control vector register which stores a bit for each control unit.
    Type: Grant
    Filed: July 1, 1996
    Date of Patent: September 28, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Erik E. Hagersten, Robert C. Zak, Jr., Shaw-Wen Yang, Aleksandr Guzovskiy, William A. Nesheim, Monica C. Wong-Chan, Hien Nguyen