KR20240034691A - 고속 및 퍼지 패턴 그룹화 - Google Patents

고속 및 퍼지 패턴 그룹화 Download PDF

Info

Publication number
KR20240034691A
KR20240034691A KR1020237041875A KR20237041875A KR20240034691A KR 20240034691 A KR20240034691 A KR 20240034691A KR 1020237041875 A KR1020237041875 A KR 1020237041875A KR 20237041875 A KR20237041875 A KR 20237041875A KR 20240034691 A KR20240034691 A KR 20240034691A
Authority
KR
South Korea
Prior art keywords
specimen
image
modified
sample
defect
Prior art date
Application number
KR1020237041875A
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 KR20240034691A publication Critical patent/KR20240034691A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24147Distances to closest patterns, e.g. nearest neighbour classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30148Semiconductor; IC; Wafer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
  • Image Analysis (AREA)

Abstract

표본에 대한 정보를 결정하기 위한 방법 및 시스템이 제공된다. 하나의 시스템은 표본 이미지에서 검출된 결함과 접촉하지 않는 표본 이미지에서의 하나 이상의 패턴을 제거하여 수정된 표본 이미지를 생성하도록 구성된 컴퓨터 서브시스템을 포함한다. 컴퓨터 서브시스템은 또한 수정된 표본 이미지에 대한 하나 이상의 해시 코드를 생성하도록 구성된다. 또한, 컴퓨터 서브시스템은 하나 이상의 해시 코드와 제2 표본 이미지에 대해 생성된 제2 수정된 표본 이미지에 대해 생성된 하나 이상의 다른 해시 코드 사이의 거리에 기초하여 표본 이미지를 다수의 그룹들 중 하나에 할당하도록 구성된다.

Description

