Basic Usage Part2: Adding charge traps to your device Welcome to the second part of the tutorial "Basic Usage". This part begins where the first part left off; after the basic setup of your own device.

Real MOS devices are affected by the generation, transformation and charging of oxide and interface defects. The complex interplay of these physical processes leads to a shift of the threshold voltage in response to changes of the gate bias which results in hysteresis and bias-temperature instability (BTI). Experimentally, for larger stress times, one often observes a recoverable BTI component, caused by charging of pre-existing oxide defects, and a quasi-permanent BTI component with long recovery times. The latter component is typically ascribed to defect generation, although the underlying physical mechanisms are less understood (see the discussion in D. Waldhoer et al. "Comphy v3.0 -- A Compact-Physics Framework for Modeling Charge Trapping Related Reliability Phenomena in MOS Devices").

It has been shown that the recoverable component can be accurately captured using a 2-state non-radiative multi phonon (NMP) model. The quasi-permanent component, on the other hand, can be approximately described using a simple double-well (DW) model with a field dependent energy barrier, at least at the present level of understanding. In this section we will add both defect models to our device to lay the foundation for the subsequent BTI simulation.

Step 1: Modeling the recoverable BTI component In a first step, we want to add oxide defects to our device in order to account for the recoverable BTI component. The most fundamental properties of oxide defects are their spatial location $$x_\mathrm{T}$$, their energy level $$E_\mathrm{T}$$ as well as their relaxation energy $$E_\mathrm{R}$$. As described above, charge trapping by these defects is modeled in the Comphy framework using a 2-state NMP model, with one neutral and one charged state. In the employed model the energy potential surfaces of both charge states are approximated with parabolic potentials: $$E_1 = E_\mathrm{1, min} + c_1 (q - q_1)^2$$ $$E_2 = E_\mathrm{2, min} + c_2 (q - q_2)^2$$ where $$E_\mathrm{1, min}$$ and $$E_\mathrm{2, min}$$ denote the energy minima located at $$q_1$$ and $$q_2$$ respectively, while $$c_1$$ and $$c_2$$ represent the curvatures of the two parabolas. The energetic offset $$\Delta E = E_\mathrm{2, min} - E_\mathrm{1, min}$$ between the two parabolas implicitely depends on the intrinsic trap level of the defect $$E_\mathrm{T}$$ as well as the applied electric field in the oxide. A schematic of such a 2-state NMP model is displayed in Fig. 1:
For a semi-classical transition, it is sufficient to describe these parabolas with the ratio of the curvatures $$R = \sqrt{c_1 / c_2}$$ and the relaxation energy $$E_\mathrm{R} = c_1 (q_2 − q_1)^2$$. Consequently, using the 2-state NMP model, a single defect can be described by the four parameters $$x_\mathrm{T}$$, $$E_\mathrm{T}$$, $$E_\mathrm{R}$$ and $$R$$. For a more detailed description of the employed 2-state NMP model and its parameters please refer to G. Rzepa et al. "Comphy - A Compact-Physics Framework for Unified Modeling of BTI", Microelectronics Reliability, 2018.

In order to simulate the threshold voltage shift $$\Delta V_\mathrm{th}$$ caused by a (partially) charged defect ensemble we have to specify the underlying distribution of the defect parameters. The choice most frequently found in the literature is a normal distribution for the energetic parameters $$E_\mathrm{T}$$, $$E_\mathrm{R}$$ and $$R$$, while the spatial positions $$x_\mathrm{T}$$ of the defects are usually assumed to be uniformly distributed, resulting in a constant defect density in a given area of the oxide. This choice is referred to as Gaussian defect band and has been used successfully to reproduce experimental data across a large variety of different devices. However, in exemplary studies the distribution of $$R$$ was found to be narrow, hence, $$R$$ is approximated as a constant in the Comphy framework. Consequently, each Gaussian NMP defect band can be characterized by the following 8 parameters:

