Distributed Data Processing Units in Non-Volatile Memory Arrays

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata transfer rateVSAvoidcentralized architecture complexity
Core Design Contradiction:
SpeedVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

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

Engineering Contradiction:
Improvedata processing throughputVSAvoiddata transfer time
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #25Self-service

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

Engineering Contradiction:
Improveread and write speedVSAvoiddata processing capability
Core Design Contradiction:
SpeedVSProductivity

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11157692B2Neural networks using data processing units
Publication Date: 2021.10.26 SANDISK TECHNOLOGIES LLC
  • US11157692B2 patent drawing
  • US11157692B2 patent drawing
  • US11157692B2 patent drawing

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.