Jump to content
  • Scratch Detection


    Scratches on wafers need to be treated specially since they can come in different shapes, sizes, etc. This Spotfire application simplifies the detection and analysis process, helping to identify them quickly and accurately.

    Failing to identify a scratch on a wafer can be costly. The challenge with scratches is that they come in all shapes and sizes. Because of this, typical machine learning models that are trained to identify a certain shape might not be effective. We built this application to address this challenge by using advanced clustering techniques and principal curves to dynamically identify scratches of varying shapes and sizes.

    Finding one scratch can be important, but our application also leads you to find similar patterns, uncovering more scratches. Once a significant amount of scratches are found, we can mathematically understand what defines scratches and automate their detection.

    image.thumb.png.6f8ccc49f58aede3aeba92aa2b912c9f.png

    Clustering and Visualizing Wafer Data

    AD_4nXchj2g51d1DLZeMByiK0oWlbkyH_EqqY9Biag7U5zb0FS1W0_yG0y6cASh9nZADJaNrYGoqJ2b0ZULETBJ2-YHCsZo_xhIOGvF0o1Kbt5i69PQ7WKqAgvMcdPZIJJDaFwKKX9vgR168kcwFy08DGsYkjhVE?key=OhgBVcGBD4r-_M8NgF76vw

    Our application begins by clustering wafers based on die locations. This clustering process is initiated through an Action Mod within Spotfire, which executes a data function to group the dies. These clusters are then visually represented with distinct colors, making it easier to isolate and examine potential scratch areas. These clusters become candidates that we evaluate on the following pages. The next step is to evaluate if any characteristics about the clusters could indicate a scratch.

    AD_4nXeHyeVSkm9RRteFD1FTJ1BiM9kgTCKGgS4N4S5A7vnaH2xqEINHMM3eO9choQX42TsrUctdrLVS8_Tg7ZXVAteq0udASvzrpWzkht8RBpGMu_esy3_HhXQEVY0m0zW5E-qCVYwbmi68Kp00rIIzCc928mYB?key=OhgBVcGBD4r-_M8NgF76vw


    Principal Curves: Defining Scratch Characteristics

    To better understand the shape of these clusters, the application employs principal curves. These curves are drawn through each cluster, effectively “tracing” the pattern formed by the scratches. By analyzing the properties of these curves—such as their shape and the distance between the curve and the actual data points—users can begin to define what a scratch looks like on a wafer.

    The application provides a variety of measures for each cluster, which can be sorted and analyzed to reveal patterns that might indicate scratches. Action Mods in Spotfire are a great way to add useful buttons that perform tasks available via the Spotfire API. On the bottom table, there are two buttons to toggle through which column to sort by, with an additional right click button to switch between ascending and descending.

    AD_4nXdvve7QnHfmwwKSHcj73HET3aRMVcTskPbkXPwlGpKC9bM7jGak2QoigD5JSE9YxFog0Xgj14RRQ4xq3OuTK6qe8tIR2Q1bvVC3xhqW0UZaqjtVawE9-pDV92Q3fF9QgJ3QnU5VRB0lPb6BCzTDz35tbPh6?key=OhgBVcGBD4r-_M8NgF76vw

    The measures we evaluate are the number of points in each cluster, the distances between those points, how far they are from the center of the wafer, and how well the principal curve fits the cluster.

    After exploring some of the clustering and their measurements, we can move on to the next page where we can isolate relationships & regions that might represent a scratch.


    Iterative Detection and Scratch Library

    The page has three different scatter plots that compare different cluster measurements. To start, we can mark the region on the top visual that looks at low avg_spline_distance (which means the principal curve closely fits the cluster) and a medium min_radius (the cluster doesn’t begin at the edge or the center).

    This region seems to have a good amount of scratches! Now we can leverage Spotfire’s interactive nature to find more. As the human expert, we can determine what actually is or isn’t a scratch. By selecting some wafers we are certain about on the bottom-right, the dashboard updates and drills into just those wafers. We already looked at the top scatter plot. Now, we can look at where these clusters end up in the middle scatter plot. They seem to fall into a bucket of lower aspect_rato and higher std_radius. Examining the surrounding region could find us additional scratches.
     

    This iterative process not only helps in identifying more scratches but also in building a comprehensive library of scratch patterns. Using an Action Mod, it is easy for us to tag known scratches, which populates a new column in the cluster table. 

    Building this library serves as a valuable resource, cataloging the characteristics of each identified scratch. When new wafer data is processed, we can automatically compare it against the library, quickly classifying potential scratches without the need for the user to manually go through all of the wafers.
     

    Conclusion

    The Wafer Scratch Detection application provides a powerful tool for semiconductor manufacturers, enabling them to efficiently identify and address scratches on wafers. By combining visual analytics with data science, this application not only enhances yield but also contributes to a more robust and scalable manufacturing process. If you’re involved in semiconductor production and want to improve your scratch detection capabilities, this application is worth exploring.

    If you found this application interesting, be sure to also check out our Wafermap Pattern Recognition and Wafer Defect Analysis!
     


    User Feedback

    Recommended Comments

    There are no comments to display.


×
×
  • Create New...