A method for testing semiconductor devices is disclosed, which includes: obtaining a result measured on a semiconductor device in one of a set of tests; comparing the result with a maximum value determined among respective results that were previously measured in one or more of the set of tests and a minimum value determined among respective results that were previously measured in one or more of the set of tests; determining, based on the comparison between the first result and the maximum and minimum values, whether to update the maximum and minimum values to calculate a delta value; comparing the delta value with a noise threshold value; determining based on the comparison between the delta value and the noise threshold value, whether to update a value of a timer; determining that the value of the timer satisfies a timer threshold; and determining that the semiconductor device incurs noise.
Legal claims defining the scope of protection, as filed with the USPTO.
. A method for testing semiconductor devices, comprising:
. The method of, further comprising comparing, by the noise detector, each of the plurality of results with the first boundary value and the second boundary value.
. The method of, further comprising updating, by the noise detector, the first boundary value and the second boundary value in response to comparing each of the plurality of results with the first boundary value and the second boundary value.
. The method of, further comprising retrieving, by the noise detector, the first boundary value and the second boundary value from a storage device.
. The method of, wherein the semiconductor device and the noise detector are defined in the same chip.
. The method of, further comprising:
. The method of, further comprising screening, by the noise detector, the semiconductor device from being accessed based on the indication of RTN in the semiconductor device.
. A system for testing semiconductor devices, comprising:
. The system of, wherein the one or more processors are further configured to compare each of the plurality of results with the first boundary value and the second boundary value.
. The system of, wherein the one or more processors are further configured to update the first boundary value and the second boundary value in response to comparing each of the plurality of results with the first boundary value and the second boundary value.
. The system of, wherein the one or more processors are further configured to retrieve the first boundary value and the second boundary value from a storage device.
. The system of, wherein the semiconductor device and the one or more processors are defined in the same chip.
. The system of, wherein the one or more processors are further configured to:
. The system of, wherein the one or more processors are further configured to screen the semiconductor device from being accessed based on the indication of RTN in the semiconductor device.
. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:
. The non-transitory computer-readable medium of, further storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising comparing each of the plurality of results with the first boundary value and the second boundary value.
. The non-transitory computer-readable medium of, further storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising updating the first boundary value and the second boundary value in response to comparing each of the plurality of results with the first boundary value and the second boundary value.
. The non-transitory computer-readable medium of, further storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising retrieving the first boundary value and the second boundary value from a storage device.
. The non-transitory computer-readable medium of, wherein the semiconductor device and the one or more processors form part of a same chip.
. The non-transitory computer-readable medium of, further storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:
Complete technical specification and implementation details from the patent document.
This application is a continuation of U.S. patent application Ser. No. 18/362,216, filed Jul. 31, 2023, which is a continuation of U.S. patent application Ser. No. 16/884,684, filed May 27, 2020, the contents of each of which are incorporated herein by reference in their entireties for all purposes.
Random Telegraph Noise (RTN) is a type of electronic noise that occurs in semiconductor devices. RTN can sometimes be referred to as burst noise, popcorn noise, impulse noise, bi-stable noise, or random telegraph signal (RTS) noise. RTN can include sudden step-like transitions between two or more discrete voltage or current levels, as high as several hundred microvolts, at random and unpredictable times. Each shift in offset voltage or current often lasts from several milliseconds to seconds.
The following disclosure provides many different embodiments, or examples, for implementing different features of the provided subject matter. Specific examples of components and arrangements are described below to simplify the present disclosure. These are, of course, merely examples and are not intended to be limiting. For example, the formation of a first feature over or on a second feature in the description that follows may include embodiments in which the first and second features are formed in direct contact, and may also include embodiments in which additional features may be formed between the first and second features, such that the first and second features may not be in direct contact. In addition, the present disclosure may repeat reference numerals and/or letters in the various examples. This repetition is for the purpose of simplicity and clarity and does not in itself dictate a relationship between the various embodiments and/or configurations discussed.
Further, spatially relative terms, such as “beneath,” “below,” “lower,” “above,” “upper” and the like, may be used herein for case of description to describe one element or feature's relationship to another element(s) or feature(s) as illustrated in the figures. The spatially relative terms are intended to encompass different orientations of the device in use or operation in addition to the orientation depicted in the figures. The apparatus may be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein may likewise be interpreted accordingly.
Advances in semiconductor technology in recent years have enabled the shrinking of minimum device feature sizes (e.g., MOS transistor gates) into a scaled-down range (e.g., less than 10 nanometers (nm)). This miniaturization is beneficial when applied to memory arrays, because of the large proportion of the overall chip area often devoted to on-chip memories. As a result, significant memory resources are often integrated as embedded memory into larger-scale integrated circuits, such as microprocessors, digital signal processors, and “system-on-a-chip” integrated circuits. However, this physical scaling of device sizes raises significant issues, in connection with embedded memory but also in memory realized as “stand-alone” memory integrated circuit devices. Several of these issues are due to increased variability in the electrical characteristics of transistors formed at these extremely small feature sizes. This variability in characteristics has been observed to increase the likelihood of read and write functional failures, on a cell-to-cell basis. Sensitivity to device variability is high in those memories that are at or near their circuit design limits. The combination of increased device variability with the larger number of memory cells (and thus transistors) within an integrated circuit renders a high likelihood that one or more cells cannot be read or written as expected.
One observed effect in such scaled-down memory cells (transistors) is referred to as “Random Telegraph Noise (RTN).” Physical defects within the gate dielectric of MOS transistors can trap charge during device operation, typically in response to bias on the transistor; other bias conditions or thermal effects can later “de-trap” or release that trapped charge. The trapping and de-trapping of charge via this mechanism is essentially a random process over time (mimicking the “dots” and “dashes” of a telegraph signal, as reflected in the common name of this mechanism). This trapping and de-trapping mechanism has an electrical effect of modulating the threshold voltage of the transistor. With the extremely small feature sizes and extremely thin gate dielectrics in modern MOS transistors, the trapping and de-trapping of even a single charge within the gate dielectric is reflected by variations in the transistor threshold voltage of as much as 10 to 20 mV. This mechanism can also cause fluctuations in the gate leakage of the transistor, with or without noticeable threshold voltage modulation.
In this regard, before shipment of these memories, the memories generally undertake one or more tests (or measurements) to confirm whether or not the memories (memory cells) will operate under predetermined conditions. Such a memory being tested is sometimes referred to as one type of a device-under-test (DUT). After the tests, existing techniques generally use statistical approaches to analyze the measurement results to detect whether the DUT incurs RTN. For example, in the context of a memory array, the respective figure-of-merit or characteristic of each memory cell of the memory array is measured in the tests. One or more statistical histograms (e.g., a standard deviation of the measured figure-of-merit of each memory cell) are generated and stored, which typically requires a storage device with the size of more than several gigabits. Further, several complicated algorithms and/or mathematical approaches (e.g., an inverse cumulative distribution function) are used to analyze the statistical histograms, which can disadvantageously increase the analysis time and the computing resource. Still further, the above-mentioned requirements (e.g., the required large storage size) can make it difficult to implement the existing techniques as an “on-chip” device, which means that a RTN detector, when using the existing techniques, is typically required to be implemented on a different chip than the chip where the DUT is disposed. Such a constraints can occupy a significant amount of the real estate of an integrated circuit. Thus, the existing techniques to detect the RTN of a DUT have not been satisfactory in every aspect.
The present disclosure provides various embodiments of a noise detection system to solve the technical issues. Instead of relying on statistical histograms, the noise detection system, as described herein, can use less complex comparison approaches to analyze a large number of measurement results. For example, in response to receiving the measurement result of a DUT, the noise detection system can dynamically compare the measurement result with previously stored boundary values (e.g., the maximum value and the minimum value). Based on the comparison, the noise detection system can dynamically update the boundary values. The noise detection system can store only the latest boundary values, which can significantly reduce the size of a coupled storage device. Further, in comparison with the complicated algorithms and/or mathematical approaches that rely on analyzing the histograms, the comparison approach that the disclosed noise detection system utilize can largely decrease the analysis time and the computing resource. For example, the analysis time may be reduced from several minutes to less than one second. Further, as the noise detection system can dynamically analyze each of the measurement results, the noise detection system can accurately detect any DUT that may be characterized with infrequently occurred RTN. Such a kind of DUT is typically neglected by the existing noise detection techniques, at least partially due to the statistical nature of the existing noise detection techniques.
Referring to, depicted is an example block diagram of a noise detection systemfor detecting noise incurred in one or more semiconductor devices, in accordance with various embodiments. The noise can include any type of noise that may be incurred in a semiconductor device such as, for example, Random Telegraph Noise (RTN), in some embodiments. As shown, the noise detection systemincludes a device-under-test (DUT), a readout circuit, a digital controller, a noise detector, and a storage device. It is noted that the block diagram onis simplified for illustration purposes, and thus, the noise detection systemcan include any suitable component or element to detect noise, while remaining within the scope of the present disclosure. In some embodiments, each of the DUT, readout circuit, digital controller, noise detector, and storage deviceare communicatively coupled with or connected to each other.
Each of the above-mentioned elements or entities is implemented in hardware, or a combination of hardware and software, in one or more embodiments. Each component of the noise detection systemmay be implemented using hardware or a combination of hardware or software detailed below in connection with. For instance, each of the elements or entities shown incan include any application, program, library, script, task, service, process or any type and form of executable instructions executing on hardware (e.g., of the noise detector). The hardware includes circuitry such as one or more processors in one or more embodiments.
The DUTcan include any of various types of semiconductor devices that await to be tested. In some embodiments, the DUTcan include a semiconductor (e.g., silicon) die or chip with one or more integrated circuits disposed thereon. In some embodiments, the DUTcan include one or more memory arrays, each of which has a number of memory cells arranged as an array. The memory array can include a static random access memory (SRAM) array, a dynamic random access memory (DRAM) array, a magnetoresistive random access memory (MRAM) array, a phase change random access memory (PRAM) array, a resistance random access memory (RRAM) array, or any other type of memory array being developed.
The readout circuitcan interface with, communicate with, or otherwise access the DUTto measure or test the DUT. In the instance where the DUTis a memory array, the readout circuitcan include one or more row decoder/selectors, one or more column decoder/selectors, one or more pre-charge circuits, one or more read/write circuits (e.g., sensing amplifiers). The readout circuitmay communicate with the noise detectorto retrieve one or more test conditions, one or more test parameters, or the like. Examples of the test conditions can include how many runs/loops/frames the DUTshall be measured, and how many times per run the DUTshall be measured. Examples of the test parameters can include the level of voltage, the level of current, and the level of temperature under which the DUTis applied, when testing the DUT. In response to retrieving the test conditions and/or test parameters, the readout circuitmay apply such conditions and/or parameters to test the DUT. In some embodiments, the measurement results, provided by the readout circuit, may be in an analog form. In some other embodiments, the measurement results, provided by the readout circuit, may be in a digital form.
The digital controllercan interface with, communicate with, or otherwise access the readout circuitto digitize the measurement results. For example, the digital controllercan include one or more analog-to-digital converters (ADCs). The ADC can convert, transform, or otherwise generate the measurement results from the analog form to a digital form. In some embodiments, the ADC can generate each of the measurement results as a ratiometric value, in accordance with various characteristics, for example, a resolution of the ADC, a supply voltage to the DUT, etc. The digital controllercan further include one or more glue logic circuits functioning as an interface. By including such a glue logic circuit, the digital controllercan interface with one or more components (e.g., the noise detector) of the noise detection system. In the embodiments where the readout circuitcan provide digitized measurement results, the digital controller can include one or more such glue logic circuits interfacing the digital controllerwith, for example, the noise detector.
The noise detectorcan interface with, communicate with, or otherwise access the digital controllerto obtain the digitized measurement results. In some embodiments, the noise detectorcan include a data processorA, an RTN DUT identifierB, and an RTN DUT switcherC. The componentsA-C of the noise detectorcan collectively or respectively analyze the measurement results to identify one or more devices of the DUTthat may incur RTN. For example, upon obtaining the measurement result of a device of the DUT, the data processorA can sort the measurement result. In some embodiments, the data processorA can compare the measurement result with the latest boundary values stored in the storage deviceto determine whether to update the boundary values. The data processorA can use such dynamically updated boundary values to determine a delta value. For example, the delta value may be a difference between the boundary values. By comparing the delta value with a noise threshold, the RTN DUT identifierB can determine whether to update a timer value, which can be used as a temporary or final measure to assess whether a certain device incurs RTN. Details of the timer value shall be discussed below. By consecutively or iteratively analyzing the measurement results over specified times of tests, the timer value can be dynamically updated. Based on the timer value, the RTN DUT identifierB can determine whether the corresponding device of the DUTmay incur RTN. In response to identifying one or more devices of the DUTthat incur RTN, the RTN DUT switcherC can generate a map (or matrix) identifying such device(s). The operations of the noise detectorshall be discussed in further detail below.
The storage devicecan store various results analyzed by the noise detector, which shall be discussed below. Rather than being required to store a large number of histograms (as the exiting techniques), the noise detectormay significantly reduce the amount of data to be stored in the storage deviceby adopting the RTN detection methods disclosed herein. In this way, a size of the storage devicecan be reduced down to the range of several hundreds of kilobits, which advantageously allows the storage deviceto be integrated into a single chip where other components of the noise detection systemare disposed. For example, the storage devicecan include a memory selected from the group consisting of: an embedded flash memory, a static random access memory (SRAM), a magnetoresistive random access memory (MRAM), and a register array.
Referring to, depicted is a flow diagram of a methodfor detecting noise (e.g., RTN) in semiconductor devices. The operations of the methodcan be implemented using, or performed by, the components detailed herein in connection with. The illustrated embodiment of the methodis merely an example. Therefore, it is understood that any of a variety of operations may be omitted, re-sequenced, and/or added while remaining within the scope of the present disclosure.
In brief overview, the method start with operationof processing digitized measurement results. The method continues to operationof determining one or more devices that incur RTN. The method continues to operationof generating a matrix identifying the device(s) that incur RTN. In some embodiments, the operations,, andcan be performed by the data processorA, the RTN DUT identifierB, and the RTN DUT switcherC, respectively. Each of the operations-can include one or more operations, which shall be discussed with respect to the methodof.
depicts a flow diagram of the methodfor detecting noise (e.g., RTN) in semiconductor devices. One or more of the operations of the methodcan correspond to each of the operations-of. The illustrated embodiment of the methodis merely an example. Therefore, it is understood that any of a variety of operations may be omitted, re-sequenced, and/or added while remaining within the scope of the present disclosure.
In brief overview, operations,,,,,,,, andcan correspond to operationof; operations,,,,,,,, andcan correspond to operationof; and operationcan correspond to operationof.
Still referring to, and in further detail, a noise detector (e.g.,in) can be in an idle or inactivated state at. In some embodiments, after a predefined number of runs (each run including a predefined number of tests) and corresponding analysis being performed on a DUT (e.g.,in), the noise detector(or the data processorA) may selectively transition the noise detectorto an idle state. For example, the data processorA can receive a deactivation control signal from a controller (not shown) that instructs the noise detectorto switch to the idle state prior to, concurrently with, or subsequently to performing all the runs of tests. In another example, the data processorA may automatically switch or transition the noise detectorto the idle state in response to determining that all the runs of tests have been performed, which shall be discussed below. While in the idle state, the data processorA can determine whether a RTN detection functionality has been activated (). The data processorA can make such a decision based on whether an activation control signal that instructs the noise detectorto switch or transition from the idle state to an active state has been received.
In response to receiving the activation signal, the data processorA can load, retrieve, or otherwise identify test parameters and test conditions, and/or select a first device of the DUTto be tested (). The data processorA may identify the test parameters and test conditions from the activation control signal and/or from a storage device based on the activation control signal. The test parameters may include the respective range of each of a number of test parameters (e.g., a temperature range, a voltage range, a current range, etc.). The test conditions may include how many number of runs and how many number of tests of each run that each device of the DUTshall undertake.
In an example where the DUTincludes an SRAM array (having 10 memory cells), the test parameters can include the range of voltage/current/temperature to be applied on each of the memory cells of the DUTwhile testing (e.g., reading and/or writing) the memory cells. The noise detectormay communicatively interface with the readout circuitto test the memory cell based on the test parameters. Further, the data processorA may communicatively interface with the readout circuitto select a first one of the 10 memory cells (e.g., memory cell #) and put the memory cell in test a number of times specified according to the test parameters and test conditions. For example, the test condition may specify each of the memory cells of the DUTshall be tested 100 times for each run, and a total of 2 runs shall be performed. In accordance with some embodiments, in response to identifying the test conditions (e.g., the number of tests per run and the number of runs), the data processorA can provide, construct, or otherwise generate a data array or structure to be filled with the measurement results. The data array may have dimensions determined according to the test conditions, which shall be discussed in further detail below with respect to data arrayof.
In response to loading the test conditions and parameters, selecting a memory cell of the DUT, and causing the readout circuitto test the selected memory cell, the data processorA can obtain one or more measurement results of the selected memory cell (). In some embodiments, the data processorA can obtain the measurement results, which may be in a digital form, by communicatively interfacing with the digital controller.
Continuing with the above example, at, the data processorA can obtain a first measurement result of the memory cell #. The measurement result can be a digitized figure-of-merit (e.g., an I/Iratio, a static noise margin (SNM), etc.) of the memory cell #. In some embodiments, the readout circuitcan test the memory cell #to obtain a measurement result in an analog form, and the digital controllercan convert the analog measurement result into a digitized measurement result. Upon obtaining the digitized first measurement result from the digital controller, the data processorA can fill the above-mentioned data array with the digitized first measurement result.
Next, at, in response to obtaining a measurement result of the selected device of the DUT, the data processorA can communicatively interface with the storage deviceto retrieve, read, or otherwise identify a first boundary value and a second boundary value. In some embodiments, the first boundary value can correspond to a maximum value determined among one or more previous measurement results; and the second boundary value can correspond to a minimum value determined among the one or more previous measurement results. The storage devicecan store the latest updated (or maintained) maximum value and minimum value, which may be each presented by a relatively low number of bits. As such, a size requirement of the storage devicecan be advantageously reduced. For example, the size of the storage device may be reduced down to several hundreds of kilobits (e.g., 200 kilobits).
Upon retrieving the latest updated maximum value and minimum value, the data processorA can compare the measurement result with the maximum value and minimum value (). If the measurement result is greater than the maximum value or less than the minimum value, the data processorA can update the maximum value or the minimum value (). In some embodiments, the data processorA can communicatively interface with the storage deviceto update the previously stored maximum value or minimum value with the current measurement result. On the other hand, if the measurement result is neither greater than the maximum value nor less than the minimum value, the data processorA can maintain the maximum value and the minimum value stored in the storage device(). According to various embodiments, every time the data processorA obtains a new measurement result, the data processorA can dynamically compare the measurement result with the latest updated (or maintained) maximum value and minimum value. In certain cases where the maximum value and minimum value are not available (e.g., the first time of test), the data processorA can store, in the storage device, the corresponding measurement result as both the maximum value and minimum value.
Based on the comparison to determine whether to update or maintain the maximum value and minimum value (,,), the data processorA can calculate a delta value (). The delta value is a difference between the maximum value and minimum value. In some embodiments, every time the data processorA obtains a new measurement result and compares the measurement result with the latest maximum value and minimum value, the data processorA can calculate the delta value based on the latest maximum value and minimum value.
Upon calculating a delta value, the noise detector(e.g., the RTN DUT identifierB) can determine whether a first part of the test condition has been satisfied (). In some embodiments, the first part of the test condition (hereinafter “1test condition”) may specify how many times each of the devices of the DUTshall be tested in each run. If the 1test condition has been satisfied (e.g., the selected device has been tested the specific times and the noise detectorhas obtained all corresponding measurement results), the RTN DUT identifierB can compare the last delta value, which is calculated based on the last updated maximum value and minimum value for each run, with a noise threshold (). The noise threshold may be predefined as a constant value. On the other hand, if the 1test condition has not been satisfied (e.g., the selected device has not been tested for the specific times), the methodcan proceed again to, which causes the data processorA to obtain one or more measurement results on the selected device. In some embodiments, the methodmay iteratively proceed fromtountil the 1test condition has been satisfied.
At, if the last delta value has satisfies (e.g., greater than or equal to) the noise threshold, the RTN DUT identifierB can output a temporary RTN result to be logic high (). For example, in response to determining that the last delta value is greater than or equal to the noise threshold, the RTN DUT identifierB can “digitize” the comparison result by outputting the temporary RTN result as a logic high (e.g., a logic “1”). Accordingly, the RTN DUT identifierB can update the value of a timer (). In some embodiments, in response to the temporary RTN result being output as logic high, the RTN DUT identifierB can consecutively increase or decrease the timer value by one. On the other hand, if the last delta value has not satisfied (e.g., less than) the noise threshold, the RTN DUT identifierB can output the temporary RTN result to be logic low (). Accordingly, the RTN DUT identifierB can maintain the timer value (). In some embodiments, the RTN DUT identifierB can store, in addition to the latest maximum value and minimum value, the last delta value, the temporary RTN result, and the timer value in the storage device.
Upon updating or maintaining the timer value for the selected device of the DUT, the RTN DUT identifierB can determine whether all the devices of the DUT has been tested for the specified times (). If the RTN DUT identifierB determines that not all the devices have been tested the specified times (not each device satisfying the 1test condition), the methodcan proceed again to, which causes the data processorA to select the next device to be tested. As such, methodmay iteratively proceed fromtountil all the device have satisfied the 1test condition. On the other hand, if at, the RTN DUT identifierB determines that all the devices have been tested the specified times (each device satisfying the 1test condition), the RTN DUT identifierB can further determine whether a second part of the test condition has been satisfied (). In some embodiments, the second part of the test condition (hereinafter “2test condition”) may specify how many runs each of the devices of the DUTshall be tested.
At, if the RTN DUT identifierB determines that not all the devices of the DUThave been tested for the specified runs, the methodmay proceed again toto cause the noise detectorto further test the DUT. Alternatively, the noise detectormay switch to the idle state after determining that not all the devices of the DUThave been tested for the specified runs. On the other hand, if the RTN DUT identifierB determines that all the devices of the DUThave been tested the specified runs, the RTN DUT identifierB can identify the devices that may incur RTN (). Such devices may herein be referred to as “RTN devices.” In some embodiments, every time the noise detectoranalyzes the measurement results for each of the devices after one run (e.g.,or), the RTN DUT identifierB can determine to update or maintain the corresponding timer value. Upon determining that all the devices have satisfied the 2test condition, the RTN DUT identifierB can identify the RTN device(s) based on the respective timer value(s). For example, the RTN DUT identifierB can identify (or affirm) a device as an RTN device based on determining that the corresponding timer value is equal to or greater than a timer threshold. In some embodiments, the timer threshold may be predefined in accordance with the 2test condition. For example, when the 2test condition specifies 2 runs, the timer threshold may be equal to or less than the number of runs (e.g., 1 or 2).
In some embodiments, the RTN DUT switcherC can identify such RTN devices by respective positions in an array, addresses in an array, or otherwise identifiers. Based on the identifiers, the RTN DUT switcherC can generate a matrix or a map locating the positions of the RTN devices (). In an example where the DUTincludes a 10×10 memory array (a total of 100 memory cells), after identifying one or more memory cells out of the 100 memory cells that incur RTN (e.g., the memory cells arranged on columnand row, columnand row, columnand row) by performing at least some of the operations of method, the RTN DUT switcherC can generate a map, which may also have a dimensions of 10 columns and 10 rows, that labels those three memory cells (RTN devices), which can cause these RTN devices to be switched out from being used.
Referring now to, a symbolic diagram of the data arrayis depicted, in accordance with various embodiments. Continuing with the above example where the test condition specifies that each of the 10 memory cells of the DUT(memory cell #, #, #, #, #, #, #, #, #, and #) shall be tested 100 times in each run (the 1st test condition), and a total of 2 runs (the 2test condition) shall be performed, the data array may have at least 10×100 fields,, to be filled with the measurement results. As shown in, in response to obtaining the respective measurement results of the memory cell #to #from the 100 times of tests in the first run, the noise detectorcan fill the corresponding fields with the measurement results. In addition to the measurement results, the noise detectormay include further fields in the data array to fill in corresponding RTN analysis data.
For example, every time the noise detectorobtains a new measurement result, the noise detectormay selectively update the maximum value and minimum value, and calculate the delta value, as described above. The noise detectorcan include the maximum value, the minimum value, and the calculated delta value in the data array. Upon finishing all the tests in one of the runs (e.g., the first run as shown in), the noise detectorcan compare the last delta value with the noise threshold. Based on the comparison, the noise detectorcan output the temporary RTN result to be either logic high (“1”) or low (“0”). The noise detectorcan include the temporary RTN result in the data array. Based on the temporary RTN result, the noise detectorcan selectively update the timer value. The noise detectorcan include the timer value in the data array.
As shown in, after the 100th test on the memory cell #, the noise detectorcan update or maintain the maximum value and minimum vale to be “35” and “25,” respectively, which renders the last delta value for the first run to be “10.” Accordingly, the noise detectorcan determine whether the delta value is greater than or equal to a noise threshold, which is predefined as “50” in the current example. Since the delta value of memory cell #() is neither greater than or equal to the noise threshold (), the noise detectorcan output the temporary RTN result to be “0,” and maintain the timer value to be “0.” Similarly, after the 100th test on each of the remaining memory cells, the noise detectorcan calculate the last delta values of the memory cells #, #, #, #, #, #, #, #, and #to be “26,” “7,” “58,” “7,” “6,” “4,” “3,” “6,” and “24,” respectively. Based on comparing each of the last delta values with the noise threshold, the noise detectordetermines that the timer value of every memory cell shall be maintained to be “0” except for the memory cell #. In some embodiments, after the first run (meeting the 1st test condition) which produces a “tentative” timer value, the noise detectormay tentatively (or with a lower score) determine the memory cell #as an RTN device.
depicts the same data arrayupdated based on the second run of tests that the memory cells #to #undertake. As shown, after the second run, the noise detectorcalculates the last delta values of the memory cells #, #, #, #, #, #, #, #, #, and #to be “53,” “47,” “8,” “55,” “12,” “5,” “4,” “5,” “6,” and “85,” respectively. Based on comparing each of the last delta values with the noise threshold, the noise detectordetermines that the memory cells #, #, and #shall each correspond to a high temporary RTN result. Accordingly, the noise detectorcan update the timer values of the memory cells #, #, and #to be “1,” “2,” and “1,” respectively. Specifically, the noise detectorupdate the timer value for memory cell #by incrementing “1” from “0,” which was determined from the first run; the timer value for memory cell #by incrementing “1” from “1,” which was determined from the first run; and the timer value for memory cell #by incrementing “1” from “0,” which was determined from the first run. In the example where the timer threshold is predefined as, the noise detectorcan identify the memory cells #, #, and #as the RTN devices while the remaining memory cells #, #, #, #, #, #, and #as non-RTN devices because each of the memory cells #, #, and #presents a timer value equal to or greater than the timer threshold. In some embodiments, after the second run (meeting both the 1st and 2nd test conditions) which produces an “affirmative” timer value, the noise detectormay affirmatively (or with a higher score) determine the memory cell #as an RTN device.
respectively depict various embodiments of different real estate arrangements of the noise detection system. As mentioned above, the algorithms that the noise detection systemutilizes to analyze RTN incurred in semiconductor devices are less complicated than the existing techniques. As such, arranging the real estate of the components of the noise detection systemcan be relatively flexible.
shows an example where the DUT, the readout circuit, the digital controller, the noise detector, and the storage deviceare integrated into (or disposed on) a single integrated circuit (e.g., silicon) chip. Although each of the components on the chipis illustrated as a discrete circuit, it is understood that any two or more of the components (e.g.,and) can be integrated as one circuit. In some embodiments, as the noise detectorand the storage deviceare disposed on the same chip as the DUT, the noise detectorand the storage devicemay be referred to as “on-chip” circuits. Such an on-chip storage device may include an embedded flash memory, an SRAM memory, an MRAM memory, and a register array.
shows an example where the DUT, the readout circuit, the digital controller, and the noise detectorare integrated into (or disposed on) a first integrated circuit (e.g., silicon) chip, while the storage deviceis disposed on a second integrated circuit (e.g., silicon) chip. Although each of the components on the chipis illustrated as a discrete circuit, it is understood that any two or more of the components (e.g.,and) can be integrated as one circuit. In some embodiments, as the noise detectoris disposed on the same chip as the DUT, the noise detectormay be referred to as an “on-chip” circuit; and as the storage deviceis disposed on a different chip from the DUT, the storage devicemay be referred to as an “off-chip” circuit. Such an off-chip storage device may include a DRAM memory, a NAND flash memory, and a NOR flash array.
shows an example where the DUT, the readout circuit, and the digital controllerare integrated into (or disposed on) a first integrated circuit (e.g., silicon) chip, while the noise detectorand the storage deviceare disposed on a second integrated circuit (e.g., silicon) chip. Although each of the components on the chipsandis illustrated as a discrete circuit, it is understood that any two or more of the components can be integrated as one circuit. In some embodiments, as the noise detectorand the storage deviceare disposed on a different chip from the DUT, the noise detectorand the storage devicemay be each referred to as an “off-chip” circuit. Such an off-chip noise detector may include a field-programmable gate array (FPGA), a data processing circuit, and a computer. Such an off-chip storage device may include a DRAM memory, a NAND flash memory, and a NOR flash array.
Referring now to, a block diagram of an information handling system (IHS)is provided, in accordance with some embodiments of the present invention. The IHSmay be a computer platform used to implement any or all of the processes discussed herein to design an integrated circuit. The IHSmay comprise a processing unit, such as a desktop computer, a workstation, a laptop computer, or a dedicated unit customized for a particular application. The IHSmay be equipped with a displayand one or more input/output (I/O) components, such as a mouse, a keyboard, or printer. The processing unitmay include a central processing unit (CPU), memory, a mass storage device, a video adapter, and an I/O interfaceconnected to a bus.
The busmay be one or more of any type of several bus architectures including a memory bus or memory controller, a peripheral bus, or video bus. The CPUmay comprise any type of electronic data processor, and the memorymay comprise any type of system memory, such as static random access memory (SRAM), dynamic random access memory (DRAM), or read-only memory (ROM).
The mass storage devicemay comprise any type of storage device configured to store data, programs, and other information and to make the data, programs, and other information accessible via the bus. The mass storage devicemay comprise, for example, one or more of a hard disk drive, a magnetic disk drive, an optical disk drive, or the like.
The video adapterand the I/O interfaceprovide interfaces to couple external input and output devices to the processing unit. As illustrated in, examples of input and output devices include the displaycoupled to the video adapterand the I/O components, such as a mouse, keyboard, printer, and the like, coupled to the I/O interface. Other devices may be coupled to the processing unit, and additional or fewer interface cards may be utilized. For example, a serial interface card (not shown) may be used to provide a serial interface for a printer. The processing unitalso may include a network interfacethat may be a wired link to a local area network (LAN) or a wide area network (WAN)and/or a wireless link.
It should be noted that the IHSmay include other components/devices. For example, the IHSmay include power supplies, cables, a motherboard, removable storage media, cases, and the like. These other components/devices, although not shown, are considered part of the IHS.
In one aspect of the present disclosure, a method for testing semiconductor devices is disclosed. The method includes: obtaining, by a noise detector, a first result measured on a semiconductor device in one of a first set of tests; comparing, by the noise detector, the first result with a first boundary value and a second boundary value, the first boundary value corresponding to a maximum value determined among respective results that were previously measured on the semiconductor device in one or more of the first set of tests, the second boundary value corresponding to a minimum value determined among respective results that were previously measured on the semiconductor device in one or more of the first set of tests; determining, by the noise detector based on the comparison between the first result and the first and second boundary values, whether to update the first boundary value and the second boundary value to calculate a first delta value; comparing, by the noise detector, the first delta value with a noise threshold value; determining, by the noise detector based on the comparison between the first delta value and the noise threshold value, whether to update a value of a timer; determining, by the noise detector, that the value of the timer satisfies a timer threshold; and tentatively determining, by the noise detector according to the determination, that the semiconductor device incurs noise.
In another aspect of the present disclosure, a system to test semiconductor devices is disclosed. The system includes a storage device and a noise detector. The noise detector can obtain, in one of a first set of tests, a first result measured on a semiconductor device; retrieve, from the storage device, a first boundary value and a second boundary value, the first boundary value corresponding to a maximum value determined among respective results that were previously measured on the semiconductor device in one or more of the first set of tests, the second boundary value corresponding to a minimum value determined among respective results that were previously measured on the semiconductor device in one or more of the first set of tests; compare the first result with the first boundary value and the second boundary value; either update, responsive to determining that the first result is greater than the first boundary value, the first boundary value in the storage device with the first result, or update, responsive to determining that the first result is less than the second boundary value, the second boundary value in the storage device with the first result, or maintain, responsive to determining that the first result is neither greater than the first boundary value nor less than the second boundary value, the first boundary value and the second boundary value in the storage device; calculate a first delta value based on a difference between the first boundary value and the second boundary value; compare the first delta value with a noise threshold value; either update, responsive to determining that the first delta value is greater than or equal to the noise threshold value, a value of a timer in the storage device, or maintain, responsive to determining that the first delta value is less than the noise threshold value, the value of the timer in the storage device; determine that the value of the timer satisfies a timer threshold; and tentatively determine, according to the determination, that the semiconductor device incurs noise.
In yet another aspect of the present disclosure, a non-transient computer-readable storage medium having instructions embodied thereon is disclosed. The instructions are executable by one or more processors to perform a method. The method includes: (a) obtaining a first result measured on a semiconductor device in one of a first set of tests; (b) comparing the first result with a first boundary value and a second boundary value, the first boundary value corresponding to a maximum value determined among respective results that were previously measured on the semiconductor device in one or more of the first set of tests, the second boundary value corresponding to a minimum value determined among respective results that were previously measured on the semiconductor device in one or more of the first set of tests; (c) determining, based on the comparison between the first result and the first and second boundary values, whether to update the first boundary value and the second boundary value to calculate a first delta value; (d) comparing the first delta value with a noise threshold value; (e) iteratively performing steps (a) to (d) until a number of the first set of tests satisfies a predefined test condition; (f) determining, based on the comparison between the first delta value and the noise threshold value, whether to update a value of a timer; (g) determining that the value of the timer satisfies a timer threshold; and (h) determining, responsive to the determination, that the semiconductor device incurs noise.
The foregoing outlines features of several embodiments so that those skilled in the art may better understand the aspects of the present disclosure. Those skilled in the art should appreciate that they may readily use the present disclosure as a basis for designing or modifying other processes and structures for carrying out the same purposes and/or achieving the same advantages of the embodiments introduced herein. Those skilled in the art should also realize that such equivalent constructions do not depart from the spirit and scope of the present disclosure, and that they may make various changes, substitutions, and alterations herein without departing from the spirit and scope of the present disclosure.
Unknown
October 23, 2025
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.