Patents by Inventor Michael D. Ruehle

Michael D. Ruehle 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: 8219508
    Abstract: Systems and methods for compressing state machine instructions are disclosed herein. In one embodiment, the method comprises associating input characters associated with states to respective indices, where each index comprises information indicative of a particular transition instruction.
    Type: Grant
    Filed: July 2, 2008
    Date of Patent: July 10, 2012
    Assignee: LSI Corporation
    Inventors: Robert James McMillen, Michael D. Ruehle
  • Patent number: 8190738
    Abstract: A system and method for hardware processing of regular expressions is disclosed. A register bank is loaded with state information associated with one or more states of a state machine. State information such as transitions and spin counts are updated as characters of an input data stream are processed. A crossbar is used to interconnect the states stored in the register bank.
    Type: Grant
    Filed: January 29, 2011
    Date of Patent: May 29, 2012
    Assignee: LSI Corporation
    Inventor: Michael D. Ruehle
  • Publication number: 20110125695
    Abstract: A system and method for hardware processing of regular expressions is disclosed. A register bank is loaded with state information associated with one or more states of a state machine. State information such as transitions and spin counts are updated as characters of an input data stream are processed. A crossbar is used to interconnect the states stored in the register bank.
    Type: Application
    Filed: January 29, 2011
    Publication date: May 26, 2011
    Inventor: Michael D. Ruehle
  • Patent number: 7899904
    Abstract: A system and method for hardware processing of regular expressions is disclosed. A register bank is loaded with state information associated with one or more states of a state machine. State information such as transitions and spin counts are updated as characters of an input data stream are processed. A crossbar is used to interconnect the states stored in the register bank.
    Type: Grant
    Filed: April 30, 2008
    Date of Patent: March 1, 2011
    Assignee: LSI Corporation
    Inventor: Michael D. Ruehle
  • Patent number: 7788206
    Abstract: Compressing state transition instructions may achieve a reduction in the binary instruction footprint of a state machine. In certain embodiments, the compressed state transition instructions are used by state machine engines that use one or more caches in order to increase the speed at which the state machine engine can execute a state machine. In addition to reducing the instruction footprint, the use of compressed state transition instructions as discussed herein may also increase the cache hit rate of a cache-based state machine engine, resulting in an increase in performance.
    Type: Grant
    Filed: April 30, 2008
    Date of Patent: August 31, 2010
    Assignee: LSI Corporation
    Inventors: Robert James McMillen, Michael D. Ruehle
  • Patent number: 7564379
    Abstract: Several code detectors in parallel simultaneously examine varying overlapping segments of a data stream containing variable length codes, referred to as a data window. The data window segments directly address memory structures within each of the code detectors without any previous logic stages. Each code detector is responsible for a range of code lengths, and ignores data window bits that are not relevant to its code length range. Each code detector outputs a possible result to a layer of logic that selects the possible result of the single code detector which contains result data corresponding to a variable length code in the data window.
    Type: Grant
    Filed: October 16, 2007
    Date of Patent: July 21, 2009
    Assignee: LSI Corporation
    Inventor: Michael D. Ruehle
  • Publication number: 20090063825
    Abstract: Systems and methods for compressing state machine instructions are disclosed herein. In one embodiment, the method comprises associating input characters associated with states to respective indices, where each index comprises information indicative of a particular transition instruction.
    Type: Application
    Filed: July 2, 2008
    Publication date: March 5, 2009
    Inventors: Robert James McMillen, Michael D. Ruehle
  • Publication number: 20080270764
    Abstract: Compressing state transition instructions may achieve a reduction in the binary instruction footprint of a state machine. In certain embodiments, the compressed state transition instructions are used by state machine engines that use one or more caches in order to increase the speed at which the state machine engine can execute a state machine. In addition to reducing the instruction footprint, the use of compressed state transition instructions as discussed herein may also increase the cache hit rate of a cache-based state machine engine, resulting in an increase in performance.
    Type: Application
    Filed: April 30, 2008
    Publication date: October 30, 2008
    Inventors: Robert James McMillen, Michael D. Ruehle
  • Publication number: 20080270342
    Abstract: A system and method for hardware processing of regular expressions is disclosed. A register bank is loaded with state information associated with one or more states of a state machine. State information such as transitions and spin counts are updated as characters of an input data stream are processed. A crossbar is used to interconnect the states stored in the register bank.
    Type: Application
    Filed: April 30, 2008
    Publication date: October 30, 2008
    Applicant: Tarari, Inc.
    Inventor: Michael D. Ruehle
  • Publication number: 20080144728
    Abstract: Several code detectors in parallel simultaneously examine varying overlapping segments of a data stream containing variable length codes, referred to as a data window. The data window segments directly address memory structures within each of the code detectors without any previous logic stages. Each code detector is responsible for a range of code lengths, and ignores data window bits that are not relevant to its code length range. Each code detector outputs a possible result to a layer of logic that selects the possible result of the single code detector which contains result data corresponding to a variable length code in the data window.
    Type: Application
    Filed: October 16, 2007
    Publication date: June 19, 2008
    Applicant: Tarari, Inc.
    Inventor: Michael D. Ruehle
  • Patent number: 7283591
    Abstract: Several code detectors in parallel simultaneously examine varying overlapping segments of a data stream containing variable length codes, referred to as a data window. The data window segments directly address memory structures within each of the code detectors without any previous logic stages. Each code detector is responsible for a range of code lengths, and ignores data window bits that are not relevant to its code length range. Each code detector outputs a possible result to a layer of logic that selects the possible result of the single code detector which contains result data corresponding to a variable length code in the data window.
    Type: Grant
    Filed: August 7, 2003
    Date of Patent: October 16, 2007
    Assignee: Tarari, Inc.
    Inventor: Michael D. Ruehle
  • Patent number: 7177301
    Abstract: A method of constructing a permuting network. A configuration for layers of a permuting network is selected based on a set of integer factors of N, the number of signals to be permuted, and on pre-selected types of switches. The permuting network is constructed in layers by using the pre-selected types of switches based on the selected configuration.
    Type: Grant
    Filed: December 27, 2001
    Date of Patent: February 13, 2007
    Assignee: Intel Corporation
    Inventor: Michael D. Ruehle
  • Patent number: 6922717
    Abstract: A method and apparatus for performing modular multiplication is disclosed. An apparatus in accordance with one embodiment of the present invention includes a modular multiplier including a plurality of independent computation channels, where the plurality of independent computation channels includes a first computation channel and a second computation channel, and a coupling device interposed between the first computation channel and the second computation channel to receive a control signal and to couple the first computation channel to the second computation channel in response to a receipt of the control signal.
    Type: Grant
    Filed: September 28, 2001
    Date of Patent: July 26, 2005
    Assignee: Intel Corporation
    Inventor: Michael D. Ruehle
  • Publication number: 20040190635
    Abstract: Several code detectors in parallel simultaneously examine varying overlapping segments of a data stream containing variable length codes, referred to as a data window. The data window segments directly address memory structures within each of the code detectors without any previous logic stages. Each code detector is responsible for a range of code lengths, and ignores data window bits that are not relevant to its code length range. Each code detector outputs a possible result to a layer of logic that selects the possible result of the single code detector which contains result data corresponding to a variable length code in the data window.
    Type: Application
    Filed: August 7, 2003
    Publication date: September 30, 2004
    Inventor: Michael D. Ruehle
  • Patent number: 6748412
    Abstract: Processing exponents with a square-and-multiply technique that uses a flexible number of bits in the multiply stages. Multiple bits of the exponent can be handled in a single multiply operation, thus reducing the total number of multiply operations required to raise a number to a specified power. By examining prior and subsequent bits in the exponent in addition to the current bit, the quantity of bits that are handled in a particular multiply operation can be adjusted to the particular pattern of 1's and 0's in the exponent.
    Type: Grant
    Filed: September 26, 2001
    Date of Patent: June 8, 2004
    Assignee: Intel Corporation
    Inventor: Michael D. Ruehle
  • Patent number: 6732133
    Abstract: A linear systolic array Montgomery multiplier circuit that concurrently processes two separate Montgomery multiplications on alternate clock cycles, without a requirement to have any common parameters between the two multiplications. Multiples of two different parameters are stored in storage elements for each multiplication. Two sets of these multiples, one set for each of the two multiplications, are stored in separate storage banks and accessed on alternate clock cycles by each processing element in the array. Two sequences of control codes for the two multiplications are interleaved as they are fed into a first processing element.
    Type: Grant
    Filed: September 28, 2001
    Date of Patent: May 4, 2004
    Assignee: Intel Corporation
    Inventor: Michael D. Ruehle
  • Patent number: 6625631
    Abstract: A Montgomery multiplier circuit with a chain of processing elements uses less circuit logic in each processing element by propagating an initial parameter through registers used for other purposes. An accumulation register in each processing element is used to propagate the initial parameter through the chain. In one embodiment the initial parameter is first propagated through address registers until it reaches the end of the chain, and is then looped back through the accumulation registers in the reverse direction. In one embodiment, multiples of at least one parameter used in a Montgomery multiplication are pre-calculated in the processing elements of the Montgomery multiplier using the same logic elements used in performing the Montgomery multiplication.
    Type: Grant
    Filed: September 28, 2001
    Date of Patent: September 23, 2003
    Assignee: Intel Corporation
    Inventor: Michael D. Ruehle
  • Publication number: 20030123439
    Abstract: A method of constructing a permuting network. A configuration for layers of a permuting network is selected based on a set of integer factors of N, the number of signals to be permuted, and on pre-selected types of switches. The permuting network is constructed in layers by using the pre-selected types of switches based on the selected configuration.
    Type: Application
    Filed: December 27, 2001
    Publication date: July 3, 2003
    Inventor: Michael D. Ruehle
  • Publication number: 20030093453
    Abstract: Processing exponents with a square-and-multiply technique that uses a flexible number of bits in the multiply stages. Multiple bits of the exponent can be handled in a single multiply operation, thus reducing the total number of multiply operations required to raise a number to a specified power. By examining prior and subsequent bits in the exponent in addition to the current bit, the quantity of bits that are handled in a particular multiply operation can be adjusted to the particular pattern of 1's and 0's in the exponent.
    Type: Application
    Filed: September 26, 2001
    Publication date: May 15, 2003
    Inventor: Michael D. Ruehle
  • Publication number: 20030065694
    Abstract: A linear systolic array Montgomery multiplier circuit that concurrently processes two separate Montgomery multiplications on alternate clock cycles, without a requirement to have any common parameters between the two multiplications. Multiples of two different parameters are stored in storage elements for each multiplication. Two sets of these multiples, one set for each of the two multiplications, are stored in separate storage banks and accessed on alternate clock cycles by each processing element in the array. Two sequences of control codes for the two multiplications are interleaved as they are fed into a first processing element.
    Type: Application
    Filed: September 28, 2001
    Publication date: April 3, 2003
    Inventor: Michael D. Ruehle