IP Library Granted Patent US 10,911,229
Granted Patent B2
US 10,911,229 · App. 15/864,445 · Granted Feb 2, 2021

Unchangeable physical unclonable function in non-volatile memory

Inventors: Chun-Hsiung Hung (Hsinchu, TW); Chin-Hung Chang (Tainan, TW)
Assignee: MACRONIX INTERNATIONAL CO., LTD.
H04L9/0866G06F12/0246G06F12/1408G06F12/1425G09C1/00G11C7/24G11C16/22H04L9/3278G06F2212/1052G11C7/1006G11C8/20G11C16/0425G11C16/0466H03K19/003H04L2209/12
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,911,229
App. No.
15/864,445
Granted
Feb 2, 2021
Kind
B2
Abstract

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.

Claims (31)

1. A circuit configured for maintaining PUF keys in unchangeable form when needed, comprising:

a plurality of non-volatile memory cells;

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; and

logic to set an indicator to disable changes to data in the set of non-volatile memory cells after the key is stored in the set; wherein the indicator is settable by an external system that issues a signal causing the indicator to be set to disable changes to data stored in the set of non-volatile memory cells when the key is satisfactory for the key's intended purpose.

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 key.

3. The circuit of claim 1 , wherein the logic to disable changes to data in the set of non-volatile memory cells disables use of the physical unclonable function.

4. The circuit of claim 1 , wherein the plurality of non-volatile memory cells includes an array of 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 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 key, and wherein the logic to disable changes to data in the set of non-volatile memory cells disables the physical unclonable function.

5. The circuit of claim 1 , wherein the plurality of non-volatile memory cells includes an array of memory cells with peripheral circuits for access to the array, and wherein the peripheral circuits have a first state in which access to the set of non-volatile memory cells to write the key is enabled, and a second state in which access to the 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 the logic to disable changes to data in the set of non-volatile memory cells includes an indicator to set the first state or the second state.

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

7. The circuit of claim 1 , wherein the logic to disable changes to data in the set of non-volatile memory cells includes logic to compare data stored in the set of non-volatile memory cells with a predetermined data pattern, and to disable the physical unclonable function when the data stored does not match the predetermined data pattern.

8. The circuit of claim 1 , wherein the physical unclonable function uses the set of non-volatile memory cells to produce the key.

9. 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 key in a protocol to enable access to data stored in the plurality of non-volatile memory cells.

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

11. The circuit of claim 9 , wherein the plurality of non-volatile memory cells, the port, the security logic and the logic to disable changes to data in the set of non-volatile memory cells are disposed on a single integrated circuit.

12. The circuit of claim 1 , wherein the plurality of non-volatile memory cells comprises a memory array having a plurality of blocks of memory cells, a particular block including the set of non-volatile memory cells, and including access control circuits including block lock bits, which enable and disable access to write data to corresponding blocks in the plurality of blocks, and the logic to disable changes to data in the set of non-volatile memory cells sets a block lock bit for the particular block.

13. The circuit of claim 1 , wherein the logic to disable changes is responsive to a command from an external circuit.

14. A method for operating a circuit configured for maintaining PUF keys in unchangeable form when needed, and including a plurality of non-volatile memory cells, comprising:

executing a physical unclonable function to generate a key;

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

after storing the key, setting an indicator to disable changes to data stored in the set of non-volatile memory cells; wherein the indicator is settable by an external system that issues a signal causing the indicator to be set to disable changes to data stored in the set of non-volatile memory cells when the key is satisfactory for the key's intended purpose.

15. The method of claim 14 , wherein the physical unclonable function utilizes entropy generated using non-volatile memory cells in the plurality of non-volatile memory cells to produce the key.

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

17. The method of claim 14 , 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 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 key, and wherein disabling changes to data stored in the set of non-volatile memory cells disables the physical unclonable function.

18. The method of claim 14 , 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 set of non-volatile memory cells to write the key is enabled, and a second state in which access to the 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 set of non-volatile memory cells includes storing an indicator to set the first state or the second state.

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

20. The method of claim 14 , wherein disabling changes to data stored in the set of non-volatile memory cells includes comparing data stored in the set of non-volatile memory cells with a predetermined data pattern, and disabling the physical unclonable function when the data stored does not match the predetermined data pattern.

21. The method of claim 14 , wherein the physical unclonable function uses the set of non-volatile memory cells to produce the key.

22. The method of claim 14 , including utilizing the key in a protocol to enable access to data other than the key, stored in the plurality of non-volatile memory cells.

23. The method of claim 14 , including after generating the key and before disabling changes, testing the key to verify that it is usable for its intended purpose.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 8, 2018
From: HUNG, CHUN-HSIUNG; CHANG, CHIN-HUNG
To: MACRONIX INTERNATIONAL CO., LTD.
Reel/Frame 044562/0057 →
Continuity (9)
Continuation In Part 15601582 · May 22, 2017
Provisional Application 62528460 · Jul 4, 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 20180176012A1 · Jun 21, 2018
Cited By (2)
US 12,301,712 US 12,614,576