KR20230084317A - 이온 주입 반도체 제조 툴에서의 컴포넌트 고장들의 정정 - Google Patents

이온 주입 반도체 제조 툴에서의 컴포넌트 고장들의 정정 Download PDF

Info

Publication number
KR20230084317A
KR20230084317A KR1020237018033A KR20237018033A KR20230084317A KR 20230084317 A KR20230084317 A KR 20230084317A KR 1020237018033 A KR1020237018033 A KR 1020237018033A KR 20237018033 A KR20237018033 A KR 20237018033A KR 20230084317 A KR20230084317 A KR 20230084317A
Authority
KR
South Korea
Prior art keywords
failure
components
window
sensor data
historical
Prior art date
Application number
KR1020237018033A
Other languages
English (en)
Inventor
티안칭 리아오
시마 디다리
하리크리슈난 라자고팔
Original Assignee
어플라이드 머티어리얼스, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 어플라이드 머티어리얼스, 인코포레이티드 filed Critical 어플라이드 머티어리얼스, 인코포레이티드
Publication of KR20230084317A publication Critical patent/KR20230084317A/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0224Process history based detection method, e.g. whereby history implies the availability of large amounts of data
    • G05B23/024Quantitative history assessment, e.g. mathematical relationships between available data; Functions therefor; Principal component analysis [PCA]; Partial least square [PLS]; Statistical classifiers, e.g. Bayesian networks, linear regression or correlation analysis; Neural networks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0243Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults model based detection method, e.g. first-principles knowledge model
    • G05B23/0254Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults model based detection method, e.g. first-principles knowledge model based on a quantitative model, e.g. mathematical relationships between inputs and outputs; functions: observer, Kalman filter, residual calculation, Neural Networks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0259Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
    • G05B23/0283Predictive maintenance, e.g. involving the monitoring of a system and, based on the monitoring results, taking decisions on the maintenance schedule of the monitored system; Estimating remaining useful life [RUL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01JELECTRIC DISCHARGE TUBES OR DISCHARGE LAMPS
    • H01J37/00Discharge tubes with provision for introducing objects or material to be exposed to the discharge, e.g. for the purpose of examination or processing thereof
    • H01J37/30Electron-beam or ion-beam tubes for localised treatment of objects
    • H01J37/317Electron-beam or ion-beam tubes for localised treatment of objects for changing properties of the objects or for applying thin layers thereon, e.g. for ion implantation
    • H01J37/3171Electron-beam or ion-beam tubes for localised treatment of objects for changing properties of the objects or for applying thin layers thereon, e.g. for ion implantation for ion implantation
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/67Apparatus specially adapted for handling semiconductor or electric solid state devices during manufacture or treatment thereof; Apparatus specially adapted for handling wafers during manufacture or treatment of semiconductor or electric solid state devices or components ; Apparatus not specifically provided for elsewhere
    • H01L21/67005Apparatus not specifically provided for elsewhere
    • H01L21/67011Apparatus for manufacture or treatment
    • H01L21/67155Apparatus for manufacturing or treating in a plurality of work-stations
    • H01L21/67207Apparatus for manufacturing or treating in a plurality of work-stations comprising a chamber adapted to a particular process
    • H01L21/67213Apparatus for manufacturing or treating in a plurality of work-stations comprising a chamber adapted to a particular process comprising at least one ion or electron beam chamber
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01JELECTRIC DISCHARGE TUBES OR DISCHARGE LAMPS
    • H01J2237/00Discharge tubes exposing object to beam, e.g. for analysis treatment, etching, imaging
    • H01J2237/30Electron or ion beam tubes for processing objects
    • H01J2237/304Controlling tubes
    • H01J2237/30405Details
    • H01J2237/30427Details using neural networks or fuzzy logic

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Manufacturing & Machinery (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Analytical Chemistry (AREA)
  • Chemical & Material Sciences (AREA)
  • Power Engineering (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Quality & Reliability (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Physical Vapour Deposition (AREA)
  • Crystals, And After-Treatments Of Crystals (AREA)
  • Testing Or Measuring Of Semiconductors Or The Like (AREA)

Abstract

이온 주입 반도체 제조 툴에서 컴포넌트 고장들을 정정하기 위한 방법들, 시스템들, 및 비-일시적인 컴퓨터 판독가능 매체가 제공된다. 방법은, 이온 주입 툴과 연관된 센서들로부터, 특징들에 대응하는 현재 센서 데이터를 수신하는 단계; 현재 센서 데이터에 대한 부가적인 특징들을 생성하기 위해 특징 분석을 수행하는 단계; 트레이닝된 머신 러닝 모델에 부가적인 특징들을 입력으로서 제공하는 단계; 트레이닝된 머신 러닝 모델로부터 하나 이상의 출력들을 획득하는 단계 - 하나 이상의 출력들은 예측된 윈도우의 신뢰도 레벨을 표시함 -; 예측된 윈도우의 신뢰도 레벨에 기반하여, 이온 주입 툴의 하나 이상의 컴포넌트들이 고장-전 윈도우 내에 있는지 여부를 예측하는 단계; 및 하나 이상의 컴포넌트들이 고장-전 윈도우 내에 있다고 예측하는 것에 대한 응답으로, 이온 주입 툴과 연관된 정정 액션을 수행하는 단계를 포함한다.

Description

이온 주입 반도체 제조 툴에서의 컴포넌트 고장들의 정정{CORRECTING COMPONENT FAILURES IN ION IMPLANT SEMICONDUCTOR MANUFACTURING TOOL}
[0001] 본 개시내용은 컴포넌트 고장들을 정정하는 것에 관한 것으로, 더 구체적으로는 반도체 제조 툴들에서 컴포넌트 고장들을 정정하는 것에 관한 것이다.
[0002] 제조 장비의 중단없는 수행의 제한 인자들 중 하나는 컴포넌트 고장들이다. 예컨대, 플러드 건(flood gun)들 및 소스 건(source gun)들의 고장은 이온 주입 툴들의 수행을 중단시킬 수 있다. 컴포넌트들의 고장은 사용자들에게 높은 비용인 계획되지 않은 비가동시간(down time)을 유발한다.
[0003] 다음은 본 개시내용의 일부 양상들의 기본적인 이해를 제공하기 위한 본 개시내용의 간략화된 요약이다. 이러한 요약은 본 개시내용의 포괄적인 개관이 아니다. 이러한 요약은 본 개시내용의 핵심 또는 중요 엘리먼트들을 식별하거나 본 개시내용의 특정한 구현들의 임의의 범위 또는 청구항들의 임의의 범위를 서술하도록 의도되지 않는다. 이러한 요약의 유일한 목적은, 이후에 제시되는 더 상세한 설명에 대한 서론으로서 간략화된 형태로 본 개시내용의 일부 개념들을 제시하는 것이다.
[0004] 본 개시내용의 일 양상에서, 방법은, 이온 주입 툴과 연관된 복수의 센서들로부터, 복수의 특징들에 대응하는 현재 센서 데이터를 수신하는 단계를 포함할 수 있다. 방법은 현재 센서 데이터에 대한 복수의 부가적인 특징들을 생성하기 위해 특징 분석을 수행하는 단계를 더 포함할 수 있다. 방법은, 트레이닝된 머신 러닝 모델에 복수의 부가적인 특징들을 입력으로서 제공하는 단계를 더 포함할 수 있다. 방법은 트레이닝된 머신 러닝 모델로부터 하나 이상의 출력들을 획득하는 단계를 더 포함할 수 있다. 하나 이상의 출력들은 예측된 윈도우의 신뢰도 레벨을 표시할 수 있다. 방법은, 예측된 윈도우의 신뢰도 레벨에 기반하여, 이온 주입 툴의 하나 이상의 컴포넌트들이 고장-전 윈도우(pre-failure window) 내에 있는지 여부를 예측하는 단계를 더 포함할 수 있다. 방법은, 하나 이상의 컴포넌트들이 고장-전 윈도우 내에 있다고 예측하는 것에 대한 응답으로, 이온 주입 툴과 연관된 정정 액션을 수행하는 단계를 더 포함할 수 있다.
[0005] 본 개시내용의 추가적인 양상에서, 방법은, 이온 주입 툴과 연관된 복수의 센서들로부터, 복수의 특징들에 대응하는 이력 센서 데이터를 수신하는 단계를 포함할 수 있다. 방법은, 이력 센서 데이터의 제1 서브세트에 대한 정상 동작 윈도우 및 이력 센서 데이터의 제2 서브세트에 대한 고장-전 윈도우를 포함하는 복수의 윈도우들을 결정하는 단계를 더 포함할 수 있다. 방법은 이력 센서 데이터에 대한 복수의 부가적인 특징들을 생성하기 위해 특징 분석을 수행하는 단계를 더 포함할 수 있다. 방법은, 트레이닝된 머신 러닝 모델을 생성하기 위해, 복수의 부가적인 특징들을 포함하는 트레이닝 데이터 및 복수의 윈도우들을 포함하는 타겟 출력을 사용하여 머신 러닝 모델을 트레이닝시키는 단계를 더 포함할 수 있다. 트레이닝된 머신 러닝 모델은 하나 이상의 이온 주입 툴 컴포넌트들이 고장-전 윈도우 내에 있는지 여부를 표시하는 하나 이상의 출력들을 생성하는 것이 가능할 수 있다.
[0006] 본 개시내용의 추가적인 양상에서, 시스템은 메모리 및 메모리에 커플링된 프로세싱 디바이스를 포함할 수 있다. 프로세싱 디바이스는 이온 주입 툴과 연관된 복수의 센서들로부터, 복수의 특징들에 대응하는 현재 센서 데이터를 수신할 수 있다. 프로세싱 디바이스는 추가로, 현재 센서 데이터에 대한 복수의 부가적인 특징들을 생성하기 위해 특징 분석을 수행할 수 있다. 프로세싱 디바이스는 추가로, 트레이닝된 머신 러닝 모델에 복수의 부가적인 특징들을 입력으로서 제공할 수 있다. 프로세싱 디바이스는 추가로, 트레이닝된 머신 러닝 모델로부터 하나 이상의 출력들을 획득할 수 있다. 하나 이상의 출력들은 예측된 윈도우의 신뢰도 레벨을 표시할 수 있다. 프로세싱 디바이스는 추가로, 예측된 윈도우의 신뢰도 레벨에 기반하여, 이온 주입 툴의 하나 이상의 컴포넌트들이 고장-전 윈도우 내에 있는지 여부를 예측할 수 있다. 프로세싱 디바이스는 추가로, 하나 이상의 컴포넌트들이 고장-전 윈도우 내에 있다고 예측하는 것에 대한 응답으로, 이온 주입 툴과 연관된 정정 액션을 수행할 수 있다.
[0007] 본 개시내용은 첨부한 도면들의 도들에서 제한이 아니라 예로서 예시된다.
[0008] 도 1은 특정한 실시예들에 따른, 예시적인 시스템 아키텍처를 예시하는 블록 다이어그램이다.
[0009] 도 2는 특정한 실시예들에 따른, 머신 러닝 모델에 대한 데이터 세트들을 생성하기 위한 예시적인 데이터 세트 생성기이다.
[0010] 도 3은 특정한 실시예들에 따른, 컴포넌트 고장을 예측하기 위한 시스템을 예시하는 블록 다이어그램이다.
[0011] 도 4 내지 도 6은 특정한 실시예들에 따른, 컴포넌트 고장을 예측하기 위한 예시적인 방법들을 예시하는 흐름도들이다.
[0012] 도 7a 및 도 7b는 특정한 실시예들에 따른, 컴포넌트 고장을 예측하기 위한 시스템들을 예시하는 블록 다이어그램들이다.
[0013] 도 8a 및 도 8b는 특정한 실시예들에 따른, 컴포넌트 고장을 예측하는 것을 예시하는 그래프들이다.
[0014] 도 9는 특정한 실시예들에 따른, 컴퓨터 시스템을 예시하는 블록 다이어그램이다.
[0015] 반도체 제조 툴들에서 컴포넌트 고장들을 정정하는 것에 관한 기술들이 본 명세서에 설명된다. 컴포넌트 고장들은 제조 장비의 수행을 중단시킨다. 예컨대, 플러드 건들 및 소스 건들의 고장은 이온 주입 반도체 제조 툴들의 수행을 중단시킨다. 컴포넌트들의 고장은 계획되지 않은 비가동시간, 사용자들에 대한 높은 비용들, 장비 및 제품들의 손상 등을 유발할 수 있다. 컴포넌트들을 조기에 교체하는 것은 높은 유지보수 비용, 컴포넌트들의 낭비, 및 컴포넌트들을 교체하는 데 소요되는 불필요한 시간을 야기할 수 있다.
[0016] 본 명세서에 개시된 디바이스들, 시스템들, 및 방법들은 반도체 제조 툴들에서 컴포넌트 고장들을 정정하는 것(예컨대, 이온 주입 반도체 제조 툴에서의 플라즈마 소스 건에 대한 수명 예측의 종료)을 제공한다. 본 명세서에 개시된 디바이스들, 시스템들, 및 방법들은 도출된 센서 판독들을 사용하여, (예컨대, 딥 러닝 모델을 사용함으로써) 이온 주입 툴들에 대한 임계 컴포넌트 고장 예측을 제공할 수 있다. 프로세싱 디바이스는, 제조 장비(예컨대, 이온 주입 툴)와 연관된 복수의 센서들로부터, 특징들(예컨대, 압력, 온도, 흐름, 전력 등)에 대응하는 현재 센서 데이터를 수신할 수 있다. 프로세싱 디바이스는 추가로, 현재 센서 데이터에 대한 부가적인 특징들을 생성하기 위해 특징 분석을 수행할 수 있다. 부가적인 특징들은 하나 이상의 특징들에 기반하여 생성될 수 있다. 예컨대, 부가적인 특징들은 비율, 범위, 델타, 최대 값 등 중 하나 이상을 포함할 수 있다. 프로세싱 디바이스는 추가로, 트레이닝된 머신 러닝 모델에 부가적인 특징들을 입력으로서 제공하고, 후속하여, 트레이닝된 머신 러닝 모델로부터 하나 이상의 출력들을 획득할 수 있다. 하나 이상의 출력들은 예측된 윈도우의 신뢰도 레벨을 표시할 수 있다. 프로세싱 디바이스는, 예측된 윈도우의 신뢰도 레벨에 기반하여, 이온 주입 툴의 하나 이상의 컴포넌트들이 고장-전 윈도우 내에 있는지 여부를 예측할 수 있다. 고장-전 윈도우는 컴포넌트의 고장이 발생한 것으로 예측되기 전의 시간 윈도우(예컨대, 24시간, 48시간)일 수 있다. 프로세싱 디바이스는 추가로, 하나 이상의 컴포넌트들이 고장-전 윈도우 내에 있다고 예측하는 것에 대한 응답으로, 이온 주입 툴과 연관된 정정 액션을 수행할 수 있다. 정정 액션(예컨대, 컴포넌트 고장들을 정정 및/또는 선제적으로 정정하는 것)은 경고를 제공하는 것, 제조 장비의 동작을 중단시키는 것, 및/또는 하나 이상의 컴포넌트들이 교체되게 하는 것을 포함할 수 있다.
[0017] 본 명세서에 개시된 디바이스들, 시스템들, 및 방법들은 또한, 컴포넌트들의 고장의 예측을 위한 머신 러닝 모델의 트레이닝을 제공한다. 일부 실시예들에서, 프로세싱 디바이스는, 제조 장비(예컨대, 이온 주입 툴)와 연관된 센서들로부터, 특징들에 대응하는 이력 센서 데이터(예컨대, 센서, 압력, 흐름, 전력 등의 데이터에 대한 이력 값들)를 수신할 수 있다. 프로세싱 디바이스는 추가로, 이력 센서 데이터에 대응하는 윈도우들을 결정할 수 있다. 윈도우들은 이력 센서 데이터의 제1 서브세트에 대한 정상 동작 윈도우 및 이력 센서 데이터의 제2 서브세트에 대한 고장-전 윈도우를 포함할 수 있다. 프로세싱 디바이스는 추가로, 이력 센서 데이터에 대한 부가적인 특징들(예컨대, 비율, 범위, 델타, 최대치 등)을 생성하기 위해 특징 분석을 수행할 수 있다. 프로세싱 디바이스는 추가로, 트레이닝된 머신 러닝 모델을 생성하기 위해, 부가적인 특징들을 포함하는 트레이닝 데이터 및 윈도우들을 포함하는 타겟 출력을 사용하여 머신 러닝 모델을 트레이닝시킬 수 있다. 트레이닝된 머신 러닝 모델은, 하나 이상의 컴포넌트들(예컨대, 이온 주입 툴 컴포넌트들)이 (예컨대, 이온 주입 툴들의 하나 이상의 컴포넌트들과 연관된 정정 액션을 수행하기 위해) 고장-전 윈도우 내에 있는지 여부를 표시하는 하나 이상의 출력들을 생성하는 것이 가능할 수 있다. 머신 러닝 모델은 제1 제조 장비와 연관된 이력 센서 데이터를 사용하여 트레이닝될 수 있고, 다른 제조 장비에 대한 컴포넌트 고장을 예측하는 데 사용될 수 있다.
[0018] 본 개시내용의 양상들은 또한 기술적 장점들을 초래한다. 종래에, 컴포넌트는 고장날 때까지 사용되거나 조기에 교체된다. 프로세싱 디바이스가 하나 이상의 컴포넌트들에 대한 고장-전 윈도우(예컨대, 수명 종료, 24시간, 48시간)를 예측함으로써, 프로세싱 디바이스는 하나 이상의 컴포넌트들이 고장 전에 교체되도록 정정 액션을 야기할 수 있다. (예컨대, 고장 이후 대신에) 고장 전에 컴포넌트들을 교체하는 것은, 비가동시간을 감소시키고, 제조 장비 및 제품들에 대한 손상을 감소시키고, 예정되지 않은 유지보수를 감소시키며, 교체 컴포넌트들의 신속한 배송을 감소시키는 것 등이다. (예컨대, 컴포넌트들을 매우 조기에 임의적으로 교체하는 것 대신에) 고장-전 윈도우 내에서 컴포넌트들을 교체하는 것은, 여전히 사용가능한 현재 컴포넌트들의 낭비를 감소시키고, 컴포넌트들을 너무 빈번하게 교체하는 것과 연관된 비용을 감소시키며, 유지보수를 감소시키는 것 등이다. (하나 이상의 컴포넌트들이 고장-전 윈도우 내에 있는지 여부를 예측하기 위해, 트레이닝된 머신 러닝 모델을 사용하기 전에) 센서 데이터를 수신하고, 노이즈를 감소시키며, 특징 분석을 수행하는 것은, (예컨대, 노이즈, 및 특징들 모두를 포함하는) 센서 데이터 모두를 분석하는 것과 비교하여 에너지 소비(예컨대, 배터리 소비), 대역폭, 레이턴시 등의 상당한 감소를 제공한다.
[0019] 도 1은 특정한 실시예들에 따른, 예시적인 시스템 아키텍처(100)를 예시하는 블록 다이어그램이다. 시스템 아키텍처(100)는 클라이언트 디바이스(120), 고장 예측 서버(130) 및 데이터 저장소(140)를 포함한다. 고장 예측 서버(130)는 고장 예측 시스템(110)의 일부일 수 있다.
[0020] 클라이언트 디바이스(120), 고장 예측 서버(130), 데이터 저장소(140), 서버 머신(170), 서버 머신(180), 제조 장비(124)(예컨대, 이온 주입 툴들 등), 및 센서들(126)은 고장 예측을 위해 네트워크(160)를 통해 서로 커플링될 수 있다. 일부 실시예들에서, 네트워크(160)는 고장 예측 서버(130), 데이터 저장소(140), 및 다른 공개적으로 이용가능한 컴퓨팅 디바이스들에 대한 액세스를 클라이언트 디바이스(120)에 제공하는 공개 네트워크이다. 일부 실시예들에서, 네트워크(160)는 고장 예측 서버(130), 데이터 저장소(140), 및 다른 사설로 이용가능한 컴퓨팅 디바이스들에 대한 액세스를 클라이언트 디바이스(120)에 제공하는 사설 네트워크이다. 네트워크(160)는 하나 이상의 WAN(wide area network)들, LAN(local area network)들, 유선 네트워크들(예컨대, 이더넷 네트워크), 무선 네트워크들(예컨대, 802.11 네트워크 또는 Wi-Fi 네트워크), 셀룰러 네트워크들(예컨대, LTE(Long Term Evolution) 네트워크), 라우터들, 허브들, 스위치들, 서버 컴퓨터들, 및/또는 이들의 조합을 포함할 수 있다.
[0021] 제조 장비(124)는 반도체 프로세싱을 위해 사용될 수 있다. 제조 장비(124)는 이온 주입 툴을 포함할 수 있다. 이온 주입 툴은 (예컨대, 트랜지스터들 등을 제조하기 위해) 반도체 디바이스를 통한 전기의 흐름을 제어하도록 반도체 디바이스에 원자들을 삽입할 수 있다. 제조 장비(124)(예컨대, 이온 주입 툴)는 플러드 건(124A), 소스 건(124B) 등과 같은 컴포넌트들을 포함할 수 있다. 플러드 건(124A)은 타겟(예컨대, 플러드 영역, 절연체 또는 반도체 상의 영역)에 저에너지 전자들의 안정적인 흐름을 제공하는 전기기계식 디바이스일 수 있다. 소스 건(124B)(예컨대, 플라즈마 소스 건)은 반도체 디바이스 상에 플라즈마를 증착시키기 위한 플라즈마 소스일 수 있다(예컨대, 반도체 디바이스 상에서 플라즈마를 에너제틱하게 증착시키게 하도록 상당한 스트리밍 속도로 플라즈마를 배출함).
[0022] 제조 장비(124)(예컨대, 이온 주입 툴)의 중단없는 수행의 제한 인자는 하나 이상의 컴포넌트들(예컨대, 플러드 건(124A), 소스 건(124B) 등)의 고장일 수 있으며, 이는 계획되지 않은 비가동시간을 유발할 수 있다. 센서들(126)은 제조 장비(124)와 연관된 센서 데이터(예컨대, 원시(raw) 센서 데이터, 온도, 압력, 전력, 흐름 등)를 캡처할 수 있다. 예컨대, 이온 주입기 툴에는 수천 헤르츠의 획득 속도를 갖는 수백 개의 센서들이 장착될 수 있다. 센서들의 수, 센서 데이터의 획득 속도, 및 컴포넌트들의 수명 예상(예컨대, 6개월 등)이 주어지면, 캡처된 센서 데이터(예컨대, 원시 센서 데이터)의 볼륨은 매우 클 수 있다. 센서들(126)로부터의 센서 데이터(142)는 데이터 저장소(140)에 저장될 수 있다.
[0023] 본 명세서에 설명되는 바와 같이, 반도체 프로세싱은 웨이퍼들에 대한 반도체 제조 또는 디스플레이 제조(예컨대, 평판 디스플레이 제조) 중 하나 이상을 포함할 수 있다. 고장 예측은 반도체 제조 장비(예컨대, 웨이퍼들에 대한 반도체 제조에서 사용되는 컴포넌트들의 고장을 예측함) 또는 디스플레이 제조(예컨대, 디스플레이 제조에서 사용되는 컴포넌트들의 고장을 예측함)의 하나 이상의 컴포넌트들과 연관될 수 있다.
[0024] 클라이언트 디바이스(120)는 컴퓨팅 디바이스, 이를테면, PC(personal computer)들, 랩톱들, 모바일 폰들, 스마트 폰들, 태블릿 컴퓨터들, 넷북 컴퓨터들, 네트워크 연결 텔레비전들("스마트 TV"), 네트워크-연결 미디어 플레이어들(예컨대, 블루-레이 플레이어), 셋탑-박스, OTT(over-the-top) 스트리밍 디바이스들, 오퍼레이터 박스들 등을 포함할 수 있다. 클라이언트 디바이스(120)는, 네트워크(160)를 통해 정보(예컨대, 고장 예측을 위한 제조 장비(124)의 선택)를 송신하고, 네트워크(160)를 통해, 예측된 고장과 연관된 표시들(예컨대, 예측된 윈도우의 신뢰도 레벨, 정정 액션을 실행하기 위한 명령들 등)을 수신하는 것이 가능할 수 있다. 예측된 고장과 연관된 명령들은, 제조 장비(124)의 하나 이상의 컴포넌트들이 예측된 시간 윈도우(156B)(예컨대, 정상 동작 윈도우, 고장-전 윈도우, 고장 윈도우 등)와 현재 연관된다는 것을 특정할 수 있다. 예측된 고장과 연관된 명령들은 고장날 때까지의 시간의 양, 교체될 컴포넌트들, 컴포넌트들을 어떻게 교체할지, 제조 장비(124)의 동작이 중단되었는지(예컨대, 셧 다운(shut down)되었는지) 여부, 또는 제조 장비(124)의 동작이 중단되어야 하는지 여부 중 하나 이상을 표시할 수 있다. 클라이언트 디바이스(120)는 예측된 고장과 연관된 표시들을 수신하는 것에 대한 응답으로 GUI(graphical user interface)를 통해 경고를 디스플레이할 수 있다. 각각의 클라이언트 디바이스(120)는, 사용자들이 정보를 생성하고, 이를 볼 수 있고, 편집할 수 있으며 그리고 경고들을 볼 수 있게 하는 운영 체제를 포함할 수 있다.
[0025] 클라이언트 디바이스(120)는 정정 액션 컴포넌트(122)를 포함할 수 있다. 정정 액션 컴포넌트(122)는 (예컨대, 클라이언트 디바이스(120)를 통해 디스플레이되는 GUI를 통해) 사용자 입력을 수신할 수 있고, 사용자 입력에 기반하여, 제조 장비(124)에 대해 고장 예측이 실행될 것이라는 표시를 생성할 수 있다. 정정 액션 컴포넌트(122)는 표시를 고장 예측 서버(130)에 송신할 수 있다. 일부 실시예들에서, 정정 액션 컴포넌트(122)는 (예컨대, 제조 장비(124)에 커플링된 센서들(126)로부터의) 센서 데이터(142)를 고장 예측 서버(130)에 송신한다. 정정 액션 컴포넌트(122)는 (예컨대, 고장 예측 서버(130)가 고장-전 윈도우를 결정하는 것에 대한 응답으로) 고장 예측 서버(130)로부터, 예측된 고장과 연관된 표시를 수신할 수 있다. 정정 액션 컴포넌트(122)는 정정 액션이 수행되게 할 수 있다. 정정 액션은 (예컨대, 고장-전 윈도우를 예측하는 것에 기반하여) 컴포넌트 고장들을 정정 및/또는 선제적으로 정정하는 것을 지칭할 수 있다. 예컨대, 정정 액션이 수행되게 하기 위해, 정정 액션 컴포넌트(122)는 (예컨대, 클라이언트 디바이스(120)의 GUI를 통해, 제조 장비(124) 등을 통해) 경고를 제공할 수 있고, 제조 장비(124)의 동작을 중단시킬 수 있고(예컨대, 제조 장비(124)의 하나 이상의 부분들을 셧다운시킬 수 있고), 그리고/또는 하나 이상의 컴포넌트들이 교체되게 할 수 있다.
[0026] 고장 예측 서버(130)는 하나 이상의 컴퓨팅 디바이스들, 이를테면 랙마운트 서버(rackmount server), 라우터 컴퓨터, 서버 컴퓨터, 개인용 컴퓨터, 메인프레임 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 데스크톱 컴퓨터 등을 포함할 수 있다. 고장 예측 서버(130)는 고장 예측 컴포넌트(132)를 포함할 수 있다. 일부 실시예들에서, 고장 예측 컴포넌트(132)는 (예컨대, 제조 장비(124)에 커플링된 센서들(126)로부터) 센서 데이터(142)를 수신할 수 있다. 센서 데이터(142)는 시간에 걸친 기록된 값들 및 각각의 값(예컨대, 제1 시점에서의 제1 기록된 온도, 제2 시점에서의 제2 기록된 온도 등)에 대한 대응하는 타임 스탬프를 포함할 수 있다. 센서 데이터(142)는 (예컨대, 임의의 특징 엔지니어링이 없는) 원시 추적 데이터일 수 있다. 고장 예측 컴포넌트(132)는 현재 센서 데이터(150)로부터 노이즈를 제거하고, 현재 센서 데이터(150)에 대한 부가적인 특징들을 생성하기 위해 특징 분석을 수행하고, 제조 장비(124)의 하나 이상의 컴포넌트들이 고장-전 윈도우 내에 있는지 여부를 예측하며, 하나 이상의 컴포넌트들이 고장-전 윈도우 내에 있다고 예측하는 것에 대한 응답으로 제조 장비(124)와 연관된 정정 액션을 수행할 수 있다.
[0027] 컴포넌트들이 고장-전 윈도우 내에 있는지 여부를 예측하기 위해, 고장 예측 컴포넌트(132)는 고장 예측을 위해 현재 센서 데이터(150)(예컨대, 부가적인 현재 특징들(154))를 모델(190)(예컨대, 콘볼루셔널(convolutional) LSTM(long short-term memory)(convLSTM) 모델, 딥 러닝 모델, 랜덤 포레스트 모델(random forest model) 등)에 제공할 수 있다. 고장 예측 컴포넌트(132)는 현재 센서 데이터(150)에 기반하여 모델(190)로부터, 예측된 윈도우(156B)에 대한 신뢰도 레벨(158)을 수신할 수 있다.
[0028] 센서 데이터(150)의 각각의 특징(예컨대, 이력 특징(146), 현재 특징(152) 등)은 시퀀스(예컨대, 제1 값, 제2 값 등), 타임스탬프들(예컨대, 제1 값에서의 시간, 제2 값에서의 시간 등), 및 어느 센서(126)가 시퀀스에 대응하는지의 표시를 포함할 수 있다. 각각의 부가적인 특징(예컨대, 부가적인 이력 특징(148), 부가적인 현재 특징(154))은 특징들 중 하나 이상에 대해 하나 이상의 동작들을 수행함으로써 생성될 수 있다. 하나 이상의 동작들은 복수의 센서들(126) 중 하나 이상으로부터의 특징들(예컨대, 대응하는 센서 데이터)의 비율, 범위, 델타, 또는 최대 값 중 하나 이상을 포함할 수 있다. 예컨대, 제1 특징은 센서들(126) 중 압력 센서로부터 수신된 압력 측정들의 시퀀스일 수 있고, 제2 특징은 센서들(126) 중 온도 센서로부터 수신된 온도 측정들의 시퀀스일 수 있으며, 제1 부가적인 특징은 압력 측정들의 시퀀스를 각각의 대응하는 온도 측정으로 나눈 비율일 수 있다(예컨대, 제1 부가적인 특징은 제1 시점에서의 제1 압력 값을 제1 시점에서의 제1 온도 값으로 나눈 것, 제2 시점에서의 제2 압력 값을 제2 시점에서의 제2 온도 값으로 나눈 것 등을 포함하는 시퀀스일 수 있음).
[0029] 데이터 저장소(140)는 메모리(예컨대, 랜덤 액세스 메모리), 드라이브(예컨대, 하드 드라이브, 플래시 드라이브), 데이터베이스 시스템, 또는 데이터를 저장할 수 있는 다른 타입의 컴포넌트 또는 디바이스일 수 있다. 데이터 저장소(140)는, 다수의 컴퓨팅 디바이스들(예컨대, 다수의 서버 컴퓨터들)에 걸쳐 있을 수 있는 다수의 저장 컴포넌트들(예컨대, 다수의 드라이브들 또는 다수의 데이터베이스들)을 포함할 수 있다. 데이터 저장소(140)는 센서 데이터(142)(예컨대, 이력 센서 데이터(144), 이력 특징들(146), 부가적인 이력 특징들(148), 현재 센서 데이터(150), 현재 특징들(152), 부가적인 현재 특징들(154) 등), 윈도우들(156)(예컨대, 이력 윈도우들(156A), 예측된 윈도우들(156B)), 신뢰도 레벨들(158) 등 중 하나 이상을 저장할 수 있다.
[0030] 일부 실시예들에서, 고장 예측 시스템(110)은 서버 머신(170) 및 서버 머신(180)을 더 포함한다. 서버 머신들(170 및 180)은 하나 이상의 컴퓨팅 디바이스들(이를테면, 랙마운트 서버, 라우터 컴퓨터, 서버 컴퓨터, 개인용 컴퓨터, 메인프레임 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 데스크톱 컴퓨터 등), 데이터 저장소들(예컨대, 하드 디스크들, 메모리 데이터베이스들), 네트워크들, 소프트웨어 컴포넌트들, 또는 하드웨어 컴포넌트들일 수 있다.
[0031] 서버 머신(170)은 머신 러닝 모델(190)을 트레이닝시키거나, 검증하거나, 또는 테스팅하기 위해 하나 이상의 데이터 세트들(예컨대, 도 2의 데이터 입력들의 세트(210) 및 타겟 출력들의 세트(220))을 생성하는 것이 가능한 데이터 세트 생성기(172)를 포함한다. 데이터 세트 생성기(172)의 일부 동작들은 도 2 및 도 6에 관해 아래에서 상세히 설명된다. 일부 실시예들에서, 데이터 세트 생성기(172)는 이력 센서 데이터(144)를 트레이닝 세트(예컨대, 이력 센서 데이터(144)의 60 퍼센트), 검증 세트(예컨대, 이력 센서 데이터(144)의 20 퍼센트), 및 테스팅 세트(예컨대, 이력 센서 데이터(144)의 20 퍼센트)로 분할할 수 있다. 서버 머신(180)은 트레이닝 엔진(182)을 포함한다. 일부 실시예들에서, 서버 머신(180)은 트레이닝 엔진(182), 검증 엔진(184), 및 테스팅 엔진(186)을 포함한다. 트레이닝 엔진(182)은 데이터 세트 생성기(172)로부터의 트레이닝 세트를 사용하여 머신 러닝 모델(190)을 트레이닝시키는 것이 가능할 수 있다. 트레이닝 엔진(182)은 하나 이상의 트레이닝된 머신 러닝 모델들(190)을 생성할 수 있다.
[0032] 검증 엔진(184)은 데이터 세트 생성기(172)로부터의 검증 세트를 사용하여, 트레이닝된 머신 러닝 모델(190)을 검증하는 것이 가능할 수 있다. 검증 엔진(184)은 검증 세트에 기반하여, 트레이닝된 머신 러닝 모델들(190) 각각의 정확도를 결정할 수 있다. 검증 엔진(184)은 임계 정확도를 충족시키지 않는 정확도를 갖는 트레이닝된 머신 러닝 모델들(190)을 폐기할 수 있다.
[0033] 테스팅 엔진(186)은 데이터 세트 생성기(172)로부터의 테스팅 세트를 사용하여, 트레이닝된 머신 러닝 모델(190)을 테스팅하는 것이 가능할 수 있다. 테스팅 엔진(186)은 테스팅 세트들에 기반하여, 모든 트레이닝된 머신 러닝 모델들 중 가장 높은 정확도를 갖는 트레이닝된 머신 러닝 모델(190)을 결정할 수 있다.
[0034] 머신 러닝 모델(190)은, 데이터 입력들 및 대응하는 타겟 출력들(개개의 트레이닝 입력들에 대한 정확한 대답들)을 포함하는 트레이닝 세트를 사용하여 트레이닝 엔진(182)에 의해 생성된 모델 아티팩트를 지칭할 수 있다. 데이터 입력을 타겟 출력(정확한 대답)에 맵핑하는 데이터 세트들 내의 패턴들이 발견될 수 있으며, 머신 러닝 모델(190)에는 이들 패턴들을 캡처하는 맵핑들이 제공된다. 일부 실시예들에서, 머신 러닝 모델(190)은 하나 이상의 LSTM 층들 및 소프트맥스 층(softmax layer)을 사용할 수 있다(도 7a 및 도 7b 참조).
[0035] 일부 실시예들에서, 고장 예측 컴포넌트(132)는 이력 센서 데이터(144) 및 이력 윈도우들(156A)을 데이터 세트 생성기(172)에 제공할 수 있다. 데이터 세트 생성기(172)는 머신 러닝 모델(190)을 트레이닝시키는 것, 검증하는 것, 또는 테스팅하는 것 중 하나 이상을 행하기 위해 이력 센서 데이터(144)를 입력으로서 그리고 이력 윈도우들(156)을 출력으로서 트레이닝 엔진(182), 검증 엔진(184), 및/또는 테스트 엔진(186) 중 하나 이상에 제공할 수 있다.
[0036] 일부 실시예들에서, 고장 예측 시스템(110)은 상이한 하이퍼파라미터들(예컨대, 상이한 수들의 LSTM 층들), 상이한 타입들의 머신 러닝 모델들, 부가적인 이력 특징들(148)의 상이한 세트들 등 중 하나 이상에 기반하여 상이한 모델들(190)을 생성할 수 있다. 고장 예측 시스템(110)은 상이한 모델들(190)을 트레이닝시키는 것, 검증하는 것, 또는 테스팅하는 것 중 하나 이상을 행하고, 가장 정확한 모델(190)을 선택할 수 있다.
[0037] 일부 실시예들에서, 고장 예측 컴포넌트(132)는 트레이닝된 머신 러닝 모델(190)에 현재 센서 데이터(150)를 입력으로서 제공하고, 하나 이상의 출력들을 획득하기 위해 입력에 대해, 트레이닝된 머신 러닝 모델(190)을 실행할 수 있다. 도 4에 관해 아래에서 상세히 설명되는 바와 같이, 고장 예측 컴포넌트(132)는 (예컨대, 트레이닝된 머신 러닝 모델(190)의 출력에 기반하여, 출력으로부터, 예측된 윈도우(156B)의 신뢰도 레벨을 추출하는 것 등에 의해) 예측된 윈도우(156B)를 결정하는 것이 가능할 수 있다. 고장 예측 컴포넌트(132)는 또한 출력에 기반하여 신뢰도 데이터를 결정할 수 있다. 신뢰도 데이터는 예측된 윈도우(156B)가 제조 장비(124)에 대응한다는 신뢰도 레벨을 표시할 수 있다. 고장 예측 컴포넌트(132)는 예측된 윈도우(156B)를 선택하기 위해 신뢰도 레벨들(158)을 사용할 수 있다.
[0038] 신뢰도 데이터는 제조 장비(124)의 하나 이상의 컴포넌트들의 미래의 고장에 대응하는 예측된 윈도우(156B)의 신뢰도 레벨(158)을 포함하거나 표시할 수 있다. 일 예에서, 신뢰도 레벨은 0과 1 사이(경계 포함(inclusive))의 실수이며, 여기서 0은 제조 장비(124)의 하나 이상의 컴포넌트들의 미래의 고장에 대응하는 예측된 윈도우(156B)의 신뢰도가 없다는 것을 표시하고, 1은 제조 장비(124)의 하나 이상의 컴포넌트들의 미래의 고장에 대응하는 예측된 윈도우(156B)의 절대적 신뢰도를 표시한다.
[0039] 고장 예측 컴포넌트(132)는 모델(190)의 출력에 기반하여 다수의 예측된 윈도우들(156B) 및 대응하는 신뢰도 레벨들(158)(예컨대, 정상 동작 윈도우에 대한 10%의 신뢰도 레벨 및 고장-전 동작 윈도우에 대한 90%의 신뢰도 레벨)을 결정할 수 있다. 일부 실시예들에서, 고장 예측 컴포넌트(132)는 가장 높은 신뢰도 레벨을 갖는 예측된 윈도우를 선택한다. 일부 실시예들에서, 고장 예측 컴포넌트(132)는 50% 초과의 신뢰도 레벨을 갖는 예측된 윈도우를 선택한다.
[0040] 제한보다는 예시의 목적을 위해, 본 개시내용의 양상들은, 예측된 윈도우들(156B)을 결정하기 위해 현재 센서 데이터(150)를 사용하는 머신 러닝 모델의 트레이닝 및 트레이닝된 러닝 모델의 사용을 설명한다. 다른 구현들에서, 센서 데이터(142)(예컨대, 이력 센서 데이터(144), 현재 센서 데이터(150) 등)에 기반하여, 예측된 윈도우들(156)을 결정하기 위해 휴리스틱 모델 또는 규칙-기반 모델이 사용된다. 도 2의 데이터 입력들(210)에 관해 설명된 정보 중 임의의 것은 휴리스틱 또는 규칙-기반 모델에서 모니터링되거나 그렇지 않으면 사용될 수 있다.
[0041] 일부 실시예들에서, 클라이언트 디바이스(120), 고장 예측 서버(130), 서버 머신(170), 및 서버 머신(180)의 기능들은 더 적은 수의 머신들에 의해 제공될 수 있다. 예컨대, 일부 실시예들에서, 서버 머신들(170 및 180)은 단일 머신으로 통합될 수 있다. 일부 다른 실시예들에서, 서버 머신(170), 서버 머신(180), 및 고장 예측 서버(130)는 단일 머신으로 통합될 수 있다.
[0042] 일반적으로, 클라이언트 디바이스(120), 서버 머신(170), 및 서버 머신(180)에 의해 수행되는 것으로 일 실시예에서 설명된 기능들은 또한, 적절하다면, 다른 실시예들에서 고장 예측 서버(130) 상에서 수행될 수 있다. 부가적으로, 특정한 컴포넌트에 속하는 기능성은 함께 동작하는 상이한 또는 다수의 컴포넌트들에 의해 수행될 수 있다. 예컨대, 일부 실시예들에서, 고장 예측 서버(130)는 고장 예측을 위한 제조 장비(124)(예컨대, 반도체 프로세싱 툴)를 표시하는 사용자 입력을 수신할 수 있으며, 고장 예측 서버(130)는 예측된 윈도우(156B)의 신뢰도 레벨(158)에 기반하여 경고를 제공하는 것, 제조 장비(124)를 셧 다운시키는 것 등을 행할 수 있다. 다른 예에서, 클라이언트 디바이스(120)는, 센서 데이터(142)로부터 노이즈를 제거하는 것, 센서 데이터(142)에 대한 특징 분석을 수행하는 것, 예측된 윈도우들(156B)의 신뢰도 레벨(158)을 결정하는 것, 하나 이상의 컴포넌트들이 고장-전 윈도우 내에 있는지 여부를 예측하는 것, 또는 정정 액션을 수행하는 것 중 하나 이상을 행할 수 있다. 다른 예에서, 데이터 세트 생성기(172)는 이력 센서 데이터(144)로부터 노이즈를 제거하고, 이력 센서 데이터(144)에 대한 특징 분석을 수행할 수 있다.
[0043] 부가적으로, 특정한 컴포넌트의 기능들은 함께 동작하는 상이한 또는 다수의 컴포넌트들에 의해 수행될 수 있다. 고장 예측 서버(130), 서버 머신(170), 또는 서버 머신(180) 중 하나 이상은 적절한 API(application programming interface)를 통해 다른 시스템들 또는 디바이스들에 제공되는 서비스로서 액세스될 수 있다.
[0044] 실시예들에서, "사용자"는 단일 개인으로서 표현될 수 있다. 그러나, 본 개시내용의 다른 실시예들은, "사용자"가 복수의 사용자들 및/또는 자동화된 소스에 의해 제어되는 엔티티인 것을 포함한다. 예컨대, 관리자들의 그룹으로서 연합된 개별 사용자들의 세트가 "사용자"로 고려될 수 있다.
[0045] 본 개시내용의 실시예들이 제조 장비(124)에 커플링된 센서들(126)로부터 수신된 센서 데이터(150)의 관점들에서 논의되지만, 실시예들은 또한 일반적으로, 시간에 걸쳐 수신된 데이터(예컨대, 불규칙한 시계열 데이터 등)에 적용될 수 있다. 실시예들은 일반적으로, 시간에 걸쳐 데이터를 생성하는 최적화 프로세스들에 적용될 수 있다. 웨이퍼 또는 디스플레이 제조를 위한 제조 장비(124)의 예들은 PVD(physical vapor deposition) 장비, CVD(chemical vapor deposition) 장비, ALD(atomic layer deposition) 장비, CMP(chemical mechanical polishing) 장비, 및 에칭 장비이다.
[0046] 도 2는 특정한 실시예들에 따른, 이력 센서 데이터(244)(예컨대, 도 1의 이력 센서 데이터(144))를 사용하여 머신 러닝 모델(290)(예컨대, 도 1의 모델(190))에 대한 데이터 세트들을 생성하기 위한 예시적인 데이터 세트 생성기(272)(예컨대, 도 1의 데이터 세트 생성기(172))이다. 도 2의 시스템(200)은 데이터 세트 생성기(272), 데이터 입력들(210), 및 타겟 출력들(220)을 도시한다.
[0047] 일부 실시예들에서, 데이터 세트 생성기(272)는 하나 이상의 데이터 입력들(210)(예컨대, 트레이닝 입력, 검증 입력, 테스팅 입력) 및 하나 이상의 타겟 출력들(220)을 포함하는 데이터 세트(예컨대, 트레이닝 세트, 검증 세트, 테스팅 세트)를 생성한다. 데이터 세트는 또한, 데이터 입력들(210)을 타겟 출력들(220)에 맵핑하는 맵핑 데이터를 포함할 수 있다. 데이터 입력들(210)은 또한 "특징들", "속성들", 또는 "정보"로 지칭될 수 있다. 일부 실시예들에서, 데이터 세트 생성기(272)는 트레이닝 엔진(182), 검증 엔진(184), 또는 테스팅 엔진(186) 중 하나 이상에 데이터 세트를 제공할 수 있으며, 여기서 데이터 세트는 머신 러닝 모델(190)을 트레이닝시키거나, 검증하거나, 또는 테스팅하는 데 사용된다. 트레이닝 세트를 생성하는 일부 실시예들은 도 6에 관해 추가로 설명될 수 있다.
[0048] 일부 실시예들에서, 데이터 입력들(210)은 이력 센서 데이터(244)에 대한 특징들의 하나 이상의 세트들(212A)을 포함할 수 있다. 특징들의 각각의 세트(212)는 이력 특징(246)(예컨대, 도 1의 이력 특징(146)) 또는 부가적인 이력 특징(248)(예컨대, 도 1의 부가적인 이력 특징(148)) 중 적어도 하나를 포함할 수 있다. 예컨대, 특징들의 세트(212)는 하나 이상의 부가적인 이력 특징들(248)을 포함할 수 있다.
[0049] 일부 실시예들에서, 데이터 세트 생성기(272)는 제1 머신 러닝 모델을 트레이닝시키거나, 검증하거나, 또는 테스팅하기 위해 특징들의 제1 세트(212A)에 대응하는 제1 데이터 입력(210A)을 생성할 수 있고, 데이터 세트 생성기(272)는 제2 머신 러닝 모델을 트레이닝시키거나, 검증하거나, 또는 테스팅하기 위해 특징들의 제2 세트(212B)에 대응하는 제2 데이터 입력(210B)을 생성할 수 있다.
[0050] 일부 실시예들에서, 데이터 세트 생성기(272)는 (예컨대, 회귀 문제들에 대한 분류 알고리즘들에서 사용하기 위해) 타겟 출력(220)을 이산화시킬 수 있다. 타겟 출력(220)의 이산화는 변수들의 연속 값들을 이산 값들로 변환할 수 있다. 일부 실시예들에서, 타겟 출력(220)에 대한 이산 값들은 이력 윈도우(256)(예컨대, 정상 동작 윈도우, 고장-전 윈도우, 고장 윈도우 등)를 표시한다. 일부 실시예들에서, 타겟 출력(220)에 대한 이산 값들은, 설치로부터 하나 이상의 컴포넌트들이 얼마나 많은 시간 이후 고장났는지(예컨대, 며칠, 몇 시간 등)를 표시한다.
[0051] 머신 러닝 모델을 트레이닝시키거나, 검증하거나, 또는 테스팅하기 위한 데이터 입력들(210) 및 타겟 출력들(220)은 특정한 설비로부터의(예컨대, 특정한 반도체 제조 설비로부터의) 정보를 포함할 수 있다. 예컨대, 이력 센서 데이터(244)는 도 1의 현재 센서 데이터(150)와 동일한 제조 설비로부터 유래할 수 있다. 일부 실시예들에서, 머신 러닝 모델을 트레이닝시키는 데 사용되는 정보는 특정 특성들을 갖는 제조 설비의 컴포넌트들(예컨대, 특정 타임프레임으로부터의 컴포넌트들, 특정 타입의 제조 장비에 대한 컴포넌트들 등)의 특정 그룹들로부터 유래할 수 있으며, 트레이닝된 머신 러닝 모델이, 특정 그룹의 특성들을 공유하는 하나 이상의 컴포넌트들과 연관된 이력 센서 데이터에 기반하여 컴포넌트들의 특정 그룹에 대한 고장-전 윈도우들을 예측하게 허용할 수 있다. 일부 실시예들에서, 머신 러닝 모델을 트레이닝시키는 데 사용되는 정보는 2개 이상의 제조 설비들로부터의 컴포넌트들에 대한 것일 수 있으며, 트레이닝된 머신 러닝 모델이 하나의 제조 설비로부터의 입력에 기반하여 컴포넌트들에 대한 결과들을 결정하게 허용할 수 있다. 일부 실시예들에서, 머신 러닝 모델을 트레이닝시키는 데 사용되는 정보는 하나 이상의 제1 이온 주입 툴들과 연관될 수 있으며, 트레이닝된 머신 러닝 모델은 하나 이상의 제1 이온 주입 툴들과 상이한 하나 이상의 제2 이온 주입 툴들에 대한 컴포넌트 고장을 예측하는 데 사용될 수 있다.
[0052] 일부 실시예들에서, 데이터 입력(210)을 생성하고, 데이터 세트를 사용하여 머신 러닝 모델(190)을 트레이닝시키거나, 검증하거나, 또는 테스팅하는 것에 후속하여, 머신 러닝 모델(190)은 추가로, 하나 이상의 제조 설비들로부터의 부가적인 이력 센서 데이터 및 대응하는 이력 윈도우들을 사용하여 트레이닝, 검증, 또는 테스팅 또는 조정될 수 있다(예컨대, 머신 러닝 모델(190)의 입력 데이터와 연관된 가중치들, 이를테면 뉴럴 네트워크에서의 연결 가중치들을 조정하는 것, 하이퍼파라미터들을 튜닝(tune)하는 것 등).
[0053] 도 3은 예측된 윈도우들(356B)(예컨대, 도 1의 예측된 윈도우들(156B))의 신뢰도 레벨(358)(예컨대, 도 1의 신뢰도 레벨(158))을 결정하기 위한 시스템(300)을 예시하는 블록 다이어그램이다. 시스템(300)은 반도체 제조 툴들에 대한 고장 예측(예컨대, 이온 주입 반도체 제조 툴에서의 플라즈마 소스 건에 대한 수명 예측의 종료)을 제공할 수 있다.
[0054] 블록(310)에서, 시스템(300)(예컨대, 도 1의 고장 예측 시스템(110))은 트레이닝 세트(302), 검증 세트(304) 및 테스팅 세트(306)를 생성하기 위해 이력 센서 데이터(344)(예컨대, 도 1의 이력 센서 데이터(144))의 (예컨대, 도 1의 서버 머신(170)의 데이터 세트 생성기(172)를 통한) 데이터 분할을 수행한다. 일부 실시예들에서, 시스템(300)은 데이터 세트들 각각에 대응하는 특징들의 복수의 세트들을 생성한다.
[0055] 블록(312)에서, 시스템(300)은 트레이닝 세트(302)를 사용하여 (예컨대, 도 1의 트레이닝 엔진(182)을 통해) 모델 트레이닝을 수행한다. 시스템(300)은 트레이닝 세트(302)의 특징들의 다수의 세트들(예컨대, 트레이닝 세트(302)의 특징들의 제1 세트, 트레이닝 세트(302)의 특징들의 제2 세트 등)을 사용하여 다수의 모델들을 트레이닝시킬 수 있다.
[0056] 블록(314)에서, 시스템(300)은 검증 세트(304)를 사용하여 (예컨대, 도 1의 검증 엔진(184)을 통해) 모델 검증을 수행한다. 시스템(300)은 검증 세트(304)의 특징들의 대응하는 세트를 사용하여, 트레이닝된 모델들 각각을 검증할 수 있다. 블록(314)에서, 시스템은 하나 이상의 트레이닝된 모델들 각각의 정확도를 결정할 수 있으며, 트레이닝된 모델들 중 하나 이상이 임계 정확도를 충족시키는 정확도를 갖는지 여부를 결정할 수 있다. 트레이닝된 모델들 중 어느 것도 임계 정확도를 충족시키는 정확도를 갖지 않는다고 결정하는 것에 대한 응답으로, 흐름은 블록(312)으로 복귀하며, 여기서 시스템(300)은 트레이닝 세트의 특징들의 상이한 세트들을 사용하여 모델 트레이닝을 수행한다. 트레이닝된 모델들 중 하나 이상이 임계 정확도를 충족시키는 정확도를 갖는다고 결정하는 것에 대한 응답으로, 흐름은 블록(316)으로 계속된다.
[0057] 블록(316)에서, 시스템(300)은, 임계 정확도를 충족시키는 하나 이상의 트레이닝된 모델들 중 어느 것이 가장 높은 정확도를 갖는지를 결정하기 위해 모델 선택을 수행한다(예컨대, 선택된 모델(308)). 임계 정확도를 충족시키는 트레이닝된 모델들 중 2개 이상이 동일한 정확도를 갖는다고 결정하는 것에 대한 응답으로, 흐름은 블록(312)으로 복귀할 수 있으며, 여기서 시스템(300)은, 가장 높은 정확도를 갖는 트레이닝된 모델을 결정하기 위해 특징들의 추가적인 개량된 세트들에 대응하는 추가적인 개량된 트레이닝 세트들을 사용하여 모델 트레이닝을 수행한다.
[0058] 블록(318)에서, 시스템(300)은 선택된 모델(308)을 테스팅하기 위해 테스팅 세트(306)를 사용하여 (예컨대, 도 1의 테스팅 엔진(186)을 통해) 모델 테스팅을 수행한다. 블록(318)에서, 시스템(300)은 테스팅 세트(306)를 사용하여, 선택된 모델(308)의 정확도가 임계 정확도를 충족시키는지 여부를 결정할 수 있다. 선택된 모델(308)의 정확도가 임계 정확도를 충족시키지 않는 것(예컨대, 선택된 모델(308)은 검증 세트(304)에 과적합(overly fit)되는 것)에 대한 응답으로, 흐름은 블록(312)으로 계속되며, 여기서 시스템(300)은 특징들의 상이한 세트들에 대응하는 상이한 트레이닝 세트들을 사용하여 모델 트레이닝을 수행한다. 테스팅 세트(306)에 기반하여, 선택된 모델(308)이 임계 정확도를 충족시키는 정확도를 갖는다고 결정하는 것에 대한 응답으로, 흐름은 블록(320)으로 계속된다. 적어도 블록(312)에서, 모델은 예측들을 행하기 위해 이력 센서 데이터의 패턴들을 학습할 수 있고, 블록(318)에서, 시스템(300)은 예측들을 테스팅하기 위해 나머지 데이터(예컨대, 테스팅 세트(306))에 대해 모델을 적용할 수 있다.
[0059] 일부 실시예들에서, 상이한 모델들의 트레이닝, 검증, 또는 테스팅 중 하나 이상을 위해 특징들의 상이한 세트들(예컨대, 부가적인 이력 특징들(148)의 상이한 조합들)을 사용하는 것에 부가하여, 시스템(300)은 또한, 어느 특징들 및 어느 하이퍼파라미터들이 가장 높은 정확도를 제공하는지를 결정하기 위해 상이한 모델들에 상이한 하이퍼파라미터들을 포함시킬 수 있다. 일부 실시예들에서, 상이한 모델들을 트레이닝시키는 것, 검증하는 것 또는 테스팅하는 것 중 하나 이상을 위해 특징들의 상이한 세트들을 사용하는 대신에, 시스템(300)은 어느 하이퍼파라미터들이 가장 높은 정확도를 제공하는지를 결정하기 위해 상이한 모델들에서 상이한 하이퍼파라미터들을 사용한다(예컨대, 여기서 각각의 모델은 부가적인 이력 특징들(148)의 동일한 세트를 사용함).
[0060] 블록(320)에서, 시스템(300)은 현재 센서 데이터(350)(예컨대, 도 1의 현재 센서 데이터(150))를 수신하고 예측된 윈도우(356B)의 신뢰도 레벨(358)(예컨대, 도 1의 예측된 윈도우(156B)의 신뢰도 레벨(158))을 출력하기 위해, 트레이닝된 모델(예컨대, 선택된 모델(308))을 사용한다.
[0061] 부가적인 센서 데이터를 수신하는 것에 대한 응답으로, 부가적인 센서 데이터는 모델 리-트레이닝(re-training)을 통해, 트레이닝된 모델을 업데이트하기 위해 블록(312)에 입력될 수 있다.
[0062] 도 4 내지 도 6은 특정한 실시예들에 따른, 고장 예측과 연관된 예시적인 방법들(400, 500, 및 600)을 예시하는 흐름도들이다. 방법들(400, 500, 및 600)은 하드웨어(예컨대, 회로부, 전용 로직, 프로그래밍가능 로직, 마이크로코드, 프로세싱 디바이스 등), 소프트웨어(이를테면, 프로세싱 디바이스, 범용 컴퓨터 시스템, 또는 전용 머신 상에서 실행되는 명령들), 펌웨어, 마이크로코드, 또는 이들의 조합을 포함할 수 있는 프로세싱 로직에 의해 수행될 수 있다. 일 실시예에서, 방법들(400, 500, 및 600)은 고장 예측 시스템(110)에 의해 부분적으로 수행될 수 있다. 일부 실시예들에서, 방법들(400, 500, 및 600)은 고장 예측 서버(130)에 의해 수행될 수 있다. 일부 실시예들에서, 비-일시적인 컴퓨터 판독가능 저장 매체는, (예컨대, 고장 예측 시스템(110)의) 프로세싱 디바이스에 의해 실행될 때, 프로세싱 디바이스로 하여금 방법들(400, 500, 및 600)을 수행하게 하는 명령들을 저장한다.
[0063] 설명의 간략화를 위해, 방법들(400, 500, 및 600)이 일련의 동작들로서 도시 및 설명된다. 그러나, 본 개시내용에 따른 동작들은 다양한 순서들로 그리고/또는 동시에 그리고 본 명세서에서 제시 및 설명되지 않은 다른 동작들과 함께 발생할 수 있다. 더욱이, 개시된 청구 대상에 따라 방법들(400, 500, 및 600)을 구현하기 위해, 예시된 모든 동작들이 수행되지는 않을 수 있다. 부가적으로, 당업자들은, 방법들(400, 500, 및 600)이 상태 다이어그램 또는 이벤트들을 통해 일련의 상호관련된 상태들로서 대안적으로 표현될 수 있다는 것을 이해 및 인식할 것이다.
[0064] 도 4는 특정한 실시예들에 따른, 컴포넌트 고장을 예측하기 위한 방법(400)의 흐름도이다. 일부 실시예들에서, 방법(400)은 고장 예측 서버(130)의 고장 예측 컴포넌트(132)의 프로세싱 로직에 의해 수행된다.
[0065] 블록(402)에서, 프로세싱 로직은 제조 장비(예컨대, 제조 장비(124), 이온 주입 툴)와 연관된 센서들(예컨대, 센서들(126))로부터, 특징들에 대응하는 현재 센서 데이터(예컨대, 현재 센서 데이터(150))를 수신한다. 특징들은 현재 센서 데이터의 시퀀스들일 수 있으며, 여기서 현재 센서 데이터의 각각의 시퀀스는 대응하는 센서에 의해 캡처된다. 일부 실시예들에서, 현재 센서 데이터는 프로세싱 로직으로 스트리밍된다. 프로세싱 로직은 데이터세트, 매트릭스 등 중 하나 이상의 형태로 센서 데이터를 수신할 수 있다. 일부 실시예들에서, 센서 데이터는 데이터 저장소(140)에 저장되고 집계된다.
[0066] 일부 실시예들에서, 블록(404)에서, 프로세싱 로직은 현재 센서 데이터로부터 노이즈를 제거한다. 일부 실시예들에서, 프로세싱 로직은 간격들에 걸쳐 현재 센서 데이터를 평균함으로써(예컨대, 10초의 시간 기간들에 걸친 평균 센서 데이터 값들 등) 현재 센서 데이터로부터 노이즈를 제거한다. 일부 실시예들에서, 프로세싱 로직은 현재 센서 데이터로부터 이상치(outlier)들을 제거함으로써 노이즈를 제거한다.
[0067] 블록(406)에서, 프로세싱 로직은 현재 센서 데이터에 대한 부가적인 특징들(예컨대, 부가적인 현재 특징들(154))을 생성하기 위해 특징 분석을 수행한다. 부가적인 특징들은 복수의 센서들 중 하나 이상으로부터의 대응하는 센서 데이터의 비율, 범위, 델타, 또는 최대 값 중 하나 이상을 포함할 수 있다. 일부 실시예들에서, 부가적인 특징들은 키 센서(key sensor)들의 통계적 특징들(예컨대, 평균, 표준 편차 등)을 포함할 수 있다.
[0068] 일부 실시예들에서, 프로세싱 로직은 계산될 부가적인 특징들을 표시하는 사용자 입력을 수신함으로써 특징 분석을 수행한다. 일부 실시예들에서, (도 5를 참조하면, 부가적인 특징들의 사용자 입력에 기반하여, 다른 파라미터들의 사용자 입력에 기반하여, 사용자 입력 없이) 특징 분석(예컨대, 특징 엔지니어링)을 위한 모델이 생성된다. 특징 분석을 위한 모델은 (예컨대, 1-차원 콘볼루션들을 수행하는) CNN(convolutional neural network)일 수 있다. CNN은 센서 데이터(142)에서 시간적 구조를 학습하는 데 뛰어날 수 있고, (예컨대, 정상 동작 윈도우, 고장-전 윈도우 등을 결정하기 위해) 고장 및 정상 데이터에 대한 불변 특징들을 결정할 수 있다.
[0069] 프로세싱 로직은, 매트릭스로 현재 센서 데이터를 수신하고 1-차원 콘볼루션들을 통해 매트릭스를 프로세싱하여 복수의 부가적인 특징들을 출력함으로써 분석을 수행할 수 있다.
[0070] 블록(408)에서, 프로세싱 로직은 트레이닝된 머신 러닝 모델에 (예컨대, 노이즈의 제거에 후속하는) 부가적인 특징들을 입력으로서 제공한다. 트레이닝된 머신 러닝 모델은 하나 이상의 LSTM 층들 및 소프트맥스 층을 포함할 수 있다. 트레이닝된 머신 러닝 모델은 하나 이상의 LSTM 층들에 의해 시퀀스들로서 공간 특징들을 학습할 수 있다. 시계열 구조가 예측에 구축될 수 있다. 트레이닝된 머신 러닝 모델은 (예컨대, 긍정 오류(false positives)를 피하기 위해) 오분류(misclassification)들에 페널티를 주도록 가중될 수 있다. 방법(400)에 의해 생성된 현재 예측은 현재 센서 데이터(150)의 이전 시간 스텝(step)에 기반할 수 있다.
[0071] 트레이닝된 머신 러닝 모델은 블록(402)의 제조 장비(예컨대, 이온 주입 툴)와는 상이한 제조 장비(예컨대, 제2 이온 주입 툴)와 연관된 제2 복수의 센서들로부터의 이력 센서 데이터에 기반하여 생성되었을 수 있다.
[0072] 블록(410)에서, 프로세싱 로직은 트레이닝된 머신 러닝 모델로부터 하나 이상의 출력들을 획득한다. 일부 실시예들에서, 하나 이상의 출력들은 예측된 윈도우(예컨대, 예측된 윈도우(156B))의 신뢰도 레벨(예컨대, 신뢰도 레벨(158))을 표시한다. 일부 실시예들에서, 프로세싱 로직은 하나 이상의 출력들로부터, 예측된 윈도우의 신뢰도 레벨을 추출한다. 일부 실시예들에서, 프로세싱 로직은 다수의 예측된 윈도우들 및 대응하는 신뢰도 레벨들(예컨대, 정상 동작 윈도우에 대한 10%의 신뢰도 레벨 및 고장-전 윈도우에 대한 90%의 신뢰도 레벨)을 결정한다.
[0073] 블록(412)에서, 프로세싱 로직은, 예측된 윈도우의 신뢰도 레벨에 기반하여, 제조 장비(예컨대, 이온 주입 툴)의 하나 이상의 컴포넌트들이 고장-전 윈도우 내에 있는지 여부를 예측한다. 프로세싱 로직은, 예측된 윈도우의 신뢰도 레벨이 고장-전 윈도우의 50% 초과의 신뢰도를 표시한다고 결정함으로써, 하나 이상의 컴포넌트들이 고장-전 윈도우 내에 있다고 예측할 수 있다.
[0074] 블록(414)에서, 프로세싱 로직은, 이온 주입 툴의 하나 이상의 컴포넌트들이 고장-전 윈도우 내에 있다는 것을 예측된 윈도우의 신뢰도 레벨이 표시하는지 여부를 결정한다. 하나 이상의 컴포넌트들이 고장-전 윈도우 내에 있지 않다는 것을 예측된 윈도우의 신뢰도 레벨이 표시하는 것에 대한 응답으로, 흐름은 블록(402)으로 계속되며, 여기서 부가적인 센서 데이터가 수신된다(예컨대, 방법(400)의 루프). 하나 이상의 컴포넌트들이 고장-전 윈도우 내에 있다는 것을 예측된 윈도우의 신뢰도 레벨이 표시하는 것에 대한 응답으로, 흐름은 블록(416)으로 계속된다. 하나 이상의 컴포넌트들은 이온 주입 툴의 컴포넌트, 이를테면 플러드 건 또는 소스 건 중 적어도 하나일 수 있다.
[0075] 블록(416)에서, 프로세싱 로직은 (예컨대, 하나 이상의 컴포넌트들이 고장-전 윈도우 내에 있다고 예측하는 것에 대한 응답으로) 이온 주입 툴과 연관된 정정 액션을 수행한다. 정정 액션은 그래픽 사용자 인터페이스로 하여금 경고를 디스플레이하게 하는 것, 제조 장비(예컨대, 이온 주입 툴)의 동작을 중단시키는 것(예컨대, 셧 다운시키는 것, 속도를 늦추는 것, 특정 프로세스들을 중지시키는 것 등), 또는 하나 이상의 컴포넌트들로 하여금 교체되게 하는 것 중 하나 이상을 포함할 수 있다.
[0076] 도 5는 특정한 실시예들에 따른, 컴포넌트 고장을 예측하기 위해 머신 러닝 모델을 트레이닝시키기 위한 방법(500)의 흐름도이다. 일부 실시예들에서, 방법(500)은 도 1의 고장 예측 시스템(110)의 프로세싱 로직에 의해 수행된다. 일부 실시예들에서, 방법(500)은 도 1의 서버 머신(180)의 프로세싱 로직에 의해 수행된다. 일부 실시예들에서, 방법(500)은 도 1의 서버 머신(180)의 트레이닝 엔진(182)에 의해 수행된다.
[0077] 블록(502)에서, 프로세싱 로직은 제조 장비(124)(예컨대, 이온 주입 툴)와 연관된 센서들(예컨대, 센서들(126))로부터, 특징들(예컨대, 제조 장비(124)와 연관된 센서들(126)로부터 수신된 측정 값들 및 대응하는 타임 스탬프들)에 대응하는 이력 센서 데이터(예컨대, 이력 센서 데이터(144))를 수신한다.
[0078] 일부 실시예들에서, 블록(504)에서, 프로세싱 로직은 이력 센서 데이터로부터 노이즈를 제거한다. 프로세싱 로직은 간격들에 걸쳐 이력 센서 데이터를 평균하는 것 또는 이상치들을 제거하는 것 중 하나 이상에 의해 이력 센서 데이터로부터 노이즈를 제거할 수 있다.
[0079] 블록(506)에서, 프로세싱 로직은 이력 센서 데이터의 제1 서브세트에 대한 정상 동작 윈도우 및 이력 센서 데이터의 제2 서브세트에 대한 고장-전 윈도우를 포함하는 윈도우들(예컨대, 이력 윈도우들(156A))을 결정한다. 프로세싱 로직은 (예컨대, 센서 데이터 값들의 피크에 기반하여, 도 8b에서와 같이 헬스 인덱스(health index) 값들의 피크에 기반하여) 고장 시간을 결정함으로써 윈도우들을 결정할 수 있다. 프로세싱 로직은, 고장 시간이 정상 동작 윈도우에 대응하기 전의 세팅된 시간의 양(예컨대, 24시간, 48시간)을 초과하여 캡처된 센서 데이터, 고장 시간과 고장이 정상 고장-전 윈도우에 대응하기 전의 세팅된 시간의 양 사이에서 캡처된 센서 데이터, 및 고장 시간이 고장 윈도우에 대응한 이후에 캡처된 센서 데이터를 결정할 수 있다.
[0080] 블록(508)에서, 프로세싱 로직은 이력 센서 데이터에 대한 부가적인 특징들(예컨대, 부가적인 이력 특징들(148))을 생성하기 위해 특징 분석을 수행한다. 부가적인 특징들은 복수의 센서들 중 하나 이상으로부터의 대응하는 센서 데이터의 비율, 범위, 델타, 또는 최대 값 중 하나 이상을 포함할 수 있다. 프로세싱 로직은, 매트릭스로 이력 센서 데이터를 수신하고 1-차원 콘볼루션들을 통해 매트릭스를 프로세싱하여 복수의 부가적인 특징들을 출력함으로써 특징 분석을 수행할 수 있다.
[0081] 일부 실시예들에서, 프로세싱 로직은 부가적인 특징들(예컨대, 부가적인 특징들과 연관된 동작들 및 특정 센서들)에 대응하는 사용자 입력을 수신한다. 프로세싱 로직은 (예컨대, 부가적인 특징들의 사용자 입력에 기반하여, 파라미터들의 사용자 입력을 이용하여, 사용자 입력 없이 등으로) CNN을 트레이닝시킬 수 있고, 트레이닝된 CNN은 트레이닝된 머신 러닝 모델을 사용하기 위해 부가적인 특징들(예컨대, 부가적인 현재 특징들(154))을 결정하도록 방법(400)에서 사용될 수 있다.
[0082] 블록(510)에서, 프로세싱 로직은 트레이닝된 머신 러닝 모델을 생성하기 위해, (예컨대, 노이즈의 제거에 후속하는) 부가적인 특징들을 포함하는 트레이닝 데이터 및 윈도우들을 포함하는 타겟 출력을 사용하여 (예컨대, 하나 이상의 LSTM 레벨들 및 소프트맥스 층을 포함하는) 머신 러닝 모델을 트레이닝시킨다. 트레이닝된 머신 러닝 모델은, (예컨대, 하나 이상의 이온 주입 툴들, 하나 이상의 제조 장비(124) 등으로부터의) 하나 이상의 이온 주입 툴 컴포넌트들이 고장-전 윈도우 내에 있는지 여부를 표시하는 하나 이상의 출력들을 생성하는 것이 가능할 수 있다(도 4의 방법(400) 참조).
[0083] 일부 실시예들에서, 프로세싱 로직은 상이한 특징들(예컨대, 이력 특징들(146), 부가적인 이력 특징들(148)) 또는 상이한 하이퍼파라미터들 중 하나 이상을 사용하여 다수의 모델들을 트레이닝시킨다. 프로세싱 로직은 가장 높은 정확도를 제공하는 모델을 선택하기 위해 상이한 모델들을 트레이닝시키는 것, 검증하는 것, 또는 테스팅하는 것(예컨대, 모델들을 평가하는 것) 중 하나 이상을 행할 수 있다.
[0084] 일부 실시예들에서, 프로세싱 로직은, (예컨대, 하나 이상의 이온 주입 툴들과 연관된) 정정 액션을 수행하기 위해 제조 장비의 하나 이상의 컴포넌트들(예컨대, 이온 주입 툴들의 플러드 건, 소스 건 등)이 고장-전 윈도우 내에 있는지 여부를 예측하도록, 트레이닝된 머신 러닝 모델을 배치(deploy)한다. 일부 실시예들에서, 트레이닝된 머신 러닝 모델은, 하나 이상의 컴포넌트들이 고장-전 윈도우 내에 있는지 여부를 예측하기 위해 (예컨대, 머신 러닝 모델을 트레이닝시키기 위해 사용되는 이온 주입 툴과는 상이한) 제2 이온 주입 툴과 연관된 제2 복수의 센서들로부터의 현재 센서 데이터에 기반한 입력을 수신하기 위한 것이다.
[0085] 도 6은 특정한 실시예들에 따른, 컴포넌트 고장을 예측하기 위한 머신 러닝 모델에 대한 데이터 세트를 생성하기 위한 방법(600)의 흐름도이다. 고장 예측 시스템(110)은 본 개시내용의 실시예들에 따라, 머신 러닝 모델을 트레이닝시키는 것, 검증하는 것, 또는 테스팅하는 것 중 적어도 하나를 행하기 위해 방법(600)을 사용할 수 있다. 일부 실시예들에서, 방법(600)의 하나 이상의 동작들은 도 1 및 도 2에 관해 설명된 바와 같이 서버 머신(170)의 데이터 세트 생성기(172)에 의해 수행될 수 있다. 도 1 및 도 2에 관해 설명된 컴포넌트들이 도 6의 양상들을 예시하기 위해 사용될 수 있다는 것을 유의할 수 있다.
[0086] 도 6을 참조하면, 블록(602)에서, 프로세싱 로직은 데이터 세트 T를 비어있는 세트로 초기화시킨다.
[0087] 블록(604)에서, 프로세싱 로직은 (도 2에 관해 설명된 바와 같이) 이력 센서 데이터에 대한 특징들의 제1 세트를 포함하는 제1 데이터 입력(예컨대, 제1 트레이닝 입력, 제1 검증 입력)을 생성한다. 제1 데이터 입력은, 이력 센서 데이터(예컨대, 이력 센서 데이터(144))의 하나 이상의 특징들(예컨대, 이력 특징들(146)) 및/또는 하나 이상의 부가적인 특징들(예컨대, 부가적인 이력 특징들(148))을 포함할 수 있다.
[0088] 블록(606)에서, 프로세싱 로직은 데이터 입력들 중 하나 이상(예컨대, 제1 데이터 입력)에 대한 제1 타겟 출력을 생성한다. 제1 타겟 출력은 이력 윈도우(예컨대, 이력 윈도우(156A))의 표시를 제공한다.
[0089] 블록(608)에서, 프로세싱 로직은 선택적으로, 입력/출력 맵핑을 표시하는 맵핑 데이터를 생성한다. 입력/출력 맵핑(또는 맵핑 데이터)은 데이터 입력(예컨대, 본 명세서에 설명된 데이터 입력들 중 하나 이상), 데이터 입력에 대한 타겟 출력(예컨대, 여기서 타겟 출력은 예측된 윈도우를 식별함), 및 데이터 입력(들)과 타겟 출력 사이의 연관을 지칭할 수 있다.
[0090] 블록(610)에서, 프로세싱 로직은 블록(610)에서 생성된 맵핑 데이터를 데이터 세트 T에 추가한다.
[0091] 블록(612)에서, 프로세싱 로직은 데이터 세트 T가 머신 러닝 모델(190)을 트레이닝시키는 것, 검증하는 것, 또는 테스팅하는 것 중 적어도 하나를 행하는 데 충분한지 여부에 기반하여 분기한다. 충분하다면, 실행은 블록(614)으로 진행되고, 그렇지 않으면, 실행은 다시 블록(604)에서 계속된다. 일부 실시예들에서, 데이터 세트 T의 충분성이 데이터 세트 내의 입력/출력 맵핑들의 수에 간단히 기반하여 결정될 수 있는 반면, 일부 다른 구현들에서, 데이터 세트(T)의 충분성이 입력/출력 맵핑들의 수에 부가하여 또는 그 대신에, 하나 이상의 다른 기준들(예컨대, 데이터 예들의 다이버시티의 척도, 정확도 등)에 기반하여 결정될 수 있다는 것을 유의해야 한다.
[0092] 블록(614)에서, 프로세싱 로직은 머신 러닝 모델(190)을 트레이닝시키거나, 검증하거나, 또는 테스팅하기 위해 데이터 세트 T를 제공한다. 일부 실시예들에서, 데이터 세트 T는 트레이닝 세트이고, 트레이닝을 수행하기 위해 서버 머신(180)의 트레이닝 엔진(182)에 제공된다. 일부 실시예들에서, 데이터 세트 T는 검증 세트이고, 검증을 수행하기 위해 서버 머신(180)의 검증 엔진(184)에 제공된다. 일부 실시예들에서, 데이터 세트 T는 테스팅 세트이고, 테스팅을 수행하기 위해 서버 머신(180)의 테스팅 엔진(186)에 제공된다. 일부 실시예들에서, 데이터 세트 T는 트레이닝 세트, 검증 세트, 및 테스팅 세트로 분할될 수 있다(예컨대, 트레이닝 세트는 60%일 수 있고, 검증 세트는 20%일 수 있고, 테스팅 세트는 20%일 수 있음). 머신 러닝 모델이 트레이닝되는 것(예컨대, 검증되고, 테스팅되며, 임계 정확도를 충족시키는 것)에 대한 응답으로, 트레이닝된 머신 러닝 모델이 고장 예측을 위해 (예컨대, 고장 예측 컴포넌트(132)에 의해) 사용될 수 있다(도 3 및 도 4 참조).
[0093] 뉴럴 네트워크의 경우, 예컨대, 주어진 입력/출력 맵핑의 입력 값들(예컨대, 데이터 입력들(210)과 연관된 수치 값들)은 뉴럴 네트워크에 입력되고, 입력/출력 맵핑의 출력 값들(예컨대, 타겟 출력들(220)과 연관된 수치 값들)은 뉴럴 네트워크의 출력 노드들에 저장된다. 이어서, 뉴럴 네트워크 내의 연결 가중치들은 러닝 알고리즘(예컨대, 역 전파(back propagation) 등)에 따라 조정되고, 절차는 데이터 세트 T 내의 다른 입력/출력 맵핑들에 대해 반복된다. 트레이닝된 머신 러닝 모델은 하나 이상의 컴포넌트들에 대한 고장 윈도우를 예측하기 위해 (고장 예측 서버(130)의) 고장 예측 컴포넌트(132)에 의해 구현될 수 있다.
[0094] 도 7a 및 도 7b는 특정한 실시예들에 따른, 고장 예측을 위한 시스템들(700A 및 700B)을 예시하는 블록 다이어그램들이다.
[0095] 도 7a를 참조하면, 시스템(700A)은 입력 데이터(710)를 수신할 수 있다. 입력 데이터(710)는 행렬 내의 센서 데이터일 수 있다. 노이즈는 (예컨대, 센서 데이터를 생성하기 위해 간격들에 걸쳐 원시 데이터를 평균함으로써, 센서 데이터로부터 이상치들을 제거함으로써) 센서 데이터로부터 제거될 수 있다.
[0096] 시스템(700A)은 입력 데이터(710)에 대해 (예컨대, 트레이닝된 CNN의) 1-차원 콘볼루션들(720)을 수행할 수 있다. 일부 실시예들에서, (예컨대, 1-차원 콘볼루션들을 수행하는) CNN은 (예컨대, 부가적인 특징들을 생성하기 위해 사용될 동작들을 표시하는) 부가적인 특징들과 연관된 사용자 입력에 기반하여 트레이닝되었다. 시스템(700A)은 (예컨대, 노이즈의 제거에 후속하여) 입력 데이터(710)에 대해 1-차원 콘볼루션들(720)을 수행하여, 입력 데이터에 대한 부가적인 특징들을 생성하도록 특징 분석을 수행할 수 있다. 부가적인 특징들은 대응하는 센서 데이터의 비율, 범위, 델타, 최대 값 등 중 하나 이상을 포함할 수 있다.
[0097] 시스템(700A)은 머신 러닝 모델의 LSTM 층(730)에 부가적인 특징들을 입력할 수 있다. LSTM 층들의 수는 센서 데이터에 기반하여 머신 러닝 모델을 트레이닝 및 리트레이닝시킴으로써 튜닝되는 하이퍼파라미터일 수 있다.
[0098] 시스템(700A)은 LSTM 층들(730)의 출력을 소프트맥스 층(740)에 송신할 수 있고, 소프트맥스 층(740)은 하나 이상의 예측된 윈도우들(예컨대, 클래스들)에 대한 대응하는 신뢰도 레벨을 생성할 수 있다.
[099] 도 7b를 참조하면, 시스템(700B)은 입력 데이터(710)에 기반한 부가적인 특징들을 수신할 수 있는 LSTM 층들(730)을 포함한다. LSTM 층들(730)의 출력은 소프트맥스 층(740)에 송신될 수 있다. 소프트맥스 층은 하나 이상의 출력들을 생성할 수 있다. 하나 이상의 출력들은 하나 이상의 예측된 윈도우들에 대한 대응하는 신뢰도 레벨을 포함할 수 있다. 예컨대, 소프트맥스 층은 정상 동작 윈도우의 제1 신뢰도 레벨, 고장-전 윈도우에 대한 제2 신뢰도 레벨, 및 고장 윈도우에 대한 제3 신뢰도 레벨을 생성할 수 있다. 신뢰도 레벨들은 최대 100%까지 합산될 수 있다. 50% 초과의 신뢰도 레벨에 대응하는 윈도우가 사용될 수 있다.
[0100] 도 8a 및 도 8b는 특정한 실시예들에 따른, 고장 예측을 예시하는 그래프들(800A 및 800B)이다.
[0101] 도 8a를 참조하면, 그래프(800A)는 시간에 걸쳐 특징 값들(예컨대, 부가적인 이력 특징들(148), 부가적인 현재 특징들(154) 등)을 디스플레이한다. 제1 시간 윈도우는 클래스 0(예컨대, 정상 동작 윈도우)에 대응할 수 있다. 제2 시간 윈도우는 클래스 1(예컨대, 고장-전 윈도우)에 대응할 수 있다. 제3 시간 윈도우는 클래스 2(예컨대, 고장 윈도우)에 대응할 수 있다. 클래스 0은 종료될 수 있으며, 클래스 1은 고장 날짜(예컨대, 이력 고장 날짜, 예측된 고장 날짜) 이전에, 세팅된 시간의 양(예컨대, 24시간, 48시간 등)을 시작할 수 있다. 클래스 1은 종료될 수 있으며, 클래스 2는 하나 이상의 컴포넌트들의 고장 시에 시작할 수 있다. 이력 센서 데이터는 대응하는 윈도우에 따라 라벨링될 수 있다(예컨대, 클래스 0, 1, 또는 2).
[0102] 도 8b를 참조하면, 그래프(800B)는 시간에 걸쳐 플로팅(plot)된 헬스 인덱스(예컨대, 대응하는 타임 스탬프들을 가짐)를 디스플레이한다. 헬스 인덱스는 콘볼루션 LSTM의 결과, 센서 데이터, 부가적인 특징들 등 중 하나 이상에 기반할 수 있다.
[0103] 헬스 인덱스는 정상 동작 윈도우에 걸쳐 실질적으로 안정적일 수 있다. 고장-전 윈도우 동안, 헬스 인덱스는 피크일 수 있으며, 실질적으로 고장 시에, 헬스 인덱스는 드롭(drop)될 수 있다. 센서 데이터의 제1 서브세트는 정상 동작 윈도우 내의 타임 스탬프들에 대응할 수 있고, 센서 데이터의 제2 서브세트는 고장-전 윈도우 내의 타임 스탬프들에 대응할 수 있으며, 센서 데이터의 제3 서브세트는 고장 윈도우 내의 타임 스탬프들에 대응할 수 있다. 센서 데이터의 서브세트들 각각은 대응하는 윈도우에 따라 라벨링될 수 있다(예컨대, 클래스).
[0104] 도 9는 특정한 실시예들에 따른, 컴퓨터 시스템(900)을 예시하는 블록 다이어그램이다. 일부 실시예들에서, 컴퓨터 시스템(900)은 (예컨대, 네트워크, 이를테면 LAN(Local Area Network), 인트라넷, 엑스트라넷, 또는 인터넷을 통해) 다른 컴퓨터 시스템들에 연결될 수 있다. 컴퓨터 시스템(900)은 클라이언트-서버 환경에서 서버 또는 클라이언트 컴퓨터의 자격으로, 또는 피어-투-피어 또는 분산형 네트워크 환경에서 피어 컴퓨터로서 동작할 수 있다. 컴퓨터 시스템(900)은 PC(personal computer), 태블릿 PC, STB(set-top box), PDA(Personal Digital Assistant), 셀룰러 텔레폰, 웹 어플라이언스, 서버, 네트워크 라우터, 스위치 또는 브리지, 또는 해당 디바이스가 행할 액션들을 특정하는 한 세트의 명령들을 (순차적으로 또는 다른 방식으로) 실행할 수 있는 임의의 디바이스에 의해 제공될 수 있다. 추가로, 용어 "컴퓨터"는 본 명세서에 설명된 방법들 중 임의의 하나 이상을 수행하기 위한 명령들의 세트(또는 다수의 세트들)를 개별적으로 또는 공동으로 실행하는 컴퓨터들의 임의의 집합을 포함할 것이다.
[0105] 추가적인 양상에서, 컴퓨터 시스템(900)은 프로세싱 디바이스(902), 휘발성 메모리(904)(예컨대, RAM(random access memory)), 비 휘발성 메모리(906)(예컨대, ROM(read-only memory) 또는 EEPROM(electrically-erasable programmable ROM)) 및 데이터 저장 디바이스(916)를 포함할 수 있으며, 이들은 버스(908)를 통해 서로 통신할 수 있다.
[0106] 프로세싱 디바이스(902)는 하나 이상의 프로세서들, 이를테면 범용 프로세서(이를테면, 예컨대, CISC(complex instruction set computing) 마이크로프로세서, RISC(reduced instruction set computing) 마이크로프로세서, VLIW(very long instruction word) 마이크로프로세서, 다른 타입들의 명령 세트들을 구현하는 마이크로프로세서, 또는 명령 세트들의 타입들의 조합을 구현하는 마이크로프로세서) 또는 특수화된 프로세서(이를테면, 예컨대, ASIC(application specific integrated circuit), FPGA(field programmable gate array), DSP(digital signal processor), 또는 네트워크 프로세서)에 의해 제공될 수 있다.
[0107] 컴퓨터 시스템(900)은 네트워크 인터페이스 디바이스(922)를 더 포함할 수 있다. 컴퓨터 시스템(900)은 또한, 비디오 디스플레이 유닛(910)(예컨대, LCD), 영숫자 입력 디바이스(912)(예컨대, 키보드), 커서 제어 디바이스(914)(예컨대, 마우스), 및 신호 생성 디바이스(920)를 포함할 수 있다.
[0108] 일부 구현들에서, 데이터 저장 디바이스(916)는, 본 명세서에 설명된 방법들 또는 기능들 중 임의의 하나 이상을 인코딩하는 명령들(926)을 저장할 수 있는 비-일시적인 컴퓨터-판독가능 저장 매체(924)를 포함할 수 있으며, 그 명령들은 도 1의 고장 예측 컴포넌트(132) 또는 정정 액션 컴포넌트(122)를 인코딩하는 명령들 및 본 명세서에 설명된 방법들을 구현하기 위한 명령들을 포함한다.
[0109] 명령들(926)은 또한, 컴퓨터 시스템(900)에 의한 그 명령들의 실행 동안 휘발성 메모리(904) 내에 그리고/또는 프로세싱 디바이스(902) 내에 완전히 또는 부분적으로 상주할 수 있고, 따라서 휘발성 메모리(904) 및 프로세싱 디바이스(902)는 또한 머신-판독가능 저장 매체들을 구성할 수 있다.
[0110] 컴퓨터-판독가능 저장 매체(924)가 예시적인 예들에서 단일 매체로서 도시되지만, 용어 "컴퓨터-판독가능 저장 매체"는, 실행가능 명령들의 하나 이상의 세트들을 저장하는 단일 매체 또는 다수의 매체들(예컨대, 중앙집중식 또는 분산형 데이터베이스, 및/또는 연관된 캐시들 및 서버들)을 포함할 것이다. 용어 "컴퓨터-판독가능 저장 매체"는 또한, 컴퓨터로 하여금 본 명세서에 설명된 방법들 중 임의의 하나 이상을 수행하게 하는, 컴퓨터에 의한 실행을 위한 명령들의 세트를 저장 또는 인코딩할 수 있는 임의의 유형의 매체를 포함할 것이다. 용어 "컴퓨터-판독가능 저장 매체"는 솔리드-스테이트 메모리들, 광학 매체들, 및 자기 매체들을 포함할 것이다(그러나 이에 제한되지 않음).
[0111] 본 명세서에 설명된 방법들, 컴포넌트들, 및 특징들은 이산 하드웨어 컴포넌트들에 의해 구현될 수 있거나, 또는 다른 하드웨어 컴포넌트들, 이를테면 ASIC들, FPGA들, DSP들 또는 유사한 디바이스들의 기능에 통합될 수 있다. 부가적으로, 방법들, 컴포넌트들, 및 특징들은 하드웨어 디바이스들 내의 펌웨어 모듈들 또는 기능 회로부에 의해 구현될 수 있다. 추가로, 방법들, 컴포넌트들, 및 특징들은 하드웨어 디바이스들과 컴퓨터 프로그램 컴포넌트들의 임의의 조합으로, 또는 컴퓨터 프로그램들로 구현될 수 있다.
[0112] 달리 구체적으로 언급되지 않으면, "수신", "수행", "제공", "획득", "추출", "예측", "제거", "야기", "중단", "결정", "트레이닝", "배치" 등과 같은 용어들은, 컴퓨터 시스템 레지스터들 및 메모리들 내에서 물리적(전자) 양들로서 표현된 데이터를 조작하고 그들을, 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 그러한 정보 저장, 송신 또는 디스플레이 디바이스들 내의 물리적 양들로서 유사하게 표현되는 다른 데이터로 변환하는, 컴퓨터 시스템들에 의해 수행되거나 구현되는 액션들 및 프로세스들을 지칭한다. 또한, 본 명세서에서 사용되는 바와 같은 용어들 "제1", "제2", "제3", "제4" 등은 상이한 엘리먼트들 간을 구별하기 위한 라벨들로서 의미되며, 이들의 숫자 지정에 따른 서수적 의미를 갖지 않을 수 있다.
[0113] 본 명세서에 설명된 예들은 또한, 본 명세서에 설명된 방법들을 수행하기 위한 장치에 관한 것이다. 이러한 장치는 본 명세서에 설명된 방법들을 수행하도록 특별히 구성될 수 있거나, 또는 그 장치는 컴퓨터 시스템에 저장된 컴퓨터 프로그램에 의해 선택적으로 프로그래밍된 범용 컴퓨터 시스템을 포함할 수 있다. 그러한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 저장 매체에 저장될 수 있다.
[0114] 본 명세서에 설명된 방법들 및 예시적인 예들은 본질적으로, 임의의 특정한 컴퓨터 또는 다른 장치에 관련되지 않는다. 다양한 범용 시스템들은 본 명세서에 설명된 교시들에 따라 사용될 수 있거나, 또는 본 명세서에 설명된 방법들 및/또는 이들의 개별적인 기능들, 루틴들, 서브루틴들, 또는 동작들 각각을 수행하기 위해 더 특수화된 장치를 구성하는 것이 편리한 것으로 입증될 수 있다. 다양한 이들 시스템들에 대한 구조의 예들은 위의 설명에서 기재된다.
[0115] 위의 설명은 제한적인 것이 아니라 예시적인 것으로 의도된다. 본 개시내용이 특정 예시적인 예들 및 구현들을 참조하여 설명되었지만, 본 개시내용이 설명된 예들 및 구현들로 제한되지 않는다는 것이 인식될 것이다. 본 개시내용의 범위는, 다음의 청구항들이 권리를 가지는 등가물들의 전체 범위와 다음의 청구항들을 참조하여 결정되어야 한다.

Claims (20)

  1. 센서 데이터에 기반하여, 기판 프로세싱 장비의 하나 이상의 컴포넌트들이 정상 동작 윈도우 이후의 고장-전(pre-failure) 윈도우 내에 있다고 결정하는 단계 ― 상기 정상 동작 윈도우 내의 대응하는 데이터 포인트들은 제 1 헬스 인덱스 값을 따라 실질적으로 안정적이고, 상기 고장-전 윈도우 내의 대응하는 데이터 포인트들은 상기 제 1 헬스 인덱스 값으로부터 제 2 헬스 인덱스 값에서의 피크로 증가함 ―; 및
    상기 하나 이상의 컴포넌트들이 상기 고장-전 윈도우 내에 있다고 결정하는 것에 대한 응답으로, 상기 기판 프로세싱 장비의 상기 하나 이상의 컴포넌트들과 연관된 정정 액션이 수행되도록 하는 단계
    를 포함하는,
    방법.
  2. 제1항에 있어서,
    상기 하나 이상의 컴포넌트들이 고장-전 윈도우 내에 있다고 결정하는 단계는,
    트레이닝된 머신 러닝 모델에 상기 센서 데이터를 입력으로서 제공하는 단계; 및
    상기 트레이닝된 머신 러닝 모델로부터, 상기 하나 이상의 컴포넌트들이 상기 고장-전 윈도우 내에 있음을 나타내는 하나 이상의 출력들을 획득하는 단계를 포함하는,
    방법.
  3. 제2항에 있어서,
    상기 트레이닝된 머신 러닝 모델은 이력 센서 데이터에 기반하여, 그리고 상기 이력 센서 데이터와 연관된 이력 윈도우들에 기반하여 트레이닝되고, 상기 이력 윈도우들은 상기 정상 동작 윈도우 및 상기 고장-전 윈도우를 포함하는,
    방법.
  4. 제1항에 있어서,
    상기 센서 데이터는 상기 기판 프로세싱 장비의 상기 하나 이상의 컴포넌트들과 연관된,
    방법.
  5. 제1항에 있어서,
    상기 고장-전 윈도우의 대응하는 데이터 포인트들은 상기 제 2 헬스 인덱스 값에서의 피크로부터 상기 제 3 헬스 인덱스 값으로 감소하고, 상기 제 3 헬스 인덱스 값은 상기 고장-전 윈도우의 종료에서의 고장 시간에 대응하는,
    방법.
  6. 제5항에 있어서,
    상기 고장 시간은 상기 하나 이상의 컴포넌트들의 고장에 대응하는,
    방법.
  7. 제1항에 있어서,
    상기 정정 액션이 수행되도록 하는 단계는,
    그래픽 사용자 인터페이스로 하여금 경고를 디스플레이하게 하는 단계;
    상기 기판 프로세싱 장비의 동작을 중단시키는 단계; 또는
    상기 하나 이상의 컴포넌트들로 하여금 교체되게 하는 단계
    중 하나 이상을 포함하는,
    방법.
  8. 기판 프로세싱 장비와 연관된 이력 센서 데이터를 식별하는 단계; 및
    상기 이력 센서 데이터와 연관된 이력 윈도우들을 식별하는 단계를 포함하고,
    상기 이력 윈도우들의 정상 동작 윈도우 내의 상기 이력 센서 데이터의 대응하는 데이터 포인트들은 제 1 헬스 인덱스 값을 따라 실질적으로 안정적이고,
    상기 이력 윈도우들의 고장-전 윈도우 내의 상기 이력 센서 데이터의 대응하는 데이터 포인트들은 상기 제 1 헬스 인덱스 값으로부터 제 2 헬스 인덱스 값에서의 피크로 증가하고, 그리고
    상기 이력 센서 데이터 및 상기 이력 윈도우들은, 하나 이상의 컴포넌트들과 연관된 정정 액션이 수행되도록 현재 센서 데이터에 기반하여 상기 하나 이상의 컴포넌트들이 상기 고장-전 윈도우 내에 있는지 여부를 결정하는데 사용되는,
    방법.
  9. 제8항에 있어서,
    트레이닝된 머신 러닝 모델을 생성하기 위해, 상기 이력 센서 데이터를 포함하는 트레이닝 데이터 및 상기 이력 윈도우들을 포함하는 타겟 출력을 사용하여 머신 러닝 모델을 트레이닝시키는 단계를 더 포함하며,
    상기 트레이닝된 머신 러닝 모델은, 상기 하나 이상의 컴포넌트들과 연관된 정정 액션이 수행되도록 상기 하나 이상의 컴포넌트들이 상기 고장-전 윈도우 내에 있는지 여부를 표시하는 하나 이상의 출력들을 생성하는 것이 가능한,
    방법.
  10. 제8항에 있어서,
    상기 현재 센서 데이터는 현재 기판 프로세싱 장비의 하나 이상의 컴포넌트들과 연관되는,
    방법.
  11. 제8항에 있어서,
    상기 고장-전 윈도우의 대응하는 데이터 포인트들은 상기 제 2 헬스 인덱스 값에서의 피크로부터 상기 고장-전 윈도우의 종료에서의 고장 시간에 대응하는 제 3 헬스 인덱스 값으로 감소하는,
    방법.
  12. 제11항에 있어서,
    상기 고장 시간은 상기 하나 이상의 컴포넌트들의 고장에 대응하는,
    방법.
  13. 제8항에 있어서,
    상기 정정 액션이 수행되도록 하는 것은,
    그래픽 사용자 인터페이스로 하여금 경고를 디스플레이하게 하는 것;
    상기 기판 프로세싱 장비의 동작을 중단시키는 것; 또는
    상기 하나 이상의 컴포넌트들로 하여금 교체되게 하는 것
    중 하나 이상을 포함하는,
    방법.
  14. 메모리; 및
    상기 메모리에 커플링된 프로세싱 디바이스를 포함하고,
    상기 프로세싱 디바이스는,
    센서 데이터에 기반하여, 기판 프로세싱 장비의 하나 이상의 컴포넌트들이 정상 동작 윈도우 이후의 고장-전 윈도우 내에 있다고 결정하고 ― 상기 정상 동작 윈도우 내의 대응하는 데이터 포인트들은 제 1 헬스 인덱스 값을 따라 실질적으로 안정적이고, 상기 고장-전 윈도우 내의 대응하는 데이터 포인트들은 상기 제 1 헬스 인덱스 값으로부터 제 2 헬스 인덱스 값에서의 피크로 증가함 ―; 그리고
    상기 하나 이상의 컴포넌트들이 상기 고장-전 윈도우 내에 있다고 결정하는 것에 대한 응답으로, 상기 기판 프로세싱 장비의 상기 하나 이상의 컴포넌트들과 연관된 정정 액션이 수행되도록 하는,
    시스템.
  15. 제14항에 있어서,
    상기 하나 이상의 컴포넌트들이 고장-전 윈도우 내에 있다고 결정하기 위해 상기 프로세싱 디바이스는,
    트레이닝된 머신 러닝 모델에 상기 센서 데이터를 입력으로서 제공하고; 그리고
    상기 트레이닝된 머신 러닝 모델로부터, 상기 하나 이상의 컴포넌트들이 상기 고장-전 윈도우 내에 있음을 나타내는 하나 이상의 출력들을 획득하는,
    시스템.
  16. 제15항에 있어서,
    상기 트레이닝된 머신 러닝 모델은 이력 센서 데이터에 기반하여, 그리고 상기 이력 센서 데이터와 연관된 이력 윈도우들에 기반하여 트레이닝되고, 상기 이력 윈도우들은 상기 정상 동작 윈도우 및 상기 고장-전 윈도우를 포함하는, 시스템.
  17. 제14항에 있어서,
    상기 센서 데이터는 상기 기판 프로세싱 장비의 상기 하나 이상의 컴포넌트들과 연관된,
    시스템.
  18. 제14항에 있어서,
    상기 고장-전 윈도우의 대응하는 데이터 포인트들은 상기 제 2 헬스 인덱스 값에서의 피크로부터 상기 제 3 헬스 인덱스 값으로 감소하고, 상기 제 3 헬스 인덱스 값은 상기 고장-전 윈도우의 종료에서의 고장 시간에 대응하는,
    시스템.
  19. 제18항에 있어서,
    상기 고장 시간은 상기 하나 이상의 컴포넌트들의 고장에 대응하는,
    시스템.
  20. 제14항에 있어서,
    상기 정정 액션이 수행되도록 하기 위해 상기 프로세싱 디바이스는,
    그래픽 사용자 인터페이스로 하여금 경고를 디스플레이하는 것;
    상기 기판 프로세싱 장비의 동작을 중단시키는 것; 또는
    상기 하나 이상의 컴포넌트들로 하여금 교체되게 하는 것
    중 하나 이상을 하는,
    시스템.
KR1020237018033A 2019-01-31 2020-01-17 이온 주입 반도체 제조 툴에서의 컴포넌트 고장들의 정정 KR20230084317A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US16/264,034 US11348813B2 (en) 2019-01-31 2019-01-31 Correcting component failures in ion implant semiconductor manufacturing tool
US16/264,034 2019-01-31
KR1020217027568A KR102539586B1 (ko) 2019-01-31 2020-01-17 이온 주입 반도체 제조 툴에서의 컴포넌트 고장들의 정정
PCT/US2020/014197 WO2020159730A1 (en) 2019-01-31 2020-01-17 Correcting component failures in ion implant semiconductor manufacturing tool

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020217027568A Division KR102539586B1 (ko) 2019-01-31 2020-01-17 이온 주입 반도체 제조 툴에서의 컴포넌트 고장들의 정정

Publications (1)

Publication Number Publication Date
KR20230084317A true KR20230084317A (ko) 2023-06-12

Family

ID=71836669

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020217027568A KR102539586B1 (ko) 2019-01-31 2020-01-17 이온 주입 반도체 제조 툴에서의 컴포넌트 고장들의 정정
KR1020237018033A KR20230084317A (ko) 2019-01-31 2020-01-17 이온 주입 반도체 제조 툴에서의 컴포넌트 고장들의 정정

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020217027568A KR102539586B1 (ko) 2019-01-31 2020-01-17 이온 주입 반도체 제조 툴에서의 컴포넌트 고장들의 정정

Country Status (6)

Country Link
US (2) US11348813B2 (ko)
JP (2) JP7238146B2 (ko)
KR (2) KR102539586B1 (ko)
CN (1) CN113383282A (ko)
TW (2) TWI797418B (ko)
WO (1) WO2020159730A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210133213A1 (en) * 2019-10-31 2021-05-06 Vettd, Inc. Method and system for performing hierarchical classification of data
US11226805B2 (en) * 2019-07-31 2022-01-18 Dell Products L.P. Method and system for predicting upgrade completion times in hyper-converged infrastructure environments
JP7414589B2 (ja) * 2020-03-04 2024-01-16 住友重機械イオンテクノロジー株式会社 イオン注入装置およびモデル生成方法
CN112560327B (zh) * 2020-11-13 2024-03-12 盐城工学院 一种基于深度梯度下降森林的轴承剩余寿命预测方法
WO2022224693A1 (ja) * 2021-04-19 2022-10-27 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 製造方法、生成装置、推定装置、識別情報付与方法、及び付与装置
US20230008072A1 (en) * 2021-07-08 2023-01-12 Applied Materials, Inc. Method and mechanism for contact-free process chamber characterization
US20230016122A1 (en) * 2021-07-09 2023-01-19 Applied Materials, Inc. Method and apparatus for controlled ion implantation
KR20240063109A (ko) * 2021-09-02 2024-05-09 에이에스엠엘 네델란즈 비.브이. 선택된 패턴 세트를 평가하는 방법
CN117121169A (zh) * 2022-03-24 2023-11-24 株式会社日立高新技术 装置诊断***、装置诊断装置、半导体装置制造***以及装置诊断方法
CN116046078A (zh) * 2023-03-31 2023-05-02 东莞市楷德精密机械有限公司 一种半导体清洗设备的故障监测预警方法及***
US11995401B1 (en) 2023-04-30 2024-05-28 The Strategic Coach Inc. Systems and methods for identifying a name
CN117421679B (zh) * 2023-10-08 2024-06-18 宁波创基机械股份有限公司 一种注塑机周期管控方法、装置、电子设备及存储介质

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0613015A (ja) * 1992-06-25 1994-01-21 Nissin Electric Co Ltd イオン注入装置
JPH08153486A (ja) * 1994-11-29 1996-06-11 Nec Yamagata Ltd イオン注入装置
JP3265969B2 (ja) * 1995-07-07 2002-03-18 日新電機株式会社 イオン注入制御装置
JPH1012180A (ja) * 1996-06-17 1998-01-16 Nissin Electric Co Ltd イオン注入装置のファラディ
US6055460A (en) * 1997-08-06 2000-04-25 Advanced Micro Devices, Inc. Semiconductor process compensation utilizing non-uniform ion implantation methodology
US6895293B2 (en) 2000-09-14 2005-05-17 Applied Materials, Inc. Fault detection and virtual sensor methods for tool fault monitoring
JP2003077907A (ja) 2001-08-31 2003-03-14 Toshiba Corp 生産装置の異常停止回避方法及び異常停止回避システム
US6960774B2 (en) * 2003-11-03 2005-11-01 Advanced Micro Devices, Inc. Fault detection and control methodologies for ion implantation processes, and system for performing same
CA2882796A1 (en) * 2007-05-16 2009-02-12 Power Analytics Corporation Real-time predictive systems for intelligent energy monitoring and management of electrical power networks
US8078552B2 (en) * 2008-03-08 2011-12-13 Tokyo Electron Limited Autonomous adaptive system and method for improving semiconductor manufacturing quality
US7755066B2 (en) * 2008-03-28 2010-07-13 Varian Semiconductor Equipment Associates, Inc. Techniques for improved uniformity tuning in an ion implanter system
KR102427139B1 (ko) * 2014-02-12 2022-07-29 에이에스엠엘 네델란즈 비.브이. 프로세스 윈도우를 최적화하는 방법
JP6151227B2 (ja) 2014-08-25 2017-06-21 株式会社東芝 異常検知システム及び半導体デバイスの製造方法
US10430719B2 (en) 2014-11-25 2019-10-01 Stream Mosaic, Inc. Process control techniques for semiconductor manufacturing processes
US10984338B2 (en) * 2015-05-28 2021-04-20 Raytheon Technologies Corporation Dynamically updated predictive modeling to predict operational outcomes of interest
CN105353702B (zh) * 2015-11-17 2020-12-04 国家电网公司 高压设备智能监控***
US20170364818A1 (en) * 2016-06-17 2017-12-21 Business Objects Software Ltd. Automatic condition monitoring and anomaly detection for predictive maintenance
US10490116B2 (en) * 2016-07-06 2019-11-26 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device, memory device, and display system
KR101744194B1 (ko) 2016-08-19 2017-06-09 인하대학교 산학협력단 반도체 fab 제조공정에서 유클리드 거리를 활용한 웨이퍼 자동 불량 검사 분류 예측 장치 및 방법
WO2018063225A1 (en) * 2016-09-29 2018-04-05 Hewlett-Packard Development Company, L.P. Component failure prediction
CN106354123A (zh) * 2016-11-01 2017-01-25 武汉理工大学 基于物联网的大型机械设备故障自动检测***
TWI632441B (zh) 2017-01-20 2018-08-11 財團法人工業技術研究院 機台的預診斷方法及預診斷裝置
JP6860406B2 (ja) 2017-04-05 2021-04-14 株式会社荏原製作所 半導体製造装置、半導体製造装置の故障予知方法、および半導体製造装置の故障予知プログラム
CN107024267A (zh) * 2017-04-12 2017-08-08 无锡研测技术有限公司 基于径向基神经网络的称重设备传感器故障检测方法
CN107238507B (zh) * 2017-06-20 2019-12-31 佛山市南海区广工大数控装备协同创新研究院 一种基于深度学习的工业设备故障预测方法
CN108304941A (zh) * 2017-12-18 2018-07-20 中国软件与技术服务股份有限公司 一种基于机器学习的故障预测方法
CN109102189B (zh) * 2018-08-10 2022-02-11 杨璇 一种电气设备健康管理***和方法
JP7233201B2 (ja) 2018-11-20 2023-03-06 東京エレクトロン株式会社 搬送ユニットの監視方法及び監視装置並びに監視用モデル

Also Published As

Publication number Publication date
KR20210109673A (ko) 2021-09-06
CN113383282A (zh) 2021-09-10
US20220301903A1 (en) 2022-09-22
US11348813B2 (en) 2022-05-31
KR102539586B1 (ko) 2023-06-01
TW202329188A (zh) 2023-07-16
JP7238146B2 (ja) 2023-03-13
WO2020159730A1 (en) 2020-08-06
JP7472344B2 (ja) 2024-04-22
JP2022523101A (ja) 2022-04-21
TWI797418B (zh) 2023-04-01
JP2023085255A (ja) 2023-06-20
TW202044314A (zh) 2020-12-01
US20200251360A1 (en) 2020-08-06
US11862493B2 (en) 2024-01-02

Similar Documents

Publication Publication Date Title
KR102539586B1 (ko) 이온 주입 반도체 제조 툴에서의 컴포넌트 고장들의 정정
US20200104639A1 (en) Long short-term memory anomaly detection for multi-sensor equipment monitoring
US11610076B2 (en) Automatic and adaptive fault detection and classification limits
US20200264335A1 (en) Sensor metrology data intergration
US20210116895A1 (en) Characterizing and monitoring electrical components of manufacturing equipment
US20230059313A1 (en) On wafer dimensionality reduction
US20230281439A1 (en) Synthetic time series data associated with processing equipment
US20230306281A1 (en) Machine learning model generation and updating for manufacturing equipment
US20230113095A1 (en) Verification for improving quality of maintenance of manufacturing equipment
US20240062097A1 (en) Equipment parameter management at a manufacturing system using machine learning
US20230195074A1 (en) Diagnostic methods for substrate manufacturing chambers using physics-based models
US20230222264A1 (en) Processing chamber calibration
US20240054333A1 (en) Piecewise functional fitting of substrate profiles for process learning
US20240176338A1 (en) Determining equipment constant updates by machine learning
US20240176336A1 (en) Chamber matching by equipment constant updates
US20240176312A1 (en) Determining equipment constant updates by machine learning
US20240176334A1 (en) Adjusting chamber performance by equipment constant updates
TW202340884A (zh) 預防保養後的腔室條件監控及模擬
TW202424831A (zh) 在使用機器學習的製造系統處的裝備參數管理
TW202340885A (zh) 用於在評估系統與製造系統之間進行介接的通訊節點

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal