A data transmission method, system and computer program product

By using image association and Remote Memory Direct Access (RDMA), the problem of data transmission latency on high WPH wafer production lines was solved, achieving efficient and low-latency data transmission and improving the flexibility and detection capabilities of the inspection equipment.

CN121542213BActive Publication Date: 2026-05-19BEIJING OPTOKO MICROELECTRONICS TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING OPTOKO MICROELECTRONICS TECH CO LTD
Filing Date
2026-01-15
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

On high-WPH wafer production lines, existing technologies cannot effectively address the technical challenges of handling the explosive growth in data volume, which leads to data transmission delays and data accumulation. They also cannot effectively address the challenges of handling low data transmission efficiency, which results in detection delays and resource consumption.

Method used

The target computing server node is determined by image association, and data is transmitted using Remote Direct Memory Access (RDMA) to avoid repeated transmission losses and achieve zero-copy transmission.

Benefits of technology

It achieves efficient and low-latency data transmission, adapts to the data stream transmission requirements of high WPH production lines, and improves the flexibility and testing capabilities of testing equipment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121542213B_ABST
    Figure CN121542213B_ABST
Patent Text Reader

Abstract

The application discloses a data transmission method, system and computer program product, and relates to the technical field of computers. The data transmission method comprises the following steps: according to an image correlation relationship covering detection task requirements, wafer images are distributed in a targeted manner to constrain the distribution of associated images to the same computing server node, thereby avoiding repeated transmission loss. In the case where writing an image pool reaches a reading condition, image data in the image pool is synchronized to a target computing server node through remote memory direct access, thereby realizing zero-copy transmission and avoiding the delay of cross-node data calling.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of computer technology, and in particular relates to a data transmission method, system and computer program product. Background Technology

[0002] Defect detection is a crucial step in ensuring wafer yield. Especially for mass production wafer lines, the number of wafers inspected per hour (WPH) by the inspection equipment must match the production capacity requirements of the wafer line to adapt to the wafer turnover rhythm.

[0003] However, achieving high WPH (Waste Per Hour) is accompanied by an explosive increase in data volume. To ensure the accuracy of defect detection, the inspection equipment also needs to continuously scan the wafer with a high-resolution camera, with a real-time data output rate of up to 30GB / s. This data needs to be transmitted in real time to the backend inspection module or high-performance computing (HPC) cluster to realize wafer defect detection, in order to avoid data accumulation and detection delays caused by low transmission efficiency. Summary of the Invention

[0004] This application provides a data transmission method, system, and computer program product that can avoid transmission delays of wafer images and improve data transmission performance.

[0005] A first aspect of this application provides a data transmission method, the method being applied to an image acquisition node, comprising:

[0006] Receive wafer images;

[0007] Based on the preset image association relationship, the target computing server node for the wafer image is determined, wherein the image association relationship is the association relationship between the wafer images formed due to the requirements of the detection task;

[0008] From the multiple acquisition-side image pools configured by the image acquisition node for the target computing server node, determine the write image pool, and store the wafer image into the write image pool corresponding to the target computing server node;

[0009] When the image data written to the image pool meets the preset reading conditions, the image data in the image pool is synchronized to the computing-side image pool of the target computing server node through direct remote memory access.

[0010] The image association and image metadata related to the image data are sent to the target computing server node so that the target computing server node can execute the detection task corresponding to the detection task requirements.

[0011] A second aspect of this application provides a data transmission method, the method being applied to a computing server node, comprising:

[0012] In the computing-side image pool configured on the computing server node, the image acquisition node directly accesses the synchronized image data through remote memory and stores it in the local cache pool;

[0013] The image metadata of the image data sent by the image acquisition node is stored in the metadata pool;

[0014] Based on the image association relationships and image metadata associated with the image data, the image data is divided into multiple detection task packages, and detection tasks are executed based on the multiple detection task packages. The image association relationships are the association relationships formed between wafer images in the image data due to the requirements of the detection tasks.

[0015] A third aspect of this application provides a data transmission apparatus for an image acquisition node, comprising:

[0016] The receiving module is used to receive wafer images;

[0017] The distribution module is used to determine the target computing server node for distributing the wafer image based on a preset image association relationship, wherein the image association relationship is the association relationship between the wafer images formed due to the requirements of the detection task;

[0018] The writing module is used to determine the writing image pool from multiple acquisition-side image pools configured by the image acquisition node for the target computing server node, and store the wafer image into the writing image pool corresponding to the target computing server node;

[0019] The synchronization module is used to synchronize the image data written to the image pool to the computing-side image pool of the target computing server node by directly accessing remote memory when the preset reading conditions are met.

[0020] The sending module is used to send the image association relationship and image metadata related to the image data to the target computing server node, so that the target computing server node can execute the detection task corresponding to the detection task requirements.

[0021] A fourth aspect of this application provides a data transmission apparatus for computing server nodes, comprising:

[0022] The first storage module is used to store the image data synchronized by the image acquisition node through remote memory in the computing-side image pool configured in the computing server node into the local cache pool.

[0023] The second storage module is used to store the image metadata of the image data sent by the image acquisition node into the metadata pool;

[0024] The detection task module is used to divide the image data into multiple detection task packages based on the image association relationship and image metadata related to the image data, and to execute the detection task based on the multiple detection task packages. The image association relationship is the association relationship formed between wafer images in the image data due to the requirements of the detection task.

[0025] A fifth aspect of the embodiments of this application provides an electronic device, the device comprising: a memory and a program or instructions stored in the memory and executable on a processor, wherein when the program or instructions are executed by the processor, they implement a data transmission method as provided in any of the embodiments of this application described above.

[0026] A sixth aspect of the embodiments of this application provides a readable storage medium on which a program or instructions are stored, and when the program or instructions are executed by a processor, they implement a data transmission method as provided in any of the embodiments of this application described above.

[0027] A seventh aspect of the embodiments of this application provides a computer program product in which instructions, when executed by a processor of an electronic device, cause the electronic device to perform a data transmission method as provided in any of the embodiments of this application described above.

[0028] The technical solution provided in this application has at least the following beneficial effects:

[0029] In a data transmission method provided in this application embodiment, wafer images are distributed in a targeted manner based on image association relationships covering the requirements of the detection task. This constrains the distribution of associated images to the same computing server node, avoiding redundant transmission losses. When the image data written to the image pool meets the read conditions, the image data written to the image pool is synchronized to the target computing server node via direct remote memory access, thereby achieving zero-copy transmission and avoiding latency in cross-node data access. Attached Figure Description

[0030] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments of this application will be briefly introduced below. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0031] Figure 1 This is a schematic flowchart of a data transmission method provided in one embodiment of this application;

[0032] Figure 2This is a schematic diagram of the data transmission process within an image acquisition node according to an embodiment of this application;

[0033] Figure 3 This is a schematic diagram of the data transmission process within a computing server node according to one embodiment of this application;

