Magnetic Tunnel Junction Random Number Generators Applied to Dynamically Tuned Probability Trees Driven by Spin Orbit Torque
Perpendicular magnetic tunnel junction (pMTJ)-based true-random number generators (RNG) can consume orders of magnitude less energy per bit than CMOS pseudo-RNG. Here, we numerically investigate with a macrospin Landau-Lifshitz-Gilbert equation solver the use of pMTJs driven by spin-orbit torque to directly sample numbers from arbitrary probability distributions with the help of a tunable probability tree. The tree operates by dynamically biasing sequences of pMTJ relaxation events, called 'coinflips', via an additional applied spin-transfer-torque current. Specifically, using a single, ideal pMTJ device we successfully draw integer samples on the interval 0,255 from an exponential distribution based on p-value distribution analysis. In order to investigate device-to-device variations, the thermal stability of the pMTJs are varied based on manufactured device data. It is found that while repeatedly using a varied device inhibits ability to recover the probability distribution, the device variations average out when considering the entire set of devices as a 'bucket' to agnostically draw random numbers from. Further, it is noted that the device variations most significantly impact the highest level of the probability tree, iwth diminishing errors at lower levels. The devices are then used to draw both uniformly and exponentially distributed numbers for the Monte Carlo computation of a problem from particle transport, showing excellent data fit with the analytical solution. Finally, the devices are benchmarked against CMOS and memristor RNG, showing faster bit generation and significantly lower energy use.