Atomic Layer Etching of SiO2

Atomic layer etching is employed in semiconductor fabrication for both wafer polishing and gate oxide miniaturization. The majority of both plasma and thermal etching methods utilize sequential surface halogenation to gradually reduce the layer thickness. In this tutorial, we will show how to simulate these etching cycles by focusing on the HF-based thermal etching of SiO2.

../_images/Etching_image_801d6131.png

Note

A Python notebook is also available to download. This notebook follows the same procedure outlined in this tutorial, and provides a scriptable interface for programming multiple etching cycles.

Introduction

Atomic layer etching (ALE) of SiO2 using HF involves a self-limiting, two-step process to achieve precise, Angstrom-level removal. It typically employs sequential exposure to hydrogen fluoride (HF) and a second reactant (like trimethylaluminum) to modify the surface and remove the modified layer. In this tutorial, the first half-cycle is represented by HF molecules impinging on a hydroxylated SiO2 slab.

The model uses three main ingredients:

  • a hydroxylated SiO2 slab,

  • a frozen substrate region that anchors the slab, and

  • a molecule gun that inserts HF projectiles above the slab with a downward velocity.

The workflow consists of a ReaxFF geometry optimization followed by a ReaxFF molecular dynamics calculation with molecule insertion and removal.

Preparing the Hydroxylated Slab

To start with, a model of the hydroxylated surface will be constructed.

1. Open AMSinput: SCM → New Input
2. Click on the Search tool and search for the AlphaQuartz crystal to load the bulk SiO2 structure
3. Select Edit → Crystal → Generate Supercell and enter the matrix elements (2, 1, 0), (0, 2, 0) and (0, 0, 1). Choose OK to generate the supercell. The increased bulk volume will allow us to cut a slab with a larger surface area
4. Select Edit → Crystal → Generate Slab. Request a slab with 3 layers to be cut along the (1,0,0) Miller plane. Select Generate Slab and then Close to exit the builder
5. Go back to Edit → Crystal → Generate Supercell and enter the matrix elements (3, 0) and (0, 1). Choose OK to generate the extended surface
6. Add a vacuum layer around the slab in Model → Lattice by setting Periodicity → Bulk and changing the cz lattice element to 40 Angstrom
7. Select all the atoms with Select → Select All, then center the slab using Edit → Crystal → Set (0.5, 0.5, 0.5)
8. The top layer will be removed in order to create a cleaner surface termination. Go to Model → Coordinates to view the full list of atoms. Sort the coordinates by height by clicking on the arrow icon next to the Z(A) header in the coordinates table. We will cut 1 Angstrom from the top of the slab, which should correspond to the 6 top-most atoms. Selecting the rows in the table will highlight the atoms in the model. While the rows are selected, use Atoms → Delete Atoms to remove them from the model
9. Similarly, a 3.5 Angstrom segment will be removed from the bottom of the slab. This should correspond to the 24 bottom-most atoms. As in the previous step, select the corresponding rows in the coordinates table and use Atoms → Delete Atoms to remove them from the model
10. Hydrogen atoms will be added near the surface atoms to create a hydroxylated surface model. This approximates the chemically passivated surface sites encountered prior to etching. Use the Atoms → Add Hydrogen option to automatically add hydrogen to any undercoordinated surface oxygen

Tip

You can also download a pre-constructed surface structure. Import the prepared structure using the File → Import Coordinates (System) option in AMSinput.

Configuring Regions

The molecular dynamics calculation treats the slab in two regions:

  • frozen: atoms near the bottom of the slab, fixed during MD,

  • thermo: all remaining slab atoms, controlled by a thermostat during MD.

1. Rotate the slab to a side view (cmd/ctrl+2)
2. Select the atoms within 3 Å of the bottom of the slab
3. Create a new Region Model → Region and assign the selected atoms to a region named frozen
4. Select all remaining atoms: First select the frozen region, then use Select → Invert Selection
5. Assign them to a region named thermo
6. Save the input structure using File → Save

The frozen region should form a thin support layer at the bottom of the slab, while the exposed upper surface will be allowed to relax during the simulation.

../_images/SiO2_regions_02c2abd8.png

Relaxing the Slab

Before shooting HF projectiles at the surface, we relax the hydroxylated slab with ReaxFF. This removes artificial strain introduced by slab construction and hydrogen placement.

1. Switch to the ReaxFF engine: BANDPanel → ReaxFFPanel
2. Set Force field to HONSiF.ff
3. Set Task to Geometry Optimization
4. Go to Details → GeometryOptimization
5. Set Optimize lattice to Yes
6. Save the job using File → Save
7. Run the calculation using File → Run

After the job finishes, the structure in AMSinput will be automatically updated with the optimized coordinates.

Tip

The relaxed structure is also available to download.

Adding HF