[0034] Figure 4 This is a schematic diagram of the process of performing a detection task provided in one embodiment of this application;

[0035] Figure 5 This is a schematic diagram of the process for releasing a local cache pool provided in one embodiment of this application;

[0036] Figure 6 This is a schematic diagram of a process for detecting a detection task package provided in one embodiment of this application;

[0037] Figure 7 This is a schematic diagram illustrating the principle of defect detection of wafer images provided in one embodiment of this application;

[0038] Figure 8 This is a schematic diagram of the structure of a data transmission device according to an embodiment of this application;

[0039] Figure 9 This is a schematic diagram of the structure of a data transmission device according to an embodiment of this application;

[0040] Figure 10 This is a schematic diagram of a data transmission device provided in one embodiment of this application. Detailed Implementation

[0041] The features and exemplary embodiments of various aspects of this application will be described in detail below. To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain this application and not to limit it. For those skilled in the art, this application can be implemented without some of these specific details. The following description of the embodiments is merely to provide a better understanding of this application by illustrating examples.

[0042] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes said element.

[0043] It should be noted that the acquisition, storage, use, and processing of data in the technical solution of this application all comply with the relevant provisions of national laws and regulations. In the embodiments of this application, certain existing industry solutions such as software, components, and models may be mentioned. These should be considered exemplary, intended only to illustrate the feasibility of implementing the technical solution of this application, and do not imply that the applicant has already used or necessarily used such solutions.

[0044] First, the terms and concepts involved in one or more embodiments of this application will be explained.

[0045] Remote Direct Memory Access (RDMA) is a data transfer technology that enables direct memory read and write between different nodes without CPU involvement. It can skip data copying and protocol stack processing to achieve data transfer.

[0046] The Data Acquisition Node (DAN) is a device node used to receive wafer images transmitted by the receiving equipment, allocate target computing server nodes according to image association relationships, and synchronize image data through image pool management and RDMA.

[0047] A Compute Server Node (CSN) is a server node that receives image data synchronized from image acquisition nodes, stores it, assembles detection task packages based on image associations and image metadata, and executes defect detection tasks.

[0048] Wafer images refer to images acquired by scanning different locations on a wafer using a machine.

[0049] Image association refers to the association between wafer images formed due to the requirements of the detection task, including the pairing relationship between the image to be tested and its corresponding reference image in the detection task, the attribution relationship between different local images of the same grain, etc.

[0050] Image metadata is data that describes the attributes of a wafer image, including image acquisition location, detection algorithm identifier, resolution, exposure parameters, etc.

[0051] The image pool is a pre-configured fixed-capacity memory block used to cache wafer images.

[0052] The write valid pool queue is a queue formed by write valid pools that have not met the read conditions but can be written to the wafer image, according to the first-in-first-out rule.

[0053] The valid read pool queue is a queue formed by the valid read pool that has met the read conditions and can read image data, according to the first-in-first-out rule.

[0054] The local cache pool is a cache area used to store image data obtained from the read valid pool.

[0055] The metadata pool is a memory area used to store image metadata.

[0056] The inspection task package is an independent inspection unit formed by combining multiple wafer images, and each inspection task package corresponds to a complete inspection process.

[0057] The alternative task pool is a memory area used to store alternative task packages that are not yet ready.

[0058] The ready task pool is a memory area used to store ready detection task packages.

[0059] The usable number is the total number of times a single image to be inspected is relied upon by an incomplete inspection task package, used to determine whether an image can be deleted from the local cache pool.

[0060] The reading conditions are the pre-set conditions for triggering transmission / reading in the image pool.

[0061] The read prompt message is a notification sent by the image acquisition node to the target computing server node after the image pool has reached the read condition. It indicates that the image pool is full and the image data written to the image pool can be synchronized to its corresponding computing side image pool.

[0062] The write prompt message is a notification sent by the compute server node to the image acquisition node after reading the image data from the read image pool. It indicates that the read image pool is empty and the corresponding acquisition-side image pool can be reused to write new wafer images.

[0063] In the semiconductor manufacturing industry, defect detection is a crucial step in ensuring wafer yield. Especially for mass production wafer lines, the number of wafers inspected per hour (WPH) by the inspection equipment must match the production capacity requirements of the wafer line to adapt to the wafer turnover rhythm.

[0064] However, achieving high WPH (Waste Per Hour) is accompanied by an explosive increase in data volume. To ensure the accuracy of defect detection, the inspection equipment needs to continuously scan the wafer using a high-resolution camera, with a real-time data output rate of up to 30GB / s. This data needs to be transmitted in real-time to the backend inspection module or high-performance computing (HPC) cluster to achieve wafer defect detection, in order to avoid data backlog and detection delays caused by low transmission efficiency. If image data cannot be transmitted to the backend inspection module or computing cluster in real time, data backlog will occur at the front-end image acquisition node, consuming a large amount of storage resources and potentially causing the image acquisition process to be interrupted.

[0065] Currently, defect detection modules are typically placed within image acquisition modules, meaning the detection algorithm is directly integrated into the image acquisition server to avoid image data transmission delays. However, this method requires all detection hardware to be deployed on one or more servers, with the number of servers matching the number of image acquisition modules. Therefore, this method is limited by the hardware configuration of a single server. Since the configuration of a single server is limited by the server architecture, the detection capability of the entire system is also limited by the server architecture. Consequently, even as the image scanning speed of the equipment increases in the future, it is impossible to improve the detection capability of the equipment by upgrading the hardware configuration.

[0066] To address the aforementioned technical problems, this application provides a data transmission method, system, and computer program product. In the data transmission method provided in this application, the target computing server node for wafer image distribution is determined through image association relationships. Then, a write image pool is determined from multiple acquisition-side image pools configured by the image acquisition node for the target computing server node, and the wafer image is stored in the write image pool corresponding to the target computing server node. When the write image pool meets the read conditions, the image data written to the image pool is synchronized to the computing-side image pool of the target computing server node via direct remote memory access. This achieves high-efficiency, low-latency data transmission of wafer images, adapting to the data stream transmission requirements of high-WPH production lines.

[0067] Meanwhile, this application separates defect detection. When the machine's image scanning speed or the efficiency of the detection algorithm is improved, the overall detection capability of the machine can be improved by increasing or decreasing the number of detection servers, which is highly flexible.

