# Quantitative Analysis of Memristance Defined Exponential Model for Multi-bits Titanium Dioxide Memristor Memory Cell.

I. INTRODUCTIONMemristor [1] based memory circuits are promising applications. Circuits like content addressable memory (CAM) [2], [3], low power CMOS interfaces [4], and multibits circuits [5-7] have found benefits in using memristors because of their nonvolatility, fast switching, high packing density and compatibility with CMOS logic. In this paper, we consider a multi-bit memristors memory cell, exploiting a new proposed model with a novel memristance definition.

A memristor model could be a basic (linear) [8] or windowed (nonlinear) [8-19]. In the windowed model, the state variable (x) changes nonlinearly in response to a voltage pulse. The state variable derivative in the basic model (dx/dt) is proportional to the memristor current i(t) only, implying an identical change of x for identical applied current pulses regardless of the initial state [x.sub.0] [20]. It also shows symmetric change in x for both positive and negative pulses of identical attributes (amplitudes and time periods). The basic model suffers less accuracy in describing the change of x, and it may be used only for simulating a binary switching operation. Modelling multi-bit circuits requires using the most accurate model. If the number of bits required to be represented by a single memristor increases, an accurate model becomes of great importance. The amount of change in memristance is a function of the initial condition. The model used in simulating multi-bit circuits must be capable of capturing the change in memristance according to both the initial condition and the applied voltage/current signal. When a single pulse is applied, the state variable x varies from an initial to some final value.

No state variation parameters are considered for the basic model since all variations are of equal values [20]. Many state variation parameters such as the minimum and the maximum state variations are considered when utilizing the windowed model.

The rest of the paper is organized as follows. In section II, we propose a novel definition of memristance within a memristor model. In section III, we make use of the proposed model to quantitatively analyse the Platinum electrodes-Titanium Dioxide (Pt-Ti[O.sub.2]-Pt) memristor device in a multi-bit memristor memory cell. Also we simulate the writing and reading processes of 3 -bits memory cell. Section IV provides a read-out scheme based on the analysis of the previous section. The conclusion is provided in section v.

II. THE PROPOSED DEFINITION OF MEMRISTANCE WITHIN A MEMRISTOR MODEL

Many memristor models were introduced. Some of them have lower degrees of accuracy [8], [11], [13] and others can contradict some physical requirements such as memristance discontinuity around zero excitation [21-23] and/or exceeding or falling below state boundaries [16]. Many models use tunnel exponential equation to define the memristor current [10], [16-17] whereas others use drift equation to define the memristance [8-9], [11-15]. A windowed model which combines the tunnel and drift in the form of parameters is proposed with a novel memristance definition to avoid the shortcomings of existing models. The proposed model is defined by equations (1) to (6). Equations (1) and (2) express the memristances for ON and OFF switching operations, respectively.

R(x, v(t)) = ([R.sub.off] (1 - x(t)) + [R.sub.on]x(t)) x cosh([b.sub.p]v(t)), v(t) [greater than or equal to] 0 (1)

R(x, v(t)) = [(R.sub.off] (1 - x(t)) + [R.sub.on]x(t))]/cosh(-[b.sub.n]v(t)), v(t) < 0 (2)

where [R.sub.OFF] and [R.sub.ON] are the maximum and the minimum resistances of the memristor. The parameters [b.sub.p] and [b.sub.n] are considered tunneling parameters. The state variable derivative is given in (3).

Dx/dt = g (v(t)) x f(x(t)) + h(x) (3)

[mathematical expression not reproducible] (4)

where f(x) is defined by two different functions as in (4) for ON and OFF switching operations, where [[alpha].sub.p], [[alpha].sub.n] and [S.sub.p] are considered drift parameters. The term h(x) is an offset parameter given by [epsilon] x (1-x) and [epsilon] x x for ON and OFF switching operations, respectively, where [epsilon] is a small constant. Its role is to give a small non-zero value to x. This is required to resolve the boundary conditions [13], [15].

Note that the two switching operations (ON and OFF) are asymmetric since two different window functions of different maxima are utilized. The asymmetric switching operations are controlled by the parameters [A.sub.p] and [A.sub.n] and the dependency on the state variable represented by the window functions.

The voltage excitation dependent part is g(v(t)), and it is defined as in (5) with scaling ([A.sub.p] and [A.sub.n]) and voltage dependent parameters ([c.sub.p] and [c.sub.n]).

[mathematical expression not reproducible] (5)

In order to validate the proposed model, we chose to fit it to two different characteristic curves of experimental data [9], [16], and it shows errors of about 8% and 10% respectively.

III. METHODOLOGY

In this section, we utilize the proposed model to analyze a memristor based multi-bit memory cell. We start the analysis by separating the functions in (3) and neglecting h(x),whose value is very small as indicated earlier, then we obtain (6).

[1/f(x)] dx = g (v(t))dt (6)