고속 및 퍼지 패턴 그룹화
본 발명은 일반적으로 표본(specimen)에 대한 정보를 결정하기 위한 방법 및 시스템에 관한 것이다. 특정 실시예는 해시 코드(hash code) 및 선택적으로 k-최근접 이웃(k-nearest neighbor) 방법에 기초한 결함 또는 패턴 그룹화를 위한 방법 및 시스템에 관한 것이다.
다음의 설명과 예는 이 섹션에 포함됨으로 인해 선행 기술로 인정되지는 않는다.
논리 및 메모리 디바이스와 같은 반도체 디바이스를 제조하는 것은 일반적으로 반도체 디바이스의 다양한 피처(feature)들과 다수의 레벨(level)들을 형성하기 위해 수많은 반도체 제조 프로세스를 사용하여 반도체 웨이퍼와 같은 기판을 프로세싱하는 것을 포함한다. 예를 들어, 리소그래피(lithography)는 레티클(reticle)로부터의 패턴을 반도체 웨이퍼 상에 마련된 레지스트(resist)로 전사하는 것을 수반하는 반도체 제조 프로세스이다. 반도체 제조 프로세스의 추가 예에는 화학적 기계적 연마(chemical-mechanical polishing, CMP), 에칭(etch), 퇴적(deposition) 및 이온 주입(ion implantation)이 포함되지만 이에 제한되지는 않는다. 다수의 반도체 디바이스들은 단일 반도체 웨이퍼 상에 배열로 제조된 다음 개별 반도체 디바이스들로 분리될 수 있다.
검사(inspection) 프로세스는 표본 상의 결함을 검출하기 위해 반도체 제조 프로세스 동안 다양한 단계에서 사용되어 제조 프로세스의 수율을 높여 수익을 증가시킨다. 검사는 항상 반도체 디바이스 제조에 있어 중요한 부분이었다. 그러나 반도체 디바이스의 치수가 감소함에 따라 더 작은 결함으로 인해 디바이스가 작동되지 않을 수 있기 때문에 허용가능한 반도체 디바이스를 성공적으로 제조하려면 검사가 더욱 중요해졌다.
많은 검사 프로세스에서 결과를 처리하는 하나의 매우 유용한 방법은 결함들이 그 위에, 내부에 및/또는 근처에 위치되어 있는 패턴들에 기반하여 결함들을 그룹화하는 것이다. 편의상, 그러한 모든 패턴들은 본 명세서에서 집합적으로 "백그라운드 패턴(background pattern)들"로 지칭된다. 백그라운드 패턴들에 기반하여 결함들을 그룹화하는 것은 여러가지 이유로 유용할 수 있다. 예를 들어, 결함들이 백그라운드 패턴들에 기반하여 정렬될(sorted) 수 있다면, 가장 많은 결함성(defectivity)을 나타내는 백그라운드 패턴들이 식별될 수 있다. 그런 다음 식별된 백그라운드 패턴들은 왜 그렇게 많은 결함들이 그 안에서 검출되었는지 결정하기 위해 추가로 분석될 수 있다. 또한, 일부 백그라운드 패턴들이 관심 대상이 아니거나 뉴슨스(nuisance)들이 되기 쉽지만 실제 결함은 아닌 것으로 알려진 경우, 그러한 백그라운드 패턴들에서 검출된 임의의 결함들은 정렬되어 무시되거나 결과에서 삭제될 수 있다.
백그라운드 패턴들에 기반하여 결함들을 그룹화하기 위한 여러 방법들이 개발되었다. 하나의 그러한 방법은 이미지들에서 결함 위치들 주변에 패치(patch)들을 클리핑(clipping)하고, 모든 결함 쌍들에 대해 상기 클리핑된 패치들을 하나씩 비교하는 것이다. 이 방법은 또한 높은 유사도 점수(similarity score)의 결함들을 동일한 그룹에 배치하고, 낮은 유사도 점수의 결함 쌍들을 분리하는 것을 포함한다. 결함을 픽셀별로(pixel-by-pixel) 이동하면서, 결함 쌍들의 유사도가 두 결함의 강도 차이에 기초하여 결정된다. 또 다른 그러한 방법은 위에서 설명한 방법과 유사하지만, 상기 픽셀별로 이동하는 것을 정규화된 교차 상관(normalized cross correlation, NCC) 알고리즘으로 대체한다.
백그라운드 패턴들에 기반하여 결함들을 그룹화하기 위한 이러한 방법과 기타 현재 이용가능한 방법들이 널리 구현되고 있지만, 그것들은 몇 가지 중요한 단점이 있다. 예를 들어, 위에서 설명한 두 가지 방법들 모두에서는, 모든 결함 쌍들이 비교되어야 하므로 계산 비용이 많이 든다. 특히, 모든 결함들의 개수가 N개이면, N*N/2번의 비교가 필요하다. 또한, 위에서 설명한 두 가지 방법들 모두는 퍼지 유사도(fuzzy similarity)를 처리할 수 없고, 이는 모양은 매우 유사하지만 정확히 동일하지는 않은 일부 패턴들이 있음을 의미한다. 이러한 방식으로, 강도 차이도 NCC 점수도 이들을 처리할 수 없다. 위에서 설명한 첫 번째 방법에서는, 강도 차이 확인이 매우 느리다. 최악의 경우, 각각의 결함 쌍에 대한 단일 비교를 위해 n*n 번의 하위 비교가 필요하다. 또한, 위에서 설명한 두 방법 모두의 유사도 확인은 전체 결함 패치에 적용된다. 따라서, 결함 근처의 픽셀들이나 결함과 접촉하는 패턴들에 초점을 맞추는 메커니즘이 없다.
따라서 위에서 설명한 단점들 중 하나 이상을 갖지 않는 표본에 대한 정보를 결정하기 위한 시스템 및 방법을 개발하는 것이 유리할 것이다.
다양한 실시예에 대한 다음의 설명은 어떠한 방식으로든 첨부된 청구범위의 주제를 제한하는 방식으로 해석되어서는 안 된다.
일 실시예는 표본 이미지에서 검출된 결함과 접촉하지 않는 표본 이미지에서의 하나 이상의 패턴을 제거하여 수정된 표본 이미지를 생성하도록 구성된 컴퓨터 서브시스템을 포함하는 시스템에 관한 것이다. 컴퓨터 서브시스템은 또한 수정된 표본 이미지에 대한 하나 이상의 해시 코드를 생성하도록 구성된다. 또한, 컴퓨터 서브시스템은 상기 하나 이상의 해시 코드와 제2 표본 이미지에 대해 생성된 제2 수정된 표본 이미지에 대해 생성된 하나 이상의 다른 해시 코드 사이의 거리에 기초하여 표본 이미지를 다수의 그룹들 중 하나에 할당하도록 구성된다. 시스템은 본 명세서에 설명된 바와 같이 추가로 구성될 수 있다.
다른 실시예는 표본에 대한 정보를 결정하기 위한 컴퓨터 구현 방법에 관한 것이다. 방법은 위에서 설명된 제거, 생성 및 할당 단계를 포함하며, 이는 컴퓨터 시스템에 의해 수행된다. 방법의 각각의 단계는 본 명세서에 추가로 설명된 바와 같이 수행될 수 있다. 방법은 본 명세서에 설명된 임의의 다른 방법(들)의 임의의 다른 단계(들)를 포함할 수 있다. 방법은 본 명세서에 설명된 시스템들 중 임의의 것에 의해 수행될 수 있다.
추가 실시예는 표본에 대한 정보를 결정하기 위한 컴퓨터 구현 방법을 수행하기 위한 컴퓨터 시스템에서 실행가능한 프로그램 명령을 저장하는 비일시적 컴퓨터 판독가능 매체에 관한 것이다. 컴퓨터 구현 방법은 위에서 설명된 방법의 단계들을 포함한다. 컴퓨터 판독가능 매체는 또한 본 명세서에 설명된 바와 같이 구성될 수 있다. 컴퓨터 구현 방법의 단계들은 본 명세서에 추가로 설명된 바와 같이 수행될 수 있다. 또한, 프로그램 명령이 실행가능한 컴퓨터 구현 방법은 본 명세서에 설명된 임의의 다른 방법(들)의 임의의 다른 단계(들)를 포함할 수 있다.
본 발명의 추가 이점들은 바람직한 실시예에 대한 다음의 상세한 설명과 첨부 도면을 참조함으로써 이 분야의 기술자에게 명백해질 것이다.
도 1 및 도 1a는 본 명세서에 설명된 바와 같이 구성된 시스템의 실시예들의 측면도를 예시하는 개략도이다.
도 2는 표본 이미지들을 그룹들에 할당하기 위해 수행될 수 있는 단계들의 실시예를 나타내는 흐름도이다.
도 3은 수정된 표본 이미지에 대한 해시 코드를 생성하기 위해 수행될 수 있는 단계들의 일 실시예를 예시하는 흐름도이다.
도 4는 수정된 표본 이미지의 실시예 및 수정된 표본 이미지의 회전 또는 평행이동(translation)에 의해 생성된 변경된 버전들의 실시예들을 포함한다.
도 5는 수정된 표본 이미지와 수정된 표본 이미지의 회전에 의해 생성된 변경된 버전의 실시예들 및 상이한 수정된 표본 이미지들에 대해 생성될 수 있는 해시 코드들의 예들을 예시하는 개략도이다.
도 6은 하나의 그룹에 있는 표본 이미지들을 최종 그룹들에 할당하기 위해 수행될 수 있는 단계들의 실시예를 예시하는 흐름도이다.
도 7은 수정된 표본 이미지와 다수의 대응하는 이미지들의 일 실시예 및 수정된 표본 이미지에 대응하는 표본 이미지에서 검출된 결함의 속성(attribute)을 예시하는 개략도이다.
도 8은 컴퓨터 시스템이 본 명세서에 설명된 컴퓨터 구현 방법을 수행하게 하기 위한 프로그램 명령을 저장하는 비일시적 컴퓨터 판독가능 매체의 일 실시예를 예시하는 블록도이다.
본 발명은 다양한 수정 및 대안적인 형태가 가능하지만, 본 발명의 특정 실시예가 도면에 예로서 도시되어 있으며 본 명세서에서 상세히 설명된다. 도면들은 일정한 축적이 아닐 수도 있다. 그러나, 도면과 그에 대한 상세한 설명은 개시된 특정한 형태로 본 발명을 제한하려는 것이 아니고, 오히려 첨부된 청구범위에 의해 정의된 본 발명의 사상과 범위 내에 있는 모든 수정, 등가물 및 대체물을 포괄하려는 의도인 것으로 이해되어야 한다.
본 명세서에서 사용되는 용어 "가짜 결함(false defect)"(때때로 "뉴슨스 결함(nuisance defect)" 또는 "뉴슨스(nuisance)"와 상호 교환적으로 사용됨)은 대체로 사용자가 신경 쓰지 않는 결함 및/또는 표본에서 검출되었지만 실제로 표본 상의 실제 결함은 아닌 이벤트(event)로서 정의된다. 실제로 결함이 아닌 가짜 결함은 표본 상의 비-결함(non-defect) 노이즈 소스(예를 들어, 표본 상의 금속 라인들의 그레인(grain), 표본에서 밑에 있는 레이어들 또는 재료로부터의 신호, 라인 에지 거칠기(line edge roughness, LER), 패턴화된 속성들에서의 상대적으로 작은 임계 치수(critical dimension, CD) 편차(variation), 두께 편차 등)로 인해, 및/또는 검사 시스템 자체 또는 검사에 사용되는 그 구성의 가장자리 상태(marginality)들로 인해 이벤트로서 검출된다.
본 명세서에서 사용되는 용어 "관심 결함(defect of interest, DOI)"은 표본에서 검출되는 결함으로서 정의되고 사실상 표본 상의 실제 결함이다. 따라서 대체로 사용자는 검사되고 있는 표본에 실제 결함이 얼마나 많고 어떤 종류가 있는지 신경 쓰기 때문에 DOI는 사용자에게 관심 대상이다. 일부 맥락에서, 용어 "DOI"는 사용자가 신경 쓰는 실제 결함만을 포함하는, 표본 상의 모든 실제 결함들 중의 서브세트(subset)를 지칭하는 데 사용된다. 예를 들어, 임의의 주어진 표본에는 다수 타입의 DOI가 있을 수 있으며, 그것들 중 하나 이상은 하나 이상의 다른 타입보다 사용자에게 더 큰 관심 대상일 수 있다. 그러나 본 명세서에 설명된 실시예의 맥락에서, 용어 "DOI"는 표본 상의 임의의 및 모든 실제 결함들을 지칭하는 데 사용된다.
이제 도면을 살펴보면, 도면들은 일정한 축척으로 그려져 있지 않다는 것이 언급된다. 특히, 도면의 요소들 중 일부의 축척은 요소의 특성을 강조하기 위해 크게 과장되어 있다. 또한 도면들은 동일한 축적으로 그려져 있지 않다는 것이 언급된다. 유사하게 구성될 수 있는 하나보다 많은 도면에 도시된 요소들은 동일한 참조 번호를 사용하여 표시되었다. 본 명세서에서 달리 언급되지 않는 한, 설명되고 도시된 요소들 중 임의의 것은 임의의 적절한 상업적으로 입수할 수 있는 요소들을 포함할 수 있다.
대체로, 본 명세서에 설명된 실시예는 해시 코드 및 선택적으로 k-최근접 이웃 방법에 기반한 고속 및 퍼지 패턴 그룹화(fast and fuzzy pattern grouping) 방법 및 시스템이다. 본 명세서에 설명된 실시예는 반도체 산업에서 결함 분류 및 다른 관련된 패턴 분류 분야에 적용될 수 있다. 실시예에서는 유사한 결함들에 대해 퍼지 그룹화(fuzzy grouping)의 효율적인 흐름을 이용하며, 이는 결함 분류의 정확성을 향상시키는 데 도움이 된다. 본 명세서에 설명된 실시예는 또한 고속의, 퍼지 그룹화를 실현하기 위해 새로운 해시 코드를 사용하고, 결함 쌍들의 강도(또는 다른 결함 속성) 확인(checking)의 효율성을 향상시키기 위해 k-차원 트리(KD-트리)를 사용할 수 있다.
일부 실시예에서, 표본 이미지는 웨이퍼에 대해 생성된다. 웨이퍼는 반도체 기술분야에 알려진 임의의 웨이퍼를 포함할 수 있다. 다른 실시예에서, 표본 이미지는 마스크에 대해 생성되며, 이는 반도체 기술분야에 알려진 임의의 마스크 또는 레티클을 포함할 수 있다. 일부 실시예가 마스크 또는 마스크들과 관련하여 본 명세서에서 설명될 수 있지만, 실시예들은 이들이 사용될 수 있는 표본에 있어서 제한되지 않는다. 예를 들어, 본 명세서에 설명된 실시예는 평면 패널, 개인용 컴퓨터(PC) 보드, 및 다른 반도체 표본과 같은 표본들에 사용될 수 있다.
표본에 대한 정보를 결정하기 위해 구성된 시스템의 일 실시예가 도 1에 도시되어 있다. 일부 실시예에서, 시스템(10)은 본 명세서에 추가로 설명되는 표본 이미지를 생성하도록 구성된 이미징 서브시스템(imaging subsystem)(100)을 포함한다. 이미징 서브시스템은 컴퓨터 서브시스템, 예를 들어 컴퓨터 서브시스템(36) 및/또는 하나 이상의 컴퓨터 시스템(102)을 포함하고/하거나 이에 결합된다. 도 1에 도시된 이미징 서브시스템은 빛을 사용하여 표본 이미지들을 생성하도록 구성된다. 이러한 방식으로, 일 실시예에서, 표본 이미지는 빛을 사용하여 생성된다. 도 1에 도시된 실시예에서, 이미징 서브시스템은 광(light)-기반 이미징 서브시스템으로 구성된다. 그러나, 본 명세서에 설명된 다른 실시예에서, 표본 이미지는 전자(electron) 또는 하전 입자(charged particle)를 사용하여 생성된다. 이러한 방식으로, 다른 실시예에서, 이미징 서브시스템은 전자를 사용하여 표본 이미지들을 생성하도록 구성된다.
대체로, 본 명세서에 설명된 이미징 서브시스템은 적어도 에너지 소스(energy source), 검출기 및 스캐닝 서브시스템(scanning subsystem)을 포함한다. 에너지 소스는 이미징 서브시스템에 의해 표본으로 지향되는 에너지를 생성하도록 구성된다. 검출기는 표본으로부터 에너지를 검출하고 검출된 에너지에 대응하는 출력을 생성하도록 구성된다. 스캐닝 서브시스템은 에너지가 지향되고 그로부터 에너지가 검출되는 표본 상에서의 포지션을 변경하도록 구성된다.
본 명세서에 설명된 광-기반 이미징 서브시스템에서, 표본으로 지향되는 에너지는 빛을 포함하고, 표본으로부터 검출되는 에너지는 빛을 포함한다. 예를 들어, 도 1에 도시된 시스템의 실시예에서, 이미징 서브시스템은 빛을 표본(14)으로 지향시키도록 구성된 조명 서브시스템을 포함한다. 조명 서브시스템은 적어도 하나의 광 소스를 포함한다. 예를 들어, 도 1에 도시된 바와 같이, 조명 서브시스템은 광 소스(16)를 포함한다. 조명 서브시스템은 하나 이상의 경사각(oblique angle) 및/또는 하나의 법선각(normal angle)을 포함할 수 있는 하나 이상의 입사각으로 빛을 표본에 지향시키도록 구성된다. 예를 들어, 도 1에 도시된 바와 같이, 광 소스(16)로부터의 빛은 광학 요소(18) 및 그 다음 렌즈(20)를 통해 경사 입사각으로 표본(14)으로 지향된다. 경사 입사각은 임의의 적절한 경사 입사각을 포함할 수 있으며, 이는 예를 들어 표본의 특성 및 표본에 수행되는 프로세스에 따라 달라질 수 있다.
조명 서브시스템은 상이한 시간에 상이한 입사각으로 빛을 표본로 지향시키도록 구성될 수 있다. 예를 들어, 이미징 서브시스템은 빛이 도 1에 도시된 것과 상이한 입사각으로 표본으로 지향될 수 있도록 조명 서브시스템의 하나 이상의 요소의 하나 이상의 특성을 변경하도록 구성될 수 있다. 하나의 그러한 예에서, 이미징 서브시스템은 빛이 상이한 경사 입사각 또는 법선(또는 거의 법선에 가까운) 입사각으로 표본으로 지향되도록 광 소스(16), 광학 요소(18), 및 렌즈(20)를 이동시키도록 구성될 수 있다.
일부 경우에서, 이미징 서브시스템은 동시에 하나보다 많은 입사각으로 빛을 표본에 지향시키도록 구성될 수 있다. 예를 들어, 조명 서브시스템은 하나보다 많은 조명 채널을 포함할 수 있고, 조명 채널 중 하나는 도 1에 도시된 바와 같이 광 소스(16), 광학 요소(18), 및 렌즈(20)를 포함할 수 있으며, 조명 채널 중 다른 하나(도시되지 않음)는 상이하게 또는 동일하게 구성될 수 있는 유사한 요소들을 포함하거나, 적어도 광 소스 및 가능하게는 본 명세서에 추가로 설명되는 것과 같은 하나 이상의 다른 구성요소를 포함할 수 있다. 그러한 빛이 다른 빛과 동시에 표본으로 지향되면, 상이한 입사각으로 표본으로 지향되는 빛의 하나 이상의 특성(예를 들어, 파장, 편광 등)은 상이할 수 있으므로, 상이한 입사각의 표본에 대한 조명으로 인한 빛은 검출기(들)에서 서로 구별될 수 있다.
또 다른 경우에서, 조명 서브시스템은 단지 하나의 광 소스(예를 들어, 도 1에 도시된 소스(16))를 포함할 수 있고 광 소스로부터의 빛이 조명 서브시스템의 하나 이상의 광학 요소(도시되지 않음)에 의해 (예를 들어, 파장, 편광, 등에 기초하여) 상이한 광 경로(optical path)들로 분리될 수 있다. 그런 다음 상이한 광 경로들 각각의 빛이 표본(202)으로 지향될 수 있다. 다수의 조명 채널들이 빛을 동시에 또는 상이한 시간에(예를 들어, 상이한 조명 채널들이 표본을 순차적으로 조명하는 데 사용되는 경우) 표본으로 지향시키도록 구성될 수 있다. 또 다른 경우에서는, 동일한 조명 채널이 상이한 시간에 상이한 특성으로 표본에 빛을 지향시키도록 구성될 수 있다. 예를 들어, 광학 요소(18)는 스펙트럼 필터로서 구성될 수 있고, 상이한 파장의 빛이 상이한 시간에 표본으로 지향될 수 있도록 스펙트럼 필터의 속성이 다양한 상이한 방식으로(예를 들어, 하나의 스펙트럼 필터를 다른 스펙트럼 필터로 교체함으로써) 변경될 수 있다. 조명 서브시스템은 상이하거나 동일한 특성을 갖는 빛을 상이하거나 동일한 입사각으로 순차적으로 또는 동시에 표본으로 지향시키기 위해 이 기술분야에 알려진 임의의 다른 적절한 구성을 가질 수 있다. 또한, 조명 서브시스템은 빛이 표본의 일 면을 조명하고 표본의 다른 면에서의 검출을 위해 표본에 의해 투과되도록 구성될 수 있다. 그러한 조명 서브시스템 및 그것이 포함된 이미징 서브시스템은 이 기술분야에 알려진 임의의 적절한 구성을 가질 수 있다.
광 소스(16)는 광대역 플라즈마(broadband plasma, BBP) 광 소스를 포함할 수 있다. 이러한 방식으로, 광 소스에 의해 생성되어 표본으로 지향되는 빛은 광대역 빛을 포함할 수 있다. 그러나, 광 소스는 임의의 적절한 파장(들)으로 빛을 생성하도록 구성된 이 분야에 알려진 임의의 적절한 레이저와 같은 임의의 다른 적절한 광 소스를 포함할 수 있다. 레이저는 단색(monochromatic) 또는 거의 단색인 빛을 생성하도록 구성될 수 있다. 이러한 방식으로, 레이저는 협대역(narrowband) 레이저일 수 있다. 광 소스는 또한 다수의 이산(discrete) 파장들 또는 파대역(waveband)들에서 빛을 생성하는 다색(polychromatic) 광 소스를 포함할 수 있다.
광학 요소(18)로부터의 빛은 렌즈(20)에 의해 표본(14) 상에 포커싱될 수 있다. 렌즈(20)가 단일의 굴절 광학 요소로서 도 1에 도시되어 있지만, 실제로 렌즈(20)는 결합하여 광학 요소로부터 표본으로 빛을 포커싱하는 다수의 굴절 및/또는 반사 광학 요소들을 포함할 수 있다. 도 1에 도시되고 여기서 설명된 조명 서브시스템은 임의의 다른 적절한 광학 요소들(도시되지 않음)을 포함할 수 있다. 이러한 광학 요소들의 예는 편광 구성요소(들), 스펙트럼 필터(들), 공간 필터(들), 반사 광학 요소(들), 아포다이저(apodizer)(들), 빔 스플리터(beam splitter)(들), 애퍼처(aperture)(들) 등을 포함할 수 있고(그러나 이에 제한되지 않음), 이들은 이 기술분야에 알려진 임의의 적절한 광학 요소들을 포함할 수 있다. 또한, 시스템은 이미징에 사용될 조명의 타입에 기초하여 조명 서브시스템의 요소들 중 하나 이상을 변경하도록 구성될 수 있다.
이미징 서브시스템은 또한 빛이 지향되고 그로부터 빛이 검출되는 표본 상에서의 포지션을 변경하고 가능하게는 표본 위로 빛이 스캔되게 하도록 구성된 스캐닝 서브시스템(scanning subsystem)을 포함할 수 있다. 예를 들어, 이미징 서브시스템은 이미징 동안 표본(14)이 위에 배치되는 스테이지(22)를 포함할 수 있다. 스캐닝 서브시스템은 빛이 표본 상의 상이한 포지션들에 지향되고 상이한 포지션들로부터 검출될 수 있도록 표본을 이동하도록 구성될 수 있는 (스테이지(22)를 포함하는) 임의의 적절한 기계 및/또는 로봇 어셈블리를 포함할 수 있다. 추가로, 또는 대안적으로, 이미징 서브시스템은 이미징 서브시스템의 하나 이상의 광학 요소들이 빛이 표본 상의 상이한 포지션들에 지향되고 상이한 포지션들로부터 검출될 수 있도록 표본 위로 빛의 일부 스캐닝을 수행하도록 구성될 수 있다. 빛이 표본 위로 스캔되는 경우에, 빛은 구불구불한(serpentine) 경로 또는 나선형 경로와 같은 임의의 적절한 방식으로 표본 위에 스캔될 수 있다.
이미징 서브시스템은 하나 이상의 검출 채널을 더 포함한다. 검출 채널(들) 중 적어도 하나는 이미징 서브시스템에 의한 표본에 대한 조명으로 인한 표본으로부터의 빛을 검출하고, 상기 검출된 빛에 대응하는 출력을 생성하도록 구성된 검출기를 포함한다. 예를 들어, 도 1에 도시된 이미징 서브시스템은 2 개의 검출 채널들을 포함하는데, 하나는 콜렉터(24), 요소(26) 및 검출기(28)에 의해 형성되고 다른 하나는 콜렉터(30), 요소(32), 및 검출기(34)에 의해 형성된다. 도 1에 도시된 바와 같이, 2 개의 검출 채널들은 상이한 수집 각도에서 빛을 수집 및 검출하도록 구성된다. 일부 경우에서, 두 검출 채널 모두는 산란광을 검출하도록 구성되고, 상기 검출 채널들은 표본으로부터 상이한 각도로 산란되는 빛을 검출하도록 구성된다. 그러나, 검출 채널들 중 하나 이상은 표본으로부터 또 다른 타입의 빛(예를 들어, 반사광)을 검출하도록 구성될 수 있다.
도 1에 더 도시된 바와 같이, 두 검출 채널들 모두는 지면(plane of the paper)에 포지셔닝되는 것으로 도시되고 조명 서브시스템 또한 지면에 포지셔닝되는 것으로 도시되어 있다. 따라서, 이 실시예에서, 두 검출 채널들 모두는 입사 평면에 포지셔닝된다(예를 들어, 입사 평면에 중심이 있음). 그러나 검출 채널들 중 하나 이상은 입사 평면 밖에 포지셔닝될 수 있다. 예를 들어, 콜렉터(30), 요소(32), 및 검출기(34)에 의해 형성된 검출 채널은 입사 평면 밖으로 산란되는 빛을 수집하고 검출하도록 구성될 수 있다. 따라서, 그러한 검출 채널은 보통 "측면(side)" 채널로 지칭될 수 있고, 그러한 측면 채널은 입사 평면에 실질적으로 직각인 평면에 중심이 있을 수 있다.
비록 도 1은 2 개의 검출 채널을 포함하는 이미징 서브시스템의 실시예를 도시하지만, 이미징 서브시스템은 상이한 수의 검출 채널들(예를 들어, 단지 하나의 검출 채널 또는 2 개 이상의 검출 채널들)을 포함할 수 있다. 하나의 그러한 경우에서, 콜렉터(30), 요소(32), 및 검출기(34)에 의해 형성된 검출 채널은 위에 기술된 바와 같이 하나의 측면 채널을 형성할 수 있고, 이미징 서브시스템은 입사 평면의 반대쪽에 포지셔닝되는 또 다른 측면 채널로서 형성된 추가 검출 채널(도시되지 않음)을 포함할 수 있다. 따라서, 이미징 서브시스템은 콜렉터(24), 요소(26), 및 검출기(28)를 포함하고, 입사 평면에 중심이 있고 표본 표면에 수직이거나 수직에 가까운 산란 각도(들)에서 빛을 수집하고 검출하도록 구성된 검출 채널을 포함할 수 있다. 따라서 이 검출 채널은 보통 "상부(top)" 채널로 지칭될 수 있고, 이미징 서브시스템은 또한 위에 기술된 바와 같이 구성된 2 개 이상의 측면 채널들을 포함할 수 있다. 이와 같이, 이미징 서브시스템은 적어도 3 개의 채널(즉, 1 개의 상부 채널 및 2 개의 측면 채널들)을 포함할 수 있고, 상기 적어도 3 개의 채널들 각각은 자체 콜렉터를 가지며, 콜렉터 각각은 나머지 콜렉터들의 각각과 상이한 산란 각도에서 빛을 수집하도록 구성된다.
위에서 더 설명된 바와 같이, 이미징 서브시스템에 포함된 검출 채널들 각각은 산란된 빛을 검출하도록 구성될 수 있다. 따라서, 도 1에 도시된 이미징 서브시스템은 표본의 암시야(dark field, DF) 이미징을 위해 구성될 수 있다. 그러나, 이미징 서브시스템은 또한, 또는 대안적으로 표본의 명시야(bright field, BF) 이미징을 위해 구성된 검출 채널(들)을 포함할 수 있다. 즉, 이미징 서브시스템은 표본으로부터 정반사된 빛을 검출하도록 구성되는 적어도 하나의 검출 채널을 포함할 수 있다. 따라서, 본 명세서에 설명된 이미징 서브시스템은 DF 이미징만, BF 이미징만, 또는 DF와 BF 이미징 모두를 위해 구성될 수 있다. 콜렉터들 각각이 도 1에서는 단일의 굴절 광학 요소들로서 도시되어 있지만, 콜렉터들 각각은 하나 이상의 굴절 광학 요소(들) 및/또는 하나 이상의 반사 광학 요소(들)를 포함할 수 있다.
하나 이상의 검출 채널들은 광전자 증배관(photo-multiplier tube, PMT), 전하 결합 소자(charge coupled device, CCD), 및 시간 지연 적분(time delay integration, TDI) 카메라와 같은 이 기술분야에 알려진 임의의 적절한 검출기를 포함할 수 있다. 검출기는 또한 비-이미징(non-imaging) 검출기 또는 이미징 검출기를 포함할 수 있다. 검출기가 비-이미징 검출기인 경우, 검출기들 각각은 강도(intensity)와 같은 산란된 빛의 특정 특성을 검출하도록 구성될 수 있지만, 그러한 특성을 이미징 평면 내의 포지션의 함수로서 검출하도록 구성되지 않을 수 있다. 따라서, 이미징 서브시스템의 검출 채널들 각각에 포함된 검출기들 각각에 의해 생성되는 출력은 신호 또는 데이터일 수 있지만, 이미지 신호 또는 이미지 데이터는 아닐 수 있다. 그러한 경우에, 컴퓨터 서브시스템(36)과 같은 컴퓨터 서브시스템은 검출기들의 비-이미징 출력으로부터 표본의 이미지들을 생성하도록 구성될 수 있다. 그러나, 다른 경우에, 검출기들은 이미징 신호 또는 이미지 데이터를 생성하도록 구성된 이미징 검출기들로서 구성될 수 있다. 따라서, 이미징 서브시스템은 다양한 방식으로 이미지들을 생성하도록 구성될 수 있다.
도 1은 본 명세서에 설명된 시스템 실시예들에 포함될 수 있는 이미징 서브시스템의 구성을 전반적으로 예시하기 위해 여기에서 제공된다는 점이 언급된다. 분명히, 본 명세서에서 설명된 이미징 서브시스템 구성은 상용의 이미징 시스템을 설계할 때 통상적으로 수행되는 바와 같이 이미징 서브시스템의 성능을 최적화하기 위해 변경될 수 있다. 또한, 본 명세서에서 설명된 시스템들은 캘리포니아주 밀피타스 소재의 KLA Corp.으로부터 상업적으로 입수할 수 있는 29xx/39xx 시리즈의 도구와 같은, 기존 시스템을 사용하여 (예를 들어, 기존 검사 시스템에 여기에 설명된 기능성을 추가함으로써) 구현될 수 있다. 일부 그러한 시스템들의 경우, 본 명세서에 설명된 방법들은 (예를 들어, 시스템의 다른 기능성에 부가하여) 시스템의 선택적 기능성으로 제공될 수 있다. 대안적으로, 본 명세서에 설명된 시스템은 완전히 새로운 시스템을 제공하기 위해 "맨 처음부터" 설계될 수도 있다.
컴퓨터 서브시스템(36)은 컴퓨터 서브시스템이 검출기들에 의해 생성된 출력을 수신할 수 있도록 임의의 적절한 방식으로(예를 들어, "유선" 및/또는 "무선" 전송 매체를 포함할 수 있는 하나 이상의 전송 매체를 통해) 이미징 서브시스템의 검출기들에 결합될 수 있다. 컴퓨터 서브시스템(36)은 검출기들의 출력을 사용하여 다수의 기능을 수행하도록 구성될 수 있다. 예를 들어, 시스템이 검사 시스템으로 구성된 경우, 컴퓨터 서브시스템은 검출기들의 출력을 사용하여 표본 상의 이벤트(예를 들어, 결함 및 잠재적 결함)를 검출하도록 구성될 수 있다. 표본에서 이벤트를 검출하는 것은 본 명세서에서 추가로 설명된 바와 같이 수행될 수 있다.
컴퓨터 서브시스템(36)은 또한 본 명세서에 설명된 바와 같이 구성될 수 있다. 예를 들어, 컴퓨터 서브시스템(36)은 본 명세서에 설명된 단계들을 수행하도록 구성될 수 있다. 따라서, 본 명세서에서 설명된 단계들은 이미징 서브시스템에 결합되거나 이미징 서브시스템의 부분인 컴퓨터 서브시스템에 의해 "도구에서(on-tool)" 수행될 수 있다. 추가적으로, 또는 대안적으로, 컴퓨터 서브시스템(들)(102)은 본 명세서에 설명된 단계들 중 하나 이상을 수행할 수 있다.
컴퓨터 서브시스템(36)(및 본 명세서에 설명된 다른 컴퓨터 서브시스템)은 본 명세서에서 컴퓨터 시스템(들)으로도 지칭될 수 있다. 본 명세서에 설명된 컴퓨터 서브시스템(들) 또는 시스템(들) 각각은 개인용 컴퓨터 시스템, 이미지 컴퓨터, 메인프레임 컴퓨터 시스템, 워크스테이션, 네트워크 기기, 인터넷 기기, 또는 기타 디바이스를 포함하여 다양한 형태를 취할 수 있다. 대체로, 용어 "컴퓨터 시스템"은 메모리 매체로부터 명령을 실행하는 하나 이상의 프로세서를 구비하는 임의의 디바이스를 포괄하도록 광범위하게 정의될 수 있다. 컴퓨터 서브시스템(들) 또는 시스템(들)은 또한 병렬 프로세서와 같은 이 기술분야에 알려진 임의의 적절한 프로세서를 포함할 수도 있다. 또한, 컴퓨터 서브시스템(들) 또는 시스템(들)은 독립형 또는 네트워크화된 도구로서, 고속 프로세싱 및 소프트웨어가 있는 컴퓨터 플랫폼을 포함할 수 있다.
시스템이 하나보다 많은 컴퓨터 서브시스템을 포함하는 경우, 이미지, 데이터, 정보, 명령 등이 컴퓨터 서브시스템들 간에 전송될 수 있도록 상이한 컴퓨터 서브시스템들이 서로 결합될 수 있다. 예를 들어, 컴퓨터 서브시스템(36)은 이 기술분야에 알려진 임의의 적절한 유선 및/또는 무선 전송 매체를 포함할 수 있는 임의의 적절한 전송 매체에 의해 도 1의 점선으로 도시된 바와 같이 컴퓨터 시스템(들)(102)에 결합될 수 있다. 이러한 컴퓨터 서브시스템들 중 2 개 이상은 공유 컴퓨터 판독가능 저장 매체(도시되지 않음)에 의해 효과적으로 결합될 수도 있다.
위에서 이미징 서브시스템은 광학 또는 광-기반 이미징 서브시스템인 것으로 설명되었지만, 다른 실시예에서 이미징 서브시스템은 전자빔(electron beam) 이미징 서브시스템으로 구성된다. 전자빔 이미징 서브시스템에서, 표본으로 지향되는 에너지는 전자를 포함하고, 표본으로부터 검출된 에너지는 전자를 포함한다. 도 1a에 도시된 하나의 그러한 실시예에서, 이미징 서브시스템은 전자 컬럼(electron column)(122)을 포함하고, 시스템은 이미징 서브시스템에 결합된 컴퓨터 서브시스템(124)을 포함한다. 컴퓨터 서브시스템(124)은 위에 설명된 바와 같이 구성될 수 있다. 또한, 이러한 이미징 서브시스템은 위에서 설명되고 도 1에 도시한 것과 동일한 방식으로 또 다른 하나 이상의 컴퓨터 시스템에 결합될 수 있다.
또한 도 1a에 도시된 바와 같이, 전자 컬럼은 하나 이상의 요소(130)에 의해 표본(128)에 포커싱되는 전자를 생성하도록 구성된 전자빔 소스(126)를 포함한다. 전자빔 소스는 예를 들어, 캐소드 소스(cathode source) 또는 이미터 팁(emitter tip)을 포함할 수 있고, 하나 이상의 요소(130)는 예를 들어, 건 렌즈(gun lens), 애노드(anode), 빔 제한 애퍼처(beam limiting aperture), 게이트 밸브(gate valve), 빔 전류 선택 애퍼처(beam current selection aperture), 대물 렌즈, 및 스캐닝 서브시스템을 포함할 수 있으며, 이들 모두는 이 분야에 알려진 임의의 이러한 적절한 요소들을 포함할 수 있다.
표본으로부터 리턴된 전자들(예를 들어, 2 차 전자들)은 하나 이상의 요소(132)에 의해 검출기(134)에 포커싱될 수 있다. 하나 이상의 요소(132)는 예를 들어, 요소(들)(130)에 포함된 동일한 스캐닝 서브시스템일 수 있는 스캐닝 서브시스템을 포함할 수 있다.
전자 컬럼은 이 기술분야에 알려진 임의의 다른 적절한 요소들을 포함할 수 있다. 또한, 전자 컬럼은 또한 Jiang 등에게 2014년 4월 4일에 발행된 미국특허 No. 8,664,594, Kojima 등에게 2014년 4월 8일에 발행된 No. 8,692,204, Gubbens 등에게 2014년 4월 15일에 발행된 No. 8,698,093, 및 MacDonald 등에게 2014년 5월 6일에 발행된 No. 8,716,662에 기술된 바와 같이 구성될 수 있고, 이들 문서는 여기에 완전히 제시된 것처럼 참조로 포함된다.
전자 컬럼은 도 1a에서 전자가 경사 입사각으로 표본에 지향되고 또 다른 경사각으로 표본으로부터 산란되도록 구성되는 것으로 도시되어 있지만, 전자빔은 임의의 적절한 각도로 표본으로 지향되고 표본으로부터 산란될 수 있다. 또한, 전자빔 이미징 서브시스템은 본 명세서에 추가로 설명되는 바와 같이 (예를 들어, 상이한 조명 각도, 수집 각도 등을 사용하여) 표본에 대한 출력을 생성하기 위해 다수의 모드들을 사용하도록 구성될 수 있다. 전자빔 이미징 서브시스템의 다수의 모드들은 이미징 서브시스템의 임의의 출력 생성 파라미터들에서 상이할 수 있다.
컴퓨터 서브시스템(124)은 위에 설명된 바와 같이 검출기(134)에 결합될 수 있다. 검출기는 표본의 표면으로부터 리턴된 전자를 검출하여 표본의 전자빔 이미지들(또는 표본에 대한 다른 출력)을 형성할 수 있다. 전자빔 이미지는 임의의 적절한 전자빔 이미지를 포함할 수 있다. 컴퓨터 서브시스템(124)은 검출기(134)에 의해 생성된 출력을 사용하여 표본 상의 이벤트를 검출하도록 구성될 수 있으며, 이는 위에서 설명된 바와 같이 또는 임의의 다른 적절한 방식으로 수행될 수 있다. 컴퓨터 서브시스템(124)은 본 명세서에 설명된 임의의 추가적인 단계(들)를 수행하도록 구성될 수 있다. 도 1a에 도시된 이미징 서브시스템을 포함하는 시스템은 또한 본 명세서에 설명되는 바와 같이 구성될 수 있다.
도 1a는 본 명세서에 설명된 실시예에 포함될 수 있는 전자빔 이미징 서브시스템의 구성을 전반적으로 예시하기 위해 여기에서 제공된다는 점이 언급된다. 위에서 설명된 광학 이미징 서브시스템과 마찬가지로, 여기에 설명된 전자빔 이미징 서브시스템 구성은 상용 시스템을 설계할 때 통상적으로 수행되는 바와 같이 이미징 서브시스템의 성능을 최적화하기 위해 변경될 수 있다. 또한, 여기에 설명된 시스템은 KLA로부터 상업적으로 입수할 수 있는 도구와 같은 기존 시스템을 사용하여 (예를 들어, 기존 시스템에 여기에 설명된 기능성을 추가함으로써) 구현될 수 있다. 일부 그러한 시스템의 경우, 본 명세서에 설명된 방법은 (예를 들어, 시스템의 다른 기능성에 부가하여) 시스템의 선택적인 기능성으로 제공될 수 있다. 대안적으로, 본 명세서에 설명된 시스템은 완전히 새로운 시스템을 제공하기 위해 "맨 처음부터" 설계될 수도 있다.
이미징 서브시스템이 광 또는 전자빔 이미징 서브시스템인 것으로 위에서 설명되었지만, 이미징 서브시스템은 이온빔(ion beam) 이미징 서브시스템일 수도 있다. 그러한 이미징 서브시스템은 전자빔 소스가 이 기술분야에 알려진 임의의 적절한 이온빔 소스로 대체될 수 있다는 점을 제외하고는 도 1a에 도시된 바와 같이 구성될 수 있다. 또한, 이미징 서브시스템은 상업적으로 입수할 수 있는 집속 이온빔(focused ion beam, FIB) 시스템, 헬륨 이온 현미경(helium ion microscopy, HIM) 시스템, 및 이차 이온 질량 분광(secondary ion mass spectroscopy, SIMS) 시스템에 포함된 것과 같은 임의의 다른 적절한 이온 빔 이미징 시스템을 포함할 수 있다.
위에서 추가로 언급된 바와 같이, 이미징 서브시스템은 다수의 모드들을 갖도록 구성될 수 있다. 대체로, "모드(mode)"는 표본에 대한 출력을 생성하는 데 사용되는 이미징 서브시스템의 파라미터들의 값으로 정의된다. 따라서, 상이한 모드들은 (출력이 생성되는 표본 상의 포지션 이외의) 이미징 서브시스템의 이미징 파라미터들 중 적어도 하나에 대한 값이 상이할 수 있다. 예를 들어, 광-기반 이미징 서브시스템의 경우, 상이한 모드들은 상이한 파장의 빛을 사용할 수 있다. 모드들은 본 명세서에서 추가로 설명되는 바와 같이, (예를 들어, 상이한 모드에 대해 상이한 광 소스, 상이한 스펙트럼 필터 등을 사용하여) 표본으로 지향되는 빛의 파장이 상이할 수 있다. 또 다른 실시예에서, 상이한 모드들은 상이한 조명 채널들을 사용할 수 있다. 예를 들어, 위에서 언급한 바와 같이, 이미징 서브시스템은 하나보다 많은 조명 채널을 포함할 수 있다. 따라서, 상이한 모드들에 대해 상이한 조명 채널들이 사용될 수 있다.
다수의 모드들은 또한 조명 및/또는 수집/검출에 있어 상이할 수 있다. 예를 들어, 위에서 추가로 설명된 바와 같이, 이미징 서브시스템은 다수의 검출기들을 포함할 수 있다. 따라서, 검출기들 중 하나는 하나의 모드에 사용될 수 있고 검출기들 중 또 다른 하나는 또 다른 모드에 사용될 수 있다. 더욱이, 모드들은 여기에 설명된 하나 이상의 방식에서 서로 상이할 수 있다(예를 들어, 상이한 모드들은 하나 이상의 상이한 조명 파라미터들 및 하나 이상의 상이한 검출 파라미터들을 가질 수 있음). 이미징 서브시스템은 예를 들어, 다수의 모드들을 사용하여 동시에 표본을 스캔하는 능력에 따라, 동일한 스캔 또는 상이한 스캔에서 상이한 모드들로 표본을 스캔하도록 구성될 수 있다.
일 실시예에서, 이미지는 표본에 대한 검사를 위해 구성된 이미징 서브시스템에 의해 생성된다. 이러한 방식으로, 본 명세서에 설명된 시스템은 검사 시스템으로서 구성될 수 있다. 그러나, 본 명세서에 설명된 시스템은 결함 리뷰 시스템(defect review system) 및 계측 시스템(metrology system)과 같은 또 다른 타입의 반도체 관련 품질 관리 타입 시스템으로서 구성될 수 있다. 예를 들어, 본 명세서에 설명되고 도 1 및 도 1a에 도시된 이미징 서브시스템의 실시예는 그것들이 사용될 애플리케이션에 따라 상이한 이미징 능력을 제공하기 위해 하나 이상의 파라미터가 수정될 수 있다. 일 실시예에서, 이미징 서브시스템은 전자빔 결함 리뷰 서브시스템으로서 구성된다. 예를 들어, 도 1a에 도시된 이미징 서브시스템은 검사보다는 결함 리뷰 또는 계측에 사용되는 경우 더 높은 해상도(resolution)를 갖도록 구성될 수 있다. 즉, 도 1 및 도 1a에 도시된 이미징 서브시스템의 실시예는, 상이한 애플리케이션들에 어느 정도 적절한 상이한 이미징 능력들을 갖는 이미징 서브시스템들을 생성하기 위해 이 분야의 기술자들에게 명백할 다수의 방식으로 조정될(tailored) 수 있는 이미징 서브시스템에 대한 일부 전반적이고 다양한 구성들을 설명한다.
위에 언급된 바와 같이, 이미징 서브시스템은 에너지(예를 들어, 빛, 전자)를 표본의 물리적 버전에 지향시키고/시키거나 에너지를 표본의 물리적 버전 위로 스캐닝하여 표본의 물리적 버전에 대한 실제 이미지를 생성하도록 구성될 수 있다. 이러한 방식으로, 이미징 서브시스템은 "가상(virtual)" 시스템이 아닌 "실제(actual)" 이미징 시스템으로서 구성될 수 있다. 그러나, 저장 매체(도시되지 않음) 및 도 1에 도시된 컴퓨터 서브시스템(들)(102)은 "가상" 시스템으로서 구성될 수 있다. 특히, 저장 매체 및 컴퓨터 서브시스템(들)은 이미징 서브시스템(100)의 부분이 아니며 표본의 물리적 버전을 처리하기 위한 능력을 가지지 않지만, 저장된 검출기 출력을 사용하여, 검사와 유사한 기능들을 수행하는 가상 검사기(virtual inspector), 계측과 유사한 기능을 수행하는 가상 계측 시스템, 결함 리뷰와 유사한 기능을 수행하는 가상 결함 리뷰 도구로서 구성될 수 있다. "가상" 시스템으로서 구성된 시스템 및 방법은 공동으로 양도된, Bhaskar 등에게 2012년 2월 28일에 발행된 미국특허 No. 8,126,255, Duffy 등에게 2015년 12월 29일에 발행된 No. 9,222,895, Duffy 등에게 2017년 11월 14일에 발행된 No. 9,816,939에 설명되어 있으며, 이들 문서는 본 명세서에 완전히 제시된 것처럼 참조로 포함된다. 본 명세서에 설명된 실시예는 또한 이들 특허에 설명된 바와 같이 구성될 수 있다. 예를 들어, 본 명세서에 설명된 컴퓨터 서브시스템은 또한 이들 특허에 설명된 바와 같이 구성될 수 있다.
시스템은 위에 설명된 컴퓨터 서브시스템(들) 또는 시스템(들) 중 임의의 것의 임의의 구성을 포함할 수 있는 컴퓨터 서브시스템을 포함한다. 컴퓨터 서브시스템은 표본 이미지에서 검출된 결함과 접촉하지 않는 표본 이미지에서의 하나 이상의 패턴을 제거하여 수정된 표본 이미지를 생성하도록 구성된다. 예를 들어, 도 2에 도시된 바와 같이, 컴퓨터 서브시스템은 표본 이미지(200)를 획득할 수 있으며, 그 비제한적인 예가 이미지(200a)로 도시되어 있다. 일부 실시예들이 하나의 표본 이미지와 관련하여 본 명세서에 설명되어 있지만, 본 명세서에 설명된 단계들은 프로세스에서 표본에 대해 생성되는 모든 표본 이미지를 최대로 포함하여, 단일의 프로세스에서 단일의 표본에 대해 생성된 하나보다 많은 표본 이미지에 대해 수행될 수 있다. 본 명세서에 설명된 실시예에 의해 사용되는 표본 이미지들은 래스터 이미지(raster image) 또는 충분한 해상도로 마스크 상의 패턴을 보여주는 마스크 설계 이미지와 같은 이 기술분야에 알려진 임의의 다른 적절한 표본 이미지를 포함할 수 있어, 본 명세서에 설명된 단계들이 상기 이미지들을 사용하여 수행될 수 있다.
컴퓨터 서브시스템은 여기서 추가로 설명되는 바와 같이 표본 이미지들을 획득할 수 있다. 예를 들어, 시스템은 본 명세서에 설명된 이미징 서브시스템들 중 하나 이상을 포함할 수 있으며, 컴퓨터 서브시스템은 이미징 서브시스템(들)의 검출기(들)로부터 이미지들을 획득할 수 있거나 검출기(들)의 출력으로부터 이미지들을 생성할 수 있다. 또 다른 예에서, 컴퓨터 서브시스템은 또 다른 방법이나 시스템에 의해 이미지들이 저장된 저장 매체(도시되지 않음)로부터 표본 이미지들을 획득할 수 있다.
표본 이미지에서 검출된 결함과 접촉하지 않는 표본 이미지에서의 하나 이상의 패턴을 제거하는 것은, 예를 들어 도 2의 단계(202)에 도시된 바와 같이 결함 근처의 표본 상에서 로컬 패치(local patch)를 절단(cutting)하고 채우는(filling) 것을 포함할 수 있다. 즉, 이 단계는 래스터 이미지로부터 패치 이미지를 클리핑하고 그런 다음 결함과 접촉하지 않는 패턴들을 제거하는 것을 포함할 수 있다. 보다 구체적으로, 단계(202)는 이미지로부터 결함과 접촉하지 않는 임의의 패턴들을 절단하고 그런 다음 패턴들이 절단된 영역들을 이미지의 다른 비-패턴(non-pattern) 및 비-결함(non-defect) 부분들(즉, 이미지의 패턴화되지 않은(unpatterned) 그리고 결함이 없는(non-defective) 부분들)과 동일하거나 실질적으로 동일한 값들을 갖는 백그라운드 픽셀(background pixel)들로 채우는 것을 포함할 수 있다. 이 단계는 또한 수정된 표본 이미지가 단지 몇몇 패턴들만을 포함하기보다는 우선적으로 결함과 접촉하는 패턴들, 가능하게는 결함에, 그런 다음 주로 백그라운드 또는 패턴화되지 않은, 결함이 없는 픽셀들에 초점을 맞추도록 표본 이미지의 크기를 축소하는 것을 포함할 수 있다.
이 단계는 수정된 표본 이미지(204)를 생성할 수 있으며, 이는 실시예의 이해를 돕기 위해 비제한적인 예로서만 여기에 도시되어 있다. 표본 이미지(200a)를 수정된 표본 이미지(204)와 비교함으로써 알 수 있듯이, 단계(202) 이전에 표본 이미지는 수정된 표본 이미지에서 보여지는 것보다 더 많은 패턴들을 포함하지만, 결함과 접촉하지 않는 임의의 패턴들은 모두 제거되고 그 결과 수정된 표본 이미지(204)가 생성된다. 게다가, 표본 이미지(200a)를 수정된 표본 이미지(204)와 비교함으로써 알 수 있듯이, 단계(202)는 패턴이 제거되었기 때문에 더 이상 패턴을 포함하지 않는 많은 픽셀들을 제거함으로써 표본 이미지의 크기를 축소하는 것 및/또는 검출된 결함 위치를 중심으로 하는 미리 정해진 개수의 픽셀들만을 유지하는 것을 포함한다. 위에 설명된 바와 같이, 결함과 접촉하지 않는 패턴들이 제거되고 그런 다음 표본 이미지의 크기가 축소될 수 있지만, 이 단계들은 역순으로 수행될 수도 있다.
본 명세서에 설명된 실시예에서, 래스터 이미지들은 어떤 패턴들이 결함과 접촉하는지 식별하는 데 사용될 수 있으며, 결함과 접촉하지 않는 임의의 패턴들을 제거함으로써 실시예는 여기에 설명된 그룹화 단계들에서 나머지 패턴들에만 초점을 맞출 수 있다. 현재 사용되는 다른 시스템 및 방법에 비해 이러한 개선은 더 유사한 결함들을 함께 그룹화하는 데 도움이 된다. 예를 들어, 결함들과 접촉하는 패턴들만을 유지함으로써, 본 명세서에 설명된 실시예는 결함들의 상이한 주변 패턴들을 용인(tolerate)(즉, 이들에 의해 크게 영향을 받지 않음)할 수 있다.
컴퓨터 서브시스템은 또한 수정된 표본 이미지에 대해 하나 이상의 해시 코드를 생성하도록 구성된다. 이러한 방식으로 컴퓨터 서브시스템은 위에서 설명된 바와 같이 생성된 패치들에 대해 해시 코드를 생성한다. 예를 들어, 도 2의 단계(206)에 도시된 바와 같이, 컴퓨터 서브시스템은 패치에 대해 사전 그룹화(pre-grouping)를 위한 해시 코드를 생성할 수 있으며 이에 의해 생성된 해시 코드(208)가 얻어진다. 도 2에 도시된 단계들은, 이 도면에 도시된 그룹화 후에 하기에 추가로 설명되는 도 6에 도시된 것과 같은 또 다른 재그룹화(re-grouping) 또는 최종 그룹화가 뒤따르는 경우 본 방법의 사전 그룹화 단계일 수 있다. 그러나, 이러한 사전 그룹화는 또 다른 그룹화 방법이나 단계가 뒤따르지 않는 경우 간단히 그룹화라고 지칭될 수도 있다. 이러한 방식으로, 컴퓨터 서브시스템은 관심 있는 각각의 수정된 표본 이미지에 대해 적어도 하나의 해시 코드, 즉 수정된 표본 이미지 1에 대해 해시 코드 1, 수정된 표본 이미지 2에 대해 해시 코드 2 등을 생성할 수 있다. 여기에 추가로 설명되는 바와 같이, 수정된 표본 이미지들 중 하나 이상(및 가능하게는 모두)에 대해 하나보다 많은 해시 코드, 예를 들어 하나는 원본(original) 수정된 표본 이미지에 대한 것이고, 하나는 수정된 표본 이미지의 또 다른(또는 각각의) 변경된 버전에 대한 것과 같이 해시 코드가 생성될 수 있다.
일부 실시예에서, 하나 이상의 해시 코드를 생성하는 것은 수정된 표본 이미지로부터 주파수 도메인(frequency domain) 이미지를 생성하는 것, 주파수 도메인 이미지의 낮은 주파수 성분(low frequency component)들을 선택하는 것, 및 낮은 주파수 성분들을 하나 이상의 해시 코드르르 위한 벡터(vector)들로 변환하는 것을 포함한다. 이러한 방식으로, 본 명세서에 설명된 실시예는 주파수 도메인에서만 정의되고 수정된 표본 이미지의 낮은 주파수 부분만 유지하는 새로운 타입의 해시 코드를 정의하여 사용할 수 있다. 따라서, 해시 코드는 상대적으로 작은 조그(jog)와, 해머헤드(hammerhead), 셰리프(serif) 등과 같은 패턴 상의 기타 광학 근접 보정(optical proximity correction, OPC) 피처들과 같은 패턴들 간의 일부 사소한 차이를 용인(즉, 이들에 의해 크게 영향을 받지 않음)할 수 있다. 즉, 두 결함이 위에 설명된 일부 사소한 차이들을 제외하고 유사한 두 개의 상이한 패턴들에서 검출되는 경우, 해시 코드 생성에서 수정된 표본 이미지들의 낮은 주파수 성분들에 우선적으로(또는 오로지) 초점을 맞춤으로써, 상기 두 결함에 대해 그와 같이 생성된 해시 코드들은 두 결함이 올바르게 함께 그룹화될 만큼 충분히 유사할 것이다.
따라서 이러한 낮은 주파수 기반 해시 코드는 본 명세서에 설명된 실시예가 결함 또는 이미지 그룹화에 일부 퍼지니스(fuzziness)를 도입할 수 있는 한 가지 방법이 된다. 컴퓨터 시스템이 정확히 동일하지는 않지만 사용자에 의해 함께 그룹화될 만큼 충분히 유사한 것으로 식별될 수 있는 결함들 또는 패턴들을 그룹화하는 것은 실질적으로 어려울 수 있기 때문에, 본 명세서에 설명된 결함 또는 패턴 그룹화 방법에서 일부 퍼지니스를 가능하게 하는 것은 중요하고 유리하다. 본 명세서에 설명된 해시 코드들은 그 외에는 함께 그룹화될 만큼 충분히 유사한 결함들 및 패턴들에서의 차이를 용인할 수 있음으로 인해 그러한 어려움을 제거한다. 본 명세서에 설명된 바와 같이 생성된 해시 코드들을 사용하면 본 명세서에 설명된 결함 또는 패턴 그룹화는 또한 배경 섹션에 설명된 것들을 포함하여 현재 사용되는 다른 그룹화 방법 및 시스템보다 훨씬 더 빨라진다.
그러한 단계들에 대한 일 실시예가 도 3에 도시되어 있다. 이 실시예에서, 수정된 표본 이미지(300)(이 경우에서는 수정된 표본 이미지(204)와 동일함)가 주파수 도메인으로의 변환 단계(302)에 입력된다. 이미지를 주파수 도메인으로 변환하는 것은 Abs(FFT(이미지))와 같은 함수를 사용하여 수행될 수 있지만, 이 기술분야에 알려진 임의의 다른 적절한 고속 푸리에 변환 함수(Fast Fourier transform function)를 사용하여 수행될 수도 있다. 단계(302)의 결과는 주파수 도메인 이미지(304)일 수 있으며, 이는 로그 스케일(logarithm scale)로 주파수 도메인 진폭을 보여준다. 그런 다음 주파수 도메인 이미지는 높은 주파수 성분들을 제거하는 단계(306)에 입력되고 이에 의해 낮은 주파수 성분들만 유지한다. 이 단계는 가장 낮은 주파수 성분들을 포함하는 주파수 도메인 이미지의 일 부분만을 선택하는 것을 포함할 수 있지만, 반드시 낮은 주파수 성분들 모두를 포함할 필요는 없다. 본 명세서에서 사용된 용어 "낮은 주파수"는 사용자에 의해 정의된 미리 정해진 문턱값으로 정의된다. 예를 들어, 가장 낮은 주파수 성분들이 주파수 도메인 이미지에서 식별될 수 있고, 그런 다음 미리 정해진 주파수 문턱값에 기초하여, 다른 상대적으로 낮은 주파수 성분들이 보유를 위해 선택될 수 있고/있거나 가장 낮은 주파수 성분들을 둘러싸는 미리 정해진 패치 크기가 선택될 수 있다. 그러한 낮은 주파수 성분들을 식별하고 선택하는 것은 이 기술분야에 알려진 임의의 적절한 방식으로 달리 수행될 수도 있다.
주파수 도메인 이미지(304)에 대해, 단계(306)는 패치 이미지(308)를 생성할 수 있고, 이는 일부 경우에 15 x 8 패치 이미지일 수 있지만 임의의 다른 적절한 크기를 가질 수 있다. 패치 이미지(308)는 상반부(310)와 하반부(312)를 포함할 수 있다. 전체 패치 이미지는 벡터로의 변환 단계(314)에 입력될 수 있으며, 여기서 패치 이미지는 해시 코드(316)로 변환된다. 이 단계는 단순히 픽셀 값들의 2-차원(2D) 15 x 8 행렬을 1-차원(1D) 벡터로 펴서 늘리는 것(flattening)을 포함하며, 이는 이 기술분야에 알려진 임의의 적절한 방식으로 수행될 수 있다. 도 3에 도시된 바와 같이, 도 3에서 "상반부(upper half)"로 표시된 해시 코드의 일 부분은 패치 이미지의 상반부에 대응되고, 도 3에서 "하반부(lower half)"로 표시된 해시 코드의 다른 부분은 패치 이미지의 하반부에 대응된다.
그런 다음, 사전 그룹화에서 일 타입의 해시 코드가 결함 패치들의 퍼지 정보(fuzzy information)를 기술하기 위해 도입될 수 있다. 예를 들어, 본 명세서에 설명된 해시 코드들은 회전, 뒤집기(flipping), 평행이동 또는 이들의 일부 조합을 포함하는 표본 이미지의 변형을 지원한다. 이러한 방식으로, 상기 해시 코드와 이를 사용하여 수행된 그룹화는 회전/뒤집기/평행이동과 같은 표본 이미지의 다양한 버전을 유리하게 용인할 수 있다. 즉, 본 명세서에 설명된 실시예는 결함, 표본 또는 도구에 대한 패턴들의 배향(orientation) 및 수정된 표본 이미지들 내의 패턴들의 포지션(position)과 같은 패턴들의 일부 사소한 차이들을 용인할 수 있는, 새로운 타입의 해시 코드를 정의해서 사용한다. 이러한 방식으로, 두 결함이 위에서 설명된 배향 및/또는 포지션의 일부 차이를 제외하고 유사한 두 개의 상이한 패턴들에서 검출되더라도, 본 명세서에 설명된 바와 같이 생성된 해시 코드는 그러한 패턴들의 차이에도 불구하고 두 결함이 올바르게 함께 그룹화될 수 있게 한다. 따라서 이러한 패턴-배향/포지션-플렉시블(pattern-orientation/position-flexible) 해시 코드는 본 명세서에 설명된 실시예가 결함 또는 이미지 그룹화에 퍼지니스를 도입하는 한 가지 방법이 된다. 본 명세서에 설명된 결함 또는 패턴 그룹화 방법에서 일부 퍼지니스를 가능하게 하는 것은 위에 추가로 설명된 것과 동일한 이유로 중요하다.
일 실시예에서, 하나 이상의 해시 코드는 수정된 표본 이미지에 대한 제1 해시 코드와 수정된 표본 이미지의 회전된 버전에 대한 제2 해시 코드를 포함한다. 다른 실시예에서, 하나 이상의 해시 코드는 수정된 표본 이미지에 대한 제1 해시 코드와 수정된 표본 이미지의 뒤집힌 버전에 대한 제2 해시 코드를 포함한다. 추가 실시예에서, 하나 이상의 해시 코드는 수정된 표본 이미지에 대한 제1 해시 코드와 수정된 표본 이미지의 평행이동된 버전에 대한 제2 해시 코드를 포함한다. 따라서, 본 명세서에 설명된 실시예에 의해 생성된 하나 이상의 해시 코드는 동일한 수정된 표본 이미지에 대해 둘 이상의 해시 코드, 즉, 원본 수정된 표본 이미지에 대한 하나의 해시 코드, 및 가능하게는, 회전된, 뒤집힌, 평행이동된, 또는 이들의 일부 조합으로 된 원본 수정된 표본 이미지의 다른 버전(들)에 대한 다른 해시 코드(들)를 포함할 수 있다. 이러한 해시 코드들은 여기에 추가로 설명된 바와 같이 생성될 수 있다.
도 4는 동일한 수정된 표본 이미지의 3 가지 상이한 버전들을 도시한다. 이 실시예에서, 수정된 표본 이미지(400)는 원본 수정된 표본 이미지이다. 수정된 표본 이미지(402)는 수정된 표본 이미지(400)를 180 도 회전시켜 생성된 수정된 표본 이미지(400)의 회전된 버전이다. 수정된 표본 이미지(404)는 원본 수정된 표본 이미지에서의 패턴들을 아래쪽으로 시프트함으로써 생성된 수정된 표본 이미지(400)의 평행이동된 버전이다. 여기에 설명된 해시 코드들은 평행이동 또는 180 도 회전만 제외하면 두 이미지가 동일한 경우 유리하게도 변경되지 않는다. 뒤집기는 회전과 매우 유사하다. 이러한 방식으로 해시 코드는 평행이동, 회전 및 뒤집기에 의해 생성된 수정된 표본 이미지의 버전들을 용인할 수 있으며, 도 4에 도시된 3 가지 수정된 표본 이미지들은 동일한 해시 코드를 가질 것이다.
도 5는 회전 시 해시 코드가 어떻게 변경되는지 도시한다. 이 도면에서, 수정된 표본 이미지(500)는 원본 수정된 표본 이미지이고, 수정된 표본 이미지(502)는 원본 수정된 표본 이미지를 90 도 또는 270 도 회전시킴으로써 생성된 원본 수정된 표본 이미지의 회전된 버전이다. 해시 코드(504)는 본 명세서에 설명된 바와 같이 원본 수정된 표본 이미지에 대해 생성될 수 있고, 해시 코드(506)는 이미지의 회전된 버전에 대해 생성될 수 있다. 수정된 표본 이미지를 90 도 또는 270 도 회전하는 경우, 회전된 버전에 대한 해시 코드는 해시 코드의 제1 부분과 제2 부분을 교환함으로써 생성될 수 있다. 즉, 해시 코드들(504, 506)의 부분들(508)은 동일하지만 해시 코드들의 상이한 포지션들에 있고, 해시 코드들(504, 506)의 부분들(510)은 동일하지만 해시 코드들의 상이한 포지션들에 있다. 해시 코드의 두 부분을 교환하는 것 외에는, 90 도 또는 270 도 회전을 정확하게 반영하기 위해 원본 해시 코드에 대한 어떠한 다른 변경도 필요하지 않다.
대체로 그 때, 동일한 수정된 표본 이미지의 상이한 버전들에 대한 상이한 해시 코드들은 몇 가지 상이한 방식으로 생성될 수 있다. 예를 들어, 원본 수정된 표본 이미지가 회전, 뒤집기, 평행이동 등 되어 원본 수정된 표본 이미지의 하나 이상의 버전들을 생성할 수 있으며, 그런 다음 해시 코드들이 원본 수정된 표본 이미지의 상이한 버전들 각각에 대해 별도로 그리고 독립적으로 생성될 수 있다. 또 다른 예에서, 발명자들이 발견한 바와 같이 해시 코드가 수정된 표본 이미지의 상이한 버전들에 대해 특정 방식으로 변경되는(또는 전혀 변경되지 않는) 것이 알려져 있는 경우, 원본 수정된 표본 이미지의 하나 이상의 버전들은 실제로 생성될 필요가 없다. 따라서, 해시 코드는 원본 수정된 표본 이미지에 대해 생성될 수 있으며, 그런 다음 생성된 해시 코드를 조작하여 원본 수정된 표본 이미지의 하나 이상의 버전에 대한 해시 코드(들)를 생성할 수 있다. 하나의 그러한 예에서, 컴퓨터 서브시스템은 90 도 또는 270 도 회전 및 뒤집기를 처리하기 위해 해시 코드의 상반부 및 하반부를 교환(예를 들어, 도 3에 도시된 해시 코드의 상반부와 도 3에 도시된 해시 코드의 하반부가 도 5에 도시된 바와 같이 스위칭됨)하기만 하면 될 수 있고, 이는 상당히 빠르다.
다시 말하면, 본 명세서에 설명된 해시 코드의 이점 중 하나는 그것이 패턴의 시프트, 180 도 회전 및 뒤집기에 대해 불변이라는 것이다. 또한, 90 도 또는 270 도 회전의 경우, 해시 코드의 상반부와 하반부만 교환하면 된다. 위의 두 가지 속성에 기반하여, 회전된 이미지와 뒤집힌 이미지 간의 유사도 점수(similarity)는 상당히 높다. 따라서, 회전된 패턴과 뒤집힌 패턴은 본 명세서에 추가로 설명된 바와 같이 함께 그룹화될 수 있다. 따라서, 이 해시 코드는 회전과 뒤집기를 용인할 수 있다고 말할 수 있다. 90 도 또는 270 도 회전을 제외하고 동일한 두 패턴의 경우, 여기에 설명된 실시예는 해시 코드들 중 하나의 두 절반부들을 뒤집고, 1) 두 패턴들에 대한 원본 해시 코드들과 2) 한 패턴에 대한 원본 해시 코드와 다른 패턴에 대한 뒤집힌 해시 코드 사이의 유사성을 확인함으로써 그들의 유사성을 식별할 수 있다. 이러한 방식으로 표본 상의 상이한 시야(fields of view, FOV)들로부터의 두 이미지가 회전 또는 뒤집기를 제외하고 동일한 패턴들을 포함하는 경우, 그것들은 여기에 설명된 해시 코드들을 사용하여 함께 그룹화될 수 있으며, 이는 본 해시 코드의 이점이다.
이러한 방식으로, 본 명세서에 설명된 바와 같이 수정된 표본 이미지에 대한 하나 이상의 해시 코드를 생성하는 것은 수정된 표본 이미지 자체로부터의 각각의 패턴에 대해 하나의 해시 코드를 생성하는 것만 포함할 수 있다. 두 패턴들 사이의 유일한 차이가 하나가 다른 패턴에 대해 180 도 회전되거나, 뒤집히거나, 평행이동된 것이라면, 두 패턴들에 대해 생성된 해시 코드들은 동일(또는 실질적으로 동일)할 것이다. 패턴들 중 임의의 것에 대해 임의의 추가 해시 코드를 생성하기 위해 원본 해시 코드가 사용될 수 있으며 원본 해시 코드의 두 절반부를 교환하여 또 다른 해시 코드를 생성할 수 있다. 이러한 방식으로, 수정된 표본 이미지를 사용하지 않고 원본 해시 코드로부터 수정된 해시코드가 생성될 수 있다. 그런 다음 이 해시 코드는 패턴들 중 하나가 패턴들 중 다른 하나에 대해 90 도 또는 270 도 회전한 것을 제외하고 동일한 패턴들을 식별하는 데 사용될 수 있다. 그러면 여기에 설명된 회전, 뒤집기 또는 평행이동 중 임의의 것과 같은 차이를 용인하기 위해, 각각의 패턴들의 쌍에 대해 두 번 유사성을 확인할 수 있다. 즉, 한 번은 원본 해시 코드를 사용하여 확인하고, 다른 한 번은 그것의 원본 해시 코드의 첫 번째 절반부를 두 번째 절반부와 교환함으로써 생성된 하나의 해시 코드를 사용하여 확인할 수 있다. 확인 중 하나가 유사한 한, 두 패턴은 유사한 것으로 간주될 수 있다.
컴퓨터 서브시스템은 또한 상기 하나 이상의 해시 코드와 제2 표본 이미지에 대해 생성된 제2 수정된 표본 이미지에 대해 생성된 하나 이상의 다른 해시 코드 사이의 거리에 기초하여 표본 이미지를 다수의 그룹들 중 하나에 할당하도록 구성된다. 예를 들어, 도 2의 단계(210)에 도시된 바와 같이, 컴퓨터 서브시스템은 해시 코드 벡터들의 거리를 확인한 다음, 단계(212)에 도시된 바와 같이 표본 이미지를 상이한 그룹들에 할당할 수 있다. 이러한 방식으로, 이 비제한적인 예에서 표본 이미지들은 그룹 #1, 그룹 #2, 그룹 #3 등을 포함하는 상이한 그룹들(214)에 할당될 수 있다. 이 단계들은 여기에서 추가로 설명되는 바와 같이 수행될 수 있다.
일 실시예에서, 컴퓨터 서브시스템은 상기 거리를 결정하도록 구성되고, 상기 하나 이상의 해시 코드와 상기 하나 이상의 다른 해시 코드 사이의 상기 거리는 코사인 벡터 거리(cosine vector distance)를 포함한다. 이러한 방식으로, 본 명세서에 설명된 실시예는 코사인 벡터 거리를 사용하여 패턴들 간의 유사성을 확인할 수 있으며, 이는 유리하게도 상당히 빠르게 수행될 수 있다. 예를 들어, 다음의 해시 코드 예인 h 1 h 2 는 각각 수정된 표본 이미지 1과 2에 대한 것이다.
수정된 표본 이미지들 각각은 표본 이미지들 중 상이한 이미지, 즉 표본 이미지 1에 대해 하나, 표본 이미지 2에 대해 하나가 각각 생성된다. 이와 같이, 결함이 검출된 표본 이미지들 각각(또는 각각의 관심 표본 이미지)에 대해, 표본 이미지에서 검출된 결함에 접촉하지 않는 이미지 내의 패턴들을 제거함으로써 적어도 하나의 수정된 표본 이미지가 생성될 수 있고, 그런 다음 상기 적어도 하나의 수정된 표본 이미지에 대해 적어도 하나의 해시 코드가 생성될 수 있다.
두 개의 수정된 표본 이미지들에 대한 두 해시 코드들 사이의 코사인 벡터 거리는 그러면 다음과 같이 정의될 수 있다:
이러한 방식으로, 본 명세서에 설명된 실시예들은 해시 코드들의 유사성에 기초하여 (결함들에 대응하는 수정된 표본 이미지들을 사전 그룹화함으로써) 결함들을 사전 그룹화할 수 있으며, 두 해시 코드의 유사도는 그것들 사이의 코사인 벡터 거리에 의해 정의될 수 있다. 즉, 사전 그룹화 단계에서는 (두 개의 수정된 표본 이미지들에 있는) 두 패턴이 함께 그룹화될 수 있는지 여부를 결정하기 위해 위의 공식이 사용될 수 있다.
다른 실시예에서, 컴퓨터 서브시스템은 상기 하나 이상의 해시 코드 중 제1 해시 코드와 상기 하나 이상의 다른 해시 코드 중 제1 해시 코드 사이의 제1 코사인 벡터 거리를 결정하고, 상기 하나 이상의 해시 코드 중 상기 제1 해시 코드와 상기 제2 수정된 표본 이미지의 변경된 버전에 대한 상기 하나 이상의 다른 해시 코드 중 제2 해시 코드 사이의 제2 코사인 벡터 거리를 결정하고, 상기 제1 및 제2 코사인 벡터 거리 중 최대값을 결정하고, 상기 하나 이상의 해시 코드와 상기 하나 이상의 다른 해시 코드 사이의 거리를 상기 최대값으로 설정함으로써, 상기 하나 이상의 해시 코드와 상기 하나 이상의 다른 해시 코드 사이의 거리를 결정하도록 구성된다.
이 실시예에서, 변경된 버전은 본 명세서에 설명된 임의의 적절한 방식으로 변경될 수 있다. 예를 들어, 하나의 그러한 실시예에서, 제2 수정된 표본 이미지의 변경된 버전은 제2 수정된 표본 이미지의 회전된 버전이다. 그러한 추가적인 실시예에서, 제2 수정된 표본 이미지의 변경된 버전은 제2 수정된 표본 이미지의 뒤집힌 버전이다. 그러한 추가적인 실시예에서, 제2 수정된 표본 이미지의 변경된 버전은 제2 수정된 표본 이미지의 평행이동된 버전이다. 이러한 수정된 버전들 모두는 본 명세서에 설명된 바와 같이 구성될 수 있으며, 그것들의 해시 코드는 본 명세서에 설명된 바와 같이 생성될 수 있다.
하나의 그러한 실시예에서, 위에 설명된 해시 코드 예인 h 1 h 2를 사용하여, 수정된 제2 이미지에서의 회전을 용인하기 위해, 수정된 제2 이미지의 회전된 버전에 대해 제2 해시 코드 가 생성될 수 있다.
이 예에서 는 90 도 또는 270 도 회전된 패치 이미지에 대한 것이다. h 2 를 비교하면 알 수 있듯이, h 2 의 첫 번째 절반부와 두 번째 절반부를 서로 교환함으로써 간단히 얻어질 수 있다. 제1 수정된 표본 이미지에 대한 해시 코드와, 제2 수정된 표본 이미지에 대한 두 해시 코드들 사이의 거리를 결정하는 것은 그러면 다음 함수를 사용하여 수행될 수 있다:
즉, 코사인 벡터 거리는 h 1 h 2 사이, 및 h 1 사이에서 결정되고, 그런 다음 두 코사인 벡터 거리 중 최대값이 수정된 표본 이미지 1과 2 사이의 코사인 벡터 거리로 설정될 수 있다. 이러한 방식으로, 컴퓨터 서브시스템은 간단한 변환을 통해 회전/뒤집기 작업 후 패턴들의 해시 코드를 생성할 수 있으며, 그룹화 알고리즘은 평행이동 및 90도/180도/270도 회전을 용인할 수 있다. 그런 다음 컴퓨터 서브시스템은 각각의 패턴에 대한 해시 코드가 각각의 다른 패턴에 대한 해시 코드와 매칭되는지 결정할 수 있다.
그런 다음, 사전 그룹화에서 두 패턴의 유사성을 확인하는 것은 변경된 버전과 원본 버전 모두를 확인하는 것을 포함할 수 있다. 상이한 버전들의 패턴들을 확인하는 것은 사전 그룹화가 90 도 및 270 도 회전과 같은 것들과 여기에 설명된 다른 변형들을 포함하는 변형을 용인하도록 만드는 것이다. 게다가, 본 명세서에 설명된 실시예는 실제로 패치를 90 도 또는 270 도만큼 회전하거나 패턴을 뒤집거나 평행이동시킴으로써 패치의 임의의 다른 버전들을 생성할 필요가 없다. 대신, 해시 코드의 두 절반부들이 90 도 또는 270 도 회전된 패턴들에 대해 교환될 수 있으며 뒤집힌 패턴이나 평행이동된 패턴에 대해서 동일해야 한다.
하나의 그러한 실시예에서, 표본 이미지를 다수의 그룹들 중 하나에 할당하는 것은, 상기 하나 이상의 해시 코드와 상기 하나 이상의 다른 해시 코드 사이의 거리가 문턱값보다 크면, 상기 표본 이미지와 상기 제2 표본 이미지를 다수의 그룹들 중 하나에 할당하는 것을 포함한다. 예를 들어, 위의 예를 다시 사용하면, 값은 문턱값, 예를 들어 0.98과 비교될 수 있다. 값이 문턱값보다 크면, 두 수정된 표본 이미지들에 대응하는 두 표본 이미지들은 함께 그룹화될 수 있다. 이러한 방식으로 비교되는 코사인 벡터 거리는, 그것이 원본 수정된 표본 이미지들만을 사용하여 결정된 코사인 벡터 거리이든 원본 수정된 표본 이미지들과 수정된 표본 이미지(들)의 하나 이상의 변경된 버전들을 사용하여 결정된 코사인 벡터 거리이든, 본 명세서에서 설명된 바와 같이 결정된 코사인 벡터 거리들 중 임의의 것을 포함할 수 있다. 즉, 이 단계에서 사용되는 코사인 벡터 거리는 각각의 수정된 표본 이미지에 대한 하나의 해시 코드만을 사용하거나, 서로 비교되는 수정된 표본 이미지들 중 하나 이상에 대한 하나보다 많은 해시 코드를 사용하여 결정될 수 있다.
일부 실시예에서, 컴퓨터 서브시스템은 다수의 그룹들 중 하나에 할당된 표본 이미지 및 모든 다른 표본 이미지들에 제1 분류를 할당하고, 다수의 그룹들 중 제2의 그룹에 할당된 모든 추가적인 표본 이미지들에 제2 분류를 할당함으로써, 표본 상에서 검출된 결함들을 분류하도록 구성된다. 이러한 방식으로, 그룹 1의 결함들에 하나의 분류가 할당될 수 있고, 그룹 2의 결함들에는 또 다른 분류가 할당되는 등의 방식으로 할당될 수 있다. 즉, 여기에 설명된 그룹들 중 하나에 있는 결함들 모두는 동일한 분류가 할당될 수 있고, 여기에 설명된 그룹들 중 또 다른 그룹에 있는 결함들 모두는 동일한 분류가 할당되는 등의 방식으로 할당될 수 있다. 이들 그룹의 분류는 본 명세서에 추가로 설명되는 재그룹화가 다수의 그룹들에 대해 또한 수행되지 않는 경우 수행될 수 있다. 본 명세서에 추가로 설명되는 재그룹화가 수행되는 경우, 결함들의 그룹화는 재그룹화에서 정제될(refined) 것이기 때문에 그룹들에 할당된 결함들의 분류가 수행되지 않을 수 있다.
결함들의 분류가 이 단계에서 수행되든 또는 재그룹화 후에 수행되든, 분류는 동일한 방식으로 수행될 수 있다. 대체로, 본 명세서에 설명된 결함들 또는 패턴들은 이 기술분야에 알려진 임의의 적절한 방식으로 분류될 수 있다. 즉, 본 명세서에 설명된 실시예들은 임의의 특정 분류 방법으로 제한되지 않는다. 분류는 결함들을 실제 결함 또는 뉴슨스로 분류하는 것 및/또는 결함들을 임의의 적절한 결함 타입을 포함할 수 있는, 하나 이상의 결함 타입, 예를 들어 결함 타입 1, 결함 타입 2 등으로 분류하는 것과 같은 몇 가지 상이한 방식으로 수행될 수 있다. 분류하는 것은 또한 결함들 및/또는 패턴들을 표본에 대한 알려진 타입의 결함성과 비교하고, 그런 다음 그것들이 알려진 결함들 및/또는 패턴들과 얼마나 유사한지에 기초하여 하나의 그룹의 결함들에 분류를 할당하는 것을 포함할 수 있다. 다른 경우, 분류하는 것은 예상되는 결함들에 대한 사전 지식에 기반하여 수행되지 않을 수 있으며, 분류하는 것은 표본 이미지들 또는 임의의 이미지들로부터의 결함들 및 패턴들에 대해 결정될 수 있는 임의의 정보 또는 이들로부터 결정된 정보에 기반하여 수행될 수 있다. 그러한 분류는, 예를 들어 표본에 대해 결함 발견이 수행될 때 수행될 수 있다.
위에 설명된 바와 같이, 도 2에 도시된 그룹화는 재그룹화가 뒤따를 수 있는 일종의 사전 그룹화일 수 있다. 이제 그 재그룹화에 대한 여러 실시예가 설명될 것이다. 일 실시예에서, 컴퓨터 서브시스템은 표본 이미지에서 검출된 결함의 속성에 기초하여 다수의 그룹들 중 하나에 할당된 표본 이미지를 다수의 최종 그룹들 중 하나로 재할당하도록 구성된다. 이러한 재그룹화 단계는 사전 그룹화에 의해 생성된 그룹들 각각에 대해 수행될 수 있다. 즉, 일부 실시예들이 다수의 그룹들 중 하나 또는 다수의 그룹들 중 하나에 할당된 표본 이미지들 중 하나에 대해 수행되는 것으로 본 명세서에서 설명될 수 있지만, 이러한 단계들은 다수의 그룹들 각각(또는 다수의 그룹들 중 적어도 둘 이상)에 대해 그리고 다수의 그룹들에 할당된 표본 이미지들 중 임의의 것 또는 모두에 대해 독립적으로 그리고 별도로 수행될 수 있다. 따라서, 이러한 재그룹화는 사전 그룹화에서 하나의 그룹에 할당된 결함들을 다수의 상이한 최종 그룹들로 분리할 수 있다. 따라서, 재그룹화 단계는 예를 들어, 동일하거나 유사한 백그라운드 패턴(들)에서 검출되고 동일하거나 유사한 적어도 하나의 특성이나 속성을 가지고 있는 것으로 보이는 결함들은 또한 함께 유지하는 동시에, 동일하거나 유사한 백그라운드 패턴(들)에서 검출된 결함들의 상이한 클래스들은 서로 분리될 수 있도록, 사전 그룹화에 의해 생성된 그룹들을 정제할 수 있다. 표본 이미지들을 재할당하는 것은 여기에 추가로 설명되는 바와 같이 수행될 수 있다.
하나의 그러한 실시예에서, 재할당은 k 최근접 이웃(kNN) 방법을 사용하여 다수의 그룹들 중 하나에 할당된 다른 표본 이미지들에서 검출된 결함들로부터 결함에 대한 k개의 최근접 결함들을 찾고, 결함의 속성과 k개의 최근접 결함들 중 하나의 속성 간의 차이를 결정하고, 상기 차이가 문턱값보다 작은지 결정하고, 상기 차이가 문턱값보다 작은 경우 표본 이미지와 k개의 최근접 결함들 중 하나에 대응하는 다른 표본 이미지들 중 하나를 다수의 최종 그룹들 중 하나에 할당하는 것을 포함한다. 이러한 방식으로, 재그룹화에서 컴퓨터 서브시스템은 동일한 사전 그룹에 있는 결함 쌍들의 속성 차이를 확인한다.
원칙적으로, 재그룹화할 때, 각각의 쌍의 두 결함들 간의 속성, 예를 들어 강도 차이가 검사되어야 하지만, 이는 실질적으로 시간이 많이 소요된다. 여기에서 설명되는 실시예에서, 컴퓨터 서브시스템은 kNN을 사용하여 동일한 사전 그룹의 각각의 결함에 대해 k개의 최근접 이웃들을 검색할 수 있다. kNN(KD-트리)은 모든 결함 쌍들을 비교하는 것을 피하기 위해 사용된다. 결함들의 속성들 간의 유사성을 확인하기 전에 kNN을 사용하면 완전히 비유사한 결함들 간의 불필요한 속성 확인을 피하는 데 유리하게 도움이 될 수 있다. 예를 들어, kNN의 한 가지 중요한 이점은 k개의 최근접 결함들을 찾은 다음, 컴퓨터 서브시스템은 결함과 그것의 k개의 최근접 결함들 간의 속성, 예를 들어 강도 차이만 검사할 수 있다는 것이다. 다른 결함들은 그것들이 상기 결함과 실질적으로 상이하다는 것이 이미 확립되어 있으므로 무시할 수 있다.
그룹화 흐름을 가속화하려면 불필요한 속성 확인을 피하는 것이 매우 중요하다. 예를 들어, kNN의 k를 k0이라고 하면 비교 횟수는 N*N/2에서 k0*N으로 감소될 수 있다. 본 명세서에 설명된 실시예에서 사용된 k 값은 경험적 값, 예를 들어 10일 수 있고, 다른 애플리케이션에서는 상이할 수 있다. 그런 다음 컴퓨터 서브시스템은 각각의 결함과 이전 단계에서 발견된 k개의 최근접 결함들의 속성 차이를 확인할 수 있다. 일부 경우에는, 결함과 그것의 k개의 최근접 결함들에 대한 수정된 표본 이미지들이 서로 위치조정되어 속성이 더 정확하게 결정되고 비교될 수 있다. 이 위치조정(alignment)은 이 기술분야에 알려진 임의의 적절한 방식으로 수행될 수 있다. 각각의 사전 그룹에서, 컴퓨터 서브시스템은 결합-찾기 알고리즘(union-finding algorithm)을 사용하여 유사한 속성을 가진 결함들을 추가로 그룹화할 수 있다. 이 단계들은 여기에 설명되는 바와 같이 추가로 수행될 수 있다.
도 6은 재그룹화를 위해 수행될 수 있는 단계들에 대한 일 실시예를 예시한다. 도 6의 단계(600)에 도시된 바와 같이, 컴퓨터 서브시스템은 각각의 결함에 대해 k개의 최근접 결함들을 찾을 수 있고, 이는 kNN 방법을 사용하여 수행될 수 있다. 하나의 그러한 실시예에서, kNN 방법은 k-차원 트리(KD-트리)이고, 그 일례가 도 6에 트리(602)로 도시되어 있다. 보다 구체적으로, KD-트리(602)는 각각의 결함의 kNN을 보여준다. 이 예에서 상이한 결함들은 트리에서 상이한 숫자들로 나타내어져 있다. 따라서 제1 결함은 #1이라고 하고, 제2 결함은 #2라고 하는 식이다. KD-트리에 도시된 바와 같이, 각각의 결함에 대해 해당 결함 아래에 그것의 k개 최근접 결함들 각각을 보여주는 하나의 트리가 생성될 수 있다. 예를 들어, 결함 #1의 경우 첫 번째 트리에 도시된 것처럼 k개의 최근접 결함들은 결함 #2, #5, …, #7일 수 있다. 결함 #2의 경우 두 번째 트리에 도시된 것처럼 k개의 최근접 결함들은 결함 #1, #6, …, #9일 수 있다. 서로의 결함에 대해(또는 원하는 만큼의 결함에 대해) 추가 트리가 생성될 수 있다. 본 명세서에 설명된 실시예에서 KD-트리 기반 kNN 알고리즘을 사용할 때, 입력에 대해 kNN을 검색하는 시간 복잡도는 O(log(N))이며, 여기서 N은 KD-트리에 저장된 패턴들의 수이다. KD-트리는 알고리즘을 현저히 가속화할 수 있다.
KD-트리는 본 명세서에 설명된 실시예에서 사용하기에 특히 적절할 수 있지만, 실시예들은 위에서 설명된 단계들에 대해 KD-트리만을 사용하는 것으로 제한되지 않는다. 예를 들어, 볼 트리(ball tree)와 같은 많은 다른 트리 구조들이 이 단계에 사용될 수 있다.
도 6의 단계(604)에 도시된 바와 같이, 컴퓨터 서브시스템은 각각의 결함과 그것의 kNN과의 사이에 속성을 확인할 수 있다. 도 6은 그러한 확인의 예(606)를 도시한다. 특히, 위에 설명된 바와 같이, 결함 #1에 대해 k개의 최근접 결함들 중 하나는 결함 #2이다. 따라서, 예(606)에서는 결함 #1에 대한 수정된 표본 이미지인 "def#1"을 결함 #2에 대한 수정된 표본 이미지인 "def#2"에서(또는 그 반대로) 빼서 차분 이미지(difference image)인 "diff"를 생성할 수 있다. 그런 다음 이 단계에서 사용되는, 속성의 최대값인 "maxDiff"가 차분 이미지로부터 결정될 수 있다. 이 단계에서 사용되는 속성은 본 명세서에 설명된 이미지들(예를 들어, 표본 이미지들, 수정된 표본 이미지들, 그래디언트(gradient) 이미지들 등) 중 임의의 것을 사용하여 결정될 수 있다. 또한, 속성은 차분 이미지를 사용하여 확인될 수도 있고 그렇지 않을 수도 있다. 예를 들어, 제2 결함의 속성의 최대값에서 제1 결함의 속성의 최대값과 같은 값을 빼서 어떠한 종류의 차분 이미지도 생성하지 않고 속성 간의 차이를 결정할 수 있다.
또 다른 그러한 실시예에서, 결함의 속성은 결함의 강도이다. 예를 들어 체계적 가짜 결함(systematic false defect) 필터링의 경우, 결함의 강도를 사용하여 실제 결함과 가짜 결함을 분리할 수 있다. 강도 변화는 결함이 실제 결함임을 나타내는 가장 중요한 지표일 수 있다. 추가적인 그러한 실시예에서, 결함의 속성은 결함의 색상이다. 일부 그러한 실시예에서, 결함의 속성은 결함의 크기이다. 추가적인 그러한 실시예에서, 결함의 속성은 결함의 종횡비이다. 예를 들어, 강도 이외에 결함 색상, 결함 크기 및 종횡비와 같은 다른 속성들이 본 명세서에 설명된 실시예에서 사용되었다. 그런 다음 실질적으로 상이한 크기, 색상 또는 종횡비를 갖는 결함들이 분리될 수 있다.
물론, 위에서 설명된 결함 속성들은 본 명세서에서 설명된 재그룹화에 사용될 수 있는 모든 결함 속성들의 포괄적인 목록은 아니며, 사용되는 결함 속성 또는 속성들은 표본 및 그 위에서 검출될 것으로 예상되는 결함들의 타입 및 심지어 그것들의 속성 차이가 무엇으로 예상되는지에 따라 달라질 수 있다. 예를 들어 대비(contrast), 텍스처(texture), 거칠기(roughness), 에너지 등은 모두 본 명세서에 설명되는 재그룹화에 유용할 수 있는 결함 속성이다. 더욱이, 본 명세서에서는 실시예들이 재그룹화를 위해 하나의 결함 속성을 사용하는 것으로 설명되었지만, 하나보다 많은 속성이 재그룹화를 위해 사용될 수 있다는 것은 확실히 가능하며, 그 중 일부가 본 명세서에서 추가로 설명된다. 이 속성들은 결함 강도 및 결함 크기와 같은 상이한 타입의 속성들일 수 있으며, 본 명세서에 추가로 설명되는 상이한 강도들과 같은 동일한 타입의 하나의 상이한 속성에 대한 상이한 값들일 수도 있다.
도 6의 단계(608)에 도시된 바와 같이, maxDiff가 문턱값보다 작은지 여부를 결정하기 위해 maxDiff가 문턱값과 비교될 수 있다. maxDiff가 문턱값보다 작으면, 도 6의 단계(610)에서 결함 #1과 #2가 유사한 것으로 결정된다. maxDiff가 문턱값보다 작지 않으면, 단계(612)에서 결함 #1과 결함 #2가 유사하지 않은 것으로 결정된다. 이 결과들은 예(614)에 도시된 바와 같이 그래픽으로 표시될 수 있으며, 여기서는 maxDiff를 문턱값과 비교한 결과들이 각각의 결함들의 k개의 최근접 이웃들 각각의 아래에 보여진다.
일부 경우에 결함들은 각각의 그룹에서 남아 있는 것(residue)의 내림차순으로 정렬될 수 있다. 예를 들어, 각각의 최종 그룹에서 결함들은 결함들의 신호 강도에 따라 가장 높은 신호부터 가장 낮은 신호로 정렬될 수 있다. 정렬(sorting)은 특정 경우에, 예를 들어 상대적으로 큰 그룹의 경우 및 애플리케이션에 따라 수행될 수 있다. 하나의 그러한 예에서 사전 그룹에서의 대부분 결함들은 가짜 결함들일 수 있는 한편 몇몇 결함들만이 실제 결함일 수 있다. 그래서 이 경우, 정렬 후 상위 소수의 결함들만이 진짜 결함들일 가능성이 높다. 이러한 정렬 단계는 실시예가 사용되는 애플리케이션에 따라 상이하게 수행되거나 제거될 수 있다. 도 6의 단계(616)에 도시된 바와 같이, 컴퓨터 서브시스템은 모든 유사한 결함들을 연결하여 최종 그룹들을 얻을 수 있다.
또 다른 그러한 실시예에서, 결함의 속성은 속성과 관련된 일 세트의 값들을 포함하고, 상기 세트의 값들은 표본 상의 결함의 위치에서 생성된 표본 이미지와 하나 이상의 다른 표본 이미지에서의 결함 속성의 평균(mean)과 표준 편차(standard deviation), 및 상기 표본 이미지와 상기 하나 이상의 다른 표본 이미지에 대해 생성된 각각의 그래디언트 이미지에서의 결함 속성의 평균과 표준 편차를 포함한다. 예를 들어, 도 7에 도시된 바와 같이, 컴퓨터 서브시스템은 강도 또는 본 명세서에 설명된 다른 속성들 중 하나에 기초하여 일부 속성들을 추출하여 각각의 패턴에 대한 kNN을 찾을 수 있다. 이 예에서, 이미지(700)는 제1 수정된 표본 이미지일 수 있고, 이미지(702)는 이미지(700)로부터 계산된 그래디언트 이미지일 수 있다. 이미지(704)는 제2 수정된 표본 이미지일 수 있고, 이미지(706)는 이미지(704)로부터 계산된 그래디언트 이미지일 수 있다. 이 도면에 도시된 제1 및 제2 수정된 표본 이미지는 각각 제1 및 제2 표본 이미지로부터 생성될 수 있다. 제1 및 제2 표본 이미지는 동일한 표본 위치에서(따라서 본 명세서에 설명된 많은 애플리케이션에서 동일한 결함 위치에서) 생성될 수 있지만 초점과 같은 하나 이상의 상이한 파라미터를 사용하여 생성될 수 있다.
컴퓨터 서브시스템은 kNN에 대한 속성들(또는 피처들)(708)을 결정할 수 있다. 도 7에 도시된 바와 같이, 이 속성들(또는 피처들)은 이미지들(700, 702, 704, 706) 각각에 대한 평균 및 표준 편차 값을 포함할 수 있다. 컴퓨터 서브시스템은 또한 패턴 마스크 영역 내에서 평균 및 표준 편차를 계산할 수 있다. 그러한 값들은 강도와 같은 속성에 특히 적절할 수 있다. 컴퓨터 서브시스템에 의해 결정되는 값들은 본 명세서에 설명된 실시예에서 사용되는 속성에 따라 달라질 수 있다.
이러한 방식으로, 컴퓨터 서브시스템은 표본 이미지들 및 표본 이미지들 각각에 대한 그래디언트 이미지들 각각에 대한 강도와 같은 속성에 대해, 다수의 값들, 예를 들어 8 개 값들을 정의할 수 있으며, 이러한 결정된 값들은 KD-트리에 저장될 수 있다. 즉, 패치들 각각 및 패치들의 그래디언트들 각각의 평균 및 표준 편차가 kNN 단계에서의 속성들로서 사용될 수 있다. 따라서 컴퓨터 서브시스템은 패턴들에 대한 몇몇 통계적 속성 값들을 결정할 수 있으며, 이는 kNN에서 가장 유사할 가능성이 높은 패턴들을 찾는 데 사용될 수 있다. 예를 들어 유사한 패치들의 경우, 위에서 설명된 속성에 대한 8 개 값들이 거의 동일해야 하므로, 상기 값들을 사용하여 수행된 kNN은 전혀 유사하지 않은 패치들을 필터링하는 데 도움이 될 수 있다. 즉, 위에 설명된 8 개 속성 값들을 사용하여 컴퓨터 서브시스템은 실질적으로 상이한 결함들을 필터링할 수 있다. 두 개의 결함이 유사하고 함께 그룹화될 수 있는 경우, 그 결함들의 8 개 속성 값들은 동일하거나 거의 동일해야 하며 그것들은 kNN에서 선택될 것으로 예상된다. 이 8 개 속성 값들이 본 명세서에서 설명된 목적을 위한 패치를 대략적으로 설명할 수 있지만, 유사한 결과를 얻기 위해 다른 세트들의 속성들이 사용될 수도 있다.
추가적인 그러한 실시예에서, 컴퓨터 서브시스템은 다수의 최종 그룹들 중 하나에 할당된 표본 이미지 및 모든 다른 표본 이미지들에 제1 분류를 할당하고, 다수의 최종 그룹들 중 제2의 그룹에 할당된 모든 추가 표본 이미지들에 제2 분류를 할당함으로써, 표본 상에서 검출된 결함들을 분류하도록 구성된다. 상이한 최종 그룹들에 있는 결함들은 여기에 추가로 설명된 바와 같이 분류될 수 있다.
컴퓨터 서브시스템은 또한 본 명세서에 설명된 결과 또는 정보 중 임의의 것을 포함할 수 있는, 결정된 정보를 포함하는 결과들을 생성하도록 구성된다. 정보를 결정하는 것의 결과들은 임의의 적절한 방식으로 컴퓨터 서브시스템에 의해 생성될 수 있다. 본 명세서에 설명된 모든 실시예들은 실시예들의 하나 이상의 단계들의 결과를 컴퓨터 판독가능 저장 매체에 저장하도록 구성될 수 있다. 결과는 본 명세서에 설명된 결과들 중 임의의 것을 포함할 수 있고 이 기술분야에 알려진 임의의 방식으로 저장될 수 있다. 결정된 정보를 포함하는 결과는 표준 파일 타입과 같은 임의의 적절한 형태 또는 포맷을 가질 수 있다. 저장 매체는 본 명세서에 설명된 임의의 저장 매체 또는 이 기술분야에 알려진 임의의 다른 적절한 저장 매체를 포함할 수 있다.
결과가 저장된 후, 결과는 저장 매체에서 액세스될 수 있고 본 명세서에 설명된 방법 또는 시스템 실시예 중 임의의 것에 의해 사용될 수 있고, 사용자에게 표시되도록 포매팅되고(formatted), 또 다른 소프트웨어 모듈, 방법 또는 시스템 등에 의해 사용되어 표본 또는 동일한 타입의 다른 표본에 대해 하나 이상의 기능을 수행할 수 있다. 예를 들어, 본 명세서에 설명된 컴퓨터 서브시스템에 의해 생성된 결과에는 검출된 결함들의 바운딩 박스(bounding box)들의 위치 등과 같은 표본 상에서 검출된 임의의 결함들에 대한 정보, 검출 스코어, 클래스 라벨 또는 ID와 같은 결함 분류에 대한 정보, 이미지들 등 중 임의의 것으로부터 결정된 임의의 결함 속성, 예측된 표본 구조 측정값, 치수, 모양 등 또는 이 기술분야에 알려진 임의의 그러한 적절한 정보가 포함될 수 있다. 그 정보는 결함 리뷰 또는 다른 분석을 위해 결함들을 샘플링하는 것, 결함의 근본 원인을 결정하는 것 등과 같이 표본 및/또는 검출된 결함들에 대한 추가 기능을 수행하기 위한 컴퓨터 서브시스템이나 또 다른 시스템 또는 방법에 의해 사용될 수 있다.
위에 설명된 기능에 부가하여, 그러한 기능에는 피드백 또는 피드포워드 방식 등으로 표본에 대해 수행되었거나 수행될 제조 프로세스 또는 단계와 같은 프로세스를 변경하는 것이 포함되지만 이에 제한되지는 않는다. 예를 들어, 컴퓨터 서브시스템은 결정된 정보에 기초하여 표본에 대해 수행되었던 프로세스 및/또는 표본에 대해 수행될 프로세스에 대한 하나 이상의 변경을 결정하도록 구성될 수 있다. 프로세스에 대한 변경에는 프로세스의 하나 이상의 파라미터에 대한 임의의 적절한 변경이 포함될 수 있다. 하나의 그러한 예에서, 컴퓨터 서브시스템은 바람직하게는 수정된 프로세스가 수행되는 다른 표본들에서 결함이 감소되거나 방지될 수 있고, 표본에 대해 수행되는 다른 프로세스에서 결함이 표본에서 수정되거나 제거될 수 있고, 표본에 대해 수행되는 다른 프로세스에서 결함들이 보상될 수 있도록 하는 등의 변경들을 결정한다. 컴퓨터 서브시스템은 이 기술분야에 알려진 임의의 적절한 방식으로 그러한 변경을 결정할 수 있다.
그런 다음 그 변경사항들은 반도체 제조 시스템(도시되지 않음) 또는 컴퓨터 서브시스템과 반도체 제조 시스템 모두가 액세스할 수 있는 저장 매체(도시되지 않음)로 전송될 수 있다. 반도체 제조 시스템은 본 명세서에 설명된 시스템 실시예들의 부분일 수도 있고 아닐 수도 있다. 예를 들어, 본 명세서에 설명된 이미징 서브시스템 및/또는 컴퓨터 서브시스템은, 예를 들어 하우징, 전원공급장치, 표본 핸들링 디바이스 또는 메커니즘 등과 같은 하나 이상의 공통 요소를 통해 반도체 제조 시스템에 결합될 수 있다. 반도체 제조 시스템은 리소그래피 도구, 에칭 도구, 화학적 기계적 연마(CMP) 도구, 퇴적 도구 등과 같은 이 기술분야에 알려진 임의의 반도체 제조 시스템을 포함할 수 있다.
본 명세서에 설명된 실시예들은 결함 또는 표본 이미지 그룹화를 위한 현재 사용되는 다른 방법들 및 시스템들에 비해 많은 이점을 가지고 있다. 예를 들어, 본 명세서에 설명된 실시예들은 해시 코드(예를 들어, 사전 그룹화에서) 및 선택적으로 kNN(예를 들어, 선택적 재그룹화에서)을 기반으로 하는 고속 및 퍼지 그룹화를 사용하여 결함 또는 패턴 그룹화 또는 분류를 위한 알고리즘 및 방법을 제공한다. 본 명세서에 설명된 실시예들은 수정된 표본 이미지에서 낮은 주파수 부분들만을 유지하고 수정된 표본 이미지들의 회전/뒤집기/평행이동을 용인할 수 있는 새로운 해시 코드를 유리하게 정의한다. 이 해시 코드를 사용하여, 실시예들에서는 퍼지 그룹화가 가능해진다. 또한 위에 설명된 바와 같이, 속성 확인을 위해 컴퓨터 서브시스템은 kNN을 사용하여 각각의 결함에 대해 k개의 최근접 후보들을 먼저 찾은 다음 결함 쌍들의 속성을 비교할 수 있다. 이 접근방식은 비교 시간을 크게 줄여주는 이점이 있다. 또한, 컴퓨터 서브시스템은 결함과 접촉하지 않는 패턴들을 제거하며, 이는 실시예들의 퍼지 성능을 더욱 향상시킨다.
본 명세서에 설명된 실시예는 유사한 결함들의 퍼지 그룹화를 위한 상당히 빠른 흐름 및 알고리즘을 제공하므로, 실시예들은 여러가지 상이한 사용 사례에서 이점을 제공할 수 있다. 예를 들어, 현재 사용되는 일부 검사 도구들은 많은 체계적 결함들을 포착하며, 체계적 결함들의 대부분은 유사 결함들 및 가짜 결함들이다. 본 명세서에 설명된 실시예들을 사용하면, 이러한 유사한 체계적 결함들 모두가 함께 그룹화되고 그런 다음 집합적으로 그리고 적절하게 가짜 결함으로 마킹될 수 있으며, 이는 특히 극자외선(EUV) 애플리케이션을 위해 설계된 것들과 같은 일부 검사 프로세스들에 대해 결함 검출 애플리케이션의 정확성을 크게 향상시킬 수 있다.
본 명세서에 설명된 사전 그룹화 및 재그룹화는 런타임에 수행될 수 있지만 다른 시간에도 수행될 수 있다. 또한, 본 명세서에 설명된 실시예들은 초기에 주로 마스크에서 검출된 결함들을 그룹화하기 위해 설계되었지만, 그것들은 웨이퍼와 같은 다른 표본들 상의 결함 및 패턴 그룹화에도 동일하게 적용될 수 있다.
사전 그룹화만 수행될지, 사전 그룹화와 재그룹화가 모두 수행될지 여부는 애플리케이션 별로 결정될 수도 있다. 하나의 그러한 애플리케이션은 마스크에 대한 체계적인 가짜 결함 필터링일 수 있으며, 여기서 실제 결함을 누락하는 것은 분명히 허용되지 않는다. 따라서, 실제 결함과 가짜 결함을 함께 그룹화하는 것은 허용되지 않는다. 본 명세서에서 설명된 사전 그룹화는 패턴의 유사성만을 확인하는 반면, 재그룹화는 동일하거나 유사한 패턴들에서 결함들의 속성을 확인할 수 있다. 일부 실제 결함들과 가짜 결함들은 유사한 패턴들에 위치될 수 있으며 따라서 사전 그룹화에 의해 함께 그룹화될 것이다. 따라서, 재그룹화가 결함 속성에 기초하여 그 결함들을 분리하는 데 유용하다. 대조적으로, 결함 정렬 애플리케이션(다른 관련 애플리케이션)에서 목표는 유사한 패턴들 상의 결함들을 함께 그룹화하고 그것들을 신호 강도와 같은 속성에 따라 순위를 매기는 것일 수 있다. 이러한 상황에서는 사전 그룹화로 충분할 수 있으며, 동일한 사전 그룹에 있는 결함들의 결함 속성을 확인하는 것은 필요하지 않다.
위에서 설명된 실시예들 각각은 하나의 단일 실시예로 함께 결합될 수 있다. 즉, 본 명세서에서 달리 언급되지 않는 한, 실시예들 중 어느 것도 임의의 다른 실시예들과 상호 배타적이지 않다.
또 다른 실시예는 표본에 대한 정보를 결정하기 위한 컴퓨터 구현 방법에 관한 것이다. 컴퓨터 구현 방법은 여기에 설명된 제거, 생성 및 할당 단계들을 포함한다. 단계들은 컴퓨터 시스템에 의해 수행될 수 있고, 이는 본 명세서에 설명된 실시예들 중 임의의 것에 따라 구성될 수 있다.
방법의 단계들 각각은 본 명세서에 추가로 설명된 바와 같이 수행될 수 있다. 방법은 또한 여기에 설명된 이미징 서브시스템 및/또는 컴퓨터 시스템에 의해 수행될 수 있는 임의의 다른 단계(들)를 포함할 수도 있다. 또한, 위에 설명된 방법은 본 명세서에 설명된 시스템 실시예들 중 임의의 것에 의해 수행될 수 있다.
추가적인 실시예는 표본에 대한 정보를 결정하기 위한 컴퓨터 구현 방법을 수행하기 위한 컴퓨터 시스템에서 실행가능한 프로그램 명령을 저장하는 비일시적 컴퓨터 판독가능 매체에 관한 것이다. 하나의 그러한 실시예가 도 8에 도시되어 있다. 특히, 도 8에 도시된 바와 같이, 비일시적 컴퓨터 판독가능 매체(800)는 컴퓨터 시스템(804)에서 실행가능한 프로그램 명령(802)을 포함한다. 컴퓨터 구현 방법은 본 명세서에 설명된 임의의 방법(들)의 임의 단계(들)를 포함할 수 있다.
본 명세서에 설명된 것과 같은 방법들을 구현하는 프로그램 명령(802)은 컴퓨터 판독가능 매체(800)에 저장될 수 있다. 컴퓨터 판독가능 매체는 자기 또는 광 디스크, 자기 테이프, 또는 이 기술분야에 알려진 임의의 다른 적절한 비일시적 컴퓨터 판독가능 매체와 같은 저장 매체일 수 있다.
프로그램 명령은 특히 프로시저(procedure)-기반 기술, 구성요소-기반 기술, 및/또는 객체-지향 기술을 포함하는 다양한 방식 중 임의의 것으로 구현될 수 있다. 예를 들어, 프로그램 명령은 원하는 대로 ActiveX controls, C++ objects, JavaBeans, Microsoft Foundation Classes("MFC"), SSE(Streaming SIMD Extension), Python, Tensorflow, 또는 다른 기술이나 방법론을 사용하여 구현될 수 있다.
컴퓨터 시스템(들)(504)은 본 명세서에 설명된 실시예들 중 임의의 것에 따라 구성될 수 있다.
본 설명을 고려하면 본 발명의 다양한 양태들의 추가적인 수정 및 대안적인 실시예가 이 분야의 기술자들에게 명백할 것이다. 표본에 대한 정보를 결정하기 위한 방법과 시스템이 예를 들어 제공되어 있다. 따라서, 이 설명은 단지 예시적인 것으로 해석되어야 하며, 본 발명을 수행하는 전반적인 방식을 이 분야의 기술자들에게 교시할 목적을 위한 것이다. 여기에 도시되고 설명된 본 발명의 형태는 현재 바람직한 실시예로 간주되어야 한다는 것이 이해되어야 한다. 요소 및 재료는 본 명세서에 도시되고 설명된 것에 대해 대체될 수 있고, 부분들 및 프로세스들은 반대로 될 수 있으며, 본 발명의 특정 속성들은 독립적으로 이용될 수 있으며, 이는 본 발명에 대한 본 설명의 이점을 얻은 후 이 분야의 기술자들에게 명백할 것이다. 다음의 청구범위에 기술된 본 발명의 사상과 범위를 벗어나지 않고 본 명세서에 설명된 요소들에 변경이 이루어질 수 있다.

