Engineering product development cycles can be design-intensive. Key product, manufacturing, and testing features require considerable testing, typically consuming numerous cycles before converging to a stable and workable design. Generally, the greater the number of design cycles, the higher the costs attributed to the product design.
In general, an aspect of the invention includes a method of receiving sets of experimental data, each set of experimental data resulting from an application of a set of variables to the hardware component during a common design cycle or a different design cycle of the hardware component, each variable representing an aspect of a hardware component or a fabrication process applied to the hardware component, determining discretized classes of one or more quality metrics, wherein the discretized classes of the quality metrics are determined independently from a determination of discretized classes of a different quality metric of the one or more quality metrics, wherein the discretized classes of the quality metrics are a classification of the quality metrics in an order of values of the classes of the experimental data, and obtaining statistical measurements of the variables to determine correlations between the discretized classes of the quality metrics and the statistical measurements of the variables to reduce the number of design cycles implemented on the hardware component during the developing of the hardware component.
In general, in one aspect, the invention relates to a system that includes a processor and memory that includes instructions which, when executed by the processor, performs a method. The method includes receiving sets of experimental data, each set of experimental data resulting from an application of a set of variables to the hardware component during a common design cycle or a different design cycle of the hardware component, each variable representing an aspect of a hardware component or a fabrication process applied to the hardware component, determining discretized classes of one or more quality metrics, wherein the discretized classes of the quality metrics are determined independently from a determination of discretized classes of a different quality metric of the one or more quality metrics, wherein the discretized classes of the quality metrics are a classification of the quality metrics in an order of values of the classes of the experimental data, and obtaining statistical measurements of the variables to determine correlations between the discretized classes of the quality metrics and the statistical measurements of the variables to reduce the number of design cycles implemented on the hardware component during the developing of the hardware component.
In general, in one aspect, the invention relates to a non-transitory computer readable medium (CRM). The non-transitory CRM includes computer readable program code, which when executed by a computer processor, enables the computer processor to perform a method for implementing design cycles for developing a hardware component. The method includes
receiving sets of experimental data, each set of experimental data resulting from an application of a set of variables to the hardware component during a common design cycle or a different design cycle of the hardware component, each variable representing an aspect of a hardware component or a fabrication process applied to the hardware component, determining discretized classes of one or more quality metrics, wherein the discretized classes of the quality metrics are determined independently from a determination of discretized classes of a different quality metric of the one or more quality metrics, wherein the discretized classes of the quality metrics are a classification of the quality metrics in an order of values of the classes of the experimental data, and obtaining statistical measurements of the variables to determine correlations between the discretized classes of the quality metrics and the statistical measurements of the variables to reduce the number of design cycles implemented on the hardware component during the developing of the hardware component.
Other aspects of the invention will be apparent from the following description and the appended claims.
Whether designing an entire hardware system or components thereof, engineering product development typically entails an initial design cycle, where an initial design is subjected to various test environments, and observed output exhibiting the behavior of the initial design is collected and evaluated for further design cycles. In subsequent design cycles, the steps are repeated in that adjustments to the design of the immediately preceding design cycle are made, and the revised design is subjected to further testing, observing outputs are collected and analyzed for further fine-tuning of the design. These cycles are repeated until the product design exhibits a desired behavior-converges.
In many cases, designers are particularly interested in the behavior of certain design features, quality metrics, in varying environments. For example, the designer of a semiconductor product may be particularly interested in yield (an example of a quality metric), and thickness of the semiconductor layers, and/or the composition of the solution used in manufacturing to clean, oxidize, or mask parts or the entirety of the layers (examples of variables). Most desirably, costs associated with product design are best minimized but the requisite numerous design cycles are at times at odds with maintaining minimal product design and experimental costs. Achieving the desired level of design quality while minimizing costs, at times, presents even more of a challenge.
To address one or more of the aforementioned challenges, consider a design cycle in accordance with one or more embodiments of the invention in which a controlled set of parameters or variables is initially selected for building a new set of experiments for designing, manufacturing, or building prototypes. During an initial cycle, experimental tests with the initial set of parameters is applied to the design and the values of variables and the quality metrics are collected. Next, a different set of parameters is applied to the design and the quality metrics and the values of the variables are once again collected. At a next cycle, another set of parameters, different than the initial two sets, is applied to the design and the quality metrics and the values of the variables are again collected. The cycle is repeated until the design converges. Each experimental and data analysis cycle incurs high cost, valuable engineering time, and resources. Hardware design in particular requires careful selection of physical components, configurations, and fabrication processes to achieve a desired design quality level. A clear plan that guides posterior cycles to converge into a high-quality hardware design as measured by relevant metrics can be cost-effective and less resource intensive.
Selecting the best, or near-best, set of parameters (variables) to build a new batch of experimental tests to be applied to the product design can help reduce product development costs because fewer design cycles are required.
In some embodiments of the invention, product development is implemented with a high-quality design even in the face of a few challenges, namely, a vast number of parameters, a small number of experimental samples, and fewer number of design cycles. Rank-correlated patterns are mined from experiments on the hardware design to find features (or variables), and combinations thereof, that correlate well with quality metrics. The effect of noise is reduced or nearly eliminated because experimental data is pre-processed prior to rank-correlation mining.
An association between a selection of features and a change (i.e., increase or decrease) in the quality metrics can help guide design choices. The quality metrics are defined by a designer of a hardware component under development. For instance, consider the case where the quality of a hardware component is measured with a set of metrics, Yi={Y1, . . . , Ym} obtained from a series of experiments. Consider that the value of each Yi depends on designing parameters, or features, also referred to herein as “variables”, {X1, . . . , Xn}. The objective is to identify which subset of {X1, . . . , Xn}, and the ranges of values thereof, have the strongest influence on an increase or decrease of each Yi. By so doing, hardware designers can more easily select the hardware configurations and specifications that lead to the highest design quality and repeated experimentation using only a subset of configurations, therefor reducing the number of design cycles and potentially reducing the overall design costs and requisite design resources.
One or more embodiments of the invention is centered around mining for frequent rank-correlated patterns. After applying a given set of experimental tests (or observations) to the hardware component using a distinct set of parameters or variables, the quality metrics are classified for subsequent finding of patterns of higher (or lower) thresholds or ranges of a feature, Xi, and mining for a higher (or lower) quality metric, Yi. Such patterns are used to guide new relevant experiments, configurations and processes. The method helps the experimental cycle converge on a desirable set of features, thus, decreasing product development costs while maintaining product design quality.
In some embodiments of the invention, the experimental data is preprocessed prior to mining for patterns to reduce the effect of noise introduced from continuous observation and collection of experimental data, or points, with each set of variables. That is, rather than performing a comparison of raw experimentation data, methods and systems perform a comparison of statistical data relating to the variables, based on the experimentation data, and the comparisons are mined for correlated patterns. Accordingly, the adverse effects of one-offs and anomalies—noise effects—on raw data comparison are minimized and in some cases eliminated.
Various embodiments of the disclosure are described below.
In an embodiment of the invention, the hardware component development system (100) is an implementation of design cycles for developing a hardware component. For example, and without limitation, the hardware component may be a piece of a hardware system, such as a semiconductor device of a graphics subsystem of a computer or network system or a circuitry portion within the semiconductor device.
In an embodiment of the invention, the data collection device (102) is operationally coupled to the correlation preprocessor (104), which is in turn operationally coupled to the dataset integration engine (110), which is in turn operationally coupled to the correlation determination engine (112). In some embodiments of the invention, the quality metric clustering processor (106) is operationally coupled to the data collection device (102) and to the statistical measurement generator (108), which is in turn coupled to the dataset integration engine (110).
In an embodiment of the invention, the data collection device (102) may be implemented using one or more computing devices (e.g., see
In one embodiment of the disclosure, the data collection device (102) is a physical or virtual device that may be used for performing various embodiments of the disclosure. The physical device may correspond to any physical system with functionality to implement one or more embodiments of the disclosure. For example, the physical device may be a device or a part of or incorporated in a system with at least one or more processor(s) and memory.
Alternatively, the physical device may be a special purpose computing device that includes one or more application-specific processor(s) (or hardware) configured to only execute embodiments of the disclosure. In such cases, the physical device may implement embodiments of the disclosure in hardware as a family of circuits and may retain limited functionality to receive input and generate output in accordance with various embodiments of the disclosure. In addition, such computing devices may use a state-machine to implement various embodiments of the disclosure.
In another embodiment of the disclosure, the physical device may correspond to a computing device that includes one or more general purpose processor(s) and one or more application-specific processor(s) (or hardware). In such cases, one or more portions of the disclosure may be implemented using the operating system and general purpose processor(s), while one or more portions of the disclosure may be implemented using the application-specific processor(s) (or hardware).
In one embodiment of the disclosure, the data collection device (102) includes executable instructions (stored in a non-transitory computer readable medium (not shown), which when executed, enable the data collection device (102) to perform one or more methods described below (see e.g.,
Alternatively, the physical device may be a special purpose computing device that includes one or more application-specific processor(s) (or hardware) configured to only execute embodiments of the disclosure. In such cases, the physical device may implement embodiments of the disclosure in hardware as a family of circuits and may retain limited functionality to receive input and generate output in accordance with various embodiments of the disclosure. In addition, such computing devices may use a state-machine to implement various embodiments of the disclosure.
In another embodiment of the disclosure, the physical device may correspond to a computing device that includes one or more general purpose processor(s) and one or more application-specific processor(s) (or hardware). In such cases, one or more portions of the disclosure may be implemented using the operating system and general purpose processor(s), while one or more portions of the disclosure may be implemented using the application-specific processor(s) (or hardware).
In one embodiment of the invention, the data collection device (102) includes executable instructions (stored in a non-transitory computer readable medium (not shown)), which when executed, enable the data collection device (102) to perform one or more methods described below (see e.g.,
In one embodiment of the disclosure, the correlation preprocessor (104) generally generates statistical measurements of identified variables or features for each class of each of the quality metrics selected by a designer of the hardware component under development. More specifically, the quality metric clustering processor (106) of the correlation preprocessor (104) may be implemented using one or more computing devices functionally equipped to receive the sets of experimental data and to process the sets of experimental data to group or cluster the experimental data based on one or more quality metric. Continuing with the above example of the development of a semiconductor device, a quality metric may be, without limitation, the desired yield of the semiconductor during fabrication, i.e., the percentage of semiconductor devices of a wafer that meet certain expected operational characteristics, the desired thickness of the geometry of various features of the semiconductor, such as the thickness of each layer of the semiconductor device, or the desired uniformity of evenness of the semiconductor file thickness. Examples of variables, without limitation, include the semiconductor deposition, e.g., thermal oxidation thickness; wet etching steps, such as the chemicals and quantity thereof used for the wet etching process, bath solution concentration of the mixture of the chemical components, the bath duration, and the temperature used during the wet etching process; and the doping temperature during the annealing process of the semiconductor device fabrication.
In an embodiment of the invention, by clustering the quality metrics, the quality metric clustering processor (106) effectively discretizes the quality metric classes (QMCs).
In one embodiment of the disclosure, the quality metric clustering processor (106) is a physical or virtual device that may be used for performing various embodiments of the disclosure. The physical device may correspond to any physical system with functionality to implement one or more embodiments of the disclosure.
Alternatively, the physical device may be a special purpose computing device that includes one or more application-specific processor(s) (or hardware) configured to only execute embodiments of the disclosure. In such cases, the physical device may implement embodiments of the disclosure in hardware as a family of circuits and may retain limited functionality to receive input and generate output in accordance with various embodiments of the disclosure. In addition, such computing devices may use a state-machine to implement various embodiments of the disclosure.
In another embodiment of the disclosure, the physical device may correspond to a computing device that includes one or more general purpose processor(s) and one or more application-specific processor(s) (or hardware). In such cases, one or more portions of the disclosure may be implemented using the operating system and general purpose processor(s), while one or more portions of the disclosure may be implemented using the application-specific processor(s) (or hardware).
In one embodiment of the invention, the quality metric clustering processor (106) includes executable instructions (stored in a non-transitory computer readable medium (not shown)), which when executed, enable the quality metric clustering processor (106) to perform one or more methods described below (see e.g.,
In one embodiment of the disclosure, the statistical measurement generator (108) of the correlation preprocessor (104) may be implemented using one or more computing devices functionally equipped to obtain probabilistic distributions of the raw form of the values of the variables in relation to quality metric classes. More specifically, the statistical measurement generator (108) may receive experimental data, as described above, from the data collection device (102) and the quality metric clustering processor (106). The data collection device (102) provides the raw variables' values and quality metric clustering processor (106) provides the quality metrics. The statistical measurement generator (108) generates distributions for each of the classes of the quality metric(s) and provides the distributions to the dataset integration engine (110) for storage, as described in further detail below with respect to the dataset integration engine (110). According to generating a dataset corresponding to the classes of the quality metrics to the statistics measurements of the variables.
The statistical measurements (distributions) are generated in relation to quality metric(s) classes (QMCs)—for each quality metric(s) class, the statistical measurement generator (108) generates the distribution of a variable by computing a statistic. Examples of statistics, without limitation, include mean, median, variance, and percentiles.
Statistical measurements are not limited to mean, median, variance and percentiles and may be based on any kind of statistic that summarizes in a single number the distribution of raw values of variables and that yields a summary of the experimental data in a meaningful manner. For example, the statistical measurements may provide a summary of the experimental data that ultimately may provide insight into the capability of the number of mistakes that a computer system can afford a corresponding hard drive to make or a tolerable semiconductor yield factor.
For every quality metric, the quality metric clustering processor (106) determines a class or cluster for each of the one or more quality metrics and the statistical measurement generator (108) receives the raw values of variables from the data collection device (102) and discretized the quality metrics received from the quality metric clustering processor (106). The statistical measurement generator (108) obtains statistical measurements of each variable's distribution in relation to each class of the one or more quality metrics. For example, a designer my select four levels of a quality metric classification: excellent, very good, acceptable and unacceptable, where excellent and very good are indicative of value. The statistical measurements of every feature for every identified class for each quality metric may be analyzed to ultimately determine which of the features are, for example, increasing with the increasing order of the class.
An example output, without limitation, generated by the statistical measurement generator (108) is provided in
In one embodiment of the disclosure, the statistical measurement generator (108) is a physical or virtual device that may be used for performing various embodiments of the disclosure. The physical device may correspond to any physical system with functionality to implement one or more embodiments of the disclosure.
Alternatively, the physical device may be a special purpose computing device that includes one or more application-specific processor(s) (or hardware) configured to only execute embodiments of the disclosure. In such cases, the physical device may implement embodiments of the disclosure in hardware as a family of circuits and may retain limited functionality to receive input and generate output in accordance with various embodiments of the disclosure. In addition, such computing devices may use a state-machine to implement various embodiments of the disclosure.
In another embodiment of the disclosure, the physical device may correspond to a computing device that includes one or more general purpose processor(s) and one or more application-specific processor(s) (or hardware). In such cases, one or more portions of the disclosure may be implemented using the operating system and general purpose processor(s), while one or more portions of the disclosure may be implemented using the application-specific processor(s) (or hardware).
In one embodiment of the invention, the statistical measurement generator (108) includes executable instructions (stored in a non-transitory computer readable medium (not shown)), which when executed, enable the statistical measurement generator (108) to perform one or more methods described below (see e.g.,
In one embodiment of the invention, the dataset integration engine (110) may be implemented using one or more computing devices functionally equipped to generate a dataset associating each quality metric(s) class to respective statistical measurements. In an embodiment of the invention, the dataset integration engine (110) consolidates the distributions of the variables and the quality metric classes received from the statistical measurement generator (108) and temporarily stores the consolidated information in a database or a storage. For example, the dataset integration engine (110) may temporarily store the consolidated information, the dataset, in a non-persistent memory (1006),
A non-limiting example of the output generated by the dataset integration engine (110) is provided by the table of
In one embodiment of the disclosure, the dataset integration engine (110) is a physical or virtual device that may be used for performing various embodiments of the disclosure. The physical device may correspond to any physical system with functionality to implement one or more embodiments of the disclosure.
Alternatively, the physical device may be a special purpose computing device that includes one or more application-specific processor(s) (or hardware) configured to only execute embodiments of the disclosure. In such cases, the physical device may implement embodiments of the disclosure in hardware as a family of circuits and may retain limited functionality to receive input and generate output in accordance with various embodiments of the disclosure. In addition, such computing devices may use a state-machine to implement various embodiments of the disclosure.
In another embodiment of the disclosure, the physical device may correspond to a computing device that includes one or more general purpose processor(s) and one or more application-specific processor(s) (or hardware). In such cases, one or more portions of the disclosure may be implemented using the operating system and general purpose processor(s), while one or more portions of the disclosure may be implemented using the application-specific processor(s) (or hardware).
In one embodiment of the invention, the dataset integration engine (110) includes executable instructions (stored in a non-transitory computer readable medium (not shown)), which when executed, enable the dataset integration engine (110) to perform one or more methods described below (see e.g.,
In one embodiment of the disclosure, the correlation determination engine (112) may be implemented using one or more computing devices functionally equipped to perform mining to determine correlations between the discretized classes generated by the quality metric clustering processor (106) for determining a pattern of the quality metrics in an effort to reduce the number of design cycles implemented for developing a hardware component.
In one embodiment of the disclosure, the correlation determination engine (112) is a physical or virtual device that may be used for performing various embodiments of the disclosure. The physical device may correspond to any physical system with functionality to implement one or more embodiments of the disclosure.
Alternatively, the physical device may be a special purpose computing device that includes one or more application-specific processor(s) (or hardware) configured to only execute embodiments of the disclosure. In such cases, the physical device may implement embodiments of the disclosure in hardware as a family of circuits and may retain limited functionality to receive input and generate output in accordance with various embodiments of the disclosure. In addition, such computing devices may use a state-machine to implement various embodiments of the disclosure.
In another embodiment of the disclosure, the physical device may correspond to a computing device that includes one or more general purpose processor(s) and one or more application-specific processor(s) (or hardware). In such cases, one or more portions of the disclosure may be implemented using the operating system and general purpose processor(s), while one or more portions of the disclosure may be implemented using the application-specific processor(s) (or hardware).
In one embodiment of the invention, the correlation determination engine (112) includes executable instructions (stored in a non-transitory computer readable medium (not shown)), which when executed, enable the correlation determination engine (112) to perform one or more methods described below (see e.g.,
While the various steps in the flowchart shown in
In step 202, a quality metric clustering processor (e.g., 106,
In some embodiments, the set of experimental data results from an application of a set of variables to a hardware component under development or the fabrication of the hardware component. In some embodiments, the set of experimental data is collected by a data collection device (e.g., 102,
In Step 204, the quality metric clustering processor determines whether additional sets of experimental data are received from the data collection device and if so, the process returns to and performs steps 202 and 204. Otherwise, in response to determining there are no further sets of experimental data, the process proceeds to step 206. For example, in the graph of
The quality metric clustering processor may determine the discretized classes of the quality metrics where the discretized classes of the quality metrics are determined independently from a determination of discretized classes of a different quality metric. The discretized classes of the quality metrics are a classification of the quality metrics in an order of values of the experimental data.
In step 208, the statistical measurement generator (108) generates statistical measurements for each variable per each QMC. The statistical measurement generator may obtain statistical measurements of the variables to determine correlations between the discretized classes of the quality metrics and the statistical measurements of the variables to reduce the number of design cycles implemented on the hardware component during the developing of the hardware component.
An example of statistical measurements per variable, per QMC, is shown in
At step 208, in an embodiment of the invention, the dataset integration engine (110) generates a dataset based on the statistical measurements per variable, per QMC, from the statistical measurement generator (108). As earlier described, the dataset corresponds to the classes of the quality metrics of the statistics measurements of the variables from the statistical measurement generator (108). The dataset integration engine (110) provides the dataset to the correlation determination engine (112) for applying a rank-correlated mining algorithm to mine for patterns of rank correlation.
In step 212, the correlation determination engine (e.g., 112,
An example output of the quality metric clustering processor may be the table of
With continued reference to
In
The table of
The mining algorithm allows for the selection of rank correlation patterns based on a frequency in a particular statistical dataset. For example, the algorithm may generate the information shown in
As discussed above, embodiments of the disclosure may be implemented using computing devices.
The computing device (1000) may include one or more computer processors (1010), non-persistent storage (1006) (e.g., volatile memory, such as random access memory (RAM), cache memory), persistent storage (1008) (e.g., a hard disk, an optical drive such as a compact disk (CD) drive or digital versatile disk (DVD) drive, a flash memory, etc.), a communication interface (1012) (e.g., Bluetooth® interface, infrared interface, network interface, optical interface, etc.), input devices (1004), output devices (1002), and numerous other elements (not shown) and functionalities. Each of the components illustrated in
In one embodiment of the disclosure, the computer processor(s) (1010) may be an integrated circuit for processing instructions. For example, the computer processor(s) may be one or more cores or micro-cores of a processor. The computing device (1000) may also include one or more input devices (1004), such as a touchscreen, keyboard, mouse, microphone, touchpad, electronic pen, or any other type of input device. Further, the communication interface (1012) may include an integrated circuit for connecting the computing device (1000) to a network (not shown) (e.g., a local area network (LAN), a wide area network (WAN) such as the Internet, mobile network, or any other type of network) and/or to another device, such as another computing device.
In one embodiment of the disclosure, the computing device (1000) may include one or more output devices (1002), such as a screen (e.g., a liquid crystal display (LCD), a plasma display, touchscreen, cathode ray tube (CRT) monitor, projector, or other display device), a printer, external storage, or any other output device. One or more of the output devices may be the same or different from the input device(s). The input and output device(s) may be locally or remotely connected to the computer processor(s) (1010), non-persistent storage (1006), and persistent storage (1008). Many different types of computing devices exist, and the aforementioned input and output device(s) may take other forms.
Specific embodiments of the invention will now be described in detail with reference to the accompanying figures. In the following detailed description of the embodiments of the invention, numerous specific details are set forth in order to provide a more thorough understanding of the invention. However, it will be apparent to one of ordinary skill in the art that the invention may be practiced without these specific details. In other instances, well-known features have not been described in detail to avoid unnecessarily complicating the description.
In the above description of the figures, any component described with regard to a figure, in various embodiments, may be equivalent to one or more like-named components shown and/or described with regard to any other figure. For brevity, descriptions of these components may not be repeated with regard to each figure. Thus, each and every embodiment of the components of each figure is incorporated by reference and assumed to be optionally present within every other figure having one or more like-named components. Additionally, in accordance with various embodiments described herein, any description of the components of a figure is to be interpreted as an optional embodiment, which may be implemented in addition to, in conjunction with, or in place of the embodiments described with regard to a corresponding like-named component in any other figure.
Throughout the application, ordinal numbers (e.g., first, second, third, etc.) may be used as an adjective for an element (i.e., any noun in the application). The use of ordinal numbers is not to imply or create any particular ordering of the elements nor to limit any element to being only a single element unless expressly disclosed, such as by the use of the terms “before”, “after”, “single”, and other such terminology. Rather, the use of ordinal numbers is to distinguish between the elements. By way of an example, a first element is distinct from a second element, and the first element may encompass more than one element and succeed (or precede) the second element in an ordering of elements.
As used herein, the phrase operatively connected, or operative connection, means that there exists between elements/components/devices a direct or indirect connection that allows the elements to interact with one another in some way. For example, the phrase ‘operatively connected’ may refer to any direct (e.g., wired directly between two devices or components) or indirect (e.g., wired and/or wireless connections between any number of devices or components connecting the operatively connected devices) connection. Thus, any path through which information may travel may be considered an operative connection.
While embodiments described herein have been described with respect to a limited number of embodiments, those skilled in the art, having the benefit of this Detailed Description, will appreciate that other embodiments can be devised which do not depart from the scope of embodiments as disclosed herein. Accordingly, the scope of embodiments described herein should be limited only by the attached claims.