Non-Volatile Memory Array Solving Partial Differential Equations
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional methods for solving partial differential equations on Von-Neumann-based computing architectures face limitations in computing speed and energy efficiency due to data transfer bottlenecks and the large, sparse nature of iterative coefficient matrices, which are challenging for edge computing applications.
Innovation Solution
A method utilizing a non-volatile memory array to convert partial differential equations into iterative relations, where a reusable sub-matrix cell is stored and used for matrix-vector multiplication, optimizing memory usage and energy efficiency by segmenting the coefficient matrix into smaller sub-matrices and performing operations in a non-volatile memory array.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional Von-Neumann-based computing architecture is used to solve partial differential equations, then the solution can be obtained through standard numerical methods, but computing speed is greatly limited and huge energy consumption is required due to data transfer bottleneck between CPU and memory
Solution Approach 1:
The patent segments the large-scale sparse coefficient matrix into multiple smaller sub-matrices stored in the non-volatile memory array. This segmentation allows parallel processing of matrix-vector multiplication operations across different memory regions, significantly improving computing speed while reducing the energy consumption associated with data transfer between CPU and memory.
Solution Approach 2:
The patent replaces the traditional mechanical/electrical data transfer mechanism between CPU and memory with an in-memory computing approach. The non-volatile memory array performs matrix-vector multiplication operations directly within the memory structure, eliminating the need for continuous data movement and associated energy consumption.
2Reliability
If the iterative coefficient matrix is directly stored in memory, then the complete matrix data is available for computation, but huge hardware overhead is caused due to the very large scale and sparsity of the matrix
Solution Approach 1:
The patent divides the large-scale sparse coefficient matrix into multiple smaller sub-matrices that are stored in the non-volatile memory array. This segmentation reduces the hardware overhead required for storing and managing the entire matrix while maintaining data availability through organized sub-matrix structures that can be accessed as needed during iterative computations.
Solution Approach 2:
The patent applies local quality by storing only the necessary sub-matrices in the non-volatile memory array rather than the entire coefficient matrix. Each sub-matrix is optimized for specific computational regions, reducing overall hardware overhead while ensuring that the required data is available locally when needed for matrix-vector multiplication operations.
Data Source
AI summary
A method of solving a partial differential equation based on a non-volatile memory array includes converting a to-be-solved partial differential equation into an iterative relation, selecting a reusable sub-matrix cell from the iterative coefficient matrix, and storing the sub-matrix cell in the memory array, extracting an input vector from the iteration vector, inputting the input vector into the memory array, updating a portion of the iteration vector by adding an obtained output vector to a portion of the constant vector, extracting the input vector from an updated iteration vector again, and inputting the input vector into the memory array until all elements of the iteration vector are updated to obtain an iteration vector for a next iteration, and ending the iteration when a preset number of iterations is reached or an error is less than a preset range.


