KR20190081843A - 웨이퍼 데이터를 처리하는 방법 및 장치 - Google Patents

웨이퍼 데이터를 처리하는 방법 및 장치 Download PDF

Info

Publication number
KR20190081843A
KR20190081843A KR1020170184667A KR20170184667A KR20190081843A KR 20190081843 A KR20190081843 A KR 20190081843A KR 1020170184667 A KR1020170184667 A KR 1020170184667A KR 20170184667 A KR20170184667 A KR 20170184667A KR 20190081843 A KR20190081843 A KR 20190081843A
Authority
KR
South Korea
Prior art keywords
wafers
nodes
clustering
wafer
wafer data
Prior art date
Application number
KR1020170184667A
Other languages
English (en)
Other versions
KR102070913B1 (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 주식회사 비스텔
Priority to KR1020170184667A priority Critical patent/KR102070913B1/ko
Publication of KR20190081843A publication Critical patent/KR20190081843A/ko
Application granted granted Critical
Publication of KR102070913B1 publication Critical patent/KR102070913B1/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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0421Multiprocessor system
    • 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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L22/00Testing or measuring during manufacture or treatment; Reliability measurements, i.e. testing of parts without further processing to modify the parts as such; Structural arrangements therefor
    • H01L22/10Measuring as part of the manufacturing process
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L22/00Testing or measuring during manufacture or treatment; Reliability measurements, i.e. testing of parts without further processing to modify the parts as such; Structural arrangements therefor
    • H01L22/20Sequence of activities consisting of a plurality of measurements, corrections, marking or sorting steps
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L22/00Testing or measuring during manufacture or treatment; Reliability measurements, i.e. testing of parts without further processing to modify the parts as such; Structural arrangements therefor
    • H01L22/30Structural arrangements specially adapted for testing or measuring during manufacture or treatment, or specially adapted for reliability measurements

Landscapes

  • Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Testing Or Measuring Of Semiconductors Or The Like (AREA)

Abstract

컴퓨팅 장치에서 웨이퍼 데이터를 처리하는 방법은, 분산 처리 프레임 워크를 이용하여, 반도체 공정에서 생산되는 복수의 웨이퍼들에 대한 웨이퍼 데이터가 복수의 노드들에 분산되어 저장되도록 제어하는 단계; 상기 복수의 노드들 각각에서, 노드에 저장된 웨이퍼 데이터 내의 웨이퍼들 간의 유사도에 기초하는 클러스터링이 수행되도록 제어하는 단계; 상기 복수의 노드들 각각에서 수행된 클러스터링 결과를 획득하여, 상기 복수의 웨이퍼들에 대한 최종 클러스터링 결과를 획득하는 단계; 상기 최종 클러스터링 결과에 기초하여, 상기 복수의 웨이퍼들이 불량 패턴이 유사한 웨이퍼들로 분류된 복수의 서브 세트들을 획득하는 단계; 및 상기 복수의 서브 세트들 각각에서, 서브 세트에 포함된 웨이퍼 데이터를 합성하여 대표 웨이퍼의 패턴을 생성하는 단계를 포함할 수 있다.

Description

웨이퍼 데이터를 처리하는 방법 및 장치{Method and apparatus for processing wafer data}
본 발명은 웨이퍼 데이터를 처리하는 방법 및 장치에 관한 것이다.
최근 반도체 제조 산업의 자동화 및 생산 능력의 향상으로, 단위 시간당 공정 장비에서 생산되는 데이터의 양은 방대해졌다. 이에 따라 반도체 공정의 생산성 향상을 위해 기존의 데이터 분석 기술로는 빅데이터를 처리하는 데에 한계가 있다.
또한, 반도체 공정에서는, 공정 조건이나 제조 환경이 조금씩 변함에 따라, 새로운 불량이 생길 수 있고, 기존의 불량이 발생된 위치가 변경될 수도 있다. 또한, 제품의 품질을 검사하는 모델의 수도 수백, 수천 가지이므로, 모델의 관리도 쉽지 않다.
따라서, 반도체 공정에서 빅데이터 기반의 웨이퍼 데이터를 처리하고, 신속하고 정확하게 불량 웨이퍼를 생산하는 원인을 검출할 수 있는 기술의 필요성이 요구된다.
반도체 공정으로 생산된 웨이퍼들의 웨이퍼 데이터에 빅데이터 기반의 분산 처리 프레임 워크를 이용한 클러스터링을 수행할 수 있다.
웨이퍼 데이터의 클러스터링을 통해 소정의 특정 패턴을 갖는 웨이퍼를 검출하기 위한 그룹 별 대표 웨이퍼의 패턴을 획득할 수 있다.
소정의 특정 패턴을 갖는 불량 웨이퍼를 검출하고, 불량 웨이퍼를 발생시키는 공정 또는 설비를 검출할 수 있다.
일측에 따르면, 분산 처리 프레임 워크를 이용하여, 반도체 공정에서 생산되는 복수의 웨이퍼들에 대한 웨이퍼 데이터가 복수의 노드들에 분산되어 저장되도록 제어하는 단계; 상기 복수의 노드들 각각에서, 노드에 저장된 웨이퍼 데이터 내의 웨이퍼들 간의 유사도에 기초하는 클러스터링이 수행되도록 제어하는 단계; 상기 복수의 노드들 각각에서 수행된 클러스터링 결과를 획득하여, 상기 복수의 웨이퍼들에 대한 최종 클러스터링 결과를 획득하는 단계; 상기 최종 클러스터링 결과에 기초하여, 상기 복수의 웨이퍼들이 불량 패턴이 유사한 웨이퍼들로 분류된 복수의 서브 세트들을 획득하는 단계; 및 상기 복수의 서브 세트들 각각에서, 서브 세트에 포함된 웨이퍼 데이터를 합성하여 대표 웨이퍼의 패턴을 획득하는 단계를 포함하는, 컴퓨팅 장치에서 웨이퍼 데이터를 처리하는 방법에 제공된다.
다른 일측에 따르면, 컴퓨팅 장치로 하여금, 분산 처리 프레임 워크를 이용하여, 반도체 공정에서 생산되는 복수의 웨이퍼들에 대한 웨이퍼 데이터가 복수의 노드들에 분산되어 저장되도록 제어하는 단계; 상기 복수의 노드들 각각에서, 노드에 저장된 웨이퍼 데이터 내의 웨이퍼들 간의 유사도에 기초하는 클러스터링이 수행되도록 제어하는 단계; 상기 복수의 노드들 각각에서 수행된 클러스터링 결과를 획득하여, 상기 복수의 웨이퍼들에 대한 최종 클러스터링 결과를 획득하는 단계; 상기 최종 클러스터링 결과에 기초하여, 상기 복수의 웨이퍼들이 불량 패턴이 유사한 웨이퍼들로 분류된 복수의 서브 세트들을 획득하는 단계; 및 상기 복수의 서브 세트들 각각에서, 서브 세트에 포함된 웨이퍼 데이터를 합성하여 대표 웨이퍼의 패턴을 획득하는 단계를 수행하도록 하는 컴퓨터 판독 가능 저장매체에 저장된 컴퓨터 프로그램이 제공된다.
컴퓨팅 장치는 빅데이터 기반의 분산 처리 프레임 워크를 이용하여 대규모의 웨이퍼 데이터를 분산 처리 및 저장할 수 있다.
컴퓨팅 장치에서 빅데이터 기반의 분산 처리 프레임 워크를 이용함으로써, 대규모의 웨이퍼 데이터에 대한 클러스터링 결과를 정확하게 획득할 수 있다.
컴퓨팅 장치에서 빅데이터 기반의 분산 처리 프레임 워크를 이용함으로써, 대규모의 웨이퍼들을 유사한 패턴을 갖는 웨이퍼들로 분류할 수 있다.
컴퓨팅 장치에서 불량 웨이퍼들의 패턴을 획득하고, 불량 웨이퍼를 발생시키는 공정 또는 설비를 검출함으로써, 반도체 공정에서의 생산성 향상을 기대할 수 있다.
본 개시는, 다음의 자세한 설명과 그에 수반되는 도면들의 결합으로 쉽게 이해될 수 있으며, 참조 번호(reference numerals)들은 구조적 구성요소(structural elements)를 의미한다.
도 1은 일실시예에 따라, 컴퓨팅 장치에서 빅데이터 기반의 알고리즘을 반도체 공정에 적용하여 불량 웨이퍼 패턴을 획득하는 과정을 설명하기 위한 도면이다.
도 2는 일실시예에 따라, 컴퓨팅 장치에서 웨이퍼 데이터를 처리하는 방법을 설명하기 위한 흐름도이다.
도 3은 일실시예에 따라, 컴퓨팅 장치에서 웨이퍼 데이터가 복수의 노드들에 분산되어 저장되도록 제어하는 과정을 설명하기 위한 도면이다.
도 4는 일실시예에 따라, 컴퓨팅 장치가 복수의 노드 각각에서 분산 처리 클러스터링을 수행하도록 제어하는 과정을 설명하기 위한 도면이다.
도 5는 일실시예에 따라, 컴퓨팅 장치에서 최종 클러스터링 결과에 기초하여 복수의 서브 세트들을 생성하고, 복수의 서브 세트들 각각의 대표 웨이퍼의 패턴을 획득하는 과정을 설명하기 위한 도면이다.
도 6은 일실시예에 따라, 반도체 공정에서 빅데이터 기반의 알고리즘 적용 유무에 따른 클러스터링 결과를 설명하기 위한 도면이다.
도 7은 일실시예에 따라, 컴퓨팅 장치에서 웨이퍼 데이터를 처리하는 방법을 설명하기 위한 세부 흐름도이다.
본 개시에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
명세서 전체에서 "컴퓨팅 장치"는 반도체 공정으로 생산된 웨이퍼들의 품질을 검사하고, 불량 웨이퍼들을 분류하는 데에 이용되는 데이터를 입력, 제어, 기억, 연산, 출력하는 기능을 수행하는 장치를 의미할 수 있다. 예를 들면, "컴퓨팅 장치"는 특수 목적 컴퓨터(Special-purpose Computer), 범용 컴퓨터(General-purpose Computer), 슈퍼 컴퓨터(Supercomputer), 대형 컴퓨터(Mainframe Computer), 개인용 컴퓨터(Personal Computer) 등에 해당될 수 있고, 이에 제한되지 않는다.
또한, "컴퓨팅 장치"는 반도체를 생산하는 장비와 물리적으로 분리된 형태로 제공되거나, 장비에 탑재된 형태로 제공될 수 있다. 또한, "컴퓨팅 장치"는 반도체 공정에 따른 데이터를 감지하는 센서와 독립적인 장치로 제공되거나, 센서에 탑재되어 제공될 수 있다.
또한, "컴퓨팅 장치"에는 반도체 공정으로 생산된 웨이퍼들의 품질을 검사하고, 불량 웨이퍼들을 분류하도록 명령하는 명령어들을 실행시키는 컴퓨터 프로그램이 설치될 수 있다.
한편, "컴퓨팅 장치"는 메모리, 프로세서, 사용자 인터페이스, 통신 인터페이스, 및 디스플레이를 포함할 수 있고, 다른 범용적인 구성요소들이 더 포함될 수 있다. 구체적으로, 메모리는 소프트웨어 또는 컴퓨터 프로그램을 저장할 수 있다. 예를 들면, 메모리는 반도체를 생산하는 장비로부터 수신된 데이터를 저장할 수 있다. 또한, 메모리는 반도체 공정으로 생산된 웨이퍼들의 품질을 검사하고, 불량 웨이퍼들을 분류하도록 명령하는 명령어들을 저장할 수 있다. 프로세서는 메모리에 저장된 명령어들을 실행하여, 컴퓨팅 장치가 불량 웨이퍼들을 분류하거나 웨이퍼들의 품질을 검사하도록 제어할 수 있다. 사용자 인터페이스는 사용자로부터 다양한 명령어를 입력 받을 수 있다. 통신 인터페이스는 다양한 유형의 통신 방식에 따라 외부 장치와 통신을 수행할 수 있다. 디스플레이는 불량 웨이퍼들이 불량 유형 별로 분류된 결과 또는 웨이퍼들의 품질 결과를 표시할 수 있다.
이하에서는, 컴퓨팅 장치의 메모리, 프로세서, 사용자 인터페이스, 통신 인터페이스, 및 디스플레이가 수행하는 다양한 동작이나 응용들이 설명되는데, 컴퓨팅 장치의 메모리, 프로세서, 사용자 인터페이스, 통신 인터페이스, 및 디스플레이 중 어느 구성을 특정하지 않더라도 실시예가 속하는 기술분야에서 통상의 지식을 가진 자가 명확하게 이해하고 예상할 수 있는 정도의 내용은 통상의 구현으로 이해될 수 있으며, 컴퓨팅 장치의 메모리, 프로세서, 사용자 인터페이스, 통신 인터페이스, 및 디스플레이의 권리범위가 특정한 구성의 명칭이나 물리적/논리적 구조에 의해 제한되는 것은 아니다.
이하에서는 도면을 참조하여 실시 예들을 상세히 설명한다.
도 1은 일실시예에 따라, 컴퓨팅 장치에서 빅데이터 기반의 알고리즘을 반도체 공정에 적용하여 불량 웨이퍼 패턴을 획득하는 과정을 설명하기 위한 도면이다.
빅데이터 기반의 웨이퍼 데이터를 처리하는 시스템(1)은 컴퓨팅 장치(10) 및 복수의 노드들(20)을 포함할 수 있다. 컴퓨팅 장치(10)는 빅데이터 기반의 알고리즘을 반도체 공정으로부터 생산된 웨이퍼들의 웨이퍼 데이터에 적용하여 클러스터링을 수행할 수 있다. 컴퓨팅 장치(10)는 클러스터링 결과에 기초하여, 불량 웨이퍼의 소정 패턴을 검출할 수 있고, 소정 패턴에 따른 불량을 발생시키는 공정 또는 설비를 검출할 수 있다.
컴퓨팅 장치(10)는 반도체 공정으로부터 생산된 수십 만장의 웨이퍼들에 대한 웨이퍼 데이터를 복수의 노드들(20)에 분산되어 저장되도록 제어할 수 있다. 이 경우, 컴퓨팅 장치(10)는 분산 처리 프레임 워크를 이용하여 수십 만장의 웨이퍼들에 대한 웨이퍼 데이터를 처리할 수 있다.
여기서, 분산 처리 프레임 워크는 대량의 데이터를 처리할 수 있는 대규모 컴퓨팅 장치(10) 클러스터에서 동작하는 분산 애플리케이션을 지원하는 소프트웨어 프레임워크일 수 있다.
예를 들면, 분산 처리 프레임 워크는 하둡(Hadoop)일 수 있다. 하둡은 하둡 분산 파일 시스템(1)(HDFS: Hadoop Distributed File System) 및 맵리듀스(MapReduce)를 구현할 수 있다. 하둡 분산 파일 시스템(1)은 네트워크에 연결된 노드들에 웨이퍼 데이터를 분산하여 저장할 수 있다. 구체적으로, 하둡 분산 파일 시스템(1)은 수십 만장의 웨이퍼들에 대한 웨이퍼 데이터를 소정의 블록 크기로 분할하여 복수의 노드들(20)에 저장할 수 있다. 여기서, 하둡 분산 파일 시스템(1)은 웨이퍼 데이터의 일부를 복수의 노드들(20) 중 일부에 중복하여 저장할 수 있다. 또한, 하둡 분산 파일 시스템(1)은 웨이퍼 데이터의 유실 위험이나 부하 처리를 위해 각 블록의 복사본을 생성할 수 있다. 맵리듀스는 분산된 웨이퍼 데이터를 유형별로 수집하는 맵 단계와 분산된 웨이퍼 데이터 중에서 필요한 데이터를 추출하는 리듀스 단계를 순차적으로 수행할 수 있다.
다른 예를 들면, 분산 처리 프레임 워크는 스파크(Spark)일 수 있다. 스파크는 분산된 데이터를 복수의 노드들(20)에서 웨이퍼 데이터를 처리할 수 있도록 할 수 있다.
또 다른 예를 들면, 분산 처리 프레임 워크는 하둡과 스파크가 결합된 분산 처리 프레임 워크일 수 있다. 예를 들면, 스파크는 하둡 분산 파일 시스템(1)을 이용하여 복수의 노드들(20)에서 웨이퍼 데이터를 클러스터링 하도록 제어할 수 있다. 또한, 분산 처리 프레임 워크는 하둡 및 스파크 이외에 다른 범용적인 분산 클러스터링 플랫폼을 제공하는 것일 수 있다.
도 1에 도시된 바와 같이, 빅데이터 기반의 웨이퍼 데이터를 처리하는 시스템(1) 내의 컴퓨팅 장치(10)는 하둡 분산 처리 시스템(1)을 이용하여, 수십 만장의 웨이퍼의 웨이퍼 데이터가 복수의 노드들(20)에 분산되어 저장되도록 제어할 수 있다. 컴퓨팅 장치(10)는 인-메모리 기반의 스파크를 이용하여, 복수의 노드들(20) 각각에서, 노드에 저장된 웨이퍼 데이터 내의 웨이퍼들 간의 유사도에 기초하는 클러스터링을 수행하도록 제어할 수 있다. 복수의 노드들(20) 각각은, 노드에 저장된 웨이퍼 데이터에 대해 클러스터링을 수행하여 클러스터링 결과를 컴퓨팅 장치(10)로 전송할 수 있다. 컴퓨팅 장치(10)는 복수의 노드들(20) 각각으로부터 수신된 클러스터링 결과를 합성하여, 최종 클러스터링 결과를 획득할 수 있다. 컴퓨팅 장치(10)는 최종 클러스터링 결과에 기초하여, 불량 웨이퍼를 검출하는 패턴을 획득할 수 있다. 컴퓨팅 장치(10)가 웨이퍼 데이터에 대해 빅데이터 기반의 클러스터링을 수행하고, 클러스터링 결과에 기초하여 불량 웨이퍼를 검출하는 패턴을 획득하는 방법은 도 2 내지 도 7에서 상세하게 설명한다.
한편, 컴퓨팅 장치(10)는 패턴에 따라, 복수의 웨이퍼들의 품질을 검사하는 데에 이용되는 품질 검사 모델을 생성할 수 있다. 컴퓨팅 장치(10)는 반도체 공정으로부터 생산된 웨이퍼들에 대응되는 웨이퍼 데이터를 품질 검사 모델에 적용하여, 생산된 웨이퍼들을 불량 유형 별로 분류할 수 있다. 컴퓨팅 장치(10)는 분류 결과에 데이터 분석 기법을 적용하여, 반도체 공정에서 불량을 발생시킨 공정 또는 설비를 검출할 수 있다.
도 2는 일실시예에 따라, 컴퓨팅 장치에서 웨이퍼 데이터를 처리하는 방법을 설명하기 위한 흐름도이다.
블록 210에서, 컴퓨팅 장치(10)는 분산 처리 프레임 워크를 이용하여, 반도체 공정에서 생산되는 복수의 웨이퍼들에 대한 웨이퍼 데이터가 복수의 노드들에 분산되어 저장되도록 제어할 수 있다. 여기서, 웨이퍼 데이터는 반도체 공정에서 저장되는 수율 데이터일 수 있고, (X, Y) 좌표 형태로 저장될 수 있다. 즉, 웨이퍼 데이터는 생산된 웨이퍼에서 불량이 발생된 위치에 대한 좌표 정보를 포함할 수 있다. 또한, 웨이퍼 데이터는 웨이퍼에서 불량이 발생된 위치가 이미지로 저장된 형태일 수 있다.
예를 들면, 컴퓨팅 장치(10)는 하둡 분산 처리 시스템에 기초하여, 복수의 웨이퍼들에 대한 결함 위치 정보를 포함하는 웨이퍼 데이터가 복수의 노드들에 분산되어 저장되도록 제어할 수 있다. 컴퓨팅 장치(10)는 수십 만장의 웨이퍼들에 대한 웨이퍼 데이터의 일부를 복수의 노드들 중 일부에 중복하여 저장할 수 있다. 컴퓨팅 장치(10)는 웨이퍼 데이터를 복수의 노드들에 중복하여 분산 저장함으로써, 웨이퍼 데이터의 유실 위험이나 과부하 위험을 방지할 수 있다. 도 3에서는, 컴퓨팅 장치(10)가 분산 처리 프레임 워크를 이용하여 웨이퍼 데이터를 복수의 노드들에 분산되어 저장하는 과정을 설명한다.
블록 220에서, 컴퓨팅 장치(10)는 복수의 노드들 각각에서, 노드에 저장된 웨이퍼 데이터 내의 웨이퍼들 간의 유사도에 기초하는 클러스터링이 수행되도록 제어할 수 있다.
예를 들면, 컴퓨팅 장치(10)는 복수의 노드들 각각에서, 노드에 저장된 웨이퍼 데이터 내의 웨이퍼에 대한 결함 위치 정보에 기반하는 그래프가 생성되도록 제어할 수 있다.
컴퓨팅 장치(10)는 복수의 노드들 각각에서 노드에서 생성된 그래프에 소정의 알고리즘을 적용하여, 클러스터링이 수행되도록 제어할 수 있다. 여기서, 소정의 알고리즘은, 노드에 저장된 웨이퍼 데이터 내의 웨이퍼들 간의 유사도를 판단하는 데에 이용되는 알고리즘일 수 있다. 컴퓨팅 장치(10)는 그래프 이론을 이용하여, 웨이퍼를 정점으로 나타내고, 웨이퍼들 간의 유사도를 간선으로 나타낼 수 있다. 여기서, 유사도는, 웨이퍼들 간에 불량이 발생된 위치의 근접성에 따라 연산될 수 있다. 컴퓨팅 장치(10)는 웨이퍼들 각각의 결함이 있는 좌표들의 합, 무게 중심, 평균 등을 이용하여 유사도를 연산할 수 있다.
또한, 컴퓨팅 장치(10)는 하둡 분산 처리 시스템에 기반하여 복수의 노드들에 분산되어 저장된 웨이퍼 데이터에 스파크 기반의 분산 처리 클러스터링 알고리즘을 적용하여, 복수의 노드들 각각에서 클러스터링이 수행되도록 제어할 수 있다. 컴퓨팅 장치(10)는 인 메모리 기반의 스파크를 이용함으로써, 웨이퍼 데이터에 대한 배치 처리, 스트리밍 분석, 머신 러닝, 그래프 데이터 베이스 등을 수행할 수 있다. 또한, 컴퓨팅 장치(10)는 인 메모리 기반의 스파크를 이용함으로써, 복수의 노드들 각각에서 웨이퍼 데이터를 신속하고 정확하게 클러스터링 할 수 있다.
블록 230에서, 컴퓨팅 장치(10)는 복수의 노드들 각각에서 수행된 클러스터링 결과를 획득하여, 복수의 웨이퍼들에 대한 최종 클러스터링 결과를 획득할 수 있다.
구체적으로, 복수의 노드들 각각은 클러스터링 결과를 컴퓨팅 장치(10)로 전송할 수 있다. 컴퓨팅 장치(10)는 복수의 노드들 각각에서 수행된 클러스터링 결과를 수집할 수 있다. 컴퓨팅 장치(10)는 복수의 노드들 각각에서 수행된 클러스터링 결과에 복수의 웨이퍼들 간의 유사도에 기반한 클러스터링 알고리즘을 적용하여, 복수의 웨이퍼들에 대한 최종 클러스터링 결과를 획득할 수 있다. 여기서, 최종 클러스터링 결과는 복수의 웨이퍼들 간의 유사도를 나타내는 데이터 및 유사도에 기반하는 복수의 웨이퍼들의 식별 정보를 포함할 수 있다. 도 4에서는, 컴퓨팅 장치(10)가 분산 처리 프레임 워크를 이용하여 대규모의 웨이퍼에 대해 클러스터링을 수행하는 과정을 설명한다.
블록 240에서, 컴퓨팅 장치(10)는 최종 클러스터링 결과에 기초하여, 복수의 웨이퍼들이 불량 패턴이 유사한 웨이퍼들로 분류된 복수의 서브 세트들을 획득할 수 있다.
구체적으로, 컴퓨팅 장치(10)는 최종 클러스터링 결과에 기초하여, 복수의 웨이퍼들을 유사한 웨이퍼들로 분류하기 위한 소정의 서브 세트의 수를 결정할 수 있다. 여기서, 소정의 서브 세트의 수는, 컴퓨팅 장치(10)가 최종 클러스터링 결과에 기초하여 자동으로 결정될 수 있고, 사용자의 입력에 따라 결정될 수 있다. 컴퓨팅 장치(10)는 결정된 서브 세트의 수에 따라, 복수의 웨이퍼들을 분류하여 복수의 서브 세트들을 획득할 수 있다. 예를 들면, 컴퓨팅 장치(10)는 복수의 서브 세트들 각각에 포함된 웨이퍼의 식별 정보를 획득할 수 있다. 컴퓨팅 장치(10)는 획득된 웨이퍼의 식별 정보에 기초하여, 복수의 노드들(20)로부터 복수의 서브 세트들 각각의 웨이퍼 데이터를 획득할 수 있다. 여기서, 웨이퍼 데이터는 불량이 발생된 위치에 대응되는 (X, Y) 좌표 형태의 데이터를 포함할 수 있다. 서브 세트 내에 포함된 웨이퍼들은 동일 또는 유사한 패턴을 가질 수 있다.
블록 250에서, 컴퓨팅 장치(10)는 복수의 서브 세트들 각각에서, 서브 세트에 포함된 웨이퍼 데이터를 합성하여 대표 웨이퍼의 패턴을 획득할 수 있다.
구체적으로, 컴퓨팅 장치(10)는 복수의 서브 세트 각각에서, 서브 세트에 포함된 웨이퍼 데이터 내의 결함 위치 좌표를 합성할 수 있다. 컴퓨팅 장치(10)는 합성 결과에 기초하여, 복수의 서브 세트들 각각의 대표 웨이퍼의 패턴을 획득할 수 있다. 도 5에서는 컴퓨팅 장치(10)가 최종 클러스터링 결과에 기초하여, 복수의 웨이퍼들을 소정의 그룹으로 분류하고, 분류된 그룹의 대표 웨이퍼의 패턴을 획득하는 과정을 설명한다.
도 3은 일실시예에 따라, 컴퓨팅 장치에서 웨이퍼 데이터가 복수의 노드들에 분산되어 저장되도록 제어하는 과정을 설명하기 위한 도면이다.
컴퓨팅 장치(10)는 분산 처리 프레임 워크를 이용하여, 반도체 공정에서 생산되는 복수의 웨이퍼들에 대한 웨이퍼 데이터가 복수의 노드들에 분산되어 저장되도록 제어할 수 있다. 여기서, 웨이퍼 데이터는 좌표 기반의 데이터일 수 있다. 도 3의 310에 도시된 바와 같이, 컴퓨팅 장치(10)는 웨이퍼(301, 302, 303)에 대해 결함이 있는 좌표 목록을 획득할 수 있다. 결함은 하나의 웨이퍼에서 수십 개에서 수백 개에 이르기까지 다양하게 나타날 수 있다.
도 3의 320을 참고하면, 컴퓨팅 장치(10)는 하둡 분산 처리 스토리지 시스템을 이용하여 수십만 장의 웨이퍼들의 모든 좌표들이 복수의 노드들에 분산되어 저장될 수 있도록 제어할 수 있다.
한편, 도 3에서는 웨이퍼(301, 302, 303) 3개에 대한 웨이퍼 데이터를 3개의 노드들에 분산하여 저장하는 과정을 설명하였지만, 컴퓨팅 장치(10)가 제1 웨이퍼 내지 제10 웨이퍼에 대한 웨이퍼 데이터를 복수의 노드들(제1 노드 내지 제4 노드)에 분산하여 저장하는 방법을 예로 들어, 설명한다. 컴퓨팅 장치(10)는 웨이퍼 데이터의 일부를 복수의 노드들 중 일부에 중복하여 저장할 수 있다. 컴퓨팅 장치(10)는 제1 웨이퍼 내지 제4 웨이퍼에 대한 웨이퍼 데이터를 제1 노드에 저장하고, 제3 웨이퍼 내지 제7 웨이퍼에 대한 웨이퍼 데이터를 제2 노드에 저장하고, 제6 웨이퍼 내지 제10 웨이퍼에 대한 웨이퍼 데이터를 제3 노드에 저장하고, 제1 웨이퍼 내지 제2 웨이퍼 및 제9 웨이퍼 내지 제10 웨이퍼에 대한 웨이퍼 데이터를 제4 노드에 저장할 수 있다. 컴퓨팅 장치(10)는 웨이퍼 데이터를 복수의 노드들에 중복하여 분산 저장함으로써, 웨이퍼 데이터의 유실 위험이나 과부하 위험을 방지할 수 있다. 따라서, 컴퓨팅 장치(10)는 빅데이터 기반의 분산 처리 프레임 워크를 이용하여 효율적으로 대규모의 웨이퍼 데이터를 분산 처리 및 저장할 수 있다.
도 4는 일실시예에 따라, 컴퓨팅 장치가 복수의 노드 각각에서 분산 처리 클러스터링을 수행하도록 제어하는 과정을 설명하기 위한 도면이다.
블록 410에서, 컴퓨팅 장치(10)는 복수의 노드들 각각에서, 노드에 저장된 웨이퍼 데이터 내의 웨이퍼들에 대한 결함 위치 정보에 기반하는 그래프(411, 412, 413)가 생성되도록 제어할 수 있다.
도 4에 도시된 바와 같이, 컴퓨팅 장치(10)는 그래프(411, 412, 413)를 이용하여 웨이퍼를 표현할 수 있다. 정점은 웨이퍼를 나타내고, 간선은 웨이퍼들 간의 유사도를 나타낸다. 여기서, 유사도는 웨이퍼 각각의 결함이 있는 좌표에 대한 행과 열을 기준으로 합, 무게 중심, 평균 등 기초 통계 기법이 적용되어 연산될 수 있다.
블록 420에서 컴퓨팅 장치(10)는 웨이퍼 기반의 그래프(411, 412, 413)를 이용하여 복수의 노드들 각각에서 클러스터링을 수행할 수 있다. 구체적으로, 컴퓨팅 장치(10)는 복수의 노드들 각각에서, 노드에 저장된 웨이퍼 데이터 내의 웨이퍼들 간의 유사도를 판단하는 클러스터링 알고리즘을 적용하여, 클러스터링이 수행되도록 제어할 수 있다. 예를 들면 도 4의 노드들에서 수행된 클러스터링 결과(421, 422, 423)가 도시된 바와 같이, 컴퓨팅 장치(10)는 복수의 노드들 각각에서, 그리디 알고리즘(Greedy algorithm) 중 하나인 프림 알고리즘(Prim algorithm)을 이용하여 웨이퍼들 간의 유사도를 연산하고, 유사도가 높은 웨이퍼들 간에 간선을 추가하도록 제어할 수 있다. 여기서, 추가되는 간선은 유사도가 높은 순서대로 추가될 수 있다. 또한, 여기서, 웨이퍼들 간에 먼저 연결된 간선일수록 연결된 웨이퍼들 간의 유사도는 높고, 웨이퍼들 간의 패턴도 비슷할 수 있다.
또한, 컴퓨팅 장치(10)는 하둡 분산 처리 시스템에 기반하여 복수의 노드들에 분산되어 저장된 웨이퍼 데이터에 스파크 기반의 분산 처리 클러스터링 알고리즘을 적용하여, 복수의 노드들 각각에서 클러스터링이 수행되도록 제어할 수 있다.
블록 430에서, 컴퓨팅 장치(10)는 복수의 노드들 각각에서 수행된 클러스터링 결과를 획득하여, 복수의 웨이퍼들에 대한 최종 클러스터링 결과(431)를 획득할 수 있다. 도 4에 도시된 바와 같이, 컴퓨팅 장치(10)는 복수의 웨이퍼들 간의 유사도에 기반하는 계층적 구조를 포함하는 최종 클러스터링 결과(431)를 획득할 수 있다. 여기서, 계층적 구조는, 복수의 웨이퍼들 각각의 식별 정보 및 복수의 웨이퍼들 간의 유사도를 이용하여 표현될 수 있다.
예를 들면, 복수의 노드들 각각은 연산된 클러스터링 결과를 드라이버 노드로 전송할 수 있다. 드라이버 노드는 전송 받은 복수 개의 클러스터링 결과를 크러스칼 알고리즘(Kruskal algorithm)을 이용하여 하나의 최종 클러스터링 결과(431)를 획득할 수 있다.
복수의 노드들 각각은 스파크의 콜렉트(collect)기법을 이용하여, 복수의 노드들 각각에서 연산된 클러스터링 결과를 마스터 노드로 전송할 수 있다. 여기서, 마스터 노드는, 컴퓨팅 장치(10) 내의 하둡 마스터 노드 또는 스파크 마스터 노드 일 수 있다. 또한, 마스터 노드는 컴퓨팅 장치(10) 내의 소정의 구성일 수 있다. 마스터 노드는 전송 받은 복수 개의 클러스터링 결과에 복수의 웨이퍼들 간의 유사성에 기반한 클러스터링 알고리즘을 적용하여, 복수의 웨이퍼들에 대한 최종 클러스터링 결과(431)를 획득할 수 있다.
즉, 컴퓨팅 장치(10)는 빅데이터 기반의 분산 처리 프레임 워크를 이용함으로써, 대규모의 웨이퍼 데이터에 대한 클러스터링 결과를 정확하게 획득할 수 있다.
도 5는 일실시예에 따라, 컴퓨팅 장치에서 최종 클러스터링 결과에 기초하여 복수의 서브 세트들을 생성하고, 복수의 서브 세트들 각각의 대표 웨이퍼의 패턴을 획득하는 과정을 설명하기 위한 도면이다.
컴퓨팅 장치(10)는 최종 클러스터링 결과에 기초하여 복수의 웨이퍼들이 불량 패턴이 유사한 웨이퍼들로 분류된 복수의 서브 세트들을 획득할 수 있다.
도 5를 참고하면, 컴퓨팅 장치(10)는 최종 클러스터링 결과(431)에 디스조인트-세트(Disjoint-set) 알고리즘을 이용하여, 복수의 웨이퍼들을 유사한 웨이퍼들로 분류하기 위한 소정의 서브 세트의 수를 둘로 결정하는 수 있다. 컴퓨팅 장치(10)는 복수의 웨이퍼들을 제1 서브 세트인 클러스터 A(511) 및 제2 서브 세트인 클러스터 B(512)로 분류할 수 있다.
각 서브 세트에 포함된 웨이퍼들은 동일 또는 유사한 패턴을 가질 수 있다. 컴퓨팅 장치(10)는 동일한 서브 세트에 포함된 웨이퍼들의 좌표를 합성하여 서브 세트 각각에 대한 소정 패턴을 갖는 대표 웨이퍼를 연산할 수 있다. 컴퓨팅 장치(10)는 대표 웨이퍼의 웨이퍼 데이터로부터 대표 웨이퍼의 패턴을 획득할 수 있다.
컴퓨팅 장치(10)는 클러스터 A(511)에 포함된 웨이퍼들에 대한 웨이퍼 데이터 내의 결함 위치 좌표를 합성할 수 있다. 컴퓨팅 장치(10)는 합성 결과에 기초하여, 제1 서브 세트인 클러스터 A(511)의 대표 웨이퍼의 제1 패턴을 결정할 수 있다. 컴퓨팅 장치(10)는 결정된 제1 패턴에 따른 대표 웨이퍼의 이미지 패턴(521)을 생성할 수 있다.
마찬가지로, 컴퓨팅 장치(10)는 클러스터 B(512)에 포함된 웨이퍼들에 대한 웨이퍼 데이터 내의 결함 위치 좌표를 합성할 수 있다. 컴퓨팅 장치(10)는 합성 결과에 기초하여, 제2 서브 세트인 클러스터 B(512)의 대표 웨이퍼의 제2 패턴을 결정할 수 있다. 컴퓨팅 장치(10)는 제2 패턴에 따른 대표 웨이퍼의 이미지 패턴(522)을 생성할 수 있다.
즉, 컴퓨팅 장치(10)는 빅데이터 기반의 분산 처리 프레임 워크를 이용하여, 클러스터링 결과를 정확하게 획득할 수 있고, 클러스터링 결과에 따라 대규모의 웨이퍼들을 유사한 패턴을 갖는 웨이퍼들로 분류할 수 있다. 또한, 컴퓨팅 장치(10)는 불량 웨이퍼들의 불량 패턴을 획득하고, 불량 패턴을 발생시키는 공정 또는 설비를 검출할 수 있다.
도 6은 일실시예에 따라, 반도체 공정에서 빅데이터 기반의 알고리즘 적용 유무에 따른 클러스터링 결과를 설명하기 위한 도면이다.
도 6의 610을 참고하면, 컴퓨팅 장치(10)는 빅데이터 기반의 알고리즘을 적용하지 않고, 복수의 웨이퍼들에 대해 클러스터링을 수행할 수 있다. 구체적으로, 컴퓨팅 장치(10)는 불량 웨이퍼들에 배치 개념을 적용하여, 각 배치 별로 클러스터링 알고리즘을 수행할 수 있다.
예를 들면, 컴퓨팅 장치(10)는 3만 장의 웨이퍼를 분석 및 배치의 크기를 300으로 설정하여, 100개의 서로 다른 그룹을 생성할 수 있다. 컴퓨팅 장치(10)는 각 그룹에 속해 있는 웨이퍼들을 대상으로 클러스터링을 수행하여 그룹 별로 패턴을 획득할 수 있다. 그리고 나서, 컴퓨팅 장치(10)는 획득된 패턴에 기초하여 다시 클러스터링을 수행하여 최종 클러스터링 패턴을 획득할 수 있다. 그러나, 상기 배치 개념을 적용한 클러스터링 방식에 의해 클러스터링이 수행되면, 웨이퍼 1장이 나머지 웨이퍼들 29,999장 각각과 비교되는 연산이 수행되지 않으므로, 컴퓨팅 장치(10)는 정확한 클러스터링의 결과를 획득할 수 없다. 즉, 계층적 클러스터링 방식은 그룹으로 나누는 배치 개념을 적용한 클러스터링 방식과 상반되기 때문에, 컴퓨팅 장치(10)는 정확한 클러스터링의 결과를 획득할 수 없다.
한편, 도 6의 620을 참고하면, 컴퓨팅 장치(10)는 빅데이터 기반의 알고리즘을 적용하여, 복수의 웨이퍼들에 대해 클러스터링을 수행할 수 있다. 컴퓨팅 장치(10)에서 빅데이터 기반의 알고리즘을 적용하여, 복수의 웨이퍼들에 대해 클러스터링을 수행하는 방식은 도 2 내지 도 5에서 상세하게 설명하였다.
빅데이터 기반의 알고리즘을 적용한 클러스터링 방식은, 복수의 노드들에서 복수의 웨이퍼들에 대해 동시에 클러스터링을 수행할 수 있기 때문에, 배치 개념을 적용한 클러스터링 방식보다 정확하게 클러스터링을 수행할 수 있다.
도 7은 일실시예에 따라, 컴퓨팅 장치에서 웨이퍼 데이터를 처리하는 방법을 설명하기 위한 세부 흐름도이다.
도 7에 도시된 바와 같이, 컴퓨팅 장치(10)는 빅데이터 기반의 알고리즘을 적용한 클러스터링 방식에 따라, 복수의 노드들(20)을 제어하여 반도체 공정으로부터 생산된 웨이퍼들의 웨이퍼 데이터의 클러스터링을 수행하고, 불량 웨이퍼의 소정 패턴을 검출할 수 있다.
블록 710에서, 컴퓨팅 장치(10) 내의 하둡 마스터 노드(11)는 복수의 웨이퍼들에 대한 웨이퍼 데이터가 복수의 노드들(20)에 분산되어 저장되도록 제어할 수 있다.
블록 720에서, 컴퓨팅 장치(10) 내의 스파크 마스터 노드(12)는 복수의 노드들(20) 각각에서, 노드에 저장된 웨이퍼 데이터 내의 웨이퍼들 간의 유사도에 기초하는 클러스터링이 수행되도록 제어할 수 있다.
블록 730에서, 복수의 노드들(20) 각각은 연산된 클러스터링 결과를 컴퓨팅 장치(10)로 전송할 수 있다.
블록 740에서, 컴퓨팅 장치(10)는 복수의 노드들(20) 각각에서 수행된 클러스터링 결과를 획득하여, 복수의 웨이퍼들에 대한 최종 클러스터링 결과를 획득할 수 있다. 여기서, 최종 클러스터링 결과는 복수의 웨이퍼들 간의 유사도를 나타내는 데이터 및 유사도에 기반하는 복수의 웨이퍼들의 식별 정보를 포함할 수 있다.
블록 750에서, 컴퓨팅 장치(10)는 최종 클러스터링 결과에 기초하여, 복수의 웨이퍼들이 불량 패턴이 유사한 웨이퍼들로 분류된 복수의 서브 세트들을 획득할 수 있다. 구체적으로, 컴퓨팅 장치(10)는 최종 클러스터링 결과에 기초하여, 분류될 복수의 서브 세트들의 수를 결정할 수 있다. 컴퓨팅 장치(10)는 복수의 서브 세트들 각각에 포함된 웨이퍼의 식별 정보를 획득할 수 있다. 컴퓨팅 장치(10)는 획득된 웨이퍼의 식별 정보에 기초하여, 복수의 노드들(20)로부터 복수의 서브 세트들 각각의 웨이퍼 데이터를 획득할 수 있다. 여기서, 웨이퍼 데이터는 불량이 발생된 위치에 대응되는 (X, Y) 좌표 형태의 데이터를 포함할 수 있다.
블록 760에서, 컴퓨팅 장치(10)는 복수의 서브 세트들 각각에서, 서브 세트에 포함된 웨이퍼 데이터를 합성하여 대표 웨이퍼의 패턴을 획득할 수 있다.
본 개시에 따른 컴퓨팅 장치(10)는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 개시에서 인용하는 공개 문헌, 특허 출원, 특허 등을 포함하는 모든 문헌들은 각 인용 문헌이 개별적으로 및 구체적으로 병합하여 나타내는 것 또는 본 개시에서 전체적으로 병합하여 나타낸 것과 동일하게 본 개시에 병합될 수 있다.
본 개시의 이해를 위하여, 도면에 도시된 바람직한 실시 예들에서 참조 부호를 기재하였으며, 본 개시의 실시 예들을 설명하기 위하여 특정 용어들을 사용하였으나, 특정 용어에 의해 본 개시가 한정되는 것은 아니며, 본 개시는 통상의 기술자에 있어서 통상적으로 생각할 수 있는 모든 구성 요소들을 포함할 수 있다.
본 개시는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 본 개시에서의 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 개시는 데이터 형태, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘", "요소", "수단", "구성"과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
본 개시에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 개시의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, "필수적인", "중요하게" 등과 같이 구체적인 언급이 없다면 본 개시의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
한편, 상술한 웨이퍼 데이터를 처리하는 방법에 관한 실시예들은, 컴퓨팅 장치(10)에서, 빅데이터 기반의 분산 처리 프레임 워크를 이용하여, 웨이퍼 데이터를 클러스터링 하고, 클러스터링 결과에 기초하여 소정의 패턴을 갖는 웨이퍼를 검출하기 위한 패턴을 획득하는 방법 및 패턴을 갖는 불량 웨이퍼를 검출하고, 불량 웨이퍼를 발생시키는 공정 또는 설비를 검출하는 방법을 수행할 수 있도록 컴퓨터 판독가능 저장매체에 저장된 애플리케이션 형태 또는 컴퓨터 프로그램 형태로 제공될 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 본 개시의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.

Claims (10)

  1. 분산 처리 프레임 워크를 이용하여, 반도체 공정에서 생산되는 복수의 웨이퍼들에 대한 웨이퍼 데이터가 복수의 노드들에 분산되어 저장되도록 제어하는 단계;
    상기 복수의 노드들 각각에서, 노드에 저장된 웨이퍼 데이터 내의 웨이퍼들 간의 유사도에 기초하는 클러스터링이 수행되도록 제어하는 단계;
    상기 복수의 노드들 각각에서 수행된 클러스터링 결과를 획득하여, 상기 복수의 웨이퍼들에 대한 최종 클러스터링 결과를 획득하는 단계;
    상기 최종 클러스터링 결과에 기초하여, 상기 복수의 웨이퍼들이 불량 패턴이 유사한 웨이퍼들로 분류된 복수의 서브 세트들을 획득하는 단계; 및
    상기 복수의 서브 세트들 각각에서, 서브 세트에 포함된 웨이퍼 데이터를 합성하여 대표 웨이퍼의 패턴을 획득하는 단계를 포함하는, 컴퓨팅 장치에서 웨이퍼 데이터를 처리하는 방법.
  2. 제1항에 있어서,
    상기 복수의 웨이퍼들에 대한 웨이퍼 데이터가 복수의 노드들에 분산되어 저장되도록 제어하는 단계는,
    하둡 분산 처리 시스템에 기초하여, 상기 복수의 웨이퍼들에 대한 결함 위치 정보를 포함하는 웨이퍼 데이터가 상기 복수의 노드들에 분산되어 저장되도록 제어하는 것인, 웨이퍼 데이터를 처리하는 방법.
  3. 제1항에 있어서,
    상기 복수의 노드들 각각에서, 노드에 저장된 웨이퍼 데이터 내의 웨이퍼들 간의 유사도에 기초하는 클러스터링이 수행되도록 제어하는 단계는,
    상기 복수의 노드들 각각에서, 노드에 저장된 웨이퍼 데이터 내의 웨이퍼들에 대한 결함 위치 정보에 기반하는 그래프가 생성되도록 제어하는 단계; 및
    상기 복수의 노드들 각각에서, 노드에서 생성된 그래프에 노드에 저장된 웨이퍼 데이터 내의 웨이퍼들 간의 유사도를 판단하는 클러스터링 알고리즘을 적용하여, 상기 클러스터링이 수행되도록 제어하는 단계를 포함하는, 웨이퍼 데이터를 처리하는 방법.
  4. 제1항에 있어서,
    상기 복수의 노드들 각각에서, 노드에 저장된 웨이퍼 데이터 내의 웨이퍼들 간의 유사도에 기초하는 클러스터링이 수행되도록 제어하는 단계는,
    하둡 분산 처리 시스템에 기반하여 상기 복수의 노드들에 분산되어 저장된 웨이퍼 데이터에 스파크 기반의 분산 처리 클러스터링 알고리즘을 적용하여, 상기 복수의 노드들 각각에서 상기 클러스터링이 수행되도록 제어하는 것인, 웨이퍼 데이터를 처리하는 방법.
  5. 제1항에 있어서,
    상기 복수의 노드들 각각에서 수행된 클러스터링 결과를 획득하여, 상기 복수의 웨이퍼들에 대한 최종 클러스터링 결과를 획득하는 단계는,
    상기 복수의 노드들 각각에서 수행된 클러스터링 결과를 수집하는 단계; 및
    상기 복수의 노드들 각각에서 수행된 클러스터링 결과에 상기 복수의 웨이퍼들 간의 유사도에 기반한 클러스터링 알고리즘을 적용하여, 상기 복수의 웨이퍼들 간의 유사도에 기반하는 상기 복수의 웨이퍼들의 식별 정보를 포함하는 최종 클러스터링 결과를 획득하는 단계를 포함하는, 웨이퍼 데이터를 처리하는 방법.
  6. 제1항에 있어서,
    상기 최종 클러스터링 결과에 기초하여, 상기 복수의 웨이퍼들이 불량 패턴이 유사한 웨이퍼들로 분류된 복수의 서브 세트들을 획득하는 단계는,
    상기 최종 클러스터링 결과에 기초하여, 상기 복수의 웨이퍼들을 유사한 웨이퍼들로 분류하기 위한 소정의 서브 세트의 수를 결정하는 단계; 및
    상기 결정된 서브 세트의 수에 따라, 상기 복수의 웨이퍼들을 분류하여 상기 복수의 서브 세트들을 생성하는 단계를 포함하는, 웨이퍼 데이터를 처리하는 방법.
  7. 제1항에 있어서,
    상기 복수의 서브 세트들 각각에서, 서브 세트에 포함된 웨이퍼 데이터를 합성하여 대표 웨이퍼의 패턴을 획득하는 단계는,
    상기 복수의 서브 세트들 각각에서, 서브 세트에 포함된 웨이퍼들에 대한 웨이퍼 데이터 내의 결함 위치 좌표를 합성하는 단계; 및
    상기 합성 결과에 기초하여, 상기 복수의 서브 세트들 각각의 대표 웨이퍼의 패턴을 획득하는 단계를 포함하는, 웨이퍼 데이터를 처리하는 방법.
  8. 제1항에 있어서,
    상기 대표 웨이퍼의 패턴에 따라, 반도체 공정에서 생산되는 복수의 웨이퍼들의 품질을 검사하는 데에 이용되는 품질 검사 모델을 생성하는 단계를 더 포함하는, 웨이퍼 데이터를 처리하는 방법.
  9. 제8항에 있어서,
    상기 반도체 공정으로부터 생산된 웨이퍼들에 대응되는 웨이퍼 데이터를 상기 품질 검사 모델에 적용하여, 상기 생산된 웨이퍼들을 불량 유형 별로 분류하는 단계; 및
    상기 분류 결과에 데이터 분석 기법을 적용하여, 상기 반도체 공정에서 불량을 발생시킨 공정 또는 설비를 검출하는 단계를 더 포함하는, 웨이퍼 데이터를 처리하는 방법.
  10. 컴퓨팅 장치로 하여금,
    분산 처리 프레임 워크를 이용하여, 반도체 공정에서 생산되는 복수의 웨이퍼들에 대한 웨이퍼 데이터가 복수의 노드들에 분산되어 저장되도록 제어하는 단계;
    상기 복수의 노드들 각각에서, 노드에 저장된 웨이퍼 데이터 내의 웨이퍼들 간의 유사도에 기초하는 클러스터링이 수행되도록 제어하는 단계;
    상기 복수의 노드들 각각에서 수행된 클러스터링 결과를 획득하여, 상기 복수의 웨이퍼들에 대한 최종 클러스터링 결과를 획득하는 단계;
    상기 최종 클러스터링 결과에 기초하여, 상기 복수의 웨이퍼들이 불량 패턴이 유사한 웨이퍼들로 분류된 복수의 서브 세트들을 획득하는 단계; 및
    상기 복수의 서브 세트들 각각에서, 서브 세트에 포함된 웨이퍼 데이터를 합성하여 대표 웨이퍼의 패턴을 획득하는 단계를 수행하도록 하는 컴퓨터 판독 가능 저장매체에 저장된 컴퓨터 프로그램.
KR1020170184667A 2017-12-29 2017-12-29 웨이퍼 데이터를 처리하는 방법 및 장치 KR102070913B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170184667A KR102070913B1 (ko) 2017-12-29 2017-12-29 웨이퍼 데이터를 처리하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170184667A KR102070913B1 (ko) 2017-12-29 2017-12-29 웨이퍼 데이터를 처리하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20190081843A true KR20190081843A (ko) 2019-07-09
KR102070913B1 KR102070913B1 (ko) 2020-01-29

Family

ID=67261007

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170184667A KR102070913B1 (ko) 2017-12-29 2017-12-29 웨이퍼 데이터를 처리하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102070913B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116415660A (zh) * 2023-06-12 2023-07-11 合肥喆塔科技有限公司 基于晶圆缺陷知识库的构建及检索方法、设备及介质
US11775840B2 (en) 2019-11-26 2023-10-03 Samsung Electronics Co., Ltd. Non-transitory computer-readable medium storing program code generating wafer map based on generative adversarial networks and computing device including the same

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11791184B2 (en) 2021-07-26 2023-10-17 Samsung Electronics Co., Ltd. Semiconductor fabrication process and method of optimizing the same

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004288743A (ja) * 2003-03-19 2004-10-14 Toshiba Corp 不良解析装置、不良解析方法および不良解析プログラム
KR20090070235A (ko) * 2007-12-27 2009-07-01 주식회사 동부하이텍 웨이퍼 맵 동일 불량 유형 분류 방법
JP2012015410A (ja) * 2010-07-02 2012-01-19 Toshiba Corp 不良解析方法、不良解析装置
KR20160051164A (ko) * 2014-10-31 2016-05-11 에스케이텔레콤 주식회사 대용량 데이터 환경에서 접근권한 인증 장치 및 그를 위한 컴퓨터로 읽을 수 있는 기록매체

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004288743A (ja) * 2003-03-19 2004-10-14 Toshiba Corp 不良解析装置、不良解析方法および不良解析プログラム
KR20090070235A (ko) * 2007-12-27 2009-07-01 주식회사 동부하이텍 웨이퍼 맵 동일 불량 유형 분류 방법
JP2012015410A (ja) * 2010-07-02 2012-01-19 Toshiba Corp 不良解析方法、不良解析装置
KR20160051164A (ko) * 2014-10-31 2016-05-11 에스케이텔레콤 주식회사 대용량 데이터 환경에서 접근권한 인증 장치 및 그를 위한 컴퓨터로 읽을 수 있는 기록매체

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11775840B2 (en) 2019-11-26 2023-10-03 Samsung Electronics Co., Ltd. Non-transitory computer-readable medium storing program code generating wafer map based on generative adversarial networks and computing device including the same
CN116415660A (zh) * 2023-06-12 2023-07-11 合肥喆塔科技有限公司 基于晶圆缺陷知识库的构建及检索方法、设备及介质

Also Published As

Publication number Publication date
KR102070913B1 (ko) 2020-01-29

Similar Documents

Publication Publication Date Title
KR20210039927A (ko) 제품 분류 시스템 및 방법
US9552408B2 (en) Nearest neighbor clustering determination and estimation algorithm that hashes centroids into buckets and redistributes vectors between clusters
CN113632099A (zh) 分布式产品缺陷分析系统、方法及计算机可读存储介质
CN113448787B (zh) 晶圆异常分析的方法、装置、电子设备及可读存储介质
US20120185818A1 (en) Method for smart defect screen and sample
US11144702B2 (en) Methods and systems for wafer image generation
KR20190081843A (ko) 웨이퍼 데이터를 처리하는 방법 및 장치
EP3451231A1 (en) Imagification of multivariate data
CN111897660B (zh) 模型部署方法、模型部署装置及终端设备
US20230289568A1 (en) Providing an alarm relating to an accuracy of a trained function method and system
JP2020107042A (ja) 学習モデル生成装置、学習モデル生成方法、及びプログラム
CN111783982A (zh) 攻击样本的获取方法、装置、设备及介质
KR20190081844A (ko) 가상의 센서 데이터를 생성하는 방법 및 장치
WO2018159241A1 (ja) データ生成方法、データ生成装置及びデータ生成プログラム
TW201606854A (zh) 用於晶粒對資料庫光罩檢查之自動校準樣本選擇
US11941519B2 (en) Machine learning training platform
AU2022204049A1 (en) Utilizing topology-centric monitoring to model a system and correlate low level system anomalies and high level system impacts
WO2022222160A1 (en) Method and apparatus for identifying planes of objects in 3d scenes
EP4185981A1 (en) Machine learning-based generation of constraints for computer-aided design (cad) assemblies
TW202145083A (zh) 使用相異訓練源訓練分類模型及應用其之推論引擎
CN114880628B (zh) 晶圆测试数据的处理方法、装置以及绘制晶圆图的方法
WO2023009275A1 (en) Method and system for evaluating peer groups for comparative anomaly
CN116071349A (zh) 晶圆缺陷检测方法、存储介质及数据处理设备
US20240152664A1 (en) Singular material detection apparatus, control method, and non-transitory computer readable medium
Bártová et al. Early defect detection using clustering algorithms

Legal Events

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