A method for drawing and analyzing a wafer defect map with large data based on OpenTK

By using OpenTK 3D drawing technology and the custom control MapControl, the problem of existing software being unable to draw wafer defect maps with large amounts of data has been solved, enabling fast and clear display and analysis of wafer defect maps.

CN116563424BActive Publication Date: 2026-06-23JIANGSU DAODA INTELLIGENT TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
JIANGSU DAODA INTELLIGENT TECH CO LTD
Filing Date
2023-04-21
Publication Date
2026-06-23

AI Technical Summary

Technical Problem

Existing wafer defect analysis and mapping software cannot effectively draw wafer defect maps with large amounts of data, resulting in poor display performance and failing to meet the requirements of high resolution and real-time performance.

Method used

Using OpenTK 3D drawing technology, a user-defined control MapControl is created to encapsulate drawing methods, including drawing wafers, wafer notches and dies, drawing, selecting and measuring defect points, to achieve the drawing of large-scale wafer defect maps.

Benefits of technology

It enables rapid drawing and clear display of wafer defect maps with large amounts of data, and can overlay more wafer defect maps, allowing users to intuitively observe the defect distribution, thus improving drawing speed and display effect.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116563424B_ABST
    Figure CN116563424B_ABST
Patent Text Reader

Abstract

The application provides a drawing analysis method for a wafer defect map with a large amount of data based on OpenTK, and comprises the following processes: a user-defined control MapControl is created to encapsulate a drawing method; the drawing method comprises: wafer drawing, wafer gap drawing and die drawing, background drawing of the wafer defect map, defect point drawing, defect point selection, user selection of the defect point, two-point line distance measurement and filter in / filter out. The application realizes the drawing of the wafer defect map with a large amount of data, can superimpose the wafer defect maps of wafers with the same specification in the overlay function, displays all the selected wafer defects on a map, and enables the user to clearly and intuitively see the distribution position and density of the defect points, so that a corresponding processing scheme can be formulated. Compared with the existing technology, the number of superimposable wafer defect maps is greatly improved, and the drawing speed is also faster under the condition of the same amount of data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of integrated circuit technology, specifically to a method for drawing and analyzing wafer defect maps with large data volumes based on OpenTK. Background Technology

[0002] In recent years, my country's integrated circuit industry has developed rapidly, with a significant increase in overall scale. With advancements in process technology, manufacturing dimensions are approaching physical limits, device structures have evolved from two-dimensional to three-dimensional, and device integration has shifted from horizontal to vertical integration. The requirements for quality and performance in manufacturing processes are significantly higher than before. In complex production environments, defects occur frequently, leading to decreased yield. Wafer maps, which record test data from the manufacturing process at spatial locations directly related to the wafer, are a crucial type of comprehensive data. Drawing and analyzing wafer maps has become an important means of reducing the probability of defects and improving yield.

[0003] Most wafer analysis and plotting software on the market currently uses GDI+ plotting technology to create wafer images. Writing graphics programs requires using GDI (Graphics Device Interface). From a programming perspective, GDI consists of two parts: GDI objects and GDI functions. GDI objects define the tools and environment variables used by GDI functions, and GDI function objects draw various graphics. GDI+ is a wrapper, optimization, and functional extension of GDI, supporting image display in compressed formats including JPG, PNG, GIF, and TIF. The plotting functions also incorporate anti-aliasing technology, resulting in a more refined display. GDI+ primarily provides three types of services: 2D vector graphics, image processing, and text display. Programmers create Graphics objects and use their methods to draw, display text, or process images, thereby achieving the drawing and manipulation of wafer images.

[0004] Currently, most wafer defect analysis and mapping software cannot generate wafer defect maps with large numbers of defects (millions). The reason for this is that these software programs use GDI+ plotting technology. Initially, GDI+ technology was highly praised for its functional advantages. However, its disadvantage is poor image display performance.

