Serial number distribution method, serial number distribution system and storage medium

By employing an ID number plus time mask method in the semiconductor packaging and testing process, combined with a Redis cluster and API server, the high concurrency conflicts and deduplication difficulties in serial number allocation were resolved, achieving efficient serial number allocation and accurate product traceability.

CN121387993APending Publication Date: 2026-01-23SHENZHEN SHICHUANGYI ELECTRONICS CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511379232.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-25
Publication Date
2026-01-23

AI Technical Summary

Technical Problem

Existing serial number allocation schemes suffer from high concurrency conflicts and difficulties in deduplication during semiconductor packaging and testing, affecting allocation efficiency and deduplication effectiveness, and making it difficult to achieve full product lifecycle traceability.

Method used

The serial number is generated by using an ID number plus a time mask. The design combines a Redis cluster and an API server to achieve uniqueness verification and serial number allocation in high-concurrency scenarios. The serial number is used for deduplication verification. An Nginx server is used for load balancing and health checks to ensure system stability.

Benefits of technology

It improves the efficiency of serial number allocation in high-concurrency scenarios, solves the problems of high-concurrency conflict and ambiguity in serial number allocation of semiconductor devices, ensures the uniqueness of ID numbers, and realizes accurate traceability of product quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121387993A_ABST
    Figure CN121387993A_ABST
Patent Text Reader

Abstract

The invention discloses a serial number distribution method, a serial number distribution system and a storage medium, and the serial number distribution method comprises the steps: receiving a serial number distribution request, and determining the number and the product model of all to-be-distributed semiconductor devices; according to the number of all the semiconductor devices and the product models, corresponding servers are allocated to all the semiconductor devices, and an ID number corresponding to each semiconductor device is obtained; generating a time mask of each semiconductor device; generating a serial number allocated to each semiconductor device in combination with the ID number and the corresponding time mask; and performing duplicate checking on the serial number. Through the design, the serial number distribution efficiency is improved, and the problems of high concurrency conflict, low efficiency and duplicate checking fuzziness of serial number distribution of semiconductor devices such as BGA in FT testing are solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of semiconductor packaging and testing technology, and in particular to a serial number allocation method, a serial number allocation system, and a storage medium. Background Technology

[0002] In the semiconductor memory product manufacturing process, the refined allocation and management of serial numbers (SNs) is of great significance for production process optimization, product quality traceability, and enterprise management decisions. Furthermore, with the expansion of production scale and the increase in product complexity, traditional serial number allocation and management methods face severe challenges, becoming a key factor restricting the improvement of semiconductor memory product manufacturing efficiency and quality.

[0003] In the final electrical performance testing (Final Test, FT) stage of semiconductor packaging and testing companies, each BGA (Ball Grid Array) product needs to be assigned a unique serial number to achieve full product lifecycle traceability. However, current serial number allocation schemes are prone to high-concurrency conflicts and have difficulty in deduplication, affecting the efficiency of serial number allocation and the effectiveness of deduplication. Summary of the Invention

[0004] The purpose of this application is to provide a serial number allocation method, a serial number allocation system, and a storage medium to improve the efficiency of serial number allocation and the effectiveness of deduplication.

[0005] This application discloses a serial number allocation method for semiconductor devices, used to assign serial numbers to semiconductor devices during the testing phase. The serial number allocation method includes the following steps:

[0006] Receive serial number allocation requests and determine the quantity and product model of all semiconductor devices to be allocated;

[0007] Based on the quantity and product model of all semiconductor devices, assign corresponding servers to all semiconductor devices and obtain the ID number corresponding to each semiconductor device;

[0008] Generate a time mask for each of the semiconductor devices;

[0009] A serial number is generated for each semiconductor device by combining the ID number and the corresponding time mask; and

[0010] The serial number is checked for duplicates.

[0011] Optionally, in the step of receiving the serial number allocation request and determining the quantity and product model of all semiconductor devices to be allocated, the serial number allocation request sent by the test software is received through the Nginx server to determine the quantity and product model of all semiconductor devices to be allocated.

[0012] In the step of allocating corresponding servers to all semiconductor devices based on their quantity and product model, and obtaining the corresponding ID number for each semiconductor device, the gateway allocates corresponding API servers to all semiconductor devices based on their quantity and product model. The API servers then use a Redis cluster to obtain the corresponding ID number for each semiconductor device.

