17
Workshop on the Future of Spintronics, June 5, 2016 1 MTJ based Random Number Generation and Analog-to-Digital Conversion Chris H. Kim University of Minnesota

MTJ based Random Number Generation and Analog …Test Pass/Fail 1 Frequency Fail 2 Block frequency Pass 3 Cumulative Sums Fail 4 Runs Pass 5 Longest-Run-of-Ones Pass 6 Rank Pass 7

  • Upload
    others

  • View
    9

  • Download
    2

Embed Size (px)

Citation preview

Page 1: MTJ based Random Number Generation and Analog …Test Pass/Fail 1 Frequency Fail 2 Block frequency Pass 3 Cumulative Sums Fail 4 Runs Pass 5 Longest-Run-of-Ones Pass 6 Rank Pass 7

Workshop on the Future of Spintronics, June 5, 2016 1

MTJ based Random Number Generation and Analog-to-Digital

Conversion

Chris H. KimUniversity of Minnesota

Page 2: MTJ based Random Number Generation and Analog …Test Pass/Fail 1 Frequency Fail 2 Block frequency Pass 3 Cumulative Sums Fail 4 Runs Pass 5 Longest-Run-of-Ones Pass 6 Rank Pass 7

Switching Probability of an MTJSwitching probability (%)

1009080706050403020

0

Pulse amplitude (V)0.4 0.5 0.6 0.7 0.8 0.9 1.0

Puls

e w

idth

(ns)

123456789

10

Psw=50% Psw=100% 10

Psw=0%

H. Zhao, JP Wang, JAP, 2011

• Psw=100% (write) or 0% (read) : STT-MRAM• Psw=50% switching: Random number generation• 0%<Psw<100%: Analog to digital conversion, time to

digital conversion 6

Anti-parallel:High R

Parallel: Low R

Page 3: MTJ based Random Number Generation and Analog …Test Pass/Fail 1 Frequency Fail 2 Block frequency Pass 3 Cumulative Sums Fail 4 Runs Pass 5 Longest-Run-of-Ones Pass 6 Rank Pass 7

MTJ based TRNG- Unconditional Reset Scheme -

• 50% switching utilized for generating random bits• Large reset voltage required every cycle slow,

high power, short lifetime

V

VPERTURB+

VRESET

0

One cycleRepeat

tRESET tREAD

1. Reset 2. Perturb

3. Read resolved stateTime

tPERTURB

7

Page 4: MTJ based Random Number Generation and Analog …Test Pass/Fail 1 Frequency Fail 2 Block frequency Pass 3 Cumulative Sums Fail 4 Runs Pass 5 Longest-Run-of-Ones Pass 6 Rank Pass 7

New Conditional Perturb Scheme

• Perturbs MTJ according to the previously sampled MTJ state, thereby eliminating the reset phase fast, low power, long lifetime

V

VPERTURB+

VPERTURB-

0

One cycleRepeat

tREAD

2. Conditional Perturb

1. Read resolved state

Time

tPERTURB

8

Page 5: MTJ based Random Number Generation and Analog …Test Pass/Fail 1 Frequency Fail 2 Block frequency Pass 3 Cumulative Sums Fail 4 Runs Pass 5 Longest-Run-of-Ones Pass 6 Rank Pass 7

MTJ Measurement Setup

• Random number generator measurement setup with sub-50 ps pulse width resolution

Pulse Generator 1(Picosecond 10070ATM)

Pulse Generator 2(*HP 8110ATM or

**Picosecond 10060ATM)

Power Combiner

(Picosecond 5331-104TM)

Bias-Tee(Picosecond 5542-229TM)

MTJ

DAQ Board (NI PCI-6251TM)

LabV

iew

TM In

terf

ace

ADCResistance

Random Number

Reset or -Perturb

+Perturb

Read10kOhm

11

MgO 0.85nm

Capping layerCo20Fe60B20 1.9nm

