Active Buffered Memory Processing Elements Reduce Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-density memory devices in computer systems face issues with increased power consumption, temperature management, and reduced performance due to longer signal paths and increased latency, leading to data corruption and reduced bandwidth between the main processor and memory.

Innovation Solution

An active buffered memory system with processing elements integrated within the memory device, capable of performing instructions autonomously, including virtual-to-real address translation, and communicating directly with the main processor, reduces data movement and latency by processing data locally within the memory device.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If memory device density is increased, then memory capacity is improved, but power consumption increases and performance decreases due to longer signal paths

Engineering Contradiction:
Improvememory capacityVSAvoidpower consumption
Core Design Contradiction:
Quantity of substanceVSUse of energy by moving object

Solution Approach 1:

The patent divides the memory system into multiple independent memory banks (first memory bank, second memory bank) that can operate autonomously. Each bank has its own processing capabilities, allowing data to be processed locally without traveling across the entire memory device. This segmentation reduces signal path length and power consumption while maintaining high memory capacity through parallel operation of multiple banks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of processing by embedding processing elements directly within the memory device structure. Instead of only increasing capacity through vertical stacking or horizontal expansion, the invention adds a computational dimension where data can be processed in-place within memory banks, reducing the need for data movement and associated power consumption.

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

2Quantity of substance

If memory device density is increased, then memory capacity is improved, but data access time and latency increase due to longer signal paths

Engineering Contradiction:
Improvememory capacityVSAvoiddata access time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent segments the memory device into multiple banks with independent access paths. When data is requested, the system can access the specific bank containing the data without waiting for signals to traverse the entire memory device. This segmentation maintains low latency even as total capacity increases through addition of more banks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces processing elements as intermediaries between the memory arrays and the external interface. These processing elements can pre-process data, perform address translation, and prepare data for retrieval before it needs to be accessed by the external system, thereby reducing the effective access time despite increased memory density.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Quantity of substance

If memory device density is increased, then memory capacity is improved, but bandwidth between processor and memory is reduced due to distance

Engineering Contradiction:
Improvememory capacityVSAvoidbandwidth
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent divides the memory system into multiple independent banks that can simultaneously service multiple data requests. This parallel architecture allows the system to maintain high aggregate bandwidth even as total capacity increases, because multiple banks can transfer data concurrently rather than sequentially across a single long signal path.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent enables memory banks to perform self-service operations through embedded processing elements that can autonomously execute data preparation, address translation, and filtering functions. This reduces the volume of data that needs to be transferred across the external interface, effectively increasing the usable bandwidth for critical operations while maintaining high total capacity.

Inventive Principle:
Principle #25Self-service

4Quantity of substance

If memory device density is increased, then memory capacity is improved, but reliability decreases due to more chances for data corruption during transmission

Engineering Contradiction:
Improvememory capacityVSAvoiddata transmission reliability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent segments the memory device into isolated banks with independent signal paths. This segmentation reduces the probability of data corruption because a failure or interference in one bank's signal path does not affect other banks. Each bank operates independently, maintaining high reliability even as total capacity increases through addition of more banks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces processing elements as intermediaries that can detect and correct errors before data leaves the memory device. These processing elements perform functions such as error detection coding, address validation, and data verification, thereby improving transmission reliability without requiring shorter signal paths or reducing memory capacity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9003160B2Active buffered memory
Publication Date: 2015.04.07 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9003160B2 patent drawing
  • US9003160B2 patent drawing
  • US9003160B2 patent drawing

AI summary

According to one embodiment of the present invention, a method for operating a memory device that includes memory and a processing element includes receiving, in the processing element, a command from a requestor, loading, in the processing element, a program based on the command, the program comprising a load instruction loaded from a first memory location in the memory, and performing, by the processing element, the program, the performing including loading data in the processing element from a second memory location in the memory. The method also includes generating, by the processing element, a virtual address of the second memory location based on the load instruction and translating, by the processing element, the virtual address into a real address.