Resistive Memory Crossbar for Matrix-Vector Multiplication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current Von Neumann architecture is inefficient for performing accurate and efficient matrix-vector computations in cognitive computing, particularly due to the separation of computing and memory units, which hinders the performance of cognitive computers.
Innovation Solution
A device using a memory crossbar array with programmable resistive elements and a signal generator to perform matrix-vector multiplications, where the resistive elements' conductance values are programmed and read out to facilitate efficient matrix-vector operations, allowing for fast, low-power, and scalable computations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If Von Neumann architecture is used with separated computing and memory units, then memory can be implemented with standard technologies, but computational efficiency for matrix-vector operations deteriorates due to data shuttling requirements
Solution Approach 1:
The patent merges memory and computing functions by implementing in-memory matrix-vector multiplication using a crossbar array of resistive memory elements. The matrix elements are stored as conductance values in the crossbar array, enabling direct computation without data transfer to separate processing units, thus resolving the contradiction between ease of memory implementation and computational efficiency.
Solution Approach 2:
The patent replaces the mechanical data shuttling process of Von Neumann architecture with a parallel electrical computation system. Electrical signals are applied across the crossbar array to simultaneously compute multiple multiplication operations through Kirchhoff's laws, substituting sequential mechanical data transfer with parallel electrical computation.
2Device complexity
If sequential programming of resistive elements is used, then control complexity is reduced, but programming time and device scalability deteriorate
Solution Approach 1:
The patent segments the control of resistive elements by introducing selection lines that divide the crossbar array into independently controllable sections. This allows parallel programming of multiple resistive elements simultaneously while maintaining manageable control complexity through structured selection mechanisms, resolving the contradiction between control simplicity and programming speed.
Solution Approach 2:
The patent introduces dynamic selection capabilities through controllable selection lines that can be activated or deactivated based on programming requirements. This dynamic control enables flexible parallel programming of multiple elements without requiring complex static control circuits, balancing control complexity with programming throughput.
3Productivity
If parallel programming of multiple resistive elements is implemented, then programming speed improves, but control circuit complexity and selection scheme difficulty increase
Solution Approach 1:
The patent implements universal selection lines that serve multiple functions: they can select individual resistive elements, groups of elements, or entire rows/columns for parallel programming. This multi-functionality enables high programming speed through parallel operations while avoiding the need for separate complex control circuits for each selection scenario.
Solution Approach 2:
The patent uses identical selection line structures across different parts of the crossbar array, creating a modular control system. This copying of control structures simplifies the overall control circuit design while enabling parallel programming of multiple elements, as the same control mechanism can be applied throughout the array without requiring unique complex control logic for each region.
Applied Scientific Principles
This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.
Function Achieved in This Case
Enables fast, low-power, and scalable matrix-vector multiplications, reducing complexity and power consumption compared to conventional approaches, and can be generalized for matrix-matrix and vector-vector multiplications, addressing the inefficiencies of the Von Neumann architecture.
Implementation Method 1
Each junction comprises a programmable resistive element and an access element. The signal generator is configured to apply programming signals to the resistive elements to program conductance values
Implementation Method 2
A matrix may be considered as array of vectors. Hence a matrix-vector multiplication can be generalized to a matrix-matrix multiplication and to a vector-vector multiplication
Data Source
AI summary
A matrix-vector multiplication device includes a memory crossbar array with row lines, column lines, and junctions. Each junction comprises a programmable resistive element and an access element. A signal generator is configured to apply programming signals to the resistive elements to program conductance values for the matrix-vector multiplication and a readout circuit is configured to apply read voltages to the row lines and to read out current values of the column lines. Control circuitry is configured to control the signal generator and the readout circuit and to select, via the access terminals, a plurality of resistive elements in parallel according to a predefined selection scheme which applies the signals and/or the read voltages in parallel to resistive elements which do not share the same row and column line and applies the programming signals and/or the read voltages to at most one resistive element per row line and column line.


