IP Library › Granted Patent US 11,483,167
Granted Patent B2
US 11,483,167 · App. 16/447,887 · Granted Oct 25, 2022

Method and apparatus to provide memory based physically unclonable functions

Inventors: Vikram B. Suresh (Portland, OR); Manoj Sachdev (Waterloo, CA); Sanu K. Mathew (Portland, OR); Sudhir K. Satpathy (Hillsboro, OR)
Assignee: Intel Corporation
H04L9/3278G06F7/584G06F2207/581
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 11,483,167
App. No.
16/447,887
Granted
Oct 25, 2022
Kind
B2
Abstract

Physically unclonable functions response in memory cells is improved by transistor sizing, transistor threshold voltage (V T ) and body bias in the memory cell to improve the reproducibility of the memory cell and multiple Sense Amplifiers (SA) per column to further enhance physically unclonable function entropy. A physically unclonable function exploits a large number of read-sequence-order combinations available in a physically unclonable function memory array to generate an exponentially large challenge-response pair space, without incurring the area and energy costs of hosting and operating an exponentially large memory array.

Claims (33)

1. An apparatus comprising:

a volatile memory array to generate a set of random values using a power-cycling technique; and

a read sequencer to receive a plurality of challenge bits and to use the plurality of challenge bits to select a plurality of random bits from the set of random values in the volatile memory array, the read sequencer to use a first portion of the challenge bits to generate a first plurality of n addresses, to use a second portion of the challenge bits to generate a second plurality of n addresses, and to use the second plurality of n addresses to select a sequence order for the first plurality of n addresses to read the plurality of random bits from the set of random values in the volatile memory array to generate an exponentially large challenge-response pair space from which to select the plurality of random bits.

2. The apparatus of claim 1 , wherein the read sequencer to include a first linear-feedback shift register and a second linear-feedback shift register, the first linear-feedback shift register to generate the first plurality of n addresses and the second linear-feedback shift register to generate the second plurality of n addresses to select the sequence order for the first plurality of n addresses.

3. The apparatus of claim 1 , wherein, the volatile memory array has m rows and one column, the plurality of random bits is m/2, a number of challenge bits is p, the challenge-response pair space is 2 p , and n=m/2.

4. The apparatus of claim 3 , wherein m is 128, p is 420, the first portion of the challenge bits is 296 and the second portion of the challenge bits is 124.

5. The apparatus of claim 1 , wherein the volatile memory array is a static random access memory.

6. The apparatus of claim 5 , wherein the static random access memory includes a static random access memory cell with an odd number of sense amplifiers to enhance reproducibility of a power-up state, the odd number of sense amplifiers greater than two.

7. The apparatus of claim 6 , wherein the static random access memory further includes a plurality of delay blocks, each delay block coupled to one of sense amplifiers, the delay block to delay the read random values from the volatile memory array.

8. A method comprising:

generating a set of random values in a volatile memory array using a power-cycling technique; and

using a read sequencer to select a plurality of random bits from the set of random values in the volatile memory array using a plurality of received challenge bits, comprising:

generating a first plurality of n addresses using a first portion of the received challenge bits;

generating a second plurality of n addresses using a second portion of the received challenge bits;

using the second plurality of n addresses to select a sequence order for the first plurality of n addresses; and

reading the plurality of random bits from the set of random values in the volatile memory array using the sequence order to generate an exponentially large challenge-response pair space from which to select the plurality of random bits.

9. The method of claim 8 , wherein a first linear-feedback shift register to generate the first plurality of n addresses and a second linear-feedback shift register to generate the second plurality of n addresses to select the sequence order for the first plurality of n addresses.

10. The method of claim 8 , wherein, the volatile memory array has m rows and one column, the plurality of random bits is m/2, a number of challenge bits is p, and the challenge-response pair space is 2 p , and n=m/2.

11. The method of claim 10 , wherein m is 128, p is 420, the first portion of the received challenge bits is 296 and the second portion of the received challenge bits is 124.

12. The method of claim 8 , wherein the volatile memory array is a static random access memory.

13. The method of claim 12 , wherein the static random access memory includes a static random access memory cell with an odd number of sense amplifiers to enhance reproducibility of a power-up state, the odd number of sense amplifiers greater than two.

14. The method of claim 13 , wherein the static random access memory further includes a plurality of delay blocks, each delay block coupled to one of sense amplifiers, the delay block to delay the read random values from the volatile memory array.

15. A system comprising:

a processor, the processor comprising:

a volatile memory array to generate a set of random values using a power-cycling technique; and

a read sequencer to receive a plurality of challenge bits and to use the plurality of challenge bits to select a plurality of random bits from the set of random values in the volatile memory array, the read sequencer to use a first portion of the challenge bits to generate a first plurality of n addresses, to use a second portion of the challenge bits to generate a second plurality of n addresses, and to use the second plurality of n addresses to select a sequence order for the first plurality of n addresses to read the plurality of random bits from the set of random values in the volatile memory array to generate an exponentially large challenge-response pair space from which to select the plurality of random bits; and

a display communicatively coupled to the processor.

16. The system of claim 15 , wherein the read sequencer to include a first linear-feedback shift register and a second linear-feedback shift register, the first linear-feedback shift register to generate the first plurality of n addresses and the second linear-feedback shift register to generate the second plurality of n addresses to select the sequence order for the first plurality of n addresses.

17. The system of claim 15 , wherein, the volatile memory array has m rows and one column, the plurality of random bits is m/2, a number of challenge bits is p, the challenge-response pair space is 2 p , and n=m/2.

18. The system of claim 17 , wherein m is 128, p is 420, the first portion of the challenge bits is 296 and the second portion of the challenge bits is 124.

19. The system of claim 15 , wherein the volatile memory array is a static random access memory.

20. The system of claim 19 , wherein the static random access memory includes a static random access memory cell with an odd number of sense amplifiers to enhance reproducibility of a power-up state, the odd number of sense amplifiers greater than two.

21. The system of claim 20 , wherein the static random access memory further includes a plurality of delay blocks, each delay block coupled to one of sense amplifiers, the delay block to delay the read random values from the volatile memory array.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2019
From: SURESH, VIKRAM B.; SACHDEV, MANOJ; MATHEW, SANU K.; SATPATHY, SUDHIR K.
To: INTEL CORPORATION
Reel/Frame 050385/0502 →
Continuity (1)
Related Publication 20200403813A1 · Dec 24, 2020