DRAM Processing Unit for Deep Learning via In-Memory Logic
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional Graphics Processing Units (GPUs) and Tensor Processing Units (TPUs) are inefficient for highly parallelized deep learning processing tasks.
Innovation Solution
A dynamic random access memory (DRAM) processing unit (DPU) system that includes a computing cell array and a stochastic computing cell array, using 3T1C or 1T1C DRAM memory cells to perform logic and stochastic operations, with a library, compiler, and driver to determine and execute DPU instructions for efficient deep learning processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If GPUs or TPUs are used for deep learning processing, then computing capability is provided, but processing efficiency for highly parallelized tasks deteriorates
Solution Approach 1:
The system segments the computing task across multiple independent DRAM-based computing cells arranged in arrays, where each cell can perform parallel operations. This segmentation enables highly parallelized processing by distributing computations across numerous simple, identical units that operate simultaneously on different data elements.
Solution Approach 2:
The patent replaces conventional von Neumann architecture with in-memory computing using DRAM cells that perform logic operations directly during read/write cycles. This eliminates the mechanical bottleneck of data transfer between CPU and specialized units, substituting it with parallel in-memory operations that achieve higher throughput for parallelized deep learning tasks.
2Productivity
If DRAM-based computing cells are used to provide logic functions, then parallel processing capability is improved, but device complexity increases
Solution Approach 1:
The DRAM-based computing cells are designed to be universal, capable of performing multiple logic functions (AND, OR, NOT, NOR) depending on the control signals applied during read/write operations. This multi-functionality reduces device complexity by eliminating the need for separate dedicated logic circuits for each operation, while maintaining high parallel processing capability through the array structure.
Solution Approach 2:
The system changes the operational parameters of DRAM cells by applying different control signals (read enable, write enable, mask signals) to transform simple memory cells into functional logic units. This parameter-based configuration allows the same physical hardware to perform diverse computing functions without adding structural complexity, enabling parallel processing through software-controlled cell activation patterns.
3Productivity
If DRAM-based stochastic computing cells are used, then computing efficiency for specific operations is improved, but manufacturing complexity increases
Solution Approach 1:
The patent achieves stochastic computing functionality by changing the operational parameters of standard DRAM cells through probabilistic control signals during read/write cycles. Instead of requiring complex stochastic hardware circuits, the system uses parameter-based randomization in control timing and signal sequencing to create stochastic computing behavior, improving efficiency for certain operations while maintaining ease of manufacture using existing DRAM fabrication processes.
Data Source
AI summary
A system includes a library, a compiler, a driver and at least one dynamic random access memory (DRAM) processing unit (DPU). The library may determine at least one DPU operation corresponding to a received command. The compiler may form at least one DPU instruction for the DPU operation. The driver may send the at least one DPU instruction to at least one DPU. The DPU may include at least one computing cell array that includes a plurality of DRAM-based computing cells arranged in an array having at least one column in which the at least one column may include at least three rows of DRAM-based computing cells configured to provide a logic function that operates on a first row and a second row of the at least three rows and configured to store a result of the logic function in a third row of the at least three rows.


