The cost of CMOS image sensor pixel-based digital camera systems is being reduced through the use of smaller pixel sizes and larger fill-factors. However, CMOS pixel size reduction is only acceptable without sacrificing image quality. As CMOS pixel sizes continue to decrease, there is a reduction in image signal to noise as well as an increase in cross-talk between adjacent sensor pixels. These effects can be offset by careful design optimization through computer simulation.

In this topic we discuss the contributions to the dark current noise source, and the simulation techniques required for the dark current and dark current shot noise calculations.

### Sources of dark current

Open the file cis-dark.ldev and set the sense and tx voltages to 3.3V and run a single simulation. Visualize the spatial results and observe the components of the recombination (R(srh), R(au)) then the net recombination rate (R(net)) to observe that the dominant contribution comes from the SRH process.

SRH generation rate (\(cm^{-3}\) \(s^{-1}\), log scale of the absolute value to avoid negative sign). Note the large depletion region extending into the weakly doped substrate. The inset shows the generation under the TX gate on the depleted surface an in the channel between the p++ of the photodiode pinning layer and the drain well.

Due to the lightly doped substrate, the space charge layer extends for a large distance into the substrate.

Observe the SRH generation rate under the gate where there is a strong electric field :

Next, we can visualize the electric field magnitude (V/cm) under the TX gate:

*Note: The above figures are plotted using interpolated data from simulated results.*

### Bias Sweep

Change the "sweep type" of the Boundary Condition object "sense" from "single" to "range." Set the start, stop and num points of the range to 0, 5 and 21, respectively.

Run the sweep “bias sweep” in the sweeps and optimization toolbox. This simulation calculates the dark current response to changes in both Sense and TX (gate) voltage. The sweep is performed by setting up a DC bias sweep for the sense contact given a fixed TX voltage. The sweeps and optimizations toolbox is used to vary the TX voltage, ensuring that the initializer will get run correctly at each pass. The current is recorded at the substrate contact: because the current being measured is very small, the result may be susceptible to numerical precision, therefore choosing a contact with 0V applied will give the most accurate result. Charge is conserved in the system, so the current at the substrate contact will be equal (but opposite in sign) to that at the sense contact. The current is plotted as a count of electrons per second.

select('CHARGE::boundary conditions::sense');

vs_start = get("range start");

vs_stop = get("range stop");

vs_steps = get("range num points");

vs = linspace(vs_start,vs_stop,vs_steps);

vtx = pinch(getsweepdata("bias sweep","vtx"));

Is = -pinch(getsweepdata("bias sweep","Isub"))/1.602e-19;

image(vs,vtx,Is,"Vsense (V)","Vtx (V)","Dark current at T=300K (e-/s)");

There is a prominent ridge in the data because of the unoptimized gate layout and doping distribution. Note that the color bar limits have been changed to reflect the dark current changes better.

### Temperature sweep

Next, run the sweep "temperature" for a fixed value of the TX gate voltage (e.g. 3.3V) and a fixed value of sense voltage (also 3.3 V). The dark current can now be plotted as a function of temperature for a chosen bias on sense. Figure 5 shows the Arrhenius plot of the current density, which can be used to estimate the contribution from the various physical processes. The generation current from the space charge layer is proportional to ni (the intrinsic density), which can be expressed as

$$ n_{i}=\sqrt{N_{C} N_{V}} e^{-\frac{E_{G}}{2 K T}} $$

Assuming that the effective density of states is independent of temperature (this is not true):

$$ \begin{array}{l}{\frac{d}{d\left(\frac{1000}{T}\right)} \log _{10} n_{i} \approx-\frac{\log _{10} e E_{G}}{2000 k_{B}}\left(\frac{1000}{T}\right)} \\ {\rightarrow E_{G}=-\frac{2000 k_{B}}{\log _{10} e} \frac{\Delta I}{\Delta s}}\end{array} $$

where ΔI/Δs is the slope of the log-scale plot. In the simulation below, Eg ~ 1.37eV, which of course is larger than the band gap of silicon (1.12eV), indicating that diffusion also contributes to the dark current. Run the following lines of script in the script prompt to plot the dark current for temperature:

# Physical constants:

qe = 1.602176487e-19;

kB = 1.3806504e-23;

Ccg = 1e-15; # 1fF

texp = 1e-3; # 1ms

# Get sweep data

T = pinch(getsweepdata("temperature","T"));

Is = -pinch(getsweepdata("temperature","Isub"))/qe;

# Calculate and plot results

vdark = qe/Ccg*sqrt(Is*texp);

plot(T,Is/1000,"T (K)","Dark current (ke-/s)");

plot(T,vdark*1e3,"T (K)","Dark current shot noise (mV)");

invT = 1000/T;

logIs = log10(Is);

plot(invT,logIs,"1000/T (1/K)","Dark current (e-/s), log scale",

"Dark Current Arrhenuis plot");

sizet = size(T);

nt = sizet(1);

delta_ni = (logIs(nt) - logIs(1))/(invT(nt) - invT(1));

Eg = -2000*kB*delta_ni/log10(exp(1))/qe;

?"Eg = " + num2str(Eg) + " eV";

The Arrhenius plot of the dark current density at Vsense=Vtx= 3.3V is shown to the right. The slope of the curve gives a bandgap of 1.37eV, which indicates contributions from both the generation current in the space charge layer (proportional to \(ni\)) and from the diffusion current (proportional to \(ni^{2}\))

Alternatively, one can set the sense voltage to a range of DC values and plot slices of the sweep results for each sense voltage.

### Noise Calculation

The dark current contributes to both the fixed pattern noise (FPN) of the image sensor and the temporal noise in the signal. In the absence of illumination, the contributions to the FPN sum to give the overall dark signal non-uniformity (DSNU), which is typically suppressed using double sampling or some post-processing technique. The DSNU will vary by pixel due to processing conditions and mismatches introduced during fabrication; therefore it will not be addressed further in this example.

The dark current shot noise contributes to the overall temporal noise in the signal. Shot noise is a stochastic process, obeying Poisson statistics. In the case of the dark current, the noise is expressed as

$$ n_{d a r k}=\sqrt{N_{d a r k}} $$

where Ndark is the dark count for a given exposure time. For a known conversion gain, the RMS voltage for the dark current shot noise will be

$$ \bar{V}_{d a r k}=\frac{q}{C_{c g}} \sqrt{N_{d a r k}} $$

where Ccg is the sense node capacitance converting the electron charge to a voltage.

For a 0.2ms exposure, the measured dark current can be converted to a dark count.. Letting \(C_{cg}\) = 1fF, the dark current shot noise will vary with temperature as described in the figure below.

### Related publications

- F. Hirigoyen, A. Crocherie, J. M. Vaillant, and Y. Cazaux, “FDTD-based optical simulations methodology for CMOS image sensors pixels architecture and process optimization” Proc. SPIE 6816, 681609 (2008)
- Wang, Xinyang, "Noise in Sub-Micron CMOS Image Sensors", Ph.D. Thesis, Delft University of Technology