In-Situ Stochastic Computing in Memory Without ADC Overhead
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Stochastic computing in memory (SCIM) systems face challenges with large area efficiency due to the need for analog-to-digital converters (ADCs) and the storage of entire unrolled SC sequences, leading to poor area efficiency (TOPS/mm2) and high energy consumption.
Innovation Solution
In-situ stochastic computing in memory (SCIM) approach that stores operands in binary format and uses an in-situ binary to stochastic number converter within the memory array, coupled with a high-density SC MAC circuit to generate SC sequences directly, reducing the need for large SC bit stream storage and minimizing area and energy costs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If entire unrolled SC sequences are stored in memory, then stochastic computing in memory can be performed, but area efficiency deteriorates due to large memory requirements
Solution Approach 1:
The patent applies preliminary action by pre-generating and storing only the necessary SC sequences for a limited number of MAC operations (e.g., 4-8 sequences) in the memory array, rather than storing entire unrolled sequences. This allows the system to perform stochastic computing while significantly reducing memory area requirements through selective pre-computation and storage of only essential data.
2Productivity
If ADCs are used in CIM systems, then compute in memory can be performed, but area and power consumption increase
Solution Approach 1:
The patent extracts and eliminates the need for ADCs by directly using stochastic bitstreams for compute-in-memory operations. Instead of converting analog signals to digital through power-hungry ADCs, the system works directly with stochastic representations, removing the ADC component entirely and thereby reducing both area and power consumption while maintaining compute capability.
Solution Approach 2:
The patent substitutes the mechanical/electronic ADC conversion process with a direct stochastic computing approach. Rather than using physical ADC hardware to convert signals, the system uses mathematical stochastic representations that can be processed directly in memory, replacing the need for complex analog-to-digital conversion hardware with simpler stochastic arithmetic operations.
3Reliability
If SC sequences are stored in memory, then stochastic computing can be performed, but energy consumption increases
Solution Approach 1:
The patent applies partial action by storing only the necessary SC sequences for a limited number of MAC operations (e.g., 4-8 sequences) rather than storing all possible sequences. This partial storage approach reduces the total memory capacity required and consequently lowers the energy consumption for memory operations while still providing sufficient computational capability for the intended applications.
4Loss of information
If large SC bit stream storage is used, then complete SC sequences can be stored, but area efficiency deteriorates
Solution Approach 1:
The patent segments the SC sequence storage by dividing the complete sequence into smaller manageable portions (e.g., storing only 4-8 sequences at a time). This segmentation allows the system to maintain information completeness for the required computational operations while significantly reducing the total storage area needed, as only the necessary segments are stored rather than the entire sequence.
Data Source
AI summary
Disclosed herein are systems and methods for stochastic computing in memory (SCIM). A SCIM system includes one or more stochastic number generators embedded in a memory array, a processor, and a memory. The memory receives a plurality of data slices. A first dot product is calculated for a first data slice in the plurality of data slices using a first set of operands. The first set of operands is received and stored in a binary representation. The first set of operands is converted into binary stochastic bitstreams using the one or more embedded stochastic number generators.


