In-Memory CDT Random Sampler With CAM Range Matching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing sampling techniques for random sampling from an arbitrary distribution suffer from high latency, high energy consumption, large area requirements, and vulnerability to side-channel attacks, particularly in applications like post-quantum cryptography and machine learning.
Innovation Solution
An in-memory cumulative distribution table (CDT) based random sampler using a pipelined range-matching content-addressable memory (CAM) array, which performs parallel comparisons and employs random masking to suppress timing and power side-channel leakage, achieving configurable precision and range.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional sampling techniques are used, then sampling can be performed, but latency is high and throughput is low
Solution Approach 1:
The sampling process is segmented into distinct pipeline stages: random number generation, CDT lookup, and range matching. Each stage operates independently and concurrently, allowing the system to process multiple samples simultaneously through the pipeline, thereby achieving constant high throughput while minimizing latency per sample.
Solution Approach 2:
The cumulative distribution table (CDT) is precomputed and stored in content-addressable memory (CAM) before the sampling operation begins. This preliminary action eliminates the need for complex runtime calculations during sampling, enabling direct lookup and significantly reducing latency while maintaining high throughput.
2Use of energy by moving object
If traditional sampling techniques are used, then sampling can be performed, but energy consumption is high
Solution Approach 1:
The invention replaces traditional sequential computational mechanisms with a hardware-based content-addressable memory (CAM) lookup mechanism. The CAM structure performs parallel comparisons and range matching in a single clock cycle, eliminating the need for iterative software-based sampling algorithms. This substitution dramatically reduces energy consumption per sample while maintaining constant high throughput, achieving 20.6-pJ/sample energy efficiency.
3Area of stationary object
If traditional sampling techniques are used, then sampling can be performed, but area requirements are large
Solution Approach 1:
The invention merges the CDT storage function and the range matching function into a single integrated CAM structure. By combining these two separate operations into one unified hardware component, the design eliminates redundant logic circuits and interconnects, significantly reducing the overall area footprint while maintaining constant throughput capability.
4Reliability
If traditional sampling techniques are used, then sampling can be performed, but timing and power side-channel leakage occurs
Solution Approach 1:
The invention converts the inherent parallel nature of CAM operations, which could potentially leak information through timing and power variations, into a security advantage. The simultaneous activation of all CAM cells and uniform clocking scheme create a constant power profile and timing behavior regardless of the input data or sampled value, thereby suppressing side-channel leakage while maintaining constant high throughput.
Data Source
AI summary
The present application relates to a method for generating a random sample of an arbitrary distribution. The method includes precomputing a cumulative distribution table (CDT) of the distribution; storing the CDT in an array of range matching content-addressable memory (CAM) cells; inputting data through a search line (SL); comparing the input data against stored data in the CDT using the array of range matching CAM cells; when the input data match the stored data, turning on all pass gates that are controlled by logic gates and shorting a match line (ML) from MSB to LSB; and determining the range matching result on the ML and outputting data points corresponding to an index of the matched row in CDT, when the input data do not match the stored data, determining an interval of stored data that the input data falls into, and outputting the data points corresponding to the interval.


