Random Number Generator Using Memory Cell Threshold Variations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Electronic devices require secure identification and random number codes, but existing technologies struggle to provide consistent and reliable methods for generating these codes.

Innovation Solution

A random number generator device comprising a memory unit with two memory cells, a voltage generator, and a control circuit that applies bias and bit line voltages to program and read the cells, leveraging intrinsic fabrication variations to generate unique random number bits.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If conventional methods are used to generate identification and random number codes, then the generation process can be simplified, but the reliability and security of the generated codes deteriorate

Engineering Contradiction:
Improvegeneration process complexityVSAvoidcode security
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The system uses the inherent physical variations of the device itself (threshold voltage differences between transistors) to generate random numbers, eliminating the need for external random number generation components. The device serves its own physical characteristics to produce secure random codes, improving both reliability and simplifying the overall system architecture.

Inventive Principle:
Principle #25Self-service

2Reliability

If physical variations are utilized to generate random numbers, then the security and uniqueness of random number generation is improved, but the manufacturing precision requirements worsen

Engineering Contradiction:
Improverandom number securityVSAvoidfabrication variation control
Core Design Contradiction:
ReliabilityVSManufacturing precision

Solution Approach 1:

The invention converts the harmful effect of manufacturing variations (which typically degrade device performance) into a beneficial resource for generating secure random numbers. By measuring threshold voltage differences caused by fabrication variations between transistors, the system transforms manufacturing imprecision into a security feature, eliminating the need for tight manufacturing precision control.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

3Productivity

If multiple memory cells are programmed simultaneously, then the programming speed is improved, but the control complexity worsens

Engineering Contradiction:
Improveprogramming speedVSAvoidcontrol circuit complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The control circuit merges the programming control of multiple memory cells into a unified process. By applying the same programming voltage to multiple cells simultaneously through shared word lines and using bit line selections to individual cells, the system achieves parallel programming without proportionally increasing control complexity. The merging of control signals simplifies the overall control architecture while maintaining high programming speed.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10020268B2Random number generator device and control method thereof
Publication Date: 2018.07.10 EMEMORY TECH INC
  • US10020268B2 patent drawing
  • US10020268B2 patent drawing
  • US10020268B2 patent drawing

AI summary

A random number generator device has at least at least a memory unit, a voltage generator, and a control circuit. Each memory unit has two memory cells, one of the two memory cells is coupled to a bias line and a first bit line, and another of the two memory cells is coupled to the bias line and a second bit line. The voltage generator provides the two memory cells a bias voltage, a first bit line voltage and a second bit line voltage via the bias line, the first bit line and the second bit line respectively. The control circuit shorts the first bit line and the second bit line to program the two memory cells simultaneously during a programming period and generates a random number bit according the statuses of the two memory cells during a reading period.