CN118193480A - Method, equipment and medium for optimizing large-scale file copy of semiconductor chip detection scene - Google Patents

Method, equipment and medium for optimizing large-scale file copy of semiconductor chip detection scene Download PDF

Info

Publication number
CN118193480A
CN118193480A CN202410506388.6A CN202410506388A CN118193480A CN 118193480 A CN118193480 A CN 118193480A CN 202410506388 A CN202410506388 A CN 202410506388A CN 118193480 A CN118193480 A CN 118193480A
Authority
CN
China
Prior art keywords
file
copy
instruction
semiconductor chip
scale
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202410506388.6A
Other languages
Chinese (zh)
Inventor
请求不公布姓名
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gaoshi Technology Suzhou Co ltd
Original Assignee
Gaoshi Technology Suzhou Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gaoshi Technology Suzhou Co ltd filed Critical Gaoshi Technology Suzhou Co ltd
Priority to CN202410506388.6A priority Critical patent/CN118193480A/en
Publication of CN118193480A publication Critical patent/CN118193480A/en
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention provides a method, equipment and medium for optimizing large-scale file copying of a semiconductor chip detection scene, which comprises the following steps: receiving a file copy request sent by a terminal; acquiring a source file address set and a copied target address through interface parameters; acquiring a current system environment; traversing a source file address set, and assembling a system copy file instruction according to the copied target address and a system environment; grouping the assembled file copy instruction set according to the hardware core number; the Java multithreading technique is used to turn on multiple asynchronous threads to execute copy instructions. According to the optimization method, the file copying instruction of the operating system level is directly called, so that the performance bottleneck of the JVM is avoided, and the file copying performance is remarkably improved. The file copying performance is further optimized by utilizing the technologies of multithreading or asynchronous tasks, memory mapping files, an operating system level caching mechanism and the like. The method can be widely applied to scenes needing large-scale file copying.

Description

