Abstract

Random numbers are useful in Monte Carlo simulations, cryptographic key generation and many other security applications. A spin dice was proposed as a 1-bit true random number generator implemented using conventional spin-transfer torque (STT) MRAM, shown in Fig. 1 (we call this cSD), and an m-bit random number may be generated by concatenating m spin dies. The operation of cSD requires three sequential steps as illustrated in Fig. 2: 1) reset the cSD to a known state; 2) stochastic programming of the cSD by current-driven STT (rolling the dice); and 3) sensing the final state of the cSD. However, several design issues limit the efficacy of cSD. Steps 1 and 2 are required to randomize the state of the cSD. The final state of cSD is sensed by passing a current through the magnetic tunnel junction (MTJ) in the cSD. Under thermal fluctuations and process variations, the current flowing through the MTJ during sensing may bias the final state of the cSD in a similar way that STT MRAM is affected by read disturbance problem. Hence, the randomness cSD is degraded because the current paths for programming and sensing are shared. Increasing the activation energy (E A ) of the MTJ increases the current required to flip the MTJ state during sensing operations and mitigates the sensing bias in cSD. However, doing so increases the critical switching current (I C ) needed to program the MTJ and hence, increase the power consumed by the cSD.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call