[0013] Optionally, the Nginx server connects to the testing software via an API interface. The API interface is a RESTful API interface developed based on the Spring Boot framework. The API interface includes a request call interface, a request verification interface, and a callback interface. The request call interface connects to the testing software and is used to receive serial number allocation requests. The request verification interface connects to the testing software and is used to receive deduplication verification requests. The callback interface connects to the testing software and is used to provide feedback on the ID number used.

[0014] Optionally, when using the request call interface, a Redis key is generated according to the product type. In the step of allocating corresponding servers to all semiconductor devices according to the quantity and product model of all semiconductor devices and obtaining the ID number corresponding to each semiconductor device, the INCRkey command is executed on semiconductor devices of the same type according to the Redis key to increment the ID number of semiconductor devices of the same type.

[0015] Optionally, the time mask includes a timestamp when the ID number corresponding to the semiconductor device is used, the ID of the test device that tests the semiconductor device, the ID of the port used to connect the test device and the test host, and the ID of the test host.

[0016] Optionally, after generating the time mask, the time mask is synchronized to the system database via the syncMask interface, and the time mask is bound to the corresponding semiconductor device.

[0017] Optionally, the step of performing duplicate verification on the serial number includes:

[0018] After the semiconductor device is tested, a verification request command is received from the test software.

[0019] Read the serial number and ID number to be checked of the semiconductor device;

[0020] Call the check Duplicate interface to retrieve record data from the system database;

[0021] Simultaneously check whether there is a serial number in the system database that is the same as the serial number to be checked, and whether there is an ID number in the system database that is the same as the ID number to be checked;

[0022] If no ID number matching the ID number to be checked exists, a deduplication error is detected; if an ID number matching the ID number to be checked exists, it is determined whether this is the first time the check has been performed.

[0023] If this is the first verification, the system database is checked to see if the serial numbers and ID numbers that match the serial number to be checked are unique. If they are not unique, a duplicate is detected and the verification count is updated. If they are unique, the verification result is normal. If this is not the first verification, in addition to checking if the serial numbers and ID numbers that match the serial number and ID number to be checked are unique, a history analysis is performed to determine if they are suspicious.

[0024] This application also discloses a serial number allocation system, which includes a test layer, a load balancing layer, a service layer, and a storage layer. The test layer is used to test semiconductor devices and issue serial number allocation requests or deduplication verification requests. The load balancing layer is connected to the test layer and is used to receive serial number allocation requests or deduplication verification requests, and allocate corresponding servers to all semiconductor devices according to the serial number allocation requests. The service layer is connected to the load balancing layer and is used to obtain the ID number and time mask corresponding to each semiconductor device, generate a serial number for each semiconductor device, and perform deduplication verification on the serial numbers of the semiconductor devices. The storage layer is connected to the service layer and is used to store the serial number and ID number of each semiconductor device.

[0025] Optionally, the load balancing layer includes an Nginx server and a gateway, and the service layer includes a Redis cluster module and multiple API servers. The Nginx server is used to receive serial number allocation requests. The gateway is connected to the Nginx server and the multiple API servers and is used to allocate corresponding API servers to all semiconductor devices. The API servers combine the Redis cluster to obtain the ID number corresponding to the semiconductor device.

[0026] This application also discloses a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the serial number allocation method for semiconductor devices as described above.

[0027] The beneficial effects of this application are as follows: This application generates the serial number of each semiconductor device by using an ID number plus a time mask, and performs deduplication verification in combination with the serial number. While ensuring the uniqueness of the ID number in high-concurrency scenarios, it improves the efficiency of serial number allocation and solves the problems of high-concurrency conflict, low efficiency and fuzzy deduplication in the serial number allocation of semiconductor devices such as BGA in FT testing. Attached Figure Description

[0028] The accompanying drawings, which form part of the specification, are used to provide a further understanding of the embodiments of this application and illustrate the implementation methods of this application, together with the textual description, to explain the principles of this application. Obviously, the drawings described below are merely some embodiments of this application, and those skilled in the art can obtain other drawings based on these drawings without any creative effort. In the drawings:

[0029] Figure 1 This is a flowchart of a method for assigning serial numbers to a semiconductor device, as provided in an embodiment of this application.

[0030] Figure 2 This is a flowchart of another method for assigning serial numbers to semiconductor devices provided in an embodiment of this application;

[0031] Figure 3 This is a schematic diagram of a serial number allocation system provided in another embodiment of this application;