Parameters of Gaussian NMP defect band
parameter Comphy notation description unit
$$\langle E_\mathrm{T} \rangle$$ Et mean energy level eV
$$\sigma_{E_\mathrm{T}}$$ Et_sigma standard deviation of energy levels eV
$$\langle E_\mathrm{R} \rangle$$ Er mean relaxation energy eV
$$\sigma_{E_\mathrm{R}}$$ Er_sigma standard deviation of relaxation energies eV
$$x_\mathrm{T,min}$$ xt_min lower bound of spatial defect distribution m
$$x_\mathrm{T,max}$$ xt_max upper bound of spatial defect distribution m
$$R$$ R curvature ratio of defects 1
$$N_\mathrm{T}$$ Nt defect concentration of defect band m⁻³

In this tutorial we will add two defect bands per oxide layer to our device: one shallow trap band whose mean energy $$\langle E_\mathrm{T} \rangle$$ is closer to the conduction band edge and one deep trap band whose mean energy $$\langle E_\mathrm{T} \rangle$$ is closer to the valence band edge. Fig. 2 displays the trap bands that we want to add to our device. The mean energies of the SiO2 trap bands were chosen to be 3.48 eV and 5.65 eV and the mean energies for the HfO2 trap bands were chosen to be 3.18 eV and 5.23 eV. The other parameters of the defect bands are summarized in Table 2:
Parameters of the defect bands, used throughout this tutorial. In this tutorial we add one shallow trap band and one deep trap band per oxide laxer to the device.
defect band name Et Et_sigma Er Er_sigma R Nt
SiO2_shallow_trap_band -3.48 0.15 3.82 1.36 0.407 1.5e25
SiO2_deep_trap_band -5.65 0.20515 9.3438 2.5526 1.809 4.449e26
HfO2_shallow_trap_band -3.18 0.25455 0.8684 0.4045 0.0018121 9.0534e25
HfO2_deep_trap_band -5.23 0.23203 9.2285 1.4948 1.5287 4.1597e26
Sampling of defects In order to simulate the threshold voltage shift ΔVth caused by a band, the defects of the band have to be sampled according to the underlying distribution. This can be done by a Monte Carlo approach, i.e. by drawing random samples from the underlying distribution as displayed by the left-hand side of Fig. 3. On small devices with a limited number of defects, this approach reflects the native variability due to oxide defects and enables studies thereof. However, if the mean degradation is of interest, a large number of defects have to sampled with this approach to get an accurate result. A direct efficient way to compute the mean degradation compared to sampling a large number of defects in a Monte Carlo fashion, is to sample the defects on a grid. For this purpose, the parameter space is discretized with a certain step size, resulting in a equidistant grid as shown on the right-hand side in Fig. 3. Next, the defects are distributed on the grid points according to weights representing the underlying distribution of the defect band. In this tutorial we will stick with this approach rather than Monte Carlo sampling.
Now we are ready to add the oxide traps to our device. First we create a GaussianGridSampler, that handles the sampling of the defects as described above. The GaussianGridSampler requires the grid spacing of the parameter space as input. Each axis of the parameter space can be discretized with a different step size: grid_sampler = GaussianGridSampler(
 dxt=1.0E-10, # grid spacing for sampling xt in m dEt=0.05, # grid spacing for sampling of Et in eV dEr=0.1, # grid spacing for sampling of Er in eV non_coverage=1.0E-4, # sets boundary of gaussian grid
)

Now we can add defect bands one by one to our device according to Table 2: SiO2_shallow_trap_band = TrapBand_2S_NMP(
 xt_min=0.0E-9, # lower bound of spatial defect distribution in m xt_max=1.0E-9, # upper bound of spatial defect distribution in m Et=-3.48, # mean energy level in eV Et_sigma=0.15, # standard dev. of energy level in eV Er=3.82, # mean relaxation energy in eV Er_sigma=1.36, # standard dev. of relaxation energy in eV R=0.407, # curvature ratio Nt=1.5e25, # defect concentration in m⁻³ sampler=grid_sampler, # a appropriate grid sampler device=my_device, # the device to which you want to add the traps
)