[0068] For example, a data transmission method provided in this application embodiment can be applied to the production line of a semiconductor manufacturing company for detecting scratches, particles, and pattern defects on the wafer surface. In practical applications, a machine equipped with image acquisition devices such as a Time Delay Integration (TDI) camera continuously scans and acquires wafer images, which are then transmitted to an image acquisition node. The image acquisition node determines the target computing server node to which the wafer image is sent based on a preset image association relationship. The wafer image is then stored in the write image pool corresponding to the target computing server node. When the write image pool reaches a preset read condition, the image data in the write image pool is synchronized to the target computing server node via RDMA. The computing server node can group the synchronized image data based on image metadata and image association relationships to obtain detection task packages. Each detection task package can then be sequentially used for defect detection to obtain the detection results. The detection results are then stored in a data storage device. Based on the detection results, operators can view the distribution of wafer defects and then adjust production line process parameters and optimize equipment operation status, such as adjusting camera exposure parameters, optimizing detection algorithm thresholds, and troubleshooting abnormal machine operation, to ensure wafer production yield and production line operating efficiency.

[0069] It should be noted that the application scenarios described in the above embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided by the embodiments of this application. Those skilled in the art will understand that with the emergence of new application scenarios, the technical solutions provided by the embodiments of this application are also applicable to similar technical problems. The data transmission method provided by the embodiments of this application can be applied to various application scenarios requiring low-latency, high-speed data transmission.

[0070] The data transmission method provided in the embodiments of this application is described below. In practical applications, the execution subject of the data transmission method in the embodiments of this application can be a terminal device, such as a desktop computer or laptop computer, or a remote device similar to a server. Of course, the embodiments of this application can also adopt an execution subject in the form of software, such as a client or software program installed on a terminal device. The specific type of execution subject corresponding to the technical solution provided in the embodiments of this application is not strictly limited here, and can be flexibly selected according to the actual application scenario and actual needs.

[0071] The following describes specific embodiments of the data transmission method, apparatus, electronic device, storage medium, and computer program product provided in this application. First, the data transmission method will be described.

[0072] Figure 1 This is a schematic flowchart illustrating a data transmission method provided in an embodiment of this application. Figure 1As shown, the method is executed collaboratively by an image acquisition node and a computing server node, wherein the image acquisition node is used to execute steps S100 to S104, and the computing server node is used to execute steps S105 to S107.

[0073] S100: Image acquisition node receives wafer images.

[0074] In one or more embodiments of this application, in order to enable targeted distribution and efficient processing of wafer images based on image association relationships in subsequent steps, in this step, the image acquisition node can receive wafer images acquired by the machine.

[0075] Specifically, the image acquisition node receives real-time data streams of wafer images scanned and acquired by the machine through a data interface (such as an image acquisition card) established with the machine. Each wafer image carries its corresponding metadata, which includes, but is not limited to, the acquisition time, acquisition location, and the die to which it belongs.

[0076] It should be noted that the instrument is used to control wafer movement, calibration, illumination and wafer image acquisition. This application does not limit the number of image acquisition nodes and computing server nodes, which can be set according to actual needs. For example, based on the acquisition efficiency of the instrument, the number of image acquisition nodes and computing server nodes can be dynamically adjusted. For example, the higher the configuration of a single image acquisition node / computing server node, the fewer nodes are required.

[0077] S101: The image acquisition node determines the target computing server node to which the wafer image is sent based on the preset image association relationship, wherein the image association relationship is the association relationship between the wafer images formed due to the requirements of the detection task.

[0078] In one or more embodiments of this application, in order to achieve centralized processing of associated images in subsequent steps and avoid transmission delays or data matching errors caused by cross-node calls, the image acquisition node needs to allocate the associated wafer images to the same computing server node according to the association between the wafer images and other wafer images in the detection task requirements.

[0079] Specifically, the image acquisition node first parses the metadata carried by the wafer image (such as imaging location, wafer to which it belongs, and die to which it belongs), and then matches it with the distribution rules pre-set and sent to the image acquisition node by the control and display unit. For example, if the distribution rule defines "the image at the first imaging location and the wafer image at the second imaging location should be used as the image to be tested and the reference image, respectively, to form the same detection task", then when the wafer image at the first imaging location is received, its target computing server node will be determined to be the same node as the wafer image at the second imaging location based on the image association relationship; if the distribution rule defines "all local die images belonging to the same die need to be processed uniformly", then the target computing server node of the local die image will be determined to be the computing server node already associated with its die based on the image association relationship.

[0080] It should be noted that this application does not limit the specific content of image association and distribution rules, which can be set according to actual needs. For example, the image association and distribution rules can be dynamically adjusted when the detection algorithm or detection scenario changes (the detection task requirements change); or the distribution rules can be dynamically adjusted based on the load of the computing server node to avoid overloading a single computing server node.

[0081] S102: The image acquisition node determines the write image pool from the multiple acquisition-side image pools configured by the image acquisition node for the target computing server node, and stores the wafer image into the write image pool corresponding to the target computing server node.

[0082] In one or more embodiments of this application, in order to improve the transmission efficiency of direct remote memory access through batch synchronization in subsequent steps and avoid resource waste caused by triggering transmission immediately after caching a single wafer image, in this step, the image acquisition node needs to pre-set multiple acquisition-side image pools for each target computing server node, so as to realize batch caching and transmission of image data through asynchronous reading and writing of multiple acquisition-side image pools.

[0083] Specifically, the image acquisition node needs to maintain a set of acquisition-side image pools for each computing server node (e.g., each computing server node can be configured with 10 acquisition-side image pools, and the capacity of each acquisition-side image pool can be a preset image quantity threshold), and monitor the storage status of each image pool in real time (whether the preset read conditions have been met). After the target computing server node is determined in step S101, the write image pools that have not yet met the read conditions are selected from the multiple acquisition-side image pools configured for the target computing server node, and the wafer image is stored in the write image pool corresponding to the target computing server node.

[0084] It should be noted that the image pools configured for different computing server nodes are independent of each other to avoid image data confusion between different computing server nodes. This application does not limit the capacity of the image pools; it can be set according to actual needs, such as batch transmission efficiency and image data latency requirements. As mentioned above, there can be multiple computing server nodes, and each image acquisition node is configured with multiple image pools for each computing server node. There is a one-to-one image pool mapping between the image pools in the image acquisition node and the computing pools in their corresponding computing server nodes. To improve the orderliness of image pool read / write operations, in one or more embodiments of this application, a write-valid pool queue is set up for each computing server node, and an ordered reuse and reading of the image pools is achieved based on a first-in, first-out (FIFO) mechanism. This includes: for each computing server node, determining the write-valid pools that meet the reading conditions from the multiple image pools configured for that computing server node, and then constructing a write-valid pool queue for that computing server node based on each write-valid pool. When writing a wafer image, the image acquisition node can use the first valid write pool in the valid write pool queue of the target compute server node as the write image pool, and then store the acquired wafer image into the write image pool. This allows the compute server node to directly access the wafer image written to the image pool through remote memory based on the image pool mapping relationship, and synchronize the wafer image written to the image pool of the corresponding compute server node.

[0085] In this embodiment, the image pool on the acquisition side and the image pool on the computation side have a one-to-one image pool mapping relationship. In a preferred embodiment, the image pool on the acquisition side and the image pool on the computation side with the image pool mapping relationship have the same capacity, so that the image pool on the computation side can receive the image data of its corresponding image pool on the acquisition side without any space surplus, thus avoiding the waste of memory resources.

