Semiconductor manufacturing MES system machine modeling configuration management system and method
By using database management and dynamic configuration loading, the problem of needing to modify code and restart the system for machine modeling and configuration in existing technologies has been solved, achieving efficient and flexible configuration management and improving the system's adaptability and production management efficiency.
Patent Information
- Application Number
- CN202511904661.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-17
- Publication Date
- 2026-01-16
AI Technical Summary
In existing technologies, machine modeling and configuration require code modification and system restart, resulting in heavy development work and poor system flexibility, making it difficult to adapt to frequent process changes and machine model updates in the manufacturing industry.
The system employs a database-based storage module to manage modeling configuration files. The loading module dynamically loads the configuration of the selected model during system runtime. The application module executes display, verification, and linkage logic. Boolean expressions and dependency graphs are used to dynamically adjust configuration items, reducing code modifications and system restarts.
It improves the maintainability and efficiency of configuration management, reduces operation and maintenance costs, enhances system flexibility and production management convenience, and supports rapid adaptation to changes in machine models and process updates in the manufacturing industry.
Smart Images

Figure CN121349522A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of semiconductor manufacturing technology, and in particular relates to a management system and method for machine modeling and configuration in a semiconductor manufacturing MES system. Background Technology
[0002] In the field of MES (Manufacturing Execution System), machine modeling and configuration is a crucial step in achieving digital management of machines. In existing technologies, machine modeling and configuration are typically hard-coded and directly embedded in the system source code; that is, configuration rules and logic are fixed within the program code. For example, when a semiconductor manufacturer needs to adjust machine type classifications or update configuration items, developers must manually modify the code, then recompile, test, and deploy the system. This process often involves complex development workflows and strict version control. Furthermore, existing systems often use a static approach to loading configurations, meaning configuration information is loaded all at once upon system startup. This means any configuration change requires a system restart to take effect, increasing maintenance costs and potentially disrupting production continuity due to system downtime. This hard-coding and static loading method results in inefficient configuration adjustments, making it difficult to adapt to frequent process changes and machine type updates in manufacturing. This highlights the main technical problem: adjusting modeling configurations requires code modification and system restarts, leading to heavy development workloads and poor system flexibility. Summary of the Invention
[0003] The technical problem to be solved by the present invention is to provide a management system, method, equipment and medium for machine modeling and configuration of semiconductor manufacturing MES system, which effectively solves the problems of heavy development work and poor system flexibility caused by the need to modify code and restart the system due to configuration adjustment in the prior art.
[0004] The first aspect of this invention discloses a management system for machine modeling and configuration in a semiconductor manufacturing MES system, comprising: a storage module, a loading module, and an application module; The storage module is used to store modeling configuration files based on a database and supports management operations on the configuration files; The loading module is used to dynamically load the modeling configuration of the selected model during system runtime; The application module is used to apply the modeling configuration, and the application module executes the following process when applying the modeling configuration: Based on the user's selected device model, the modeling configuration is loaded via the loading module; Execute the display logic, including the required flags, hidden or grayed-out states, and optional values of the display configuration items; After receiving the configuration item values input by the user, the validation logic is executed, performing mandatory field validation and value range validation based on the applicable rule group of the current configuration item; The system executes a linkage logic to update the applicable rule group of dependent configuration items based on changes in configuration item values. The applicable rule group is dynamically selected from multiple rule groups, and each rule group has mutually exclusive applicable conditions. The applicable conditions are Boolean expressions that depend on the current values of other configuration items. When a configuration item value changes, the applicable conditions are recalculated. If the conditions are met, the corresponding rule group is activated; otherwise, the default rule group is used.
[0005] In the aforementioned management system, the Boolean expression defined by the applicable conditions of the rule group in the linkage logic supports nested expressions. The nested expressions combine multiple configuration item references through logical operators to form complex conditional logic based on the current values of multiple configuration items. When the value of any referenced configuration item changes, the application module re-evaluates the truth value of the entire nested expression to dynamically determine the applicability of the rule group and realize multi-level configuration item linkage.
[0006] In the aforementioned management system, the storage module is also used to perform operations such as adding, updating, deleting, backing up, and rolling back the modeling configuration file.
[0007] The aforementioned management system also includes a caching module. When the loading module dynamically loads the modeling configuration, it performs the following steps: The cache record is retrieved from the cache module based on the model identifier. The cache record includes the model identifier, modeling configuration, and last update time. If the cached record exists and its most recent update time matches the update time of the record in the storage module, the modeling configuration in the cached record is returned; otherwise, the latest modeling configuration file is read from the storage module, parsed into a data structure that the system can recognize, the parsing process includes data type conversion and default value setting, and the parsed modeling configuration is cached through the cache module and then returned.
[0008] In the aforementioned management system, the applicable conditions for the rule groups in the linkage logic are defined as Boolean expressions, the values of which depend on the current values of other configuration items. The Boolean expression contains configuration item identifiers, comparison operators, and logical operators. When loading the modeling configuration, the application module parses the Boolean expression into a system-recognizable data structure and evaluates the truth value of the Boolean expression when the configuration item value changes, so as to dynamically determine the applicability of the rule group. The parsing process includes: extracting Boolean expressions from the modeling configuration file and converting them into an abstract syntax tree or a precompiled expression object, while identifying configuration item identifiers in the expression to map them to actual configuration items; the evaluation of the truth value of the Boolean expression is based on the values of all relevant configuration items at present, and the expression result is judged by performing comparison operators and logical operators: when the expression result is true, the corresponding rule group is activated, otherwise it is not activated.
[0009] In the aforementioned management system, the applicable conditions of the rule group include references to other configuration item identifiers, so that the logic of the applicable conditions is dynamically calculated based on the current value of the referenced configuration item; The dynamic calculation is achieved by maintaining a dependency graph through the application module. The dependency graph stores the configuration item identifiers and their dependencies referenced by the applicable conditions of each rule group in a graph data structure. When the value of any configuration item changes, the application module locates all affected rule groups according to the dependency graph and recalculates the truth values of the Boolean expressions of their applicable conditions in batches. The batch recalculation includes: evaluating the truth values of Boolean expressions of multiple rule groups in parallel or sequentially, updating the activation status of rule groups based on the truth value results, and synchronously adjusting the display logic and validation logic of dependent configuration items; optimizing the calculation path through the dependency graph to avoid redundant calculations.
[0010] The aforementioned management system includes a cache module that stores parsed modeling configuration records. Each cache record is associated with a device identifier and the most recent update time, and the cache validity is determined by comparing the update time.
[0011] The aforementioned management system includes a mandatory field check and a value range check. The mandatory field check verifies whether the configuration item value is empty, and the value range check ensures that the configuration item value is within a preset value or enumeration range.
[0012] The second aspect of this invention discloses a management method for machine modeling and configuration in a semiconductor manufacturing MES system, comprising the following steps: Storage steps: The database stores the modeling configuration file and supports management operations on the configuration file; Loading steps: Dynamically load the modeling configuration of the selected machine model during system runtime; Application steps: Apply the modeling configuration, and the application steps include the following sub-steps: Based on the user's selected device model, the modeling configuration is loaded through a loading process. Execute the display logic, including the required flags, hidden or grayed-out states, and optional values of the display configuration items; After receiving the configuration item values input by the user, the validation logic is executed, performing mandatory field validation and value range validation based on the applicable rule group of the current configuration item; The system executes a linkage logic to update the applicable rule group of dependent configuration items based on changes in configuration item values. The applicable rule group is dynamically selected from multiple rule groups, and each rule group has mutually exclusive applicable conditions. The applicable conditions are Boolean expressions that depend on the current values of other configuration items. When a configuration item value changes, the applicable conditions are recalculated. If the conditions are met, the corresponding rule group is activated; otherwise, the default rule group is used.
[0013] A third aspect of the present invention discloses an electronic device, comprising: a memory and a processor, wherein the processor and the memory are connected; The memory is used to store programs; The processor invokes a program stored in the memory to execute the method provided in the second aspect embodiment described above.
[0014] The fourth aspect of the present invention discloses a computer-readable storage medium having a computer program stored thereon, the computer program being executed by a computer to perform the method provided in the second aspect embodiment.
[0015] Compared with existing technologies, this invention has the following advantages: First, the storage module stores modeling configuration files based on a database and supports management operations, completely separating configuration information from the system code. Administrators can directly add, update, delete, or back up configurations through the database interface without modifying the source code. This significantly reduces the coding, testing, and deployment workload for developers, avoids errors and version control chaos caused by code modifications, and thus improves the maintainability and efficiency of configuration management. Second, the loading module dynamically loads the modeling configuration of the selected machine model during system runtime. Performance is optimized through a caching mechanism. The loading module first attempts to find the configuration record in the cache; if it exists and has not expired, it returns directly; otherwise, it rereads and parses the configuration file from the storage module. This design ensures that configuration changes take effect in real time without restarting system services, significantly reducing maintenance downtime and costs, and improving system continuity and response speed. Furthermore, the application module applies modeling configurations through display logic, validation logic, and linkage logic. The linkage logic automatically updates the applicable rule groups for dependent configuration items based on changes in configuration item values. The selection of rule groups is based on mutual exclusion conditions and default rule groups, achieving dynamic association and adaptive adjustment between configuration items. This enhances the system's flexibility, making configuration adjustments more intelligent and efficient, and avoiding the tediousness of manual intervention. Overall, these features work together to enable the MES system to quickly adapt to changes in machine models and process updates in manufacturing, thereby improving the convenience and reliability of production management.
[0016] The technical solution of the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. Attached Figure Description
[0017] Figure 1 This is a system module diagram of Example 1.
[0018] Figure 2 This is a schematic diagram of a cache pool.
[0019] Figure 3 A schematic diagram of the configuration structure for modeling.
[0020] Figure 4Load the flowchart for modeling configuration. Detailed Implementation
[0021] Example 1 like Figure 1 As shown, a management system for machine modeling and configuration in a semiconductor manufacturing MES system includes: a storage module, a loading module, and an application module; The storage module is used to store modeling configuration files based on a database and supports management operations on the configuration files; The loading module is used to dynamically load the modeling configuration of the selected model during system runtime; The application module is used to apply the modeling configuration, and the application module executes the following process when applying the modeling configuration: Based on the user's selected device model, the modeling configuration is loaded via the loading module; Execute the display logic, including the required flags, hidden or grayed-out states, and optional values of the display configuration items; After receiving the configuration item values input by the user, the validation logic is executed, performing mandatory field validation and value range validation based on the applicable rule group of the current configuration item; The system executes a linkage logic to update the applicable rule group of dependent configuration items based on changes in configuration item values. The applicable rule group is dynamically selected from multiple rule groups, and each rule group has mutually exclusive applicable conditions. The applicable conditions are Boolean expressions that depend on the current values of other configuration items. When a configuration item value changes, the applicable conditions are recalculated. If the conditions are met, the corresponding rule group is activated; otherwise, the default rule group is used. Specifically, the selection of the applicable rule set is based on the formula: ①, ② to N are the applicable conditions of the rule group, N is a natural number, the applicable conditions are mutually exclusive, and the default rule group is enabled when no other rule group is applicable.
[0022] During implementation, the system operates on a modular architecture. The storage module uses a database (such as MySQL) to store modeling configuration files, in JSON or XML format, containing all configuration items and rule group definitions corresponding to the device model. The loading module dynamically loads the configuration during system runtime, avoiding service restarts. The application module handles the user interaction flow. When a user specifies a device model, such as "etching machine," in the selection interface, the system triggers the configuration loading process through the loading module. See also... Figure 4 and Figure 3As shown, the loading module checks if a valid record for the machine model exists in the cache. If the cached record exists and has not expired, it directly returns the cached data; otherwise, it reads the latest configuration file from the storage module, parses it into a system-recognizable data structure (including data type conversion and default value settings), and caches the result. This dynamic loading mechanism enables real-time configuration updates without code modification or system restarts, thus reducing operational costs. For example, in an etching machine configuration scenario, after a user selects a machine model, the system can complete the loading within milliseconds, while traditional hard-coding methods require a time-consuming restart.
[0023] Next, the system executes the display logic, rendering the user interface based on the loaded modeling configuration. The display logic includes showing the required fields, hidden or grayed-out states, and optional values for each configuration item. For example, for the "Operating Temperature" configuration item, if its applicable rule group specifies it as required, the interface displays a red asterisk as a required field. Simultaneously, the applicable conditions of the rule group may depend on other configuration items; for instance, "Operating Temperature" is only editable when "Cooling Method" is "Water Cooling," otherwise it is grayed out. The system also displays a list of optional values, such as a drop-down menu showing the range of "Operating Temperature" from 50℃ to below 200℃. By dynamically adjusting interface elements based on rule group conditions, the system achieves an intuitive display and input guidance for configuration items, improving user operation efficiency and accuracy. In the etching machine example, the display logic ensures that users only see relevant configuration items, avoiding invalid interactions.
[0024] Then, after the user inputs a configuration value, the system executes validation logic, verifying it based on the applicable rule group for the current configuration item. The validation logic includes mandatory field verification and value range verification. For example, if the user inputs 150℃ for "operating temperature," the system checks the applicable rule group for this configuration item: if the rule group requires it to be mandatory, it verifies whether the input is empty; simultaneously, it performs a value range verification to ensure that 150℃ is within the preset range of 50℃ to 200℃. If the input is invalid, such as 300℃, the system displays an error message in real time. Through rule-group-driven dynamic validation, data integrity and consistency are guaranteed, reducing system anomalies caused by configuration errors. In etching machine scenarios, this validation mechanism can adapt to new rules without code changes, whereas traditional methods require recompilation.
[0025] Finally, the system executes the linkage logic, updating the applicable rule groups for dependent configuration items based on changes in configuration item values. This linkage logic is based on a rule group selection mechanism, where the applicable rule group is dynamically selected from multiple rule groups, including rule group 1, rule group 2, and so on up to rule group N and a default rule group. Each rule group has mutually exclusive applicable conditions (such as condition ①, condition ②), and the default rule group is activated when other rule groups are not applicable. Applicable conditions can include values from other configuration items, enabling dynamic dependencies. For example, in the etching machine configuration, when the user changes the "cooling method" from "air cooling" to "water cooling," the applicable rule group for "operating temperature" switches from rule group 1 (applicable condition: cooling method = air cooling, narrow temperature range) to rule group 2 (applicable condition: cooling method = water cooling, wide temperature range). The system recalculates the applicable rule groups for all dependent configuration items and updates the interface display. Through this conditional mutual exclusion and referencing mechanism, intelligent linkage between configuration items is achieved, improving system adaptability and maintainability. The linkage logic handles new configurations without code modification, whereas traditional static methods require full deployment.
[0026] The entire technology implementation, through modular collaboration and dynamic processes, enables flexible management of machine modeling and configuration. In semiconductor manufacturing scenarios, such as when adding a new "deposition machine" model, the administrator only needs to update the configuration file through the storage module. The system dynamically applies the changes during runtime, reducing development and testing work and system downtime, thereby achieving reduced maintenance costs and improved efficiency.
[0027] In one embodiment, the applicable conditions may include the values of other configuration items, that is, whether the rule group applies depends on the values of other configuration items, thereby realizing the linkage logic between configuration items.
[0028] In the management system of machine modeling and configuration in MES, the ability to include the values of other configuration items in the applicability conditions is the core mechanism for implementing linkage logic. This feature allows the applicability of rule groups to be dynamically determined based on the current state of other configuration items, thus supporting complex configuration dependencies. Implementing this mechanism first requires defining the structure of the applicability conditions. Applicability conditions are typically stored in the modeling configuration file as Boolean expressions, for example, using JSON or XML format. The applicability conditions of each rule group can reference the identifiers of other configuration items and include comparison operators (such as equal to, greater than) and logical operators (such as AND, OR) to form a computable expression. For example, in the configuration of the "etching machine" model, the rule group for the configuration item "operating temperature" might have an applicability condition defined as "cooling method = 'water cooling'", meaning that this rule group only applies when the value of the "cooling method" configuration item is "water cooling". By defining the applicability conditions as parsable expressions, the externalization and configurability of conditional logic are achieved, avoiding the rigidity caused by hard coding.
[0029] The parsing and calculation of applicable conditions are performed when the system loads the modeling configuration. After parsing the configuration file, the loading module converts the applicable conditions into an executable data structure within the system, such as an abstract syntax tree or a precompiled expression object. This process includes identifying the configuration item references in the expression (such as "cooling method") and mapping them to the actual configuration item objects. When the user interacts with the system, the application module monitors the changes in the values of the configuration items in real time. For example, in the "etching machine" configuration interface, when the user modifies the value of the "cooling method", the system triggers the recalculation of the applicable conditions. The calculation process is based on the values of all current relevant configuration items and evaluates the truth value of the boolean expression. If the expression result is true, the corresponding rule group is activated; otherwise, the system continues to check other rule groups or reverts to the default rule group. By dynamically parsing and calculating the applicable conditions, real-time linkage between configuration items is achieved, ensuring that the selection of the rule group always reflects the current configuration state.
[0030] For example, in the configuration scenario of the "etching machine" model, assume there are two configuration items: "cooling method" and "operating temperature". The configuration item "operating temperature" defines multiple rule groups, including rule group A and rule group B. The applicable condition for rule group A is "cooling method = 'water cooling'", and the applicable condition for rule group B is "cooling method = 'air cooling'". The default rule group is enabled when no other conditions apply. When the user first selects the "etching machine" model, the system loads the modeling configuration and initializes the applicable conditions. If the user sets the "cooling method" to "water cooling", the application module calculates that the applicable condition for rule group A is true, thus activating rule group A, which may mean that the value range of "operating temperature" is set to 50°C to 200°C. If the user then changes the "cooling method" to "air cooling", the system recalculates the conditions, rule group A is no longer applicable, and rule group B is activated, possibly resulting in the value range of "operating temperature" becoming 30°C to 100°C. Through this conditional calculation based on the values of other configuration items, intelligent adaptation of the configuration items is achieved without manual adjustment or code modification.
[0031] The application of applicable conditions is not limited to simple value comparisons but also supports complex logic. For example, the applicable conditions can include references to multiple configuration items and nested expressions, such as "cooling method = 'water cooling' AND ambient humidity > 50%". In this scenario, the system needs to monitor the changes in the values of both the "cooling method" and "ambient humidity" configuration items simultaneously and re-evaluate the conditions whenever either value changes. In implementation, the application module maintains a dependency graph to track the configuration items referenced by each applicable condition. When the value of a configuration item is updated, the system quickly locates all the rule groups that depend on it and batch-recalculates the applicable conditions. Through this efficient dependency management, high-performance linkage under large-scale configurations is achieved, avoiding unnecessary computational overhead.
[0032] By allowing applicable conditions to include values for other configuration items, high flexibility and scalability in configuration management are achieved. In semiconductor manufacturing environments, different machine types may have unique dependency rules; for example, the cooling method of an "etching machine" affects the temperature range, while a "deposition machine" may involve the linkage between air pressure and speed. This mechanism allows administrators to easily adjust the linkage logic by modifying configuration files without developer intervention. Ultimately, through dynamic condition calculation and real-time updates, system maintenance costs are reduced, configuration accuracy and responsiveness are improved, and rapid adaptation to manufacturing processes is supported.
[0033] In one embodiment, the Boolean expression defined by the applicable conditions of the rule group in the linkage logic supports nested expressions. The nested expressions combine multiple configuration item references through logical operators to form complex conditional logic based on the current values of multiple configuration items. When the value of any referenced configuration item changes, the application module re-evaluates the truth value of the entire nested expression to dynamically determine the applicability of the rule group and realize multi-level configuration item linkage.
[0034] In implementation, the applicable conditions of rule groups in the linkage logic support nested expressions through Boolean expressions to achieve complex conditional logic and multi-level configuration item linkage. Nested expressions are stored in the modeling configuration file in text form, combining multiple configuration item references using logical operators (such as AND and OR) to form complex conditions based on the current values of multiple configuration items. For example, in the configuration of the "etching machine" model, the applicable condition of rule group C can be defined as the nested expression "Cooling method = 'water cooling' AND ambient humidity > 50% OR equipment status = 'running'". This expression simultaneously references three configuration items: "cooling method", "ambient humidity", and "equipment status", forming a multi-level dependency relationship. When the application module loads the modeling configuration, it first parses the nested expressions: converting the expressions into a system-recognizable data structure, such as an abstract syntax tree, where logical operators are nodes and configuration item references are leaf nodes to reflect the hierarchical structure of the expressions; the parsing process includes identifying all configuration item identifiers (such as "cooling method") and mapping them to actual configuration item objects in memory. When the value of any referenced configuration item changes (e.g., the user modifies "ambient humidity" from 40% to 60%), the application module triggers a re-evaluation mechanism: based on the values of all relevant configuration items, it recursively traverses the abstract syntax tree, performs operator operations (e.g., first evaluates the truth value of "cooling method = 'water cooling'", then performs an AND operation with the result of "ambient humidity > 50%", and finally performs an OR operation with "device status = 'running'"), and determines the truth value of the entire nested expression. If the expression result is true, the corresponding rule group (e.g., rule group C) is activated, and the display logic and validation logic of the dependent configuration items are updated synchronously; otherwise, the rule group remains inactive. Through this nested expression mechanism, the system can handle complex process conditions in semiconductor manufacturing, such as allowing temperature parameter adjustments only when the cooling method is water cooling and the ambient humidity is suitable, thereby improving the accuracy of configuration and system adaptability.
[0035] In one embodiment, the storage module is also used to perform add, update, delete, backup, and rollback operations on the modeling configuration file.
[0036] During implementation, the storage module provides these management functions through a database interface. For example, a relational database such as MySQL is used to store modeling configuration files, with file formats including JSON or XML. The "Add" operation allows system administrators to upload new configuration files via a graphical user interface or API. For instance, when a semiconductor manufacturing plant introduces a new "deposition machine" model, the administrator can upload a file containing all configuration items and rule groups for that model. The system automatically verifies the file format and stores it in the database. The "Update" operation supports modifying existing configurations, such as changing the "operating temperature" range of the "etching machine" from 50℃ to 200℃ to 60℃ to 180℃. Administrators can directly edit the file content on the interface, and the system records version history to ensure traceability. The "Delete" operation removes invalid or outdated configurations, such as deleting old model files that are no longer used, avoiding data redundancy. The "Backup" operation periodically archives configuration files to a secure location, such as cloud storage or a local backup server, to prevent data loss. The "Rollback" operation is enabled in case of configuration errors. For example, if an update causes an anomaly in the system's verification logic, the administrator can quickly roll back to a previous stable version to restore normal system operation. These operations enable dynamic management of configuration files, reducing the complexity of system maintenance. Externalized configuration management eliminates the need for code modifications, thereby lowering development and testing costs and improving system maintainability. In etching machine configuration scenarios, administrators can directly handle configuration changes without relying on the development team, significantly shortening response time.
[0037] See Figure 2 As shown, in one embodiment, a caching module is also included. When the loading module dynamically loads the modeling configuration, it performs the following steps: The cache record is retrieved from the cache module based on the model identifier. The cache record includes the model identifier, modeling configuration, and last update time. If the cached record exists and its most recent update time matches the update time of the record in the storage module, the modeling configuration in the cached record is returned; otherwise, the latest modeling configuration file is read from the storage module, parsed into a data structure that the system can recognize, the parsing process includes data type conversion and default value setting, and the parsed modeling configuration is cached through the cache module and then returned.
[0038] In implementation, the loading module performs the following steps when the user selects a machine model: First, it searches for a cached record in the cache module based on the machine model identifier, such as "etching machine_ID". If the record exists and its most recent update time matches the update time recorded in the storage module, the configuration data in the cache is returned directly; otherwise, subsequent steps are executed. For example, when a user configures the etching machine for the first time, there is no record in the cache. The loading module reads the latest modeling configuration file from the storage module and then performs a parsing process, including data type conversion (such as converting string values in the configuration file to integer types) and default value setting (such as setting the default value of 100℃ for the "operating temperature" configuration item). After parsing, the loading module stores the result in the cache module, updates the most recent update timestamp, and finally returns the configuration data. In subsequent requests, if the configuration has not changed, the system directly returns data from the cache, significantly improving loading speed. Through the caching mechanism, high efficiency in configuration loading is achieved. By reducing the number of database accesses and parsing overhead, system latency is reduced, and user experience is improved. Especially in scenarios with frequent configuration access, such as when multiple users operate simultaneously, the cache can effectively distribute the load.
[0039] In one embodiment, the applicable conditions of the rule group in the linkage logic are defined as Boolean expressions, the values of which depend on the current values of other configuration items.
[0040] The Boolean expression contains configuration item identifiers, comparison operators, and logical operators. When loading the modeling configuration, the application module parses the Boolean expression into a system-recognizable data structure and evaluates the truth value of the Boolean expression when the configuration item value changes, so as to dynamically determine the applicability of the rule group. The parsing process includes: extracting Boolean expressions from the modeling configuration file and converting them into an abstract syntax tree or a precompiled expression object, while identifying configuration item identifiers in the expression to map them to actual configuration items; the evaluation of the truth value of the Boolean expression is based on the values of all relevant configuration items at present, and the expression result is judged by performing comparison operators and logical operators: when the expression result is true, the corresponding rule group is activated, otherwise it is not activated.
[0041] During implementation, applicable conditions are defined in the modeling configuration file as expressions, such as using Boolean logic similar to programming languages, like "cooling method = 'water cooling' AND operating temperature > 100". When parsing the configuration, the application module converts these expressions into executable objects, such as an internal expression tree, and establishes dependencies between configuration items. When a user modifies a configuration item value, the system calculates the truth value of the expression in real time. For example, in the etching machine configuration, the applicable condition for rule group A is "cooling method = 'water cooling'". When the user sets "cooling method" to "water cooling", the expression result is true, rule group A is activated, and the value range of "operating temperature" may be adjusted to a wider range. Conversely, if it is set to "air cooling", rule group A is not applicable, and the system may switch to the default rule group. By defining the applicable conditions through Boolean expressions, standardization and dynamic calculation of applicable conditions are achieved, making the linkage logic more accurate and scalable. Through condition-driven automatic switching, manual intervention is reduced, improving the adaptability and accuracy of the configuration.
[0042] In implementation, the applicable conditions of rule groups in the linkage logic are dynamically selected through Boolean expressions. These Boolean expressions are stored in the modeling configuration file in text form and contain configuration item identifiers (such as "cooling method"), comparison operators (such as "=", ">"), and logical operators (such as "AND" and "OR") to express logical conditions based on other configuration item values. For example, in the configuration of the "etching machine" model, the applicable condition of rule group A can be defined as the Boolean expression "cooling method = 'water cooling' AND operating temperature > 100". When the application module loads the modeling configuration, it first extracts the Boolean expressions from the configuration file and then converts them into a system-recognizable data structure, such as an abstract syntax tree or a precompiled expression object, through a parser. The parsing process includes identifying configuration item identifiers in the expressions and mapping them to actual configuration item objects in memory to establish data associations. When a user modifies a configuration item value (e.g., changing the "cooling method" from "air cooling" to "water cooling"), the application module evaluates the truth value of a Boolean expression in real time: based on the values of all relevant configuration items, it executes the operators in the expression (e.g., comparing whether "cooling method" equals "water cooling" and checking whether "operating temperature" is greater than 100), and judges the expression result. If the expression result is true, the corresponding rule group (e.g., rule group A) is activated; otherwise, it remains inactive. This mechanism ensures the dynamic and accurate selection of rule groups, adapting to configuration changes without code modification.
[0043] In one embodiment, the applicable conditions of the rule group include references to other configuration item identifiers, such that the logic of the applicable conditions is dynamically calculated based on the current value of the referenced configuration item.
[0044] The dynamic calculation is achieved by maintaining a dependency graph through the application module. The dependency graph stores the configuration item identifiers and their dependencies referenced by the applicable conditions of each rule group in a graph data structure. When the value of any configuration item changes, the application module locates all affected rule groups according to the dependency graph and recalculates the truth values of the Boolean expressions of their applicable conditions in batches. The batch recalculation includes: evaluating the truth values of Boolean expressions of multiple rule groups in parallel or sequentially, updating the activation status of rule groups based on the truth value results, and synchronously adjusting the display logic and validation logic of dependent configuration items; optimizing the calculation path through the dependency graph to avoid redundant calculations.
[0045] In implementation, the applicable condition expression directly references the identifiers of other configuration items, such as using dot notation or key-value references in the configuration file, like "dependent_on: cooling_method, value: water_cooled". When the application module loads the configuration, it resolves these references and maintains a dependency graph to track the configuration items associated with each applicable condition. When the value of a referenced configuration item changes, the system triggers a recalculation; for example, in the etching machine configuration, the applicable condition of rule group B references the "cooling method" identifier. When the user updates the value of "cooling method", the system immediately re-evaluates all rule groups that depend on it and updates the interface display. Through the explicit reference mechanism, strong coupling and linkage between configuration items are achieved, and dynamic dependency calculation ensures the real-time selection of rule groups, avoiding the rigidity of static configuration and improving the system's responsiveness in complex scenarios.
[0046] The dynamic calculation achieves efficient batch recalculation by maintaining a dependency graph through the application module. The dependency graph is stored in memory as a graph data structure (such as an adjacency list) to track the configuration item identifiers referenced by the applicable conditions of each rule group and their dependencies. For example, in the "etching machine" configuration, the applicable conditions of rule group B reference the "cooling method" and "ambient humidity" configuration items, and the dependency graph records the mapping relationship between rule group B and these configuration items. When any configuration item value changes (e.g., the user updates the "cooling method"), the application module quickly locates all affected rule groups (e.g., rule group B and other rule groups that depend on it) based on the dependency graph and triggers the batch recalculation process. Batch recalculation includes parallel or sequential evaluation of the truth values of Boolean expressions for multiple rule groups, optimizing performance through multi-threading or queue mechanisms. The system updates the activation status of the rule groups based on the truth value results (e.g., rule group B is activated) and synchronously adjusts the display logic (e.g., updating interface elements) and validation logic (e.g., revalidating input values) of dependent configuration items. By optimizing the calculation path through the dependency graph, duplicate calculations of unchanged configuration items are avoided, ensuring real-time system response under large configurations. For example, in a semiconductor manufacturing plant, this mechanism can maintain system stability when multiple users modify the configuration simultaneously.
[0047] In one embodiment, such as Figure 3 As shown, the caching module includes a cache pool for storing parsed modeling configuration records. Each cache record is associated with a device identifier and the most recent update time, and the cache validity is determined by comparing the update time.
[0048] In implementation, the cache pool is a high-efficiency in-memory data structure, such as a hash table or a dedicated cache library, storing cache record objects with the machine model identifier as the key. Each record contains parsed configuration data and a timestamp. When the loading module searches the cache, it compares the update time in the cache record with the metadata timestamp in the storage module; if they match, the cache is considered valid; otherwise, it is considered expired. For example, in the etching machine configuration, if the administrator updates the configuration file through the storage module, the storage module will update the timestamp. If the cache module detects a timestamp inconsistency, it will invalidate the old cache record and force a reload and re-parsing of the new configuration. Through the cache pool design, consistency and reliability of cache management are achieved, dirty data issues are avoided through timestamp comparison, the real-time nature of configuration data is ensured, and access speed is improved through in-memory storage.
[0049] In one embodiment, the verification logic includes mandatory field verification and value range verification; wherein, the mandatory field verification is used to verify whether the configuration item value is empty, and the value range verification is used to ensure that the configuration item value is within a preset value or enumeration range.
[0050] During implementation, after the user inputs a configuration item value, the application module executes validation logic based on the currently applicable rule group. Required field validation checks if the input value is empty or null. For example, if the "Operating Temperature" configuration item is marked as required and the user does not input any value, the system will immediately display an error message and request additional input. Value range validation verifies whether the value is within a preset range. For example, the allowed value for "Operating Temperature" is 50℃ to 200℃. If the user inputs 250℃, the system will reject the input and display a warning. The validation process is performed in real-time, dynamically applied based on the rule group; for example, in the etching machine configuration, when the rule group changes due to linkage logic, the validation rules will also automatically adjust. By specifying the validation logic, strict control over data input is achieved, invalid configurations are prevented through real-time validation, the integrity and stability of system data are improved, and runtime errors are reduced.
[0051] Example 2 A method for managing the modeling and configuration of equipment in a semiconductor manufacturing MES system includes the following steps: Storage steps: The database stores the modeling configuration file and supports management operations on the configuration file; Loading steps: Dynamically load the modeling configuration of the selected machine model during system runtime; Application steps: Apply the modeling configuration, and the application steps include the following sub-steps: Based on the user's selected device model, the modeling configuration is loaded through a loading process. Execute the display logic, including the required flags, hidden or grayed-out states, and optional values of the display configuration items; After receiving the configuration item values input by the user, the validation logic is executed, performing mandatory field validation and value range validation based on the applicable rule group of the current configuration item; The system executes a linkage logic to update the applicable rule group of dependent configuration items based on changes in configuration item values. The applicable rule group is dynamically selected from multiple rule groups, and each rule group has mutually exclusive applicable conditions. The applicable conditions are Boolean expressions that depend on the current values of other configuration items. When a configuration item value changes, the applicable conditions are recalculated. If the conditions are met, the corresponding rule group is activated; otherwise, the default rule group is used. Specifically, the selection of the applicable rule set is based on the formula: ①, ② to N are the applicable conditions of the rule group, N is a natural number, the applicable conditions are mutually exclusive, and the default rule group is enabled when no other rule group is applicable.
[0052] The management method for machine modeling and configuration of the semiconductor manufacturing MES system provided in this embodiment has the same implementation principle and technical effect as the system embodiment in Embodiment 1. For the sake of brevity, any parts not mentioned in the method embodiment can be referred to the corresponding content in Embodiment 1.
[0053] Example 3 A computer-readable storage medium having a computer program stored thereon, the computer program being executed by a computer to perform the management method for machine modeling and configuration of a semiconductor manufacturing MES system as described in Embodiment 2 above.
[0054] Example 4 An electronic device includes: a memory and a processor, wherein the processor and the memory are connected; The memory is used to store programs; The processor calls a program stored in the memory to execute a management method for machine modeling and configuration of a semiconductor manufacturing MES system as described in Embodiment 2.
[0055] It should be noted that the electronic device mentioned may be, but is not limited to, personal computers (PCs), tablet computers, mobile internet devices (MIDs), etc.
[0056] It should be noted that processors, memory, and other components that may be present in electronic devices are electrically connected to each other, directly or indirectly, to enable data transmission or interaction. For example, processors, memory, and other components may be electrically connected to each other via one or more communication buses or signal lines.
[0057] It should be noted that the various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other.
[0058] In the several embodiments provided in this application, it should be understood that the disclosed systems and methods can also be implemented in other ways. The system embodiments described above are merely illustrative. For example, the flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram and / or flowchart, and combinations of blocks in block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0059] In addition, the functional modules in the various embodiments of this application can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.
[0060] If the aforementioned functions are implemented as software functional modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, laptop, server, mobile phone, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0061] The above description is merely a preferred embodiment of the present invention and does not constitute any limitation on the present invention. Any simple modifications, alterations, or equivalent structural changes made to the above embodiments based on the technical essence of the present invention shall still fall within the protection scope of the present invention.
Claims
1. A management system for a machine modeling configuration of a semiconductor manufacturing MES system, characterized by, Comprise: A storage module, a loading module and an application module; The storage module is used for storing modeling configuration files based on a database and supporting management operations on the configuration files; The loading module is used for dynamically loading modeling configurations of selected models during system operation; The application module is used for applying the modeling configurations, and the application module executes the following procedures when applying the modeling configurations: According to the model selected by a user, the loading module loads the modeling configurations; Execute display logic, including displaying the mandatory flag, hidden or gray state and optional values of configuration items; After receiving the configuration item values input by the user, execute verification logic, and perform mandatory verification and value range verification based on the applicable rule set of the current configuration item; Execute linkage logic, and update the applicable rule set of dependent configuration items according to the change of the configuration item values; wherein the applicable rule set is dynamically selected from multiple rule sets, each rule set is provided with mutually exclusive applicable conditions, the applicable conditions are Boolean expressions and depend on the current values of other configuration items; when the configuration item values change, the applicable conditions are recalculated, if the conditions are met, the corresponding rule set is activated, otherwise the default rule set is enabled.
2. The management system according to claim 1, characterized by The Boolean expression defined by the rule set applicable condition in the linkage logic supports nested expressions, the nested expressions combine multiple configuration item references through logical operators to form complex conditional logic based on the current values of multiple configuration items; When the value of any referenced configuration item changes, the application module reevaluates the truth value of the entire nested expression to dynamically determine the applicability of the rule set.
3. The management system of claim 1, wherein, Further comprising a cache module, when the loading module dynamically loads the modeling configurations, the following steps are executed: According to the model identification, the cache module is used to find the cache record, the cache record includes the model identification, the modeling configuration and the latest update time; If the cache record exists and the latest update time is consistent with the update time recorded in the storage module, the modeling configuration in the cache record is returned; Otherwise, the latest modeling configuration file is read from the storage module, the configuration file is parsed into a data structure recognizable by the system, the parsing process includes data type conversion and default value setting, and the parsed modeling configuration is cached through the cache module and then returned.
4. The management system of claim 1, wherein, The rule set applicable condition in the linkage logic is defined as a Boolean expression, and its value depends on the current values of other configuration items; The Boolean expression contains configuration item identifiers, comparison operators and logical operators; When the application module loads the modeling configurations, the Boolean expression is parsed into a data structure recognizable by the system, and the truth value of the Boolean expression is evaluated when the configuration item values change, to dynamically determine the applicability of the rule set; Wherein, the parsing process includes: extracting the Boolean expression from the modeling configuration file and converting it into an abstract syntax tree or a precompiled expression object, while identifying the configuration item identifiers in the expression to map to actual configuration items; the evaluation of the truth value of the Boolean expression is based on the values of all related configuration items, and the expression result is judged by performing the operations of the comparison operators and the logical operators: when the expression result is true, the corresponding rule set is activated, otherwise it is not activated.
5. The management system of claim 1, wherein, The applicable condition of the rule set includes a reference to other configuration item identifiers, so that the logic of the applicable condition is dynamically calculated based on the current values of the referenced configuration items; The dynamic calculation is implemented by an application module maintaining a dependency graph that stores the configuration item identifiers referenced by each rule set applicable condition and their dependencies in a graph data structure; when any configuration item value changes, the application module locates all affected rule sets according to the dependency graph and batch recalculates the Boolean expression truth values of their applicable conditions; The batch recalculations include: parallel or sequential evaluation of the Boolean expression truth values of multiple rule sets, updating of the rule set activation states according to the truth value results, and synchronous adjustment of the display logic and validation logic of the dependent configuration items; The calculation path is optimized through the dependency graph to avoid repeated calculations.
6. The management system of claim 3, wherein, The cache module includes a cache pool for storing parsed modeling configuration records, each cache record is associated with a model identifier and a latest update time, and the cache validity is determined by comparing the update times.
7. The management system of claim 1, wherein, The validation logic includes mandatory validation and value range validation; wherein the mandatory validation is used to verify whether the configuration item value is empty, and the value range validation is used to ensure that the configuration item value is within a preset numerical or enumeration range.
8. A management method of a machine modeling configuration of a semiconductor manufacturing MES system, characterized by, The method comprises the following steps: A storage step: storing modeling configuration files based on a database and supporting management operations on the configuration files; A loading step: dynamically loading the modeling configuration of the selected model during system operation; An application step: applying the modeling configuration, the application step comprising the following sub-steps: According to the model selected by the user, the modeling configuration is loaded through the loading step; Execute the display logic, including displaying the mandatory flag, hidden or gray state, and optional values of the configuration items; After receiving the user input configuration item value, execute the validation logic, perform mandatory validation and value range validation based on the applicable rule set of the current configuration item; Execute the linkage logic to update the applicable rule set of the dependent configuration items according to the change of the configuration item value; wherein the applicable rule set is dynamically selected from multiple rule sets, each rule set is provided with mutually exclusive applicable conditions, the applicable conditions are Boolean expressions and depend on the current values of other configuration items; when the configuration item value changes, the applicable conditions are recalculated, if the conditions are met, the corresponding rule set is activated, otherwise the default rule set is enabled.
9. An electronic device, comprising: It comprises: A memory and a processor, the processor and the memory are connected; The memory is used to store programs; The processor calls the program stored in the memory to execute the method of claim 8.
10. A computer-readable storage medium, characterized in that, A computer program is stored thereon, which is run by a computer to execute the method of claim 8.
Citation Information
Patent Citations
Dynamic display system and method for expressive control of semiconductor design form
CN120893376A
Product configuration method and system
US20030061238A1