[0032] Figure 4 This is a schematic diagram of a computer-readable storage medium provided in another embodiment of this application.

[0033] Among them, 10 is the serial number allocation system; 100 is the testing layer; 200 is the load balancing layer; 300 is the service layer; 400 is the storage layer; 500 is the computer program; and 600 is the computer-readable storage medium. Detailed Implementation

[0034] It should be understood that the terminology, specific structural and functional details used herein are merely for describing particular embodiments and are representative. However, this application may be implemented in many alternative forms and should not be construed as being limited to the embodiments set forth herein.

[0035] Furthermore, unless otherwise explicitly specified and limited, "connected" or "linked" should be interpreted broadly. For example, it can refer to a fixed connection, a detachable connection, or an integral connection; it can refer to a mechanical connection or an electrical connection; it can refer to a direct connection or an indirect connection through an intermediate medium, or a connection within two components. Those skilled in the art can understand the specific meaning of the above terms in this application based on the specific circumstances.

[0036] The present invention will now be described in detail with reference to the accompanying drawings and specific embodiments.

[0037] During FT testing of semiconductor products such as BGA (Ball Grid Array) and QFP (Quad Flat Package), a serial number needs to be assigned to each semiconductor product to achieve full lifecycle traceability. The inventors learned that serial number assignment could be achieved either by the host computer software accessing configuration files in a shared server directory, or by using a traditional system interface. However, both methods suffer from high concurrency conflicts and difficulties in deduplication.

[0038] Specifically, each testing device for semiconductor products contains multiple test hosts, each testing multiple semiconductor products simultaneously. When multiple test devices issue serial number allocation requests at the same time, the concurrency can even reach over 2000. If the file is locked, the testing software will lag while waiting to unlock. Since a single test typically lasts only 90 seconds, software lag will directly impact semiconductor production capacity. If the file is not locked, non-atomic operations such as reading serial number allocation requests, incrementing ID numbers, and writing serial numbers will generate dirty data, leading to multiple semiconductor devices being assigned duplicate ID numbers.

[0039] In addition, since semiconductor products lack physical identification (such as laser QR codes), only the written ID number can be read during verification, making it impossible to distinguish between "ID number duplication" and "repeated testing of the same product," thus resulting in blind spots in the quality traceability of semiconductor products.

[0040] To address the aforementioned problems, this application provides a method for assigning serial numbers to semiconductor devices during the testing phase, thereby resolving issues such as high concurrency conflicts, low efficiency, and ambiguity in serial number allocation during FT testing. Figure 1 As shown, the serial number allocation method includes the following steps:

[0041] S1: Receive serial number allocation request and determine the quantity and product model of all semiconductor devices to be allocated;

[0042] S2: Based on the quantity and product model of all semiconductor devices, assign corresponding servers to all semiconductor devices and obtain the ID number corresponding to each semiconductor device;

[0043] S3: Generate a time mask for each of the semiconductor devices;

[0044] S4: Combine the ID number and the corresponding time mask to generate a serial number assigned to each semiconductor device;

[0045] S5: Perform a duplicate check on the serial number.

[0046] The method provided in this application provides serial number allocation and deduplication services for packaged products without external identification, such as BGA and QFP, adapting to high-concurrency testing requirements. It generates a serial number for each semiconductor device using an ID number plus a time mask, and performs deduplication verification based on the serial number. This ensures the uniqueness of the ID number in high-concurrency scenarios while improving serial number allocation efficiency, solving the problems of high-concurrency conflicts, low efficiency, and unclear deduplication in serial number allocation for semiconductor devices such as BGA in FT testing. Chip design companies can use this method to trace quality data in the packaging and testing process, and downstream application companies (such as mobile phone manufacturers and automotive electronics manufacturers) can use the serial number to query product test records and quickly locate the source of defective products.

[0047] In step S1, the test software sends a serial number allocation request, requesting that corresponding serial numbers be assigned to the semiconductor devices on the test equipment. Then, the Nginx server receives the serial number allocation request from the test software and determines the quantity and product model of all semiconductor devices to be allocated.

[0048] In step S2, the gateway assigns a corresponding API server to each semiconductor device based on the quantity and product model of all semiconductor devices. The API server then uses a Redis cluster to obtain the ID number corresponding to the semiconductor device.

[0049] This application embodiment uses a gateway to handle request command load balancing and also implements a high-availability design through an Nginx server + gateway + API server + Redis cluster to avoid single point of failure causing global service anomalies and improve the system's fault tolerance and stability.