[0005] As is well known, Windows GDI's image display performance is not high, and GDI+ technology's performance is even lower than GDI. 2D technology ceased development after DirectX 7.0; subsequent minor performance improvements were due to hardware frequency increases, including CPU, memory, and graphics card upgrades. Experiments show that GDI+ technology is completely unable to handle the performance requirements of dynamic image display. Even without real-time requirements, the display smoothness is poor, only capable of displaying static images. Modern computer monitors are increasingly larger and have higher resolutions. Even though GDI has some performance at low resolutions, its performance at high resolutions is very poor. Therefore, this invention aims to achieve the rendering of large-scale wafer defect maps. To achieve this, the traditional GDI+ drawing technology is abandoned in favor of OpenTK, a 3D drawing technology. Summary of the Invention

[0006] The purpose of this invention is to provide a method for drawing and analyzing wafer defect maps with large data volumes based on OpenTK. This method can greatly increase the number of wafer defect maps that can be superimposed, and the drawing speed is also faster with the same amount of data.

[0007] To achieve the above objectives, the present invention proposes the following technical solution: a method for drawing and analyzing wafer defect maps with large data volumes based on OpenTK, comprising the following processes:

[0008] Create a user-defined control, MapControl, to encapsulate the drawing methods;

[0009] Drawing methods include:

[0010] The wafer, wafer notch, and die are drawn to create a background image for the wafer defect map;

[0011] Draw defect points;

[0012] Defect point selection allows users to choose defect points;

[0013] Distance measurement by connecting two points;

[0014] Filter in / filter out.

[0015] Furthermore, in this invention, the drawing process of the wafer, wafer notch, and die is as follows: Adjust the width (m_wigth) and height (m_height) of the MapControl to make them equal; use the method of drawing connected lines in OpenTK to draw a circle inscribed in the MapControl as the wafer; calculate the ratio of the actual value to the canvas coordinates based on the wafer radius (r) (ratio = m_wigth / (2*r)); similarly, draw a semicircle with a very small radius as the wafer notch according to the wafer notch direction; and obtain the leftmost die based on the number of dies in the x-direction (xCount) and the width of the die (die_width). The distance from the leftmost blank space of MapControl is xSpace = (m_wigth - xCount * die_width * ratio) / 2. Similarly, the distance from the bottommost die to the bottommost blank space of MapControl is ySpace. The canvas x coordinate of the bottom left corner vertex of die is calculated based on the x coordinate of die (x = xSpace + (dx - xMin) * die_width). Similarly, the y coordinate of the bottom left corner vertex of die is obtained. Given the coordinates (x, y) of the bottom left corner vertex of die on the canvas, its width (die_width * ratio) and height (die_height * ratio), die can be drawn.

[0016] Furthermore, in this invention, the process of drawing the defect point based on its actual coordinates is as follows: Given the leftmost die's distance from the leftmost blank space of the MapControl (xSpace), the bottommost die's distance from the bottommost blank space of the MapControl (ySpace), the minimum x-coordinate of the die (die_xMin), the minimum y-coordinate of the die (die_yMin), the width (m_wigth) and height (m_height) of the MapControl, and the ratio of the actual values ​​to the canvas coordinates (ratio), the coordinates of the bottom left corner vertex of the die with coordinates (0, 0) on the canvas can be obtained as (xDie0 = xSpace - die_xMin * die_width * ratio, yDie0 = ySpace - die_yMin * die_height * ratio). Finally, the actual coordinates of the defect (xDefect, yDefect) can be converted into the canvas coordinates of the defect (defect_x = xDie0 + xDefect * ratio, defect_y = yDie0 + yDefect * ratio), thereby drawing the defect point.

[0017] Furthermore, in this invention, defect point selection includes box selection and irregular selection;

