Patents by Inventor John Paul Strachan

John Paul Strachan 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: 10489482
    Abstract: Methods for solving systems of linear equations via utilization of a vector matrix multiplication accelerator are provided. In one aspect, a method includes receiving, from a controller and by the vector matrix multiplication accelerator, an augmented coefficient matrix. The method also comprises implementing Gaussian Elimination using the vector matrix multiplication accelerator by: monitoring, by a register in at least one swap operation, a row order of the augmented coefficient matrix when a first row is swapped with a second row of the augmented coefficient matrix, delivering, by the controller in at least one multiply operation, an analog voltage to a desired row of the augmented coefficient matrix to produce a multiplication result vector, and adding, in at least one add operation, the first row to another desired row of the augmented coefficient matrix to produce an add result vector. Systems and circuits are also provided.
    Type: Grant
    Filed: June 1, 2018
    Date of Patent: November 26, 2019
    Assignee: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
    Inventors: Catherine Graves, John Paul Strachan
  • Patent number: 10488331
    Abstract: The nitrate-nitrogen concentration in soil is estimated based on the nitrate-nitrogen 200 nm absorption peak. In one embodiment, a device measures the attenuation spectrum of a soil-extractor mixture over a wavelength range that includes wavelengths in the vicinity of the 200 nm absorption peak (the spectral operating range) and then determines the nitrate-nitrogen concentration based on the attenuation spectrum.
    Type: Grant
    Filed: July 25, 2017
    Date of Patent: November 26, 2019
    Assignee: WinField Solutions, LLC
    Inventors: Michael John Preiner, Nicholas Carleton Koshnick, Justin Stewart White, John Paul Strachan
  • Patent number: 10482940
    Abstract: Example implementations of the present disclosure relate to improved computational accuracy in a crossbar array. An example system may include a crossbar array, having a plurality of memory elements at junctions, usable in performance of computations. The example system may further include a calculate engine to calculate ideal conductance of memory elements at a plurality of junctions of the crossbar array and a determine engine to determine conductance of the memory elements at the plurality of junctions of the crossbar array. An adjust engine of the example system may be used to adjust conductance of at least one memory element to improve computational accuracy by reduction of a difference between the ideal conductance and the determined conductance of the at least one memory element.
    Type: Grant
    Filed: December 17, 2015
    Date of Patent: November 19, 2019
    Assignee: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
    Inventors: Miao Hu, John Paul Strachan, Zhiyong Li, Stanley Williams
  • Publication number: 20190332708
    Abstract: Filters are represented as k-SAT solutions. A filter query includes a k-SAT clause having literals pertaining to variables. A ternary content-addressable memory (TCAM) has cells programmed in correspondence with the k-SAT solutions. Input column lines of the TCAM that correspond to variables to which the literals of the k-SAT clause pertain are set in accordance with inversions of the literals. Input column lines of the TCAM that correspond to variables to which no literal of the k-SAT clause pertains are set in accordance with a “don't care” state. Responsive to any output match row line of the TCAM being set, the filter query is indicated as failing to satisfy the filters. Responsive to no output match row line of the TCAM being set, the filter query is indicated as satisfying the filters.
    Type: Application
    Filed: April 30, 2018
    Publication date: October 31, 2019
    Inventors: John Paul Strachan, Catherine Graves
  • Publication number: 20190324205
    Abstract: Systems and methods are provided for processing an optical signal. An example system may include a source disposed on a substrate and capable of emitting the optical signal. A first waveguide is formed in the substrate to receive the optical signal. A first coupler is disposed on the substrate to receive a reflected portion of the optical signal. A second waveguide is formed in the substrate to receive the reflected portion from the first coupler. A second coupler is formed in the substrate to mix the optical signal and the reflected portion to form a mixed signal. Photodetectors are formed in the substrate to convert the mixed signal to an electrical signal. A processor is electrically coupled to the substrate and programmed to convert the electrical signal from a time domain to a frequency domain to determine a phase difference between the optical signal and the reflected portion.
    Type: Application
    Filed: April 23, 2018
    Publication date: October 24, 2019
    Inventors: Amit S. Sharma, John Paul Strachan, Marco Fiorentino
  • Patent number: 10452472
    Abstract: A dot-product engine (DPE) implemented on an integrated circuit as a crossbar array (CA) includes memory elements comprising a memristor and a transistor in series. A crossbar with N rows, M columns may have N×M memory elements. A vector input for N voltage inputs to the CA and a vector output for M voltage outputs from the CA. An analog-to-digital converter (ADC) and/or a digital-to-analog converter (DAC) may be coupled to each input/output register. Values representing a first matrix may be stored in the CA. Voltages/currents representing a second matrix may be applied to the crossbar. Ohm's Law and Kirchoff's Law may be used to determine values representing the dot-product as read from the crossbar. A portion of the crossbar may perform Error-correcting Codes (ECC) concurrently with calculating the dot-product results. ECC codes may be used to only indicate detection of errors, or for both detection and correction of results.
    Type: Grant
    Filed: June 4, 2018
    Date of Patent: October 22, 2019
    Assignee: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
    Inventors: Catherine Graves, John Paul Strachan, Dejan S. Milojicic, Paolo Faraboschi, Martin Foltin, Sergey Serebryakov
  • Publication number: 20190294416
    Abstract: According to examples, an apparatus may include an arithmetic logic unit (ALU) to apply a modification function to a digital input signal to generate a modified digital input signal, a digital-to-analog converter (DAC) to convert the modified digital input signal to an analog input signal, a crossbar array to apply an operation on the analog input signal to generate an analog output signal, and an analog-to-digital converter (ADC). The ADC may modify the analog output signal to compensate for application of the modification function to the digital input signal, may convert the modified analog output signal to a digital output signal, and may output the digital output signal.
    Type: Application
    Filed: March 22, 2018
    Publication date: September 26, 2019
    Applicant: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
    Inventors: Miao HU, John Paul Strachan
  • Patent number: 10424378
    Abstract: In one example in accordance with the present disclosure a control circuit is described. The control circuit includes a source following component to receive an input voltage and output a switching voltage. The circuit also includes an input leg of a current mirror coupled to the source following component. The input leg of the current mirror replicates the switching voltage to an output leg of the current mirror of a memristive bit cell. The circuit also includes a number of current control components. At least one of the current control components enforces a constant current through the source following component and other current control components maintain the input leg of the current mirror and the output leg of the current mirror at the same current.
    Type: Grant
    Filed: February 24, 2016
    Date of Patent: September 24, 2019
    Assignee: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
    Inventors: Brent Buchanan, Le Zheng, John Paul Strachan
  • Patent number: 10418103
    Abstract: According to examples, an apparatus may include a ternary content addressable memory (TCAM) including a plurality of TCAM bit cells connected in a row along a match line. Each of the TCAM bit cells may store a bit of a TCAM word and the TCAM bit cells may drive a digital signal over the match line in response to a search word matching the TCAM word. The apparatus may include a resistive random-access memory (RRAM) comprising a row of RRAM bit cells connected to the TCAM via the match line. Each of the RRAM bit cells may store a bit of a RRAM word. The RRAM bit cells may output the RRAM word in response to the TCAM bit cells driving the digital signal over the match line.
    Type: Grant
    Filed: April 20, 2018
    Date of Patent: September 17, 2019
    Assignee: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
    Inventors: Brent Buchanan, John Paul Strachan, Le Zheng, Catherine Graves
  • Patent number: 10419346
    Abstract: An input string is mapped to a vector of input voltages. The vector is applied to input rows of a dot product engine having memristor elements at intersections of the input rows and output columns. A hash of the input string is determined based on output of the dot product engine as to which the vector of input voltages have been applied to the input rows thereof. An output column may be selected from output voltages of the columns, and the hash determined from the selected column. The output voltage of a column is equal to a sum of a product of the input voltage in each input row and a value of the memristor element at the intersection of the input row and the column. The hash can be used within a filtering technique applied to the input string, such as in the context of network security.
    Type: Grant
    Filed: April 30, 2018
    Date of Patent: September 17, 2019
    Assignee: HEWLETT PACKARD ENTERPRISE DEVELOPMENT L.P.
    Inventors: John Paul Strachan, Catherine Graves, Suhas Kumar
  • Patent number: 10410716
    Abstract: A crossbar array, comprises a plurality of row lines, a plurality of column lines intersecting the plurality of row lines at a plurality of intersections, a plurality of junctions coupled between the plurality of row lines and the plurality of column lines at a portion of the plurality of intersections, and a plurality of diagonal control lines coupled to the plurality of junctions. Each junction comprises a resistive memory element and a transistor, and the junctions are positioned to calculate a matrix multiplication of a first matrix and a second matrix.
    Type: Grant
    Filed: September 25, 2015
    Date of Patent: September 10, 2019
    Assignee: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
    Inventors: Miao Hu, Zhiyong Li, John Paul Strachan
  • Patent number: 10380386
    Abstract: A crossbar array includes a number of memory elements. A vector input register has N voltage inputs to the crossbar array. A vector output register has M voltage outputs from the crossbar array. An analog-to-digital converter (ADC) is electronically coupled to the vector output register. A digital-to-analog converter (DAC) is electronically coupled to the vector input register. A clustering processor is electronically coupled to the ADC and to the DAC. The clustering processor is configured to program columns of the crossbar array with a set of k cluster center values; apply voltages to rows of the crossbar array where the applied voltages represent a set of data values; and determine a minimum distance of each data value to each k cluster center values based on the voltage output from the output register of each of the plurality of the programmed columns.
    Type: Grant
    Filed: April 30, 2018
    Date of Patent: August 13, 2019
    Assignee: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
    Inventors: John Paul Strachan, Catherine Graves, Suhas Kumar
  • Publication number: 20190235458
    Abstract: An example finite state machine may include a content-addressable memory. The content-addressable memory may include blocks that respectively store input-terms of the finite state machine. The finite state machine may be configured to, for each received input: select a subset of the blocks of the content addressable memory to enable for searching, the subset being selected based on a current state of the finite state machine, and determine a next state of the finite state machine by searching the currently enabled subset of blocks of the content addressable memory based on the input.
    Type: Application
    Filed: March 14, 2019
    Publication date: August 1, 2019
    Inventors: Brent Buchanan, John Paul Strachan, Le Zheng
  • Publication number: 20190237137
    Abstract: In one example in accordance with the present disclosure a device is described. The device includes a cross-bar array of memristive elements. Each memristive element has a conductance value. The device also includes a column of offset elements. An offset element is coupled to a row of memristive elements and has a conductance value. The device also includes a number of accumulation elements. An accumulation element is coupled to a column of memristive elements. The accumulation element collects an intermediate output from the column and subtracts from the intermediate output an output from the column of offset elements.
    Type: Application
    Filed: January 26, 2016
    Publication date: August 1, 2019
    Inventors: Brent Buchanan, Le Xheng, John Paul Strachan
  • Publication number: 20190236111
    Abstract: Example implementations of the present disclosure relate to in situ transposition of the data values in a memory array. An example system may include a non-volatile memory (NVM) array, including a plurality of NVM elements, usable in performance of computations. The example system may include an input engine to input a plurality of data values for storage by a corresponding plurality of original NVM elements. The example system may further include a transposition engine to direct performance of the in situ transposition such that the plurality of data values remains stored by the original NVM elements.
    Type: Application
    Filed: January 27, 2016
    Publication date: August 1, 2019
    Inventors: Naveen Muralimanohar, Benjamin Feinberg, John Paul Strachan
  • Publication number: 20190214085
    Abstract: A memristive dot-product system for vector processing is described. The memristive dot-product system includes a crossbar array having a number of memory elements. Each memory element includes a memristor. Each memory element includes a transistor. The system also includes a vector input register. The system also includes a vector output register.
    Type: Application
    Filed: March 14, 2019
    Publication date: July 11, 2019
    Inventors: Jianhua Yang, Miao Hu, John Paul Strachan, Ning Ge
  • Patent number: 10332592
    Abstract: Examples herein relate to hardware accelerators for calculating node values of neural networks. An example hardware accelerator may include a crossbar array programmed to calculate node values of a neural network and a current comparator to compare an output current from the crossbar array to a threshold current according to an update rule to generate new node values. The crossbar array has a plurality of row lines, a plurality of column lines, and a memory cell coupled between each unique combination of one row line and one column line, where the memory cells are programmed according to a weight matrix. The plurality of row lines are to receive an input vector of node values, and the plurality of column lines are to deliver an output current to be compared with the threshold current.
    Type: Grant
    Filed: March 11, 2016
    Date of Patent: June 25, 2019
    Assignee: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
    Inventors: John Paul Strachan, Brent Buchanan, Le Zheng
  • Publication number: 20190189180
    Abstract: A method of obtaining a dot product includes applying a programming signal to a number of capacitive memory devices coupled at a number of junctions formed between a number of row lines and a number of column lines. The programming signal defines a number of values within a matrix. The method further includes applying a vector signal. The vector signal defines a number of vector values to be applied to the capacitive memory devices.
    Type: Application
    Filed: February 22, 2019
    Publication date: June 20, 2019
    Inventors: NING GE, JOHN PAUL STRACHAN, JIANHUA YANG, MIAO HU
  • Publication number: 20190189174
    Abstract: Example implementations of the present disclosure relate to improved computational accuracy in a crossbar array. An example system may include a crossbar array, having a plurality of memory elements at junctions, usable in performance of computations. The example system may further include a calculate engine to calculate ideal conductance of memory elements at a plurality of junctions of the crossbar array and a determine engine to determine conductance of the memory elements at the plurality of junctions of the crossbar array. An adjust engine of the example system may be used to adjust conductance of at least one memory element to improve computational accuracy by reduction of a difference between the ideal conductance and the determined conductance of the at least one memory element.
    Type: Application
    Filed: December 17, 2017
    Publication date: June 20, 2019
    Inventors: Miao HU, John Paul STRACHAN, Zhiyong LI, Stanley WILLIAMS
  • Patent number: 10325655
    Abstract: A temperature compensation circuit may comprise a temperature sensor to sense a temperature signal of a memristor crossbar array, a signal converter to convert the temperature signal to an electrical control signal, and a voltage compensation circuit to determine a compensation voltage based on the electrical control signal and pre-calibrated temperature data of the memristor crossbar array.
    Type: Grant
    Filed: April 10, 2015
    Date of Patent: June 18, 2019
    Assignee: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
    Inventors: Ning Ge, Jianhua Yang, Miao Hu, John Paul Strachan