Method, equipment and medium for optimizing large-scale file copy of semiconductor chip detection scene
Technical Field
The invention relates to the technical field of semiconductor chip detection, in particular to a method, equipment and medium for optimizing large-scale file copying of a semiconductor chip detection scene.
Background
At present, java implementation file copying has the following problems:
I/O operation efficiency, conventional Java file copies typically use I nputStream and OutputStream for data transfer, which may be limited by I/O efficiency when making large numbers of file copies, particularly when handling large or large numbers of files.
Memory management, the memory management mechanism of the Java virtual machine may cause frequent garbage collection operations, especially when large-scale file copying is performed, which increases system overhead and reduces performance.
The single-thread processing is often carried out by adopting a single-thread mode to operate the traditional Java file copy, and the parallel computing capacity of the multi-core processor cannot be fully utilized, so that the performance cannot reach the optimal state.
Lacking operating system optimization, java file copies typically rely on operating system underlying file system calls, but in some cases these calls may not take full advantage of the efficient file operating characteristics provided by the operating system, resulting in performance bottlenecks.
Disclosure of Invention
To achieve the above and other advantages and in accordance with the purpose of the present invention, a first object of the present invention is to provide a semiconductor chip inspection scene large-scale file copy optimization method, comprising the steps of:
Receiving a file copy request sent by a terminal;
acquiring a source file address set and a copied target address through interface parameters;
Acquiring a current system environment;
traversing the source file address set, and assembling a system copy file instruction according to the copied target address and a system environment;
Grouping the assembled file copy instruction set according to the hardware core number;
the Java multithreading technique is used to turn on multiple asynchronous threads to execute copy instructions.
Further, the system environment includes Wi ndows systems and L i nux systems.
Further, if the current system environment is Wi ndows systems, the method further comprises the following steps before traversing the source file address set:
The read Java service initiation profile retrieves robocopy instruction parameters under Wi ndows system.
Further, the assemble system copy file instruction includes an assemble Wi ndows system file copy instruction.
Further, if the current system environment is L i nux systems, the assembly system copy file instruction includes an assembly L i nux system file copy instruction.
Further, the step of obtaining the source file address set and the copied target address through the interface parameters includes the following steps:
Reading a defect report file output by an AO I machine;
Analyzing the defect report file output by the AO I machine to obtain a corresponding defect image file set;
And generating a copy target folder according to the wafer ID in the defect report file output by the AOI machine.
Further, the robocopy instruction parameters include the number of retries when copying a file or directory and the time to wait between retries;
the L i nux system file copy instruction is a cp instruction.
Further, the grouping processing of the assembled file copy instruction set according to the hardware core number comprises the following steps:
acquiring the CPU core number;
Calculating the number of groups according to the CPU core number;
Grouping the assembled file copy instruction set according to the grouping number;
The starting of the plurality of asynchronous thread execution copy instructions by using Java multithreading technology is specifically to using a thread pool technology in Java service, and starting of one thread execution copy instruction for each group to realize concurrent copying.
A second object of the present invention is to provide an electronic device including: a memory having program code stored thereon; a processor coupled to the memory and when the program code is executed by the processor, implements a semiconductor chip inspection scenario large-scale file copy optimization method.
A third object of the present invention is to provide a computer-readable storage medium having stored thereon program instructions that, when executed, implement a semiconductor chip inspection scene large-scale file copy optimization method.
Compared with the prior art, the invention has the beneficial effects that:
the invention provides a method, equipment and medium for optimizing large-scale file copy of a semiconductor chip detection scene, which mainly aim at file copy operation in Java programs. The optimization method avoids the performance bottleneck of the JVM virtual machine by directly calling file copy instructions at the operating system level, such as robocopy instructions (Wi ndows system) or cp instructions (L i nux system), thereby realizing the remarkable improvement of file copy performance. In addition, the method further comprises utilizing techniques such as multithreading or asynchronous tasks, memory mapped files and operating system level caching mechanisms to further optimize file copy performance. The optimization method can be widely applied to scenes needing large-scale file copying, such as the fields of data backup, batch file processing and the like.
The foregoing description is only an overview of the present invention, and is intended to provide a better understanding of the present invention, as it is embodied in the following description, with reference to the preferred embodiments of the present invention and the accompanying drawings. Specific embodiments of the present invention are given in detail by the following examples and the accompanying drawings.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this specification, illustrate embodiments of the application and together with the description serve to explain the application and do not constitute a limitation on the application. In the drawings:
FIG. 1 is a flowchart of a method for optimizing large-scale file copy in a semiconductor chip inspection scenario in accordance with embodiment 1;
FIG. 2 is a flowchart of a method for optimizing large-scale file copy in the semiconductor chip inspection scenario of embodiment 1;
FIG. 3 is a flow chart of the method for obtaining the source file address set and the copied destination address according to the embodiment 1 through the interface parameters;
FIG. 4 is a flow chart of the grouping process of the assembled file copy instruction set according to the hardware core number in embodiment 1;
fig. 5 is a schematic diagram of an electronic device of embodiment 2;
fig. 6 is a schematic diagram of a storage medium of embodiment 3.
Detailed Description
The present invention will be further described with reference to the accompanying drawings and detailed description, wherein it is to be understood that, on the premise of no conflict, the following embodiments or technical features may be arbitrarily combined to form new embodiments.
Example 1
A method for optimizing large-scale file copy of a semiconductor chip detection scene mainly focuses on optimizing the file copy performance in Java programs, and improves the performance by utilizing instructions of an operating system level and various technical means, as shown in fig. 1 and 2, and comprises the following steps:
s1, receiving a file copy request sent by a terminal; namely, when the terminal initiates a file copy request, the Java service executes the following steps after receiving the file copy request sent by the terminal.
S2, acquiring a source file address set and a copied target address through interface parameters;
in some embodiments, as shown in FIG. 3, obtaining the set of source file addresses and the copied destination address by the interface parameters includes the steps of:
S21, reading a defect report file output by the AOI machine; i.e. the interface parameter is defectReportF i l ePath (defect report file output by AOI machine), the interface reads the file first.
S22, analyzing a defect report file output by an AO I machine and obtaining a corresponding defect image (DEFECT IMAGE) file set, wherein the DEFECT IMAGE file set is a file address to be copied;
S23, generating a copy target folder according to the wafer ID in the defect report file output by the AO I machine. I.e., the interface generates a copy target folder from wafer id in defectReportF I l e. For example, if wafer id is GF2845, the corresponding target folder is: data/goCheck/GF2845.
S3, acquiring a current system environment;
In some embodiments, the system environment includes Wi ndows systems and L i nux systems. The current system information can be obtained through the following command lines:
System.getProperty("os.name").toLowerCase()。
S4, traversing a source file address set, and assembling a system file copying instruction according to the copied target address and a system environment;
In some embodiments, if the current system environment is Wi ndows systems, the following steps are further included before traversing the source file address set:
Reading a Java service launch configuration file (e.g., app l i cat. Yml) obtains Wi ndows under-system robocopy instruction parameters.
Then traversing the source file address set, and assembling Wi ndows a system file copy instruction according to the copied target address and the system environment.
The Wi ndows system file copy instruction is robocopy instruction, and robocopy instruction parameters include/R: n and/W: n. Wherein,
R is n: the number of retries when copying a file or directory is specified. n is an integer representing the number of retries. If the copy operation fails, the robocopy instruction will attempt to re-copy the file or directory until the specified number of retries is reached.
W: n: the time (in seconds) to wait between retries is specified. n is an integer representing the length of time to wait. When the robocopy instruction waits between retries, it will wait for a specified number of seconds and then try the copy operation again.
In other embodiments, if the current system environment is L i nux systems, the source file address set is traversed and then the L i nux system file copy instruction is assembled based on the copied destination address and the system environment. The L i nux system file copy instruction is a cp instruction.
S5, grouping the assembled file copy instruction set according to the hardware core number;
In some embodiments, as shown in FIG. 4, grouping the assembled file copy instruction set according to the hardware core number includes the steps of:
s51, obtaining the CPU core number; that is to say,
i nt corePoo l Si ze=Runt ime.getRunt ime().avai l ab l eProcessors();
S52, calculating the number of groups according to the number of CPU cores; that is to say,
i nt batchSi ze=(i nt)Math.cei l((doub l e)tota l Si ze/ConcurrencyCopyUt i l s.corePoo l S i ze);
S53, grouping the assembled file copy instruction set according to the grouping number; that is to say,
L i st<Li st<CopyF i l eDto>>sp l itLi st=new ArrayLi st<>();
for(i nt i=0;i<tota l Si ze;i+=batchS i ze){
sp l itL i st.add(copyF i l eDtoL i st.subLi st(i,Math.min(i+batchSi ze,tota l Si ze)));
}。
S6, starting a plurality of asynchronous threads to execute copy instructions by using Java multi-thread technology. Specifically, threadPoo l Executor thread pool technology in Java service is used, each group starts one thread to execute copy instruction, and concurrent copying is achieved.
The method for optimizing large-scale file copy of semiconductor chip detection scene provided by the embodiment has the following steps of
The beneficial effects are that:
Bottom layer optimization: the file manager of the operating system typically performs underlying IO optimization, including using efficient file replication mechanisms provided by the operating system. These optimizations are typically more efficient than IO operations performed manually in Java code.
And (3) concurrent treatment: the file manager of the operating system is better able to utilize system resources for concurrent processing, especially in modern multi-core systems. Some file managers may use parallel replication to improve performance, while manually writing Java code requires additional work to achieve similar concurrency.
And (3) system call: the file manager of the operating system may directly call the underlying system call, while Java code needs to be encapsulated and called by the Java virtual machine. Direct system calls are generally more efficient.
And (3) cache management: the operating system can better manage the file system cache and reduce unnecessary IO operations. Manually written Java code requires careful handling of the buffering, and the operating system has typically optimized this aspect of processing.
The method for optimizing large-scale file copy of the semiconductor chip detection scene is mainly aimed at file copy operation in Java programs. The optimization method avoids the performance bottleneck of the JVM virtual machine by directly calling file copy instructions at the operating system level, such as robocopy instructions (Wi ndows system) or cp instructions (Li nux system), thereby realizing the remarkable improvement of file copy performance. In addition, the method further comprises utilizing techniques such as multithreading or asynchronous tasks, memory mapped files and operating system level caching mechanisms to further optimize file copy performance. The optimization method can be widely applied to scenes needing large-scale file copying, such as the fields of data backup, batch file processing and the like.
Example 2
An electronic device, as shown in fig. 5, comprising: a memory having program code stored thereon; and the processor is connected with the memory, and when the program code is executed by the processor, the method for optimizing the large-scale file copy of the detection scene of the semiconductor chip is realized. For detailed description of the method, reference may be made to corresponding descriptions in the above method embodiments, and details are not repeated here.
Example 3
A computer readable storage medium having stored thereon program instructions that when executed implement a method for optimizing large-scale file copy for a semiconductor chip inspection scene, as shown in fig. 6. For detailed description of the method, reference may be made to corresponding descriptions in the above method embodiments, and details are not repeated here.
The number of equipment and the scale of processing described herein are intended to simplify the description of the present invention. Applications, modifications and variations of the present invention will be readily apparent to those skilled in the art.
Although embodiments of the present invention have been disclosed above, it is not limited to the details and embodiments shown and described, it is well suited to various fields of use for which the invention would be readily apparent to those skilled in the art, and accordingly, the invention is not limited to the specific details and illustrations shown and described herein, without departing from the general concepts defined in the claims and their equivalents.
The apparatus, the electronic device, the nonvolatile computer storage medium and the method provided in the embodiments of the present disclosure correspond to each other, and therefore, the apparatus, the electronic device, the nonvolatile computer storage medium also have similar beneficial technical effects as those of the corresponding method, and since the beneficial technical effects of the method have been described in detail above, the beneficial technical effects of the corresponding apparatus, the electronic device, the nonvolatile computer storage medium are not described here again.
Those skilled in the art will also appreciate that, in addition to implementing the controller in a pure computer readable program code, it is well possible to implement the same functionality by logically programming the method steps such that the controller is in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers, etc. Such a controller may thus be regarded as a kind of hardware component, and means for performing various functions included therein may also be regarded as structures within the hardware component. Or even means for carrying out the various functions may be seen as being either software elements implementing the methods or structures within hardware components.
The system, apparatus or unit illustrated in the above embodiments may be implemented in particular by a computer chip or entity, or by a product having a certain function. For convenience of description, the above devices are described as being functionally divided into various units, respectively. Of course, the functionality of the units may be implemented in one or more software and/or hardware when implementing one or more embodiments of the present description.
It will be appreciated by those skilled in the art that the present description may be provided as a method, system, or computer program product. Accordingly, the present specification embodiments may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present description embodiments may take the form of a computer program product on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
The present description is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the specification. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article or apparatus that comprises the element.
The description may be described in the general context of computer-executable instructions, such as program elements, being executed by a computer. Generally, program elements include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program elements may be located in both local and remote computer storage media including storage devices.
In this specification, each embodiment is described in a progressive manner, and identical and similar parts of each embodiment are all referred to each other, and each embodiment mainly describes differences from other embodiments. In particular, for system embodiments, since they are substantially similar to method embodiments, the description is relatively simple, as relevant to see a section of the description of method embodiments.
The foregoing description is illustrative of embodiments of the present disclosure and is not to be construed as limiting one or more embodiments of the present disclosure. Various modifications and alterations to one or more embodiments of this description will be apparent to those skilled in the art. Any modifications, equivalent substitutions, improvements, or the like, which are within the spirit and principles of one or more embodiments of the present disclosure, are intended to be included within the scope of the claims of one or more embodiments of the present disclosure.

