The invention relates to semiconductor devices and, more particularly, to systems and methods for product reliability estimation.
Power consumption of integrated circuit devices (e.g., complementary metal oxide semiconductors (CMOS)) consists of two components: dynamic power (i.e., active power) and leakage power (i.e., static power). Dynamic power is the power required to switch the state of a device (i.e., to change the binary state of one or more device components from high to low or low to high). The dynamic power is a function of capacitance, voltage, and switching frequency (e.g., P=CVnF, where P is the dynamic power, C is an effective switch capacitance, V is a supply voltage, n is a coefficient greater than 2, and F is the switching frequency). Leakage power is the power consumed by a device when it is powered but not switching. In an integrated circuit device composed primarily of metal oxide semiconductor field effect transistors, the leakage power is an exponential function of the supply voltage. As the dimensions in a technology decrease, the static power of devices increases, and as a result, the overall power consumption also increases. Thus, in fabrication processes, it is important to estimate the power of integrated circuits.
Reliability estimates can be calculated for a given population of products over a lifetime of the products, e.g., integrated circuits. Current product reliability estimations of integrated circuits are based on one system operating condition for all parts, e.g., worst case conditions or nominal conditions. However, system use conditions are different for fast versus slow products when using selective voltage binning (SVB). More specifically, in selective voltage binning (SVB) systems, a lower operating voltage is required for faster parts and a higher operating voltage is required for slower parts. As a result, product reliability estimations do not accurately reflect the reliability of all of the products because the products operate at different operating conditions, e.g., different voltages.
Accordingly, there exists a need in the art to overcome the deficiencies and limitations described hereinabove.
In a first aspect of the invention, a method implemented in a computer infrastructure comprises separating products into different process window segments. The method also comprises calculating a product reliability estimation for each process window segment. The method further comprises calculating a system product reliability estimation. At least one of the separating, calculating the product reliability estimation, and calculating the system product reliability estimation is performed using a processor.
In another aspect of the invention, a computer program product comprising a computer readable storage memory device having readable program code embodied in the computer readable storage memory device is provided. The computer readable program, when executed on a computing device, is operable to cause the computing device to divide a manufacturing process window into process window segments based on an applied planned manufacturing distribution. The computer readable program also causes the computing device to identify a system use condition for each process window segment and calculate an expected amount of product in each of the process window segments, wherein the expected amount is a distribution percentage. The computer readable program further causes the computing device to calculate a product reliability estimation for each process window segment based on the system use condition of each respective process window segment and calculate system product reliability estimation based on the product reliability estimation for each process window segment.
In yet another aspect of the invention, a computer system for calculating a system product reliability estimation comprises a CPU, a computer readable memory and a tangible computer readable storage media. The computer system comprises first program instructions to divide a manufacturing process window into process window segments based on an applied planned manufacturing distribution. The computer system also includes second program instructions to identify a system use condition for each process window segment and third program instructions to calculate an expected amount of product in each of the process window segments, wherein the expected amount is a distribution percentage. The computer system further includes fourth program instructions to calculate a product reliability estimation for each process window segment based on the system use conditions of each respective process window segment, and fifth program instructions to calculate the system product reliability estimation. The first, second, third, fourth, and fifth program instructions are stored on the computer readable storage media for execution by the CPU via the computer readable memory.
The present invention is described in the detailed description which follows, in reference to the noted plurality of drawings by way of non-limiting examples of exemplary embodiments of the present invention.
The invention relates to semiconductor devices and, more particularly, to systems and methods for product reliability estimation. The present invention advantageously provides for accurate product reliability estimation. More specifically, by using a distribution method, the present invention can separate products into different process window segments and accurately predict a number of products in each process window segment (also referred to herein as a bin). Moreover, the present invention can identify a system use condition for each process window segment and calculate product reliability for each process window segment. In this way, the present invention can use “by bin” system voltages, which can compensate for variability in product reliability with minimal impact on an overall system.
More specifically, according to aspects of the present invention, a manufacturing process window can be divided into pre-identified process window segments. A planned manufacturing distribution, e.g., a Gaussian distribution, is applied to the manufacturing process window and an expected amount of product in each distribution process window segment, e.g., a distribution percentage, can be calculated. In embodiments of the present invention, the Gaussian distribution curve may be divided into a number of process window segments, and a subset of the process window segments may be screened to determine a redistributed Gaussian distribution. Moreover, a system product reliability can be calculated according to aspects of the present invention. More specifically, the distribution percentage for each process window segment is multiplied by the product reliability for each process window segment, and the system product reliability is calculated by summing the product reliability for each process window segment.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium (also referred to as a computer readable storage memory device). A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
The computing device 14 also includes a processor 20, memory 22A, an I/O interface 24, and a bus 26. The memory 22A can include local memory employed during actual execution of program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution. In addition, the computing device includes random access memory (RAM), a read-only memory (ROM), and an operating system (O/S).
The computing device 14 is in communication with an external I/O device/resource 28 and a storage system 22B. For example, the I/O device 28 can comprise any device that enables an individual to interact with the computing device 14 (e.g., user interface) or any device that enables the computing device 14 to communicate with one or more other computing devices using any type of communications link. The external I/O device/resource 28 may be for example, a handheld device, PDA, handset, keyboard etc.
In general, the processor 20 executes computer program code (e.g., program control 44), which can be stored in the memory 22A and/or storage system 22B. Moreover, in accordance with aspects of the invention, the program control 44 controls an estimation manager 50 that is configured to perform the processes described herein. For example, the estimation manager 50 can separate manufacturing process windows into pre-identified process window segments and apply planned manufacturing distributions to calculate an expected amount of product in each process window segment, e.g., a distribution percentage. Furthermore, the estimation manager 50 can identify a system use condition, e.g., a voltage, temperature, or both, for each process window segment and calculate a product reliability for each process window segment based on the system use condition. The estimation manager 50 can also calculate a total SVB adjusted reliability based on the reliability for each process window segment.
The estimation manager 50 can be implemented as one or more program code in the program control 44 stored in memory 22A as separate or combined modules. Additionally, the estimation manager 50 may be implemented as separate dedicated processors or a single or several processors to provide the function of these tools. While executing the computer program code, the processor 20 can read and/or write data to/from memory 22A, storage system 22B, and/or I/O interface 24. The program code executes the processes of the invention. The bus 26 provides a communications link between each of the components in the computing device 14.
The computing device 14 can comprise any general purpose computing article of manufacture capable of executing computer program code installed thereon (e.g., a personal computer, server, etc.). However, it is understood that the computing device 14 is only representative of various possible equivalent-computing devices that may perform the processes described herein. To this extent, in embodiments, the functionality provided by the computing device 14 can be implemented by a computing article of manufacture that includes any combination of general and/or specific purpose hardware and/or computer program code. In each embodiment, the program code and hardware can be created using standard programming and engineering techniques, respectively.
Similarly, the computing infrastructure 12 is only illustrative of various types of computer infrastructures for implementing the invention. For example, in embodiments, the server 12 comprises two or more computing devices (e.g., a server cluster) that communicate over any type of communications link, such as a network, a shared memory, or the like, to perform the process described herein. Further, while performing the processes described herein, one or more computing devices on the server 12 can communicate with one or more other computing devices external to the server 12 using any type of communications link. The communications link can comprise any combination of wired and/or wireless links; any combination of one or more types of networks (e.g., the Internet, a wide area network, a local area network, a virtual private network, etc.); and/or utilize any combination of transmission techniques and protocols.
Each of the voltage bins is associated with a corresponding supply voltage determined to improve their respective performance and/or power consumption. That is, slow voltage bins are operated at progressively higher supply voltages (i.e., higher VDD) to improve their device delay; whereas, faster bins are operated at progressively lower supply voltages (i.e., lower VDD) to reduce their power consumption. Moreover, in embodiments, these bins can also be used to calculate an adjusted product reliability estimate. Notably,
λ=χ2(2n+2,1−α)*109/(2*ss*t*AF) (1)
Where λ is the failure rate in FITs (failures per billion unit-hours), χ2(2n+2, 1−a)/2 is an upper confidence value for “n” failures and an upper confidence limit, 2n+2 is a degrees of freedom, and 1− is a probability, which is expressed as a decimal value. In addition, ss is a sample size of a circuit, t is a test duration in hours, and AF is a total acceleration factor related to life test conditions, e.g., a junction temperature AFT, voltage AFV, etc., of assumed field conditions, i.e., AF=AFT+AFV+ . . . . The χ2 (chi-squared) value for 2n+2 degrees of freedom and the 1−α a probability can be obtained from a table or calculated using a chi-squared inverse function of a mathematical modeling tool. To better understand the concept of confidence levels, assume that a life test on a 100 part sample from a certain product population had one failure and a desired 60% confidence level. The chi-squared value corresponding to one failure at 60% confidence is 2.02. This means that one has a 60% confidence that a “true” value of a population's defect rate is between zero (or a very small value) and 2.02%.
Reliability failure rates for logic monitors are reported in FIT per million circuits (xx FIT/M), where xx is the failures in time expressed in parts per million (ppm) per thousand power-on hours (KPOH) and M is one million circuits. This value is determined by dividing the failure rate for the part used to perform the monitor by the circuit count in that part.
Product reliability data is typically composed of several different failure mechanisms that can contribute to failures differently as a function of voltage and temperature. When projecting reliability performance at actual use conditions compared to accelerated test data, contribution of individual defect mechanisms with unique voltage and temperature kinetics behavior must be reflected in product failure-rate projections. This is particularly important when the accelerated stress failure mix includes mechanisms with relatively low acceleration, such as resistive failures. In the absence of such mechanisms, it is common practice to use voltage and temperature acceleration factors that combine all mechanisms into a composite model. Temperature acceleration for semiconductor failure mechanisms is usually determined by the Arrhenius equation as should be understood by those of ordinary skill in the art and shown in equation 2.
AF
T=exp[(−Ea/k)*(1/Tu−1/Ts) (2)
Where Ea is an activation energy in eV, k is Boltzmann's constant (8.62×10−5 eV/K), Tu is a use temperature in Kelvin, and Ts is a stress temperature in Kelvin. For modeling evaluations conducted during product qualifications, voltage acceleration is described by equation 3.
AFv=exp[γ*(Vs−Vu)] (3)
Where γ is a voltage acceleration term in 1/V, Vs is a stress voltage in volts, and Vu is a use voltage in volts.
For example, as shown in Table 2, a product with an operating voltage Vdd of 0.970V has 15,503 fails at 75,000 Power on Hours (POH), a product with an operating voltage of 0.897V has 13,496 fails at 75,000 POH, and a product with an operating voltage of 0.846V has 12,437 fails at 75,000 POH. Thus, as shown in
f(x)=(e−(x−μ)
Although the distribution of products is determined using Gaussian distribution, it is contemplated that alternative distribution methods are also contemplated by the present invention. For example, a histogram of a normal probability curve can be visually analyzed to look for a symmetrical, bell-shaped distribution with no outliers. For larger samples, the histogram can resemble a normal distribution.
Alternatively, a normal probability plot, e.g., a Quantile-Quantile plot, compares sample data against expected values for a normal distribution with a mean and variance of the sample data. The resulting plotted values can be well fitted by a straight line as indicated by a correlation for a line fitted to the plot. In embodiments, statistical tests for a goodness of a line can be used to determine if the correlation is significant and thus suggest agreement with the distribution being normal. Moreover, statistical tools include functions which can be used to produce these plots, fit a line, and determine if the correlation indicates a good fit. In still further, embodiments, other statistical goodness of fit tests can be used to determine that a sample of data is drawn from a normal probability distribution. The appropriate usage of these tests varies for different situations and the tests vary in effectiveness based on the sample size. These tests include, but are not limited to, chi-squared tests, the Kolmogorov-Smirnov test, the Lilliefors test, and the Shapiro-Wilk test, all of which are known to those of ordinary skill in the art such that further explanation is not required.
In embodiments, the graph of the Gaussian distribution curve 400 is divided into predefined process window segments. In this way, a percentage of products in each process window segment can be determined using the Gaussian distribution curve 400. For example, as shown in Table 3, the Gaussian distribution curve 400 can be divided into 16 process window segments and a percentage of each product can be determined for each process window segment. Although Table 3 shows the Gaussian distribution curve 400 divided into 16 bins, the Gaussian distribution curve may be divided into any number of bins because the Gaussian distribution curve 400 is infinitely divisible as should be understood by those of ordinary skill in the art.
100%−(% in Screened Bin)=S(Shipped Distribution) (5);
100%/S=Rm(ratio multiplier) (6); and
Update expected value based=Bin value×Rm (7).
Accordingly, the percentage of products in the remaining process window segments can be updated by multiplying the percentage of products in the remaining process window segments by 1.291. For example, as shown in
Furthermore, the invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. The software and/or computer program product can be implemented in the environment of
At step 720, the process further includes classifying a product based on a voltage bin assignment of the product. The process also includes calculating a product reliability estimation for each bin, at step 725. In embodiments, the product reliability estimation for each bin is calculated using equation 1. The process further includes identifying the distribution percentage for each process window segment, at step 730. More specifically, as discussed herein, the distribution for each process window segment may be based on a Gaussian distribution curve, which can be divided into any number of process window segments. Alternatively, the Gaussian distribution curve may be divided into a number of process window segments, and a subset of the process window segments may be screened to determine a redistributed Gaussian distribution. At step 735, a system product reliability is calculated. More specifically, the distribution percentage for each process window segment is multiplied by the product reliability calculated at step 725 to determine a bin product reliability for each process window segment, and the SVB product reliability is calculated by summing the product reliability for each process window segment. At step 740, the process ends.
The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.