Embedded Compute Engine in Memory Device for Conditional Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory systems with external processors require external input/output operations to transfer data, leading to increased power consumption and inefficiencies in processing, as they lack the ability to selectively perform operations based on conditions within the memory device.

Innovation Solution

Incorporating an embedded compute engine with arithmetic logic units (ALUs) within the memory device, allowing for parallel processing and conditional execution of instructions without external I/O, enabling operations to be performed selectively based on conditions, thereby improving processing efficiency and reducing power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If data is transferred externally for processing, then processing can be performed by external processors, but power consumption increases and processing efficiency decreases

Engineering Contradiction:
Improvepower consumptionVSAvoidprocessing efficiency
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The patent combines the processor and memory device into a single integrated unit, allowing the processor to be located within or directly coupled to the memory device. This merging eliminates the need for external data transfer between separate processor and memory components, thereby reducing power consumption from I/O operations while enabling efficient processing directly at the memory location.

Inventive Principle:
Principle #5Merging (Combining)

2Loss of energy

If all operations are executed unconditionally, then processing is simple and fast, but unnecessary operations consume power and resources

Engineering Contradiction:
Improvepower consumptionVSAvoidoperation control complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent implements dynamic conditional execution where the processor can selectively execute operations based on evaluated conditions. The processor evaluates condition flags or status bits and dynamically determines whether to execute subsequent operations, allowing the system to adapt its behavior based on runtime conditions. This dynamic control enables skipping unnecessary operations to save power while maintaining the ability to execute all operations when needed.

Inventive Principle:
Principle #15Dynamics

3Loss of energy

If conditional operation support is added to the processor, then power consumption is reduced by skipping unnecessary operations, but processor complexity increases

Engineering Contradiction:
Improvepower consumptionVSAvoidprocessor complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent segments the processor functionality into distinct components including condition evaluation logic, operation selection logic, and execution units. The processor includes separate condition flags or status registers that store condition information, and the instruction execution pipeline is segmented to allow conditional branching. This segmentation allows conditional operation support to be added as modular components rather than requiring complete processor redesign, thereby managing complexity while enabling power-saving conditional execution.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10970247B2Conditional operation in an internal processor of a memory device
Publication Date: 2021.04.06 MICRON TECHNOLOGY INC
  • US10970247B2 patent drawing
  • US10970247B2 patent drawing
  • US10970247B2 patent drawing

AI summary

An internal processor of a memory device configured to selectively execute instructions in parallel, for example. One such internal processor includes a plurality of arithmetic logic units (ALUs), each connected to conditional masking logic, and each configured to process conditional instructions. A condition instruction may be received by a sequencer of the memory device. Once the condition instruction is received, the sequencer may enable the conditional masking logic of the ALUs. The sequencer may toggle a signal to the conditional masking logic such that the masking logic masks certain instructions if a condition of the condition instruction has been met, and masks other instructions if the condition has not been met. In one embodiment, each ALU in the internal processor may selectively perform instructions in parallel.