[0050] In some embodiments, a design consisting of one Nginx server, three API servers, and a Redis cluster is used. The three API servers are deployed on Alibaba Cloud ECS with a 4-core, 8GB RAM configuration. The Nginx server sends the serial number allocation requests for the test software to the three API servers to achieve traffic balancing. Meanwhile, the Redis cluster uses a 1-master, 2-slave, 3-sentinel design, with the master node having 16GB of memory and supporting a query rate of over 100,000 queries per second (QPS).

[0051] Therefore, the Redis cluster design in this application can achieve high availability. Specifically, when the master node fails, the sentinel automatically promotes the slave node to master (the switching time is less than 10 seconds). Through this Redis master-slave replication + sentinel mechanism, the sequence number allocation can be ensured without interruption, thus achieving high availability.

[0052] Furthermore, the Redis cluster ensures high availability of data and storage through master-slave replication and automatic failover, the API server avoids single points of failure through stateless deployment of multiple instances, and Nginx ensures high availability of the traffic entry point through health checks, load balancing, and its own master-slave backup. This embodiment achieves end-to-end high availability of the entire architecture through the collaboration of the Nginx server, API server, and Redis cluster, coupled with monitoring, alerting, and disaster recovery drills, ensuring that single points of failure do not affect testing and improving stability to 99.99%.

[0053] This application embodiment also improves fault tolerance through API services. Specifically, the Nginx server is configured with a health check service (for example, it can check the liveness status of the API server every 5 seconds). When an abnormality is found during the check, the faulty node can be taken offline and the request can be automatically routed to the normal node to achieve high availability.

[0054] This application embodiment also achieves high availability by backing up the data. Specifically, the data in the Redis cluster memory can be backed up by taking a snapshot and writing it to the system database every hour. Each write command is appended to the log in real time, and binlog is enabled in MySQL to ensure data traceability.

[0055] It should be noted that the embodiments of this application can adopt the shared disk encoding rules and maintain consistency with the current sequence of the shared disk. For example, for EMMC products, the encoding rule is A001, the starting code is 00000001, the ending code is FFFFFFFF, and the mask is ########. The current code is updated in real time according to the production progress. This method ensures the continuity and stability of the encoding, making it easier for enterprises to manage and transition based on the existing encoding system.

[0056] In this embodiment, the Nginx server connects to the testing software via an API interface. The API interface is a RESTful API interface developed based on the Spring Boot framework. The API interface includes a request call interface, a request verification interface, and a callback interface. The request call interface connects to the testing software and is used to receive serial number allocation requests. The request verification interface connects to the testing software and is used to receive deduplication verification requests. The callback interface connects to the testing software and is used to provide feedback on the ID number used.

[0057] In this embodiment, when using the request call interface, a Redis key is generated based on the product type, ensuring that products of the same type have the same Redis key, while semiconductor devices of different types are assigned different Redis keys. In step S2, an atomic operation, the INCR key command, is performed on semiconductor devices of the same type based on the Redis key to ensure concurrency safety, returning the incremented value (converted to 8-digit hexadecimal, such as 07CFE465→07CFE466), thus incrementing the ID number of the semiconductor devices of the same type.

[0058] Among them, Redis's INCR command is an atomic operation, which avoids conflicts in intermediate states during "read-increment-write" and solves the problem of dirty data in shared files. At the same time, the embodiments of this application also adopt transaction and locking mechanisms to ensure the atomicity of the operation when multiple programs or users request to obtain and update the sequence at the same time, further ensuring data consistency and avoiding duplicate numbers.

[0059] This application's embodiments replace shared files with API interfaces and use Redis's INCR atomic command to increment serial numbers for serial number allocation, resulting in a Redis response time of less than 10ms, which is 50 times faster than shared files (average 500ms), eliminating the problem of test lag. At the same time, it also utilizes various optimization techniques such as caching and database index optimization to reduce data query and processing time and improve data retrieval and deduplication efficiency.

[0060] In step S3, the time mask includes a timestamp when the ID number corresponding to the semiconductor device is used, the ID (deviceId) of the test device used to test the semiconductor device, the ID (portId) of the port used to connect the test device and the test host, and the ID (hostId) of the test host. This design allows the timestamp to be accurate to milliseconds, preventing duplicate timestamps from being generated by the same device at the same time.

