A log recording method and device for a semiconductor manufacturing equipment embedded system

By combining circular queues and empty node management tables in embedded systems of semiconductor manufacturing equipment, the problems of unstable logging functions and low storage space utilization caused by cache space exhaustion are solved, achieving more efficient log information storage and management.

CN117112509BActive Publication Date: 2025-12-12BEIJING SEMICON EQUIP INST THE 45TH RES INST OF CETC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311062432.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-08-22
Publication Date
2025-12-12
Estimated Expiration
2043-08-22

AI Technical Summary

Technical Problem

Existing logging technologies fail to effectively manage when cache space is exhausted, resulting in unstable logging functionality and low storage space utilization.

Method used

A circular queue is used to cache log information, combined with an empty node management table, to dynamically manage cache space and ensure the storage requirements of log information are met.

Benefits of technology

It improves the stability of the logging function and the utilization rate of storage space, prevents the loss of log information, and optimizes the efficiency of storage space usage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117112509B_ABST
    Figure CN117112509B_ABST
Patent Text Reader

Abstract

The application provides a log recording method and device of a semiconductor manufacturing equipment embedded system, the method comprising: obtaining log information generated under a target subsystem; extracting a system identifier in the log information and determining a circular queue corresponding to the system identifier, the circular queue comprising a plurality of available nodes arranged in storage order; judging whether a remaining space of a preset available node in the circular queue meets a storage requirement of the log information, the preset available node being a first available node in the storage order of the circular queue; if yes, storing the log information in the preset available node and deleting the preset available node from an empty node management table; and if not, determining a target available node based on the circular queue and the empty node management table and storing the log information. The application uses the empty node management table to manage the obtained storage space while using the circular queue to store the log information, thereby improving the stability of the log function and the utilization rate of the storage space.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of log recording, in particular to a log recording method and device for an embedded system of a semiconductor manufacturing device. BACKGROUND

[0002] With the rapid development of the Internet, various Internet-based application systems are increasing, and log recording and analysis of various application systems are becoming increasingly important. In particular, in the current big data era, valuable logs are recorded and extracted to track problems and analyze business logs, which can better improve the performance of software or application systems and thus improve user experience.

[0003] At present, the existing log recording technical solution is as follows: the length and format of each log are specified by using the characteristics of a storage chip, and the earliest replacement method is used to obtain a cache space, and finally the log is saved to the chip storage space. However, the use of the earliest replacement method to obtain the cache space does not consider the situation that the existing cache space is exhausted and there is no available cache space, which will affect the stability of the log function and also reduce the utilization rate of the storage space. SUMMARY

[0004] Therefore, the purpose of the present application is to provide a log recording method and device for an embedded system of a semiconductor manufacturing device, which can improve the stability of the log function and the utilization rate of the storage space by using a circular queue to cache log information and using an empty node management table to obtain a cache space.

[0005] In a first aspect, the present application provides a log recording method for an embedded system of a semiconductor manufacturing device, the method comprising: obtaining log information generated under a target subsystem in the embedded system of the semiconductor manufacturing device; extracting a system identifier in the log information and determining a node circular queue corresponding to the system identifier, the system identifier being used to determine a subsystem to which the generated log information belongs, and the node circular queue comprising a plurality of available nodes arranged in a storage order;

[0006] determining whether a remaining space of a preset available node in the node circular queue meets a storage requirement of the log information, the preset available node being an available node located at a first position in the storage order of the node circular queue; if the storage requirement of the log information is met, storing the log information to the preset available node and deleting the preset available node from an empty node management table; and if the storage requirement of the log information is not met, determining a target available node based on the node circular queue and the empty node management table to store the log information.

[0007] In an optional embodiment of the present application, the method further comprises: determining a log level corresponding to the log information according to a level identifier extracted from the log information, the level identifier being used to indicate the log level corresponding to the log information; determining whether the log level is a preset level; and storing the log information and the log level corresponding to the log information to the preset available node when the log level is the preset level.

[0008] In an optional embodiment of the present application, the determining of the target available node for storing the log information based on the node circular queue and the empty node management table comprises: determining whether the remaining space of each of the other available nodes in the node circular queue does not meet the storage requirement of the log information in the storage order; determining whether there is an available idle node in the empty node management table when all the remaining spaces of the other available nodes do not meet the storage requirement of the log information; inserting the available idle node into the node circular queue when there is an available idle node in the empty node management table, and taking the available idle node as the target available node for storing the log information; and newly creating an available node and inserting it into the node circular queue when there is no available idle node in the empty node management table, and taking the newly created available node as the target available node for storing the log information.

[0009] In an optional embodiment of the present application, the method further comprises, after storing the log information each time, performing the following steps for each available node in the node circular queue: determining whether the remaining space of the available node is empty; outputting all the log information stored in the available node and updating the node attribute of the available node when the remaining space of the available node is empty, the node attribute comprising the size of the remaining space of the available node and the number of times the remaining space has not been reduced; increasing the number of times the remaining space of the available node has not been reduced when the remaining space of the available node is not empty; determining whether the number of times the remaining space has not been reduced reaches a threshold value; outputting all the log information stored in the available node and updating the node attribute of the available node when the number of times the remaining space has not been reduced reaches the threshold value; and adding the available node after outputting all the log information to the empty node management table.

