Patents by Inventor Charles E. Narad

Charles E. Narad 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: 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: 5572734
    Abstract: A master bus interconnecting multiple masters is coupled via any number of intervening buses to a slave bus interconnecting multiple slaves and masters. A lock arbiter signal is passed to each successive bus-to-bus interface concurrent with an instruction issued by a master accessing a slave on a remote bus. Address, control, data, and lock arbiter signals are buffered in successive intervening bus-to-bus interfaces including the bus-to-bus interface to the slave bus. The lock arbiter signal when received by the slave bus-to-bus interface will set a lock arbiter register within bus slave bus-to-bus interface. Setting the lock arbiter register once a target slave has been accessed prevents any other master operating on the remote bus from using the remote bus or connecting to the remote bus-to-bus interface.
    Type: Grant
    Filed: May 2, 1995
    Date of Patent: November 5, 1996
    Assignee: Sun Microsystems, Inc.
    Inventors: Charles E. Narad, Neil MacAvoy
  • Patent number: 5560019
    Abstract: An interrupt steering control mechanism includes an interrupt target register storing a code identifying a particular interrupt target processor to receive undirected interrupts within a multiple processor computer system. The computer operating system assigns a particular processor to be a current interrupt target by writing the identifying processor code in to the interrupt target register. A system interrupt pending register permits any processor to ascertain whether an interrupt source has requested service. Each interrupt service request is assigned an interrupt priority determining when the particular processor will service the interrupt in relation to other interrupts pending for that processor. An interrupt target mask register permits the current interrupt target processor to delay service of the interrupt request until some later time, and any processor may assert ownership of the current interrupt target.
    Type: Grant
    Filed: January 16, 1996
    Date of Patent: September 24, 1996
    Assignee: Sun Microsystems, Inc.
    Inventor: Charles E. Narad
  • Patent number: 5479627
    Abstract: A method and apparatus for translating a virtual address to a physical address. A virtual address to be translated has a virtual page offset and a virtual page number. The virtual address to be translated addresses a page of memory. The size of this page is unknown. There are L different possible page sizes where L is a positive integer greater than one. Each of the L different page sizes is selected to be a test page size and a test is performed. During the test, a pointer into a translation storage buffer is calculated. The pointer is calculated from the virtual address to be translated by assuming that the virtual address to be translated corresponds to a mapping of the test page size. The pointer points to a candidate translation table entry of the translation storage buffer. The candidate translation table entry has a candidate tag and candidate data.
    Type: Grant
    Filed: September 8, 1993
    Date of Patent: December 26, 1995
    Assignee: Sun Microsystems, Inc.
    Inventors: Yousef A. Khalidi, Glen R. Anderson, Stephen A. Chessin, Shing I. Kong, Charles E. Narad, Madhusudhan Talluri
  • Patent number: 5367695
    Abstract: A bus-to-bus interface preserves data coherence between masters and slaves operating within a multiple processor computer system. Two buses are connected via the interface. The first bus connects a number of self-identifying masters. The second bus connects a number of master devices and a number of slave devices. The second bus has no mechanism with which devices connected to the second bus may identify themselves. The interface contains a pair of registers for each slave device connected through the second bus. One register stores a busy bit if the corresponding slave is engaged on behalf of a master. The second register stores an identifying code for the master delegating a task to the corresponding slave. When a slave has accepted a task on behalf of a master and commanded the master to relinquish the bus, the busy register will be set and the master identification register will store the identifying code for the delegating master.
    Type: Grant
    Filed: September 27, 1991
    Date of Patent: November 22, 1994
    Assignee: Sun Microsystems, Inc.
    Inventors: Charles E. Narad, Sun-Den Chen
  • Patent number: 5287503
    Abstract: A computer storage register architecture permitting secure atomic access to set or clear one or more particular bits wherein a multiple bit register is disclosed. In the preferred embodiment, a multiplicity of unique addresses is assigned to a multiple bit register. One address constitutes a read address, one address constitutes a clear address, and a third address constitutes a set address. An address decoder decodes the addresses assigned to the register so that only that register is accessed for the associated read, clear, and set operations, respectively. Data having a register position equivalent binary pattern of logical zeros and ones corresponding to particular bit locations of the register to be set or cleared are associated with the set and clear addresses. If the position equivalent binary value of the data associated with the address decoded is a logical one, then the corresponding bit in the register will be set or cleared. Otherwise, the bit remains unchanged.
    Type: Grant
    Filed: September 27, 1991
    Date of Patent: February 15, 1994
    Assignee: Sun Microsystems, Inc.
    Inventor: Charles E. Narad