KR20240067834A - 피처 모델들을 사용한 프로세스 레시피 생성 및 매칭 - Google Patents

피처 모델들을 사용한 프로세스 레시피 생성 및 매칭 Download PDF

Info

Publication number
KR20240067834A
KR20240067834A KR1020237039220A KR20237039220A KR20240067834A KR 20240067834 A KR20240067834 A KR 20240067834A KR 1020237039220 A KR1020237039220 A KR 1020237039220A KR 20237039220 A KR20237039220 A KR 20237039220A KR 20240067834 A KR20240067834 A KR 20240067834A
Authority
KR
South Korea
Prior art keywords
processing
feature
component
target
recipe
Prior art date
Application number
KR1020237039220A
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 KR20240067834A publication Critical patent/KR20240067834A/ko

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/048Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators using a predictor
    • 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]
    • G05B19/41865Total 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] characterised by job scheduling, process planning, material flow
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32096Batch, recipe configuration for flexible batch control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45031Manufacturing semiconductor wafers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

방법은, 피처 모델들의 세트를 수신하는 단계 ― 피처 모델들의 세트의 각각의 피처 모델은 컴포넌트의 프로세싱과 연관되는 개개의 피처에 대응함 ―, 컴포넌트를 프로세싱하기 위한 타깃 속성들의 세트를 수신하는 단계 ― 타깃 속성들의 세트는, 각각의 피처에 대한, 개개의 타깃을 포함함 ―, 피처 모델들의 세트에 기초하여, 타깃 속성들의 세트를 고려하여, 예측된 프로세싱 파라미터들의 하나 이상의 세트들을 결정하는 단계, 예측된 프로세싱 파라미터들의 하나 이상의 세트들 중 개개의 세트에 각각 대응하는 하나 이상의 후보 프로세스 레시피들을 생성하는 단계 ― 하나 이상의 후보 프로세스 레시피들 각각은, 각각의 피처에 대한, 컴포넌트 프로세싱으로부터 유래하는 개개의 예측된 속성 값을 포함하는 예측된 속성들의 세트에 대응함 ―, 및 하나 이상의 후보 프로세스 레시피들로부터, 컴포넌트를 프로세싱하기 위한 프로세스 레시피를 선택하는 단계를 포함한다.

Description

