Near-Memory Computing Modules for Fine-Grained Data Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems are inefficient and time-consuming when handling fine-grained data access and processing, especially when data is stored remotely, due to sequential access of larger data units and inefficient communication within memory systems.

Innovation Solution

Implementing a near-data processing system with memory modules that include near-memory computing modules and hierarchical bus architectures, enabling parallel processing of small data units and efficient communication within memory modules, and utilizing distributed data mapping and task scheduling to balance workloads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data is stored remotely in memory systems with sequential access, then data storage capacity is improved, but processing efficiency deteriorates due to sequential access of larger data units

Engineering Contradiction:
Improvedata storage capacityVSAvoidprocessing efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent divides the memory system into multiple memory modules, each containing near-memory computing modules that can independently process data. This segmentation allows parallel processing of fine-grained data units across multiple modules, eliminating the sequential access bottleneck while maintaining large storage capacity through the distributed modular architecture.

Inventive Principle:
Principle #1Segmentation

2Speed

If sequential access of larger data units is used, then memory bandwidth is improved, but energy consumption deteriorates due to inefficient communication within memory systems

Engineering Contradiction:
Improvememory bandwidthVSAvoidenergy consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The near-memory computing modules perform data processing operations directly within the memory module where data is stored, eliminating the need to transfer large data units across the memory system for processing. This self-service approach allows efficient fine-grained access to only the specific data units needed, reducing both the bandwidth required for communication and the energy consumption associated with data movement.

Inventive Principle:
Principle #25Self-service

3Measurement precision

If fine-grained data access is implemented, then processing precision is improved, but communication efficiency within memory systems deteriorates

Engineering Contradiction:
Improveprocessing precisionVSAvoidcommunication efficiency
Core Design Contradiction:
Measurement precisionVSLoss of energy

Solution Approach 1:

The patent adds a computational dimension to the memory system by integrating near-memory computing modules within each memory module. This dimensional change allows fine-grained data access and processing to occur locally within the memory hierarchy, transforming inefficient cross-system communication into efficient local operations and enabling precise processing without communication overhead.

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

Data Source

PatentUS20260079850A1Systems, methods, and devices for near data processing
Publication Date: 2026.03.19 SAMSUNG ELECTRONICS CO LTD
  • US20260079850A1 patent drawing
  • US20260079850A1 patent drawing
  • US20260079850A1 patent drawing

AI summary

A memory module may include one or more memory devices, and a near-memory computing module coupled to the one or more memory devices, the near-memory computing module including one or more processing elements configured to process data from the one or more memory devices, and a memory controller configured to coordinate access of the one or more memory devices from a host and the one or more processing elements. A method of processing a dataset may include distributing a first portion of the dataset to a first memory module, distributing a second portion of the dataset to a second memory module, constructing a first local data structure at the first memory module based on the first portion of the dataset, constructing a second local data structure at the second memory module based on the second portion of the dataset, and merging the first and second local data structures.