[0086] S103: When the image acquisition node reaches the preset reading conditions in the image pool, it directly accesses the remote memory to synchronize the image data in the image pool to the computing side image pool of the target computing server node.

[0087] In one or more embodiments of this application, in order to enable the computing server node to acquire batch image data in an orderly and efficient manner in subsequent steps, avoid the disconnect between data transmission and processing, and improve data transmission efficiency through the low-latency characteristics of direct remote memory access, in this step, the image acquisition node needs to achieve cyclic reuse of the image pool based on a mechanism that triggers reading when the image pool reaches the reading condition.

[0088] Specifically, when the image acquisition node detects that the image data written to the image pool has reached the read condition, it initiates a Remote Memory Access over Converged Ethernet (RoCE) network connection with the target computing server node. The image data written to the image pool is then synchronized to the corresponding computing-side image pool of the target computing server node through direct memory mapping, without the need for CPU to participate in data copying, thus reducing transmission latency.

[0089] It should be noted that the specific content of the read conditions is not limited in this application and can be set according to actual needs. For example, the read condition is that the number of wafer images stored in the image pool reaches a preset threshold (e.g., 10 images are stored in each acquisition-side image pool); or the read condition is that the amount of data of the wafer images stored in the image pool reaches the storage capacity of the acquisition-side image pool. After the read condition is reached, it means that the image pool can no longer write new data. In order to avoid read / write conflicts between new data and the data already stored in the pool and to ensure data integrity, it is necessary to trigger the read synchronization of the image data in the image pool and the cyclic reuse of the acquisition-side image pool to improve the utilization of memory resources. In one or more embodiments of this application, when the read condition is reached, the image acquisition node sends a read prompt message that the image pool is full to the target computing server node and deletes the image pool from the write valid pool queue of the target computing server node, so that the target computing server node responds to the read prompt message and synchronizes the image data in the image pool to its corresponding computing-side image pool through remote memory direct access. In response to the write prompt message returned by the target computing server node after reading, the acquisition side image pool corresponding to the image pool read in the write prompt message is placed at the end of the write valid pool queue of the target computing server node, wherein the write prompt message is used to indicate that the image pool read is empty.

[0090] In this embodiment, reading or writing prompt information can be done by carrying the image pool number and the number of images stored in the corresponding image pool, which can be used to prompt the update of the valid pool queue corresponding to the computing server node or image acquisition node.

[0091] S104: The image acquisition node sends the image association relationship and image metadata related to the image data to the target computing server node.

[0092] In one or more embodiments of this application, in order for the computing server node to assemble a detection task package based on image data in subsequent steps, the image acquisition node needs to send the image association relationships and image metadata related to the image data to the target computing server node in this step.

[0093] Specifically, the image acquisition node can synchronously send the image association relationship corresponding to the image data written into the image pool (such as the pairing relationship between the image to be tested and the reference image in the same detection task, and the image belonging relationship of the same wafer) and the metadata information of the wafer image in the image data (such as imaging position coordinates, wafer ID, acquisition time, resolution parameters, etc.) to the target computing server node, so as to ensure that the target computing server node can synchronously obtain the corresponding metadata and association relationship when receiving the image data.

[0094] It should be noted that this application does not limit the timing and transmission method of sending image association relationships and image metadata, which can be set according to actual needs. For example, they can be sent in advance before the RDMA synchronized image data to reserve data preprocessing time for the computing server node; they can also be sent synchronously with the image data to reduce the number of communication interactions; since the data volume of image association relationships and image metadata is much smaller than that of image data, these two types of information can be transmitted using the TCP / IP protocol, or transmitted synchronously with the RDMA data stream, or sent separately through an independent communication link.

[0095] Figure 2 This is a schematic diagram illustrating the data transmission process within an image acquisition node as provided in an embodiment of this application. Figure 2 As shown, the data transmission process within the image acquisition node includes steps S200 to S209:

[0096] S200: Read the wafer image from the image acquisition card. S201: Determine the target compute server node for the wafer image based on image association relationships. S202: Use the first valid write pool in the target compute server node's valid write pool queue as the write image pool. S203: Store the wafer image in the write image pool. S204: Determine if the write image pool meets the read conditions. If yes, proceed to step S205; otherwise, proceed to step S207. S205: Send a read notification message indicating the write image pool is full to the target compute server node. S206: Delete the write image pool from the valid write pool queue of the target compute server node, so that the target compute server node, in response to the read notification message, synchronizes the image data in the write image pool to the corresponding compute-side image pool via direct remote memory access. S207: Check if the target compute server node has returned a write notification message. If yes, proceed to step S208; otherwise, proceed to step S209. S208: In response to the write prompt message, place the image pool on the acquisition side corresponding to the image pool read in the write prompt message at the end of the write valid pool queue of the target computing server node. S209: Continue reading the next wafer image from the image acquisition card.

[0097] S105: The computing server node stores the synchronized image data from the computing-side image pool configured on the computing server node, which is accessed directly by the image acquisition node through remote memory, into a local cache pool.

[0098] In one or more embodiments of this application, to ensure the stability of the task package assembly and execution in subsequent steps and to avoid data refresh or overwriting caused by image pool reuse, in this step, the computing server node needs to store the image data synchronized by the image acquisition node through remote memory into a local cache pool.

[0099] Specifically, after receiving a read prompt from the image acquisition node, the computing server node directly reads batches of image data from the corresponding write image pool via RDMA and stores them in the local cache pool in the order of receipt. The local cache pool can be partitioned and managed according to image source (such as the associated image pool number) or timestamp. Wafer images are associated with metadata through their unique identifiers to ensure the accuracy of data retrieval.

[0100] It should be noted that the capacity of the local cache pool is not limited in this application and can be set according to actual needs. To adapt to the transmission rate of image data and the processing efficiency of detection tasks, the capacity of the local cache pool can be set to 4-6 times the capacity of a single image pool to avoid data overwriting due to detection task delays. Simultaneously, the image acquisition node configures multiple acquisition-side image pools for the computing server node. The acquisition-side image pool and its corresponding computing server node's computing-side image pool have a one-to-one image pool mapping relationship. To improve the orderliness of reading image data from computing-side image pools that have met the reading conditions, this application can set up a valid read pool queue to manage multiple image pools that have met the reading conditions. In one or more embodiments of this application, the computing server node can, according to the image pool mapping relationship, directly access remote memory to synchronize image data from the acquisition-side image pools in the image acquisition node to the computing-side image pools. The computing server node can use image pools that have met preset reading conditions from multiple computing-side image pools as valid read pools and construct a valid read pool queue based on each valid read pool. The first valid read pool in the valid read pool queue is used as the image read pool, and image data is obtained from the image read pool and stored in the local cache pool.

