IP Library › Granted Patent US 11,061,766
Granted Patent B2
US 11,061,766 · App. 16/712,358 · Granted Jul 13, 2021

Fault-tolerant dot product engine

Inventors: Ron M. Roth (Palo Alto, CA); Richard H. Henze (San Carlos, CA)
Assignee: Hewlett Packard Enterprise Development LP
G06F11/1068G06F17/16G11C7/1006G11C7/16G11C13/0002G11C13/004G11C13/0007G11C13/0021G11C13/0069H03M13/05G11C29/52G11C2213/71G11C2213/77
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,061,766
App. No.
16/712,358
Granted
Jul 13, 2021
Kind
B2
Abstract

Examples disclosed herein relate to a fault-tolerant dot product engine. The fault-tolerant dot product engine has a crossbar array having a number l of row lines and a number n of column lines intersecting the row lines to form l×n memory locations, with each memory location having a programmable memristive element and defining a matrix value. A number l of digital-to-analog converters are coupled to the row lines of the crossbar array to receive an input signal and a number n of analog-to-digital converters are coupled to the column lines of the crossbar array to generate an output signal. The output signal is a dot product of the input signal and the matrix values in the crossbar array, wherein a number m<n of the n column lines in the crossbar array are programmed with matrix values used to detect errors in the output signal.

Claims (25)

1. A fault-tolerant computing device for determining a dot product, comprising:

a dot product engine having a number 1 of row lines and a number n of column lines intersecting the row lines to form l×n memory locations in a crossbar array, each memory location comprising a programmable memristive element and defining a matrix value; and

an encoder circuit to generate matrix values for m of the n columns in the dot product engine based on matrix values for a first k of the n columns and according to an error detection capability, wherein n=k+m.

2. The fault-tolerant computing device of claim 1 , wherein the dot product engine comprises:

a number 1 of digital-to-analog converters coupled to the row lines of the crossbar array to receive an input signal; and

a number n of analog-to-digital converters coupled to the column lines of the crossbar array to generate an output signal that is a dot product of the input signal and the matrix values in the crossbar array.

3. The fault-tolerant computing device of claim 2 , further comprising a decoder circuit to detect and correct errors in output signals generated by the dot product engine.

4. The fault-tolerant computing device of claim 1 , wherein the encoder circuit generates the matrix values in the m column lines of the crossbar array from the matrix values in a first number k of column lines of the crossbar array, wherein k=n−m.

5. The fault-tolerant computing device of claim 4 , wherein a matrix consisting of the number 1 of row lines and the number n of column lines multiplied by an input vector u corresponding to the input signal generates a vector c′ of length k, and wherein the matrix values generated by the encoder multiplied by the input vector u generates a vector c″ having redundancy symbols for detecting or correcting errors in c′.

6. The fault-tolerant computing device of claim 5 , further comprising a decoder circuit to detect and correct errors of an output signal by decoding the redundancy symbols.

7. The fault-tolerant computing device of claim 1 , wherein the encoder circuit generates the matrix values according to a desired number of errors to be detected using a Manhattan distance metric.

8. The fault-tolerant computing device of claim 1 , wherein the encoder circuit generates the matrix values according to a desired number of errors to be detected using a Hamming distance metric.

9. A method comprising:

providing a crossbar array having a number 1 of row lines and a number n of column lines intersecting the row lines to form l×n memory locations, each memory location comprising a programmable memristive element and defining a matrix value;

generating, by an encoder, matrix values for m of the n columns in the dot product engine based on matrix values for a first k of the n columns and according to an error detection capability, wherein n=k+m.

10. The method of claim 9 , further comprising receiving an input signal by a number 1 of digital-to analog converters coupled to the row lines of the crossbar array; and

generating an output signal that is a dot product of the input signal and the matrix values in the crossbar array.

11. The method of claim 10 , further comprising detecting and correcting the output signal generated by the dot product engine.

12. The method of claim 9 , further comprising generating, by the encoder circuit, the matrix values in the m column lines of the crossbar array from the matrix values in a first number k of column lines of the crossbar array, wherein k=n−m.

13. The method of claim 12 , further comprising multiplying an input vector u corresponding to the input signal with a matrix including the number 1 of row lines and the number n of column lines to generate a vector c′ of the length k.

14. The method of claim 13 , further comprising generating a vector c″ having redundancy symbols for detecting or correcting errors in c′ by multiplying the input vector u with the matrix values generated by the encoder.

15. The method of claim 14 , further comprising detecting and correcting, by a decoder circuit, errors in output signals generated by the dot product engine.

16. The method of claim 15 , wherein the errors are detected and corrected by decoding the redundancy symbols.

17. The method of claim 9 , wherein the encoder circuit generates the matrix values according to a desired number of errors to be detected using a Manhattan distance metric.

18. The method of claim 9 , wherein the encoder circuit generates the matrix values according to a desired number of errors to be detected using a Hamming distance metric.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2020
From: ROTH, RON M.; HENZE, RICHARD H
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 052341/0787 →
Continuity (2)
Division 15664874 · Jul 31, 2017
Related Publication 20200133997A1 · Apr 30, 2020
Cited By (1)
US 12,494,265