A general voltage pulse [V.sub.pl](t), as shown in Fig. 1, is utilized to write and read the memristance values. This pulse has amplitude [A.sub.m] and typical time moments [T.sub.1], [T.sub.r], [T.sub.f] and [T.sub.2]. The expression of [V.sub.pl] and the associated change in flux [DELTA][[phi].sub.pl] (the integration of [V.sub.pl] over time) is given in (7) and (8) respectively with a voltage amplitude of [A.sub.m], which could be assigned a positive or negative value according to the voltage sweep sign required for switching. From (8), equation (9) is extracted as the flux associated with the proposed input pulse as shown in Fig. 2.

[mathematical expression not reproducible] (7)

[mathematical expression not reproducible] (8)

[mathematical expression not reproducible] (9)

In (7) and (8), [T.sub.[alpha]] = [T.sub.r] - [T.sub.1] = [T.sub.2] - [T.sub.f], where [T.sub.r] - [T.sub.1] and [T.sub.2] - [T.sub.f] are the rise and fall times respectively.

The integration of (6) cannot be analytically evaluated in a closed-form. It could be numerically calculated for a specific voltage input.

The objective is to apply a total flux (9) through the memristor in terms of discrete number of voltage pulses N=[N.sub.W] for write operations or N=[N.sub.R] for read operations. The main difference between the write and read operations is the nature of the consecutive pulses applied. For example, when we write a memristance lower than its prior value, a number of consecutive positive pulses is applied. But when we write a memristance higher than its prior value, a number of consecutive negative pulses is applied. Unlike the writing operation, the read operation could require a pulse of low positive or negative voltage or a complementary pulse of consecutive positive and negative binary pulses as shown in Fig. 3 from [T.sub.s] to [T.sub.q].

The complementary pulse swings are not necessarily symmetric for the adoption of asymmetric ON and OFF switching operations in order to mitigate the effect of read pulse programming.

Fig. 3 shows the write pulses which have high amplitudes for fast switching operation, and it also shows the read pulses which have low amplitudes to guarantee low modification in the memristive state.

Our objective is to calculate the amplitudes of the pulse signal ([A.sub.mw+], [A.sub.mw-], [A.sub.mr+] and [A.sub.mr-]) in the write (denoted by a subscript w) and read (denoted by a subscript r) operations and for positive (+) and negative (-) sweeps. The state variable could change by minimum state variation ([gamma]) and maximum state variation ([beta]) for write and read operations and for positive and negative pulses. The state variable x changes by [[beta].sub.w+], [[beta].sub.r+] which are positive values counting for more oN switching states in the write and read operation, respectively. The parameters [[beta].sub.w-], and [[beta].sub.r-] are negative values counting for more oFF switching states in the write and read operation, respectively.

Integrating (6) at known values of integral boundaries [x.sub.0], [x.sub.f], [T.sub.r] and [T.sub.f], as in (10), then substituting fx) and g(v(t)) from (4) and (5) into (10), we obtain (11) and (12) for ON and OFF switching operations respectively.

[mathematical expression not reproducible] (10)

For Pt-Ti[O.sub.2]-Pt memristor [24], the proposed model fitting parameters are [R.sub.ON] = 750 [OMEGA], [R.sub.OFF] = 3.30e+06, [A.sub.p] = 8, [A.sub.n] = 9.2864e-07, [[alpha].sub.p] = 1, [[alpha].sub.n] = -16.3 [b.sub.p] = 0.35, [b.sub.n] = 5.4, [c.sub.p] = 1, [c.sub.n] = 1.5, [s.sub.p] = 250.

Since the left sides of equations (11) and (12) are complex integrals, we could calculate them numerically, and since we aim to calculate the value of [A.sub.m] for a required y and [beta], we have to calculate the right hand sides of equations (11) and (12).

[mathematical expression not reproducible] (11)

A general solution for (11) and (12) is given in (13), where L(x) and Z(t) are the integrals of 1/fx) and g(v(t)) respectively. The parameters [x.sub.0], [x.sub.f] are the initial and the final values of the state variable respectively for a single voltage pulse. [chi] is a coupling factor that relates the memristor properties and the applied voltage. It is associated with the parameters of the voltage pulse and those of g(v(t)) i.e., [A.sub.m], [T.sub.1], [T.sub.r], [T.sub.f], [T.sub.2], [A.sub.p], [A.sub.n], [c.sub.p] and [c.sub.n] and it could switch the memristor to some final value of the state variable according to the window function parameters. We choose [chi] for specific memristor model parameters in order to achieve certain minimum or maximum change in the state variable x. Then we calculate the required applied voltage v(t) i.e., we find [A.sub.m], [T.sub.1], [T.sub.r], [T.sub.f], [T.sub.2] to accommodate the required value of x of the integral in (13).

[mathematical expression not reproducible] (12)

