Selective Bit Inversion in Volatile Storage for ML Read Energy

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Neural networks require significant computational resources for MAC operations, particularly due to repeated data movement and energy consumption in accessing feature map and weight value data, which current hardware accelerators fail to optimize efficiently.

Innovation Solution

A processing unit with volatile storage that stores machine learning data in binary representation, selectively inverting bit values to prioritize a preferred bit value for reduced energy consumption during storage operations, using characteristics like data type, skew, and compression to optimize energy usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is stored and accessed frequently in volatile storage during neural network operations, then processing speed is improved, but energy consumption increases due to repeated read operations

Engineering Contradiction:
Improveprocessing speedVSAvoidenergy consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent applies preliminary action by inverting bit values during the write operation to volatile storage before the data is read. This preprocessing step ensures that when data is subsequently read during MAC operations, the preferred bit value (typically 0 or 1 depending on storage technology) is presented to the storage medium, reducing the energy required for read operations while maintaining processing speed

Inventive Principle:
Principle #10Preliminary action

2Use of energy by moving object

If bit values are inverted during storage operations to reduce read energy, then energy consumption is reduced, but processing complexity increases

Engineering Contradiction:
Improveenergy consumptionVSAvoidprocessing complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary bit inversion mechanism between the data processing engine and volatile storage. This intermediary layer handles the bit value transformation transparently, managing the complexity of energy optimization without requiring changes to the core neural network processing logic or algorithms

Inventive Principle:
Principle #24Intermediary (Mediator)

3Use of energy by moving object

If selective bit inversion is applied to portions of machine learning data, then energy consumption for storage operations is reduced, but data processing complexity increases

Engineering Contradiction:
Improveenergy consumptionVSAvoiddata processing complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The patent applies local quality by selectively inverting bit values in specific portions of machine learning data based on their characteristics and access patterns. Rather than uniformly inverting all data bits, the system identifies and applies inversion only to data portions that will benefit from it during storage and retrieval, optimizing energy consumption while minimizing unnecessary processing complexity

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12353963B2Selective bit inversion in storage operations for machine learning
Publication Date: 2025.07.08 ARM LTD
  • US12353963B2 patent drawing
  • US12353963B2 patent drawing
  • US12353963B2 patent drawing

AI summary

A processing unit is provided which comprises volatile storage for storing machine learning data in binary representation, and a data processing engine communicatively coupled to the volatile storage. The processing unit is configured to selectively invert the bit values in binary representations of portions of the machine learning data when performing storage operations using the volatile storage. A computer-implemented method, and non-transitory computer-readable storage medium comprising instructions for executing the method are also provided. The method comprises receiving a request to perform a storage operation on the volatile storage using the machine learning data and performing the storage operation, including, selecting a portion of the machine learning data and inverting bit values in a binary representation of the selected portion. A computer-implemented method comprising receiving a request to store machine learning data on volatile storage and storing the machine learning data is also provided. Storing the machine learning data includes operating on at least a portion of the machine learning data to prioritize one of two potential bit values.