my_device.trap_bands['SiO2_shallow_trap_band'] = SiO2_shallow_trap_band

SiO2_deep_trap_band = TrapBand_2S_NMP(
 xt_min=0.0E-9, # lower bound of spatial defect distribution in m xt_max=1.0E-9, # upper bound of spatial defect distribution in m Et=-5.65, # mean energy level in eV Et_sigma=0.20515, # standard dev. of energy level in eV Er=9.3438, # mean relaxation energy in eV Er_sigma=2.5526, # standard dev. of relaxation energy in eV R=1.809, # curvature ratio Nt=4.449E26, # defect concentration in m⁻³ sampler=grid_sampler, # a appropriate grid sampler device=my_device, # the device to which you want to add the traps
)

my_device.trap_bands['SiO2_deep_trap_band'] = SiO2_deep_trap_band

HfO2_shallow_trap_band = TrapBand_2S_NMP(
 xt_min=1.0E-9, # lower bound of spatial defect distribution in m xt_max=3.0E-9, # upper bound of spatial defect distribution in m Et=-3.18, # mean energy level in eV Et_sigma=0.25455, # standard dev. of energy level in eV Er=0.8684, # mean relaxation energy in eV Er_sigma=0.4045, # standard dev. of relaxation energy in eV R=0.0018121, # curvature ratio Nt=9.0534E25, # defect concentration in m⁻³ sampler=grid_sampler, # a appropriate grid sampler device=my_device, # the device to which you want to add the traps
)

my_device.trap_bands['HfO2_shallow_trap_band'] = HfO2_shallow_trap_band

HfO2_deep_trap_band = TrapBand_2S_NMP(
 xt_min=1.0E-9, # lower bound of spatial defect distribution in m xt_max=3.0E-9, # upper bound of spatial defect distribution in m Et=-5.232, # mean energy level in eV Et_sigma=0.23203, # standard dev. of energy level in eV Er=9.2285, # mean relaxation energy in eV Er_sigma=1.4948, # standard dev. of relaxation energy in eV R=1.5287, # curvature ratio Nt=4.1597E26, # defect concentration in m⁻³ sampler=grid_sampler, # a appropriate grid sampler device=my_device, # the device to which you want to add the traps
)

my_device.trap_bands['HfO2_deep_trap_band'] = HfO2_deep_trap_band
Step 2: Modeling the quasi-permanent BTI component There are several degradation mechanisms in MOS structures which are not covered by charging of pre-existing oxide defects as described by the 2-state NMP model:
• Generation and annealing of oxide defects
• Activation and passivation of dangling bonds
• Transformation of existing oxide defects (H relocation)
• Metastability of pre-existing oxide defects
Which of these mechanisms dominates the quasi-permanent component depends on the processes and stress conditions. To account for the quasi-permanaent component of BTI, Comphy applies a simple double-well model with a phenomenological ﬁeld dependence to interface defects. This model complements the physical 2-state NMP model and describes the quasi-permanent component reasonably well with a minimal set of parameters. The physical correspondence of this model is probably the annealing of interface defects, related to hydrogen relocation and the subsequent transformation of defect sites. The DW model employed by Comphy has two charge states separated by the thermal barrier $$\epsilon_{12}$$ for charging positively and $$\epsilon_{21}$$ for charging neutrally as depicted in Fig. 4:
While the parameter $$\epsilon_{21}$$ is an input quantity in Comphy, $$\epsilon_{12}$$ depends on the electric field $$E_\mathrm{ox}$$ at the oxide interface and the input quantities $$\gamma$$ and $$\epsilon_{12,0}$$ as: $$\epsilon_{12} = \epsilon_{12,0} - \gamma E_\mathrm{ox}$$ In this way, the depassivation is modeled with a field dependence whereas the passivation does not depend on the electric field. This is in line with the qualitative observation regarding the characteristics of the recoverable and the quasi-permanent BTI component. Based on these barriers, the transition rates between state 1 and state 2 are calculated in a semi-classical fashion, with the Boltzmann factor: $$k_{12} = k_0 e^{ - \beta \epsilon_{12}}$$ $$k_{21} = k_0 e^{ - \beta \epsilon_{21}}$$ where $$k_0$$ denotes the transition rate for zero barrier. For a more detailed description of the employed DW model and its parameters please refer to G. Rzepa et al. "Comphy - A Compact-Physics Framework for Unified Modeling of BTI", Microelectronics Reliability, 2018.

