KR102564629B1 - 공간 왜곡 유사도를 사용하는 툴 오류 분석 - Google Patents

공간 왜곡 유사도를 사용하는 툴 오류 분석 Download PDF

Info

Publication number
KR102564629B1
KR102564629B1 KR1020187003759A KR20187003759A KR102564629B1 KR 102564629 B1 KR102564629 B1 KR 102564629B1 KR 1020187003759 A KR1020187003759 A KR 1020187003759A KR 20187003759 A KR20187003759 A KR 20187003759A KR 102564629 B1 KR102564629 B1 KR 102564629B1
Authority
KR
South Korea
Prior art keywords
tool
signature
tool error
component
error
Prior art date
Application number
KR1020187003759A
Other languages
English (en)
Other versions
KR20180031698A (ko
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 KR20180031698A publication Critical patent/KR20180031698A/ko
Application granted granted Critical
Publication of KR102564629B1 publication Critical patent/KR102564629B1/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
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4065Monitoring tool breakage, life or condition
    • 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/37Measurements
    • G05B2219/37242Tool signature, compare pattern with detected signal
    • 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/37Measurements
    • G05B2219/37245Breakage tool, failure
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Factory Administration (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

제작 프로세스들과 연관된 툴 오류 분석을 용이하게 하기 위한 시스템들 및 기술들이 제시된다. 모니터링 컴포넌트는 하나 이상의 제작 툴과 연관된 한 세트의 센서들에 의해 생성된 센서 데이터에 기반하여 하나 이상의 제작 툴과 연관된 후보 툴 오류를 결정한다. 시그니처 컴포넌트는 하나 이상의 제작 툴과 연관된 데이터에 기반하여 후보 툴 오류에 대한 시그니처 데이터세트를 생성한다. 비교 컴포넌트는 시그니처 데이터세트 및 적어도 하나의 이전에 결정된 툴 오류와 연관된 적어도 하나의 다른 시그니처 데이터세트에 기반하여 후보 툴 오류를 적어도 하나의 이전에 결정된 툴 오류와 비교한다.

Description

공간 왜곡 유사도를 사용하는 툴 오류 분석
본 출원은 2015년 7월 22일에 제출되고 “공간 왜곡 유사도를 사용하는 툴 오류 분석”으로 명칭된 미국 출원 제 14/805,793 호에 우선권을 주장하며, 이 출원의 전체내용은 참조로서 본원에 통합된다.
개시되고 주장되는 발명내용은 일반적으로, 제작(fabrication) 프로세스들과 연관된 툴 오류(failure) 분석에 관한 것이다.
기술적 진보들이 프로세스 주도형(process-driven) 자동화 장비를 점점 복잡해지게 하고 있다. 특정한 목표를 달성하거나 또는 특정한 고도의 기술 프로세스를 수행하기 위한 툴 시스템은 통상적으로, 목표에 도달하거나 또는 프로세스를 성공적으로 실행하기 위한 다수의 기능적 엘리먼트들과, 장비의 동작을 모니터링하기 위해 데이터를 수집하는 다양한 센서들을 통합할 수 있다. 그러한 자동화 장비는 많은 양의 데이터를 생성할 수 있다. 데이터는 특정 작업의 일부분으로서 수행되는 제품 또는 서비스에 관련된 정보 및/또는 프로세스에 관련된 상당한 크기의(sizable) 로그 정보를 포함할 수 있다. 예를 들어, 프로세스 데이터 및/또는 계측 데이터가 제조(manufacturing) 프로세스 동안 수집되고/수집되거나 하나 이상의 데이터세트 내에 저장될 수 있다.
현대의 전자 스토리지 기술들이 끊임없이 증가하는 양의 데이터를 보유할 여유가 있는 반면, 축적된 데이터의 이용은 최적과는 거리가 있는 채로 있다. 수집된 정보의 조사 및 해석은 일반적으로 사람의 개입을 필요로 한다. 예를 들어, 반도체 제조 툴 상의 프로세스는 17시간(예를 들어, 61,200초) 동안 실행될 수 있다. 프로세싱 동안, 반도체 제조 툴은, 예를 들어 수백개의 센서들을 통해 매초마다 센서 측정값들을 출력할 수 있다. 따라서, 출력 센서 측정값을 포함하는 큰 데이터세트들은 프로세스 개발 및/또는 문제해결(troubleshooting) 활동들 동안 (예를 들어, 프로세스 엔지니어들에 의해) 수동으로 연구되어야 한다. 그러나, 사람의 개입을 사용하여 (예를 들어, 출력 센서 측정값들을 포함하는 큰 데이터세트들에 기반하여) 툴 시스템에 관련된 신흥(emerging) 툴 오류들을 결정하는 것은 어렵다.
위에서 설명된 오늘날의 제작 시스템들의 결함들은 단지 종래의 시스템들의 문제들 중 일부의 개요를 제공하도록 의도되며, 포괄적이도록 의도되는 것은 아니다. 종래의 시스템들에 대한 다른 문제들 및 본원에서 설명되는 다양한 비제한적인 실시예들의 대응하는 이점들은 다음의 설명을 검토함으로써 더욱 명백해질 수 있다.
다음은 본 명세서의 몇몇 양태들의 기본 이해를 제공하기 위한 본 명세서의 단순화된 요약을 제시한다. 이 요약은 본 명세서의 광범위한 개요는 아니다. 본 명세서의 주요한 또는 결정적인 엘리먼트들을 식별할 것이 의도되는 것은 아니며, 본 명세서의 특정 구현예들의 임의의 범위 또는 청구범위의 임의의 범위를 지정할 것이 의도되는 것도 아니다. 그 유일한 목적은 본 명세서의 몇몇 개념들을 이후에 제시되는 보다 상세한 설명에 대한 서두로서 단순화된 형태로 제시하는 것이다.
구현예에 따르면, 시스템은 모니터링 컴포넌트, 시그니처 컴포넌트 및 비교 컴포넌트를 포함한다. 모니터링 컴포넌트는, 하나 이상의 제작 툴과 연관된 한 세트의 센서들에 의해 생성된 센서 데이터에 기반하여 하나 이상의 제작 툴과 연관된 후보 툴 오류를 결정한다. 시그니처 컴포넌트는 하나 이상의 제작 툴과 연관된 데이터에 기반하여 후보 툴 오류에 대한 시그니처 데이터세트를 생성한다. 비교 컴포넌트는, 시그니처 데이터세트 및 적어도 하나의 이전에 결정된 툴 오류와 연관된 적어도 하나의 다른 시그니처 데이터세트에 기반하여 후보 툴 오류를 적어도 하나의 이전에 결정된 툴 오류와 비교한다.
다른 구현예에 따르면, 방법은, 하나 이상의 제조 툴과 연관된 한 세트의 센서들에 의해 생성된 센서 데이터에 기반하여 하나 이상의 제조 툴과 연관된 후보 툴 오류를 식별하는 단계, 센서 데이터 및 하나 이상의 제조 툴과 연관된 다른 데이터에 기반하여 후보 툴 오류에 대한 시그니처 데이터세트를 생성하는 단계, 및 시그니처 데이터세트를 적어도 하나의 툴 오류와 연관된 적어도 하나의 다른 시그니처 데이터세트와 비교하는 단계를 제공한다.
또 다른 구현예에 따르면, 컴퓨터 판독가능 매체는 프로세서를 포함하는 시스템에 의한 실행에 응답하여 시스템으로 하여금 동작들을 수행하게 하는 컴퓨터 실행가능 명령어들이 저장되고, 동작들은 하나 이상의 제작 툴과 연관된 후보 툴 오류를 결정하는 동작, 하나 이상의 제조 툴과 연관된 데이터에 기반하여 후보 툴 오류에 대한 시그니처 데이터세트를 생성하는 동작, 및 시그니처 데이터세트를 적어도 하나의 이전에 결정된 툴 오류와 연관된 적어도 하나의 다른 시그니처 데이터세트와 비교하는 동작을 포함한다.
다음의 설명 및 첨부된 도면들은 본 명세서의 몇몇 예시적인 양태들을 제시한다. 이들 양태들은 그러나, 본 명세서의 원리들이 이용될 수 있는 다양한 방식들 중 일부를 나타낸다. 본 명세서의 다른 장점들 및 신규한 피처들은 도면들과 함께 고려될 때 본 명세서의 다음의 상세한 설명으로부터 명백해질 것이다.
도 1은 본원에서 설명되는 다양한 양태들 및 구현예들에 따른, 제작 프로세스들에 관련된 툴 오류 분석을 용이하게 하기 위한 예시적인 시스템을 예시하는 블록도이다.
도 2는 본원에서 설명되는 다양한 양태들 및 구현예들에 따른, 예시적인 툴 오류 분석 컴포넌트를 예시하는 블록도이다.
도 3은 본원에서 설명되는 다양한 양태들 및 구현예들에 따른, 다른 예시적인 툴 오류 분석 컴포넌트를 예시하는 블록도이다.
도 4는 본원에서 설명되는 다양한 양태들 및 구현예들에 따른, 또 다른 예시적인 툴 오류 분석 컴포넌트를 예시하는 블록도이다.
도 5는 본원에서 설명되는 다양한 양태들 및 구현예들에 따른, 또 다른 예시적인 툴 오류 분석 컴포넌트를 예시한다.
도 6은 본원에서 설명되는 다양한 양태들 및 구현예들에 따른, 2개의 시그니처들 사이의 거리(예를 들어, 유사도)를 결정하기 위한 예시적인 시스템을 예시한다.
도 7은 본원에서 설명되는 다양한 양태들 및 구현예들에 따른, 규정된 거리에 기반하여 변환값을 업데이트하기 위한 예시적인 시스템을 예시한다.
도 8은 본원에서 설명되는 다양한 양태들 및 구현예들에 따른, 툴 오류를 결정하는 것을 용이하게 하기 위한 예시적인 방법론의 흐름도이다.
도 9는 본원에서 설명되는 다양한 양태들 및 구현예들에 따른, 툴 오류를 인식하기 위한 예시적인 방법론의 흐름도이다.
도 10은 본원에서 설명되는 다양한 양태들 및 구현예들에 따른, 주어진 아티팩트(artifact)와 유사한 아티팩트들에 대해 데이터베이스에 질의하기 위한 예시적인 방법론의 흐름도이다.
도 11은 적절한 동작 환경을 예시하는 개략적인 블록도이다.
도 12는 샘플 컴퓨팅 환경의 개략적인 블록도이다.
이제 전반적으로 동일한 참조 번호들이 동일한 엘리먼트들을 지칭하는데 사용되는 도면들을 참조하여 본 개시의 다양한 양태들이 설명된다. 다음의 설명에서, 설명의 목적들을 위해, 다수의 특정 상세들이 하나 이상의 양태의 철저한 이해를 제공하기 위해 제시된다. 그러나, 본 개시의 몇몇 양태들이 이들 특정 상세사항들 없이, 또는 다른 방법들, 컴포넌트들, 재료들 등으로 실행될 수 있다는 점이 이해되어야 한다. 다른 경우들에서, 잘 알려진 구조물들 및 디바이스들이 블록도로 도시되어 하나 이상의 양태를 설명하는 것을 용이하게 한다.
기술적 진보들이 프로세스 주도형 자동화 장비를 점점 복잡해지게 하고 있다. 특정한 목표를 달성하거나 또는 특정한 고도의 기술 프로세스를 수행하기 위한 툴 시스템은 통상적으로, 목표에 도달하거나 또는 프로세스를 성공적으로 실행하기 위한 다수의 기능적 엘리먼트들과, 장비의 동작을 모니터링하기 위해 데이터를 수집하는 다양한 센서들을 통합할 수 있다. 그러한 자동화 장비는 많은 양의 데이터를 생성할 수 있다. 데이터는 특정 작업의 일부분으로서 수행되는 제품 또는 서비스에 관련된 정보 및/또는 프로세스에 관련된 상당한 크기의 로그 정보를 포함할 수 있다. 예를 들어, 프로세스 데이터 및/또는 계측 데이터가 제조 프로세스 동안 수집되거고/수집되거나 하나 이상의 데이터세트 내에 저장될 수 있다.
현대의 전자 스토리지 기술들이 끊임없이 증가하는 양의 데이터를 보유할 여유가 있는 반면, 축적된 데이터의 이용은 최적과는 거리가 있는 채로 있다. 수집된 정보의 조사 및 해석은 일반적으로 사람의 개입을 필요로 한다. 예를 들어, 반도체 제조 툴 상의 프로세스는 17시간(예를 들어, 61,200초) 동안 실행될 수 있다. 프로세싱 동안, 반도체 제조 툴은, 예를 들어 수백개의 센서들을 통해 매초마다 센서 측정값들을 출력할 수 있다. 따라서, 출력 센서 측정값을 포함하는 큰 데이터세트들은 프로세스 개발 및/또는 문제해결 활동들 동안 (예를 들어, 프로세스 엔지니어들에 의해) 수동으로 연구되어야 한다. 그러나, 사람의 개입을 사용하여 (예를 들어, 출력 센서 측정값들 포함하는 큰 데이터세트들에 기반하여) 툴 시스템에 관련된 신흥 툴 오류들을 결정하는 것은 어렵다.
이를 위해, 프로세스 데이터(예를 들어, 제작 프로세스 데이터)를 분석하여 제작 프로세스들에 관련된 툴 오류들을 결정, 예측 및/또는 방지하기 위한 기술들이 개시된다. 신흥 툴 오류들(예를 들어, 부품 오류들)을 결정[예를 들어, 학습(learn), 인식, 예측, 방지 등]하기 위해 한 세트의 수치적인(numeric) 그리고/또는 정량화가능한(quantifiable) 속성들에 의해 특징되는 유사도의 공간 왜곡 측정이 이용될 수 있다. 유사도의 공간 왜곡 측정을 이용함으로써, 복수의 제작 툴들(예를 들어, 반도체 제조 툴들)에 대한 다양한 툴 오류들이 결정될 수 있다. 또한, 유사도의 공간 왜곡 측정은, 툴 오류에 대한 속성들의 관점에서 유사도의 규정이 선험적이지 않지만 [예를 들어, 제한된 수의 트레이닝 예시들만이 존재할 때] 제한된 양의 트레이닝 데이터에 기반하여 학습된 응용들에서 유용할 수 있다.
일 양태에서, 각각의 툴 오류는 시그니처로서 구현되는 속성값들의 n차원 벡터와 연관될 수 있다. 예를 들어, 상이한 오류들의 관련 통계들이 정보의 시그니처로서 표현될 수 있다. 시그니처는 제작 툴(들)과 연관된 예상값(들)과 관찰값(들) 사이의 차이를 계산하는 다양한 통계적 프로세스 제어 및/또는 다른 기술들에 의해 획득될 수 있다. 몇몇 경우들에서, 예상값과 관찰값 사이의 차이들의 시퀀스가 시그니처와 연관될 수 있다. n차원 공간 내에서의 시그니처들의 변환에 의해 유사한 오류들(예를 들어, 유사한 오류들의 학습의 결과)이 표현될 수 있다. 변환된 시그니처들의 거리에 의해 2개의 별개의 툴 오류들 사이의 거리가 결정될 수 있다. 예시에서, 변환된 시그니처들의 거리는 n차원 유클리드(Euclidian) 공간 내의 거리일 수 있다. 2개의 오류들은, 대응하는 유클리드 거리가 변환된 공간 내에서 어떤 임계값 아래이면(예를 들어, 작으면) 유사한 것으로 간주될 수 있다. 시그니처는 적어도 하나의 제작 프로세스(예를 들어, 하나 이상의 제작 툴)와 연관된 프로세스 데이터에 기반하여 생성될 수 있다. 추가적으로, (예를 들어, 유사한 것으로 결정된 오류들이 비유사하다고 특정함으로써, 비유사한 것으로 결정된 오류들이 유사하다고 특정함으로써, 계산된 유사도를 관찰된 오류들에 기반하여 수정함으로써 등) 계산된 유사도를 교정하고/교정하거나 유사도를 결정하는데 이용된 변환 함수를 수정하기 위해 트레이닝 입력(예를 들어, 사용자 입력)이 이용될 수 있다. 프로세스 데이터 및/또는 트레이닝 입력에 기반하여, 시그니처들의 정확도가 시간이 지남에 따라 지속적으로 향상될 수 있다.
처음으로 도 1을 참조하면, 본 개시의 양태에 따른 제작 프로세스들(예를 들어, 제조 프로세스들, 반도체 생산, 반도체 제조 툴들 등)에 관련된 툴 오류들을 결정, 예측 및/또는 방지하도록 프로세스 데이터를 분석하기 위한 위한 예시적인 시스템(100)이 예시된다. 시스템(100)은 제작 툴(들)(110), 분광기(120), 툴 센서들(130), 디바이스 측정 장비(140), 분류 장비(150), 툴 오류 분석 컴포넌트(160) 및/또는 데이터베이스(들)(170)를 포함할 수 있다. 제작 툴(들)(110)은 제작(예를 들어, 제조 등)을 위한 하나 이상의 툴 및/또는 하나 이상의 챔버를 포함할 수 있다. 일 양태에서, 제작 툴(들)(110)은 반도체 제작 시스템과 연관될 수 있다. 예를 들어, 도 1에 도시된 바와 같이, 제작 툴(들)(110)은 입력 웨이퍼들(102)을 수용하고 프로세싱된 웨이퍼들(104)을 출력할 수 있다. 그러나, 제작 툴(들)(110)이 상이한 유형의 애셋(asset)(예를 들어, 프로세싱의 상이한 유닛들)을 수용 및/또는 생성할 수 있다는 점이 이해되어야 한다. 예시적인, 비제한적인 실시예에서, 제작 툴(들)(110)은 에칭 프로세스(예를 들어, 습식 에칭, 건식 에칭, 플라즈마 에칭 등)를 통해 입력 웨이퍼들(102)로부터 마스킹되지 않은 재료를 제거하여 그 위에 형성되는 캐비티들 및 피처들을 갖는 프로세싱된 웨이퍼들(104)을 생성하는 에칭 툴일 수 있다. 제작 툴(들)(110)은 또한, 입력 웨이퍼들(102) 상에 재료를 퇴적하여 프로세싱된 웨이퍼들(104)을 양산하는 퇴적 툴(예를 들어, 원자 층 증착, 화학적 기상 증착 등)일 수 있다. 그러나, 제작 툴(들)(110)이 상이한 유형의 제작 시스템과 연관될 수 있다는 점이 이해되어야 한다.
분광기(120), 툴 센서들(130), 디바이스 측정 장비(140) 및/또는 분류 장비(150)와 같은 다양한 측정 디바이스들은, 제작 툴(들)(110)에 의해 수행되는 하나 이상의 프로세스를 모니터링하여 프로세스의 다양한 양태들, 상태들 및/또는 결과들에 관한 이종의(disparate) 정보를 획득할 수 있다. 예시로서, 분광기(120)는 분광 데이터(예를 들어, 분광 강도 정보)를 획득할 수 있다. 분광 데이터는 분광기(120)에 의해 관찰가능한 개별적인 파장들 또는 분광 라인들에 대한 한 세트의 강도들을 포함할 수 있다. 추가적으로, 분광기(120)가 개별적인 파장들에 대해 규칙적인 간격들(예를 들어, 매초마다, 2초마다, 100미리초마다 등)로 강도들을 측정하여 분광 데이터는 시계열(time-series) 데이터를 포함할 수 있다. 분광기(120)는 또한, 분광 데이터를 제작 툴(들)(110)에 의해 프로세싱되는 특정 웨이퍼들과 연관된 웨이퍼 ID들과 상관시킬 수 있다. 따라서, 분광기(120)는 제작 툴(들)(110)에 의해 프로세싱되는 각각의 웨이퍼에 대해 개별적으로 분광 데이터를 획득할 수 있다.
툴 센서들(130)은, 제작 툴(들)(110)이 입력 웨이퍼들(102)을 프로세싱하는 동안 툴 동작 특성들을 모니터링 및/또는 측정할 수 있다. 또한, 툴 센서들(130)은 대응하는 센서 측정 데이터를 생성할 수 있다. 센서 측정 데이터는, 분광기(120)에 의해 측정되는 분광 데이터와 유사하게, 웨이퍼별(per-wafer) 기반으로 상관된 시계열 데이터일 수 있다. 센서 측정 데이터는 다양한 센서들로부터의 측정값들을 포함할 수 있다. 그러한 측정값은 제작 툴(들)(110)의 하나 이상의 챔버 내의 압력들, 하나 이상의 별개의 가스에 대한 가스 흐름, 온도들, 상부 RF(radio frequency) 전력, 프로세스와 연관된 경과 시간(예를 들어, 마지막 습식 세정 이후의 경과 시간 등) 등을 포함할 수 있지만, 이들에 제한되는 것은 아니다. 일 양태에서, 센서 측정 데이터는 물리량들과 연관될 수 있다. 다른 양태에서, 센서 측정 데이터는 가상량들(virtual quantities)과 연관될 수 있다.
디바이스 측정 장비(140)는 디바이스 측정 데이터를 생성할 수 있다. 예를 들어, 디바이스 측정 장비(140)는 웨이퍼들 및/또는 웨이퍼들 상에 제작되는 피처들의 물리적 그리고 기하학적 특성들을 측정할 수 있다. 예를 들어, 디바이스 측정 장비(140)는 웨이퍼들의 미리결정된 위치들 또는 영역들에서의 DI-CD(development inspection critical dimension), FI-CD(final inspection critical dimension), 에칭 바이어스, 두께 등을 측정할 수 있다. 측정된 특성들은 위치별, 웨이퍼별 기반으로 종합되고 디바이스 측정 정보로서 출력될 수 있다. 웨이퍼들의 특성들은 일반적으로 프로세싱 전에 또는 프로세싱 후에 측정된다. 따라서, 디바이스 측정 데이터는 분광 데이터 및 센서 데이터와 비교하여, 상이한 간격으로 획득된 시계열 데이터일 수 있다.
분류 장비(150)는 데이터를 획득 및/또는 생성하여 제작 툴(들)(110) 및/또는 프로세싱된 웨이퍼들(104)을 분류하도록 구현될 수 있다. 예를 들어, 분류 장비(150)는 제작 툴(들)(110)과 연관된 메인터넌스 데이터를 획득 및/또는 생성하도록 구현될 수 있다. 추가적으로 또는 대안적으로, 분류 장비(150)는 프로세싱된 웨이퍼들(104)과 연관된 분류 데이터를 획득 및/또는 생성하도록 구현될 수 있다. 메인터넌스 데이터는, 마지막 예방적 메인터넌스 이후의 경과 시간, 제작 툴(들)(110)과 연관된 하나 이상의 컴포넌트의 에이지(예를 들어, 툴 부품들의 에이지, 컴포넌트와 연관된 생산 시간 등) 등을 포함할 수 있지만, 이들에 제한되는 것은 아니다.
툴 오류 분석 컴포넌트(160)는, 분광기(120), 툴 센서들(130), 디바이스 측정 장비(140) 및/또는 분류 장비(150)에 의해 획득 및/또는 생성되는 프로세스 데이터(및/또는 트레이닝 데이터)를 수신할 수 있다. 툴 오류 분석 컴포넌트(160)는 (예를 들어, 온라인 모드 동안) 프로세스 데이터가 생성되면 프로세스 데이터를 수신할 수 있다. 추가적으로 또는 대안적으로, 툴 오류 분석 컴포넌트(160)는 제작 툴(들)(110)과 연관된 하나 이상의 프로세스의 완료시 프로세스 데이터를 수신할 수 있다. 구현예에서, 프로세스 데이터는 데이터 매트릭스로 통합될 수 있다. 예를 들어, 데이터 매트릭스는 웨이퍼 식별 데이터, 시간 데이터, 센서 측정 데이터, 분광 데이터 및/또는 다른 데이터를 포함할 수 있다. 데이터 매트릭스(예를 들어, 새로운 데이터 매트릭스)는 새로운 학습 사이클을 개시하도록 점증적으로 생성될 수 있다.
일 양태에서, 툴 오류 분석 컴포넌트(160)는 프로세스 데이터를 정규화할 수 있다. 예를 들어, 툴 오류 분석 컴포넌트(160)는 제작 툴(들)(110)과 연관된 에러를 고려하여 프로세스 데이터를 정규화할 수 있다. 툴 오류 분석 컴포넌트(160)는, 제작 툴(들)(110) 내에 포함된 상이한 툴들 및/또는 챔버들 내의 분광 라인들의 강도의 측정 에러를 고려하여 분광 데이터(예를 들어, 측정된 강도들)를 정규화할 수 있다. 비제한적인 예시에서, 툴 오류 분석 컴포넌트(160)는 프로세스 데이터를 정규화하기 위해 제작 툴(들)(110) 내에 포함된 임의로 선택된 기준 챔버 또는 기준 툴과 연관된 변수(예를 들어, 총 광 강도)를 계산할 수 있다.
하나 이상의 실시예에서, 프로세스 데이터는, 제작 툴(들)(110)의 개별적인 실행들 동안 측정되는 파라미터 데이터 및/또는 성능 데이터를 기록하는 툴 프로세스 로그들로부터 유도될 수 있다. 툴 프로세스 로그들은 분광기(120), 툴 센서들(130), 디바이스 측정 장비(140) 및/또는 분류 장비(150)로부터의 측정 데이터를 포함할 수 있다. 그러한 툴 프로세스 로그들에 기록되는 측정값들은, 센서 판독값들(예를 들어, 압력들, 온도들, 전력 등), 메인터넌스 관련 판독값들[예를 들어, 포커스 링의 에이지, 질량 유동 제어기의 에이지, 마지막으로 수행된 메인터넌스 이후의 시간, 한 배치(batch)의 레지스트가 마지막으로 로딩된 이후의 시간], 및/또는 툴 및 성능 통계들(예를 들어, 웨이퍼를 프로세싱한 시간, 화학물 소비, 가스 소비 등)을 포함할 수 있지만, 이들에 제한되는 것은 아니다.
예시적인 시나리오에서, 툴 프로세스 로그는 제작 툴(들)(110)의 각각의 프로세스 실행 말에 툴 오류 분석 컴포넌트(160)에 의해 생성될 수 있다. 프로세스 실행 말에, 분광기(120), 툴 센서들(130), 디바이스 측정 장비(140), 또는 분류 장비(150) 중 하나 이상으로부터의 데이터는 툴 오류 분석 컴포넌트(160)에 제공될 수 있고, 툴 오류 분석 컴포넌트(160)는 수집된 데이터를 실행에 대한 툴 프로세스 로그로 종합할 수 있다. 툴 프로세스 로그는, 실행 동안 프로세싱된 단일 반도체 웨이퍼, 또는 실행 동안 제작된 한 배치의 반도체들에 대응할 수 있다. 툴 프로세스 로그들은 이어서 보고 또는 보관(archival) 목적들을 위해 저장될 수 있다. 일 양태에서, 프로세스 데이터는 툴 오류 분석 컴포넌트(160) 또는 관련 디바이스에 의해 자동으로 제공될 수 있다. 다른 양태에서, 프로세스 데이터는 오퍼레이터에 의해 수동으로 툴 오류 분석 컴포넌트(160)에 제공될 수 있다. 이전의 예시가 프로세스 데이터를 툴 프로세스 로그들로부터 불러와지거나 또는 추출되는 것으로서 설명했지만, 프로세스 데이터가 또한 다른 수단에 의해 툴 오류 분석 컴포넌트(160)에 제공될 수 있다는 점이 이해되어야 한다. 예를 들면, 몇몇 실시예들에서, 모든 프로세스 데이터 또는 한 서브세트의 프로세스 데이터는 디바이스들(120, 130, 140 및/또는 150)로부터 툴 오류 분석 컴포넌트(160)에 직접적으로 제공될 수 있다.
툴 오류 분석 컴포넌트(160)는 분광기(120), 툴 센서들(130), 디바이스 측정 장비(140) 및/또는 분류 장비(150)와 연관된 프로세스 데이터를 분석하여 제작 툴(들)(110)과 연관된 툴 오류(들)를 결정(예를 들어, 학습, 인식, 예측, 방지 등)할 수 있다. 추가적으로, 툴 오류 분석 컴포넌트(160)는 데이터베이스(들)(170) 내에 포함된 데이터에 기반하여 제작 툴(들)(110)과 연관된 툴 오류(들)를 결정(예를 들어, 학습, 인식, 예측, 방지 등)할 수 있다. 툴 오류(예를 들어, 부품 오류, 관심대상의 아티팩트 등)는 하나 이상의 제작 프로세스 및/또는 하나 이상의 제작 툴[예를 들어, 제작 툴(들)(110)]과 연관된 툴 오류일 수 있다. 툴 오류는, 제작 툴(들)(110)과 연관된 계획되지 않은 인터럽션, 제작 툴(들)(110)과 연관된 세트 포인트들 및/또는 사양들로부터의 변동, 하드 툴 오류, 소프트 툴 오류, 캘리브레이션 에러, 툴 마모, 툴 고장, 툴 오작동, 툴 다운시간(downtime), 다른 툴 오류 등과 연관될 수 있다. 제작 툴(110)의 적어도 일부분이 툴 오류와 연관될 수 있다. 또한, 하나 이상의 제작 툴(들)(110)이 툴 오류와 연관될 수 있다. 데이터베이스(들)(170) 내에 포함된 데이터는 제작 툴(들)(110)에 관련된 적어도 이전에 결정된 툴 오류(들)와 연관될 수 있다.
프로세스 데이터[예를 들어, 분광기(120), 툴 센서들(130), 디바이스 측정 장비(140) 및/또는 분류 장비(150)와 연관된 프로세스 데이터]는 툴 오류 분석 컴포넌트(160)를 사용하여, 데이터베이스(들)(170) 내에 포함된 데이터와 비교될 수 있다. 프로세스 데이터와, 데이터베이스(들)(170) 내에 포함된 데이터의 비교는 제작 툴(들)(110)과 연관된 툴 오류(들)를 결정(예를 들어, 학습 및/또는 인식)하는 것을 용이하게 할 수 있다. 예를 들어, 프로세스 데이터[예를 들어, 분광기(120), 툴 센서들(130), 디바이스 측정 장비(140) 및/또는 분류 장비(150)와 연관된 프로세스 데이터]와, 데이터베이스(들)(170) 내에 포함된 데이터 사이의 공간 왜곡 측정의 유사도가 툴 오류 분석 컴포넌트(160)에 의해 결정될 수 있다. 툴 오류 분석 컴포넌트(160)는 또한, 예를 들어 툴 오류들의 영향을 제한하고 그리고/또는 임박한 툴 오류 전에 툴 오류들을 식별하기 위한 툴 오류 분석, 결함 오류 진단 및/또는 툴 오류 방지를 용이하게 할 수 있다.
일 양태에서, 툴 오류 분석 컴포넌트(160)는 제작 툴(들)(110)에 대한 프로세스 데이터를 요약하는(summarize) 시그니처들(예를 들어, 시그니처 데이터세트들, 시그니처 벡터들 등)을 생성 및/또는 이용할 수 있다. 시그니처(예를 들어, 시그니처 데이터세트, 시그니처 벡터 등)는 툴 오류(예를 들어, 후보 툴 오류, 결정된 툴 오류, 이전에 결정된 툴 오류 등)와 연관될 수 있다. 예를 들어, 툴 오류 분석 컴포넌트(160)는 제작 툴(들)(110)과 연관된 후보 툴 오류를 결정할 수 있다. 후보 툴 오류를 결정한 것에 응답하여, 툴 오류 분석 컴포넌트(160)는 후보 툴 오류에 대한 시그니처를 추가적으로 생성할 수 있다. 툴 오류 분석 컴포넌트(160)는 또한, 후보 툴 오류가 툴 오류라는 결정에 응답하여 데이터베이스(들)(170) 내에 후보 툴 오류에 대한 시그니처를 저장할 수 있다. 따라서, 이전에 결정된 툴 오류와 연관된 한 세트의 시그니처들이 데이터베이스(들)(170) 내에 저장될 수 있다.
시그니처는 제작 툴(110)의 상태[예를 들어, 툴 오류 동안의 제작 툴(들)(110)의 상태]를 캡처할 수 있다. 예를 들어, 시그니처는 제작 툴(110)에 대한 프로세스 데이터와 연관된 속성값들의 n차원 벡터일 수 있다. 시그니처는 또한, 상이한 오류들의 관련 통계들과 연관될 수 있다. 시그니처는, 제작 툴(들)(110)에 대한 하나 이상의 프로세스 로그, 계측 측정값, 부품 에이지, 메인터넌스 데이터, 센서 데이터, 다른 프로세스 데이터 등을 포함할 수 있고/있거나 이들과 연관될 수 있다. 일 예시에서, 툴 오류의 시그니처는 센서 검증들의 벡터(예를 들어, 각각의 센서가 대응하는 예상값으로부터 벗어난 양) 및/또는 다른 프로세스 데이터일 수 있다. 시그니처와 연관된 데이터는 툴 오류 전에 캡처 및/또는 생성된 데이터에 대응할 수 있다. 시그니처를 생성하기 위해 툴 오류 분석 컴포넌트(106)에 의해 통계적 프로세스 제어 및/또는 하나 이상의 다른 기술이 이용될 수 있다. 또한, 툴 오류 분석 컴포넌트(160)는 프로세스 데이터의 예상값(들) 및 프로세스 데이터의 관찰값(들)에 기반하여 차이를 계산하여 시그니처의 생성을 용이하게 할 수 있다. 예를 들어, 시그니처는 프로세스 데이터의 예상값들과 프로세스 데이터의 관찰값들 사이의 차이들의 시퀀스일 수 있다. 비제한적인 구현예에서, 툴 오류 분석 컴포넌트(160)는 적어도 한 세트의 센서들[예를 들어, 툴 센서들(130)]을 통해 제작 툴(들)(110)과 연관된 반도체 제작 프로세스(예를 들어, 반도체 제조 프로세스)를 모니터링할 수 있다. 센서값들은, 예를 들어 통계적 프로세스 제어 기술 및/또는 하나 이상의 다른 검증 기술에 의해 검증될 수 있다. 검증에 의해 검출된 예상된 센서 거동의 위반들이 반도체 제조 프로세스에 대한 시그니처의 생성을 개시할 수 있다.
몇몇 구현예들에서, 툴 오류 분석 컴포넌트(160)는, 예를 들어 시그니처의 데이터값들이 0 내지 1 사이이도록 시그니처의 컴포넌트들을 정규화할 수 있다. 툴 오류 분석 컴포넌트(160)는 변환값을 통해 시그니처의 데이터값들을 정규화할 수 있다. 따라서, 시그니처의 모든 데이터값들(예를 들어, 시그니처 데이터세트의 모든 속성들)은, (예를 들어, 변환값을 통해) 시그니처의 데이터값들을 정규화함으로써 초기 유사도 계산(예를 들어, 디폴트 유사도 계산)에서 동일한 가중치를 가질 수 있다. 시그니처의 다수의 정규화된 인스턴스들이 단일 시그니처를 포함할 수 있다. 예시에서, 시그니처는 로트(lot) 내의 각각의 프로세싱된 웨이퍼(104)에 대한 인스턴스 시그니처들의 연결일 수 있다. 다른 예시에서, 시그니처는 제작 툴(들)(110)과 연관된 툴 오류(예를 들어, 히터 오류) 전의 몇몇 시간프레임(예를 들어, 30초)의 각각의 초에 대한 인스턴스 시그니처들의 연결일 수 있다. 일 양태에서, 툴 오류 분석 컴포넌트(160)는 (예를 들어, 트레이닝 모드 동안) 사용자 입력에 응답하여 시그니처를 생성할 수 있다. 예를 들어, 툴 오류 및/또는 시그니처들 사이의 유사도(예를 들어, 툴 오류들)가 사용자에 의해 식별될 수 있다. 툴 오류 분석 컴포넌트(160)는, 일 예시에서 사용자에 의해 식별된 툴 오류에 대한 시그니처를 생성할 수 있다.
툴 오류 분석 컴포넌트(160)는 또한, 트레이닝 데이터(예를 들어, 사용자 입력 데이터)를 수신하여 트레이닝 모드를 용이하게 할 수 있다. 트레이닝 모드의 트레이닝 인스턴스는, 제 1 툴 오류, 제 2 툴 오류, 제 1 툴 오류와 연관된 제 1 시그니처, 제 2 툴 오류와 연관된 제 2 시그니처, 및 외부 에이전트(예를 들어, 사용자) 또는 객관적 기준[예를 들어, 특정 툴 오류들의 존재시 제작 툴(들)(110)에 의해 생성된 출력의 상태]에 의해 결정된 것과 같은 유사도와 연관될 수 있다. 따라서, 트레이닝 데이터(예를 들어, 사용자 입력 데이터)는, 툴 오류 분석 컴포넌트(160)에 의해 결정된 비교 결과(예를 들어, 유사도)를 개선하고/개선하거나 교정하기 위해 이용될 수 있다. 몇몇 구현예들에서, 툴 오류 분석 컴포넌트(160)는 개별 트레이닝 단계(phase)들 및 질의 단계들을 이용할 수 있다. 예를 들어, 툴 오류 분석 컴포넌트(160)는 먼저 얼마간의 트레이닝 인스턴스들을 사용하여 트레이닝될 수 있다. 이어서, 개별 단계에서, 학습된 변환값을 사용하여 유사도가 질의될 수 있다. 다른 구현예들에서, 트레이닝 동작들 및 질의 동작들은 인터리빙될 수 있다.
툴 오류 분석 컴포넌트(160)는 후보 툴 오류와 연관된 시그니처를 데이터베이스(들)(170) 내에 저장된 한 세트의 시그니처들과 비교할 수 있다. 데이터베이스(들)(170) 내에 저장된 한 세트의 시그니처들은 이전에 결정된 툴 오류들과 연관될 수 있다. 제작 툴(들)(110)에 관련된 후보 툴 오류는, 후보 툴 오류와 연관된 시그니처가 데이터베이스(들)(170) 내에 저장된 시그니처와 유사하다[예를 들어, 후보 툴 오류와 연관된 시그니처와, 데이터베이스(들)(170) 내에 저장된 시그니처 사이의 차이가 어떤 임계값 아래이다]는 결정에 응답하여 툴 오류(예를 들어, 툴 오류 인스턴스)로 간주될 수 있다. 툴 오류 인스턴스들 및/또는 툴 오류 인스턴스들과 연관된 정보는 데이터베이스(들)(170) 내에 저장될 수 있다. 데이터베이스(들)(170)는, 예를 들어 한 세트의 시그니처들 및/또는 각각의 툴 오류 인스턴스에 대한 저장된 변환값을 저장할 수 있다. 일 양태에서, 한 세트의 시그니처들은 데이터베이스(들)(170) 중 제 1 데이터베이스 내에 저장될 수 있고 한 세트의 변환값들은 데이터베이스(들)(170) 중 제 2 데이터베이스 내에 저장될 수 있다. 툴 오류 분석 컴포넌트(160)는 또한, 진단 테스트들 및/또는 제안된 복구(repair)를 관찰된 툴 오류들과 연관시킬 수 있다. 유사한 과거 오류들을 결정하기 위해(예를 들어, 프로세스 엔지니어들을 툴 오류를 픽싱(fixing)하기 위한 솔루션으로 안내하기 위해) 툴 오류 분석 컴포넌트(160)에 의해 새로운 툴 오류 인스턴스들이 이용될 수 있다. 또한, 툴 오류 분석 컴포넌트(160)는, 진단 또는 복구사항의 결과에 기반하여 과거 오류들과 새로운 오류의 유사도 또는 비유사도를 특정함으로써 트레이닝될 수 있다. 따라서, 툴 오류 분석 컴포넌트(160)는, 제작 동작(예를 들어, 제조 동작)과 연관된 실제 오류 발생들의 지식, 시그니처에 의해 캡처된 것과 같은 툴의 상태의 지식, 및/또는 툴 오류를 검증 및/또는 픽싱하기 위해 필요한 연관된 복구 프로시저의 지식을 쌓기 위해 이용될 수 있다.
툴 오류 분석 컴포넌트(160)는, 데이터베이스(들)(170)에 질의하여 제작 툴(들)(110)과 연관된 툴 오류들을 결정, 예측 및/또는 방지하는 것을 용이하게 할 수 있다. 툴 오류 분석 컴포넌트(160)는, (예를 들어, 사용자에게 툴 오류가 임박한 상황들을 통지하기 위해) 시그니처가 생성되었다는 결정에 응답하여 실시간으로 데이터베이스(들)(170)에 지속적으로 질의할 수 있다. 후보 툴 오류[예를 들어, 제작 툴(들)(110)과 연관된 새로운 후보 툴 오류]와 데이터베이스(들)(170) 내에 저장된 툴 오류들 사이의 유사도[예를 들어, 거리]가 툴 오류 분석 컴포넌트(160)에 의해 결정될 수 있다. 몇몇 구현예들에서, 툴 오류 분석 컴포넌트(160)는, 후보 툴 오류와 데이터베이스(들)(170) 내에 저장된 툴 오류들 사이의 거리를 계산하기 전에, 후보 툴 오류 및/또는 데이터베이스(들)(170) 내에 저장된 툴 오류들을 변환할 수 있다. 다른 구현예들에서, 툴 오류 분석 컴포넌트(160)는 특정 툴 오류에 대한 유사도에 기반하여 구성된 툴 오류들의 등급화된(ranked) 리스트를 생성 및/또는 출력할 수 있다.
비제한적인 예시에서, 제 1 부품 A이 오류일 때, 툴 오류 분석 컴포넌트(160)는 프로세스 데이터를 기록하고(예를 들어, 관련 프로세스 데이터, 툴 데이터의 요약 등), 제 1 부품 A와 연관된 툴 오류를 라벨링하고/라벨링하거나(예를 들어, 부품 A 오류), 툴 오류를 복구하기 위해 복구 프로시저를 툴 오류에 대한 라벨과 연관시킬 수 있다(예를 들어, 툴 오류를 복구하기 위한 스텝들, 복구된 툴 오류를 검증하기 위한 테스트들 등). 툴 오류 분석 컴포넌트(160)는 제 1 부품 A와 연관된 툴 오류와 연관된 라벨, 시그니처 및/또는 복구 정보를 추가적으로 저장할 수 있다. 또한, 툴 오류 분석 컴포넌트(160)는 마지막 시그니처 또는 선택된 시그니처[예를 들어, 데이터베이스(들)(170)로부터 선택된 그리고/또는 툴 오류 분석 컴포넌트(160)에 의해 수신된 선택된 시그니처]와 유사한 오류들의 리스트를 출력할 수 있다. 제 1 부품 A의 제 2 인스턴스가 오류라는 결정에 응답하여, 툴 오류 분석 컴포넌트(160)는 다른 프로세스 데이터를 기록하고(예를 들어, 툴 데이터의 다른 요약 등), 제 1 부품 A와 연관된 다른 툴 오류를 라벨링하며, 복구 프로시저를 다른 툴 오류에 대한 라벨과 연관시킬 수 있다(예를 들어, 제 1 부품 A의 제 1 툴 오류를 복구하는데 사용되는 복구 프로시저에 대응하는 복구 프로시저). 툴 오류 분석 컴포넌트(160)는, 제 1 부품 A와 연관된 툴 오류와 제 1 부품 A와 연관된 다른 툴 오류가 유사한지의 여부를 결정할 수 있다[예를 들어, 툴 오류 분석 컴포넌트(160)는 제 1 부품 A와 연관된 툴 오류의 2개의 인스턴스들이 변환된 n차원 공간에서 서로 가까워지도록 n차원 공간을 왜곡시킬 수 있다]. 제 2 부품 B가 제 1 시간에 대해 오류라는 결정에 응답하여, 툴 오류 분석 컴포넌트(160)는 제 2 부품 B에 대해 시그니처, 라벨을 결정하고 프로시저를 복구할 수 있다. 툴 오류 분석 컴포넌트(160)는 또한, 제 2 부품 B와 연관된 툴 오류가 다른 툴 오류들과 유사한지의 여부 및/또는 제 2 부품 B와 연관된 툴 오류가 툴 오류들의 리스트에서 관찰된 다른 오류들과 유사하지 않은지의 여부를 결정할 수 있다.
툴 오류 분석 컴포넌트(160)는 출력 데이터(예를 들어, 도 1에 도시된 출력 데이터)를 생성할 수 있다. 툴 오류 분석 컴포넌트(160)에 의해 생성된 출력 데이터는 툴 오류 분석 데이터, 후보 툴 오류, 결정된 툴 오류, 툴 오류들의 등급화된 리스트, 복구 프로시저, 및/또는 제작 툴(들)(110) 및/또는 데이터베이스(들)(170)와 연관된 다른 출력 데이터 포함할 수 있지만, 이들에 제한되는 것은 아니다. 일 양태에서, 툴 오류 분석 컴포넌트(160)에 의해 생성된 출력 데이터는 데이터베이스(들)(170) 및/또는 다른 데이터베이스(들) 내에 저장될 수 있다. 다른 양태에서, 툴 오류 분석 컴포넌트(160)에 의해 생성된 출력 데이터는, 그래픽 사용자 인터페이스, 워크스테이션 디바이스, 데스크탑 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 스마트폰, 또는 다른 유형의 사용자 디바이스와 같지만 이에 제한되지 않는 사용자 디바이스 상에 디스플레이(렌더링)될 수 있다. 툴 오류 분석 컴포넌트(160)에 의해 생성된 출력 데이터를 수신하는 사용자 디바이스는 키보드, 마우스, 디스플레이 모니터, 터치스크린, 및/또는 다른 그러한 인터페이스 디바이스들과 상호작용할 수 있는 프로세서(들)와 연관될 수 있다. 툴 오류 분석 컴포넌트(160)에 의해 생성된 출력 데이터를 수신하는 사용자 디바이스가 출력 데이터를 수신하고 출력 데이터를 임의의 적절한 포맷(예를 들어, 시각적, 청각적, 촉각적 등)으로 사용자에게 렌더링하도록 구성될 수 있다는 점이 이해되어야 한다.
도 2는 본 개시의 다양한 양태들 및 구현예들에 따른 시스템(200)의 비제한적인 구현예를 예시한다. 시스템(200)은 툴 오류 분석 컴포넌트(160)를 포함한다. 툴 오류 분석 컴포넌트(160)는 모니터링 컴포넌트(202), 시그니처 컴포넌트(204) 및/또는 비교 컴포넌트(206)를 포함할 수 있다. 본원에서 개시되는 시스템 및/또는 다른 시스템들의 양태들은 머신(들) 내에 구현되는, 예를 들어 하나 이상의 머신과 연관된 하나 이상의 컴퓨터 판독가능 매체(또는 매체들) 내에 구현되는 머신 실행가능 컴포넌트(들)를 구성할 수 있다. 그러한 컴포넌트는, 하나 이상의 머신, 예를 들어 컴퓨터(들), 컴퓨팅 디바이스(들), 가상 머신(들) 등에 의해 실행될 때 머신(들)으로 하여금 개시되는 동작들을 수행하도록 할 수 있다. 실시예에서, 시스템(200)은 컴퓨터 실행가능 컴포넌트들 및 명령어들을 저장하기 위한 메모리(210)를 포함할 수 있다. 시스템(200)은 시스템(200)에 의한 명령어들(예를 들어, 컴퓨터 실행가능 컴포넌트들 및 명령어들)의 동작을 용이하게 하기 위한 프로세서(208)를 더 포함할 수 있다.
모니터링 컴포넌트(202)는 제작 툴(들)(110)과 연관된 프로세서 데이터(예를 들어, 도 2에 도시된 프로세스 데이터)를 수신 및/또는 모니터링할 수 있다. 프로세스 테이터는 분광기(120), 툴 센서들(130), 디바이스 측정 장비(140) 및/또는 분류 장비(150)에 의해 획득 및/또는 생성될 수 있다. 구현예에서, 프로세스 데이터의 적어도 일부분은 툴 프로세스 로그와 연관될 수 있다. 프로세스 데이터의 적어도 일부분에 기반하여, 모니터링 컴포넌트(202)는 제작 툴(들)(110)과 연관된 후보 툴 오류를 결정(예를 들어, 식별)할 수 있다. 예를 들어, 모니터링 컴포넌트(202)는 제작 툴(들)(110)과 연관된 한 세트의 센서들에 의해 생성된 센서 데이터[예를 들어, 툴 센서들(130)과 연관된 센서 데이터]에 기반하여 제작 툴(들)(110)과 연관된 후보 툴 오류를 결정할 수 있다. 추가적으로 또는 대안적으로, 모니터링 컴포넌트(202)는 분광기(120), 디바이스 측정 장비(140) 및/또는 분류 장비(150)와 연관된 데이터에 기반하여 제작 툴(들)(110)과 연관된 후보 툴 오류를 결정할 수 있다. 모니터링 컴포넌트(202)는, 프로세스 데이터(예를 들어, 프로세스 데이터와 연관된 관찰값들)가 예상값들(예를 들어, 세트 포인트값들, 사양값들, 프로세스 요건들, 예상 거동 등)로부터 벗어났는지의 여부를 결정할 수 있다. 일 양태에서, 모니터링 컴포넌트(202)는 프로세스 데이터에 대해 통계적 프로세스 제어 및/또는 다른 모니터링 기술을 이용할 수 있다.
시그니처 컴포넌트(204)는 제작 툴(들)(110)과 연관된 데이터[예를 들어, 분광기(120), 툴 센서들(130), 디바이스 측정 장비(140) 및/또는 분류 장비(150)와 연관된 데이터]에 기반하여 후보 툴 오류에 대한 시그니처 데이터세트(예를 들어, 시그니처)를 생성할 수 있다. 시그니처 컴포넌트(204)는 모니터링 컴포넌트(202)에 의해 결정(예를 들어, 식별)된 후보 툴 오류에 응답하여 시그니처 데이터세트를 생성할 수 있다. 시그니처 데이터세트를 생성하기 위해 시그니처 컴포넌트(204)에 의해 이용된 데이터는 제작 툴(들)(110)과 연관된 한 세트의 센서들에 의해 생성된 센서 데이터[예를 들어, 툴 센서들(130)과 연관된 센서 데이터]를 포함할 수 있다. 추가적으로 또는 대안적으로, 시그니처 데이터세트를 생성하기 위해 시그니처 컴포넌트(204)에 의해 이용된 데이터는 제작 툴(들)(110)과 연관된 다른 데이터(예를 들어, 프로세스 데이터의 다른 부분)를 포함할 수 있다. 예를 들어, 시그니처 컴포넌트(204)는 분광기(120), 디바이스 측정 장비(140) 및/또는 분류 장비(150)와 연관된 데이터에 기반하여 후보 툴 오류와 연관된 시그니처 데이터세트를 추가적으로 또는 대안적으로 생성할 수 있다.
시그니처 데이터세트는 제작 툴(들)(110)[예를 들어, 분광기(120), 툴 센서들(130), 디바이스 측정 장비(140) 및/또는 분류 장비(150)]과 연관된 데이터(예를 들어, 한 세트의 데이터값들)를 포함하는 데이터 구조(예를 들어, 인덱싱된 데이터 구조)일 수 있다. 예를 들어, 시그니처 데이터세트는 제작 툴(들)(110)[예를 들어, 분광기(120), 툴 센서들(130), 디바이스 측정 장비(140) 및/또는 분류 장비(150)]과 연관된 정보의 어레이(예를 들어, 데이터의 컨테이너)일 수 있다. 제작 툴(들)(110)과 연관된 데이터는, 일 예시에서 분광기(120), 툴 센서들(130), 디바이스 측정 장비(140) 및/또는 분류 장비(150)와 연관된 예상값들과 관찰값들 사이의 차이들의 시퀀스일 수 있다. 시그니처 데이터세트의 사이즈는 제작 툴(들)(110)[예를 들어, 분광기(120), 툴 센서들(130), 디바이스 측정 장비(140) 및/또는 분류 장비(150)]과 연관된 데이터에 기반하여 증가되거나 또는 감소될 수 있다. 구현예에서, 시그니처 데이터세트는 시그니처 벡터일 수 있다. 예를 들어, 시그니처 데이터세트는 분광기(120), 툴 센서들(130), 디바이스 측정 장비(140) 및/또는 분류 장비(150)와 연관된 데이터(예를 들어, 속성값들)를 포함하는 n차원 벡터일 수 있다.
비교 컴포넌트(206)는 시그니처 데이터세트 및 적어도 하나의 툴 오류와 연관된 적어도 하나의 다른 시그니처 데이터세트에 기반하여 후보 툴 오류를 적어도 하나의 툴 오류(예를 들어, 적어도 하나의 이전에 결정된 툴 오류)와 비교할 수 있다. 예를 들어, 비교 컴포넌트(206)는 시그니처 데이터세트(예를 들어, 시그니처 데이터세트의 데이터값들)를 적어도 하나의 다른 시그니처 데이터세트(예를 들어, 적어도 하나의 다른 시그니처 데이터세트의 데이터값들)와 비교하여 후보 툴 오류가 툴 오류인지의 여부를 결정하는 것을 용이하게 할 수 있다. 적어도 하나의 다른 시그니처 데이터세트는 적어도 하나의 툴 오류에 기반하여 [예를 들어, 시그니처 컴포넌트(204)에 의해] 이전에 결정되거고/결정되거나 적어도 하나의 데이터베이스[예를 들어, 데이터베이스(들)(170)] 내에 저장될 수 있다. 예를 들어, 데이터베이스(들)(170)는 한 세트의 이전에 결정된 툴 오류들과 연관된 한 세트의 시그니처 데이터세트들을 포함할 수 있다. 비교 컴포넌트(206)는 시그니처 데이터세트 및 적어도 하나의 다른 시그니처 데이터세트에 적어도 기반하여(예를 들어, 시그니처 데이터세트와 적어도 하나의 다른 시그니처 데이터세트 사이의 거리에 기반하여) 후보 툴 오류와 적어도 하나의 결정된 툴 오류 사이의 거리(예를 들어, 유사도)를 결정할 수 있다. 예를 들어, 비교 컴포넌트(206)는 시그니처 데이터세트와 적어도 하나의 다른 시그니처 데이터세트 사이의 차이를 결정하여 후보 툴 오류와 적어도 하나의 결정된 툴 오류 사이의 거리(예를 들어, 유사도)를 결정하는 것을 용이하게 할 수 있다.
일 양태에서, 비교 컴포넌트(206)는, 시그니처 데이터세트와 적어도 하나의 다른 시그니처 데이터세트 사이의 차이가 어떤 거리 내에 있다는[예를 들어, 차이가 어떤 임계값 아래라는, 후보 툴 오류가 적어도 하나의 툴 오류와 유사하다는 등] 결정에 응답하여 후보 툴 오류를 툴 오류와 연관시킬 수 있다. 비교 컴포넌트(206)는 후보 툴 오류를 툴 오류로서 라벨링할 수 있다. 비교 컴포넌트(206)는 시그니처 데이터세트를 적어도 하나의 데이터베이스[예를 들어, 데이터베이스(들)(170)] 내에 추가적으로 저장하고/저장하거나 시그니처 데이터세트를 적어도 하나의 다른 시그니처 데이터세트와 연관시킬 수 있다[예를 들어, 후보 툴 오류를 적어도 하나의 다른 시그니처 데이터세트와 연관된 툴 오류들의 리스트에 추가한다]. 비교 컴포넌트(206)는 또한, 후보 툴 오류가 적어도 하나의 툴 오류와 유사하다는 결정에 응답하여 시그니처 데이터세트와 연관된 프로세스 데이터의 적어도 일부분(예를 들어, 프로세스 데이터, 툴 데이터의 요약 등)을 기록 및/또는 저장할 수 있다. 추가적으로 또는 대안적으로, 비교 컴포넌트(206)는 후보 툴 오류가 적어도 하나의 툴 오류와 유사하다는 결정에 응답하여 복구 정보[예를 들어, 복구 계획, 복구 프로시저 및/또는 오류를 검증하기 위한 테스트들]를 결정하여 툴 오류를 복구하는 것을 용이하게 할 수 있다. 비교 컴포넌트(206)는 후보 툴 오류를 제작 툴(들)(110)과 연관된 복구 정보(예를 들어, 복구 계획, 복구 프로시저 및/또는 오류를 검증하기 위한 테스트들)와 연관시킬 수 있다. 실시예에서, 툴 오류에 대한 라벨, 시그니처 데이터세트 및/또는 복구 정보는 적어도 하나의 데이터베이스[예를 들어, 데이터베이스(들)(170)] 내에 저장될 수 있다.
도 2가 시스템(200) 내의 개별 컴포넌트들을 도시하는 반면, 컴포넌트들이 공통의 컴포넌트로 구현될 수 있다는 점이 이해되어야 한다. 일 예시에서, 모니터링 컴포넌트(202), 시그니처 컴포넌트(204) 및/또는 비교 컴포넌트(206)는 단일 컴포넌트 내에 포함될 수 있다. 또한, 시스템(200)의 설계는 툴 오류들을 결정, 예측 및/또는 방지하는 것을 용이하게 하기 위해 다른 컴포넌트 선택들, 컴포넌트 배치들을 포함할 수 있다는 점이 이해될 수 있다.
도 3은 본 개시의 다양한 양태들 및 구현예들에 따른 시스템(300)의 비제한적인 구현예를 예시한다. 시스템(300)은 툴 오류 분석 컴포넌트(160)를 포함한다. 툴 오류 분석 컴포넌트(160)는 모니터링 컴포넌트(202), 시그니처 컴포넌트(204), 비교 컴포넌트(302) 및/또는 변환 컴포넌트(302)를 포함할 수 있다.
변환 컴포넌트(302)는 분광기(120), 툴 센서들(130), 디바이스 측정 장비(140) 및/또는 분류 장비(150)와 연관된 프로세스 데이터에 기반하여 변환값(예를 들어, 학습된 변환값)을 생성할 수 있다. 변환값은 사용자 입력을 통해 추가적으로 또는 대안적으로 생성 및/또는 수정될 수 있다. 변환값은 시그니처 데이터세트(예를 들어, 후보 툴 오류)와 연관될 수 있다. 변환 컴포넌트(302)에 의해 생성된 변환값은, 시그니처 데이터세트 및/또는 시그니처 컴포넌트(204)에 의해 생성된 적어도 하나의 다른 시그니처 데이터세트를 정규화하기 위해 이용될 수 있다. 예를 들어, 변환 컴포넌트(302)에 의해 생성된 변환값은, 시그니처 데이터세트(예를 들어, 시그니처 벡터)의 각각의 컴포넌트(예를 들어, 각각의 데이터값) 및/또는 적어도 하나의 다른 시그니처 데이터세트(예를 들어, 적어도 하나의 다른 시그니처 벡터)가 동일한 가중치를 포함하도록 이용될 수 있다. 변환 컴포넌트(302)에 의해 생성된 변환값은, 시그니처 데이터세트의 각각의 컴포넌트(예를 들어, 데이터값) 및/또는 적어도 하나의 다른 시그니처 데이터세트가 0 내지 1 사이에 있도록, 시그니처 데이터세트 및/또는 적어도 하나의 다른 시그니처 데이터세트를 정규화할 수 있다.
일 양태에서, 변환 컴포넌트(302)에 의해 생성된 변환값은 시그니처 데이터세트와 연관된 초기 변환값일 수 있다. 예를 들어, 초기 변환값은 시그니처 데이터세트와 연관된 항등 변환(identity transformation)(예를 들어, 항등 변환값)일 수 있다. 항등 변환은, [예를 들어, 유클리드 거리를 유사도 측정값으로서 사용하여] 시그니처 데이터세트들 사이의 차이가 작으면[예를 들어, 어떤 차이값 아래이면] 툴 오류들이 유사한 것으로 간주되도록 이용될 수 있다. 다른 양태에서, 변환 컴포넌트(302)에 의해 생성된 변환값은 시그니처 데이터세트와 연관된 수정된 변환값(예를 들어, 학습된 변환값)일 수 있다. 예를 들어, 사용자 입력 및/또는 시그니처 데이터세트와 연관된 [예를 들어, 비교 컴포넌트(206)를 통해 비교된] 이전 비교들에 기반하여 초기 변환값이 수정(예를 들어, 업데이트)되어 수정된 변환값을 생성할 수 있다. 실시예에서, 변환값[예를 들어, 초기 변환값, 수정된 변환값 등]을 수정(예를 들어, 업데이트)하기 위해 규정된 거리가 이용될 수 있다. 예를 들어, 규정된 거리[예를 들어, 제 1 시그니처 데이트세트와 제 2 시그니처 데이터세트 사이의 필요되는 거리]에 기반하여 변환값이 업데이트될 수 있다. 규정된 거리는 사용자 입력과 연관될 수 있다.
몇몇 구현예들에서, 비교 컴포넌트(206)는 변환값을 이용하여 후보 툴 오류와 적어도 하나의 툴 오류 사이의 거리(예를 들어, 유사도)를 결정할 수 있다. 예를 들어, 비교 컴포넌트(206)는, 시그니처 데이터세트, 적어도 하나의 다른 시그니처 데이터세트 및 변환값에 기반하여 후보 툴 오류와 적어도 하나의 이전에 결정된 툴 오류 사이의 거리(예를 들어, 유사도)를 결정할 수 있다. 일 예시에서, 변환값이 시그니처 데이터세트와 적어도 하나의 다른 시그니처 데이터세트 사이의 차이에 적용되어 후보 툴 오류와 적어도 하나의 이전에 결정된 툴 오류 사이의 거리(예를 들어, 유사도)를 결정하는 것을 용이하게 한다.
도 3이 시스템(300) 내의 개별 컴포넌트들을 도시하는 반면, 컴포넌트들이 공통의 컴포넌트로 구현될 수 있다는 점이 이해되어야 한다. 일 예시에서, 모니터링 컴포넌트(202), 시그니처 컴포넌트(204), 비교 컴포넌트(206) 및/또는 변환 컴포넌트(302)는 단일 컴포넌트 내에 포함될 수 있다. 또한, 시스템(300)의 설계는 툴 오류들을 결정, 예측 및/또는 방지하는 것을 용이하게 하기 위해 다른 컴포넌트 선택들, 컴포넌트 배치들을 포함할 수 있다는 점이 이해될 수 있다.
도 4는 본 개시의 다양한 양태들 및 구현예들에 따른 시스템(400)의 비제한적인 구현예를 예시한다. 시스템(400)은 툴 오류 분석 컴포넌트(160)를 포함한다. 툴 오류 분석 컴포넌트(160)는 모니터링 컴포넌트(202), 시그니처 컴포넌트(204), 비교 컴포넌트(206), 변환 컴포넌트(302) 및/또는 등급화 컴포넌트(402)를 포함할 수 있다.
등급화 컴포넌트(402)는 툴 오류들의 등급화된 리스트를 생성할 수 있다. 예를 들어, 등급화 컴포넌트(402)는 비교 컴포넌트(206)에 의해 결정된 거리(예를 들어, 유사도)에 기반하여 툴 오류들의 등급화된 리스트를 생성할 수 있다. 후보 툴 오류[예를 들어, 비교 컴포넌트(206)에 의해 결정된 툴 오류]에 대한 유사도의 정도(degree)에 따라 툴 오류들(예를 들어, 툴 오류들과 연관된 시그니처 데이터세트들)이 등급화될 수 있다. 등급화 컴포넌트(402)에 의해 생성된 툴 오류들의 등급화된 리스트는 후보 툴 오류에 대한 가장 유사한 툴 오류 내지 가장 덜 유사한 툴 오류를 보여줄 수 있다. 등급화 컴포넌트(402)는, 후보 툴 오류와 연관된 시그니처 데이터세트와 이전에 결정된 툴 오류들과 연관된 적어도 하나의 다른 시그니처 데이터세트 사이의 유사도에 기반하여 툴 오류들의 리스트에 후보 툴 오류를 등급화할 수 있다. 일 양태에서, 비교 컴포넌트(206) 및/또는 등급화 컴포넌트(402)는, [예를 들어, 후보 툴 오류가 적어도 하나의 이전에 결정된 툴 오류와 유사하다는 결정에 응답하여] 등급화 컴포넌트(402)에 의해 생성 및 유지되는 툴 오류들의 리스트에 후보 툴 오류를 추가할 수 있다.
툴 오류들의 등급화된 리스트는 적어도 데이터베이스(들)(170) 내에 저장된 시그니처 데이터세트들과 연관된 정보에 기반하여 생성될 수 있다. 데이터베이스(들)(170)에 새로운 툴 오류가 추가될 때, 등급화 컴포넌트(402)는 시그니처 데이터세트들을 비교하기 위해 이용되는 특정 거리 함수에 기반하여 그리고/또는 사용자 입력에 의해 툴 오류들의 등급화된 리스트를 생성 및/또는 업데이트할 수 있다. 등급화 컴포넌트(402)에 의해 랜덤 거리 측정값(예를 들어, n차원 유클리드 거리로의 임의적인 거리 측정값)이 이용될 수 있다. 랜덤 거리 측정값은 사용자 입력을 통해 선택될 수 있고/있거나 디폴트 거리 측정값으로서 이용될 수 있다. 등급화 컴포넌트(402)는 또한, 툴 오류들의 등급화된 리스트에 대한 트레이닝을 가능하게 하기 위해 (예를 들어, 특정 툴 오류에 관련된 등급화의 품질을 향상시키기 위해) 사용자 입력을 이용할 수 있다. 사용자 입력은 2개의 툴 오류들을 더 유사하거나 또는 덜 유사한 것으로 식별할 수 있다. 또한, 사용자 입력은 정규화된 스케일(예를 들어, 완전히 비유사한 것에 대응하는 0의 값 및 완전히 유사한 것에 대응하는 1의 값 등)의 관점에서 유사도를 특정할 수 있다.
등급화 컴포넌트(402)는 디스플레이(예를 들어, 사용자 디바이스 상의 디스플레이)를 위해 툴 오류들의 등급화된 리스트를 출력할 수 있다. 등급화 컴포넌트(402)는, 모니터링 컴포넌트(202)에 의해 결정 및/또는 식별된 후보 툴 오류에 대응하는 등급화된 툴 오류들의 지속적으로 업데이트된 리스트(예를 들어, 툴 오류들의 실시간으로 등급화된 리스트)를 제공할 수 있다. 따라서, 시스템[예를 들어, 시스템(100)] 내의 툴 오류들의 영향이 제한 및/또는 감소될 수 있다(예를 들어, 제작 시스템 내의 툴 오류들의 인식이 향상될 수 있다). 또한, 툴 오류들의 실시간으로 등급화된 리스트는 임박한 툴 오류 전에 통상적으로 발생하는 시그니처들을 식별하기 위해 이용될 수 있다. 일 양태에서, 통상적으로 발생하는 시그니처들[예를 들어, 사전 오류(pre-failure) 시그니처, 조기 경보(early-warning) 시그니처 등]은 툴 오류 분석 컴포넌트(160) 및/또는 데이터베이스(들)(170)와 관련하여 저장되고/저장되거나 불러와질 수 있다.
도 4가 시스템(400) 내의 개별 컴포넌트들을 도시하는 반면, 컴포넌트들이 공통의 컴포넌트로 구현될 수 있다는 점이 이해되어야 한다. 일 예시에서, 모니터링 컴포넌트(202), 시그니처 컴포넌트(204), 비교 컴포넌트(206), 변환 컴포넌트(302) 및/또는 등급화 컴포넌트(402)는 단일 컴포넌트 내에 포함될 수 있다. 또한, 시스템(400)의 설계는 툴 오류들을 결정, 예측 및/또는 방지하는 것을 용이하게 하기 위해 다른 컴포넌트 선택들, 컴포넌트 배치들을 포함할 수 있다는 점이 이해될 수 있다.
도 5는 본 개시의 다양한 양태들 및 구현예들에 따른 시스템(500)의 비제한적인 구현예를 예시한다. 시스템(500)은 툴 오류 분석 컴포넌트(160)를 포함한다. 툴 오류 분석 컴포넌트(160)는 모니터링 컴포넌트(202), 시그니처 컴포넌트(204), 비교 컴포넌트(206), 변환 컴포넌트(302), 등급화 컴포넌트(402) 및/또는 트레이닝 컴포넌트(502)를 포함할 수 있다.
트레이닝 컴포넌트(502)는 사용자 입력에 기반하여 시그니처 데이터세트, 변환값 및/또는 시그니처 데이터세트와 연관된 다른 정보를 생성 및/또는 업데이트할 수 있다. 트레이닝 컴포넌트(502)는 비교 컴포넌트(206)에 의해 계산된 유사도를 수정(예를 들어, 교정)하기 위해 사용자 입력을 이용할 수 있다. 예를 들어, 사용자 입력은, 제 1 시그니처 데이터세트와 제 2 시그니처 데이터세트가 비교 컴포넌트(206)에 의해 유사다하고 결정된 것을 비유사하다고 특정할 수 있다. 사용자 입력은 또한, 제 1 시그니처 데이터세트와 제 2 시그니처 데이터세트가 비교 컴포넌트(206)에 의해 비유사다하고 결정된 것을 유사하다고 특정할 수 있다. 비교 컴포넌트(206)에 의해 계산된 유사도를 교정하기 위해 이용된 사용자 입력에 기반하여 변환값이 수정될 수 있다. 트레이닝 컴포넌트(502)에 의해 이용되는 사용자 입력은 한 쌍의 툴 오류들과 연관된 정보 및/또는 한 쌍의 툴 오류들과 연관된 시그니처 데이터세트들을 포함할 수 있다. 트레이닝 컴포넌트(502)에 의해 이용되는 사용자 입력은 한 쌍의 툴 오류들 사이의 유사도(예를 들어, 상대적 유사도 예측)와 연관된 정보를 추가적으로 포함할 수 있다. 예를 들어, 사용자 입력은, 제 1 시그니처와 제 2 시그니처가 유사하다고 간주되도록 하는 제 1 시그니처와 제 2 시그니처 사이의 필요되는 거리일 수 있는 규정된 거리를 포함할 수 있다. 따라서, 트레이닝 컴포넌트(502)는 오류들(예를 들어, 툴 오류들)의 유사도 및/또는 비유사도와 연관된 피드백[예를 들어, 제작 툴(들)(110)과 연관된 사용자 입력 및/또는 정보]을 수신할 수 있다. 또한, 유사한 시그니처 데이터세트들(예를 들어, 유사한 오류 시그니처들)이 n차원 공간에서 서로 접근하고 비유사한 시그니처 데이터세트들(예를 들어, 비유사한 오류 시그니처들)이 n차원 공간에서 서로 멀리 이동하도록 트레이닝 컴포넌트(502)는 변환과 연관된 n차원 공간을 왜곡할 수 있다(예를 들어, 변환값을 수정하고, 변환 매트릭스를 수정하는 등). 한 쌍의 툴 오류들 사이의 유사도와 연관된 정보는 제작 툴(들)(110)과 연관된 기준[예를 들어, 툴 오류(들)가 발생할 때 제작 툴(들)(110)에 대한 출력의 상태]에 기반하여 대안적으로 결정될 수 있다.
도 5가 시스템(500) 내의 개별 컴포넌트들을 도시하는 반면, 컴포넌트들이 공통의 컴포넌트로 구현될 수 있다는 점이 이해되어야 한다. 일 예시에서, 모니터링 컴포넌트(202), 시그니처 컴포넌트(204), 비교 컴포넌트(206), 변환 컴포넌트(302), 등급화 컴포넌트(402) 및/또는 트레이닝 컴포넌트(502)는 단일 컴포넌트 내에 포함될 수 있다. 또한, 시스템(500)의 설계는 툴 오류들을 결정, 예측 및/또는 방지하는 것을 용이하게 하기 위해 다른 컴포넌트 선택들, 컴포넌트 배치들을 포함할 수 있다는 점이 이해될 수 있다.
도 6은 본 개시의 다양한 양태들 및 구현예들에 따른, 변환(예를 들어, 변환값, 학습된 변환)을 사용하여 2개의 시그니처들 사이의 거리(예를 들어, 유사도)를 결정하기 위한 예시적인 시스템(600)을 예시하는 블록도이다. 시스템(600)은 비교 컴포넌트(206) 및/또는 변환 컴포넌트(302)와 연관될 수 있다. 변환 M, 시그니처 S1 및 시그니처 S2가 블록(602)에 의해 수신될 수 있다. 변환 M은 초기 변환값(예를 들어, 식별 변환값) 또는 업데이트된 변환값(예를 들어, 학습된 변환값, 수정된 변환값 등)일 수 있다. 시그니처 S1은 프로세스 데이터[예를 들어, 분광기(120), 툴 센서들(130), 디바이스 측정 장비(140) 및/또는 분류 장비(150)와 연관된 프로세스 데이터]에 대한 관찰값들과 연관될 수 있다. 시그니처 S2는 이전에 결정된 프로세스 데이터(예를 들어, 이전에 결정된 툴 오류와 연관된 프로세스 데이터)와 연관될 수 있다. 일 예시에서, 시그니처 S1은 제 1 아티팩트의 시그니처 벡터(예를 들어, 후보 툴 오류)일 수 있고 시그니처 S2는 제 2 아티팩트의 시그니처 벡터(예를 들어, 툴 오류, 이전에 결정된 툴 오류 등)일 수 있다. 블록(602)은 툴 오류 분석 컴포넌트(160)[예를 들어, 비교 컴포넌트(206)]와 연관될 수 있다. 블록(602)에서, 변환 M, 시그니처 S1 및 시그니처 S2에 기반하여 거리 d가 계산될 수 있다. 예를 들어, 거리 d는 ||M (S1-S2)||와 동일할 수 있다. 블록(604)은 또한, 툴 오류 분석 컴포넌트(160)[예를 들어, 비교 컴포넌트(206)]와 연관될 수 있다. 블록(604)에서, 거리 d가 출력일 수 있다(예를 들어, 전송되거고/전송되거나 저장됨). 일 예시에서, 거리 d가 저장될 수 있고/있거나 유사한 아티팩트들의 리스트(예를 들어, 유사한 툴 오류들의 리스트)를 생성하기 위해 이용될 수 있다.
도 7은 본 개시의 다양한 양태들 및 구현예들에 따른, 규정된 거리(예를 들어, 필요되는 거리)에 기반하여 변환(예를 들어, 학습된 변환 W)을 업데이트하기 위한 예시적인 시스템(700)을 예시하는 블록도이다. 시스템(700)은 비교 컴포넌트(206) 및/또는 트레이닝 컴포넌트(502)와 연관될 수 있다. 시그니처 S1, 시그니처 S2 및/또는 규정된 거리가 블록(702)에 의해 수신될 수 있다. 규정된 거리는, 시그니처 S1과 시그니처 S2가 유사한 것으로 간주되도록 하는 시그니처 S1과 시그니처 S2 사이의 필요되는 거리일 수 있다. 일 예시에서, 규정된 거리는 사용자 입력을 통해 제공될 수 있다. 블록(702)은 툴 오류 분석 컴포넌트(160)[예를 들어, 비교 컴포넌트(206)]와 연관될 수 있다. 블록(702)에서, 벡터 D 및/또는 파라미터 β가 계산될 수 있다. 벡터 D는 S1-S2와 동일할 수 있다. 파라미터 β는 규정된 거리에 기반하여 계산될 수 있다. 블록(704)은 또한, 툴 오류 분석 컴포넌트(160)[예를 들어, 비교 컴포넌트(206)]와 연관될 수 있다. 블록(704)에서, 적어도 벡터 D 및 파라미터 β에 기반하여 변환 W가 업데이트될 수 있다. 일 예시에서, 변환 W는 W(-β(1/DTD)DDT+1)와 동일해지도록 업데이트될 수 있고, 여기서 DTD는 D의 정규화된 외적(outer product)이고 DDT는 D의 전치(transpose)이다. 시그니처 S1과 시그니처 S2 사이의 거리(예를 들어, 유사도)는 벡터 D=S1-S2의 길이 ||WD||일 수 있다. 벡터 D와 연관된 시그니처 공간의 사영 연산자(projection operator) P는 D의 정규화된 외적과 D의 전치, 예를 들어 P=(1/DTD)DDT로서 규정될 수 있다. 변환 W가 새로운 변환 W’=W(βP+1)으로 업데이트되어 시그니처 S1과 시그니처 S2 사이의 새로운 거리(예를 들어, 유사도)를 학습하는 것을 용이하게 할 수 있다. 파라미터 β는 거리의 변경(예를 들어, 변경의 정도)을 제어할 수 있다. β=-1인 예시에서, 새로운 변환 W’에 대한 시그니처 S1과 시그니처 S2 사이의 거리는 W’D=W(-1P+1)D=W(-D+D)=0이기 때문에 0일 것이다. β=1인 다른 예시에서, 새로운 변환 W’에 대한 시그니처 S1과 시그니처 S2 사이의 거리는 W’D=W(1P+l)D=W(D+D)=2WD이고 ||2WD||=2||WD||이기 때문에 두배일 것이다. 따라서, 파라미터 β에 기반하여 거리가 수정(예를 들어, 증가 또는 감소)될 수 있다. 몇몇 실시예들에서, 새로운 변환 W’은 저장되기 전에[예를 들어, 데이터베이스(들)(170) 내에 저장되기 전에] 정규화될 수 있다.
도 8 내지 도 10은 본 명세서의 하나 이상의 실시예에 따른 다양한 방법론들을 예시한다. 설명의 단순화의 목적들을 위해, 본원에서 보여지는 하나 이상의 방법론이 일련의 액트들로서 보여지고 설명되는 반면, 본 발명이 액트들의 순서에 의해 제한되는 것은 아니며, 그에 따라 몇몇 액트들이 상이한 순서로 그리고/또는 본원에서 보여지고 설명되는 액트들과 다른 액트들과 동시에 발생할 수 있다는 점에 이해되고 인식되어야 한다. 예를 들어, 당업자는, 방법론이 가령 상태도에서 일련의 상호관련된 상태들 또는 이벤트들로서 대안적으로 나타내어질 수 있다는 점을 이해하고 인식할 것이다. 또한, 예시되는 모든 액트들이 본 발명에 따른 방법론을 구현하는데 필요되는 것은 아닐 수 있다. 또한, 상호작용도(들)는, 이종의 엔티티들이 방법론들의 이종의 부분들을 제정할 때 본 개시에 따른 방법론들, 또는 방법들을 나타낼 수 있다. 또한, 본원에서 설명되는 하나 이상의 피처 또는 장점을 달성하기 위해, 개시되는 예시적인 방법들 중 2개 이상이 서로의 조합으로 구현될 수 있다.
도 8은 본 개시의 다양한 양태들 및 구현예들에 따른 툴 오류를 결정하는 것을 용이하게 하기 위한 예시적인 방법론(800)을 예시한다. 초기에, 802에서, 하나 이상의 제작 툴과 연관된 데이터에 기반하여 [예를 들어, 모니터링 컴포넌트(202)에 의해] 하나 이상의 제작 툴과 연관된 후보 툴 오류가 식별된다. 예를 들어, 하나 이상의 제작 툴과 연관된 후보 툴 오류는 하나 이상의 제작 툴과 연관된 한 세트의 센서들에 의해 생성된 센서 데이터에 기반하여 식별될 수 있다. 추가적으로 또는 대안적으로, 하나 이상의 제작 툴과 연관된 후보 툴 오류는 분광 데이터, 측정 데이터, 분류 데이터 및/또는 하나 이상의 제작 툴과 연관된 다른 프로세스 데이터에 기반하여 식별될 수 있다. 후보 툴 오류는, 하나 이상의 제작 툴에 관련된 계획되지 않은 인터럽션, 하나 이상의 제작 툴과 연관된 세트 포인트들 및/또는 사양들로부터의 편차(예를 들어, 센서 데이터, 분광 데이터, 측정 데이터, 분류 데이터 및/또는 다른 프로세스 데이터의 변동), 하드 툴 오류, 소프트 툴 오류, 캘리브레이션 에러, 툴 마모, 툴 고장, 툴 오작동, 툴 다운시간, 다른 툴 오류 등과 연관될 수 있다.
804에서, 하나 이상의 제작 툴과 연관된 데이터의 적어도 일부분에 기반하여 [예를 들어, 시그니처 컴포넌트(204)에 의해] 후보 툴 오류에 대한 시그니처 데이터세트가 생성된다. 예를 들어, 후보 툴 오류에 대한 시그니처 데이터세트는, 센서 데이터, 분광 데이터, 측정 데이터, 분류 데이터 및/또는 하나 이상의 제작 툴과 연관된 다른 프로세스 데이터에 기반하여 생성될 수 있다. 시그니처 데이터세트는, 하나 이상의 제작 툴과 연관된 데이터의 적어도 일부분을 포함하는 데이터 구조(예를 들어, 인덱싱된 데이터 구조, 시그니처 벡터 등)일 수 있다.
806에서, 시그니처 데이터세트는 [예를 들어, 비교 컴포넌트(206)를 사용하여] 적어도 하나의 툴 오류와 연관된 적어도 하나의 다른 시그니처 데이터세트와 비교된다. 예를 들어, (예를 들어, 시그니처 데이터세트가 툴 오류와 연관되는지의 여부를 결정하는 것을 용이하게 하기 위해) 시그니처 데이터세트와 적어도 하나의 다른 데이터세트 사이의 유사도(예를 들어, 차이, 거리 등)가 결정될 수 있다. 적어도 하나의 다른 시그니처 데이터세트는 하나 이상의 데이터베이스 내에 저장될 수 있다. 적어도 하나의 다른 시그니처 데이터세트와 연관된 적어도 하나의 툴 오류는 적어도 하나의 이전에 결정된 툴 오류일 수 있다.
도 9는 본 개시의 다양한 양태들 및 구현예들에 따른 툴 오류를 인식하기 위한 예시적인 방법론(900)을 예시한다. 초기에, 902에서, [예를 들어, 모니터링 컴포넌트(202)에 의해] 하나 이상의 제작 툴과 연관된 후보 툴 오류가 결정된다. 904에서, 하나 이상의 제작 툴과 연관된 데이터에 기반하여 [예를 들어, 시그니처 컴포넌트(204)에 의해] 후보 툴 오류에 대한 시그니처 데이터세트가 생성된다. 906에서, [예를 들어, 시그니처 컴포넌트(204) 및/또는 비교 컴포넌트(206)에 의해] 적어도 하나의 이전에 결정된 툴 오류에 대한 적어도 하나의 다른 시그니처 데이터세트가 수신된다. 908에서, [예를 들어, 변환 컴포넌트(302)에 의해] 후보 툴 오류와 연관된 변환값이 수신 및/또는 결정된다. 예를 들어, 변환값은 시그니처 데이터세트 및/또는 적어도 하나의 다른 시그니처 데이터세트를 정규화하기 위해 이용될 수 있다. 따라서, 시그니처 데이터세트 및/또는 적어도 하나의 다른 시그니처 데이터세트의 각각의 값은 동일한 가중치를 포함할 수 있다. 910에서, 시그니처 데이터세트, 적어도 하나의 다른 시그니처 데이터세트 및/또는 변환값에 기반하여 [예를 들어, 비교 컴포넌트(206)에 의해] 후보 툴 오류와 적어도 하나의 이전에 결정된 툴 오류 사이의 유사도가 결정된다. 예를 들어, 변환값에 의해 정규화된 적어도 하나의 다른 시그니처 데이터세트와 시그니처 데이터세트 사이의 차이는 적어도 하나의 이전에 결정된 툴 오류와 후보 툴 오류 사이의 유사도에 대응할 수 있다.
도 10은 본 개시의 다양한 양태들 및 구현예들에 따른, 주어진 아티팩트와 유사한 아티팩트들에 대해 데이터베이스에 질의하기 위한 예시적인 방법론(1000)을 예시한다. 초기에, 1002에서, [예를 들어, 모니터링 컴포넌트(202)에 의해] 아티팩트(예를 들어, 툴 오류) 및 아티팩트에 대한 시그니처가 결정 및/또는 수신된다. 1004에서, [예를 들어, 변환 컴포넌트(302)에 의해] 아티팩트와 연관된 변환이 결정 및/또는 수신된다. 1006에서, 데이터베이스로부터 [예를 들어, 시그니처 컴포넌트(204) 및/또는 비교 컴포넌트(206)에 의해] 이전에 결정된 아티팩트에 대한 이전에 결정된 시그니처가 수신된다. 1008에서, [예를 들어, 비교 컴포넌트(206)에 의해] 시그니처와 이전에 결정된 시그니처 사이의 차이가 결정된다. 1010에서, 차이 및 변환에 기반하여 [예를 들어, 비교 컴포넌트(206)에 의해] 거리가 결정된다. 1012에서, 거리에 기반하여 [예를 들어, 등급화 컴포넌트(402)에 의해] 유사한 아티팩트들의 리스트에 아티팩트가 추가된다. 1014에서, [예를 들어, 시그니처 컴포넌트(204) 및/또는 비교 컴포넌트(206)에 의해] 다른 이전에 결정된 아티팩트가 데이터베이스 내에 저장되어 있는지의 여부가 결정된다. 다른 이전에 결정된 아티팩트가 데이터베이스 내에 저장되어 있다면, 방법론(1000)은 1006으로 돌아간다. 다른 이전에 결정된 아티팩트가 데이터베이스 내에 저장되어 있지 않다면, 방법론(1000)은 1016으로 돌아간다. 1016에서, [예를 들어, 등급화 컴포넌트(402)에 의해] 유사한 아티팩트들의 리스트가 출력된다.
개시되는 발명내용의 다양한 양태들에 대한 컨텍스트(context)를 제공하기 위해, 다음의 논의뿐만 아니라 도 11 및 도 12는 개시되는 발명내용의 다양한 양태들이 구현될 수 있는 적절한 환경의 간략하고 일반적인 설명을 제공하도록 의도된다.
도 11을 참조하면, 본 개시의 다양한 양태들을 구현하기 위한 적절한 환경(1100)은 컴퓨터(1112)를 포함한다. 컴퓨터(1112)는 프로세싱 유닛(1114), 시스템 메모리(1116), 및 시스템 버스(1118)를 포함한다. 시스템 버스(1118)는 시스템 메모리(1116)를 포함하는(이에 제한되는 것은 아님) 시스템 컴포넌트들을 프로세싱 유닛(1114)에 커플링한다. 프로세싱 유닛(1114)은 임의의 다양한 이용가능한 프로세서들일 수 있다. 프로세싱 유닛(1114)으로서 듀얼 마이크로프로세서들 및 다른 멀티프로세서 아키텍처들이 또한 이용될 수 있다.
시스템 버스(1118)는, ISA(Industrial Standard Architecture), MSA(Micro-Channel Architecture), EISA(Extended ISA), IDE(Intelligent Drive Electronics), VLB(VESA Local Bus), PCI(Peripheral Component Interconnect), 카드 버스, USB(Universal Serial Bus), AGP(Advanced Graphics Port), PCMCIA(Personal Computer Memory Card International Association bus), 파이어와이어(IEEE 1394), 및 SCSI(Small Computer Systems Interface)를 포함하는(이들에 제한되는 것은 아님) 임의의 다양한 이용가능한 버스 아키텍처들을 사용하는, 메모리 버스 또는 메모리 제어기, 주변 버스 또는 외부 버스, 및/또는 로컬 버스를 포함하는 임의의 몇몇 유형들의 버스 구조물(들)일 수 있다.
시스템 메모리(1116)는 휘발성 메모리(1120) 및 비휘발성 메모리(1122)를 포함한다. 가령 스타트업(start-up) 동안, 컴퓨터(1112) 내의 엘리먼트들 사이에 정보를 전송하기 위한 기본 루틴들을 포함하는 BIOS(basic input/output system)가 비휘발성 메모리(1122) 내에 저장된다. 비제한적인 예시로서, 비휘발성 메모리(1122)는 ROM(read only memory), PROM(programmable ROM), EPROM(electrically programmable ROM), EEPROM(electrically erasable programmable ROM), 플래시 메모리, 또는 비휘발성 RAM(random access memory)[예를 들어, FeRAM(ferroelectric RAM)]을 포함할 수 있다. 휘발성 메모리(1120)는 외부 캐시 메모리로서 역할하는 RAM(random access memory)을 포함한다. 비제한적인 예시로서, RAM은 SRAM(static RAM), DRAM(dynamic RAM), SDRAM(synchronous DRAM), DDR SDRAM(double data rate SDRAM), ESDRAM(enhanced SDRAM), SLDRAM(Synchlink DRAM), DRRAM(direct Rambus RAM), DRDRAM(direct Rambus dynamic RAM), 및 램버스 동적 RAM과 같은 많은 형태들로 이용가능하다.
컴퓨터(1112)는 또한, 착탈가능/비착탈가능, 휘발성/비휘발성 컴퓨터 스토리지 매체를 포함한다. 도 11은, 예를 들어 디스크 스토리지(1124)를 예시한다. 디스크 스토리지(1124)는 자기 디스크 드라이브, 플로피 디스크 드라이브, 테이프 드라이브, 재즈 드라이브, 집 드라이브, LS-100 드라이브, 플래시 메모리 카드, 또는 메모리 스틱과 같은 디바이스들을 포함하지만, 이들에 제한되는 것은 아니다. 디스크 스토리지(1124)는 또한, 스토리지 매체를 분리적으로 또는 CD-ROM(compact disk ROM) 디바이스, CD-R(CD recordable) 드라이브, CD-RW(CD rewritable) 드라이브 또는 DVD-ROM(digital versatile disk ROM) 드라이브와 같은 광학 디스크 드라이브를 포함하는(이들에 제한되는 것은 아님) 다른 스토리지 매체와의 조합으로 포함할 수 있다. 디스크 스토리지 디바이스들(1124)의 시스템 버스(1118)로의 연결을 용이하게 하기 위해, 인터페이스(1126)와 같은 착탈가능 또는 비착탈가능 인터페이스가 일반적으로 사용된다.
도 11은 또한, 사용자들과 적절한 동작 환경(1100)에서 설명된 기본 컴퓨터 리소스들 사이의 중개자로서 역할하는 소프트웨어를 도시한다. 그러한 소프트웨어는, 예를 들어 운영 체제(1128)를 포함한다. 디스크 스토리지(1124) 상에 저장될 수 있는 운영 체제(1128)는 컴퓨터 시스템(1112)의 리소스들을 제어하고 할당하는 역할을 한다. 시스템 애플리케이션들(1130)은, 프로그램 모듈들(1132) 및 예를 들어 시스템 메모리(1116) 내에 또는 디스크 스토리지(1124) 상에 저장되는 프로그램 데이터(1134)를 통한 운영 체제(1128)에 의한 리소스들의 관리를 이용한다. 본 개시가 다양한 운영 체제들 또는 운영 체제들의 조합들로 구현될 수 있다는 점이 이해되어야 한다.
사용자는 입력 디바이스(들)(1136)를 통해 컴퓨터(1112)에 명령들 또는 정보를 입력한다. 입력 디바이스들(1136)은, 마우스, 트랙볼, 스타일러스, 터치 패드, 키보드, 마이크로폰, 조이스틱, 게임 패드, 위성 디쉬(satellite dish), 스캐너, TV 튜너 카드, 디지털 카메라, 디지털 비디오 카메라, 웹 카메라 등과 같은 포인팅 디바이스를 포함하지만, 이들에 제한되는 것은 아니다. 이들 및 다른 입력 디바이스들은 인터페이스 포트(들)(1138)를 통해 시스템 버스(1118)를 통해 프로세싱 유닛(1114)에 연결된다. 인터페이스 포트(들)(1138)는, 예를 들어 시리얼 포트, 병렬 포트, 게임 포트, 및 USB(universal serial bus)를 포함한다. 출력 디바이스(들)(1140)는 동일한 유형의 포트들 중 몇몇을 입력 디바이스(들)(1136)로서 사용한다. 따라서, 예를 들어, USB 포트는 컴퓨터(1112)에 입력을 제공하고, 컴퓨터(1112)로부터 출력 디바이스(1140)에 정보를 출력하기 위해 사용될 수 있다. 다른 출력 디바이스들(1140) 중 특정 어댑터들을 필요로 하는 모니터들, 스피커들, 및 프린터와 같은 몇몇 출력 디바이스들(1140)이 있음을 예시하기 위해 출력 어댑터(1142)가 제공된다. 출력 어댑터들(1142)은, 비제한적인 예시로서 출력 디바이스(1140)와 시스템 버스(1118) 사이의 연결의 수단을 제공하는 비디오 및 사운드 카드들을 포함한다. 다른 디바이스들 및/또는 디바이스들의 시스템들이 원격 컴퓨터(들)(1144)와 같이 입력 및 출력 능력들 둘 다를 제공한다는 점에 유념해야 한다.
컴퓨터(1112)는 원격 컴퓨터(들)(1144)와 같은, 하나 이상의 원격 컴퓨터에의 논리적 연결들을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(들)(1144)는 개인용 컴퓨터, 서버, 라우터, 네트워크 PC, 워크스테이션, 마이크로프로세서 기반 기기, 피어(peer) 디바이스 또는 다른 공통 네트워크 노드 등일 수 있고, 일반적으로 컴퓨터(1112)에 관하여 설명된 엘리먼트들 중 다수 또는 모두를 포함할 수 있다. 간략화의 목적들을 위해, 원격 컴퓨터(들)(1144)에 메모리 스토리지 디바이스(1146)만이 예시된다. 원격 컴퓨터(들)(1144)는 네트워크 인터페이스(1148)를 통해 컴퓨터(1112)에 논리적으로 연결되고 이어서 통신 연결부(1150)를 통해 물리적으로 연결된다. 네트워크 인터페이스(1148)는 LAN(local-area networks), WAN(wide-area networks), 셀룰러 네트워크 등과 같은 유선 및/또는 무선 통신 네트워크를 망라한다. LAN 기술들은 FDDI(Fiber Distributed Data Interface), CDDI(Copper Distributed Data Interface), 이더넷, 토큰 링 등을 포함한다. WAN 기술들은 ISDN(Integrated Services Digital Networks) 및 그 변형들, 패킷 스위칭 네트워크, 및 DSL(Digital Subscriber Lines)과 같은 회로 스위칭 네트워크, 점대점(point-to-point) 링크를 포함하지만, 이들에 제한되는 것은 아니다.
통신 연결부(들)(1150)는 네트워크 인터페이스(1148)를 버스(1118)에 연결하기 위해 이용되는 하드웨어/소프트웨어를 지칭한다. 통신 연결부(1150)가 예시적 명확성을 위해 컴퓨터(1112) 내부에 도시되는 반면, 통신 연결부(1150)는 또한 컴퓨터(1112) 외부에 있을 수 있다. 네트워크 인터페이스(1148)에의 연결을 위해 필요한 하드웨어/소프트웨어는, 예시적인 목적들만을 위해, 일반 전화 등급 모뎀들, 케이블 모뎀들 및 DSL 모뎀들, ISDN 어댑터들, 및 이더넷 카드들을 포함하는 모뎀들과 같은 내부 및 외부 기술들을 포함한다.
도 12는 본 개시의 발명내용이 상호작용할 수 있는 샘플 컴퓨팅 환경(1200)의 개략적인 블록도이다. 시스템(1200)은 하나 이상의 클라이언트(들)(1210)를 포함한다. 클라이언트(들)(1210)는 하드웨어 및/또는 소프트웨어(예를 들어, 스레드들, 프로세스들, 컴퓨팅 디바이스들)일 수 있다. 시스템(1200)은 또한, 하나 이상의 서버(들)(1230)를 포함한다. 따라서, 시스템(1200)은 다른 모델들 중에서도 2단(two-tier) 클라이언트 서버 모델 또는 다단(multi-tier)[예를 들어, 클라이언트, 중간단(middle tier) 서버, 데이터 서버] 모델에 대응할 수 있다. 서버(들)(1230)는 또한, 하드웨어 및/또는 소프트웨어(예를 들어, 스레드들, 프로세스들, 컴퓨팅 디바이스들)일 수 있다. 서버들(1230)은, 예를 들어 본 개시를 이용함으로써 변환들을 수행하기 위한 스레드들을 하우징할 수 있다. 클라이언트(1210)와 서버(1230) 사이의 하나의 가능한 통신은 2개 이상의 컴퓨터 프로세스들 사이에 전송되는 데이터 패킷의 형태일 수 있다.
시스템(1200)은 클라이언트(들)(1210)와 서버(들)(1230) 사이의 통신들을 용이하게 하기 위해 이용될 수 있는 통신 프레임워크(1250)를 포함한다. 클라이언트(들)(1210)는, 클라이언트(들)(1210)에 로컬로 정보를 저장하기 위해 이용될 수 있는 하나 이상의 클라이언트 데이터 스토어(들)(1220)에 동작가능하게 연결된다. 유사하게, 서버(들)(1230)는, 서버(들)(1230)에 로컬로 정보를 저장하기 위해 이용될 수 있는 하나 이상의 서버 데이터 스토어(들)(1240)에 동작가능하게 연결된다.
본 개시의 양태들 또는 피처들이 실질적으로 임의의 무선 원격통신 또는 무선 기술, 예를 들어 와이파이; 블루투스; WiMAX(Worldwide Interoperability for Microwave Access); 인핸스드 GPRS(Enhanced General Packet Radio Service); 3GPP(Third Generation Partnership Project) LTE(Long Term Evolution); 3GPP2(Third Generation Partnership Project 2) UMB(Ultra Mobile Broadband); 3GPP UMTS(Universal Mobile Telecommunication System); HSPA(High Speed Packet Access); HSDPA(High Speed Downlink Packet Access); HSUPA(High Speed Uplink Packet Access); GERAN[GSM(Global System for Mobile Communications) EDGE (Enhanced Data Rates for GSM Evolution) Radio Access Network]; UTRAN(UMTS Terrestrial Radio Access Network); LTE-A(LTE Advanced) 등에서 이용될 수 있다는 점에 유념해야 한다. 추가적으로, 본원에서 설명되는 모든 양태들 중 일부 또는 모두는 레거시 원격통신 기술들, 예를 들어 GSM에서 이용될 수 있다. 또한, 모바일 또한 비모바일 네트워크[예를 들어, 인터넷, IPTV(internet protocol television)와 같은 데이터 서비스 네트워크 등]가 본원에서 설명되는 양태들 또는 피처들을 이용할 수 있다.
발명내용이 컴퓨터 및/또는 컴퓨터들 상에서 실행되는 컴퓨터 프로그램의 컴퓨터 실행가능 명령어들의 일반적인 컨텍스트로 위에서 설명된 반면, 당업자는 본 개시가 또한 다른 프로그램 모듈들과의 조합으로 구현될 수 있다는 점을 인식할 것이다. 일반적으로, 프로그램 모듈들은 특정 태스크들을 수행하고/수행하거나 특정 추상 데이터 유형들을 구현하는 루틴들, 프로그램들, 컴포넌트들, 데이터 구조들 등을 포함한다. 또한, 당업자는 본 발명의 방법들이, 개인용 컴퓨터들, 핸드헬드(hand-held) 컴퓨팅 디바이스들(예를 들어, PDA, 폰), 마이크로프로세서 기반 또는 프로그램가능 가전 기기 또는 산업 기기 등뿐만 아니라, 단일 프로세서 또는 다중프로세서 컴퓨터 시스템들, 미니 컴퓨팅 디바이스들, 메인프레임 컴퓨터들을 포함하는 다른 컴퓨터 시스템 구성들로 실시될 수 있다는 점을 이해할 것이다. 예시되는 양태들은 또한, 태스크들이 통신 네트워크를 통해 링크된 원격 프로세싱 디바이스들에 의해 수행되는 분산형 컴퓨팅 환경들에서 실시될 수 있다. 그러나, 본 개시의 모두는 아니더라도 일부 양태들이 독립형(stand-alone) 컴퓨터들 상에서 실시될 수 있다. 분산형 컴퓨팅 환경에서, 프로그램 모듈들은 로컬 및 원격 메모리 스토리지 디바이스들 둘 다 내에 위치될 수 있다.
본 명세서에서 사용되는 바와 같이, 용어들 “컴포넌트”, “시스템”, “플랫폼”, “인터페이스” 등은 하나 이상의 특정 기능을 갖는 가동(operational) 머신에 관련된 컴퓨터 관련 엔티티 또는 엔티티를 지칭할 수 있고/있거나 포함할 수 있다. 본원에서 개시되는 엔티티들은 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어, 또는 실행 소프트웨어일 수 있다. 예를 들어, 컴포넌트는 프로세서 상에서 실행되는 프로세스, 프로세서, 객체, 실행가능, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있지만, 이들에 제한되는 것은 아니다. 예시로서, 서버 상에서 실행되는 애플리케이션 및 서버 둘 다는 컴포넌트일 수 있다. 하나 이상의 컴포넌트가 프로세스 및/또는 실행 스레드 내에 상주할 수 있고 컴포넌트는 하나의 컴퓨터 상에 국한될 수 있고/있거나 2개 이상의 컴퓨터들 사이에 분산될 수 있다.
다른 예시에서, 개개의 컴포넌트들은 내부에 저장되는 다양한 데이터 구조들을 갖는 다양한 컴퓨터 판독가능 매체로부터 실행될 수 있다. 컴포넌트들은, 가령 하나 이상의 데이터 패킷[예를 들어, 로컬 시스템에서, 분산형 시스템에서, 그리고/또는 신호를 통해 다른 시스템들과 함께 인터넷과 같은 네트워크를 통해 다른 컴포넌트와 상호작용하는 하나의 컴포넌트로부터의 데이터]을 갖는 신호에 따라 로컬 및/또는 원격 프로세스들을 통해 통신할 수 있다. 다른 예시에서, 컴포넌트는 프로세서에 의해 실행되는 소프트웨어 또는 펌웨어 애플리케이션에 의해 동작되는 전기 또는 전자 회로에 의해 동작되는 기계적 부품들에 의해 제공되는 특정 기능을 갖는 장치일 수 있다. 그러한 경우에서, 프로세서는 장치에 대해 내부에 또는 외부에 있을 수 있고 소프트웨어 또는 펌웨어 애플리케이션의 적어도 일부분을 실행할 수 있다. 또 다른 예시로서, 컴포넌트는 기계적 부품들없이 전자 컴포넌트들을 통해 특정 기능을 제공하는 장치일 수 있고, 전자 컴포넌트들은 적어도 부분적으로 전자 컴포넌트들의 기능을 부여하는 소프트웨어 또는 펌웨어를 실행하기 위한 프로세서 또는 다른 수단을 포함할 수 있다. 일 양태에서, 컴포넌트는, 예를 들어 클라우드 컴퓨팅 시스템 내에서 가상 머신을 통해 전자 컴포넌트를 에뮬레이트할 수 있다.
또한, 용어 “또는”은 배타적인 “또는”보다는 포함적인 “또는”을 의미하도록 의도된다. 즉, 달리 명시되지 않거나, 또는 컨텍스트로부터 명백하지 않는 한, “X가 A 또는 B를 이용한다”는 임의의 자연 포괄적 순열(permutation)들을 의미하도록 의도된다. 즉, X가 A를 이용한다; X가 B를 이용한다; 또는 X가 A 및 B 둘 다를 이용한다하면, 이들 경우들 모두에서 “X가 A 또는 B를 이용한다”가 충족된다. 또한, 본 명세서 및 첨부된 도면들에서 사용되는 것과 같은 단수 표현들은, 달리 명시되지 않는 한 또는 단수 형태에 관한 것임이 컨텍스트로부터 명백하지 않는 한, 일반적으로 “하나 이상”을 의미하도록 해석되어야 한다.
본원에서 사용되는 바와 같이, 용어들 “예” 및/또는 “예시적인”은 예, 경우, 또는 예시로서 제공되는 것을 의미하도록 이용된다. 의심의 여지없이, 본원에서 개시되는 발명내용은 그러한 예시들에 의해 제한되는 것은 아니다. 또한, “예”로서 그리고/또는 “예시적인” 것으로서 본원에서 설명되는 임의의 양태 또는 설계는, 다른 양태들 또는 설계들보다 바람직하거나 또는 이로운 것으로 해석될 필요는 없으며, 당업자에게 공지된 균등한 예시적인 구조들 및 기술들을 배제하는 것을 의미하지도 않는다.
본원에서 설명되는 다양한 양태들 또는 피처들은 표준 프로그래밍 또는 엔지니어링 기술들을 사용하여 방법, 장치, 시스템, 또는 제조 물품(article of manufacture)으로서 구현될 수 있다. 또한, 본 개시에서 개시되는 다양한 양태들 또는 피처들은 본원에서 개시되는 방법들 중 적어도 하나 이상을 구현하는 프로그램 모듈들을 통해 실현될 수 있고, 프로그램 모듈들은 메모리 내에 저장되고 적어도 프로세서에 의해 실행된다. 하드웨어 및 소프트웨어 또는 하드웨어 및 펌웨어의 다른 조합들이, 개시된 방법(들)을 포함하여 본원에서 설명된 양태들을 가능하게 하거나 또는 구현할 수 있다. 본원에서 사용되는 바와 같은 용어 “제조 물품”은 임의의 컴퓨터 판독가능 디바이스, 캐리어, 또는 스토리지 매체로부터 액세스가능한 컴퓨터 프로그램을 망라할 수 있다. 예를 들어, 컴퓨터 판독가능 스토리지 매체는 자기 스토리지 디바이스들(예를 들어, 하드 디스크, 플로피 디스크, 자기 스트립들...), 광학 디스크들[예를 들어, CD(compact disc), DVD(digital versatile disc), BD(blu-ray disc)...], 스마트 카드들, 및 플래시 메모리 디바이스들(예를 들어, 카드, 스틱, 키 드라이브...) 등을 포함할 수 있지만, 이들에 제한되는 것은 아니다.
본 명세서에서 이용되는 바와 같이, 용어 “프로세서”는, 단일 코어 프로세서들; 소프트웨어 멀티스레드 실행 능력을 갖는 단일 프로세서들; 멀티코어 프로세서들; 소프트웨어 멀티스레드 실행 능력을 갖는 멀티코어 프로세서들; 하드웨어 멀티스레드 기술을 갖는 멀티코어 프로세서들; 및 분산형 공유 메모리를 갖는 병렬 플랫폼들을 포함하는(이들에 제한되는 것은 아님) 실질적으로 임의의 컴퓨팅 프로세싱 유닛 또는 디바이스를 지칭할 수 있다. 추가적으로, 프로세서는 집적 회로, ASIC(application specific integrated circuit), DSP(digital signal processor), FPGA(field programmable gate array), PLC(programmable logic controller), CPLD(complex programmable logic device), 분리된 게이트 또는 트랜지스터 로직, 분리된 하드웨어 컴포넌트들, 또는 본원에서 설명되는 기능들을 수행하도록 설계된 그 임의의 조합을 지칭할 수 있다. 또한, 프로세서들은 공간 사용을 최적화하거나 또는 사용자 장비의 성능을 증대시키기 위해 분자 및 양자점(quantum-dot) 기반 트랜지스터들, 스위치들 및 게이트들과 같은(이들에 제한되는 것은 아님) 나노 스케일 아키텍처들을 이용할 수 있다. 프로세서는 또한, 컴퓨팅 프로세싱 유닛들의 조합으로서 구현될 수 있다.
본 개시에서, “저장”, “스토리지”, “데이터 저장”, “데이터 스토리지”, “데이터베이스”와 같은 용어들 및 컴포넌트의 동작 및 기능에 관한 실질적으로 임의의 다른 정보 스토리지 컴포넌트는 “메모리 컴포넌트들”, “메모리” 내에 구현되는 엔티티들, 또는 메모리를 포함하는 컴포넌트들을 지칭하기 위해 이용된다. 본원에서 설명되는 메모리 및/또는 메모리 컴포넌트들이 휘발성 메모리 또는 비휘발성 메모리일 수 있거나, 또는 휘발성 및 비휘발성 메모리 둘 다를 포함할 수 있다는 점이 이해되어야 한다.
비제한적인 예시로서, 비휘발성 메모리는 ROM(read only memory), PROM(programmable ROM), EPROM(electrically programmable ROM), EEPROM(electrically erasable ROM), 플래시 메모리, 또는 비휘발성 RAM(random access memory)[예를 들어, FeRAM(ferroelectric RAM)]을 포함할 수 있다. 휘발성 메모리는, 예를 들어 외부 캐시 메모리로서 역할할 수 있는 RAM을 포함할 수 있다. 비제한적인 예시로서, RAM은 SRAM(static RAM), DRAM(dynamic RAM), SDRAM(synchronous DRAM), DDR SDRAM(double data rate SDRAM), ESDRAM(enhanced SDRAM), SLDRAM(Synchlink DRAM), DRRAM(direct Rambus RAM), DRDRAM(direct Rambus dynamic RAM), 및 RDRAM(Rambus dynamic RAM)과 같은 많은 형태들로 이용가능하다. 추가적으로, 본원에서 개시되는 시스템들 또는 방법들의 메모리 컴포넌트들은 이들 및 임의의 다른 적절한 유형들의 메모리를 포함하도록 의도되지만, 이들에 제한되는 것은 아니다.
특정 시스템 또는 방법에 관하여 설명된 것과 같은 컴포넌트들이 본원에서 개시되는 다른 시스템들 또는 방법들에 관하여 설명된 것과 같은 개개의 컴포넌트들(예를 들어, 개별적으로 명칭된 컴포넌트들 또는 유사하게 명칭된 컴포넌트들)과 동일하거나 또는 유사한 기능을 포함할 수 있다는 점이 인식되고 이해되어야 한다.
위에서 설명된 것은 본 개시의 장점들을 제공하는 시스템들 및 방법들의 예시들을 포함한다. 물론, 본 개시를 설명하는 목적들을 위해 컴포넌트들 또는 방법들의 모든 가능한 조합을 설명하는 것은 불가능하지만, 당업자는 본 개시의 많은 추가적 조합들 및 순열들이 가능하다는 점을 인식할 수 있다. 또한, 용어들 “포함한다”, “갖는다”, “보유한다” 등이 상세한 설명, 청구범위, 부록들 및 도면들에서 사용되는 경우, 그러한 용어들은 “포함하는”이 청구항에서 전이어(transitional word)로서 이용될 때 해석되는 바와 같이 용어 “포함하는”과 유사한 방식으로 포괄적이도록 의도된다.

Claims (22)

  1. 시스템에 있어서,
    컴퓨터 실행가능 컴포넌트들을 저장하는 메모리; 및
    상기 메모리 내에 저장된 상기 컴퓨터 실행가능 컴포넌트들을 실행하도록 구성되는 프로세서를 포함하고,
    상기 컴퓨터 실행가능 컴포넌트들은,
    하나 이상의 제작 툴(fabrication tool)과 연관된 한 세트의 센서들에 의해 생성된 센서 데이터에 기반하여 상기 하나 이상의 제작 툴과 연관된 후보 툴 오류(failure)를 결정하는 모니터링 컴포넌트;
    상기 하나 이상의 제작 툴과 연관된 데이터에 기반하여 상기 후보 툴 오류에 대한 통계적 정보를 나타내는 통계 데이터를 포함하는 시그니처 데이터세트를 생성하는 시그니처 컴포넌트; 및
    상기 후보 툴 오류에 대한 상기 시그니처 데이터세트 및 적어도 하나의 이전에 결정된 툴 오류와 연관된 적어도 하나의 다른 시그니처 데이터세트에 기반하여, 상기 하나 이상의 제작 툴이 툴 오류와 연관된 것인지 여부를 결정하기 위해, 상기 후보 툴 오류를 상기 적어도 하나의 이전에 결정된 툴 오류와 비교하는 비교 컴포넌트
    를 포함하고,
    상기 비교 컴포넌트는 상기 후보 툴 오류가 정의된 기준을 만족한다는 결정에 응답하여, 상기 툴 오류의 복구(repair)를 위해, 상기 하나 이상의 제작 툴에 대한 복구 데이터를 생성하는 것인, 시스템.
  2. 제 1 항에 있어서, 상기 컴퓨터 실행가능 컴포넌트들은, 상기 후보 툴 오류에 대한 프로세스 데이터에 기반하여 상기 후보 툴 오류와 연관된 변환값을 생성하는 변환 컴포넌트를 더 포함하는, 시스템.
  3. 제 2 항에 있어서, 상기 비교 컴포넌트는 또한, 상기 변환값에 기반하여 상기 후보 툴 오류를 상기 적어도 하나의 이전에 결정된 툴 오류와 비교하는 것인, 시스템.
  4. 제 2 항에 있어서, 상기 비교 컴포넌트는, 상기 시그니처 데이터세트와 상기 적어도 하나의 다른 시그니처 데이터세트 사이의 차이를 결정하는 것인, 시스템.
  5. 제 4 항에 있어서, 상기 비교 컴포넌트는, 상기 변환값, 및 상기 시그니처 데이터세트와 상기 적어도 하나의 다른 시그니처 데이터세트 사이의 차이에 기반하여, 상기 시그니처 데이터세트와 상기 적어도 하나의 다른 시그니처 데이터세트 사이의 유사도(similarity)를 결정하는 것인, 시스템.
  6. 제 1 항에 있어서, 상기 비교 컴포넌트는, 상기 후보 툴 오류가 상기 적어도 하나의 이전에 결정된 툴 오류와 유사하다는 결정에 응답하여, 상기 후보 툴 오류를 상기 툴 오류와 연관시키는 것인, 시스템.
  7. 제 1 항에 있어서, 상기 비교 컴포넌트는, 한 세트의 이전에 결정된 툴 오류들과 연관된 한 세트의 시그니처 데이터세트를 저장하는 데이터베이스로부터 상기 적어도 하나의 다른 시그니처 데이터세트를 수신하는 것인, 시스템.
  8. 제 1 항에 있어서, 상기 비교 컴포넌트는, 상기 후보 툴 오류가 상기 적어도 하나의 이전에 결정된 툴 오류와 유사하다는 결정에 응답하여, 상기 후보 툴 오류를 툴 오류들의 리스트에 추가하는 것인, 시스템.
  9. 시스템에 있어서,
    컴퓨터 실행가능 컴포넌트들을 저장하는 메모리; 및
    상기 메모리 내에 저장된 상기 컴퓨터 실행가능 컴포넌트들을 실행하도록 구성되는 프로세서
    를 포함하고,
    상기 컴퓨터 실행가능 컴포넌트들은,
    하나 이상의 제작 툴(fabrication tool)과 연관된 한 세트의 센서들에 의해 생성된 센서 데이터에 기반하여 상기 하나 이상의 제작 툴과 연관된 후보 툴 오류(failure)를 결정하는 모니터링 컴포넌트;
    상기 하나 이상의 제작 툴과 연관된 데이터에 기반하여 상기 후보 툴 오류에 대한 시그니처 데이터세트를 생성하는 시그니처 컴포넌트; 및
    상기 시그니처 데이터세트 및 적어도 하나의 이전에 결정된 툴 오류와 연관된 적어도 하나의 다른 시그니처 데이터세트에 기반하여 상기 후보 툴 오류를 상기 적어도 하나의 이전에 결정된 툴 오류와 비교하는 비교 컴포넌트
    를 포함하고,
    상기 비교 컴포넌트는, 상기 후보 툴 오류가 상기 적어도 하나의 이전에 결정된 툴 오류와 유사하다는 결정에 응답하여, 상기 후보 툴 오류를 툴 오류들의 리스트에 추가하는 것이고,
    상기 컴퓨터 실행가능 컴포넌트들은 또한, 상기 시그니처 데이터세트와 상기 적어도 하나의 다른 시그니처 데이터세트 사이의 유사도에 기반하여 상기 후보 툴 오류를 상기 툴 오류들의 리스트에 등급화하는(rank) 등급화 컴포넌트를 더 포함하는, 시스템.
  10. 제 1 항에 있어서, 상기 비교 컴포넌트는, 상기 후보 툴 오류가 상기 정의된 기준을 만족한다는 결정에 응답하여, 상기 후보 툴 오류를 상기 복구 데이터와 연관된 복구 계획(repair plan)과 연관시키는 것인, 시스템.
  11. 제 1 항에 있어서, 상기 시그니처 컴포넌트는, 상기 센서 데이터에 기반하여 상기 후보 툴 오류에 대한 상기 시그니처 데이터세트를 생성하는 것인, 시스템.
  12. 제 8 항에 있어서, 상기 컴퓨터 실행가능 컴포넌트들은, 사용자 입력에 기반하여 상기 시그니처 데이터세트를 업데이트하는 트레이닝(training) 컴포넌트를 더 포함하는, 시스템.
  13. 제 12 항에 있어서, 상기 트레이닝 컴포넌트는, 상기 툴 오류들의 유사도 및 비유사도와 연관된 피드백에 기반하여 상기 시그니처 데이터세트를 업데이트하는 것인, 시스템.
  14. 시스템에 있어서,
    컴퓨터 실행가능 컴포넌트들을 저장하는 메모리; 및
    상기 메모리 내에 저장된 상기 컴퓨터 실행가능 컴포넌트들을 실행하도록 구성되는 프로세서
    를 포함하고,
    상기 컴퓨터 실행가능 컴포넌트들은,
    하나 이상의 제작 툴(fabrication tool)과 연관된 한 세트의 센서들에 의해 생성된 센서 데이터에 기반하여 상기 하나 이상의 제작 툴과 연관된 후보 툴 오류(failure)를 결정하는 모니터링 컴포넌트;
    상기 하나 이상의 제작 툴과 연관된 데이터에 기반하여 상기 후보 툴 오류에 대한 시그니처 데이터세트를 생성하는 시그니처 컴포넌트; 및
    상기 시그니처 데이터세트 및 적어도 하나의 이전에 결정된 툴 오류와 연관된 적어도 하나의 다른 시그니처 데이터세트에 기반하여 상기 후보 툴 오류를 상기 적어도 하나의 이전에 결정된 툴 오류와 비교하는 비교 컴포넌트
    를 포함하고,
    상기 비교 컴포넌트는, 상기 후보 툴 오류가 상기 적어도 하나의 이전에 결정된 툴 오류와 유사하다는 결정에 응답하여, 상기 후보 툴 오류를 툴 오류들의 리스트에 추가하는 것이고,
    상기 컴퓨터 실행가능 컴포넌트들은 또한, 사용자 입력에 기반하여 상기 시그니처 데이터세트를 업데이트하는 트레이닝(training) 컴포넌트를 더 포함하고,
    상기 트레이닝 컴포넌트는, 상기 비교 컴포넌트에 의해 결정된 상기 시그니처 데이터세트와 상기 적어도 하나의 다른 시그니처 데이터세트 사이의 유사도를 교정하기 위해 상기 후보 툴 오류와 연관된 변환값을 업데이트하는 것인, 시스템.
  15. 방법에 있어서,
    동작들을 구현하기 위해, 비일시적(non-transitory) 컴퓨터 판독가능 매체 상에 저장된 컴퓨터 실행가능 명령어들을 실행시키는 프로세서를 이용하는 단계
    를 포함하고, 상기 비일시적 컴퓨터 판독가능 매체 상에 저장된 상기 컴퓨터 실행가능 명령어들에 의해 구현되는, 상기 동작들은:
    하나 이상의 제조(manufacturing) 툴과 연관된 한 세트의 센서들에 의해 생성된 센서 데이터에 기반하여 상기 하나 이상의 제조 툴과 연관된 후보 툴 오류를 식별하는 동작;
    상기 센서 데이터 및 상기 하나 이상의 제조 툴과 연관된 다른 데이터에 기반하여 상기 후보 툴 오류에 대한 통계를 나타내는 통계 데이터를 포함하는 시그니처 데이터세트를 생성하는 동작;
    상기 하나 이상의 제조 툴이 툴 오류와 연관되는지 여부를 예측하기 위해, 상기 시그니처 데이터세트를 적어도 하나의 툴 오류와 연관된 적어도 하나의 다른 시그니처 데이터세트와 비교하는 동작; 및
    상기 예측이 정의된 기준을 만족한다는 결정에 응답하여, 상기 툴 오류의 복구를 위해, 상기 하나 이상의 제조 툴에 대한 복구 데이터를 생성하는 동작
    을 포함하는 것인, 방법.
  16. 제 15 항에 있어서, 상기 동작들은, 상기 후보 툴 오류에 대한 프로세스 데이터에 기반하여 상기 후보 툴 오류와 연관된 변환값을 생성하는 동작을 더 포함하는, 방법.
  17. 제 16 항에 있어서, 상기 비교하는 동작은, 상기 시그니처 데이터세트, 상기 적어도 하나의 다른 시그니처 데이터세트, 및 상기 변환값에 기반하여 상기 후보 툴 오류를 상기 적어도 하나의 툴 오류와 비교하는 동작을 포함하는, 방법.
  18. 제 16 항에 있어서, 상기 비교하는 동작은, 상기 시그니처 데이터세트와 상기 적어도 하나의 다른 시그니처 데이터세트 사이의 차이를 결정하는 동작을 포함하는, 방법.
  19. 제 18 항에 있어서, 상기 비교하는 동작은, 상기 변환값, 및 상기 시그니처 데이터세트와 상기 적어도 하나의 다른 시그니처 데이터세트 사이의 차이에 기반하여, 상기 시그니처 데이터세트와 상기 적어도 하나의 다른 시그니처 데이터세트 사이의 유사도를 결정하는 동작을 포함하는, 방법.
  20. 프로세서를 포함하는 시스템에 의한 실행에 응답하여 상기 시스템으로 하여금 동작들을 수행하게 하는 컴퓨터 실행가능 명령어들이 저장되는 컴퓨터 판독가능 매체에 있어서, 상기 동작들은:
    하나 이상의 제작 툴과 연관된 후보 툴 오류를 결정하는 동작;
    상기 하나 이상의 제작 툴과 연관된 데이터에 기반하여 상기 후보 툴 오류에 대한 통계를 나타내는 통계 데이터를 포함하는 시그니처 데이터세트를 생성하는 동작;
    상기 하나 이상의 제작 툴과 연관된 툴 오류를 검출하기 위해, 상기 시그니처 데이터세트를 적어도 하나의 이전에 결정된 툴 오류와 연관된 적어도 하나의 다른 시그니처 데이터세트와 비교하는 동작; 및
    상기 시그니처 데이터세트가 정의된 기준을 만족한다는 결정에 응답하여, 상기 툴 오류의 복구를 위해, 상기 하나 이상의 제작 툴에 대한 복구 데이터를 생성하는 동작
    을 포함하는 것인, 컴퓨터 판독가능 매체.
  21. 제 20 항에 있어서, 상기 동작들은, 상기 후보 툴 오류에 대한 프로세스 데이터에 기반하여 상기 후보 툴 오류와 연관된 변환값을 생성하는 동작을 더 포함하는 것인, 컴퓨터 판독가능 매체.
  22. 제 21 항에 있어서, 상기 비교하는 동작은, 상기 시그니처 데이터세트, 상기 적어도 하나의 다른 시그니처 데이터세트, 및 상기 변환값에 기반하여 상기 후보 툴 오류를 상기 적어도 하나의 이전에 결정된 툴 오류와 비교하는 동작을 포함하는 것인, 컴퓨터 판독가능 매체.
KR1020187003759A 2015-07-22 2016-07-15 공간 왜곡 유사도를 사용하는 툴 오류 분석 KR102564629B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/805,793 2015-07-22
US14/805,793 US10228678B2 (en) 2015-07-22 2015-07-22 Tool failure analysis using space-distorted similarity
PCT/US2016/042624 WO2017015155A1 (en) 2015-07-22 2016-07-15 Tool failure analysis using space-distorted similarity

Publications (2)

Publication Number Publication Date
KR20180031698A KR20180031698A (ko) 2018-03-28
KR102564629B1 true KR102564629B1 (ko) 2023-08-07

Family

ID=57835165

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187003759A KR102564629B1 (ko) 2015-07-22 2016-07-15 공간 왜곡 유사도를 사용하는 툴 오류 분석

Country Status (5)

Country Link
US (1) US10228678B2 (ko)
KR (1) KR102564629B1 (ko)
CN (1) CN107923731B (ko)
TW (1) TWI616736B (ko)
WO (1) WO2017015155A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9396443B2 (en) * 2013-12-05 2016-07-19 Tokyo Electron Limited System and method for learning and/or optimizing manufacturing processes
US10853534B2 (en) * 2015-12-03 2020-12-01 Taiwan Semiconductor Manufacturing Co., Ltd. Fault related FDC feature extraction
US10831162B2 (en) * 2016-06-28 2020-11-10 General Electric Company Systems and methods for providing an integrated power plant advisor
CN108931967A (zh) * 2017-05-22 2018-12-04 大隈株式会社 运行监控装置及其控制程序
CN111033403B (zh) * 2017-08-28 2023-04-04 三菱电机株式会社 数控装置
US10777470B2 (en) * 2018-03-27 2020-09-15 Pdf Solutions, Inc. Selective inclusion/exclusion of semiconductor chips in accelerated failure tests
KR102589004B1 (ko) * 2018-06-18 2023-10-16 삼성전자주식회사 반도체 불량 분석 장치 및 그것의 불량 분석 방법
EP4107588A4 (en) * 2020-02-21 2024-03-20 Nanotronics Imaging Inc SYSTEMS, PROCESSES AND SUPPORTS FOR MANUFACTURING PROCESSES
DE102022108584A1 (de) 2022-04-08 2023-10-12 Krones Aktiengesellschaft Verfahren und Vorrichtung zur automatischen Ermittlung eines aktuellen Zustands einer in Betrieb befindlichen Anlage
US11966393B2 (en) * 2022-06-15 2024-04-23 Sap Se Adaptive data prefetch

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6604013B1 (en) * 2000-10-11 2003-08-05 Ford Motor Company Tool failure detection utilizing frequency derived, pre-characterization templates
US6701204B1 (en) 2000-05-22 2004-03-02 Mosel Vitelic Inc. System and method for finding defective tools in a semiconductor fabrication facility
US7277824B1 (en) * 2005-07-13 2007-10-02 Advanced Micro Devices, Inc. Method and apparatus for classifying faults based on wafer state data and sensor tool trace data
KR101466798B1 (ko) 2014-05-20 2014-12-01 삼성전자주식회사 제조 공정에서의 제품 불량의 원인 설비를 탐지하는 방법 및 장치

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4806914A (en) * 1987-05-07 1989-02-21 General Electric Company Detection by automatic gain control features of gradual cutting tool breakage
US5663894A (en) * 1995-09-06 1997-09-02 Ford Global Technologies, Inc. System and method for machining process characterization using mechanical signature analysis
US6580960B1 (en) * 2000-06-22 2003-06-17 Promos Technologies, Inc. System and method for finding an operation/tool combination that causes integrated failure in a semiconductor fabrication facility
US6701259B2 (en) * 2000-10-02 2004-03-02 Applied Materials, Inc. Defect source identifier
US6744266B2 (en) * 2000-10-02 2004-06-01 Applied Materials, Inc. Defect knowledge library
JP4348412B2 (ja) * 2001-04-26 2009-10-21 東京エレクトロン株式会社 計測システムクラスター
US6834212B1 (en) * 2002-07-03 2004-12-21 Blue Control Technologies, Inc. Method and apparatus for APC solver engine and heuristic
US6885977B2 (en) * 2002-12-20 2005-04-26 Applied Materials, Inc. System to identify a wafer manufacturing problem and method therefor
US6952653B2 (en) * 2003-04-29 2005-10-04 Kla-Tencor Technologies Corporation Single tool defect classification solution
US7079966B2 (en) * 2003-09-08 2006-07-18 Lsi Logic Corporation Method of qualifying a process tool with wafer defect maps
US6900385B1 (en) * 2004-02-05 2005-05-31 Huei-Yi Hsu Fastening belt for quickly wrapping electric cables
WO2005077024A2 (en) * 2004-02-06 2005-08-25 Test Advantage, Inc. Methods and apparatus for data analysis
TW200622275A (en) 2004-09-06 2006-07-01 Mentor Graphics Corp Integrated circuit yield and quality analysis methods and systems
US7451009B2 (en) * 2005-09-07 2008-11-11 General Instrument Corporation Method and apparatus for product defect classification
US7711674B2 (en) * 2005-11-01 2010-05-04 Fuji Xerox Co., Ltd. System and method for automatic design of components in libraries
US7676077B2 (en) * 2005-11-18 2010-03-09 Kla-Tencor Technologies Corp. Methods and systems for utilizing design data in combination with inspection data
US7596718B2 (en) * 2006-05-07 2009-09-29 Applied Materials, Inc. Ranged fault signatures for fault diagnosis
US7890813B2 (en) * 2006-05-11 2011-02-15 Oracle America, Inc. Method and apparatus for identifying a failure mechanism for a component in a computer system
EP1955830B1 (en) * 2007-02-06 2014-04-09 Abb Research Ltd. A method and a control system for monitoring the condition of an industrial robot
US8615695B2 (en) * 2007-04-04 2013-12-24 Mentor Graphics Corporation Fault dictionary-based scan chain failure diagnosis
US20080297667A1 (en) * 2007-06-01 2008-12-04 Concepttapistry, Llc Projection apparatus with direct attachment of external storage media
US8396582B2 (en) * 2008-03-08 2013-03-12 Tokyo Electron Limited Method and apparatus for self-learning and self-improving a semiconductor manufacturing tool
US8190543B2 (en) * 2008-03-08 2012-05-29 Tokyo Electron Limited Autonomous biologically based learning tool
US8078552B2 (en) * 2008-03-08 2011-12-13 Tokyo Electron Limited Autonomous adaptive system and method for improving semiconductor manufacturing quality
US7872489B2 (en) * 2008-04-28 2011-01-18 Freescale Semiconductor, Inc. Radiation induced fault analysis
US9710903B2 (en) * 2008-06-11 2017-07-18 Kla-Tencor Corp. System and method for detecting design and process defects on a wafer using process monitoring features
US8185781B2 (en) * 2009-04-09 2012-05-22 Nec Laboratories America, Inc. Invariants-based learning method and system for failure diagnosis in large scale computing systems
US8234001B2 (en) * 2009-09-28 2012-07-31 International Business Machines Corporation Tool commonality and stratification analysis to enhance a production process
US8954184B2 (en) * 2011-01-19 2015-02-10 Tokyo Electron Limited Tool performance by linking spectroscopic information with tool operational parameters and material measurement information
US8723869B2 (en) * 2011-03-21 2014-05-13 Tokyo Electron Limited Biologically based chamber matching
US9746849B2 (en) * 2012-11-09 2017-08-29 Tokyo Electron Limited Method and apparatus for autonomous tool parameter impact identification system for semiconductor manufacturing
US9405289B2 (en) * 2012-12-06 2016-08-02 Tokyo Electron Limited Method and apparatus for autonomous identification of particle contamination due to isolated process events and systematic trends
US9955274B2 (en) * 2015-04-08 2018-04-24 The Boeing Company Vibration monitoring systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6701204B1 (en) 2000-05-22 2004-03-02 Mosel Vitelic Inc. System and method for finding defective tools in a semiconductor fabrication facility
US6604013B1 (en) * 2000-10-11 2003-08-05 Ford Motor Company Tool failure detection utilizing frequency derived, pre-characterization templates
US7277824B1 (en) * 2005-07-13 2007-10-02 Advanced Micro Devices, Inc. Method and apparatus for classifying faults based on wafer state data and sensor tool trace data
KR101466798B1 (ko) 2014-05-20 2014-12-01 삼성전자주식회사 제조 공정에서의 제품 불량의 원인 설비를 탐지하는 방법 및 장치

Also Published As

Publication number Publication date
US10228678B2 (en) 2019-03-12
CN107923731A (zh) 2018-04-17
TW201715320A (zh) 2017-05-01
WO2017015155A1 (en) 2017-01-26
TWI616736B (zh) 2018-03-01
KR20180031698A (ko) 2018-03-28
CN107923731B (zh) 2020-11-20
US20170023927A1 (en) 2017-01-26

Similar Documents

Publication Publication Date Title
KR102564629B1 (ko) 공간 왜곡 유사도를 사용하는 툴 오류 분석
KR102376824B1 (ko) 제조 공정들을 학습하고 제조 공정들을 최적화하기 위한 시스템 및 방법
KR20170008251A (ko) 제조 프로세스를 모델링 및/또는 분석하기 위한 시스템 및 방법
TWI459487B (zh) 度量獨立及處方獨立的故障類別
JP6896069B2 (ja) k近傍およびロジスティック回帰アプローチを用いた時系列異常検出、異常分類、ならびに遷移分析
US10579042B2 (en) Defect rate analytics to reduce defectiveness in manufacturing
JP6629204B2 (ja) ツールプロセスデータの多変量解析を提供するためのk近傍法に基づく方法及びシステム
JP2019204321A (ja) 情報処理方法、情報処理装置、及びプログラム
JP2023535721A (ja) プロセストレースからの装置故障モードの予測
Stoyanov et al. Predictive analytics methodology for smart qualification testing of electronic components
US11054815B2 (en) Apparatus for cost-effective conversion of unsupervised fault detection (FD) system to supervised FD system
KR102623389B1 (ko) 센서 데이터에 기반한 복수의 제조 공정 장비 간 정합성검사 방법, 장치 및 프로그램
Zhao et al. Reconstruction based fault diagnosis using concurrent phase partition and analysis of relative changes for multiphase batch processes with limited fault batches
US20150331980A1 (en) Apparatus and method for classifying context types for multivariate modeling
US20230259112A1 (en) Diagnostic tool to tool matching and comparative drill-down analysis methods for manufacturing equipment
US20130030760A1 (en) Architecture for analysis and prediction of integrated tool-related and material-related data and methods therefor
KR102623390B1 (ko) 장비 이상 탐지 모델의 정확도를 유지하기 위한 방법,장치 및 프로그램
US20230280736A1 (en) Comprehensive analysis module for determining processing equipment performance
US20230237412A1 (en) Diagnostic tool to tool matching methods for manufacturing equipment
Kim et al. A sensor data mining process for identifying root causes associated with low yield in semiconductor manufacturing
JP2024507688A (ja) 測定値違反解析を使用したプロセス異常の識別
CN117056682A (zh) 用于基板处理设备的多维传感器数据的整体分析
Peres Seleção de variáveis aplicada ao controle estatístico multivariado de processos em bateladas

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant