In-Memory Popcount Multiplication for Low-Latency Dot Products
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing processors face inefficiencies in performing repetitive multiplication operations, particularly in systems like convolutional neural networks, due to the need for time-intensive input/output operations and data transfer between memory and processing units.
Innovation Solution
Implementing a memory device with popcount operations that perform multiplication directly in-memory using a PIM processor, which includes a memory array and a PIM processor to access data without a buffer or cache, utilizing a controller and accumulator to perform operations like dot product multiplication.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If data is transferred between memory and processing units using generic processors, then multiplication operations can be performed, but time-intensive input/output operations and data transfer increase latency
Solution Approach 1:
The patent combines memory storage and processing functions into a single integrated structure. The memory device includes memory cells for data storage and sense amplifiers with integrated logic circuits that perform multiplication operations directly on the stored data, eliminating the need for separate processing units and reducing data transfer time.
Solution Approach 2:
The sense amplifiers serve as intermediary components that not only read data from memory cells but also perform computational operations. The sense amplifiers include multipliers that operate on the sensed data before it leaves the memory array, acting as a bridge between storage and external processing.
2Productivity
If data is loaded into cache and processed by generic processors, then multiplication operations can be performed, but repeated data loading and storing increases operational time
Solution Approach 1:
The patent merges memory and processing functions into a single integrated structure. The memory device includes memory cells for data storage and sense amplifiers with integrated logic circuits that perform multiplication operations directly on the stored data, eliminating the need for separate processing units and reducing data transfer time.
Solution Approach 2:
The memory device enables continuous computation by performing multiplication operations directly within the memory array during the normal memory access cycle. The sense amplifiers process data immediately after sensing it from the memory cells, eliminating idle time between data retrieval and processing.
3Loss of time
If Processing In-Memory devices are used to perform operations directly in memory, then latency is reduced, but device complexity increases due to integration of logic in memory arrays
Solution Approach 1:
The patent segments the processing function into individual sense amplifiers that are distributed across the memory array. Each sense amplifier contains a multiplier that operates on data from specific memory cells, dividing the overall computation into parallel, independent units that can be implemented using standard memory cell and sense amplifier building blocks.
Solution Approach 2:
The sense amplifiers are designed to serve multiple functions: they sense data from memory cells, perform multiplication operations, and output the computed results. This multi-functionality reduces the need for separate dedicated processing components, thereby limiting the increase in overall device complexity.
Data Source
Figure 1
Figure 2A
Figure 2B
AI summary
The present disclosure is directed to systems and methods for a memory device such as, for example, a Processing-In-Memory Device that is configured to perform multiplication operations in memory using a popcount operation. A multiplication operation may include a summation of multipliers being multiplied with corresponding multiplicands. The inputs may be arranged in particular configurations within a memory array. Sense amplifiers may be used to perform the popcount by counting active bits along bit lines. One or more registers may accumulate results for performing the multiplication operations.