Patents by Inventor Gregg Bouchard

Gregg Bouchard 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: 6954770
    Abstract: A random number generator comprising an oscillator with an output signal dependant upon a random source, a sampling device to sample the output signal from the oscillator to obtain a sampled oscillator output, and a fixed frequency clock driven linear feedback shift register (LFSR) communicatively coupled to the sampling device via a digital gate to receive the sampled oscillator output, and to provide a random number at an output of the LFSR. Additionally, the random number generator may comprise an optional mixing function communicatively coupled to the LFSR to read the random number, and to insert the random number into an algorithm to obtain a robust random number.
    Type: Grant
    Filed: August 23, 2001
    Date of Patent: October 11, 2005
    Assignee: Cavium Networks
    Inventors: David A. Carlson, Gregg A. Bouchard, Anand Varadharajan, Derek S. Brasili
  • Patent number: 6944731
    Abstract: A memory system having multiple memory banks is configured to prevent bank conflict between access requests. The memory system includes a memory controller and a plurality of memory banks operatively coupled to the memory controller, with each of the memory banks configured for storing a plurality of data items. More particularly, a given data item is stored as multiple copies of the data item with the multiple copies being stored in respective ones of a designated minimum number of the memory banks. The memory controller is adapted to process requests for access to the data items stored in the memory banks in accordance with a specified bank access sequence.
    Type: Grant
    Filed: December 19, 2001
    Date of Patent: September 13, 2005
    Assignee: Agere Systems Inc.
    Inventors: Gregg A. Bouchard, Mauricio Calle, Ravi Ramaswami
  • Patent number: 6920512
    Abstract: An efficient system and method for managing reads and writes on a bi-directional bus to optimize bus performance while avoiding bus contention and avoiding read/write starvation. In particular, by intelligently managing reads and writes on a bi-directional bus, bus latency can be reduced while still ensuring no bus contention or read/write starvation. This is accomplished by utilizing bus streaming control logic, separate queues for reads and writes, and a simple 2 to 1 mux.
    Type: Grant
    Filed: February 17, 2004
    Date of Patent: July 19, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Maurice B. Steinman, Richard E. Kessler, Gregg A. Bouchard
  • Publication number: 20050055391
    Abstract: A random number generator comprising an entropy generator and a mixing function. The mixing function to read a seed from the entropy generator, to modify the seed, to insert the modified seed into a mixing function, to initialize a set of input variables used in the mixing function to generate a robust random number, and to generate subsequent robust random numbers using the mixing function without re-initializing any of the set of input variables.
    Type: Application
    Filed: October 22, 2004
    Publication date: March 10, 2005
    Inventors: David Carlson, Gregg Bouchard, Anand Varadharajan, Derek Brasili
  • Publication number: 20040205332
    Abstract: A method and apparatus for optimizing IPsec processing by providing execution units with windowing data during prefetch and managing coherency of security association data by management of security association accesses. Providing execution units with windowing data allows initial parallel processing of IPsec packets. The security association access ordering apparatus serializes access to the dynamic section of security association data according to packet order arrival while otherwise allowing parallel processing of the IPsec packet by multiple execution units in a security processor.
    Type: Application
    Filed: April 12, 2003
    Publication date: October 14, 2004
    Inventors: Gregg A. Bouchard, Richard E. Kessler, Muhammad R. Hussain
  • Publication number: 20040177184
    Abstract: An efficient system and method for managing reads and writes on a bi-directional bus to optimize bus performance while avoiding bus contention and avoiding read/write starvation. In particular, by intelligently managing reads and writes on a bi-directional bus, bus latency can be reduced while still ensuring no bus contention or read/write starvation. This is accomplished by utilizing bus streaming control logic, separate queues for reads and writes, and a simple 2 to 1 mux.
    Type: Application
    Filed: February 17, 2004
    Publication date: September 9, 2004
    Inventors: Maurice B. Steinman, Richard E. Kessler, Gregg A. Bouchard
  • Patent number: 6754739
    Abstract: A method and architecture for improved system resource management and allocation for the processing of request and response messages in a computer system. The resource management scheme provides for dynamically sharing system resources, such as data buffers, between request and response messages or transactions. In particular, instead of simply dedicating a portion of the system resources to requests and the remaining portion to responses, a minimum amount of resources are reserved for responses and a minimum amount for requests, while the remaining resources are dynamically shared between both types of messages. The method and architecture of the present invention allows for more efficient use of system resources, while avoiding deadlock conditions and ensuring a minimum service rate for requests.
    Type: Grant
    Filed: August 31, 2000
    Date of Patent: June 22, 2004
    Assignee: Hewlett-Packard Development Company
    Inventors: Richard E. Kessler, Michael S. Bertone, Gregg A. Bouchard, Maurice B. Steinman
  • Patent number: 6704817
    Abstract: An efficient system and method for managing reads and writes on a bi-directional bus to optimize bus performance while avoiding bus contention and avoiding read/write starvation. In particular by intelligently managing reads and writes on a bi-directional bus, bus latency can be reduced while still ensuring no bus contention or read/write starvation. This is accomplished by utilizing bus streaming control logic, separate queues for reads and writes, and a simple 2 to 1 mux.
    Type: Grant
    Filed: August 31, 2000
    Date of Patent: March 9, 2004
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Maurice B. Steinman, Richard E. Kessler, Gregg A. Bouchard
  • Patent number: 6662265
    Abstract: A system and method is disclosed to track a large number of open pages in a computer memory system. The computer system contains one or more processors each including a memory controller containing a page table, the page table organized into a plurality of rows with each row able to store an address of an open memory page. A RIMM module containing RDRAM devices is coupled to each processor, each RDRAM containing a plurality of memory banks. The page table increases system memory performance by tracking a large number of open memory pages. Associated with the page table is a bank active table that indicates the memory banks in each RDRAM device having open memory pages. The page table enqueues accesses to the RIMM module in a precharge queue resulting from a page miss caused by the address of an open memory page occupying the same row of the page table as the address of the system memory access resulting in the page miss.
    Type: Grant
    Filed: August 31, 2000
    Date of Patent: December 9, 2003
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Richard E. Kessler, Maurice B. Steinman, Michael S. Bertone, Peter J. Bannon, Gregg A. Bouchard
  • Publication number: 20030204697
    Abstract: A computer system has a memory controller that includes read buffers coupled to a plurality of memory channels. The memory controller advantageously eliminates the inter-channel skew caused by memory modules being located at different distances from the memory controller. The memory controller preferably includes a channel interface and synchronization logic circuit for each memory channel. This circuit includes read and write buffers and load and unload pointers for the read buffer. Unload pointer logic generates the unload pointer and load pointer logic generates the load pointer. The pointers preferably are free-running pointers that increment in accordance with two different clock signals. The load pointer increments in accordance with a clock generated by the memory controller but that has been routed out to and back from the memory modules.
    Type: Application
    Filed: May 20, 2003
    Publication date: October 30, 2003
    Inventors: Richard E. Kessler, Peter J. Bannon, Maurice B. Steinman, Scott E. Breach, Allen J. Baum, Gregg A. Bouchard
  • Patent number: 6636955
    Abstract: A computer system has a memory controller that includes read buffers coupled to a plurality of memory channels. The memory controller advantageously eliminates the inter-channel skew caused by memory modules being located at different distances from the memory controller. The memory controller preferably includes a channel interface and synchronization logic circuit for each memory channel. This circuit includes read and write buffers and load and unload pointers for the read buffer. Unload pointer logic generates the unload pointer and load pointer logic generates the load pointer. The pointers preferably are free-running pointers that increment in accordance with two different clock signals. The load pointer increments in accordance with a clock generated by the memory controller but that has been routed out to and back from the memory modules. The unload pointer increments in accordance with a clock generated by the computer system itself.
    Type: Grant
    Filed: August 31, 2000
    Date of Patent: October 21, 2003
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Richard E. Kessler, Peter J. Bannon, Maurice B. Steinman, Scott E. Breach, Allen J. Baum, Gregg A. Bouchard
  • Patent number: 6622225
    Abstract: A computer system includes a memory controller interfacing the processor to a memory system. The memory controller supports a memory system with a plurality of memory devices, with multiple memory banks in each memory device. The memory controller supports simultaneous memory accesses to different memory banks. Memory bank conflicts are avoided by examining each transaction before it is loaded in the memory transaction queue. On a first clock cycle, the new pending memory request is transferred from a pending request queue to a memory mapper. On the subsequent clock cycle, the memory mapper formats the pending memory request into separate signals identifying the DEVICE, BANK, ROW and COLUMN to be accessed by the pending transaction. In the next clock cycle, the DEVICE and BANK signals are compared with every entry in the memory transaction queue to determine if a bank conflict exists. If so, the new memory request is rejected and recycled to the pending request queue.
    Type: Grant
    Filed: August 31, 2000
    Date of Patent: September 16, 2003
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Richard E. Kessler, Michael S. Bertone, Michael C. Braganza, Gregg A. Bouchard, Maurice B. Steinman
  • Patent number: 6591349
    Abstract: A system and method is disclosed to increase computer memory system performance by reducing lost clock cycles caused by bus turnarounds. The computer system contains one or more processors each including a memory controller containing a page table, the page table organized into a plurality of rows with each row able to store an address of an open memory page. The memory controller also contains a precharge queue, a Row-address-select (“RAS”) queue, a Column-address-select (“CAS”) Read queue, and a CAS Write queue. The CAS Read queue and CAS Write queue outputs are connected to a 2-to-1 multiplexer. The 2-to-1 multiplexer streams groups of read requests and groups of write requests to main memory resulting in fewer lost clock cycles caused by bus turnarounds. The memory controller places system memory read requests into the CAS Read queue and system memory write requests into the CAS Write queue.
    Type: Grant
    Filed: August 31, 2000
    Date of Patent: July 8, 2003
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Maurice B. Steinman, Gregg A. Bouchard
  • 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: 20030115403
    Abstract: A memory system having multiple memory banks is configured to prevent bank conflict between access requests. The memory system includes a memory controller and a plurality of memory banks operatively coupled to the memory controller, with each of the memory banks configured for storing a plurality of data items. More particularly, a given data item is stored as multiple copies of the data item with a given one of the multiple copies in each of a designated minimum number of the memory banks. The memory controller is adapted to process requests for access to the data items stored in the memory banks in accordance with a specified bank access sequence. The minimum number of memory banks for storage of the multiple copies of the given data item may be determined as a function of a random cycle time and a random bank access delay of the memory banks, e.g., as an integer greater than or equal to a ratio of the random cycle time to the random bank access delay.
    Type: Application
    Filed: December 19, 2001
    Publication date: June 19, 2003
    Inventors: Gregg A. Bouchard, Mauricio Calle, Ravi Ramaswami
  • Patent number: 6546453
    Abstract: A computer system contains a processor that includes a software programmable memory mapper. The memory mapper maps an address generated by the processor into a device address for accessing physical main memory. The processor also includes a cache controller that maps the processor address into a cache address. The cache address places a block of data from main memory into a memory cache using an index subfield. The physical main memory contains RDRAM devices, each of the RDRAM devices containing a number of memory banks that store rows and columns of data. The memory mapper maps processor addresses to device addresses to increases memory system performance. The mapping minimizes memory access conflicts between the memory banks. Conflicts between memory banks are reduced by placing a number of bits corresponding to the bank subfield above the most significant boundary bit of the index subfield.
    Type: Grant
    Filed: August 31, 2000
    Date of Patent: April 8, 2003
    Assignee: Compaq Information Technologies Group, L.P.
    Inventors: Richard E. Kessler, Maurice B. Steinman, Peter J. Bannon, Michael C. Braganza, Gregg A. Bouchard
  • Patent number: 5333296
    Abstract: A pipelined CPU executing instructions of variable length, and referencing memory using various data widths. Macroninstruction pipelining is employed (instead of microinstruction pipelining), with queuing between units of the CPU to allow flexibility in instruction execution times. A wide bandwidth is available for memory access; fetching 64-bit data blocks on each cycle. A hierarchical cache arrangement is used, increasing the likelihood of a cache hit. A writeback cache is used (instead of writethrough) and writeback is allowed to proceed even though other accesses are suppressed due to queues being full. Separate queues are provided for the return data from memory and cache invalidates, yet the order or bus transactions is maintained by a pointer arrangement.
    Type: Grant
    Filed: August 9, 1993
    Date of Patent: July 26, 1994
    Assignee: Digital Equipment Corporation
    Inventors: Gregg Bouchard, Lawrence Chisvin