Patents by Inventor William C. Van Loo

William C. Van Loo 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: 5710891
    Abstract: The present invention provides a scalable, modular and pipelined distributed bus arbitration system for efficiently resolving bus contention between sub-systems, e.g., processors, coupled to a common system bus. The arbitration system includes a plurality of distributed bus arbiters which receives the bus requests from the sub-systems and independently determine the next bus master. The arbitration protocol enables the arbitration process to be eliminated from the critical timing path thereby allowing the system to operate at the maximum system clock frequency possible for a given integrated circuit (IC) technology to reduce overall system clock latencies. Any change among the sub-systems during an arbitration clock cycle is based on any system bus request(s) which are active during a clock cycle immediately preceding the arbitration clock cycle, and is independent of any system bus request(s) asserted during the arbitration clock cycle. In addition, the arbitration protocol treats a current bus master, i.e.
    Type: Grant
    Filed: March 31, 1995
    Date of Patent: January 20, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Kevin B. Normoyle, Zahir Ebrahim, Satyanarayana Nishtala, William C. Van Loo, Louis F. Coffin, III
  • Patent number: 5692197
    Abstract: A method and apparatus for actively managing the overall power consumption of a computer network which includes a plurality of computer systems interconnected to each other. In turn, each computer system has one or more modules. Each computer system of the computer network is capable of independently initiating a transition into a power-conserving mode, i.e., a "sleep" state, while keeping its network interface "alive" and fully operational. Subsequently, each computer system can independently transition back into fully operational state, i.e., an "awake" state, when triggered by either a deterministic or an asynchronous event. As a result, the sleep states of the computer systems are transparent to the computer network. Deterministic events are events triggered internally by a computer system, e.g., an internal timer waking the computer system up at midnight to perform housekeeping chores such as daily tape backups.
    Type: Grant
    Filed: March 31, 1995
    Date of Patent: November 25, 1997
    Assignee: Sun Microsystems, Inc.
    Inventors: Charles E. Narad, Zahir Ebrahim, Satyanarayana Nishtala, William C. Van Loo, Kevin B. Normoyle, Louis F. Coffin, III, Leslie Kohn
  • Patent number: 5689713
    Abstract: An apparatus and method for handling interrupt requests from any of a plurality of interrupters to any of a plurality of interrupt handlers. Each interrupt handler includes an interrupt input request queue for holding a plurality of incoming interrupt requests. A system controller is connected to the interrupters and the interrupt handlers, and includes an input queue coupled to each interrupter for receiving a plurality of interrupt requests. The system controller includes a processor and a memory storing instructions for controlling its operation. The system controller also includes an output queue coupled to each interrupt handler (which in many cases will also be interrupters), and a counter for monitoring the current number, at any given time, of interrupt requests pending in each of the interrupt input queues in the interrupt handlers.
    Type: Grant
    Filed: April 20, 1995
    Date of Patent: November 18, 1997
    Assignee: Sun Microsystems, Inc.
    Inventors: Kevin B. Normoyle, Zahir Ebrahim, Satyanarayana Nishtala, William C. Van Loo, Sun-Den Chen, Charles E. Narad
  • Patent number: 5684977
    Abstract: A multiprocessor computer system is provided having a multiplicity of sub-systems and a main memory coupled to a system controller. An interconnect module, interconnects the main memory and sub-systems in accordance with interconnect control signals received from the system controller. At least two of the sub-systems are data processors, each having a respective cache memory that stores multiple blocks of data and a set of master cache tags (Etags), including one cache tag for each data block stored by the cache memory. Each data processor includes a master interface for sending memory transaction requests to the system controller. The system controller processes each memory transaction and maintains a set of duplicate cache tags (Dtags) for each data processor. Finally, the system controller contains transaction execution circuitry for activating a transaction for servicing by the interconnect.
    Type: Grant
    Filed: March 31, 1995
    Date of Patent: November 4, 1997
    Assignee: Sun Microsystems, Inc.
    Inventors: William C. Van Loo, Zahir Ebrahim, Satyanarayana Nishtala, Kevin Normoyle, Paul Loewenstein, Louis F. Coffin, III
  • Patent number: 5657472
    Abstract: A multiprocessor computer system is provided having a multiplicity of sub-systems and a main memory coupled to a system controller. An interconnect module, interconnects the main memory and sub-systems in accordance with interconnect control signals received from the system controller. At least two of the sub-systems are data processors, each having a respective cache memory that stores multiple blocks of data and a respective master cache index. Each master cache index has a set of master cache tags (Etags), including one cache tag for each data block stored by the cache memory. Each data processor includes a master interface for sending memory transaction requests to the system controller and for receiving cache access requests from the system controller corresponding to memory transaction requests by other ones of the data processors.
    Type: Grant
    Filed: March 31, 1995
    Date of Patent: August 12, 1997
    Assignee: Sun Microsystems, Inc.
    Inventors: William C. Van Loo, Zahir Ebrahim, Satyanarayana Nishtala, Kevin Normoyle, Leslie Kohn, Louis F. Coffin, III, Charles E. Narad
  • Patent number: 5655100
    Abstract: A multiprocessor computer system has a multiplicity of sub-systems and a main memory coupled to a system controller. Some of the sub-systems are data processors, each having a respective cache memory that stores multiple blocks of data and a respective set of master cache tags (Etags), including one Etag for each data block stored by the cache memory. Each data processor includes an interface for sending memory transaction requests to the system controller and for receiving cache transaction requests from the system controller corresponding to memory transaction requests by other ones of the data processors. The system controller includes transaction activation logic for activating each said memory transaction request when it meets predefined activation criteria, and for blocking each said memory transaction request until the predefined activation criteria are met.
    Type: Grant
    Filed: March 31, 1995
    Date of Patent: August 5, 1997
    Assignee: Sun Microsystems, Inc.
    Inventors: Zahir Ebrahim, Satyanarayana Nishtala, William C. Van Loo, Kevin Normoyle, Paul Loewenstein, Louis F. Coffin, III
  • Patent number: 5644753
    Abstract: A multiprocessor computer system has data processors and a main memory coupled to a system controller. Each data processor has a cache memory. Each cache memory has a cache controller with two ports for receiving access requests. A first port receives access requests from the associated data processor and a second port receives access requests from the system controller. All cache memory access requests include an address value; access requests from the system controller also include a mode flag. A comparator in the cache controller processes the address value in each access request and generates a hit/miss signal indicating whether the data block corresponding to the address value is stored in the cache memory.
    Type: Grant
    Filed: September 17, 1996
    Date of Patent: July 1, 1997
    Assignee: Sun Microsystems, Inc.
    Inventors: Zahir Ebrahim, Kevin Normoyle, Satyanarayana Nishtala, William C. Van Loo
  • Patent number: 5634068
    Abstract: A multiprocessor computer system has a multiplicity of sub-systems and a main memory coupled to a system controller. An interconnect module, interconnects the main memory and sub-systems in accordance with interconnect control signals received from the system controller. All of the sub-systems include a port that transmits and receives data as data packets of a fixed size. At least two of the sub-systems are data processors, each having a respective cache memory and a respective set of master cache tags (Etags), including one cache tag for each data block stored by the cache memory. The system controller maintains a set of duplicate cache tags (Dtags) for each of the data processors. The data processors each include master cache logic for updating the master cache tags, while the system controller includes logic for updating the duplicate cache tags.
    Type: Grant
    Filed: March 31, 1995
    Date of Patent: May 27, 1997
    Assignee: Sun Microsystems, Inc.
    Inventors: Satyanarayana Nishtala, Zahir Ebrahim, William C. Van Loo, Kevin Normoyle, Leslie Kohn, Louis F. Coffin, III
  • Patent number: 5581729
    Abstract: A multiprocessor computer system is provided having a multiplicity of sub-systems and a main memory coupled to a system controller. An interconnect module, interconnects the main memory and sub-systems in accordance with interconnect control signals received from the system controller. At least two of the sub-systems are data processors, each having a respective cache memory that stores multiple blocks of data and a respective master cache index. Each master cache index has a set of master cache tags (Etags), including one cache tag for each data block stored by the cache memory. Each data processor includes a master interface having master classes for sending memory transaction requests to the system controller. The system controller includes memory transaction request logic for processing each memory transaction request by a data processor. The system controller maintains a duplicate cache index having a set of duplicate cache tags (Dtags) for each data processor.
    Type: Grant
    Filed: March 31, 1995
    Date of Patent: December 3, 1996
    Assignee: Sun Microsystems, Inc.
    Inventors: Satyanarayana Nishtala, Zahir Ebrahim, William C. Van Loo, Paul Loewenstein, Sue K. Lee, Louis F. Coffin III
  • Patent number: 5263142
    Abstract: An I/O cache is provided to a computer system comprising a main memory and a number of DVMA/DMA I/O devices for caching I/O data between the main memory and the DVMA/DMA I/O devices. The I/O cache selectively caches the I/O data in accordance to the device class types of the DVMA/DMA devices. The I/O cache comprises an I/O cache data array, an I/O cache address tag array, an I/O cache mapper, and I/O cache control logic. The I/O cache data array comprises a number I/O cache lines, each having a number of I/O cache blocks, for storing I/O data between the main memory and the DVMA/DMA devices. The I/O cache tag comprises a number of corresponding I/O cache address tag entries, each having a number of I/O cache address tags and associated control information, for storing address and control information for the I/O data stored in the I/O cache lines.
    Type: Grant
    Filed: December 28, 1992
    Date of Patent: November 16, 1993
    Assignee: Sun Microsystems, Inc.
    Inventors: John Watkins, David Labuda, William C. Van Loo
  • Patent number: 5247648
    Abstract: An I/O write back cache memory and a data coherency method is provided to a computer system having a cache and a main memory. The data coherency method includes partitioning the main memory into memory segments, dynamically assigning and reassigning the ownership of the memory segments either to the cache memory or the I/O write back cache memory. The ownership of the memory segments controls the accessibility and cacheability of the memory segments for read and write cycles performed by the CPU and I/O devices. During reassignment, various data management actions are taken to ensure data coherency. As a result, the I/O devices can perform read and write cycles addressed against the cache and main memory in a manner that increases system performance with minimal increase in hardware and complexity cost.
    Type: Grant
    Filed: April 30, 1992
    Date of Patent: September 21, 1993
    Assignee: Sun Microsystems, Inc.
    Inventors: John Watkins, David Labuda, William C. Van Loo
  • Patent number: 5161162
    Abstract: A workstation or server having a central processing unit (CPU) and a standard system bus interface and loopback control logic. The I/O subsystem is tested through the application of diagnositc programs running in the CPU which use programmed I/O bus cycles to read and write from the standard system bus interface. In this way, the CPU, with the loopback test mode enabled, can functionally test data paths and controls utilized to perform programmed I/O accesses to the standard system bus interface without having to access an external system bus device. Furthermore, a loopback bus cycle can cause a direct virtual memory access (DVMA) bus cycle to be created at the system bus interface. Therefore, the CPU, with the loopback test mode enabled, can also functionally test data paths and controls utilized to perform system memory DVMA without the presence of an external system bus device.
    Type: Grant
    Filed: April 12, 1990
    Date of Patent: November 3, 1992
    Assignee: Sun Microsystems, Inc.
    Inventors: John Watkins, William C. Van Loo, Kurt Michels, Hugh Chang
  • Patent number: 4271468
    Abstract: The disclosure relates to multiprocessor handling of plural queues of pending I/O interrupt requests (I/O IRs) in a main storage (MS) shared by plural central processors (CPs). An input/output processor (IOP) inserts I/O IR entries onto the queues in accordance with the type of interrupt. The entries in the queues are only removed by the CPs, after their selection by a system controller (SC) for execution of an interruption handling program.An I/O interrupt pending register in I/O interrupt controller circuits in the SC is used in selecting CPs to handle the I/O IRs on the queues. The bit positions in the pending register are respectively assigned to the I/O IR queues in MS, and the order of the bit positions determines the priority among the queues for CP handling. An I/O IR command from the IOP to the SC sets a corresponding queue bit position in the pending register and controls the addition of an entry on the corresponding queue in MS.
    Type: Grant
    Filed: November 6, 1979
    Date of Patent: June 2, 1981
    Assignee: International Business Machines Corp.
    Inventors: Neal T. Christensen, William C. Van Loo, Robert H. Werner, Joseph A. Wetzel, Carl Zeitler, Jr.