Non-Volatile Memory PUF Key Locking Against Aging Bit Errors
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing physical unclonable function (PUF) technologies in non-volatile memory face challenges with high bit error rates due to aging degradation and temperature variations, particularly in automotive applications, requiring improved methods for generating and storing unique keys that are both reliable and unchangeable.
Innovation Solution
The implementation of a system that uses non-volatile memory cells to generate and store PUF keys, where the key is frozen by disabling changes to the data in the memory cells after storage, either through internal logic or external commands, ensuring a permanent and reliable PUF key for secure applications, particularly in IoT devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If PUF keys are stored in non-volatile memory cells, then unique identification and security functionality is achieved, but bit error rates increase due to aging degradation and temperature variations
Solution Approach 1:
The patent applies preliminary action by freezing the PUF key data in non-volatile memory cells immediately after generation through a one-time-programmable mechanism. This prevents subsequent changes due to aging degradation and temperature variations, thereby maintaining key stability while minimizing bit error rates from the outset
Solution Approach 2:
The patent changes the state parameter of the memory cells from programmable to locked/frozen state. By transitioning the memory cells to a one-time-programmable mode, the physical state is altered to prevent further modifications, thereby eliminating drift-related bit errors while preserving the unique PUF key characteristics
2Reliability
If PUF keys are made unchangeable by disabling writes to memory cells, then security against unauthorized changes is improved, but flexibility for key updates and reprogramming is reduced
Solution Approach 1:
The system performs preliminary action by enabling write operations to PUF key memory cells only during an initial enrollment phase, then permanently disabling further writes. This preliminary enabling followed by permanent disabling ensures key integrity while maintaining adaptability during the critical setup stage
Solution Approach 2:
The patent introduces dynamic control of memory cell writability through a state machine or control logic that transitions from a programmable state to a locked state. This dynamic behavior allows the system to be flexible during enrollment and then immutable during operation, balancing adaptability and security
3Reliability
If error correcting codes are used to improve PUF reliability, then bit error rates are reduced, but device complexity and processing overhead increase
Solution Approach 1:
The patent extracts and removes the need for complex error correcting codes by fundamentally changing the memory cell state to prevent drift-related errors. Instead of adding error correction layers, the solution eliminates the error source by freezing the PUF key data in one-time-programmable memory cells
Solution Approach 2:
The patent employs a simple one-time-programmable memory mechanism rather than complex error correction codes. This disposable-like approach of programming the key once and locking it permanently provides high reliability without the ongoing complexity and processing overhead of error correcting codes
Data Source
AI summary
A device which can be implemented on a single packaged integrated circuit or a multichip module comprises a plurality of non-volatile memory cells, and logic to use a physical unclonable function to produce a key and to store the key in a set of non-volatile memory cells in the plurality of non-volatile memory cells. The physical unclonable function can use entropy derived from non-volatile memory cells in the plurality of non-volatile memory cells to produce a key. Logic is described to disable changes to data in the set of non-volatile memory cells, and thereby freeze the key after it is stored in the set.


