Patents by Inventor Stephen R. Van Doren

Stephen R. Van Doren 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: 6636948
    Abstract: A performance enhancing change-to-dirty operation (CTD) is disclosed wherein contention among several processors trying to gain ownership of a block of data is obviated by arranging the CTD to always succeed. A method and a system are disclosed where a processor in a multiprocessor system having a copy of data gains assured ownership of data that the processor may then write. The method provides for the possibilities of conditions that may exist and provides a scenario that the requesting processor may have to wait for the ownership. Conditions are handled where the memory is the “owner” of the data and where other processor are requesting ownership, and where copies of the data exist at other processors. The method provides for messages to other processor having copies of the data informing them that the data is now invalid.
    Type: Grant
    Filed: April 13, 2001
    Date of Patent: October 21, 2003
    Assignee: Hewlett-Packard Development Company, LP.
    Inventors: Simon C. Steely, Jr., Stephen R. Van Doren, Madhu Sharna
  • Publication number: 20030145136
    Abstract: An ordering engine is configured to implement a relaxed ordering consistency model for a stream of I/O transactions initiated in a computer system. The ordering engine examines the relaxed ordering attribute of the transactions in the stream to distinguish payload transactions, which may be processed out of order, from control transaction which must be processed in strict order. The engine preferably organizes the stream of transactions into epochs, where the receipt of a first relaxed order write operation in the stream constitutes the start of an epoch and the receipt of a first strict order operation in the stream constitutes the conclusion of the epoch. The engine is configured to delay the completion of the strict order operation constituting the conclusion of the epoch until all payload write operations issued during the epoch have committed.
    Type: Application
    Filed: January 31, 2002
    Publication date: July 31, 2003
    Inventors: Gregory E. Tierney, Thomas J. Gibney, Stephen R. Van Doren
  • Publication number: 20030076831
    Abstract: A technique efficiently combines data and ordered transactions in a multiprocessor system having a plurality of nodes interconnected by a hierarchical switch. The technique further enables an ordered channel of the system to make progress in the presence of a blocked interface within the hierarchical switch. Specifically, the technique combines ordered components and unordered data components into common packets that are transmitted over an ordered channel of the system in the event that ordered and unordered components are generated simultaneously. The technique further allows, in the event that a combined packet in the ordered channel is stalled due to a data buffer dependency, the packet to be decomposed into an ordered component and an unordered data component wherein the ordered component remains in the ordered channel and the unordered data component is reassigned to the unordered data channel.
    Type: Application
    Filed: March 21, 2001
    Publication date: April 24, 2003
    Inventors: Stephen R. Van Doren, Simon C. Steely, Madhumitra Sharma
  • Publication number: 20030037223
    Abstract: A method, for executing a load locked and a store conditional instruction in a processor, achieves an atomic read-write operation to a memory block. First the load locked instruction is executed to read a memory block, and the processor in response to executing the load locked instruction issues a read modify system command to read the block and to take ownership of the block by the processor, and also sets a lock flag for the address of the memory block, and writes a value of the memory block into a cache of the processor as a cache copy of the memory block. The lock flag, upon receipt of an invalidate message by the processor for the cache copy of the memory block, is reset if any invalidate messages for the memory block are received by the processor. The processor waits for a selected time interval before the processor surrenders ownership of the memory block upon receipt of an ownership request message, if any is received by the processor after execution of the load locked instruction.
    Type: Application
    Filed: August 20, 2001
    Publication date: February 20, 2003
    Inventors: Simon C. Steely, Stephen R. Van Doren, Madhumitra Sharma
  • Publication number: 20020194290
    Abstract: A multiple-processor system in which a commit message is returned to a source processor that requests a memory access operation so as to indicate the apparent completion of the operation includes a multiple-level switch unit linking nodes that contain the processors. The switch unit includes multiple input switches each of which receives messages from multiple nodes, and a set of output switches whose inputs are the outputs of the input switches and whose outputs are the inputs of the nodes. Each switch processes messages in the order in which they are received by the switch and each output switch follows the same rule as the other output switches.
    Type: Application
    Filed: April 26, 2001
    Publication date: December 19, 2002
    Inventors: Simon C. Steely, Madhumitra Sharma, Stephen R. Van Doren
  • Publication number: 20020152358
    Abstract: A performance enhancing change-to-dirty operation (CTD) is disclosed wherein contention among several processors trying to gain ownership of a block of data is obviated by arranging the CTD to always succeed. A method and a system are disclosed where a processor in a multiprocessor system having a copy of data gains assured ownership of data that the processor may then write. The method provides for the possibilities of conditions that may exist and provides a scenario that the requesting processor may have to wait for the ownership. Conditions are handled where the memory is the “owner” of the data and where other processor are requesting ownership, and where copies of the data exist at other processors. The method provides for messages to other processor having copies of the data informing them that the data is now invalid.
    Type: Application
    Filed: April 13, 2001
    Publication date: October 17, 2002
    Inventors: Simon C. Steely, Stephen R. Van Doren, Madhumitra Sharma
  • Publication number: 20020146022
    Abstract: A credit-based, flow control technique utilizes a plurality of counters to conserve resources of a switch fabric within a modular multiprocessor system while ensuring that transaction packets pending in virtual channel queues of the fabric efficiently progress through those resources. The multiprocessor system includes a plurality of nodes interconnected by the switch fabric that extends from a global input port of a node through a hierarchical switch to a global output port of the same or another node. The resources include shared buffers within the global ports and hierarchical switch. Each counter is associated with a virtual channel queue and the flow control technique uses the counters to essentially create the structure of the shared buffers.
    Type: Application
    Filed: April 9, 2001
    Publication date: October 10, 2002
    Inventors: Stephen R. Van Doren, Simon C. Steely, Madhumitra Sharma, Gregory E. Tierney
  • Publication number: 20020029358
    Abstract: A technique is provided for delivering error interrupts to a processor designated to service interrupts in a modular, multiprocessor system having a plurality of input/output port (IOP) interfaces distributed throughout the system. An error notification message is transmitted to a selected one of these IOP interfaces, each of which is capable of issuing transactions over a switch fabric of the system. The selected IOP converts the error notification message into a write transaction directed to an interrupt register of a local switch coupled to the designated processor. The write transaction is processed in connection with the contents of the interrupt register and a resulting signal is forwarded to logic circuitry of the local switch. The logic circuitry then translates the signal to an interrupt request signal that is provided to the designated processor.
    Type: Application
    Filed: May 29, 2001
    Publication date: March 7, 2002
    Inventors: Chester W. Pawlowski, Stephen R. Van Doren, Barry A. Maskas
  • Publication number: 20020009095
    Abstract: A technique decomposes a multicast transaction issued by one of a plurality of nodes of a distributed shared memory multiprocessor system into a series of multicast packets, each of which may further “spawn” multicast messages directed to a subset of the nodes. A central switch fabric interconnects the nodes, each of which includes a global port coupled to the switch, a plurality of processors and memory. The central switch includes a central ordering point that maintains an order of packets issued by, e.g., a source processor of a remote node when requesting data resident in a memory of a home node. The multicast messages spawned from a multicast packet passing the central ordering point are generated according to multicast decomposition and ordering rules of the inventive technique.
    Type: Application
    Filed: May 31, 2001
    Publication date: January 24, 2002
    Inventors: Stephen R. Van Doren, Simon C. Steely, Madhumitra Sharma
  • Publication number: 20020010872
    Abstract: A technique synchronizes clock forwarded interface circuits of a multiprocessor system having a plurality of nodes interconnected by a hierarchical switch. Each node includes a plurality of agents coupled to a local switch over clock forwarded links attached to the interface circuits. The local switch includes a unique command port that interacts with the interface circuits to distribute clock forwarding synchronization messages among the agents of each node. These synchronization messages are used as start events that activate the clock forwarded interface circuits to thereby insure proper synchronous operation of these circuits.
    Type: Application
    Filed: May 31, 2001
    Publication date: January 24, 2002
    Inventors: Stephen R. Van Doren, Barry A. Maskas
  • Publication number: 20010055277
    Abstract: An initiate flow control mechanism prevents interconnect resources within a switch fabric of a modular multiprocessor system from being dominated with initiate transactions. The multiprocessor system comprises a plurality of nodes interconnected by a switch fabric that extends from a global input port of a node through a hierarchical switch to a global output port of the same or another node. The interconnect resources include shared buffers within the global ports and hierarchical switch. The initiate flow control mechanism manages these shared buffers to reserve bandwidth for complete transactions when extensive global initiate traffic to one or more nodes of the system may create a bottleneck in the switch fabric.
    Type: Application
    Filed: May 11, 2001
    Publication date: December 27, 2001
    Inventors: Simon C. Steely, Madhumitra Sharma, Stephen R. Van Doren, Gregory E. Tierney
  • Publication number: 20010049742
    Abstract: A flow control technique prevents overflow of a write storage structure, such as a first-in, first-out (FIFO) queue, in a centralized Duplicate Tag store arrangement of a multiprocessor system that includes a plurality of nodes interconnected by a central switch. Each node comprises a plurality of processors with associated caches and memories interconnected by a local switch. Each node further comprises a Duplicate Tag (DTAG) store that contains information about the state of data relative to all processors of a node. The DTAG comprises the write FIFO which has a limited number of entries. Flow control logic in the local switch keeps track of when those entries may be occupied to avoid overflowing the FIFO.
    Type: Application
    Filed: May 29, 2001
    Publication date: December 6, 2001
    Inventors: Simon C. Steely, Hari Krishan Nagpal, Stephen R. Van Doren
  • Publication number: 20010037435
    Abstract: A distributed address mapping and routing technique supports flexible configuration and partitioning in a modular, shared memory multiprocessor system having a plurality of multiprocessor building blocks interconnected by a switch fabric. The technique generally employs physical-to-logical address translation mapping in conjunction with source routing. Mapping operations, such as address range or processor identifier operations, used to determine a routing path through the switch fabric for a message issued by a source multiprocessor building block are resolved through the generation of a routing word. That is, each message transmitted by a source multiprocessor building block over the switch fabric has an appended routing word that specifies the routing path of the message through the fabric.
    Type: Application
    Filed: March 21, 2001
    Publication date: November 1, 2001
    Inventor: Stephen R. Van Doren
  • Publication number: 20010037426
    Abstract: A translation technique facilitates servicing of device interrupts by a proxy processor of a multiprocessor system having an interrupt delivery/handling subsystem. A target processor of the system is originally designated to service the interrupts, whereas the proxy processor is configured to service the interrupts in response to hot-swap of the target processor. The translation technique provides dual mapping of a device interrupt queue (DIQ) associated with the target processor and used to store vectors describing the device interrupts. The dual mapping technique allows the DIQ to be accessed via either a “fast access” or “slow access” mode. The fast access mode provides optimized access to the DIQ by the target processor via processor-specific space addressing, whereas the slow access mode provides slower, yet flexible, access to the DIQ by any other processor, such as the proxy processor, via general system space addressing.
    Type: Application
    Filed: April 18, 2001
    Publication date: November 1, 2001
    Inventors: Chester W. Pawlowski, Stephen F. Shirron, Stephen R. Van Doren
  • Patent number: 6286090
    Abstract: A technique selectively imposes inter-reference ordering between memory reference operations issued by a processor of a multiprocessor system to addresses within a page pertaining to a page table entry (PTE) that is affected by a translation buffer (TB) miss flow routine. The TB miss flow is used to retrieve information contained in the PTE for mapping a virtual address to a physical address and, subsequently, to allow retrieval of data at the mapped physical address. The PTE that is retrieved in response to a memory reference (read) operation is not loaded into the TB until a commit-signal associated with that read operation is returned to the processor. Once the PTE and associated commit-signal are returned, the processor loads the PTE into the TB so that it can be used for a subsequent read operation directed to the data at the physical address.
    Type: Grant
    Filed: May 26, 1998
    Date of Patent: September 4, 2001
    Assignee: Compaq Computer Corporation
    Inventors: Simon C. Steely, Jr., Madhumitra Sharma, Stephen R. Van Doren, Kourosh Gharachorloo
  • Patent number: 6256694
    Abstract: A commander module, coupled to a system bus including system bus control request signals and associated with one of the system bus control request signals, including means for determining whether control of the system bus is required and means for requesting control of the system bus, prior to determining whether such control is required, by asserting the associated system bus control request signal. A computer system including the system bus and at least two such commander modules coupled to the system bus and means for arbitrating for control of the system bus where the arbitrating means are coupled to and responsive to the system bus control request signals.
    Type: Grant
    Filed: June 30, 1994
    Date of Patent: July 3, 2001
    Assignee: Compaq Computer Corporation
    Inventors: David M. Fenwick, Denis Foley, Stephen R. Van Doren
  • Patent number: 6209065
    Abstract: A mechanism optimizes the generation of a commit-signal by control logic of the multiprocessor system in response to a memory reference operation issued by a processor to a local node of a multiprocessor system having a hierarchical switch for interconnecting a plurality of nodes. The mechanism generally comprises a structure that indicates whether the memory reference operation affects other processors of other nodes of the multiprocessor system. An ordering point of the local node generates an optimized commit-signal when the structure indicates that the memory reference operation does not affect the other processors.
    Type: Grant
    Filed: October 24, 1997
    Date of Patent: March 27, 2001
    Assignee: Compaq Computer Corporation
    Inventors: Stephen R. Van Doren, Simon C. Steely, Jr., Kourosh Gharachorloo, Madhumitra Sharma
  • Patent number: 6108737
    Abstract: A mechanism reduces the latency of inter-reference ordering between sets of memory reference operations in a multiprocessor system having a shared memory. The mechanism comprises a commit-signal that is generated by control logic of the multiprocessor system in response to an issued memory reference operation. The commit-signal facilitates inter-reference ordering; moreover, the commit signal indicates the apparent completion of the memory reference operation, rather than actual completion of the operation. The apparent completion of an operation occurs substantially sooner than the actual completion of an operation, thereby improving performance of the multiprocessor system.
    Type: Grant
    Filed: October 24, 1997
    Date of Patent: August 22, 2000
    Assignee: Compaq Computer Corporation
    Inventors: Madhumitra Sharma, Stephen R. Van Doren, Kourosh Gharachorloo, Simon C. Steely, Jr.
  • Patent number: 6088771
    Abstract: A technique reduces the latency of a memory barrier (MB) operation used to impose an inter-reference order between sets of memory reference operations issued by a processor to a multiprocessor system having a shared memory. The technique comprises issuing the MB operation immediately after issuing a first set of memory reference operations (i.e., the pre-MB operations) without waiting for responses to those pre-MB operations. Issuance of the MB operation to the system results in serialization of that operation and generation of a MB Acknowledgment (MB-Ack) command. The MB-Ack is loaded into a probe queue of the issuing processor and, according to the invention, functions to pull-in all previously ordered invalidate and probe commands in that queue. By ensuring that the probes and invalidates are ordered before the MB-Ack is received at the issuing processor, the inventive technique provides the appearance that all pre-MB references have completed.
    Type: Grant
    Filed: October 24, 1997
    Date of Patent: July 11, 2000
    Assignee: Digital Equipment Corporation
    Inventors: Simon C. Steely, Jr., Madhumitra Sharma, Kourosh Gharachorloo, Stephen R. Van Doren
  • Patent number: 6085263
    Abstract: An improved I/O processor (IOP) delivers high I/O performance while maintaining inter-reference ordering among memory reference operations issued by an I/O device as specified by a consistency model in a shared memory multiprocessor system. The IOP comprises a retire controller which imposes inter-reference ordering among the operations based on receipt of a commit signal for each operation, wherein the commit signal for a memory reference operation indicates the apparent completion of the operation rather than actual completion of the operation. In addition, the IOP comprises a prefetch controller coupled to an I/O cache for prefetching data into cache without any ordering constraints (or out-of-order). The ordered retirement functions of the IOP are separated from its prefetching operations, which enables the latter operations to be performed in an arbitrary manner so as to improve the overall performance of the system.
    Type: Grant
    Filed: October 24, 1997
    Date of Patent: July 4, 2000
    Assignee: Compaq Computer Corp.
    Inventors: Madhumitra Sharma, Chester Pawlowski, Kourosh Gharachorloo, Stephen R. Van Doren, Simon C. Steely, Jr.