Co40Fe40B20 2.4nmRu 0.85nm

Co70Fe30 2.3nm

PtMn 15nm

Seed layer

Dimension 170x50nm2

RATMR 107%

5.26 Ω∙μm2

100nm

Thermal stability 61

W. Choi, Y. Lv, JP Wang, C. Kim, IEDM 2014

Page 6: MTJ based Random Number Generation and Analog …Test Pass/Fail 1 Frequency Fail 2 Block frequency Pass 3 Cumulative Sums Fail 4 Runs Pass 5 Longest-Run-of-Ones Pass 6 Rank Pass 7

NIST Randomness Test Results

• Both schemes show similar level of randomness• The output data fail to pass the frequency and

cumulative sums tests

Test Pass/Fail1 Frequency Fail2 Block frequency Pass3 Cumulative Sums Fail4 Runs Pass5 Longest-Run-of-Ones Pass6 Rank Pass7 FFT Pass

8 Non-overlapping Template Matching

9 Serial Pass

10 Approximate Entropy Pass

# of segments: 55

Pass

13

Test Pass/Fail1 Frequency Fail2 Block frequency Pass3 Cumulative Sums Fail4 Runs Pass5 Longest-Run-of-Ones Pass6 Rank Pass7 FFT Pass

8 Non-overlapping Template Matching

9 Serial Pass

10 Approximate Entropy Pass

# of segments: 55

Pass

Unconditional reset scheme Conditional perturb scheme

Page 7: MTJ based Random Number Generation and Analog …Test Pass/Fail 1 Frequency Fail 2 Block frequency Pass 3 Cumulative Sums Fail 4 Runs Pass 5 Longest-Run-of-Ones Pass 6 Rank Pass 7

• Simple single-parameter feedback control• The proposed techniques were implemented

in a real-time feedback loop

Real-Time Output Probability Tracking

Vref

Sense Amp.

Random number output

10 bit counter

10 bit counter

Adjust tPERTURB-

Ref. CLK (Sense amp

enable)

1 bit shift register

10 b

it di

gita

l co

mpa

rato

r

a

a/b < 49% or 49% < a/b < 51% or

a/b >51%

Adjust tPERTURB- while keeping VPERTURB+,

tPERTURB+, and VPERTURB- constant

Counts the number of 1's Multiply by 2 Compare

Counts the total number of bits

Bidirectionalpulse generator

b

Polarity selection circuit

Probability tracking schemeConditional perturb scheme

VMTJ

14W. Choi, Y. Lv, JP Wang, C. Kim, IEDM 2014

Page 8: MTJ based Random Number Generation and Analog …Test Pass/Fail 1 Frequency Fail 2 Block frequency Pass 3 Cumulative Sums Fail 4 Runs Pass 5 Longest-Run-of-Ones Pass 6 Rank Pass 7

Measured Probability and Randomness- Real-Time Output Probability Tracking-

• Proposed conditional perturb and real-time probability tracking provides good randomness while improving reliability, speed, and power

46474849505152535455

7.57.67.77.87.9

88.18.28.38.48.5

1 57 113 169 225 281# of 1 Kbit segments

Initial locking period

Min. pulse width step: 50ps

VPERTURB+: +220mV, tPERTURB+: 8.0ns, VPERTURB-: -215mV

Prob

abili

ty (%

)-P

ertu

rb p

ulse

wid

th (n

s)

Test Pass/Fail1 Frequency2 Block frequency Pass3 Cumulative Sums4 Runs Pass5 Longest-Run-of-Ones Pass6 Rank Pass7 FFT Pass

8 Non-overlapping Template Matching

9 Serial Pass

10 Approximate Entropy Pass

Conditional perturb scheme, # of segments: 55

Pass

Raw data after probability tracking

Pass

Pass

15

Page 9: MTJ based Random Number Generation and Analog …Test Pass/Fail 1 Frequency Fail 2 Block frequency Pass 3 Cumulative Sums Fail 4 Runs Pass 5 Longest-Run-of-Ones Pass 6 Rank Pass 7

MTJ based ADC

Slide 9

0102030405060708090

Prob

abili

ty (%

)

30 °C85 °C

0102030405060708090

370

390

410

430

450

470

490

510

530

550

VIN (mV)

Prob

abili

ty (%

)

128 bits / sample 2,048 bits / sample

30 °C85 °C

tPERTURB = 5ns tPERTURB = 5ns

370

390

410

430

450

470

490

510

530

550

VIN (mV)

• A short 5ns tPERTURB used for suppressing thermal activation switching

• Averaging more bits gives a smoother and more accurate probability curve (128 bits vs. 2,048 bits)

• Temperature sensitivity is acceptably low

W. Choi, Y. Lv, JP Wang, C. Kim, VLSI Tech. Symposium, 2015

Page 10: MTJ based Random Number Generation and Analog …Test Pass/Fail 1 Frequency Fail 2 Block frequency Pass 3 Cumulative Sums Fail 4 Runs Pass 5 Longest-Run-of-Ones Pass 6 Rank Pass 7

Measured Worst Case DNL and INL

Slide 10

0

0.5

1

1.5

2

2.5

64 512 4096# of bits / sample

30 °C85 °C

0

0.5

1

1.5

2

2.5

64 512 4096# of bits / sample

Wor

st c

ase

INL

(LSB

)

30 °C85 °C

tPERTURB = 5ns1LSB = 4mV

tPERTURB = 5ns1LSB = 4mV

Wor

st c

ase

DN

L (L

SB)

Our target

• A 5-bit ADC resolution is assumed (i.e. 1LSB = 4mV)• DNL of 1 LSB can be achieved by averaging more

random bits (e.g. 2,048 bits)• INL cannot be improved by simply averaging more bits

Page 11: MTJ based Random Number Generation and Analog …Test Pass/Fail 1 Frequency Fail 2 Block frequency Pass 3 Cumulative Sums Fail 4 Runs Pass 5 Longest-Run-of-Ones Pass 6 Rank Pass 7

One-time Digital Calibration for Improving INL

Slide 11

• Basic idea: Pre-calibrate MTJ transfer curve and store the inverse function in a look-up table to compensate for inherent non-linearity

VINMTJ-based

ADC1bit Accumul-ator + DAC

Moving Average Filter

Look Up TableDOUT

DOUT_CAL

VIN

Prob

abili

ty (%

)

MTJ

Counter + Register

DO

UT Linearizer

DOUT_CAL

J. Kim, et al., TCAS-I, 2010, J. Daniels, et al., VLSI Circuits Symposium, 2010.

Page 12: MTJ based Random Number Generation and Analog …Test Pass/Fail 1 Frequency Fail 2 Block frequency Pass 3 Cumulative Sums Fail 4 Runs Pass 5 Longest-Run-of-Ones Pass 6 Rank Pass 7

Measured DNL and INL @ 85 C

Slide 12

-2

-1

0

1

2

DN

L (L

SB)

2,048 bits / sample @ 85ºC

Before digital calibration

DNLMAX = -0.75 / +0.73

-2

-1

0

12

INL

(LSB

)

Digital Out

INLMAX = -1.50 / +1.53

After digital calibration

DNLMAX = -1.00 / +0.82

Digital Out

INLMAX = -0.71 / +0.72

tPERTURB = 5ns tPERTURB = 5ns2,048 bits / sample @ 85ºC

3 7 11 15 19 23 27 31 35 393 7 11 15 19 23 27 31 35 39

0.81 LSB

• Target DNL / INL of 1 LSB can be met after one-time calibration

• ADC resolution limited to 5-bit due to narrow input voltage range

Page 13: MTJ based Random Number Generation and Analog …Test Pass/Fail 1 Frequency Fail 2 Block frequency Pass 3 Cumulative Sums Fail 4 Runs Pass 5 Longest-Run-of-Ones Pass 6 Rank Pass 7

