Distributed Data Processing Units in Non-Volatile Memory Arrays
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Centralized computing architectures face data processing limitations due to slow data transfer rates between storage devices and processing units, leading to bottlenecks in data retrieval and storage operations.
Innovation Solution
A computing system utilizing non-volatile memory arrays with data processing units that operate independently of a central processing unit, allowing for in-place data processing and storage, and enabling efficient data manipulation and relationship creation between data objects based on keywords.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If a centralized processing approach is used with a CPU and RAM, then data processing can be performed, but data transfer rates between storage devices and processing units are slow, creating bottlenecks
Solution Approach 1:
The system divides the centralized processing architecture into distributed data processing units, each capable of independent operation. Multiple processing units are distributed across the system, each handling specific data processing tasks locally, thereby eliminating the single-point bottleneck of centralized CPU processing and improving overall data transfer rates.
Solution Approach 2:
The patent transitions from a traditional von Neumann architecture with separate processing and storage components to a processing-in-memory architecture where processing units are embedded within the memory structure. This dimensional change integrates computation directly into the storage medium, dramatically reducing data transfer distances and improving speed.
2Productivity
If data is transferred back and forth between storage devices and CPU for processing, then computations can be performed, but this creates noticeable bottlenecks in data retrieval and storage operations
Solution Approach 1:
The patent merges the storage and processing functions into a single integrated structure where data processing units are embedded within the non-volatile memory array. This combination eliminates the need for repeated data transfers between separate storage and processing components, significantly reducing data transfer time and improving processing throughput.
Solution Approach 2:
Data processing units perform computations directly on data stored in the non-volatile memory without requiring external CPU intervention for every operation. The embedded processing units service data processing needs locally, reducing the time data spends in transit and improving overall productivity.
3Speed
If existing storage devices are used with faster read and write speeds, then data storage capability improves, but centralized processing architecture still leads to data processing limitations
Solution Approach 1:
The non-volatile memory array serves multiple functions simultaneously: it acts as both the storage medium and the processing unit. The same physical structure that stores data also performs computations on that data, eliminating the separation between storage capability and processing capability and resolving the limitation where fast storage cannot be fully utilized by centralized processing.
Data Source
AI summary
In some implementations, a computing system is provided. The computing system includes a device. The device includes a non-volatile memory divided into a plurality of memory sub-arrays. Each memory sub-array comprises a plurality of selectable locations. A plurality of data processing units are communicatively coupled to the non-volatile memory in the absence of a central processing unit of the computing system. The data processing unit is assigned to process data of a memory sub-array, and configured to store the first data object in the non-volatile memory receive a first data object via a communication interface. The first data object comprises a first content and is associated with a first set of keywords. The data processing unit is also configured to add the first set of keywords to a local dictionary. The local dictionary is stored in the non-volatile memory. The data processing unit is further configured to determine whether the first data object is related to one or more other data objects. The data processing units is further configured to create one or more relationships between the first data object and the one or more other data objects in response to determining that the first data object is related to one or more other data objects.


