Spectrometer Data Analysis for Silicon Oxide Thickness Measurement
~1,360 words · June 17, 2026
Abstract
Information regarding the thickness of Silicon Oxide on a wafer can be particularly helpful in understanding the performance of the semiconductor under different conditions. The thickness of the Oxide can determine its dielectric characteristics, anti-contamination properties, masking capabilities, and isolation potential. Controlled and measurable Oxide layers result in desirable characteristics and consistent performance. Measuring the thickness of these wafers is virtually impossible using linear measurement instruments, so it is critical to find a method of measurement that is both reliable and unobtrusive to the fragile nature of the Oxide layer.
When Silicon wafers develop an Oxide layer, they begin to exhibit thin film optical interference. This phenomenon — when light reflects both off the oxide and the underlying Silicon layer — results in an apparent color as a function of the thickness of the Oxide layer. Using a high resolution spectrum analyzer such as the Ocean Optics HR2000+, we are able to measure emitted wavelengths of light within .2 nm, and mathematically should be able to calculate the thickness of the Silicon Oxide within a few nanometers error using least-squares optimization.
The other common optical method of calculating Silicon Oxide thickness is the Fast Fourier Transform. When the Oxide layer is thick, the spectra exhibits fringe cycles — repeating patterns of wavelengths that can be measured to determine stage, and thus thickness. However, our use case is initially with thin Silicon Oxide (1–200 nm), which is too thin to produce a repeating fringe cycle. This makes the FFT a poor tool for this task; it is better left to least-squares optimization. As a result, the model will not work well for thicker oxide layers, where an FFT may be the preferred approach.
The Spectrometer
The Ocean Optics HR2000+ in our configuration has its optical fiber and coupling fitted to a specialized 3D-printed part that places it precisely in the center of a microscope eyepiece tube. This lets us isolate the light entering the spectrometer to that emitted by our full-spectrum tungsten halogen light source, allowing intensity response across a wide range of wavelengths to be observed.
Normalizing Against the Reference
To get the reflectance of the sample — which depends on both wavelength and SiO₂ thickness — we need to filter out a heavy, wavelength-dependent noise coefficient S(λ) that alters the intensity received by the spectrometer. This coefficient depends on wavelength, fiber-optic coupling, light intensity, and other external factors that are virtually impossible to characterize directly. The solution is to take a reference measurement with the exact same setup on bare silicon prior to collecting data on the sample, then divide out the noise coefficient and normalize the sample’s reflectance against the reference.
Isample = S(λ) · Rsample
ISi = S(λ) · RSi
Isample / ISi = Rsample / RSi
(Rsample / RSi) · RSi = Rsample
Before dividing our samples, we also subtract dark measurements. These are taken in ambient light with the bulb on but the microscope closed, allowing the spectrometer to record its “darkest” baseline. Subtracting this from both the sample and the reference is like zeroing a scale before weighing — crucial to getting a clean result.
The Optical Model
After procuring a sample reflectance graph that is (ideally) only a function of known wavelength and an unknown Silicon Oxide thickness, we can use wave-optics to produce a model that can represent any graph at any number of wavelengths and any SiO₂ thickness. We treat the Silicon sheet as semi-infinite — Silicon has high absorption and will always be large enough that light will not reflect off its back surface. This lets us model the SiO₂ as a thin film and apply Fresnel equations to describe the reflected and transmitted light.
By assuming an arbitrary incident beam intensity E0, we can find the total amplitude reflectance coefficient rtotal that will be picked up by the photodetectors. The power reflectance of the sample, as described by Fresnel, is |rtotal|². If we can generate an accurate model for rtotal, we can match our measured spectrometer data.
rtotal = Σ Beams = r12 + t12 r23 t21 e2iδ · Σ(r21 r23 e2iδ)n
= r12 + t12 r23 t21 e2iδ · 1 / (1 − r21 r23 e2iδ)
= (r12 + r23 e2iδ) / (1 + r12 r23 e2iδ)
δ = 2πn2d / λ — δ in terms of known λ and unknown d (SiO₂ thickness)
Power reflectance = |rtotal|² / (E0 × r)2
The Program
Spectrometer intensity data goes into an array indexed by wavelength. The model is then evaluated at each indexed wavelength and tries to minimize the error between itself and the measured data using a bounded scalar minimization. The bounds are values of d, the SiO₂ thickness. For each wavelength, the optimizer determines which value of d produces the least error and is therefore closest to the true thickness.
The model depends on the wavelength-dependent indices of refraction for three mediums. Air is straightforward — modeled as 1.0003. SiO₂ uses the Sellmeier equation with well-documented coefficients:
n² − 1 = (0.6961663λ²) / (λ² − 0.0684043²) + (0.4079426λ²) / (λ² − 0.1162414²) + (0.8974794λ²) / (λ² − 9.896161²)
Silicon is more annoying because it has a complex index that accounts for its high absorption. Rather than carry complex arithmetic through the whole reflectance equation, I used a linear interpolation of 400 tabulated real-component values and 400 imaginary-component values, then added them. It’s a close-enough approximation for high-resolution results, and more data points can always be added for finer precision.
The bounded minimization looks like this in practice:
The program is currently limited to the bounds typed into the code. If bounds are [1, 300], the model cannot return a thickness less than 1 nm or greater than 300 nm, even if those values would yield lower error. This matters because SiO₂ fringe patterns repeat, and the curves at different thickness orders can mimic one another. To avoid needing to manually adjust bounds for each sample, a future FFT pre-pass will coarsely determine which ~100 nm range the thickness falls in, and then the Fresnel optimizer will refine within that range.
Performance
After multiple trials with different wafers, we’ve seen both successful results and expected failures. We saw particular success with a random silicon wafer found in the lab labeled as ~100 nm (fabrication quality unknown). The model found a very close curve to our intensity measurements and produced a small RMSE.
Without averaging samples first:
Model fit is visibly noisy from ~50 ms integration time sensitivity to ambient light.
After averaging multiple samples before feeding into the model:
Cleaner fit. Averaging reduces ambient noise without changing the measured value meaningfully.
The drastic fluctuation in un-averaged measurements is a direct consequence of the light source intensity requiring very short integration times (50 ms), making the raw data sensitive to ambient noise. Averaging before fitting gives the optimizer a smoother target and yields better overall fit quality.
Conclusion & Next Steps
While more testing is underway, the program looks promising as an unobtrusive way of measuring Oxide thickness without introducing contaminants or physically altering the wafer. Future improvements include an FFT pre-pass to enable coarse ranging across a wider thickness span, and parameterized material support so SiO₂ can be measured on wafers other than silicon — Silver is the first target. With a compendium of material index values, the same framework should extend to any substrate.