A Native Stochastic Computing Architecture Enabled by Memristors

A two-terminal memristor device is a promising digital memory for its high integration density, substantially lower energy consumption compared to CMOS, and scalability below 10 nm. However, a nanoscale memristor is an inherently stochastic device, and extra energy and latency are required to make a deterministic memory based on memristors. Instead of enforcing deterministic storage, we take advantage of the nondeterministic memory for native stochastic computing, where the randomness required by stochastic computing is intrinsic to the devices without resorting to expensive stochastic number generation. This native stochastic computing system can be implemented as a hybrid integration of memristor memory and simple CMOS stochastic computing circuits. We use an approach called group write to program memristor memory cells in arrays to generate random bit streams for stochastic computing. Three methods are proposed to program memristors using stochastic bit streams and compensate for the nonlinear memristor write function: voltage predistortion, parallel single-pulse write, and downscaled write and upscaled read. To evaluate these technical approaches, we show by simulation a memristor-based stochastic processor for gradient descent optimization, and k-means clustering. The native stochastic computing based on memristors demonstrates key advantages in energy and speed in compute-intensive, data-intensive, and probabilistic applications.

[1]  R. Williams,et al.  Improved voltage margins using linear error-correcting codes in resistor-logic demultiplexers for nanoelectronics , 2005 .

[2]  Les E. Atlas,et al.  Impulses and stochastic arithmetic for signal processing , 2001, 2001 IEEE International Conference on Acoustics, Speech, and Signal Processing. Proceedings (Cat. No.01CH37221).

[3]  Yuchao Yang,et al.  Observation of conducting filament growth in nanoscale resistive memories , 2012, Nature Communications.

[4]  L. Chua Memristor-The missing circuit element , 1971 .

[5]  Jiantao Zhou,et al.  Stochastic Memristive Devices for Computing and Neuromorphic Applications , 2013, Nanoscale.

[6]  Lin Chen,et al.  Device and SPICE modeling of RRAM devices. , 2011, Nanoscale.

[7]  Michael A. Shanblatt,et al.  Architecture and statistical model of a pulse-mode digital multilayer neural network , 1995, IEEE Trans. Neural Networks.

[8]  G. Seroussi,et al.  Resistor-logic demultiplexers for nanoelectronics based on constant-weight codes. , 2006, Nanotechnology.

[9]  D. Stewart,et al.  The crossbar latch: Logic value storage, restoration, and inversion in crossbar circuits , 2005 .

[10]  Xin Li,et al.  A reconfigurable stochastic architecture for highly reliable computing , 2009, GLSVLSI '09.

[11]  W. J. Poppelbaum,et al.  Stochastic computing elements and systems , 1967, AFIPS '67 (Fall).

[12]  Kyeong-Sik Min,et al.  Self-Adaptive Write Circuit for Low-Power and Variation-Tolerant Memristors , 2010, IEEE Transactions on Nanotechnology.

[13]  Ali S. Hadi,et al.  Finding Groups in Data: An Introduction to Chster Analysis , 1991 .

[14]  Kinam Kim,et al.  A fast, high-endurance and scalable non-volatile memory device made from asymmetric Ta2O(5-x)/TaO(2-x) bilayer structures. , 2011, Nature materials.

[15]  L.O. Chua,et al.  Memristive devices and systems , 1976, Proceedings of the IEEE.

[16]  D K Smith,et al.  Numerical Optimization , 2001, J. Oper. Res. Soc..

[17]  J. Yang,et al.  Direct Identification of the Conducting Channels in a Functioning Memristive Device , 2010, Advanced materials.

[18]  John Shawe-Taylor,et al.  Generating binary sequences for stochastic computing , 1994, IEEE Trans. Inf. Theory.

[19]  Albert Chin,et al.  High performance ultra-low energy RRAM with good retention and endurance , 2010, 2010 International Electron Devices Meeting.

[20]  R. Williams,et al.  Coupled ionic and electronic transport model of thin-film semiconductor memristive behavior. , 2009, Small.

[21]  Howard C. Card,et al.  Stochastic arithmetic implementations of neural networks with in situ learning , 1993, IEEE International Conference on Neural Networks.