[0018] The selection process is as follows: In the MapControl's mouse press event, the current mouse position is recorded as the starting position (start_x, start_y), and the mouse state is recorded as pressed, and the current image (current_bitmap) is saved; In the MapControl's mouse move event, if the mouse state is pressed or moved, the mouse state is updated to move, the current_bitmap image is loaded, and a rectangle is drawn based on the starting position (start_x, start_y) and the current mouse position (eX, eY) to achieve the dragging effect; In the MapControl's mouse release event, if the mouse state is moved, the mouse state is updated to release, the current_bitmap image is loaded, and a rectangle is drawn based on the starting position (start_x, start_y) and the current mouse position (eX, eY). The coordinates are used to determine whether the defect point is within the rectangle. If it is, the index of the point is stored in the collection (selectedIndexs). If it is not, a gray defect point is drawn to cover the original point. Finally, selectedIndexs is passed to the main window through a delegate event.

[0019] The implementation process for irregular selection is as follows: In the mouse click event of MapControl, the current mouse position is stored in a collection (points), and a line with no connection between the beginning and end is drawn based on the points. When the finish button is clicked, a line with the beginning and end connected is drawn based on the points. Then, the ray method is used to determine whether the defect point is in this irregular shape. If it is, the index of the point is stored in the collection (selectedIndexs). If it is not, a gray defect point is drawn to cover the original point. Finally, the selectedIndexs is passed to the main window through the delegate event.

[0020] Furthermore, in this invention, the process of measuring distance between two points by connecting them is as follows: In the mouse press event, it is determined whether to measure distance between two points by connecting them. If so, a small rectangle is drawn, the current mouse position (start_x, start_y) is recorded, and the current image (current_bitmap) is saved. In the mouse move event, it is determined whether to measure distance between two points by connecting them. If so, the current_bitmap image is loaded, the line connecting (start_x, start_y) and the current mouse position (eX, eY) is drawn, the ratio of the known actual value of the distance (d) between the two points to the canvas coordinates is calculated, and the actual distance is obtained as (distance = d / ratio). The result is then drawn.

[0021] Furthermore, in this invention, the filter in / filter out process is as follows: when the filter in or filter out event is triggered, the canvas is cleared, the wafer background is drawn, and the index (selectedIndexs) of all selected points is known. If it is filter in, the selectedIndexs is passed to the defect point for drawing, and the selected points are drawn. If it is filter out, the unselected points (unSelectedIndexs) are obtained by using the index (allIndexs) of all points and the selectedIndexs, and the unselectedIndexs is passed to the defect point for drawing, and the unselected points are drawn.

[0022] A system for drawing and analyzing wafer defect maps with large data volumes based on OpenTK, comprising:

[0023] The drawing module for wafers, wafer notches, and dies is used to draw the background image of the wafer defect map;

[0024] The defect point drawing module is used for drawing defect points.

[0025] The defect selection module is used by users to select defect points.

[0026] Two-point line distance measurement module, used for measuring distance between two points;

[0027] The filter in / filter out modules are used to draw selected or unselected points.

[0028] Beneficial effects: The technical solution of this application has the following technical effects:

[0029] This invention enables the creation of wafer defect maps with large datasets. It allows for the overlay of wafer defect maps of the same specifications, displaying all selected wafer defects on a single image. This provides users with a clearer and more intuitive view of the distribution and density of defect points, enabling them to develop appropriate processing solutions. Compared to existing technologies, this invention significantly increases the number of wafer defect maps that can be overlaid, and also achieves faster rendering speeds for the same data volume.

[0030] It should be understood that all combinations of the foregoing concepts and the additional concepts described in more detail below can be considered part of the inventive subject matter of this disclosure, provided that such concepts do not contradict each other.

[0031] The foregoing and other aspects, embodiments, and features of the teachings of the present invention will be more fully understood from the following description in conjunction with the accompanying drawings. Other additional aspects of the invention, such as features and / or beneficial effects of exemplary embodiments, will become apparent from the following description or may be learned through practice of specific embodiments according to the teachings of the present invention. Attached Figure Description