Proposed Input Range Enhancement Technique

Slide 13

VIN

Prob

abili

ty (%

)

2X Input range (2∙VIN,DYN)

Proposed scheme

VINPr

obab

ility

(%)

1X Input range (VIN,DYN)

VMTJ

MTJ

0V

VMTJ

MTJ

VOFFSET

Original scheme

VOFFSET = 0VVOFFSET = VIN,DYN

Page 14: MTJ based Random Number Generation and Analog …Test Pass/Fail 1 Frequency Fail 2 Block frequency Pass 3 Cumulative Sums Fail 4 Runs Pass 5 Longest-Run-of-Ones Pass 6 Rank Pass 7

Implementation of Input Range Enhancement Technique

Slide 14

Volt. dividerfor 2M VOFFSETs

VOFFSETVREF

Sense Amp.

Bit stream of 0's and 1's

Counter

Bidirectionalpulse generator

CountRegister

DOUT

VIN

MTJ

Sample / hold circuit

Analog buffer

Input range enhancement technique

• A voltage divider and an analog buffer control the MTJ bottom node voltage

Page 15: MTJ based Random Number Generation and Analog …Test Pass/Fail 1 Frequency Fail 2 Block frequency Pass 3 Cumulative Sums Fail 4 Runs Pass 5 Longest-Run-of-Ones Pass 6 Rank Pass 7

Measured DNL and INL @ 85 C

Slide 15

• Target DNL / INL of 1 LSB can be met after calibration • 8-bit ADC resolution with good linearity is achieved

2,048 bits / sample @ 85ºC

Before digital calibration

INLMAX = -1.52 / +1.55

After digital calibration

-2

-1

0

1

2

DN

L (L

SB)

DNLMAX = -1.00 / +1.00

tPERTURB = 5ns

Digital Out

-2

-1

0

1

2

INL

(LSB

)

DNLMAX = -1.00 / +1.00

tPERTURB = 5ns

INLMAX = -0.88 / +0.87

Digital Out

2,048 bits / sample@ 85ºC

0 28 56 84 112 140 168 196 224 252 0 28 56 84 112 140 168 196 224 252

0.68 LSB

Page 16: MTJ based Random Number Generation and Analog …Test Pass/Fail 1 Frequency Fail 2 Block frequency Pass 3 Cumulative Sums Fail 4 Runs Pass 5 Longest-Run-of-Ones Pass 6 Rank Pass 7

ADC Performance Summary

Slide 16

Original MTJ-based ADC

+ Digital calibration

+ Digital calibration + Input range enhancement

DNLMAX (LSB)

0.74 1.32

1.00 0.76

1.00 0.84

Bits

5

5

8

0.75 1.53

1.00 0.72

1.00 0.88

Bits

5

5

8

30 ºC 85 ºC2,048 bits / sample

Input range

128mV(X1)

128mV(X1)

1024mV(X8)

DNLMAX (LSB)

INLMAX (LSB)

INLMAX (LSB)

• ADC resolution (=8 bit) was limited by the minimum voltage step (=1mV) of pulse generator

• Ideally, resolution could be as high as 14 bits

W. Choi, Y. Lv, JP Wang, C. Kim, VLSI Tech. Symposium, 2015

Page 17: MTJ based Random Number Generation and Analog …Test Pass/Fail 1 Frequency Fail 2 Block frequency Pass 3 Cumulative Sums Fail 4 Runs Pass 5 Longest-Run-of-Ones Pass 6 Rank Pass 7

Summary• MTJ-based TRNG

– First demonstration of TRNG based on the random switching probability of MTJ

– Conditional perturb and real-time output probability tracking improved lifetime, speed, and power

• MTJ-based ADC– Digital calibration for improved linearity and input

range enhancement technique– 2,048 bits averaged to generate one ADC sample– Insensitive to temperature using a 5ns pulse width

Slide 17