피처 모델들을 사용한 프로세스 레시피 생성 및 매칭
[0001] 본 개시내용의 실시예들은, 일반적으로, 제조 시스템들에 관한 것으로, 더 구체적으로는, 피처 모델(feature model)들을 사용한 프로세스 레시피 생성 및 매칭에 관한 것이다.
[0002] 반도체 웨이퍼 프로세싱 복잡도는 디바이스 사이즈가 축소됨에 따라 증가하고 있다. 전형적인 웨이퍼 프로세싱 방법은 다수의 상이한 프로세스들을 가지며, 일부 고급 방법들(예를 들면, 플라즈마 에칭)은 20 개 또는 심지어 그 이상의 프로세스들을 갖는다. 각각의 프로세스는, 성능을 튜닝하고 최적화하기 위해 사용될 수 있는, "노브들"로서 또한 지칭되는, 다수의 프로세스 제어 변수들을 갖는다. 따라서, 주어진 프로세스를 튜닝하고 최적화하기 위해 이용 가능한 공간은 이론적으로 매우 크다.
[0003] 프로세스 엔지니어들은 그들의 경험 및 전문적 기술을 사용하여 예비 기준 프로세스를 선택하고 실험 계획법(design of experiment; DoE)을 위해 전용되는 제한된 수의 웨이퍼들(또는, 쿠폰들로서 지칭되는 웨이퍼들의 일부들)에 기초하여 프로세스를 미세 튜닝한다. DoE의 목표(goal)는 웨이퍼 상에서 소망된 명세를 달성하기 위해 프로세스를 재단하는 것이다. 그러나, DoE 데이터 수집을 위해 전체 웨이퍼들 또는 웨이퍼들의 일부들을 전용하는 것은 귀중한 리소스들을 낭비한다. 따라서, 종종 채택된 프로세스는 실행 가능한 프로세스일 수 있지만, 그러나 반드시 최적의 솔루션은 아니다.
[0004] 불충분한 인라인 정밀 계측 데이터에 의해 다른 병목 현상이 도입된다. 정밀 계측의 경우, 일반적으로 파괴적 기법들, 예컨대 투과 전자 현미경 검사(transmission electron microscopy; TEM)가 사용된다. 그러나, TEM이 매우 시간 소모적이기 때문에, 그것은 일반적으로 웨이퍼 전체에 걸친 적절한 커버리지 및 충분한 통계 데이터를 생성하지 않는다. 또한, TEM을 생산 라인에 통합하는 것은 불가능할 수 있는데, 왜냐하면, 그것이 파괴적 기법이기 때문이다.
[0005] 일부 실시예들에서, 방법이 제공된다. 방법은, 프로세싱 디바이스에 의해, 피처 모델들의 세트를 수신하는 단계 ― 피처 모델들의 세트의 각각의 피처 모델은 컴포넌트의 프로세싱과 연관되는 개개의 피처에 대응함 ―, 컴포넌트를 프로세싱하기 위한 타깃 속성들의 세트를 프로세싱 디바이스에 의해 수신하는 단계 ― 타깃 속성들의 세트는, 각각의 피처에 대한, 개개의 타깃을 포함함 ―, 피처 모델들의 세트에 기초하여 프로세싱 디바이스에 의해, 타깃 속성들의 세트를 고려하여, 예측된 프로세싱 파라미터들의 하나 이상의 세트들을 결정하는 단계, 프로세싱 디바이스에 의해, 예측된 프로세싱 파라미터들의 하나 이상의 세트들 중 개개의 세트에 각각 대응하는 하나 이상의 후보 프로세스 레시피들을 생성하는 단계 ― 하나 이상의 후보 프로세스 레시피들 각각은, 각각의 피처에 대한, 컴포넌트 프로세싱으로부터 유래하는 개개의 예측된 속성 값을 포함하는 예측된 속성들의 세트에 대응함 ―, 및 프로세싱 디바이스에 의해 하나 이상의 후보 프로세스 레시피들로부터, 컴포넌트를 프로세싱하기 위한 프로세스 레시피를 선택하는 단계를 포함한다.
[0006] 일부 실시예들에서, 메모리 및 메모리에 커플링된 프로세싱 디바이스를 포함하는 시스템이 제공된다. 프로세싱 디바이스는, 피처 모델들의 세트를 수신하는 것 ― 피처 모델들의 세트의 각각의 피처 모델은 컴포넌트의 프로세싱과 연관되는 개개의 피처에 대응함 ―, 컴포넌트를 프로세싱하기 위한 타깃 속성들의 세트를 수신하는 것 ― 타깃 속성들의 세트는, 각각의 피처에 대한, 개개의 타깃을 포함함 ―, 피처 모델들의 세트에 기초하여, 타깃 속성들의 세트를 고려하여, 예측된 프로세싱 파라미터들의 하나 이상의 세트들을 결정하는 것, 예측된 프로세싱 파라미터들의 하나 이상의 세트들 중 개개의 세트에 각각 대응하는 하나 이상의 후보 프로세스 레시피들을 생성하는 것 ― 하나 이상의 후보 프로세스 레시피들 각각은, 각각의 피처에 대한, 컴포넌트 프로세싱으로부터 유래하는 개개의 예측된 속성 값을 포함하는 예측된 속성들의 세트에 대응함 ―, 및 하나 이상의 후보 프로세스 레시피들로부터, 컴포넌트를 프로세싱하기 위한 프로세스 레시피를 선택하는 것을 포함하는 동작들을 수행할 것이다.
[0007] 일부 실시예들에서, 비-일시적 컴퓨터 판독 가능 저장 매체가 제공된다. 비-일시적 컴퓨터 판독 가능 저장 매체는, 프로세싱 디바이스에 의해 실행될 때, 프로세싱 디바이스로 하여금, 피처 모델들의 세트를 수신하는 것 ― 피처 모델들의 세트의 각각의 피처 모델은 컴포넌트의 프로세싱과 연관되는 개개의 피처에 대응함 ―, 컴포넌트를 프로세싱하기 위한 타깃 속성들의 세트를 수신하는 것 ― 타깃 속성들의 세트는, 각각의 피처에 대한, 개개의 타깃을 포함함 ―, 피처 모델들의 세트에 기초하여, 타깃 속성들의 세트를 고려하여, 예측된 프로세싱 파라미터들의 하나 이상의 세트들을 결정하는 것, 예측된 프로세싱 파라미터들의 하나 이상의 세트들 중 개개의 세트에 각각 대응하는 하나 이상의 후보 프로세스 레시피들을 생성하는 것 ― 하나 이상의 후보 프로세스 레시피들 각각은, 각각의 피처에 대한, 컴포넌트 프로세싱으로부터 유래하는 개개의 예측된 속성 값을 포함하는 예측된 속성들의 세트에 대응함 ―, 및 하나 이상의 후보 프로세스 레시피들로부터, 컴포넌트를 프로세싱하기 위한 프로세스 레시피를 선택하는 것을 포함하는 동작들을 수행하게 하는 명령들을 포함한다.
[0008] 본 개시내용은 유사한 참조 부호들이 유사한 엘리먼트들을 표시하는 첨부 도면들의 도해들에서, 제한으로서가 아니라, 예로서 예시된다. 본 개시내용에서 "하나의" 또는 "일" 실시예에 대한 상이한 언급들은 반드시 동일한 실시예에 대한 것은 아니며, 그러한 언급들은 적어도 하나를 의미한다는 것을 유의해야 한다.
[0009] 도 1은, 본 개시내용의 양상들에 따른, 예시적인 컴퓨터 시스템 아키텍처를 묘사한다.
[0010] 도 2는, 본 개시내용의 양상들에 따른, 피처 모델들을 사용하여 프로세스 레시피 생성 및 매칭을 구현하기 위한 시스템의 블록 다이어그램이다.
[0011] 도 3은, 본 개시내용의 양상들에 따른, 프로세스 레시피 생성을 구현하기 위한 시스템의 블록 다이어그램이다.
[0012] 도 4는, 본 개시내용의 양상들에 따른, 프로세스 레시피들을 생성하기 위해 수치 최적화 기법들을 수행하기 위한 시스템의 블록 다이어그램이다.
[0013] 도 5는, 본 개시내용의 양상들에 따른, 피처 모델들을 사용하여 프로세스 레시피 매칭을 구현하기 위한 센서 모델을 포함하는 시스템의 블록 다이어그램이다.
[0014] 도 6은, 본 개시내용의 양상들에 따른, 피처 모델들을 사용하여 프로세스 레시피 생성을 구현하기 위한 방법의 플로우차트이다.
[0015] 도 7은, 본 개시내용의 양상들에 따른, 피처 모델들을 사용하여 오프셋을 생성하기 위해 프로세스 레시피 매칭을 구현하기 위한 방법의 플로우차트이다.
[0016] 도 8은 본 개시내용의 하나 이상의 양상들에 따라 동작하는 예시적인 컴퓨팅 디바이스의 블록 다이어그램을 묘사한다.
[0017] 본원에서 설명되는 구현예들은 머신 러닝 피처 모델들을 사용한 프로세스 레시피("레시피") 생성 및 매칭을 제공한다. 장비의 마모, 프로세스 드리프트들, 일관되지 않은 동작, 유지 보수 이벤트들 및 제품 변경들과 같은 다양한 요인들에 기인하여 제조 프로세스들은 중단될 수 있다. 프로세스 중단들은 명세를 벗어나는 또는 타깃을 벗어나는 로트(lot)들을 초래할 수 있다. 예를 들면, 웨이퍼 두께 변동들을 초래하는 화학적 기계적 연마 프로세스에서 패드 마모를 해결하기 위해, 프로세스 엔지니어들은 레시피 조정들을 행하여 적절한 프로세스 타깃팅(process targeting)을 보장할 수 있다. 도구 노화(tool age)에 기인하는 다른 변동들은, 정정되지 않으면, 폐기 웨이퍼(scrapped wafer)들로 또한 이어질 수 있다.
[0018] 프로세스 변동들을 모니터링하고 감소시키기 위해, 고급 프로세스 제어(advanced process control; APC) 도구들, 예컨대 런 투 런(Run-to-Run; R2R) 제어기들이 사용될 수 있다. R2R 제어기들, 예컨대 Applied Materials®(어플라이드 머티리얼스)에 의해 제공되는 Applied SmartFactory® Run-to-Run Solution(어플라이드 스마트팩토리 런 투 런 솔루션)은 재료 컨텍스트의 지식, 프로세스 모델들로부터의 피드백, 유입하는 변동들, 계측 데이터 등에 기초하여 프로세스 성능(Cpk)을 개선할 수 있고 배치간(batch-to-batch; B2B), 로트간(lot-to-lot; L2L) 및/또는 웨이퍼간(wafer-to-wafer; W2W) 레시피 파라미터들을 최적화할 수 있다. R2R 제어기들은 프론트 엔드 반도체 웨이퍼 제조, 반도체 조립 및 테스팅, 디스플레이 제조 등의 동안에 수행되는 프로세스들을 개선하기 위해 사용될 수 있다. R2R을 통해, 제조사들은 특정한 속성들, 예컨대 웨이퍼 두께 및 임계 치수에 대한 필요한 타깃 값을 유지하기 위해 프로세스들에 대한 자동 조정들을 행할 수 있다. 제조사들은, R2R 기반의 프로세스 레시피들을 조정하기 위해 그리고 자동화된 양식으로 수행될 맞춤형 전략들, 예컨대 재작업을 정의하기 위해, 각각의 프로세스 동작으로부터의 계측 데이터를 또한 사용할 수 있다. 그 솔루션은, 산업 분야에서 항상 도전 과제를 제기하였던 다품종(high-mix) 및 소량(low-volume) 제조 동작들을 지원하도록 설계된다.
[0019] 종래에, 프로세싱 방법을 위한 레시피는 목표들의 세트로서 또한 지칭되는, 타깃 속성들(예를 들면, 온웨이퍼 특성(on-wafer characteristic)들)의 세트를 달성하기 위해 유저(예를 들면, 프로세스 엔지니어)에 의해 수동으로 입력되는 프로세스들 및 입력들 또는 레시피 파라미터들("파라미터들")의 세트를 포함하는 레시피 설정들의 테이블로서 구체화될 수 있다. 예를 들면, 입력들은 테이블의 행들에 대응할 수 있고 프로세스들은 테이블의 열들에 대응할 수 있다. 그러나, 파라미터들 및/또는 프로세스들의 그러한 수동 입력(manual population)은 다수의 소망된 특성들을 고려하여 최적화되지 않는 레시피들로 이어질 수 있다. 예를 들면, 소망된 특성들 사이에는 복잡한 상호 관계들이 존재할 수 있으며, 여기서 소망된 특성을 달성하기 위해 레시피의 파라미터들 및/또는 프로세스들을 수정하는 것은 하나 이상의 다른 소망된 특성들에 대해 잠재적으로 의도하지 않은 결과들을 가질 수 있다. 따라서, 이들 복잡한 상호 관계들 모두를 고려하지 않는 것에 의해, 차선책의 레시피가 생성될 수 있다.
[0020] 본 개시내용의 양상들은 피처 모델들(예를 들면, 머신 러닝 피처 모델들)을 사용하여 레시피 생성 및 매칭을 제공하는 것에 의해 상기에서 언급된 그리고 다른 결함들을 해결한다. 본원에서 설명되는 레시피 생성 및 매칭은 피처 모델들의 세트를 사용하여 수행될 수 있다. 피처 모델은 감독된 회귀 모델의 한 타입일 수 있다. 피처 모델의 하나의 예는 형태()의 다중 입력 단일 출력(multiple-input-single-output; MISO) 피처 모델인데, 여기서 입력()은 벡터로서 편제되는 다수의 파라미터들을 포함하고 출력(Y)은 단일의 스칼라 출력이다. 피처 모델의 다른 예는 형태()의 다중 입력 다중 출력(multiple-input-multiple-output; MIMO) 피처 모델인데, 여기서 입력()은 벡터로서 편제되는 다수의 파라미터들을 포함하고 출력()은 벡터로서 편제되는 다수의 출력들을 포함한다. MIMO 피처 모델의 하나의 타입은 각각의 출력에 대한 공간 좌표들을 추가로 정의하는 공간 출력 MIMO이다. 피처 모델들은 임의의 적절한 회귀 알고리즘을 사용하여 구현될 수 있다. 회귀 알고리즘들의 예들은 선형 회귀, 가우시안 프로세스 회귀(Gaussian process regression), 부분 최소 자승(partial least square)들, 그래디언트 부스트 트리(gradient boosted tree)들, 랜덤 포레스트(random forest), 완전 연결 신경망(fully connected neural network)들 등을 포함한다.
[0021] 본원에서 설명되는 레시피 생성의 맥락에서, 피처 모델들의 세트는 각각이 소망된 피처(예를 들면, 온웨이퍼 피처)에 대응하는 다수의 개개의 피처 모델들을 포함할 수 있다. 예를 들면, 각각의 피처 모델은, 입력 벡터가 입력 레시피 파라미터들을 포함하고, 출력 벡터가 웨이퍼의 상이한 로케이션들에서의 피처들의 출력 측정치들을 포함하며, 각각의 출력 측정치에 대한 공간 로케이션(예를 들면, X-Y 좌표)이 포함될 수 있는 공간 MIMO 모델일 수 있다. 예시적으로, 유저는 각각의 피처에 대한 소망된 요건을 입력할 수 있다. 피처 모델들에 기초하여 수치 최적화 루틴들을 사용하면, 연속 프로세스 공간이 검색되어 소망된 요건들을 고려하여 최적의 레시피들의 세트를 획득할 수 있다. 또한, 레시피는 레시피에 의해 표시되는 예상된 또는 소망된 프로세스 거동과 현재의 또는 예측된 거동 사이의 미스매치를 정정하기 위한 오프셋들의 세트를 생성하기 위해 매칭 기법에 의해 사용될 수 있다.
[0022] 본 개시내용의 이점들은, 증가된 가치 실현 속도(speed-to-value), 더 빠른 배치 시간, 개발 동안의 최소화된 위험, 레시피 안정성을 개선하기 위한 유입 노이즈에 대한 강건성, 개선된 프로세스 성능, 최소화된 폐기 웨이퍼들 및 사전 준비 웨이퍼(send-ahead wafer)들, 및 수동 튜닝의 감소 또는 제거를 포함하지만, 그러나 이들로 제한되지는 않는다. 따라서, 본 개시내용의 양상들은 디바이스 수율을 개선할 수 있고 비용들을 절감할 수 있다.
[0023] 도 1은, 본 개시내용의 양상들에 따른, 예시적인 컴퓨터 시스템 아키텍처(100)를 묘사한다. 컴퓨터 시스템 아키텍처(100)는 클라이언트 디바이스(120), 예측 서버(112)(예를 들면, 예측 데이터를 생성하고, 모델 적응을 제공하고, 지식 베이스를 사용하는 등), 및 데이터 저장소(data store)(140)를 포함할 수 있다. 예측 서버(112)는 예측 시스템(110)의 일부일 수 있다. 예측 시스템(110)은 서버 머신들(170 및 180)을 더 포함할 수 있다. 일부 실시예들에서, 컴퓨터 시스템 아키텍처(100)는 기판들 또는 웨이퍼들을 프로세싱하기 위한 제조 시스템의 일부로서 포함될 수 있다. 그러한 실시예들에서, 컴퓨터 시스템 아키텍처(100)는 제조 장비(124), 계측 장비(128) 및/또는 테스트 장비(도시되지 않음)를 포함할 수 있다.
[0024] 제조 장비(124)는 레시피를 따르는 또는 일정 시간 기간에 걸쳐 실행들을 수행하는 제품들, 예컨대 전자 디바이스들을 생산할 수 있다. 제조 장비(124)는 도 2와 관련하여 설명되는 프로세스 챔버, 예컨대 도구/챔버(220)를 포함할 수 있다. 제조 장비(124)는 프로세스 챔버에서 웨이퍼(예를 들면, 기판, 반도체 등)에 대한 프로세스를 수행할 수 있다. 웨이퍼 프로세스들의 예들은 웨이퍼 표면 상에 막을 증착하기 위한 증착 프로세스, 웨이퍼 표면 상에 패턴을 형성하기 위한 에칭 프로세스, 증착 프로세스 또는 에칭 프로세스 이전에 웨이퍼를 타깃 온도까지 가열하기 위한 웨이퍼 가열 프로세스, 증착 프로세스 및/또는 에칭 프로세스 등에 후속하여 웨이퍼를 타깃 온도까지 냉각시키기 위한 웨이퍼 냉각 프로세스를 포함한다. 제조 장비(124)는 프로세스 레시피에 따라 각각의 프로세스를 수행할 수 있다. 프로세스 레시피는 프로세스 동안 웨이퍼에 대해 수행될 특정한 동작들의 세트를 정의하며 각각의 동작과 연관되는 하나 이상의 설정들을 포함할 수 있다. 예를 들면, 웨이퍼 가열 프로세스는 프로세스 챔버 내에 배치되는 웨이퍼에 대한 포지션 설정, 프로세스 챔버에 대한 온도 설정, 프로세스 챔버에 대한 압력 설정, 프로세스 챔버에 대한 압력 설정 등을 포함할 수 있다.
[0025] 일부 실시예들에서, 제조 장비(124)는 프로세스 챔버 및/또는 프로세스 챔버 내에 배치되는 웨이퍼 내부 또는 외부의 환경에 대한 프로세스 센서 데이터를 생성하도록 구성되는 하나 이상의 센서들(126)을 포함할 수 있다. 센서 데이터는 온도들(예를 들면, 히터 온도), 간격(spacing; SP), 압력, 고주파 라디오 주파수(high frequency radio frequency; HFRF), 정전 척(electrostatic chuck; ESC)의 전압, 전류, 흐름, 전력, 전압 등 중 하나 이상의 값을 포함할 수 있다. 센서 데이터는 하드웨어 파라미터들과 같은 제조 파라미터들, 예컨대 제조 장비(124)의 설정들 또는 컴포넌트들(예를 들면, 사이즈, 타입 등), 또는 제조 장비(124)의 프로세스 파라미터들과 연관될 수 있거나 또는 이들을 표시할 수 있다. 센서 데이터는 제조 장비(124)가 제조 프로세스들을 수행하고 있는 동안 제공될 수 있다(예를 들면, 제품들을 프로세싱할 때 장비 판독치들). 센서 데이터는 제조 장비(124)에서 프로세싱되는 각각의 웨이퍼마다 상이할 수 있다.
[0026] 계측 장비(128)는 제조 장비(124)에 의해 프로세싱되는 웨이퍼들(예를 들면, 웨이퍼들 등)과 연관되는 계측 데이터를 제공할 수 있다. 일부 실시예들에서, 계측 데이터는, 웨이퍼에 대해 증착 및/또는 에칭 프로세스가 수행되기 이전에, 그 동안에, 또는 그 이후에, 그 웨이퍼 표면 상의 막에 대해 생성되는 데이터를 포함할 수 있다. 예를 들면, 계측 데이터는 웨이퍼 프로세스의 완료 이후 웨이퍼에 대해 생성되는 막 속성 데이터(예를 들면, 웨이퍼 공간 막 속성들), 치수들(예를 들면, 두께, 높이 등), 유전 상수, 도펀트 농도, 밀도, 결함들 등의 값을 포함할 수 있다. 일부 실시예들에서, 계측 데이터는 증착 및/또는 에칭 프로세스를 적용받지 않은 웨이퍼의 부분과 연관되는 데이터를 더 포함할 수 있다. 예를 들면, 막의 일부를 에칭하고 타깃 웨이퍼 표면 패턴을 생성하는 에칭 프로세스 이전에 웨이퍼의 최상부 표면 상에 막이 증착될 수 있다. 에칭 프로세스의 개시 이전에 웨이퍼를 타깃 온도까지 가열하기 위해 웨이퍼에 대해 웨이퍼 가열 프로세스가 개시될 수 있다.
[0027] 클라이언트 디바이스(120)는 퍼스널 컴퓨터(personal computer; PC)들, 랩톱들, 이동 전화들, 스마트폰들, 태블릿 컴퓨터들, 넷북 컴퓨터들, 네트워크 연결 텔레비전들("스마트 TV들"), 네트워크 연결 미디어 플레이어들(예를 들면, 블루 레이 플레이어), 셋톱박스, 오버 더 톱(over-the-top; OTT) 스트리밍 디바이스들, 오퍼레이터 박스들 등과 같은 컴퓨팅 디바이스를 포함할 수 있다. 일부 실시예들에서, 컴퓨터 시스템 아키텍처(100)는 제조 장비(124)에서 웨이퍼에 대해 수행될 프로세스에 대한 프로세스 레시피와 연관되는 데이터를 클라이언트 디바이스(120)로부터 수신할 수 있다. 예를 들면, 클라이언트 디바이스(120)는 그래픽 유저 인터페이스(graphical user interface; GUI)를 디스플레이할 수 있으며, 여기서 GUI는 유저(예를 들면, 엔지니어, 오퍼레이터, 개발자 등)가, 입력으로서, 제조 장비(124)의 프로세스 챔버에서 웨이퍼에 대해 수행될 웨이퍼 가열 프로세스 및/또는 웨이퍼 냉각 프로세스에 대한 하나 이상의 프로세스 레시피 설정들과 연관되는 데이터를 제공하는 것을 가능하게 한다.
[0028] 데이터 저장소(140)는 메모리(예를 들면, 랜덤 액세스 메모리), 드라이브(예를 들면, 하드 드라이브, 플래시 드라이브), 데이터베이스 시스템, 또는 데이터를 저장할 수 있는 다른 타입의 컴포넌트 또는 디바이스일 수 있다. 데이터 저장소(140)는 다수의 컴퓨팅 디바이스들(예를 들면, 다수의 서버 컴퓨터들)에 걸칠 수 있는 다수의 저장 컴포넌트들(예를 들면, 다수의 드라이브들 또는 다수의 데이터베이스들)을 포함할 수 있다. 일부 실시예들에서, 데이터 저장소(140)는 센서 데이터, 계측 데이터, 예측 데이터, 및/또는 상황별 데이터(contextual data)를 저장할 수 있다. 센서 데이터는 과거의 센서 데이터(예를 들면, 제조 장비(124)에서 프로세싱된 이전 웨이퍼에 대해 센서들(126)에 의해 생성되는 센서 데이터) 및/또는 현재의 센서 데이터(예를 들면, 제조 장비(124)에서 프로세싱되고 있는 현재의 웨이퍼에 대해 센서들(126)에 의해 생성되는 센서 데이터)를 포함할 수 있다. 일부 실시예들에서, 현재의 센서 데이터는 예측 데이터가 생성되는 데이터일 수 있다. 센서 데이터는 제조 장비(124)의 하나 이상의 컴포넌트들의 온도(예를 들면, 프로세스 챔버의 덮개 및/또는 윈도우의 온도, 프로세스 챔버의 웨이퍼 지지체 어셈블리 내에 임베딩되는 가열 엘리먼트의 온도 등)를 표시하는 데이터, 웨이퍼 프로세스 동안 웨이퍼의 온도를 표시하는 데이터, 제조 장비(124) 내의 환경의 하나 이상의 부분들에서의 압력(예를 들면, 프로세스 챔버의 덮개 및/또는 윈도우와 웨이퍼의 표면 사이의 환경의 압력, 웨이퍼의 표면과 웨이퍼 지지체 어셈블리의 표면 사이의 환경의 압력 등)을 표시하는 데이터, 웨이퍼 프로세스 이전에, 그 동안에 및/또는 그 이후에 제조 장비(124) 안으로 흐르게 되는 하나 이상의 가스들의 농도 또는 유량을 표시하는 데이터 등을 포함할 수 있지만, 그러나 이들로 제한되지는 않는다. 데이터 저장소는, 일부 실시예들에서, 계측 데이터를 저장할 수 있다. 계측 데이터는 과거의 계측 데이터(예를 들면, 제조 장비(124)에서 프로세싱된 이전 웨이퍼에 대해 계측 장비(128)에 의해 생성된 계측 데이터)를 포함할 수 있다.
[0029] 상황별 데이터는 웨이퍼 및/또는 제조 장비(124)에서 수행되는 웨이퍼 프로세스와 연관되는 데이터를 지칭한다. 일부 실시예들에서, 상황별 데이터는 (예를 들면, 웨이퍼에 대한 식별자, 웨이퍼의 타입 등과 같은) 웨이퍼와 연관되는 데이터를 포함할 수 있다. 상황별 데이터는, 추가적으로 또는 대안적으로, 웨이퍼를 프로세싱하기 위해 사용되는 제조 장비(124)의 하나 이상의 컴포넌트들과 연관되는 데이터를 포함할 수 있다. 예를 들면, 상황별 데이터는 제조 장비(124)의 하나 이상의 컴포넌트들에 대한 식별자, 하나 이상의 컴포넌트들과 연관되는 하나 이상의 물리적 속성들(예를 들면, 하나 이상의 컴포넌트들의 방사율, 하나 이상의 컴포넌트들의 분자량 등), 제조 장비(124)의 오퍼레이터와 연관되는 식별자, 제조 장비(124)에서 수행되는 프로세스의 타입 등을 포함할 수 있다.
[0030] 추가적인 또는 대안적인 실시예들에서, 상황별 데이터는 제조 장비(124)에서 웨이퍼에 대해 수행되는 프로세스 레시피와 연관되는 데이터를 포함할 수 있다. 예를 들면, 상황별 데이터는 프로세스 레시피에 대한 이름의 식별자, 프로세스 레시피의 동작에 대한 동작 번호, 또는 프로세스 레시피의 하나 이상의 동작들에 대한 설정들(본원에서 프로세스 레시피 설정들로서 지칭됨)을 포함할 수 있다. 프로세스 레시피 설정은 웨이퍼 또는 제조 장비(124)의 하나 이상의 컴포넌트들에 대한 포지션 설정, 예컨대 프로세스 챔버의 덮개 및/또는 윈도우를 기준으로 하는 프로세스 챔버 내에 배치되는 웨이퍼의 포지션, 프로세스 챔버의 웨이퍼 지지체 어셈블리를 기준으로 하는 웨이퍼의 포지션, 프로세스 챔버의 덮개 및/또는 윈도우를 기준으로 하는 웨이퍼 지지체 어셈블리의 포지션, 프로세스 챔버의 덮개 및/또는 윈도우를 향하는 또는 그들로부터 멀어지는 (웨이퍼를 갖는 또는 웨이퍼가 없는) 웨이퍼 지지체 어셈블리의 이동의 속도, 웨이퍼 지지체 어셈블리의 표면을 향하는 또는 그들로부터 멀어지는 웨이퍼의 이동의 속도 등에 대한 설정을 포함할 수 있다. 프로세스 레시피 설정은 제조 장비(124)의 하나 이상의 컴포넌트들 및/또는 제조 장비(124) 내에 배치되는 웨이퍼에 대한 온도 및/또는 압력 설정을 또한 포함할 수 있다. 프로세스 레시피 설정은, 제조 장비(124)의 프로세스 챔버 안으로 흐르게 되는 가스의 타깃 조성 및/또는 농도, 프로세스 챔버 안으로 흐르게 되는 가스의 유량, 프로세스 챔버 안으로 흐르게 되는 가스의 온도 등을 표시하는 설정을 포함하는, 웨이퍼 프로세스에 대한 가스 흐름 설정을 또한 포함할 수 있다.
[0031] 상황별 데이터는 과거의 상황별 데이터(예를 들면, 제조 장비(124)에서 이전 웨이퍼에 대해 수행된 이전 웨이퍼 프로세스에 대한 상황별 데이터) 및/또는 현재의 상황별 데이터(예를 들면, 제조 장비(124)에서 현재의 웨이퍼에 대해 현재 수행되는 또는 수행될 웨이퍼 프로세스에 대한 상황별 데이터)를 포함할 수 있다. 현재의 상황별 데이터는, 본원에서 설명되는 실시예들에 따라, 예측 데이터가 생성되는 데이터일 수 있다. 과거의 상황별 데이터 및/또는 현재의 상황별 데이터는, 앞서 설명된 실시예들에 따라, 클라이언트 디바이스(120)의 GUI를 통해 시스템(100)에 제공될 수 있다.
[0032] 일부 실시예들에서, 데이터 저장소(140)는 제조 시스템의 유저가 액세스할 수 없는 데이터를 저장하도록 구성될 수 있다. 예를 들면, 웨이퍼 지지체 어셈블리에 대한 테스팅 데이터, 상황별 데이터 등은 제조 시스템 및/또는 테스팅 시스템의 유저(예를 들면, 오퍼레이터)가 액세스할 수 없다. 일부 실시예들에서, 데이터 저장소(140)에 저장되는 모든 데이터는 시스템의 유저가 액세스할 수 없다. 다른 또는 유사한 실시예들에서, 데이터 저장소(140)에 저장되는 데이터의 일부는 유저에 의해 액세스 불가능할 수 있는 한편, 데이터 저장소(140)에 저장되는 데이터의 다른 일부는 유저에 의해 액세스 가능할 수 있다. 일부 실시예들에서, 데이터 저장소(140)에 저장되는 데이터의 하나 이상의 부분들은, 유저에게 알려지지 않은 암호화 메커니즘을 사용하여 암호화될 수 있다(예를 들면, 데이터는 개인 암호화 키를 사용하여 암호화됨). 다른 또는 유사한 실시예들에서, 데이터 저장소(140)는 다수의 데이터 저장소들을 포함할 수 있으며, 여기서, 유저가 액세스 가능하지 않은 데이터는 하나 이상의 제1 데이터 저장소들에 저장되고 유저가 액세스 가능한 데이터는 하나 이상의 제2 데이터 저장소들에 저장된다.
[0033] 일부 실시예들에서, 예측 시스템(110)은 서버 머신(170) 및/또는 서버 머신(180)을 포함할 수 있다. 서버 머신(170)은 머신 러닝 모델(190)(예를 들면, 피처 모델)을 트레이닝, 검증, 및/또는 테스트하기 위해 트레이닝 데이터 세트들(예를 들면, 데이터 입력들의 세트 및 타깃 출력들의 세트)을 생성할 수 있는 트레이닝 세트 생성기(172)를 포함한다. 예를 들면, 트레이닝 세트 생성기(172)는, 본원에서 제공되는 실시예들에 따라, 제조 장비(124)에서 웨이퍼에 대해 수행될 프로세스에 대한 프로세스 레시피 설정들을 예측하기 위해 머신 러닝 모델(190)을 트레이닝, 검증, 및/또는 테스트하기 위한 트레이닝 세트들을 생성할 수 있다.
[0034] 일부 실시예들에서, 트레이닝 세트 생성기(172)는 제조 장비(124)에서 수행되는 하나 이상의 이전 웨이퍼 프로세스들과 연관되는 과거의 센서, 계측, 및/또는 상황별 데이터에 기초하여 머신 러닝 모델(190)을 위한 트레이닝 세트들을 생성할 수 있다. 추가적인 또는 대안적인 실시예들에서, 트레이닝 세트 생성기(172)는 제조 장비(124)의 디지털 복제 모델(예를 들면, 디지털 트윈)에 의해 생성되는 예측 또는 시뮬레이팅된 센서, 계측, 및/또는 상황별 데이터에 기초하여 머신 러닝 모델(190)을 위한 트레이닝 세트들을 생성할 수 있다. 디지털 복제 모델(본원에서 디지털 복제물로서 또한 지칭됨)은 일부 실시예들에서 제조 장비(124)를 시뮬레이팅하는 알고리즘 모델일 수 있다.
[0035] 일부 실시예들에서, 디지털 표현 서버(160)는 제조 장비(124)의 디지털 복제물일 수 있다. 디지털 표현 서버(160)는 감독 머신 러닝, 준감독 러닝, 비감독 머신 러닝, 또는 이들의 임의의 조합을 사용하여 제조 장비(124)가 동작하는 방법의 다이나믹스 및/또는 물리적 엘리먼트들의 가상 표현을 생성할 수 있다. 디지털 표현 서버(160)는 센서들(126)로부터의 주기적 업데이트들 및/또는 제조 장비(124)의 디지털 복제물 데이터를 생성하는 것 및 유지하는 것과 연관되는 데이터, 예컨대 센서 데이터, 성능 데이터(performance data)(예를 들면, 제조 장비(124)의 하나 이상의 컴포넌트들의 효율성, 레이턴시, 스루풋 등과 연관되는 데이터), 라이브러리 데이터 등을 사용하여 보강 학습을 통해 업데이트될 수 있다. 일부 실시예들에서, 디지털 표현 서버(160)는 제조 장비(124)의 프로세스 챔버의 물리적 엘리먼트들 및 다이나믹스와 연관되는 프로세싱 챔버 모델(162)을 포함할 수 있다.
[0036] 디지털 표현 서버(160)는 제조 장비(124)가 현재의 또는 시뮬레이팅된 파라미터들에 기초하여 어떻게 수행할지를 결정하기 위해 사용되는 시뮬레이션 데이터를 생성할 수 있다. 일부 실시예들에서, 시뮬레이션 데이터는 데이터 저장소(140)에 저장될 수 있다. 일부 실시예들에서, 시뮬레이션 데이터는 프로세스 챔버에서 웨이퍼에 대한 웨이퍼 프로세스(예를 들면, 웨이퍼 온도 제어 프로세스)와 연관되는 하나 이상의 프로세스 레시피 설정들을 포함할 수 있다. 시뮬레이션 데이터는 제조 장비(124)의 디지털 복제물의(예를 들면, 생산될 또는 데이터 저장소(140)의 현재의 센서 데이터를 사용하여 생산된 제품들의) 예측된 속성 데이터 및/또는 예측된 계측 데이터(예를 들면, 가상 계측 데이터)를 또한 포함할 수 있다. 시뮬레이션 데이터는 이상(abnormality)들(예를 들면, 비정상적인 제품들, 비정상적인 컴포넌트들, 비정상적인 제조 장비(124), 비정상적인 에너지 사용량 등), 및 이상들의 하나 이상의 원인들의 표시를 또한 포함할 수 있다. 시뮬레이션 데이터는 제조 장비(124)의 컴포넌트의 수명의 종료의 표시를 더 포함할 수 있다. 시뮬레이션 데이터는 완전히 포괄적이어서, 제조 장비(124)의 모든 기계적 및/또는 전기적 양상을 커버할 수 있다.
[0037] 상기에서 설명되는 바와 같은, 트레이닝 세트 생성기(172)는 디지털 표현 서버(160)로부터 획득되는 예측 또는 시뮬레이팅된 데이터에 기초하여 모델(190)에 대한 트레이닝 데이터를 생성할 수 있다. 예를 들면, 트레이닝 세트 생성기(172)는 프로세스 레시피 설정들의 하나 이상의 세트들을 생성할 수 있고 프로세스 챔버 모델(162)을 사용하여 제조 장비(124)의 프로세스 챔버에서 프로세스를 시뮬레이팅하기 위해 프로세스 레시피 설정들의 세트들을 디지털 표현 서버(160)에 제공할 수 있다. 일부 실시예들에서, 프로세스 챔버 모델(162)에 의해 출력되는 데이터는 프로세스 챔버 환경의 제1 공간과 프로세스 챔버 환경의 제2 공간 사이의 압력 차분을 포함할 수 있다. 프로세스 챔버 환경의 제1 공간은 웨이퍼의 최상부 표면과 프로세스 챔버의 천장(ceiling)(예를 들면, 덮개, 윈도우 등) 사이의 공간을 포함할 수 있다. 프로세스 챔버 환경의 제2 공간은 웨이퍼의 저부 표면과 시뮬레이팅된 웨이퍼 프로세스 동안 웨이퍼를 지지하는 웨이퍼 지지체 어셈블리의 최상부 표면 사이의 공간을 포함할 수 있다. 추가적인 또는 대안적인 실시예들에서, 프로세스 챔버 모델(162)에 의해 출력되는 데이터는 웨이퍼 프로세스의 초기 기간과 웨이퍼 프로세스의 최종 기간 사이의 웨이퍼의 온도의 변화율(램핑 레이트(ramping rate)로서 지칭됨)과 연관되는 데이터를 포함할 수 있다. 일부 실시예들에서, 트레이닝 세트 생성기(172)는 트레이닝 데이터(예를 들면, 물리적 프로세스에 대한 데이터 및/또는 시뮬레이팅된 데이터)를 트레이닝 세트, 검증 세트, 및 테스팅 세트로 분할할 수 있다. 일부 실시예들에서, 예측 시스템(110)은 트레이닝 데이터의 다수의 세트들을 생성한다.
[0038] 서버 머신(180)은 트레이닝 엔진(182), 검증 엔진(184), 선택 엔진(186), 및/또는 테스팅 엔진(188)을 포함할 수 있다. 엔진은 하드웨어(예를 들면, 회로부(circuitry), 전용 로직, 프로그램가능 로직, 마이크로코드, 프로세싱 디바이스 등), 소프트웨어(예컨대 프로세싱 디바이스, 범용 컴퓨터 시스템, 또는 전용 머신 상에서 실행되는 명령들), 펌웨어, 마이크로코드, 또는 이들의 조합을 가리킬 수 있다. 트레이닝 엔진(182)은 머신 러닝 모델(190)을 트레이닝시킬 수 있을 수 있다. 머신 러닝 모델(190)은, 트레이닝 입력들 및 대응하는 타깃 출력들(개개의 트레이닝 입력들에 대한 정확한 답변들)을 포함하는 트레이닝 데이터를 사용하여 트레이닝 엔진(182)에 의해 생성되는 모델 아티팩트(model artifact)를 가리킬 수 있다. 트레이닝 엔진(182)은 트레이닝 입력을 타깃 출력(예측될 답변)에 맵핑하는 패턴들을 트레이닝 데이터에서 찾을 수 있고, 이들 패턴들을 캡처하는 머신 러닝 모델(190)을 제공할 수 있다. 머신 러닝 모델(190)은 서포트 벡터 머신(support vector machine; SVM), 방사 기저 함수(Radial Basis Function; RBF), 클러스터링, 감독 머신 러닝, 준감독 머신 러닝, 비감독 머신 러닝, k-최근접 이웃 알고리즘(k-nearest neighbor algorithm; k-NN), 선형 회귀, 랜덤 포레스트, 신경망(예를 들면, 인공 신경망) 등 중 하나 이상을 사용할 수 있다.
[0039] 검증 엔진(184)은 트레이닝 세트 생성기(172)로부터의 검증 세트의 피처들의 대응하는 세트를 사용하여 트레이닝된 머신 러닝 모델(190)을 검증할 수 있을 수 있다. 검증 엔진(184)은 검증 세트의 피처들의 대응하는 세트들에 기초하여 트레이닝된 머신 러닝 모델들(190) 각각의 정확도를 결정할 수 있다. 검증 엔진(184)은 임계 정확도를 충족하지 않는 정확도를 갖는 트레이닝된 머신 러닝 모델(190)을 폐기할 수 있다. 일부 실시예들에서, 선택 엔진(186)은 임계 정확도를 충족하는 정확도를 갖는 트레이닝된 머신 러닝 모델(190)을 선택할 수 있을 수 있다. 일부 실시예들에서, 선택 엔진(186)은 트레이닝된 머신 러닝 모델들(190) 중 최고 정확도를 갖는 트레이닝된 머신 러닝 모델(190)을 선택할 수 있을 수 있다.
[0040] 테스팅 엔진(188)은 트레이닝 세트 생성기(172)로부터의 테스팅 세트의 피처들의 대응하는 세트를 사용하여 트레이닝된 머신 러닝 모델(190)을 테스팅할 수 있을 수 있다. 예를 들면, 트레이닝 세트의 피처들의 제1 세트를 사용하여 트레이닝된 제1 트레이닝된 머신 러닝 모델(190)은 테스팅 세트의 피처들의 제1 세트를 사용하여 테스트될 수 있다. 테스팅 엔진(188)은 테스팅 세트들에 기초하여 모든 트레이닝된 머신 러닝 모델들 중 가장 높은 정확도를 갖는 트레이닝된 머신 러닝 모델(190)을 결정할 수 있다.
[0041] 예측 서버(112)는 제조 장비(124)에서 프로세싱될 현재의 웨이퍼에 대한 공간 프로파일에 대응하는 하나 이상의 프로세스 레시피 설정들을 제공할 수 있는 예측 컴포넌트(114)를 포함한다. 하기에서 상세하게 설명되는 바와 같이, 일부 실시예들에서, 예측 컴포넌트(114)는 웨이퍼에 대해 수행될 프로세스에 대한 프로세스 레시피와 연관되는 데이터를 모델(190)에 대한 입력으로서 제공할 수 있고 모델(190)의 하나 이상의 출력들을 획득할 수 있다. 일부 실시예들에서, 프로세스 레시피와 연관되는 데이터는 프로세스 레시피에 대해 수행될 하나 이상의 동작들의 표시 및 웨이퍼 프로세스의 최종 기간에서의 웨이퍼에 대한 타깃 온도를 포함할 수 있다. 프로세스 레시피 데이터는, 일부 실시예들에서, 웨이퍼 프로세스 동안 적용될 하나 이상의 타깃 웨이퍼 프로세스 설정들을 포함할 수 있다. 예측 서버(112)는 모델(190)의 하나 이상의 출력들에 기초하여 웨이퍼에 대한 타깃 온도 및/또는 하나 이상의 동작들에 대응하는 프로세스 레시피 설정들의 세트를 제공할 수 있다. 프로세스 레시피 설정들의 세트가 신뢰 기준의 레벨을 충족한다는 것을 결정하는 것에 응답하여, 예측 서버(112)는 결정된 프로세스 레시피 설정들에 따라 프로세스 챔버에서 웨이퍼 프로세스로 하여금 웨이퍼에 대해 수행되게 할 수 있다.
[0042] 일부 실시예들에서, 예측 서버(112)는, 하나 이상의 타깃 웨이퍼 프로세스 레시피 설정들에 대한 제안된 수정으로서, 하나 이상의 프로세스 레시피 설정들의 표시를 클라이언트 디바이스(120)로 송신할 수 있다. 클라이언트 디바이스(120)는 클라이언트 디바이스(120)의 GUI를 통해 타깃 웨이퍼 프로세스 레시피 설정들에 대한 제안된 수정들을 디스플레이할 수 있다. 시스템(100)의 유저(예를 들면, 오퍼레이터, 엔지니어, 개발자 등)는 클라이언트 디바이스(120)의 GUI의 하나 이상의 엘리먼트들과 상호 작용하여 웨이퍼 프로세스로 하여금 모델(190)의 출력으로부터 획득되는 하나 이상의 프로세스 레시피 설정들에 따라 웨이퍼에 대해 개시되게 하거나 또는 개시되지 않게 할 수 있다.
[0043] 클라이언트 디바이스(120), 제조 장비(124), 데이터 저장소(140), 디지털 표현 서버(160), 예측 서버(112), 서버 머신(170), 및 서버 머신(180)은 네트워크(130)를 통해 서로 커플링될 수 있다. 일부 실시예들에서, 네트워크(130)는, 클라이언트 디바이스(120)에게, 예측 서버(112), 데이터 저장소(140), 및 다른 공개적으로 이용 가능한 컴퓨팅 디바이스들에 대한 액세스를 제공하는 공공 네트워크이다. 일부 실시예들에서, 네트워크(130)는 클라이언트 디바이스(120)에게 제조 장비(124), 데이터 저장소(140), 디지털 표현 서버(160), 예측 서버(112), 및 다른 개인적으로 이용 가능한 컴퓨팅 디바이스들에 대한 액세스를 제공하는 사설 네트워크이다. 네트워크(130)는 하나 이상의 광역 네트워크(wide area network; WAN)들, 로컬 영역 네트워크(local area network; LAN)들, 유선 네트워크들(예를 들면, 이더넷(Ethernet) 네트워크), 무선 네트워크들(예를 들면, 802.11 네트워크 또는 와이파이(Wi-Fi) 네트워크), 셀룰러 네트워크들(예를 들면, 롱 텀 에볼루션(Long Term Evolution; LTE) 네트워크), 라우터들, 허브들, 스위치들, 서버 컴퓨터들, 클라우드 컴퓨팅 네트워크들, 및/또는 이들의 조합을 포함할 수 있다.
[0044] 일부 다른 구현예들에서, 디지털 표현 서버(160), 서버 머신들(170 및 180)뿐만 아니라, 예측 서버(112)의 기능들은 더 적은 수의 머신들에 의해 제공될 수 있다는 것을 유의해야 한다. 예를 들면, 일부 실시예들에서, 디지털 표현 서버(160), 서버 머신(170) 및/또는 서버 머신(180)이 단일의 머신으로 통합될 수 있는 한편, 일부 다른 또는 유사한 실시예들에서, 디지털 표현 서버(160), 서버 머신(170) 및/또는 서버 머신(180)뿐만 아니라, 예측 서버(112)가 단일의 머신으로 통합될 수 있다.
[0045] 일반적으로, 하나의 구현예에서, 디지털 표현 서버(160), 서버 머신(170), 서버 머신(180), 및/또는 예측 서버(112)에 의해 수행되는 것으로 설명되는 기능들은 클라이언트 디바이스(120) 상에서도 또한 수행될 수 있다. 또한, 특정한 컴포넌트에 귀속되는 기능성(functionality)은 함께 동작하는 상이한 또는 다수의 컴포넌트들에 의해 수행될 수 있다.
[0046] 실시예들에서, "유저"는 단일의 개인으로서 표현될 수 있다. 그러나, 본 개시내용의 다른 실시예들은 "유저"가 복수의 유저들 및/또는 자동화된 소스에 의해 제어되는 엔티티인 것을 포괄한다. 예를 들면, 관리자들 그룹으로서 연합되는 개개의 유저들의 세트는 "유저"로서 간주될 수 있다.
[0047] 도 2는, 본 개시내용의 양상들에 따른, 피처들 모델들(예를 들면, 머신 러닝 피처 모델들)을 사용하여 프로세스 레시피 생성 및 매칭을 구현하기 위한 시스템(200)의 다이어그램이다. 도시되는 바와 같이, 시스템(200)은 프로세싱된 웨이퍼(230)를 생성하기 위해 도구/챔버(220)에 의해 수용되는 프로세싱되지 않은 기판 또는 웨이퍼(210)를 포함한다. 더 구체적으로, 도구/챔버(220)는 프로세싱되지 않은 웨이퍼(210)로부터 프로세싱된 웨이퍼(230)를 생성하기 위해 프로세스 레시피들("레시피들")의 세트를 활용할 수 있다. 웨이퍼가 도시되지 않지만, 임의의 적절한 컴포넌트가 본원에서 설명되는 실시예들에 따라 프로세싱될 수 있다.
[0048] 시스템(200)은 레시피 생성 컴포넌트(240)를 포함한다. 레시피 생성 컴포넌트(240)는, 목표들 또는 타깃 속성들의 세트로서 또한 지칭되는, 소망된 온웨이퍼 특성들의 세트를 고려하여 레시피 파라미터들의 세트에 대한 예상된 프로세스 거동을 모델링하고, 목표들의 세트에 기초하여 레시피 설정들을 갖는 레시피(242)를 생성한다. 레시피 생성 컴포넌트(240)는 피처 모델들(예를 들면, 도 1의 머신 러닝 모델(190))을 생성하는 것에 의해 예상된 프로세스 거동을 모델링할 수 있다. 레시피 설정들은 레시피 파라미터들의 세트 및 프로세스들의 세트를 포함할 수 있다. 예를 들면, 레시피 설정들은 목표들의 세트를 달성하기 위한 하나 이상의 관련 레시피 파라미터들을 포함할 수 있다. 레시피(242)는 레시피(242)를 고려하여 웨이퍼(210)의 프로세싱을 실행하기 위해 도구/챔버(220)에 의해 구현될 수 있다. 따라서, 목표들은 프로세싱된 웨이퍼(230)를 획득하기 위해 도구/챔버(220)를 사용하여 프로세싱되지 않은 웨이퍼(210)를 프로세싱하기 위한 레시피(242)로 해석될 수 있다. 이제, 레시피 생성 컴포넌트(240)에 관한 추가적인 세부사항들이 도 3을 참조하여 하기에서 설명될 것이다.
[0049] 도 3은, 본 개시내용의 양상들에 따른, 프로세스 레시피 생성을 구현하기 위한 시스템(300)의 다이어그램이다. 도시되는 바와 같이, 타깃 속성들의 세트(310) 및 피처 모델들의 세트(320)는 수치 최적화기 컴포넌트(numerical optimizer component)(330)에 의해 수신된다. 타깃 속성들의 세트(310)는 유저로부터 입력으로서 수신될 수 있다. 타깃 속성들의 세트(310)는 다수의 피처들 및 각각 피처에 대한 개개의 타깃들을 포함할 수 있으며, 여기서 각각의 타깃은 자신의 대응하는 피처에 대한 예상된 또는 소망된 값 또는 값들의 범위에 대응한다. 타깃들의 예들은 "평균(mean)", "보다 더 작음(less than)", "보다 더 큼(greater than)", "가능한 한 낮음(low as possible)", "프로파일 목표" 등을 포함한다. 프로파일 목표는 유저가 웨이퍼 전체에 걸친 프로파일을 명시하는 것을 허용한다. 이 예시적인 예에서, 타깃 속성들의 세트(310)는 "평균"의 대응하는 타깃 및 1000 옹스트롬(Å)의 예상된 또는 소망된 값(즉, 두께에 대한 목표는 1000 Å의 평균 두께임)을 갖는 두께 피처, "보다 더 큼"의 대응하는 타깃 및 2.03 옴-미터의 값을 갖는 저항률 피처(즉, 저항률에 대한 목표는 2.03 옴-미터보다 더 큰 저항률임) 및 "가능한 한 낮음"의 대응하는 타깃을 갖는 스트레스 피처(즉, 가능한 한 제로에 가까움)를 명시한다.
[0050] 다수의 피처들 모델들을 포함하는 피처 모델들의 세트(320)가 도시되어 있다. 일부 구현예들에서, 피처 모델들의 세트(320)는 회귀 모델들의 세트를 포함한다. 예를 들면, 피처 모델들은 MIMO 모델들(예를 들면, 공간 MIMO 모델들)을 포함할 수 있다. 각각의 개개의 피처 모델은 특정한 피처를 타깃으로 한다. 예를 들면, 시스템(300)에서 나타내어지는 피처 모델들은 두께 피처 모델(322), 저항률 피처 모델(324) 및 응력 피처 모델(326)을 포함한다. 일부 예들에서, 입력들의 더 작은 서브세트, 또는 "관련 입력들의 세트"는 온웨이퍼 특성들에 영향을 미치는 주요 요인들로서 식별될 수 있으며, 다른 동작들/파라미터들은 특정한 액션들을 준비하는 사전 프로세싱 또는 사후 프로세싱 동작들이다. 따라서, 관련 입력들의 세트에 기초하여 각각의 피처에 대해 피처 모델들이 생성될 수 있다. 피처 모델(320)의 입력들은 제조 파라미터들(예를 들면, 프로세스 파라미터들, 하드웨어 파라미터들)을 포함할 수 있다. 피처 모델의 출력은 계측 데이터 또는 성능 데이터일 수 있다. 예를 들면, 피처 모델의 입력들은 온도, 압력, 유량일 수 있고, 피처 모델의 출력들은 두께일 수 있다. 각각의 피처 모델(320)은 대응하는 피처(예를 들면, 계측 데이터의 타입, 성능 데이터의 타입 등)를 출력할 수 있다. 본원에서 더욱 상세하게 설명될 바와 같이, 개개의 피처들에 대한 개별화된 피처 모델들의 사용은 소망된 특성들을 달성하는 것에 대해 더 큰 제어를 가능하게 할 수 있다.
[0051] 일부 구현예들에서, 실험 계획법(DoE) 기법이 피처 모델들의 세트(320)를 생성하기 위해 사용된다. DoE 기법들은 레시피 파라미터들을 변경하는 것을 고려하여 웨이퍼 민감도를 검출하기 위해 사용될 수 있다. DoE는 변형이 존재하는 임의의 정보 수집 활동의 설계이다. DoE 분석은 DoE의 실행으로부터 생성되는 데이터(즉, DoE 데이터)의 분석이다. 일부 구현예들에서, DOE 데이터는 레시피 파라미터들, 레시피 파라미터 값들, 및 측정치들(예를 들면, 웨이퍼 측정치들)을 포함한다. 예를 들면, 다섯 개의 레시피 파라미터들이 변경될 수 있는 DoE 분석의 경우, 다섯 개의 레시피 파라미터들 각각이 각각의 실험에 대해 사전 결정된 값들에 따라 변경되는 다수의 실험들을 실행하는 것에 의해 DoE가 수행될 수 있다. 그런 다음, 각각의 실험으로부터의 웨이퍼들은 다양한 로케이션들에서 측정될 수 있고 그들의 대응하는 레시피 파라미터들과 연관될 수 있다. 민감도 값들은, 레시피 파라미터들에서의 변동을, 실험들 각각으로부터의, 각각의 측정된 로케이션으로부터의 측정치들에서의 변동에 비교하는 것에 의해 계산될 수 있다. 그런 다음, 민감도 값들은, 특정한 레시피 파라미터에 대한 웨이퍼의 평균 민감도를 결정하기 위해, 일반적으로 평균된다. 민감도는 웨이퍼 전체에 걸친 평균된 반경 방향 민감도 값들에 대응하여 계산될 수 있다.
[0052] 하기에서 더욱 상세하게 설명될 바와 같이, 피처 모델들의 세트(320)의 각각의 피처 모델은 그들의 대응하는 피처들 사이의 공간적 관계들을 캡처하는 것에 의해 타깃 속성들의 세트(310)에 기초하여 레시피를 생성하기 위해 사용될 수 있다. 이것을 행하기 위해, 피처 모델들의 세트(320)는 수치 최적화기 컴포넌트(330)에 제공될 수 있다. 수치 최적화기 컴포넌트(330)는 수치 검색 및 최적화 루틴들을 실행하여 피처 모델들의 세트(320) 및 타깃 속성들의 세트(310)를 고려하여 출력을 생성한다. 일부 구현예들에서, 수치 최적화기 컴포넌트(330)의 출력은, 적어도 하나의 사전에 채워진 레시피(pre-populated recipe)(340)를 포함할 수 있거나, 또는 이것을 생성하기 위해 사용될 수 있다. 사전에 채워진 레시피(340)는, 입력들의 세트를 행(row)들로서 그리고 프로세스들의 세트를 열(column)들로서 포함하는 레시피 설정들을 갖는다. 레시피(340) 내의 각각의 엔트리(예를 들면, x1 내지 x6)는 각각의 프로세스에서 필요로 되는 입력에 대한 엔트리를 나타낸다.
[0053] 일부 구현예들에서, 출력은 레시피 파라미터들의 적어도 하나의 세트를 포함한다. 레시피 파라미터들의 각각의 세트는 (타깃 속성들의 세트(310)에 의해 표시되는 바와 같은) 각각의 피처에 대한 소망된 값 및 각각의 피처에 대한 예측된 값으로 쌍을 이룰 수 있다. 일부 구현예들에서, 예측된 값은 평균 값이다. 레시피 파라미터들의 각각의 세트는, 레시피 파라미터들의 각각의 세트가 타깃 속성들의 세트(310)를 얼마나 잘 달성하는지를 고려하여 정렬될 수 있거나 또는 순위가 매겨질 수 있다. 이 예시적인 예에서, 상기에서 언급되는 바와 같이, 하나의 타깃은 소망된 두께 평균이 1000 옹스트롬(Å)이라는 것이고, 그 결과, 피처 모델들에 의해 명시되는 각각의 제약을 고려하여 가능한 한 1000 Å에 가까운 예측된 두께 평균을 초래하는 레시피 파라미터들의 조합을 찾는 것이 최적일 것이다. 다른 타깃은 소망된 저항률이 2.03보다 더 크다는 것이고, 그 결과, 피처 모델들에 의해 명시되는 각각의 제약을 고려하여 2.03보다 더 큰 예측된 저항률을 초래하는 레시피 파라미터들의 조합을 찾는 것이 최적일 것이다. 수치 최적화기 컴포넌트(330)에 의해 출력되는 레시피 파라미터들의 세트들의 수는 디폴트 수일 수 있고 그리고/또는 유저에 의해 커스터마이징될 수 있다. 예를 들면, 출력은 레시피 파라미터들의 상위 10 개의 세트들, 레시피 파라미터들의 상위 25 개의 세트들, 레시피 파라미터들의 단일의 세트 등을 포함할 수 있다.
[0054] 이상적으로, 레시피 파라미터들의 세트는 타깃 속성들의 세트(310)의 각각의 타깃 속성을 동시에 충족할 것이다. 그러나, 수치 최적화기 컴포넌트(330)가 타깃 속성들의 세트(310)의 각각의 타깃 속성을 동시에 충족하는 레시피 솔루션들을 생성할 수 없는 경우가 있을 수 있다. 예를 들면, 수치 최적화기 컴포넌트(330)는 적어도 하나의 피처(적어도 하나의 충족된 피처)에 대한 타깃들을 충족하지만, 그러나 적어도 하나의 다른 피처(적어도 하나의 충족되지 않은 피처)의 타깃을 대가로 할 것으로 예측되는 레시피 파라미터들의 세트들을 찾을 수 있다. 이러한 경우들에서, 수치 최적화기 컴포넌트(330)에 의해 생성되는 출력은 파레토 효율적 레시피 파라미터(Pareto efficient recipe parameter)들의 적어도 하나의 세트를 포함하는 파레토 프론티어 또는 프론트일 수 있다. 일반적으로, 파레토 프론트는, 적어도 하나의 다른 목표를 희생하지 않으면 어떤 목표도 개선될 수 없는 파레토 효율적 솔루션들의 세트이다. 즉, 파레토 프론트는 비지배적(non-dominated) 솔루션들을 포함한다. 추가적으로 또는 대안적으로, 출력은, 이를테면, 충족되지 않는 피처에 대한 타깃을 달성하는 솔루션들을 포함할 수 있으며, 충족된 피처(들)와 관련한 추정된 트레이드오프가 관찰될 수 있다. 이것은, 수치 최적화기 컴포넌트(330)에 의해 충족되지 않을 것으로 결정되는 피처가 레시피에 의해 충족될 수 있다는 것을 보장하는 것이 중요할 수 있는 경우들에서 특히 유용할 수 있다.
[0055] 수치 최적화기 컴포넌트(330)는 피처 모델들을 반전시키는 것 및 고차원 입력 및 출력 공간에서 검색을 수행하는 것에 의해 동작된다. 예를 들면, 각각의 피처 모델이 형태()의 공간 MIMO 모델이라는 것을 가정한다. 피처 모델을 반전시키기 위해, 는 다음과 같이 구해질 수 있다: . 대부분의 경우들에서, 함수()는 복잡하고 쉽게 반전되지 않을 수 있다. 이것을 해결하기 위해, 수치 최적화기 컴포넌트(330)는 의사 반전(pseudo-invert)()으로의 검색 루틴들을 구현할 수 있다. 예를 들면, 수치 최적화기 컴포넌트(330)는 와 소망된 사이의 에러를 최소화하는 를 검색할 수 있다. 또한, 의 그래디언트는 공지되어 있지 않을 수 있거나 또는 추정하기 어려울 수 있다. 이것은 그래디언트 기반의 검색 루틴들이 최적이 아닐 수 있고, 일부 구현예들에서, 수치 최적화기 컴포넌트(330)가 그래디언트 없는 검색들을 구현할 수 있다는 것을 의미한다. 또한, 다수의 솔루션들 또는 로컬 최소치를 찾는 것이 유리할 수 있는데, 왜냐하면 일부 솔루션들이 다른 것들보다 더 바람직할 수 있기 때문이다. 수치 최적화기 컴포넌트(330)에 의해 사용될 수 있는 검색 루틴들의 예들은 군집(swarm) 기반의 검색 루틴들 및/또는 유전자 기반의 검색 루틴들을 포함한다. 따라서, 수치 최적화기는, 별개의 공간들을 검색하는 것 및 다수의 소망된 특성들을 수동으로 균형을 맞추려고 시도하는 것과 비교하여, 다수의 기준들을 충족하는 연속 공간을 검색할 수 있다. 수치 최적화기 컴포넌트(330)의 동작들에 관한 추가적인 세부사항들은 도 4 및 도 5를 참조하여 하기에서 설명될 것이다.
[0056] 도 4는, 본 개시내용의 양상들에 따른, 단일의 피처 모델에 대해 수치적 최적화를 수행하기 위한 시스템(400)의 다이어그램이다. 도시되는 바와 같이, 시스템(400)은 각각이 피처에 대응하는 하나 이상의 피처 모델들을 포함하는 피처 모델들의 세트(410) 및 피처들 중 개개의 피처들에 대응하는 하나 이상의 타깃들(예를 들면, 소망된 특성들)을 포함하는 타깃 속성들의 세트(420)를 포함한다. 각각의 타깃은 비용 함수이거나 또는 그와 연관될 것이다. 피처 모델들의 세트(410) 및 타깃 속성들의 세트(420)는 수치 최적화기(430)에 의해 수신되어, 예컨대 도 3을 참조하여 상기에서 설명되는 것과 같은 출력(440)을 생성한다.
[0057] 도시되는 바와 같이, 수치 최적화기(430)는 비용 함수 컴포넌트(432)를 포함한다. 비용 함수 컴포넌트(432)는 각각의 피처 모델 및 타깃 속성에 대한 비용 함수를 생성하고, 피처 모델 및 타깃 속성과 관련한 비용을 최소화하기 위한 최적화 알고리즘을 선택한다. 비용 함수 컴포넌트(432)의 비용 함수들의 예들은 평균, 최소 시그마, 최소 범위 등을 포함한다.
[0058] 예를 들면, 비용(C)은 수학식 에 의해 정의될 수 있으며, 여기서 D는 피처의 바람직함(desirability)(다수의 피처들이 있는 경우에만 적용 가능함)이고, Δ는 입력들에 대해 소망된 것과 피처 모델이 예측하는 것 사이의 차이를 캡처하는 피처 모델의 함수이고, err은 예측에서의 추정된 에러 또는 신뢰도이고, 는 에러 페널티이다. 에러 페널티는, 하나보다 더 많은 솔루션이 존재하는 경우 낮은 신뢰도에 비해 높은 신뢰도를 갖는 솔루션들을 선호하도록 최적화를 강제하는 데 도움이 된다.
[0059] 최적화 프로세스를 개선하기 위해 맞춤형 비용 함수들이 생성될 수 있다. 예를 들면, 평균 비용을 계산하기 위한 평균 비용 함수인 Cmean에 의해 정의될 수 있으며, 여기서 rMSE는 평균 제곱근 오차이고, 에 대한 타깃 출력이고, 최소 시그마 비용을 계산하기 위한 최소 시그마 비용 함수인 Csigma로서 정의될 수 있으며, 여기서 시그마는 표준 편차를 가리키고, 비용 미만(C<)을 계산하기 위한 비용 미만 함수(less than cost function)는 다음에 의해 정의될 수 있다:
즉, 이면, m = 0이고, 이며, 그렇지 않으면, 이고 n = 0이다. 대안적으로, 는, 예를 들면, 로 대체될 수 있다. 그렇게 하는 것에 의해, 모든 출력 타깃들은 의 최대 출력 미만이 되도록 강제된다. m 항은 웨이퍼 전체에 걸친 평균을 제어하고 n 항은 웨이퍼 전체에 걸친 시그마(즉, 변동성)를 제어한다.
[0060] 모든 소망된 타깃들에 대한 솔루션이 솔루션 공간에서 잠재적으로 존재한다는 것을 안다면, 합산 컴포넌트(434)에서 각각의 개개의 비용 함수의 출력들을 합산하는 것에 의해 비용 함수 출력들이 병합될 수 있다. 그런 다음, 이 새로운 비용 함수는 하나 이상의 최적화 루틴들을 구현하기 위해 최적화 컴포넌트(436)를 사용하여 최소화될 수 있다. 새로운 비용 함수를 최소화하기 위해 사용될 수 있는 방법들의 예들은, 입자 군집, Nelder-Mead(넬더-미드), 유전자 검색 등을 포함한다.
[0061] 그러나, 타깃 속성들의 세트(420)의 각각의 타깃 속성을 동시에 달성할 수 없다는 것을 안다면, 비용 함수들은 개개의 비용 함수들로서 유지될 수 있고 유전자 검색 알고리즘들의 계열이 최적화 컴포넌트(438)에 의해 사용될 수 있다. 예를 들면, 유전자 검색 알고리즘들의 계열은 출력(442)을 생성하는 다목적 진화형 알고리즘(Multiobjective Evolutionary Algorithm; MoEA)들일 수 있다. 출력은 타깃 속성들의 세트(420)에 대한 파레토 프론트를 포함할 수 있다.
[0062] 예시적으로, 피처 모델들의 세트(410)는 회귀 모델들을 포함할 수 있다. 예측된 출력과 실제 출력 사이의 에러를 최소화하는 값들인 β 값들을 실험 데이터로부터 찾기 위해 선형 회귀가 사용될 수 있다. 각각의 회귀 모델은 측정 로케이션에서 생성될 수 있다(예를 들면, 49 포인트 계측의 경우, 49 개의 회귀 모델들이 있을 것이다). β 값들은 각각의 측정 로케이션에서의 민감도를 명시하는 민감도 파라미터들로서 간주될 수 있다. 온웨이퍼 타깃들에 대한 레시피 조건들을 찾기 위해, 최적화 루틴들이 사용되어 예상된 성능의 출력과 관찰된 성능의 출력 사이의 에러를 최소화하는 레시피 입력들(예를 들면, 온도, 전력)을 찾을 수 있다. 그런 다음, (1) 임의의 입력에 대한 예측된 값과 소망된 값 사이의 차이를 정의하기 위해 비용 함수(들)를 이용하는 것 및 (2) 비용 함수(들)를 최소화하는 입력 조건들을 찾기 위해 최적화 루틴(들)을 사용하는 것에 의해 온웨이퍼 타깃들에 대한 레시피 조건들을 찾기 위해, 그러므로 소망된 온웨이퍼 타깃들을 찾기 위한 레시피 설정들을 찾기 위해, 회귀 모델들에 기초하여 최적화가 수행될 수 있다.
[0063] 도 2를 다시 참조하면, 시스템(200)은 레시피 매칭 컴포넌트(250)를 더 포함할 수 있다. 매칭 컴포넌트(250)는 레시피 생성 컴포넌트(240)로부터 레시피 모델을, 그리고 도구/챔버(220)로부터 프로세스 피드백을 수신하고, 매칭을 수행하는 것에 의해 레시피 오프셋들의 세트("오프셋")(252)를 생성한다. 예를 들면, 프로세스 피드백은 도구/챔버(220)에 의해 수행되는 프로세싱의 현재의 또는 예측된 성능 거동을 포함할 수 있다. 이 예시적인 예에서, 현재의 또는 예측된 성능 거동은 현재의 또는 예측된 웨이퍼 성능 거동이다. 현재의 또는 예측된 성능 거동이 레시피(242)에 대응하는 소망된 또는 예상된 성능 거동과 매치하게 만들 오프셋들을 레시피(242)에서 정의되는 입력들로부터 검색하는 것에 의해 오프셋(252)을 생성하기 위해 매칭이 수행될 수 있다. 즉, 오프셋(252)은 현재의 또는 예측된 성능 거동과 예상된 또는 소망된 성능 거동 사이의 미스매치로부터 유래하는 성능 거동(예를 들면, 온웨이퍼 성능)의 임의의 변화 또는 드리프트를 정정한다. 대안적인 구현예들에서, 오프셋(252)은 (예를 들면, 레시피 생성 컴포넌트(240)를 사용하여) 레시피를 생성하기 위한 레시피 설정들의 새로운 세트일 수 있다.
[0064] 일부 구현예들에서, 현재의 또는 예측된 성능은 임의의 적절한 계측 기법에 의해 측정될 수 있다. 계측 기법들의 예들은 온보드 계측, 인라인 계측 및 가상 계측을 포함한다.
[0065] 온보드 계측은 디바이스들과 유사한 피처들을 갖는 테스트 구조물들에 대해 또는 다이 내의 디바이스들 그들 자체들에 대해 수행되는 측정들을 지칭할 수 있다. 사용되는 측정 기법들에 따라, 테스트 구조물들은 웨이퍼들 상에 있는 로직 또는 메모리 디바이스들과 유사한 구조물들을 포함할 수 있지만, 그러나 이들로 제한되지는 않는다. 온보드 계측은 광학 측정들(예를 들면, 광학 타깃들을 사용한 매크로 2D 맵핑 또는 디바이스들 또는 테스트 구조물들로부터 인시튜로(in-situ) 광학 방출 스펙트럼들을 수집함) 또는 다른 타입들의 측정들에 기초할 수 있다. 이들 광학 또는 다른 측정들은 챔버 내부에(인시튜로), 또는 챔버 외부에(엑스시튜(ex-situ)로) 있을 수 있지만, 그러나 여전히 진공 하에 있을 수 있거나, 또는, 다수의 챔버들을 가질 수 있는 프로세스 플랫폼 상의 팩토리 인터페이스(반드시 진공 하에 있지는 않음)에 있을 수 있다.
[0066] 인라인 계측은 프로세싱 챔버 외부에서, 그러나 생산 라인에서 웨이퍼를 꺼내지 않으면서, 수행될 수 있는 측정들을 지칭할 수 있다. 인라인 계측의 예는 주사 전자 현미경(scanning electron microscope; SEM)이며, 그 고급 버전들은 높은 정밀도 및 광범위한 양식(modality)을 제공할 수 있다. 고급 SEM들은 2차 방출 검출기들 외에도 후방 산란 전자(back-scattered electron; BSE) 센서들, 및 수백 전자 볼트로부터 수십 킬로 전자 볼트까지의 범위에 이르는 다양한 랜딩 에너지 및 다양한 경사 각도들에서 전자 방출을 측정하는 능력을 포함할 수 있다. SEM들은 비파괴적인 방식으로 계측 데이터의 광범위한 데이터베이스를 생성하는 성능을 갖추고 있다. 전자 빔("e-빔") 시뮬레이션, 데이터 수집, 이미지 특성 묘사 및 피처 추출뿐만 아니라 통계 분석을 사용하여 커스터마이징되는 SEM 기반의 인라인 계측은 "커스터마이징된 계측"으로서 지칭될 수 있다. 고급 SEM 도구는 커스터마이징된 계측의 핵심인 고정밀, 비파괴 삼차원 피처 레벨 프로파일링의 기초로서 사용될 수 있다.
[0067] 가상 계측은, 웨이퍼를 직접적으로 측정하지 않고도, 챔버 내의 또는 챔버 외부의 다양한 센서들에 의해 취해지는 센서 데이터에 기초하여 결정되는 웨이퍼의 예측된 측정치들(예를 들면, 치수들)을 가리킬 수 있다. VM은 다양한 프로세스 변수들, 예컨대 압력, 온도, RF 전력, 전류, 전압, 흐름 제어 포지션 등의 시간 자취들을 포함할 수 있다.
[0068] 일부 구현예들에서, MIMO 센서 기반의 모델로부터 현재의 또는 예측된 성능이 추정될 수 있다. 이제, MIMO 센서 기반의 모델에 관한 추가적인 세부사항들이 도 5를 참조하여 하기에서 설명될 것이다.
[0069] 도 5는, 본 개시내용의 양상들에 따른, 피처 모델들(예를 들면, 머신 러닝 피처 모델들)을 사용하여 프로세스 레시피 생성 및 매칭을 구현하기 위한 센서 모델을 포함하는 시스템(500)의 다이어그램이다. 도시되는 바와 같이, 시스템(500)은 데이터 스토리지(510)를 포함한다. 데이터 스토리지(510)는 실시간 센서 데이터(예를 들면, 센서 피드백 데이터)를 저장한다. 시스템(500)은 센서 모델을 구현하는 센서 모델 컴포넌트(520)를 더 포함한다. 센서 모델은, 도 2를 참조하여 상기에서 설명되는 바와 같이, 매칭 컴포넌트(530)에 의한 사용을 위한 예측된 성능 거동(예를 들면, 온웨이퍼 성능 거동)을 생성하기 위해 데이터 스토리지(510)로부터의 센서 데이터를 사용하는 MIMO 모델(예를 들면, 회귀 모델)이다.
[0070] 센서 모델은, 상이한 입력들이 사용된다는 점을 제외하면, 피처 모델과 수학적으로 유사하다. 예를 들면, 레시피 설정들의 세트가 피처 모델에 대한 입력으로서 사용될 수 있는 한편, 도구/챔버로부터 획득되는 센서 피드백 데이터의 세트가 센서 모델에 대한 입력으로서 사용될 수 있다. 센서 피드백 데이터의 세트에 포함될 수 있는 데이터의 예들은 압력 판독치, 밸브 포지션들, 히터 전력 등을 포함한다. 즉, 센서 모델은 가상 계측의 한 구현예로서 간주될 수 있다. 센서 모델은 현재의 거동을 표시하기 위해 사용될 수 있고, 레시피 모델은 예상된 거동을 표시하기 위해 사용될 수 있다. 매칭 컴포넌트(530)는 현재의 거동(예를 들면, 센서 모델에 의해 표시됨)과 예상된 거동 사이의 오프셋들을 계산하여 오프셋들을 계산한다.
[0071] 도 6은, 본 개시내용의 양상들에 따른, 피처 모델들(예를 들면, 머신 러닝 피처 모델들)을 사용하여 프로세스 레시피 생성을 구현하기 위한 방법(600)의 플로우차트이다. 방법(600)은 하드웨어(회로부, 전용 로직 등), (범용 컴퓨터 시스템 또는 전용 머신 상에서 실행되는 것과 같은) 소프트웨어, 펌웨어, 또는 이들의 어떤 조합을 포함할 수 있는 프로세싱 로직에 의해 수행된다. 하나의 구현예에서, 방법(600)은 컴퓨터 시스템, 예컨대 도 1의 컴퓨터 시스템 아키텍처(100)에 의해 수행될 수 있다. 다른 또는 유사한 구현예들에서, 방법(600)의 하나 이상의 동작들은 도면들에서 묘사되지 않는 하나 이상의 다른 머신들에 의해 수행될 수 있다.
[0072] 설명의 간략화를 위해, 방법들은 일련의 액트(act)들로서 묘사되고 설명된다. 그러나, 본 개시내용에 따른 액트들은 다양한 순서들로 및/또는 동시에, 그리고 본원에서 제시되고 설명되지 않은 다른 액트들과 함께 발생할 수 있다. 더구나, 개시된 주제에 따른 방법들을 구현하기 위해 모든 예시된 액트들이 수행되지는 않을 수 있다. 또한, 당업자들은, 방법들이, 대안적으로, 이벤트들 또는 상태 다이어그램을 통해 일련의 상호 관련된 상태들로서 표현될 수 있다는 것을 이해하고 인식할 것이다. 추가적으로, 본 명세서에서 개시되는 방법들은 그러한 방법들을 컴퓨팅 디바이스들로 운반하는 것 및 전달하는 것을 용이하게 하기 위해 제조 물품 상에서 저장될 수 있다는 것이 인식되어야 한다. 용어 제조 물품은, 본원에서 사용될 때, 임의의 컴퓨터 판독 가능 디바이스 또는 저장 매체들로부터 액세스 가능한 컴퓨터 프로그램을 포괄하도록 의도된다.
[0073] 블록(610)에서, 프로세싱 로직은 피처 모델들의 세트를 수신한다. 예를 들면, 피처 모델들의 세트는 머신 러닝 피처 모델(예를 들면, 도 1의 머신 러닝 모델(190))을 포함할 수 있다. 피처 모델들의 세트는 각각이 컴포넌트의 프로세싱과 연관되는 피처에 대응하는 다수의 피처들 모델들을 포함한다. 피처들의 예들은 두께, 저항률, 응력 등을 포함한다. 예를 들면, 컴포넌트는 웨이퍼 또는 기판일 수 있다. 일부 구현예들에서, 각각의 피처 모델은 회귀 모델이다. 예를 들면, 각각의 피처 모델은 MIMO 모델(예를 들면, 공간 MIMO 모델)일 수 있다. 일부 실시예들에서, 피처 모델은 온도, 압력, 유량 등과 같은 제조 파라미터들(예를 들면, 프로세스 파라미터들, 하드웨어 파라미터들)의 입력들을 가질 수 있다. 피처 모델은 출력(예를 들면, 계측 데이터, 성능 데이터), 예컨대 두께, 저항률, 응력 등을 가질 수 있다. 각각의 피처 모델은 특정한 피처(예를 들면, 계측 데이터의 타입, 성능 데이터의 타입)에 대응하는 상이한 출력을 가질 수 있다. 일부 실시예들에서, 타깃 계측 데이터 또는 타깃 성능 데이터는 피처 모델(예를 들면, 반전된 피처 모델)에 제공될 수 있으며, (예를 들면, 타깃 계측 데이터 또는 타깃 성능 데이터를 획득하기 위해 사용될) 예측된 제조 파라미터들은 피처 모델로부터 수신된다. 일부 실시예들에서, 제조 파라미터들은 피처 모델에 제공되고 예측된 계측 데이터 또는 예측된 성능 데이터는 피처 모델로부터 수신된다.
[0074] 블록(620)에서, 프로세싱 로직은 타깃 속성들의 세트를 수신한다. 예를 들면, 타깃 속성들의 세트는 타깃 계측 데이터 또는 타깃 성능 데이터를 포함할 수 있다. 타깃 속성들의 세트는 다수의 피처들 및 피처들 중 개개의 피처들에 대응하는 다수의 타깃들을 포함할 수 있다. 예를 들면, 두께 피처는 "1000 Å"의 값과 "동일한" 타깃을 가질 수 있고, 그 결과, 두께 피처에 대한 타깃은 1000 Å의 평균과 동일한 두께이다. 다른 예로서, 저항률 피처는 "2.03"의 값을 "초과하는" 타깃을 가질 수 있고, 그 결과, 저항률 피처에 대한 타깃은 2.03보다 더 큰 저항률이다.
[0075] 블록(630)에서, 프로세싱 로직은, 피처 모델들의 세트에 기초하여, 타깃 속성들의 세트를 고려하여, 예측된 프로세싱 파라미터들의 하나 이상의 세트들을 결정하고, 블록(640)에서, 프로세싱 로직은, 각각이 예측된 프로세싱 파라미터들의 하나 이상의 세트들의 개개의 세트에 대응하는, 컴포넌트를 프로세싱하기 위한 하나 이상의 후보 프로세스 레시피들을 생성한다. 일부 구현예들에서, 컴포넌트는 웨이퍼이다. 예측된 프로세싱 파라미터들의 각각의 세트는 컴포넌트 프로세싱 동안 수행되는 동작들에 관련되는 다수의 파라미터들(예를 들면, 온도, 압력)을 포함한다. 블록들(630 및 640)은 개개의 동작들로서 또는 동시적 동작들로서 수행될 수 있다.
[0076] 하나 이상의 후보 프로세스 레시피들을 생성하는 것은, 타깃 속성과 대응하는 예측된 속성 사이의 차이를 최소화하기 위해 수치 최적화를 사용하는 것을 포함할 수 있다. 예를 들면, 하나 이상의 후보 프로세스 레시피들을 생성하는 것은 피처 모델들의 세트 및 타깃 속성들의 세트에 기초하여 적어도 하나의 비용 함수를 획득하는 것, 및 적어도 하나의 비용 함수를 최소화하는 것에 의해 후보 프로세스 레시피들의 세트를 획득하는 것을 포함할 수 있다. 예를 들면, 후보 프로세스 레시피들의 세트는, 타깃 속성들의 세트를 얼마나 잘 충족하는지에 기초하여 순위가 매겨지는 다수의 후보 프로세스 레시피들을 포함할 수 있으며, 프로세스 레시피는 가장 높은 순위를 갖는 프로세스 레시피로서 유저에 의해 선택될 수 있다. 일부 경우들에서, 타깃 속성들의 세트의 조건들 각각을 충족하는 어떠한 후보 프로세스 레시피도 존재하지 않는다. 그러한 경우들에서, 후보 프로세스 레시피들의 파레토 프론트가 생성되어 GUI에서 디스플레이될 수 있으며, 프로세스 레시피는 특성 선호도에 기초하여 GUI를 통해 유저에 의해 선택될 수 있다. 수치 최적화에 관한 추가적인 세부사항들은 도 4를 참조하여 상기에서 설명되어 있다.
[0077] 블록(650)에서, 프로세싱 로직은, 하나 이상의 후보 프로세스 레시피들로부터, 프로세스 레시피를 선택한다. 프로세스 레시피를 선택하는 것은 후보 프로세스 레시피들의 세트를 나열하는 그래픽 유저 인터페이스(GUI)를 통해 유저로부터 프로세스 레시피의 선택을 수신하는 것을 포함할 수 있다.
[0078] 블록(660)에서, 프로세싱 로직은 프로세스 도구로 하여금 프로세스 레시피를 사용하여 컴포넌트를 프로세싱하게 한다. 블록들(610-640)에 관한 추가적인 세부사항들은 도 2 내지 도 4를 참조하여 상기에서 설명되어 있다.
[0079] 도 7은 피처 모델들(예를 들면, 머신 러닝 피처 모델들)을 사용하여 오프셋을 생성하기 위해 프로세스 레시피 매칭을 구현하기 위한 방법(700)의 플로우차트이다. 방법(700)은 하드웨어(회로부, 전용 로직 등), (범용 컴퓨터 시스템 또는 전용 머신 상에서 실행되는 것과 같은) 소프트웨어, 펌웨어, 또는 이들의 어떤 조합을 포함할 수 있는 프로세싱 로직에 의해 수행된다. 하나의 구현예에서, 방법(700)은 컴퓨터 시스템, 예컨대 도 1의 컴퓨터 시스템 아키텍처(100)에 의해 수행될 수 있다. 다른 또는 유사한 구현예들에서, 방법(700)의 하나 이상의 동작들은 도면들에서 묘사되지 않는 하나 이상의 다른 머신들에 의해 수행될 수 있다.
[0080] 설명의 간략화를 위해, 방법들은 일련의 액트들로서 묘사되고 설명된다. 그러나, 본 개시내용에 따른 액트들은 다양한 순서들로 및/또는 동시에, 그리고 본원에서 제시되고 설명되지 않은 다른 액트들과 함께 발생할 수 있다. 더구나, 개시된 주제에 따른 방법들을 구현하기 위해 모든 예시된 액트들이 수행되지는 않을 수 있다. 또한, 당업자들은, 방법들이, 대안적으로, 이벤트들 또는 상태 다이어그램을 통해 일련의 상호 관련된 상태들로서 표현될 수 있다는 것을 이해하고 인식할 것이다. 추가적으로, 본 명세서에서 개시되는 방법들은 그러한 방법들을 컴퓨팅 디바이스들로 운반하는 것 및 전달하는 것을 용이하게 하기 위해 제조 물품 상에서 저장될 수 있다는 것이 인식되어야 한다. 용어 제조 물품은, 본원에서 사용될 때, 임의의 컴퓨터 판독 가능 디바이스 또는 저장 매체들로부터 액세스 가능한 컴퓨터 프로그램을 포괄하도록 의도된다.
[0081] 블록(710)에서, 프로세싱 로직은 컴포넌트를 프로세싱하기 위한 예상된 성능, 및 프로세스 레시피를 사용하여 컴포넌트를 프로세싱하기 위한 관찰된 성능을 수신한다. 예상된 성능은 레시피 설정들의 현재의 세트에 대한 피처 모델 출력(들)(예를 들면, 머신 러닝 피처 모델 출력(들))에 대응한다. 일부 구현예들에서, 컴포넌트는 웨이퍼 또는 기판이다. 관찰된 성능은 프로세스 레시피(예를 들면, 프로세스 피드백)를 사용한 실제 프로세싱의 현재의 성능일 수 있다.
[0082] 블록(720)에서, 프로세싱 로직은 예상된 성능과 관찰된 성능 사이의 차이가 임계 조건을 충족하는지의 여부를 결정한다. 일부 실시예들에서, 예상된 성능과 관찰된 성능 사이의 차이가 임계 차이보다 더 큰지의 여부가 결정될 수 있다. 예를 들면, 임계 차이는, 관찰된 성능에 대응하는 프로세스 레시피의 어떠한 수정도 필요로 하지 않도록, 예상된 성능에 "충분히 가까운" 차이로서 선택될 수 있다. 예상된 성능과 관찰된 성능 사이의 차이를 결정하기 위해 임의의 적절한 기법이 사용될 수 있다. 일부 실시예들에서, 회귀 기법이 사용될 수 있다.
[0083] 임계 조건이 충족되는 경우(예를 들면, 차이가 임계 차이보다 더 큰 경우), 입력들의 세트는 수정될 필요가 없고 프로세스가 종료된다. 그렇지 않으면, 블록(730)에서, 프로세싱 로직은 차이에 기초하여 컴포넌트를 프로세싱하기 위한 새로운 프로세스 레시피를 생성한다. 새로운 프로세스 레시피를 생성하는 것은 차이에 기초하여 새로운 프로세스 레시피와 연관되는 출력을 생성하는 것, 및 출력에 기초하여 레시피를 생성하는 것을 포함할 수 있다. 일부 구현예들에서, 출력은 새로운 프로세스 레시피를 포함한다. 일부 구현예들에서, 출력은 성능에서의 차이를 정정하기 위한 오프셋들의 세트를 포함한다. 예를 들면, 오프셋들의 세트는, 예상된 성능과 매치하려는 시도로 컴포넌트를 프로세싱하기 위해 이전에 사용된 프로세스 레시피들을 생성하기 위해 사용된 입력들의 세트를 수정할 수 있고, 그에 의해, 새로운 프로세스 레시피들을 생성하기 위한 입력들의 수정된 세트를 생성할 수 있다.
[0084] 블록(740)에서, 프로세싱 로직은 새로운 프로세스 레시피를 사용하여 새로 관찰된 성능을 획득한다. 프로세스는 예상된 성능과 새로 관찰된 것 사이의 차이가 임계 조건을 충족하는지의 여부를 결정하기 위해 블록(720)으로 다시 복귀할 수 있다.
[0085] 도 8은 본 개시내용의 하나 이상의 양상들에 따라 동작하는 예시적인 컴퓨팅 디바이스(800)의 블록 다이어그램을 묘사한다. 대안적인 실시예들에서, 머신은 로컬 영역 네트워크(LAN), 인트라넷, 엑스트라넷, 또는 인터넷에서 다른 머신들에 연결될(예를 들면, 네트워크화될) 수 있다. 머신은 클라이언트-서버 네트워크 환경에서 서버 또는 클라이언트 머신의 자격으로서 동작할 수 있거나, 또는 피어 투 피어(peer-to-peer)(또는 분산형) 네트워크 환경에서 피어 머신(peer machine)으로서 동작할 수 있다. 머신은 퍼스널 컴퓨터(personal computer; PC), 태블릿 컴퓨터, 셋톱 박스(set-top box; STB), 개인 휴대형 정보 단말(Personal Digital Assistant; PDA), 셀룰러 전화, 웹 어플라이언스, 서버, 네트워크 라우터, 스위치 또는 브리지, 또는 그 머신에 의해 취해질 액션들을 명시하는 명령들의 세트를 (순차적으로 또는 다른 방식으로) 실행할 수 있는 임의의 머신일 수 있다. 게다가, 단일의 머신만이 예시되지만, 용어 "머신"은, 본원에서 논의되는 방법론들 중 임의의 하나 이상의 방법론들을 수행하기 위한 명령들의 세트(또는 다수의 세트들)를 개별적으로 또는 공동으로 실행하는 머신들(예를 들면, 컴퓨터들)의 임의의 콜렉션을 포함하도록 또한 간주되어야 한다. 실시예들에서, 컴퓨팅 디바이스(800)는 도 1의 예측 서버(112) 또는 시스템(100)의 다른 프로세싱 디바이스에 대응할 수 있다.
[0086] 예시적인 컴퓨팅 디바이스(800)는 프로세싱 디바이스(802), 메인 메모리(804)(예를 들면, 판독 전용 메모리(read-only memory; ROM), 플래시 메모리, 동기식 DRAM(synchronous DRAM; SDRAM)과 같은 동적 랜덤 액세스 메모리(dynamic random access memory; DRAM) 등), 정적 메모리(806)(예를 들면, 플래시 메모리, 정적 랜덤 액세스 메모리(static random access memory; SRAM) 등), 및 보조 메모리(예를 들면, 데이터 스토리지 디바이스(828))를 포함하며, 이들은 버스(808)를 통해 서로 통신한다.
[0087] 프로세싱 디바이스(802)는 마이크로프로세서, 중앙 프로세싱 유닛 등과 같은 하나 이상의 범용 프로세서들을 나타낼 수 있다. 특히, 프로세싱 디바이스(802)는 복합 명령 세트 컴퓨팅(complex instruction set computing; CISC) 마이크로프로세서, 축약형 명령 세트 컴퓨팅(reduced instruction set computing; RISC) 마이크로프로세서, 아주 긴 명령 워드(very long instruction word; VLIW) 마이크로프로세서, 다른 명령 세트들을 구현하는 프로세서, 또는 명령 세트들의 조합을 구현하는 프로세서들일 수 있다. 프로세싱 디바이스(802)는, 또한, 주문형 집적 회로(ASIC), 필드 프로그램가능 게이트 어레이(FPGA), 디지털 신호 프로세서(DSP), 네트워크 프로세서 등과 같은 하나 이상의 특수 목적 프로세싱 디바이스들일 수 있다. 프로세싱 디바이스(802)는 또한 시스템 온 칩(system on a chip; SoC), 프로그램가능 로직 제어기(PLC), 또는 다른 타입의 프로세싱 디바이스일 수 있거나 또는 그것을 포함할 수 있다. 프로세싱 디바이스(802)는 본원에서 논의되는 동작들을 수행하기 위한 프로세싱 로직을 실행하도록 구성된다.
[0088] 컴퓨팅 디바이스(800)는 네트워크(864)와 통신하기 위한 네트워크 인터페이스 디바이스(822)를 더 포함할 수 있다. 컴퓨팅 디바이스(800)는 비디오 디스플레이 유닛(810)(예를 들면, 액정 디스플레이(liquid crystal display; LCD) 또는 음극선관(cathode ray tube; CRT)), 영숫자 입력 디바이스(812)(예를 들면, 키보드), 커서 제어 디바이스(814)(예를 들면, 마우스), 및 신호 생성 디바이스(820)(예를 들면, 스피커)를 또한 포함할 수 있다.
[0089] 데이터 스토리지 디바이스(828)는, 본원에서 설명되는 방법론들 또는 기능들 중 임의의 하나 이상을 구체화하는 명령들(826)의 하나 이상의 세트들이 저장되는 머신 판독 가능 저장 매체(또는 더 구체적으로는 비-일시적 컴퓨터 판독 가능 저장 매체)(824)를 포함할 수 있다. 여기서 비-일시적 저장 매체는 반송파 이외의 저장 매체를 지칭한다. 명령들(826)은, 컴퓨터 디바이스(800)에 의한 그 실행 동안, 완전히 또는 적어도 부분적으로, 메인 메모리(804) 내에서 및/또는 프로세싱 디바이스(802) 내에서 또한 상주할 수 있으며, 메인 메모리(804) 및 프로세싱 디바이스(802)도 컴퓨터 판독 가능 저장 매체들을 또한 구성한다.
[0090] 컴퓨터 판독 가능 저장 매체(824)는 모델(190) 및 모델(190)을 트레이닝시키기 위해 사용되는 데이터를 저장하기 위해 또한 사용될 수 있다. 컴퓨터 판독 가능 저장 매체(824)는 모델(190)을 호출하는 방법들을 포함하는 소프트웨어 라이브러리를 또한 저장할 수 있다. 컴퓨터 판독 가능 저장 매체(824)가 예시적인 실시예에서 단일의 매체로서 나타내어지지만, 용어 "컴퓨터 판독 가능 저장 매체"는, 명령들의 하나 이상의 세트들을 저장하는 단일의 매체 또는 다수의 매체들(예를 들면, 중앙 집중식 또는 분산형 데이터베이스, 및/또는 연관된 캐시들 및 서버들)을 포함하는 것으로 간주되어야 한다. 용어 "컴퓨터 판독 가능 저장 매체"는, 머신에 의한 실행을 위해 명령들의 세트를 저장 또는 인코딩할 수 있는 그리고 머신으로 하여금 본 개시내용의 방법론들 중 임의의 하나 이상의 방법론들을 수행하게 하는 임의의 매체를 포함하는 것으로 또한 간주되어야 한다. 따라서, 용어 "컴퓨터 판독 가능 저장 매체"는 솔리드 스테이트 메모리들, 광학 및 자기 매체들을 포함하는, 그러나 이들로 제한되지는 않는 것으로 간주되어야 한다.
[0091] 이전의 설명은 본 개시내용의 여러 실시예들의 양호한 이해를 제공하기 위해 특정 시스템들, 컴포넌트들, 방법들 등의 예들과 같은 다수의 특정 세부사항들을 기재한다. 그러나, 본 개시내용의 적어도 일부 실시예들이 이러한 특정 세부사항들 없이도 실시될 수 있다는 것은 당업자에게 자명할 것이다. 다른 경우들에서, 본 개시내용을 불필요하게 모호하게 하는 것을 피하기 위해, 잘-알려진 컴포넌트들 또는 방법들은 상세히 설명되지 않거나 간단한 블록 다이어그램 형식으로 제시된다. 따라서, 기재된 특정 세부사항들은 단지 예시일 뿐이다. 특정 구현들은 이러한 예시적인 세부사항들로부터 변화될 수 있으며, 여전히 본 개시내용의 범위 내에 있는 것으로 고려될 수 있다.
[0092] 본 명세서 전반에 걸쳐 "일 실시예" 또는 "실시예"에 대한 참조는, 실시예와 관련하여 설명된 특정한 피처, 구조, 또는 특성이 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 본 명세서 전반에 걸쳐 다양한 장소들에서의 어구 "일 실시예" 또는 "실시예"의 출현들 모두는 반드시 동일한 실시예를 지칭하는 것은 아니다. 부가적으로, 용어 "또는"은 배타적인 "또는" 보다는 포괄적인 "또는"을 의미하도록 의도된다. 용어 "약" 또는 "대략"이 본 명세서에서 사용될 때, 이는 제시된 공칭 값이 ±10% 내에서 정확하다는 것을 의미하도록 의도된다.
[0093] 본원에서 방법들의 동작들이 특정한 순서로 도시되고 설명되지만, 각각의 방법의 동작들의 순서는, 특정한 동작들이 역순으로 수행될 수 있어서, 특정한 동작들이 다른 동작들과 적어도 부분적으로 동시에 수행될 수 있도록 변경될 수 있다. 다른 실시예에서, 별개의 동작들의 명령들 또는 하위-동작들은 간헐적 및/또는 교번적인 방식으로 이루어질 수 있다.
[0094] 위의 설명은 제한이 아니라 예시적인 것으로 의도된다는 것을 이해한다. 위의 설명을 판독 및 이해할 시에, 많은 다른 실시예들이 당업자들에게 자명하게 될 것이다. 따라서, 본 개시내용의 범위는, 첨부된 청구항들 및 이 청구항들이 권리를 갖는 등가물들의 전체 범위를 참조하여 결정되어야 한다.