[0032] The accompanying drawings are not intended to be drawn to scale. In the drawings, each identical or nearly identical component shown in the various figures may be denoted by the same reference numeral. For clarity, not every component is labeled in each figure. Embodiments of various aspects of the invention will now be described by way of example and with reference to the accompanying drawings, wherein:

[0033] Figure 1 This is a schematic diagram of the system architecture of the present invention. Detailed Implementation

[0034] To better understand the technical content of this invention, specific embodiments are described below in conjunction with the accompanying drawings. Various aspects of the invention are described in this disclosure with reference to the accompanying drawings, which illustrate numerous illustrative embodiments. The embodiments of this disclosure are not necessarily defined to include all aspects of the invention. It should be understood that the various concepts and embodiments described above, as well as those described in more detail below, can be implemented in any of many ways, because the concepts and embodiments disclosed in this invention are not limited to any particular implementation. Furthermore, some aspects of this invention can be used alone or in any suitable combination with other aspects of this invention.

[0035] This invention aims to generate large-scale wafer defect maps. To achieve this, we abandoned the traditional GDI+ drawing technology and adopted OpenTK, a 3D drawing technology. OpenTK is a cross-platform wrapper for OpenGL, OpanAL, and OpenCL, written in C#, and can run on Windows, Linux, and macOS platforms. It can be used for development with any .NET language. OpenTK can be used for games, scientific applications, or other projects requiring 3D graphics, audio, or computational capabilities.

[0036] This invention encapsulates various drawing methods by creating a user-defined control, MapControl. Then, MapControl is added to the interface where a map needs to be drawn, and the corresponding control method is called to draw the map when various drawing operations are performed.

[0037] See Figure 1MapControl encapsulates methods such as drawing wafers, wafer notches and dies, drawing defect points, selecting defect points, measuring distance between two points, and filtering in / filtering out. Among them, defect point selection includes box selection and irregular selection.

[0038] In this embodiment, the drawing process of the wafer, wafer notch, and die is as follows: Adjust the width (m_wigth) and height (m_height) of the MapControl to make them equal. Use the method of drawing connected lines in OpenTK to draw a circle inscribed in the MapControl as the wafer. Calculate the ratio of the actual value to the canvas coordinates based on the wafer radius (r) (ratio = m_wigth / (2*r)). Similarly, draw a semicircle with a very small radius as the wafer notch according to the wafer notch direction. Based on the number of dies in the x-direction (xCount) and the width of the die (die_width), obtain the distance of the leftmost die from M. The leftmost blank space distance of apControl is (xSpace = (m_wigth - xCount * die_width * ratio) / 2). Similarly, the blank space distance (ySpace) between the bottom die and the bottom of MapControl is obtained. The canvas x coordinate of the bottom left vertex of die is calculated based on the x coordinate of die (x = xSpace + (dx - xMin) * die_width). Similarly, the y coordinate of the bottom left vertex of die is obtained. Given the coordinates (x, y) of the bottom left vertex of die on the canvas, its width (die_width * ratio) and height (die_height * ratio), die can be drawn.

[0039] In this embodiment, the process of drawing the defect point based on its actual coordinates is as follows: Given the leftmost die's distance from the leftmost blank space of the MapControl (xSpace), the bottommost die's distance from the bottommost blank space of the MapControl (ySpace), the minimum x-coordinate of the die (die_xMin), the minimum y-coordinate of the die (die_yMin), the width (m_width) and height (m_height) of the MapControl, and the ratio of the actual values ​​to the canvas coordinates, the coordinates of the bottom left corner vertex of the die with coordinates (0, 0) on the canvas can be obtained as (xDie0 = xSpace - die_xMin * die_width * ratio).

[0040] yDie0 = ySpace - die_yMin * die_height * ratio), and finally the actual coordinates of the defect (xDefect, yDefect) can be converted into the canvas coordinates of the defect (defect_x = xDie0 + xDefect * ratio, defect_y = yDie0 + yDefect * ratio), from which the defect point can be drawn.