[0010] In an optional embodiment of the present application, the adding of the available node after outputting all the log information to the empty node management table comprises: determining whether there is the available node after outputting all the log information in the empty node management table; deleting the available node from the empty node management table and inserting the available node at the end of the empty node management table when there is the available node; and inserting the available node at the end of the empty node management table when there is no available node.

[0011] In an optional embodiment of the present application, the outputting all the log information stored in the available node comprises: estimating a file occupation space size of a preset log file according to a size of all the log information stored in the available node, the preset log file being a log file used for storing all the log information stored in the available node; judging whether the file occupation space size is greater than a first threshold; if the file occupation space size is greater than the first threshold, obtaining a handle corresponding to the preset log file, the handle indicating the preset log file and a next log file thereof; and storing all the log information stored in the available node into the preset log file and the next log file by blocks.

[0012] In an optional embodiment of the present application, the obtaining a handle corresponding to the preset log file comprises: judging whether there is an already-created log file; if there is no already-created log file, creating the preset log file and providing a handle of the preset log file; if there is an already-created log file, judging whether a number of the already-created log files is less than a second threshold; if the number is less than the second threshold, judging whether a file occupation space of a most recently used log file among the already-created log files is less than a third threshold; if the file occupation space is less than the third threshold, opening the most recently used log file and providing a handle of the most recently used log file; if the file occupation space is not less than the third threshold, creating the preset log file and providing a handle of the preset log file; if the number is not less than the second threshold, judging whether a file occupation space of a most recently used log file among the already-created log files is less than a third threshold; if the file occupation space is less than the third threshold, opening the most recently used log file and providing a handle of the most recently used log file; if the file occupation space is not less than the third threshold, establishing a file index circular queue, the file index circular queue comprising log files arranged in an order of being established; traversing the file index circular queue, emptying contents of a covered log file and providing a handle of the emptied log file, the covered log file being a log file located before a predetermined sequence position in the file index circular queue.

[0013] In a second aspect, the embodiments of the present application further provide a log recording device of a semiconductor manufacturing equipment embedded system, the device comprising: an acquisition module configured to acquire log information generated under a target subsystem in the semiconductor manufacturing equipment embedded system; a determination module configured to extract a system identifier from the log information, and determine a circular queue corresponding to the system identifier, the system identifier being used to indicate a subsystem to which the generated log information belongs, and the node circular queue comprising a plurality of available nodes arranged in a storage order; a judgment module configured to judge whether a remaining space of a preset available node in the node circular queue meets a storage requirement of the log information, the preset available node being an available node located at a first position in the storage order of the node circular queue; an update module configured to, if the storage requirement of the log information is met, store the log information into the preset available node, and delete the preset available node from an empty node management table; and a query module configured to, if the storage requirement of the log information is not met, determine a target available node based on the node circular queue and the empty node management table, to store the log information.

[0014] In a third aspect, the embodiments of the present application further provide an electronic device, comprising: a processor, a memory and a bus, the memory storing machine readable instructions executable by the processor, the processor and the memory communicating through the bus when the electronic device is running, and the processor executing the machine readable instructions to perform the steps of the method described above.

[0015] In a fourth aspect, the embodiments of the present application further provide a computer readable storage medium, characterized in that the computer readable storage medium stores a computer program, and the computer program is executed by a processor to perform the steps of the method described above.

[0016] The embodiments of the present application provide a log recording method and device of a semiconductor manufacturing equipment embedded system. The present application provides available nodes for caching log information, acquires storage space in a multi-level and multi-stage manner, caches log information into available nodes and manages an empty node management table, and uses the empty node management table to manage available caching space while using a circular queue to cache log information, thereby improving the stability of log function and the utilization rate of storage space.

[0017] In order to make the above objectives, characteristics and advantages of the present application more apparent and easy to understand, the following preferred embodiments are described in detail below, and the accompanying drawings are referred to. BRIEF DESCRIPTION OF DRAWINGS

[0018] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings needed to be used in the embodiments will be briefly introduced as follows. It should be understood that the following drawings only show some of the embodiments of the present application, and therefore should not be regarded as a limitation on the scope, and for those skilled in the art, other related drawings can also be obtained without creative labor on the basis of these drawings.

[0019] Figure 1 Flow chart of a log recording method provided by an embodiment of the present application;

[0020] Figure 2 Flow chart of a log recording method provided by an embodiment of the present application;

[0021] Figure 3 Flow chart of a log recording method provided by an embodiment of the present application;

[0022] Figure 4 Flow chart of a log recording method provided by an embodiment of the present application;

[0023] Figure 5 Flow chart of a log recording method provided by an embodiment of the present application;

[0024] Figure 6 Structure schematic diagram of a log recording device provided by an embodiment of the present application;

[0025] Figure 7 Structure schematic diagram of an electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION

[0026] In order to make the purpose, technical solutions and advantages of the embodiments of the present application more clear, the technical solutions of the embodiments of the present application will be described clearly and completely in the following with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, but not all the embodiments. The components of the embodiments of the present application described and shown in the drawings can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present application provided in the drawings is not intended to limit the scope of the claimed present application, but only represents selected embodiments of the present application. Based on the embodiments of the present application, every other embodiment obtained by those skilled in the art without creative labor belongs to the scope of the present application.

[0027] Firstly, the application scenarios applicable to the present application are introduced. The present application can be applied to the technical field of log recording.

[0028] With the rapid development of the Internet, various Internet-based application systems are increasing, and the log recording and analysis of various application systems are becoming increasingly important. Especially in the current big data era, recording and extracting valuable logs can better improve the performance of software or application systems and thus improve user experience.

[0029] At present, the existing log recording technical solution is as follows: the length and format of each log are specified by using the characteristics of a storage chip, and the earliest replacement method is used to obtain cache space, and finally the log is saved to the chip storage space. However, the use of the earliest replacement method to obtain cache space does not take into account the situation that the existing cache space is exhausted and there is no available cache space, which will affect the stability of the log function and also reduce the utilization rate of the storage space.

[0030] Based on this, the purpose of the present application is to provide a log recording method and device for a semiconductor manufacturing equipment embedded system, which can improve the stability of the log function and the utilization rate of the storage space by using an empty node management table to manage the acquisition of cache space while using a circular queue to cache log information.

[0031] The embedded system platform used in semiconductor manufacturing equipment provides resource allocation, scheduling management, and operation business state monitoring functions for each application subsystem user, and the platform log function plays an important and positive role in tracking system business processes, recording equipment status, and improving equipment yield.

[0032] The present application provides a log recording method, please refer to Figure 1 , Figure 1 is one of the flowcharts of the log recording method provided by the present application. As shown in Figure 1 , the log recording method provided by the present application comprises:

[0033] S101, obtaining log information generated under a target subsystem in a semiconductor manufacturing equipment embedded system.

[0034] In this step, there are multiple subsystems under each semiconductor manufacturing equipment embedded system, and each subsystem determines the function of the subsystem according to the demand. The target system can be any one of the multiple subsystems, and the log information is the information recorded by the operation of the subsystem. The log information can include the user name, operation time, and operation content.

[0035] S102, extracting the system identifier in the log information and determining the node circular queue corresponding to the system identifier, the system identifier being used to determine the subsystem to which the generated log information belongs, and the node circular queue comprising multiple available nodes arranged in storage order.

[0036] Specifically, there are two cases when the system identifier is extracted. In one case, the log information can include a username, an operation time, an operation content, and an identifier bit. The identifier bit is used to determine that the log information is from the corresponding subsystem. In another case, multiple subsystems and multiple processors have different interfaces. The corresponding interface of the log information is used to determine the corresponding subsystem of the log information.

[0037] S103, determining whether a remaining space of a preset available node in the node circular queue meets a storage requirement of the log information. The preset available node is an available node located at a first position in a storage order of the node circular queue.

[0038] Specifically, one subsystem corresponds to one node circular queue, and a node is a constituent element of the node circular queue and is a piece of memory storage space in a physical sense.

[0039] S104, if the storage requirement of the log information is met, storing the log information in the preset available node and deleting the preset available node from the empty node management table.

[0040] Specifically, if the remaining space of the preset available node in the node circular queue is greater than the space occupied by the log information, the log information is stored in the preset available node, and the node is deleted from the empty node management table.

[0041] S105, if the storage requirement of the log information is not met, determining a target available node based on the node circular queue and the empty node management table to store the log information.

[0042] Specifically, if the remaining space of the preset available node in the node circular queue is less than the space occupied by the log information, a target available node needs to be determined to store the log information. The node circular queue and the empty node management table can be used as a way to determine the target available node.

[0043] In an optional embodiment, a log level corresponding to the log information is determined according to a level identifier extracted from the log information. The level identifier is used to indicate the log level corresponding to the log information. It is determined whether the log level is a preset level.

[0044] Specifically, four optional levels including ERROR, WARNING, DEBUG, and INFO are provided for a user. The ERROR level indicates log information when an error occurs in the running of a subsystem. The WARNING level indicates log information when an alarm occurs in the running of the subsystem. The DEBUG level indicates log information that needs to be output during debugging. The INFO level indicates data log information that is output during running. The user can output and save log data of a specified level according to actual needs, thereby reducing the amount of log data.

[0045] In an alternative embodiment, when the log level is a preset level, the log information and the log level corresponding to the log information are stored in the preset available node.

[0046] In the storage of the log information and its level, not only can the preset available node be used, but also the target available node can be used when the preset available node does not meet the requirement.

[0047] The log recording method of the semiconductor manufacturing equipment embedded system provided by the embodiment of the application improves the stability of the log function and the utilization rate of the storage space by using the empty node management table to manage the storage space while using the circular queue to store the log information.

[0048] The application designs a special storage space structure, establishes the storage space according to the circular queue model to cache the information to be output, improves the log storage speed, designs the empty storage space acquisition strategy, acquires the storage space in a multi-level and multi-stage manner, and improves the storage space use efficiency.

[0049] The log recording method of the semiconductor manufacturing equipment embedded system provided by the embodiment of the application improves the stability of the log function and the utilization rate of the storage space by using the empty node management table to manage the storage space while using the circular queue to store the log information. The application designs a special storage space structure, establishes the storage space according to the circular queue model to cache the information to be output, improves the log storage speed, designs the empty storage space acquisition strategy, acquires the storage space, and improves the storage space use efficiency.

[0050] The log recording method provided by the embodiment of the application has the inventive concept as shown in Figure 2 First, the log information is acquired, then the system identifier is provided, and then it is judged whether the node is not full and the remaining space is sufficient. If the node is not full and the remaining space is sufficient, the available node is determined. If the node is not full and the remaining space is insufficient, the target node is determined. When the target node is determined, it is judged whether the remaining space of the node does not meet the storage requirement. If all the remaining spaces do not meet the storage requirement, it is judged whether there is an available idle node in the empty node management table. If there is an available idle node in the empty node management table, the available idle node is inserted into the node circular queue, the available idle node is used as the target node, and the log is stored.

[0051] Based on the above inventive concept, the specific implementation of the application is as follows,

[0052] Step 201, acquire the log information generated in the target subsystem in the semiconductor manufacturing equipment embedded system.

[0053] Step 202, extracting the system identifier in the log information, and determining the node circular queue corresponding to the system identifier, the system identifier being used to determine the subsystem to which the generated log information belongs, and the node circular queue including a plurality of available nodes arranged in a storage order.

[0054] Step 203, judging whether the remaining space of a preset available node in the node circular queue meets the storage requirement of the log information, the preset available node being the available node located at the first position in the storage order of the node circular queue.

[0055] Step 204, if the storage requirement of the log information is met, storing the log information to the preset available node, and deleting the preset available node from the empty node management table.

[0056] Step 205, if the storage requirement of the log information is not met, determining a target available node based on the node circular queue and the empty node management table to store the log information.

[0057] The description of steps 201 to 205 can refer to the description of S101 to S105, and the same technical effects can be achieved, and thus will not be described here.

[0058] Step 206, traversing the remaining spaces of other available nodes in the node circular queue in the storage order to determine whether the remaining spaces of the other available nodes all do not meet the storage requirement of the log information.

[0059] The traversal of the remaining spaces of the other available nodes in the node circular queue is to find the remaining spaces of the available nodes one by one in the storage order.

[0060] Step 207, if all do not meet, determining whether there is an available idle node in the empty node management table.

[0061] Specifically, when the remaining spaces of all the other available nodes in the node circular queue in the storage order do not meet the storage requirement of the log information, it is necessary to determine whether there is an available idle node in the empty node management table, and the determination can also be made when the preset available node does not meet the requirement.

[0062] Step 208, if there is an available idle node in the empty node management table, inserting the available idle node into the node circular queue, and taking the available idle node as the target available node to store the log information.

[0063] Step 209, if there is no available idle node in the empty node management table, creating a new available node and inserting it into the node circular queue, and taking the newly created available node as the target available node to store the log information.

[0064] Specifically, the available free nodes storing the remaining overall space in the empty node management table are inserted into the node circular queue, and if there is no available free node in the empty node management table, a new available node is created and inserted into the node circular queue, wherein the available free node and the newly created available node can be used as target available nodes to store log information.

[0065] The embodiments of the present application provide nodes for storing log information for users, acquire storage space in a multi-level and multi-stage manner, store log information into available nodes and manage the empty node management table, improve system storage resource utilization, prevent log information loss due to lack of available nodes for storing log information, and improve log function stability.

[0066] The embodiments of the present application provide a log recording method, and the inventive concept is as shown in Figure 3 First, it is judged whether the available space of the node is reduced, if yes, the available space size is updated and the available space unchanged number is set to 0, if not, the available space unchanged number is increased, then it is judged whether the available space unchanged number exceeds a threshold, if yes, the node log data is copied, the node attribute is updated, the node is inserted into the free management table, then the file occupied space after writing the log is budgeted, it is judged whether the file occupied space exceeds a first threshold, if yes, the next file handle is acquired, if not, the log is output to the current file according to the block, and the file attribute is updated.

[0067] Based on the above inventive concept, the specific embodiments of the present application are as follows,

[0068] Step 301, judge whether the remaining space of the available node is empty.

[0069] Specifically, after storing log information each time, it is judged for each available node in the node circular queue whether the remaining space of the available node is empty.

[0070] Step 302, if the remaining space of the available node is empty, output all log information stored in the available node.

[0071] Step 303, update the node attribute of the available node, and the node attribute includes the remaining space size of the available node and the remaining space unchanged number.

[0072] Specifically, when the remaining space of the available node is full, all log information stored in the available node is output, at this time, the remaining space of the available node reaches the maximum value, and the remaining space unchanged number is set to 0.

[0073] Step 304, if the remaining space of the available node is not empty, increase the remaining space unchanged number of the available node.

[0074] Specifically, when the remaining space of the available node is not full, the log information is stored in the available node, at this time, the remaining space of the available node is reduced, and the number of times of remaining space not being reduced is set to 0.

[0075] Wherein, when the remaining space of the available node does not change, the number of times of remaining space not changing is increased by 1, and when the log information is stored, the number of times of remaining space not being reduced is set to 0.

[0076] Step 305, judge whether the number of times of remaining space not being reduced reaches a threshold value.

[0077] Step 306, if the number of times of remaining space not being reduced reaches the threshold value, output all the log information stored in the available node.

[0078] Step 307, update the node attribute of the available node.

[0079] Specifically, when the number of times of remaining space not being reduced of the available node reaches the threshold value, it indicates that the available node has not stored log information for many times, and it is necessary to output the log data which has not filled the available node to the log file to reflect the real-time performance of the log.

[0080] Step 308, add the available node after outputting all the log information to the empty node management table.

[0081] Wherein, when all the log information in the available node is copied, the available node is an empty node, the remaining space is the maximum value, and the available node is placed in the empty node management table.

[0082] In an optional embodiment, it is judged whether the available node after outputting all the log information exists in the empty node management table, if it exists, the available node is deleted from the empty node management table, and the available node is inserted at the tail of the empty node management table, if it does not exist, the available node is inserted at the tail of the empty node management table.

[0083] Wherein, when the available node outputs all the log information, the available node is an empty node, and when the log node is placed in the empty node management table, it is judged, if the available node exists in the empty node management table, the available node is deleted from the empty node management table, and the available node is inserted at the tail of the empty node management table, if it does not exist, the available node is directly inserted at the tail of the empty node management table, and the available node is inserted at the tail, so that the nodes in the empty node management table can be used in sequence, and the utilization rate of the storage space is improved.

[0084] Step 309, estimate the file size of the preset log file according to the size of all the log information stored in the available node, and the preset log file is a log file for storing all the log information stored in the available node.

[0085] Step 310, judging whether the file occupied space size is greater than the first threshold value.

[0086] The first threshold value is the size of the remaining space of the log file, and the size of all log information stored in the available node is judged whether it is greater than the size of the remaining space of the preset log file.

[0087] Step 311, if the file occupied space size is greater than the first threshold value, the handle corresponding to the preset log file is obtained, and the handle indicates the preset log file and the next log file.

[0088] Step 312, all log information stored in the available node is stored to the preset log file and the next log file by block.

[0089] When the size of all log information stored in the available node is greater than the size of the remaining space of the preset log file, it is determined that the preset log file cannot store all log information, so the next log file except the first preset log file is determined, wherein when the preset log file is full, the remaining log information is stored in the next log file.

[0090] The application saves the log data buffered in the circular queue node to the log file. The nodes in the circular queue are traversed, if the buffered data in the node is full or the data has not changed within the time threshold value set by the user, the data in the node is copied, the node attribute and the empty node management table are updated, the copied data is reserved to the log file by block, if the file occupied space reaches the threshold value, the log data is saved to the existing file by using the circular covering method to support saving the log information in the user specified period, and the effect of improving the stability of the log function and the utilization rate of the storage space is achieved.

[0091] The application designs a special table to manage the empty storage space, further improves the utilization rate of the storage space, the application designs the strategy of saving the buffered log information to the log file, uses the system block read-write characteristics, improves the IO efficiency, and improves the log storage speed.

[0092] The application embodiment provides a log recording method, and the inventive concept is as shown in the figure. Figure 4 First, the system log attribute is obtained, second, it is judged whether the number of existing log files is 0, if yes, a log file is created, the available file attribute is updated, and the available file handle is returned, if not, it is judged whether the number of existing log files is less than the second threshold value, if yes, it is judged whether the recently used file occupied space is less than the third threshold value, if yes, the recently used file is opened, if not, a file index circular queue is created, the covered file index is obtained, the covered file is emptied, the file attribute is updated, and the available file handle is returned.

[0093] Based on the above inventive concept, the specific embodiments of the present application are as follows,

[0094] Step 401, judging whether there is an existing created log file.

[0095] Wherein, judging whether the number of existing log files is 0.

[0096] Step 402, if there is no existing created log file, creating a preset log file.

[0097] Step 403, updating the available file attribute to obtain the handle of the preset log file.

[0098] Wherein, if there is no existing created log file, i.e. the number of existing log files is 0, a preset log file is created, and the handle of the preset log file is provided, the handle of the preset log file indicating the preset log file.

[0099] Step 404, if there is an existing created log file, judging whether the number of the existing created log files is less than a second threshold.

[0100] Wherein, the second threshold is the threshold of the number of the existing created log files.

[0101] Step 405, if the number is less than the second threshold, judging whether the file occupation space of the most recently used log file in the existing created log files is less than a third threshold.

[0102] Wherein, the third threshold is the threshold of the file occupation space of the most recently used log file. When the number of the existing created log files is less than the second threshold, the file occupation space of the most recently used log file in the existing created log files and the third threshold are judged.

[0103] Step 406, if it is less than the third threshold, opening the most recently used log file.

[0104] Step 407, providing the handle of the most recently used log file.

[0105] Step 408, if it is not less than the third threshold.

[0106] Step 409, establishing a file index circular queue, the file index circular queue including log files arranged in the order of being established.

[0107] Wherein, the number of created log files and the file occupation space of the recently used log file in the created log files both reach the threshold, at this time, the files are arranged in the order of being established, a file index circular queue is formed by using the file names, the file name of the next log file is found by using the file name of the currently used file, the index is obtained in this way, and after the file name is found, the file can be opened, the file handle is obtained, and the file handle is returned.

[0108] Step 410, obtaining the covered file index.

[0109] Step 411, emptying the covered file.

[0110] Specifically, the file index circular queue is traversed, the content of the covered log file is emptied, and the handle of the emptied log file is provided, the covered log file refers to the log file located before the predetermined sequence position in the file index circular queue.

[0111] Wherein, the created log file is obtained, if the available space of the log file is 0, the first log file full of log information is covered in sequence, and the handle of the emptied log file is provided.

[0112] The application provides the log file handle of the saved cached log data for the subsystem log function, the file index circular queue is established when the number of created log files and the file occupation space of the recently used log file in the created log files both reach the threshold, the log file handle is obtained, and the effect of improving the stability of the log function and the utilization rate of the storage space is achieved.

