A device screening method and system based on device attributes
By using a device attribute-based screening method and system, the challenge of target device screening in semiconductor manufacturing has been solved, chip yield and testing efficiency have been improved, and more comprehensive test data acquisition has been achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SEMITRONIX
- Filing Date
- 2022-12-29
- Publication Date
- 2026-06-05
AI Technical Summary
In semiconductor manufacturing, existing technologies struggle to effectively screen target devices for testing, resulting in low chip yields. In particular, differences in process development and product introduction are not adequately considered, hindering the effective application of test chips.
By using a device attribute-based screening method, a list of regional devices is obtained through data aggregation. Combined with screening indicators and a selection matrix, target devices that meet the criteria are automatically selected, ensuring that the test objects cover more chip areas and meet the sample quantity requirements of device attributes.
It improved the yield rate of chip products, and through data aggregation and automatic screening methods, it achieved more comprehensive test data acquisition, met testing requirements, and improved the application efficiency of test chips.
Smart Images

Figure CN116127911B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of semiconductor design and manufacturing technology, and particularly relates to a device screening method and corresponding device screening system based on device attributes. Background Technology
[0002] Throughout the advanced process technology lifecycle, a significant risk impacting product yield exists: the process development phase (a relatively simple environment) primarily aims to develop a platform process for a specific process node, while the product introduction and mass production phases (a complex and dynamic environment) are driven by actual product results. Chip products are diverse, and each chip has varying levels of design maturity and process sensitivity, sometimes significantly different. Therefore, during chip introduction, many issues that were not identified or addressed during the process development phase can arise, leading to a disconnect between process development and product introduction. In traditional test chip technology, customers can only infer the state of corresponding devices in the product chip by testing the test structures within the test chip. However, as process nodes evolve, the differences in the physical environments faced by devices in the product chip and the test structures in the test chip become increasingly apparent. Therefore, designing integrated test chips using actual product chips to test key components in a real physical environment is crucial for improving chip product yield.
[0003] The design and development of test chips are becoming increasingly critical for improving chip product yield. A crucial step in test chip design is identifying the target devices to be tested from a vast amount of device information; failure to do so limits the effective application of the test chip.
[0004] Therefore, there is a great need to study a device screening method based on device attributes and the corresponding device screening, which can screen out devices for testing based on device information, further break through the current limitations of test chips in application, and thus further promote the in-depth development and widespread application of semiconductor design and manufacturing technology. Summary of the Invention
[0005] This invention addresses all or part of the problems of the prior art. One aspect of this invention provides a device screening method based on device attributes, suitable for screening devices for testing. Another aspect of this invention provides a device screening system capable of automatically screening devices using the device attribute-based screening method of this invention.
[0006] This invention provides a device screening method based on device attributes, comprising the following steps: Step S1: Obtaining a regional device list through data aggregation, the regional device list containing information: several chip regions, several device attributes, and the number of devices in each chip region that satisfy the device attributes (i.e., the number of devices with each device attribute in each chip region); obtaining a device screening index for each device attribute; Step S2: Filtering target devices according to the regional device list based on screening conditions; wherein, the screening conditions include: Condition 1. The number of target devices in the chip region does not exceed a preset number; Condition 2. The difference between the number of target devices satisfying the device attributes and the device screening index is minimal. While striving to meet the device screening index, it is permissible not to meet the device screening index, but it will not exceed it. The screening conditions allow for the selection of a target device that meets the conditions for each chip region, enabling the test object to cover more chip regions and facilitating the acquisition of comprehensive test data; by obtaining the regional device list and combining it with the screening index, target devices for testing can be effectively selected based on device information. Device screening indexes refer to characteristic parameters of devices that measure whether they meet actual testing needs, and are set accordingly based on specific testing requirements.
[0007] In the list of devices in the region, a device is located in only one chip region (when a device is located in more than one chip region at the same time, the chip region in which the device is located is determined according to the area of the device in different chip regions), and the device satisfies several device attributes (that is, a device can be counted in several device attributes respectively).
[0008] In step S1, obtaining the regional device list through data aggregation includes: acquiring device data, including information such as device attributes and the chip region to which the device belongs; aggregating the device data, where the aggregation conditions are the device attributes and the chip region to which the device belongs, and the aggregation result is the number of devices; each aggregation result data is used to represent the number of devices that meet a certain device attribute in a certain chip region; after completing the aggregation of the device data, the obtained aggregation result data is the regional device list. Data aggregation can connect to existing enterprise data sources, extract data, and aggregate it. Furthermore, aggregation software enables data visualization, further facilitating enterprise filtering and providing an intuitive display of the filtering results.
[0009] In step S2, a required sample size and a candidate size are set for each device attribute in the regional device list, and the values of the required sample size and the candidate size for each device attribute are updated in real time during the screening process. The required sample size for each device attribute is the indicator of the device to be screened that currently meets the device attribute. The candidate size for each device attribute is the number of selectable chip regions that currently meet the candidate size condition. The candidate size condition refers to: selectable chip regions that contain devices that meet the device attribute and meet condition one. The screening condition also includes: first screening devices with device attributes where the difference between the candidate size and the required sample size is small.
[0010] In step S2, the filtering conditions further include: when filtering target devices that meet the device attributes, selecting devices located in a specific chip region for filtering; the specific chip region refers to a chip region where the devices satisfy fewer categories of other device attributes than devices in other chip regions.
[0011] In step S2, the process of selecting the target device includes:
[0012] Step 1. Using the regional device list and the device screening criteria, establish a selection matrix and enter the data; wherein, the selection matrix is a two-dimensional table, with column fields corresponding to the device attributes, and the selection matrix is divided into device regions and screening regions according to the different definitions of row records; define the row records in the device region to correspond to the chip region; the data in the device region represents the number of devices in the chip region corresponding to that row that satisfy the device attributes corresponding to that column; enter the data of the device region according to the regional device list; define the row records in the screening region to correspond to several screening items, the screening items including the required sample size, the existing sample size, and the candidate size; the required sample size... The data in the sample size row represents the device screening criteria that satisfy the device attributes corresponding to different columns; the data in the required sample size row is entered according to the device screening criteria; the data in the existing sample size row represents the number of target devices that satisfy the device attributes corresponding to different columns, used to characterize the screened target devices; and the data in the existing sample size row is initialized to 0; the data in the candidate size row represents the number of chip regions containing devices that satisfy the device attributes corresponding to different columns, the number of chip regions being the number of rows in the device region where the data in the device attribute column is not 0 and is a regular value; the data in the candidate size row is entered according to the data in the device region.
[0013] Step 2. Calculate the difference between the candidate quantity and the required sample quantity in the data corresponding to each column in the filtering area, and obtain the device attribute corresponding to the column with the smallest difference and a non-zero required sample quantity, denoted as attribute A; obtain the non-zero rows in the column where attribute A is located in the device area, and select the row with the most zero data, denoted as row A; select one device as the target device from the devices corresponding to the column where attribute A is located and row A, and change the data corresponding to the column where attribute A is located and row A to unconventional values (e.g., -1), change the remaining data corresponding to row A to 0, decrement the data value corresponding to the column where attribute A is located and the required sample quantity row by 1, and increment the data value corresponding to the column where attribute A is located and the existing sample quantity row by 1; update the data corresponding to the candidate quantity row according to the current data in the device area.
[0014] Step 3. Determine whether there are any normal values greater than 0 in the current device region: if so, repeat step 2; if not, complete the filtering and obtain the filtered target devices.
[0015] In the selection matrix, regular values refer to natural numbers, and non-regular values refer to negative numbers.
[0016] In step S1, the data aggregation method includes: defining each row of the data to be aggregated as a single data entry and each column as a single field; acquiring the data to be aggregated and performing aggregation; triggering batching of the data to be aggregated based on several fields according to memory usage; dividing the data to be aggregated into several batches; aggregating the data to be aggregated in memory according to the batches; moving the aggregation result data of the completed batches from memory into an aggregation result file; continuing to aggregate the next batch of data in memory until the aggregation of all the data to be aggregated is completed, and obtaining the final aggregation result file; wherein, the aggregation result data includes aggregation conditions and a count field, the count field being used to represent the number of data entries that meet the aggregation conditions; the data to be aggregated is stored in a column-oriented manner; acquiring the data to be aggregated and performing aggregation is done by reading the corresponding field in each column to obtain a single data entry for aggregation. This method can utilize the convenient query characteristics of column-oriented data storage, and effectively solve the memory shortage problem when aggregating large amounts of data by reading multiple times in batches and setting filtering items.
[0017] The present invention also provides a device screening system based on device attributes, including a storage device storing multiple instructions adapted to be loaded and executed by a processor: the device screening method based on device attributes of the present invention.
[0018] Compared with the prior art, the main beneficial effects of the present invention are:
[0019] 1. The present invention provides a device screening method based on device attributes. Through the screening conditions, at most one target device meeting the conditions can be screened for each chip region, allowing the test object to cover as many chip regions as possible. By aggregating data to obtain the device list containing device information for each region, and combining it with the screening indicators, the target device for testing can be effectively screened based on a large amount of device information. By establishing a selection matrix and performing real-time analysis of the matrix, rapid screening can be achieved, and the sample quantity requirements for all device attributes can be met to the greatest extent, better satisfying the needs of testing applications.
[0020] 2. The device screening system based on device attributes of the present invention has corresponding advantages because it can automatically execute the device screening method of the present invention for screening, which is beneficial to practical application by enterprises. Attached Figure Description
[0021] Figure 1 This is a schematic diagram of the device screening method according to Embodiment 1 of the present invention.
[0022] Figure 2 This is a schematic diagram of the process of selecting target devices in Embodiment 1 of the present invention.
[0023] Figure 3 This is a schematic diagram of the data aggregation process in Embodiment 3 of the present invention. Detailed Implementation
[0024] The technical solutions in specific embodiments of the present invention will be clearly and completely described below. Obviously, the described embodiments are only a part of the embodiments of the present invention, and not all of them. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0025] Example 1
[0026] like Figure 1 As shown, this embodiment provides a device filtering method based on device attributes, comprising the following steps: Step S1: Obtaining a regional device list through data aggregation. The regional device list contains information such as several chip regions, several device attributes, and the number of devices in each chip region that satisfy the device attributes, i.e., the number of devices with each device attribute in each chip region; obtaining the device filtering index for each device attribute; Step S2: Filtering target devices according to the regional device list based on filtering conditions; wherein, the filtering conditions include: Condition 1. The number of target devices in the chip region does not exceed a preset number; Condition 2. The difference between the number of target devices satisfying the device attributes and the device filtering index is minimal. Data aggregation generally refers to merging data from different data sources. In this embodiment, the device region list is obtained by connecting to different data sources for aggregation processing.
[0027] In some implementations, in the regional device list, a device resides within only one chip region, and a device can satisfy one or more device attributes. Even when a device resides within more than one chip region simultaneously, the chip region in which the device resides is determined based on the area of the device across different chip regions. For example, the chip region with the largest area among the chip regions associated with the device is used to determine the chip region in which the device resides. In other specific implementations, step S1, obtaining the regional device list through aggregation, includes: obtaining device data, containing information such as device attributes and the chip region to which the device belongs; aggregating the device data, with the aggregation conditions being the device attributes and the chip region to which the device belongs, and the aggregation result being the number of devices; each aggregation result data is used to represent the number of devices satisfying a certain device attribute in a certain chip region; after completing the aggregation of the device data, the obtained aggregation result data is the regional device list.
[0028] In some implementations, in step S2, a required sample size and a candidate quantity are set for each device attribute in the regional device list, and the values of the required sample size and the candidate quantity for each device attribute are updated in real time during the filtering process. The required sample size for a device attribute is the value of the currently selected device index that meets the device attribute's criteria; the candidate quantity for a device attribute is the number of selectable chip regions that currently meet the candidate quantity criteria. The candidate quantity criteria in the example refer to: selectable chip regions containing devices that meet the device attribute's criteria; the filtering criteria also include: first filtering devices with a small difference between the candidate quantity and the required sample size.
[0029] In some implementations, step S2 also includes the following filtering conditions: when filtering target devices that meet the device attributes, select devices located in a specific chip region for filtering; a specific chip region means that the devices in that chip region meet fewer categories of other device attributes than those in other chip regions.
[0030] The embodiments also provide a device screening system based on device attributes, including a storage device storing multiple instructions adapted to be loaded and executed by a processor: the device screening method based on device attributes of this embodiment.
[0031] Example 2
[0032] The following embodiments are intended to provide a more comprehensive understanding of the present invention by those skilled in the art, but do not limit the invention in any way. The principle explanations of some terms used in the description of the embodiments are as follows, and do not limit the invention.
[0033] Chip Region: Hereinafter referred to as region, each region is a two-dimensional planar rectangle defined by the coordinates of its four vertices. Regions do not overlap. Table 1 below shows an example of region information, including eight regions from _r1 to _r8, where (X1,Y1) and (X2,Y2) represent the coordinates of the two diagonal points of each region's rectangle.
[0034] Table 1. Information representing the region
[0035] Region X1 Y1 X2 Y2 _r1 0 0 1 1 _r2 0 1 1 2 _r3 0 2 1 3 _r4 0 3 1 4 _r5 10 0 11 1 _r6 10 1 11 2 _r7 10 2 11 3 _r8 10 3 11 4
[0036] Device attributes: In this example, device type refers to the device type. Multiple device types may correspond to the same device, and each device type has a sample quantity requirement. Table 2 shows an example of device, device type, and sample quantity. The example in Table 2 includes 5 devices from D1 to D5. Length, Width, and model can all be used as device types. Sample refers to the number of samples.
[0037] Table 2. Devices, Device Types, and Sample Quantities
[0038] Device Length Width model Sample D1 0.010 0.060 Nch08 2 D2 0.010 0.070 Nch08 3 D3 0.010 0.080 Nch08 1 D4 0.016 0.080 Nch08 2 D5 0.016 0.060 Nch08 2
[0039] The screening conditions in the example are: 1) Each region can have at most one sample, or no sample at all; 2) The sample quantity requirements for all device types should be met as much as possible.
[0040] The following example demonstrates a device screening method based on device attributes. This example will provide a more concrete understanding of the process of selecting target devices.
[0041] like Figure 2As shown, in this embodiment, the first step of the process of selecting target devices is as follows: A selection matrix is established and data is entered using the regional device list and device screening indicators; wherein, the selection matrix is a two-dimensional table, with column fields corresponding to the device attributes. Based on the different definitions of row records, the selection matrix is divided into device regions and screening regions; the row records in the device region correspond to chip regions; the data in the device region represents the number of devices in the chip region corresponding to that row that satisfy the device attributes corresponding to that column; data for the device regions is entered according to the regional device list; the rows in the screening region are defined to correspond to several screening items, including the required sample size, the existing sample size, and the candidate quantity; the selection matrix is defined as follows: The columns in the filter area correspond to device attributes; the data in the required sample size row represent the device screening criteria that satisfy the device attributes corresponding to different columns; the data in the required sample size row is entered according to the device screening criteria; the data in the existing sample size row represents the number of target devices that satisfy the device attributes corresponding to different columns, used to characterize the selected target devices; and the data in the existing sample size row is initialized to 0; the data in the candidate size row represents the number of chip regions containing devices that satisfy the device attributes corresponding to different columns, and the number of chip regions is the number of rows corresponding to the device region where the data in the device attribute column is not 0 and is a regular value; the data in the candidate size row is entered according to the data in the device region.
[0042] Step two in the process of selecting target devices: Calculate the difference between the candidate quantity and the required sample quantity in the data corresponding to each column in the screening area, and obtain the device attribute corresponding to the column with the smallest difference and a non-zero required sample quantity, denoted as attribute A; obtain the non-zero rows in the column where attribute A is located in the device area, and select the row with the most zeros, denoted as row A; select one device from the devices corresponding to the column where attribute A is located and row A as the target device, and change the data in the column where attribute A is located and row A to non-standard values (e.g., -1), change the remaining data corresponding to row A to 0, decrement the data value corresponding to the column where attribute A is located and the row with the required sample quantity by 1, and increment the data value corresponding to the column where attribute A is located and the row with the existing sample quantity by 1; update the data corresponding to the candidate quantity row based on the data in the current device area.
[0043] Step 3 of the process of filtering out target devices: Determine whether there are any regular values greater than 0 in the current device region: If there are, repeat step 2; if not, the filtering is completed and the filtered target devices are obtained.
[0044] In the specific example, in the selection matrix, regular values refer to natural numbers, and non-regular values refer to negative numbers. Step one of the above process for selecting target devices can be implemented through steps 1 and 2 below. Step 1: An initial matrix is shown in Table 3 below, where rows correspond to chip regions and columns correspond to device attributes (i.e., device types). Each item in the matrix is the "aggregation result of the corresponding device type within the corresponding region." After performing aggregation, the selection matrix is obtained as shown in Table 4.
[0045] Table 3. Initial Matrix
[0046]
[0047]
[0048] Table 4. Selection Matrix
[0049] D1 D2 D3 D4 D5 _r1 0 2 30 2 100 _r2 2 5 0 84 267 _r3 4 0 0 0 8 _r4 0 0 0 0 6778 _r5 0 0 0 0 0 _r6 87 843 21134 878 863 _r7 9 2 1 86 543 _r8 86 24 6943 43 0
[0050] Step 2: As shown in Table 5 below, add three rows to the selection matrix shown in Table 4, representing "Required Sample Size", "Existing Sample Size", and "Candidate Size". Here, -1 indicates that the corresponding device type has been selected in the corresponding area, and all other positions in the corresponding area (row) should be 0, indicating that this area is occupied; the initial value of the required sample size can be customized by the user as needed; the existing sample size is the number of corresponding device types (columns) with a value of -1; the candidate size is the number of corresponding device types (columns) with a value greater than 0.
[0051] Table 5. Updated Selection Matrix
[0052]
[0053]
[0054] In this embodiment, step two of the process of selecting the target device can be specifically implemented through steps 3 and 4 in the following example. Step 3: Ignore columns with a required sample size of 0, subtract the required sample size from the candidate quantity, and select the column (device type) with the smallest calculated result value. The smallest calculated result value means that it is most likely to fail to meet the sample size requirement, so it must be processed first. If the calculated results are the same and both are the minimum values, then randomly select one of the two columns, i.e., column D3 in Table 5. Then, in the non-zero rows of this column (column D3), select the row with the most 0 values (the most 0 values mean that after selecting this area, the impact on other device types is minimal). If there are cases where the number of 0 values is the same and both are the most, then randomly select a row, such as rows _r1 and _r8 in Table 5, both of which have one 0, and both are the most, so randomly select _r1. Then, select one of the devices corresponding to _r1 and D3 as the target device. After the selection is completed, change the value of the corresponding matrix position to -1 to obtain the selection matrix shown in Table 6 below.
[0055] Table 6. Updated Selection Matrix
[0056] D1 D2 D3 D4 D5 _r1 0 2 -1 2 100 _r2 2 5 0 84 267 _r3 4 0 0 0 8 _r4 0 0 0 0 6778 _r5 0 0 0 0 0 _r6 87 843 21134 878 863 _r7 9 2 1 86 543 _r8 86 24 6943 43 0 Demand Sample Size 2 2 3 2 1 Existing sample size 0 0 0 0 0 Candidate quantity 5 5 4 5 6
[0057] Step 4: Update the entire selection matrix: Change all other values in the row containing the -1 value to 0, indicating that this area is already occupied and cannot be selected later; increment the existing sample size in the column containing the -1 value by 1 and decrement the required sample size by 1; recount the candidate count for each column. After the update, the selection matrix is shown in Table 7.
[0058] Table 7. Updated Selection Matrix
[0059]
[0060]
[0061] The process of selecting target devices is implemented through step 5 of the example below. Step 5: Repeat steps 3 and 4 until all values in the entire matrix, except for the last three rows, are <= 0 (i.e., either -1 or 0). This indicates that the selection is complete, and the final selection matrix shown in Table 8 is obtained, which means that the selection of target devices is completed.
[0062] Table 8. Final Selection Matrix
[0063]
[0064]
[0065] Example 3
[0066] To facilitate understanding of the data aggregation method of the present invention, this embodiment provides an example of the data aggregation method. In this embodiment, each row of the data to be aggregated is defined as a data entry, and each column is defined as a field. The data to be aggregated is acquired and aggregated. Based on memory usage, the data to be aggregated is batched according to several fields, dividing the data to be aggregated into several batches. The data to be aggregated is then aggregated in batches in memory. The aggregation result data of the completed batches is moved from memory into an aggregation result file, and the aggregation of the next batch of data continues in memory until the aggregation of all the data to be aggregated is completed, resulting in a final aggregation result file. The aggregation result data includes aggregation conditions and a count field, where the count field represents the number of data entries that satisfy the aggregation conditions.
[0067] In some specific embodiments, the data to be aggregated is stored in a column-oriented manner; the data to be aggregated is obtained by reading the fields at the corresponding positions of columns to obtain a single data entry for aggregation.
[0068] The example aggregation condition consists of several fields used for aggregation, including several native columns and / or several derived columns; the native columns are fields in a column of the data to be aggregated, and the derived columns are fields generated by logically combining fields in several columns of the data to be aggregated.
[0069] In some specific examples, a preset upper limit is set for the number of rows of aggregated result data stored in memory. The example data aggregation method also includes: determining if the currently temporary aggregated result data in memory has reached the upper limit; if so, and if there is unaggregated data, then batching the data to be aggregated is triggered. The example data aggregation method aggregates simultaneously and determines in real-time whether batching is necessary. During batch aggregation, aggregated result data that no longer belongs to the current batch is temporarily stored in memory to a temporary file; and after the current batch aggregation is completed, the aggregated result data in the temporary file is moved back into memory. Batching involves dividing all data into batches; even if some data has been aggregated after batching, it will be moved to a temporary file and stored in memory and subsequently moved into the aggregated result data when processing that batch.
[0070] The calculation method for the upper limit in the example is as follows: Obtain the number of bytes of currently available memory, denoted as Mem; obtain the number of bytes occupied by each piece of data in the data to be aggregated, denoted as Agg. In the example, the number of bytes occupied by each piece of data is the same. Using the formula M = [Mem × α / Agg], we obtain M, which is the maximum number of rows; where the symbol [] indicates rounding the calculation result to the nearest integer; α is a preset proportion of the processor's available memory. In a better example, α = 80%.
[0071] In some embodiments, such as Figure 3As shown, let the total number of rows of data to be aggregated be N, and the maximum number of rows of aggregated result data stored in memory be M; the specific execution flow of the data aggregation method is as follows: Step 1): Initialize i = 1, j = 0; where i ∈ [1, N], j ∈ [0, M]; set the filter used to represent the filtering conditions, and the number of filtering conditions m in the filter; initialize the filter to empty (an empty filter means that any data satisfies the filtering condition), m = 0; create a temporary file; set the aggregation starting position set A; Step 2): Read the i-th field value of each column of data used as the aggregation condition in the data to be aggregated, to form a data and record it as R; determine whether R satisfies the filter: if it does, proceed to step 3); if it does not, proceed to step 5; Step 3): determine whether there is already aggregated result data with the same aggregation condition as R stored in memory: if so, then store the aggregated result data. If the count field of the result data is incremented by 1, proceed to step 5); if not, a new aggregation result data is added to memory, the aggregation condition of which is the aggregation condition of R, and the count field of the aggregation result data is 1; let j = j + 1; step 4): determine if j is equal to M: if not, proceed directly to step 5); if yes, let m = m + 1, obtain all field values of the m-th column field, and use these field values to divide all the data to be aggregated into several batches, determine one batch as the current aggregation batch, and add the field value used to filter the current batch as the latest filter condition to filter (obtain all field values of the field, perform binary branching or even multi-branching, instead of limiting a certain field value to binary branching, so it may backtrack to this position multiple times to perform aggregation processing of different batches); move the aggregation result data in memory that does not meet the filter to a temporary file, and let a m =i (the subscript m relates to the current value of m, for example, in the first batch, a1 = i, used to record the batch position as the i-th row of data), and record the aggregation state of the batch corresponding to this element, and set a mAdd the latest element to the aggregation starting position set A; Step 5): Determine if i is equal to N: If not, let i = i + 1, go to step 2); If yes, write all the aggregation result data in memory to the aggregation result file, and delete the latest filter condition in filter, let m = m - 1, go to step 6); Step 6): Determine if there are no elements in the aggregation starting position set A: If yes, complete the aggregation of the data to be aggregated and obtain the aggregation result file; If not, get the latest element in the aggregation starting position set A, and determine if there is a corresponding unaggregated batch for this element: If yes, assign the element to i, determine one of the unaggregated batches corresponding to this element as the current batch, add the field value used to filter the current batch as the latest filter condition to filter, let m = m + 1, move all the aggregation result data belonging to the current batch in the temporary file into memory, change the value of j to the number of aggregation result data in memory, go to step 2); If not, go to step 7); Step 7): Delete the latest element in the aggregation starting position set A, go to step 6).
[0072] The data aggregation system provided in this embodiment includes a storage device that stores several instructions. These instructions are loaded and executed by a processor using the data aggregation method of this embodiment. The example data to be aggregated, the aggregation result file, and the temporary file can be stored in different storage devices or in a single storage device; this is not limited. The storage device can be a database, disk, hard drive, etc. The example uses database storage, which can be cloud storage or distributed storage, etc., and is not limited.
[0073] The specific examples below will enable those skilled in the art to gain a more comprehensive understanding of the specific polymerization process, but do not limit the invention in any way. It should be noted that, for ease of description, the parameters used in this embodiment are relatively small. The parameters in the examples do not limit possible actual situations.
[0074] The following example uses N=28 data to be aggregated. For ease of description, it is shown in Table 9 below. A column representing the row number has been added to the far left of Table 5. This column can be stored in the actual database or not. M=6 is set, meaning the maximum number of rows of aggregation result data stored in memory is 6. The aggregation uses three columns: Length, Width, and Model. In the table, sa refers to the distance from stress to the a side of the transistor.
[0075] Table 9. Data to be aggregated
[0076] row number Length Width sa Model 1 0.010 0.060 0.04 Nch08 2 0.010 0.060 0.04 Nch08 3 0.010 0.060 0.04 Nch08 4 0.010 0.080 0.04 Nch08 5 0.010 0.080 0.04 Nch08 6 0.016 0.060 0.04 Nch08 7 0.016 0.060 0.04 Nch08 8 0.016 0.060 0.04 Nch08 9 0.016 0.060 0.04 Nch08 10 0.016 0.060 0.04 Nch08 11 0.016 0.060 0.04 Nch08 12 0.016 0.060 0.04 Nch08 13 0.016 0.060 0.04 Nch08 14 0.016 0.080 0.04 Nch08 15 0.010 0.060 0.04 Pch08 16 0.010 0.060 0.04 Pch08 17 0.010 0.060 0.04 Pch08 18 0.010 0.080 0.04 Pch08 19 0.010 0.080 0.04 Pch08 20 0.016 0.060 0.04 Pch08 21 0.016 0.060 0.04 Pch08 22 0.016 0.060 0.04 Pch08 23 0.016 0.060 0.04 Pch08 24 0.016 0.060 0.04 Pch08 25 0.016 0.060 0.04 Pch08 26 0.016 0.060 0.04 Pch08 27 0.016 0.060 0.04 Pch08 28 0.016 0.080 0.04 Pch08
[0077] The values of the Length, Width, and Model columns are read one by one to obtain a data point for aggregation. The sa column is ignored at this time, and only the three columns are considered. This process continues until i = 20. At this point, the maximum number of rows in memory has been reached, and there is no aggregation result data in memory with the same aggregation conditions as the data in row i = 20.
[0078] Table 10. Aggregation Results Data
[0079] Length Width Model count 0.010 0.060 Nch08 3 0.010 0.080 Nch08 2 0.016 0.060 Nch08 8 0.016 0.080 Nch08 1 0.010 0.060 Pch08 3 0.010 0.080 Pch08 2
[0080] At this point, j = M is satisfied, so Length = 0.010 is added to the filter condition, and the two lines with Length = 0.016 in memory are written to a temporary file. The memory data at this time is shown in Table 11 below.
[0081] Table 11. Memory Data
[0082] Length Width Model count 0.010 0.060 Nch08 3 0.010 0.080 Nch08 2 0.016 0.060 Nch08 0 0.016 0.080 Nch08 0 0.010 0.060 Pch08 3 0.010 0.080 Pch08 2
[0083] At this point, parameter i = 20, and filter contains only one condition: Length = 0.010. Since the Length of i = 20 to 28 is 0.016, aggregation can be performed. That is, after the aggregation of i = 28 is completed, all data that meets the filter condition has been aggregated, so it can be directly written to file F, resulting in file F as shown in Table 12 below, and the memory data becomes as shown in Table 13 below.
[0084] Table 12. File F
[0085] Length Width Model count 0.010 0.060 Nch08 3 0.010 0.080 Nch08 2 0.010 0.060 Pch08 3 0.010 0.080 Pch08 2
[0086] Table 13. Memory Data
[0087]
[0088]
[0089] Next, the two lines in the temporary file are moved into memory, and the memory data is shown in Table 14 below.
[0090] Table 14. Memory Data
[0091] Length Width Model count 0.016 0.060 Nch08 8 0.016 0.080 Nch08 1 0.016 0.060 Nch08 0 0.016 0.080 Nch08 0 0.010 0.060 Pch08 0 0.010 0.080 Pch08 0
[0092] At this point, filter is actually equivalent to Length not equal to 0.010. Return to i=20 and continue to aggregate until i=28 to complete all data aggregation. Write the aggregation result data in memory to file F to obtain the final aggregation result file as shown in Table 15 below. The aggregation of the data to be aggregated as shown in Table 14 above is completed.
[0093] Table 15. Aggregation Result Files
[0094] Length Width Model count 0.010 0.060 Nch08 3 0.010 0.080 Nch08 2 0.010 0.060 Pch08 3 0.010 0.080 Pch08 2 0.016 0.060 Nch08 8 0.016 0.080 Nch08 1 0.016 0.060 Pch08 8 0.016 0.080 Pch08 1
[0095] The commonly used English terms or letters used in this invention for clarity are merely illustrative purposes and not limiting interpretations or specific usages. Their possible Chinese translations or specific letters should not be used to limit the scope of protection of this invention. It should be noted that the above examples are only specific embodiments of this invention. This invention is not limited to the above embodiments and many variations are possible. All variations that can be directly derived or conceived by those skilled in the art from the disclosure of this invention should be considered within the scope of protection of this invention.
Claims
1. A device screening method based on device attributes, characterized in that: The steps include: Step S1: Obtain a regional device list through data aggregation. The regional device list contains information such as several chip regions, several device attributes, and the number of devices in the chip regions that meet the device attributes. Obtain the device screening index for each device attribute. Step S2: Based on the filtering criteria, select the target devices to be used as test devices according to the list of devices in the region; The screening conditions include: Condition 1. The number of target devices in the chip area does not exceed a preset number; Condition 2. The difference between the number of target devices that satisfy the aforementioned device attributes and the device screening criteria is minimal; In step S2, the required sample size and candidate quantity are set for each device attribute in the regional device list, and the values of the required sample size and candidate quantity for each device attribute are updated in real time during the screening process. Wherein, the value of the required sample size corresponding to the device attribute is the current index of the device to be screened that meets the device attribute; the value of the candidate quantity corresponding to the device attribute is the current number of selectable chip regions that meet the candidate quantity condition, wherein the candidate quantity condition refers to: selectable chip regions that contain devices that meet the device attribute and meet the first condition. The screening criteria also include: first screening devices with a small difference between the number of candidates and the required sample size; when screening target devices that meet the device attributes, selecting devices located in a specific chip region for screening; the specific chip region refers to a chip region where the number of other device attribute categories met by devices is less than the number of other device attribute categories met by devices in other chip regions.
2. The device screening method based on device attributes according to claim 1, characterized in that: In the list of devices in the region, a device is located in only one of the chip regions, and the device satisfies several of the device attributes.
3. The device screening method based on device attributes according to claim 1, characterized in that: In step S1, obtaining the regional device list through data aggregation includes: obtaining device data, which includes information such as the device attributes of the device and the chip region to which the device belongs; aggregating the device data, wherein the aggregation conditions are the device attributes of the device and the chip region to which the device belongs, and the aggregation result is the number of devices; each aggregation result is used to characterize the number of devices that meet a certain device attribute in a certain chip region; after completing the aggregation of the device data, the obtained aggregation result data is the regional device list.
4. The device screening method based on device attributes according to claim 1, characterized in that: In step S2, the process of selecting the target device includes: Step 1. Using the regional device list and the device filtering criteria, establish a selection matrix and enter the data; wherein, the selection matrix is a two-dimensional table, the column fields correspond to the device attributes, and the selection matrix is divided into device regions and filtering regions according to the different definitions of row records; Define the row records in the device region to correspond to the chip region; the data in the device region represents the number of devices in the chip region corresponding to that row that satisfy the device attribute corresponding to that column; enter the data of the device region according to the device list of the region; The row records in the filtering area are defined to correspond to several filtering items, including the required sample size, the existing sample size, and the candidate size; the data in the required sample size row represents the device filtering index that satisfies the device attributes corresponding to different columns; the data in the required sample size row is entered according to the device filtering index. The data in the existing sample rows represent the number of target devices that satisfy the device attributes corresponding to different columns, which are used to characterize the selected target devices; and the data in the existing sample rows are initialized to 0. The data in the candidate quantity rows respectively represent the number of chip regions containing devices that satisfy the device attributes corresponding to different columns. The number of chip regions is the number of rows in the device region where the data in the column containing the device attribute is not 0 and is a normal value; the data in the candidate quantity rows is entered according to the data of the device regions; Step 2. Calculate the difference between the candidate quantity and the required sample quantity in the data corresponding to each column in the filtering area, and obtain the device attribute corresponding to the column with the smallest difference and a non-zero required sample quantity, denoted as attribute A; obtain the non-zero rows in the column where attribute A is located in the device area, and select the row with the most zero data, denoted as row A; select one device as the target device from the devices corresponding to the column where attribute A is located and row A, change the data corresponding to the column where attribute A is located and row A to non-standard values, change the remaining data corresponding to row A to 0, decrement the data value corresponding to the column where attribute A is located and the required sample quantity row by 1, and increment the data value corresponding to the column where attribute A is located and the existing sample quantity row by 1; update the data corresponding to the candidate quantity row according to the current data in the device area; Step 3. Determine whether there are any normal values greater than 0 in the current device region: if so, repeat step 2; if not, complete the filtering and obtain the filtered target devices.
5. The device screening method based on device attributes according to claim 4, characterized in that: In the selection matrix, regular values refer to natural numbers, and non-regular values refer to negative numbers.
6. A device screening method based on device attributes according to any one of claims 1 to 3, characterized in that: In step S1, the data aggregation method includes: Define each row of the data to be aggregated as a data entry and each column as a field. Obtain the data to be aggregated and aggregate it. Based on memory usage, trigger the batching of the data to be aggregated based on several fields. Divide the data to be aggregated into several batches and aggregate the data to be aggregated in memory according to the batches. The aggregation result data of the completed batch is moved from memory into the aggregation result file, and the aggregation of the next batch of data continues in memory until the aggregation of all the data to be aggregated is completed, and the final aggregation result file is obtained. The aggregation result data includes aggregation conditions and a count field, whereby the count field represents the number of data entries that meet the aggregation conditions. The data to be aggregated is stored in a column-oriented manner. The process of obtaining the data to be aggregated and performing aggregation involves reading the corresponding field position by column to obtain one data entry for aggregation.
7. A device screening system based on device attributes, characterized in that: Includes a storage device storing multiple instructions adapted to be loaded and executed by a processor: the device screening method based on device attributes as described in any one of claims 1 to 6.