TWI846641B - 有形地體現於非暫時性機器可讀儲存媒體中之電腦程式產品、電腦實施方法及運算器件 - Google Patents
有形地體現於非暫時性機器可讀儲存媒體中之電腦程式產品、電腦實施方法及運算器件 Download PDFInfo
- Publication number
- TWI846641B TWI846641B TW112144193A TW112144193A TWI846641B TW I846641 B TWI846641 B TW I846641B TW 112144193 A TW112144193 A TW 112144193A TW 112144193 A TW112144193 A TW 112144193A TW I846641 B TWI846641 B TW I846641B
- Authority
- TW
- Taiwan
- Prior art keywords
- bonding
- data
- bonding operations
- measurements
- wires
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 309
- 238000004590 computer program Methods 0.000 title claims description 52
- 238000003860 storage Methods 0.000 title claims description 19
- 230000008569 process Effects 0.000 claims abstract description 175
- 238000005259 measurement Methods 0.000 claims abstract description 174
- 238000010801 machine learning Methods 0.000 claims abstract description 158
- 238000012549 training Methods 0.000 claims abstract description 116
- 238000012360 testing method Methods 0.000 claims description 88
- 230000015654 memory Effects 0.000 claims description 35
- 230000002159 abnormal effect Effects 0.000 claims description 33
- 238000004519 manufacturing process Methods 0.000 claims description 28
- 230000001066 destructive effect Effects 0.000 claims description 26
- 238000000275 quality assurance Methods 0.000 claims description 25
- 230000005856 abnormality Effects 0.000 claims description 21
- 238000005304 joining Methods 0.000 claims description 19
- 230000000875 corresponding effect Effects 0.000 claims description 15
- 230000002950 deficient Effects 0.000 claims description 13
- 238000011109 contamination Methods 0.000 claims description 10
- 238000007667 floating Methods 0.000 claims description 6
- 238000002790 cross-validation Methods 0.000 claims description 5
- 230000002596 correlated effect Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 116
- 238000012545 processing Methods 0.000 description 75
- 238000013528 artificial neural network Methods 0.000 description 64
- 238000005516 engineering process Methods 0.000 description 48
- 235000012431 wafers Nutrition 0.000 description 35
- 230000005540 biological transmission Effects 0.000 description 28
- 238000010586 diagram Methods 0.000 description 21
- 239000000463 material Substances 0.000 description 18
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 16
- 238000009658 destructive testing Methods 0.000 description 16
- 229910052710 silicon Inorganic materials 0.000 description 16
- 239000010703 silicon Substances 0.000 description 16
- 238000004458 analytical method Methods 0.000 description 13
- 238000003466 welding Methods 0.000 description 13
- 238000013500 data storage Methods 0.000 description 12
- 239000004065 semiconductor Substances 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 230000001276 controlling effect Effects 0.000 description 10
- 230000033001 locomotion Effects 0.000 description 10
- 229910052751 metal Inorganic materials 0.000 description 10
- 239000002184 metal Substances 0.000 description 10
- 210000002569 neuron Anatomy 0.000 description 10
- 230000000306 recurrent effect Effects 0.000 description 9
- 230000009471 action Effects 0.000 description 8
- 239000008186 active pharmaceutical agent Substances 0.000 description 8
- 238000013473 artificial intelligence Methods 0.000 description 8
- 238000010276 construction Methods 0.000 description 8
- 238000009826 distribution Methods 0.000 description 8
- 238000000227 grinding Methods 0.000 description 8
- 238000005553 drilling Methods 0.000 description 7
- 238000000465 moulding Methods 0.000 description 7
- 229910000679 solder Inorganic materials 0.000 description 7
- 239000012530 fluid Substances 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 239000000758 substrate Substances 0.000 description 6
- 239000004020 conductor Substances 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 239000000126 substance Substances 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000007405 data analysis Methods 0.000 description 4
- 238000013523 data management Methods 0.000 description 4
- 229920006332 epoxy adhesive Polymers 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000009659 non-destructive testing Methods 0.000 description 4
- 238000013515 script Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 238000011179 visual inspection Methods 0.000 description 4
- 239000004593 Epoxy Substances 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000003066 decision tree Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 230000001537 neural effect Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000012372 quality testing Methods 0.000 description 3
- 238000007637 random forest analysis Methods 0.000 description 3
- 238000010998 test method Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000001131 transforming effect Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 2
- 241000183024 Populus tremula Species 0.000 description 2
- 238000004026 adhesive bonding Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000007767 bonding agent Substances 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 229910052802 copper Inorganic materials 0.000 description 2
- 239000010949 copper Substances 0.000 description 2
- 230000006378 damage Effects 0.000 description 2
- 238000012517 data analytics Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000005672 electromagnetic field Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 239000007789 gas Substances 0.000 description 2
- 239000011261 inert gas Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012417 linear regression Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000013178 mathematical model Methods 0.000 description 2
- 239000004033 plastic Substances 0.000 description 2
- 230000005855 radiation Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000007778 shielded metal arc welding Methods 0.000 description 2
- 229910052709 silver Inorganic materials 0.000 description 2
- 239000004332 silver Substances 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000014616 translation Effects 0.000 description 2
- 238000009966 trimming Methods 0.000 description 2
- WFKWXMTUELFFGS-UHFFFAOYSA-N tungsten Chemical compound [W] WFKWXMTUELFFGS-UHFFFAOYSA-N 0.000 description 2
- 229910052721 tungsten Inorganic materials 0.000 description 2
- 239000010937 tungsten Substances 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- JBRZTFJDHDCESZ-UHFFFAOYSA-N AsGa Chemical compound [As]#[Ga] JBRZTFJDHDCESZ-UHFFFAOYSA-N 0.000 description 1
- 101000827703 Homo sapiens Polyphosphoinositide phosphatase Proteins 0.000 description 1
- YZCKVEUIGOORGS-UHFFFAOYSA-N Hydrogen atom Chemical compound [H] YZCKVEUIGOORGS-UHFFFAOYSA-N 0.000 description 1
- 108091028043 Nucleic acid sequence Proteins 0.000 description 1
- 102100023591 Polyphosphoinositide phosphatase Human genes 0.000 description 1
- 101100012902 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FIG2 gene Proteins 0.000 description 1
- 101100233916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR5 gene Proteins 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 239000000853 adhesive Substances 0.000 description 1
- 230000001070 adhesive effect Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 229910052782 aluminium Inorganic materials 0.000 description 1
- XAGFODPZIPBFFR-UHFFFAOYSA-N aluminium Chemical compound [Al] XAGFODPZIPBFFR-UHFFFAOYSA-N 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000000919 ceramic Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000010924 continuous production Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000010219 correlation analysis Methods 0.000 description 1
- 230000007797 corrosion Effects 0.000 description 1
- 238000005260 corrosion Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000010894 electron beam technology Methods 0.000 description 1
- 238000004146 energy storage Methods 0.000 description 1
- 238000005530 etching Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 239000001307 helium Substances 0.000 description 1
- 229910052734 helium Inorganic materials 0.000 description 1
- SWQJXJOGLNCZEY-UHFFFAOYSA-N helium atom Chemical compound [He] SWQJXJOGLNCZEY-UHFFFAOYSA-N 0.000 description 1
- 239000012535 impurity Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 235000000396 iron Nutrition 0.000 description 1
- GKQPCPXONLDCMU-CCEZHUSRSA-N lacidipine Chemical compound CCOC(=O)C1=C(C)NC(C)=C(C(=O)OCC)C1C1=CC=CC=C1\C=C\C(=O)OC(C)(C)C GKQPCPXONLDCMU-CCEZHUSRSA-N 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000155 melt Substances 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 239000003921 oil Substances 0.000 description 1
- 150000002894 organic compounds Chemical class 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000007747 plating Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000013341 scale-up Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000005476 soldering Methods 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 230000007474 system interaction Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
- G06F18/2193—Validation; Performance evaluation; Active pattern learning techniques based on specific statistical tests
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L22/00—Testing or measuring during manufacture or treatment; Reliability measurements, i.e. testing of parts without further processing to modify the parts as such; Structural arrangements therefor
- H01L22/20—Sequence of activities consisting of a plurality of measurements, corrections, marking or sorting steps
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L24/00—Arrangements for connecting or disconnecting semiconductor or solid-state bodies; Methods or apparatus related thereto
- H01L24/80—Methods for connecting semiconductor or other solid state bodies using means for bonding being attached to, or being formed on, the surface to be connected
- H01L24/85—Methods for connecting semiconductor or other solid state bodies using means for bonding being attached to, or being formed on, the surface to be connected using a wire connector
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/06—Recognition of objects for industrial automation
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L22/00—Testing or measuring during manufacture or treatment; Reliability measurements, i.e. testing of parts without further processing to modify the parts as such; Structural arrangements therefor
- H01L22/10—Measuring as part of the manufacturing process
- H01L22/12—Measuring as part of the manufacturing process for structural parameters, e.g. thickness, line width, refractive index, temperature, warp, bond strength, defects, optical inspection, electrical measurement of structural dimensions, metallurgic measurement of diffusions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Power Engineering (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Manufacturing & Machinery (AREA)
- Multimedia (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Databases & Information Systems (AREA)
- General Factory Administration (AREA)
- Wire Bonding (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Emergency Alarm Devices (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一種運算器件(2002)存取在第一接合操作(1308、2040A)(例如,一球形及/或針腳式接合)之訓練資料(2032)上訓練之一機器學習模型(2050)。該等第一接合操作包括用以將一第一組導線(1504)接合至一第一組表面(1506、1508)之操作。藉由監督式學習來訓練該機器學習模型。該器件接收指示自第二接合操作(2040B)之量測值產生之製程資料(2074)的輸入資料(2070)。該等第二接合操作包括用以將一第二組導線接合至一第二組表面之操作。該器件根據該機器學習模型對該輸入資料進行加權。該器件基於根據該機器學習模型對該輸入資料進行加權來產生指示該等第二接合操作中之一異常發生之一風險的一異常預測量(2052)。該器件輸出該異常預測量以控制該等第二接合操作。
Description
本發明大體上係關於用於接合操作之電腦產生之預測。
諸如製造及建設之工業使用接合技術來將材料結合在一起(例如,熔接技術)。品質保證測試可用於判定一接合件之品質。例如,在破壞性測試中,破壞接合件之一子集以進行關於未破壞之接合件之品質之預測。在習知非破壞性測試中,測試員手動檢測接合件以進行關於接合件之品質之預測。
在一實例實施例中,提供一種有形地體現於一非暫時性機器可讀儲存媒體中之電腦程式產品。該電腦程式產品包含可操作以引起一運算系統存取在第一接合操作之訓練資料上訓練之一機器學習模型的指令。該等第一接合操作包括用以將一第一組之多條導線接合至一第一組表面之操作。藉由監督式學習來訓練該機器學習模型,包括接收該訓練資
料。該訓練資料包括自該等第一接合操作之量測值產生之製程資料;及該多條導線在接合至該第一組表面之後之狀態。該等狀態之各狀態包括與偵測該等第一接合操作中之一或多個異常有關之一目標的一或多個候選結果。藉由監督式學習來訓練該機器學習模型,包括產生該製程資料之一或多個權重,使得輸入至該機器學習模型之該製程資料預測該目標之該一或多個候選結果。該電腦程式產品包含可操作以引起一運算系統接收指示自第二接合操作之量測值產生之製程資料之輸入資料的指令。該等第二接合操作包括用以將一第二組之多條導線接合至一第二組表面之操作。該第二組之多條導線不同於該第一組之多條導線。該第二組表面不同於該第一組表面。該電腦程式產品包含可操作以引起一運算系統根據該機器學習模型對該輸入資料進行加權的指令。該電腦程式產品包含可操作以引起一運算系統基於根據該機器學習模型對該輸入資料進行加權來產生指示該等第二接合操作中之一異常發生之一風險之一異常預測量(predictor)的指令。該電腦程式產品包含可操作以引起一運算系統輸出該異常預測量以控制該等第二接合操作的指令。
在一或多項實施例中,第一接合操作將第一組之多條導線之導線接合至第一組表面之對應表面以形成積體電路晶片。一或多個候選結果包括第一接合操作中之積體電路晶片之一或多個有缺陷晶片結果。指令可操作以引起運算系統產生第二接合操作中之一積體電路晶片製程中之異常之風險的異常預測量。
在一或多項實施例中,指令可操作以引起運算系統接收指示異常預測量正確地或不正確地預測在第二接合操作中製造之一特定晶片中之異常的回饋。指令可操作以引起運算系統基於回饋更新機器學習模
型。
在一或多項實施例中,第二接合操作係由一晶片製造系統執行。指令可操作以引起運算系統基於以下之一或多者來調整繼由晶片製造系統進行之第二接合操作之後的接合操作:指示第二接合操作中之異常發生之風險之異常預測量;及指示異常預測量正確地或不正確地預測在第二接合操作中製造之一特定晶片中之異常發生的回饋。
在一或多項實施例中,指令可操作以引起運算系統藉由選擇性地選取在第一接合操作中觀察之參數類型之一子集來接收訓練資料。第一接合操作之量測值係針對參數類型之該子集之量測值。
在一或多項實施例中,訓練資料包括藉由自多種不同量測類型導出考量第一接合操作中之量測類型之間的一關係之資訊而產生的製程資料。指令可操作以接收指示藉由自多種量測類型導出考量第二接合操作中之量測類型之間的一關係之資訊而自第二接合操作之量測值產生之製程資料的輸入資料。
本文中之實施例亦包含對應電腦程式產品、裝置及方法。
例如,在一項實施例中,提供一種有形地體現於一非暫時性機器可讀儲存媒體中之電腦程式產品。該電腦程式產品包含可操作以引起一運算系統藉由接收訓練資料來訓練一機器學習模型的指令。該訓練資料包括自第一接合操作之量測值產生之製程資料;及多條導線在接合至第一組表面之後之狀態。該等狀態之各狀態包括與偵測第一接合操作中之一或多個異常有關之一目標的一或多個候選結果。電腦程式產品包含可操作以引起一運算系統藉由產生製程資料之一或多個權重使得輸入至一機器學習模型之製程資料預測該目標之該一或多個候選結果來訓練該機器學習模
型的指令。
在另一實例實施例中,提供一種運算器件。該運算器件包含但不限於一處理器及記憶體。該記憶體含有在由該處理器執行時控制該運算器件以存取在第一接合操作之訓練資料上訓練之一機器學習模型的指令。該等第一接合操作包括用以將一第一組之多條導線接合至一第一組表面之操作。藉由監督式學習來訓練該機器學習模型,包括接收該訓練資料。該訓練資料包括自該等第一接合操作之量測值產生之製程資料;及該多條導線在接合至該第一組表面之後之狀態。該等狀態之各狀態包括與偵測該等第一接合操作中之一或多個異常有關之一目標的一或多個候選結果。藉由監督式學習來訓練該機器學習模型,包括產生該製程資料之一或多個權重,使得輸入至該機器學習模型之該製程資料預測該目標之該一或多個候選結果。該記憶體含有在由該處理器執行時控制該運算器件以接收指示自第二接合操作之量測值產生之製程資料之輸入資料的指令。該等第二接合操作包括用以將一第二組之多條導線接合至一第二組表面之操作。該第二組之多條導線不同於該第一組之多條導線。該第二組表面不同於該第一組表面。該電腦程式產品包含可操作以引起一運算器件根據該機器學習模型對該輸入資料進行加權的指令。該記憶體含有在由該處理器執行時控制該運算器件以基於根據該機器學習模型對該輸入資料進行加權來產生指示該等第二接合操作中之一異常發生之一風險之一異常預測量的指令。該記憶體含有在由該處理器執行時控制該運算器件以輸出該異常預測量以控制該等第二接合操作的指令。
在另一實例實施例中,提供一種運算器件。該運算器件包含但不限於一處理器及記憶體。該記憶體含有在由該處理器執行時控制該
運算器件以藉由接收訓練資料來訓練一機器學習模型的指令。該訓練資料包括自第一接合操作之量測值產生之製程資料;及多條導線在接合至一第一組表面之後之狀態。該等狀態之各狀態包括與偵測第一接合操作中之一或多個異常有關之一目標的一或多個候選結果。電腦程式產品包含可操作以引起一運算器件藉由產生製程資料之一或多個權重使得輸入至一機器學習模型之製程資料預測該目標之該一或多個候選結果來訓練該機器學習模型的指令。
在一或多項實施例中,一運算器件係一運算系統或一運算系統之部分。
在另一實例實施例中,提供一種電腦實施方法。該方法包括存取在第一接合操作之訓練資料上訓練之一機器學習模型。該等第一接合操作包括用以將一第一組之多條導線接合至一第一組表面之操作。藉由監督式學習來訓練該機器學習模型,包括接收該訓練資料。該訓練資料包括自該等第一接合操作之量測值產生之製程資料;及該多條導線在接合至該第一組表面之後之狀態。該等狀態之各狀態包括與偵測該等第一接合操作中之一或多個異常有關之一目標的一或多個候選結果。藉由監督式學習來訓練該機器學習模型,包括產生該製程資料之一或多個權重,使得輸入至該機器學習模型之該製程資料預測該目標之該一或多個候選結果。該方法包括接收指示自第二接合操作之量測值產生之製程資料的輸入資料。該等第二接合操作包括用以將一第二組之多條導線接合至一第二組表面之操作。該第二組之多條導線不同於該第一組之多條導線。該第二組表面不同於該第一組表面。該方法包括根據該機器學習模型對該輸入資料進行加權。該方法包括基於根據該機器學習模型對該輸入資料進行加權來產生指
示該等第二接合操作中之一異常發生之一風險的一異常預測量。該方法包括輸出該異常預測量以控制該等第二接合操作。
在另一實例實施例中,提供一種電腦實施方法。該方法包括藉由接收訓練資料來訓練一機器學習模型。該訓練資料包括自第一接合操作之量測值產生之製程資料;及多條導線在接合至一第一組表面之後之狀態。該等狀態之各狀態包括與偵測該等第一接合操作中之一或多個異常有關之一目標的一或多個候選結果。該方法包括藉由產生製程資料之一或多個權重使得輸入至一機器學習模型之製程資料預測該目標之該一或多個候選結果來訓練該機器學習模型。
在此等電腦程式產品、裝置及方法之任何者中,一或多個候選結果可包括對第一接合操作中之個別導線或接合件之一或多個破壞性品質保證測試。異常預測量可為第二接合操作中之一個別導線或接合件中之一異常的一預測量,而未對該個別導線或接合件執行一破壞性品質保證測試。
在此等電腦程式產品、裝置及方法之任何者中,第一接合操作可包括以下之一者:球形接合操作,其中破壞性品質保證測試包括用於測試一球形接合件之一球剪切測試(ball shear test);及針腳式接合操作,其中破壞性品質保證測試包括用於測試一針腳式接合件之一針腳拉拔測試(stitch pull test)。
在此等電腦程式產品、裝置及方法之任何者中,一或多個異常可與以下之一或多者相關聯:浮動狀況;引線框架污染;及晶粒傾斜。
在此等電腦程式產品、裝置及方法之任何者中,第二接合
操作可接合第二組之多條導線之導線以形成積體電路晶片。自第二接合操作之量測值產生之製程資料可整體上與積體電路晶片之一特定晶片有關,且係自與該特定晶片相關聯且在第二接合操作中接合之導線的量測資料導出。
在此等電腦程式產品、裝置及方法之任何者中,輸入資料可包括在第二接合操作期間接收之即時感測器量測值。對於第二組之多條導線之一給定導線,感測器量測值可包括以下之一或多者:熱量量測值;功率量測值;力量測值;放電結球(electric flame-off)(EFO)量測值;及超音波量測值。
在此等電腦程式產品、裝置及方法之任何者中,輸入資料可包括在第二接合操作期間接收之即時感測器量測值。感測器量測值可包括在第二接合操作中涉及之一接合系統之量測值。異常預測量可控制第二接合操作以校正在第二接合操作中涉及之接合系統中之一或多個異常及/或減少一或多個異常之發生。
在此等電腦程式產品、裝置及方法之任何者中,輸入資料可包括用指示在第二接合操作中涉及之一特定導線、晶粒或晶片之一識別碼或位置之一或多者的原始資訊標記之經接收感測器量測值。異常預測量可識別在第二接合操作中發生之異常,且與原始資訊相關以指示異常之位置。
在此等電腦程式產品、裝置及方法之任何者中,輸入資料可包含包括以下之一或多者之經導出資料:指示與在第二接合操作中接合於一特定晶片中之多條導線有關之量測值之一中值或平均值的一經產生值;包括多條導線之各者與該值之一偏差的一組經產生偏差;及考量該組
偏差之該晶片之一經產生度量。
在此等電腦程式產品、裝置及方法之任何者中,訓練資料可包括自經導出資料產生之製程資料,該經導出資料包括與多種不同類型之量測值相關且與第一接合操作中之一相同導線有關的一經產生奇異資料值。指示自第二接合操作之量測值產生之製程資料的輸入資料可包括一經產生奇異資料值。該經產生奇異資料值可與多種不同類型之量測值相關且與第二接合操作中之一相同導線有關。
在此等電腦程式產品、裝置及方法之任何者中,製程資料之一或多個權重可經產生用於訓練資料之一梯度提升模型。
在此等電腦程式產品、裝置及方法之任何者中,機器學習模型可進一步由多個經產生之機器學習模型訓練且係基於k折交叉驗證(k-fold cross-validation)來選擇。
在此等電腦程式產品、裝置及方法之任何者中,第一及第二接合操作之量測值可包括與形成球形接合件之一製程相關聯之量測值。
在此等電腦程式產品、裝置及方法之任何者中,第一及第二接合操作之量測值可包括與形成針腳式接合件之一製程相關聯之量測值。
在此等電腦程式產品、裝置及方法之任何者中,異常預測量可為第二組之多條導線之一導線與第二組表面之一引線框架或晶粒之間之一有缺陷接合件的一預測量。
下文在結合本申請案所呈現之圖式進行閱讀時,在[實施方式]中呈現實例實施例之其他特徵及態樣。
100:資料傳輸網路
102:網路器件
106:伺服器群/伺服器
108:網路
110:網路附接式資料儲存器
114:運算環境
116:雲端網路
118:資料庫系統
120:通信網格/基於網格之運算系統
200:系統
204至209:網路器件
210:基地台
214:運算環境
220:機器
225:路由器
230:用戶端器件
235:資料儲存器
240:機器/網路伺服器
300:模型
302:實體層
304:鏈路層
306:網路層
308:輸送層
310:會期層
312:表示層
314:應用層
320:運算環境
322:網路內連接組件
324:網路內連接組件
326:網路間連接組件
328:網路間連接組件
400:通信網格運算系統/通信網格
402:控制節點/主控制節點
404:控制節點/備份控制節點
406:控制節點/備份控制節點
410至420:工作節點
451:通信路徑
453:通信路徑
455:通信路徑
502:操作
504:操作
506:操作
508:操作
510:操作
512:操作
600:通信網格運算系統/通信網格
602:控制節點
610:工作節點
620:網格化之軟體組件(GESC)
622:緩衝記憶體
624:資料儲存器
626:使用者定義之功能(UDF)
628:資料庫管理軟體(DBMS)
630:用戶端器件
632:用戶端應用程式
650:通信路徑
702:操作
704:操作
706:操作
708:操作
710:操作
712:操作
800:事件串流處理引擎(ESPE)
802:項目
804:連續查詢
806:源視窗
808:導出視窗
900:操作
902:操作
904:操作
906:操作
908:操作
910:操作
912:操作
914:操作
916:操作
918:操作
920:操作
1000:事件串流處理(ESP)系統
1001:事件串流處理(ESP)器件/事件串流處理(ESP)子系統
1002:發佈用戶端
1004:訂閱用戶端A
1006:訂閱用戶端B
1008:訂閱用戶端C
1022:發佈器件/事件發佈器件
1024a:事件訂閱器件A
1024b:事件訂閱器件B
1024c:事件訂閱器件C
1104:方塊
1106:方塊
1108:方塊
1110:方塊
1112:方塊
1114:方塊
1200:神經網路
1202:輸入層
1204:隱藏層
1206:輸出層
1208:神經元
1300:方法
1302:方框
1304:方框
1306:方框
1308:方框/第一接合操作
1310:方框
1312:方框
1314:方框
1316:方框
1318:方框
1400:方法
1402:矽晶圓
1404:晶粒
1404a:晶粒
1404b:晶粒
1404c:晶粒
1404d:晶粒
1406:垂直線
1408:水平線
1410:引線框架
1410a:導電支腳
1410b:導電支腳
1410c:導電支腳
1500:基板
1502:導電膜層
1504:金屬細線/導線
1506:接合墊/表面
1508:目標墊/表面
1510:球形接合件
1512:針腳式接合件
1600:方法
1602:毛細管工具
1604:進給導線
1606:球
1700:整合式電腦(IC)晶片/積體電路晶片
1800:方法/破壞性品質保證測試/球剪切測試
1802:工具臂
1900:方法/破壞性品質保證測試/針腳拉拔測試
1902:鉤工具
2000:訓練系統
2002:運算器件/運算系統
2004A:輸入器件
2004B:輸入器件
2005:輸入介面
2006:輸出介面
2008:處理器
2010:電腦可讀媒體/記憶體
2012:製程資料應用程式
2014:機器學習模型應用程式
2020A:感測器
2020B:感測器
2024:運算系統
2030:模型資訊
2032:訓練資料
2034:製程資料
2036:狀態
2038:量測值
2040A:接合操作/環境/第一接合操作
2040B:接合操作/第二接合操作
2042A:球形接合操作
2044A:針腳式接合操作
2050:機器學習模型
2052:輸出器件(圖20A)/異常預測量(圖20B)
2060:控制系統/運算系統
2070:輸入資料
2072:量測值
2074:製程資料
2090:接合操作控制資訊/接合操作控制
2094:輸出器件
2100:方法
2101:操作/接收
2102:操作/產生
2130:方法/電腦實施方法
2131:操作/存取
2132:操作/接收
2133:操作/加權
2134:操作/產生
2135:操作/輸出
2160:方法
2161:操作/接收
2162:操作/更新
2163:操作
2200:圖表/即時感測器量測值
2250:圖
2350:資料表
2351:導線編號
2352:水平位置識別符編號/水平位置識別符
2353:中值正常值/中值
2354:差量值/偏差
2355:異常差量值
2400:圖表
2402:零交叉
2500:圖表
2510:分隔線
2512:分隔線
2520:分隔線
2522:分隔線
2530:軸
2550:表
2600:圖表
2610:分隔線
2620:分隔線
2622:分隔線
2650:表
2700:事件串流處理(ESP)系統
2702:事件串流處理(ESP)組件
2704:用戶端服務
2706:資料管理系統/資料管理
2708:模型管理器
2710:人工智慧及機器學習組件
2750:方法
2752:方框
2754:方框
2756:方框
2758:方框
2760:方框
2762:方框
2900:處理電路
2910:機器學習模型存取單元/模組
2920:輸入資料接收單元/模組
2930:輸入資料加權單元/模組
2940:異常指示符產生單元/模組
2950:異常指示符輸出單元/模組
圖1繪示提供根據本技術之至少一項實施例之一運算系統之硬體組件的一繪示之一方塊圖。
圖2繪示根據本技術之至少一項實施例之包含經由一交換系統且經由一網路彼此通信之一組例示性器件的一例示性網路。
圖3繪示根據本技術之至少一項實施例之一通信協定系統之一概念模型的一表示。
圖4繪示根據本技術之至少一項實施例之包含多種控制及工作節點(worker node)的一通信網格運算系統。
圖5繪示展示根據本技術之至少一項實施例之用於在一節點之一失敗之後調整一通信網格或一通信網格中之一工作項目的一例示性處理程序(process)之一流程圖。
圖6繪示根據本技術之至少一項實施例之包含一控制節點及一工作節點之一通信網格運算系統的一部分。
圖7繪示展示根據本技術之至少一項實施例之用於執行一資料分析或處理項目的一例示性處理程序之一流程圖。
圖8繪示根據本技術之至少一項實施例之包含一事件串流處理引擎(ESPE)之組件的一方塊圖。
圖9繪示展示根據本技術之至少一項實施例之包含由一事件串流處理引擎執行之操作的一例示性處理程序之一流程圖。
圖10繪示根據本技術之至少一項實施例之介接於一發佈器件與多個事件訂閱器件之間的一ESP系統。
圖11繪示根據本技術之至少一項實施例之用於產生及使用一機器學
習模型的一處理程序之一實例之一流程圖。
圖12繪示根據本技術之至少一項實施例之作為一神經網路之一機器學習模型的一實例。
圖13至圖14繪示根據本技術之至少一項實施例之用於製造一積體電路晶片之例示性流程圖。
圖15A及圖15B繪示根據本技術之至少一項實施例之一積體電路晶片之一些例示性組件及各自接合。
圖16A至圖16D繪示根據本技術之至少一項實施例之在製造一積體電路晶片時涉及之一例示性接合操作。
圖17繪示根據本技術之至少一項實施例之一例示性積體電路晶片。
圖18A至圖18C繪示用於一球形接合件之一破壞性球剪切測試程序。
圖19A至圖19C繪示用於一針腳式接合件之一破壞性針腳拉拔測試程序。
圖20A繪示在本技術之至少一項實施例中之一訓練系統之一例示性方塊圖。
圖20B繪示在本技術之至少一項實施例中之一控制系統之一例示性方塊圖。
圖21A係繪示根據本技術之至少一項實施例之用於訓練一機器學習模型的一例示性方法之一流程圖。
圖21B係繪示根據本技術之至少一項實施例之用於控制接合操作的一例示性方法之一流程圖。
圖21C係繪示根據本技術之至少一項實施例之用於更新用於控制接合操作之機器學習模型的一例示性方法之一流程圖。
圖22A係繪示根據本技術之至少一項實施例之在運動特徵型樣與一對應晶片在一引線框架上之一位置之間的一關係之一圖表。
圖22B繪示根據本技術之至少一項實施例之對應於圖22A之圖表的晶片在一引線框架上之例示性位置。
圖23A繪示比較用於在接合操作期間形成之接合件之破壞性測試之預測模型的訓練資料及測試資料之例示性品質保證(QA)資料。
圖23B繪示根據本技術之至少一項實施例之用於產生一經導出處理資料的一例示性方法。
圖24係繪示根據本技術之至少一項實施例之用於導出與一接合操作系統相關聯之製程資料的一例示性圖表之一圖表。
圖25係繪示根據本發明實施例模型化之經預測球剪切值與由破壞性測試獲得之實際球剪切值之間的對應性之一圖表。
圖26係繪示根據本發明實施例模型化之經預測針腳拉拔值與由破壞性測試獲得之實際針腳拉拔值之間的對應性之一圖表。
圖27A係繪示根據本技術之至少一項實施例之一事件串流處理(ESP)系統之一堆疊的一功能方塊圖。
圖27B係繪示根據本技術之至少一項實施例之用於產生一機器學習模型的一例示性方法之一流程圖。
圖28係根據本技術之至少一項實施例之一電腦程式產品之一功能方塊圖。
相關申請案之交叉參考
本申請案基於35 U.S.C.§ 119規定主張2021年7月19日申請之美國臨時申請案第63/223491號及2022年1月21日申請之美國非臨時申請案第17/581,113號之權利及優先權,該等案各者之揭示內容之全文以引用的方式併入本文中。
在以下描述中,出於說明目的,闡述具體細節以提供對本技術之實施例之一透徹理解。然而,將明白,可在沒有此等具體細節之情況下實踐各項實施例。圖及描述並不旨在為限制性的。
隨後描述僅提供實例實施例,且並不旨在限制本發明之範疇、適用性或組態。實情係,實例實施例之隨後描述將向熟習此項技術者提供用於實施一實例實施例之一詳盡描述。應理解,在不脫離如隨附發明申請專利範圍中闡述之技術之精神及範疇的情況下,可在元件之功能及配置方面進行各種改變。
在以下描述中給出具體細節以提供對實施例之一透徹理解。然而,一般技術者將理解,可在沒有此等具體細節之情況下實踐實施例。例如,可將電路、系統、網路、處理程序及其他組件展示為方塊圖形式之組件,以免在不必要的細節方面使實施例不清楚。在其他例項中,可在沒有不必要的細節之情況下展示熟知電路、處理程序、演算法、結構及技術以免使實施例不清楚。
再者,應注意,個別實施例可被描述為一處理程序,該處理程序被描繪為一流程圖(flowchart/flow diagram)、一資料流程圖、一結構圖或一方塊圖。儘管一流程圖可將操作描述為一循序處理程序,但許多操作可並行或同時執行。另外,可重新配置操作之順序。一處理程序在其操作完成時終止,但可具有未包含於一圖中之額外操作。一處理程序可對
應於一方法、一函式、一程序、一副常式、一子程式等。當一處理程序對應於一函式時,其終止可對應於該函式返回至呼叫函式或主函式。
在一些圖中描繪之系統可以各種組態提供。在一些實施例中,系統可組態為一分佈式系統,其中系統之一或多個組件跨一雲端運算系統中之一或多個網路分佈。
圖1係提供根據本技術之實施例之一資料傳輸網路100之硬體組件的一繪示之一方塊圖。資料傳輸網路100係可用於處理大量資料(其中需要大量電腦處理循環)之一專用電腦系統。
資料傳輸網路100亦可包含運算環境114。運算環境114可為處理在資料傳輸網路100內接收之資料之一專用電腦或其他機器。資料傳輸網路100亦包含一或多個網路器件102。網路器件102可包含嘗試與運算環境114通信之用戶端器件。例如,網路器件102可將資料發送至運算環境114以進行處理,可將信號發送至運算環境114以控制運算環境或其正在處理之資料的不同態樣,以及其他原因。網路器件102可透過若干方式(舉例而言,諸如經由一或多個網路108)與運算環境114互動。如圖1中所展示,運算環境114可包含一或多個其他系統。例如,運算環境114可包含一資料庫系統118及/或一通信網格120。
在其他實施例中,網路器件可經由網路108將大量資料提供至運算環境114,一次全部抑或在一時段內串流傳輸(例如,使用事件串流處理(ESP),關於圖8至圖10進一步描述)。例如,網路器件102可包含可將資料傳輸或以其他方式提供至運算環境114之網路電腦、感測器、資料庫或其他器件。例如,網路器件可包含區域網路器件,諸如路由器、集線器、交換機或其他電腦網路連結器件。此等器件可提供多種經儲存或經
產生資料,諸如網路資料或特定於網路器件自身之資料。網路器件亦可包含監測其等環境或其他器件以收集關於該環境或該等器件之資料的感測器,且此等網路器件可提供其等隨時間收集之資料。網路器件亦可包含在物聯網內之器件,諸如在一家庭自動化網路內之器件。一些此等器件可被稱為邊緣器件,且可涉及邊緣運算電路。資料可由網路器件直接傳輸至運算環境114或至網路附接式資料儲存器(諸如網路附接式資料儲存器110)以進行儲存,使得資料可稍後由運算環境114或資料傳輸網路100之其他部分擷取。
資料傳輸網路100亦可包含一或多個網路附接式資料儲存器110。網路附接式資料儲存器110用於將待由運算環境114處理之資料以及由運算系統產生之任何中間或最終資料儲存於非揮發性記憶體中。然而,在特定實施例中,運算環境114之組態容許其操作經執行使得中間及最終資料結果可僅儲存於揮發性記憶體(例如,RAM)中,而不需要將中間或最終資料結果儲存至非揮發性類型之記憶體(例如,磁碟)。此在特定情形中可為有用的,諸如當運算環境114自一使用者接收特用(ad hoc)查詢時及當需要即時地產生藉由處理大量資料而產生之回應時。在此非限制性情形中,運算環境114可經組態以將經處理資訊留存於記憶體內,使得可針對使用者以不同細節層次產生回應以及容許一使用者互動地查詢此資訊。
網路附接式資料儲存器可儲存以多種不同方式組織及來自多種不同來源之多種不同類型的資料。例如,網路附接式資料儲存器可包含除定位於運算環境114內之可由定位於其中之處理器直接存取的主要儲存器之外的儲存器。網路附接式資料儲存器可包含次要、三次或輔助儲存
器,諸如大型硬碟機、伺服器、虛擬記憶體以及其他類型。儲存器件可包含可攜式或非可攜式儲存器件、光學儲存器件,及能夠儲存、含有資料之各種其他媒體。一機器可讀儲存媒體或電腦可讀儲存媒體可包含其中可儲存資料且不包含載波及/或暫時性電子信號的一非暫時性媒體。一非暫時性媒體之實例可包含例如一磁碟或磁帶、光學儲存媒體(諸如光碟或數位多功能光碟)、快閃記憶體、記憶體或記憶體器件。一電腦程式產品可包含可表示一程序、一函式、一子程式、一程式、一常式、一副常式、一模組、一軟體封裝、一類別,或指令、資料結構或程式敘述之任何組合的程式碼及/或機器可執行指令。一程式碼段可藉由傳遞及/或接收資訊、資料、引數、參數或記憶體內容而耦合至另一程式碼段或一硬體電路。資訊、引數、參數、資料等可經由任何合適手段(包含記憶體共用、訊息傳遞、符記傳遞、網路傳輸等)傳遞、轉送或傳輸。此外,資料儲存器可保持多種不同類型之資料。例如,網路附接式資料儲存器110可保持未結構化(例如,原始)資料,諸如製造資料(例如,含有識別用諸如色彩及模型之各產品之參數資料製造之產品的記錄之一資料庫)或產品銷售資料庫(例如,含有識別個別產品銷售之細節之個別資料記錄的一資料庫)。
未結構化資料可以不同形式(諸如一般檔案(flat file)或一資料記錄集聚)呈現給運算環境114,且可具有資料值及伴隨時間戳記。運算環境114可用於以多種方式分析未結構化資料,以判定用於(例如,階層式地)結構化該資料使得經結構化資料係針對一使用者希望對資料執行之一類型之進一步分析定製的最佳方式。例如,在被處理之後,未結構化時間戳記資料可按時間彙總(例如,成每日時間段單位)以產生時間序列資料,及/或根據一或多個維度(例如,參數、屬性及/或變數)階層式地結構
化。例如,資料可儲存於一階層式資料結構(諸如一ROLAP OR MOLAP資料庫)中,或可以另一表列形式(諸如以一平面階層形式)儲存。
資料傳輸網路100亦可包含一或多個伺服器群106。運算環境114可將選擇通信或資料投送至一或多個伺服器群106或伺服器群內之一或多個伺服器。伺服器群106可經組態以依一預定方式提供資訊。例如,伺服器群106可回應於一通信而存取資料以進行傳輸。伺服器群106可與資料傳輸網路100內之各其他器件(諸如運算環境114)分開容置,及/或可為一器件或系統之部分。
伺服器群106可代管多種不同類型之資料處理作為資料傳輸網路100之部分。伺服器群106可自網路器件、運算環境114、雲端網路116或其他來源接收多種不同資料。資料可能已作為來自一控制資料庫之輸入自一或多個感測器獲得或收集,或可能已作為來自一外部系統或器件之輸入而被接收。伺服器群106可藉由基於由伺服器群實施之一或多個規則將原始資料轉變成經處理資料來幫助處理資料。例如,可分析感測器資料以判定一環境中隨時間推移或即時之變化。
資料傳輸網路100亦可包含一或多個雲端網路116。雲端網路116可包含提供雲端服務之一雲端基礎設施系統。在特定實施例中,由雲端網路116提供之服務可包含按需可供雲端基礎設施系統之使用者使用的眾多服務。雲端網路116在圖1中被展示為連接至運算環境114(且因此將運算環境114作為其用戶端或使用者),但雲端網路116可連接至圖1中之器件之任何者或由圖1中之器件之任何者利用。由雲端網路提供之服務可動態地擴展以滿足其使用者之需求。雲端網路116可包含一或多個電腦、伺服器及/或系統。在一些實施例中,組成雲端網路116之電腦、伺服器及
/或系統不同於使用者自身之遠端部署(on-premises)電腦、伺服器及/或系統。例如,雲端網路116可代管一應用程式,且一使用者可經由一通信網路(諸如網際網路)按需訂購及使用應用程式。
雖然圖1中之各器件、伺服器及系統被展示為一單一器件,但將瞭解,可代替性地使用多個器件。例如,一組網路器件可用於傳輸來自一單一使用者之各種通信,或遠端伺服器可包含一伺服器堆疊。作為另一實例,可將資料處理為運算環境114之部分。
資料傳輸網路100內之各通信(例如,在用戶端器件之間,在一器件與連接管理系統之間,在伺服器106與運算環境114之間或在一伺服器與一器件之間)可經由一或多個網路108發生。網路108可包含多種不同類型之網路之一或多者,包含一無線網路、一有線網路或一有線及無線網路之一組合。合適網路之實例包含網際網路、一個人區域網路、一區域網路(LAN)、一廣域網路(WAN)或一無線區域網路(WLAN)。一無線網路可包含一無線介面或無線介面之組合。作為一實例,一或多個網路108中之一網路可包含一短距離通信通道(諸如一藍牙(Bluetooth)或一藍牙低能量(Bluetooth Low Energy)通道)。一有線網路可包含一有線介面。有線及/或無線網路可使用路由器、存取點、橋接器、閘道器或類似者實施以連接網路108中之器件,如將關於圖2進一步描述。一或多個網路108可整個併入於一內部網路、一商際網路或其等之一組合內或可包含一內部網路、一商際網路或其等之一組合。在一項實施例中,兩個或更多個系統及/或器件之間的通信可由一安全通信協定(諸如安全套接層(SSL)或輸送層安全性(TLS))達成。另外,可對資料及/或交易細節加密。
一些態樣可利用物聯網(IoT),其中事物(例如,機器、器
件、電話、感測器)可連接至網路且可在事物內及/或事物外部收集及處理來自此等事物之資料。例如,IoT可包含許多不同器件中之感測器,且可應用高價值分析以識別隱藏的關係且驅使增加的效率。此可適用於巨量資料分析(big data analytics)及即時(例如,ESP)分析兩者。IoT可在各種領域中實施以諸如用於存取(獲取資料及移動資料之技術)、嵌入能力(具有嵌入式感測器之器件)及服務。IoT空間中之工業可包含汽車(聯網(connected)汽車)、製造(聯網工廠)、智慧城市、能源及零售。此將在下文關於圖2進一步描述。
如所提及,運算環境114可包含一通信網格120及一傳輸網路資料庫系統118。通信網格120可為用於處理大量資料之一基於網格之運算系統。傳輸網路資料庫系統118可用於管理、儲存及擷取分配給及儲存於一或多個網路附接式資料儲存器110或駐留於傳輸網路資料庫系統118內之不同位置處之其他資料儲存器的大量資料。基於網格之運算系統120及傳輸網路資料庫系統118中之運算節點可共用相同處理器硬體,諸如定位於運算環境114內之處理器。
圖2繪示根據本技術之實施例之包含經由一交換系統且經由一網路彼此通信之一組例示性器件的一例示性網路。如所提及,資料傳輸網路100內之各通信可經由一或多個網路發生。系統200包含經組態以經由多種類型之通信通道與多種類型之用戶端器件(例如,用戶端器件230)通信之一網路器件204。
如圖2中所展示,網路器件204可經由一網路(例如,經由一基地台210之一蜂巢式網路)傳輸一通信。通信可經由基地台210路由至另一網路器件,諸如網路器件205至209。通信亦可經由基地台210路由至
運算環境214。例如,網路器件204可自其周圍環境抑或自其他網路器件(諸如網路器件205至209)收集資料且將該資料傳輸至運算環境214。
儘管網路器件204至209在圖2中分別被展示為一行動電話、膝上型電腦、平板電腦、溫度感測器、運動感測器及音訊感測器,但網路器件可為或包含對偵測其等環境之態樣敏感之感測器。例如,網路器件可尤其包含諸如水感測器、功率感測器、電流感測器、化學感測器、光學感測器、壓力感測器、地理或位置感測器(例如,GPS)、速度感測器、加速度感測器、流量感測器等之感測器。可感測之特性之實例尤其包含力、扭矩、負荷、應變、位置、溫度、氣壓、流體流量、化學性質、電阻、電磁場、輻射、輻照度、近接性、聲學、濕度、距離、速度、振動、加速度、電位、電流。感測器可安裝至用作多種不同類型之系統之部分(例如,一鑽油操作)之各種組件。網路器件可偵測及記錄與其監測之環境有關之資料,且將該資料傳輸至運算環境214。
如所提及,根據特定實施例,可包含收集待處理及/或傳輸至一運算環境之資料之各種感測器的一種類型之系統包含一鑽油系統。例如,一或多個鑽探操作感測器可包含量測一起吊負荷、一流體速率、井孔內及外之一溫度及一密度、一豎管壓力、一表面扭矩、一鑽桿之一旋轉速度、一鑽進率、一機械比能等之表面感測器,及量測一鑽頭之一旋轉速度、流體密度、井下扭矩、井下振動(軸向、切向、橫向)、施加於一鑽頭處之一重量、一環孔壓力、一壓差、一方位角、一傾角、一急彎(dog leg)嚴重性、一經量測深度、一垂直深度、一井下溫度等之井下感測器。除了由感測器直接收集之原始資料之外,其他資料可包含由感測器開發抑或由一用戶端或其他控制器件指派給系統的參數。例如,一或多個鑽探操作控
制參數可控制諸如一泥漿馬達速度對流量比、一鑽頭直徑、一經預測地層盡頭(formation top)、地震資料、天氣資料等之設定。可使用實體模型(諸如一地球模型、一天氣模型、一地震模型、一井底總成模型、一井規劃模型、一環孔摩擦力模型等)產生其他資料。除感測器及控制設定之外,例如,鑽進率、機械比能、起吊負荷、流入流體速率、流出流體速率、泵壓力、表面扭矩、鑽桿之旋轉速度、環孔壓力、環孔摩擦壓力、環孔溫度、循環相當密度等之經預測輸出亦可儲存於資料倉儲中。
在另一實例中,根據特定實施例,可包含收集待處理及/或傳輸至一運算環境之資料之各種感測器的另一類型之系統包含在一不同環境(諸如一辦公空間、學校、公共空間、運動場館或多種其他位置)中之一家庭自動化或類似自動化網路。此一自動化網路中之網路器件可包含容許一使用者存取、控制及/或組態定位於使用者家中(例如,一電視機、收音機、燈、風扇、加濕器、感測器、微波爐、熨斗及/或類似者)或使用者家庭外部(例如,外部運動感測器、外部照明、車庫開門器、灑水系統或類似者)之各種家用電器的網路器件。例如,網路器件102可包含可與一家用電器耦合之一家庭自動化交換機。在另一實施例中,一網路器件可容許一使用者存取、控制及/或組態器件,諸如辦公相關器件(例如,影印機、印表機或傳真機)、音訊及/或視訊相關器件(例如、一接收器、一揚聲器、一投影儀、一DVD播放器或一電視機)、媒體播放器件(例如,一光碟播放器、一CD播放器或類似者)、運算器件(例如,一家用電腦、一膝上型電腦、一平板電腦、一個人數位助理(PDA)、一運算器件或一可穿戴器件)、照明器件(例如,一燈或嵌入式燈具)、與一安全系統相關聯之器件、與一警報系統相關聯之器件、可在一汽車中操作之器件(例如,無線
電器件、導航器件)及/或類似者。可自此各種感測器以原始形式收集資料,或可由感測器處理資料以建立由感測器基於原始資料開發抑或由一用戶端或其他控制器件指派給系統的參數或其他資料。
在另一實例中,根據特定實施例,可包含收集待處理及/或傳輸至一運算環境之資料之各種感測器的另一類型之系統包含一電力或能源網。多種不同網路器件可包含於一能源網中,尤其諸如在一或多個發電廠、能源農場(尤其例如風力農場、太陽能農場)能源儲存設施、工廠、消費者之家庭及企業內之各種器件。此等器件之一或多者可包含偵測能量增益或損失、電輸入或輸出或損失及多種其他效率之一或多個感測器。此等感測器可收集資料以告知使用者能源網及網格內之個別器件可如何運作及可如何使其等更高效。
網路器件感測器亦可在將其收集之資料傳輸至運算環境114之前,或在決定是否將資料傳輸至運算環境114之前,對資料執行處理。例如,網路器件可例如藉由比較資料或自資料計算之值且比較資料與一或多個臨限值來判定所收集之資料是否滿足特定規則。網路器件可使用此資料及/或比較以判定是否應將資料傳輸至運算環境214以供進一步使用或處理。
運算環境214可包含機器220及240。儘管運算環境214在圖2中被展示為具有兩個機器220及240,但運算環境214可具有僅一個機器或可具有兩個以上機器。組成運算環境214之機器可包含經組態以個別地及/或共同地處理大量資料之專用電腦、伺服器或其他機器。運算環境214亦可包含含有經結構化資料(諸如在一或多個階層中組織之資料)或未結構化資料之一或多個資料庫的儲存器件。資料庫可與運算環境214內之處理
器件通信以將資料分配給該等處理器件。由於網路器件可將資料傳輸至運算環境214,故資料可由運算環境214接收且隨後儲存於該等儲存器件內。由運算環境214使用之資料亦可儲存於資料儲存器235中,資料儲存器235亦可為運算環境214之一部分或連接至運算環境214。
運算環境214可經由一或多個路由器225或其他網路間或網路內連接組件與各種器件通信。例如,運算環境214可經由一或多個路由器225與器件230通信。運算環境214可收集、分析及/或儲存來自或關於通信、用戶端器件操作、用戶端規則及/或使用者相關聯動作之儲存於一或多個資料儲存器235處的資料。此資料可影響至運算環境214內之器件之通信路由、如何在運算環境214內儲存或處理資料,以及其他動作。
特別地,各種其他器件可進一步用於影響在運算環境214內之器件之間及與運算環境214外部之器件之間的通信路由及/或處理。例如,如圖2中所展示,運算環境214可包含一網路伺服器240。因此,運算環境214可擷取所關注資料,諸如用戶端資訊(例如,產品資訊、用戶端規則等)、技術產品細節、新聞、當前或經預測天氣等。
除運算環境214收集資料(例如,如自諸如感測器之網路器件及用戶端器件或其他來源接收)以作為一巨量資料分析項目之部分進行處理之外,其亦可作為一串流傳輸分析環境之部分即時接收資料。如所提及,可使用如經由不同種類之網路或在本地通信之多種來源來收集資料。可在一即時串流傳輸基礎上接收此資料。例如,網路器件可週期性地自網路器件感測器接收資料,因為感測器持續感測、監測及追蹤其等環境中之變化。運算環境214內之器件亦可對其接收之資料執行預分析以判定是否應將所接收之資料作為一正在進行的項目之部分進行處理。由運算環境
214接收及收集之資料(無論接收之來源或方法或時序如何)可在一時段內針對一用戶端進行處理以基於用戶端之需求及規則判定結果資料。
圖3繪示根據本技術之實施例之一通信協定系統之一概念模型的一表示。更明確言之,圖3識別對應於各種連接組件之在一開放系統互動模型中之一運算環境的操作。例如,模型300展示諸如運算環境320(或圖2中之運算環境214)之一運算環境可如何與其網路中之其他器件通信,及控制運算環境與其他器件之間的通信如何且在什麼條件下執行。
模型可包含層302至314。該等層配置成一堆疊。堆疊中之各層伺服比其高一個層級之層(惟應用層除外,其係最高層),且由在其下方一個層級之層伺服(惟實體層除外,其係最低層)。實體層係最低層,因為其接收及傳輸原始資料位元且為一通信系統中距使用者最遠之層。另一方面,應用層係最高層,因為其直接與一軟體應用程式互動。
如所提及,模型包含一實體層302。實體層302表示實體通信且可定義該實體通信之參數。例如,此實體通信可以電、光學或電磁信號之形式出現。實體層302亦定義可控制一資料傳輸網路內之通信之協定。
鏈路層304定義用於跨一網路傳輸(即,移動)資料之鏈路及機制。鏈路層管理諸如在一網格運算環境內之節點間通信。鏈路層304可偵測及校正誤差(例如,實體層302中之傳輸誤差)。鏈路層304亦可包含一媒體存取控制(MAC)層及邏輯鏈路控制(LLC)層。
網路層306定義用於在一網路內路由之協定。換言之,網路層協調跨一相同網路(舉例而言,諸如一網格運算環境)中之節點傳送資料。網路層306亦可定義用於結構化網路內之本地定址之處理程序。
輸送層308可管理資料之傳輸及該資料之傳輸及/或接收之品質。輸送層308可提供用於傳送資料之一協定,舉例而言,諸如一傳輸控制協定(TCP)。輸送層308可組譯及分解用於傳輸之資料訊框。輸送層亦可偵測在其下方之層中發生之傳輸誤差。
會期層310可建立、維持及管理一網路上之器件之間的通信連接。換言之,會期層控制網路上之網路器件之間的通信之對話或本質。會期層亦可建立核對點設定(checkpointing)、休會(adjournment)、終止及重啟程序。
表示層312可提供應用程式與網路層之間的通信之轉譯。換言之,此層可基於已知由一應用程式或網路層接受之資料類型來加密、解密及/或格式化資料。
應用層314直接與軟體應用程式及終端使用者互動,且管理其等之間的通信。應用層314可使用應用程式識別目的地、本地資源狀態或可用性及/或通信內容或格式化。
網路內連接組件322及324被展示為分別在諸如實體層302及鏈路層304之較低層級中操作。例如,一集線器可在實體層中操作且一交換機可在鏈路層中操作。網路間連接組件326及328被展示為在較高層級(諸如層306至314)上操作。例如,路由器可在網路層中操作且網路器件可在輸送、會期、表示及應用層中操作。
如所提及,在各項實施例中,一運算環境320可與各個層之一者、多者、所有者或任何者互動及/或在其上操作。例如,運算環境320可(例如,經由鏈路層)與一集線器互動以調整集線器與哪些器件通信。實體層可由鏈路層伺服,因此其可實施來自鏈路層之此資料。例如,
運算環境320可控制其將自哪些器件接收資料。例如,若運算環境320知道一特定網路器件已被關閉、破壞或以其他方式變得不可用或不可靠,則運算環境320可指示集線器防止任何資料自該網路器件傳輸至運算環境320。此一處理程序可有益於避免接收不準確或已受一不受控制的環境影響之資料。作為另一實例,運算環境320可與一橋接器、交換機、路由器或閘道器通信且影響組件選擇系統(例如,系統200)內之哪一器件作為一目的地。在一些實施例中,運算環境320可藉由透過路由或修改現有通信與在一特定層上操作之設備交換通信來與各個層互動。在另一實施例中(諸如在一網格運算環境中),一節點可基於由模型內之其他層提供之特定參數或資訊來判定應如何投送環境內之資料(例如,哪一節點應接收特定資料)。
如所提及,運算環境320可為一通信網格環境(其之通信可如圖3之協定中所展示般實施)之一部分。例如,返回參考圖2,機器220及240之一或多者可為一通信網格運算環境之部分。可在其中資料駐留於機器或運算節點上之記憶體中之具有非互動式工作負載的一分佈式系統中採用一網格化運算環境。在此一環境中,分析程式碼而非一資料庫管理系統控制由節點執行之處理。資料係藉由將其預分配給網格節點來共同定位,且各節點上之分析程式碼將本地資料載入至記憶體中。各節點可被指派一特定任務,諸如一處理項目之一部分,或組織或控制網格內之其他節點。
圖4繪示根據本技術之實施例之包含多種控制及工作節點之一通信網格運算系統400。通信網格運算系統400包含三個控制節點及一或多個工作節點。通信網格運算系統400包含控制節點402、404及406。控制節點經由通信路徑451、453及455通信地連接。因此,控制節
點可彼此傳輸(例如,與通信網格或通知相關之)資訊且彼此接收資訊。儘管通信網格運算系統400在圖4中被展示為包含三個控制節點,但通信網格可包含多於或少於三個控制節點。
通信網格運算系統(或僅「通信網格」)400亦包含一或多個工作節點。圖4中展示六個工作節點410至420。儘管圖4展示六個工作節點,但根據本技術之實施例之一通信網格可包含多於或少於六個工作節點。包含於一通信網格中之工作節點之數目可尤其取決於通信網路正處理之項目或資料集有多大、各工作節點之容量、對通信網格指定之用以完成項目之時間。通信網格400內之各工作節點可(有線或無線,且直接地或間接地)連接至控制節點402至406。因此,各工作節點可自控制節點接收資訊(例如,用以對一項目執行工作之一指令)且可將資訊(例如,來自對一項目執行之工作之一結果)傳輸至控制節點。此外,工作節點可彼此通信(直接地抑或間接地)。例如,工作節點可在彼此之間傳輸與所執行之一作業或由該工作節點執行之一作業內之一個別任務有關的資料。然而,在特定實施例中,工作節點可能未例如連接(通信地或以其他方式)至某些其他工作節點。在一實施例中,工作節點可僅能夠與控制其之控制節點通信,且可能無法與通信網格中之其他工作節點通信,無論其等是否為由控制工作節點之控制節點控制的其他工作節點,或由通信網格中之其他控制節點控制的工作節點。
一控制節點可與一外部器件連接,控制節點可與該外部器件通信(舉例而言,諸如一伺服器或電腦之一網格使用者可連接至網格之一控制器)。例如,一伺服器或電腦可連接至控制節點且可將一項目或作業傳輸至節點。項目可包含一資料集。資料集可具有任何大小。一旦控制
節點接收包含一大資料集之此一項目,控制節點便可分配資料集或與資料集有關之項目以由工作節點執行。替代地,對於包含一大資料集之一項目,資料集可由除一控制節點以外之一機器(例如,一Hadoop資料節點)接收或儲存。
控制節點可維持網格中之節點之狀態之知識(即,網格狀態資訊),接受來自用戶端之工作請求,跨工作節點細分工作,協調工作節點,以及其他職責。工作節點可接受來自一控制節點之工作請求且向控制節點提供由工作節點執行之工作之結果。一網格可從一單一節點(例如,一機器、電腦、伺服器等)啟動。此第一節點可被指派或可作為將控制進入網格之任何額外節點之主控制節點啟動。
當一項目經提交以供執行(例如,由一用戶端或網格之一控制器)時,其可被指派給一組節點。在將節點指派給一項目之後,可建立一資料結構(即,一通信器)。通信器可由項目使用以在於各節點上運行之項目程式碼之間共用資訊。可在各節點上建立一通信句柄(handle)。例如,一句柄係在一單一節點上之一單一處理程序內有效之通信器的一引用,且可在請求節點之間的通信時使用句柄。
一控制節點(諸如控制節點402)可被指定為主控制節點。一伺服器、電腦或其他外部器件可連接至主控制節點。一旦控制節點接收一項目,主控制節點便可將項目之部分分配給其工作節點以執行。例如,當在通信網格400上起始一項目時,主控制節點402控制待針對項目執行之工作以按照請求或指示完成項目。主控制節點可基於各種因素將工作分配給工作節點,諸如項目之哪些子集或部分可最高效地且在正確時間量內完成。例如,一工作節點可對已在工作節點本地(例如,儲存於工作節點上)
之資料之一部分執行分析。在各工作節點執行及完成其作業之後,主控制節點亦協調及處理由各工作節點執行之工作之結果。例如,主控制節點可自一或多個工作節點接收一結果,且控制節點可組織(例如,收集及組譯)所接收之結果且對其等進行編譯以產生自終端使用者接收之項目之一完整結果。
任何剩餘控制節點(諸如控制節點404及406)可被指派為項目之備份控制節點。在一實施例中,備份控制節點可能未控制項目之任何部分。代替性地,備份控制節點可用作主控制節點之一備份,且若主控制節點失敗則接替作為主控制節點。若一通信網格包含僅一單一控制節點,且控制節點失敗(例如,控制節點被關閉或中斷),則通信網格整體可能失敗且在通信網格上運行之任何項目或作業可能失敗且可能未完成。雖然項目可再次運行,但此一失敗可引起項目完成之一延遲(在一些情況中嚴重延遲,諸如整夜延遲)。因此,具有多個控制節點(包含一備份控制節點)之一網格可為有益的。
例如,為將另一節點或機器添加至網格,主控制節點可打開一對偵聽套接字(listening socket)。一套接字可用於接受來自用戶端之工作請求,且第二套接字可用於接受來自其他網格節點之連接。主控制節點可被提供將參與網格之其他節點(例如,其他機器、電腦、伺服器)之一清單,及各節點將填寫網格之角色。在主控制節點(例如,網格上之第一節點)起動時,主控制節點可使用一網路協定以在網格中之每一其他節點上啟動伺服器處理程序。例如,命令行參數可告知各節點一或多條資訊,尤其諸如:節點將在網格中具有之角色、主控制節點之主機名稱、主控制節點在其上接受來自同級節點之連接的埠號。資訊亦可以一組態檔案提
供,經由一安全外殼隧道傳輸,自一組態伺服器復原。雖然網格中之其他機器最初可能不知道網格之組態,但該資訊亦可由主控制節點發送至各其他節點。網格資訊之更新亦可隨後發送至該等節點。
對於除添加至網格之主控制節點外之任何控制節點,控制節點可開啟三個套接字。第一套接字可接受來自用戶端之工作請求,第二套接字可接受來自其他網格成員之連接,且第三套接字可(例如,永久地)連接至主控制節點。當一控制節點(例如,主控制節點)接收來自另一控制節點之一連接時,其首先查看同級節點是否在網格中之經組態節點之清單中。若其未在清單上,則控制節點可清除連接。若其在清單上,則其可嘗試鑑認連接。若鑑認成功,則鑑認節點可向其同級傳輸資訊,諸如一節點在其上偵聽連接之埠號、節點之主機名稱、關於如何鑑認節點之資訊,以及其他資訊。當一節點(諸如新控制節點)接收關於另一作用中節點之資訊時,其將查看其是否已具有至該另一節點之一連接。若其不具有至該節點之一連接,則其可建立至該控制節點之一連接。
添加至網格之任何工作節點可建立至主控制節點及網格上之任何其他控制節點之一連接。在建立連接之後,其可向網格(例如,任何控制節點,包含主及備份兩者,或控制網格之一伺服器或使用者)鑑認自身。在成功鑑認之後,工作節點可接受來自控制節點之組態資訊。
當一節點加入一通信網格時(例如,當節點電源開啟或連接至網格上之一現有節點,或兩者時),節點被指派(例如,由網格之一作業系統)一通用唯一識別符(UUID)。此唯一識別符可幫助其他節點及外部實體(器件、使用者等)識別節點且將其與其他節點區分。當一節點連接至網格時,節點可與網格中之其他節點分享其唯一識別符。由於各節點可分享
其唯一識別符,故各節點可知道網格上之每一其他節點之唯一識別符。唯一識別符亦可指定網格內之節點(例如,備份控制節點)之各者之一階層。例如,備份控制節點之各者之唯一識別符可儲存於備份控制節點之一清單中,以指示備份控制節點將接替一失敗主控制節點成為一新的主控制節點的一順序。然而,亦可使用除使用節點之唯一識別符外之方法來判定節點之一階層。例如,可基於其他預定因素來預先判定或指派階層。
網格可在任何時間添加新機器(例如,從任何控制節點起始)。在將一新節點添加至網格時,控制節點可首先將新節點添加至其網格節點表中。接著,控制節點亦可通知每一其他控制節點關於新節點。接收通知之節點可認可其等已更新其等組態資訊。
例如,主控制節點402可將一或多個通信傳輸至備份控制節點404及406(及例如至通信網格內之其他控制或工作節點)。除其他協定外,此等通信可在項目執行之已知固定階段之間以固定時間間隔週期性地發送。由主控制節點402傳輸之通信可具有變化類型且可包含多種類型之資訊。例如,主控制節點402可傳輸通信網格之快照(例如,狀態資訊),使得備份控制節點404始終具有通信網格之一最近快照。例如,快照或網格狀態可包含網格之結構(例如,包含網格中之工作節點、節點之唯一識別符,或其等與主控制節點之關係)及一項目之狀態(例如,包含各工作節點之項目部分之狀態)。快照亦可包含自通信網格中之工作節點接收之分析或結果。備份控制節點可接收及儲存自主控制節點接收之備份資料。備份控制節點可傳輸對來自主控制節點之此一快照(或其他資訊)之一請求,或主控制節點可將此資訊週期性地發送至備份控制節點。
如所提及,若主控制節點失敗,則備份資料可容許備份控
制節點接替作為主控制節點,而無需網格從頭開始啟動項目。若主控制節點失敗,則將接替作為主控制節點之備份控制節點可擷取自主控制節點接收之快照之最新版本且使用該快照從由備份資料指示之項目之階段繼續項目。此可防止項目整體失敗。
一備份控制節點可使用各種方法來判定主控制節點已失敗。在此一方法之一項實例中,主控制節點可向備份控制節點(例如,週期性地)傳輸指示主控制節點正在工作且尚未失敗的一通信(諸如一心跳通信)。若備份控制節點在一特定預定時段內未接收到一心跳通信,則備用控制節點可判定主控制節點已失敗。替代地,一備份控制節點亦可自主控制節點本身(在其失敗之前)或自一工作節點接收主控制節點已失敗之一通信(例如,因為主控制節點未能與工作節點通信)。
可執行不同方法來判定一組備份控制節點(例如,備份控制節點404及406)之哪一備份控制節點將接替失敗主控制節點402且成為新的主控制節點。例如,可基於備份控制節點之唯一識別符基於其等之一排名或「階層」來選取新的主控制節點。在一替代實施例中,一備份控制節點可由通信網格中或來自一外部器件(例如,控制通信網格之一系統基礎設施或一終端使用者,諸如一伺服器或電腦)的另一器件指派為新的主控制節點。在另一替代實施例中,可基於頻寬或關於通信網格之其他統計資料來指定接替作為新的主控制節點之備份控制節點。
通信網格內之一工作節點亦可能失敗。若一工作節點失敗,則由失敗工作節點執行之工作可在操作工作節點當中重新分配。在一替代實施例中,主控制節點可向仍在通信網格上之可操作工作節點之各者傳輸工作節點之各者亦應故意失敗的一通信。在工作節點之各者失敗之
後,其等可各自擷取其等最新保存之其等狀態之核對點且從該核對點重啟項目以最小化所執行之項目之丟失進展。
圖5繪示展示根據本技術之實施例之用於在一節點之一失敗之後調整一通信網格或一通信網格中之一工作項目的一例示性處理程序之一流程圖。例如,處理程序可包含接收包含由通信網格中之一節點執行之一項目之一部分的一項目狀態之網格狀態資訊,如在操作502中描述。例如,一控制節點(例如,連接至一通信網格上之一主控制節點及一工作節點之一備份控制節點)可接收網格狀態資訊,其中該網格狀態資訊包含主控制節點之一項目狀態或工作節點之一項目狀態。主控制節點之項目狀態及工作節點之項目狀態可包含由通信網格中之主及工作節點執行之一項目之一或多個部分的一狀態。處理程序亦可包含儲存網格狀態資訊,如在操作504中描述。例如,一控制節點(例如,一備份控制節點)可將經接收之網格狀態資訊在本地儲存於控制節點內。替代地,可將網格狀態資訊發送至用於儲存之另一器件,控制節點可在該另一器件處存取資訊。
處理程序亦可包含在操作506中接收對應於通信網格中之一節點之一失敗通信。例如,一節點可接收包含主控制節點已失敗之一指示之一失敗通信,以提示一備份控制節點接替主控制節點。在一替代實施例中,一節點可接收一工作節點已失敗之一失敗,以提示一控制節點重新指派由工作節點執行之工作。處理程序亦可包含重新指派一節點或由失敗節點執行之項目之一部分,如在操作508中描述。例如,一控制節點可在接收失敗通信時基於失敗通信將備份控制節點指定為一新的主控制節點。若失敗節點係一工作節點,則一控制節點可使用通信網格之快照識別失敗工作節點之一項目狀態,其中失敗工作節點之項目狀態包含在失敗時間由
失敗工作節點執行之項目之一部分的一狀態。
處理程序亦可包含基於重新指派接收經更新網格狀態資訊,如在操作510中描述,及基於經更新網格狀態資訊將一指令集傳輸至通信網格中之一或多個節點,如在操作512中描述。經更新網格狀態資訊可包含主控制節點之一經更新項目狀態或工作節點之一經更新項目狀態。可將經更新資訊傳輸至網格中之其他節點以更新其等之陳舊儲存資訊。
圖6繪示根據本技術之實施例之包含一控制節點及一工作節點之一通信網格運算系統600的一部分。出於繪示目的,通信網格600運算系統包含一個控制節點(控制節點602)及一個工作節點(工作節點610),但可包含更多工作及/或控制節點。控制節點602經由通信路徑650通信地連接至工作節點610。因此,控制節點602可經由路徑650將(例如,與通信網格或通知有關之)資訊傳輸至工作節點610及自工作節點610接收資訊。
類似於在圖4中,通信網格運算系統(或僅「通信網格」)600包含資料處理節點(控制節點602及工作節點610)。節點602及610包含多核心資料處理器。各節點602及610包含在與該節點相關聯之資料處理器上執行且與亦與該節點相關聯之緩衝記憶體622介接的一網格化之(grid-enabled)軟體組件(GESC)620。各節點602及610包含在控制節點602處之一資料庫伺服器(未展示)上及在工作節點610處之一資料庫伺服器(未展示)上執行的一資料庫管理軟體(DBMS)628。
各節點亦包含一資料儲存器624。類似於圖1中之網路附接式資料儲存器110及圖2中之資料儲存器235,資料儲存器624用於儲存待由運算環境中之節點處理之資料。資料儲存器624亦可將由運算系統產生
之在處理之後的任何中間或最終資料儲存於例如非揮發性記憶體中。然而,在特定實施例中,網格運算環境之組態容許其操作經執行使得中間及最終資料結果可單獨儲存於揮發性記憶體(例如,RAM)中,而不需要將中間或最終資料結果儲存至非揮發性類型之記憶體。將此資料儲存於揮發性記憶體中在特定情形中可為有用的,諸如當網格接收到來自一用戶端之查詢(例如,特用)時及當需要快速地或即時地產生藉由處理大量資料而產生的回應時。在此一情形中,網格可經組態以將資料留存於記憶體內,使得可以不同細節層次產生回應且使得一用戶端可互動地查詢此資訊。
各節點亦包含一使用者定義之功能(UDF)626。UDF提供使DBMS 628將資料傳送至儲存於由DBMS管理之資料儲存器624中之資料庫或自該資料庫接收資料的一機構。例如,UDF 626可由DBMS調用以將將資料提供至GESC以進行處理。UDF 626可與GESC建立一套接連接(未展示)以傳送資料。替代地,UDF 626可藉由將資料寫入至可由UDF及GESC兩者存取之共用記憶體而將資料傳送至GESC。
在節點602及610處之GESC 620可經由一網路(諸如圖1中所展示之網路108)連接。因此,節點602及610可經由網路使用一預定通信協定(舉例而言,諸如訊息傳遞介面(MPI))彼此通信。各GESC 620可參與同另一節點處之GESC之點對點通信,或經由網路與多個GESC進行集體通信。各節點處之GESC 620可含有相同(或幾乎相同)軟體指令。各節點可能夠操作為一控制節點抑或一工作節點。控制節點602處之GESC可經由一通信路徑652與一用戶端器件630通信。更明確言之,控制節點602可與由用戶端器件630代管之用戶端應用程式632通信,以接收查詢且在處理大量資料之後對該等查詢作出回應。
DBMS 628可控制一節點602或610內之資料庫或資料結構(未展示)之建立、維護及使用。資料庫可組織儲存於資料儲存器624中之資料。控制節點602處之DBMS 628可接受對資料之請求且針對請求傳送適當資料。藉由此一處理程序,資料集合可跨多個實體位置分佈。在此實例中,各節點602及610將由管理系統管理之總資料之一部分儲存於其相關聯資料儲存器624中。
此外,DBMS可負責使用複製技術進行保護使免受資料丟失。複製包含提供儲存於一或多個其他節點上之一個節點上之資料的一備份複本。因此,若一個節點失敗,則可自駐留於另一節點處之一經複製複本復原來自失敗節點之資料。然而,如本文中關於圖4所描述,通信網格中之各節點之資料或狀態資訊亦可與網格上之各節點分享。
圖7繪示展示根據本技術之實施例之用於在一網格運算系統內執行一項目的一例示性方法之一流程圖。如關於圖6所描述,控制節點處之GESC可與一用戶端器件(例如,用戶端器件630)傳輸資料以接收用於執行一項目之查詢且在已處理大量資料之後對該等查詢作出回應。查詢可傳輸至控制節點,其中查詢可包含執行一項目之一請求,如在操作702中描述。查詢可含有關於待在項目中執行之資料分析類型及是否應使用基於網格之運算環境來執行項目的指令,如在操作704中展示。
為起始項目,控制節點可判定查詢是否請求使用基於網格之運算環境來執行項目。若判定為否,則控制節點在一單獨環境中(例如,在控制節點處)起始項目之執行,如在操作710中描述。若判定為是,則控制節點可在基於網格之運算環境中起始項目之執行,如在操作706中描述。在此一情形中,請求可包含網格之一經請求組態。例如,請求可包
含在執行項目時待在網格中使用之控制節點之一數目及工作節點之一數目。在項目已完成之後,控制節點可傳輸由網格產生之分析結果,如在操作708中描述。無論是否在一單獨或基於網格之環境中執行項目,控制節點在操作712中提供項目之結果。
如關於圖2所提及,本文中所描述之運算環境可收集資料(例如,如自諸如感測器之網路器件(諸如圖2中之網路器件204至209)及用戶端器件或其他來源接收)以作為一資料分析項目之部分進行處理,且可作為一串流傳輸分析環境(例如,ESP)之部分即時接收資料。可使用如經由不同種類之網路或在本地通信之多種來源諸如在一即時串流傳輸基礎上收集資料。例如,網路器件可週期性地自網路器件感測器接收資料,因為感測器持續感測、監測及追蹤其等環境中之變化。更明確言之,愈來愈多的分佈式應用程式藉由在將資料分配給地理上分佈之接收者之前對資料應用查詢來開發或產生來自分佈式來源之連續流動資料。一事件串流處理引擎(ESPE)可在接收資料時對資料連續應用查詢且判定哪些實體應接收資料。用戶端或其他器件亦可訂閱ESPE或處理ESP資料之其他器件,使得其等可在處理之後接收資料(例如,基於由處理引擎判定之實體)。例如,圖2中之用戶端器件230可訂閱運算環境214中之ESPE。在另一實例中,關於圖10進一步描述之事件訂閱器件1024a至1024c亦可訂閱ESPE。ESPE可判定或定義來自網路器件或其他發佈者(例如,圖2中之網路器件204至209)之輸入資料或事件串流如何被變換成有意義的輸出資料以供訂閱者(舉例而言,諸如圖2中之用戶端器件230)消費。
圖8繪示包含根據本技術之實施例之一事件串流處理引擎(ESPE)之組件的一方塊圖。ESPE 800可包含一或多個項目802。一項目
可被描述為由ESPE 800管理之一引擎模型中之一第二層級容器,其中項目之一執行緒集區大小可由一使用者定義。一或多個項目802之各項目可包含含有資料流(其等係傳入事件串流之資料變換)之一或多個連續查詢804。一或多個連續查詢804可包含一或多個源視窗806及一或多個導出視窗808。
ESPE可在一時段內接收與特定事件有關之串流傳輸資料,諸如由一或多個網路器件感測之事件或其他資料。ESPE可執行與處理由一或多個器件建立之資料相關聯之操作。例如,ESPE可自圖2中所展示之一或多個網路器件204至209接收資料。如所提及,網路器件可包含感測其等環境之不同態樣之感測器,且可基於該等經感測之觀察隨時間收集資料。例如,ESPE可在圖2中所展示之機器220及240之一或多者內實施。ESPE可在此一機器內由一ESP應用程式實施。一ESP應用程式可將具有其自身之一或多個專用執行緒集區之一ESPE嵌入至其應用程式空間中,其中主要應用程式執行續可進行應用程式特定工作且ESPE至少藉由將一模型之一例項建立至處理物件中來處理事件串流。
引擎容器係管理一或多個項目802之資源之一模型中的頂層容器。在一闡釋性實施例中,例如,對於ESP應用程式之各例項,可僅存在一個ESPE 800,且ESPE 800可具有一唯一引擎名稱。另外,一或多個項目802可各自具有唯一項目名稱,且各查詢可具有一唯一連續查詢名稱且以一或多個源視窗806之一唯一命名之源視窗開始。ESPE 800可為或可能並非持久的。
連續查詢模型化涉及針對事件串流操縱及變換定義視窗之有向圖。在事件串流操縱及變換之內容背景中,一視窗係一事件串流處理
模型中之一處理節點。一連續查詢中之一視窗可對流經視窗之資料執行彙總、運算、型樣匹配及其他操作。一連續查詢可被描述為源、關係、型樣匹配及程序視窗之一有向圖。一或多個源視窗806及一或多個導出視窗808表示產生對一查詢結果集之更新作為通過ESPE 800之新的事件區塊串流的連續執行之查詢。例如,一有向圖係由邊緣連接之一組節點,其中邊緣具有與其等相關聯之一方向。
一事件物件可被描述為可作為一欄位集合存取之一資料封包,其中欄位之至少一者定義為一關鍵字或唯一識別符(ID)。事件物件可使用包含二進位、字母數字、XML等之多種格式建立。各事件物件可包含被指定為事件之一主識別符(ID)之一或多個欄位,因此ESPE 800可支援包含插入、更新、更新插入(upsert)及刪除之事件之操作程式碼(操作碼)。若關鍵欄位已存在,則更新插入操作碼更新事件;否則,插入事件。為繪示,一事件物件可為一組欄位值之一緊縮二進位表示,且包含與一事件相關聯之後設資料及欄位資料兩者。後設資料可包含指示事件是否表示一插入、更新、刪除或更新插入之一操作碼,指示事件是否為一正常、部分更新或來自保留策略管理之一保留產生之事件的一組旗標,及可用於延時量測之一組微秒時間戳記。
一事件區塊物件可被描述為事件物件之一群組或封包。一事件串流可被描述為一事件區塊物件流。一或多個連續查詢804之一連續查詢使用一或多個源視窗806及一或多個導出視窗808將由發佈至ESPE 800中之串流傳輸事件區塊物件組成的一源事件串流變換成一或多個輸出事件串流。一連續查詢亦可被視為資料流模型化。
一或多個源視窗806在有向圖之頂部處且不具有饋送至其
等中之視窗。事件串流被發佈至一或多個源視窗806中,且事件串流可自該處引導至如由有向圖定義之下一組經連接視窗。一或多個導出視窗808全部為並非源視窗且具有將事件串流傳輸至其等中之其他視窗的具現化視窗。一或多個導出視窗808可對傳入事件串流執行運算或變換。一或多個導出視窗808基於視窗類型(即,諸如加入、濾波、運算、彙總、複製、型樣匹配、程序、聯合等之運算子)及視窗設定來變換事件串流。在事件串流被發佈至ESPE 800中時,其等被連續查詢,且連續更新此等查詢中之所得導出視窗集。
圖9繪示展示根據本技術之一些實施例之包含由一事件串流處理引擎執行之操作的一例示性處理程序之一流程圖。如所提及,ESPE 800(或一相關聯ESP應用程式)定義如何將輸入事件串流變換成有意義的輸出事件串流。更明確言之,ESP應用程式可定義如何將來自發佈者(例如,提供經感測資料之網路器件)之輸入事件串流變換成由訂閱者消費之有意義的輸出事件串流(例如,由一機器或機器組執行之一資料分析項目)。
在應用程式內,一使用者可與在ESPE之控制下獨立地或透過一瀏覽器應用程式以使用者可選擇之一順序在一顯示器中呈現給使用者的一或多個使用者介面視窗互動。例如,一使用者可執行一ESP應用程式,此引起呈現一第一使用者介面視窗,該第一使用者介面視窗可包含與ESP應用程式相關聯之複數個選單及選擇器(諸如下拉式選單、按鈕、文字方塊、超鏈結等),如熟習此項技術者理解。如熟習此項技術者進一步理解,可例如使用複數個執行緒並行執行各種操作。
在操作900,一ESP應用程式可定義及啟動一ESPE,藉此
具現化一器件(諸如機器220及/或240)處之一ESPE。在一操作902中,建立引擎容器。為繪示,ESPE 800可使用將引擎容器指定為模型之一管理器的一函式呼叫來具現化。
在一操作904中,藉由ESPE 800將一或多個連續查詢804具現化為一模型。一或多個連續查詢804可用產生更新作為通過ESPE 800之新事件串流之一或多個專用執行緒集區具現化。為繪示,可建立一或多個連續查詢804以模型化ESPE 800內之業務處理邏輯,預測ESPE 800內之事件,模型化ESPE 800內之一實體系統,預測ESPE 800內之實體系統狀態等。例如,如所提及,ESPE 800可用於支援感測器資料監測及管理(例如,感測可包含力、扭矩、負荷、應變、位置、溫度、氣壓、流體流量、化學性質、電阻、電磁場、輻射、輻照度、近接性、聲學、濕度、距離、速度、振動、加速度、電位或電流等)。
ESPE 800可分析及處理運動中之事件或「事件串流」。代替儲存資料及對經儲存資料運行查詢,ESPE 800可儲存查詢且透過其等串流傳輸資料以容許在接收資料時對資料進行連續分析。可基於將輸入事件串流變換成輸出事件串流以基於所定義之連續查詢模型及對串流傳輸之資料之應用來模型化、模擬、評分、測試、預測等的關係、型樣匹配及程序演算法來建立一個或多個源視窗806及一個或多個導出視窗808。
在一操作906中,針對ESPE 800初始化一發佈/訂閱(pub/sub)能力。在一闡釋性實施例中,針對一或多個項目802之各項目初始化一pub/sub能力。為針對ESPE 800初始化及啟用pub/sub能力,可提供一埠號。pub/sub用戶端可使用運行ESPE之一ESP器件之一主機名稱及埠號來建立至ESPE 800之pub/sub連接。
圖10繪示根據本技術之實施例之介接於發佈器件1022與事件訂閱器件1024a至1024c之間的一ESP系統1000。ESP系統1000可包含ESP器件或子系統1001、事件發佈器件1022、一事件訂閱器件A 1024a、一事件訂閱器件B 1024b及一事件訂閱器件C 1024c。藉由發佈器件1022將輸入事件串流輸出至ESP器件1001。在替代實施例中,可藉由複數個發佈器件建立輸入事件串流。複數個發佈器件可進一步將事件串流發佈至其他ESP器件。由ESPE 800具現化之一或多個連續查詢可分析及處理輸入事件串流以形成輸出至事件訂閱器件A 1024a、事件訂閱器件B 1024b及事件訂閱器件C 1024c之輸出事件串流。ESP系統1000可包含事件訂閱器件之更多或更少數目個事件訂閱器件。
發佈-訂閱係基於間接定址之一訊息定向互動範式。經處理資料接收者藉由訂閱特定類別之事件來指定其等有興趣自ESPE 800接收資訊,而資訊源將事件發佈至ESPE 800而不直接定址接收方。ESPE 800協調互動且處理資料。在一些情況下,資料源接收一資料接收者已接收經發佈資訊之確認。
一發佈/訂閱API可被描述為使一事件發佈者(諸如發佈器件1022)能夠將事件串流發佈至ESPE 800或一事件訂閱者(諸如事件訂閱器件A 1024a、事件訂閱器件B 1024b及事件訂閱器件C 1024c)以訂閱來自ESPE 800之事件串流的一程式庫。為繪示,可定義一個或多個發佈/訂閱API。使用發佈/訂閱API,一事件發佈應用程式可將事件串流發佈至ESPE 800之一正在運行的事件串流處理器項目源視窗中,且事件訂閱應用程式可訂閱ESPE 800之一事件串流處理器項目源視窗。
發佈/訂閱API提供ESP應用程式與其他網路連結應用程式
(諸如在發佈器件1022處具現化之事件發佈應用程式,以及在事件訂閱器件A 1024a、事件訂閱器件B 1024b及事件訂閱器件C 1024c之一或多者處具現化之事件訂閱應用程式)之間的跨平台連接性及位元排列順序(endianness)相容性。
返回參考圖9,操作906初始化ESPE 800之發佈/訂閱能力。在一操作908中,啟動一或多個項目802。該一或多個經啟動項目可在一ESP器件上之後台運行。在一操作910中,自事件發佈器件1022之一或多個運算器件接收一事件區塊物件。
ESP子系統1001可包含一發佈用戶端1002、ESPE 800、一訂閱用戶端A 1004、一訂閱用戶端B 1006及一訂閱用戶端C 1008。發佈用戶端1002可由在發佈器件1022處執行之一事件發佈應用程式使用發佈/訂閱API來啟動。訂閱用戶端A 1004可由在事件訂閱器件A 1024a處執行之一事件訂閱應用程式A使用發佈/訂閱API來啟動。訂閱用戶端B 1006可由在事件訂閱器件B 1024b處執行之一事件訂閱應用程式B使用發佈/訂閱API來啟動。訂閱用戶端C 1008可由在事件訂閱器件C 1024c處執行之一事件訂閱應用程式C使用發佈/訂閱API來啟動。
含有一或多個事件物件之一事件區塊物件自事件發佈器件1022上之一事件發佈應用程式之一例項注入至一或多個源視窗806之一源視窗中。事件區塊物件可例如由事件發佈應用程式產生且可由發佈用戶端1002接收。在於ESPE 800之一或多個源視窗806及/或一或多個導出視窗808之間,且至訂閱用戶端A 1004、訂閱用戶端B 1006及訂閱用戶端C 1008,以及至事件訂閱器件A 1024a、事件訂閱器件B 1024b及事件訂閱器件C 1024c傳遞事件區塊物件時,可維持一唯一ID。發佈用戶端1002可
進一步在事件區塊物件由一連續查詢處理時產生一唯一嵌入式交易ID且將其包含於事件區塊物件中,以及發佈器件1022指派給事件區塊物件之唯一ID。
在一操作912中,透過一或多個連續查詢804處理事件區塊物件。在一操作914中,將經處理事件區塊物件輸出至事件訂閱器件1024a至1024c之一或多個運算器件。例如,訂閱用戶端A 1004、訂閱用戶端B 1006及訂閱用戶端C 1008可分別將經接收之事件區塊物件發送至事件訂閱器件A 1024a、事件訂閱器件B 1024b及事件訂閱器件C 1024c。
ESPE 800從事件區塊被發佈至一源視窗中時維持經接收事件區塊之事件區塊容器關係(containership)態樣,且在輸出至訂閱者之前運用各種事件轉譯完成由一或多個連續查詢804定義之有向圖。訂閱者可藉由比較一發佈者(諸如發佈器件1022)附接至事件區塊物件之事件區塊物件的唯一ID與由訂閱者接收之事件區塊ID而使一群組經訂閱事件往回與一群組經發佈事件相關。
在一操作916中,進行關於是否停止處理之一判定。若未停止處理,則處理在操作910中繼續以繼續自例如一或多個網路器件接收含有事件區塊物件之一或多個事件串流。若停止處理,則處理在一操作918中繼續。在操作918中,停止經啟動項目。在操作920中,關閉ESPE。
如所提及,在一些實施例中,在接收及儲存資料之後,處理巨量資料以進行一分析項目。在其他實施例中,分佈式應用程式藉由在將資料分配給地理上分佈之接收者之前對資料應用查詢來即時地處理來自分佈式來源之連續流動資料。如所提及,一事件串流處理引擎(ESPE)可
在接收資料時對資料連續應用查詢且判定哪些實體接收經處理資料。此容許即時地處理及分配在多種環境中接收及/或收集之大量資料。例如,如關於圖2所展示,可自可包含物聯網內之器件(諸如一家庭自動化網路內之器件)之網路器件收集資料。然而,可自多種不同環境中之多種不同資源收集此資料。在任何此情形中,本技術之實施例容許即時處理此資料。
本發明之態樣提供技術問題之技術解決方案,諸如在一ESP器件失敗時出現之運算問題,此導致一完全服務中斷及潛在顯著資料丟失。當串流傳輸之資料正在支援任務關鍵操作(諸如支援一正在進行的製造或鑽探操作之操作)時,資料丟失可能為災難性的。一ESP系統之一實施例達成在複數個ESP器件處運行之ESPE的一快速且無縫容錯移轉(failover),而無服務中斷或資料丟失,因此顯著改良依靠資料串流之實況或即時處理之一作業系統的可靠性。事件發佈系統、事件訂閱系統及未在一失敗ESP器件處執行之各ESPE皆不知道該失敗ESP器件或不受其影響。ESP系統可包含數千個事件發佈系統及事件訂閱系統。ESP系統將容錯移轉邏輯及感知保持於向外訊息傳遞網路連接器及向外訊息傳遞網路器件的邊界內。
在一項實例實施例中,提供一種用以支援事件串流處理(ESP)事件區塊時之一容錯移轉的系統。系統包含但不限於一向外訊息傳遞網路器件及一運算器件。運算器件包含但不限於一處理器及可操作地耦合至該處理器之一電腦可讀媒體。處理器經組態以執行一ESP引擎(ESPE)。電腦可讀媒體具有儲存於其上之指令,該等指令在由處理器執行時引起運算器件支援容錯移轉。一事件區塊物件係自包含一唯一識別符之ESPE接收。判定運算器件之一第一狀態為作用中或備用。當該第一狀
態係在作用中時,判定運算器件之一第二狀態為最新在作用中或並非最新在作用中。當運算器件自一備用狀態切換至一作用中狀態時,判定為最新在作用中。當第二狀態係最新在作用中時,判定唯一地識別上一個發佈之事件區塊物件之一上一個發佈之事件區塊物件識別符。自可由運算器件存取之一非暫時性電腦可讀媒體選擇下一個事件區塊物件。下一個事件區塊物件具有大於經判定之上一個發佈之事件區塊物件識別符的一事件區塊物件識別符。將選定之下一個事件區塊物件發佈至一向外訊息傳遞網路器件。當運算器件之第二狀態並非最新在作用中時,將經接收事件區塊物件發佈至向外訊息傳遞網路器件。當運算器件之第一狀態係備用時,將經接收事件區塊物件儲存於非暫時性電腦可讀媒體中。
圖11係根據一些態樣之用於產生及使用一機器學習模型之一處理程序之一實例的一流程圖。機器學習係與可自資料學習、對資料分類及進行關於資料之預測之數學模型有關的一人工智慧分支。可被稱為機器學習模型之此等數學模型可在兩個或更多個類別當中對輸入資料進行分類;在兩個或更多個群組當中叢集化輸入資料;基於輸入資料預測一結果;識別輸入資料中之型樣或趨勢;識別輸入資料在一空間中之一分佈;或此等之任何組合。機器學習模型之實例可包含:(i)神經網路;(ii)決策樹,諸如分類樹及迴歸樹;(iii)分類器,諸如Naïve偏差分類器、邏輯迴歸分類器、脊迴歸分類器、隨機森林分類器、最小絕對收縮及選擇器(least absolute shrinkage and selector)(LASSO)分類器及支援向量機;(iv)叢集器(clusterer),諸如k均值叢集器、均值位移叢集器及頻譜叢集器;(v)因子分解器(factorizer),諸如因子分解機、主分量分析器及核心主分量分析器;及(vi)機器學習模型之集合或其他組合。在一些實例中,
神經網路可包含深度神經網路、前饋神經網路、遞迴神經網路、卷積(convolutiona)神經網路、徑向基底函數(RBF)神經網路、回波狀態神經網路、長短期記憶神經網路、雙向遞迴神經網路、閘控神經網路、階層式遞迴神經網路、隨機神經網路、模組化神經網路、脈衝神經網路、動態神經網路、級聯神經網路、神經模糊神經網路或此等之任何組合。
不同機器學習模型可互換地使用以執行一任務。可至少部分使用機器學習模型執行之任務之實例包含各種類型之評分;生物資訊學;化學資訊學;軟體工程學;詐欺偵測;客戶分段;產生線上推薦;自適應網站;判定客戶終身價值;搜尋引擎;即時地或近即時地投放廣告;對DNA序列進行分類;情感運算;執行自然語言處理及理解;物件辨識及電腦視覺;機器人運動;玩遊戲;最佳化及元啟發式;偵測網路入侵;醫療診斷及監測;或預測一資產(諸如一機器)何時將需要維護。
任何數目及組合之工具可用於建立機器學習模型。用於建立及管理機器學習模型之工具之實例可包含SAS® Enterprise Miner、SAS®快速預測模型化器及SAS®模型管理器、SAS雲端分析服務(CAS)®、SAS Viya ®,全部其等係由北卡羅萊納州喀里市之SAS Institute公司提供。
機器學習模型可透過被稱為訓練之一至少部分自動化(例如,很少或沒有人類參與)之處理程序建構。在訓練期間,輸入資料可迭代地供應至一機器學習模型,以使機器學習模型能夠識別與輸入資料有關之型樣或識別輸入資料與輸出資料之間的關係。運用訓練,機器學習模型可自一未經訓練狀態變換為一經訓練狀態。輸入資料可分割成一個或多個訓練集及一個或多個驗證集,且訓練處理程序可重複多次。分割可遵循一
k折交叉驗證規則、一留一規則、一留p規則或一箝制規則。下文關於圖11之流程圖描述訓練及使用一機器學習模型之一概述。
在方塊1104中,接收訓練資料。在一些實例中,訓練資料係自由各種資料子集建構之一遠端資料庫或一本地資料庫接收,或由一使用者輸入。訓練資料可以其原始形式用於訓練一機器學習模型,或被預處理成接著可用於訓練機器學習模型之另一形式。例如,訓練資料之原始形式可被平滑化、截斷、彙總、叢集化或以其他方式操縱成接著可用於訓練機器學習模型之另一形式。
在方塊1106中,使用訓練資料訓練一機器學習模型。可以一監督式、無監督式或半監督式方式訓練機器學習模型。在監督式訓練中,使訓練資料中之各輸入與一所要輸出相關。此所要輸出可為一純量、一向量、或一不同類型之資料結構,諸如文字或一影像。此可使機器學習模型能夠學習輸入與所要輸出之間的一映射。在無監督式訓練中,訓練資料包含輸入但無所要輸出,使得機器學習模型必須獨自找出輸入中之結構。在半監督式訓練中,僅使訓練資料中之一些輸入與所要輸出相關。
在方塊1108中,評估機器學習模型。例如,可例如經由使用者輸入或自一資料庫獲得一評估資料集。評估資料集可包含與所要輸出相關之輸入。可將輸入提供至機器學習模型且可比較來自機器學習模型之輸出與所要輸出。若來自機器學習模型之輸出與所要輸出緊密對應,則機器學習模型可具有一高準確度。例如,若來自機器學習模型之90%或更多的輸出與評估資料集中之所要輸出相同,則機器學習模型可具有一高準確度。否則,機器學習模型可具有一低準確度。90%之數量僅為一實例。一實際及所要準確度百分比取決於問題及資料。
在一些實例中,若機器學習模型針對一特定任務具有一不足準確度,則處理程序可返回至方塊1106,其中可使用額外訓練資料進一步訓練或以其他方式修改機器學習模型以改良準確度。若機器學習模型針對特定任務具有一足夠準確度,則處理程序可繼續至方塊1110。
在方塊1110中,接收新資料。在一些實例中,新資料係自由各種資料子集建構之一遠端資料庫或一本地資料庫接收,或由一使用者輸入。機器學習模型可能不知道新資料。例如,機器學習模型先前可能未處理或分析新資料。
在方塊1112中,使用經訓練之機器學習模型來分析新資料且提供一結果。例如,可將新資料作為輸入提供至經訓練之機器學習模型。經訓練之機器學習模型可分析新資料且提供包含新資料至一特定類別中之一分類、新資料至一特定群組中之一叢集化、基於新資料之一預測或此等之任何組合的一結果。
在方塊1114中,對結果進行後處理。例如,可作為一作業之部分將結果與其他資料相加、相乘或以其他方式組合。作為另一實例,可將結果自一第一格式(諸如一時間序列格式)變換成另一格式(諸如一計數序列格式)。可在後處理期間對結果執行任何數目及組合之操作。
一機器學習模型之一更特定實例係圖12中所展示之神經網路1200。神經網路1200被表示為可在彼此之間交換資料之經互連神經元(諸如神經元1208)之多個層。該等層包含用於接收輸入資料之一輸入層1202、一隱藏層1204及用於提供一結果之一輸出層1206。隱藏層1204因其在神經網路1200之正常運作期間可能無法直接觀察或無法使其輸入可直接存取而被稱為隱藏。儘管出於例示性目的將神經網路1200展示為具
有特定數目個層及神經元,但神經網路1200可具有任何數目及組合之層,且各層可具有任何數目及組合之神經元。
神經元及神經元之間的連接可具有可在訓練期間調諧之數值權重。例如,可將訓練資料提供至神經網路1200之輸入層1202,且神經網路1200可使用訓練資料來調諧神經網路1200之一或多個數值權重。在一些實例中,可使用反向傳播來訓練神經網路1200。反向傳播可包含基於神經網路1200之一實際輸出與神經網路1200之一所要輸出之間的一差異來判定一特定數值權重之一梯度。基於梯度,可更新神經網路1200之一或多個數值權重以減少差異,藉此增加神經網路1200之準確度。此處理程序可重複多次以訓練神經網路1200。例如,此處理程序可重複數百或數千次以訓練神經網路1200。
在一些實例中,神經網路1200係一前饋神經網路。在一前饋神經網路中,每一神經元僅將一輸出值傳播至神經網路1200之一後續層。例如,在一前饋神經網路中,資料可僅在從一個神經元至下一神經元之一個方向(前向)上移動。
在其他實例中,神經網路1200係一遞迴神經網路。一遞迴神經網路可包含一或多個回饋迴路,而容許資料透過神經網路1200在前向及後向兩者上傳播。此可容許資訊持續存在於遞迴神經網路內。例如,一遞迴神經網路可至少部分基於遞迴神經網路之前已看到之資訊來判定一輸出,從而給予遞迴神經網路以使用先前輸入來告知輸出的能力。
在一些實例中,神經網路1200藉由以下步驟來操作:自一個層接收一數字向量;使用一數值權重矩陣、一非線性度或兩者將數字向量變換成一新數字向量;及將新數字向量提供至神經網路1200之一後續
層。神經網路1200之各後續層可重複此處理程序,直至神經網路1200在輸出層1206處輸出一最終結果。例如,神經網路1200可在輸入層1202處接收一數字向量作為一輸入。神經網路1200可將數字向量與一數值權重矩陣相乘以判定一經加權向量。可在神經網路1200之訓練期間調諧數值權重矩陣。神經網路1200可使用一非線性度(諸如一S型正切或雙曲正切)來變換經加權向量。在一些實例中,非線性度可包含可使用以下方程式表達之一線性整流單元(rectified linear unit):y=max(x,0)
其中y係輸出且x係來自經加權向量之一輸入值。經變換輸出可供應至神經網路1200之一後續層,諸如隱藏層1204。神經網路1200之後續層可接收經變換輸出,將經變換輸出與一數值權重矩陣及一非線性度相乘,且將結果提供至神經網路1200之又一層。此處理程序繼續直至神經網路1200在輸出層1206處輸出一最終結果。
本發明之其他實例可包含具有任何數目及組合之特性之任何數目及組合之機器學習模型。該(等)機器學習模型可以一監督式、半監督式或無監督式方式或此等之任何組合來訓練。該(等)機器學習模型可使用一單一運算器件或多個運算器件(諸如上文所論述之通信網格運算系統400)來實施。
至少部分藉由使用機器學習模型來實施本發明之一些實例可減少由一運算器件在分析資料時消耗之處理迭代之總次數、時間、記憶體、電力或此等之任何組合。例如,一神經網路可比其他方法更容易識別資料之型樣。此可使神經網路能夠使用比其他方法更少之處理循環及更少之記憶體來分析資料,同時獲得一類似或更高之準確度。
一些機器學習方法可用機器學習特定處理器(例如,並非一通用CPU)更高效地且更快速地執行及處理。當相較於通用CPU時,此等處理器亦可提供一能源節省。例如,一些此等處理器可包含一圖形處理單元(GPU)、一特定應用積體電路(ASIC)、一場可程式化閘陣列(FPGA)、一人工智慧(AI)加速器、一神經運算核心、一神經運算引擎、一神經處理單元、用於深度學習之一特製(purpose-built)晶片架構,及/或使用半導體(例如,矽(Si)、砷化鎵(GaAs))器件實施一機器學習方法或一或多個神經網路的一些其他機器學習特定處理器。此外,此等處理器亦可用於具有若干及多種不同類型之核心、引擎、節點及/或層之異質運算架構中,以在相較於採用CPU用於通用運算之一均質運算架構時,在系統之各個部分各處達成各種能量效率、處理速度改良、資料通信速度改良,及/或資料效率目標及改良。
本技術之一或多項實施例對於進行關於用於將材料結合在一起之製程(例如,接合操作)的預測係有用的。存在用以將材料結合在一起之許多不同方式,包含黏著劑接合、熔接接合、針腳式接合及焊接接合。接合操作用於包含製造及建設之許多不同工業中。接合可用於製造各種產品及其等封裝,諸如車輛、使用者設備、行動器件、電腦、醫療器件、服裝及化學產品。接合可用於建設中,諸如形成建築物、橋樑及電系統。在接合操作中,可能難以在不破壞接合件本身的情況下知道一接合件之品質及因此經形成產品之品質。關於接合操作之預測對於在不破壞經製造產品的情況下進行關於一接合操作之判定可為有用的。例如,一或多項實施例對於製造一整合式電腦(IC)晶片係有用的。
如一般技術者所知,用於一IC晶片之半導體製程通常在常
被稱為「前段」及「後段」之兩個階段中執行。前段指代用於從一空白晶圓製造矽晶圓之製程。一經完成,經製造之矽晶圓便具有在其上之複數個IC晶片。「後段」指代在已在矽晶圓上建立所有IC晶片之後發生的製程。出於描述實例實施例之目的,將更詳細描述例示性「後段」製程。
圖13及圖14繪示根據一項實施例之用於製造一IC晶片之一例示性「後段」半導體製程的一概覽。特定言之,圖13繪示用於執行半導體製程之「後段」之一例示性方法1300。圖14進一步用圖形繪示用於執行後段半導體製程之一方法1400及與半導體製程之後段相關聯之一些組件。藉由實例,此等組件包含其上具有複數個晶粒1404之矽晶圓1402。各晶粒1404包括功能電路製造於其上之一IC晶片內部的半導體材料塊。因此,各晶粒1404係尚未封裝之一全功能IC晶片。
如圖13中所見,例示性方法1300開始於一晶圓研磨階段(方框1302)。在此階段中,藉由一磨料磨輪將矽晶圓(例如,圖14之矽晶圓1402)之厚度減小至一所要厚度(例如,50μm至75μm)。例如,可在多個步驟中實施研磨。例如,在一第一步驟中,一磨輪(未展示)可使用一粗砂首先粗糙地研磨矽晶圓(例如,圖14之矽晶圓1402)且移除其之大部分過量厚度。在一第二步驟中,磨輪可使用一不同砂(例如,遠更細的砂)來完精磨矽晶圓。更細砂用於將矽晶圓準確地研磨至所要厚度且拋光矽晶圓。
一旦研磨完成,圖13之方法1300便在一晶圓鋸切階段(方框1304)中將晶粒(例如,圖14之晶粒1404)彼此分離。亦被稱為「晶圓切割」之晶圓鋸切係藉由其在矽晶圓(例如,圖14之矽晶圓1402)上將晶粒彼此分離之製程。一般而言,晶圓切割係藉由在位於晶粒之間的區域中機械地鋸切矽晶圓來完成。如圖14中所見,用於鋸切之例示性「區域」分別使
用垂直及水平線1406、1408來指示,且通常被稱為「切割道」或「劃線道」。可藉由額外鋸切或研磨來進一步移除或減少晶粒周圍之過量區域。
接著,在圖13之一晶粒接合階段(方框1306)中將經分離晶粒(例如,圖14之晶粒1404)附接或「接合」至一引線框架(例如,圖14之引線框架1410)。一「引線框架」可為在一晶片封裝內部之一金屬(例如,銅)導電結構,其經組態以將信號自晶粒載送至「外部世界」或反之亦然。在圖14中,晶粒1404係使用環氧樹脂黏著劑或焊料接合至引線框架1410。特定言之,將環氧樹脂黏著劑或焊料以一預定圖案放置於引線框架1410上。接著,將在晶圓鋸切階段中彼此分離之個別晶粒1404a、1404b、1404c拾取及放置於經施配之環氧樹脂黏著劑或焊料上且進行固化。固化使環氧樹脂或焊料硬化,使得各晶粒1404a、1404b、1404c保持附接至引線框架1410,且使得各晶粒1404a、1404b、1404c達成所要機械及電性質。
一般技術者將容易瞭解,本發明並不僅限於使用環氧樹脂黏著劑或焊料用於將晶粒1404接合至引線框架1410。在其他實施例中,例如,晶粒1404係使用一熟知熱壓晶粒接合技術接合至引線框架1410。熱壓晶粒接合未使用黏著劑材料將晶粒1404附接至引線框架1410。實情係,對晶粒1404施加熱量及一力以與下層引線框架1410形成一金屬接合。
圖13之後段製程中之下一階段係導線接合階段(方框1308)。在此階段中,例如,一導線接合機(未展示)使用複數條導線建立一晶粒(例如,晶粒1404a)與一引線框架(例如,引線框架1410)之間的一電連接。如下文更充分描述,各連接涉及在本文中被稱為「球形接合件」
及「針腳式接合件」之兩種接合件。球形接合件係在一導線與一晶粒之間形成,而針腳式接合件係在一引線框架與導線之間形成。可在此階段中使用任何數目條導線來將一晶粒接合至引線框架。例如,取決於製造商,可使用不同數目條導線(例如,>5、>10、>20或>100)來將一晶粒電連接至一引線框架。
一旦導線接合階段完成,便在圖13中執行一模製階段(方框1310)。此階段有助於在機械上(例如,免受由一或多個實體衝擊造成之損壞)以及在環境上(免受顆粒及其他雜質影響)保護一晶粒(例如,晶粒1404)。如圖14中所見,模製階段藉由將晶粒1404包覆於一預定材料(舉例而言,諸如塑膠環氧樹脂材料)中來囊封晶粒1404。例如,模製製程可為若干熟知模製方法之任何者。例如,在一第一方法(即,一密閉式方法)中,將一陶瓷板或金屬蓋附接至晶粒1404,藉此形成一密封。在一第二方法中,將一塑膠環氧樹脂材料熔融至晶粒1404上且進行固化以形成密封。然而,無關於在模製階段中使用之特定方法,模製化合物皆使用熱量來固化。
在圖13中之模製階段之後的下一階段可包含一增強階段(方框1312)。例如,一鍍覆操作可用於藉由在一引線框架(例如,引線框架1410)之引線上方施覆一薄金屬層以將引線框架機械且電連接及耦合至一下層基板(舉例而言,諸如一印刷電路板(PCB))來幫助保護引線框架1410免受腐蝕及磨損。作為另一實例,一蝕刻操作可用於增強引線框架之導電性。
在增強階段完成之後,在圖13中執行一標記階段(方框1314)。在此階段中,製造商用多種識別符及其他區別資訊(諸如製造商之
名稱及標誌、IC晶片之名稱、一日期代碼、一批次識別符及類似者)來標記IC晶片之外殼。可使用任何數目種方法(舉例而言,諸如基於油墨及基於雷射之方法)來標記外殼。然而,在本技術之至少一項實施例中,基於雷射之方法係較佳的。然而,無關於在標記階段中使用之特定方法,標記皆能夠識別IC晶片及來源且促進可追溯性。
後段製程中之下一階段係圖13中之修整及成型階段(方框1316)。在此階段中,切除通常被稱為「分隔件(dambar)」之連接自IC晶片之外殼延伸之引線的金屬支柱。另外,將引線彎曲或以其他方式形成為一適當形狀用於放置至一下層基板上。最後,在圖13之一階段(方框1318)中,檢測、測試及封裝經修整且經成型之IC晶片以進行分配。
圖13及圖14展示可作為一半導體製程之部分執行之例示性階段。各階段可具有一或多個操作。此外,可執行不同、更多或更少的階段(例如,階段可組合或按不同順序)。因此,圖13及圖14中所繪示之方法1300及1400僅為用於描述一IC晶片之一例示性接合操作之實例。無論如何,如先前所描述,一導線接合機可在導線接合階段(方框1308)中使用複數條導線以在圖14之晶粒1404與引線框架1410之間建立電連接。圖15A及圖15B繪示根據本技術之至少一項實施例之一IC晶片之一些組件及接合件的一實例。特定言之,圖15A及圖15B繪示接合至一下層基板1500之一例示性引線框架1410。引線框架1410之導電「支腳」或「接腳」亦附接至基板1500。在此實施例中,圖15A將引線框架1410繪示為具有三(3)個導電支腳1410a、1410b、1410c。然而,此僅用於闡釋性目的。一般技術者將容易瞭解,可根據需要或期望存在耦合至引線框架1410之更多或更少支腳。然而,無關於導電支腳之數目,如圖15B中所見,引線框架1410
之支腳1410a、1410b、1410c可在修整及成型階段(圖13之方框1316)期間彎曲,使得導電支腳與一下層基板(舉例而言,諸如一印刷電路板(PCB))形成適當實體接觸。
如圖15A中所見,一金屬細線1504延伸於安置於晶粒1404a之表面上之一接合墊1506與安置於引線框架1410之各支腳1410a、1410b、1410c上之一目標墊1508之間。在一些實施例中,一導電膜層1502可安置於目標墊1508與引線框架1410之各支腳1410a、1410b、1410c之間。接合墊1506及目標墊1508兩者皆包括一薄的導電金屬層或膜,舉例而言,諸如銀。然而,如一般技術者將理解,接合墊1506及目標墊1508之一者或兩者可包括除銀之外之一導電材料。然而,無關於其等組合物,導線1504皆經由一「球形接合件」1510附接至接合墊1506,且經由一「針腳式接合件」1512附接至目標墊1508。導線1504、球形接合件1510及針腳式接合件1512提供在晶粒1404a與引線框架1410之支腳之間建立電連接的實體構件。
圖16A至圖16D繪示根據本發明之一項實施例之用於形成球形接合件1510及針腳式接合件1512的一例示性方法1600。如此等圖中所見,一進給導線1604延伸穿過一毛細管工具1602之一孔。一般而言,進給導線1604包括一導電材料,舉例而言,諸如金、銅或鋁。
為產生球形接合件1510,將一高壓電荷施加至進給導線1604(圖16A)。此電荷熔融進給導線1604之末端。然而,表面張力而非滴落或掉落引起經熔融之進給導線1604在毛細管工具1602之尖端處形成為一球1606。接著,朝向晶粒1404a降低毛細管工具1602,使得將熔融球1606按壓至在一些情況下可被加熱之接合墊1506上(圖16B)。例如,接著
連同毛細管工具1602之向下壓力一起施加熱量(例如,熱壓)及/或超聲波能量(例如,超音波能量)以形成球形接合件1510。
接著,將毛細管工具1602提離球形接合件1510且使其朝向引線框架1410之一目標墊1508移動。接著,毛細管工具1602下降以接觸目標墊1508,藉此擠壓毛細管工具1602之尖端與目標墊1508之表面之間的進給導線1604(圖16C)。由毛細管工具1602施加於進給導線1604上之壓力連同熱量及/或超聲波能量一起形成針腳式接合件1512。如此形成後,接著將毛細管工具1602提離目標墊1508,此引起進給導線1604撕裂,且移動至下一接合墊1506以形成下一球形接合件1510(圖16D)。
導線接合係一非常複雜的程序,其因在一IC晶片上可能有多個晶粒而變得甚至更加複雜。本發明之實施例讀取及記錄在接合期間之多個製程參數。根據本實施例且如下文更充分描述,製程參數可用於產生指示在此等接合操作期間發生一異常之一風險的一異常指示符。
圖17係已經歷先前描述之半導體製程之後段之一例示性IC晶片1700的一透視圖。如圖17中所見,IC晶片1700包括複數個晶粒1404a、1404b、1404c及1404d。各晶粒1404a、1404b、1404c、1404d具有其自身至引線框架1410之接合連接,且因此分別經由導線1504以及球形及針腳式接合件1510、1512實體且電連接至引線框架1410,如先前所描述。此實施例繪示40條導線1504之一導線佈局。然而,一般技術者應容易瞭解,此僅用於闡釋性目的。根據需要或期望,此等導線佈局可包括更多或更少導線1504。
在一項實施例中,晶粒1404a、1404b、1404c、1404d全部具有將其等連接至引線框架1410之相同數目條導線1504。然而,此並
非必需的。晶粒1404a、1404b、1404c及1404d可不必具有相同數目條導線1504。例如,晶粒1404a可具有將其連接至引線框架1410之第一數目條導線1504,且晶粒1404c可具有將其連接至引線框架1410之第二、不同數目條導線1504。其他晶粒1404b、1404d之一者或兩者亦可具有與IC晶片1700上之其他晶粒相同或不同數目的導線。
如上文所說明,半導體製程之後段可包含一檢測及測試階段(例如,圖13中之方框1318)。在此階段期間,測試在導線接合階段(例如,圖13中之方框1308)中產生之複數個球形接合件1510及針腳式接合件1512的品質。此測試並非針對所有已完成IC晶片執行,而是針對來自各批次之IC晶片之一代表性樣本執行。
一般而言,存在用於判定一導線接合件之品質之不同類型的測試(非破壞性及破壞性)。非破壞性測試大體上涉及球形接合件1510及針腳式接合件1512之一視覺檢測,且藉由該等接合件之各自直徑來推斷其等之品質。倘若其等通過該視覺檢測,則可將IC晶片放回至工作流程中以進行分配。然而,視覺檢測可為用以推斷一接合件之品質之一不準確的、易於出錯的方式。
相比之下,破壞性測試藉由損壞球形及針腳式接合件1510、1512及/或導線1504或使其等變形而破壞一接合件,使得待檢測之IC晶片無法復原以進行分配。因此,儘管破壞性測試對於判定一給定球形及/或針腳式接合件1510、1512之一精確故障點係有用的,但其等必然耗時且昂貴,且通常由單獨測試機器進行。此外,由於接合件被破壞,故其僅可用於進行關於未經歷破壞性測試之其他經接合晶片之品質的推斷。
一般而言,半導體製造供業依靠兩種特定破壞性測試。此
等係「球剪切」測試及「針腳拉拔」測試。對於關於此等測試之細節,感興趣的讀者請參閱微電子器件之政府規定標準(例如,2016年4月25日針對軍事及航空航天電子系統發行之標題為「Test Method Standard-Microcircuits」之MIL-STD-883C之修訂版K中的美國政府標準,其全文以引用的方式併入本文中)。然而,簡而言之,「球剪切」測試用於測試球形接合件1510之品質,而「針腳拉拔」測試用於測試針腳式接合件1512之品質。
圖18A至圖18C係繪示用於執行球剪切測試之一例示性方法1800之透視圖。如此等圖中所見,球形接合件1510接合至接合墊1506(圖18A)。一工具臂1802定位於接合墊1506上方且橫向移動以與球形接合件1510按壓接觸(圖18B)。工具臂1802繼續抵著球形接合件1510橫向移動,直至由工具臂1802施加之力引起球形接合件1510與接合墊1506分離(即,剪切)(圖18C)。剪切破壞接合件。在整個測試中量測由工具臂1802施加之剪切力(例如,以克為單位)。因此,在測試結束時,將球形接合件1510自接合墊1506剪切掉所需之剪切力之精確量係已知的。
圖19A至圖19C係繪示用於執行針腳拉拔測試之一例示性方法1900之透視圖。如上述,針腳式接合件1512附接至目標墊1508且球形接合件1510附接至接合墊1506。
在針腳拉拔測試中,降低一鉤工具1902且將其放置於導線1504下方(圖19A)。如此定位後,接著將鉤工具1902升高以與導線1504接觸(圖19B)。鉤工具1902繼續向上移動使得其在導線1504上施加一向上力。最終,此向上力將針腳式接合件1512拉離目標墊1508,從而有效地將導線1504拉離引線框架1410(圖19C)且破壞接合件。在整個測試中量測
由鉤工具1902施加之向上力(例如,以克為單位)。因而,在測試結束時,可判定將針腳式接合件提離目標墊1508所需之向上力之精確量。
為執行此等破壞性測試,將選定IC晶片自執行導線接合階段之任何機器實體移動至經組態以執行測試之另一機器。通常,此等動作係手動地執行。此外,並未測試一給定IC晶片之所有球形接合件1510及針腳式接合件1512。相比之下,僅測試該等接合件之一代表性樣本。
由於此等測試如此有破壞性,故待測IC晶片被破壞,即使並未測試IC晶片上之所有接合件。因此,晶片製造商通常取來自一給定批次之IC晶片之一代表性樣本且接著對該代表性樣本執行此等破壞性測試。接著,儲存自測試(若干)樣本達成之結果且隨後將其用於進行關於該批次中之IC晶片之品質的推斷。
然而,此等測試非常耗時且可能減慢積體晶片製程。此外,由於此等測試破壞IC晶片,故該等IC晶片必須被丟棄而非出售。因此,破壞性測試亦為昂貴的。
另外,關於應選擇一給定IC晶片上之哪些導線1504用於測試,出現一問題。理想地,具有不良品質導線及/或接合件之IC晶片應在離開廠區之前被識別。然而,無法保證IC晶片及其等對應導線及接合件之一給定隨機樣本將包含此等IC晶片。此外,IC晶片及導線之隨機樣本仍可能不正確地證明一給定批次具有可接受品質。目前,不存在用於識別具有不良品質接合連接之IC晶片的可靠方法。因此,目前沒有用以識別特定導線或導線子集以進行品質測試之方式。
在其他類型之接合情形中出現類似問題。因而,一接合器將必須選擇破壞性測試(其破壞研究中之接合件)抑或非破壞性測試。用於
非破壞性測試之先前習知測試技術有可能為不準確的且耗時的(其需要手動、視覺檢測)。此外,先前測試方法通常僅在一給定批次中之產品之一小子集上進行。因此,判定測試哪些產品通常存在問題。
因此,本發明之實施例藉由提供專門用於在不必破壞接合件之情況下預測可能異常(例如,在不必進行品質保證測試之情況下預測自接合墊1506剪切球形接合件1510及將針腳式接合件1512與目標墊1508分離所需之力)的一模型來解決此等及其他問題。技術可使用特徵工程學來選擇及變換自原始資料量測值導出之相關變數以處理一模型(例如,使用機器學習或統計模型化指定之一預測模型)之資料。特徵工程學可涉及藉由識別將為一預測模型之有用預測變數之原始變數及/或由操縱原始變數(例如,加法、減法、乘法及比率)建立導出特徵來建立特徵。特徵工程學可涉及藉由進一步操縱經建立之預測量變數以執行模型效能(例如,確保變數在一相同尺度上,或在一模型之一可接受範圍內)而進行的變換。特徵工程學可涉及藉由自原始資料自動建立新變數而進行之特徵提取;及藉由使用演算法對特徵進行分析、判斷及排名以判定一模型之特徵而進行的特徵選擇(例如,用以移除不相關或冗餘特徵)。
特定言之,本文中所揭示之實施例利用在接合操作(例如,導線接合)期間量測之製程資料來開發分析模型。透過特徵工程學獲得之製程參數可在本文中被稱為「運動特徵」。分析模型容許使用者準確地估計目前為止僅可透過破壞性測試獲得之球剪切及針腳拉拔力(即,值)。因此,本實施例可基於運動特徵資料準確地預測導線接合件之品質。
此等準確預測提供習知測試方法未提供之益處及優點。例如,根據本實施例產生之分析模型可減少所執行之檢測量且在一些例項中
可將其完全消除。甚至在其中出於收縮原因需要一定量之檢測或破壞性測試之情形中,本文中之方法仍可使一製造商能夠在產品群體中具有策略性以進行取樣。例如,可從用於裝運之群體及因此從經取樣群體廢棄由本實施例預測為具有不良品質接合件之IC晶片。對一較佳群體進行取樣可提供現場品質之總體改良且可改良效率(例如,藉由減少召回或拒絕一經裝運及經取樣組的機會)。
如先前所陳述,本文中所描述之一或多項實施例僅作為一實例在一積體電路之接合之內容背景中進行說明。一般技術者將瞭解,本文中所描述之技術可應用於其他類型之接合操作。
圖20A繪示一訓練系統2000之一例示性方塊圖。例如,訓練系統對於訓練一電腦模型以進行關於一接合操作之預測可為有用的。例如,接合操作可為本文中所描述之一接合操作,諸如一黏著劑接合操作(例如,用以將一擋風玻璃黏著至一車輛或在晶圓接合中)或一熔接接合(例如,用於導線接合),僅舉幾例。存在許多類型及子類型之接合。例如,關於熔接接合,存在包含以下之子類型:鎢極惰性氣體(TIG)熔接,亦被稱為氦弧及氣體鎢極電弧熔接(GTAW);包芯焊條電弧熔接(FCAW);棒熔接,亦被稱為屏蔽金屬電弧熔接(SMAW);金屬惰性氣體(MIG)熔接,亦被稱為氣體金屬電弧熔接(GMAW);雷射束熔接;電子束熔接;電漿電弧熔接;原子氫熔接;及電渣熔接。為簡潔起見,本文中將不同的可能接合操作或混合接合操作簡稱為一接合操作。
訓練系統2000包含一運算器件2002。訓練系統2000經組態以在系統中之器件之間交換資訊(例如,經由有線及/或無線傳輸)。例如,一網路(未展示)可將訓練系統2000之一或多個器件連接至訓練系統2000之
一或多個其他器件。
例如,在一或多項實施例中,訓練系統2000包含用於經由一或多個輸入介面2005接收與接合操作2040A有關之資訊(例如,用於訓練運算器件2002)的一或多個輸入器件2004A。例如,若訓練系統正在訓練一系統以進行關於一接合操作之預測時,接合操作2040A可包含用於接合操作之一系統。接合操作在許多不同環境(例如,製造或建設環境)中發生。例如,在一積體電路製造環境中,接合可用於將一或多條導線接合至一表面(例如,使用球形、楔形、針腳式及/或柔性接合)。接合操作2040A可包括將一第一組之多條導線之導線接合至一第一組表面之對應表面以形成積體電路晶片。接合操作2040A可具有不同類型之接合操作。例如,環境2040A可包含球形接合操作2042A及/或針腳式接合操作2044A。
在一或多項實施例中,運算器件2002可接收用於建置一模型以表示接合操作2040A或一後續環境之模型資訊2030。作為一實例,運算系統可接收訓練資料2032用於建置一模型。
訓練資料2032可包含接合操作2040A之量測值2038。額外地或替代地,訓練資料2032可包含製程資料2034,製程資料可自量測值2038產生。例如,製程資料可包括量測值2038之一量測值或為針對一或多個量測值或量測類型產生之資訊。例如,若接合操作2040A係一實體環境之一部分,則一輸入器件(諸如一感測器2020A)可捕捉關於實體環境之量測值2038,諸如用於加熱一經接合表面或接合劑之熱量量測值及/或用於接合材料之力之力量測值。額外地或替代地,環境可為一經模擬環境或包括用於一實體環境之額外經模擬動作或運算(例如,接合操作2040A或來自量測值2038之經推斷資訊的經模擬態樣),且一運算系統組件(例如,
運算器件2002或運算系統2024)可產生關於實體或經模擬環境之資訊(例如,製程資料2034)。額外地或替代地,運算器件2002本身可導出製程資料2034(例如,使用製程資料應用程式2012)。
額外地或替代地,訓練資料2032包括接合之狀態。作為一實例,狀態之各狀態可包括與偵測接合操作2040A中之一或多個異常有關之一目標的一或多個候選結果。例如,若接合操作2040A包括用以將一第一組之多條導線接合至一第一組表面之操作,則狀態可為多條導線在接合至該第一組表面之後之狀態(例如,一品質狀態或一效能狀態)。候選選項可包括接合操作2040A中之積體電路晶片之一或多個有缺陷晶片結果。候選選項亦可在一個別導線級上(例如,一個別導線級之一品質保證測試結果)。
另外,訓練系統2000包含用於經由一或多個輸出介面2006輸出基於接合操作2040A之資訊的一或多個輸出器件2052。例如,運算器件2002可輸出基於與接合操作2040A有關之訓練資料2032實施一預測模型的一機器學習模型2050。例如,運算器件2002可產生製程資料之一或多個權重,使得輸入至機器學習模型之製程資料預測一目標(例如,與偵測接合操作2040A中之一或多個異常有關之一目標)之一或多個候選結果。
作為一實例,可藉由監督式學習基於接收訓練資料且將其用於產生一或多個權重使得機器學習模型可預測候選結果來訓練機器學習模型2050。例如,若針對一導線接收一組量測值且接著測試該導線且給出正常或異常之一狀態,則可對量測值進行加權以預測該狀態為正常或異常,以用於其中狀態可能未知(例如,其中測試將破壞或損壞來自一接合
操作之一接合件)之未來量測。
運算器件2002具有一電腦可讀媒體2010及一處理器2008。電腦可讀媒體2010係資訊之一電子保存空間或儲存器,因此資訊可由處理器2008存取。電腦可讀媒體2010可包含但不限於任何類型之隨機存取記憶體(RAM)、任何類型之唯讀記憶體(ROM)、任何類型之快閃記憶體等,諸如磁性儲存器件(例如,硬碟、軟碟、磁條)、光學碟片(例如,光碟(CD)、數位多功能光碟(DVD))、智慧卡、快閃記憶體器件等。
處理器2008執行(例如,儲存於電腦可讀媒體2010處之)指令。指令可由一專用電腦、邏輯電路或硬體電路實行。在一或多項實施例中,處理器2008係在硬體及/或韌體中實施。處理器2008執行一指令,此意謂其執行或控制由該指令呼叫之操作。術語「執行」係運行一應用程式或實行由一指令呼叫之操作的處理程序。指令可使用一或多種程式設計語言、指令碼語言、組合語言等撰寫。在一或多項實施例中,處理器2008可自一永久性記憶體器件擷取一指令集且將指令以一可執行形式複製至例如大體上為某一形式之RAM的一暫時性記憶體器件。處理器2008與運算器件2002之組件(例如,輸入介面2005,與輸出介面2006及與電腦可讀媒體2010)可操作地耦合以接收、發送及處理資訊。
在一或多項實施例中,電腦可讀媒體2010儲存指令以供處理器2008執行。例如,在一或多項實施例中,電腦可讀媒體2010包括使一製程資料應用程式2012選擇或導出製程資料2034且使機器學習模型應用程式2014導出一機器學習模型2050的指令,如本文中所描述。
在一或多項實施例中,儲存於電腦可讀媒體2010上之一或多個應用程式係在儲存於電腦可讀媒體2010中且可由處理器2008存取以
用於執行指令的軟體(例如,電腦可讀及/或電腦可執行指令)中實施。一或多個應用程式可與其他分析工具(諸如由美國北卡羅萊納州喀里市之SAS Institute公司提供之分析工具)整合。僅出於繪示,應用程式係使用一或多個SAS軟體工具實施或與一或多個SAS軟體工具整合,該一或多個SAS軟體工具諸如JMP®、Base SAS、SAS® Enterprise MinerTM、SAS/STAT®、SAS®事件串流處理、SAS®高效能分析伺服器、SAS®視覺資料採擷及機器學習、SAS® LASRTM SAS®資料庫內產品、SAS®可擴展效能資料引擎、SAS®雲端分析服務、SAS/OR®、SAS/ETS®、SAS®庫存最佳化、SAS®庫存最佳化工作台、SAS®視覺分析、SAS® ViyaTM、用於Hadoop®之SAS記憶體內統計、SAS®預報伺服器及SAS/IML®,其等全部由美國北卡羅萊納州喀里市之SAS Institute公司開發及提供。
在一或多項實施例中,更少、不同及額外組件可併入至運算器件2002或包括運算器件2002之一系統中。例如,在一或多項實施例中,存在多個輸入器件2004A。在相同或不同實施例中,存在多個輸出器件2052。作為另一實例,相同介面支援輸入介面2005及輸出介面2006兩者。例如,一觸控螢幕提供用於使用者輸入及用於將輸出呈現給使用者之一機構。替代地,輸入介面2005具有使用相同或不同介面技術之一個以上輸入介面。替代地或額外地,輸出介面2006具有使用相同或不同介面技術之一個以上輸出介面。在一或多項實施例中,一或多個輸入器件2004A或一或多個輸出器件2052之功能性整合至運算器件2002中。一或多個應用程式可組合或進一步分解成各別應用程式。
一機器學習模型2050可由一控制系統使用以進行關於另一
環境之預測或控制另一環境。圖20B繪示用於接合操作2040B之一控制系統2060之一例示性方塊圖。在此實例中,接合操作2040A及接合操作2040B係不同接合操作。例如,接合操作2040A可為包括用以將一第一組之多條導線接合至一第一組表面之操作的一第一組接合操作,且接合操作2040B可為包括用以將一第二組之多條導線接合至一第二組表面之操作的第二接合操作。第二組之多條導線可不同於第一組之多條導線。例如,第一組導線可能已被破壞以判定與接合操作2040A有關之狀態,或接合操作2040A及2040B可在不同製造位置處或在不同時間執行。第二組表面可不同於第一組表面(例如,第二組表面可與不同於第一組表面之一批次積體晶片有關)。本文中之實施例提供用於基於在一先前接合操作中接收之訓練進行關於接合操作預測的一框架。使用此框架,無需破壞接合件以進行關於其等品質之預測及/或控制接合操作以確保品質接合件。
控制系統2060經組態以在控制系統2060中之器件之間交換資訊(例如,經由有線及/或無線傳輸)。例如,一網路(未展示)可將控制系統2060之一或多個器件連接至控制系統2060之一或多個其他器件。替代地或額外地,控制系統2060整合至一個器件中(例如,運算器件2002可在一製造工廠或建設工地處且包括用以捕捉與接合操作2040A及接合操作2040B兩者有關之資訊的設備)。在此實例中,控制系統2060包括圖20A之運算器件2002。在其他實例中,控制系統2060包括一不同運算器件。例如,訓練系統2000之一運算器件可在接合操作2040A中且控制系統2060之另一運算器件可在另一環境(例如,一不同製造工廠或建設工地)中。例如,運算器件2002可代替性地為一輸出器件2052或自輸出器件2052接收一機器學習模型2050。無論如何,運算器件2002可存取一機器
學習模型。在此實例中,電腦可讀媒體2010具有在接合操作2040A之訓練資料2032上訓練之機器學習模型2050。
在一或多項實施例中,控制系統2060包含用於經由一或多個輸入介面2005接收與接合操作2040B有關之資訊(例如,用於進行關於接合操作2040B之預測)的一或多個輸入器件2004B。例如,運算器件2002可接收輸入資料2070。輸入資料2070可指示自接合操作2040B之量測值2072產生之製程資料2074。
輸入資料2070可自與訓練資料2032相同類型之量測值產生。例如,製程資料2074可包括量測值2038之一量測值或為針對一或多個量測值或量測類型產生之資訊。例如,若接合操作2040B係一實體環境之一部分,則一輸入器件(諸如一感測器2020B)可捕捉關於實體環境之量測值2072,諸如用於加熱一經接合表面或接合劑之熱量量測值及/或用於接合材料之力之力量測值。額外地或替代地,環境可為一經模擬環境或包括用於一實體環境之額外經模擬動作或運算(例如,接合操作2040B或來自量測值2072之經推斷資訊的經模擬態樣),且一運算系統組件(例如,運算器件2002或運算系統2024)可產生關於實體或經模擬環境之資訊(例如,製程資料2074)。額外地或替代地,運算器件2002本身可導出製程資料2074。
額外地或替代地,輸入資料2070可包含更少、更多或與訓練資料2032不同的量測類型或自其等導出。例如,一製造位置可更新機器學習模型2050以考量更少、更多或不同的量測類型。
在一或多項實施例中,控制系統2060包含用於經由一或多個輸出介面2006輸出基於接合操作2040B之資訊的一或多個輸出器件
2094。例如,資訊可包括用於控制接合操作2040B之接合操作控制資訊2090(例如,控制資訊2090可歸因於接合操作2040B之經預測品質問題而指示停止或調整接合操作)。例如,接合操作控制2090可包括指示接合操作2040B中之一異常發生之一風險的一異常預測量2052。例如,若接合操作2040B包括用以接合一組多條導線之導線以形成積體電路晶片之接合操作,則一異常預測量可指示接合操作2040B中之一積體電路晶片製程中之一異常的一風險。
在一或多項實施例中,運算器件具有用於產生一異常預測量2052之一電腦可讀媒體2010及一處理器2008。例如,在一或多項實施例中,電腦可讀媒體2010包括用於以下之指令:使一機器學習模型應用程式(例如,機器學習模型應用程式2014)存取在第一接合操作之訓練資料上訓練之一機器學習模型(例如,在接合操作2040A上訓練之機器學習模型2050),根據機器學習模型對輸入資料2070進行加權,及基於根據機器學習模型對輸入資料2070進行加權來產生異常預測量2052。
在一或多項實施例中,一運算系統(例如,一運算器件2002、訓練系統2000及/或控制系統2060)實施如本文中所描述之一方法(例如,圖21A至圖21C中所展示之一方法)。例如,運算系統可為具有具用於觀察一環境(例如,一製造或建設環境)及用於經由網際網路與其他器件或系統交換資料(例如,來自環境之回饋)的感測器之器件之一物聯網(IoT)系統的一部分。
圖21A繪示用於訓練一機器學習模型(例如,機器學習模型2050)之一方法2100之一例示性流程圖。方法2100包括用於接收訓練資料(例如,訓練資料2032)之一操作2101。訓練資料包括自第一接合操作之量
測值產生之製程資料。訓練資料包括多條導線在接合至第一組表面之後之狀態。該等狀態之各狀態包括與偵測第一接合操作中之一或多個異常有關之一目標的一或多個候選結果。例如,機器學習模型可經訓練以預測與在一接合操作中產生之一接合件之品質有關的態樣。在此情況下,一或多個候選結果可包括用於第一接合操作中之個別導線或接合件之一或多個品質保證測試。作為另一實例,機器學習模型可經訓練以預測與由於一接合操作而產生之一正常或有缺陷產品有關的態樣。在此情況下,一或多個候選結果可包括第一接合操作中之積體電路晶片之一或多個有缺陷晶片結果。在其中接合操作包括多個接合件(例如,一針腳式接合件及球形接合件)之案例中,可針對一個別接合件(例如,一針腳式接合件)、一組件(例如,一導線)或產品(例如,一晶片)基於針腳式接合件及/或球形接合件之參數之量測值來進行預測。例如,在其中一導線在兩端處接合以形成一單一路徑之情形中,將兩個接合件之參數包含於訓練資料中可存在優點。
方法2100包括用於產生製程資料之一或多個權重,使得輸入至機器學習模型之製程資料預測目標之一或多個候選結果的一操作2102。例如,加權可在模型內使用以使特定變數或觀察對一演算法影響更大。例如,製程資料之一或多個權重可經產生用於訓練資料之一梯度提升模型(例如,將一權重0指派給一經排除變數且將最高權重指派給一最重要變數)。
圖21B係繪示用於控制接合操作之一例示性方法2130之一流程圖。方法2130包括用於存取在第一接合操作之訓練資料上訓練之一機器學習模型(例如,根據方法2100產生之機器學習模型)的一操作2131。第一接合操作包括用以將一第一組之多條導線接合至一第一組表面之操
作。藉由監督式學習來訓練機器學習模型。
方法2130包括用於接收指示自第二接合操作之量測值產生之製程資料之輸入資料的一操作2132。第二接合操作包括用以將一第二組之多條導線接合至一第二組表面之操作。第二組之多條導線不同於第一組之多條導線。第二組表面不同於第一組表面。
例如,輸入資料可包括在第二接合操作期間接收之(例如,關於一整合式電腦晶片之一給定導線之)即時感測器量測值。感測器量測值可實現在沒有人為監督或破壞接合件的情況下對接合製程品質的監督。然而,輸入資料亦可包含操作者觀察。感測器量測值可包括在第二接合操作中涉及之一接合系統之量測值。例如,僅舉幾例,量測值可包括熱量量測值、功率相關量測值、力量測值、放電結球(EFO)量測值、超音波量測值、球針腳相關量測值及球形接合相關量測值。
方法2130包括用於根據機器學習模型對輸入資料進行加權之一操作2133。例如,在訓練資料上開發之模型可用於預測後續接合操作中之異常。方法2130包括用於基於根據機器學習模型對輸入資料進行加權來產生指示第二接合操作中之一異常發生之一風險之一異常預測量的一操作2134。例如,異常預測量可為一接合件(例如,一導線與一引線框架或晶粒之間的一有缺陷接合件)之一組件之一缺陷,或一有缺陷產品(例如,由於諸如浮動狀況、材料污染(諸如引線框架污染)及晶粒傾斜之一或多者之異常製程狀況)的一預測量。方法2130包括用於視需要輸出異常預測量以控制第二接合操作之一操作2135。例如,異常預測量可控制第二接合操作以校正在第二接合操作中涉及之接合系統中之一或多個異常或減少該一或多個異常之發生(例如,指示一批次產品中之缺陷之一可能性以
警示進一步調查該批次抑或針對未來批次更改製程)。
在一或多項實施例中,異常預測量預測第二接合操作中之一個別導線或接合件中之一異常,而未對該個別導線或接合件執行一破壞性品質保證測試。以此方式,在存在關於產品之一接合件中之一缺陷的某一指示之前,無需破壞一接合件。例如,本文中所描述之一接合操作可包括一球形接合操作,且破壞性品質保證測試包括用於測試一球形接合件之一球剪切測試,其將剪斷球形接合件。作為另一實例,本文中所描述之一接合操作可包括一針腳式接合操作,且其中破壞性品質保證測試包括用於測試一針腳式接合件之一針腳拉拔測試,其將拉出針腳式接合件。
在一或多項實施例中,可在後續接合操作期間改良一預言演算法。圖21C係繪示用於更新用以控制接合操作之機器學習模型之一例示性方法2160的一流程圖。
方法2160包括用於接收指示異常預測量正確地或不正確地預測在第二接合操作中製造之一特定晶片中之異常之回饋的一操作2161。方法2160包括用於基於回饋更新機器學習模型(例如,對輸入資料進行不同地加權或選擇不同或額外輸入資料類型)的一操作2162。
方法2160視需要包括用於調整接合操作之一操作2163。例如,當藉由一晶片製造系統執行第二接合操作時,操作2163包括基於以下之一或多者來調整繼由晶片製造系統執行之第二接合操作之後的接合操作:指示第二接合操作中之異常發生之風險的異常預測量;及指示異常預測量正確地或不正確地預測在第二接合操作中製造之一特定晶片中之異常發生的回饋。例如,可基於指示疑似誤差之一高百分比停止接合操作(例如,以檢查製程組件或經製造產品)。可基於一致指示之問題來使用不同
材料或用於接合材料之力。或者,可定位一特定產品以用於校正懷疑有問題之一產品。例如,在一或多項實施例中,輸入資料包括用指示在第二接合操作中涉及之一特定導線、晶粒或晶片之一識別碼或位置的一或多者之原始資訊標記的經接收感測器量測值。異常預測量識別在第二接合操作中發生之異常,且與原始資訊相關以指示異常之位置。此對於校正一個別有缺陷晶片或製程可為有用的。
例如,圖22A係繪示在運動特徵型樣與一對應晶片在一引線框架上之一位置之間的一關係之一圖表2200。所展示之波形係關於在一接合操作中從0至n之各導線的連續製程量測值(例如,力或功率量測值)。圖表中之波形之位置與在一設施中製造之積體電路之一配置相關。圖22B繪示對應於圖22A之圖表之晶片在一引線框架上之例示性位置的一圖2250。在此實例中,圖22B中之引線框架具有16個晶粒(每垂直位置識別符有四個)。水平位置識別符及導線編號與圖2250中之一特定導線位置(例如,HID 1至HID 2,W1至Wn)相關。垂直位置識別符(VID)與圖2250中之一特定晶片(例如,VID 1至VID 4)相關。一圖形使用者介面可用於顯示圖表及圖(例如,圖表2200及圖2250),以幫助開發一模型(例如,接收用於建置一模型之重要變數的一使用者指示)及觀察用於校正一有缺陷晶片或製程之即時製程行為。一特定導線可具有對應於一引線框架識別符、垂直位置識別符、水平識別符及/或導線編號之一關鍵字或識別符。在此實例中,跨導線編號存在顯著變動,但針對一給定行號,製程量測值展現類似型樣。
圖23A繪示比較用於在接合操作期間形成之接合件之破壞性測試之預測模型的訓練資料及測試資料之例示性品質保證(QA)資料。
在一或多項實施例中,製程資料(隨後,輸入資料或訓練資料)包含經導出資料,諸如指示與在第二接合操作中接合於一特定晶片中之多條導線有關之量測值之一中值或平均值的一經產生值,及包括與該多條導線之各者之值之一偏差的一組經產生偏差。
圖23B繪示用於產生一經導出處理資料之一例示性方法。在此實例中,對於用於機器學習模型之經考量因素之各者(例如,一導線之一最大經量測阻抗),一資料表2350展示針對各選定導線編號2351及對應水平位置識別符編號2352運算一或多個經導出值。可考量或選擇性地考量一接合操作之所有導線。例如,量測值資料可限於具有一待考量目標變數之最大數字(諸如最正常操作或最差品質)之導線。在此例示性資料表2350中,N係一特定晶片上之導線之總數。
在此實例中,將一第一經導出值運算為一待考量量測值之中值正常值2353。藉由針對通過品質測試之一導線取一給定唯一導線位置之量測值(例如,針對圖22A及圖23B中之水平位置識別符2352及導線編號2351之量測值)的中值來運算中值正常值。藉由針對一特定導線及位置識別符從實際量測值減去中值來運算一第二經導出值(例如,差量值(正常)2354)。可基於包含針對品質測試展現異常行為之導線之一中值運算其他經導出值,諸如一異常差量值2355。
額外地或替代地,輸入資料包含針對考量偏差組之一產品(或在考量一晶片之經接合導線之偏差的一晶片級上)的經導出資料,諸如一經產生度量。圖24係用於導出與一晶片級上之一接合操作系統相關聯之製程資料的一例示性圖表2400。在此實例中,可運算一或多個度量。例如,當一次取一個變數且使用其接合結果指示通過品質之導線時,使用正
總和、負總和及零交叉數目來區分正常與異常狀況。藉由平均化中值上方之區域來運算一正總和值,即,;其中Del i >0。藉由平均化中值下方之區域來運算一負總和值,即,;其中Del i <0。N係一經考量晶片上之導線之總數。零交叉(例如,零交叉2402)之總數係4。可在此等特徵上訓練一模型以識別異常狀況。可考量更少、較少或不同晶片度量(例如,一最大、最小或平均值晶片製程量測值)。在此實例中,在一晶片級進行分析以識別異常狀況之本質。經導出製程資料整體上與積體電路晶片之一特定晶片有關,且係自與一特定晶片相關聯且在第二接合操作中接合之導線的量測資料導出。量測及異常偵測可以某一其他粒度(諸如在一導線或晶粒級上)進行。
在一或多項實施例中,自經導出資料產生製程資料,該經導出資料包括與多種不同類型之量測值相關且與一相同導線有關的一經產生奇異資料值。例如,一接合操作中之量測值可包括一導線之電壓(V)及電流(I)量測值,但可導出一電阻(R)值(例如,根據方程式V=IR)。以此方式,此一個值可考量不同量測類型之間的一關係。
因此,在一或多項實施例中,包括製程資料之訓練資料可自包括一經產生奇異資料值之經導出資料產生,該經產生奇異資料值可與多種不同類型之量測值相關且與第一接合操作中之一相同導線有關。指示自第二或後續接合操作之量測值產生之製程資料的輸入資料可包括與多種不同類型之量測值相關且與第二接合操作中之一相同導線有關的一經產生奇異資料值。
額外地或替代地,可藉由自多種不同量測類型導出考量第一接合操作中之量測類型之間的一關係之資訊來產生包括製程資料之訓練
資料。指示自第二接合操作之量測值產生之製程資料的輸入資料可包括自多種量測類型導出考量第二接合操作中之量測類型之間的一關係之資訊。
在一或多項實施例中,製程資料可用於預測關於一接合操作之一品質預測量之資訊。例如,第一及第二操作中之量測值可包括與形成針腳式接合件之一製程及/或形成球形接合件之一製程相關聯的量測值。
圖25係繪示根據本實施例模型化之經預測球剪切值與由於破壞性測試而獲得之實際球剪切值之間的對應性之一圖表2500。
規格限制用於一產品之最終接受或拒絕。在此實例中,分隔線2510表示球剪切測試量測值(例如,以克為單位)之規格限制之一下限且分隔線2512表示一上限。可使用比規格限制更嚴格之控制限制。控制限制用於製程控制目的以確保產品在規格限制內產生。在此實例中,分隔線2520表示球剪切測試量測值之控制限制之一下限且分隔線2522表示一上限。分隔線具有在經預測球剪切軸2530上之對應值(例如,在圖表2500之兩條軸上,規格下限可在A處,控制下限可在B處,控制上限可在C處,且規格上限可在D處)。標繪球剪切破壞性測試之各者之測試結果對比由包含不同正常狀況及異常狀況(材料污染(MC)、舊蓋(OC)及浮動狀況(FC))之關鍵字識別之不同物件目標的球剪切之經標繪預測值。
評估模型之準確度。TP代表真陽性且表示由模型識別為差之較差品質接合件。TN代表真陰性且表示由模型識別為良好之良好品質接合件。如表2550中所展示,圖表展示正確之大多數預測(291個TP及11,922個TN)。FN代表偽陰性且表示由模型識別為良好之較差品質接合件。FP代表偽陽性且表示由模型識別為差之良好品質接合件。僅存在少
量錯誤預測(27個FP及40個FN)。
一些度量對於不同工業更為重要。例如,偽陰性在積體電路構造中可為重要的,因為此等類型之接合件可能導致現場退貨及保修索賠之增加。因此,亦考量良性偽陰性(B_FN)。此等表示具有介於規格下(上)限與控制下(上)限之間的接合強度之接合件。此等偽陰性關於規格限制不具有不良品質。大多數偽陰性係良性偽陰性(40個中之32個)。可使用像精度、召回率及f1之統計工具來評估模型。例如,精度可被運算為真陽性之數目除以真陽性之數目及偽陽性之數目的總和:
在此實例中,針對具有0.91509之一精確率、0.8795之一召回率及0.89676之一F1的預測,模型表現良好。在此情況下,藉由使用預測,一使用者可潛在地避免進行破壞性品質測試且密切瞭解積體電路結果。若自計算移除32個良性偽陰性,則可產生較高模型準確度。
圖26係繪示根據本實施例模型化之經預測針腳拉拔值與由於破壞性測試而獲得之實際針腳拉拔值之間的對應性之一圖表。在此情況下,僅存在一個目標值。分隔線2610表示針腳拉拔測試量測值(例如,以克為單位)之規格限制之一下限。未在圖表上展示一上限,因為其遠高於所標繪之值。分隔線2620表示針腳拉拔測試量測值之控制限制之一下限
且分隔線2622表示一上限。分隔線具有在經預測針腳拉拔軸2530上之對應值(例如,在圖表2600之兩條軸上,規格下限在E處,控制下限在F處,控制上限在G處,且規格上限超出圖表)。對於如表2650中所展示之除了7條離群導線(其等歸因於在針腳拉拔測試中具有1之一精度、召回率及F1為的問題而被排除)外之所有準確預測,此模型亦表現良好。除此模型係無需破壞性測試之一準確模型之外,本文中所描述之模型之預測能力亦不像手動測試中所發生那樣易受人為誤差影響。
在圖25及圖26之實例中,使用由多個決策樹組成之一梯度提升模型。一預測模型定義輸入變數與一目標變數之間的一關係。一預測模型之目的係自輸入預測一目標值。模型係藉由使用其中目標值已知之訓練資料來建立。接著,可將模型應用於其中目標未知之觀察。若預測良好地擬合新資料,則稱模型良好地一般化。良好一般化係預測任務之主要目標。一預測模型可能良好地擬合訓練資料但不良地一般化。
一決策樹係已在統計學及人工智慧社群中獨立地開發之一類型之預測模型。一梯度提升程序可用於藉由擬合一組可加性樹(例如,使用由北卡羅萊納州喀里市之SAS Institute公司提供之GRADBOOST相關軟體)來建立一預測模型。
預測模型之品質可取決於控管訓練製程之各種選項之值;此等選項被稱為超參數。此等超參數之預設值可能不適合於所有應用,且可選擇此等超參數之值之一唯一組合來最小化目標功能或某一準確度量度。如此,可使用本文中描述之用以建置一模型之其他或額外方法。例如,可關於相同類型不同地產生不同模型且使用一驗證程序(例如,使用k折交叉驗證)選擇經訓練模型之一者。另外,可使用超出品質保證目標之
其他目標值。
例如,導線接合機中可存在多種異常狀況。此等異常狀況可移動經量測特徵或品質保證值之分佈(諸如與球剪切及針腳拉拔有關)或其等亦可能導致有缺陷導線。早期識別異常狀況係必要的,使得可採取適當校正措施且減少較差品質產品之數量。正常目標變數可與正常操作相關,諸如一穩定製程、在一控制狀態中、符合及/或超出規格比率,以及不存在任何系統性干擾原因的指示符。可基於製程資料中之經偵測異常來預測異常狀況,諸如晶粒傾斜(DT)、材料污染(MC)、舊蓋(OC)及浮動狀況(FC)。
例如,在晶粒傾斜之情況下,一晶粒附接製程可用於電子封裝中之系統之晶粒、器件及其餘者之間的連接。在此製程器件,晶粒在由液相線焊料誘發之毛細管力作用下移動。此一晶粒傾斜現象經常發生且嚴重惡化器件之可靠性及效能。預測量可用於瞭解來自液相線焊料之接合件之品質。在浮動狀況下,歸因於一晶粒浮動,可能存在不黏接。
一種類型之材料污染可為引線框架污染,其中在引線框架上存在表面有機物、有機化合物及/或殘餘物。此亦可與接合中之品質問題相關。
早期動作可導致不具有此等異常之製程良率的增加。例如,使用關於圖25至圖26描述之資料,模型準確度係顯著的。下表展示亦被稱為平均絕對百分比偏差(MAPD)之平均絕對百分比誤差(MAPE),其係對來自5個批次之積體電路晶片生產之觀察之預測準確度的一量度。
在表1之實例中,不同目標變數之總體映射係4.39%。觀察6具有導致一較大MAPE之四個離群點。若排除此等點,則觀察6之MAPE降低至5.67%且總體MAPE下降至3.84%。
用以偵測異常狀況之模型在晶片級特徵上使用一梯度提升方法。此等特徵係使用感測器變數(或運動特徵)之晶片級波形來提取。波形具有x軸上之導線編號及y軸上之運動特徵值。在此情況下,梯度提升模型具有標稱目標。在其他情況下,可使用間隔目標值。在此實例中,異常目標變數與浮動狀況(FC)及材料污染(MC)有關。亦可預測其他類型之異常狀況,諸如晶粒傾斜。
圖27A係繪示經組態用於串流傳輸及邊緣分析之一事件串流處理(ESP)系統2700之一堆疊的一功能方塊圖。ESP組件2702可包括如本文中所描述(例如,在圖8中)之一或多個ESP引擎。例如,ESP組件可用於提供決定製造執行系統(MES)之資料品質、預處理、AI評分、預測,以及異常預測量、即時規定警報、串流內訓練、聯合AI、部署客戶模型及作業系統之一或多者。因此,ESP組件2702可與用戶端服務2704器件及系統以及資料管理系統2706交換資訊。模型管理器2708可用於基於(例如,由用戶端服務2704及/或ESP組件2702)接收之資料管理、開發及更新本文中所描述之一模型。人工智慧及機器學習組件2710可用於訓練及更新本文中所描述之一模型(例如,如由模型管理器2708指示)。梯度提升係作為用於建構一模型之一例示性方法給出。然而,可採用額外或不同模型方法(例如,隨機森林、線性迴歸及神經網路)。模型管理器2708以及人工智慧
及機器學習組件2710可與用戶端服務2704及資料管理2706交換資訊。因此,本文中所描述之實施例(例如,圖27A中之系統)可用於開發分析模型以預測導線接合件品質,包含自隨機測試(其通常可涉及破壞性測試)移動至模型建議之基於風險之標定測試。經開發模型可提供製程中存在異常狀況(或故障)之早期指示且具有較低拒絕率且增加產出率。邊緣處理可提供現場指導。
圖27B係繪示根據本發明之一項實施例之用於產生一機器學習模型之一例示性方法2750的一流程圖。如圖27B中所見,方法2750包括用於開發一提取、變換及載入(ETL)處理程序以讀取輸入資料及建立用於產生機器學習模型之資料集的一操作(方框2752)。在一項實施例中,例如,ETL處理程序包括在由一電腦之處理電路執行時自輸入資料提取及組合資料集之一或多個編碼指令檔。由ETL處理程序讀取之輸入資料可呈所需要或期望之任何形式,但在一項實施例中,以一.csv檔案進行格式化且包括在導線接合階段期間量測之資料值(圖13中之方框1308)。
接著,方法2750對輸入資料執行一或多個品質檢查(方框2754)以確保輸入資料及資料集具有足以產生機器學習模型之一品質。例如,如上文所陳述,執行球形及針腳式接合程序(圖13中之方框1308)之導線接合機經組態以在執行該製程時量測不同操作參數。參數係針對後段半導體製程之各「運行」量測,其中各運行包括表示一「批次」之複數個參數。
根據本發明,按批次獲得輸入資料,其中各批次經分析以判定其資料之品質。例如,本實施例之至少一個態樣識別各批次中之若干不同變數、變數名稱及變數分佈。接著,比較該資料與相關聯於一或多個
先前獲得之批次(或具有已知良好資料之基線批次)的資料,以判定參數之值是否存在任何巨大變化(例如,該等值未在一預定義容限範圍內或明顯不同於基線值)。例如,資料之此等巨大變化可指示輸入資料不適合用於產生模型。
然而,甚至在資料可能不可用之情況下,根據本發明判定參數值之間存在巨大差異仍為有益的。例如,晶粒傾斜及機器讀取誤差係可能導致不可用參數值之量測及收集之事物類型的一些常見實例。然而,知道存在此等誤差可使一操作者能夠更快地識別及校正導致記錄輸入資料之問題。
作為另一實例,品質檢查可指示所量測之值之範圍未充分反映可在實際操作期間產生之所有值。擁有此資訊,一操作者可更改用於導線接合階段之監測/量測程序以確保充分涵蓋適當操作範圍。確保監測及量測程序充分涵蓋在生產期間實際所經歷之操作範圍將有助於確保所量測之參數之值係準確的且適合於產生資料集及機器學習模型。
根據本發明,可監測及量測與導線接合階段期間之操作有關之參數之任何者。然而,在本發明之一項實施例中,量測以下參數之一或多者以判定與異常狀況(諸如浮動狀況及引線框架污染)之一或多者有關的異常。
倘若輸入資料被視為具有足夠品質,則方法2750變換及/或建立一或多個變數(方框2756)。例如,構成ETL處理程序之編碼指令檔之一或多者可經組態以變換輸入資料中之變數(例如,在單位之間、按比例放大或縮小值等)。額外地或替代地,構成ETL處理程序之編碼指令檔之一或多者可自輸入資料計算一或多個經導出變數。在一項實例中,經變
換變數及/或經計算之經導出變數由本實施例使用以產生一或多個模型化資料集。訓練資料集及/或測試資料集亦可由本實施例使用經變換及/或經計算之經導出變數來產生。
額外地或替代地,本發明之實施例對輸入資料執行一分析以獲得預測量及目標變數之分佈,以及用以指示各種統計資料之資料之一或多個不同繪圖及表。在至少一項實施例中,對輸入資料進行一相關性分析以判定在先前記錄之「基線」參數值與由量測導線接合操作之一或多個感測器產生之參數值之間是否存在任何相關性。此等分析提供對輸入資料之一更佳理解且對於產生機器學習模型非常有益。
在適當處理輸入資料的情況下,方法2750接著產生用於預測導線品質參數之機器學習模型(方框2758)。此等模型包含用於估計一破壞性球剪切測試之結果(即,將一球形接合件1510從一接合墊1506剪切掉所需之力)及一針腳拉拔測試之結果(即,將導線1504與目標墊1508分離所需之力)的一或多個預測模型。可利用多種技術之任何者來產生預測模型,包含但不限於線性迴歸技術、隨機森林技術、梯度提升技術及神經網路技術。在一項實例實施例中,使用梯度提升技術產生預測模型提供最準確結果。在此實施例中,使用運用K折交叉驗證之自動調諧來調諧模型超參數。
方法2750執行模型穩定性檢查以幫助確保模型提供跨不同資料條件之準確預測(方框2760)。在此步驟中,在已訓練模型之後檢查模型超參數之穩定性。例如,在一項實施例中,將經調諧超參數用於複數個隨機訓練/測試分割(即,「運行」之次數)。超參數值可用於訓練訓練分割且接著對測試分割進行評分。模型之效能係在各測試分割上判定。為完成
此,本發明之一項實施例評估一組預定模型效能統計資料。效能統計資料之一些實例包含但不限於一F1比率及一均方誤差。
此外,在本發明之一些實施例中,產生一效能評估彙總表。該彙總表使用跨所有測試分割之效能統計資料提供效能評估。此表可具有所需要或期望之任何結構,但在至少一項實施例中,此表具有以下資料元素(例如,表欄)之一或多者:效能統計資料;運行次數;特定效能度量之最小值;最大值及/或平均值。
一旦模型經完成,其便可用於估計異常狀況之存在或不存在。例如,可基於藉由邊緣器件之觀察評分(方框2762)來判定異常狀況之存在或不存在。在一些實施例中,模型將提供指示存在之特定異常狀況之資訊。圖27B展示包括一或多個操作之階段之一例示性方法。一般技術者將瞭解,方法可具有更少或更多階段或以一不同順序或遞迴地執行(例如,以保持改進一模型)。
在一或多項實施例中,可觀察數個不同量測值,且一運算系統藉由選擇性地選取在接合操作中觀察之參數類型之一子集來接收訓練資料及/或輸入資料。用於導出模型之量測值可為針對該參數類型之該子集之量測值。圖28係一電腦程式產品之一功能方塊圖。在一項實施例中,電腦程式產品包括例如由一運算器件之處理電路執行之一控制程式。
更詳細地,圖28繪示一運算器件之處理電路2900,以及其執行之單元/模組。各種單元/模組可由硬體及/或由用一處理器或處理電路執行之軟體程式碼來實施。在此實施例中,單元/模組包含一機器學習模型存取單元/模組2910、一輸入資料接收單元/模組2920、一輸入資料加權單元/模組2930、一異常指示符產生單元/模組2940及一異常指示符輸出單
元/模組2950。
在此實施例中,機器學習模型存取單元/模組2910組態處理電路2900以存取在第一接合操作之訓練資料上訓練之一或多個機器學習模型。在至少一項實施例中,第一接合操作係其中將一第一組之多條導線接合至一第一組表面(例如,分別將球形及針腳式接合件接合至接合墊及目標墊)之接合操作。另外,藉由監督式學習來訓練機器學習模型。例如,在一些實施例中,監督式訓練包括接收訓練資料。訓練資料包含自第一接合操作之量測值產生之製程資料及多條導線在接合至第一組表面之後之狀態。各狀態包括與偵測第一接合操作中之一或多個異常有關之一目標的一或多個候選結果。另外,產生製程資料之一或多個權重,使得輸入至機器學習模型之製程資料預測該目標之一或多個候選結果。
輸入資料接收單元/模組2920組態處理電路2900以接收指示自其中將一第二組之多條導線接合至一第二組表面(例如,分別將球形及針腳式接合件接合至接合墊及目標墊)之第二接合操作之量測值產生的製程資料之輸入資料。第二組之多條導線不同於第一組之多條導線,且第二組表面不同於第一組表面。
輸入資料加權單元/模組2930組態處理電路2900以根據機器學習模型對輸入資料進行加權。
異常指示符產生單元/模組2940組態處理電路2900以基於根據機器學習模型對輸入資料進行加權來產生指示第二接合操作中之一異常發生之一風險的一異常預測量。
異常指示符輸出單元/模組2950組態處理電路2900以輸出異常預測量以控制第二接合操作。
2002:運算器件/運算系統
2004B:輸入器件
2005:輸入介面
2006:輸出介面
2008:處理器
2010:電腦可讀媒體/記憶體
2014:機器學習模型應用程式
2020B:感測器
2024:運算系統
2040B:接合操作/第二接合操作
2050:機器學習模型
2052:異常預測量
2060:控制系統/運算系統
2070:輸入資料
2072:量測值
2074:製程資料
2090:接合操作控制資訊/接合操作控制
2094:輸出器件
Claims (30)
- 一種有形地體現於一非暫時性機器可讀儲存媒體中之電腦程式產品,該電腦程式產品包含指令,該等指令可操作以引起一運算系統:存取在第一接合(bonding)操作之訓練資料上訓練之一機器學習模型,其中該等第一接合操作包括用以將一第一組之多條導線(wires)接合至一第一組表面之操作,且其中藉由以下步驟來訓練該機器學習模型:接收該訓練資料,其中該訓練資料包括:自該等第一接合操作之量測值產生之製程資料,該等量測值係在執行將該第一組之多條導線接合至該第一組表面之一製程時所捕捉;及產生該製程資料之一或多個權重,使得輸入至該機器學習模型之該製程資料預測與偵測該等第一接合操作中之一或多個異常(anomalies)有關之一目標(objective)之一或多個候選結果;接收指示自第二接合操作之量測值產生之製程資料的輸入資料,該等量測值係在該等第二接合操作中執行將一第二組之多條導線接合至一第二組表面之一製程所捕捉,其中該第二組之多條導線不同於該第一組之多條導線,且其中該第二組表面不同於該第一組表面;根據該機器學習模型對該輸入資料進行加權;基於根據該機器學習模型對該輸入資料進行加權來產生指示該等第二接合操作中之一異常發生之一風險的一異常預測量(anomaly predictor);及輸出該異常預測量以控制該等第二接合操作。
- 如請求項1之電腦程式產品,其中該一或多個候選結果包括對該等第一接合操作中之個別導線或接合件之一或多個破壞性品質保證測試;及其中該異常預測量係該等第二接合操作中之一個別導線或接合件中之一異常的一預測量,而未對該個別導線或接合件執行一破壞性品質保證測試。
- 如請求項2之電腦程式產品,其中該等第一接合操作包括以下之一者:球形接合操作,且其中該等破壞性品質保證測試包括用於測試一球形接合件之一球剪切測試(ball shear test);及針腳式接合操作,且其中該等破壞性品質保證測試包括用於測試一針腳式接合件之一針腳拉拔測試(stitch pull test)。
- 如請求項1之電腦程式產品,其中該等第一接合操作將該第一組之多條導線之導線接合至該第一組表面之對應表面以形成積體電路晶片;其中該一或多個候選結果包括該等第一接合操作中之該等積體電路晶片之一或多個有缺陷晶片結果;及其中該等指令可操作以引起該運算系統產生該等第二接合操作中之一積體電路晶片製程中之該異常之風險的該異常預測量。
- 如請求項1之電腦程式產品,其中該一或多個異常與以下之一或多者相關聯:浮動狀況;引線框架污染;及晶粒傾斜。
- 如請求項1之電腦程式產品,其中該等第二接合操作接合該第二組之多條導線之導線以形成積體電路晶片;及其中自該等第二接合操作之該等量測值產生之該製程資料整體上與該等積體電路晶片之一特定晶片有關,且係自與該特定晶片相關聯且在該等第二接合操作中接合之導線的量測資料導出。
- 如請求項1之電腦程式產品,其中該輸入資料包括在該等第二接合操作期間接收之即時感測器量測值;及其中針對該第二組之多條導線之一給定導線,該等即時感測器量測值包括以下之一或多者:熱量量測值;功率量測值;力量測值;放電結球(electric flame-off;EFO)量測值;及超音波量測值。
- 如請求項1之電腦程式產品,其中該輸入資料包括在該等第二接合操作期間接收之即時感測器量測值;其中該等即時感測器量測值包括在該等第二接合操作中涉及之一接合系統之量測值;及其中該異常預測量控制該等第二接合操作以校正在該等第二接合操作中涉及之該接合系統中之該一或多個異常或減少該一或多個異常之該發生。
- 如請求項1之電腦程式產品,其中該輸入資料包括用指示在該等第二接合操作中涉及之一特定導線、晶粒或晶片之一識別碼或位置之一或多者的原始資訊標記之經接收感測器量測值;及其中該異常預測量識別在該等第二接合操作中發生之該異常,且與該原始資訊相關以指示該異常之位置。
- 如請求項1之電腦程式產品,其中該等指令可操作以引起該運算系統:接收指示該異常預測量正確地或不正確地預測在該等第二接合操作中製造之一特定晶片中之該異常的回饋;及基於該回饋來更新該機器學習模型。
- 如請求項1之電腦程式產品,其中該等第二接合操作係由一晶片製造系統執行;及其中該等指令可操作以引起該運算系統基於以下之一或多者來調整繼由該晶片製造系統進行之該等第二接合操作之後的接合操作:指示該等第二接合操作中之該異常發生之該風險的該異常預測量;及指示該異常預測量正確地或不正確地預測在該等第二接合操作中製造之一特定晶片中之該異常發生的回饋。
- 如請求項1之電腦程式產品,其中該輸入資料包含包括以下之一或多者之經導出資料:指示與在該等第二接合操作中接合於一特定晶片中之多條導線有關之量測值之一中值或平均值的一經產生值;包括與該多條導線之各者之該值之一偏差的一組經產生偏差;及考量該組偏差之該特定晶片之一經產生度量。
- 如請求項1之電腦程式產品,其中該訓練資料包括自經導出資料產生之該製程資料,該經導出資料包括與多種不同類型之量測值相關且與該等第一接合操作中之一相同導線有關的一經產生奇異(singular)資料值;及其中指示自該等第二接合操作之量測值產生之該製程資料的該輸入資料包括一經產生奇異資料值,其中該經產生奇異資料值與該多種不同類型之量測值相關且與該等第二接合操作中之一相同導線有關。
- 如請求項1之電腦程式產品,其中該訓練資料包括藉由自多種不同量測類型導出考量該等第一接合操作中之量測類型之間的一關係之資訊而產生之該製程資料;及其中該等指令可操作以藉由自多種量測類型導出考量該等第二接合操作中之量測類型之間的一關係之資訊而接收指示自該等第二接合操作之量測值產生之該製程資料的該輸入資料。
- 如請求項1之電腦程式產品,其中該等指令可操作以引起該運算系統藉由選擇性地選取在該等第一接合操作中觀察到之參數類型之一子集來接收該訓練資料;及其中該等第一接合操作之該等量測值係針對參數類型之該子集之量測值。
- 如請求項1之電腦程式產品,其中該製程資料之該一或多個權重經產生用於該訓練資料之一梯度提升模型。
- 如請求項1之電腦程式產品,其中該機器學習模型進一步係由多個經產生之機器學習模型訓練且係基於k折交叉驗證(k-fold cross-validation)來選擇。
- 如請求項1之電腦程式產品,其中該等第一接合操作及該等第二接合操作之該等量測值包括與形成球形接合件及針腳式接合件之一者相關聯之 量測值。
- 如請求項1之電腦程式產品,其中該機器學習模型藉由以下之一者來訓練:監督式學習;無監督式學習;及半監督式學習。
- 如請求項1之電腦程式產品,其中該異常預測量係該第二組之多條導線之一導線與該第二組表面之一引線框架或晶粒之間的一有缺陷接合件之一預測量。
- 一種電腦實施方法,其包括:存取在第一接合操作之訓練資料上訓練之一機器學習模型,其中該等第一接合操作包括用以將一第一組之多條導線接合至一第一組表面之操作,且其中藉由以下步驟來訓練該機器學習模型:接收該訓練資料,其中該訓練資料包括:自該等第一接合操作之量測值產生之製程資料,該等量測值係在執行將該第一組之多條導線接合至該第一組表面之一製程時所捕捉;及產生該製程資料之一或多個權重,使得輸入至該機器學習模型之該製程資料預測與偵測該等第一接合操作中之一或多個異常(anomalies)有關之一目標之一或多個候選結果; 接收指示自第二接合操作之量測值產生之製程資料的輸入資料,該等量測值係在該等第二接合操作中執行將一第二組之多條導線接合至一第二組表面之一製程所捕捉,其中該第二組之多條導線不同於該第一組之多條導線,且其中該第二組表面不同於該第一組表面;根據該機器學習模型對該輸入資料進行加權;基於根據該機器學習模型對該輸入資料進行加權來產生指示該等第二接合操作中之一異常發生之一風險的一異常預測量;及輸出該異常預測量以控制該等第二接合操作。
- 如請求項21之電腦實施方法,其中該一或多個候選結果包括對該等第一接合操作中之個別導線或接合件之一或多個破壞性品質保證測試;及其中該異常預測量係該等第二接合操作中之一個別導線或接合件中之一異常的一預測量,而未對該個別導線或接合件執行一破壞性品質保證測試。
- 如請求項21之電腦實施方法,其中該等第一接合操作接合該第一組之多條導線之導線以形成積體電路晶片;其中該一或多個候選結果包括該等第一接合操作中之該等積體電路晶片之一或多個有缺陷晶片結果;及其中產生該異常預測量包括產生在該等第二接合操作中製造之一積體電路晶片中之該異常之風險的該異常預測量。
- 如請求項21之電腦實施方法,其中該等第二接合操作接合該第二組之多條導線之導線以形成積體電路晶片;及其中自該等第二接合操作之該等量測值產生之該製程資料整體上與該等積體電路晶片之一特定晶片有關,且係自與該特定晶片相關聯且在該等第二接合操作中接合之導線的量測資料導出。
- 如請求項21之電腦實施方法,其進一步包括在該等第二接合操作期間接收即時感測器量測值;及其中針對該第二組之多條導線之一給定導線,該等即時感測器量測值包括以下之一或多者:熱量量測值;功率量測值;力量測值;放電結球(EFO)量測值;及超音波量測值。
- 如請求項21之電腦實施方法,其中該接收輸入資料包括在該等第二接合操作期間接收即時感測器量測值,且其中該等即時感測器量測值包括在該等第二接合操作中涉及之一接合系統之量測值;及其中該異常預測量控制該等第二接合操作以校正在該等第二接合操作中涉及之該接合系統中之該一或多個異常或減少該一或多個異常之該發生。
- 如請求項21之電腦實施方法,其中該輸入資料包括用指示在該等第二接合操作中涉及之一特定導線、晶粒或晶片之一識別碼或位置之一或多者的原始資訊標記之經接收感測器量測值;及其中該異常預測量識別在該等第二接合操作中發生之該異常,且與該原始資訊相關以指示該異常之位置。
- 如請求項21之電腦實施方法,其進一步包括:接收指示該異常預測量正確地或不正確地預測在該等第二接合操作中製造之一特定晶片中之該異常的回饋;及基於該回饋來更新該機器學習模型。
- 如請求項21之電腦實施方法,其中該輸入資料包含包括以下之一或多者之經導出資料:指示與在該等第二接合操作中接合於一特定晶片中之多條導線有關之量測值之一中值或平均值的一經產生值;包括與該多條導線之各者之該值之一偏差的一組經產生偏差;及考量該組偏差之該特定晶片之一經產生度量。
- 一種運算器件,其包括處理器及記憶體,該記憶體含有可由該處理器執行之指令,其中該運算器件經組態以:存取在第一接合操作之訓練資料上訓練之一機器學習模型,其中該等第一接合操作包括用以將一第一組之多條導線接合至一第一組表面之操 作,且其中藉由以下步驟來訓練該機器學習模型:接收該訓練資料,其中該訓練資料包括:自該等第一接合操作之量測值產生之製程資料,該等量測值係在執行將該第一組之多條導線接合至該第一組表面之一製程時所捕捉;及產生該製程資料之一或多個權重,使得輸入至該機器學習模型之該製程資料預測與偵測該等第一接合操作中之一或多個異常有關之一目標之一或多個候選結果;接收指示自第二接合操作之量測值產生之製程資料的輸入資料,該等量測值係在該等第二接合操作中執行將一第二組之多條導線接合至一第二組表面之一製程所捕捉,其中該第二組之多條導線不同於該第一組之多條導線,且其中該第二組表面不同於該第一組表面;根據該機器學習模型對該輸入資料進行加權;基於根據該機器學習模型對該輸入資料進行加權來產生指示該等第二接合操作中之一異常發生之一風險的一異常預測量;及輸出該異常預測量以控制該等第二接合操作。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163223491P | 2021-07-19 | 2021-07-19 | |
US63/223,491 | 2021-07-19 | ||
PCT/US2022/013319 WO2023003595A1 (en) | 2021-07-19 | 2022-01-21 | Quality prediction using process data |
US17/581,113 | 2022-01-21 | ||
WOPCT/US22/13319 | 2022-01-21 | ||
US17/581,113 US11501116B1 (en) | 2021-07-19 | 2022-01-21 | Quality prediction using process data |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202409881A TW202409881A (zh) | 2024-03-01 |
TWI846641B true TWI846641B (zh) | 2024-06-21 |
Family
ID=84000864
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111104119A TWI821893B (zh) | 2021-07-19 | 2022-01-28 | 有形地體現於非暫時性機器可讀儲存媒體中之電腦程式產品、電腦實施方法及運算器件 |
TW112144193A TWI846641B (zh) | 2021-07-19 | 2022-01-28 | 有形地體現於非暫時性機器可讀儲存媒體中之電腦程式產品、電腦實施方法及運算器件 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111104119A TWI821893B (zh) | 2021-07-19 | 2022-01-28 | 有形地體現於非暫時性機器可讀儲存媒體中之電腦程式產品、電腦實施方法及運算器件 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11501116B1 (zh) |
EP (1) | EP4330792A1 (zh) |
CN (1) | CN117413238A (zh) |
TW (2) | TWI821893B (zh) |
WO (1) | WO2023003595A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11514346B2 (en) * | 2017-04-24 | 2022-11-29 | Google Llc | Contextual situation analysis |
US12074075B2 (en) * | 2020-09-09 | 2024-08-27 | Changxin Memory Technologies, Inc. | Data analysis method, electronic device, and storage medium for graphical analysis of wafer yield |
US11711287B2 (en) * | 2021-12-08 | 2023-07-25 | Ayla Networks, Inc. | Unified recommendation engine |
US20230360188A1 (en) * | 2022-05-06 | 2023-11-09 | Viasat, Inc. | Semiconductor package inspection with predictive model for wirebond radio frequency performance |
CN115982651A (zh) * | 2022-12-13 | 2023-04-18 | 上海船舶工艺研究所(中国船舶集团有限公司第十一研究所) | 一种多元工艺逻辑回归的激光拼板焊缝质量分类方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI694343B (zh) * | 2017-04-12 | 2020-05-21 | 美商諳科半導體有限公司 | 基於製作風險評定之半導體製作製程控制 |
TW202034065A (zh) * | 2018-06-15 | 2020-09-16 | 荷蘭商Asml荷蘭公司 | 基於機器學習的逆光學接近校正及製程模型校準 |
US20200408830A1 (en) * | 2018-02-27 | 2020-12-31 | Mitsubishi Electric Corporation | Method for estimating degradation |
TW202113503A (zh) * | 2019-09-04 | 2021-04-01 | 荷蘭商Asml荷蘭公司 | 用於微影製程效能判定之方法及設備 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996013055A2 (en) | 1994-10-13 | 1996-05-02 | National Semiconductor Corporation | Plastic encapsulation of ic device by two level epoxy encapsulation |
EP0752593A3 (de) * | 1995-07-07 | 1998-01-07 | Siemens Aktiengesellschaft | Verfahren zur Früherkennung von Ausfällen bei Leistungshalbleitermodulen |
US6286749B1 (en) | 1998-01-23 | 2001-09-11 | Hyundai Electronics Industries Co., Ltd. | Apparatus for moving a bonding head of a wire bonder in X, Y and Z axial directions |
US6335548B1 (en) * | 1999-03-15 | 2002-01-01 | Gentex Corporation | Semiconductor radiation emitter package |
US6564115B1 (en) | 2000-02-01 | 2003-05-13 | Texas Instruments Incorporated | Combined system, method and apparatus for wire bonding and testing |
US20040036171A1 (en) | 2002-08-22 | 2004-02-26 | Farnworth Warren M. | Method and apparatus for enabling a stitch wire bond in the absence of discrete bump formation, semiconductor device assemblies and electronic systems including same |
US7371676B2 (en) | 2005-04-08 | 2008-05-13 | Micron Technology, Inc. | Method for fabricating semiconductor components with through wire interconnects |
US10754764B2 (en) | 2018-04-22 | 2020-08-25 | Sas Institute Inc. | Validation sets for machine learning algorithms |
US7573115B2 (en) * | 2006-11-13 | 2009-08-11 | International Business Machines Corporation | Structure and method for enhancing resistance to fracture of bonding pads |
DE102007054626A1 (de) * | 2007-11-12 | 2009-05-14 | Hesse & Knipps Gmbh | Verfahren und Vorrichtung zum Ultraschallbonden |
KR101099233B1 (ko) | 2008-07-11 | 2011-12-27 | 가부시키가이샤 닛데쓰 마이크로 메탈 | 본딩 와이어의 접합 구조 |
WO2013076548A1 (en) | 2011-11-26 | 2013-05-30 | Microbonds Inc. | Bonding wire and process for manufacturing a bonding wire |
KR101620351B1 (ko) | 2012-01-30 | 2016-05-12 | 삼성전자주식회사 | 회로소자의 와이어 본딩 방법 |
US20140091465A1 (en) | 2012-09-28 | 2014-04-03 | Texas Instruments Incorporated | Leadframe having sloped metal terminals for wirebonding |
CN103020436B (zh) * | 2012-11-30 | 2015-08-12 | 工业和信息化部电子第五研究所 | 元器件失效归零分析方法与系统 |
US9640531B1 (en) | 2014-01-28 | 2017-05-02 | Monolithic 3D Inc. | Semiconductor device, structure and methods |
US20140284779A1 (en) | 2013-03-20 | 2014-09-25 | Texas Instruments Incorporated | Semiconductor device having reinforced wire bonds to metal terminals |
US20160291552A1 (en) * | 2014-11-18 | 2016-10-06 | Prophecy Sensors, Llc | System for rule management, predictive maintenance and quality assurance of a process and machine using reconfigurable sensor networks and big data machine learning |
US20190354096A1 (en) * | 2014-11-18 | 2019-11-21 | Machinesense, Llc | System for rule management, predictive maintenance and quality assurance of a process and machine using reconfigurable sensor networks and big data machine learning |
US20160322329A1 (en) | 2015-04-20 | 2016-11-03 | Skyworks Solutions, Inc. | Wire bond strengthening |
US11347191B2 (en) * | 2015-07-29 | 2022-05-31 | Illinois Tool Works Inc. | System and method to facilitate welding software as a service |
JP6625914B2 (ja) * | 2016-03-17 | 2019-12-25 | ファナック株式会社 | 機械学習装置、レーザ加工システムおよび機械学習方法 |
JP2018107296A (ja) | 2016-12-27 | 2018-07-05 | ルネサスエレクトロニクス株式会社 | 半導体装置の製造方法 |
US11416751B2 (en) * | 2017-03-31 | 2022-08-16 | H2O.Ai Inc. | Time-based ensemble machine learning model |
US11138517B2 (en) * | 2017-08-11 | 2021-10-05 | Google Llc | On-device machine learning platform |
US10656204B2 (en) * | 2017-09-21 | 2020-05-19 | Pdf Solutions, Inc. | Failure detection for wire bonding in semiconductors |
US10394229B2 (en) * | 2017-09-27 | 2019-08-27 | International Business Machines Corporation | Orchestration of learning and execution of model predictive control tool for manufacturing processes |
EP3492935B1 (en) * | 2017-12-01 | 2021-08-11 | Mitsubishi Electric R&D Centre Europe B.V. | Health monitoring of power semiconductor device |
KR102501882B1 (ko) * | 2018-07-06 | 2023-02-21 | 에임시스템 주식회사 | 기계 학습 기반의 설비 이상 탐지 시스템 및 방법 |
JP7196696B2 (ja) * | 2019-03-07 | 2022-12-27 | 株式会社ジェイテクト | 機械学習装置及び機械学習方法 |
US20210010953A1 (en) | 2019-07-12 | 2021-01-14 | SVXR, Inc. | Methods and Systems for Defects Detection and Classification Using X-rays |
CN110370076A (zh) * | 2019-08-08 | 2019-10-25 | 合肥学院 | 基于加工机床的自由曲面原位测量方法 |
WO2021107180A1 (ko) * | 2019-11-27 | 2021-06-03 | 위즈코어 주식회사 | 제조 빅테이터 기반의 머신러닝 장치 및 방법 |
US11055639B1 (en) * | 2020-04-28 | 2021-07-06 | Sas Institute Inc. | Optimizing manufacturing processes using one or more machine learning models |
-
2022
- 2022-01-21 WO PCT/US2022/013319 patent/WO2023003595A1/en active Application Filing
- 2022-01-21 US US17/581,113 patent/US11501116B1/en active Active
- 2022-01-21 CN CN202280038926.2A patent/CN117413238A/zh active Pending
- 2022-01-21 EP EP22846354.3A patent/EP4330792A1/en active Pending
- 2022-01-28 TW TW111104119A patent/TWI821893B/zh active
- 2022-01-28 TW TW112144193A patent/TWI846641B/zh active
- 2022-09-14 US US17/944,291 patent/US11630973B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI694343B (zh) * | 2017-04-12 | 2020-05-21 | 美商諳科半導體有限公司 | 基於製作風險評定之半導體製作製程控制 |
US20200408830A1 (en) * | 2018-02-27 | 2020-12-31 | Mitsubishi Electric Corporation | Method for estimating degradation |
TW202034065A (zh) * | 2018-06-15 | 2020-09-16 | 荷蘭商Asml荷蘭公司 | 基於機器學習的逆光學接近校正及製程模型校準 |
TW202113503A (zh) * | 2019-09-04 | 2021-04-01 | 荷蘭商Asml荷蘭公司 | 用於微影製程效能判定之方法及設備 |
Also Published As
Publication number | Publication date |
---|---|
US11630973B2 (en) | 2023-04-18 |
TW202305638A (zh) | 2023-02-01 |
TW202409881A (zh) | 2024-03-01 |
EP4330792A1 (en) | 2024-03-06 |
WO2023003595A1 (en) | 2023-01-26 |
US11501116B1 (en) | 2022-11-15 |
US20230025373A1 (en) | 2023-01-26 |
CN117413238A (zh) | 2024-01-16 |
TWI821893B (zh) | 2023-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI846641B (zh) | 有形地體現於非暫時性機器可讀儲存媒體中之電腦程式產品、電腦實施方法及運算器件 | |
US11087077B2 (en) | Techniques for extracting contextually structured data from document images | |
US11055861B2 (en) | Discrete event simulation with sequential decision making | |
US10762424B2 (en) | Methods and systems for reinforcement learning | |
US10310896B1 (en) | Techniques for job flow processing | |
US9734447B1 (en) | Generating accurate reason codes with complex non-linear modeling and neural networks | |
US11734419B1 (en) | Directed graph interface for detecting and mitigating anomalies in entity interactions | |
TWI338910B (en) | Metrology method, virtual metrology system and computer-readable medium | |
US10867380B1 (en) | Object and data point tracking to control system in operation | |
US20200143246A1 (en) | Demand classification based pipeline system for time-series data forecasting | |
US20180222043A1 (en) | Controlling operation of a machine by performing reconciliation using a distributed cluster of nodes | |
US10095716B1 (en) | Methods, mediums, and systems for data harmonization and data harmonization and data mapping in specified domains | |
US11334809B1 (en) | System and methods for interactive text regression model building | |
US10386271B1 (en) | Interactive visualization tool for designed experiments | |
US20140236515A1 (en) | Cloud-based architecture for analysis and prediction of integrated tool-related and material-related data and methods therefor | |
Vaithianathan et al. | Integrating AI and Machine Learning with UVM in Semiconductor Design | |
US20170076207A1 (en) | Interactive Interface for Model Selection | |
US20200057963A1 (en) | Tool for Hyperparameter Tuning | |
US11460973B1 (en) | User interfaces for converting node-link data into audio outputs | |
US11346751B1 (en) | Interactive diagnostics for evaluating designs for measurement systems analysis | |
US11321581B2 (en) | Detecting and mitigating anomalies and degradation associated with devices and their operations | |
US11846979B1 (en) | Anomaly detection and diagnostics based on multivariate analysis | |
US11809915B1 (en) | Parallel processing techniques for expediting reconciliation for a hierarchy of forecasts on a computer system | |
US10902329B1 (en) | Text random rule builder | |
Kwon et al. | Machine Failure Analysis Using Nearest Centroid Classification for Industrial Internet of Things |