<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Neurosci.</journal-id>
<journal-title>Frontiers in Neuroscience</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Neurosci.</abbrev-journal-title>
<issn pub-type="epub">1662-453X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/fnins.2022.941753</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Neuroscience</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>A high throughput generative vector autoregression model for stochastic synapses</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Hennen</surname> <given-names>Tyler</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/1945039/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Elias</surname> <given-names>Alexander</given-names></name>
<xref ref-type="aff" rid="aff2"><sup>2</sup></xref>
</contrib>
<contrib contrib-type="author">
<name><surname>Nodin</surname> <given-names>Jean-Fran&#x000E7;ois</given-names></name>
<xref ref-type="aff" rid="aff3"><sup>3</sup></xref>
</contrib>
<contrib contrib-type="author">
<name><surname>Molas</surname> <given-names>Gabriel</given-names></name>
<xref ref-type="aff" rid="aff3"><sup>3</sup></xref>
<xref ref-type="aff" rid="aff4"><sup>4</sup></xref>
</contrib>
<contrib contrib-type="author">
<name><surname>Waser</surname> <given-names>Rainer</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
</contrib>
<contrib contrib-type="author">
<name><surname>Wouters</surname> <given-names>Dirk J.</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name><surname>Bedau</surname> <given-names>Daniel</given-names></name>
<xref ref-type="aff" rid="aff2"><sup>2</sup></xref>
<xref ref-type="corresp" rid="c001"><sup>&#x0002A;</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/1806074/overview"/>
</contrib>
</contrib-group>
<aff id="aff1"><sup>1</sup><institution>Institut f&#x000FC;r Werkstoffe der Elektrotechnik 2 (IWE II), RWTH Aachen University</institution>, <addr-line>Aachen</addr-line>, <country>Germany</country></aff>
<aff id="aff2"><sup>2</sup><institution>Western Digital San Jose Research Center</institution>, <addr-line>San Jose, CA</addr-line>, <country>United States</country></aff>
<aff id="aff3"><sup>3</sup><institution>CEA, LETI</institution>, <addr-line>Grenoble</addr-line>, <country>France</country></aff>
<aff id="aff4"><sup>4</sup><institution>Weebit Nano Ltd.</institution>, <addr-line>Grenoble</addr-line>, <country>France</country></aff>
<author-notes>
<fn fn-type="edited-by"><p>Edited by: Abhronil Sengupta, The Pennsylvania State University (PSU), United States</p></fn>
<fn fn-type="edited-by"><p>Reviewed by: Jie Jiang, Central South University, China; Yuhan Shi, University of California, San Diego, United States</p></fn>
<corresp id="c001">&#x0002A;Correspondence: Daniel Bedau <email>daniel.bedau&#x00040;wdc.com</email></corresp>
<fn fn-type="other" id="fn001"><p>This article was submitted to Neuromorphic Engineering, a section of the journal Frontiers in Neuroscience</p></fn></author-notes>
<pub-date pub-type="epub">
<day>18</day>
<month>08</month>
<year>2022</year>
</pub-date>
<pub-date pub-type="collection">
<year>2022</year>
</pub-date>
<volume>16</volume>
<elocation-id>941753</elocation-id>
<history>
<date date-type="received">
<day>11</day>
<month>05</month>
<year>2022</year>
</date>
<date date-type="accepted">
<day>04</day>
<month>08</month>
<year>2022</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x000A9; 2022 Hennen, Elias, Nodin, Molas, Waser, Wouters and Bedau.</copyright-statement>
<copyright-year>2022</copyright-year>
<copyright-holder>Hennen, Elias, Nodin, Molas, Waser, Wouters and Bedau</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/"><p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p></license> </permissions>
<abstract>
<p>By imitating the synaptic connectivity and plasticity of the brain, emerging electronic nanodevices offer new opportunities as the building blocks of neuromorphic systems. One challenge for large-scale simulations of computational architectures based on emerging devices is to accurately capture device response, hysteresis, noise, and the covariance structure in the temporal domain as well as between the different device parameters. We address this challenge with a high throughput generative model for synaptic arrays that is based on a recently available type of electrical measurement data for resistive memory cells. We map this real-world data onto a vector autoregressive stochastic process to accurately reproduce the device parameters and their cross-correlation structure. While closely matching the measured data, our model is still very fast; we provide parallelized implementations for both CPUs and GPUs and demonstrate array sizes above one billion cells and throughputs exceeding one hundred million weight updates per second, above the pixel rate of a 30 frames/s 4K video stream.</p></abstract>
<kwd-group>
<kwd>neuromorphic computing</kwd>
<kwd>machine learning</kwd>
<kwd>time series</kwd>
<kwd>emerging technologies</kwd>
<kwd>stochastic model</kwd>
<kwd>ReRAM</kwd>
<kwd>neural networks</kwd>
<kwd>nanotechnology</kwd>
</kwd-group>
<counts>
<fig-count count="15"/>
<table-count count="0"/>
<equation-count count="22"/>
<ref-count count="63"/>
<page-count count="18"/>
<word-count count="10749"/>
</counts>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="s1">
<title>Introduction</title>
<p>Recent trends in computing hardware have placed increasing emphasis on neuromorphic architectures implementing machine learning (ML) algorithms directly in hardware. Such bio-inspired approaches, through in-memory computation and massive parallelism, excel in new classes of computational problems and offer promising advantages with respect to power consumption and error resiliency. While CMOS-based neuromorphic computing (NC) implementations have made substantial progress recently, new materials and physical mechanisms may ultimately provide better opportunities for energy efficiency and scaling (Burr et al., <xref ref-type="bibr" rid="B8">2017</xref>; Milo et al., <xref ref-type="bibr" rid="B40">2020</xref>; Sangwan and Hersam, <xref ref-type="bibr" rid="B53">2020</xref>).</p>
<p>A specific functionality required in NC applications is the ability to mimic synaptic connections and plasticity by allowing the storage of large numbers of interconnected and continuously adaptable resistance values. Several candidate memory technologies such as MRAM, ReRAM, PCM, CeRAM, are emerging to cover this behavior using different physical mechanisms (Chen et al., <xref ref-type="bibr" rid="B12">2014</xref>; Liu et al., <xref ref-type="bibr" rid="B33">2014</xref>; You Zhou and Ramanathan, <xref ref-type="bibr" rid="B61">2015</xref>; Yu and Chen, <xref ref-type="bibr" rid="B62">2016</xref>). Among these, ReRAM is attractive for its simplicity of materials and device structure, providing the necessary CMOS compatibility and scalability (Waser et al., <xref ref-type="bibr" rid="B58">2009</xref>). ReRAM is essentially a two terminal nanoscale electrochemical cell, whose variable resistance state is based on manipulation of the point defect configuration in the oxide material (depicted in <xref ref-type="fig" rid="F1">Figure 1</xref>). This redox-based switching mechanism is intrinsically analog, allowing stable resistance levels to be stored and adjusted through application of bipolar voltage stimuli. However, non-idealities such as stochasticity, nonlinearity, and noise are prominent features of these devices that critically impact the performance of neuromorphic systems composed of them (Kim et al., <xref ref-type="bibr" rid="B28">2018</xref>).</p>
<fig id="F1" position="float">
<label>Figure 1</label>
<caption><p>In analogy to biological synapses, two terminal solid state nanodevices such as ReRAM can store synaptic weights as electrical resistance states. The devices, consisting simply of patterned metal-insulator-metal material stacks, have an adjustable resistance level determined by the ionic configuration inside the insulating layer. This nano-ionic mechanism also exhibits non-ideal properties such as stochasticity and noise.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-16-941753-g0001.tif"/>
</fig>
<p>Modern ML models have reached an astonishingly large and ever-increasing size, with recent examples exceeding a hundred billion weights (Brown et al., <xref ref-type="bibr" rid="B7">2020</xref>). Before comparable neuromorphic hardware using artificial solid-state synapses can become a reality, large-scale network designs need to first be implemented and evaluated in computer simulations. Training, validation, and optimization of such networks is a process that involves a huge number of simulated devices, voltage pulses, and current readouts. Within this process, it is important to accurately consider the constraints of the underlying hardware in detail. Therefore, lightweight, fast, and accurate stochastic simulations of the individual synaptic devices is a key requirement.</p>
<p>Traditionally, device modeling begins with a physical description of the materials and processes involved. In the case of ReRAM, the physical situation is immensely complicated with many degrees of freedom, and accurate modeling is a wide-scale and ongoing research undertaking. Efforts in this direction are motivated by advancing an understanding of physical and chemical dependencies that can in principle inform design choices on physically justified grounds. In the past decade, many different computational techniques have been employed to furnish device models, from ab initio density-functional theory (DFT), molecular dynamics (MD), kinetic Monte Carlo (KMC), finite element method (FEM), as well as ordinary differential equation (ODE) and differential algebraic equation (DAE) solvers (Ascoli et al., <xref ref-type="bibr" rid="B3">2015</xref>; Jiang and Stewart, <xref ref-type="bibr" rid="B24">2017</xref>; Messaris et al., <xref ref-type="bibr" rid="B39">2018</xref>; Stewart, <xref ref-type="bibr" rid="B56">2019</xref>; Kopperberg et al., <xref ref-type="bibr" rid="B30">2021</xref>). The resulting models exist on a spectrum of physical abstraction, such that the cost of increasing computational speed is generally a trade-off in physical accuracy/detail (Ielmini and Milo, <xref ref-type="bibr" rid="B22">2017</xref>).</p>
<p>Device models that naturally encompass stochasticity do so at the cost of complexity needed to compute the physical scenario in high detail. For example, atomistic KMC simulates switching processes with atomic precision and is inherently stochastic but requires hours of computation per cycle even for small individual cell volumes (e.g., 125 nm<sup>2</sup> Abbaspour et al., <xref ref-type="bibr" rid="B1">2020</xref>). At the other end of the spectrum, dynamic models based on numerical solutions of ODE systems are designed to run significantly faster while sometimes aiming to remain physically realistic. However, their higher speed invariably comes at the cost of approximations, simplifications, and omissions of physical reality. Typically, device operation is distilled to a dynamical description of one or two state variables, such as a conducting filament length, radius, or a defect concentration.</p>
<p>Due in part to ambiguity in their high dimensional parameter space, a given ODE model encompasses a diverse range of possible cell behaviors and has the flexibility to approximately match measurement data (Mayer et al., <xref ref-type="bibr" rid="B37">2010</xref>; Reuben et al., <xref ref-type="bibr" rid="B50">2019</xref>). However, fitting the model to data is commonly an <italic>ad-hoc</italic>, manual, and/or unspecified procedure. Having dispensed with the atomistic sources of variability, ODE models are fully deterministic by default. Where stochasticity is required, it is accounted for by injecting noise into the state variables or parameters of the model (Maria Puglisi et al., <xref ref-type="bibr" rid="B36">2015</xref>; Li et al., <xref ref-type="bibr" rid="B32">2017</xref>; Bengel et al., <xref ref-type="bibr" rid="B4">2020</xref>). Due to the unique experimental challenges posed by electrical measurement of ReRAM, the data used for fitting is not necessarily statistically sufficient nor measured under relevant electrical conditions and timescales. While models can be tuned by hand to roughly match the dispersion observed in a measurement (Chen and Yu, <xref ref-type="bibr" rid="B13">2015</xref>; Jiang et al., <xref ref-type="bibr" rid="B25">2016</xref>), they generally fail to accurately reproduce the complex statistical properties of actual devices.</p>
<p>The main purpose of ODE device models is to be computationally efficient enough to support circuit simulation. Still, nonlinear ODE solvers require many finely spaced timesteps and a considerable amount of total time to compute dynamical trajectories. Although they have been successfully used to demonstrate small scale circuitry such as logic elements and small crossbar arrays (Bocquet et al., <xref ref-type="bibr" rid="B6">2014</xref>; Huang et al., <xref ref-type="bibr" rid="B20">2017</xref>; Siemon et al., <xref ref-type="bibr" rid="B55">2019</xref>; Wald and Kvatinsky, <xref ref-type="bibr" rid="B57">2019</xref>), benchmarks or indications of run time for ODE-based simulations have so far not been supplied. Except for extremely small ML model sizes on the order of 10<sup>3</sup> weights or below, demonstrations of network performance are expected to remain computationally intractable <italic>via</italic> conventional circuit simulation.</p>
<p>In this article, we address these device modeling challenges with a new type of generative model for arrays of artificial synapses. The main objective of the model is to accurately reproduce the statistical properties of fabricated devices while remaining computationally lightweight. Starting with newly available electrical measurement data as an input, this phenomenological model is systematically fit using a well defined statistical regression analysis. The exclusive use of easily computable analytical expressions provides close quantitative agreement with relevant experimental observation. Taking advantage of parallel resources on a modern CPU and GPU, we demonstrate the ability to simulate hundreds of millions of synaptic connections with over 10<sup>8</sup> weight updates per second. With its high throughput and low memory footprint, the model can be usefully employed to simulate large arrays of solid-state synapses for investigation of emerging NC concepts on a large scale.</p>
</sec>
<sec sec-type="methods" id="s2">
<title>Methods</title>
<p>The basic requirement for an electronic device serving as an artificial synapse is to moderate the flow of electrical signals through connections in a network. Left undisturbed, the device ideally maintains a fixed weight, or dependence between the voltage across the two device terminals, <italic>U</italic>, and the resulting current through the device, <italic>I</italic>. Further, for learning there must be some means of affecting the weight in a durable way. ReRAMs are bipolar devices that have an adjustable (potentially nonlinear) non-volatile resistance state, which is based on the size and shape of a conducting filament that partially or fully bridges the insulating gap of the oxide material. Simplistically, when <italic>U</italic> exceeds certain threshold levels, the resistance state begins to transition toward lower or higher values depending on the voltage polarity, which corresponds to growth and shrinkage of the conducting filament. When the filament only partially bridges the insulating gap, conduction may be limited for example by tunneling through a Schottky barrier of a material interface, leading to a relatively high resistance levels (Yang et al., <xref ref-type="bibr" rid="B60">2008</xref>; Waser et al., <xref ref-type="bibr" rid="B58">2009</xref>). As the filament grows and gradually bridges the gap, the resistance decreases as conduction transitions into the ohmic type.</p>
<p>In designing our model, we place high priority on speed and fitting accuracy. One of the beginning assumptions is that in every possible device state, the current can be represented by a linear mixture of two fixed polynomials in <italic>U</italic>. These two polynomials, which are each estimated from a fit to measurement data, can be thought of as limiting cases for the highest possible high resistance state, <italic>I</italic>HHRS(<italic>U</italic>), and lowest possible low resistance state, <italic>I</italic>LLRS(<italic>U</italic>). The device current in all possible resistance states is then given by</p>
<disp-formula id="E1"><label>(1)</label><mml:math id="M1"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:mi>I</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>r</mml:mi><mml:mo>,</mml:mo><mml:mi>U</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>=</mml:mo><mml:mi>r</mml:mi><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mtext>HHRS</mml:mtext></mml:mrow></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>U</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>+</mml:mo><mml:mo stretchy='false'>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x02212;</mml:mo><mml:mi>r</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mtext>LLRS</mml:mtext></mml:mrow></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>U</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>conveniently reducing the description of the conduction in the material to a single state variable 0 &#x0003C; <italic>r</italic> &#x0003C; 1. This set of functions can be efficiently evaluated by Horner&#x00027;s algorithm and serve as a close enough approximation to the true non-linear conduction behavior for our purposes.</p>
<p>In ReRAM, the overall resistance state as well as the transition behavior is affected by a vast number of different possible configurations of ionic defects in the material, giving rise to the observed stochastic behavior and history dependence (<xref ref-type="fig" rid="F2">Figure 2</xref>). Rather than attempting to describe the ionic transport physically, we turn instead to measurement data to directly provide the necessary statistical information. A discrete multivariate stochastic process based on a Structural Vector Autoregression (SVAR) model is fit to the data and used to generate latent variables that guide the state evolution of simulated memory cells. As a cell is exposed to voltage signals, new terms of the SVAR model are realized by a sum of easily computable linear transformations of past states and pseudorandom vectors.</p>
<fig id="F2" position="float">
<label>Figure 2</label>
<caption><p>Resistance states reached in a synaptic ReRAM device through application of voltage pulses exhibit a probabilistic dependence on past states, leading to long-range correlations that also involve other parameters such as the voltage thresholds required for switching. Starting with effectively infinite state possibilities, represented by the three cells on the left, an applied voltage pulse brings about a set of transition probabilities to many possible future states (right).</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-16-941753-g0002.tif"/>
</fig>
<p>As an overview, the experimental and simulation approach that will be elaborated in this section can be shortly summarized as follows:</p>
<list list-type="order">
<list-item><p>A fabricated ReRAM cell is experimentally driven through a large number of resistance cycles by applying a continuous periodic voltage signal while measuring the resulting current.</p></list-item>
<list-item><p>A time series of feature vectors, <italic><bold>x</bold></italic><sub><italic>n</italic></sub>, composed of resistance values and switching threshold voltages, is extracted from each of the measured cycles.</p></list-item>
<list-item><p>A discrete stochastic process, <inline-formula><mml:math id="M2"><mml:msubsup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, is constructed to enable generation of simulated feature vectors that reproduce the measured distributions as well as the long-range correlation structure of <italic><bold>x</bold></italic><sub><italic>n</italic></sub>.</p></list-item>
<list-item><p>An array of simulated cells are instantiated according to independent realizations of <inline-formula><mml:math id="M3"><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> to represent cycle-to-cycle variations, together with a random scaling vector <italic><bold>s</bold></italic><sub><italic>m</italic></sub> to represent device-to-device variations.</p></list-item>
<list-item><p>Two programming methods are exposed for each cell; one to apply voltages and another to make realistic current readouts. Applied voltages above the generated thresholds alter the device state, following an empirical structure which encodes the resistance transition behavior and allows access to a range of resistance states. Each voltage driven resistance cycle triggers the generation of new stochastic terms from <inline-formula><mml:math id="M4"><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, which govern the progression to future states.</p></list-item>
</list>
<sec>
<title>Data collection</title>
<p>For the purposes of stochastic modeling, electrical measurement data is needed that capture relevant information about the internal state of a memory cell and its variation cycle-to-cycle (CtC) and device-to-device (DtD). However, ReRAM measurements performed at operational speed typically make exclusive use of rectangular voltage pulse sequences, which yield very little useful state information. On the other hand, measurements applying continuously swept voltage signals while sampling the resulting current are more suitable because much more information is collected each cycle, such as switching threshold voltages, current-voltage nonlinearity, resistance states, and transition behavior.</p>
<p>Conventionally, measurements employing voltage sweeps are carried out using the source measure units (SMUs) of commercial semiconductor parameter analyzers (SPAs). However, SMUs make heavy use of averaging to measure noisy signals at high resolution and thus sample too slowly to collect cycling data in a meaningful quantity. Furthermore, because two-terminal switching devices are prone to electrical instability and runaway transitions, voltage sweeping measurements usually require integrated current limiting transistors to avoid destruction or rapid degradation of the cell. This presents a significant fabrication overhead and limits the materials available for study. In light of these challenges, the input data for the present stochastic model was acquired using a custom measurement technique, introduced in detail in a recent publication (Hennen et al., <xref ref-type="bibr" rid="B19">2021</xref>). The setup uses an external current-limiting amplifier circuit to allow for collection of sweeping measurements at over six orders of magnitude higher speeds than SMUs, while also eliminating the cumbersome requirement of on-chip current limiting.</p>
<p>The ReRAM cell used for measurement of cycling statistics was integrated in the back end of line of a 130 nm CMOS process, between M4 and M5 aluminum metal lines (<xref ref-type="fig" rid="F3">Figure 3</xref>). On M4, a damascene TiN <italic>via</italic> followed by a patterned TiN bottom electrode were processed, forming the inert electrode of the device. The memory stack was then deposited. First, 10 nm HfO<sub>2</sub> deposited by atomic layer deposition (using HfCl<sub>4</sub> and H<sub>2</sub>O precursors) acts as the resistive switching layer (Nail et al., <xref ref-type="bibr" rid="B42">2016</xref>). Then, a 20 nm Ti scavenging layer was deposited by physical vapor deposition, allowing creation of oxygen vacancies within the HfO<sub>2</sub> during the memory operation. A 100 nm TiN top layer was used to cap the device. Deep ultraviolet photolithography and dry etching were used to pattern the memory dot, defining the active area. A SiN capping layer was used to isolate the memory from adjacent cells. Top vias were then opened by photolithography and dry etching in order to contact the memory dots. Finally, aluminum M5 was deposited and patterned to complete the process flow.</p>
<fig id="F3" position="float">
<label>Figure 3</label>
<caption><p>Scanning electron micrographs of the ReRAM cell design used for electrical measurement. <bold>(A)</bold> shows an optical image of the array of contact pads, <bold>(B)</bold> shows a cross-section of a cell, and <bold>(C)</bold> shows a zoom-in of the resistive memory between metalization layers M4 and M5.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-16-941753-g0003.tif"/>
</fig>
<p>The measured device was electrically isolated with contact pads leading directly to the top and bottom device electrodes, with no access transistor or added series resistance. Using a fixed 100 &#x003BC;A current limit in the SET polarity, the pristine cell was electroformed by application of 100 &#x003BC;s duration triangular pulses with incrementally increasing amplitude until a current jump was recorded near 3 V. For all subsequent cycling, a 1.5 V amplitude 10 kHz triangular waveform was applied. The cell was first exercised for 2.4 &#x000D7; 10<sup>6</sup> cycles before 10<sup>6</sup> additional cycles were collected for analysis. Current (<italic>I</italic>) and voltage (<italic>U</italic>) waveforms were simultaneously recorded with 8-bit resolution and with a sample rate of 1,042 samples per cycle. The measured current array was smoothed with a moving average filter to improve the quality of the raw data before further analysis. An adaptive rectangular window size was used to preserve current steps in the signal, with the maximum window size of 25 samples gradually reducing to a minimum of 3 samples at the pre-detected locations of SET transitions of each cycle. After smoothing, the contiguous <italic>I</italic> and <italic>U</italic> waveforms were split into indexable cycles at most positive value of the periodic applied voltage (see <xref ref-type="fig" rid="F4">Figure 4</xref>).</p>
<fig id="F4" position="float">
<label>Figure 4</label>
<caption><p>Measured time dependence of <italic>I</italic> and <italic>U</italic> waveforms resulting from the ReRAM cycling experiment. The waveforms are divided into 10<sup>6</sup> indexed cycles, the first three of which are shown. From this dataset, the periodic temporal sequence of the states and events of each cycle (HRS<sub><italic>n</italic></sub>, SET<sub><italic>n</italic></sub>, LRS<sub><italic>n</italic></sub>, RESET<sub><italic>n</italic></sub>) is extracted and subject to statistical modeling.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-16-941753-g0004.tif"/>
</fig>
<p>Each cycle exhibits the following temporal sequence of states and events: a high resistance state (HRS), a transition (SET) out of the HRS into the following low resistance state (LRS), and finally another transition (RESET) into the next HRS. Current vs. voltage (<italic>I, U</italic>) plots for a subset of the collected cycles are shown in <xref ref-type="fig" rid="F5">Figure 5</xref>, which highlights the significant stochastic CtC variations. The observed characteristics are typical for ReRAM devices subjected to voltage-controlled sweeps &#x02014; on average, there is relatively higher voltage non-linearity in the HRS than in the LRS, and a large proportion of the SET transitions are abrupt with respect to the applied voltage. The SET transition times as defined by the time spent between &#x02013;30 &#x003BC;A and &#x02013;90 &#x003BC;A is connected to the voltage sweep rate, and was distributed between 100 ns and 5 &#x003BC;s in this case. The RESET transitions, in contrast, proceed relatively gradually over a voltage range of approximately 700 mV, following a concave transition curve with N-type negative differential resistance.</p>
<fig id="F5" position="float">
<label>Figure 5</label>
<caption><p>A subset of the 10<sup>6</sup> measured (<italic>I, U</italic>) cycles used as input to the stochastic model. The black arrowed path shows the average (<italic>I, U</italic>) curve and its temporal direction. Different cycle indices are represented by colored paths, which show significant statistical variation.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-16-941753-g0005.tif"/>
</fig>
</sec>
<sec>
<title>Feature extraction</title>
<p>The full <italic>I, U</italic> cycling measurement just described consists of over 16 GB of numerical data and would not be practical to model on a point-by-point basis. Therefore, we aim to compress the dataset while retaining enough information such that the full (<italic>I, U</italic>) characteristics can be approximately reconstructed from the compressed representation. Accordingly, the full dataset is reduced to a vector time series of distinguishing features of each cycle. Four scalar features were chosen for extraction: the value of the HRS, <italic>R</italic><sub><italic>H</italic></sub>[&#x003A9;], the SET threshold voltage, <italic>U</italic><sub><italic>S</italic></sub>[<italic>V</italic>], the value of the LRS, <italic>R</italic><sub><italic>L</italic></sub>[&#x003A9;], and the RESET voltage, <italic>U</italic><sub><italic>R</italic></sub>[<italic>V</italic>]. We denote the series as</p>
<disp-formula id="E2"><label>(2)</label><mml:math id="M5"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mtable style="text-align:axis;" equalrows="false" columnlines="none none none none none none none none none" equalcolumns="false" class="array"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>H</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>U</mml:mi></mml:mrow><mml:mrow><mml:mi>S</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>L</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>U</mml:mi></mml:mrow><mml:mrow><mml:mi>R</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mtable style="text-align:axis;" equalrows="false" columnlines="none none none none none none none none none" equalcolumns="false" class="array"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>H</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>U</mml:mi></mml:mrow><mml:mrow><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>U</mml:mi></mml:mrow><mml:mrow><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <italic>n</italic> &#x0003D; {1, 2, &#x02026;, 10<sup>6</sup>} is the set of cycle indices. The feature vector elements, whose precise definition follows, are chronologically ordered from top to bottom as they occur in the measurement dataset.</p>
<p>The SET voltage <italic>U</italic><sub><italic>S</italic></sub>, or the voltage where the cell resistance abruptly decreases, is extracted from each cycle as the absolute value of the linearly interpolated <italic>U</italic> corresponding to the first level crossing of <italic>I</italic> &#x0003D; &#x02212;50 &#x003BC;A. The RESET voltage <italic>U</italic><sub><italic>R</italic></sub>, defined as the voltage where the reset process begins, is determined from the <italic>I</italic> datapoints by peak detection using simple comparison of neighboring samples. Here, only the increasing section of the voltage sweep with <italic>U</italic> &#x0003E; 0 is considered. The voltage corresponding to the first encountered peak with prominence &#x02265;5 &#x003BC;A is taken as the RESET voltage. If no peak satisfies this criterion, the peak with maximum prominence is taken instead.</p>
<p>The device current for any static state is approximated in our model as a polynomial function of the applied voltage. The values of <italic>R</italic><sub><italic>H</italic></sub> and <italic>R</italic><sub><italic>L</italic></sub> are likewise extracted from least squares polynomial fits to appropriate subsets of the measured (<italic>I, U</italic>) data of each cycle. The HRS is fit with a 5th degree polynomial on the decreasing <italic>U</italic> sweep in the variable range <italic>U</italic><sub><italic>S</italic></sub>&#x0002B;0.1 V &#x02264; <italic>U</italic> &#x02264; 1.5 V and &#x02212;25 &#x003BC;A &#x02264; <italic>I</italic> &#x02264; 80 &#x003BC;A, and the LRS is fit with a 3rd degree polynomial on the increasing part of the <italic>V</italic> sweep in the range &#x02212;0.7 V &#x02264; <italic>U</italic> &#x02264; <italic>U</italic><sub><italic>R</italic></sub>&#x02212;0.05 V and &#x02212;80 &#x003BC;A &#x02264; <italic>I</italic> &#x02264; 120 &#x003BC;A. The fits are constrained such that the 0th order coefficient equals 0 A, and the 1st order coefficient is &#x02265;1 nA/V. The values of <italic>R</italic><sub><italic>H</italic></sub> and <italic>R</italic><sub><italic>L</italic></sub> are then defined as the static resistance of the respective polynomials at a fixed voltage <italic>U</italic><sub>0</sub> &#x0003D; 200 mV.</p>
<p>An overview of the result of this feature extraction is given in <xref ref-type="fig" rid="F6">Figure 6</xref>. The 10<sup>6</sup> cycles proceeded without significant long-term drift from the overall mean value,</p>
<disp-formula id="E3"><label>(3)</label><mml:math id="M6"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mo>&#x00304;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mtable style="text-align:axis;" equalrows="false" columnlines="none none none none none none none none none" equalcolumns="false" class="array"><mml:mtr><mml:mtd><mml:mn>166</mml:mn><mml:mo>.</mml:mo><mml:mn>5</mml:mn><mml:mtext>&#x000A0;</mml:mtext><mml:mtext class="textrm" mathvariant="normal">k</mml:mtext><mml:mo>&#x003A9;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn><mml:mo>.</mml:mo><mml:mn>85</mml:mn><mml:mtext>&#x000A0;</mml:mtext><mml:mtext class="textrm" mathvariant="normal">V</mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>8</mml:mn><mml:mo>.</mml:mo><mml:mn>2</mml:mn><mml:mtext>&#x000A0;</mml:mtext><mml:mtext class="textrm" mathvariant="normal">k</mml:mtext><mml:mo>&#x003A9;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn><mml:mo>.</mml:mo><mml:mn>72</mml:mn><mml:mtext>&#x000A0;</mml:mtext><mml:mtext class="textrm" mathvariant="normal">V</mml:mtext></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>but with significant variations in each feature between cycles. A prominent characteristic of this data is that it is strongly correlated over long cycle ranges, as quantified in <bold>Figure 14</bold>. The asymmetric marginal distributions for each of the features were very well resolved due to the large number of samples, and they did not accurately converge to any analytical probability density function (PDF) in common use, including the normal and log-normal.</p>
<fig id="F6" position="float">
<label>Figure 6</label>
<caption><p>A view of the feature vector time series extracted from each of 10<sup>6</sup> measured (<italic>I, U</italic>) cycles. Each feature, which represents either a resistance state or a switching voltage, has its marginal histogram shown on the right.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-16-941753-g0006.tif"/>
</fig>
</sec>
<sec>
<title>Stochastic modeling</title>
<p>This section will introduce the statistical methods used to model the internal states of an array of synaptic ReRAM devices, including CtC and DtD variability effects. The handling of voltages applied to the cells as well as the simulation of realistic readouts of the resistance states will also be established. To help orient the reader, the overall structure of the generative model that will be described is provided in advance in <xref ref-type="fig" rid="F7">Figure 7</xref>.</p>
<fig id="F7" position="float">
<label>Figure 7</label>
<caption><p>Graphical model depicting the relationships between all parameters and latent variables involved in the stochastic synapse model. Plate notation is used to represent <italic>N</italic> switching cycles of <italic>M</italic> devices, each yielding an observed readout current. The dotted recurrent arrow denotes a connection to each of the <italic>p</italic> following frames, as needed by the history dependent stochastic process.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-16-941753-g0007.tif"/>
</fig>
<sec>
<title>Cycle-to-cycle variations</title>
<p>In seeking to represent the input time series <italic>x</italic><sub><italic>n</italic></sub> with a stochastic process, the main goals are to recreate the marginal distributions as well as the correlation structure of its vector components. To achieve the first goal with high generality, we use an approach based on transformation of the measured densities to and from the standard normal distribution <inline-formula><mml:math id="M7"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">N</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula>. This way, a single process can be used to achieve any set of marginals presented by the input data, with the relatively unrestrictive requirement that this base process generates normal marginals. Notationally, we define and apply an invertible, smooth mapping <bold>&#x00393;</bold>:&#x0211D;<sup>4</sup> &#x02192; &#x0211D;<sup>4</sup> that normalizes the marginal distributions of the vector components,</p>
<disp-formula id="E4"><label>(4)</label><mml:math id="M8"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mtable style="text-align:axis;" equalrows="false" columnlines="none none none none none none none none none" equalcolumns="false" class="array"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>H</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>U</mml:mi></mml:mrow><mml:mrow><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>U</mml:mi></mml:mrow><mml:mrow><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mstyle displaystyle="true"><mml:munderover><mml:mo>&#x02192;</mml:mo><mml:mrow><mml:mtext>&#x000A0;</mml:mtext></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold"><mml:mo>&#x00393;</mml:mo></mml:mstyle></mml:mrow></mml:munderover></mml:mstyle><mml:msub><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mtable style="text-align:axis;" equalrows="false" columnlines="none none none none none none none none none" equalcolumns="false" class="array"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>H</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi>U</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi>U</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>R</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where a hatted variable signifies that it is distributed as <inline-formula><mml:math id="M9"><mml:mrow><mml:mi mathvariant="-tex-caligraphic">N</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula>. We then construct a base process <inline-formula><mml:math id="M10"><mml:msubsup><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> whose marginals are normal, and finally transform its output back to the original data distributions <italic>via</italic> the inverse map <bold>&#x00393;</bold><sup>-1</sup>. The overall process <inline-formula><mml:math id="M11"><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> is thus defined,</p>
<disp-formula id="E5"><label>(5)</label><mml:math id="M12"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:msubsup><mml:mrow><mml:mover accent='true'><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle><mml:mo stretchy='true'>&#x0005E;</mml:mo></mml:mover></mml:mrow><mml:mi>n</mml:mi><mml:mo>*</mml:mo></mml:msubsup><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mo>[</mml:mo> <mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:msubsup><mml:mover accent='true'><mml:mi>R</mml:mi><mml:mo>&#x0005E;</mml:mo></mml:mover><mml:mi>H</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msubsup><mml:mover accent='true'><mml:mi>U</mml:mi><mml:mo>&#x0005E;</mml:mo></mml:mover><mml:mi>S</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msubsup><mml:mover accent='true'><mml:mi>R</mml:mi><mml:mo>&#x0005E;</mml:mo></mml:mover><mml:mi>L</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msubsup><mml:mover accent='true'><mml:mi>U</mml:mi><mml:mo>&#x0005E;</mml:mo></mml:mover><mml:mi>R</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow> <mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mi>n</mml:mi></mml:msub><mml:munder accentunder='true'><mml:mrow><mml:msup><mml:mstyle mathvariant="bold"><mml:mo>&#x00393;</mml:mo></mml:mstyle><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy='true'>&#x02192;</mml:mo></mml:munder><mml:msub><mml:mrow><mml:mrow><mml:mo>[</mml:mo> <mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:msubsup><mml:mi>R</mml:mi><mml:mi>H</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msubsup><mml:mi>U</mml:mi><mml:mi>S</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msubsup><mml:mi>R</mml:mi><mml:mi>L</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msubsup><mml:mi>U</mml:mi><mml:mi>R</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow> <mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mi>n</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msubsup><mml:mstyle mathvariant='bold-italic'><mml:mi>x</mml:mi></mml:mstyle><mml:mi>n</mml:mi><mml:mo>*</mml:mo></mml:msubsup><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where a star indicates a generated random variable to distinguish from variables originating from measurement data.</p>
<p>This type of density transformation procedure is a widely used technique for working with arbitrary distributions, which finds application in a variety of fields and can be constructed in many different ways (Cario and Nelson, <xref ref-type="bibr" rid="B10">1996</xref>; Rezende and Mohamed, <xref ref-type="bibr" rid="B51">2015</xref>). While the transformation is trivially constructed in the case where the target quantile function and its inverse are each analytically defined, we do not make this assumption in the present scenario. A simple numerical method in this case is a so-called quantile transform, where the input and output quantile functions are each discretely sampled and the transformation is defined through a direct map between bins or through interpolation. The main requirement for <bold>&#x00393;</bold> in our model, however, is that its inverse (Equation 5) is easy to evaluate without causing cache misses due to memory access, thus it is preferable to avoid referencing and interpolation of large look-up tables. The forward transformation (Equation 4), on the other hand, only needs to be computed once for model fitting and is not used for the generating process. We therefore define <bold>&#x00393;</bold><sup>-1</sup> as essentially a quantile transform, operating on each feature independently, that is evaluated from a fit of the quantiles to a specific analytic function. Namely,</p>
<disp-formula id="E6"><label>(6)</label><mml:math id="M13"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:mstyle mathvariant='bold'><mml:mo>&#x00393;</mml:mo></mml:mstyle><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mrow><mml:mover accent='true'><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle><mml:mo stretchy='true'>&#x0005E;</mml:mo></mml:mover></mml:mrow><mml:mi>n</mml:mi></mml:msub><mml:mo stretchy='false'>)</mml:mo><mml:mo>=</mml:mo><mml:mi>exp</mml:mi><mml:mrow><mml:mo>[</mml:mo> <mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>&#x003B3;</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mover accent='true'><mml:mi>R</mml:mi><mml:mo>&#x0005E;</mml:mo></mml:mover><mml:mrow><mml:mi>H</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>&#x003B3;</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mover accent='true'><mml:mi>U</mml:mi><mml:mo>&#x0005E;</mml:mo></mml:mover><mml:mrow><mml:mi>S</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>&#x003B3;</mml:mi><mml:mn>3</mml:mn></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mover accent='true'><mml:mi>R</mml:mi><mml:mo>&#x0005E;</mml:mo></mml:mover><mml:mrow><mml:mi>L</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>&#x003B3;</mml:mi><mml:mn>4</mml:mn></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mover accent='true'><mml:mi>U</mml:mi><mml:mo>&#x0005E;</mml:mo></mml:mover><mml:mrow><mml:mi>R</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow> <mml:mo>]</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle><mml:mi>n</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where &#x003B3;<sub>1</sub>&#x02013;&#x003B3;<sub>4</sub> are each 5th degree polynomials, and the exponential function is applied element-wise. The coefficients of the polynomials are fit to standard normal quantiles vs. those of the respective (log) features, sampled at 500 equally spaced values between 0.01 and 0.99. The fitted polynomials are checked for monotonicity within four standard deviations above and below zero, and the forward transformation,</p>
<disp-formula id="E7"><label>(7)</label><mml:math id="M14"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle mathvariant="bold"><mml:mo>&#x00393;</mml:mo></mml:mstyle><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle><mml:mi>n</mml:mi></mml:msub><mml:mo stretchy='false'>)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo> <mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:msubsup><mml:mi>&#x003B3;</mml:mi><mml:mn>1</mml:mn><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo stretchy='false'>(</mml:mo><mml:mi>log</mml:mi><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>H</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msubsup><mml:mi>&#x003B3;</mml:mi><mml:mn>2</mml:mn><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo stretchy='false'>(</mml:mo><mml:mi>log</mml:mi><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>S</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msubsup><mml:mi>&#x003B3;</mml:mi><mml:mn>3</mml:mn><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo stretchy='false'>(</mml:mo><mml:mi>log</mml:mi><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>L</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msubsup><mml:mi>&#x003B3;</mml:mi><mml:mn>4</mml:mn><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo stretchy='false'>(</mml:mo><mml:mi>log</mml:mi><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>R</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow> <mml:mo>]</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mtext>&#x000A0;</mml:mtext><mml:msub><mml:mover accent='true'><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle><mml:mo>&#x0005E;</mml:mo></mml:mover><mml:mi>n</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>is computed using numerical inverse of the <bold>&#x003B3;</bold> polynomials. A visualization of the function &#x00393; as well as the marginal histograms corresponding to input series <italic><bold>x</bold></italic><sub><italic>n</italic></sub> and output series <inline-formula><mml:math id="M15"><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, are shown in <xref ref-type="fig" rid="F8">Figure 8</xref>.</p>
<fig id="F8" position="float">
<label>Figure 8</label>
<caption><p>Visualization of the invertible normalizing transformation &#x00393; that is applied to the measured feature vectors before fitting with a base stochastic process. The left column shows the marginal PDFs of the vector time series <italic><bold>x</bold></italic><sub><italic>n</italic></sub> extracted from measurement. The center column shows the input and output quantile-quantile plots with the fitted log-polynomial function used to transform the distributions (here, <italic>Q</italic> denotes the quantile function of its argument). The right column is the result of applying <bold>&#x00393;</bold> to the input data, producing <inline-formula><mml:math id="M16"><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> whose elements are normally distributed.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-16-941753-g0008.tif"/>
</fig>
<p>Now that we have transformed the input measurement data into a normalized vector time series <inline-formula><mml:math id="M17"><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, a suitable stochastic process will be chosen for fitting. This process should serve as a useful approximation to the true physical mechanisms that generated the data, capturing the long-range correlation structure of the observed features. Time series analysis is broadly used across scientific and engineering domains, but despite its applicability to the rich statistical behavior displayed by resistive switching devices, device models have not yet widely employed dependent stochastic processes. Many models and analyses assume for convenience that features are independently and identically distributed according to a normal or lognormal PDF (Chen, <xref ref-type="bibr" rid="B11">2015</xref>; Li et al., <xref ref-type="bibr" rid="B32">2017</xref>). However, there is not a strong theoretical basis for this assumption in a highly nonlinear and path-dependent system based on continuous evolution of conducting filaments. Dependent stochastic processes, on the other hand, more appropriately allow for a description of the dependence of future states on past states.</p>
<p>Simple models in the category of Markov chains have been considered as generating processes for memory cells. A rudimentary example is a 1-dimensional random walk process, where each future state is computed as a random additive perturbation on the previous state (Bengel et al., <xref ref-type="bibr" rid="B4">2020</xref>). While random walk represents a reasonable short-range approximation, it has the well known property that the expected absolute distance between the initial value and the <italic>N</italic>th value is proportional to <inline-formula><mml:math id="M18"><mml:msqrt><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msqrt></mml:math></inline-formula> for large <italic>N</italic>, causing the process to eventually drift to unphysical values without the use of artificial constraints.</p>
<p>Autoregressive (AR) models are simple univariate processes sharing some characteristics of random walk, but based additionally on a deterministic linear dependence on past observations. Each new term of an AR(<italic>p</italic>) (AR of order <italic>p</italic>) model is computed by linear combinations of <italic>p</italic> previous (lagged) values together with a noise term, producing processes that are wide-sense stationary and mean-reverting within suitable parameter ranges (Hamilton, <xref ref-type="bibr" rid="B17">1994</xref>; L&#x000FC;tkepohl, <xref ref-type="bibr" rid="B34">2005</xref>). The few times they have appeared in the literature, low order models like AR(1) and AR(2) were used to describe state variables independently (e.g., a sequence of high and/or low resistance states) (Fantini et al., <xref ref-type="bibr" rid="B15">2015</xref>; Rold&#x000E1;n et al., <xref ref-type="bibr" rid="B52">2019</xref>). Here we pursue a more comprehensive statistical description of the interrelations between the different variables contained in the vectors <inline-formula><mml:math id="M19"><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> which takes into account long-range correlations <italic>p</italic> &#x0226B; 1. This is enabled by using a VAR(<italic>p</italic>) model (vector AR of order <italic>p</italic>), which is the multivariate counterpart of the AR model applicable to discrete vector time series (Hamilton, <xref ref-type="bibr" rid="B17">1994</xref>; L&#x000FC;tkepohl, <xref ref-type="bibr" rid="B34">2005</xref>).</p>
<p>We adopt in particular a Structural VAR (SVAR) formulation of the model, which is a factorization that makes the relationships between the contemporaneous (same index) variables explicit. The model has the form</p>
<disp-formula id="E8"><label>(8)</label><mml:math id="M20"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mstyle mathvariant="bold-italic"><mml:mi>A</mml:mi></mml:mstyle><mml:msubsup><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:munderover></mml:mstyle><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>C</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup><mml:mo>&#x0002B;</mml:mo><mml:mstyle mathvariant="bold-italic"><mml:mi>B</mml:mi></mml:mstyle><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>&#x003F5;</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <italic><bold>A</bold></italic>, <italic><bold>B</bold></italic>, and <italic><bold>C</bold></italic><sub><italic>i</italic></sub> are 4 &#x000D7; 4 matrices of model parameters, and <italic><bold>&#x003F5;</bold></italic><sub><italic>n</italic></sub> is a 4-dimensional standard white noise process. With this formulation we impose a general structure of causal ordering for the generated random variables consistent with the chronological chain of measurement events. Within this structure, each variable may have a causal and deterministic effect on all future variables within range <italic>p</italic>, as visualized by the graph of <xref ref-type="fig" rid="F9">Figure 9</xref>. The size of these effects are all subject to fitting <italic>via</italic> the coefficients of the model. Constraints on the structural parameters,</p>
<disp-formula id="E9"><label>(9)</label><mml:math id="M21"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mstyle mathvariant="bold-italic"><mml:mi>A</mml:mi></mml:mstyle><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mtable style="text-align:axis;" equalrows="false" columnlines="none none none none none none none none none" equalcolumns="false" class="array"><mml:mtr><mml:mtd><mml:mn>1</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>21</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mn>1</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>31</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>32</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mn>1</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>41</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>42</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mn>43</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mn>1</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mstyle mathvariant="bold-italic"><mml:mi>B</mml:mi></mml:mstyle><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mtable style="text-align:axis;" equalrows="false" columnlines="none none none none none none none none none" equalcolumns="false" class="array"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>B</mml:mi></mml:mrow><mml:mrow><mml:mn>11</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:msub><mml:mrow><mml:mi>B</mml:mi></mml:mrow><mml:mrow><mml:mn>22</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:msub><mml:mrow><mml:mi>B</mml:mi></mml:mrow><mml:mrow><mml:mn>33</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:msub><mml:mrow><mml:mi>B</mml:mi></mml:mrow><mml:mrow><mml:mn>44</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>enforce the desired causal structure while assuming an uncorrelated noise driving process. Model fitting was performed using the Python statsmodels package (Seabold and Perktold, <xref ref-type="bibr" rid="B54">2010</xref>), wherein a VAR(<italic>p</italic>) model is first fit by ordinary least squares regression, and a maximum likelihood estimate is then used to determine the structural decomposition.</p>
<fig id="F9" position="float">
<label>Figure 9</label>
<caption><p>A weighted graph displaying the causal structure of the utilized SVAR(<italic>p</italic>) process, showing the nearest temporal contributions to realizations of the random vector <inline-formula><mml:math id="M22"><mml:msubsup><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>. Arrow weights show the model parameters contained in <italic><bold>A</bold></italic>, <italic><bold>B</bold></italic> and the upper triangular part of <italic><bold>C</bold></italic><sub>1</sub> when fit with <italic>p</italic> &#x0003D; 100. The actual SVAR(<italic>p</italic>) model uses many more connections than shown (16<italic>p</italic>&#x0002B;10), so that each variable is impacted by all past values of all other variables within cycle range <italic>p</italic>.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-16-941753-g0009.tif"/>
</fig>
</sec>
<sec>
<title>Device-to-device variations</title>
<p>So far, we have only considered the statistical modeling of the cycling process of a single memory cell. However, the purpose of the presented model is to simultaneously simulate a large number of cells in a network. Individual memory devices on a wafer generally show statistical variations, mainly arising due to defects and non-uniformities in fabrication (Fantini et al., <xref ref-type="bibr" rid="B16">2013</xref>; Dalgaty et al., <xref ref-type="bibr" rid="B14">2021</xref>). These DtD variations depend strongly on the lithography processes and materials used. They can also originate from intrinsic factors and are influenced by conditions during the electroforming of each cell (Butcher et al., <xref ref-type="bibr" rid="B9">2012</xref>; Zhao et al., <xref ref-type="bibr" rid="B63">2014</xref>). Because of the potential positive or negative impact on network performance, it is important for the model to account for the DtD variability (Moon et al., <xref ref-type="bibr" rid="B41">2019</xref>; Dalgaty et al., <xref ref-type="bibr" rid="B14">2021</xref>).</p>
<p>The electrical effect of device variability is modeled with each cell using a modification of the same underlying SVAR cycling process. Device-specific processes are defined as members of a parametric family of processes, all based on element-wise scaling of <inline-formula><mml:math id="M23"><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, where the scaling factors are themselves random vectors. The specific process is denoted</p>
<disp-formula id="E10"><label>(10)</label><mml:math id="M24"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>y</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>s</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02299;</mml:mo><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <italic>m</italic> &#x0003D; {1, 2, &#x02026;, <italic>M</italic>} is the device index, &#x02299; is the Hadamard (element-wise) product, and <italic>s</italic><sub><italic>m</italic></sub> are 4 &#x000D7; 1 random vectors drawn from a fixed distribution at cell initialization.</p>
<p>The distribution of <italic><bold>s</bold></italic><sub><italic>m</italic></sub> is chosen so that the features of the median cycles of different devices are distributed and correlated in the same way as the measured cycling data <italic><bold>x</bold></italic><sub><italic>n</italic></sub>. This choice reflects that the covariations of switching features DtD arise in the same physical system with causes and effects that are comparable to those of the CtC variations. To this end, random vectors <inline-formula><mml:math id="M25"><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>s</mml:mi></mml:mstyle></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> are drawn from a multivariate normal (MVN) distribution and &#x00393;-1 is then reused to map them to the measured CtC distribution,</p>
<disp-formula id="E11"><label>(11)</label><mml:math id="M26"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mi>s</mml:mi></mml:mstyle><mml:mi>m</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mtext>&#x000A0;</mml:mtext><mml:msup><mml:mstyle mathvariant="bold"><mml:mo>&#x00393;</mml:mo></mml:mstyle><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mover accent='true'><mml:mstyle mathvariant="bold-italic"><mml:mi>s</mml:mi></mml:mstyle><mml:mo>&#x0005E;</mml:mo></mml:mover><mml:mi>m</mml:mi></mml:msub><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x02298;</mml:mo><mml:mtext>&#x000A0;&#x000A0;</mml:mtext><mml:msup><mml:mstyle mathvariant="bold"><mml:mo>&#x00393;</mml:mo></mml:mstyle><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo stretchy='false'>(</mml:mo><mml:mstyle mathvariant="bold"><mml:mn>0</mml:mn></mml:mstyle><mml:mo stretchy='false'>)</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x000A0;where&#x000A0;&#x000A0;</mml:mtext><mml:msub><mml:mover accent='true'><mml:mstyle mathvariant="bold-italic"><mml:mi>s</mml:mi></mml:mstyle><mml:mo>&#x0005E;</mml:mo></mml:mover><mml:mi>m</mml:mi></mml:msub><mml:mo>~</mml:mo><mml:mi>&#x02115;</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mstyle mathvariant="bold"><mml:mn>0</mml:mn></mml:mstyle><mml:mo>,</mml:mo><mml:mi>a</mml:mi><mml:mtext>&#x000A0;</mml:mtext><mml:mstyle mathvariant="bold"><mml:mo>&#x003A3;</mml:mo></mml:mstyle><mml:mo stretchy='false'>)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Here, the denominator of the Hadamard division (&#x02298;) sets the median scale vector to the identity, <inline-formula><mml:math id="M27"><mml:mstyle mathvariant="bold"><mml:mo>&#x003A3;</mml:mo></mml:mstyle><mml:mo>=</mml:mo><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">cov</mml:mtext></mml:mstyle><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> is the sample covariance of the normalized measurement data, and <italic>a</italic> is a free scalar parameter providing adaptability to different DtD covariance levels. A robust determination of <italic>a</italic> requires measurement of many switching cycles across a large number of devices of interest. Values in the range <italic>a</italic> &#x02208; [1, 1.5] approximately correspond to published DtD measurement samples (Fantini et al., <xref ref-type="bibr" rid="B16">2013</xref>; Dalgaty et al., <xref ref-type="bibr" rid="B14">2021</xref>), but improved processing and electroforming procedures may justify the use of <italic>a</italic> &#x0003C; 1.</p>
</sec>
<sec>
<title>Control logic</title>
<p>As components of a network, each simulated cell possesses a resistance state that encodes the weight of a connection. Voltage pulses directly applied to the cells are used to produce resistance state transitions to update the weights. In this model, applied voltage pulses are distinguished only by a scalar amplitude <italic>U</italic><sub><italic>a</italic></sub>, whether they are in fact square waveforms or they have a more complex shape of an action potential. Although ReRAMs are known to be highly time-dependent devices (Menzel et al., <xref ref-type="bibr" rid="B38">2015</xref>), we assume here that the duration of the pulses are appropriately matched to the experimental timescale, such that a simulated voltage pulse of a given amplitude produces an effect comparable to the experimental voltage sweep at the instant it reaches that same amplitude. Possible state modifications in response to an input pulse is computed with respect to <italic>I, U</italic> sweeps that are reconstructed from each stochastic feature vector generated for each cycle as illustrated in <xref ref-type="fig" rid="F10">Figure 10</xref>.</p>
<fig id="F10" position="float">
<label>Figure 10</label>
<caption><p>Conduction polynomials and threshold voltages allow reconstruction of (<italic>I, U</italic>) cycles from generated feature vectors. Simulated resistance switching is such that the conduction state <italic>I</italic>(<italic>r, U</italic>) induced by an applied voltage <italic>U</italic><sub><italic>a</italic></sub> intersects the reconstructed cycle at <italic>U</italic> &#x0003D; <italic>U</italic><sub><italic>a</italic></sub>. For visual simplicity, the cycle shown begins and ends in the same HRS (<italic>R</italic><sub><italic>H, n</italic></sub> &#x0003D; <italic>R</italic><sub><italic>H, n</italic>&#x0002B;1</sub>).</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-16-941753-g0010.tif"/>
</fig>
<p>As previously specified in Equation (1), every possible electrical state of a device is assumed to correspond to a polynomial <italic>I</italic>(<italic>U</italic>) dependence parameterized by a state variable <italic>r</italic>. It is straightforward to calculate that the state variable for a curve passing through an arbitrary (<italic>I, U</italic>) point is uniquely given by the function</p>
<disp-formula id="E12"><label>(12)</label><mml:math id="M28"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>r</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>I</mml:mi><mml:mo>,</mml:mo><mml:mi>U</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mtext class="textrm" mathvariant="normal">LLRS</mml:mtext></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>U</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mtext class="textrm" mathvariant="normal">LLRS</mml:mtext></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>U</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mtext class="textrm" mathvariant="normal">HHRS</mml:mtext></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>U</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mfrac><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Therefore, the state variable corresponding to any static resistance level <italic>R</italic> (evaluated at <italic>U</italic><sub>0</sub>) can be calculated using</p>
<disp-formula id="E13"><label>(13)</label><mml:math id="M29"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:mi>r</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>R</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mtext>LLRS</mml:mtext></mml:mrow></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x02212;</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:msup><mml:mi>R</mml:mi><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mtext>LLRS</mml:mtext></mml:mrow></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x02212;</mml:mo><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mtext>HHRS</mml:mtext></mml:mrow></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mfrac><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>The <italic>I</italic>(<italic>U</italic>) curves for the electrical states corresponding to the HRS and LRS of each cycle, hereafter called <italic>I</italic><sub>HRS,n</sub>(<italic>U</italic>) and <italic>I</italic><sub>LRS,n</sub>(<italic>U</italic>), are defined according to equations (1) and (13) such that their static resistance equals the respective value of <inline-formula><mml:math id="M30"><mml:msubsup><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>H</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> and <inline-formula><mml:math id="M31"><mml:msubsup><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>L</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>.</p>
<p>Transitions between the HRS, LRS, and intermediate resistance states (IRS) in response to an applied pulse amplitude <italic>U</italic><sub><italic>a</italic></sub> follow an empirically motivated structure, represented by the flow chart of <xref ref-type="fig" rid="F11">Figure 11</xref>. The SET transition for the <italic>n</italic>th cycle HRS<sub><italic>n</italic></sub> &#x02192; LRS<sub><italic>n</italic></sub> may occur for negative voltage polarities and follows a simple threshold behavior, fully and instantaneously transitioning the first time a voltage pulse with amplitude <inline-formula><mml:math id="M32"><mml:msub><mml:mrow><mml:mi>U</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02264;</mml:mo><mml:msubsup><mml:mrow><mml:mi>U</mml:mi></mml:mrow><mml:mrow><mml:mi>S</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> is applied. In contrast, the RESET transition LRS<sub><italic>n</italic></sub> &#x02192; HRS<sub><italic>n</italic>&#x0002B;1</sub> occurs gradually in the positive polarity with increasing <italic>U</italic><sub><italic>a</italic></sub> in the range <inline-formula><mml:math id="M33"><mml:msubsup><mml:mrow><mml:mi>U</mml:mi></mml:mrow><mml:mrow><mml:mi>R</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup><mml:mo>&#x0003C;</mml:mo><mml:msub><mml:mrow><mml:mi>U</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02264;</mml:mo><mml:mi>U</mml:mi><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">max</mml:mtext></mml:mstyle></mml:math></inline-formula>, where <italic>U</italic>max &#x0003D; 1.5 V is the maximum voltage applied in the voltage sweeping measurement. A transition curve <italic>I</italic><sub>RESET, n</sub>(<italic>U</italic>) is defined to connect the (<italic>I, U</italic>) points of the two limiting states where the RESET transition begins and ends. The functional form of the transition curve is chosen to be the parabola with boundary conditions</p>
<disp-formula id="E14"><label>(14)</label><mml:math id="M34"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mtext class="textrm" mathvariant="normal">RESET,n</mml:mtext></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mi>U</mml:mi></mml:mrow><mml:mrow><mml:mi>R</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mo>=</mml:mo></mml:mtd><mml:mtd><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mtext class="textrm" mathvariant="normal">LRS,n</mml:mtext></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mi>U</mml:mi></mml:mrow><mml:mrow><mml:mi>R</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E15"><label>(15)</label><mml:math id="M35"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mtext>RESET,n</mml:mtext></mml:mrow></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mtext>max</mml:mtext></mml:mrow></mml:msub><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd><mml:mtd columnalign='left'><mml:mo>=</mml:mo></mml:mtd><mml:mtd columnalign='left'><mml:mrow><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mtext>HRS,n+1</mml:mtext></mml:mrow></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mtext>max</mml:mtext></mml:mrow></mml:msub><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E16"><label>(16)</label><mml:math id="M36"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mtext>RESET,n</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>U</mml:mi></mml:mrow></mml:mfrac><mml:msub><mml:mo stretchy="true">&#x0007C;</mml:mo><mml:mrow><mml:mi>U</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mtext>max</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mtd><mml:mtd columnalign='left'><mml:mo>=</mml:mo></mml:mtd><mml:mtd columnalign='left'><mml:mrow><mml:mn>0.</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>When a voltage pulse in the RESET range is applied, an IRS results which is calculated with reference to the transition curve such that <italic>I</italic>(<italic>r,U</italic><sub><italic>a</italic></sub>) &#x0003D; <italic>I</italic><sub>RESET, n</sub>(<italic>U</italic><sub><italic>a</italic></sub>). Additional RESET pulses with larger amplitudes may be applied to incrementally increase the cell resistance, with HRS<sub><italic>n</italic>&#x0002B;1</sub> being reached only if <italic>U</italic><sub><italic>a</italic></sub>&#x02265;<italic>U</italic>max, after which no further RESET switching is possible for the <italic>n</italic>th cycle. After either partial or full RESET, the resistance may only decrease again by entering the following LRS<sub><italic>n</italic>&#x0002B;1</sub> with a voltage pulse meeting the SET criterion <inline-formula><mml:math id="M37"><mml:msub><mml:mrow><mml:mi>U</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02264;</mml:mo><mml:msubsup><mml:mrow><mml:mi>U</mml:mi></mml:mrow><mml:mrow><mml:mi>S</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>.</p>
<fig id="F11" position="float">
<label>Figure 11</label>
<caption><p>Logical flow chart showing how applied voltage pulses affect the state of each cell during simulation. Following the experimental observations, SET processes always occur abruptly below a threshold voltage, while partial switching is induced for a range of RESET voltages, with intermediate states bounded for cycle <italic>n</italic> by resistance values between <italic>R</italic><sub><italic>L,n</italic></sub> and <italic>R</italic><sub><italic>H,n</italic>&#x0002B;1</sub>. As resistance cycling progresses, later terms of the stochastic driving process are used for limiting resistance states and threshold voltages. Pulse amplitudes not producing a state change are efficiently disregarded.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-16-941753-g0011.tif"/>
</fig>
</sec>
<sec>
<title>Readout</title>
<p>Simulated current measurements (readouts) for each individual cell can be generated given an arbitrary readout voltage input <italic>U</italic><sub>read</sub>. The noise-free current level simply corresponds to evaluation of <italic>I</italic>(<italic>r, U</italic><sub>read</sub>) for each cell. In any real system, however, current readouts are accompanied by measurement noise, which may impact system performance and even present a fundamental bottleneck. Furthermore, in digital systems current readouts are converted to finite resolution by analog to digital converters (ADCs). Due to constraints of power consumption and chip area, ADC resolution is often limited such that digitization is the dominant contributor to the total noise (Ma et al., <xref ref-type="bibr" rid="B35">2019</xref>). Many additional noise sources can be considered, such as 1/<italic>f</italic> noise (Wiefels et al., <xref ref-type="bibr" rid="B59">2020</xref>), but at minimum the Johnson-Nyquist noise and the shot noise should be included because they represent a lower bound of noise amplitude impacting all systems.</p>
<p>To account for measurement noise, each individual current readout includes an additive noise contribution drawn from a normal distribution. The noise amplitude is approximated from the Nyquist and Schottky formulas,</p>
<disp-formula id="E17"><label>(17)</label><mml:math id="M38"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x003C3;</mml:mi></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:mfrac><mml:mrow><mml:mn>4</mml:mn><mml:msub><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>B</mml:mi></mml:mrow></mml:msub><mml:mi>T</mml:mi><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mtext class="textrm" mathvariant="normal">read</mml:mtext></mml:mrow></mml:msub><mml:mi>&#x00394;</mml:mi><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>U</mml:mi></mml:mrow><mml:mrow><mml:mtext class="textrm" mathvariant="normal">read</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mfrac><mml:mo>&#x0002B;</mml:mo><mml:mn>2</mml:mn><mml:mi>q</mml:mi><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mtext class="textrm" mathvariant="normal">read</mml:mtext></mml:mrow></mml:msub><mml:mi>&#x00394;</mml:mi><mml:mi>f</mml:mi></mml:mrow></mml:msqrt><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where &#x00394;<italic>f</italic> is the noise equivalent bandwidth, <italic>k</italic><sub><italic>B</italic></sub> is the Boltzmann constant, <italic>T</italic> &#x0003D; 300 K is the temperature, <italic>q</italic> is the electron charge, <italic>I</italic><sub>read</sub> is the noiseless current readout, and <italic>U</italic><sub>read</sub> is the voltage used for readout. The total current is then ideally digitized with an adjustable resolution <italic>n</italic><sub>bits</sub> between adjustable minimum <italic>I</italic><sub>min</sub> and maximum <italic>I</italic><sub>max</sub> current levels.</p>
</sec>
</sec>
<sec>
<title>Program implementation</title>
<p>To facilitate investigations of neuromorphic systems, model implementations designed to simulate arrays of devices were developed in the Julia programming language. Julia is a modern high-level language that is focused on performance and that provides an advanced ML and scientific computing ecosystem. Julia programs compile to efficient native code for many platforms <italic>via</italic> the LLVM compiler infrastructure, and a cursory analysis indicated that single threaded CPU performance of a Julia implementation is up to 5,000 times faster than a Python implementation. Furthermore, as modern computational resources are highly parallel, Julia&#x00027;s support for CPU multi-threading and GPU programming through CUDA.jl (Besard et al., <xref ref-type="bibr" rid="B5">2019</xref>) is an important advantage.</p>
<p>All model parameters corresponding to the device characterized in this article, including different possible SVAR model orders, <italic>p</italic> &#x02208; [1, 200], are stored in a binary file which is read in by the program at startup. Each instantiated cell stores state information and <italic>p</italic> cycles of history using primarily 32-bit floating point numbers. The total memory footprint grows linearly with the chosen model order and is approximately 16<italic>p</italic>&#x0002B;56 bytes per cell. A reduced form VAR process is used to compute realizations of <inline-formula><mml:math id="M39"><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, which are lazily evaluated along with the parabolic transition polynomials if and when they are needed. The majority of the necessary runtime computations are formulated as matrix multiplications, which are heavily optimized operations across many different contexts.</p>
<p>The present release contains two model implementations to suit a wide variety of computing platforms and use cases (Hennen, <xref ref-type="bibr" rid="B18">2022</xref>). The first is a CPU optimized version wherein the cells of an array are individually addressable for read/write operations. These operations are naturally parallelized for multi-core processors by partitioning the cells and assigning each partition to independent threads of execution. The second implementation is a GPU accelerated version compatible with CUDA capable GPUs. This version uses a vectorized data structure and parallel array abstractions to take advantage of the implicit parallelism programming model of CUDA.jl. Here, all defined cells are always accessed simultaneously, with each read/write operation employing optimized linear algebra GPU kernels. While the GPU implementation integrates well with other ML components residing in GPU shared memory and achieves higher throughput per cell for large parallel operations, the CPU implementation obtains higher update rates for sparse operations commonly encountered in large-scale models (Pedroni et al., <xref ref-type="bibr" rid="B48">2019</xref>, <xref ref-type="bibr" rid="B47">2020</xref>).</p>
</sec>
</sec>
<sec sec-type="results" id="s3">
<title>Results</title>
<p>As shown visually in the scatterplot of <xref ref-type="fig" rid="F12">Figure 12</xref>, the stochastic process <inline-formula><mml:math id="M40"><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> generates data that closely resemble the measurement data <italic><bold>x</bold></italic><sub><italic>n</italic></sub>. The generated distributions match the empirical distributions so closely that it is difficult to visualize their difference. The Wasserstein metric is a distance function defined between probability distributions that can be used to quantify a small discrepancy (Kantorovich, <xref ref-type="bibr" rid="B26">1960</xref>). The first Wasserstein distance was calculated element-wise and averaged across 100 realizations of <inline-formula><mml:math id="M41"><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> with length 10<sup>6</sup>. The result,</p>
<disp-formula id="E18"><label>(18)</label><mml:math id="M42"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mrow><mml:mover accent='true'><mml:mstyle mathvariant="bold-italic"><mml:mi>W</mml:mi></mml:mstyle><mml:mo stretchy='true'>&#x000AF;</mml:mo></mml:mover></mml:mrow><mml:mn>1</mml:mn></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle><mml:mi>n</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msubsup><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle><mml:mi>n</mml:mi><mml:mo>*</mml:mo></mml:msubsup><mml:mo stretchy='false'>)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo> <mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mn>5</mml:mn><mml:mo>,</mml:mo><mml:mn>146</mml:mn><mml:mo>&#x000A0;</mml:mo><mml:mo>&#x003A9;</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mn>937</mml:mn><mml:mo>&#x000A0;</mml:mo><mml:mtext>&#x003BC;V</mml:mtext></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mn>20</mml:mn><mml:mo>&#x000A0;</mml:mo><mml:mo>&#x003A9;</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mn>356</mml:mn><mml:mo>&#x000A0;</mml:mo><mml:mtext>&#x003BC;V</mml:mtext></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow> <mml:mo>]</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>is much smaller than the mean feature vector, <inline-formula><mml:math id="M43"><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mo>&#x00304;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> (Equation 3), and independent of the chosen model order. This shows that the goal of reproducing the measurement distributions is well achieved for the input dataset by using the described method of probability density transformation.</p>
<fig id="F12" position="float">
<label>Figure 12</label>
<caption><p>Comparison of feature time series extracted from measurement data and those generated by the SVAR-based model. The compared features converge to effectively equivalent distributions and the short-range behavior is qualitatively similar across thousands of cycles.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-16-941753-g0012.tif"/>
</fig>
<p>Simulations of full (<italic>I, U</italic>) cycling measurements (<xref ref-type="fig" rid="F13">Figure 13A</xref>) show close similarity with the measurement data of <xref ref-type="fig" rid="F5">Figure 5</xref>. Multi-resistance-level capability is also demonstrated by a similar simulation involving partial RESET operations by changing the maximum voltage applied <xref ref-type="fig" rid="F13">(Figure 13B</xref>). The dependence of the resulting HRS value on the applied voltage reproduces a non-linear characteristic comparable to experimental findings (Park et al., <xref ref-type="bibr" rid="B46">2013</xref>; Ambrogio et al., <xref ref-type="bibr" rid="B2">2016</xref>).</p>
<fig id="F13" position="float">
<label>Figure 13</label>
<caption><p>Two example simulations involving repeated cycling of a single device. Voltage pulse sequences were applied with varying amplitude following a triangular envelope, and the (<italic>I, U</italic>) characteristic of each cycle is plotted in a different color. Subplot <bold>(A)</bold> shows 300 consecutive cycles between the full voltage range &#x000B1;1.5 V, with a readout performed after every pulse (inset). Subplot <bold>(B)</bold> demonstrates multilevel capability with 300 cycles between &#x02013;1.5 V and maximum voltage that increases each cycle, from 0.7 V to 1.5 V. Readouts following each cycle are shown in the inset. In each case, readouts were simulated using a fixed <italic>U</italic><sub>read</sub>= 200 mV, including noise and 4-bit quantization between <italic>I</italic><sub>min</sub> &#x0003D; 0 &#x003BC;A and <italic>I</italic><sub>max</sub> &#x0003D; 40 &#x003BC;A.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-16-941753-g0013.tif"/>
</fig>
<p>While a full structural analysis of the fitted SVAR(<italic>p</italic>) model parameters (<italic><bold>A, B, C</bold></italic><sub><italic>i</italic></sub>) will not be presented here, a few aspects are worthy of note. For the fit corresponding to the particular device and measurement described in this work, the white noise terms are by far the dominant contributors to all four modeled features. The contemporaneous terms (<italic><bold>A</bold></italic>) and first order (<italic><bold>C</bold></italic><sub>1</sub>) terms are the next most significant, which indicates that the most recent cell history is most relevant for generating the proceeding states. Nevertheless, input data correlations persist for many cycles, and the generating process <inline-formula><mml:math id="M46"><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> successfully reproduces the overall correlation structure of the data up to at least <italic>p</italic> cycle lags, as shown in detail in <xref ref-type="fig" rid="F14">Figure 14</xref>.</p>
<fig id="F14" position="float">
<label>Figure 14</label>
<caption><p>Auto- and cross-correlations of the normalized feature vector components, showing the Pearson coefficients &#x003C1;<sub><italic>X,Y</italic></sub> of the variables specified in the subplot columns <italic>X</italic> and rows <italic>Y</italic> as a function of lag <italic>l</italic>. Row variables are lagged with respect to column variables, as denoted by the lag operators <italic>L</italic><sub><italic>X</italic></sub>. A comparison between measurement data and data generated from SVAR(30) shows extremely close agreement up to cycle range 30. For lags larger than the chosen model order, some of the correlations of <inline-formula><mml:math id="M44"><mml:msup><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msup></mml:math></inline-formula> decay more quickly than <inline-formula><mml:math id="M45"><mml:mover accent="false"><mml:mrow><mml:mstyle mathvariant="bold-italic"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:math></inline-formula>.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-16-941753-g0014.tif"/>
</fig>
<p>Although no physical effects were explicitly put into the model definition, it is important to recognize that the effects are quantitatively captured and put into a useful statistical context by the SVAR model fitting procedure. The model weights contained in <italic><bold>A, B</bold></italic>, and <italic><bold>C</bold></italic><sub><italic>i</italic></sub> quantify deterministic relationships between past and future variables even in the presence of large random fluctuations. As seen in the graph of <xref ref-type="fig" rid="F9">Figure 9</xref>, the four strongest coefficients in the fitted model correspond to the relationships</p>
<disp-formula id="E19"><label>(19)</label><mml:math id="M47"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>H</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup></mml:mtd><mml:mtd><mml:mstyle displaystyle="true"><mml:munderover><mml:mo>&#x02192;</mml:mo><mml:mrow><mml:mtext>&#x000A0;</mml:mtext></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo>.</mml:mo><mml:mn>111</mml:mn></mml:mrow></mml:munderover></mml:mstyle><mml:msubsup><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi>U</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>S</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

<disp-formula id="E20"><label>(20)</label><mml:math id="M48"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi>U</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>S</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup></mml:mtd><mml:mtd><mml:mstyle displaystyle="true"><mml:munderover><mml:mo>&#x02192;</mml:mo><mml:mrow><mml:mtext>&#x000A0;</mml:mtext></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mn>0</mml:mn><mml:mo>.</mml:mo><mml:mn>139</mml:mn></mml:mrow></mml:munderover></mml:mstyle><mml:msubsup><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>L</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E21"><label>(21)</label><mml:math id="M49"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>L</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup></mml:mtd><mml:mtd><mml:mstyle displaystyle="true"><mml:munderover><mml:mo>&#x02192;</mml:mo><mml:mrow><mml:mtext>&#x000A0;</mml:mtext></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo>.</mml:mo><mml:mn>153</mml:mn></mml:mrow></mml:munderover></mml:mstyle><mml:msubsup><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>L</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E22"><label>(22)</label><mml:math id="M50"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>L</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup></mml:mtd><mml:mtd><mml:mstyle displaystyle="true"><mml:munderover><mml:mo>&#x02192;</mml:mo><mml:mrow><mml:mtext>&#x000A0;</mml:mtext></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo>.</mml:mo><mml:mn>180</mml:mn></mml:mrow></mml:munderover></mml:mstyle><mml:msubsup><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi>U</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>R</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where weight of each relationship is printed above the arrows.</p>
<p>Comparable relationships between switching variables have been identified and discussed in physics-based models and simulations as well as in experimental studies involving various materials (Ielmini, <xref ref-type="bibr" rid="B21">2011</xref>; Nardi et al., <xref ref-type="bibr" rid="B43">2011</xref>, <xref ref-type="bibr" rid="B44">2012</xref>; Nishi et al., <xref ref-type="bibr" rid="B45">2015</xref>; Kim et al., <xref ref-type="bibr" rid="B27">2016a</xref>,<xref ref-type="bibr" rid="B29">b</xref>; La Torre et al., <xref ref-type="bibr" rid="B31">2016</xref>). According to relation 19, larger starting HRS values tend to contribute to a higher SET voltage, which is a well known effect due to a reduced driving force for ionic motion at a given applied voltage, as a larger HRS gives both reduced power dissipation as well as a reduced electric field in a thicker insulating gap. The subsequent LRS is strongly affected by the SET voltage (relation 20). This can be attributed to the runaway nature of the SET transition and a higher voltage initial condition, and is also connected with the dynamics of the current limiting circuitry (Hennen et al., <xref ref-type="bibr" rid="B19">2021</xref>). The LRS value is also strongly correlated with the value of the previous LRS (relation 21), because of the influence of the residual filamentary structure from the previous cycle (Piccolboni et al., <xref ref-type="bibr" rid="B49">2015</xref>). Lastly, relation 22 indicates that higher LRS values tend to have larger reset voltages, which has to do with a balance of factors influencing filament dissolution, including temperature and drift. This balance depends on the cell materials, operating regime, and internal series resistance (Ielmini et al., <xref ref-type="bibr" rid="B23">2011</xref>).</p>
<sec>
<title>Benchmarks</title>
<p>As a benchmark of the throughput of write operations, repeated resistance cycling was induced on arrays of simulated cells under varying conditions. In each case, voltage pulse sequences to be applied to all defined cells were generated prior to the benchmarks, consisting of amplitudes &#x000B1;1.5 V with alternating polarity. Defined as such, every pulse drives each cell through a transition into its next HRS or LRS. The read operation was benchmarked separately under equivalent conditions, reading out the entire array using a fixed readout voltage of <italic>U</italic><sub>read</sub> &#x0003D; 0.2<italic>V</italic>.</p>
<p>The CPU benchmark was performed using an Intel Xeon Silver 4116 CPU, varying the cell array size <italic>M</italic>, the order of the VAR process <italic>p</italic>, as well as the number of threads used to perform the operations in parallel. The resulting read/write throughputs are summarized in <xref ref-type="fig" rid="F15">Figure 15</xref>. Write throughputs up to 2 &#x000D7; 10<sup>8</sup> operations per second (OPS) were obtained, which is equivalent to 5 ns per individual write operation. Read operations were nearly an order of magnitude faster than writes, with up to 10<sup>9</sup> OPS or 1 ns per read operation. Due to the size of necessary matrix multiplications, increasing the VAR order <italic>p</italic> incurs a cost of write throughput, with a <italic>p</italic> &#x0003D; 100 model running approximately 4 &#x000D7; slower than one with <italic>p</italic> &#x0003D; 10. The read operation, in contrast, shows a negligible dependence on the VAR order.</p>
<fig id="F15" position="float">
<label>Figure 15</label>
<caption><p>Benchmarks of the read/write operation throughput per cell of the Julia model implementations. In <bold>(A,C)</bold>, an array of 2<sup>20</sup> (&#x02248;10<sup>6</sup>) cells are simulated on the CPU as a function of number of parallel threads spawned, and the VAR model order <italic>p</italic>. In <bold>(B,D)</bold>, the CPU (32 threads) and GPU implementations are benchmarked vs. the cell array size <italic>M</italic>, with <italic>p</italic> &#x0003D; 10.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-16-941753-g0015.tif"/>
</fig>
<p>The GPU accelerated version was benchmarked in an analogous way, using the same host machine with an NVIDIA TITAN RTX GPU device. The results are shown in dependence of the cell array size <italic>M</italic> in <xref ref-type="fig" rid="F15">Figures 15B,D</xref>. The GPU implementation overtakes the CPU above <italic>M</italic> &#x0003D; 10<sup>6</sup> parallel operations where the entire array is updated, and achieves 2 &#x000D7; faster updates and 5 &#x000D7; faster readouts for large arrays with <italic>M</italic> &#x0003E; 10<sup>7</sup>. However, CPU throughput is applicable to subsets of the array, and may retain an advantage for sparse operations.</p>
</sec>
</sec>
<sec sec-type="discussion" id="s4">
<title>Discussion</title>
<p>In order to assess the potential of emerging synaptic devices, new lightweight and accurate device models are needed to constitute the millions/billions of weights used in modern machine learning (ML) models. Candidate memory cells such as ReRAM are highly non-linear stochastic devices with complex internal states and history dependence, all of which needs to be explicitly taken into account. In this article we introduced an efficient generative model for large synaptic arrays, which closely reproduces the statistical behavior of real devices.</p>
<p>Taking advantage of a recently developed electrical measurement technique (Hennen et al., <xref ref-type="bibr" rid="B19">2021</xref>), we systematically fit the model to a dataset that is dense in relevant information about the device state evolution. Together with this new kind of measurement, our modeling approach helps complete a neuromorphic design feedback loop by defining a programmatic connection from the measured behavior of a fabricated device under the intended operating conditions directly to fitted model parameters. Probability density transformation of the underlying SVAR stochastic process gives the model the power to accurately reproduce nearly arbitrary distribution shapes and covariance structures across the switching cycles and across the separate devices. These features enable evaluation of network performance while automatically adapting to a wide variety of possible future device designs.</p>
<p>We provide parallelized implementations for both CPU and GPU, where up to 15 million cells per GB of available memory can be simulated at once. Benchmarks show throughputs above three hundred million weight updates per second, which exceeds the pixel rate of a 30 frames per second video stream at 4K resolution (3,840 &#x000D7; 2,160 pixels). Realistic current readouts including digitization and noise were also benchmarked, and are approximately an order of magnitude faster than weight updates. While speeds can be expected to improve with future optimizations, these benchmarks give a basis for estimating the scope of applicability of the model to ML tasks.</p>
<p>The implementation and the general concept of this model are naturally extendable. Although model parameters were adapted here to a specific HfO<sub>2</sub>-based ReRAM device, the method is applicable to a variety of other types of stochastic memory cells such as PCM, MRAM, etc. Four specific switching features were chosen in this demonstration to reconstruct (<italic>I, U</italic>) cycling behavior, but additional switching parameters can also be extracted from measurements and accommodated within this framework. Ideally informed by statistical measurement data, different functional forms, transition behaviors, time dependence, and underlying stochastic processes can each be substituted. Fitting may also be performed with respect to the output of physics-based simulations, thereby establishing an indirect link to physical parameters while achieving much higher computational speed. With these considerations, the model represents a flexible foundation for implementing large-scale neuromorphic simulations that incorporate realistic device behavior.</p>
</sec>
<sec sec-type="data-availability" id="s6">
<title>Data availability statement</title>
<p>The original contributions presented in the study are included in the article/supplementary material, further inquiries can be directed to the corresponding author. A Julia implementation of the model is available on GitHub (<ext-link ext-link-type="uri" xlink:href="https://github.com/thennen/StochasticSynapses.jl">https://github.com/thennen/StochasticSynapses.jl</ext-link>) and archived in Zenodo (<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.5281/zenodo.6535411">https://doi.org/10.5281/zenodo.6535411</ext-link>).</p>
</sec>
<sec id="s7">
<title>Author contributions</title>
<p>TH performed the data analysis, implemented the model, and wrote the manuscript. AE carried out the (<italic>I, U</italic>) measurement. JN and GM fabricated the ReRAM devices. RW and DW co-advised the project. DB conceived of the concept and was in charge of the project. All authors contributed to the article and approved the submitted version.</p>

</sec>
<sec sec-type="COI-statement" id="conf1">
<title>Conflict of interest</title>
<p>Author GM is employed by Weebit Nano Ltd. The remaining authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s9">
<title>Publisher&#x00027;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
</body>
<back>
<ack><p>The authors thank Thomas P&#x000F6;ssinger of RWTH Aachen for illustrating <xref ref-type="fig" rid="F1">Figures 1</xref>, <xref ref-type="fig" rid="F2">2</xref>.</p>
</ack>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Abbaspour</surname> <given-names>E.</given-names></name> <name><surname>Menzel</surname> <given-names>S.</given-names></name> <name><surname>Jungemann</surname> <given-names>C.</given-names></name></person-group> (<year>2020</year>). <article-title>Studying the switching variability in redox-based resistive switching devices</article-title>. <source>J. Comput. Electron</source>. <volume>19</volume>, <fpage>1426</fpage>&#x02013;<lpage>1432</lpage>. <pub-id pub-id-type="doi">10.1007/s10825-020-01537-y</pub-id></citation>
</ref>
<ref id="B2">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ambrogio</surname> <given-names>S.</given-names></name> <name><surname>Balatti</surname> <given-names>S.</given-names></name> <name><surname>Milo</surname> <given-names>V.</given-names></name> <name><surname>Carboni</surname> <given-names>R.</given-names></name> <name><surname>Wang</surname> <given-names>Z.-Q.</given-names></name> <name><surname>Calderoni</surname> <given-names>A.</given-names></name> <etal/></person-group>. (<year>2016</year>). <article-title>Neuromorphic learning and recognition with one-transistor-one-resistor synapses and bistable metal oxide RRAM</article-title>. <source>IEEE Trans. Electron Devices</source> <volume>63</volume>, <fpage>1508</fpage>&#x02013;<lpage>1515</lpage>. <pub-id pub-id-type="doi">10.1109/TED.2016.2526647</pub-id></citation>
</ref>
<ref id="B3">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ascoli</surname> <given-names>A.</given-names></name> <name><surname>Tetzlaff</surname> <given-names>R.</given-names></name> <name><surname>Biolek</surname> <given-names>Z.</given-names></name> <name><surname>Kolka</surname> <given-names>Z.</given-names></name> <name><surname>Biolkova</surname> <given-names>V.</given-names></name> <name><surname>Biolek</surname> <given-names>D.</given-names></name></person-group> (<year>2015</year>). <article-title>The art of finding accurate memristor model solutions</article-title>. <source>IEEE J. Emerg. Sel. Top. Circ. Syst</source>. <volume>5</volume>, <fpage>133</fpage>&#x02013;<lpage>142</lpage>. <pub-id pub-id-type="doi">10.1109/JETCAS.2015.2426493</pub-id></citation>
</ref>
<ref id="B4">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bengel</surname> <given-names>C.</given-names></name> <name><surname>Siemon</surname> <given-names>A.</given-names></name> <name><surname>Cuppers</surname> <given-names>F.</given-names></name> <name><surname>Hoffmann-Eifert</surname> <given-names>S.</given-names></name> <name><surname>Hardtdegen</surname> <given-names>A.</given-names></name> <name><surname>von Witzleben</surname> <given-names>M.</given-names></name> <etal/></person-group>. (<year>2020</year>). <article-title>Variability-aware modeling of filamentary oxide-based bipolar resistive switching cells using SPICE level compact models</article-title>. <source>IEEE Trans. Circuits Syst. Regul. Pap</source>. <volume>67</volume>, <fpage>4616</fpage>&#x02013;<lpage>4630</lpage>. <pub-id pub-id-type="doi">10.1109/TCSI.2020.3018502</pub-id></citation>
</ref>
<ref id="B5">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Besard</surname> <given-names>T.</given-names></name> <name><surname>Foket</surname> <given-names>C.</given-names></name> <name><surname>De Sutter</surname> <given-names>B.</given-names></name></person-group> (<year>2019</year>). <article-title>Effective extensible programming: unleashing julia on GPUs</article-title>. <source>IEEE Trans. Parallel Distrib. Syst</source>. <volume>30</volume>, <fpage>827</fpage>&#x02013;<lpage>841</lpage>. <pub-id pub-id-type="doi">10.1109/TPDS.2018.2872064</pub-id></citation>
</ref>
<ref id="B6">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bocquet</surname> <given-names>M.</given-names></name> <name><surname>Aziza</surname> <given-names>H.</given-names></name> <name><surname>Zhao</surname> <given-names>W.</given-names></name> <name><surname>Zhang</surname> <given-names>Y.</given-names></name> <name><surname>Onkaraiah</surname> <given-names>S.</given-names></name> <name><surname>Muller</surname> <given-names>C.</given-names></name> <etal/></person-group>. (<year>2014</year>). <article-title>Compact modeling solutions for oxide-based resistive switching memories (OxRAM)</article-title>. <source>J. Low Power Electron. Appl</source>. <volume>4</volume>, <fpage>1</fpage>&#x02013;<lpage>14</lpage>. <pub-id pub-id-type="doi">10.3390/jlpea4010001</pub-id></citation>
</ref>
<ref id="B7">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Brown</surname> <given-names>T.</given-names></name> <name><surname>Mann</surname> <given-names>B.</given-names></name> <name><surname>Ryder</surname> <given-names>N.</given-names></name> <name><surname>Subbiah</surname> <given-names>M.</given-names></name> <name><surname>Kaplan</surname> <given-names>J. D.</given-names></name> <name><surname>Dhariwal</surname> <given-names>P.</given-names></name> <etal/></person-group>. (<year>2020</year>). <article-title>&#x0201C;Language models are few-shot learners,&#x0201D;</article-title> in <source>Advances in Neural Information Processing Systems, Vol. 33</source>, eds H. Larochelle, M. Ranzato, R. Hadsell, M. F. Balcan, and H. Lin (Curran Associates, Inc.), <fpage>1877</fpage>&#x02013;<lpage>1901</lpage>.</citation>
</ref>
<ref id="B8">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Burr</surname> <given-names>G. W.</given-names></name> <name><surname>Shelby</surname> <given-names>R. M.</given-names></name> <name><surname>Sebastian</surname> <given-names>A.</given-names></name> <name><surname>Kim</surname> <given-names>S.</given-names></name> <name><surname>Kim</surname> <given-names>S.</given-names></name> <name><surname>Sidler</surname> <given-names>S.</given-names></name> <etal/></person-group>. (<year>2017</year>). <article-title>Neuromorphic computing using non-volatile memory</article-title>. <source>Adv. Phys. X</source> <volume>2</volume>, <fpage>89</fpage>&#x02013;<lpage>124</lpage>. <pub-id pub-id-type="doi">10.1080/23746149.2016.1259585</pub-id></citation>
</ref>
<ref id="B9">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Butcher</surname> <given-names>B.</given-names></name> <name><surname>Bersuker</surname> <given-names>G.</given-names></name> <name><surname>Young-Fisher</surname> <given-names>K. G.</given-names></name> <name><surname>Gilmer</surname> <given-names>D. C.</given-names></name> <name><surname>Kalantarian</surname> <given-names>A.</given-names></name> <name><surname>Nishi</surname> <given-names>Y.</given-names></name> <etal/></person-group>. (<year>2012</year>). <article-title>&#x0201C;Hot forming to improve memory window and uniformity of low-power HfOx-based RRAMs,&#x0201D;</article-title> in <source>2012 4th IEEE International Memory Workshop</source> (<publisher-loc>Milan</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>1</fpage>&#x02013;<lpage>4</lpage>.</citation>
</ref>
<ref id="B10">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Cario</surname> <given-names>M. C.</given-names></name> <name><surname>Nelson</surname> <given-names>B. L.</given-names></name></person-group> (<year>1996</year>). <article-title>Autoregressive to anything: time-series input processes for simulation</article-title>. <source>Operat. Res. Lett</source>. <volume>19</volume>, <fpage>51</fpage>&#x02013;<lpage>58</lpage>. <pub-id pub-id-type="doi">10.1016/0167-6377(96)00017-X</pub-id></citation>
</ref>
<ref id="B11">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chen</surname> <given-names>A.</given-names></name></person-group> (<year>2015</year>). <article-title>Utilizing the variability of resistive random access memory to implement reconfigurable physical unclonable functions</article-title>. <source>IEEE Electron. Device Lett</source>. <volume>36</volume>, <fpage>138</fpage>&#x02013;<lpage>140</lpage>. <pub-id pub-id-type="doi">10.1109/LED.2014.2385870</pub-id></citation>
</ref>
<ref id="B12">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Chen</surname> <given-names>A.</given-names></name> <name><surname>Hutchby</surname> <given-names>J.</given-names></name> <name><surname>Zhirnov</surname> <given-names>V. V.</given-names></name> <name><surname>Bourianoff</surname> <given-names>G.</given-names></name></person-group> (Eds.). (<year>2014</year>). <source>Emerging Nanoelectronic Devices</source>. <publisher-loc>Chichester</publisher-loc>: <publisher-name>John Wiley &#x00026; Sons Inc</publisher-name>.</citation>
</ref>
<ref id="B13">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chen</surname> <given-names>P.-Y.</given-names></name> <name><surname>Yu</surname> <given-names>S.</given-names></name></person-group> (<year>2015</year>). <article-title>Compact modeling of RRAM devices and its applications in 1T1R and 1S1R array design</article-title>. <source>IEEE Trans. Electron. Devices</source> <volume>62</volume>, <fpage>4022</fpage>&#x02013;<lpage>4028</lpage>. <pub-id pub-id-type="doi">10.1109/TED.2015.2492421</pub-id></citation>
</ref>
<ref id="B14">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Dalgaty</surname> <given-names>T.</given-names></name> <name><surname>Castellani</surname> <given-names>N.</given-names></name> <name><surname>Turck</surname> <given-names>C.</given-names></name> <name><surname>Harabi</surname> <given-names>K.-E.</given-names></name> <name><surname>Querlioz</surname> <given-names>D.</given-names></name> <name><surname>Vianello</surname> <given-names>E.</given-names></name></person-group> (<year>2021</year>). <article-title><italic>In situ</italic> learning using intrinsic memristor variability <italic>via</italic> markov chain monte carlo sampling</article-title>. <source>Nat. Electron</source>. <volume>4</volume>, <fpage>151</fpage>&#x02013;<lpage>161</lpage>. <pub-id pub-id-type="doi">10.1038/s41928-020-00523-3</pub-id></citation>
</ref>
<ref id="B15">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Fantini</surname> <given-names>A.</given-names></name> <name><surname>Gorine</surname> <given-names>G.</given-names></name> <name><surname>Degraeve</surname> <given-names>R.</given-names></name> <name><surname>Goux</surname> <given-names>L.</given-names></name> <name><surname>Chen</surname> <given-names>C. Y.</given-names></name> <name><surname>Redolfi</surname> <given-names>A.</given-names></name> <etal/></person-group>. (<year>2015</year>). <article-title>&#x0201C;Intrinsic program instability in HfO<sub>2</sub> RRAM and consequences on program algorithms,&#x0201D;</article-title> in <source>2015 IEEE International Electron Devices Meeting (IEDM)</source> (<publisher-loc>Washington, DC</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>7</fpage>.5.1&#x02013;7.5.4.</citation>
</ref>
<ref id="B16">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Fantini</surname> <given-names>A.</given-names></name> <name><surname>Goux</surname> <given-names>L.</given-names></name> <name><surname>Degraeve</surname> <given-names>R.</given-names></name> <name><surname>Wouters</surname> <given-names>D.</given-names></name> <name><surname>Raghavan</surname> <given-names>N.</given-names></name> <name><surname>Kar</surname> <given-names>G.</given-names></name> <etal/></person-group>. (<year>2013</year>). <article-title>&#x0201C;Intrinsic switching variability in HfO<sub>2</sub> RRAM,&#x0201D;</article-title> in <source>2013 5th IEEE International Memory Workshop</source> (<publisher-loc>Monterey, CA</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>30</fpage>&#x02013;<lpage>33</lpage>.</citation>
</ref>
<ref id="B17">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Hamilton</surname> <given-names>J. D.</given-names></name></person-group> (<year>1994</year>). <source>Time Series Analysis</source>. <publisher-loc>Princeton, NJ</publisher-loc>: <publisher-name>Princeton University Press</publisher-name>.</citation>
</ref>
<ref id="B18">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Hennen</surname> <given-names>T.</given-names></name></person-group> (<year>2022</year>). <source>StochasticSynapses.jl</source>. Zenodo. <pub-id pub-id-type="doi">10.5281/zenodo.6535411</pub-id></citation>
</ref>
<ref id="B19">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Hennen</surname> <given-names>T.</given-names></name> <name><surname>Wichmann</surname> <given-names>E.</given-names></name> <name><surname>Elias</surname> <given-names>A.</given-names></name> <name><surname>Lille</surname> <given-names>J.</given-names></name> <name><surname>Mosendz</surname> <given-names>O.</given-names></name> <name><surname>Waser</surname> <given-names>R.</given-names></name> <etal/></person-group>. (<year>2021</year>). <article-title>Current-limiting amplifier for high speed measurement of resistive switching data</article-title>. <source>Rev. Sci. Instrum</source>. 92, 054701. <pub-id pub-id-type="doi">10.1063/5.0047571</pub-id><pub-id pub-id-type="pmid">34243265</pub-id></citation></ref>
<ref id="B20">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Huang</surname> <given-names>P.</given-names></name> <name><surname>Zhu</surname> <given-names>D.</given-names></name> <name><surname>Chen</surname> <given-names>S.</given-names></name> <name><surname>Zhou</surname> <given-names>Z.</given-names></name> <name><surname>Chen</surname> <given-names>Z.</given-names></name> <name><surname>Gao</surname> <given-names>B.</given-names></name> <etal/></person-group>. (<year>2017</year>). <article-title>Compact model of HfO<sub><italic>x</italic></sub>-based electronic synaptic devices for neuromorphic computing</article-title>. <source>IEEE Trans. Electron. Devices</source> <volume>64</volume>, <fpage>614</fpage>&#x02013;<lpage>621</lpage>. <pub-id pub-id-type="doi">10.1109/TED.2016.2643162</pub-id></citation>
</ref>
<ref id="B21">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ielmini</surname> <given-names>D.</given-names></name></person-group> (<year>2011</year>). <article-title>Modeling the universal set/reset characteristics of bipolar RRAM by field- and temperature-driven filament growth</article-title>. <source>IEEE Trans. Electron. Devices</source> <volume>58</volume>, <fpage>4309</fpage>&#x02013;<lpage>4317</lpage>. <pub-id pub-id-type="doi">10.1109/TED.2011.2167513</pub-id></citation>
</ref>
<ref id="B22">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ielmini</surname> <given-names>D.</given-names></name> <name><surname>Milo</surname> <given-names>V.</given-names></name></person-group> (<year>2017</year>). <article-title>Physics-based modeling approaches of resistive switching devices for memory and in-memory computing applications</article-title>. <source>J. Comput. Electron</source>. <volume>16</volume>, <fpage>1121</fpage>&#x02013;<lpage>1143</lpage>. <pub-id pub-id-type="doi">10.1007/s10825-017-1101-9</pub-id><pub-id pub-id-type="pmid">31997981</pub-id></citation></ref>
<ref id="B23">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ielmini</surname> <given-names>D.</given-names></name> <name><surname>Nardi</surname> <given-names>F.</given-names></name> <name><surname>Cagli</surname> <given-names>C.</given-names></name></person-group> (<year>2011</year>). <article-title>Universal reset characteristics of unipolar and bipolar metal-oxide RRAM</article-title>. <source>IEEE Trans. Electron. Devices</source> <volume>58</volume>, <fpage>3246</fpage>&#x02013;<lpage>3253</lpage>. <pub-id pub-id-type="doi">10.1109/TED.2011.2161088</pub-id></citation>
</ref>
<ref id="B24">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jiang</surname> <given-names>H.</given-names></name> <name><surname>Stewart</surname> <given-names>D. A.</given-names></name></person-group> (<year>2017</year>). <article-title>Using dopants to tune oxygen vacancy formation in transition metal oxide resistive memory</article-title>. <source>ACS Appl. Mater. Interfaces</source> <volume>9</volume>, <fpage>16296</fpage>&#x02013;<lpage>16304</lpage>. <pub-id pub-id-type="doi">10.1021/acsami.7b00139</pub-id><pub-id pub-id-type="pmid">28436217</pub-id></citation></ref>
<ref id="B25">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jiang</surname> <given-names>Z.</given-names></name> <name><surname>Wu</surname> <given-names>Y.</given-names></name> <name><surname>Yu</surname> <given-names>S.</given-names></name> <name><surname>Yang</surname> <given-names>L.</given-names></name> <name><surname>Song</surname> <given-names>K.</given-names></name> <name><surname>Karim</surname> <given-names>Z.</given-names></name> <etal/></person-group>. (<year>2016</year>). <article-title>A compact model for metal-oxide resistive random access memory with experiment verification</article-title>. <source>IEEE Trans. Electron. Devices</source> <volume>63</volume>, <fpage>1884</fpage>&#x02013;<lpage>1892</lpage>. <pub-id pub-id-type="doi">10.1109/TED.2016.2545412</pub-id></citation>
</ref>
<ref id="B26">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kantorovich</surname> <given-names>L. V.</given-names></name></person-group> (<year>1960</year>). <article-title>Mathematical methods of organizing and planning production. <italic>Manag</italic></article-title>. <source>Sci</source>. <volume>6</volume>, <fpage>366</fpage>&#x02013;<lpage>422</lpage>. <pub-id pub-id-type="doi">10.1287/mnsc.6.4.366</pub-id></citation>
</ref>
<ref id="B27">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kim</surname> <given-names>K. M.</given-names></name> <name><surname>Yang</surname> <given-names>J. J.</given-names></name> <name><surname>Strachan</surname> <given-names>J. P.</given-names></name> <name><surname>Grafals</surname> <given-names>E. M.</given-names></name> <name><surname>Ge</surname> <given-names>N.</given-names></name> <name><surname>Melendez</surname> <given-names>N. D.</given-names></name> <etal/></person-group>. (<year>2016a</year>). <article-title>Voltage divider effect for the improvement of variability and endurance of TaO<sub><italic>x</italic></sub> memristor</article-title>. <source>Sci. Rep</source> <volume>6</volume>, <fpage>20085</fpage>. <pub-id pub-id-type="doi">10.1038/srep20085</pub-id><pub-id pub-id-type="pmid">26830763</pub-id></citation></ref>
<ref id="B28">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Kim</surname> <given-names>S.</given-names></name> <name><surname>Lim</surname> <given-names>M.</given-names></name> <name><surname>Kim</surname> <given-names>Y.</given-names></name> <name><surname>Kim</surname> <given-names>H.-D.</given-names></name> <name><surname>Choi</surname> <given-names>S.-J.</given-names></name></person-group> (<year>2018</year>). <article-title>Impact of synaptic device variations on pattern recognition accuracy in a hardware neural network</article-title>. <source>Sci. Rep</source>. 8, 2638. <pub-id pub-id-type="doi">10.1038/s41598-018-21057-x</pub-id><pub-id pub-id-type="pmid">29422641</pub-id></citation></ref>
<ref id="B29">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kim</surname> <given-names>W.</given-names></name> <name><surname>Menzel</surname> <given-names>S.</given-names></name> <name><surname>Wouters</surname> <given-names>D. J.</given-names></name> <name><surname>Guo</surname> <given-names>Y.</given-names></name> <name><surname>Robertson</surname> <given-names>J.</given-names></name> <name><surname>Roesgen</surname> <given-names>B.</given-names></name> <etal/></person-group>. (<year>2016b</year>). <article-title>Impact of oxygen exchange reaction at the ohmic interface in Ta<sub>2</sub>O<sub>5</sub>-based ReRAM devices</article-title>. <source>Nanoscale</source> <volume>8</volume>, <fpage>17774</fpage>&#x02013;<lpage>17781</lpage>. <pub-id pub-id-type="doi">10.1039/C6NR03810G</pub-id><pub-id pub-id-type="pmid">27523172</pub-id></citation></ref>
<ref id="B30">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kopperberg</surname> <given-names>N.</given-names></name> <name><surname>Wiefels</surname> <given-names>S.</given-names></name> <name><surname>Liberda</surname> <given-names>S.</given-names></name> <name><surname>Waser</surname> <given-names>R.</given-names></name> <name><surname>Menzel</surname> <given-names>S.</given-names></name></person-group> (<year>2021</year>). <article-title>A consistent model for short-term instability and long-term retention in filamentary oxide-based memristive devices</article-title>. <source>ACS Appl. Mater. Interfaces</source> <volume>13</volume>, <fpage>58066</fpage>&#x02013;<lpage>58075</lpage>. <pub-id pub-id-type="doi">10.1021/acsami.1c14667</pub-id><pub-id pub-id-type="pmid">34808060</pub-id></citation></ref>
<ref id="B31">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>La Torre</surname> <given-names>C.</given-names></name> <name><surname>Fleck</surname> <given-names>K.</given-names></name> <name><surname>Starschich</surname> <given-names>S.</given-names></name> <name><surname>Linn</surname> <given-names>E.</given-names></name> <name><surname>Waser</surname> <given-names>R.</given-names></name> <name><surname>Menzel</surname> <given-names>S.</given-names></name></person-group> (<year>2016</year>). <article-title>Dependence of the SET switching variability on the initial state in HfO<sub><italic>x</italic></sub>-based ReRAM</article-title>. <source>Phys. Status Solidi A</source> <volume>213</volume>, <fpage>316</fpage>&#x02013;<lpage>319</lpage>. <pub-id pub-id-type="doi">10.1002/pssa.201532375</pub-id></citation>
</ref>
<ref id="B32">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Li</surname> <given-names>H.</given-names></name> <name><surname>Huang</surname> <given-names>P.</given-names></name> <name><surname>Gao</surname> <given-names>B.</given-names></name> <name><surname>Liu</surname> <given-names>X.</given-names></name> <name><surname>Kang</surname> <given-names>J.</given-names></name> <name><surname>Philip Wong</surname> <given-names>H.-S.</given-names></name></person-group> (<year>2017</year>). <article-title>Device and circuit interaction analysis of stochastic behaviors in cross-point RRAM arrays</article-title>. <source>IEEE Trans. Electron. Devices</source> <volume>64</volume>, <fpage>4928</fpage>&#x02013;<lpage>4936</lpage>. <pub-id pub-id-type="doi">10.1109/TED.2017.2766046</pub-id></citation>
</ref>
<ref id="B33">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Liu</surname> <given-names>H.</given-names></name> <name><surname>Bedau</surname> <given-names>D.</given-names></name> <name><surname>Sun</surname> <given-names>J.</given-names></name> <name><surname>Mangin</surname> <given-names>S.</given-names></name> <name><surname>Fullerton</surname> <given-names>E.</given-names></name> <name><surname>Katine</surname> <given-names>J.</given-names></name> <etal/></person-group>. (<year>2014</year>). <article-title>Dynamics of spin torque switching in all-perpendicular spin valve nanopillars</article-title>. <source>J. Magn. Magn. Mater</source>. 358&#x02013;<volume>359</volume>, <fpage>233</fpage>&#x02013;<lpage>258</lpage>. <pub-id pub-id-type="doi">10.1016/j.jmmm.2014.01.061</pub-id></citation>
</ref>
<ref id="B34">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>L&#x000FC;tkepohl</surname> <given-names>H.</given-names></name></person-group> (<year>2005</year>). <source>New Introduction to Multiple Time Series Analysis</source>. <publisher-loc>New York, NY; Berlin</publisher-loc>: <publisher-name>Springer</publisher-name>.</citation>
</ref>
<ref id="B35">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Ma</surname> <given-names>W.</given-names></name> <name><surname>Chiu</surname> <given-names>P.-F.</given-names></name> <name><surname>Choi</surname> <given-names>W. H.</given-names></name> <name><surname>Qin</surname> <given-names>M.</given-names></name> <name><surname>Bedau</surname> <given-names>D.</given-names></name> <name><surname>Lueker-Boden</surname> <given-names>M.</given-names></name></person-group> (<year>2019</year>). <article-title>&#x0201C;Non-volatile memory array based quantization- and noise-resilient LSTM neural networks,&#x0201D;</article-title> in <source>2019 IEEE International Conference on Rebooting Computing (ICRC)</source> (<publisher-loc>San Mateo, CA</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>1</fpage>&#x02013;<lpage>9</lpage>.</citation>
</ref>
<ref id="B36">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Maria Puglisi</surname> <given-names>F.</given-names></name> <name><surname>Larcher</surname> <given-names>L.</given-names></name> <name><surname>Padovani</surname> <given-names>A.</given-names></name> <name><surname>Pavan</surname> <given-names>P.</given-names></name></person-group> (<year>2015</year>). <article-title>Bipolar resistive RAM based on HfO<sub>2</sub>: physics, compact modeling, and variability control</article-title>. <source>IEEE J. Emerg. Sel. Top. Circ. Syst</source>. <volume>6</volume>, <fpage>171</fpage>&#x02013;<lpage>184</lpage>. <pub-id pub-id-type="doi">10.1109/JETCAS.2016.2547703</pub-id></citation>
</ref>
<ref id="B37">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Mayer</surname> <given-names>J.</given-names></name> <name><surname>Khairy</surname> <given-names>K.</given-names></name> <name><surname>Howard</surname> <given-names>J.</given-names></name></person-group> (<year>2010</year>). <article-title>Drawing an elephant with four complex parameters</article-title>. <source>Am. J. Phys</source>. <volume>78</volume>, <fpage>648</fpage>&#x02013;<lpage>649</lpage>. <pub-id pub-id-type="doi">10.1119/1.3254017</pub-id></citation>
</ref>
<ref id="B38">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Menzel</surname> <given-names>S.</given-names></name> <name><surname>B&#x000F6;ttger</surname> <given-names>U.</given-names></name> <name><surname>Wimmer</surname> <given-names>M.</given-names></name> <name><surname>Salinga</surname> <given-names>M.</given-names></name></person-group> (<year>2015</year>). <article-title>Physics of the switching kinetics in resistive memories</article-title>. <source>Adv. Funct. Mater</source>. <volume>25</volume>, <fpage>6306</fpage>&#x02013;<lpage>6325</lpage>. <pub-id pub-id-type="doi">10.1002/adfm.201500825</pub-id></citation>
</ref>
<ref id="B39">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Messaris</surname> <given-names>I.</given-names></name> <name><surname>Serb</surname> <given-names>A.</given-names></name> <name><surname>Stathopoulos</surname> <given-names>S.</given-names></name> <name><surname>Khiat</surname> <given-names>A.</given-names></name> <name><surname>Nikolaidis</surname> <given-names>S.</given-names></name> <name><surname>Prodromakis</surname> <given-names>T.</given-names></name></person-group> (<year>2018</year>). <article-title>A data-driven verilog-A ReRAM model</article-title>. <source>IEEE Trans. Comput. Aided Des. Integr. Circ. Syst</source>. <volume>37</volume>, <fpage>3151</fpage>&#x02013;<lpage>3162</lpage>. <pub-id pub-id-type="doi">10.1109/TCAD.2018.2791468</pub-id></citation>
</ref>
<ref id="B40">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Milo</surname> <given-names>V.</given-names></name> <name><surname>Malavena</surname> <given-names>G.</given-names></name> <name><surname>Monzio Compagnoni</surname> <given-names>C.</given-names></name> <name><surname>Ielmini</surname> <given-names>D.</given-names></name></person-group> (<year>2020</year>). <article-title>Memristive and CMOS devices for neuromorphic computing</article-title>. <source>Materials</source> <volume>13</volume>, <fpage>166</fpage>. <pub-id pub-id-type="doi">10.3390/ma13010166</pub-id><pub-id pub-id-type="pmid">31906325</pub-id></citation></ref>
<ref id="B41">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Moon</surname> <given-names>J.</given-names></name> <name><surname>Ma</surname> <given-names>W.</given-names></name> <name><surname>Shin</surname> <given-names>J. H.</given-names></name> <name><surname>Cai</surname> <given-names>F.</given-names></name> <name><surname>Du</surname> <given-names>C.</given-names></name> <name><surname>Lee</surname> <given-names>S. H.</given-names></name> <etal/></person-group>. (<year>2019</year>). <article-title>Temporal data classification and forecasting using a memristor-based reservoir computing system</article-title>. <source>Nat. Electron</source>. <volume>2</volume>, <fpage>480</fpage>&#x02013;<lpage>487</lpage>. <pub-id pub-id-type="doi">10.1038/s41928-019-0313-3</pub-id></citation>
</ref>
<ref id="B42">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Nail</surname> <given-names>C.</given-names></name> <name><surname>Molas</surname> <given-names>G.</given-names></name> <name><surname>Blaise</surname> <given-names>P.</given-names></name> <name><surname>Piccolboni</surname> <given-names>G.</given-names></name> <name><surname>Sklenard</surname> <given-names>B.</given-names></name> <name><surname>Cagli</surname> <given-names>C.</given-names></name> <etal/></person-group>. (<year>2016</year>). <article-title>&#x0201C;Understanding RRAM endurance, retention and window margin trade-off using experimental results and simulations,&#x0201D;</article-title> in <source>2016 IEEE International Electron Devices Meeting (IEDM)</source> (<publisher-loc>San Francisco, CA</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>4</fpage>.5.1&#x02013;4.5.4.</citation>
</ref>
<ref id="B43">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Nardi</surname> <given-names>F.</given-names></name> <name><surname>Ielmini</surname> <given-names>D.</given-names></name> <name><surname>Cagli</surname> <given-names>C.</given-names></name> <name><surname>Spiga</surname> <given-names>S.</given-names></name> <name><surname>Fanciulli</surname> <given-names>M.</given-names></name> <name><surname>Goux</surname> <given-names>L.</given-names></name> <etal/></person-group>. (<year>2011</year>). <article-title>Control of filament size and reduction of reset current below 10&#x003BC;A in NiO resistance switching memories</article-title>. <source>Solid State Electron</source>. <volume>58</volume>, <fpage>42</fpage>&#x02013;<lpage>47</lpage>. <pub-id pub-id-type="doi">10.1016/j.sse.2010.11.031</pub-id></citation>
</ref>
<ref id="B44">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Nardi</surname> <given-names>F.</given-names></name> <name><surname>Larentis</surname> <given-names>S.</given-names></name> <name><surname>Balatti</surname> <given-names>S.</given-names></name> <name><surname>Gilmer</surname> <given-names>D. C.</given-names></name> <name><surname>Ielmini</surname> <given-names>D.</given-names></name></person-group> (<year>2012</year>). <article-title>Resistive switching by voltage-driven ion migration in bipolar RRAM-Part I: experimental study</article-title>. <source>IEEE Trans. Electron. Devices</source> <volume>59</volume>, <fpage>2461</fpage>&#x02013;<lpage>2467</lpage>. <pub-id pub-id-type="doi">10.1109/TED.2012.2202319</pub-id></citation>
</ref>
<ref id="B45">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Nishi</surname> <given-names>Y.</given-names></name> <name><surname>Fleck</surname> <given-names>K.</given-names></name> <name><surname>B&#x000F6;ttger</surname> <given-names>U.</given-names></name> <name><surname>Waser</surname> <given-names>R.</given-names></name> <name><surname>Menzel</surname> <given-names>S.</given-names></name></person-group> (<year>2015</year>). <article-title>Effect of RESET voltage on distribution of SET switching time of bipolar resistive switching in a tantalum oxide thin film</article-title>. <source>IEEE Trans. Electron. Devices</source> <volume>62</volume>, <fpage>1561</fpage>&#x02013;<lpage>1567</lpage>. <pub-id pub-id-type="doi">10.1109/TED.2015.2411748</pub-id></citation>
</ref>
<ref id="B46">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Park</surname> <given-names>S.</given-names></name> <name><surname>Noh</surname> <given-names>J.</given-names></name> <name><surname>Choo</surname> <given-names>M.-,l.</given-names></name> <name><surname>Sheri</surname> <given-names>A. M.</given-names></name> <name><surname>Chang</surname> <given-names>M.</given-names></name> <name><surname>Kim</surname> <given-names>Y.-B.</given-names></name> <etal/></person-group>. (<year>2013</year>). <article-title>Nanoscale RRAM-based synaptic electronics: toward a neuromorphic computing device</article-title>. <source>Nanotechnology</source> <volume>24</volume>, <fpage>384009</fpage>. <pub-id pub-id-type="doi">10.1088/0957-4484/24/38/384009</pub-id><pub-id pub-id-type="pmid">23999317</pub-id></citation></ref>
<ref id="B47">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Pedroni</surname> <given-names>B. U.</given-names></name> <name><surname>Deiss</surname> <given-names>S. R.</given-names></name> <name><surname>Mysore</surname> <given-names>N.</given-names></name> <name><surname>Cauwenberghs</surname> <given-names>G.</given-names></name></person-group> (<year>2020</year>). <article-title>&#x0201C;Design principles of large-scale neuromorphic systems centered on high bandwidth memory,&#x0201D;</article-title> in <source>2020 International Conference on Rebooting Computing (ICRC)</source> (<publisher-loc>Atlanta, GA</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>90</fpage>&#x02013;<lpage>94</lpage>.</citation>
</ref>
<ref id="B48">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Pedroni</surname> <given-names>B. U.</given-names></name> <name><surname>Joshi</surname> <given-names>S.</given-names></name> <name><surname>Deiss</surname> <given-names>S. R.</given-names></name> <name><surname>Sheik</surname> <given-names>S.</given-names></name> <name><surname>Detorakis</surname> <given-names>G.</given-names></name> <name><surname>Paul</surname> <given-names>S.</given-names></name> <etal/></person-group>. (<year>2019</year>). <article-title>Memory-efficient synaptic connectivity for spike-timing- dependent plasticity</article-title>. <source>Front. Neurosci</source>. 13, 357. <pub-id pub-id-type="doi">10.3389/fnins.2019.00357</pub-id><pub-id pub-id-type="pmid">31110470</pub-id></citation></ref>
<ref id="B49">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Piccolboni</surname> <given-names>G.</given-names></name> <name><surname>Molas</surname> <given-names>G.</given-names></name> <name><surname>Portal</surname> <given-names>J. M.</given-names></name> <name><surname>Coquand</surname> <given-names>R.</given-names></name> <name><surname>Bocquet</surname> <given-names>M.</given-names></name> <name><surname>Garbin</surname> <given-names>D.</given-names></name> <etal/></person-group>. (<year>2015</year>). <article-title>&#x0201C;Investigation of the potentialities of vertical resistive RAM (VRRAM) for neuromorphic applications,&#x0201D;</article-title> in <source>2015 IEEE International Electron Devices Meeting (IEDM)</source> (<publisher-loc>Washington, DC</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>17</fpage>.2.1&#x02013;17.2.4.</citation>
</ref>
<ref id="B50">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Reuben</surname> <given-names>J.</given-names></name> <name><surname>Fey</surname> <given-names>D.</given-names></name> <name><surname>Wenger</surname> <given-names>C.</given-names></name></person-group> (<year>2019</year>). <article-title>A modeling methodology for resistive RAM based on stanford-PKU model with extended multilevel capability</article-title>. <source>IEEE Trans. Nanotechnol</source>. <volume>18</volume>, <fpage>647</fpage>&#x02013;<lpage>656</lpage>. <pub-id pub-id-type="doi">10.1109/TNANO.2019.2922838</pub-id></citation>
</ref>
<ref id="B51">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Rezende</surname> <given-names>D. J.</given-names></name> <name><surname>Mohamed</surname> <given-names>S.</given-names></name></person-group> (<year>2015</year>). <article-title>&#x0201C;Variational inference with normalizing flows,&#x0201D;</article-title> in <source>Proceedings of the 32nd International Conference on Machine Learning (PMLR)</source> (<publisher-loc>Lille</publisher-loc>), <italic>Vol</italic>. <volume>37</volume>, <fpage>1530</fpage>&#x02013;<lpage>1538</lpage>.<pub-id pub-id-type="pmid">32200210</pub-id></citation></ref>
<ref id="B52">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Rold&#x000E1;n</surname> <given-names>J. B.</given-names></name> <name><surname>Alonso</surname> <given-names>F. J.</given-names></name> <name><surname>Aguilera</surname> <given-names>A. M.</given-names></name> <name><surname>Maldonado</surname> <given-names>D.</given-names></name> <name><surname>Lanza</surname> <given-names>M.</given-names></name></person-group> (<year>2019</year>). <article-title>Time series statistical analysis: a powerful tool to evaluate the variability of resistive switching memories</article-title>. <source>J. Appl. Phys</source>. 125, 174504. <pub-id pub-id-type="doi">10.1063/1.5079409</pub-id></citation>
</ref>
<ref id="B53">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Sangwan</surname> <given-names>V. K.</given-names></name> <name><surname>Hersam</surname> <given-names>M. C.</given-names></name></person-group> (<year>2020</year>). <article-title>Neuromorphic nanoelectronic materials</article-title>. <source>Nat. Nanotechnol</source>. <volume>15</volume>, <fpage>517</fpage>&#x02013;<lpage>528</lpage>. <pub-id pub-id-type="doi">10.1038/s41565-020-0647-z</pub-id><pub-id pub-id-type="pmid">32123381</pub-id></citation></ref>
<ref id="B54">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Seabold</surname> <given-names>S.</given-names></name> <name><surname>Perktold</surname> <given-names>J.</given-names></name></person-group> (<year>2010</year>). <article-title>&#x0201C;Statsmodels: econometric and statistical modeling with Python,&#x0201D;</article-title> in <source>Python in Science Conference</source> (<publisher-loc>Austin, TX</publisher-loc>), <fpage>92</fpage>&#x02013;<lpage>96</lpage>.</citation>
</ref>
<ref id="B55">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Siemon</surname> <given-names>A.</given-names></name> <name><surname>Wouters</surname> <given-names>D.</given-names></name> <name><surname>Hamdioui</surname> <given-names>S.</given-names></name> <name><surname>Menzel</surname> <given-names>S.</given-names></name></person-group> (<year>2019</year>). <article-title>&#x0201C;Memristive device modeling and circuit design exploration for computation-in-memory,&#x0201D;</article-title> in <source>2019 IEEE International Symposium on Circuits and Systems (ISCAS)</source> (<publisher-loc>Sapporo</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>1</fpage>&#x02013;<lpage>5</lpage>.</citation>
</ref>
<ref id="B56">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Stewart</surname> <given-names>D. A.</given-names></name></person-group> (<year>2019</year>). <article-title>Diffusion of oxygen in amorphous tantalum oxide</article-title>. <source>Phys. Rev. Mater</source>. 3, 055605. <pub-id pub-id-type="doi">10.1103/PhysRevMaterials.3.055605</pub-id></citation>
</ref>
<ref id="B57">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wald</surname> <given-names>N.</given-names></name> <name><surname>Kvatinsky</surname> <given-names>S.</given-names></name></person-group> (<year>2019</year>). <article-title>Understanding the influence of device, circuit and environmental variations on real processing in memristive memory using Memristor Aided Logic</article-title>. <source>Microelectron. J</source>. <volume>86</volume>:<fpage>22</fpage>&#x02013;<lpage>33</lpage>. <pub-id pub-id-type="doi">10.1016/j.mejo.2019.02.013</pub-id></citation>
</ref>
<ref id="B58">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Waser</surname> <given-names>R.</given-names></name> <name><surname>Dittmann</surname> <given-names>R.</given-names></name> <name><surname>Staikov</surname> <given-names>G.</given-names></name> <name><surname>Szot</surname> <given-names>K.</given-names></name></person-group> (<year>2009</year>). <article-title>Redox-based resistive switching memories - nanoionic mechanisms, prospects, and challenges</article-title>. <source>Adv. Mater</source>. <volume>21</volume>, <fpage>2632</fpage>&#x02013;<lpage>2663</lpage>. <pub-id pub-id-type="doi">10.1002/adma.200900375</pub-id></citation>
</ref>
<ref id="B59">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wiefels</surname> <given-names>S.</given-names></name> <name><surname>Bengel</surname> <given-names>C.</given-names></name> <name><surname>Kopperberg</surname> <given-names>N.</given-names></name> <name><surname>Zhang</surname> <given-names>K.</given-names></name> <name><surname>Waser</surname> <given-names>R.</given-names></name> <name><surname>Menzel</surname> <given-names>S.</given-names></name></person-group> (<year>2020</year>). <article-title>HRS instability in oxide-based bipolar resistive switching cells</article-title>. <source>IEEE Trans. Electron. Devices</source> <volume>67</volume>, <fpage>4208</fpage>&#x02013;<lpage>4215</lpage>. <pub-id pub-id-type="doi">10.1109/TED.2020.3018096</pub-id></citation>
</ref>
<ref id="B60">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yang</surname> <given-names>J. J.</given-names></name> <name><surname>Pickett</surname> <given-names>M. D.</given-names></name> <name><surname>Li</surname> <given-names>X.</given-names></name> <name><surname>Ohlberg</surname> <given-names>D. A. A.</given-names></name> <name><surname>Stewart</surname> <given-names>D. R.</given-names></name> <name><surname>Williams</surname> <given-names>R. S.</given-names></name></person-group> (<year>2008</year>). <article-title>Memristive switching mechanism for metal/oxide/metal nanodevices</article-title>. <source>Nat. Nanotech</source> <volume>3</volume>, <fpage>429</fpage>&#x02013;<lpage>433</lpage>. <pub-id pub-id-type="doi">10.1038/nnano.2008.160</pub-id><pub-id pub-id-type="pmid">18654568</pub-id></citation></ref>
<ref id="B61">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>You</surname> <given-names>Z.</given-names></name> <name><surname>Ramanathan</surname> <given-names>S.</given-names></name></person-group> (<year>2015</year>). <article-title>Mott memory and neuromorphic devices</article-title>. <source>Proc. IEEE</source> <volume>103</volume>, <fpage>1289</fpage>&#x02013;<lpage>1310</lpage>. <pub-id pub-id-type="doi">10.1109/JPROC.2015.2431914</pub-id></citation>
</ref>
<ref id="B62">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yu</surname> <given-names>S.</given-names></name> <name><surname>Chen</surname> <given-names>P.-Y.</given-names></name></person-group> (<year>2016</year>). <article-title>Emerging memory technologies: recent trends and prospects</article-title>. <source>IEEE Solid State Circ. Mag</source>. <volume>8</volume>, <fpage>43</fpage>&#x02013;<lpage>56</lpage>. <pub-id pub-id-type="doi">10.1109/MSSC.2016.2546199</pub-id></citation>
</ref>
<ref id="B63">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhao</surname> <given-names>L.</given-names></name> <name><surname>Chen</surname> <given-names>H.-Y.</given-names></name> <name><surname>Wu</surname> <given-names>S.-C.</given-names></name> <name><surname>Jiang</surname> <given-names>Z.</given-names></name> <name><surname>Yu</surname> <given-names>S.</given-names></name> <name><surname>Hou</surname> <given-names>T.-H.</given-names></name> <etal/></person-group>. (<year>2014</year>). <article-title>Multi-level control of conductive nano-filament evolution in HfO<sub>2</sub> ReRAM by pulse-train operations</article-title>. <source>Nanoscale</source> <volume>6</volume>, <fpage>5698</fpage>&#x02013;<lpage>5702</lpage>. <pub-id pub-id-type="doi">10.1039/C4NR00500G</pub-id><pub-id pub-id-type="pmid">24769626</pub-id></citation></ref>
</ref-list> 
</back>
</article> 