[0101] Furthermore, the dynamic maintenance of the valid read pool queue needs to form a closed loop with the interaction of the image acquisition nodes to ensure the orderly reading and writing of the computational image pool. The valid read pool queue must also follow a first-in, first-out (FIFO) mechanism. Specifically, in one or more embodiments of this application, firstly, in response to a read prompt message sent by the image acquisition node, the computational server node places the computational image pool corresponding to the image pool written in the read prompt message at the end of the valid read pool queue. The read prompt message indicates that the image pool is full. Secondly, the first valid read pool in the valid read pool queue is designated as the read image pool, and image data is directly accessed from the read image pool via remote memory. Once the data acquisition meets the read conditions, the read image pool is deleted from the valid read pool queue. Finally, a write prompt message indicating that the read image pool is empty is sent to the image acquisition node, so that the image acquisition node, in response to the write prompt message, reuses the acquisition-side image pool corresponding to the read image pool to store the image.

[0102] Figure 3 This is a schematic diagram illustrating the data transmission process within a computing server node, as provided in an embodiment of this application. Figure 3 As shown, the process of calculating data transmission within the server node includes steps S300 to S306:

[0103] S300: Receive the read prompt message sent by the image acquisition node. S301: Place the computational-side image pool corresponding to the image pool written in the read prompt message at the end of the valid read pool queue. S302: Use the first valid read pool in the valid read pool queue as the read image pool. S303: Obtain image data from the read image pool and write it to the local cache pool. S304: If the data acquisition meets the read conditions, delete the read image pool from the valid read pool queue. S305: Send the write prompt message indicating that the read image pool is empty to the image acquisition node. S306: Continue reading the first valid read pool in the valid read pool queue.

[0104] S106: The computing server node stores the image metadata of the image data sent by the image acquisition node into the metadata pool.

[0105] S107: The computing server node divides the image data into multiple detection task packages based on the image association relationship and image metadata related to the image data, and executes the detection task based on the multiple detection task packages.

[0106] In one or more embodiments of this application, in order to achieve accurate detection of wafer images, the computing server node needs to clarify the pairing relationship of each wafer image in the detection task through image association and image metadata, so as to accurately divide the image data into multiple detection task packages.

[0107] Specifically, the computing server node first filters out related image data from its local cache pool based on image association relationships (such as pairing rules between test images and reference images for the same detection task, and the affiliation of image sets for the same wafer). Then, combined with image metadata (such as imaging location, wafer ID, and detection algorithm identifier), it groups the related image data into independent detection task packages. These detection task packages are then detected sequentially according to detection priority or generation order.

[0108] It should be noted that, to ensure the integrity of the detection task package and avoid detection task interruption due to incomplete reception of associated wafer images, in one or more embodiments of this application, firstly, the computing server node constructs a candidate task pool based on image association relationships. This candidate task pool stores candidate task packages that are not yet ready. Secondly, for each image to be inspected, a candidate task package dependent on that image is selected from the candidate task pool based on image association relationships, and the image to be inspected in the selected candidate task package is marked as ready. Finally, the selected candidate task packages are inspected (e.g., checking whether the images and metadata they depend on are ready). If the selected candidate task package is ready, it is used as the detection task package, and the detection task package is removed from the candidate task pool and moved into the ready task pool; the detection task is then executed based on the ready task pool. In this embodiment, the candidate task pool and the ready task pool ensure that each detection task is executed with complete data, especially in complex scenarios with high WPH, avoiding detection errors or duplicate processing due to missing data.

[0109] Figure 4 This is a schematic diagram illustrating the process of performing a detection task as provided in an embodiment of this application. Figure 3 As shown, the process of calculating data transmission within the server node includes steps S400 to S409:

[0110] S400: The image acquisition node directly accesses and synchronizes the image data via remote memory, and stores it in the local cache pool. S401: Read the image to be inspected from the local cache pool, and select a candidate task package dependent on the image to be inspected from the candidate task pool based on image association relationships. S402: Mark the image to be inspected in the selected candidate task package as ready. S403: Check whether the selected candidate task package is ready. If the candidate task package is ready, execute step S404; otherwise, execute step S405. S404: Use the selected candidate task package as the detection task package, remove the detection task package from the candidate task pool, and move it into the ready task pool. S405: Continue reading the next image to be inspected from the local cache pool.

[0111] Furthermore, to avoid wasting memory resources due to long-term storage of unused image data in the local cache pool, the memory resource utilization of the local cache pool is improved. In one or more embodiments of this application, the usable count of each image to be inspected can be determined based on image association relationships, and the local cache can be dynamically cleaned up based on the usable count (i.e., the number of times it is depended on by incomplete detection tasks). This includes: First, calculating the usable count of each image to be inspected in the image data based on image association relationships, where the usable count is the total number of times the image to be inspected is depended on by detection task packages that have not completed detection. Second, after any detection task package completes detection, the usable count of each image to be inspected that the detection task package depends on is decremented by one. Finally, when the usable count of any image to be inspected accumulates to zero, the image to be inspected is deleted from the local cache pool.

[0112] For example, if a wafer image is found to be dependent on by three incomplete detection task packages based on image association, then the initial usable count of the wafer image should be set to 3. After completing the detection of one detection task package based on the wafer image, the usable count will be decremented by one. When all three detection task packages have been completed and the usable count has been reduced to zero, the wafer image will be deleted from the local cache pool to release the memory resources of the local cache pool and improve memory resource utilization.

[0113] Figure 5 This is a schematic diagram illustrating the process of releasing the local cache pool as provided in an embodiment of this application. Figure 5 As shown, the process of releasing the local cache pool includes steps S500 to S503, as follows:

[0114] S500: Determine the usable count of each image to be inspected in the image data based on the image association relationship. S501: Sequentially inspect the detection tasks in the ready task pool. S502: After any detection task package completes its inspection, decrement the usable count of each image to be inspected that the detection task package depends on by one. S503: If the usable count of any image to be inspected accumulates to zero, delete that image from the local cache pool.

[0115] In the aforementioned data transmission method, through the collaborative design of image acquisition nodes and computing server nodes, data transmission is performed using Remote Direct Memory Access (RDMA). Multiple image pools are used to buffer batch data, and zero-copy synchronization is achieved through RDMA after the reading conditions are met. The computing server nodes receive data in an orderly manner by reading the valid pool queue, and rely on the local cache pool and metadata pool to achieve data classification and storage. Then, based on the image association relationship, a candidate task pool and a ready task pool are constructed to ensure that the detection task package is executed efficiently under the premise of data integrity. The cache is dynamically cleared by the number of available data to avoid resource waste.

[0116] Furthermore, the image composition of the detection task package needs to be determined based on the detection algorithm. This application does not limit the specific content of the detection algorithm and it can be set according to actual needs. In one or more embodiments of this application, the detection task package consists of three images: one is the image to be detected, and two other images at the same position adjacent to the image to be detected, serving as reference images.