[0041] In this embodiment, defect point selection includes box selection and irregular selection;

[0042] The selection process is as follows: In the MapControl's mouse press event, the current mouse position is recorded as the starting position (start_x, start_y), and the mouse state is recorded as pressed, and the current image (current_bitmap) is saved; In the MapControl's mouse move event, if the mouse state is pressed or moved, the mouse state is updated to move, the current_bitmap image is loaded, and a rectangle is drawn based on the starting position (start_x, start_y) and the current mouse position (eX, eY) to achieve the dragging effect; In the MapControl's mouse release event, if the mouse state is moved, the mouse state is updated to release, the current_bitmap image is loaded, and a rectangle is drawn based on the starting position (start_x, start_y) and the current mouse position (eX, eY). The coordinates are used to determine whether the defect point is within the rectangle. If it is, the index of the point is stored in the collection (selectedIndexs). If it is not, a gray defect point is drawn to cover the original point. Finally, selectedIndexs is passed to the main window through a delegate event.

[0043] The implementation process for irregular selection is as follows: In the mouse click event of MapControl, the current mouse position is stored in a collection (points), and a line with no connection between the beginning and end is drawn based on the points. When the finish button is clicked, a line with the beginning and end connected is drawn based on the points. Then, the ray method is used to determine whether the defect point is in this irregular shape. If it is, the index of the point is stored in the collection (selectedIndexs). If it is not, a gray defect point is drawn to cover the original point. Finally, the selectedIndexs is passed to the main window through the delegate event.

[0044] In this embodiment, the process of measuring distance by connecting two points is as follows: In the mouse press event, it is determined whether to measure distance by connecting two points. If so, a small rectangle is drawn, the current mouse position (start_x, start_y) is recorded, and the current image (current_bitmap) is saved. In the mouse move event, it is determined whether to measure distance by connecting two points. If so, the current_bitmap image is loaded, the line connecting (start_x, start_y) and the current mouse position (eX, eY) is drawn, the ratio of the known actual value of the distance (d) between the two points to the canvas coordinates is calculated, and the actual distance is obtained as (distance = d / ratio). The result is then drawn.

[0045] In this embodiment, the filter in / filter out process is as follows: When the filter in or filter out event is triggered, the canvas is cleared, the wafer background is drawn, and the index (selectedIndexs) of all selected points is known. If it is filter in, the selectedIndexs is passed to the defect point for drawing, and the selected points are drawn. If it is filter out, the unselected points (unSelectedIndexs) are obtained by comparing the index (allIndexs) of all points with the selectedIndexs, and the unselectedIndexs is passed to the defect point for drawing, and the unselected points are drawn.

[0046] This embodiment also provides a system for drawing and analyzing wafer defect maps with large data volumes based on OpenTK, including:

[0047] The drawing module for wafers, wafer notches, and dies is used to draw the background image of the wafer defect map;

[0048] The defect point drawing module is used for drawing defect points.

[0049] The defect selection module is used by users to select defect points.

[0050] Two-point line distance measurement module, used for measuring distance between two points;

[0051] The filter in / filter out modules are used to draw selected or unselected points.

[0052] An electronic device, comprising:

[0053] One or more processors.

[0054] A storage device for storing one or more programs.

[0055] When the one or more programs are executed by the one or more processors, the one or more processors implement the methods described above.

[0056] A computer-readable medium having a computer program stored thereon, which, when executed by a processor, implements the above-described method.