[mathematical expression not reproducible] (13)

For ON switching, [chi] could be expressed as in (14) as extracted from the right hand sides of (11); whereas, [chi] could be expressed as in (15) for OFF switching as extracted from the right hand sides of (12).

[mathematical expression not reproducible] (14)

where [T.sub.1], [T.sub.[alpha]], [T.sub.2] could be different for write pulse than those for read pulse.

[mathematical expression not reproducible] (15)

Equations (16) and (17) are the solutions of (14) and (15) for [[chi].sub.ON] and [[chi].sub.OFF] respectively and they vary with [A.sub.m] as shown in Fig. 4.

[mathematical expression not reproducible] (16)

[mathematical expression not reproducible] (17)

Fig. 4a shows the relation between the numerical integration of L(x) for the ON switching and the positive amplitude of the applied voltage pulse ([[chi].sub.ON] vs. [A.sub.m+]). Fig. 4b shows the relation between the numerical integration of L(x) for the OFF switching and the negative amplitude of the applied voltage pulse ([[chi].sub.OFF] vs. [A.sub.m-]). The parameters [T.sub.1], [T.sub.r], [T.sub.f] and [T.sub.2] are successively separated by 2 ns. Fig. 5 shows [[chi].sub.ON] and [[chi].sub.OFF] vs. the time period of the positive pulse Ton and the negative pulse [T.sub.OFF] respectively for different voltage pulse amplitudes, where the rise time ([T.sub.r] - [T.sub.1]) and the fall time ([T.sub.2] - [T.sub.f]) are of 2 ns width.

The minimum change in x is associated with the minimum values of f(x) and it appears to be near zero or one for the proposed window functions (4). So in order to put conditions of choosing the minimum [DELTA]x ([gamma]) acquired by the applied pulse flux for ON switching operation, we have to find the derivative of f(x) near x equals zero and one. If (18) is satisfied then [gamma] should be chosen according to (19), whereas if (20) is satisfied then y should be chosen according to (21).

df(x)/df|[sub.x=0] > df(x)/dx|[sub.x=1] (18)

1 - [x.sub.[gamma]] = [gamma] [less than or equal to] 1 (19)

where [x.sub.[gamma]] is the initial state variable from which [chi] is precisely sufficient to drive the state variable from [x.sub.[gamma]] = 0 to x = [gamma] or from x = [x.sub.[gamma]] to x = 1 if either (18) or (21) holds respectively. If (18) holds then the changes in x near one is lower than those near zero. Hence, the initial values of x lower than [x.sub.[gamma]] (farther than one) need lower flux in order for x to exactly change by difference of [gamma]. If (20) holds then the changes in x near zero is lower than those near one. Hence, the initial values of x near zero (farther than zero) need lower flux in order for x to exactly change by difference of [gamma].

df(x)/dx|[sub.x=0] < df(x)/dx|[sub.x=1] (20)

[x.sub.[gamma]] = 0 < [gamma] [less than or equal to] 1 (21)

Since [gamma] is the minimum change in x that could exactly occur for some value of applied flux and some value of initial x ([x.sub.0] = [x.sub.[gamma]] or [x.sub.0] = 0) when either (18) or (20) holds respectively, the same applied flux could force x to change by larger than [gamma] for different values of [x.sub.0] ([x.sub.0] < [x.sub.[gamma]] or [x.sub.0] > 0) when either (18) or (20) holds respectively. Hence, this value of applied flux could be considered the maximum flux required to achieve the minimum change in x ([gamma]) i.e., [[phi].sub.max].

From (13), [[chi].sub.max] is the parameter associated with the maximum flux [[phi].sub.max] required for y and it is expressed as in (22).

[[chi].sub.max] = L([x.sub.[gamma]] + [gamma]) -L([x.sub.[gamma]]) (22)

where [x.sub.[gamma]] = 1 - [gamma] or [x.sub.[gamma]] = 0 when either (18) or (20) holds respectively. Hence, the main objective now is to determine the function L(x). For the given memristor parameters, the function L(x) could be extracted from numerical fitting process since it is difficult to be calculated analytically. We could numerically solve for L(x) as shown in Fig. 6. Note that L(x) is independent of the applied voltage, and the initial condition is neglected since we only need the difference between values of the reciprocal of f(x).

The function [[chi].sub.max]([gamma]) is then calculated, and is drawn as shown in Fig. 7. If we choose [gamma] to be 0.8 then we need [[chi].sub.max]([gamma] = 0.018) = 1.578, but this value is not of importance if we decided to switch the state variable by at least [gamma]. Hence, we need a more viable consideration that would connect the parameters of the voltage pulse with [gamma]. Fig. 8 shows a relation curve between the values of the final state variable that would be reachable by a value of [[chi].sub.max] of 1.578, and it shows that [gamma] = 0.018 is lower than any other change for the range of x < [x.sub.[gamma]], where [x.sub.[gamma]] = 0.982. Any other lower change at x > [x.sub.[gamma]] is truncated by the switching limit of one. From (13), since the integral function Z(t) is the voltage dependent term that accommodates the required [chi], a relation between [chi] and [A.sub.m+] is achievable from (16) and hence a relation between [gamma] and [A.sub.m+] is also achievable.