[22]  Wei Lu,et al.  Two-terminal resistive switches (memristors) for memory and logic applications , 2011, 16th Asia and South Pacific Design Automation Conference (ASP-DAC 2011).

[23]  Sivan Toledo,et al.  Mapping structures for flash memories: techniques and open problems , 2005, IEEE International Conference on Software - Science, Technology & Engineering (SwSTE'05).

[24]  D. Stewart,et al.  The missing memristor found , 2008, Nature.

[25]  Siddharth Gaba,et al.  Nanoscale resistive memory with intrinsic diode characteristics and long endurance , 2010 .

[26]  J. MacQueen Some methods for classification and analysis of multivariate observations , 1967 .

[27]  P. Mars,et al.  High-speed matrix inversion by stochastic computer , 1976 .

[28]  Narayan Srinivasa,et al.  A functional hybrid memristor crossbar-array/CMOS system for data storage and neuromorphic applications. , 2012, Nano letters.

[29]  W. Lu,et al.  Programmable Resistance Switching in Nanoscale Two-terminal Devices , 2008 .

[30]  Weikang Qian,et al.  The synthesis of robust polynomial arithmetic with stochastic logic , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[31]  Xiaolong Ma,et al.  Global Reinforcement Learning in Neural Networks with Stochastic Synapses , 2006, The 2006 IEEE International Joint Conference on Neural Network Proceedings.

[32]  M. Kozicki,et al.  Electrochemical metallization memories—fundamentals, applications, prospects , 2011, Nanotechnology.

[33]  Charles M. Lieber,et al.  Nanoelectronics from the bottom up. , 2007, Nature materials.

[34]  D. Strukov,et al.  CMOL: Devices, Circuits, and Architectures , 2006 .

[35]  Sergio L. Toral Marín,et al.  Stochastic pulse coded arithmetic , 2000, 2000 IEEE International Symposium on Circuits and Systems. Emerging Technologies for the 21st Century. Proceedings (IEEE Cat No.00CH36353).

[36]  Sergio Telles Ribeiro,et al.  Random-Pulse Machines , 1967, IEEE Trans. Electron. Comput..

[37]  O. Richard,et al.  10×10nm2 Hf/HfOx crossbar resistive RAM with excellent performance, reliability and low-energy operation , 2011, 2011 International Electron Devices Meeting.

[38]  Amine Bermak,et al.  A 96 /spl times/ 64 intelligent digital pixel array with extended binary stochastic arithmetic , 2003, Proceedings of the 2003 International Symposium on Circuits and Systems, 2003. ISCAS '03..

[39]  R. Dittmann,et al.  Redox‐Based Resistive Switching Memories – Nanoionic Mechanisms, Prospects, and Challenges , 2009, Advanced materials.

[40]  Jae Hyuck Jang,et al.  Atomic structure of conducting nanofilaments in TiO2 resistive switching memory. , 2010, Nature nanotechnology.

[41]  Howard C. Card,et al.  Stochastic Neural Computation I: Computational Elements , 2001, IEEE Trans. Computers.

[42]  R. Stanley Williams,et al.  Molecular dynamics simulations of oxide memristors: thermal effects , 2010, 1012.5514.

[43]  M. Kozicki,et al.  Nanoscale memory elements based on solid-state electrolytes , 2005, IEEE Transactions on Nanotechnology.

[44]  Xin Li,et al.  An Architecture for Fault-Tolerant Computation with Stochastic Logic , 2011, IEEE Transactions on Computers.

[45]  Shie Mannor,et al.  Stochastic decoding of LDPC codes , 2006, IEEE Communications Letters.

[46]  W. Lu,et al.  CMOS compatible nanoscale nonvolatile resistance switching memory. , 2008, Nano letters.

[47]  Vincent C. Gaudet,et al.  Iterative decoding using stochastic computation , 2003 .

[48]  Brian R. Gaines,et al.  Stochastic computing , 1967, AFIPS '67 (Spring).

[49]  R. Waser,et al.  Nanoionics-based resistive switching memories. , 2007, Nature materials.

[50]  G. Snider,et al.  Computing with hysteretic resistor crossbars , 2005 .