[0057] The techniques described in this disclosure can be implemented at least in part in hardware, software, firmware, or any combination thereof. For example, aspects of the described techniques can be implemented in one or more processors, including one or more microprocessors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or any other equivalent integrated or discrete logic circuits, and any combination of such components. The terms “processor” or “processing circuit” can generally refer to any of the aforementioned logic circuits, alone or in combination with other logic circuits or any other equivalent circuit. A control unit, including hardware, can also execute one or more of the techniques of this disclosure. Such hardware, software, and firmware can be implemented within the same device or in different devices to support the various operations and functions described in this disclosure. Furthermore, any described unit, module, or component can be implemented together or individually as independent but cooperative logical devices. The purpose of describing different features as modules or units is to highlight different functional aspects and does not necessarily imply that these modules or units must be implemented by separate hardware or software components. Rather, the functionality associated with one or more modules or units can be executed by separate hardware or software components or integrated within components in common or separate hardware or software. The techniques described in this disclosure can also be embodied or encoded in a computer-readable medium (such as a computer-readable storage medium) including instructions. Instructions embedded or encoded in a computer-readable storage medium can cause a programmable processor or other processor to perform a method, for example, when the instructions are executed. Computer-readable storage media can include random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory, hard disk, CD-ROM, floppy disk, magnetic tape, magnetic media, optical media, or other computer-readable media. Various examples have been described. These and other examples are within the scope of the appended claims.

[0058] This invention enables the creation of wafer defect maps with large datasets. It allows for the overlay of wafer defect maps of the same specifications, displaying all selected wafer defects on a single image. This provides users with a clearer and more intuitive view of the distribution and density of defect points, enabling them to develop appropriate processing solutions. Compared to existing technologies, this invention significantly increases the number of wafer defect maps that can be overlaid, and also achieves faster rendering speeds for the same data volume.

[0059] While the present invention has been disclosed above with reference to preferred embodiments, it is not intended to limit the invention. Those skilled in the art can make various modifications and refinements without departing from the spirit and scope of the invention. Therefore, the scope of protection of the present invention shall be determined by the claims.

Claims

1. A method for drawing and analyzing wafer defect maps with large data volumes based on OpenTK, characterized in that: The process includes the following: Create a user-defined control, MapControl, to encapsulate the drawing methods; Drawing methods include: The wafer, wafer notch, and die are drawn to create a background image for the wafer defect map; Draw defect points; Defect point selection allows users to choose defect points; Distance measurement by connecting two points; Filter in / filter out; The drawing process for the wafer, wafer notch, and die is as follows: Adjust the width (m_wigth) and height (m_height) of the MapControl to make them equal. Use the OpenTK method to draw a circle inscribed in the MapControl as the wafer. Based on the wafer radius (r), calculate the ratio of the actual value to the canvas coordinates: ratio = m_wigth / (2*r). Similarly, draw a semicircle with a very small radius as the wafer notch according to the wafer notch direction. Based on the number of dies in the x-direction (xCount) and the width of the dies (die_width), obtain the distance of the leftmost die from the MapControl. The leftmost blank space distance xSpace = (m_wigth - xCount * die_width * ratio) / 2. Similarly, the blank space distance ySpace between the bottom die and the bottom of MapControl can be obtained. Based on the die's x-coordinate, the canvas x-coordinate of the bottom left vertex of die is calculated as x = xSpace + (dx - xMin) * die_width * ratio. Similarly, the y-coordinate of the bottom left vertex of die can be obtained. Given the coordinates (x, y) of the bottom left vertex of die on the canvas, the width die_width * ratio, and the height die_height * ratio, die can be drawn.

2. The method for drawing and analyzing wafer defect maps based on large amounts of data using OpenTK as described in claim 1, characterized in that: The process of drawing the defect point based on its actual coordinates is as follows: Given the distance xSpace from the leftmost die to the leftmost blank space of the MapControl, the distance ySpace from the bottommost die to the bottommost blank space of the MapControl, the minimum x-coordinate of the die (die_xMin), the minimum y-coordinate of the die (die_yMin), the width m_width of the MapControl, the height m_height, and the ratio of the actual values ​​to the canvas coordinates (ratio), we can obtain the coordinates of the bottom left vertex of the die with coordinates (0, 0) on the canvas as xDie0 = xSpace - die_xMin * die_width * ratio. yDie0 = ySpace - die_yMin * die_height * ratio. Finally, the actual coordinates of the defect (xDefect, yDefect) can be converted into the canvas coordinates of the defect (defect_x = xDie0 + xDefect * ratio, defect_y = yDie0 + yDefect * ratio), from which the defect point can be drawn.

3. The method for drawing and analyzing wafer defect maps based on large amounts of data using OpenTK as described in claim 1, characterized in that: Defect point selection includes box selection and irregular selection; The selection process is as follows: In the MapControl's mouse press event, the current mouse position is recorded as the starting position (start_x, start_y), and the mouse state is recorded as pressed, and the current image current_bitmap is saved; In the MapControl's mouse move event, if the mouse state is pressed or moved, the mouse state is updated to move, the current_bitmap image is loaded, and a rectangle is drawn based on the starting position (start_x, start_y) and the current mouse position (eX, eY) to achieve the dragging effect; In the MapControl's mouse release event, if the mouse state is moved, the mouse state is updated to release, the current_bitmap image is loaded, and a rectangle is drawn based on the starting position (start_x, start_y) and the current mouse position (eX, eY). The coordinates are used to determine whether the defect point is within the rectangle. If it is, the index of the point is stored in the collection selectedIndexs. If it is not, a gray defect point is drawn to cover the original point. Finally, selectedIndexs is passed to the main window through a delegate event. The implementation process for irregular selection is as follows: In the mouse click event of MapControl, the current mouse position is stored in a collection called points, and a line with no connection between the beginning and end is drawn based on points. When the finish button is clicked, a line with the beginning and end connected is drawn based on points. Then, the ray method is used to determine whether the defect point is in this irregular shape. If it is, the index of the point is stored in the collection selectedIndexs. If it is not, a gray defect point is drawn to cover the original point. Finally, selectedIndexs is passed to the main window through a delegate event.

4. The method for drawing and analyzing wafer defect maps based on large amounts of data using OpenTK as described in claim 1, characterized in that: The process of measuring distance between two points is as follows: In the mouse press event, determine whether it is a two-point distance measurement. If so, draw a small rectangle, record the current mouse position (start_x, start_y), and save the current image current_bitmap. In the mouse move event, determine whether it is a two-point distance measurement. If so, load the current_bitmap image, draw the line connecting (start_x, start_y) and the current mouse position (eX, eY), calculate the distance d between the two points, and given the ratio of the actual value to the canvas coordinates, the actual distance is distance = d / ratio. The result is then drawn.

5. The method for drawing and analyzing wafer defect maps based on large amounts of data using OpenTK according to claim 1, characterized in that: The filter in / filter out process is as follows: When the filter in or filter out event is triggered, the canvas is cleared, the wafer background is drawn, and the index (selectedIndexs) of all selected points is known. If it is filter in, the selectedIndexs is passed to the defect point for drawing, and the selected points are drawn. If it is filter out, the unselected points unSelectedIndexs are obtained by comparing the index (allIndexs) of all points with the selectedIndexs, and the unselectedIndexs is passed to the defect point for drawing, and the unselected points are drawn.

6. A system for drawing and analyzing wafer defect maps with large data volumes based on OpenTK, characterized in that: The method for drawing and analyzing wafer defect maps based on large data volumes using OpenTK, as described in any one of claims 1-5, is employed. The system includes: The drawing module for wafers, wafer notches, and dies is used to draw the background image of the wafer defect map; The defect point drawing module is used for drawing defect points. The defect selection module is used by users to select defect points. Two-point line distance measurement module, used for measuring distance between two points; The filter in / filter out modules are used to draw selected or unselected points.

7. An electronic device, characterized in that, include: One or more processors; Storage device for storing one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the method as described in any one of claims 1-6.

8. A computer-readable medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the method as described in any one of claims 1-6.