Equations (16) and (22) could be helpful in order to generate a relation for [A.sub.m+] or [T.sub.ON] vs. [gamma].

A maximum [DELTA]x ([beta]) is associated with the selected pulse amplitude [A.sub.m+]. It could be numerically calculated using (23) and (24) in which [beta] and [x.sub.[beta]] are related. [[chi].sub.min] is the coupling parameter associated with the minimum flux [[phi].sub.min] required for [beta].

[[chi].sub.min] = L([x.sub.[beta]] + [beta]) - L([x.sub.[beta]]) (23)

f([x.sub.[beta]]) = f([x.sub.[beta]] + [beta]) (24)

where [x.sub.[beta]] is the state variable at which [[chi].sub.min] is sufficient to exactly switch it by difference of [beta]. A condition related to [x.sub.[beta]] is that f(x) has the largest values between [x.sub.[beta]] and [x.sub.[beta]] + [beta].

A relation between [[chi].sub.max] and [beta] could be extracted as shown in Fig. 9. Hence a curve of [beta] vs. [gamma] is shown in Fig. 10.

The analysis held above leads to an important relation curve between the numbers of applied voltage pulses ([N.sub.pl]); for a specified minimum change in x, and the final state variable [x.sub.f] that could be reached after each pulse. Fig. 11 shows curves between [N.sub.pl] and final state ([x.sub.f]) for specific values of [gamma] for positive sweeps. The decision upon the number of pulses used for programming could be made for required [gamma] or [beta].

A similar methodology could be followed using the negative sweep characteristics to find similar curves as shown in Fig. 12 and Fig. 13.

A. The Programming Phase

Before any programming, we should reset the memristor to its zero state using a negative pulse with maximum change [[beta].sub.w-] = 1. Then we use consecutive positive pulses with; for instance, [[beta].sub.w+] of 1.2e-1 to write. The reset is necessary because if a read process was applied, it would cause alteration in the state. So it is difficult to programme to some far level of state variable starting from the current state without a feedback system (read then rewrite) to determine the sign and the amplitude and/or time periods of the programming pulse. The positive pulse is recommended for use in writing since the ON switching is faster than the OFF switching. Table I and Table II show the number of write positive pulses required after the reset pulse to reach a certain state x as a preparation for the read by negative and complementary pulses respectively. The states in Table II are chosen so that; for instance, when the state is 0.089, the complementary pulses could change it back and forth around 0.089 such that the positive and negative parts help mitigate the effect of each other.

B. The Reading Phase

We have three reading scenarios. The first scenario is to read using a positive pulse of small [[beta].sub.r+]: as summarized in Table III. The second one is to read using a negative pulse of small [[beta].sub.r-], as summarized in Table IV. The third one is to use both positive and negative pulses consecutively as a single complementary pulse as in Table V.

When we consider Table I for writing then Fig. 14 and 15 are applicable for reading using positive and negative pulses respectively.

We have two scenarios when considering the use of CPulse. The first one is to set two boundaries below and above the original value [x.sub.0], and the second one is to set each pair of consecutive original values as the boundaries for the state. The use of a complementary pulse changes the state variable to some lower value if the negative pulse is more dominant than the positive one. Hence a lower bound [x.sub.b1] has to be set. Also the complementary pulse changes the state variable to some higher value; hence an upper bound [x.sub.b2] has to be set, if the positive pulse is more dominant. The characteristic curve of the complementary pulse in Fig. 16 shows that the positive part of the CPulse is the dominant for the whole range of final values of the state variable which cover the chosen states. Also there is no back change to a lower state value at any number of CPulses. Hence the second scenario is applicable for the chosen states.

The use of complementary pulses have the drawbacks of both positive and negative pulses for the proposed window functions and their fitting model parameters i.e., the CPulse is perfect when used for the basic linear model. Another drawback for the use of CPulse is that the time period of each CPulse is twice as long as that of the positive or negative pulse. The negative pulses still have the best reading performance. For the CPulse to have better performance than that of the negative pulses, the ON and OFF window functions should be symmetric so that the positive part of the CPulse could change the state by some value and then the negative part of the CPulse changes the state back by the same value of state change. Since most of the practical memristors have asymmetric window functions, the use of CPulse could be fragile in terms of reading operations.

C. PSPICE Simulation