1. Start from the relaxed slab input
2. Choose the F tool and click above the slab to add a F atom. Then press cmd/ctrl+E to automatically add the hydrogen
3. Go to Model → Region, select the HF molecule, and add a new HF region
../_images/SiO2_regions_HF_72330a92.png

Configuring the Etching Process

The half-cycle simulation inserts HF molecules above the slab and gives them a downward velocity. Scattered HF or etching products will by removed at the vacuum region by adding sink boxes.

A standard molecular dynamics task can be set up:

1. From the Main panel set Task to Molecular Dynamics
2. Keep the ReaxFF engine and HONSiF.ff force field
3. Go to Model → MD
4. Set Number of steps to 100000
5. Set Initial velocities temperature to 100 K
6. Set the checkpoint frequency to 10000 (this will create 10 checkpoint files during the MD run)

A thermostat is added, along with a constraint to fix the frozen surface region in place:

1. Go to Model → MD… → Thermostat and add a new thermostat using the AddButton button
2. Set the Thermostat Type to NHC
3. Set Temperature to 300 K
4. Set Tau to 100 fs
5. Set Atoms in region to thermo
6. Go to Model → Geometry Constraints and PES Scan. Select an atom from the frozen region and click the AddButton button to fix all atomic coordinates in the region
../_images/SiO2_HF_Constraints_95c794ef.png

Setting up the Molecule Gun

The MD molecule gun is used to model the impinging HF etching beam:

1. Go to Model → MD… → Molecule Gun and use the AddButton to set up a new input
2. Set System to HF
3. Set Frequency to 1000
4. Set Start step to 1000
5. Set Atom temperature to 300 K
6. Set Minimum distance to 3.0 Å
7. Set the Fractional coordinates to 0, 1, 0, 1, 0.7, 0.8. This will cause the HF molecules to only be inserted from a small region near the top of the slab.
8. Select a Si atom near the top of the surface and use the AddButton to add it to the Velocity direction. Select another Si atom near the bottom of the surface and add it to the Velocity direction as well. The deposited HF atoms will now be aimed along the path between those 2 atoms
9. Set Velocity to 0.1 Å/fs
10. Set Deviation angle to 60 degrees
11. Check the Rotate option
../_images/SiO2_HF_Gun_2fde1658.png

Sink boxes are added to remove any scattered HF or etching products:

1. Go to Model → MD… → Molecule Sink and use the AddButton to set up a new input
2. Set Formula to *
3. Set Frequency to 1
4. Configure the Sink box using the fractional coordinates 0.0, 1.0, 0.0, 1.0, 0.95, 0.98 to position the sink near the upper vacuum
5. Use the AddButton to set up a second sink
6. Set Formula to *
7. Set Frequency to 1
8. Configure the Sink box using the fractional coordinates 0.0, 1.0, 0.0, 1.0, 0.05, 0.02 to position the sink near the lower vacuum
9. Save the job using File → Save

Note

When setting up a molecule sink, always make sure that frozen regions remain outside the sink box. Because atoms are not allowed to be removed from a constrained region, this will cause the MD simulation to terminate prematurely.

../_images/SiO2_HF_Sinks_3f63faac.png

Running the simulation

1. Start the calculation with File → Run
2. Monitor the job in AMSmovie (SCM → Movie)

Analyzing the Trajectory

As the MD calculation progresses, trajectory data will gradually be written to the output. AMSmovie can be used to monitor the simulation progress and to inspect representative structures. Navigate through the frames to see HF molecules being inserted at the top of the system. (Reflected HF molecules will be removed as they reach the top of the cell.) As the HF molecules collide with the surface, impact events can lead to surface reactions, bond breakage, bond formation or fragment desorption.

The built-in graphing tools of AMSmovie can be used to analyze these events. (The change in system energy will be shown by default.)

1. Use MD Properties → Temperature to see how the system temperature fluctuates during the run.
2. Add a new viewport using Graph → Add Graph.
3. To inspect the etching products, select MD Properties → Molecules. Here, you can choose several reactant/product species to track. (H2O was chosen for the example shown below.)
../_images/SiO2_HF_AMSmovie_8aaf3c71.png

By measuring the top of the slab as a function of time, etching rates can be extracted:

../_images/Etching_rates_00fe32d5.png

Note

In order to obtain clear statistics on key etching processes, extended simulation times may be required. For reference, the etching rates above were computed based on simulations of 1 ns.

Tip

Check out the notebook for more details on custom trajectory analysis.

Controlling the Etching Process

The ALE workflow can easily be adapted to study other etching agents, surface structures or impact velocities (resulting in different etching rates). To simulate multiple etching cycles, the final structure can be used as input for a subsequent MD simulation, which may use a different co-etching agent. This allows for the investigation of etching processes closer to industrial conditions.