[0117] Figure 6 This is a schematic diagram of the process for detecting a detection task package provided in an embodiment of this application. The detection process includes steps S600 to S603, as follows:

[0118] S600: Align the reference image with the image to be inspected. S601: Determine the difference images between the image to be inspected and the reference image. S602: Perform defect detection on the difference images based on a preset pixel difference threshold. S603: Identify areas where pixel values ​​in both difference images are greater than the pixel difference threshold as defective regions.

[0119] Figure 7 The diagram illustrates the principle of defect detection on wafer images according to an embodiment of this application. Defect detection is collaboratively performed by a machine (including a TDI camera) 700, an image acquisition node 701, N computing server nodes 702, and a display and control unit (GUI&Control) 703. The display and control unit primarily provides visualization, machine control, and control of the detection process. As a human-machine interface, it issues control commands (such as adjusting detection parameters and starting / stopping equipment) to nodes / equipment, and receives and displays node / equipment status information (such as equipment operating status and detection progress) and defect detection results (such as defect location and type statistics). The machine integrates an optical imaging module (such as a multi-channel TDI camera) to scan and image different areas of the wafer, generating images of the wafer to be inspected, such as a circular wafer carrier stage, laser / optical inspection components, and a multi-channel TDI camera (such as a three-channel TDI, TDI1, TDI2, and TDI3), used to acquire wafer images from different angles or areas. Image acquisition nodes primarily acquire images and combined inspection task packages from the equipment. They receive wafer image data output from the TDI camera and perform preliminary processing (such as data format conversion and association matching) based on preset image correlation relationships, preparing for subsequent transmission to the computing server node. The computing server node is responsible for image reception, control of inspection task packages, and inspection. It receives TDI wafer images transmitted by the image acquisition node via RDMA, constructs inspection task packages based on image correlation relationships and image metadata, executes defect detection algorithms, and outputs inspection results. Multiple CSNs can form a cluster (HPC) to improve overall inspection capabilities through parallel computing.

[0120] In addition, the image acquisition node and multiple computing server nodes are connected through a Remote Direct Memory Access Switch (RDMA over Converged Ethernet Switch, RoCE Switch). The RDMA over Converged Ethernet Switch is a high-speed switch that supports the RoCE protocol and provides a low-latency, high-bandwidth network connection between the data acquisition node and the computing server node. It is the hardware that enables remote direct memory access data transmission.

[0121] Based on the above data transmission method, this application also provides a specific embodiment of a data transmission system.

[0122] This application provides a data transmission system 700 that includes an image acquisition node and a computing server node.

[0123] The image acquisition node is used to: receive wafer images; determine the target computing server node to which the wafer images are sent based on preset image association relationships, wherein the image association relationships are the relationships formed between images at different locations on the wafer due to detection task requirements and / or grain structure integrity; determine a write image pool from multiple acquisition-side image pools configured by the image acquisition node for the target computing server node, and store the wafer images into the write image pool corresponding to the target computing server node; when the write image pool meets preset read conditions, synchronize the image data in the write image pool to the computing-side image pool of the target computing server node through direct remote memory access; and send the image association relationships and image metadata related to the image data to the target computing server node.

[0124] The computing server node is configured to: store the image data synchronized by the image acquisition node in the computing-side image pool configured on the computing server node into a local cache pool; store the image metadata of the image data sent by the image acquisition node into a metadata pool; divide the image data into multiple detection task packages based on the image association relationship related to the image data and the image metadata, and execute detection tasks based on the multiple detection task packages.

[0125] Based on the above data transmission method, this application also provides a specific embodiment of a data transmission device.

[0126] like Figure 8 As shown in the embodiment of this application, a data transmission device 800 is provided. The device is used for an image acquisition node and includes a receiving module 801, a sending module 802, a writing module 803, a synchronization module 804, and a sending module 805.

[0127] The receiving module 801 is used to receive wafer images;

[0128] The distribution module 802 is used to determine the target computing server node for the distribution of the wafer image based on a preset image association relationship, wherein the image association relationship is the association relationship between the wafer images formed due to the requirements of the detection task;

[0129] The writing module 803 is used to determine the writing image pool from multiple acquisition-side image pools configured by the image acquisition node for the target computing server node, and store the wafer image into the writing image pool corresponding to the target computing server node;

[0130] The synchronization module 804 is used to, when the image data written to the image pool reaches the preset reading conditions, synchronize the image data in the image pool to the computing side image pool of the target computing server node through direct remote memory access.

[0131] The sending module 805 is used to send the image association relationship and image metadata related to the image data to the target computing server node, so that the target computing server node can execute the detection task corresponding to the detection task requirement.

[0132] In some embodiments, the above-described writing module is specifically used for: having multiple computing server nodes, with each image acquisition node configuring multiple acquisition-side image pools for each computing server node, the acquisition-side image pools having a one-to-one image pool mapping relationship with the computing-side image pools of their corresponding computing server nodes; for each computing server node, determining the write-valid pool that meets the read condition from the multiple acquisition-side image pools configured for that computing server node; for each computing server node, constructing a write-valid pool queue for that computing server node based on each write-valid pool; using the first write-valid pool in the write-valid pool queue of the target computing server node as the write image pool, and storing the wafer image in the write image pool, so that the computing server node can directly access remote memory based on the image pool mapping relationship to synchronize the wafer image in the write image pool to the corresponding computing-side image pool.

[0133] In some embodiments, the above-described writing module can also be used to: when the writing image pool meets the reading condition, send a reading prompt message indicating that the writing image pool is full to the target computing server node, and delete the writing image pool from the writing valid pool queue of the target computing server node, so that the target computing server node, in response to the reading prompt message, synchronizes the image data in the writing image pool to its corresponding computing-side image pool through direct remote memory access; in response to the writing prompt message returned by the target computing server node after reading, place the acquisition-side image pool corresponding to the reading image pool in the writing prompt message at the end of the writing valid pool queue of the target computing server node, wherein the writing prompt message is used to indicate that the reading image pool is empty.

[0134] like Figure 9 As shown in the embodiment of this application, a data transmission device 900 is provided. The device is used for computing server nodes and includes a first storage module 901, a second storage module 902, and a detection task module 903.

[0135] The first storage module 901 is used to store the image data synchronized by the image acquisition node through remote memory in the computing-side image pool configured in the computing server node into the local cache pool.

[0136] The second storage module 902 is used to store the image metadata of the image data sent by the image acquisition node into the metadata pool;

[0137] The detection task module 903 is used to divide the image data into multiple detection task packages based on the image association relationship and image metadata related to the image data, and to execute detection tasks based on the multiple detection task packages. The image association relationship is the association relationship formed between the wafer images due to the requirements of the detection task.