[0061] Furthermore, after generating the time mask, the time mask is synchronized to the system database through the syncMask interface, and the time mask is bound to the corresponding semiconductor device to achieve synchronization of serial number allocation and recording.

[0062] In some embodiments, when the serial number reaches the boundary (SerialNumberEnd), for example when FFFFFFFF is displayed, the system automatically triggers a reset mechanism and issues an alarm in the log.

[0063] like Figure 2 As shown, step S5 includes:

[0064] S51: After the semiconductor device test is completed, receive a verification request command from the test software;

[0065] S52: Read the serial number and ID number to be checked of the semiconductor device;

[0066] S53: Call the check Duplicate interface to retrieve record data from the system database;

[0067] S54: Simultaneously check whether there is a serial number in the system database that is the same as the serial number to be checked, and whether there is an ID number in the system database that is the same as the ID number to be checked;

[0068] S55: If no ID number with the same ID number as the ID number to be checked exists, a duplicate check error will be detected.

[0069] S56: If an ID number with the same ID number as the ID number to be checked exists, determine whether this is the first verification;

[0070] S57: If this is the first verification, then verify whether the serial numbers in the system database that are the same as the serial number to be checked and the ID numbers that are the same as the ID number to be checked are all unique;

[0071] S571: If it is not unique, then indicate that it is a duplicate and update the number of checks;

[0072] S572: If it is unique, the verification result is considered normal;

[0073] S58: If this is not the first verification, based on verifying whether the serial numbers in the system database that are the same as the serial number to be checked and the ID numbers that are the same as the ID number to be checked are unique, a history analysis is performed to determine whether they are suspicious.

[0074] After obtaining the serial number, the testing software automatically generates a unique mask containing "timestamp (accurate to milliseconds) + test device ID + port ID + test host number" (e.g., 20250717103012_3309_05_02) and synchronizes it to the system database. Then, it performs data logic verification and, combined with product manufacturing process analysis, distinguishes between duplicate products and duplicate product IDs.

[0075] This application's embodiment adopts a design that combines API interface, Redis atomic operation, and high availability architecture to achieve efficient serial number allocation. In addition, it combines serial number and ID number dual-field verification to achieve accurate deduplication. While ensuring the uniqueness of ID number in high-concurrency scenarios, it can improve the serial number allocation efficiency to more than 300%, completely solving the problem of determining the cause of duplication.

[0076] In step S55, it is possible to check only whether an ID number identical to the ID number to be checked exists in the system database. If no ID number identical to the ID number to be checked exists, it indicates that either the record in the system database is problematic or the ID number is problematic, thus determining an anomaly in the deduplication process. Moreover, since the serial number is derived from the ID number and the time mask, the presence of a serial number identical to the serial number to be checked in the system database can be determined based on the detection results, without needing to repeatedly check the serial numbers in the system database, thereby reducing the number of verification steps.

[0077] In step S56, since the number of checks is updated after each check, it can be used to determine whether it is the first check.

[0078] In step S57, the specific content of determining uniqueness is to check whether there is only one serial number in the system database that is the same as the serial number to be checked, and whether there is only one ID number that is the same as the ID number to be checked. If there is only one serial number and one ID number, then it is determined to be unique. If there is not only one of them or both, then it is determined to be not unique.

[0079] In step S571, the way to alert for duplicates can be to return "Duplicate Assignment (ID Conflict)" and trigger an alarm (SMS notification to the test engineer).

[0080] In step S572, if the node is unique, it can be returned as "normal (first test)".

[0081] In step S59, product history analysis can be used to assess whether re-verification and testing are needed, and the probability of re-verification and testing. If the product has just been shipped, the probability of re-verification and testing is 0; if the scenario analysis determines it is reasonable, then "Repeat test (same product)" is returned.

[0082] like Figure 3As shown, a serial number allocation system 10 is provided as another embodiment of this application. The serial number allocation system 10 adopts the serial number allocation method for semiconductor devices as described above. The serial number allocation system 10 includes a test layer 100, a load balancing layer 200, a service layer 300, and a storage layer 400. The test layer 100 is used to test the semiconductor devices and issue serial number allocation requests or deduplication verification requests. The load balancing layer 200 is connected to the test layer 100 and is used to receive serial number allocation requests or deduplication verification requests, and allocate corresponding servers to all semiconductor devices according to the serial number allocation requests. The service layer 300 is connected to the load balancing layer 200 and is used to obtain the ID number and time mask corresponding to each semiconductor device, generate the serial number of each semiconductor device, and perform deduplication verification on the serial number of the semiconductor device. The storage layer 400 is connected to the service layer 300 and is used to store the serial number and ID number of each semiconductor device.

