This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2011-061647, filed on Mar. 18, 2011, the entire contents of which are incorporated herein by reference.
This technique relates to a technique for supporting failure diagnosis of a semiconductor device.
The semiconductor device such as Large Scale Integrated (LSI) circuits is tested at the shipping after the design and manufacturing. When any failure is detected at the shipping test and in the market, a failure analysis using a logical simulation or failure dictionary is carried out to extract failure candidates. Based on the failure candidates, failure factors are narrowed by the volume diagnosis in which the statistical analysis is carried out. Then, a failure candidate associated with the narrowed failure factors is selected to determine whether or not the selected failure candidate actually corresponds to a failure on the semiconductor device by a physical analysis using the electron microscope or the like, and a failure cause is identified. The failure cause is feedback to the design of the semiconductor device and/or manufacturing procedure, and any change is provided to decrease the number of failures detected at the shipping test and the like.
The failure diagnosis is a technique to presume a failure location inside of the semiconductor device for which a failure is detected by the shipping test or the like after the manufacturing. Recently, a method is proposed to further narrow the failure factors and/or to presume the failure location by using statistical analysis in the volume diagnosis.
On the other hand, the cost of the physical analysis increases along with sophisticating the manufacturing processes and enlarging the scale of the circuit. In order to decrease the cost of the physical analysis, and early identify the failure cause, it is preferable that the failure candidates to be analysis by the physical analysis are appropriately narrowed in the volume diagnosis.
Conventionally, a method of the volume diagnosis is proposed, where the statistical analysis is carried out based on failure reports of the semiconductor device, which are inputted from the failure analysis tool to output a feature that is a failure factor according to contribution degrees to the failure. The failure report includes information concerning nets or input/output pins as the failure candidates, and may further include a type of failure, such as open failure or bridge failure. Typically, in the method of the volume diagnosis, a list of the features as the candidates of the failure factors is inputted or embodied in a diagnosis apparatus in advance. Here, the features that are the failure factors include layout information such as wiring length, the number of via holes, and wiring density, wiring pattern, which is a factor of the open failure or bridge failure, and the like. This proposed method of the volume diagnosis pays attention to one certain type of feature, and uniformly classifies the circuit information such as netlists to plural groups from the top by sorting in descending order of the feature value of the feature to which the attention is paid. For each group, an expected value of the number of failures and measured value of the number of failures are respectively calculated. The expected value is calculated using a model expression based on the feature value of the feature to which the attention is paid, and the measured value is calculated by counting the failure candidates included in each group from the failure list. In addition, the contribution degree (or importance degree) of the one certain type of feature, to which the attention is paid, to the failure is calculated based on the similarity of the distributions of the expected value and measured value. By repeating the aforementioned processing for all types of features to calculate the contribution degrees of the respective types of features to the failure, the feature of the type whose contribution degree is high is identified as the failure factor.
However, when there is not sufficient amount of failure data with respect to the number of features, there is a problem that the validity of the aforementioned method is deteriorated. There is no effective countermeasure for such a problem in the aforementioned technique.
A method relating to this technique includes: (A) calculating a first expected value of the number of failures for each combination of a feature of a plurality of features that are failure factors and a first group of a plurality of first groups regarding classification elements of first semiconductor devices for which a failure is analyzed and second semiconductors on which a same circuit as the first semiconductors is implemented, from first data for each of the plurality of first groups and a predetermined expression, wherein the first data includes the number of actual failures occurred in the first group and first feature values of the plurality of features; and (B) calculating, for each of the plurality of features, a first indicator value representing similarity between a distribution of the first expected values over the plurality of first groups and a distribution of the numbers of actual failures over the plurality of first groups, from the first expected value for each combination of the feature and the first group and the number of actual failures for each of the plurality of first groups.
The object and advantages of the embodiment will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the embodiment, as claimed.
The input unit 101 stores data inputted from a user or the like into the first data storage unit 102. Incidentally, instructions from the user or the like may be outputted from the input unit 101 to other processing units. In addition, the learning data generator 103 generates learning data from data stored in the first data storage unit 102, and stored in the first data storage unit 102. The usefulness degree calculator 104 carries out a processing using data stored in the first data storage unit 102, and stores the processing results into the third data storage unit 106. Incidentally, the usefulness degree calculator 104 stores the data during the processing into the second data storage unit 105. The model expression generator 107 carries out a processing by using data stored in the third data storage unit 106 and the first data storage unit 102, into the fourth data storage unit 108. The importance degree processing unit 109 carries out a processing using data stored in the fourth data storage unit 108 and the first data storage unit 102, into the fifth data storage unit 110. In response to instructions, for example, from the user, the output processing unit 111 outputs data stored in the second data storage unit 105, third data storage unit 106, fourth data storage unit 108 and fifth data storage unit 110, to the output device 112.
Next, an example of data that is stored in the first data storage unit 102 through the input unit 101 by inputs from the user will be illustrated in
Furthermore, past failure reports are also stored in the first data storage unit 102. As illustrated in
Furthermore, in this embodiment, as illustrated in
Moreover,
Furthermore, data of the netlist, layout data, displacement data of the die on wafer and other data are stored in the first data storage unit 102.
Next, processing contents of the failure diagnosis support apparatus 100 will be explained by using
First, the learning data generator 103 of the failure diagnosis support apparatus 100 carries out a learning data preparation processing (
The learning data generator 103 extracts failure report data to be considered among failure report data stored in the first data storage unit 102 (
The processing of the step S311 is a processing as illustrated in
For example, when the specific feature is the number of unit areas whose wiring density in M1 layer is 60% or more, the number of unit areas whose wiring density is 60% or more is counted at the step S323 among unit areas through which the wiring of the net Ni passing through the M1 layer passes. Then, for example, data as illustrated in
Returning to the explanation of the processing of
Furthermore, the learning data generator 103 calculates feature values for the other features for each group, and stores the calculated values into the first data storage unit 102 (step S315). For each feature other than the specific feature among the features that are failure factors and registered in the failure factor list, the feature value is calculated in group. For example, in case of the feature that is the number of unit areas whose ratio of the single vias among the vias in V1 layer is 80% or more, the number of unit areas whose ratio of the single vias among the unit areas through which the wirings of the net Ni passing through the layer V1 pass through is counted from the layout data, and the counted numbers are totaled for each group.
Then, the learning data generator 103 counts the number of actual failures for each group from the failure reports to be processed, and stores the counted number into the first data storage unit 102 (step S317). For example, by counting the number of occurrences for each net ID and totaling the number of occurrences for each group, the number of actual failures is calculated.
By carrying out such a processing, data as illustrated in
Returning to the explanation of the processing of
After that, the learning data generator 103 carries out a learning data generation processing for the failure report data for the common circuit (step S17). Basically, the same processing as the step S13 is carried out. As illustrated in
Furthermore, the learning data generator 103 extracts, from the first data storage unit 102, the failure report data to be considered and the failure report data for the failed dies for which the same process as the process used when the failed die included in the failure report data to be considered was manufactured is used, as the failure report data for the common process (step S19). For example, based on process IDs included in the failure report data to be considered as illustrated in
After that, the learning data generator 103 carries out a learning data generation processing for the failure report data for the common process (step S21). The failure report data for the common process includes the failure report data for different semiconductor devices. Therefore, a processing flow as illustrated in
The learning data generator 103 groups the failed dies based on the coordinates of the failed dies on the wafer, which are included in the failure report data for the common process (
Then, for example, data as illustrated in
After that, the learning data generator 103 counts the number of actual failures for each group, and stores the counted numbers into the first data storage unit 102 (step S333). In the example of
Then, the learning data generator 103 calculates, for each group, the feature value of each feature, and stores the feature values with the number of actual failures into the first data storage unit 102 (step S335). Because a failure candidate net ID is identified from the ID of the failed die. Therefore, the feature value of each feature is calculated as described above, and the feature values for the same group are totaled.
The learning data generated by such a processing (hereinafter, referred to learning data for the common process) has the same format to that illustrated in
In addition, in this embodiment, as illustrated in
Thus, even when there is only a little amount of the failure report data to be considered, the amount of the failure report data can be increased in view of the same circuit and the same process.
Returning to the explanation of the processing in
First, the usefulness degree calculator 104 carries out a usefulness degree processing for the learning data for the common circuit (
In addition, the usefulness degree calculator 104 carries out the usefulness degree processing for the learning data for the common process (step S33). The processing of this step is the processing that will be explained by using
Next, the usefulness degree processing will be explained by using
First, the usefulness degree calculator 104 identifies one unprocessed feature k in the learning data to be processed, which is stored in the first data storage unit 102 (
One record in the learning data indicates one group, and the feature values fi to fN are included for each feature. Therefore, the feature value of feature k (1≦k≦N) for the group Si is represented by fik. In addition, a dominator of a first term in the expression (1) represents a total sum of the feature values fjk of the features k for all groups j. Furthermore, Call represents the total numbers of actual failures for the learning data to be processed. Moreover, Crandom represents the number of failures, which randomly occur, and is a constant, here. In addition, m represents the number of groups.
For example, data as illustrated in
In this embodiment, paying attention to the feature, the expected value of the number of failures is calculated for each group. For example, graphs as illustrated in
Then, the usefulness degree calculator 104 determines whether or not there is an unprocessed group (step S47). When there is an unprocessed group, the processing returns to the step S43. On the other hand, when there is no unprocessed group, the usefulness degree calculator 104 calculates a usefulness degree for the identified feature k by using data (
In this embodiment, paying attention to a certain feature k, a usefulness degree is introduced as one of indicators representing similarity between the distribution of the expected value of the number of failures over the groups and the distribution of the number of actual failures over the groups. For example, when comparing the case of
More specifically, the usefulness degree Ak is calculated for the feature k by using the following expression, for example.
ti represents the number of actual failures for the group Si. This expression (2) represents a squared sum of relative errors between the number of actual failures and the expected value of the number of failures. However, the greater the difference between the distributions is, the greater the usefulness degree Ak calculated by this expression (2) is. Therefore, a reciprocal of the expression (2) may be used as the usefulness degree for example.
After that, the usefulness degree calculator 104 determines whether or not there is an unprocessed feature in the learning data to be processed (step S53). When there is an unprocessed feature, the processing returns to the step S41. On the other hand, when there is no unprocessed feature, the processing returns to the calling-source processing.
By carrying out the aforementioned processing, data as illustrated in
Although such usefulness degrees are also used for the processing described below, and may be used as a modification indicator of the design or manufacture.
Returning to the explanation of the processing of
First, the model expression generator 107 identifies subordinate features based on the usefulness degree in case of the common circuit, which is stored in the third data storage unit 106, and sets weight βi for each feature i (
Moreover, the model expression generator 107 identifies the subordinate features based on the usefulness degree in case of the common process, which is stored in the third data storage unit 106, and sets weights βi for each feature i (step S63). A method for identifying the subordinate features is the same as that at the step S61. However, as for the weight βi, βi=0 is set for the subordinate features. βi=1 is set for the other features.
For example, data as illustrated in
Next, the model expression generator 107 carries out the regression analysis in case of the common circuit by using the learning data for the failure report data to be considered, which is stored in the first data storage unit 102, to calculate a goodness-of-fit index ra of the regression analysis, and stores the results of the regression analysis and the goodness-of-fit index of the regression analysis into the fourth data storage unit 108 (step S65).
In this embodiment, as indicated in the following expression (3), the failure occurrence probability p is represented by a total sum of products of the feature value fi and coefficient αi of each feature i. However, as described above, because each feature i is weighted, the coefficient αi is represented by a product of αi′ and weight αi, and the coefficient αi′ is calculated here. As for βi, data in the column of the common circuit in the data illustrated in
The regression analysis itself is a well-known method. Therefore, further explanation is omitted. Furthermore, as the goodness-of-fit index, a coefficient of determination is used, for example. The coefficient of determination is represented as follows:
Here, ti is a failure occurrence ratio based on the number of actual failures in the learning data, ta is an average value of the failure occurrence ratios based on the number of actual failures, and pi represents a calculation value of the failure occurrence probability by the regression expression. The coefficient of determination is well-known, and further explanation is omitted.
Moreover, because the number of actual failures is registered in the learning data, the actual failure occurrence probability p for each group is obtained by dividing the number of actual failures by the total sum N of the numbers of actual failures in the learning data.
Furthermore, the regression analysis is carried out by using the learning data for the failure report data to be considered in order to avoid a situation that a unique tendency to the past failure report data becomes noises when generating the failure occurrence probability prediction expression.
Moreover, the model expression generator 107 carries out the regression analysis in case of the common process by using the learning data for the failure report data to be considered, which is stored in the first data storage unit 102, to calculate a goodness-of-fit index rb of the regression analysis, and stores the result of the regression analysis and the goodness-of-fit index of the regression analysis into the fourth data storage unit 108 (step S67). The contents of the calculation itself are the same as those at the step S65. As for βi, data in the column of the common process in the data illustrated in
Furthermore, the model expression generator 107 carries out the regression analysis for consideration target by using the learning data for the failure report data to be considered, which is stored in the first data storage unit 102, to calculate the goodness-of-fit index rc of the regression analysis, and stores the result of the regression analysis and the goodness-of-fit index of the regression analysis into the fourth data storage unit 108 (step S69). The contents of the calculation itself are the same as those at the step S65. However, at this step, βi=1. Therefore, αi′=αi.
In this embodiment, the regression analysis for the consideration target is carried out in order to void the overlook of the true failure factor in the failure report data. Namely, this is carried out to reconsider the feature for which the little weight is set or which is not considered in the failure occurrence probability prediction expression in case of the common circuit and in case of the common process.
When the processing up to this stage is carried out, data is embed into a table as illustrated in
Then, the model expression generator 107 selects a failure occurrence probability prediction expression whose goodness-of-fit index is the maximum among the goodness-of-fit indexes ra, rb and rc (step S71). The most suitable failure occurrence probability prediction expression is selected. For example, as illustrated in
By carrying out such a processing, it becomes possible to generate the failure occurrence probability prediction expressions for three cases, and to select a failure occurrence probability prediction expression that is most suitable for the learning data by the failure report data to be considered.
Returning to the explanation of the processing of
The importance degree processing unit 109 identifies an unprocessed group Si in the learning data by the failure report data to be considered, which is stored in the first data storage unit 102 (
Then, the importance degree processing unit 109 determines whether or not there is an unprocessed group (step S85). When there is an unprocessed group, the processing returns to the step S81. On the other hand, when there is no unprocessed group, the importance degree processing unit 109 sorts the groups in descending order of the prediction value of the failure occurrence probability, and selects the top q groups (q is a predetermined integer) (step S87). Hence, groups that have large contribution to the failure can be extracted. Then, the processing shifts to a processing of
Shifting to the explanation of the processing of
Specifically, the importance degree is calculated by an expression as follows:
The expression (5) represents a total value of values of terms for a feature k in the expression (3) for the q selected groups.
By carrying out such a processing, data as illustrated in
After that, the importance degree processing unit 109 determines whether or not there is an unprocessed feature (step S93). When there is an unprocessed feature, the processing returns to the step S89. On the other hand, when there is no unprocessed feature, the importance degree processing unit 109 sorts the feature in descending order of the importance degree, and stores the sorting result into the fifth data storage unit 110 (step S95). By this processing, it becomes possible to obtain the ranking data representing which feature is important. Then, the processing returns to the calling-source processing.
Returning to the explanation of the processing of
By carrying out the aforementioned processing, it is expected that the user having no knowledge concerning the failure factors can improve the accuracy of the failure factor presumption even in case that there is a little amount of the failure report data.
Although the embodiment of this technique is explained, this technique is not limited to the embodiment. For example, the functional block diagram of
Furthermore, as long as the processing results do not change, the order of the steps may be exchanged, and the steps may be executed in parallel. In addition, the processing may be omitted after data to be obtained is calculated.
Moreover, the expression to calculate the usefulness degree, the expression to calculate the goodness-of-fit index and other expressions may be transformed according to the objects.
In addition, the aforementioned failure diagnosis support apparatus 100 is a computer device as shown in
The aforementioned embodiment is summarized as follows:
A failure diagnosis support method relating to the embodiment includes: (A) calculating a first expected value of the number of failures for each combination of a feature of a plurality of features that are failure factors and a first group of a plurality of first groups regarding classification elements of first semiconductor devices for which a failure is analyzed and second semiconductors on which a same circuit as the first semiconductors is implemented, from first data for each of the plurality of first groups and a predetermined expression, wherein the first data includes the number of actual failures occurred in the first group and first feature values of the plurality of features, and the first data is stored in a first data storage unit, and the calculated first expected value is stored in a second data storage unit; and (B) calculating, for each of the plurality of features, a first indicator value representing similarity between a distribution of the first expected values over the plurality of first groups and a distribution of the numbers of actual failures over the plurality of first groups, from the first expected value for each combination of the feature and the first group and the number of actual failures for each of the plurality of first groups, and storing the calculated first indicator value into a third data storage unit.
Even in a case where there is a little amount of data for the semiconductor device to be analyzed, data for other semiconductor devices having the same circuit as the semiconductor to be analyzed in addition to the semiconductor device to be analyzed is utilized to calculate the first indicator value (e.g. usefulness degree) that can be utilize for modifications of the design and manufacture. Moreover, the ranking of the features can be carried out by using the first indicator values. Furthermore, this is utilized for the generation of an appropriate failure occurrence probability expression. Incidentally, the classification element may be a circuit type.
In addition, the aforementioned method may further include: (C) calculating a second expected value of the number of failures for each combination of the feature and a second group of a plurality of second groups regarding classification elements of the first semiconductor devices and third semiconductors manufactured by using a same process as the first semiconductors, from second data for each of the plurality of second groups and the predetermined expression, wherein the second data includes the number of actual failures occurred in the second group and second feature values of the plurality of features, the second data is stored in the first data storage unit, and the second expected value is stored in the second data storage unit; and (D) calculating, for each of the plurality of features, a second indicator value representing similarity between a distribution of the second expected values over the plurality of second groups and a distribution of the numbers of actual failures over the plurality of second groups, from the second expected value for each combination of the feature and the second group and the number of actual failures for each of the plurality of second groups, and storing the second indicator value into the third data storage unit.
Thus, even in a case where there is a little amount of data for the semiconductor device to be analyzed, data for the semiconductor device manufactured by the same manufacturing process in addition to the semiconductor device to be analyzed is utilized to calculate the second indicator value (e.g. usefulness degree) that can be utilized for the modification of the design and/or manufacture. By using the second indicator value, the ranking of the feature can be carried out. Furthermore, the second indicator value may be utilized for the generation of an appropriate failure occurrence probability prediction expression. Incidentally, the classification element may be a position of a die on a wafer.
The aforementioned method may further include: (E) identifying first features for which the first indicator values satisfying a predetermined first condition are calculated; (F) calculating a first regression expression for calculating a failure occurrence probability using the plurality of features as variables, by carrying out a regression analysis for third data for each third group of a plurality of third groups regarding classification elements of the first semiconductors, after setting 1 to weights of the identified first features and setting a value less than 1 to weights of features other than the identified first features, wherein the third data includes the number of actual failures occurred in the third group and third feature values of the plurality of features, the third data is stored in the first data storage unit and the first regression expression is stored in a fourth data storage unit; (G) identifying second features for which the second indicator values satisfying a predetermined second condition are calculated; (H) calculating a second regression expression for calculating a failure occurrence probability using the plurality of features as variables, by carrying out a regression analysis for the third data, after setting 1 to weights of the identified second features and setting 0 to weights of features other than the identified second features, and storing the second regression expression into the fourth data storage unit; (I) calculating a third regression expression for calculating a failure occurrence probability using the plurality of features as variables, by carrying out a regression analysis for the third data, after setting 1 to weights of the plurality of features, and storing the third regression expression into the fourth data storage unit; and (J) identifying an regression expression whose goodness-of-fit index for the third data is the greatest from among the first regression expression, the second regression expression and the third regression expression.
Accordingly, an appropriate model expression for calculating the failure occurrence probability can be obtained. Namely, in order to prevent from the leakage of the features to be considered, the normal regression analysis is also carried out to evaluate the features by the goodness-of-fit index. In addition, the first indicator value and second indicator value are utilized to set appropriate weights for the features. Namely, when the first indicator value is not so good (e.g. the goodness-of-fit between the distributions is low), the term of the regression expression for such a feature is adopted but its weight value is lowered in order to lower the influence to the first regression expression. In addition, when the second indicator value is not so good, 0 is set to the weight values not to adopt the term of the regression expression for such a feature. Then, the influence of such a feature is excluded. This is because the similarity between the semiconductor device to be analyzed and the semiconductor devices having the same circuit is higher than that with the semiconductor devices manufactured by the same process. In addition, in this processing, the third data is used for the regression analysis. This is because the influence due to the bias or the like of the failure data used for calculating the first and second indicator values is suppressed.
Furthermore, the aforementioned method may further include: (K) calculating a prediction value of the failure occurrence probability for each of the plurality of third groups according to the identified regression expression; identifying a top N third groups in descending order of the prediction value, wherein the N is an integer; calculating, for each of the plurality of features, a total sum of values of a term of the feature in the identified regression expression by using data of the top N third groups; and (L) sorting the plurality of features in descending order of the calculated total sum. Thus, the ranking of the features can be obtained.
Incidentally, it is possible to create a program causing a computer to execute the aforementioned processing, and such a program is stored in a computer readable storage medium or storage device such as a flexible disk, CD-ROM, DVD-ROM, magneto-optic disk, a semiconductor memory, and hard disk. In addition, the intermediate processing result is temporarily stored in a storage device such as a main memory or the like.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present inventions have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2011-061647 | Mar 2011 | JP | national |