Appearance
Ch8(1/4):氧化基础与气氛
> 来源:sprocess_ug.pdf(Sentaurus Process User Guide, W-2024.09) > 章节范围:Chapter 8,PDF p.725-761
氧化和硅化
本章介绍 Sentaurus 工艺的氧化和硅化模型。
8.1 氧化
Sentaurus Process 可以模拟硅的热氧化。由于Si到SiO2的转化率大于1,会产生新的体积,进而导致材料的运动和结构中的机械应力。氧化过程包括以下步骤: • 氧化剂(H2O、O2)从气体-氧化物界面通过现有氧化物扩散到硅-氧化物界面。 • 氧化剂与硅反应生成新的氧化物(本章中氧化物指SiO2)。 • 由于体积膨胀而导致的材料运动,体积膨胀是由硅和氧化物之间的反应引起的。使用 Sentaurus Process 的通用偏微分方程 (PDE) 求解器求解氧化剂扩散方程。热氧化模拟有以下要求: • 硅或多晶硅区域与气体接触,或者氧化物区域又与气体接触。 • 漫反射命令指定反应性气氛。如果硅或多晶硅在热氧化开始时与气体接触,则会自动形成初始氧化层。该层的默认厚度为 1.5 nm。初始氧化层的厚度在参数数据库中通过以下方式指定:
tcl
pdbSet Grid NativeLayerThickness 1.5e-7该参数控制氧化和硅化的本征层厚度。
注意:NativeLayerThickness 的值必须大于 Grid Remove.Dist 的值。否则,Sentaurus Process 会在一维和二维中将该值重置为 1.5 × Remove.Dist,或者在三个维度中删除整个原生氧化区域。
有多种方法可以指定反应气氛。此外,氧化过程中温度可能会发生变化,并且环境可能包含不同氧化剂的贡献。以下部分描述如何使用 Sentaurus Process 处理这些情况。注意:氧化与力学一起发生。有关力学方程、边界条件和材料模型的信息,请参阅第 762 页第 9 章。
8.1.1 基本氧化
扩散命令指定两种氧化反应环境:H2O 或 O2。必须给出氧化温度和时间。以下示例指定使用 1000°C 的潮湿环境温度进行 10 分钟的简单氧化:
tcl
diffuse temperature=1000<C> time=10<min> H2O可以使用 Ramrate 参数直接在 diff 命令中指定简单的温度斜坡,该参数设置温度随时间的变化。以下示例指定在 1000°C 开始并在 1100°C 结束时进行 10 分钟的干氧化:
tcl
diffuse temperature=1000<C> time=10<min> O2 ramprate=10<C/min>注意:如果温度必须降低,则斜坡率的值可以为负值。
8.1.2 温度循环
基本氧化中的第二个示例也可以使用 temp_ramp 命令指定。例如:
tcl
temp_ramp name=MyTempRamp temperature=1000 time=10 O2 \
ramprate=10<C/min>
diffuse temp_ramp=MyTempRamp第一个命令在给定条件下创建温度斜坡,第二个命令指定参考该温度斜坡的扩散。要在一个扩散命令中描述更复杂的温度循环,您可以使用 temp_ramp 命令的多个实例。温度斜坡可以由几个组成
段,并且对于每个段,需要一个 temp_ramp 命令。此外,可以使用每个段的相同名称对段进行分组。例如,上升、平稳和下降可以指定为:
tcl
temp_ramp name=MyCycle temperature=1000<C> time=5<min> H2O \
ramprate=20<C/min>
temp_ramp name=MyCycle temperature=1100<C> time=10<min> O2
temp_ramp name=MyCycle temperature=1100<C> time=10<min> \
ramprate=-10<C/min>
diffuse temp_ramp=MyCycleIf you want to set the minimum and maximum reaction/oxidation time steps in minutes
在全局范围内,对于所有漫反射命令,请指定以下命令:
tcl
pdbSet Diffuse MinGrowthStep <n>
pdbSet Diffuse MaxGrowthStep <n>有关其他扩散相关参数,请参阅第 61 页的参数数据库。
8.1.3 气氛与气体流
Sentaurus Process 拥有灵活的气流处理方案。默认情况下,有多种环境可用(请参见表 83),并且您可以为新反应创建其他环境(反应)。表 83 可用环境
环境名称 环境类型 反应
O2 反应 氧化
H2O发生氧化反应
仅 HCl 惰性气体反应
N2 惰性 无
仅 H2 惰性气体反应
Cl2 惰性 无
N2O 反应 氮氧化
NH3反应氮化
Epi epi 标准外延
LTE Epi 低温外延
可以使用gas_flow命令以任意组合指定反应和惰性环境。惰性环境是惰性的,因为它们不会引发物质反应。然而,它们可以用于气流中,通过气体反应改变反应环境的分压,或者仅改变总压力的一部分,例如氮气的情况。顾名思义,反应环境会导致材料发生反应,例如氧化。外延型环境会触发外延生长,并且不得与任何其他环境一起使用。
To specify an ambient is present and to set the partial pressure to 1.0 * total pressure, you can use the shorthand specification < ambient> in the diffuse or gas_flow command. Only one ambient can be specified using < ambient> . The pressure argument sets the total
压力,也可以在 diff 或gas_flow 命令中使用。默认总压力为 1 atm。对于外延,请按名称指定适当的环境。
8.1.4 气体流量指定
Gas_flow 命令通过直接设置部分气体流量来指定混合气体流量
pressures of the gas components or the flow < volume/time> . When a gas_flow is
指定后,可以从temp_ramp和diffuse命令中引用。扩散过程中存在的气体可以指定为分压或使用气流。当使用流量规格时,分压是根据气体反应、惰性气体的存在和总压来计算的。或者,您可以指定部分
pressure directly using either p< ambient> or partial.pressure in the gas_flow
命令。一些例子是:
tcl
gas_flow name=MyGasFlow pH2O=0.5 pO2=0.5
gas_flow name=MyGasFlow partial.pressure= {H2O=0.5 O2=0.5}您还可以直接在扩散命令中指定分压。例如:
tcl
diffuse pH2O=0.5 pO2=0.5 temperature=1000 time=10<min>气体成分可以用以下形式给出,而不是直接指定分压
flows using the flow< ambient> or flows argument. Some examples are:
tcl
gas_flow name=MyGasFlow flowH2O=0.5 flowO2=0.5 flowH2=0.2 flowN2=1.0
gas_flow name=MyGasFlow flows = {H2O=0.5 O2=0.5 H2=0.2 N2=1.0}如果指定了流量,Sentaurus Process 会在假设气体完全反应的情况下计算各组分的分压。由于 Sentaurus Process 中惰性环境的唯一作用是改变反应环境的分压,因此只能使用gas_flow 命令中的流量来设置惰性环境。
要调用前面给出的气体流量规范,请使用:
tcl
temp_ramp name=MyTempRamp temperature=1000<C> time=10<min> \
gas_flow=MyGasFlow
diffuse temp_ramp=MyTempRamp或者:
tcl
diffuse temperature=1000<C> time=10<min> gas_flow=MyGasFlow8.1.5 分压计算
例如,除了 H2 或 HCl 流之外,还提供 O2 流,需要考虑组分之间的化学反应:O2 减少,H2O 增加。一个
complete stoichiometric reaction is assumed. The final flows after the reaction are computed
在 AmbientReactions 过程中,如公式 905 所示。这里,索引 init 指的是
to the initial flows specified by you in the gas_flow command, and final describes the flow
化学反应后。
如果反应未消耗所有 H2,则会显示警告。如果给出 HCl 的贡献,则方程如下所示。
或者,可以通过设置使用 HCl 环境的化学计量反应模型:
tcl
pdbSet Diffuse HCl.Reaction.Model Stoichiometric在这种情况下,方程变为如下。
The final flows are used internally to compute the partial pressure of each component.
分压是后续模拟的相关量。这些计算公式为:
其中 Comp 代表气体混合物的特定成分,压力为总压力。
8.1.6 原位蒸汽生成氧化
在gas_flow 命令中指定原位蒸汽生成(ISSG) 选项意味着应识别ISSG 氧化的气流条件(请参阅第747 页上的原位蒸汽生成氧化)。例如:
tcl
gas_flow name=ISSGflow pressure=12<torr> flowH2=6 flowO2=12 ISSG8.1.7 氧化剂扩散与反应
为了严格模拟氧化过程,必须模拟气体-氧化物界面处氧化剂物质的溶解、通过现有或已经生长的氧化物的传输以及氧化物-硅界面处的消耗。溶解和消耗通过边界条件进行建模;对于氧化剂传输,在氧化物层中求解扩散方程。
使用反应命令(请参阅第 1259 页的反应)在 SPROCESS.models 文件中定义氧化剂物质 H2O、O2 和 N2O(请参阅第 60 页上的默认模拟器设置:SPROCESS.models 文件):
tcl
reaction name=dryoxSi mat.l=Silicon mat.r=Gas mat.new=oxide \
diffusing.species=O2 ambient.name=O2tcl
reaction name=wetoxSi mat.l=Silicon mat.r=Gas mat.new=oxide \
diffusing.species=H2O ambient.name=H2Otcl
reaction name=n2ooxSi mat.l=Silicon mat.r=Gas mat.new=oxide
diffusing.species=N2O ambient.name=N2O对于混合氧化剂流,对于每种物质,求解一个扩散反应系统。对于每个
oxidant, one dataset is allocated: H2O or O2 or N2O [1/cm3].
反应界面处的生长反应通量使用 Alagator 脚本语言定义(请参阅第 692 页的指定通用生长方程的基础知识)。这些通量在内部除以氧化物的颗粒密度以获得生长速度。这些通量的操纵对于实施经验增长模型至关重要,例如扩散方程尚未涵盖的马苏德模型。对于混合气流,两种通量的贡献相加。在反应前沿,假设发生以下反应:
从 Si 到 SiO2 的转化导致体积增加 125%,从而导致化合物中产生运动和机械应力。菲克定律描述的氧化剂扩散可得出扩散方程:
其中 D 是氧化剂的扩散率,j 是颗粒通量。沿表面法线方向(从气体区域到氧化物)的氧化剂通量由下式给出:
其中 h 是传质系数,c* 是氧化剂的固溶度。如果 h 足够大,则气体-氧化物界面处氧化剂的浓度约等于固溶度。
传质系数 h 由 MassTransfer 在参数数据库中定义,并使用以下命令进行设置:
tcl
pdbSet Gas_Oxide O2 MassTransfer <n>
pdbSet Gas_Oxide H2O MassTransfer <n>
pdbSet Gas_Oxide N2O MassTransfer <n>The solid solubility c* is a function of the pressure:
其中 cref 是参考固溶度,cref = c_L0 * exp(-c_Lw / kT)。可以使用以下命令设置其值:
tcl
pdbSet Oxide O2|H2O|N2O CL0 <n>
pdbSet Oxide O2|H2O|N2O CLW <n>其中竖线 (|) 表示逻辑或。氧化前沿化学反应引起的通量由下式描述:
其中 \beta 是化学计量系数,k 是反应速率系数,c_{si} 是氧化物-硅界面的氧化物侧氧化剂颗粒的浓度。反应速率和扩散率根据 Deal-Grove 模型中使用的线性和抛物线速率常数计算。
\beta 是单个氧化剂分子氧化的 Si 原子数。对于 Si 氧化,O2 的 \beta 为 1,H2O 的 \beta 为 0.5。(不幸的是,在一些书籍中,化学计量系数 \beta 的定义相反,即氧化一个 Si 原子所需的氧化剂分子数。
如果采用这样的定义,氧化的物理特性不会改变,但 H2O 的 \beta 将为 2.0,并且将出现在公式 916 的分子中。)