Random Code Generator Using Oscillation Pulse Counting
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing random code generators for semiconductor chips face challenges in generating unique, un duplicable codes due to manufacturing variations, which are unpredictable and prone to errors in program operations, affecting security and reliability.
Innovation Solution
A random code generator utilizing a non-volatile memory with a counter to count oscillation signal pulses during program operations on one-time programmable memory cells, determining a random code based on the counting value, which is inherently unique due to semiconductor process variations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If PUF technology is used to generate random codes based on manufacturing variation, then code uniqueness and security are improved, but code generation reliability and predictability deteriorate due to unpredictable manufacturing variations and program operation errors
Solution Approach 1:
The patent introduces a feedback mechanism where the counter continuously monitors and counts oscillation signal pulses generated during program operations. This feedback loop allows the system to capture the actual behavior of the memory cell during programming, using the counted pulse values to generate the random code. The feedback from the oscillation counting provides a reliable basis for code generation that reflects the true manufacturing variation while avoiding errors from direct measurement.
2Measurement precision
If one-time programmable memory cells are used to store random codes, then code uniqueness is improved, but error rates in program operations increase affecting code generation reliability
Solution Approach 1:
The patent uses an intermediary approach by introducing a counter as a mediator between the program operation and the random code generation. Instead of directly reading the memory cell state which is prone to errors, the counter indirectly captures the programming process through oscillation pulse counting. This intermediary mechanism filters out programming errors while maintaining the uniqueness inherent in one-time programmable memory cells.
3Reliability
If manufacturing variation is leveraged to create unique random codes, then security is improved, but reproducibility and control over code generation deteriorate
Solution Approach 1:
The patent applies self-service by allowing the manufacturing variation itself to serve as the source of randomness. The system automatically captures the inherent variability in the memory cell's oscillation characteristics during program operations without requiring external intervention or complex control mechanisms. The counter simply counts the natural oscillation pulses, enabling the manufacturing variation to self-generate the unique random code while maintaining ease of operation.
Data Source
Figure 1
Figure 2A
Figure 2B
AI summary
A random code generator includes a control circuit, a high voltage power supply, a memory module and a counter. The control circuit generates a control signal and an enabling signal. During a program cycle, the enabling signal is activated. The high voltage power supply receives the enabling signal. A charge pump of the high voltage power supply generates a program voltage according to an oscillation signal. When the enabling signal is activated, the high voltage power supply outputs the program voltage. The memory module determines a selected memory cell of the memory module according to the control signal. During the program cycle, the selected memory cell receives the program voltage. During the program cycle, the counter counts a pulse number of the oscillation signal to acquire a counting value, and the control circuit determines a random code according to the counting value.