A Fast Void Detection Algorithm for Three-Dimensional Deposition Simulation Otmar Ertl and Siegfried Selberherr Institute for Microelectronics, TU Wien Gußhausstraße 27–29/E360, A-1040 Wien, Austria Email: {ertl|selberherr}@iue.tuwien.ac.at Abstract—We present an efficient algorithm for the detection of voids which potentially emerge during deposition process simulation. The application of modern level set techniques and data structures enables the fast determination of connected components directly from the implicit level set representation without the need of an additional surface extraction. The algo- rithm exhibits optimal linear scaling with surface size and is demonstrated on an example, where an isotropic etching process followed by conformal deposition is simulated. I. I NTRODUCTION Deposition processes can lead to the inclusion of voids. From the point of formation their shapes usually do not change, since they are disconnected from the process chamber. Deposition process simulations should reproduce this simple behavior. However, especially in three dimensions, the solution of more complex models is computationally very expensive. Therefore, often approximations or simplified models are used, which can result in non-physical movement of void boundaries. For example, a constant deposition rate is often used for isotropic deposition simulations. If the surface is given as triangulation, it is possible to find voids by determining the connected components of the mesh. However, to overcome the arising difficulties with topographic changes during boundary movement, the surface is usually described implicitly using techniques like the level set method [1] or the equi-volume rate model [2]. Furthermore, it has been demonstrated that topography simulations are possible, where the surface rates are calculated using just the implicit surface representation [3], [4]. To avoid the need of a triangulated version of the surface at all, which has to be extracted every time step using costly techniques like the marching cubes algorithm [5], it would be convenient to have an efficient method to detect voids directly using the implicit surface representation. II. LEVEL SET METHOD The level set method is a technique to describe geometric changes over time and is widely-used for three-dimensional topography simulation [6]. A moving surface S is described implicitly as zero level set of a continuous function Φ S = {x : Φ(x)=0}. (1) Using this level set function the time evolution of the surface can be simply described by the level set equation Φ ∂t + V (x)‖∇Φ=0. (2) Here V (x) denotes a velocity field. Since this field has no physical meaning in topography simulations, it has to be extrapolated from the rates on the surface [7]. The level set equation can be easily solved on regular grids using simple finite difference upwind schemes [8]. The level set function is defined on the whole simulation domain, which implies that the memory requirements and also the computation time for time evolution scale with domain size. Different techniques have been developed to obtain optimal linear scaling with surface size (surface area measured in grid spacings). A. Sparse field level set method Only level set values of grid points close to the surface have an influence on the surface position. Therefore, it is sufficient to consider only grid points located around the surface for time integration. Only the level set values of these so-called active grid points have to be updated in time, leading to a linear complexity. This idea was first put into practice by the narrow band method which uses several layers of active grid points around the surface [9]. We use another technique, the sparse field level set method [10], which further decreases the computation time by using just one single layer of active grid points, namely those with level set values in the range -0.5 to 0.5. Since all active grid points are very close to the surface (within a half grid spacing), the required surface velocity extension is very simple. It is even possible to avoid this extrapolation at all, if the surface velocities are calculated directly for all active grid points [4]. B. Hierarchical run-length encoding The narrow band or the sparse field level set method requires only the level set values of all active grid points and additionally those of grid points in neighboring layers to enable the calculation of derivatives. Hence, the memory requirements can be minimized by storing just the needed level set values. We use the hierarchical run-length encoded (HRLE) data structure [11] to store just the level set values of the so-called 978-1-4244-3947-8/09/$25.00 ©2009 IEEE 174