In this subsection, we validate the results obtained above from the quantitative analysis for an 3-bits memristor memory cell for writing using a positive pulse of [[beta].sub.(w+]= 1.2e-1 ([[chi].sub.ON] = 0.1224) and reading using a negative pulse of [[beta].sub.r-] = -2.0e-1 ([[chi].sub.OFF] = -7.855e-10), where [[chi].sub.ON] and [[chi].sub.OFF] are extracted from Fig. 9 and 12 respectively. Then from Fig. 5, we choose the amplitude of the positive (Am+) and the negative pulse ([A.sub.m-]) to be 5 V and -1 V respectively, hence [T.sub.ON] = 195 [micro]s and [T.sub.OFF] = 396 [micro]s. Fig. 17 shows the programming phase of the memristor using eight consecutive pulses each of 195 [micro]s width for writing test time of 4 ms. Fig. 18 shows the reading phase using consecutive negative pulses of 396 [micro]s width for reading test time of 10 s. The states obtained from the simulation results; shown in Fig. 17, show a good agreement with the analytically calculated states represented by the horizontal lines in Fig. 14.

The PSPICE simulation results are deviated from the analytical results; for instance, by a total error of about 19 % when x varies from 0.666 to 0.594 using the applied negative read pulse. This could be because of that the 396 [micro]s duty period is not perfectly precise so it does not perfectly achieve the required [[chi].sub.OFF] as well as the high number of read pulses (about 14,363) which accumulates the errors. Another source of errors is the drain-source voltage of the write access transistors. Consequently, an error of about 1.32e-3 % per pulse is observed. A higher precision duty period achieves lower error.

IV. RELIABLE READ

Since the tunneling parameters affect the memristance if a voltage is applied to the memristors terminals, the voltage divider method of reading in [25] should be manipulated to be consistent with our analysis. The memristor would rather exhibit different memristance [R.sub.n] according to the applied voltage rather than initial memristance [R.sub.0] when we apply a negative pulse for read. So the values of Rn rather than [R.sub.0] are considered for the read circuit of Fig. 20 as voltage divider resistors connected to the negative terminals of the comparators. The voltage divider output should satisfy the condition in (25) in order for the read circuit to run correctly. The reference voltage on the negative terminal of the comparator ([V.sub.ref]) ranges from 227 to 332 mV for the states chosen from Table IV. The reference voltages are of low margins since the dependency of the memristance [R.sub.n] on the applied read voltage is high because of the high value of the parameters [b.sub.n]. Figure 19 shows the effect of different combination of [R.sub.s] and [b.sub.n] on the state variable as the memristive voltage varies. It shows that the slope of the curve is smaller for lower [b.sub.n] (low effect of tunneling parameters) and for lower [R.sub.s] (larger voltage margin).

Differential method [5] is also applicable for read process but at the expense of the use of additional memristor to perform the differential read.

Fig. 21 shows that each pair of [R.sub.n] and [R.sub.0] has its own memristive voltage [V.sub.MEM] as controlled by the memristor voltage divider circuit in the left side of the read circuit schematic of Fig. 20. [R.sub.n1] through [R.sub.n7] of the seven comparators needed are of values of [R.sub.n] associated with each of chosen states [R.sub.0]. The rise and fall time of the applied read pulse should be shorter as possible such that the memristance could reach the required Rn quickly. Thus a reliable read output is achieved.

[[R.sub.s]/[R.sub.0]][V.sub.MEM] cosh([b.sub.n][V.sub.MEM]) = [V.sub.in] - [V.sub.MEM] (25)

where [R.sub.0] is the memristance of the stored state and [R.sub.s] is the series resistance (30 K[OMEGA]) of the memristor voltage divider circuit, [V.sub.MEM] is the memristive voltage.

It could be appropriate to set margins between the different states. Since the voltages seen at the output of the memristor voltage divider of the read circuit exhibit small margins, these voltages could be amplified by an amplifier stage following the output of the memristor voltage divider circuit. For instance, to obtain 1.138 - 1.742 V voltage range, we use an amplification gain of +5 V/V and a supply voltage ([V.sub.DD]) of +5 V. Table VI shows the output voltage range which represents each state at the positive terminal of the sensing stage. Also it shows the associated state variable range.

V. CONCLUSION

We showed that a memristor could be utilized to implement a multi-bit memory cell. The write process could be achieved by applying either positive or negative voltage pulses to the memristor's terminals. Also we demonstrated that the comparator based method of read is applicable for exponentially modeled memristors such as Ti[O.sub.2]. We achieved the read process by applying negative pulses as it helps the stored logic last for longer time before destruction. New state variation parameters related to the memristance defined exponential model such as the minimum and maximum state changes ([gamma] and [beta]) and the coupling factor [chi] were discussed to help us choose the required applied voltage pulse for the required number of bits that could be stored in a single memristor. A comprehensive quantitative analysis method was also provided to characterize the memristor for both write and read processes under voltage pulses of different polarities and time periods.

Digital Object Identifier 10.4316/AECE.2016.02011

VI. REFERENCES

[1] L. O. Chua, "Memristor-the missing circuit element," Circuit Theory, IEEE Transactions on, vol. 18, pp. 507-519, 1971. doi:10.1109/TCT.1971.1083337

[2] Y. Urata, Y. Takahashi, T. Sekine, and N. A. Nayan, "A low-power sense amplifier for adiabatic memory using memristor," in Circuits and Systems (APCCAS), 2012 IEEE Asia Pacific Conference on, 2012, pp. 112-115. doi:10.1109/APCCAS.2012.6418984

[3] L. Zheng, S. Shin, and S.-M. S. Kang, "Memristor-based ternary content addressable memory (mTCAM) for data-intensive computing," Semiconductor Science and Technology, vol. 29, p. 104010, 2014. doi:10.1088/0268-1242/29/10/104010

[4] M. S. Qureshi, M. Pickett, F. Miao, and J. P. Strachan, "CMOS interface circuits for reading and writing memristor crossbar array," in Circuits and systems (ISCAS), 2011 IEEE international symposium on, 2011, pp. 2954-2957. doi:10.1109/ISCAS.2011.5938211

[5] A. Emara, M. Ghoneima, and M. El-Dessouky, "Differential 1T2M memristor memory cell for single/multi-bit RRAM modules," in Computer Science and Electronic Engineering Conference (CEEC), 2014 6th, 2014, pp. 69-72. doi:10.1109/CEEC.2014.6958557

[6] D. Fey, "Using the multi-bit feature of memristors for register files in signed-digit arithmetic units," Semiconductor Science and Technology, vol. 29, p. 104008, 2014. doi: 10.1088/02681242/29/10/104008

[7] S. Smaili and Y. Massoud, "Differential pair sense amplifier for a robust reading scheme for memristor-based memories," in Circuits and Systems (ISCAS), 2013 IEEE International Symposium on, 2013, pp. 1676-1679. doi:10.1109/ISCAS.2013.6572186

[8] D. B. Strukov, G. S. Snider, D. R. Stewart, and R. S. Williams, "The missing memristor found," nature, vol. 453, pp. 80-83, 2008. doi:10.1038/nature06932

[9] R. E. Pino, J. W. Bohl, N. McDonald, B. Wysocki, P. Rozwood, K. A. Campbell, et al., "Compact method for modeling and simulation of memristor devices: ion conductor chalcogenide-based memristor devices," in Nanoscale Architectures (NANOARCH), 2010 IEEE/ACM International Symposium on, 2010, pp. 1-4. doi:10.1109/NAN0ARCH.2010.5510936

[10] C. Yakopcic, T. M. Taha, G. Subramanyam, R. E. Pino, and S. Rogers, "A memristor device model," IEEE electron device letters, vol. 32, pp. 1436-1438, 2011. doi:10.1109/LED.2011.2163292

[11] A. Rak and G. Cserey, "Macromodeling of the memristor in SPICE," Computer-aided design of integrated circuits and systems, IEEE Transactions on, vol. 29, pp. 632-636, 2010. doi:10.1109/TCAD.2010.2042900

[12] S. Kvatinsky, E. G. Friedman, A. Kolodny, and U. C. Weiser, "TEAM: threshold adaptive memristor model," Circuits and Systems I: Regular Papers, IEEE Transactions on, vol. 60, pp. 211-221, 2013. doi:10.1109/TCSI.2012.2215714

[13] Y. N. Joglekar and S. J. Wolf, "The elusive memristor: properties of basic electrical circuits," European Journal of Physics, vol. 30, p. 661, 2009. doi:10.1088/0143-0807/30/4/001

[14] F. Corinto and A. Ascoli, "A boundary condition-based approach to the modeling of memristor nanostructures," Circuits and Systems I: Regular Papers, IEEE Transactions on, vol. 59, pp. 2713-2726, 2012. doi:10.1109/TCSI.2012.2190563

[15] Z. Biolek, D. Biolek, and V. Biolkova, "SPICE model of memristor with nonlinear dopant drift," Radioengineering, vol. 18, pp. 210-214, 2009.

[16] H. Abdalla and M. D. Pickett, "SPICE modeling of memristors," in Circuits and Systems (ISCAS), 2011 IEEE International Symposium on, 2011, pp. 1832-1835. doi:10.1109/ISCAS.2011.5937942

[17] T. Xiao-Bo and X. Hui, "Characteristics of titanium oxide memristor with coexistence of dopant drift and a tunnel barrier," Chinese Physics B, vol. 23, p. 068401, 2014. doi:10.1088/1674-1056/23/6/068401

[18] T. Prodromakis, B. P. Peh, C. Papavassiliou, and C. Toumazou, "A versatile memristor model with nonlinear dopant kinetics," Electron Devices, IEEE Transactions on, vol. 58, pp. 3099-3105, 2011. doi:10.1109/TED. 2011.2158004

[19] A. Ascoli, F. Corinto, V. Senger, and R. Tetzlaff, "Memristor model comparison," Circuits and Systems Magazine, IEEE, vol. 13, pp. 89105, 2013 ... doi:10.1109/MCAS.2013.2256272

[20] S. Shin, K. Kim, and S. Kang, "Memristor applications for programmable analog ICs," Nanotechnology, IEEE Transactions on, vol. 10, pp. 266-274, 2011. doi:10.1109/TNAN0.2009.2038610

[21] C. Yakopcic, T. M. Taha, G. Subramanyam, and R. E. Pino, "Generalized memristive device SPICE model and its application in circuit design," Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on, vol. 32, pp. 1201-1214, 2013. doi:10.1109/TCAD.2013.2252057

[22] M. Laiho, E. Lehtonen, A. Russell, and P. Dudek, "Memristive synapses are becoming reality," The Neuromorphic Engineer, 2010. doi:10.2417/1201011.003396

[23] T. Chang, S.-H. Jo, K.-H. Kim, P. Sheridan, S. Gaba, and W. Lu, "Synaptic behaviors and modeling of a metal oxide memristive device," Applied physics A, vol. 102, pp. 857-863, 2011. doi:10.1007/s00339-011-6296-1

[24] M. D. Pickett, D. B. Strukov, J. L. Borghetti, J. J. Yang, G. S. Snider, D. R. Stewart, et al., "Switching dynamics in titanium dioxide memristive devices," Journal of Applied Physics, vol. 106, p. 074508, 2009. doi:10.1063/1.3236506

[25] C. Yakopcic, "Memristor devices: Fabrication, Characterization, Simulation, and Circuit Design", pp. 56-57, University of Dayton, August, 2011.

Ahmad Alsayyid Daoud DAOUD*, Ahmed Ahmed Shaaban DESSOUKI, Sherif Mohamed ABUELENIN

Port Said University, Faculty of Engineering, Port Said, Egypt

a_a_daoud@eng.psu.edu.eg

Caption: Figure 1. General voltage pulse for memristance read and write operations

Caption: Figure 2. Flux associated with the general voltage pulse

Caption: Figure 3. Write and read pulses

Caption: Figure 4. The numerical integration of L(x) functions vs. the applied voltage amplitude Am with rise time, fall time and pulse width of 2 ns: (a) [[chi].sub.ON] vs. [A.sub.m+] (b) [[chi].sub.OFF] vs. [A.sub.m-]

Caption: Figure 5. The numerical integration of L(x) functions as changed with pulse width under applied pulses of different negative voltages amplitudes: (a) [[chi].sub.ON] vs. [DELTA][T.sub.ON] (b) [[chi].sub.OFF] vs. [[DELTA][T.sub.OFF]

Caption: Figure 6. L(x) vs. x for ON switching. Note that the initial value of L is forced to zero

Caption: Figure 7. [[chi].sub.max] vs. [gamma]. Where [[chi].sub.max] depends only on the parameters of the 0proposed window function

Caption: Figure 8. Final x ([x.sub.f]) and change in x ([DELTA]x) vs. initial x ([x.sub.0])

Caption: Figure 9. [[chi].sub.max] vs. [[beta].sub.+] for ON switching (positive sweeps)

Caption: Figure 10. [beta] vs. [gamma] for ON switching characteristics

Caption: Figure 11. [x.sub.f] vs. [N.sub.pl+] at different values of [beta].

Caption: Figure 12. [[chi].sub.max] vs. [[beta].sub.-] for OFF switching (negative sweeps)

Caption: Figure 13. [x.sub.f] vs. [N.sub.pl-] at different values of [beta]

Caption: Figure 14 [x.sub.f] vs. [N.sub.pl+] at different values of [beta] and the horizontal lines represent the programmed states using positive pulses

Caption: Figure 15. [x.sub.f] vs. [N.sub.pl-] at different values of [beta] and the horizontal lines represent the programmed states using negative pulses

Caption: Figure 16. [x.sub.f] vs. complementary [N.sub.pl] with [[beta].sub.+] and [[beta].sub.-] of +2.0E-4 and -2.0E-4 respectively and the horizontal lines represent the bound states for complementary pulse reading

Caption: Figure 17. (a) Programming input pulses and the variation of state variable evolving with time with [[beta].sub.w+] of 1.2e-1 (b) States obtained from simulation results vs. those obtained from analytical results

Caption: Figure 18. The variation of state variable evolving with time for the reading phase

Caption: Figure 19. The state variable evolves with the memristive voltage [V.sub.MEM] for different [R.sub.s] and [b.sub.n]

Caption: Figure 20. Read circuit for multi-bits exponentially modeled memristor based memory cell

Caption: Figure 21. Memristances [R.sub.n] and [R.sub.0] exhibited by the memristor vs. memristive voltage [V.sub.MEM]

TABLE I. THE PROGRAMMING PHASE FOR 3-BITS MEMRISTOR MEMORY CELL USING POSITIVE PULSE WITH [B.sub.w+] OF 1.2E-1 AS PREPARED FOR READING USING POSITIVE OR NEGATIVE PULSES. State No. State variable (x) No. of Write Pulses to store bits ([N.sub.w]) 1 0.000 0 2 0.089 1 3 0.205 2 4 0.316 3 5 0.419 4 6 0.512 5 7 0.594 6 8 0.666 7 TABLE II: THE PROGRAMMING PHASE FOR 3-BITS MEMRISTOR MEMORY CELL USING POSITIVE PULSE WITH [B.sub.w+] OF 1.2E-1 AS PREPARED FOR READING USING COMPLEMENTARY PULSES. State No. State variable (x) No. of Write Pulses to store bits ([N.sub.w]) 1 0.089 1 2 0.205 2 3 0.316 3 4 0.419 4 5 0.512 5 6 0.594 6 7 0.666 7 8 0.727 8 TABLE III: READING PHASE FOR 3-BITS MEMRISTOR MEMORY CELL USING POSITIVE PULSE WITH [B.sub.R+] OF 2.0E-4. State [x.sub.0]= [x.sub.b2] Positive Read Pulses ([N.sub.R]) No. [x.sub.b1] before altering the stored bits (before exceeding [x.sub.b2]) 1 0.000 0.089 591e+00 2 0.089 0.205 593e+00 3 0.205 0.316 596e+00 4 0.316 0.419 596e+00 5 0.419 0.512 595e+00 6 0.512 0.594 591e+00 7 0.594 0.666 599e+00 8 0.666 1.000 4.99e+09 TABLE IV: READING PHASE FOR 3-BITS MEMRISTOR MEMORY CELL USING NEGATIVE PULSE WITH [B.sub.R-] OF -2.0E-4. State [x.sub.b1] [x.sub.0] = Negative Read Pulses No. [x.sub.b2] ([N.sub.R]) before altering the stored bits (before falling down from [x.sub.b2] to [x.sub.b1]) 1 0.000 0.000 N/A (a) 2 0.000 0.089 2.7881e+10 3 0.089 0.205 1.4448e+08 4 0.205 0.316 1.2668e+07 5 0.316 0.419 1.6205e+06 6 0.419 0.512 2.6710e+05 7 0.512 0.594 5.5237e+04 8 0.594 0.666 1.4363e+04 (a) x cannot fall down below '0', since it is the most OFF state that could ever be reached by using negative voltage. TABLE V: READING PHASE FOR 3-BITS MEMRISTOR MEMORY CELL USING COMPLEMENTARY PULSE WITH [B.sub.R+] OF 2.0E-4 AND [B.sub.R-] OF -2.0E-4 (SECOND SCENARIO). State [x.sub.0] = [x.sub.b2] Complementary Read Pulses No. [x.sub.1] ([N.sub.g]) before altering the stored bits (before exceeding [x.sub.b2]) 1 0.000 0.089 591e+00 2 0.089 0.205 593e+00 3 0.205 0.316 596e+00 4 0.316 0.419 596e+00 5 0.419 0.512 595e+00 6 0.512 0.594 591e+00 7 0.594 0.666 599e+00 8 0.666 1.000 N/A (a) (a) x cannot reach '1' since the chosen state positions and the proposec window functions make the positive part of the CPulse is more dominant than the negative part for the chosen [[beta].sub.r+] and [[beta].sub.r-] for [x.sub.0] = 0.666. TABLE VI: MARGINS SET FOR THE CHOSEN STATES WHERE THE OUTPUT VOLTAGE RANGES FROM [V.sub.1] TO [V.sub.2] BY A MARGINAL VOLTAGE OF 25E-03 V. State No. [V.sub.1] [V.sub.2] [x.sub.0] = [x.sub.b2] [x.sub.b1] 1 1.138 1.155 0.000 0.037 2 1.180 1.218 0.089 0.160 3 1.243 1.288 0.205 0.278 4 1.313 1.366 0.316 0.388 5 1.391 1.451 0.419 0.486 6 1.476 1.542 0.512 0.573 7 1.567 1.640 0.594 0.649 8 1.665 1.742 0.666 0.713

Printer friendly Cite/link Email Feedback | |

Author: | Daoud, Ahmad Alsayyid Daoud; Dessouki, Ahmed Ahmed Shaaban; Abuelenin, Sherif Mohamed |
---|---|

Publication: | Advances in Electrical and Computer Engineering |

Date: | May 1, 2016 |

Words: | 6591 |

Previous Article: | Optimizing Decision Tree Attack on CAS Scheme. |

Next Article: | A PEG Construction of LDPC Codes Based on the Betweenness Centrality Metric. |

Topics: |