Claims (20)

  1. 방법으로서,
    프로세싱 디바이스에 의해, 피처 모델(feature model)들의 세트를 수신하는 단계 ― 상기 피처 모델들의 세트의 각각의 피처 모델은 컴포넌트의 프로세싱과 연관되는 개개의 피처에 대응함 ―;
    상기 컴포넌트를 프로세싱하기 위한 타깃 속성들의 세트를 상기 프로세싱 디바이스에 의해 수신하는 단계 ― 상기 타깃 속성들의 세트는, 각각의 피처에 대한, 개개의 타깃을 포함함 ―;
    상기 피처 모델들의 세트에 기초하여 상기 프로세싱 디바이스에 의해, 상기 타깃 속성들의 세트를 고려하여, 예측된 프로세싱 파라미터들의 하나 이상의 세트들을 결정하는 단계;
    상기 프로세싱 디바이스에 의해, 상기 예측된 프로세싱 파라미터들의 하나 이상의 세트들 중 개개의 세트에 각각 대응하는 하나 이상의 후보 프로세스 레시피들을 생성하는 단계 ― 상기 하나 이상의 후보 프로세스 레시피들 각각은, 각각의 피처에 대한, 컴포넌트 프로세싱으로부터 유래하는 개개의 예측된 속성 값을 포함하는 예측된 속성들의 세트에 대응함 ―; 및
    상기 프로세싱 디바이스에 의해 상기 하나 이상의 후보 프로세스 레시피들로부터, 상기 컴포넌트를 프로세싱하기 위한 프로세스 레시피를 선택하는 단계를 포함하는,
    방법.
  2. 제1 항에 있어서,
    상기 피처 모델들의 세트는 공간 다중 입력 다중 출력(multiple-input multiple-output; MIMO) 모델들의 세트인,
    방법.
  3. 제1 항에 있어서,
    상기 하나 이상의 후보 프로세스 레시피들을 생성하는 단계는, 타깃 속성과 대응하는 예측된 속성 사이의 차이를 최소화하기 위해 수치 최적화(numerical optimization)를 사용하는 단계를 포함하는,
    방법.
  4. 제3 항에 있어서,
    상기 하나 이상의 후보 프로세스 레시피들을 생성하는 단계는,
    상기 피처 모델들의 세트 및 상기 타깃 속성들의 세트에 기초하여 비용 함수를 획득하는 단계; 및
    예측된 속성들의 각각의 세트를 획득하기 위해 상기 비용 함수를 최소화하는 단계를 포함하는,
    방법.
  5. 제1 항에 있어서,
    상기 프로세싱 디바이스에 의해, 상기 타깃 속성들의 세트의 각각의 타깃 속성을 충족하는 후보 프로세스 레시피를 식별하는 데 실패하는 단계를 더 포함하고,
    상기 프로세스 레시피는 파레토 효율적 레시피 파라미터(Pareto efficient recipe parameter)들의 세트를 포함하는,
    방법.
  6. 제1 항에 있어서,
    상기 프로세싱 디바이스에 의해, 프로세스 도구로 하여금 상기 프로세스 레시피를 사용하여 상기 컴포넌트를 프로세싱하게 하는 단계를 더 포함하는,
    방법.
  7. 제1 항에 있어서,
    상기 프로세싱 디바이스에 의해, 상기 프로세스 레시피를 사용하여 상기 컴포넌트를 프로세싱하기 위한 예상된 성능, 및 상기 프로세스 레시피를 사용하여 상기 컴포넌트를 프로세싱하기 위한 관찰된 성능을 수신하는 단계;
    상기 프로세싱 디바이스에 의해, 상기 예상된 성능과 상기 관찰된 성능 사이의 차이가 임계 조건을 충족하지 않는다는 것을 결정하는 단계; 및
    상기 프로세싱 디바이스에 의해, 상기 차이에 기초하여 상기 컴포넌트를 프로세싱하기 위한 새로운 프로세스 레시피를 생성하는 단계를 더 포함하는,
    방법.
  8. 시스템으로서,
    메모리; 및
    상기 메모리에 커플링된 프로세싱 디바이스를 포함하고,
    상기 프로세싱 디바이스는,
    피처 모델들의 세트를 수신하는 것 ― 상기 피처 모델들의 세트의 각각의 피처 모델은 컴포넌트의 프로세싱과 연관되는 개개의 피처에 대응함 ―;
    상기 컴포넌트를 프로세싱하기 위한 타깃 속성들의 세트를 상기 프로세싱 디바이스에 의해 수신하는 것 ― 상기 타깃 속성들의 세트는, 각각의 피처에 대한, 개개의 타깃을 포함함 ―;
    상기 타깃 속성들의 세트를 고려하여, 예측된 프로세싱 파라미터들의 하나 이상의 세트들을 결정하는 것;
    상기 예측된 프로세싱 파라미터들의 하나 이상의 세트들 중 개개의 세트에 각각 대응하는 하나 이상의 후보 프로세스 레시피들을 생성하는 것 ― 상기 하나 이상의 후보 프로세스 레시피들 각각은, 각각의 피처에 대한, 컴포넌트 프로세싱으로부터 유래하는 개개의 예측된 속성 값을 포함하는 예측된 속성들의 세트에 대응함 ―; 및
    상기 하나 이상의 후보 프로세스 레시피들로부터, 상기 컴포넌트를 프로세싱하기 위한 프로세스 레시피를 선택하는 것을 포함하는 동작들을 수행하는,
    시스템.
  9. 제8 항에 있어서,
    상기 피처 모델들의 세트는 공간 다중 입력 다중 출력(MIMO) 모델들의 세트인,
    시스템.
  10. 제8 항에 있어서,
    상기 하나 이상의 후보 프로세스 레시피들을 생성하는 것은, 타깃 속성과 대응하는 예측된 속성 사이의 차이를 최소화하기 위해 수치 최적화를 사용하는 것을 포함하는,
    시스템.
  11. 제10 항에 있어서,
    상기 하나 이상의 후보 프로세스 레시피들을 생성하는 것은,
    상기 피처 모델들의 세트 및 상기 타깃 속성들의 세트에 기초하여 비용 함수를 획득하는 것; 및
    예측된 속성들의 각각의 세트를 획득하기 위해 상기 비용 함수를 최소화하는 것을 포함하는,
    시스템.
  12. 제8 항에 있어서,
    상기 동작들은,
    상기 타깃 속성들의 세트의 각각의 타깃 속성을 충족하는 후보 프로세스 레시피를 식별하는 데 실패하는 것을 더 포함하고,
    상기 프로세스 레시피는 파레토 효율적 레시피 파라미터들의 세트를 포함하는,
    시스템.
  13. 제8 항에 있어서,
    상기 동작들은, 프로세스 도구로 하여금 상기 프로세스 레시피를 사용하여 상기 컴포넌트를 프로세싱하게 하는 것을 더 포함하는,
    시스템.
  14. 제13 항에 있어서,
    상기 동작들은,
    상기 컴포넌트를 프로세싱하기 위한 예상된 성능, 및 상기 프로세스 레시피를 사용하여 상기 컴포넌트를 프로세싱하기 위한 관찰된 성능을 수신하는 것;
    상기 예상된 성능과 상기 관찰된 성능 사이의 차이가 임계 조건을 충족하지 않는다는 것을 결정하는 것; 및
    상기 차이에 기초하여 상기 컴포넌트를 프로세싱하기 위한 새로운 프로세스 레시피를 생성하는 것을 더 포함하는,
    시스템.
  15. 명령들을 저장하는 비-일시적 머신 판독 가능 저장 매체로서,
    상기 명령들은, 프로세싱 디바이스에 의해 실행될 때, 상기 프로세싱 디바이스로 하여금,
    피처 모델들의 세트를 수신하는 것 ― 상기 피처 모델들의 세트의 각각의 피처 모델은 컴포넌트의 프로세싱과 연관되는 개개의 피처에 대응함 ―;
    상기 컴포넌트를 프로세싱하기 위한 타깃 속성들의 세트를 상기 프로세싱 디바이스에 의해 수신하는 것 ― 상기 타깃 속성들의 세트는, 각각의 피처에 대한, 개개의 타깃을 포함함 ―;
    상기 타깃 속성들의 세트를 고려하여, 예측된 프로세싱 파라미터들의 하나 이상의 세트들을 결정하는 것;
    상기 예측된 프로세싱 파라미터들의 하나 이상의 세트들 중 개개의 세트에 각각 대응하는 하나 이상의 후보 프로세스 레시피들을 생성하는 것 ― 상기 하나 이상의 후보 프로세스 레시피들 각각은, 각각의 피처에 대한, 컴포넌트 프로세싱으로부터 유래하는 개개의 예측된 속성 값을 포함하는 예측된 속성들의 세트에 대응함 ―; 및
    상기 하나 이상의 후보 프로세스 레시피들로부터, 상기 컴포넌트를 프로세싱하기 위한 프로세스 레시피를 선택하는 것을 포함하는 동작들을 수행하게 하는,
    비-일시적 머신 판독 가능 저장 매체.
  16. 제15 항에 있어서,
    상기 피처 모델들의 세트는 공간 다중 입력 다중 출력(MIMO) 모델들의 세트인,
    비-일시적 머신 판독 가능 저장 매체.
  17. 제15 항에 있어서,
    상기 하나 이상의 후보 프로세스 레시피들을 생성하는 것은,
    상기 피처 모델들의 세트 및 상기 타깃 속성들의 세트에 기초하여 비용 함수를 획득하는 것; 및
    예측된 속성들의 각각의 세트를 획득하기 위해 상기 비용 함수를 최소화하는 것에 의해,
    타깃 속성과 대응하는 예측된 속성 사이의 차이를 최소화하기 위해 수치 최적화를 사용하는 것을 포함하는,
    비-일시적 머신 판독 가능 저장 매체.
  18. 제15 항에 있어서,
    상기 동작들은,
    상기 타깃 속성들의 세트의 각각의 타깃 속성을 충족하는 후보 프로세스 레시피를 식별하는 데 실패하는 것을 더 포함하고,
    상기 프로세스 레시피는 파레토 효율적 레시피 파라미터들의 세트를 포함하는,
    비-일시적 머신 판독 가능 저장 매체.
  19. 제15 항에 있어서,
    상기 동작들은 프로세스 도구로 하여금 상기 프로세스 레시피를 사용하여 상기 컴포넌트를 프로세싱하게 하는 것을 더 포함하는,
    비-일시적 머신 판독 가능 저장 매체.
  20. 제15 항에 있어서,
    상기 동작들은,
    상기 컴포넌트를 프로세싱하기 위한 예상된 성능, 및 상기 프로세스 레시피를 사용하여 상기 컴포넌트를 프로세싱하기 위한 관찰된 성능을 수신하는 것;
    상기 예상된 성능과 상기 관찰된 성능 사이의 차이가 임계 조건을 충족하지 않는다는 것을 결정하는 것; 및
    상기 차이에 기초하여 상기 컴포넌트를 프로세싱하기 위한 새로운 프로세스 레시피를 생성하는 것을 더 포함하는,
    비-일시적 머신 판독 가능 저장 매체.