[0113] The application embodiment provides a log recording method, and the inventive concept is as shown in the method. Figure 5 Firstly, log configuration information is obtained, secondly, a log saving directory is established, a log attribute space is allocated and log attributes are initialized, then a log circular queue is established and the circular queue is initialized, an empty node management table is established and the empty node management table is initialized, and finally, a log site is restored and a log task is started.

[0114] Based on the above inventive concept, the specific embodiments of the application are as follows.

[0115] Step 501, obtaining log configuration information of each subsystem.

[0116] Wherein, the configuration information includes a log switch state, a circular saving log period, a log saving path, a log file number and a log level; the log function provides four selectable levels including ERROR, WARNING, DEBUG and INFO for the user, the user can output and save the specified level of log data according to the actual needs, and the amount of log data is reduced.

[0117] Specifically, the log switch state is identified by a preset switch flag attribute in a configuration file, and the configuration presets the state. After the platform system is started, the log is in the preset state.

[0118] For example, the log file number represents the number of files under a log directory, i.e., a folder; a log file, such as an example.log file, is needed for recording a log. If a file is too large, the user will have a problem of being unable to open the file when viewing the log file. Therefore, multiple files with appropriate sizes are needed to save the log.

[0119] Step 502, a log saving directory is established for each subsystem.

[0120] Step 503, a log attribute space is allocated.

[0121] Step 504, log attributes are initialized.

[0122] For example, when the system platform is started, a pre-set configuration file is read, the configuration file has information about log attributes, and the information is read and saved to initialize the log attributes.

[0123] Specifically, the subsystem log attributes include a log saving path, a log file number, a log file occupied space size, a covered log file handle, a log record site file handle, a log record site log file occupied space size, a covered existing log file state flag, a covered log file index, a circular queue node number, and a circular queue node size.

[0124] The log record site file handle is obtained by opening a currently used log file by the subsystem. When the number of files in the log folder reaches a preset upper limit and the file size also reaches the upper limit, the log system starts to cover the original log file, and by default, the first log file is covered. Subsequent covering is the next file of the currently used log file. Thus, the index of the covered log file is obtained, the covered log file path is found by the index, the covered file handle is obtained by opening and emptying the covered file.

[0125] Step 505, a node circular queue and a file index circular queue are established for each subsystem.

[0126] Step 506, the node circular queue and the file index circular queue needed for the log function are initialized.

[0127] Step 507, an empty node management table is established for each subsystem.

[0128] Step 508, the empty node management table is initialized.

[0129] Specifically, at the beginning, the empty node management table is empty, the head node and the tail node are the same node, when a node in the circular queue is used to cache log information and finally output the log information, the node is emptied and then added to the empty node management table, when the node is used again, it is deleted from the empty node management table.

[0130] Step 509, restore the log recording site of each subsystem.

[0131] Specifically, the log recording site is restored, that is, when the system is started again, the last log file used to record log information is opened; when the log file is used to record log information each time, it is first judged whether the current log file will exceed the preset file size after recording the log information, if not, the log information is directly recorded; if it exceeds and the cover flag is 1, the next log file needs to be opened and emptied and the cover information is written; if it exceeds and the cover flag is 0, the next log file is directly opened; in this way, it can be ensured that each time the system is restarted, a log file whose size does not exceed the preset value can be found, and the log recording site can be restored by opening the file. If all the log files are full, it means that the system is closed after the last file is full, at this time, the log recording site is restored by opening the first log file.

[0132] Step 510, set the log function task priority and start the log function. The initialization process is ended.

[0133] The log function task can be understood as a process, when the system platform is started, the task starts the log task according to the pre-designed priority, and then the log task starts to save the log information according to the set attribute, and the log task priority is lower than the other business priorities of the subsystem.

[0134] The embodiment of the application mainly obtains the configuration information of the users of each application subsystem, establishes the log saving directory for each subsystem and initializes the log attribute, establishes the circular queue storage space accessed by the producer and the consumer, and establishes the empty node management table.

[0135] Compared with the prior art method of specifying the length and format of each log and using the earliest replacement method to obtain the cache space, the log system does not limit the format and length of a single log, the user can print the log according to the required format, the node space of the circular queue is more than 4KB, which can meet the output of a single log in practice, and the length of the node of the circular queue can be configured by the user to meet the actual needs.

[0136] The application firstly establishes a circular queue for a subsystem of a platform, and allocates cache space in initialization, and when the allocated cache space cannot meet the demand of the subsystem, the log system re-allocates cache space for the circular queue of the subsystem, so as to increase the stability of the log system; subsequently, the log system can manually or adaptively adjust the cache space to be allocated for the circular queue of the subsystem when starting the log system next time according to the experience.

[0137] The application aims to provide a log recording method, which can manage to obtain cache space by using an empty node management table while using a circular queue to cache log information, so as to improve the stability of the log function and the utilization rate of storage space.

[0138] The application also includes the technology of storing logs by using an EMMC card and fully utilizing the technical characteristics of Cache and MemoryArray to obtain more excellent data information read-write performance; in addition, the application also provides a function of saving logs according to a specified cycle, improves the utilization rate of system storage resources, prevents the collapse of storage space caused by unlimited occupation of storage space by log data, and improves the stability of the log function.

