IP Library Granted Patent US 10,855,477
Granted Patent B2
US 10,855,477 · App. 15/857,341 · Granted Dec 1, 2020

Non-volatile memory with physical unclonable function and random number generator

Inventors: Chun-Hsiung Hung (Hsinchu, TW); Kuen-Long Chang (Taipei, TW); Ken-Hui Chen (Hsinchu, TW); Shih-Chang Huang (Penghu, TW)
Assignee: MACRONIX INTERNATIONAL CO., LTD.
H04L9/3278G09C1/00H04L9/0866H04L9/0869
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,855,477
App. No.
15/857,341
Granted
Dec 1, 2020
Kind
B2
Abstract

A device which can be implemented on a single packaged integrated circuit or a multichip includes a plurality of non-volatile memory cells, and logic to use a physical unclonable function to produce an initial key and to store the initial key in a set of non-volatile memory cells in the plurality of non-volatile memory cells. The device can include logic to use a random number generator to generate a random number, and logic to combine the initial key and the random number to produce an enhanced key. The physical unclonable function can use entropy derived from non-volatile memory cells in the plurality of non-volatile memory cells to produce the initial 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.

Claims (33)

1. A circuit, comprising:

a plurality of non-volatile memory cells;

logic to use a physical unclonable function using non-volatile memory cells in the plurality of non-volatile memory cells to produce a first key;

a random number generator to produce a second key;

logic to combine the first key and the second key to produce an enhanced key;

logic to store the enhanced key in a set of non-volatile memory cells in the plurality of non-volatile memory cells; and

logic to disable changes to data in the set of non-volatile memory cells after the enhanced key is stored in the set.

2. The circuit of claim 1 , wherein the physical unclonable function utilizes entropy generated using non-volatile memory cells in the plurality of non-volatile memory cells to produce the first key.

3. The circuit of claim 1 , wherein the logic to combine the first key and the second key executes an XOR function.

4. The circuit of claim 1 , wherein the logic to combine includes a hash function.

5. The circuit of claim 1 , wherein the random number generator comprises a logic circuit producing a pseudo-random number as the second key.

6. The circuit of claim 1 , including authentication logic requiring a successful authentication protocol to enable the physical unclonable function to produce the first key.

7. The circuit of claim 1 , including:

a port for external communication of data from the plurality of non-volatile memory cells; and

security logic coupled to the plurality of non-volatile memory cells, which utilizes the enhanced key in a protocol to enable access to data stored in the plurality of non-volatile memory cells.

8. The circuit of claim 7 , wherein the protocol includes a challenge/response protocol including exchange of data via the port.

9. The circuit of claim 7 , wherein the plurality of non-volatile memory cells, the port, the security logic and the random number generator are disposed on a single integrated circuit.

10. A method for operating a circuit including a plurality of non-volatile memory cells, comprising:

executing a physical unclonable function to generate an initial key;

storing the initial key in a first set of non-volatile memory cells in the plurality of non-volatile memory cells;

executing a random number generator to generate a random number;

logically combining the initial key and the random number to produce an enhanced key;

storing the enhanced key in a second set of non-volatile memory cells in the plurality of non-volatile memory cells; and

after storing the initial key, disabling changes to data stored in the first set of non-volatile memory cells.

11. The method of claim 10 , wherein the physical unclonable function utilizes entropy generated using non-volatile memory cells in the first set of non-volatile memory cells to produce the initial key.

12. The method of claim 10 , wherein said logically combining includes executing an XOR function using the initial key and the random number as inputs and producing an output as the enhanced key.

13. The method of claim 10 , wherein said logically combining includes executing a hash function mapping the initial key and the random number to hash values as the enhanced key.

14. The method of claim 10 , wherein disabling changes to data stored in the first set of non-volatile memory cells disables use of the physical unclonable function.

15. The method of claim 13 , wherein the plurality of non-volatile memory cells includes an array of non-volatile memory cells with peripheral circuits for access to the array, and a block of non-volatile memory cells having separate peripheral circuits allowing read-only access to the block, the block including the first set of non-volatile memory cells, and wherein the physical unclonable function utilizes entropy generated using non-volatile memory cells in the block of non-volatile memory cells to produce the initial key, and wherein disabling changes to data stored in the set of non-volatile memory cells disables the physical unclonable function.

16. The method of claim 13 , wherein the plurality of non-volatile memory cells includes an array of non-volatile memory cells with peripheral circuits for access to the array, and wherein the peripheral circuits have a first state in which access to the first set of non-volatile memory cells to write the initial key is enabled, and a second state in which access to the first set of non-volatile memory cells to write is disabled while access to other non-volatile memory cells in the array to write is enabled, and wherein disabling changes to data stored in the first set of non-volatile memory cells includes storing an indicator to set the first state or the second state.

17. The method of claim 10 , including requiring a successful authentication protocol to enable the physical unclonable function to produce the initial key.

18. The method of claim 10 , wherein the physical unclonable function uses the first set of non-volatile memory cells to produce the initial key.

19. The method of claim 10 , including utilizing the enhanced key in a protocol to enable access to data other than the initial key and the enhanced key, stored in the plurality of non-volatile memory cells.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2017
From: HUNG, CHUN-HSIUNG; CHANG, KUEN-LONG; CHEN, KEN-HUI; HUANG, SHIH-CHANG
To: MACRONIX INTERNATIONAL CO., LTD.
Reel/Frame 044502/0411 →
Continuity (10)
Continuation In Part 15601582 · May 22, 2017
Provisional Application 62528460 · Jul 4, 2017
Provisional Application 62509204 · May 22, 2017
Provisional Application 62435337 · Dec 16, 2016
Provisional Application 62435092 · Dec 16, 2016
Provisional Application 62431835 · Dec 9, 2016
Provisional Application 62430196 · Dec 5, 2016
Provisional Application 62423753 · Nov 17, 2016
Provisional Application 62370736 · Aug 4, 2016
Related Publication 20180123808A1 · May 3, 2018
Cited By (5)
US 12,301,712 US 12,347,487 US 12,405,745 US 12,530,135 US 12,614,576