Patents Examined by Matthew Sandifer
  • Patent number: 9990181
    Abstract: The present disclosure includes apparatuses and methods for random number generation. An example method includes operating a sense amplifier of a memory device to perform sensing a first voltage on a first sense line coupled to the sense amplifier and sensing a second voltage on a complementary second sense line coupled to the sense amplifier. The example method further includes generating a random number by detecting a voltage differential between the first sense line and the complementary second sense line.
    Type: Grant
    Filed: August 3, 2016
    Date of Patent: June 5, 2018
    Assignee: Micron Technology, Inc.
    Inventors: Patrick A. La Fratta, Jesse F. Lovitt, Glen E. Hush, Timothy P. Finkbeiner
  • Patent number: 9986187
    Abstract: A method is described that includes, on an image processor having a two dimensional execution lane array and a two dimensional shift register array, repeatedly shifting first content of multiple rows or columns of the two dimensional shift register array and repeatedly executing at least one instruction between shifts that operates on the shifted first content and/or second content that is resident in respective locations of the two dimensional shift register array that the shifted first content has been shifted into.
    Type: Grant
    Filed: June 20, 2017
    Date of Patent: May 29, 2018
    Assignee: Google LLC
    Inventors: Albert Meixner, Daniel Frederic Finchelstein, David Patterson, William R. Mark, Jason Rupert Redgrave, Ofer Shacham
  • Patent number: 9971736
    Abstract: Embodiments include performing sparse matrix-matrix multiplication. Aspects include receiving a first matrix and a second matrix, providing a pseudo-space for the first and second matrices, and defining pseudo-space segments and assigning the pseudo-space segments to certain processes. Aspects also include assigning matrix elements of the first and second matrix to pseudo-space segments using a midpoint method thereby assigning the matrix elements to processes associated with the pseudo-space segments, assigning a result matrix element of a result matrix to a pseudo-space segment using a midpoint method thereby assigning the result matrix element to a further process associated with the pseudo-space segment and transmitting matrix elements of the first and second matrix required to establish a result matrix element to the further process which processes the result matrix element.
    Type: Grant
    Filed: November 19, 2015
    Date of Patent: May 15, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Alessandro Curioni, Teodoro Laino, Valery Weber
  • Patent number: 9971564
    Abstract: Memristor-based adders using memristors-as-drivers (MAD) gates. As a result of employing MAD gates in memristor-based adders, such as ripple carry adders, carry select adders, conditional sum adders and carry lookahead adders, the number of delay steps may be less than half than the number of delay steps required in traditional CMOS implementations of adders. Furthermore, by using MAD gates, memristor-based adders can be implemented with less complexity (e.g., fewer memristors and drivers). As a result, by the memristor-based adders using MAD gates, the speed and complexity of a wide variety of arithmetic operations is improved.
    Type: Grant
    Filed: February 2, 2018
    Date of Patent: May 15, 2018
    Assignee: Board of Regents, The University of Texas System
    Inventors: Earl Swartzlander, Lauren Guckert
  • Patent number: 9971566
    Abstract: A method of identifying a memory cell state for use in random number generation (RNG) includes comparing at least one physical parameter of a memory cell with a threshold value of the physical parameter and identifying a relationship of the at least one physical parameter of the memory cell to the threshold value. A state of 0, 1, or X is associated to the memory cell based on the relationship of the at least one physical parameter to the threshold value. At least one state storage memory cell is programmed with a value corresponding with the associated 0, 1, or X state. The programmed value of the at least one state storage memory cell is included in an RNG data stream.
    Type: Grant
    Filed: May 9, 2016
    Date of Patent: May 15, 2018
    Assignee: Arizona Board of Regents acting for and on behalf of Northern Arizona University
    Inventor: Bertrand Cambou
  • Patent number: 9959093
    Abstract: A binary fused multiply-add floating-point unit configured to operate on an addend, a multiplier, and a multiplicand. The unit is configured to receive as the addend an unrounded result of a prior operation executed in the unit via an early result feedback path; to perform an alignment shift of the unrounded addend on an unrounded exponent and an unrounded mantissa; as well as perform a rounding correction for the addend in parallel to the actual alignment shift, responsive to a rounding-up signal.
    Type: Grant
    Filed: June 29, 2016
    Date of Patent: May 1, 2018
    Assignee: International Business Machines Corporation
    Inventors: Michael Klein, Klaus M. Kroener, Cédric Lichtenau, Silvia Melitta Mueller
  • Patent number: 9953390
    Abstract: Signal processing devices and methods estimate transforms between signals using a least squares technique. From a seed set of transform candidates, a direct least squares method applies a seed transform candidate to a reference signal and then measures correlation between the transformed reference signal and a suspect signal. For each candidate, update coordinates of reference signal features are identified in the suspect signal and provided as input to a least squares method to compute an update to the transform candidate. The method iterates so long as the update of the transform provides a better correlation. At the end of the process, the method identifies a transform or set of top transforms based on a further analysis of correlation, as well as other results.
    Type: Grant
    Filed: November 9, 2015
    Date of Patent: April 24, 2018
    Assignee: Digimarc Corporation
    Inventors: Ravi K. Sharma, John D. Lord, Robert G. Lyons
  • Patent number: 9952829
    Abstract: A binary fused multiply-add floating-point unit configured to operate on an addend, a multiplier, and a multiplicand. The unit is configured to receive as the addend an unrounded result of a prior operation executed in the unit via an early result feedback path; to perform an alignment shift of the unrounded addend on an unrounded exponent and an unrounded mantissa; as well as perform a rounding correction for the addend in parallel to the actual alignment shift, responsive to a rounding-up signal.
    Type: Grant
    Filed: February 1, 2016
    Date of Patent: April 24, 2018
    Assignee: International Business Machines Corporation
    Inventors: Michael Klein, Klaus M. Kroener, Cédric Lichtenau, Silvia Melitta Mueller
  • Patent number: 9946513
    Abstract: A spin unit provided with a memory cell that stores a value of one spin of an Ising model, a memory cell that stores an interaction coefficient from an adjacent spin which interacts with the corresponding spin, a memory cell that stores an external magnetic field coefficient of the one spin and circuits that determine the next state of the one spin on the basis of a product of a value of each adjacent spin and the corresponding interaction coefficient and the external magnetic field coefficient is configured, the semiconductor device is provided with a spin array where the plural spin units are arranged and connected on a two-dimensional plane on a semiconductor substrate, a random number generator and a bit regulator, the bit regulator operates output of the random number generator and supplies a random bit to all spin units in the spin array via one wire.
    Type: Grant
    Filed: July 9, 2014
    Date of Patent: April 17, 2018
    Assignee: HITACHI, LTD.
    Inventors: Masato Hayashi, Masanao Yamaoka, Chihiro Yoshimura
  • Patent number: 9946687
    Abstract: A method for generating a Fast Fourier Transform (FFT) is disclosed. The method includes providing an input signal to two or more fixed-point FFT algorithms that apply different scaling to reduce growth of their output, resulting in each of the FFT algorithms yielding an array of FFT output values characterized by a different gain. The method further includes determining, on a per-FFT output value basis, whether an output value of an FFT algorithm with a relatively high gain was clipped due to saturation. If not, then the output value of that FFT algorithm is included in the final FFT. Otherwise, an output value of an FFT algorithm with a lower gain is included in the final FFT. Reconstructing the final FFT by such combination of values from different FFTs allows benefiting from the advantages of both higher- and lower-gain FFTs while avoiding or minimizing their disadvantages.
    Type: Grant
    Filed: January 28, 2016
    Date of Patent: April 17, 2018
    Assignee: ANALOG DEVICES, INC.
    Inventor: Boris Lerner
  • Patent number: 9940102
    Abstract: The disclosed herein related to a method for generating a partial stochastic rounding operation executed by a processor coupled to a memory. The method includes generating an intermediate result and causing a random number generator to generate a random number. The method also includes adding the random number to lower significant bits of the intermediate result to perturb any incrementing of most significant bits of the intermediate result to produce a resulting sum. The method also includes truncating the resulting sum into a final result. According to other embodiments, the above method can be implemented in a system or computer program product.
    Type: Grant
    Filed: January 4, 2016
    Date of Patent: April 10, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jonathan D. Bradbury, Steven R. Carlough, Brian R. Prasky, Eric M. Schwarz
  • Patent number: 9933997
    Abstract: A method and apparatus are provided for manufacturing integrated circuits performing invariant integer division x/d. A desired rounding mode is provided and an integer triple (a,b,k) for this rounding mode is derived. Furthermore, a set of conditions for the rounding mode is derived. An RTL representation is then derived using the integer triple. From this a hardware layout can be derived and an integrated circuit manufactured with the derived hardware layout. When the integer triple is derived a minimum value of k for the desired rounding mode and set of conditions is also derived.
    Type: Grant
    Filed: September 26, 2012
    Date of Patent: April 3, 2018
    Assignee: Imagination Technologies Limited
    Inventors: Theo Alan Drane, Wai-Chuen Cheung
  • Patent number: 9933998
    Abstract: In a novel computation device, a plurality of partial product generators is communicatively coupled to a binary number multiplier. The binary number is partitioned in the computation device into non-overlapping subsets of binary bits and each subset is coupled to one of the plurality of partial product generators. Each partial product generator, upon receiving a subset of binary bits representing a number, generates a multiplication product of the number and a predetermined constant. The multiplication products from all partial product generators are summed to generate the final product between the predetermined constant and the binary number. The partial product generators are constructed by logic gates and wires connected the logic gates including a AND gate. The partial product generators are free of memory elements.
    Type: Grant
    Filed: February 6, 2017
    Date of Patent: April 3, 2018
    Inventors: Kuo-Tseng Tseng, Parkson Wong
  • Patent number: 9928037
    Abstract: Hardware logic arranged to perform modulo calculation with respect to a constant value b is described. The modulo calculation is based on a finite polynomial ring with polynomial coefficients in GF(2). This ring is generated using a generator polynomial which has a repeat period (or cycle length) which is a multiple of b. The hardware logic comprises an encoding block which maps an input number into a plurality of encoded values within the ring and a decoding block which maps an output number back from the ring into binary. A multiplication block which comprises a tree of multipliers (e.g. a binary tree) takes the encoded values and multiplies groups (e.g. pairs) of them together within the ring to generate intermediate values. Groups (e.g. pairs) of these intermediate values are then iteratively multiplied together within the ring until there is only one intermediate value generated which is the output number.
    Type: Grant
    Filed: April 13, 2016
    Date of Patent: March 27, 2018
    Assignee: Imagination Technologies Limited
    Inventor: Simon Fenney
  • Patent number: 9921808
    Abstract: Memristor-based adders using memristors-as-drivers (MAD) gates. As a result of employing MAD gates in memristor-based adders, such as ripple carry adders, carry select adders, conditional sum adders and carry lookahead adders, the number of delay steps may be less than half than the number of delay steps required in traditional CMOS implementations of adders. Furthermore, by using MAD gates, memristor-based adders can be implemented with less complexity (e.g., fewer memristors and drivers). As a result, by the memristor-based adders using MAD gates, the speed and complexity of a wide variety of arithmetic operations is improved.
    Type: Grant
    Filed: June 2, 2017
    Date of Patent: March 20, 2018
    Assignee: Board of Regents, The University of Texas System
    Inventors: Earl Swartzlander, Lauren Guckert
  • Patent number: 9916131
    Abstract: A two-operand adder circuit is provided. The two-operand adder circuit may be configured to receive a bit of a second addend, a carry-in bit, and one or more bits encoding a bit of a first addend, and to provide an output representing a sum of the bit of the first addend, the bit of the second addend, and the carry-in bit.
    Type: Grant
    Filed: October 2, 2014
    Date of Patent: March 13, 2018
    Assignee: The Penn State Research Foundation
    Inventor: Eugene George Walters, III
  • Patent number: 9910826
    Abstract: Implementing a 1D stencil code via SIMD instructions on a computer with vector registers having N processing elements (PEs), among them a set of coefficient vector registers, a set of at most N data vector registers, and a set of result vector registers. The M stencil coefficients are loaded in a particular pattern into M+N?1 coefficient vector registers. Successive sets of N consecutive data values are received, and each data value of a set is loaded into all PEs of a data vector register of the set of data vector registers. The result vector registers accumulate sums of products of consecutive coefficient vector registers with corresponding data vector registers. The contents of any result vector register containing a sum of all coefficient vector register-data vector register products is output, and the result vector register is reused for accumulating.
    Type: Grant
    Filed: March 27, 2015
    Date of Patent: March 6, 2018
    Assignee: International Business Machines Corporation
    Inventors: Leopold Grinberg, Karen A. Magerlein
  • Patent number: 9898440
    Abstract: A calculation engine computes equation(s) based upon dependencies between variables, both initially input and as calculated from various fragmented sub expressions. The calculation engine accommodates relationships between equations, with output variable(s) of one equation possibly serving as input to another equation in a chain. Initially, the calculation engine sorts equations based upon their relationship to each other and to the input variables. The calculation engine next fragments the equations' expressions into various sub expressions. This fragmenting may be according to an order of operations (e.g., brackets/parentheses, then exponents/powers, then multiplication/division). Sub expressions ultimately resulting from fragmentation process, may comprise unary expressions, binary expressions, or expressions involving three or more operations at a same level of priority. Upon rationalizing an order of the fragments, the engine may evaluate units (e.g.
    Type: Grant
    Filed: February 25, 2015
    Date of Patent: February 20, 2018
    Assignee: SAP SE
    Inventor: Aleksandar Petkov
  • Patent number: 9891887
    Abstract: A microprocessor prepares a fused multiply-accumulate operation of a form ±A*B±C for execution by issuing first and second multiply-accumulate microinstructions to one or more instruction execution units to complete the fused multiply-accumulate operation. The first multiply-accumulate microinstruction causes an unrounded nonredundant result vector to be generated from a first accumulation of a selected one of (a) the partial products of A and B or (b) C with the partial products of A and B. The second multiply-accumulate microinstruction causes performance of a second accumulation of C with the unrounded nonredundant result vector, if the first accumulation did not include C. The second multiply-accumulate microinstruction also causes a final rounded result to be generated from the unrounded nonredundant result vector, wherein the final rounded result is a complete result of the fused multiply-accumulate operation.
    Type: Grant
    Filed: June 24, 2015
    Date of Patent: February 13, 2018
    Assignee: VIA ALLIANCE SEMICONDUCTOR CO., LTD
    Inventor: Thomas Elmer
  • Patent number: 9891886
    Abstract: A microprocessor performs a fused multiply-accumulate operation of a form ±A*B±C. An evaluation is made to detect whether values of A, B, and/or C meet a sufficient condition for performing a joint accumulation of C with partial products of A and B. If so, a joint accumulation of C is done with partial products of A and B and result of the joint accumulation is rounded. If not, then a primary accumulation is done of the partial products of A and B. This generates an unrounded non-redundant result of the primary accumulation. The unrounded result is then truncated to generate an unrounded non-redundant intermediate result vector that excludes one or more least significant bits of the unrounded non-redundant result. A secondary accumulation is then performed, adding or subtracting C to the unrounded non-redundant intermediate result vector. Finally, the result of the secondary accumulation is rounded.
    Type: Grant
    Filed: June 24, 2015
    Date of Patent: February 13, 2018
    Assignee: VIA ALLIANCE SEMICONDUCTOR CO., LTD
    Inventor: Thomas Elmer