Similar to the Gaussian NMP trap band, we assume $$\epsilon_{12,0}$$ and $$\epsilon_{21}$$ to be normally distributed while the other parameters are approximated as constant. Consequently, a Gaussian DW defect band can be described in the Comphy framework by the following 7 parameters:

Parameters of Gaussian DW defect band
parameter Comphy notation description unit
$$\langle \epsilon_{12,0} \rangle$$ eps1 mean activation energy barrier eV
$$\sigma_{\epsilon_{12,0}}$$ eps1_sigma standard deviation of activation energy barriers eV
$$\langle \epsilon_{21} \rangle$$ eps2 mean passivation energy barrier eV
$$\sigma_{\epsilon_{21}}$$ eps2_sigma standard deviation of passivation energy barriers eV
$$k_0$$ k0 transition rate for zero barrier s⁻¹
$$\gamma$$ gamma empirical field dependence of activation barrier eV m V⁻¹
$$N_\mathrm{it}$$ Nit interface defect concentration m⁻²

In this tutorial we want to add a single interface defect band to our device using the double-well model. The parameters of the defect band that we will add to our device are summarized in Table 4:
Parameters of interface defect band, used throughout this tutorial.
defect band name eps1 / eV eps1_sigma / eV eps2 / eV eps2_sigma / eV k0 / s gamma / eV m V⁻¹ Nit / m⁻²
interface_traps 2.5297 0.92612 1.649 0.060114 1.2336E+13 1.7052E-10 1.9096E+17

Now we are ready to create the double-well interface defects and add them to our device. Again, in the same way as for 2-state NMP defects, the double-well defects can be sampled with a Monte Carlo approach or on a grid. In this tutorial we will stick with the grid sampling. Consequently, in a first step we create a InterfaceGridSampler, that handles the sampling. interface_grid_sampler = InterfaceGridSampler(
 d_eps1=0.1, # grid spacing for sampling eps_1 in eV d_eps2=0.001, # grid spacing for sampling eps_2 in eV
)
Next we can create the DW interface defects according to Table 2 and add them to our device: interface_traps = GeneratedInterfaceTraps(
 eps1=2.5297, # mean activation energy barrier in eV eps1_sigma=0.92612, # standard dev. of activation energy barriers in eV eps2=1.649, # mean passivation energy barrier in eV eps2_sigma=0.060114, # standard dev. of passivation energy barriers in eV k0=1.2336E13, # transition rate for zero barrier in s⁻¹ gamma=1.7052e-10, # field dependence of activation barrier in eV m V⁻¹ Nt=1.9096E17, # curvature ratio sampler=interface_grid_sampler, # interface grid sampler device=my_device, # the device to which you want to add the traps
)
Step 3: Initializing the device In this section we successfully added NMP oxide defects and DW interface defects to our device. Now let's initialize the device and perform a short check if everything works fine. Let's stress our device for 1.0E5 seconds with a gate voltage of 1.4V and print the shift in the threshold voltage afterwards: my_device.initialize(
 Vg=0.0, # initial gate voltage in V T=300.0, # initial temperature in K savebands=False, # save all occupancies of all bands at all timesteps?
)

Vth_init = my_device.Vth
my_device.apply_gate_voltage(
 Vg=1.4, # gate voltage in V T=Temperature, # temperature in K time=1.0E5, # how long to apply the stress in s
)

print("dVth after {:.2e}s = {:.3f}V".format(1.0E5, my_device.Vth - Vth_init))
If the device configuration was done correctly, running the Python script should not produce any errors, but return a threshold voltage shift of 3 mV.