[0139] The application uses NFS technology to support users to retain log files to multiple PC terminals according to actual needs, disperses the storage pressure caused by large log quantity, and improves the stability of the log function.

[0140] By using the above advantages, the application can enable users to configure various parameters in the log function in a simple and efficient manner according to actual needs of the system; after the log function is started, it does not affect the performance of other businesses in the system, and can quickly and accurately retain complete log information according to a preset log retention period; the log function records the running state of each business in the system, accumulates data, and provides important support for data analysis to improve yield.

[0141] Please refer to Figure 6 , Figure 6 The application also provides a log recording device 600 of a semiconductor manufacturing equipment embedded system corresponding to the log recording device method of the semiconductor manufacturing equipment embedded system in the application, as shown in Figure 6 The device 600 includes:

[0142] An acquisition module 601 is configured to acquire log information generated in a target subsystem of the semiconductor manufacturing equipment embedded system;

[0143] A determination module 602 is configured to extract a system identifier in the log information, and determine a circular queue corresponding to the system identifier, the system identifier being used to indicate a subsystem to which the generated log information belongs, and the node circular queue including a plurality of available nodes arranged in a storage order;

[0144] determining whether a remaining space of a preset available node in the node circular queue meets a storage requirement of the log information, the preset available node being an available node located at a first position in a storage order of the node circular queue;

[0145] updating, if the storage requirement of the log information is met, the log information to the preset available node, and deleting the preset available node from the empty node management table;

[0146] querying, if the storage requirement of the log information is not met, a target available node based on the node circular queue and the empty node management table, to store the log information.

[0147] Since the principle of the device in the embodiment of the present application solves the problem similarly to the log recording method of the semiconductor manufacturing equipment embedded system in the above embodiment of the present application, the implementation of the device can be referred to the implementation of the method, and the repeated parts will not be described here.

[0148] The embodiment of the present application further provides an electronic device. The electronic device comprises a processor, a memory and a bus.

[0149] Please refer to Figure 7 , Figure 7 The structure diagram of an electronic device provided by the embodiment of the present application. As shown in Figure 7 , the electronic device 700 comprises a processor 710, a memory 720 and a bus 730.

[0150] The memory 720 stores machine readable instructions executable by the processor 710, when the electronic device 700 is running, the processor 710 and the memory 720 communicate through the bus 730, and the machine readable instructions executed by the processor 710 can perform the steps of the log recording method in the method embodiment as shown in the above Figure 1 and Figure 5 , and the specific implementation can be referred to the method embodiment, which will not be described here.

[0151] The embodiment of the present application further provides a computer readable storage medium, the computer readable storage medium stores a computer program, and the computer program is run by the processor to perform the steps of the log recording method in the method embodiment as shown in the above Figures 1 to 5 , and the specific implementation can be referred to the method embodiment, which will not be described here.

[0152] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the system, device and unit described above can refer to the corresponding process in the foregoing method embodiments, which will not be repeated here.

[0153] In several embodiments provided in the present application, it should be understood that the disclosed system, device and method can be implemented in other ways. The device embodiments described above are only schematic, for example, the division of the units is only a logical function division, and actual implementation can have another division manner, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the units shown or discussed can be indirect coupling or communication connection through some communication interfaces, devices or units, and can be electrical, mechanical or other forms.

[0154] The units described as separate components can or can not be physically separate, and the components shown as units can or can not be physical units, that is, they can be located in one place, or can be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the embodiment scheme.

[0155] In addition, each functional unit in each embodiment of the present application can be integrated in one processing unit, or each unit can exist physically, or two or more units can be integrated in one unit.

[0156] If the functions are realized in the form of software function units and sold or used as independent products, they can be stored in a nonvolatile computer readable storage medium executable by a processor. Based on this understanding, the technical solutions of the present application or the essential part or part of the technical solutions that make contributions to the prior art can be embodied in the form of a software product. The computer software product is stored in a storage medium, includes a plurality of instructions for making a computer device, which can be a personal computer, a server, or a network device, etc., execute all or part of the steps of the method described in each embodiment of the present application. The foregoing storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk and various program code storage media.

[0157] Finally, it should be noted that the above-described embodiments are merely specific embodiments of the present application, which are used to illustrate the technical solutions of the present application, but not to limit the same. The protection scope of the present application is not limited thereto. Although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those skilled in the art that any skilled person in the art can still modify or easily think of changes to the technical solutions recorded in the foregoing embodiments, or make equivalent replacements to some of the technical features, within the technical scope disclosed by the present application. The modifications, changes or replacements do not make the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should be covered within the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A log recording method of a semiconductor manufacturing equipment embedded system, characterized by, The method comprises: acquiring log information generated under a target subsystem in an embedded system of a semiconductor manufacturing equipment; extracting a system identifier in the log information, and determining a node circular queue corresponding to the system identifier, the system identifier being used to determine a subsystem to which the generated log information belongs, and the node circular queue comprising a plurality of available nodes arranged in a storage order; judging whether a remaining space of a preset available node in the node circular queue meets a storage requirement of the log information, the preset available node being an available node located at a first position in the node circular queue in the storage order; if the storage requirement of the log information is met, storing the log information into the preset available node, and deleting the preset available node from an empty node management table; if the storage requirement of the log information is not met, determining a target available node based on the node circular queue and the empty node management table to store the log information; wherein the determining of the target available node based on the node circular queue and the empty node management table to store the log information comprises: judging whether remaining spaces of other available nodes in the node circular queue all do not meet the storage requirement of the log information in the storage order; if all do not meet, judging whether there is an available idle node in the empty node management table; if there is the available idle node in the empty node management table, inserting the available idle node into the node circular queue, and taking the available idle node as the target available node to store the log information; if there is no available idle node in the empty node management table, newly creating an available node and inserting it into the node circular queue, and taking the newly created available node as the target available node to store the log information.

