Patents by Inventor Joel R. Davidson

Joel R. Davidson 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: 8782287
    Abstract: A packet processing system comprises first processing circuitry for performing a first function, and first memory circuitry coupled to the first processing circuitry for storing received packets, wherein at least a portion of the packets stored by the first memory circuitry are usable by the first processing circuitry in accordance with the first function. The packet processing system further comprises at least second processing circuitry for performing a second function, and at least second memory circuitry coupled to the second processing circuitry for storing at least a portion of the same packets stored in the first memory circuitry, wherein at least a portion of the packets stored in the second memory circuitry are usable by the second processing circuitry in accordance with the second function. In an illustrative embodiment, the first processing circuitry and the second processing circuitry operate in a packet switching device such as a router.
    Type: Grant
    Filed: December 21, 2001
    Date of Patent: July 15, 2014
    Assignee: Agere Systems LLC
    Inventors: Gregg A. Bouchard, Mauricio Calle, Joel R. Davidson, Michael W. Hathaway, James T. Kirk, Christopher Brian Walton
  • Patent number: 7113518
    Abstract: A network processor or other type of processor includes a packet analyzer and first memory circuitry operatively coupled to the packet analyzer. The packet analyzer is operative to at least partially analyze one or more packets received by the processor in order to determine for a given one of the packets a portion of the packet to be stored in the first memory circuitry. The portion of the given packet when stored in the first memory circuitry is thereby made accessible for subsequent processing within the processor, without requiring access to second memory circuitry associated with the processor and configured to store substantially the entire given packet. The packet analyzer may be configured to utilize a value stored in a register of the processor to determine the portion of the given packet to be stored in the first memory circuitry. The register may be one of a number of registers which implement a look-up table accessible to the packet analyzer.
    Type: Grant
    Filed: December 19, 2001
    Date of Patent: September 26, 2006
    Assignee: Agere Systems Inc.
    Inventors: Mauricio Calle, Joel R. Davidson, Michael W. Hathaway, James T. Kirk
  • Patent number: 7079539
    Abstract: A network processor or other type of processor includes in an illustrative embodiment a first pass classifier coupled to first memory circuitry in the form of a relatively small internal memory, and a second pass classifier coupled to second memory circuitry in the form of a larger internal buffer memory. The first memory circuitry is configurable to store at least a portion of a given packet to be processed by the first pass classifier. The second memory circuitry is configurable to store a different and preferably smaller portion of the given packet to permit processing thereof by the second pass classifier. The portion of the given packet storable in the second memory circuitry is a portion of the given packet determined by a first pass classification, performed by the first pass classifier, to be required for a second pass classification, performed by the second pass classifier.
    Type: Grant
    Filed: December 21, 2001
    Date of Patent: July 18, 2006
    Assignee: Agere Systems Inc.
    Inventors: Mauricio Calle, Joel R. Davidson, Betty A. McDaniel
  • Patent number: 6915480
    Abstract: A network processor or other type of processor includes first classification circuitry, scheduling circuitry and second classification circuitry. The first classification circuitry is configured to determine for a given packet received by the processor whether the packet has one or more errors. The scheduling circuitry in an illustrative embodiment receives an indication of the error determination made by the first classification circuitry, and based on the indication controls the dropping of the given packet from the processor memories if the packet has one or more errors, e.g., via a flush transmit command. The second classification circuitry, which may be implemented as a single classification engine or a set of such engines, may be configured to perform at least one classification operation for the given packet, e.g., if the packet is supplied thereto by the scheduling circuitry.
    Type: Grant
    Filed: December 21, 2001
    Date of Patent: July 5, 2005
    Assignee: Agere Systems Inc.
    Inventors: Mauricio Calle, Joel R. Davidson, James T. Kirk, Betty A. McDaniel, Maurice A. Uebelhor
  • Patent number: 6804692
    Abstract: A method and apparatus for reassembling data blocks back into their constituent data packets in a network processor. Each data block associated with a packet is assigned a unique queue identifier for use in assembling all blocks from the same packet. The packet is also assigned a packet identifier, a start of packet identifier and an end of packet identifier for use by downstream network processors to process the packet. The blocks are assembled according to the assigned queue identifier until the last block of a packet is received, at which time the packet reassembly is complete.
    Type: Grant
    Filed: December 21, 2001
    Date of Patent: October 12, 2004
    Assignee: Agere Systems, Inc.
    Inventors: Joel R. Davidson, James T. Kirk, Mauricio Calle
  • Publication number: 20030120664
    Abstract: A method and apparatus for reassembling data blocks back into their constituent data packets in a network processor. Each data block associated with a packet is assigned a unique queue identifier for use in assembling all blocks from the same packet. The packet is also assigned a packet identifier, a start of packet identifier and an end of packet identifier for use by downstream network processors to process the packet. The blocks are assembled according to the assigned queue identifier until the last block of a packet is received, at which time the packet reassembly is complete.
    Type: Application
    Filed: December 21, 2001
    Publication date: June 26, 2003
    Inventors: Joel R. Davidson, James T. Kirk, Mauricio Calle
  • Publication number: 20030120991
    Abstract: A network processor or other type of processor includes first classification circuitry, scheduling circuitry and second classification circuitry. The first classification circuitry is configured to determine for a given packet received by the processor whether the packet has one or more errors. The scheduling circuitry in an illustrative embodiment receives an indication of the error determination made by the first classification circuitry, and based on the indication controls the dropping of the given packet from the processor memories if the packet has one or more errors, e.g., via a flush transmit command. The second classification circuitry, which may be implemented as a single classification engine or a set of such engines, may be configured to perform at least one classification operation for the given packet, e.g., if the packet is supplied thereto by the scheduling circuitry.
    Type: Application
    Filed: December 21, 2001
    Publication date: June 26, 2003
    Inventors: Mauricio Calle, Joel R. Davidson, James T. Kirk, Betty A. McDaniel, Maurice A. Uebelhor
  • Publication number: 20030118020
    Abstract: A network processor or other type of processor includes in an illustrative embodiment a first pass classifier coupled to first memory circuitry in the form of a relatively small internal memory, and a second pass classifier coupled to second memory circuitry in the form of a larger internal buffer memory. The first memory circuitry is configurable to store at least a portion of a given packet to be processed by the first pass classifier. The second memory circuitry is configurable to store a different and preferably smaller portion of the given packet to permit processing thereof by the second pass classifier. The portion of the given packet storable in the second memory circuitry is a portion of the given packet determined by a first pass classification, performed by the first pass classifier, to be required for a second pass classification, performed by the second pass classifier.
    Type: Application
    Filed: December 21, 2001
    Publication date: June 26, 2003
    Inventors: Mauricio Calle, Joel R. Davidson, Betty A. McDaniel
  • Publication number: 20030120798
    Abstract: A packet processing system comprises first processing circuitry for performing a first function, and first memory circuitry coupled to the first processing circuitry for storing received packets, wherein at least a portion of the packets stored by the first memory circuitry are usable by the first processing circuitry in accordance with the first function. The packet processing system further comprises at least second processing circuitry for performing a second function, and at least second memory circuitry coupled to the second processing circuitry for storing at least a portion of the same packets stored in the first memory circuitry, wherein at least a portion of the packets stored in the second memory circuitry are usable by the second processing circuitry in accordance with the second function. In an illustrative embodiment, the first processing circuitry and the second processing circuitry operate in a packet switching device such as a router.
    Type: Application
    Filed: December 21, 2001
    Publication date: June 26, 2003
    Inventors: Gregg A. Bouchard, Mauricio Calle, Joel R. Davidson, Michael W. Hathaway, James T. Kirk, Christopher Brian Walton
  • Publication number: 20030112801
    Abstract: A network processor or other type of processor includes a packet analyzer and first memory circuitry operatively coupled to the packet analyzer. The packet analyzer is operative to at least partially analyze one or more packets received by the processor in order to determine for a given one of the packets a portion of the packet to be stored in the first memory circuitry. The portion of the given packet when stored in the first memory circuitry is thereby made accessible for subsequent processing within the processor, without requiring access to second memory circuitry associated with the processor and configured to store substantially the entire given packet. The packet analyzer may be configured to utilize a value stored in a register of the processor to determine the portion of the given packet to be stored in the first memory circuitry. The register may be one of a number of registers which implement a look-up table accessible to the packet analyzer.
    Type: Application
    Filed: December 19, 2001
    Publication date: June 19, 2003
    Inventors: Mauricio Calle, Joel R. Davidson, Michael W. Hathaway, James T. Kirk
  • Patent number: 5619158
    Abstract: A clocking system for complex electronic devices is created in an hierarchial manner whereby the master clock pulse is provided to a plurality of digital pulse aligners which in turn provide phase aligned clock signals at the field replaceable unit level to either a slave clock or a digital phase aligner. The slave clock or the digital phase aligner at the field replaceable unit level in turn provides an aligned clock pulse to a timing node on respective chips. A third level of the hierarchy provides similarly aligned pulses to individual using-circuits on the chips of the system. The digital phase aligner, aligning the output pulse at the timing node of the next level with the reference pulses being provided to the digital phase aligner at each level, insures that the timing pulses arriving at the utilizing circuits are synchronously aligned with clock pulses of the master clock.
    Type: Grant
    Filed: August 18, 1995
    Date of Patent: April 8, 1997
    Assignee: International Business Machines Corp.
    Inventors: Humberto F. Casal, Joel R. Davidson, Hehching H. Li, Yuan C. Lo, Trong D. Nguyen, Campbell H. Snyder, Nandor G. Thoma
  • Patent number: 5613157
    Abstract: A system and method for accessing a multiplicity of memory devices connected to a serial bus of defined protocol and which a direct memory device selection range smaller than the number of memory devices. The memory devices are divided among microcontrollers which selectively enable one or more memory devices responsive to higher level addressing signals sent to the microcontrollers. Thereafter, selectively enabled groups of memory devices are accessed by applying the limited addressing range of the serial bus. The invention finds particular use in modularized systems where cost and complexity are significant considerations by extending the normal range of the chip select function to increase the memory device count beyond the standard bus protocol. A preferred embodiment uses EEPROM devices and an I.sup.2 C protocol bus.
    Type: Grant
    Filed: June 10, 1996
    Date of Patent: March 18, 1997
    Assignee: International Business Machines Corporation
    Inventors: Joel R. Davidson, Hehching H. Li, Franklin M. Liu
  • Patent number: 4816805
    Abstract: Signal processing techniques are disclosed for applications such as finite impulse response filtering. After initial processing in residue number system (RNS) channels, the signals are converted from residue form to a true external representation of the filter output. The conversion employs a chinese remainder theorem decoder and shift accumulator controlled to utilize adaptive modulo reduction. As a consequence, each modulus function value is reduced during computation when it exceeds the modulus and not at the end of the function evaluation. This reduces hardware requirements by minimizing the arithmetic word length. In implementing the technique, each function value is tested to see if it is within a modulus range and the corresponding modulus value is subtracted if it is not. This is done as many times as is necessary to bring each function value within the range.
    Type: Grant
    Filed: February 2, 1987
    Date of Patent: March 28, 1989
    Assignee: Grumman Aerospace Corporation
    Inventors: William M. Vojir, Joel R. Davidson