[0138] In some embodiments, the first storage module described above is specifically used for: configuring multiple acquisition-side image pools for the computing server node, wherein the acquisition-side image pools and their corresponding computing-side image pools of the computing server node have a one-to-one image pool mapping relationship; synchronizing image data from the acquisition-side image pools in the image acquisition node to the computing-side image pools via direct remote memory access according to the image pool mapping relationship; designating image pools among the multiple computing-side image pools that meet preset reading conditions as valid reading pools; constructing a valid reading pool queue based on each valid reading pool; designating the first valid reading pool in the valid reading pool queue as a valid reading image pool; and retrieving the image data from the valid reading image pools and storing it in the local cache pool.

[0139] In some embodiments, the first storage module described above can also be used to: respond to a read prompt message sent by the image acquisition node, place the computational-side image pool corresponding to the image pool written in the read prompt message at the end of the read valid pool queue, wherein the read prompt message is used to indicate that the image pool written is full; take the first read valid pool in the read valid pool queue as the read image pool; obtain the image data from the read image pool and write it into the local cache pool, and delete the read image pool from the read valid pool queue when the data acquisition meets the read condition; send a write prompt message indicating that the read image pool is empty to the image acquisition node, so that the image acquisition node, in response to the write prompt message, reuses the acquisition-side image pool corresponding to the read image pool to store the image.

[0140] In some embodiments, the detection task module described above is specifically used for: constructing a candidate task pool based on the image association relationship, the candidate task pool being used to store candidate task packages that are not yet ready; for each image to be inspected, selecting a candidate task package that depends on the image to be inspected from the candidate task pool based on the image association relationship, and marking the image to be inspected in the selected candidate task package as ready; detecting the selected candidate task package, and if the selected candidate task package is ready, using the selected candidate task package as the detection task package; removing the detection task package from the candidate task pool and moving it into the ready task pool; and executing the detection task based on the ready task pool.

[0141] In some embodiments, the detection task module described above can also be used to: determine the number of usable images for each image to be inspected in the image data according to the image association relationship, wherein the number of usable images is the total number of times the image to be inspected is relied upon by the detection task package that has not completed detection; after any detection task package completes detection, decrement the number of usable images for each image to be inspected that the detection task package relies on by one; and delete the image to be inspected from the local cache pool when the number of usable images for any image to be inspected has accumulated to zero.

[0142] Based on a data transmission method, this application also provides a specific embodiment of a data transmission device.

[0143] Figure 10 A schematic diagram of the hardware structure of a data transmission device provided in an embodiment of this application is shown.

[0144] The data transmission device may include a processor 1001 and a memory 1002 storing computer program instructions.

[0145] Specifically, the processor 1001 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.

[0146] Memory 1002 may include mass storage for data or instructions. For example, and not limitingly, memory 1002 may include a hard disk drive (HDD), floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, memory 1002 may include removable or non-removable (or fixed) media. Where appropriate, memory 1002 may be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, memory 1002 is non-volatile solid-state memory.

[0147] The processor 1001 implements any of the data transmission methods described in the above embodiments by reading and executing computer program instructions stored in the memory 1002.

[0148] In one example, the electronic device may also include a communication interface 1003 and a bus 1010. Wherein, as... Figure 10 As shown, the processor 1001, memory 1002, and communication interface 1003 are connected through bus 1010 and complete communication with each other.

[0149] The communication interface 1003 is mainly used to realize communication between various modules, devices, units and / or equipment in the embodiments of this application.

[0150] Bus 1010 includes hardware, software, or both, that couples the components of the electronic device together. For example, and not limitingly, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a Microchannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or combinations of two or more of these. Where appropriate, bus 1010 may include one or more buses. Although specific buses are described and illustrated in embodiments of this application, this application contemplates any suitable bus or interconnect.

[0151] Furthermore, in conjunction with the data transmission methods described in the above embodiments, this application embodiment can provide a computer storage medium for implementation. This computer storage medium stores computer program instructions; when these computer program instructions are executed by a processor, they implement any of the data transmission methods described in the above embodiments.

[0152] In addition, in conjunction with the data transmission method in the above embodiments, this application embodiment can provide a computer program product for implementation. When the instructions in the computer program product are executed by the processor of an electronic device, the electronic device executes a data transmission method as provided in any aspect of the above embodiments of this application.

[0153] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.

[0154] The functional blocks shown in the above-described structural diagram can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. Programs or code segments can be stored on a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried on a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, etc. Code segments can be downloaded via computer networks such as the Internet, intranets, etc.

[0155] It should also be noted that the exemplary embodiments mentioned in this application describe methods or systems based on a series of steps or apparatus. However, this application is not limited to the order of the above steps; that is, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.

[0156] The aspects of this disclosure have been described above with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block in the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that these instructions, executable via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions / actions specified in one or more blocks of the flowchart illustrations and / or block diagrams. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field-programmable logic circuit. It is also understood that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can also be implemented by special-purpose hardware performing the specified functions or actions, or can be implemented by a combination of special-purpose hardware and computer instructions.

[0157] The above description is merely a specific implementation of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. It should be understood that the protection scope of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the protection scope of this application.

Claims

1. A data transmission method, characterized in that, The method is applied to an image acquisition node, including: Receive wafer images; Based on a preset image association relationship, the target computing server node for the wafer image is determined. The image association relationship is the association relationship formed between the wafer images due to the requirements of the detection task. The image association relationship is determined by parsing the image metadata carried by the wafer image and matching a preset distribution rule. The step of determining the target computing server node for the wafer image based on the preset image association relationship includes: directing the wafer images with the image association relationship to the same computing server node. From the multiple acquisition-side image pools configured by the image acquisition node for the target computing server node, a write image pool is determined, and the wafer image is stored in the write image pool corresponding to the target computing server node; there are multiple computer server nodes, and the image acquisition node configures multiple acquisition-side image pools for each computing server node, with a one-to-one image pool mapping relationship between the acquisition-side image pool and the computing-side image pool of the corresponding computing server node; the capacity of the acquisition-side image pool and the computing-side image pool are the same; the step of storing the wafer image in the write image pool corresponding to the target computing server node includes: for each computing server node, determining the write valid pools that have not met the read conditions from the multiple acquisition-side image pools configured for that computing server node; for each computing server node, constructing a write valid pool queue for that computing server node based on each write valid pool; taking the first write valid pool in the write valid pool queue of the target computing server node as the write image pool, and storing the wafer image in the write image pool; When the image data written to the image pool meets the preset reading conditions, the image data in the image pool is synchronized to the computing-side image pool of the target computing server node through direct remote memory access. The target computing server node manages multiple computing-side image pools that have met the reading conditions based on the valid read pool queue. The image association relationship and image metadata associated with the image data are sent to the target computing server node, so that the target computing server node can execute the detection task corresponding to the detection task requirements based on the image association relationship, the image metadata and the image data.

