IP Library › Granted Patent US 11,023,209
Granted Patent B2
US 11,023,209 · App. 16/257,106 · Granted Jun 1, 2021

On-chip hardware random number generator

Inventor: Kangguo Cheng (Schenectady, NY)
Assignee: International Business Machines Corporation
G06F7/588G06F7/582G11C11/1659G11C11/1673G11C11/1675
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,023,209
App. No.
16/257,106
Granted
Jun 1, 2021
Kind
B2
Abstract

An electric device for a hardware random number generator is provided. The hardware random number generator comprises: one or more bitcells which comprise a first pair of a first transistor and a first tunable resistor and a second pair of a second transistor and a second tunable resistor, with the first pair is cross-coupled with the second pair.

Claims (31)

1. An electronic device comprising:

a hardware random number generator, the hardware random number generator comprising:

one or more bitcells, the one or more bitcells each comprising:

a first pair of a first transistor and a first tunable resistor; and

a second pair of a second transistor and a second tunable resistor;

wherein:

the first pair is cross-coupled with the second pair; and

at least one bit-value of a random number generated by the hardware random number generator is based on an output voltage of at least one bitcell of the one or more bitcells.

2. The electronic device of claim 1 , wherein the hardware random number generator is included in a processor package.

3. The electronic device of claim 1 , wherein the first tunable resistor or the second tunable resistor is one of the following: a phase change resistor, a magnetic tunnel junction resistor, or a transition metal oxide resistor.

4. The electronic device of claim 3 , wherein a read signal is applied to the first tunable resistor and the second tunable resistor during a reading of the one or more bitcells.

5. The electronic device of claim 3 , wherein a reset signal is applied to the first tunable resistor and the second tunable resistor after a reading of the one or more bitcells.

6. The electronic device of claim 5 , wherein both a resistance value of the first tunable resistor and a resistance value of the second tunable resistor change upon a subsequent reading based on toggling the first tunable resistor and the second tunable resistor between a high resistance state and a low resistance state.

7. The electronic device of claim 1 , wherein one or more respective logic values associated with the one or more bitcells are based on a difference in resistance values between the first tunable resistor and the second tunable resistor.

8. A method comprising:

sending, by a processor, a reset signal to at least one bitcell of a hardware random number generator unit, wherein (i) the reset signal is above a first predetermined threshold voltage and (ii) the reset signal causes the hardware random number generator to change a resistance state of a tunable resistor of the at least one bitcell of the hardware random number generator unit;

sending, by the processor, a read signal to the at least one bitcell of a hardware random number generator unit, wherein (i) the read signal is below a second predetermined threshold voltage and (ii) the read signal causes the at least one bitcell to produce an output voltage; and

generating, by the processor, at least one bit-value of a random number based on the output voltage of the at least one bitcell.

9. The method of claim 8 , wherein the hardware random number generator is included in the same packaging as the processor.

10. The method of claim 8 , wherein the tunable resistor is one of the following: a phase change resistor, a magnetic tunnel junction resistor, or a transition metal oxide resistor.

11. The method of claim 8 , the method further comprising:

executing, by the processor, one or more instructions to generate a pseudo-random number, wherein the random number is a seed input for a hash function.

12. A computer program product comprising:

a computer readable storage medium and program instructions stored on the computer readable storage medium, the program instructions comprising:

program instructions to send, by a processor, a reset signal to at least one bitcell of a hardware random number generator unit, wherein (i) the reset signal is above a first predetermined threshold voltage and (ii) the reset signal causes the hardware random number generator to change a resistance state of a tunable resistor of the at least one bitcell of the hardware random number generator unit;

program instructions to send, by the processor, a read signal to the at least one bitcell of a hardware random number generator unit, wherein (i) the read signal is below a second predetermined threshold voltage and (ii) the read signal causes the at least one bitcell to produce an output voltage; and

program instructions to generate, by the processor, at least one bit-value of a random number based on the output voltage of the at least one bitcell.

13. The computer program product of claim 12 , wherein the hardware random number generator is included in the same packaging as the processor.

14. The computer program product of claim 12 , wherein the tunable resistor is one of the following: a phase change resistor, a magnetic tunnel junction resistor, or a transition metal oxide resistor.

15. The computer program product of claim 12 , the program instructions further comprising:

program instructions to execute, by the processor, one or more instructions to generate a pseudo-random number, wherein the random number is a seed input for a hash function.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2019
From: CHENG, KANGGUO
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 048129/0539 →
Continuity (1)
Related Publication 20200241842A1 · Jul 30, 2020