Claims (27)

  1. 표본(specimen)에 대한 정보를 결정하도록 구성된 시스템에 있어서,
    컴퓨터 서브시스템으로서:
    표본 이미지에서 검출된 결함과 접촉하지 않는 상기 표본 이미지에서의 하나 이상의 패턴을 제거함으로써 수정된 표본 이미지를 생성하고;
    상기 수정된 표본 이미지에 대한 하나 이상의 해시 코드(hash code)를 생성하고;
    상기 하나 이상의 해시 코드와, 제2 표본 이미지에 대해 생성된 제2 수정된 표본 이미지에 대해 생성된 하나 이상의 다른 해시 코드 사이의 거리에 기초하여, 상기 표본 이미지를 다수의 그룹들 중의 그룹에 할당하도록
    구성된 컴퓨터 서브시스템을 포함하는, 표본에 대한 정보를 결정하도록 구성된 시스템.
  2. 제1항에 있어서,
    상기 하나 이상의 해시 코드는 상기 수정된 표본 이미지에 대한 제1 해시 코드 및 상기 수정된 표본 이미지의 회전된 버전(rotated version)에 대한 제2 해시 코드를 포함하는 것인, 표본에 대한 정보를 결정하도록 구성된 시스템.
  3. 제1항에 있어서,
    상기 하나 이상의 해시 코드는 상기 수정된 표본 이미지에 대한 제1 해시 코드 및 상기 수정된 표본 이미지의 뒤집힌 버전(flipped version)에 대한 제2 해시 코드를 포함하는 것인, 표본에 대한 정보를 결정하도록 구성된 시스템.
  4. 제1항에 있어서,
    상기 하나 이상의 해시 코드는 상기 수정된 표본 이미지에 대한 제1 해시 코드 및 상기 수정된 표본 이미지의 평행이동된 버전(translated version)에 대한 제2 해시 코드를 포함하는 것인, 표본에 대한 정보를 결정하도록 구성된 시스템.
  5. 제1항에 있어서,
    상기 하나 이상의 해시 코드를 생성하는 것은, 상기 수정된 표본 이미지로부터 주파수 도메인 이미지를 생성하고, 상기 주파수 도메인 이미지의 낮은 주파수 성분을 선택하고, 상기 낮은 주파수 성분을 상기 하나 이상의 해시 코드를 위한 벡터로 변환하는 것을 포함하는 것인, 표본에 대한 정보를 결정하도록 구성된 시스템.
  6. 제1항에 있어서,
    상기 컴퓨터 서브시스템은 또한 상기 거리를 결정하도록 구성되고, 상기 하나 이상의 해시 코드와 상기 하나 이상의 다른 해시 코드 사이의 거리는 코사인 벡터 거리(cosine vector distance)를 포함하는 것인, 표본에 대한 정보를 결정하도록 구성된 시스템.
  7. 제1항에 있어서,
    상기 컴퓨터 서브시스템은 또한, 상기 하나 이상의 해시 코드 중의 제1 해시 코드와 상기 하나 이상의 다른 해시 코드 중의 제1 다른 해시 코드 사이의 제1 코사인 벡터 거리를 결정하고, 상기 하나 이상의 해시 코드 중의 상기 제1 해시 코드와 상기 제2 수정된 표본 이미지의 변경된 버전에 대한 상기 하나 이상의 다른 해시 코드 중의 제2 다른 해시 코드 사이의 제2 코사인 벡터 거리를 결정하고, 상기 제1 및 제2 코사인 벡터 거리 중 최대값을 결정하고, 상기 하나 이상의 해시 코드와 상기 하나 이상의 다른 해시 코드 사이의 상기 거리를 상기 최대값과 동일하게 설정함으로써, 상기 하나 이상의 해시 코드와 상기 하나 이상의 다른 해시 코드 사이의 상기 거리를 결정하도록 구성된 것인, 표본에 대한 정보를 결정하도록 구성된 시스템.
  8. 제7항에 있어서,
    상기 표본 이미지를 상기 다수의 그룹들 중의 상기 그룹에 할당하는 것은, 상기 하나 이상의 해시 코드와 상기 하나 이상의 다른 해시 코드 사이의 거리가 문턱값보다 크면, 상기 표본 이미지 및 상기 제2 표본 이미지를 상기 다수의 그룹들 중의 상기 그룹에 할당하는 것을 포함하는 것인, 표본에 대한 정보를 결정하도록 구성된 시스템.
  9. 제7항에 있어서,
    상기 제2 수정된 표본 이미지의 변경된 버전은 상기 제2 수정된 표본 이미지의 회전된 버전인 것인, 표본에 대한 정보를 결정하도록 구성된 시스템.
  10. 제7항에 있어서,
    상기 제2 수정된 표본 이미지의 변경된 버전은 상기 제2 수정된 표본 이미지의 뒤집힌 버전인 것인, 표본에 대한 정보를 결정하도록 구성된 시스템.
  11. 제7항에 있어서,
    상기 제2 수정된 표본 이미지의 변경된 버전은 상기 제2 수정된 표본 이미지의 평행이동된 버전인 것인, 표본에 대한 정보를 결정하도록 구성된 시스템.
  12. 제1항에 있어서,
    상기 컴퓨터 서브시스템은 또한, 상기 다수의 그룹들 중의 상기 그룹에 할당된 상기 표본 이미지 및 모든 다른 표본 이미지에 제1 분류를 할당하고, 상기 다수의 그룹들 중의 제2 그룹에 할당된 모든 추가 표본 이미지에 제2 분류를 할당함으로써, 상기 표본 상에서 검출된 결함을 분류하도록 구성되는 것인, 표본에 대한 정보를 결정하도록 구성된 시스템.
  13. 제1항에 있어서,
    상기 컴퓨터 서브시스템은 또한, 상기 표본 이미지에서 검출된 상기 결함의 속성에 기초하여 상기 다수의 그룹들 중의 상기 그룹에 할당된 상기 표본 이미지를 다수의 최종 그룹들 중의 최종 그룹에 재할당하도록 구성되는 것인, 표본에 대한 정보를 결정하도록 구성된 시스템.
  14. 제13항에 있어서,
    상기 재할당하는 것은, k 최근접 이웃 방법(k nearest neighbor method)을 사용하여 상기 다수의 그룹들 중의 상기 그룹에 할당된 다른 표본 이미지에서 검출된 결함으로부터 상기 결함에 대한 k개의 최근접 결함을 찾고, 상기 결함의 속성과 상기 k개의 최근접 결함 중의 결함의 속성 간의 차이를 결정하고, 상기 차이가 문턱값보다 작은지 여부를 결정하고, 상기 차이가 문턱값보다 작은 경우 상기 표본 이미지 및 상기 k개의 최근접 결함 중의 상기 결함에 대응하는 상기 다른 표본 이미지 중의 다른 표본 이미지를 상기 다수의 최종 그룹들 중의 상기 최종 그룹에 할당하는 것을 포함하는 것인, 표본에 대한 정보를 결정하도록 구성된 시스템.
  15. 제13항에 있어서,
    상기 k 최근접 이웃 방법은 k-차원 트리(k-dimensional tree)인 것인, 표본에 대한 정보를 결정하도록 구성된 시스템.
  16. 제13항에 있어서,
    상기 결함의 속성은 결함의 강도(intensity)인 것인, 표본에 대한 정보를 결정하도록 구성된 시스템.
  17. 제13항에 있어서,
    상기 결함의 속성은 결함의 색상인 것인, 표본에 대한 정보를 결정하도록 구성된 시스템.
  18. 제13항에 있어서,
    상기 결함의 속성은 결함의 크기인 것인, 표본에 대한 정보를 결정하도록 구성된 시스템.
  19. 제13항에 있어서,
    상기 결함의 속성은 결함의 종횡비(aspect ratio)인 것인, 표본에 대한 정보를 결정하도록 구성된 시스템.
  20. 제13항에 있어서,
    상기 결함의 속성은 상기 속성과 관련된 일 세트의 값들을 포함하고, 상기 세트의 값들은, 상기 표본 이미지 및 상기 표본 상의 상기 결함의 위치에서 생성된 하나 이상의 다른 표본 이미지에 있는 상기 결함의 상기 속성에 대한 평균과 표준 편차, 및 상기 표본 이미지 및 상기 하나 이상의 다른 표본 이미지에 대해 생성된 각각의 그래디언트 이미지(gradient image)에 있는 상기 결함의 상기 속성에 대한 평균과 표준 편차를 포함하는 것인, 표본에 대한 정보를 결정하도록 구성된 시스템.
  21. 제13항에 있어서,
    상기 컴퓨터 서브시스템은 또한, 상기 다수의 최종 그룹들 중의 상기 최종 그룹에 할당된 상기 표본 이미지 및 모든 다른 표본 이미지에 제1 분류를 할당하고, 상기 다수의 최종 그룹들 중의 제2 최종 그룹에 할당된 모든 추가 표본 이미지에 제2 분류를 할당함으로써, 상기 표본 상에서 검출된 결함을 분류하도록 구성되는 것인, 표본에 대한 정보를 결정하도록 구성된 시스템.
  22. 제1항에 있어서,
    상기 표본 이미지는 빛을 사용하여 생성되는 것인, 표본에 대한 정보를 결정하도록 구성된 시스템.
  23. 제1항에 있어서,
    상기 표본 이미지는 전자를 사용하여 생성되는 것인, 표본에 대한 정보를 결정하도록 구성된 시스템.
  24. 제1항에 있어서,
    상기 표본 이미지는 마스크에 대해 생성되는 것인, 표본에 대한 정보를 결정하도록 구성된 시스템.
  25. 제1항에 있어서,
    상기 표본 이미지는 웨이퍼에 대해 생성되는 것인, 표본에 대한 정보를 결정하도록 구성된 시스템.
  26. 표본에 대한 정보를 결정하기 위한 컴퓨터 구현 방법을 수행하기 위해, 컴퓨터 시스템에서 실행가능한 프로그램 명령을 저장하는 비일시적 컴퓨터 판독가능 매체에 있어서, 상기 컴퓨터 구현 방법은:
    표본 이미지에서 검출된 결함과 접촉하지 않는 상기 표본 이미지에서의 하나 이상의 패턴을 제거함으로써 수정된 표본 이미지를 생성하고;
    상기 수정된 표본 이미지에 대한 하나 이상의 해시 코드를 생성하고;
    상기 하나 이상의 해시 코드와, 제2 표본 이미지에 대해 생성된 제2 수정된 표본 이미지에 대해 생성된 하나 이상의 다른 해시 코드 사이의 거리에 기초하여, 상기 표본 이미지를 다수의 그룹들 중의 그룹에 할당하는 것
    을 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
  27. 표본에 대한 정보를 결정하기 위한 컴퓨터 구현 방법에 있어서,
    표본 이미지에서 검출된 결함과 접촉하지 않는 상기 표본 이미지에서의 하나 이상의 패턴을 제거하는 단계로서, 그에 의해 수정된 표본 이미지를 생성하는 것인, 단계;
    상기 수정된 표본 이미지에 대한 하나 이상의 해시 코드를 생성하는 단계; 및
    상기 하나 이상의 해시 코드와, 제2 표본 이미지에 대해 생성된 제2 수정된 표본 이미지에 대해 생성된 하나 이상의 다른 해시 코드 사이의 거리에 기초하여, 상기 표본 이미지를 다수의 그룹들 중의 그룹에 할당하는 단계
    를 포함하고,
    상기 제거하는 단계, 상기 생성하는 단계 및 상기 할당하는 단계는 컴퓨터 시스템에 의해 수행되는 것인, 컴퓨터 구현 방법.