2. The method as described in claim 1, characterized in that, When the image data written to the image pool meets the preset read conditions, the image data in the image pool is synchronized to the target computing server node via direct remote memory access, including: When the write image pool meets the read condition, a read prompt message indicating that the write image pool is full is sent to the target computing server node, and the write image pool is deleted from the write valid pool queue of the target computing server node, so that the target computing server node responds to the read prompt message and synchronizes the image data in the write image pool to its corresponding computing side image pool through direct remote memory access. In response to the write prompt information returned by the target computing server node after reading, the acquisition-side image pool corresponding to the read image pool in the write prompt information is placed at the end of the write valid pool queue of the target computing server node, wherein the write prompt information is used to indicate that the read image pool is empty.

3. A data transmission method, characterized in that, The method is applied to a computing server node, including: In the compute-side image pool configured on the compute server node, the image acquisition node directly accesses synchronized image data via remote memory and stores it in a local cache pool; the image acquisition node configures multiple acquisition-side image pools for the compute server node, and the acquisition-side image pool and its corresponding compute-side image pool on the compute server node have a one-to-one image pool mapping relationship; the capacity of the acquisition-side image pool and the compute-side image pool are the same; the image acquisition node manages multiple acquisition-side image pools that have not met the read conditions based on the write valid pool queue; the image data is wafer images with image association relationships that are directionally allocated by the image acquisition node; the compute-side image pool is configured in a local cache pool. In the compute-side image pool configured on the server node, the step of the image acquisition node directly accessing synchronized image data through remote memory and storing it in the local cache pool includes: according to the image pool mapping relationship, directly accessing the image data of the acquisition-side image pool in the image acquisition node through remote memory to synchronize the image data to the compute-side image pool; designating the image pools among the plurality of compute-side image pools that meet preset reading conditions as valid reading pools; constructing a valid reading pool queue based on each valid reading pool; designating the first valid reading pool in the valid reading pool queue as the read image pool; and retrieving the image data from the read image pool and storing it in the local cache pool. The image metadata of the image data sent by the image acquisition node is stored in the metadata pool; Based on the image association relationships and image metadata associated with the image data, the image data is divided into multiple detection task packages, and detection tasks are executed based on the multiple detection task packages. The image association relationships are the relationships formed between wafer images in the image data due to the requirements of the detection tasks. The image association relationships are determined by the image acquisition node by parsing the image metadata carried by the wafer images and matching preset distribution rules.

4. The method as described in claim 3, characterized in that, Obtaining the image data from the image pool includes: In response to the read prompt information sent by the image acquisition node, the computational image pool corresponding to the image pool written in the read prompt information is placed at the end of the read valid pool queue, wherein the read prompt information is used to indicate that the image pool written is full; The first valid read pool in the valid read pool queue is used as the read image pool; The image data is obtained from the image pool and written into the local cache pool. If the data acquisition meets the reading condition, the image pool is deleted from the valid reading pool queue. The write prompt message indicating that the read image pool is empty is sent to the image acquisition node, so that the image acquisition node responds to the write prompt message and reuses the acquisition-side image pool corresponding to the read image pool to store the image.

5. The method as described in claim 3, characterized in that, Based on the image association relationships and image metadata associated with the image data, the image data is divided into multiple detection task packages, and detection tasks are executed based on the multiple detection task packages, including: Based on the image association, a candidate task pool is constructed, which is used to store candidate task packages that are not yet ready. For each image to be inspected, based on the image association relationship, select the candidate task package that depends on the image to be inspected from the candidate task pool, and mark the image to be inspected in the selected candidate task package as ready; The selected candidate task packages are tested, and if the selected candidate task packages are ready, the selected candidate task packages are used as the test task packages. The detection task package is removed from the candidate task pool and moved into the ready task pool; The detection task is executed based on the ready task pool.

6. The method as described in claim 5, characterized in that, The method further includes: Based on the image association, the number of usable images for each image to be inspected in the image data is determined, where the number of usable images is the total number of times the image to be inspected is relied upon by the detection task package that has not completed the inspection. After any detection task package completes detection, the number of usable images for each image to be inspected that the detection task package depends on is reduced by one; If the available count of any of the images to be inspected decreases to zero, the image to be inspected is deleted from the local cache pool.

7. A data transmission system, characterized in that, The system includes image acquisition nodes and computing server nodes, including: The image acquisition node is used to receive wafer images; determine the target computing server node to which the wafer images are distributed based on a preset image association relationship, wherein the image association relationship is the association relationship between images at different locations on the wafer due to the requirements of the detection task and / or the integrity of the grain structure; the image association relationship is determined by parsing the image metadata carried by the wafer images and matching preset distribution rules; the step of determining the target computing server node to which the wafer images are distributed based on the preset image association relationship includes: directionally allocating wafer images with the image association relationship to the same computing server node; determining a write image pool from multiple acquisition-side image pools configured by the image acquisition node for the target computing server node, and storing the wafer images into the write image pool corresponding to the target computing server node; there are multiple computing server nodes, and the image acquisition node configures multiple acquisition-side image pools for each computing server node, wherein the acquisition-side image pools and their corresponding computing server nodes are connected. The image pool is a one-to-one image pool mapping relationship. When the image pool being written to meets the preset read conditions, the image data in the image pool being written to is synchronized to the image pool of the target computing server node via direct remote memory access. The image association relationship and image metadata related to the image data are sent to the target computing server node. The image pool being acquired and the image pool being computed are of the same size. The step of storing the wafer image in the image pool corresponding to the target computing server node includes: for each computing server node, determining the valid write pools that have not met the read conditions from the plurality of image pools being acquired for that computing server node; for each computing server node, constructing a valid write pool queue for that computing server node based on each valid write pool; taking the first valid write pool in the valid write pool queue of the target computing server node as the image pool being written, and storing the wafer image in the image pool being written. The computing server node is used to store the image data synchronized by the image acquisition node in the computing-side image pool configured on the computing server node to a local cache pool; the step of storing the image data synchronized by the image acquisition node in the computing-side image pool configured on the computing server node through remote memory direct access to the local cache pool includes: according to the image pool mapping relationship, directly accessing the image data of the acquisition-side image pool in the image acquisition node to the computing-side image pool through remote memory direct access; designating the image pools in the plurality of computing-side image pools that meet the preset reading conditions as reading valid pools; constructing a reading valid pool queue based on each reading valid pool; designating the first reading valid pool in the reading valid pool queue as the reading image pool; obtaining the image data from the reading image pool and storing it in the local cache pool; storing the image metadata of the image data sent by the image acquisition node in a metadata pool; dividing the image data into multiple detection task packages based on the image association relationship related to the image data and the image metadata, and executing detection tasks based on the multiple detection task packages.

8. A computer program product, characterized in that, When the instructions in the computer program product are executed by the processor of the electronic device, the electronic device performs the data transmission method as described in any one of claims 1-6.