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).

  • Publication number: 20040098535
    Abstract: A multi-threaded microprocessor with support for packet header splitting during receive packet processing operations and packet header splicing during transmit packet processing operations, as well as optimized recovery of transmit resources, is presented.
    Type: Application
    Filed: November 19, 2002
    Publication date: May 20, 2004
    Inventors: Charles E. Narad, Larry B. Huston, Yim Pun, Raymond Ng
  • Publication number: 20040093602
    Abstract: A mechanism that associates a mutual exclusion lock with a shared data item and provides ownership of the mutual exclusion lock to multiple execution threads that execute code operating on the shared data item in a sequential order.
    Type: Application
    Filed: November 12, 2002
    Publication date: May 13, 2004
    Inventors: Larry B. Huston, Charles E. Narad
  • Publication number: 20040073635
    Abstract: A mechanism that enables allocation and recovery of buffer resources in both burst access and single access modes of operation is presented.
    Type: Application
    Filed: October 15, 2002
    Publication date: April 15, 2004
    Inventors: Charles E. Narad, Larry B. Huston, Alok Mathur, Gregory L. Limes
  • Publication number: 20040068607
    Abstract: A mechanism for implementing CAM-based implicit mutual exclusion locks, with a RAM array being dynamically allocated to provide waitlists on elements in the CAM.
    Type: Application
    Filed: October 7, 2002
    Publication date: April 8, 2004
    Inventor: Charles E. Narad
  • Patent number: 6701338
    Abstract: The present invention relates to a general-purpose programmable packet-processing platform for accelerating network infrastructure applications which have been structured so as to separate the stages of classification and action. Network packet classification, execution of actions upon those packets, management of buffer flow, encryption services, and management of Network Interface Controllers are accelerated through the use of a multiplicity of specialized modules. A language interface is defined for specifying both stateless and stateful classification of packets and to associate actions with classification results in order to efficiently utilize these specialized modules.
    Type: Grant
    Filed: January 28, 2002
    Date of Patent: March 2, 2004
    Assignee: Intel Corporation
    Inventors: Charles E. Narad, Kevin Fall, Neil MacAvoy, Pradip Shankar, Leonard M. Rand, Jerry J. Hall
  • Publication number: 20040006725
    Abstract: A method and apparatus for improving network router line rate performance by an improved system for error correction is described. In an embodiment of the present invention, error correction is performed by a hardware-based system within the processing engine of a router's network processor.
    Type: Application
    Filed: July 3, 2002
    Publication date: January 8, 2004
    Inventors: Sridhar Lakshmanamurthy, Charles E. Narad, Lawrence B. Huston, Yim Pun, Kin-Yip Liu
  • Publication number: 20040004964
    Abstract: Processor architectures, and in particular, processor architectures that assemble data segments into full packets for efficient packet-based classification. In accordance with an embodiment of the present invention, a method for assembling received data segments into full packets in an initial processing stage in a processor includes receiving a plurality of data segments from a packet, determining a first storage location for each of the plurality of data segments, and storing each of the plurality of data segments in its determined first storage location. The method also includes determining a second storage location for each of the plurality of data segments, said second storage locations being logically ordered to represent the order the data segments originally occurred in the packet and storing each of the plurality of data segments in its determined second storage location to re-assemble the packet.
    Type: Application
    Filed: July 3, 2002
    Publication date: January 8, 2004
    Applicant: INTEL CORPORATION
    Inventors: Sridhar Lakshmanamurthy, Charles E. Narad, Lawrence B. Huston, Yim Pun, Raymond Ng, Debra Bernstein, Mark B. Rosenbluth
  • Patent number: 6625689
    Abstract: The present invention relates to a general-purpose programmable packet-processing platform for accelerating network infrastructure applications which have been structured so as to separate the stages of classification and action. Network packet classification, execution of actions upon those packets, management of buffer flow, encryption services, and management of Network Interface Controllers are accelerated through the use of a multiplicity of specialized modules. A language interface is defined for specifying both stateless and stateful classification of packets and to associate actions with classification results in order to efficiently utilize these specialized modules.
    Type: Grant
    Filed: March 18, 2002
    Date of Patent: September 23, 2003
    Assignee: Intel Corporation
    Inventors: Charles E. Narad, Kevin Fall, Neil MacAvoy, Pradip Shankar, Leonard M. Rand, Jerry J. Hall
  • Publication number: 20030061332
    Abstract: The present invention relates to a general-purpose programmable packet-processing platform for accelerating network infrastructure applications which have been structured so as to separate the stages of classification and action. Network packet classification, execution of actions upon those packets, management of buffer flow, encryption services, and management of Network Interface Controllers are accelerated through the use of a multiplicity of specialized modules. A language interface is defined for specifying both stateless and stateful classification of packets and to associate actions with classification results in order to efficiently utilize these specialized modules.
    Type: Application
    Filed: March 18, 2002
    Publication date: March 27, 2003
    Applicant: Intel Corporation
    Inventors: Charles E. Narad, Kevin Fall, Neil MacAvoy, Pradip Shankar, Leonard M. Rand, Jerry J. Hall
  • Publication number: 20030046423
    Abstract: The present invention relates to a general-purpose programmable packet-processing platform for accelerating network infrastructure applications which have been structured so as to separate the stages of classification and action. Network packet classification, execution of actions upon those packets, management of buffer flow, encryption services, and management of Network Interface Controllers are accelerated through the use of a multiplicity of specialized modules. A language interface is defined for specifying both stateless and stateful classification of packets and to associate actions with classification results in order to efficiently utilize these specialized modules.
    Type: Application
    Filed: February 27, 2002
    Publication date: March 6, 2003
    Inventors: Charles E. Narad, Kevin Fall, Neil MacAvoy, Pradip Shankar, Leonard M. Rand, Jerry J. Hall
  • Publication number: 20030005103
    Abstract: The present invention relates to a general-purpose programmable packet-processing platform for accelerating network infrastructure applications which have been structured so as to separate the stages of classification and action. Network packet classification, execution of actions upon those packets, management of buffer flow, encryption services, and management of Network Interface Controllers are accelerated through the use of a multiplicity of specialized modules. A language interface is defined for specifying both stateless and stateful classification of packets and to associate actions with classification results in order to efficiently utilize these specialized modules.
    Type: Application
    Filed: January 28, 2002
    Publication date: January 2, 2003
    Inventors: Charles E. Narad, Kevin Fall, Neil MacAvoy, Pradip Shankar, Leonard M. Rand, Jerry J. Hall
  • Patent number: 6421730
    Abstract: The present invention relates to a general-purpose programmable packet-processing platform for accelerating network infrastructure applications which have been structured so as to separate the stages of classification and action. Network packet classification, execution of actions upon those packets, management of buffer flow, encryption services, and management of Network Interface Controllers are accelerated through the use of a multiplicity of specialized modules. A language interface is defined for specifying both stateless and stateful classification of packets and to associate actions with classification results in order to efficiently utilize these specialized modules.
    Type: Grant
    Filed: April 1, 1999
    Date of Patent: July 16, 2002
    Assignee: Intel Corporation
    Inventors: Charles E. Narad, Kevin Fall, Neil MacAvoy, Pradip Shankar, Leonard M. Rand, Jerry J. Hall
  • Patent number: 6401117
    Abstract: The present invention relates to a general-purpose programmable packet-processing platform for accelerating network infrastructure applications which have been structured so as to separate the stages of classification and action. Network packet classification, execution of actions upon those packets, management of buffer flow, encryption services, and management of Network Interface Controllers are accelerated through the use of a multiplicity of specialized modules. A language interface is defined for specifying both stateless and stateful classification of packets and to associate actions with classification results in order to efficiently utilize these specialized modules.
    Type: Grant
    Filed: March 31, 1999
    Date of Patent: June 4, 2002
    Assignee: Intel Corporation
    Inventors: Charles E. Narad, Kevin Fall, Neil MacAvoy, Pradip Shankar, Leonard M. Rand, Jerry J. Hall
  • Patent number: 6157955
    Abstract: The present invention relates to a general-purpose programmable packet-processing platform for accelerating network infrastructure applications which have been structured so as to separate the stages of classification and action. Network packet classification, execution of actions upon those packets, management of buffer flow, encryption services, and management of Network Interface Controllers are accelerated through the use of a multiplicity of specialized modules. A language interface is defined for specifying both stateless and stateful classification of packets and to associate actions with classification results in order to efficiently utilize these specialized modules.
    Type: Grant
    Filed: June 15, 1998
    Date of Patent: December 5, 2000
    Assignee: Intel Corporation
    Inventors: Charles E. Narad, Kevin Fall, Neil MacAvoy, Pradip Shankar, Leonard M. Rand, Jerry J. Hall
  • Patent number: 5956756
    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: June 6, 1997
    Date of Patent: September 21, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Yousef A. Khalidi, Glen R. Anderson, Stephen A. Chessin, Shing Ip Kong, Charles E. Narad, Madhusudhan Talluri
  • Patent number: 5892957
    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: June 3, 1997
    Date of Patent: April 6, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Kevin B. Normoyle, Zahir Ebrahim, Satyanarayana Nishtala, William C. Van Loo, Sun-Den Chen, Charles E. Narad
  • Patent number: 5822381
    Abstract: A clock system for a distributed multiprocessor system includes a plurality of local clock circuits and a distribution network. The distribution network includes a plurality of interconnected routers. Each local clock circuit is associated with a processing node of the multiprocessor system. Each local clock circuit generates a global clock source signal, provides the global clock source signal to the distribution network, receives a global clock signal back from the distribution network, and generates a global time value based on a local clock signal and the global clock signal. The router is part of the distribution network of the multiprocessor system. The router receives the global clock source signals from each of the local clock circuits, selects one of the global clock source signals as the global clock signal and provides the global clock signal to the distribution network for distribution to each of the local clock circuits.
    Type: Grant
    Filed: May 5, 1995
    Date of Patent: October 13, 1998
    Assignee: Silicon Graphics, Inc.
    Inventors: David M. Parry, Charles E. Narad, Daniel E. Lenoski
  • Patent number: 5727219
    Abstract: A virtual I/O processor (VIOP) is implemented using a programmed I/O (PIO) unit. The PIO unit is complemented by a VIOP interrupt, a VIOP interrupt handler, and a number of VIOP data structures. Preferably, the PIO unit is further complemented with a set of dedicated I/O global registers, a number of VIOP library read/write routines for various I/O device types, and non-blocking read and write operations. During execution, these elements cooperate with each other to perform multiple sequences of programmed I/Os as if they were being performed by a dedicated I/O processor.
    Type: Grant
    Filed: May 9, 1997
    Date of Patent: March 10, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Thomas L. Lyon, Sun-Den Chen, William Joy, Leslie D. Kohn, Charles E. Narad, Robert Yung
  • 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