KR1020237041875A 2021-07-12 2022-07-12 고속 및 퍼지 패턴 그룹화 KR20240034691A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163220567P 2021-07-12 2021-07-12
US63/220,567 2021-07-12
US17/857,975 US20230013051A1 (en) 2021-07-12 2022-07-05 Fast and fuzzy pattern grouping
US17/857,975 2022-07-05
PCT/US2022/036747 WO2023287737A1 (en) 2021-07-12 2022-07-12 Fast and fuzzy pattern grouping

Publications (1)

Publication Number Publication Date
KR20240034691A true KR20240034691A (ko) 2024-03-14

Family

ID=84891104

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237041875A KR20240034691A (ko) 2021-07-12 2022-07-12 고속 및 퍼지 패턴 그룹화

Country Status (6)

Country Link
US (1) US20230013051A1 (ko)
KR (1) KR20240034691A (ko)
CN (1) CN117529756A (ko)
IL (1) IL308655A (ko)
TW (1) TW202317973A (ko)
WO (1) WO2023287737A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005005591B3 (de) * 2005-02-07 2006-07-20 Infineon Technologies Ag Verfahren zur Optimierung der Geometrie von Strukturelementen eines Musters eines Schaltungsentwurfs für eine Verbesserung der optischen Abbildungseigenschaften und Verwendung des Verfahrens zur Herstellung einer Photomaske
TWI342043B (en) * 2005-08-30 2011-05-11 Camtek Ltd A pipelined inspection system and method for inspecting a diced wafer
US9183624B2 (en) * 2013-06-19 2015-11-10 Kla-Tencor Corp. Detecting defects on a wafer with run time use of design data
US10832396B2 (en) * 2018-10-19 2020-11-10 Kla-Tencor Corp. And noise based care areas
US11150551B2 (en) * 2019-10-15 2021-10-19 Samsung Electronics Co., Ltd. Method for optical proximity correction in which consistency is maintained and method for manufacturing mask using the same

