Abstract:
A method for detecting breakdown in a dielectric layer. The method includes applying a signal to the dielectric layer, measuring a plurality of sets of readings having values, which are in relation to the signal, searching and identifying outlier readings in each of the sets, the outlier readings being defined by the fact that they have values which are significantly higher or lower than the majority of the values of the set, selecting from each of the sets, one reading which is not one of the outlier readings, and comparing the value of the one selected reading to a reference value, so that the exceeding of the value leads to the conclusion that a predefined probability is present for having a breakdown state in the layer.

Description:
REFERENCE TO RELATED APPLICATION 
     This application claims priority benefits to U.S. provisional application Ser. No. 60/287,028, filed on Apr. 27, 2001, entitled “Accurate and Robust Noise-Based Trigger Algorithm for Soft Breakdown Detection in Ultra Thin Oxides.” This application incorporates by reference U.S. provisional application Ser. No. 60/287,028 in its entirety. 
    
    
     FIELD OF THE INVENTION 
     Oxide breakdown is one of the most threatening failure mechanisms in integrated circuits. As the oxide thickness is decreased in the sub-5 nm range, the breakdown definition itself is no longer clear and its detection becomes problematic. The present invention is related to methods of detecting the breakdown in dielectric layers, in particular oxide layers of such low thickness. 
     STATE OF THE ART 
     The following documents belonging to the state of the art are referred to in this section: 
     [1] M. Depas, T. Nigam et al., “Soft breakdown of ultra-thin gate oxide layers,”  IEEE Trans. Elec. Dev ., vol. 43, no. 9, pp. 1499-1504, 1996. 
     [2] E. Y. Wu et al., “Structural Dependence of Dielectric Breakdown in Ultra-Thin Gate Oxides and Its Relationship to Soft Breakdown Modes and Device Failure,”  IEDM Tech. Dig ., pp. 187-190, 1998. 
     [3] F. Crupi, R. Degraeve et al., “On the properties of the gate and substrate current after softbreakdown in ultrathin oxide layers,”  IEEE Trans. Elec. Dev ., vol. 45, no. 11, pp. 2329-34, 1998. 
     [4]B. Weir et al., “Ultra-Thin Gate Dielectrics: They Break Down, but do they Fail?”  IEDM Tech. Dig ., pp. 73-76, 1997. 
     [5] G. B. Alers et al., “Trap Assisted Tunneling as a Mechanism of Degradaton and Noise in 2-5 nm Oxides,”  IRPS Proc ., pp.76-79, 1998. G. B. Alers, B. E. Weir, M. A. Alam, G. L. Timp, and T. Sorch, Lucent Technologies, Murray Hill, N.J. 
     [6] S. Baase,  Computer Algorithms , New York: Addison-Wesley, 1988, ch. 2, pp. 47-52. 
     All references in the text below which contain square brackets [] refer to one or more of these six documents. 
     An accurate determination of the gate oxide reliability is of great importance for the correct prediction of IC lifetime. In the past, the accuracy of this prediction was mainly limited by the accuracy of the extrapolation from high voltage time-to-breakdown (t BD ) data to low voltage. Apart from the distinction between intrinsic and extrinsic breakdown, the intrinsic mode can be ‘soft’ or ‘hard’ [1]. Since the identification of soft and hard breakdown modes (SBD and HBD, respectively), the definitions of oxide breakdown and oxide failure are no longer obvious. Defining soft breakdown (SBD) and hard breakdown (HBD) precisely turns out to be a difficult task. SBD is usually associated with a smaller current jump during a Constant Voltage Stress (CVS) or a smaller voltage drop during Constant Current Stress (CCS) compared to the HBD case. As confirmed by some research groups, the soft and hard breakdowns are caused by the same physical mechanism: SBD is considered to be a breakdown without the thermal runaway effects that lead to a low-resistance breakdown path connecting gate and substrate [1]. Based on this assumption and the observation that hard breakdown is dominant in small geometry transistors [2], we consider the time-to-first breakdown, regardless of whether it is soft or hard, as time-to-breakdown in this description. 
     This leaves the problem of correctly determining the time-to-soft breakdown. SBD occurs when the generated density of traps during a CVS or CCS has sufficiently increased to generate (at some random place on the capacitor area) a breakdown path of traps connecting anode with cathode. SBD is (just as HBD) a local event. As a consequence the Ig-Vg characteristic of the SBD is, apart from some statistical fluctuations, independent of the test area [3]. This IV-curve is the most unambiguous signature of an SBD event, and measuring it is therefore the most direct way to detect SBD. However, this approach has the disadvantage that the stress needs to be interrupted at regular time intervals to measure the low voltage current. This is time-consuming and might influence the time-to-breakdown, especially when the current or voltage overshoot at the start of each stress interval is not well-controlled. 
     A better method is to determine the breakdown event real-time by monitoring the most adequate parameter. In [4,5], it has been observed that SBD is accompanied by a gate current noise increase. This increase has been used as a trigger for SBD detection [5]. 
     However, simple noise monitors like the variance of current values during constant voltage stress are too sensitive to pre-BD events and spikes, resulting in false BD triggers. 
     AIM OF THE INVENTION 
     The present invention aims to provide an accurate method for detecting soft breakdown events in integrated circuit devices, wherein a reduced sensitivity is present to pre-breakdown events, resulting in a lower probability of erroneous breakdown detection. 
     SUMMARY OF THE INVENTION 
     The present invention is related to a method for detecting breakdown in a dielectric layer, comprising the steps of: 
     applying a signal to said dielectric layer, 
     measuring a plurality of sets of readings having values, which are in relation to said signal, 
     searching and identifying outlier readings in each of said sets, said outlier readings being defined by the fact that they have values which are significantly higher or lower than the majority of the values of said set, 
     selecting from each of said sets, one reading which is not one of said outlier readings, 
     comparing the value of said one selected reading to a reference value, so that the exceeding of said value leads to the conclusion that a predefined probability is present for having a breakdown state in said layer. 
     According to the preferred embodiment, the value of said one selected reading is the median (m r ) of the values of said set of readings. 
     Preferably, for each set of readings, a second set of readings is measured, said second set consisting of at least twice the amount of readings of said first set of readings, and wherein said reference value is a function of the value of a selected reading of said second set, said selected reading being selected in the same way as said selected reading of said first set. 
     According to the preferred embodiment, the value of said selected reading of said second set is the median (m ref ) of the values of said second set of readings. 
     Preferably, said function is a linear function f(m ref )=am ref , with a predefined factor ‘a’. 
     In the method of the invention, the sorting of said sets of readings is preferably done according to an indirect insertion sorting technique. 
     According to a first embodiment, said signal is a voltage signal, corresponding to a voltage difference across said layer, and said readings are absolute values of the change of the current flowing through said layer, as a consequence of said voltage signal, said change being calculated on the basis of a set of current readings, as the difference between two subsequent current readings of said set. 
     According to a second embodiment, said signal is a current signal, corresponding to a current flowing through said layer, and said readings are absolute values of the change of the voltage across said layer, as a consequence of said current signal, said change being calculated on the basis of a set of voltage readings, as the difference between two subsequent voltage readings of said set. 
     The invention is also related to an apparatus for detecting breakdown in a dielectric layer, said apparatus comprising 
     means for applying a test signal to a dielectric layer, 
     means for measuring a number of sets of readings, 
     means for searching and selecting one reading in each set, 
     means for comparing the value of said one selected reading to a reference value, 
     output means for indicating that a breakdown state is present in said layer, with a given probability, on the basis of said comparison. 
     According to the preferred embodiment, said means for calculating comprises means for sorting said sets of readings according to an indirect insertion sorting technique. 
     In an apparatus of the invention, said test signal may be a voltage signal, corresponding to a voltage difference across said layer, in which case said readings are absolute values of current changes. 
     Alternatively, said test signal may be a current signal, corresponding to a current through said layer, in which case said readings are absolute values of voltage changes. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 illustrates the gate current of an NMOS transistor as a function of time, until breakdown occurs. 
     FIG. 2 represents Weibull distributions of time-to-breakdown (in seconds) for a small and large device, for different trigger methodologies. 
     FIG. 3 is a graph of the time versus gate current, illustrating the relation between the detection level and the current increase upon breakdown. 
     FIGS. 4A-C illustrate the capability of different noise estimators to avoid false breakdown detection. FIG. 4A is a graph of the time versus the gate current. FIG. 4B is a graph of time versus the change in current (ΔI). FIG. 4C is a graph of the time versus the standard deviation. 
     FIGS. 5A-C illustrates the capability of the method of the invention to detect an actual breakdown event. FIG. 5A is a graph of time versus gate current. FIG. 5B is a graph of time versus the change in current (ΔI). FIG. 5C is a graph showing the running median m r , as a function of time. 
     FIGS. 6A-C illustrates the detection of breakdown with the help of a running reference value for the noise estimator. FIG. 6A is a graph of time versus gate current. FIG. 6B is a graph of time versus running and reference median. FIG. 6C is a graph of time versus m r /m ref . 
     FIG. 7 is a 3-dimensional plot, providing an overview of the influence of several parameters on the accuracy of the detection algorithm. 
     FIG. 8 is a graph of capacitor area versus noise monitor, showing the relation between the detection capabilities of the method of invention, and the capacitor area involved. 
     FIG. 9 is a graph of capacitor area versus noise monitor, showing the same relation as FIG. 8, but for small devices only. 
     FIG. 10 is a graph of time versus gate current, illustrating problems that may arise in the case of long RTS-like signals. 
     FIG. 11 is a flow chart summarizing the method of the invention in its most general form. 
     FIG. 12 is a flow chart summarizing the method of the invention making use of a running reference value. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The present invention is related to a new optimized trigger method and apparatus for SBD based on gate current noise increase that is sufficiently reliable to be applied for real-time, automatic breakdown (BD) detection. Automated BD tests often stress the devices until HBD occurs. The method according to one aspect of the invention even allows interruption of the CVS upon detection of SBD, resulting in considerably shorter overall test times. 
     In the next section, the need for a reliable SBD detection algorithm for automatic CVS measurements on ultra thin oxides is demonstrated. Then, the new noise-based SBD detection algorithm of the invention is presented, with specific attention for some real-time implementation issues. Next, the sensitivity of the algorithm as a function of its input parameters is studied. Finally, the influence of capacitor area, stress voltage, Random Telegraph Signal-like (RTS) pre-BD events, early breakdowns and the measurement hardware are discussed. 
     The following description will focus on NMOS transistors with small dimensions, stressed in inversion, because this condition mimics the real situation in circuits, and because the high voltage stressing of very thin oxides becomes inaccurate in large area devices due to parasitic series resistance. However, the present invention is not restricted to NMOS transistors. The description further focuses on gate current measurement during CVS. Moreover, the method of the invention applies also to voltage measurements during CCS. It will suffice to replace every reference to current values Ig or relative current values ΔI in the following description by analogue voltage values Vg and ΔV. 
     FIG. 1 shows the current vs. time behavior until breakdown (shown as element  1  in FIG. 1) for an NMOS transistor of dimensions (length×width) 0.2×10 μm 2 , stressed under Vg=4.4V. The current vs. time behavior in small dimension transistors during a Constant Voltage Stress shows RTS-like events  2  as illustrated in FIG.  1 . These gate current jumps are not breakdowns, but pre-breakdown events because the t BD -distributions obtained on two different areas by triggering on these jumps do not line up after the well-known area scaling law has been applied. FIG. 2 shows the Weibull plot of the area scaled t BD -distribution (scaled to 2×10 −8  cm 2 −oxide thickness=2.4 nm), measured by triggering on noise increase, or by triggering on a gate current step of 1, 2 or 5 percent, in the case of a small area of 2×10 −8  cm 2  (group of curves  10 ) and in the case of a larger area of 2×10 −6  cm 2  (group of curves  11 ). 
     In small area devices, a 5 percent step trigger is needed to approximate the noise-triggered distribution. Only the noise-triggered distributions line up for both areas, proving that the gate current steps observed in small area devices are not breakdowns, but pre-breakdown events. 
     It should be noted that when pre-BD is mistaken for real breakdown, a flatter t BD -distribution is obtained which will lead to erroneous prediction of the oxide reliability. Also, after each pre-BD gate current step no significant noise increase is measured which confirms that noise is a well-suited monitor for detecting soft breakdown. Only when the detection sensitivity for current steps is lowered, triggering on pre-BD events in small devices is avoided, but applying the same sensitivity to larger areas leads to several SBD&#39;s being overlooked. This is illustrated in FIG. 3, which is relative to an NMOS transistor of size (length×width) 1×100 μm 2 , stressed at Vg=4.4V. At point  12 , SBD occurs, which would not be detected by a 5% step trigger  13 . 
     The simplest approach to applying noise for breakdown detection is monitoring the sample standard deviation of a number of gate current values, preferably in a subset containing a fixed number n r  of consecutive current measurements including the last measured value. The set should be chosen sufficiently large to generate statistically relevant parameters, but it should still be sufficiently small to allow for an acceptable time resolution. The ‘running’ estimate s′ for the standard deviation σ will increase when the gate current noise increases at breakdown. 
     It is also possible to consider a set with n r  absolute values of consecutive current changes ΔI, wherein ΔI=|I n −I n−1 |. The mean moving range E(r) is the average of this Δ set and also represents a simple monitor for the noise on the current signal. It can be mathematically proven that the predicted value of this running mean E(r) is proportional to the σ of the currents for normally distributed current fluctuations. Mathematical proof of this is given in Appendix  1 . 
     Both monitors defined above have one major disadvantage. They are sensitive to current steps (such as pre-BD events) and current spikes (caused by accidental measurement errors), resulting in false triggers: a large outlier Δ will heavily influence the sum of Δ values used for computation of the mean moving range E(r), while a single outlier current in the subset will even completely dominate the sum of squares for the computation of s′. An outlier is an extreme value that is not related to the process for monitoring. FIG. 4 illustrates this problem. The figure shows an NMOS transistor of 0.2×10 μm 2 , stressed at Vg=4.4V. FIG. 4A shows a gate current jump  20  as a function of time, which is not related to a breakdown phenomenon, and should not be detected as such by the noise-based algorithm. FIG. 4B illustrates a series of sets 21 of 11 measured ΔI-values ranked from low to high, each ΔI-value based on the measurement of n r =12 gate current (Ig) values. Open circles correspond to ΔI-values below 10 −9  A; black circles correspond to ΔI-values above 10 −9  A. Each set containing one slope of the current jump therefore comprises one black circle. If the running standard deviation s′ is to be used (based on the current values Ig themselves, not the ΔI-values), the result, as a function of time, is visible in FIG. 4C, see the dotted lines  22 . It is clear that the running standard deviation s′ increases by a factor  10  due to this current jump, which would result in a false trigger. 
     One aspect of the present invention solves this problem in a well-designed way by selecting a value of the Δ set which is not an outlier value, as the breakdown monitor. An outlier value can then be defined as a value which is significantly higher or lower than the majority of values in the set. Preferably, outlier values are identified by the fact that they exceed a predefined border value, such 10 −9  A in the example above. 
     According to one preferred embodiment, the selected value is the median m r  of the Δ set. For an odd number of values, finding the median of a dataset consists of sorting the data and taking the middle value as the central value estimator, see the vertical arrows above each set of ΔI-values. For an even number of values, the average of the middle two values is taken. This complication can be avoided by requiring an odd number of Δ values. The effect is illustrated in FIG. 4C, curve  23 , which shows the evolution of m r  as a function of time. m r  is not increased by the gate current peak, which introduces only one high ΔI-value in the set, which in turn does not affect the runnng median m r . 
     The predicted value of this running median m r  is also proportional to the σ of the currents for normally distributed current fluctuations, but the proportionality factor is different (proof equally given in Appendix  1 ) due to the skewness of the range distribution. In FIG. 5, it is illustrated why the median will trigger correctly in the case of soft breakdown. FIG. 5 is relative to an NMOS transistor or 1×100 μm 2 , stressed at Vg=4.4V. FIG. 5A shows the gate current increase due to SBD. FIG. 5B shows consecutive sets of ΔI-values, while FIG. 5C shows the running median m r , as a function of time. Effectively, m r  increases when SBD occurs. On the basis of FIGS. 4 and 5, one can conclude that the ‘running median’ triggers correctly on soft breakdown, but is insensitive to single current jumps and spikes, as large outlier Δ values are sorted to the upper end of the range statistic. For this reason, m r  is called a robust estimator of σ. 
     With this breakdown monitor established, an obvious detection method would look for steps of m r  as a function of stress time. However, the noise increase is not always very abrupt, as illustrated in FIG. 6. A point-by-point triggering algorithm is unable to detect the jump in m r . To solve this, either an absolute noise trigger can be introduced, or more complicated step-detecting algorithms involving several m r -values can be used. The first solution is not preferred since the absolute trigger level will depend on the oxide area and thickness, the oxide processing and the system noise. The second solution can result in very complicated triggering algorithms that need careful optimization. 
     According to one aspect of the present invention, a different approach is followed. Along with the running non-outlier value, preferably the median m r , a running reference value is constructed. The running reference is constructed in an identical way as m r , but it is based on n ref  current values, with n ref &gt;2·n r . A second set of n ref −1 current changes is calculated on the basis of the n ref  current values, and the running reference is selected as a non-outlier value of said second set. According to one preferred embodiment, the running reference is the median m ref  of said second set. Breakdown is triggered when a significant difference between m ref  and m r  is detected, or equivalently, when the ratio m r /m ref  exceeds a given value ‘a’. In one aspect, the median m r  is compared to a reference value which is preferably a linear function a.m ref , of the reference median m ref . When m r  exceeds the reference value, breakdown is detected with a predefined probability. Statistically, this can be done with a one-sided F-ratio test on σ r   2 /σ ref   2  or equivalently, m r   2 /m ref   2  with (n r −1,n ref −1) degrees of freedom. For chosen values of n r , n ref , m r /m ref -ratio and significance level, this test simply reduces to finding when the square root of the F-ratio exceeds a fixed detection threshold which can be calculated before the stress measurement starts. According to one aspect of the invention, a default 99.73% value for the significance probability is preferably chosen, as this corresponds with the 3σ limits for a normally distributed signal, which is commonly used for statistical process control purposes. Thus, the real-time detection of breakdown becomes very straightforward, as is illustrated in FIG.  6 . This figure is valid for an NMOS transistor of 1×100 μm 2 , stressed at Vg=4.4V. FIG. 6A shows the current increase due to SBD. Curves  30  and  31  represent the m r  and m ref  values, as a function of time. The m r -curve  30  shows a rather gradual increase, making it difficult for a simple step detecting algorithm to trigger properly. FIG. 6C shows the evolution of the ratio m r /m ref . This curve  32  rises well above the 5.33 threshold (line  33 ) corresponding to the event of exceeding m r /m ref =3 with a significance probability of 99.73%. 
     In practice, the real-time detection method and apparatus should be designed in a computationally efficient way, so that it can keep up with the stream of incoming current values from the measurement hardware. Performing a complete sort of each range subset upon acquisition of a new current value would take a considerable amount of the computation time needed by the algorithm. It is more efficient to perform an indirect insertion sort (see also reference [ 6 ]) “on the fly” on an array of moving range values stored in a cyclic way. Indirect sorting reorders an array of indices to the data points instead of the data points themselves. This approach even allows to store only a single array of (n ref −1) range values in memory and to perform the indirect insertion sort for both m r  and m ref  using 2 arrays of indices to that same Δ subset. The procedure is explained in detail in Appendix  2 . 
     The detection efficiency of the method and apparatus and the influence of its parameters are discussed in the following. 
     The m r /m ref  ratio detection level (line  33  in FIG. 6) determines the detection efficiency of the algorithm: for Gaussian noise, a higher m r /m ref  ratio lowers the α risk (representing the probability of false early detections) at the expense of a higher β risk (representing the probability of overlooking a true noise increase due to SBD). A proper balance between these two risks should be determined for a given measurement setup by means of a calibration procedure. 
     Larger n r  and n ref  values enhance the distinctive power of the detection method and apparatus. Both the α risk and the β risk are predictably lower for Gaussian noise. By the same token, increasing n r  and n ref  also enhances the robustness of the algorithm against “non-Normal” events like spikes, pre-BD steps, and more specifically, longer RTS-like signals, as a larger amount of outlier ranges have to accumulate in the sorted moving range statistic before they reach its middle. However, using larger n r  and n ref  values for detection is at the expense of a lower time resolution for the t BD  values: as half of the short range sample collection time is taken as the average delay time for detection, longer samples correspond with a larger uncertainty on t BD . 
     The 3D surface plot in FIG. 7 shows an experimental verification of the algorithm efficiency as a function of n r  and the m r /m ref -ratio detection level. The t BD  times (either SBD or HBD) of a set of NMOS transistors with 2.4 nm gate oxide thickness stressed in inversion at 4.4V were determined through visual inspection of the I(t) curves measured till HBD. Some I(t) curves showing a slow gradual increase of the noise were discarded from the original dataset, as it was too hard to unambiguously pinpoint the SBD time on them. Note that once the SBD detection algorithm according to the invention is tuned properly, it can be used to determine the SBD time for the “problem” I(t) curves as well. The selection process yielded 256 I(t) curves with either a sufficiently clear SBD signature, or none at all (HBD): 94 on L×W=1×100 μm2, 64 on L×W=0.2×10 μm2 and 98 on L×W=0.18×10 μm2 transistors. 
     The t BD  values determined by visual inspection were then used as a reference for validation of the t BD  values found by the noise based detection algorithm for n r  values from 11 to 30, m r /m ref -ratio&#39;s from 1.2 to 5 in steps of 0.2 and a fixed n ref =60 value (twice the larger n r  value). The percentage of false detections (t BD  significantly deviating from the reference t BD  value) were then plotted as a function of n r  and m r /m ref  (FIG.  7 ). 
     Clearly, lower n r  and m r /m ref  values lead to an extremely high percentage of false early SBD detections (above 50%). In this region of the plot, the experimental α risk dominates. On the other hand, higher n r  and m r /m ref  values lead to a relatively high percentage of late detections (above 5%): the experimental β risk dominates in that region of the plot. Thus, the surface shows a diagonal valley of reliable detection, with an overall optimum of 3/256 near n r =24 &amp; m r /m ref =2.4 (region  35 ). It should be noted however, that the verification was performed using a dataset acquired on relatively small gate areas. 
     In the following paragraphs, the applicability range of the method and apparatus as a function of capacitor area and stress voltage, specific problems like the detection of early breakdowns and the sensitivity to RTS signals, and some hardware limitations are considered. 
     In FIG. 8, the value of the local noise estimator m r  before (curve  40 ) and after breakdown (curve  41 ) is plotted for capacitors with different areas. It is to be noted that the data for FIGS. 8 &amp; 9 are from capacitors stressed in accumulation. Oxide thickness was fixed at 2.4 nm, except for the smallest area where a capacitor with 2.2 nm oxide thickness was used (all values are optical thicknesses). It is clear that the detection margin closes for large area capacitors as the pre-breakdown gate current noise level increases steadily, but even for an area of 5 mm 2 , the noise before and after breakdown differs by 1 order of magnitude, which is sufficient for a reliable detection. The post-breakdown noise is relatively independent of the area, meaning that this noise is indeed a signature of the localized soft breakdown spot. 
     One can speculate that the noise monitor of the invention will be unable to detect breakdown for very large capacitor areas. This is, however, irrelevant since for this thickness, measurements on capacitors larger than 5 mm 2  become impossible because of the non-uniformity of the stress caused by series resistance of the polysilicon gate. Larger optimal values for n r , m r /m ref  and n ref  than those found during the verification of the method will probably be necessary to enhance the distinctive power of the method for reliable SBD detection on larger areas. FIG. 9 shows the detection margin for a 1 mm 2  capacitor as a function of the stress voltage. There is no apparent dependence of both the pre- and the post-breakdown noise levels (curves  42  and  43 ) on stress voltage, implying that noise can be used at any stress voltage in the typical high voltage test range. 
     In practice it is possible that a breakdown (either soft or hard) occurs before (n ref −1) Δ values have been acquired, so that no proper m ref  value is available yet. The algorithm can be protected against this by requiring an extra user-specified σ ref  input. Note that m r  has to be converted into the corresponding σ r  estimator (see Appendix  1 ) to test a proper σ r /σ ref  ratio as long as m ref  is not available. 
     Fast and sufficiently long RTS signals like the one shown in FIG. 10 can be misinterpreted by the algorithm as a noise increase and trigger faulty detection. Depending on the n r  setting, the sorted range statistic will fill up from right to left with the larger range values and trigger detection when its middle is reached. This can be countered by larger n r  and n ref  settings at the expense of time resolution. 
     Obviously, the background noise of the measurement system must be smaller than the signature noise attributed to SBD. Moreover, the resolution of the current meter must be such that it is capable of measuring the noise before breakdown. Digital current meters return quantised current levels when the true current fluctuations are close to their resolution limit, resulting in occasional zero m ref  values. The algorithm can be protected against this by replacing any of the corresponding zero σ ref  values with the user-specified σ ref  value, if occurring. 
     As the system has to be protected against the short currents that can occur at HBD, the voltage source compliance setting can be used as a separate trigger for HBD. Moreover, some voltage sources return a constant measured current value when in compliance. The noise detection algorithm cannot be used for detection of the HBD event then, so that this separate HBD trigger is even mandatory for such configurations. 
     Concluding, the present invention is related to an accurate and robust triggering algorithm for soft breakdown based on gate current noise increase that is sufficiently reliable to be applied for real-time, automatic BD detection, with acceptable execution speed if implemented properly. Triggering on current spikes or pre-BD events is avoided. This test assures correct SBD-detection in a wide range of stress conditions and various geometries. The efficiency of the algorithm and the influence of its parameters have been discussed. The method in its most general form is summarized in the flow chart of FIG.  11 . FIG. 12 is a flow chart summarizing the method including the use of a running reference value. 
     An exemplary embodiment of the present invention has been illustrated and described. It will be understood, however, that changes and modifications may be made to the invention without deviating from the scope of the invention, as defined by the following claims. Further, the claims should not be read as limited to the described order of elements unless stated to that effect. Therefore, all embodiments that come within the scope and spirit of the following claims and equivalents thereto are claimed as the invention. 
     Appendix  1 : The Median Moving Range as a Robust Sigma Estimator 
     This appendix explains how the concept of a robust σ estimator originates from Statistical Process Control (SPC) and derives the relationship between the median moving range and the corresponding sigma predictor for a Normally distributed signal. 
     The Concept 
     In a production environment, a process is under control when the variation of a chosen output parameter is within a given required tolerance. The capability of a process is defined as the ratio between this tolerance and the lowest achievable output variation. Statistical process control (SPC) is the method of choice to assess this capability, and to timely detect significant deviations from the target output. In this context, the mean moving range E(r) of a process characteristic signal is often used to predict its short term variation. The historical data used for that purpose often show slow process drifts, so that the historical sample standard deviation s′ becomes significantly larger than the true short term random deviation σ reflecting the process capability. The mean moving range filters out most of the signal drift, if occurring. Nevertheless, a sufficient amount of historical data is needed to reliably predict the true population σ value using a predictor based on the mean moving range. In practice, a sufficiently long process characteristic even shows sudden shifts caused by input parameter adjustments (e.g. to correct for a known drift due to machine wearout). Such shifts show up as outliers in the moving range statistic. The mean moving range is linearly sensitive to outliers, so that a σ predictor based on it can become artificially larger and cause an underestimation of the process capability. In the context of the noise-based trigger algorithm, steps and RTS-like signals can also be seen as sudden shifts of the characteristic signal. The median moving range m r  even filters out such outliers, so that a σ predictor based on it will be more robust against that type of non-Normality of the signal. 
     Computation of the Correction Factor for the σ Predictors 
     The proof is based on the properties of a Poisson process. The density function f(x) of the signal is that of the Normal distribution N(μ,σ,x):          f        (   x   )       =       1         2      π       ·   σ       ·              (     x   -   μ     )     2       2        σ   2                                    
     Due to the independence of subsequent data points, the distribution of their differences is equivalent to the difference of two Normally distributed stochastic variables with the same spread: N(0, 2σ,x). The moving range statistic (with a subgroup size of 2) consists of taking the absolute value of those differences, thus mirroring the left side of the density function to the right. Due to the symmetry of the density function, this simply doubles the part to the right of the vertical axis. Thus, the moving range distribution has the following single-sided density function:          f        (   r   )       =     {         0         r   &lt;   0               1         π     ·   2        σ             r   =   0                 1       π     ·   σ       ·            r   2       4        σ   2                   r   &gt;   0                                    
     The mean moving range E(r) obeys the equation                E        (   r   )       =                ∫   0   ∞          r   ·     f        (   r   )       ·        r         =       1       π     ·   σ       ·       ∫   0   ∞          r   ·            r   2       4        σ   2           ·        r                         =                  2      σ       π       ·       ∫   0   ∞                 -       (     r     2      σ       )     2         ·            (     r     2      σ       )     2             =       2      σ       π                                      
     So, the σ estimator based on E(r) is        σ   =           π     2     ·     E        (   r   )         ≈     0.886227   ·     E        (   r   )                                  
     The median moving range m r  is defined by the equation          F        (   r   )       =         ∫   0     m   r              f        (   r   )       ·        r         =         1       π     ·   σ       ·       ∫   0     m   r                     r   2       4        σ   2           ·        r           =   0.5                              
     Substitution of the integration variable        u   =     r       2     ·   σ                              
     leads to            1       2      π         ·       ∫   0     u   50                     u   2     2       ·        u           =     0.25        
     ⇒       u   50     ≈   0.67448975     ⇒       m   r     ≈     0.95387   ·   σ                                
     So, the σ estimator based on m r  is 
     
       
         σ≈1.048358 ·m   r   
       
     
     Appendix  2 : Efficient Real-time Implementaion Using Indirect Insertion Sorting 
     This appendix shows how the execution time of the algorithm can be reduced considerably by using indirect insertion sorting for the real-time computation of both median moving range values. This approach even allows to store only a single array of (n ref −1) range values in memory and to perform the indirect insertion sort for both m r  and m ref  using 2 arrays of indices to that same Δ subset. The procedure is explained using a step by step example on the following sample I(t) dataset (arbitrary units) with n r =6 and n ref =12: 
     
       
         
               
               
               
             
               
               
               
             
           
               
                   
                   
               
               
                   
                 t 
                 I 
               
               
                   
                   
               
             
             
               
                   
               
             
          
           
               
                   
                 1 
                 105 
               
               
                   
                 2 
                 100 
               
               
                   
                 3 
                 102 
               
               
                   
                 4 
                 99 
               
               
                   
                 5 
                 101 
               
               
                   
                 6 
                 100 
               
               
                   
                 7 
                 98 
               
               
                   
                 8 
                 99 
               
               
                   
                 9 
                 100 
               
               
                   
                 10 
                 119 
               
               
                   
                 11 
                 111 
               
               
                   
                 12 
                 99 
               
               
                   
                 13 
                 81 
               
               
                   
                 14 
                 113 
               
               
                   
                 15 
                 88 
               
               
                   
                 16 
                 103 
               
               
                   
                 17 
                 117 
               
               
                   
                 18 
                 103 
               
               
                   
                   
               
             
          
         
       
     
     Initially, the array of range values has to be filled, and the corresponding indirect insertion sort can be performed on the index arrays Lng_rng_indx &amp; Sh_rng_indx as each new Δ value is padded to the end of the array: 
     
       
         
               
               
               
               
             
           
               
                   
                   
               
               
                   
                 Lng_rng_vec 
                 Lng_rng_indx 
                 Sh_rng_indx 
               
               
                   
                 (size 11) 
                 (size 11) 
                 (size 5) 
               
               
                   
                   
               
             
             
               
                   
                 [5] 
                 [1] 
                 [1] 
               
               
                   
                 Insertion sort  
                 [1] 
                 [1] 
               
               
                   
                 [5, 2] 
                 [1, 2] 
                 [1, 2] 
               
               
                   
                 Insertion sort  
                 [2, 1] 
                 [2, 1] 
               
               
                   
                 [5, 2, 3] 
                 [2, 1, 3] 
                 [2, 1, 3] 
               
               
                   
                 Insertion sort  
                 [2, 3, 1] 
                 [2, 3, 1] 
               
               
                   
                 [5, 2, 3, 2] 
                 [2, 3, 1, 4] 
                 [2, 3, 1, 4] 
               
               
                   
                 Insertion sort  
                 [2, 4, 3, 1] 
                 [2, 4, 3, 1] 
               
               
                   
                 [5, 2, 3, 2, 1] 
                 [2, 4, 3, 1, 5] 
                 [2, 4, 3, 1, 5] 
               
               
                   
                 Insertion sort  
                 [5, 2, 4, 3, 1] 
                 [5, 2, 4, 3,  1 ] 
               
               
                   
                   
               
             
          
         
       
     
     At this step, the index array Sh_rng_indx is filled. Because the indices are uniquely defined, it is possible to continue as follows: 
     determine the index k s,rem  of the data point to be removed from the sorted range sample (bold in the table above). It can be computed from the running Lng_rng_indx pointer value k 1 : 
     
       
           k   s,rem =( k   1 +( n   ref −1)−( n   r −1)&#39;1) MOD ( n   ref −1)+1  
       
     
     For k 1 =6, n ref   =12 &amp;  n r =6, this results in k s,rem =1. 
     spot the index of the data point to be removed in the index array. 
     pinch it from the index array. 
     pad the index of the new data point at the end of the index array. 
     perform an indirect insertion sort using the index array. 
     The latter task can be performed using one time saving pass of the bisection algorithm because the other indices are already properly ordered. This is shown for the next 6 steps below. 
     
       
         
               
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 Lng_rng_vec 
                 [5, 2, 3, 2, 1, 2] 
               
               
                   
                 Lng_rng_indx 
                 [5, 2, 4, 3, 1, 6] 
               
               
                   
                 Insertion sort  
                 [5, 2, 4, 6, 3, 1] 
               
               
                   
                 Sh_rng_indx 
                 [5, 2, 4, 3, 6] 
               
               
                   
                 Insertion sort  
                 [5,  2 , 4, 6, 3] 
               
               
                   
                 Lng_rng_vec 
                 [5, 2, 3, 2, 1, 2, 1] 
               
               
                   
                 Lng_rng_indx 
                 [5, 2, 4, 6, 3, 1, 7] 
               
               
                   
                 Insertion sort  
                 [5, 7, 2, 4, 6, 3, 1] 
               
               
                   
                 Sh_rng_indx 
                 [5, 4, 6, 3, 7] 
               
               
                   
                 Insertion sort  
                 [5, 7, 4, 6,  3 ] 
               
               
                   
                 Lng_rng_vec 
                 [5, 2, 3, 2, 1, 2, 1, 1] 
               
               
                   
                 Lng_rng_indx 
                 [5, 7, 2, 4, 6, 3, 1, 8] 
               
               
                   
                 Insertion sort  
                 [5, 7, 8, 2, 4, 6, 3, 1] 
               
               
                   
                 Sh_rng_indx 
                 [5, 7, 4, 6, 8] 
               
               
                   
                 Insertion sort  
                 [5, 7, 8,  4 , 6] 
               
               
                   
                 Lng_rng_vec 
                 [5, 2, 3, 2, 1, 2, 1, 1, 19] 
               
               
                   
                 Lng_rng_indx 
                 [5, 7, 8, 2, 4, 6, 3, 1, 9] 
               
               
                   
                 Insertion sort  
                 [5, 7, 8, 2, 4, 6, 3, 1, 9] 
               
               
                   
                 Sh_rng_indx 
                 [5, 7, 8, 6, 9] 
               
               
                   
                 Insertion sort  
                 [ 5 , 7, 8, 6, 9] 
               
               
                   
                 Lng_rng_vec 
                 [5, 2, 3, 2, 1, 2, 1, 1, 19, 8] 
               
               
                   
                 Lng_rng_indx 
                 [5, 7, 8, 2, 4, 6, 3, 1, 9, 10] 
               
               
                   
                 Insertion sort  
                 [5, 7, 8, 2, 4, 6, 3, 1, 10, 9] 
               
               
                   
                 Sh_rng_indx 
                 [7, 8, 6, 9, 10] 
               
               
                   
                 Insertion sort   
                 [7, 8,  6 , 10, 9] 
               
               
                   
                 Lng_rng_vec 
                 [ 5 , 2, 3, 2, 1, 2, 1, 1, 19, 8, 12] 
               
               
                   
                 Lng_rng_indx 
                 [5, 7, 8, 2, 4, 6, 3, 1, 10, 9, 11] 
               
               
                   
                 Insertion sort  
                 [5, 7, 8, 2, 4, 6, 3, 1, 10, 11, 9] 
               
               
                   
                 Sh_rng_indx 
                 [7, 8, 10, 9, 11] 
               
               
                   
                 Insertion sort  
                 [ 7 , 8, 10, 11, 9] 
               
               
                   
                   
               
             
          
         
       
     
     Notice how the index  9  of the first large range value  19  stays at the upper end of both Lng_rng_indx &amp; Sh_rng_indx. 
     At this step, the index array Lng_rng_indx is filled. The index k 1,rem  of the data point to be removed from that sorted range sample (bold in the table above) can be computed from the running range counter value k Δ =12: 
     
       
           k   1,rem =( k   Δ −1) MOD ( n   ref −1)+1  
       
     
     From that step on, the corresponding range values in Lng_rng_vec also have to be replaced with the new range values: 
     
       
         
               
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 Lng_rng_vec 
                 [18,  2 , 3, 2, 1, 2, 1, 1, 19, 8, 12] 
               
               
                   
                 Lng_rng_indx 
                 [5, 7, 8, 2, 4, 6, 3, 10, 11, 9, 1] 
               
               
                   
                 Insertion sort  
                 [5, 7, 8,  2 , 4, 6, 3, 10, 11, 1, 9] 
               
               
                   
                 Sh_rng_indx 
                 [8, 10, 11, 9, 1] 
               
               
                   
                 Insertion sort  
                 [ 8 , 10, 11, 1, 9] 
               
               
                   
                 Lng_rng_vec 
                 [18, 32, 3, 2, 1, 2, 1, 1, 19, 8, 12] 
               
               
                   
                 Lng_rng_indx 
                 [5, 7, 8, 4, 6, 3, 10, 11, 1, 9, 2] 
               
               
                   
                 Insertion sort  
                 [5, 7, 8, 4, 6,  3 , 10, 11, 1, 9, 2] 
               
               
                   
                 Sh_rng_indx 
                 [10, 11, 1, 9, 2] 
               
               
                   
                 Insertion sort  
                 [10, 11, 1,  9 , 2] 
               
               
                   
                   
               
             
          
         
       
     
     At this step, the median moving range ratio could lead to detection, and subsequent exit of the algorithm:            Lng_rng        _vec        [     Sh_rng        _indx        [   3   ]         ]           Lng_rng        _vec        [     Lng_rng        _indx        [   6   ]         ]           =     18   3