2. The method of claim 1, wherein, The method further comprises: determining a log level corresponding to the log information according to a level identifier extracted from the log information, the level identifier being used to indicate the log level corresponding to the log information; judging whether the log level is a preset level; wherein when the log level is the preset level, storing the log information and the log level corresponding to the log information into the preset available node.

3. The method of claim 1, wherein, The method further comprises, after storing the log information each time, performing the following steps for each available node in the node circular queue: judging whether a remaining space of the available node is empty; if the remaining space of the available node is empty, outputting all log information stored in the available node, and updating a node attribute of the available node, the node attribute comprising a remaining space size of the available node and a number of times that the remaining space is not reduced; if the remaining space of the available node is not empty, increasing the number of times that the remaining space is not reduced; judging whether the number of times that the remaining space is not reduced reaches a threshold value; if the number of times that the remaining space is not reduced reaches the threshold value, outputting all log information stored in the available node, and updating the node attribute of the available node; adding the available node after outputting all log information to the empty node management table.

4. The method of claim 3, wherein, The method comprises the following steps: determining whether the available node after outputting all log information exists in the empty node management table; if the available node exists, deleting the available node from the empty node management table and inserting the available node at the end of the empty node management table; if the available node does not exist, inserting the available node at the end of the empty node management table.

5. The method of claim 4, wherein, The method comprises the following steps: estimating the file size of a preset log file according to the size of all log information stored in the available node, the preset log file being a log file for storing all log information stored in the available node; determining whether the file size is greater than a first threshold value; if the file size is greater than the first threshold value, obtaining a handle corresponding to the preset log file, the handle indicating the preset log file and a next log file thereof; storing all log information stored in the available node into the preset log file and the next log file in blocks.

6. The method of claim 5, wherein, The method comprises the following steps: determining whether there exists a created log file; if there does not exist a created log file, creating the preset log file and providing a handle of the preset log file; if there exists a created log file, determining whether the number of created log files is less than a second threshold value; if the number is less than the second threshold value, determining whether the file size of a recently used log file among the created log files is less than a third threshold value; if the file size is less than the third threshold value, opening the recently used log file and providing a handle of the recently used log file; if the file size is not less than the third threshold value, creating the preset log file and providing a handle of the preset log file; if the number is not less than the second threshold value, determining whether the file size of a recently used log file among the created log files is less than a third threshold value; if the file size is less than the third threshold value, opening the recently used log file and providing a handle of the recently used log file; if the file size is not less than the third threshold value, establishing a file index circular queue, the file index circular queue comprising log files arranged in the order of establishment; traversing the file index circular queue, emptying the contents of a covered log file and providing a handle of the emptied log file, the covered log file being a log file located before a predetermined sequence position in the file index circular queue.

7. A logging apparatus for a semiconductor manufacturing equipment embedded system, characterized by The device comprises: an obtaining module, which obtains log information generated under a target subsystem in an embedded system of a semiconductor manufacturing device; a determining module, which extracts a system identifier in the log information and determines a node circular queue corresponding to the system identifier, the system identifier being used to determine a subsystem to which the generated log information belongs, and the node circular queue comprising a plurality of available nodes arranged in a storage order; determining whether a remaining space of a preset available node in the node circular queue meets a storage requirement of the log information, the preset available node being an available node located at a first position in a storage order of the node circular queue; updating, if the storage requirement of the log information is met, the log information to the preset available node and deleting the preset available node from an empty node management table; querying, if the storage requirement of the log information is not met, a target available node based on the node circular queue and the empty node management table to store the log information, wherein the determining the target available node based on the node circular queue and the empty node management table to store the log information comprises: traversing, in a storage order, remaining spaces of other available nodes in the node circular queue to determine whether the remaining spaces of the other available nodes all do not meet the storage requirement of the log information; if the remaining spaces of the other available nodes all do not meet the storage requirement of the log information, determining whether there is an available idle node in the empty node management table; if there is the available idle node in the empty node management table, inserting the available idle node into the node circular queue and taking the available idle node as the target available node to store the log information; if there is no available idle node in the empty node management table, newly creating an available node and inserting the available node into the node circular queue, and taking the newly created available node as the target available node to store the log information.

8. An electronic device, comprising: comprising: a processor, a memory and a bus, the memory storing machine readable instructions executable by the processor, when the electronic device is running, the processor and the memory communicate through the bus, the processor executes the machine readable instructions to perform the steps of the method of any one of claims 1 to 6.

9. A computer-readable storage medium, characterized in that, the computer readable storage medium stores a computer program, the computer program is run by the processor to perform the steps of the method of any one of claims 1 to 6.

Citation Information

Patent Citations

  • Log processing method and terminal equipment

    CN112306980A

  • Log storage method, device and equipment and readable storage medium

    CN116561091A