Apparatus, method, and program
Patent Information
- Application Number
- PCT/JP2025/012000
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-03-26
- Publication Date
- 2026-10-01
Smart Images

Figure JP2025012000_01102026_PF_FP_ABST
Abstract
Description
Apparatus, method, and program
[0001] The present invention relates to an apparatus, a method, and a program.
[0002] Patent Document 1 describes an analysis method of classifying a plurality of substrates into groups having similar characteristic distributions, and Patent Documents 2 and 3 describe clustering methods. [Prior Art Documents] [Patent Documents] Patent Document 1: Japanese Unexamined Patent Application Publication No. 2008-078392 Patent Document 2: Japanese Unexamined Patent Application Publication No. 2010-267277 Patent Document 3: Japanese Translation of PCT International Application Publication No. 2023-541086 General Disclosure
[0003] According to a first aspect of the present invention, there is provided an apparatus that clusters test results of a plurality of devices under test each having a plurality of device regions into a plurality of clusters, the apparatus comprising: a result acquisition unit that acquires each test result of the plurality of devices under test; a center determination unit that determines a first center of a first cluster among the plurality of clusters based on a mode of test results for device regions at corresponding positions in at least two devices under test among the plurality of devices under test; and a cluster determination unit that determines, among the plurality of devices under test, the device under test included in the first cluster with the first center as a reference based on a distance between each test result of the plurality of devices under test and the first center.
[0004] In the above apparatus, the center determination unit may determine the first center in which the mode of the test results is set as a test result for the device region at the corresponding position.
[0005] In any of the above apparatuses, the center determination unit may determine the first center in which a pass value is set as a test result for a device region in which a frequency of the mode of the test results is less than a predetermined threshold.
[0006] In the above-described apparatus, if the number of device regions for which a pass value has been set as a test result in the determined first center is equal to or greater than a predetermined threshold, the center determination unit may update the test result of one randomly selected device under test from among the plurality of devices under test as the first center.
[0007] In any of the above-described devices, the center determination unit may randomly set the number of the at least two devices under test used to determine the first center.
[0008] In any of the above-described devices, the cluster determination unit may calculate the distance between each of the test results of the multiple devices under test and the first center by comparing the test results of each of the multiple devices under test and the first center with the device regions at corresponding locations.
[0009] In any of the above-described devices, the test results and the first center may include the BIN number for each of the plurality of device regions.
[0010] In any of the above-described devices, the center determination unit may determine the second center of the second cluster among the plurality of clusters based on the distance between the first center determined and the test results of each of the plurality of devices under test.
[0011] In the apparatus described above, the center determination unit may determine the third center of the third cluster among the plurality of clusters based on the mode of the test results for the device region at a corresponding position in at least two devices under test that are different from the at least two devices under test used to determine the first center.
[0012] In any of the above-described devices, the center determination unit may determine the first center using the test results of at least two devices under test that are consecutive in time series.
[0013] In any of the above-described devices, the center determination unit may update the center of a cluster if the number of test results for the multiple devices under test included in one of the multiple clusters is less than a predetermined threshold.
[0014] In any of the above-described devices, the cluster determination unit calculates the distance between the test results of the plurality of devices under test and the centers of the plurality of clusters, and clusters the test results of at least one of the plurality of devices under test into the cluster with the smallest distance, and the cluster where the difference between the distance between the smallest cluster and the center is less than a predetermined threshold.
[0015] In any of the above-described devices, the device may further include an output unit that performs multiple clustering operations on the test results of the multiple devices under test, and outputs the clustering results when the cluster determination unit determines the same center for a predetermined number of or more clustering operations.
[0016] In any of the above-described devices, the result acquisition unit acquires the test results of each of the multiple devices under test while shifting them over time, and the device may cluster the test results of each of the multiple devices under test while shifting them over time.
[0017] A second aspect of the present invention provides a method for clustering test results of multiple devices under test, each having a plurality of device regions, into a plurality of clusters, comprising: obtaining the test results for each of the plurality of devices under test; determining a first center of the first cluster among the plurality of clusters based on the mode of the test results for the device regions at corresponding locations in at least two of the plurality of devices under test; and determining which of the plurality of devices under test are included in the first cluster relative to the first center based on the distance between the test results of each of the plurality of devices under test and the first center.
[0018] A third aspect of the present invention provides a program for clustering the test results of a plurality of devices under test, each having a plurality of device regions, into a plurality of clusters, which is executed by a computer, and which causes the computer to function as a result acquisition unit that acquires the test results of each of the plurality of devices under test; a center determination unit that determines a first center of the plurality of clusters based on the mode of the test results for the device regions at corresponding locations in at least two of the plurality of devices under test; and a cluster determination unit that determines which of the plurality of devices under test are included in the first cluster with respect to the first center, based on the distance between the test results of each of the plurality of devices under test and the first center.
[0019] It should be noted that the above summary of the invention does not list all the necessary features of the present invention. Furthermore, subcombinations of these features may also constitute an invention.
[0020] The configuration of the test system 10 according to this embodiment is shown together with the device under test 30. An example of the configuration of the analysis device 140 according to this embodiment is shown. A flowchart showing an example of the clustering operation of the analysis device 140 according to this embodiment is shown. A diagram for explaining the position identification information of the device under test 30 is shown. A diagram for explaining the test results of the device under test 30 is shown. An example of a table 600 used for calculating distance in the analysis device 140 is shown. Another example of a table 700 used for calculating distance in the analysis device 140 is shown. An example of a computer 2200 in which multiple embodiments of the present invention may be embodied whole or in part is shown.
[0021] The present invention will be described below through embodiments, but these embodiments are not intended to limit the scope of the claims. Furthermore, not all combinations of features described in the embodiments are necessarily essential to the solution of the invention.
[0022] Figure 1 shows the configuration of the test system 10 according to this embodiment, along with the device under test 30. The device under test 30 has multiple device regions that are subject to testing by the test system 10. In this example, the device under test 30 is shown as a wafer on which multiple device regions 20 are formed. Each device region 20 may be an IC / LSI chip circuit or the like formed on the wafer.
[0023] The test system 10 mounts the device under test 30 and tests each device region 20. Alternatively, the test system 10 may test two or more device regions 20 simultaneously. The test system 10 performs electrical testing of the device regions 20. Alternatively, or in addition to this, the test system 10 may perform optical input / output testing of the device regions 20. In this embodiment, the case in which the test system 10 performs electrical testing of the device regions 20 will be described as an example. When the test system 10 performs optical input / output testing of the device regions 20, the test apparatus 110 and the device regions 20 are connected by optical connection instead of electrical connection.
[0024] The test system 10 comprises a probe device 100, a test device 110, and an analysis device 140. The probe device 100 transports the device under test 30 and places it on the stage. The probe device 100 moves the stage horizontally (also referred to as the "XY direction") to align the device area 20 to be tested on the device under test 30 with the probe card of the test head 120, and then moves the stage vertically (also referred to as the "Z direction") upward to electrically connect each electrode of the device area 20 to be tested with each probe pin of the probe card.
[0025] Once testing of a device region 20 is complete, the prober device 100 moves the stage vertically downward to separate the device region 20 from the probe card, then aligns the next device region 20 to be tested with the probe card, and electrically connects each electrode of the device region 20 with each probe pin of the probe card. Once testing of all device regions 20 of the device under test 30 is complete, the prober device 100 removes the device under test 30, places the next device under test 30 on the stage, and electrically connects each device region 20 of the next device under test 30 to the probe card in sequence for testing.
[0026] The test apparatus 110 tests the device area 20 of the device under test 30, which is placed on the stage of the probe apparatus 100. The test apparatus 110 has a test head 120 and a main frame 130. The test head 120 has a built-in test module that sends and receives signals to and from the device area 20 to test the device area 20, and a probe card that electrically connects the test module and the device area 20 is mounted on the lower side in the figure.
[0027] The mainframe 130 is connected to the prober device 100 and the test head 120. The mainframe 130 controls the various parts of the test head 120 to perform testing of the device area 20.
[0028] The analysis device 140 is connected to the mainframe 130 of the test device 110. The analysis device 140 analyzes the test results of multiple devices under test 30, each having multiple device areas 20, by clustering the test results of the devices 20 into multiple clusters. The analysis device 140 may be a computer such as a PC (personal computer), tablet computer, smartphone, workstation, server computer, or general-purpose computer, or it may be a computer system in which multiple computers are connected. Such a computer system is also a computer in a broad sense. The analysis device 140 may also be implemented by a virtual computer environment that can run one or more times within the computer. Alternatively, the analysis device 140 may be a dedicated computer designed for clustering, or dedicated hardware realized by a dedicated circuit. The analysis device 140 may be installed near the test device 110. Alternatively, the analysis device 140 may be connected to the test device 110 via the internet and provide a cloud service for analyzing the test results of the test device 110.
[0029] Figure 2 shows an example of the configuration of the analysis device 140 according to this embodiment. The analysis device 140 comprises a result acquisition unit 200, a center determination unit 210, a cluster determination unit 220, a management unit 230, and an output unit 240.
[0030] The results acquisition unit 200 is connected to the test apparatus 110 either directly or via a network. The results acquisition unit 200 acquires the test results for each of the multiple devices under test 30. The results acquisition unit 200 may be a user interface that accepts direct input from the user via a keyboard or mouse, or it may be a device interface for connecting a USB memory or disk drive to the analysis device 140, and it may acquire the test results tested by the test apparatus 110 via these interfaces. The test results acquired by the results acquisition unit 200 may be data showing the results of testing multiple device areas 20 for each of the multiple devices under test 30. The test results may be information indicating either a pass or a fail in the test of each device area 20. Furthermore, the test results may include identification information that can identify not only the distinction between pass and fail, but also, for example, what type of fail it is (e.g., a fault location within the device area 20 such as a chip). As an example, the test results may include the BIN number for each of the multiple device areas 20. Furthermore, the test results may include the measured values in the test of each device area 20.
[0031] The center determination unit 210 is connected to the result acquisition unit 200. The center determination unit 210 determines the center of one or more clusters in the clustering of test results. The center determination unit 210 determines the center of one of the clusters based on the mode of the test results for the device region 20 at corresponding locations in at least two of the multiple devices 30 under test. Here, the center may be data indicating the center or mean value of the corresponding cluster. For example, the center may include the BIN number for each of the multiple device regions 20.
[0032] The cluster determination unit 220 is connected to the result acquisition unit 200 and the center determination unit 210. The cluster determination unit 220 classifies the test results of each device under test 30 into one or more clusters. Based on the distance between the test results of each of the multiple devices under test 30 and the center, the cluster determination unit 220 determines which devices under test 30 belong to the cluster based on the center determined by the center determination unit 210.
[0033] The management unit 230 is connected to the cluster determination unit 220. The management unit 230 receives the clustering results and supplies the clustering results or information corresponding to the clustering results to the output unit 240. The management unit 230 may store the clustering results. Depending on the clustering results, the management unit 230 may supply information indicating an abnormality in the manufacturing equipment, manufacturing process, or test equipment 110 that manufactures the device under test 30.
[0034] The output unit 240 is connected to the management unit 230. The output unit 240 may output the clustering results or information corresponding to the clustering results supplied by the management unit 230 in accordance with the convergence of clustering. The output unit 240 may output display data to display the clustering results or information corresponding to the clustering results on the display of the analysis device 140 or an external display.
[0035] Figure 3 is a flowchart showing an example of the clustering operation of the analysis device 140 according to this embodiment. In this example, the analysis device 140 classifies the test results of z (z ≥ 2) devices 30 under test into n (z ≥ n ≥ 2) clusters. The number of devices 30 under test to be clustered at one time, z, and the number of clusters, n, may be set in advance by the user. Here, the analysis device 140 may cluster all devices 30 under test of the same type, that is, z devices 30 under test in which the same type of device region 20 is formed at corresponding locations.
[0036] In step S300, the result acquisition unit 200 acquires the test results from the test apparatus 110. The result acquisition unit 200 may acquire the test results for z devices under test 30 in a time series of manufacturing date and time or test date and time for each device under test 30. The result acquisition unit 200 may acquire the test results in association with at least one of position identification information indicating the location of the corresponding device region 20 on the device under test 30 and time information indicating the manufacturing date and time or test date and time.
[0037] In step S310, the center determination unit 210 determines n centers from the test results obtained by the result acquisition unit 200. First, the center determination unit 210 may determine the first n centers for clustering (hereinafter also referred to as initial centers).
[0038] The center determination unit 210 may determine the initial center using the test results of at least two devices 30 under test that are consecutive in time series. The center determination unit 210 may determine one center using the test results of m devices 30 (z≧m≧2) whose manufacturing date and time or test date and time are consecutive in time series. The center determination unit 210 may determine multiple centers using the test results of m devices 30 that are different from each other. For example, the center determination unit 210 may determine center 1 using the test results of the first m devices 30 (1st to mth) in time series from the test results of 3m devices 30 that are consecutive in time series, determine center 2 using the test results of the next m devices 30 (m+1th to 2mth) in time series, and determine center 3 using the test results of the next m devices 30 (2m+1th to 3mth) in time series.
[0039] The center determination unit 210 may randomly set the number of at least two devices 30 under test to be used in determining the center. The center determination unit 210 may randomly set the number of devices 30 under test to be used in determining the center within a predetermined range. The center determination unit 210 may randomly set the number of devices 30 under test to be used for each center to be determined, in which case the number m of devices 30 under test used in determining the center may differ for each center. However, the center determination unit 210 may use the test results of the same number m of devices 30 under test for all centers to be determined. In addition, the center determination unit 210 may set the number m to a value that has been previously entered by the user.
[0040] The center determination unit 210 may determine a center by setting the most frequent value of the test results of multiple devices under test 30 as the test result for the device region 20 at the corresponding location. The center determination unit 210 may determine the most frequent anomaly pattern for m devices under test 30 as the center. The center determination unit 210 may determine a center by setting the most frequent value for each corresponding location for all device regions 20 of the device under test 30. The center determination unit 210 may determine the most frequent value among the test results of the device region 20 at the same location (same location identification information such as the same coordinates) for multiple devices under test 30 as the value for that location in the center. The center determination unit 210 may determine that location in the center as a fail if the number of fails is greater than the number of passes among the test results of the device region 20 at the same location for multiple devices under test 30. The center determination unit 210 may determine the BIN number for the location in the center of a plurality of devices under test 30 as the BIN number that is most frequent or occurs at a predetermined threshold or above (for example, 50% or more of the number of devices under test 30 used for center determination) among the test results of the device region 20 at the same location.
[0041] Furthermore, the center determination unit 210 may determine a center for which a pass value has been set as a test result for a device region 20 where the frequency of the most frequent value of the test result is below a predetermined threshold. For multiple devices under test 30, if the most frequent BIN number among the test results of the device region 20 at the same location is below a predetermined threshold (for example, the BIN number indicating the most frequent fail is less than 50% of the number of devices under test 30 used for center determination m), the center determination unit 210 may determine a center for which a pass value (for example, 0) has been set as a test result for that device region 20.
[0042] The center determination unit 210 may update the center by selecting the test result of one randomly chosen device 30 from among the multiple devices 30 under test if the number of device regions 20 for which a pass value has been set as a test result in the determined center is equal to or greater than a predetermined threshold. The center determination unit 210 may update the center by selecting the test result of one randomly chosen device 30 from among the devices 30 used to determine the center for which the number of device regions 20 for which a pass value has been set is equal to or greater than a predetermined threshold. The center determination unit 210 may also update the center by selecting the test result of one randomly chosen device 30 from among the z devices 30 under test acquired by the result acquisition unit 200. The center determination unit 210 may determine one or more initial centers using the first center determination method using the mode of the test results as described above, and may determine all n initial centers using the first center determination method. However, the center determination unit 210 may determine some of the n initial centers using the first center determination method, and determine the other n initial centers using a different method.
[0043] The second center determination method will be described. In the second center determination method, the center determination unit 210 may determine the center 2 of the cluster 2 among the plurality of clusters based on the distance between the center 1 of the cluster 1 already determined by the center determination unit 210 (for example, already determined by the first center determination method) and each test result of the plurality of devices under test 30. The center determination unit 210 may randomly determine one of the test results of the plurality of devices under test 30 as the center 2 with a probability proportional to the square of the distance between the center 1 and each test result of the plurality of devices under test 30. As an example, the center determination unit 210 calculates the distance D(i) between each test result i (i=1 to z) of the plurality of devices under test 30 and the existing center 1. The center determination unit 210 obtains a weighted probability distribution by dividing the square of the distance D(i) of the test result i of each device under test 30 by the sum of the squares of the distances D(i) of the test results i of all devices under test 30 (D(i) 2 / ΣD(i) 2 ) and may randomly determine the test result i of one device under test 30 among the plurality of devices under test 30 as the center 2. This increases the probability that center 2 is far away from the existing center 1.
[0044] Next, the center determination unit 210 may determine n centers by alternately performing the first center determination method and the second center determination method. In this case, in the first center determination method, the center determination unit 210 may determine the center 3 of the cluster 3 among the plurality of clusters based on the mode of the test results for the device regions 20 at corresponding positions in at least two devices under test 30 different from the at least two devices under test 30 used for determining the center 1. Furthermore, in the second center determination method, for the test result of the device under test 30, the center determination unit 210 may randomly determine a new center according to a weighted probability distribution by using the distance to the center with the smallest distance among the plurality of already determined centers (center 1 to 3 in this example).
[0045] Here, a method for calculating the distance will be described. The center determination unit 210 may calculate the distance between each test result of the plurality of devices under test 30 and the center by comparing each test result of the plurality of devices under test 30 with the center between device regions 20 at corresponding positions. The center determination unit 210 may calculate the distance between the test result of the device under test 30 and the center to be a larger value as the degree of difference between the device regions 20 at corresponding positions is greater. The center determination unit 210 may calculate, as the distance, the sum of the degrees of difference with respect to the center for all device regions 20 in the target device under test 30. As an example, between the target device under test 30 and the center, when the device regions 20 at the same position have the same test result (that is, the same BIN number), the center determination unit 210 sets the degree of difference of the device region 20 to be larger than the degree of difference of the device region 20 when the device regions have different test results (that is, different BIN numbers), and calculates the sum of the degrees of difference of all device regions 20 as the distance between the target device under test 30 and the center.
[0046] In S320, the cluster determination unit 220 clusters the test results of the z devices under test 30 acquired by the result acquisition unit 200 into n clusters. The cluster determination unit 220 may calculate the distances between the test results of the plurality of devices under test 30 and the centers of the n clusters, respectively. The cluster determination unit 220 may calculate the distance between each test result of the plurality of devices under test 30 and the center by comparing each test result of the plurality of devices under test 30 with the center between device regions 20 at corresponding positions. The cluster determination unit 220 may calculate the distance by the same method as the distance calculation method performed by the center determination unit 210 in the second center determination method.
[0047] Among the n clusters, the cluster determination unit 220 may cluster each test result of the plurality of devices under test 30 into the cluster having the smallest distance from the center. The cluster determination unit 220 may identify, from among the n centers, the center having the shortest distance to the test result of each device under test 30, and classify each test result into the cluster of the center with the shortest distance.
[0048] The cluster determination unit 220 may further cluster the test results of at least one of the multiple devices under test 30 into cluster centers at distances where the difference between the distance to the center of the cluster with the smallest distance is less than a predetermined threshold. The cluster determination unit 220 may also classify the test results of the device under test 30 into other clusters if the difference between the distance to the center of the closest cluster and the distance to the centers of other clusters is less than a predetermined threshold. For example, the cluster determination unit 220 may classify the test results of the target device under test 30 into cluster 1 and cluster 2 if the distance a between the target device under test 30 and center 1 of cluster 1 is the smallest among the multiple centers, and the absolute value of the difference between distance b and distance a between the target device under test 30 and center 2 of cluster 2 is less than a predetermined threshold. The analysis device 140 can classify the test results of one device under test 30 into two or more clusters. Therefore, this embodiment is suitable for clustering a device under test 30, such as a wafer, which may experience multiple types of failures due to malfunctions in multiple pieces of equipment in the manufacturing process. The preset thresholds may be set in advance by the user.
[0049] Furthermore, if the number of test results for multiple devices 30 under test included in one of the multiple clusters determined by the cluster determination unit 220 is less than a predetermined threshold, the center determination unit 210 may update the initial center of that cluster. The center determination unit 210 may determine and update a new initial center in the same manner as the first center determination method or the second center determination method. In the first center determination method, the center determination unit 210 may determine a new initial center using the test results of devices 30 under test other than those used to determine the n centers determined in step S310. Subsequently, the cluster determination unit 220 may calculate the distance between the updated new initial center and the test results of the multiple devices 30 under test, and classify the test results of the devices 30 under test into the clusters of the new initial center. This makes it possible to update an inappropriate initial center with few test results for classified devices 30 under test to a more appropriate initial center.
[0050] In S330, the center determination unit 210 determines and updates the center of the test results for the device under test 30 in each cluster determined by the cluster determination unit 220. The center determination unit 210 may determine a new center from the test results of the device under test 30 classified into each cluster, similar to the first center determination method. For example, for each cluster, the center determination unit 210 may determine a new center by setting the mode of the test results for the device region 20 at the corresponding position in the test results of the device under test 30 included in the corresponding cluster as the test result for the device region 20 at the corresponding position.
[0051] In S340, the analysis device 140 may determine whether the clustering has converged. If all the centers determined in S330 by the center determination unit 210 match the centers determined in S310, the analysis device 140 may determine that the clustering has converged (Yes in Figure 3) and proceed to step S350. If at least some of the centers determined in S330 by the center determination unit 210 do not match the centers determined in S310, the analysis device 140 may determine that the clustering has not converged (No in Figure 3) and proceed to step S320. In this case, the analysis device 140 may repeat steps S320 to S340 using the newly updated centers until it determines that the clustering has converged. Alternatively, the analysis device 140 may terminate the clustering after repeating steps S320 to S340 up to a predetermined upper limit without determining that the clustering has converged.
[0052] In step S350, the management unit 230 outputs the clustering results via the output unit 240. The management unit 230 may output, for example, information about the cluster containing the device under test 30 with the highest number of failures, or information about the cluster with the highest average number of failures for the device under test 30 (for example, at least one of the identification information, manufacturing date and time, and test date and time of the device under test 30 included in the cluster) via the output unit 240. The management unit 230 may also identify the location of the abnormality for the clustered device under test 30 based on the relationship between the location of the abnormality (such as a specific location on the manufacturing equipment or test equipment 110) obtained in advance through experiments, etc., and the abnormality test results of the device under test 30. For example, the management unit 230 may classify the abnormality test results of the device under test 30 into one of the clusters of the clustering results, and output the information about the classified cluster (for example, at least one of the identification information, manufacturing date and time, and test date and time of the device under test 30 included in the cluster) in association with the location of the abnormality via the output unit 240.
[0053] Furthermore, the analysis device 140 clusters the test results of multiple devices under test 30 multiple times, similar to steps S310 to S340. If the cluster determination unit 220 determines the same center for a predetermined number of or more clusterings out of the multiple clusterings, the output unit 240 may output the clustering results. The analysis device 140 may cluster the test results of the same z devices under test 30 multiple times. In this case, the center determination unit 210 may determine the initial center in step S310 using the test results of different devices under test 30 for each clustering in the first center determination method. The center determination unit 210 may change the test results of the devices under test 30 used for at least one initial center for each clustering. If at least one center is the same for a predetermined number of or more clusterings out of the multiple clusterings, the output unit 240 may output information only on the centers that were the same for a predetermined number of or more clusterings as the clustering results.
[0054] Furthermore, the result acquisition unit 200 may acquire the test results of multiple devices under test 30 while shifting them over time, and the analysis device 140 may cluster the acquired test results of multiple devices under test 30 while shifting them over time. The result acquisition unit 200 may acquire the test results of multiple devices under test 30 while shifting them over time by m devices 30. Each time the time series shifts by m devices 30, the analysis device 140 may cluster the acquired test results of multiple devices under test 30 in the same manner as in steps S300-S350. That is, the analysis device 140 may add the test results of the most recent m devices under test 30 to the clustering target, while excluding the test results of m devices under test 30 in chronological order from the clustering target. The center determination unit 210 can accurately analyze changes in test results over time by using the m devices 30 under test that have been added to the clustering target to determine the initial center.
[0055] Furthermore, the analysis device 140 may use, in addition to the BIN number, measured values (current values or voltage values, etc.) measured by the test device 110 as the test results for each device region 20. In this case, the center determination unit 210 may determine the center as the average value of the measured values for each device region 20 at each position of the m devices 30 under test. In this case, the center may be set as the average value of the measured values corresponding to each device region 20 at each position. The cluster determination unit 220 may calculate the absolute value of the difference in measured values between the device 30 under test and the center for each device region 20 at each position, and calculate the distance as the sum or average value of the absolute values of the differences.
[0056] In this embodiment, the analysis device 140 can accurately cluster the test results of the device under test 30, such as a wafer. This allows for the analysis of coordinate-dependent anomaly occurrence patterns caused by manufacturing equipment, etc., for the device under test 30, based on the clustering results.
[0057] Figure 4 is a diagram illustrating the position identification information of the device under test 30. In the example in Figure 4, the device under test 30 is a wafer 400 on which device regions 20 such as chips are formed, and each device region 20 is represented by a single rectangle. The x and y axes in Figure 4 are shown for illustrative purposes and represent the coordinates on the upper surface of the wafer 400 on which the device regions 20 are formed. The x and y axes may be common to all the devices under test 30 being clustered, and may be axes based on, for example, notches on the wafer 400. In Figure 4, the coordinates of the center of the wafer 400 are set to (0,0), and the coordinates of some of the device regions 20 are shown, but coordinates may be assigned to all device regions 20 on the wafer 400.
[0058] Figure 5 illustrates the test results of the device under test 30 in the example shown in Figure 4. Figure 5 shows the BIN numbers, which are the test results corresponding to each device region 20. In Figure 5, "0" is a pass value indicating a pass test result, and "BIN number (1)", "BIN number (2)", and "BIN number (3)" indicate BIN numbers indicating a fail test result, although each indicates a different type of fail. In the example in Figure 5, the test results of the device region 20 at (2,5), (2,4), (4,1), (-5,1), (-3,-1), and (-1,-3) in the coordinates shown in Figure 4 are BIN number (1), the test results of the device region 20 at (-3,1) and (3,1) are BIN number (2), and the test result of the device region 20 at (-2,-2) is BIN number (3).
[0059] The result acquisition unit 200 acquires test results for each device under test 30, as shown in Figure 5, in association with coordinates, and the center determination unit 210 and cluster determination unit 220 may calculate the mode of the test results and compare the test results for each coordinate for multiple devices under test 30.
[0060] Figure 6 shows an example of a table 600 used for calculating distance in the analysis device 140. Table 600 shows the relationship between the comparison results of test results and distance. Table 600 may be pre-set in the analysis device 140 by the user. In the example of table 600 in Figure 6, for each device region 20 at each position, the distance is greatest when one of the test results of the device under test 30 and the center test result is a pass and the other is a fail, and the distance is smallest when both the test result of the device under test 30 and the center test result are a fail and the BIN numbers are the same. In the example of table 600 in Figure 6, for each device region 20 at each position, the distance is the same when both the test result of the device under test 30 and the center test result are a fail but the BIN numbers are different, and when both the test result of the device under test 30 and the center test result are passes.
[0061] As an example using the table 600 shown in Figure 6, the cluster determination unit 220 sets the distance of the device region 20 at each location from the center to 0 if the center test result is a fail (for example, BIN number (1)) and the test result of the target device under test 30 is of the same type of fail (for example, BIN number (1)). The cluster determination unit 220 sets the distance of the device region 20 at each location from the center to 1 if the center test result is a fail (for example, BIN number (1)) and the test result of the target device under test 30 is of a different type of fail (for example, BIN number (2)). The cluster determination unit 220 sets the distance of the device region 20 at each location from the center to 1 if the center test result is a pass (0) and the test result of the target device under test 30 is a pass (0). The cluster determination unit 220 determines the distance between the device region 20 at each location and the center if one of the test results (e.g., BIN number (1) or BIN number (2)) is a fail and the other is a pass (0). The cluster determination unit 220 may calculate the sum of the distances determined in this way for each device region 20 at each location as the distance between the device region 20 and the center of the device 30 under test. The center determination unit 210 may similarly calculate the distance in the second center determination method.
[0062] Figure 7 shows another example of the table 700 used to calculate distance in the analysis device 140. The table 700 shows the relationship between the comparison results of the test results and the distance. The table 700 may be pre-configured in the analysis device 140 by the user. In the example of the table 700 in Figure 7, for each device region 20 at each position, the distance is largest when one of the test results of the device under test 30 and the center is a pass and the other is a fail, and when both the test results of the device under test 30 and the center are a fail but the BIN numbers are different. The distance is smallest when both the test results of the device under test 30 and the center are a fail and the BIN numbers are the same.
[0063] As an example using the table 700 shown in Figure 7, the cluster determination unit 220 sets the distance of the device region 20 at each location from the center to 0 if the center test result is a fail (for example, BIN number (1)) and the test result of the target device under test 30 is of the same type of fail (BIN number (1)). The cluster determination unit 220 sets the distance of the device region 20 at each location from the center to 2 if the center test result is a fail (for example, BIN number (1)) and the test result of the target device under test 30 is of a different type of fail (for example, BIN number (2)). The cluster determination unit 220 sets the distance of the device region 20 at each location from the center to 1 if the center test result is a pass (0) and the test result of the target device under test 30 is a pass (0). The cluster determination unit 220 determines the distance between the device region 20 at each location and the center if one of the test results (e.g., BIN number (1) or BIN number (2)) is a fail and the other is a pass (0). The cluster determination unit 220 may calculate the sum of the distances determined in this way for each device region 20 as the distance between the device region 20 and the center of the device 30 under test. The center determination unit 210 may similarly calculate the distance in the second center determination method.
[0064] The analysis device 140 stores both table 600 shown in Figure 6 and table 700 shown in Figure 7, and may switch between table 600 and table 700 according to the user's selection to calculate distances. This allows the user to efficiently change the clustering conditions in the analysis device 140.
[0065] Various embodiments of the present invention may be described with reference to flowcharts and block diagrams, where a block may represent (1) a stage in a process in which an operation is performed, or (2) a section of a device having the role of performing the operation. Specific stages and sections may be implemented by dedicated circuits, programmable circuits supplied with computer-readable instructions stored on a computer-readable medium, and / or processors supplied with computer-readable instructions stored on a computer-readable medium. Dedicated circuits may include digital and / or analog hardware circuits, and may include integrated circuits (ICs) and / or discrete circuits. Programmable circuits may include reconfigurable hardware circuits, including logic AND, logic OR, logic XOR, logic NAND, logic NOR, and other logic operations, memory elements such as flip-flops, registers, field-programmable gate arrays (FPGAs), programmable logic arrays (PLAs), etc.
[0066] Computer-readable media may include any tangible device capable of storing instructions to be executed by a suitable device, and as a result, computer-readable media having instructions stored therein will comprise a product containing instructions that can be executed to create means for performing operations specified in a flowchart or block diagram. Examples of computer-readable media may include electronic storage media, magnetic storage media, optical storage media, electromagnetic storage media, semiconductor storage media, etc. More specific examples of computer-readable media may include floppy disks (registered trademark), diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), electrically erasable programmable read-only memory (EEPROM), static random access memory (SRAM), compact disk read-only memory (CD-ROM), digital versatile disk (DVD), Blu-ray (registered trademark) disk, memory stick, integrated circuit card, etc.
[0067] Computer-readable instructions may include assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk®, Java®, C++, and conventional procedural programming languages such as the C programming language or similar programming languages.
[0068] Computer-readable instructions may be provided locally or via a wide area network (WAN) such as a local area network (LAN) or the Internet to the processor or programmable circuit of a programmable data processing device such as a general-purpose computer, a special-purpose computer, or another computer, and the computer-readable instructions may be executed to create means for performing operations specified in a flowchart or block diagram. Examples of processors include computer processors, processing units, microprocessors, digital signal processors, controllers, microcontrollers, etc.
[0069] Figure 8 shows an example of a computer 2200 in which multiple aspects of the present invention may be embodied in whole or in part. A program installed on the computer 2200 can cause the computer 2200 to function as an operation or one or more sections of an apparatus according to an embodiment of the present invention, or to execute such operation or one or more sections, and / or to cause the computer 2200 to execute a process or a stage of such process according to an embodiment of the present invention. Such a program may be executed by the CPU 2212 to cause the computer 2200 to perform a particular operation associated with some or all of the blocks in the flowcharts and block diagrams described herein.
[0070] The computer 2200 according to this embodiment includes a CPU 2212, RAM 2214, a graphics controller 2216, and a display device 2218, which are interconnected by a host controller 2210. The computer 2200 also includes input / output units such as a communication interface 2222, a hard disk drive 2224, a DVD-ROM drive 2226, and an IC card drive, which are connected to the host controller 2210 via an input / output controller 2220. The computer also includes legacy input / output units such as a ROM 2230 and a keyboard 2242, which are connected to the input / output controller 2220 via an input / output chip 2240.
[0071] The CPU 2212 operates according to programs stored in the ROM 2230 and RAM 2214, thereby controlling each unit. The graphics controller 2216 acquires image data generated by the CPU 2212 from a frame buffer provided in RAM 2214 or from itself, and displays the image data on the display device 2218.
[0072] The communication interface 2222 communicates with other electronic devices via a network. The hard disk drive 2224 stores programs and data used by the CPU 2212 in the computer 2200. The DVD-ROM drive 2226 reads programs or data from the DVD-ROM 2201 and provides them to the hard disk drive 2224 via the RAM 2214. The IC card drive reads programs and data from the IC card and / or writes programs and data to the IC card.
[0073] The ROM 2230 stores boot programs and / or programs that depend on the computer 2200's hardware, which are executed by the computer 2200 when activated. The input / output chip 2240 may also connect various input / output units to the input / output controller 2220 via parallel ports, serial ports, keyboard ports, mouse ports, etc.
[0074] The program is provided on a computer-readable medium such as a DVD-ROM 2201 or an IC card. The program is read from the computer-readable medium and installed on a hard disk drive 2224, RAM 2214, or ROM 2230, which are examples of computer-readable mediums, and executed by the CPU 2212. The information processing described within these programs is read by the computer 2200, resulting in coordination between the program and the various types of hardware resources described above. The apparatus or method may be configured to realize the manipulation or processing of information in accordance with the use of the computer 2200.
[0075] For example, when communication is performed between a computer 2200 and an external device, the CPU 2212 may execute a communication program loaded into the RAM 2214 and, based on the processing described in the communication program, instruct the communication interface 2222 to perform communication processing. Under the control of the CPU 2212, the communication interface 2222 reads transmission data stored in a transmission buffer processing area provided in a recording medium such as the RAM 2214, hard disk drive 2224, DVD-ROM 2201, or IC card, transmits the read transmission data to the network, or writes received data received from the network to a reception buffer processing area provided on the recording medium.
[0076] Furthermore, the CPU 2212 may read all or necessary parts of a file or database stored on an external recording medium such as a hard disk drive 2224, a DVD-ROM drive 2226 (DVD-ROM 2201), or an IC card into the RAM 2214, and perform various types of processing on the data in the RAM 2214. The CPU 2212 then writes the processed data back to the external recording medium.
[0077] Various types of information, such as various types of programs, data, tables, and databases, may be stored on the recording medium and subjected to information processing. The CPU 2212 may perform various types of processing on the data read from the RAM 2214, including various types of operations, information processing, conditional judgments, conditional branching, unconditional branching, information retrieval / replacement, etc., as described throughout this disclosure and specified by the program instruction sequence, and write the results back to the RAM 2214. The CPU 2212 may also retrieve information in files, databases, etc., within the recording medium. For example, if a plurality of entries having attribute values of a first attribute, each associated with an attribute value of a second attribute, are stored in the recording medium, the CPU 2212 may search among the plurality of entries for an entry that matches the condition for which the attribute value of the first attribute is specified, read the attribute value of the second attribute stored in that entry, and thereby obtain the attribute value of the second attribute associated with the first attribute that satisfies a predetermined condition.
[0078] The program or software module described above may be stored on or near computer 2200 on a computer-readable medium. Alternatively, a recording medium such as a hard disk or RAM provided within a server system connected to a dedicated communication network or the Internet can be used as a computer-readable medium, thereby providing the program to computer 2200 via the network.
[0079] Although the present invention has been described above using embodiments, the technical scope of the present invention is not limited to the scope described in the above embodiments. It will be apparent to those skilled in the art that various modifications or improvements can be made to the above embodiments. It will be clear from the claims that such modified or improved forms may also be included in the technical scope of the present invention.
[0080] It should be noted that the execution order of operations, procedures, steps, and stages in the devices, systems, programs, and methods shown in the claims, specifications, and drawings is not explicitly stated as "before," "prior to," etc., and that these can be performed in any order unless the output of a previous process is used in a later process. Even if the operation flow in the claims, specifications, and drawings is described using phrases such as "first," "next," etc. for convenience, this does not mean that it is mandatory to perform the operations in that order.
[0081] 10 Test System 20 Device Area 30 Device Under Test 100 Probe Device 110 Test Equipment 120 Test Head 130 Mainframe 140 Analysis Device 200 Result Acquisition Unit 210 Center Determination Unit 220 Cluster Determination Unit 230 Management Unit 240 Output Unit 400 Wafer 600 Table 700 Table 2200 Computer 2201 DVD-ROM 2210 Host Controller 2212 CPU 2214 RAM 2216 Graphics Controller 2218 Display Device 2220 Input / Output Controller 2222 Communication Interface 2224 Hard Disk Drive 2226 DVD-ROM Drive 2230 ROM 2240 Input / Output Chip 2242 Keyboard
Claims
1. An apparatus for clustering the test results of multiple devices under test, each having multiple device regions, into multiple clusters, comprising: a result acquisition unit that acquires the test results of each of the multiple devices under test; a center determination unit that determines a first center of the first cluster among the multiple clusters based on the mode of the test results for the device regions at corresponding locations in at least two of the multiple devices under test; and a cluster determination unit that determines which of the multiple devices under test are included in the first cluster with respect to the first center based on the distance between the test results of each of the multiple devices under test and the first center.
2. The apparatus according to claim 1, wherein the center determination unit determines the first center, which is set as the test result for the device region at the corresponding position, by using the mode of the test result.
3. The apparatus according to claim 1, wherein the center determination unit determines the first center for which a pass value has been set as a test result for a device region in which the frequency of the mode of the test result is less than a predetermined threshold.
4. The apparatus according to claim 3, wherein the center determination unit updates the test result of one randomly selected device under test from among the plurality of devices under test as the first center if the number of device regions for which a pass value has been set as the test result in the determined first center is equal to or greater than a predetermined threshold.
5. The apparatus according to claim 1, wherein the center determination unit randomly sets the number of at least two devices under test used to determine the first center.
6. The apparatus according to claim 1, wherein the cluster determination unit calculates the distance between each of the test results of the plurality of devices under test and the first center by comparing the test results of each of the plurality of devices under test and the first center with the device regions at corresponding locations.
7. The apparatus according to claim 1, wherein the test results and the first center include BIN numbers for each of the plurality of device regions.
8. The apparatus according to claim 1, wherein the center determination unit determines the second center of the second cluster among the plurality of clusters based on the distance between the first center determined and the respective test results of the plurality of devices under test.
9. The apparatus according to claim 8, wherein the center determination unit determines the third center of the third cluster among the plurality of clusters based on the mode of the test results for device regions at corresponding positions in at least two devices under test that are different from the at least two devices under test used to determine the first center.
10. The apparatus according to claim 1, wherein the center determination unit determines the first center using the test results of at least two devices under test that are consecutive in time series.
11. The apparatus according to claim 1, wherein the center determination unit updates the center of a cluster if the number of test results for the multiple devices under test included in one of the multiple clusters is less than a predetermined threshold.
12. The apparatus according to claim 1, wherein the cluster determination unit calculates the distance between the test results of the plurality of devices under test and the centers of the plurality of clusters, and clusters the test results of at least one of the plurality of devices under test into the cluster with the smallest distance and the cluster where the difference between the distance between the smallest cluster and the center is less than a predetermined threshold.
13. The apparatus according to claim 1, further comprising an output unit that performs multiple clustering operations on the test results of the multiple devices under test, and outputs the clustering results when the cluster determination unit determines the same center for a predetermined number of or more clustering operations among the multiple clustering operations.
14. The apparatus according to claim 1, wherein the result acquisition unit acquires the test results of each of the plurality of devices under test while shifting them over time, and the apparatus clusters the test results of each of the plurality of devices under test while shifting them over time.
15. A method for clustering the test results of multiple devices under test, each having multiple device regions, into multiple clusters, comprising: obtaining the test results for each of the multiple devices under test; determining a first center of the first cluster among the multiple clusters based on the mode of the test results for the device regions at corresponding locations in at least two of the multiple devices under test; and determining which of the multiple devices under test are included in the first cluster with respect to the first center based on the distance between the test results of each of the multiple devices under test and the first center.
16. A program for clustering the test results of multiple devices under test, each having multiple device regions, into multiple clusters, the program being executed by a computer, and causing the computer to function as: a result acquisition unit that acquires the test results of each of the multiple devices under test; a center determination unit that determines a first center of the multiple clusters based on the mode of the test results for the device regions at corresponding locations in at least two of the multiple devices under test; and a cluster determination unit that determines which of the multiple devices under test are included in the first cluster with respect to the first center, based on the distance between the test results of each of the multiple devices under test and the first center.