Also Published As

Publication number Publication date
WO2023287737A1 (en) 2023-01-19
TW202317973A (zh) 2023-05-01
US20230013051A1 (en) 2023-01-19
CN117529756A (zh) 2024-02-06
IL308655A (en) 2024-01-01

Similar Documents

Publication Publication Date Title
KR102557180B1 (ko) 극자외선 포토마스크 상에서 검출되는 결함의 처리
JP5275017B2 (ja) 欠陥検査方法及びその装置
US11961219B2 (en) Generative adversarial networks (GANs) for simulating specimen images
US20220036539A1 (en) Deep generative models for optical or other mode selection
CN114096832B (zh) 用于选择用于样本检验的缺陷检测方法的系统和方法
US11644756B2 (en) 3D structure inspection or metrology using deep learning
US10922808B2 (en) File selection for test image to design alignment
WO2023121778A1 (en) Machine learning using a global texture characteristic for semiconductor-based applications
US11494924B2 (en) Image alignment for noisy images
US11748872B2 (en) Setting up inspection of a specimen
US11494895B2 (en) Detecting defects in array regions on specimens
US20230013051A1 (en) Fast and fuzzy pattern grouping
US20220301133A1 (en) Segmentation of design care areas with a rendered design image
US20220318986A1 (en) Semantic image segmentation for semiconductor-based applications
KR20240026446A (ko) 표본 검사를 위한 케어 영역 설정
WO2024035493A1 (en) Detecting defects on specimens
TW202314887A (zh) 用於基於半導體之應用的深度學習影像去除雜訊