Claims (10)

1. The method for optimizing the large-scale file copy of the detection scene of the semiconductor chip is characterized by comprising the following steps of:
Receiving a file copy request sent by a terminal;
acquiring a source file address set and a copied target address through interface parameters;
Acquiring a current system environment;
traversing the source file address set, and assembling a system copy file instruction according to the copied target address and a system environment;
Grouping the assembled file copy instruction set according to the hardware core number;
the Java multithreading technique is used to turn on multiple asynchronous threads to execute copy instructions.
2. The method for optimizing large-scale file copy of a semiconductor chip inspection scene as claimed in claim 1, wherein: the system environment comprises a Windows system and a Linux system.
3. The method for optimizing large-scale file copy of a semiconductor chip inspection scene as claimed in claim 2, wherein: if the current system environment is a Windows system, the method further comprises the following steps before traversing the source file address set:
And reading the Java service start configuration file to obtain robocopy instruction parameters under the Windows system.
4. A method for optimizing large-scale file copy of a semiconductor chip inspection scene as defined in claim 3, wherein: the assembly system file copying instruction comprises an assembly Windows system file copying instruction.
5. The method for optimizing large-scale file copy of a semiconductor chip inspection scene as claimed in claim 4, wherein: if the current system environment is a Linux system, the file copying instruction of the assembled system comprises a file copying instruction of the assembled Linux system.
6. The method for optimizing large-scale file copy of a semiconductor chip inspection scene as claimed in claim 1, wherein: the step of obtaining the source file address set and the copied target address through the interface parameters comprises the following steps:
reading a defect report file output by an AOI machine;
analyzing the defect report file output by the AOI machine to obtain a corresponding defect image file set;
And generating a copy target folder according to the wafer ID in the defect report file output by the AOI machine.
7. The method for optimizing large-scale file copy of a semiconductor chip inspection scene as claimed in claim 5, wherein: the robocopy instruction parameters include the number of retries when copying a file or directory and the time to wait between retries;
And the Linux system file copy instruction is a cp instruction.
8. The method for optimizing large-scale file copy of a semiconductor chip inspection scene as claimed in claim 1, wherein: the grouping processing of the assembled file copy instruction set according to the hardware core number comprises the following steps:
acquiring the CPU core number;
Calculating the number of groups according to the CPU core number;
Grouping the assembled file copy instruction set according to the grouping number;
The starting of the plurality of asynchronous thread execution copy instructions by using Java multithreading technology is specifically to using a thread pool technology in Java service, and starting of one thread execution copy instruction for each group to realize concurrent copying.
9. An electronic device, comprising: a memory having program code stored thereon; a processor coupled to the memory and which, when executed by the processor, implements the method of any of claims 1-8.
10. A computer readable storage medium, having stored thereon program instructions which, when executed, implement the method of any of claims 1-8.
CN202410506388.6A 2024-04-25 2024-04-25 Method, equipment and medium for optimizing large-scale file copy of semiconductor chip detection scene Pending CN118193480A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410506388.6A CN118193480A (en) 2024-04-25 2024-04-25 Method, equipment and medium for optimizing large-scale file copy of semiconductor chip detection scene

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410506388.6A CN118193480A (en) 2024-04-25 2024-04-25 Method, equipment and medium for optimizing large-scale file copy of semiconductor chip detection scene