[0083] Specifically, the load balancing layer 200 includes an Nginx server and a gateway, and the service layer 300 includes a Redis cluster module and multiple API servers. The Nginx server is used to receive serial number allocation requests. The gateway is connected to the Nginx server and the multiple API servers and is used to allocate corresponding API servers to all semiconductor devices. The API servers combine the Redis cluster to obtain the ID number corresponding to the semiconductor device.

[0084] In one specific implementation, the test layer 100 may include 12 test devices, each with 16 communication ports to connect to 8 test hosts, each running the FT host computer test software. The service layer 300 employs 3 API servers and a Redis cluster. The 3 API servers are deployed in Alibaba Cloud ECS with a 4-core, 8GB configuration; the Redis cluster uses a 1-master, 2-slave, 3-sentinel design, with the master node having 16GB of memory and supporting a query rate of over 100,000 queries per second. The load balancing layer 200 uses one Nginx server, which sends the serial number allocation requests for the test software to the 3 API servers. The storage layer 400 uses one Oracle database to store the associated data of "serial number-timemask-test result," employing an engine to ensure transaction consistency.

[0085] During the serial number allocation phase, the test software on the test host sends a serial number allocation request. The Nginx server forwards the content of the serial number allocation request to the API server. Specifically, based on the serial number allocation request, all semiconductor devices to be allocated are assigned to the corresponding API servers for processing. Then, the API server calls the Redis cluster to perform atomic operations to obtain the ID number corresponding to each semiconductor device. Next, a time mask is generated based on the test host, communication port, and test device in the test layer, and it is synchronized to the system database. Finally, the API server and Redis cluster generate serial numbers based on the time mask and ID number.

[0086] During the duplicate checking phase, the test software in the test host reads the serial number and ID number of the semiconductor device, then calls the request verification interface (i.e., the check Duplicate interface) to retrieve record data from the system database, compares the serial number and ID number, and can also further compare the time mask to analyze the history of the semiconductor device, and finally returns the verification result.

[0087] Of course, such as Figure 3 As shown, in some embodiments, the sequence number allocation system 10 also includes other modules, such as an authentication center for authenticating gateways, a link monitoring service center for collecting data from gateways and service layer 300, a service registration and configuration management center cluster for registering gateways and service layer 300, and a service monitoring center connected to the service registration and configuration management center cluster. The service registration and configuration management center cluster can also discover services on servers and obtain configuration content from servers. There is also a log aggregation system and message queue middleware for collecting data from service layer 300, and a system database (Oracle) for storing data in service layer 300. Service layer 300 includes a sequence number allocation service, a sequence number verification service, and an interface integration service, each with multiple corresponding servers. The Redis cluster has one master node (masster), two slave nodes (slave), and three sentinels, as well as client nodes (RedisClient) for connecting to the Redis cluster. Client nodes receive service status change notifications from sentinels, data is synchronized between master and slave nodes, and sentinels monitor the cluster status of master and slave nodes.

[0088] like Figure 4 As shown, as another embodiment of this application, a computer-readable storage medium 600 is provided, which stores a computer program 500. When the computer program 500 is executed by a processor, it implements the semiconductor device serial number allocation method as described above.

[0089] It should be noted that the limitations on each step involved in this solution are not considered as limiting the order of steps, provided that they do not affect the implementation of the specific solution. The steps listed first can be executed first, later, or even simultaneously. As long as this solution can be implemented, it should be considered to fall within the scope of protection of this application.

[0090] The above description, in conjunction with specific optional embodiments, provides a further detailed explanation of this application and should not be construed as limiting the specific implementation of this application to these descriptions. For those skilled in the art, various simple deductions or substitutions can be made without departing from the concept of this application, and all such modifications or substitutions should be considered within the scope of protection of this application.

Claims

1. A method for assigning serial numbers to semiconductor devices, used to assign serial numbers to semiconductor devices during the testing phase, characterized in that, Including the following steps: Receive serial number allocation requests and determine the quantity and product model of all semiconductor devices to be allocated; Based on the quantity and product model of all semiconductor devices, assign corresponding servers to all semiconductor devices and obtain the ID number corresponding to each semiconductor device; Generate a time mask for each of the semiconductor devices; A serial number is generated for each semiconductor device by combining the ID number and the corresponding time mask; as well as The serial number is checked for duplicates.

2. The serial number allocation method for semiconductor devices as described in claim 1, characterized in that, In the step of receiving the serial number allocation request and determining the quantity and product model of all semiconductor devices to be allocated, the Nginx server receives the serial number allocation request sent by the test software and determines the quantity and product model of all semiconductor devices to be allocated. In the step of allocating corresponding servers to all semiconductor devices based on their quantity and product model, and obtaining the corresponding ID number for each semiconductor device, the gateway allocates corresponding API servers to all semiconductor devices based on their quantity and product model. The API servers then use a Redis cluster to obtain the corresponding ID number for each semiconductor device.

3. The serial number allocation method for semiconductor devices as described in claim 2, characterized in that, The Nginx server connects to the test software via an API interface. The API interface is a RESTful API interface developed based on the Spring Boot framework. The API interface includes a request call interface, a request verification interface, and a callback interface. The request call interface connects to the test software and is used to receive serial number allocation requests. The request verification interface is connected to the test software and is used to receive duplicate verification requests; The callback interface is connected to the test software and is used to provide feedback on the ID number used.

4. The serial number allocation method for semiconductor devices as described in claim 3, characterized in that, When using the request call interface, a Redis key is generated according to the product type. In the step of allocating corresponding servers to all semiconductor devices according to the quantity and product model of all semiconductor devices and obtaining the ID number corresponding to each semiconductor device, the INCR key command is executed on semiconductor devices of the same type according to the Redis key, so that the ID number of semiconductor devices of the same type is incremented.

5. The serial number allocation method for semiconductor devices as described in claim 1, characterized in that, The time mask includes a timestamp when the ID number corresponding to the semiconductor device is used, the ID of the test device that tests the semiconductor device, the ID of the port used to connect the test device and the test host, and the ID of the test host.

6. The serial number allocation method for semiconductor devices as described in claim 1, characterized in that, After the time mask is generated, it is synchronized to the system database through the syncMask interface, and the time mask is bound to the corresponding semiconductor device.

7. The serial number allocation method for semiconductor devices as described in claim 1, characterized in that, The step of performing duplicate verification on the serial number includes: After the semiconductor device is tested, a verification request command is received from the test software. Read the serial number and ID number to be checked of the semiconductor device; Call the check Duplicate interface to retrieve record data from the system database; Simultaneously check whether there is a serial number in the system database that is the same as the serial number to be checked, and whether there is an ID number in the system database that is the same as the ID number to be checked; If no ID number matching the ID number to be checked exists, a deduplication error is detected; if an ID number matching the ID number to be checked exists, it is determined whether this is the first time the check has been performed. If this is the first verification, the system database is checked to see if the serial numbers and ID numbers that match the serial number to be checked are unique. If they are not unique, a duplicate is detected and the verification count is updated. If they are unique, the verification result is normal. If this is not the first verification, in addition to checking if the serial numbers and ID numbers that match the serial number and ID number to be checked are unique, a history analysis is performed to determine if they are suspicious.

8. A serial number allocation system, employing the serial number allocation method for semiconductor devices as described in any one of claims 1-7, characterized in that, include: The test layer is used to test semiconductor devices and issue serial number allocation requests or duplicate verification requests. The load balancing layer, connected to the test layer, is used to receive serial number allocation requests or deduplication verification requests, and allocate corresponding servers to all semiconductor devices according to the serial number allocation requests. The service layer, connected to the load balancing layer, is used to obtain the ID number and time mask corresponding to each semiconductor device, generate the serial number of each semiconductor device, and perform duplicate verification on the serial number of the semiconductor device. as well as The storage layer, connected to the service layer, is used to store the serial number and ID number of each semiconductor device.

9. The serial number allocation system as described in claim 8, characterized in that, The load balancing layer includes an Nginx server and a gateway, and the service layer includes a Redis cluster module and multiple API servers. The Nginx server is used to receive serial number allocation requests. The gateway is connected to the Nginx server and the multiple API servers and is used to allocate corresponding API servers to all semiconductor devices. The API servers combine the Redis cluster to obtain the ID number corresponding to the semiconductor device.

10. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, it implements the serial number allocation method for semiconductor devices as described in any one of claims 1 to 7.