KR1020237039220A 2021-09-13 2022-09-09 피처 모델들을 사용한 프로세스 레시피 생성 및 매칭 KR20240067834A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US17/473,013 2021-09-13

Publications (1)

Publication Number Publication Date
KR20240067834A true KR20240067834A (ko) 2024-05-17

Family

ID=

Similar Documents

Publication Publication Date Title
KR102583830B1 (ko) 제조 동안의 고급 반도체 프로세스 최적화 및 적응형 제어
US10930531B2 (en) Adaptive control of wafer-to-wafer variability in device performance in advanced semiconductor processes
US10657214B2 (en) Predictive spatial digital design of experiment for advanced semiconductor process optimization and control
US11989495B2 (en) Systems and methods for predicting film thickness using virtual metrology
US11860591B2 (en) Process recipe creation and matching using feature models
KR20240067834A (ko) 피처 모델들을 사용한 프로세스 레시피 생성 및 매칭
US20230051330A1 (en) Using defect models to estimate defect risk and optimize process recipes
US11874234B2 (en) Multi-level RF pulse monitoring and RF pulsing parameter optimization at a manufacturing system
US20230350394A1 (en) Run-to-run control at a manufacturing system using machine learning
US20230195060A1 (en) Substrate support characterization to build a digital twin
US11862520B2 (en) Systems and methods for predicting film thickness of individual layers using virtual metrology
US20230359179A1 (en) Methods and mechanisms for adjusting film deposition parameters during substrate manufacturing
US20230222264A1 (en) Processing chamber calibration
US20230078146A1 (en) Virtual measurement of conditions proximate to a substrate with physics-informed compressed sensing
US20230135102A1 (en) Methods and mechanisms for process recipe optimization
US20230260767A1 (en) Process control knob estimation
KR20230164607A (ko) 머신 러닝 모델 성능의 변동을 방지하기 위한 방법들 및 메커니즘들