Publications (1)

Publication Number Publication Date
CN118193480A true CN118193480A (en) 2024-06-14

Family

ID=91411145

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410506388.6A Pending CN118193480A (en) 2024-04-25 2024-04-25 Method, equipment and medium for optimizing large-scale file copy of semiconductor chip detection scene

Country Status (1)

Country Link
CN (1) CN118193480A (en)

Similar Documents

Publication Publication Date Title
US8499010B2 (en) Garbage collection in a multiple virtual machine environment
US9798595B2 (en) Transparent user mode scheduling on traditional threading systems
US9135060B2 (en) Method and apparatus for migrating task in multicore platform
US9418005B2 (en) Managing garbage collection in a data processing system
US8917279B2 (en) Method and system to dynamically bind and unbind applications on a general purpose graphics processing unit
US6493730B1 (en) Efficient object faulting with generational garbage collection
CN110750356B (en) Multi-core interaction method, system and storage medium suitable for nonvolatile memory
EP3462324B1 (en) Pointers in a memory managed system
CN113709131B (en) Network data transmission method, device, computer equipment and readable medium
CN112219196B (en) Method and apparatus for representing active frames for non-suspended garbage collection
JP2003167737A (en) Stack use method
US20200409841A1 (en) Multi-threaded pause-less replicating garbage collection
US20140164841A1 (en) Role-oriented testbed environments for use in test automation
US9032199B1 (en) Systems, devices, and methods for capturing information, creating loadable images, and providing for restarts in a computer system
US8768889B1 (en) Method and apparatus for performing lock-free updates in a linked list
CN118193480A (en) Method, equipment and medium for optimizing large-scale file copy of semiconductor chip detection scene
JP2009266113A (en) Memory management method and system
US10891153B1 (en) System and method for switching file systems underneath working processes
WO2020213397A1 (en) Processor and register inheritance method
US7313566B1 (en) Method and apparatus for isolating selected heap objects using a faulting address trap
CN113742646A (en) Compiling a single language compound function into a single entity
WO2022107246A1 (en) Control management device
JP4149619B2 (en) Priority conversion system
US8316384B2 (en) Input/output broker model
CN115016948B (en) Resource access method and device, electronic equipment and readable storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination