KR20230027585A - 딥 러닝 기반의 반도체 소자의 특성 예측 방법 및 이를 수행하는 컴퓨팅 장치 - Google Patents

딥 러닝 기반의 반도체 소자의 특성 예측 방법 및 이를 수행하는 컴퓨팅 장치 Download PDF

Info

Publication number
KR20230027585A
KR20230027585A KR1020210109559A KR20210109559A KR20230027585A KR 20230027585 A KR20230027585 A KR 20230027585A KR 1020210109559 A KR1020210109559 A KR 1020210109559A KR 20210109559 A KR20210109559 A KR 20210109559A KR 20230027585 A KR20230027585 A KR 20230027585A
Authority
KR
South Korea
Prior art keywords
data
semiconductor
deep learning
uncertainty
learning model
Prior art date
Application number
KR1020210109559A
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 삼성전자주식회사
Priority to KR1020210109559A priority Critical patent/KR20230027585A/ko
Priority to US17/699,489 priority patent/US20230053696A1/en
Priority to CN202210960782.8A priority patent/CN115708101A/zh
Publication of KR20230027585A publication Critical patent/KR20230027585A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/12Printed circuit boards [PCB] or multi-chip modules [MCM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/02Reliability analysis or reliability optimisation; Failure analysis, e.g. worst case scenario performance, failure mode and effects analysis [FMEA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/18Manufacturability analysis or optimisation for manufacturability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Probability & Statistics with Applications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Testing Or Measuring Of Semiconductors Or The Like (AREA)

Abstract

소자 데이터에 기초한 시뮬레이션을 수행하여 상기 소자 데이터에 상응하는 반도체 소자의 특성을 나타내는 시뮬레이션 결과 데이터를 제공하고 복수의 공정 데이터들 및 복수의 반도체 제품들에 각각 상응하는 복수의 컴팩트 모델들을 이용하여 상기 공정 데이터, 상기 소자 데이터 및 상기 시뮬레이션 결과 데이터의 조합에 상응하는 기본 트레이닝 데이터를 생성한다. 상기 기본 트레이닝 데이터에 기초하여 상기 반도체 소자의 특성을 나타내는 예측 데이터를 출력하는 딥 러닝 모델을 학습시킨다. 상기 딥 러닝 모델, 타겟 반도체 제품에 상응하는 상기 공정 데이터 및 상기 소자 데이터에 기초하여 상기 타겟 반도체 제품에 포함되는 상기 반도체 소자의 특성을 나타내는 타겟 예측 데이터를 생성한다. 기존의 반도체 제품들에 대한 컴팩트 모델들을 이용하여 공정 데이터를 포함하는 트레이닝 데이터를 생성하고 상기 기본 트레이닝 데이터에 기초하여 딥 러닝 모델을 학습시킴으로써 새로운 반도체 제품에 포함되는 반도체 소자의 특성을 효율적으로 예측할 수 있다.

Description

딥 러닝 기반의 반도체 소자의 특성 예측 방법 및 이를 수행하는 컴퓨팅 장치{Method of predicting characteristic of semiconductor device and computing device performing the same}
본 발명은 반도체 집적 회로에 관한 것으로서, 더욱 상세하게는 딥 러닝 기반의 반도체 소자의 특성 예측 방법 및 이를 수행하는 컴퓨팅 장치에 관한 것이다.
전자 산업이 발달함에 따라 생산이 가능한 반도체 제품을 설계하기 위해 가능한 공정 수준을 확인하며 설계하는 설계-공정 최적화 활동의 중요성이 커지고 있다. 반도체 산업에서, 설계자(위탁자)가 실제 설계에 앞서 생산자가 목표로 하는 공정 능력에 대한 소자 모델을 제공하며 설계자(위탁자)는 모델을 활용하여 실제 반도체 제품을 설계하고 시뮬레이션을 수행할 수 있다.
이 경우, 생산자가 목표로 했던 공정 수준의 변화는 제공된 모델의 변경을 의미하며 설계자(위탁자)가 제품을 설계하는데 설계 변경이 요구된다. 이는 막대한 시간이 소요되며 이에 따라 생산자 입장에서는 시간 손실이 생산자 입장에서는 비용 손실이 발생할 수 있다.
한편, 목표로 제시한 공정 수준의 잘못된 예측과 이에 따른 시뮬레이션을 수행하는 모델의 정확도가 낮은 경우 반도체 소자의 특성에 대한 부정확한 예측으로 인하여 설계 및 제조되는 반도체 제품의 성능이 저하될 수 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은, 반도체 소자의 특성을 효율적으로 예측할 수 있는 딥 러닝 기반의 반도체 소자의 특성 예측 방법을 제공하는 것이다.
또한 본 발명의 일 목적은, 반도체 소자의 특성을 효율적으로 예측할 수 있는 딥 러닝 기반의 반도체 소자의 특성 예측 방법을 수행하는 컴퓨팅 장치를 제공하는 것이다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법은, 컴퓨터로 판독 가능한 기록 매체에 저장되는 프로그램 코드를 적어도 하나의 프로세서에 의해 실행하여 수행되는 반도체 소자의 특성 예측 방법으로서, 소자 데이터에 기초한 시뮬레이션을 수행하여 상기 소자 데이터에 상응하는 반도체 소자의 특성을 나타내는 시뮬레이션 결과 데이터를 제공하고 복수의 공정 데이터들 및 복수의 반도체 제품들에 각각 상응하는 복수의 컴팩트 모델들을 이용하여 상기 공정 데이터, 상기 소자 데이터 및 상기 시뮬레이션 결과 데이터의 조합에 상응하는 기본 트레이닝 데이터를 생성하는 단계, 상기 기본 트레이닝 데이터에 기초하여 상기 반도체 소자의 특성을 나타내는 예측 데이터를 출력하는 딥 러닝 모델을 학습시키는 단계 및 상기 딥 러닝 모델, 타겟 반도체 제품에 상응하는 상기 공정 데이터 및 상기 소자 데이터에 기초하여 상기 타겟 반도체 제품에 포함되는 상기 반도체 소자의 특성을 나타내는 타겟 예측 데이터를 생성하는 단계를 포함한다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법은, 컴퓨터로 판독 가능한 기록 매체에 저장되는 프로그램 코드를 적어도 하나의 프로세서에 의해 실행하여 수행되는 반도체 소자의 특성 예측 방법으로서, 소자 데이터에 기초한 시뮬레이션을 수행하여 상기 소자 데이터에 상응하는 반도체 소자의 특성을 나타내는 시뮬레이션 결과 데이터를 제공하고 복수의 공정 데이터들 및 복수의 반도체 제품들에 각각 상응하는 복수의 컴팩트 모델들을 이용하여 상기 공정 데이터, 상기 소자 데이터 및 상기 시뮬레이션 결과 데이터의 조합에 상응하는 기본 트레이닝 데이터를 생성하는 단계, 상기 기본 트레이닝 데이터에 기초하여 상기 반도체 소자의 특성을 나타내는 예측 데이터 및 상기 예측 데이터의 불확실성을 나타내는 불확실성 데이터를 출력하는 딥 러닝 모델을 학습시키는 단계, 상기 딥 러닝 모델, 타겟 반도체 제품에 상응하는 상기 공정 데이터 및 상기 소자 데이터에 기초하여 상기 타겟 반도체 제품에 포함되는 상기 반도체 소자의 특성을 나타내는 타겟 예측 데이터를 생성하는 단계 및 상기 불확실성 데이터에 기초하여 상기 딥 러닝 모델을 재학습시키는 단계를 포함한다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 컴퓨팅 장치는, 적어도 하나의 프로세서 및 딥 러닝 모델을 생성하도록 상기 적어도 하나의 프로세서에 의해 실행되는 프로그램 코드 및 소자 데이터에 기초한 시뮬레이션을 수행하여 상기 소자 데이터에 상응하는 반도체 소자의 특성을 나타내는 시뮬레이션 결과 데이터를 제공하고 복수의 공정 데이터들 및 복수의 반도체 제품들에 각각 상응하는 복수의 컴팩트 모델들을 저장하는 컴퓨터로 판독 가능한 기록 매체를 포함한다.
상기 적어도 하나의 프로세서는 상기 프로그램 코드를 실행하여, 상기 복수의 컴팩트 모델들을 이용하여 상기 공정 데이터, 상기 소자 데이터 및 상기 시뮬레이션 결과 데이터의 조합에 상응하는 기본 트레이닝 데이터를 생성하고, 상기 기본 트레이닝 데이터에 기초하여 상기 반도체 소자의 특성을 나타내는 예측 데이터를 제공하는 딥 러닝 모델을 학습시키고, 상기 딥 러닝 모델, 타겟 반도체 제품에 상응하는 상기 공정 데이터 및 상기 소자 데이터에 기초하여 상기 타겟 반도체 제품에 포함되는 상기 반도체 소자의 특성을 나타내는 타겟 예측 데이터를 생성한다.
본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법 및 컴퓨팅 장치는 기존의 반도체 제품들에 대한 컴팩트 모델들을 이용하여 공정 데이터를 포함하는 트레이닝 데이터를 생성하고 상기 기본 트레이닝 데이터에 기초하여 딥 러닝 모델을 학습시킴으로써 새로운 반도체 제품에 포함되는 반도체 소자의 특성을 효율적으로 예측할 수 있다.
또한, 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법 및 컴퓨팅 장치는 반도체 소자의 특성을 나타내는 예측 데이터와 함께 상기 예측 데이터의 불확실성을 나타내는 불확실성 데이터를 출력하도록 딥 러닝 모델을 학습시키고 상기 불확실성 데이터에 기초하여 상기 딥 러닝 모델을 재학습시킴으로써 반도체 소자의 특성을 정확하게 예측할 수 있는 딥 러닝 모델을 제공할 수 있다.
또한, 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법 및 컴퓨팅 장치는, 예측 데이터의 불확실성의 유형에 따라서 딥 러닝 모델의 재학습 방법을 결정함으로써 효율적으로 반도체 소자의 특성을 정확하게 예측할 수 있는 딥 러닝 모델을 제공할 수 있다.
상기 딥 러닝 모델의 향상된 예측 성능을 통하여 상기 반도체 소자를 포함하는 반도체 제품의 설계 및 제조의 비용 및 시간을 감소하고 반도체 제품의 성능을 향상시킬 수 있다.
도 1은 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법을 나타내는 흐름도이다.
도 2는 본 발명의 실시예들에 따른 컴퓨팅 장치를 나타내는 블록도이다.
도 3은 본 발명의 실시예들에 따른 전자 장치를 나타내는 블록도이다.
도 4 및 5는 본 발명의 실시예들에 따른 딥 러닝 모델의 학습을 수행하는 장치에 의해 구동되는 인공 신경망 구조의 예를 설명하기 위한 도면들이다.
도 6은 인공 신경망의 예시적인 노드를 나타내는 도면이다.
도 7 및 8은 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법에서 복수의 반도체 제품 및 타겟 반도체 제품 사이의 관계를 설명하기 위한 도면들이다.
도 9는 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법을 수행하는 딥 러닝 모델의 일 실시예를 나타내는 도면이다.
도 10은 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법에서의 데이터들을 나타내는 도면이다.
도 11은 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법을 나타내는 흐름도이다.
도 12는 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법에서의 재학습의 기준이 되는 불확실성의 유형을 설명하기 위한 도면이다.
도 13은 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법을 수행하는 딥 러닝 모델의 일 실시예를 나타내는 도면이다.
도 14는 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법에 포함되는 모델 불확실성 값에 기초한 재학습 방법의 일 실시예를 나타내는 흐름도이다.
도 15는 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법에서의 추가 데이터 범위를 나타내는 도면이다.
도 16은 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법에 포함되는 모델 불확실성 값에 기초한 재학습 방법의 일 실시예를 나타내는 흐름도이다.
도 17은 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법에서의 측정 데이터 범위를 나타내는 도면이다.
도 18 및 19는 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법에 포함되는 모델 불확실성 값에 기초한 재학습 방법의 실시예들을 나타내는 흐름도들이다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법을 나타내는 흐름도이다. 도 1의 반도체 소자의 특성 예측 방법은 컴퓨터로 판독 가능한 기록 매체에 저장되는 프로그램 코드를 적어도 하나의 프로세서에 의해 실행하여 수행될 수 있다.
도 1을 참조하면, 복수의 컴팩트 모델들을 이용하여 공정 데이터, 소자 데이터 및 시뮬레이션 결과 데이터의 조합에 상응하는 기본 트레이닝 데이터를 생성한다(S100).
도 7 및 8을 참조하여 후술하는 바와 같이, 상기 복수의 컴팩트 모델들은 복수의 공정 데이터들 및 복수의 반도체 제품들에 각각 상응한다. 도 9를 참조하여 후술하는 바와 같이, 각각의 공정 데이터 및 각각의 반도체 제품에 상응하는 컴팩트 모델은 소자 데이터에 기초한 시뮬레이션을 수행하여 상기 소자 데이터에 상응하는 반도체 소자의 특성을 나타내는 시뮬레이션 결과 데이터를 제공할 수 있다. 도 10을 참조하여 후술하는 바와 같이, 상기 소자 데이터는 상기 반도체 소자의 구조 및 동작 조건을 나타내고, 상기 공정 데이터는 상기 반도체 제품의 제조 공정의 조건을 나타낼 수 있다.
상기 기본 트레이닝 데이터에 기초하여 상기 반도체 소자의 특성을 나타내는 예측 데이터를 출력하는 딥 러닝 모델을 학습시킨다(S200). 도 10을 참조하여 후술하는 바와 같이, 상기 시뮬레이션 결과 데이터 및 상기 예측 데이터는 상기 반도체 소자의 전기적 특성을 나타낼 수 있다.
상기 딥 러닝 모델, 타겟 반도체 제품에 상응하는 상기 공정 데이터 및 상기 소자 데이터에 기초하여 상기 타겟 반도체 제품에 포함되는 상기 반도체 소자의 특성을 나타내는 타겟 예측 데이터를 생성한다(S300).
도 7 및 9을 참조하여 후술하는 바와 같이, 상기 타겟 반도체 제품은, 상기 복수의 컴팩트 모델들에 각각 상응하는 상기 복수의 반도체 제품들에 포함되지 않는 새로운 반도체 제품에 해당한다.
이와 같이, 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법 및 컴퓨팅 장치는 기존의 반도체 제품들에 대한 컴팩트 모델들을 이용하여 공정 데이터를 포함하는 트레이닝 데이터를 생성하고 상기 기본 트레이닝 데이터에 기초하여 딥 러닝 모델을 학습시킴으로써 새로운 반도체 제품에 포함되는 반도체 소자의 특성을 효율적으로 예측할 수 있다.
상기 딥 러닝 모델의 향상된 예측 성능을 통하여 상기 반도체 소자를 포함하는 반도체 제품의 설계 및 제조의 비용 및 시간을 감소하고 반도체 제품의 성능을 향상시킬 수 있다.
도 2는 본 발명의 실시예들에 따른 컴퓨팅 장치를 나타내는 블록도이다.
도 2를 참조하면, 컴퓨팅 장치(100)는 프로세서들(110), 랜덤 액세스 메모리(120), 장치 드라이버(130), 스토리지 장치(140), 모뎀(150) 및 사용자 인터페이스들(160)을 포함할 수 있다.
프로세서들(110) 중 적어도 하나는 딥 러닝 모델(DLM)(220) 및 딥 러닝 모델(22)의 학습을 제어하는 트레이닝 제어 모듈(TCM)(240)을 실행할 수 있다. 트레이닝 제어 모듈(240)은 도 1을 참조하여 설명한 바와 같은 반도체 소자의 특성 예측 방법을 수행하여 딥 러닝 모델(220)을 학습시킬 수 있다.
일 실시예에서, 딥 러닝 모델(220) 및 트레이닝 제어 모듈(240)은 프로세서들(110) 중 적어도 하나에 의해 실행되는 명령들(또는 프로그램 코드들)의 형태로 구현될 수 있다. 딥 러닝 모델(220) 및 트레이닝 제어 모듈(240)은 컴퓨터로 판독 가능한 기록 매체에 저장될 수 있다. 이때, 적어도 하나의 프로세서는 딥 러닝 모델(220) 및 트레이닝 제어 모듈(240)의 명령들(또는 프로그램 코드들)을 랜덤 액세스 메모리(120)에 로드할 수 있다.
다른 실시예에서, 적어도 하나의 프로세서는 딥 러닝 모델(220) 및 트레이닝 제어 모듈(240)을 구현하도록 제조될 수 있다. 다른 예로서, 적어도 하나의 프로세서는 다양한 기계 학습 모듈들을 구현하도록 제조될 수 있다. 적어도 하나의 프로세서는 딥 러닝 모델(220) 및 트레이닝 제어 모듈(240)에 대응하는 정보를 수신함으로써, 딥 러닝 모델(220) 및 트레이닝 제어 모듈(240)을 구현할 수 있다.
프로세서들(110)은, 예를 들어, 중앙 프로세싱 유닛(111)(CPU), 응용 프로세서(AP) 등과 같은 적어도 하나의 범용 프로세서를 포함할 수 있다. 프로세서들(110)은 또한 뉴럴 프로세싱 유닛(113), 뉴로모픽 프로세서(114), 그래픽 프로세싱 유닛(115)(GPU) 등과 같은 적어도 하나의 특수 목적 프로세서를 포함할 수 있다. 프로세서들(110)은 두 개 이상의 동일한 종류의 프로세서들을 포함할 수 있다.
랜덤 액세스 메모리(120)는 프로세서들(110)의 동작 메모리로 사용되고, 컴퓨팅 장치(100)의 주 메모리 또는 시스템 메모리로 사용될 수 있다. 랜덤 액세스 메모리(120)는 동적 랜덤 액세스 메모리 또는 정적 랜덤 액세스 메모리와 같은 휘발성 메모리, 또는 상 변화 랜덤 액세스 메모리, 강유전체 랜덤 액세스 메모리, 자기 랜덤 액세스 메모리, 또는 저항성 랜덤 액세스 메모리와 같은 불휘발성 메모리를 포함할 수 있다.
장치 드라이버(130)는 프로세서들(110)의 요청에 따라 스토리지 장치(140), 모뎀(150), 사용자 인터페이스들(160) 등과 같은 주변 장치들을 제어할 수 있다. 스토리지 장치(140)는 하드 디스크 드라이브, 솔리드 스테이트 드라이브 등과 같은 고정식 스토리지 장치, 또는 외장형 하드 디스크 드라이브, 외장형 솔리드 스테이트 드라이브, 착탈식 메모리 카드 등과 같은 착탈식 스토리지 장치를 포함할 수 있다.
모뎀(150)은 외부의 장치와 원격 통신을 제공할 수 있다. 모뎀(150)은 외부의 장치와 무선 또는 유선 통신을 수행할 수 있다. 모뎀(150)은 이더넷, 와이파이, LTE, 5G 모바일 이동 통신 등과 같은 다양한 통신 형태들 중 적어도 하나를 통해 외부의 장치와 통신할 수 있다.
사용자 인터페이스들(160)은 사용자로부터 정보를 수신하고, 그리고 사용자에게 정보를 제공할 수 있다. 사용자 인터페이스들(160)은 디스플레이(161), 스피커(162) 등과 같은 적어도 하나의 사용자 출력 인터페이스, 그리고 마우스(163)(mice), 키보드(164), 터치 입력 장치(165) 등과 같은 적어도 하나의 사용자 입력 인터페이스를 포함할 수 있다.
딥 러닝 모델(220) 및 트레이닝 제어 모듈(240)의 명령들(또는 프로그램 코드들)은 모뎀(150)을 통해 수신되어 스토리지 장치(140)에 저장될 수 있다. 딥 러닝 모델(220) 및 트레이닝 제어 모듈(240)의 명령들(또는 프로그램 코드들)은 착탈식 스토리지 장치에 저장되고 그리고 컴퓨팅 장치(100)에 결합될 수 있다. 딥 러닝 모델(220) 및 트레이닝 제어 모듈(240)의 명령들(또는 프로그램 코드들)은 스토리지 장치(140)로부터 랜덤 액세스 메모리(120)로 로드되어 실행될 수 있다.
컴퓨터 프로그램 명령, 컴팩트 모델, 딥 러닝 모델(MLM) 및 트레이닝 제어 모듈(TCM)은 일시적 컴퓨터 판독 가능한 매체 또는 비일시적 컴퓨터 판독 가능한 매체에 저장될 수 있다. 또한, 본 개시의 적어도 일부의 실시예들에서, 프로세서가 수행한 시뮬레이션 결과 값들 또는 프로세서가 수행한 연산 처리의 값들은 일시적 컴퓨터 판독 가능한 매체 또는 비일시적 컴퓨터 판독 가능한 매체에 저장될 수 있다. 또한, 본 개시의 적어도 일부의 실시예들에서, 딥 러닝을 진행하는 동안 발생하는 중간 값들은 일시적 컴퓨터 판독 가능한 매체 또는 비일시적 컴퓨터 판독 가능한 매체에 저장될 수 있다. 또한, 본 개시의 적어도 일부의 실시예들에서, 트레이닝 데이터, 공정 데이터, 소자 데이터, 시뮬레이션 결과 데이터, 예측 데이터 및 불확실성 데이터는 일시적 컴퓨터 판독 가능한 매체 또는 비일시적 컴퓨터 판독 가능한 매체에 저장될 수 있다. 그러나 본 개시가 이에 제한되지는 않는다.
도 3은 본 발명의 실시예들에 따른 전자 장치를 나타내는 블록도이다.
도 3을 참조하면, 전자 장치(1000)는 입력부(11), 저장부(12) 및 프로세서(13)를 포함할 수 있으며, 저장부(12)는 컴팩트 모델(CM)을 포함할 수 있다. 전자 장치(1000), 반도체 제조 장비(31) 및 반도체 측정 장비(32)는 하나의 반도체 시스템으로써 구현될 수도 있다. 한편, 본 발명의 실시예들은 이에 한하지 않으며, 전자 장치(1000)는 반도체 제조 장비(31) 및 반도체 측정 장비(32)와 별개의 반도체 시스템으로 구현될 수도 있다.
입력부(11)는 소자 데이터를 수신하여 프로세서(13)로 전달할 수 있으며, 프로세서(13)는 컴팩트 모델(CM)을 이용하여 기본 트레이닝 데이터를 생성할 수 있다.
컴팩트 모델(CM)은 소자 데이터에 기초한 시뮬레이션을 수행하여 상기 소자 데이터에 상응하는 반도체 소자의 특성을 나타내는 시뮬레이션 결과 데이터를 제공할 수 있다.
프로세서(13)는 상기 소자 데이터 및 상기 시뮬레이션 데이터의 조합을 기본 트레이닝 데이터로서 생성할 수 있다. 프로세서(13)는 컴팩트 모델(CM)을 이용하여 다양한 소자 데이터의 값들에 상응하는 시뮬레이션 결과 데이터의 값들을 구하고, 상기 소자 데이터 및 상기 시뮬레이션 데이터의 다양한 조합들에 상응하는 데이터베이스(DB)를 구축할 수 있다. 구축된 데이터베이스(DB)는 저장부(12)에 저장될 수 있다. 프로세서(13)는 구축된 데이터베이스(DB)에 포함된 트레이닝 데이터를 이용하여 딥 러닝 모델(MLM)에 대한 학습을 수행할 수 있다.
프로세서(13)는 컴팩트 모델(CM)을 이용하여 측정 데이터(MD)에 기초하여 생성 또는 업데이트할 수 있으며, 저장부(12)에 컴팩트 모델(CM)을 저장할 수 있다.
컴팩트 모델(CM)은 측정 데이터(SM)를 기반으로 생성 또는 업데이트될 수 있다. 측정 데이터(CM)란 반도체 측정 장비(32)가 실제 측정한 반도체 제품의 전기적/구조적 특성들을 포함하는 데이터일 수 있다. 반도체 측정 장비(32)가 측정하는 반도체 제품은, 반도체 제조 장비(31)가 반도체 제조 데이터에 기반하여 제조된 장치일 수 있다. 반도체 제조 데이터)는 반도체 장치의 제조와 관련된 데이터이거나, 반도체 장치와 유사한 반도체 장치의 제조와 관련된 데이터일 수 있다.
컴팩트 모델(CM)은 반도체 측정 장비(32)에 의해 반도체 제품의 전기적/구조적 특성들이 측정됨에 응답하여 업데이트될 수 있다. 예컨대, 반도체 측정 장비(32)로부터 측정 데이터(MD)를 수신함에 응답하여, 프로세서(13)는 컴팩트 모델(CM)을 최신의 측정 데이터(MD)를 반영하도록 업데이트할 수 있다. 프로세서(13)는 반도체 측정 장비(32)로부터 입력부(11) 또는 통신부를 경유하여 측정 데이터(MD)를 수신할 수 있다.
한편, 저장부(12)는 반도체 제조 장비(31) 및 반도체 측정 장비(32) 중 적어도 하나에 관한 장비 정보를 포함할 수 있다.
예컨대, 반도체 제품은, 반도체 제조 장비(31)의 종류에 따라서 상이한 전기적/구조적 특성들을 가질 수 있다. 또한, 반도체 측정 장비(32)의 종류에 따라서, 반도체 제품의 전기적/구조적 특성들이 상이하게 측정될 수 있다. 반도체 제조 장비(31) 및 반도체 측정 장비(32)의 종류에 따른 오차를 감소시키도록, 저장부(12)는 반도체 제조 장비(31) 및 반도체 측정 장비(32)를 제조한 제조사, 장비의 모델 정보 및 장비의 성능에 관한 다양한 장비 정보를 포함할 수 있다. 프로세서(13)는 저장부(12)에 저장된 장비 정보를 참조하여, 컴팩트 모델(CM)을 업데이트시킬 수 있다.
도 4 및 5는 본 발명의 실시예들에 따른 딥 러닝 모델의 학습을 수행하는 장치에 의해 구동되는 인공 신경망 구조의 예를 설명하기 위한 도면들이다.
도 4를 참조하면, 일반적인 신경망의 네트워크 구조는 입력 레이어(IL), 복수의 히든 레이어들(HL1, HL2, ..., HLn) 및 출력 레이어(OL)를 포함할 수 있다.
입력 레이어(IL)는 입력 데이터(X)에 상응하는 i(i는 자연수)개의 입력 노드들(x1, x2, ..., xi)을 포함할 수 있고, 길이가 i인 벡터 입력 데이터(X)가 각 입력 노드에 입력될 수 있다.
복수의 히든 레이어들(HL1, HL2, ..., HLn)은 n(n은 자연수)개의 히든 레이어들을 포함하며, 히든 노드들(h1 1, h1 2, h1 3, ..., h1 m, h2 1, h2 2, h2 3, ..., h2 m, hn 1, hn 2, hn 3, ..., hn m)을 포함할 수 있다. 예를 들어, 히든 레이어(HL1)는 m(m은 자연수)개의 히든 노드들(h1 1, h1 2, h1 3, ..., h1 m)을 포함할 수 있고, 히든 레이어(HL2)는 m개의 히든 노드들(h2 1, h2 2, h2 3, ..., h2 m)을 포함할 수 있으며, 히든 레이어(HLn)는 m개의 히든 노드들(hn 1, hn 2, hn 3, ..., hn m)을 포함할 수 있다.
출력 레이어(OL)는 출력 데이터(Y)에 대응하는 j(j는 자연수)개의 출력 노드들(y1, y2, ..., yj)을 포함할 수 있고, 입력 데이터(X)에 상응하는 출력 데이터(Y)를 발생할 수 있다.
도 4에 도시된 네트워크 구조는, 두 개의 노드들 사이에 직선으로 도시된 노드들 간의 연결(branch)과, 도시되지는 않았지만 각 연결에서 사용되는 가중치(weight) 값들을 포함할 수 있다. 이 때, 하나의 레이어 내의 노드들 간에는 연결이 되지 않을 수 있고, 서로 다른 레이어들에 포함되는 노드들은 완전하게 혹은 부분적으로 연결될 수 있다.
도 4의 각 노드(예를 들어, h1 1)는 이전 노드(예를 들어, x1)의 출력을 입력 받아 연산할 수 있고, 연산 결과를 이후 노드(예를 들어, h2 1)에 출력할 수 있다. 이 때, 각 노드는 입력된 값을 특정 함수, 예를 들어 비선형 함수에 적용하여 출력할 값을 연산할 수 있다.
일반적으로 인공 신경망의 네트워크 구조는 미리 결정되어 있으며, 노드들 간의 연결에 따른 가중치들은 정답이 알려진 데이터를 이용하여 적절한 값을 산정할 수 있다.
이와 같이 이미 정답이 알려진 데이터들을 '학습 데이터'라고 하고, 가중치를 결정하는 과정을 '교사 학습(supervised learning)'이라고 할 수 있다. 또한, 독립적으로 학습이 가능한 구조와 가중치의 묶음을 '모델'이라고 가정하고, 가중치가 결정된 모델이 입력 데이터가 어느 클래스에 속할지를 예측하여 그 예측값을 출력하는 것을 '테스트' 과정이라고 한다.
한편, 도 4에 도시된 일반적인 신경망은 각 노드(예를 들어, h1 1)가 앞쪽 레이어(previous layer)(예를 들어, IL)의 모든 노드들(예를 들어, x1, x2, ..., xi)과 연결되어 있어, 입력 데이터(X)가 영상(또는 음성)인 경우에 영상의 크기가 증가할수록 필요한 가중치의 개수가 기하급수적으로 증가하며, 따라서 영상을 다루기에 적절하지 않을 수 있다. 이에 따라, 신경망에 필터 기술을 병합하여, 신경망이 2차원 영상을 잘 습득할 수 있도록 구현된 컨볼루션(convolutional) 신경망이 연구되고 있다.
도 5를 참조하면, 컨볼루션 신경망의 네트워크 구조는 복수의 레이어들(CONV1, RELU1, CONV2, RELU2, POOL1, CONV3, RELU3, CONV4, RELU4, POOL2, CONV5, RELU5, CONV6, RELU6, POOL3, FC)을 포함할 수 있다.
일반적인 신경망과 다르게, 컨볼루션 신경망의 각 레이어는 가로(또는 폭, width), 세로(또는 높이, height), 깊이(depth)의 3개의 차원을 가질 수 있다. 이에 따라, 각 레이어에 입력되는 데이터 또한 가로, 세로, 깊이의 3개의 차원을 가지는 볼륨 데이터일 수 있다.
컨볼루션 레이어들(CONV1, CONV2, CONV3, CONV4, CONV5, CONV6)은 입력에 대한 컨볼루션 연산을 수행할 수 있다. 영상 처리에서 컨볼루션이란 가중치를 갖는 마스크를 이용하여 데이터를 처리하는 것을 의미할 수 있으며, 입력 값과 마스크의 가중치를 곱한 후에 그 합을 출력 값으로 정하는 것을 나타낼 수 있다. 이 때, 마스크를 필터(filter), 윈도우(window) 또는 커널(kernel)이라고 부를 수 있다.
구체적으로, 각 컨볼루션 레이어의 파라미터들은 일련의 학습 가능한 필터들로 이루어져 있을 수 있다. 각 필터는 가로/세로 차원으로는 각 레이어의 전체 크기보다 작지만 깊이 차원으로는 각 레이어의 전체 깊이를 아우를 수 있다.
예를 들어, 각 필터를 입력 볼륨의 가로/세로 차원으로 슬라이딩(정확히는 convolve) 시키며 필터와 입력의 요소들 사이의 내적 연산(dot product)을 수행하여 2차원의 액티베이션 맵(activation map)을 생성할 수 있고, 이러한 액티베이션 맵을 깊이 차원을 따라 쌓아서 출력 볼륨을 생성할 수 있다.
예를 들어, 컨볼루션 레이어(CONV1)가 32*32*3의 크기의 입력 볼륨 데이터(X)에 네 개의 필터들을 제로 패딩(zero-padding)과 함께 적용하면, 컨볼루션 레이어(CONV1)의 출력 볼륨은 32*32*12의 크기를 가질 수 있다 (즉, 깊이 증가).
RELU 레이어들(RELU1, RELU2, RELU3, RELU4, RELU5, RELU6)은 입력에 대한 정정 선형 유닛 연산을 수행할 수 있다. 예를 들어, 정정 선형 유닛 연산은 max(0, x)와 같이 음수에 대해서만 0으로 처리하는 함수를 나타낼 수 있다. 예를 들어, RELU 레이어(RELU1)가 컨볼루션 레이어(CONV1)로부터 제공된 32*32*12의 크기의 입력 볼륨에 정정 선형 유닛 연산을 수행하면, RELU 레이어(RELU1)의 출력 볼륨은 32*32*12의 크기를 가질 수 있다 (즉, 볼륨 유지).
풀링 레이어들(POOL1, POOL2, POOL3)은 입력 볼륨의 가로/세로 차원에 대해 다운 샘플링을 수행할 수 있다. 예를 들어, 2*2 필터를 적용하는 경우에 2*2 영역의 네 개의 입력들을 하나의 출력으로 변환할 수 있다. 구체적으로, 2*2 최대 값 풀링과 같이 2*2 영역의 네 개의 입력들 중 최대 값을 선택하거나, 2*2 평균 값 풀링과 같이 2*2 영역의 네 개의 입력들의 평균 값을 연산할 수 있다. 예를 들어, 풀링 레이어(POOL1)가 32*32*12의 크기의 입력 볼륨에 2*2 필터를 적용하면, 풀링 레이어(POOL1)의 출력 볼륨은 16*16*12의 크기를 가질 수 있다 (즉, 가로/세로 감소, 깊이 유지, 볼륨 감소).
일반적으로 컨볼루션 신경망에서는 하나의 컨볼루션 레이어(예를 들어, CONV1)와 하나의 RELU 레이어(예를 들어, RELU1)가 한 쌍을 형성할 수 있고, 컨볼루션/RELU 레이어들의 쌍이 반복 배치될 수 있으며, 컨볼루션/RELU 레이어들의 쌍이 반복 배치되는 중간 중간에 풀링 레이어를 삽입함으로써, 입력 데이터(X)의 특징을 추출할 수 있다. 컨볼루션 신경망에 포함되는 레이어들의 종류 및 개수는 실시예에 따라서 다양하게 변경될 수 있다.
본 발명의 실시예들이 특정한 신경망에 한정되는 것은 아니다, 딥 러닝 모델은 CNN(Convolution Neural Network), R-CNN(Region with Convolution Neural Network), RPN(Region Proposal Network), RNN(Recurrent Neural Network), S-DNN(Stacking-based deep Neural Network), S-SDNN(State-Space Dynamic Neural Network), Deconvolution Network, DBN(Deep Belief Network), RBM(Restricted Boltzman Machine), Fully Convolutional Network, LSTM(Long Short-Term Memory) Network, Classification Network 및 BNN(Bayesian Neural Network) 중 적어도 하나를 포함할 수 있다.
도 6은 인공 신경망의 예시적인 노드를 나타내는 도면이다.
도 6에는 인공 신경망에 포함되는 하나의 노드(ND)에서 수행되는 연산의 일 예를 나타낸다.
하나의 노드(ND)에 N개의 입력들(a1, a2, a3, ..., aN)이 제공되는 경우에, 노드(ND)는 N개의 입력들(a1, a2, a3, ..., aN) 및 이에 대응하는 N개의 가중치들(w1, w2, w3, ..., wN)을 각각 곱하여 합산하고, 상기 합산된 입력 값에 오프셋(b)을 더하며, 상기 오프셋이 반영된 입력 값을 특정 함수(σ)에 적용하여 하나의 출력 신호를 발생할 수 있다. 트레이닝 데이터(TRD)에 기초하여 학습 동작을 수행하여 신경망에 포함된 모든 노드들을 갱신할 수 있다.
딥 러닝(deep learning) 기반의 반도체 소자의 특성 예측의 경우, 학습을 위하여 충분한 수량의 트레이닝 데이터 또는 학습 데이터가 필요하다. 딥 러닝 기반의 알고리즘에 활용하기 위한 트레이닝 데이터의 경우 학습 시 과적합(over-fitting)을 방지하고 성능을 향상시키기 위해 다양한 종류의 데이터를 충분히 확보해야 한다.
본 발명의 실시예들에 따라서, 컴팩트 모델(CM)을 이용하여 트레이닝 데이터를 생성함으로써 효율적으로 딥 러닝 모델의 학습을 위한 데이터베이스(DB)를 구축할 수 있다.
도 7 및 8은 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법에서 복수의 반도체 제품 및 타겟 반도체 제품 사이의 관계를 설명하기 위한 도면들이다.
도 7 및 8을 참조하면, 공정 데이터(PT)는 반도체 제품(SP)의 제조 공정을 나타내는 공정 타입(PT) 및 반도체 제품(SP)이 속하는 제품 그룹(PG)의 공정-그룹 조합(PGC)에 따라서 결정될 수 있다. 예를 들어, 공정 타입(PT)은 제조 공정의 임계 치수(CD, critical dimension)를 나타낼 수 있다. 제품 그룹(PG)은 서버향 제품 그룹, 모바일 제품 그룹, 그래픽 제품 그룹, 고대역폭 메모리 제품 그룹 등을 포함할 수 있다.
제1 반도체 제품(SP1)은 제1 공정 타입(PT1) 및 제1 제품 그룹(PG1)의 제1 조합(CB1)에 해당하고 제1 반도체 제품(SP1)의 공정 데이터(PR)는 제1 공정 데이터(PR1)로 결정될 수 있다. 제2 반도체 제품(SP2)은 제1 공정 타입(PT1) 및 제2 제품 그룹(PG2)의 제2 조합(CB2)에 해당하고 제2 반도체 제품(SP2)의 공정 데이터(PR)는 제2 공정 데이터(PR2)로 결정될 수 있다. 제3 반도체 제품(SP3)은 제1 공정 타입(PT1) 및 제3 제품 그룹(PG3)의 제3 조합(CB3)에 해당하고 제3 반도체 제품(SP3)의 공정 데이터(PR)는 제3 공정 데이터(PR3)로 결정될 수 있다.
제4 반도체 제품(SP4)은 제2 공정 타입(PT2) 및 제1 제품 그룹(PG1)의 제4 조합(CB1)에 해당하고 제4 반도체 제품(SP4)의 공정 데이터(PR)는 제4 공정 데이터(PR4)로 결정될 수 있다. 제5 반도체 제품(SP5)은 제2 공정 타입(PT2) 및 제2 제품 그룹(PG2)의 제5 조합(CB5)에 해당하고 제5 반도체 제품(SP5)의 공정 데이터(PR)는 제5 공정 데이터(PR5)로 결정될 수 있다. 제6 반도체 제품(SP6)은 제2 공정 타입(PT2) 및 제3 제품 그룹(PG3)의 제6 조합(CB6)에 해당하고 제6 반도체 제품(SP6)의 공정 데이터(PR)는 제6 공정 데이터(PR6)로 결정될 수 있다.
제7 반도체 제품(SP7)은 제3 공정 타입(PT3) 및 제1 제품 그룹(PG1)의 제7 조합(CB7)에 해당하고 제7 반도체 제품(SP7)의 공정 데이터(PR)는 제7 공정 데이터(PR7)로 결정될 수 있다. 제8 반도체 제품(SP8)은 제3 공정 타입(PT3) 및 제3 제품 그룹(PG3)의 제8 조합(CB8)에 해당하고 제8 반도체 제품(SP8)의 공정 데이터(PR)는 제8 공정 데이터(PR8)로 결정될 수 있다.
이와 같은, 제1 내지 제8 반도체 제품들(SP1~SP8)에 대하여 도 3을 참조하여 설명한 바와 같이 측정 데이터(MD)이 제공되고, 측정 데이터(MD)에 기초하여 제1 내지 제8 반도체 제품들(SP1~SP8)에 각각 상응하는 제1 내지 제8 컴팩트 모델들(CM1~CM8)이 생성될 수 있다. 제1 내지 제8 컴팩트 모델들(CM1~CM8)을 이용하여 도 1을 참조하여 설명한 기본 트레이닝 데이터를 생성할 수 있고, 제1 내지 제8 반도체 제품들(SP1~SP8)는 기존의 반도체 제품들(ESP), 즉 도 1에서 언급한 복수의 반도체 제품들에 해당할 수 있다.
제9 반도체 제품(SP9)은 제3 공정 타입(PT3) 및 제2 제품 그룹(PG2)의 제9 조합(CB9)에 해당하고 제9 반도체 제품(SP9)의 공정 데이터(PR)는 제9 공정 데이터(PR9)로 결정될 수 있다.
제1 내지 제8 반도체 제품들(SP1~SP8)과는 다르게, 제9 반도체 제품(SP9)은 설계 단계에 있고 제9 반도체 제품(SP9)에 상응하는 컴팩트 모델은 아직 생성되기 전일 수 있다. 제9 반도체 제품(SP9)은 도 1에서 언급한 타겟 반도체 제품에 해당할 수 있다.
이와 같이, 공정 데이터(PT)는 반도체 제품(SP)의 제조 공정을 나타내는 공정 타입(PT) 및 반도체 제품(SP)의 그룹이 속하는 제품 그룹(PG)의 공정-그룹 조합(PGC)에 따라서 결정될 수 있고, 타겟 반도체 제품(예를 들어, 제9 반도체 제품(SP9))의 공정-그룹 조합(예를 들어, 제9 공정-그룹 조합(CB9))은 상기 복수의 반도체 제품들(예를 들어, 제1 내지 제8 반도체 제품들(SP1~SP8))의 공정-제품 조합들(예를 들어, 제1 내지 제8 공정-그룹 조합들(CB1~CB8)에 포함되지 않는 새로운 조합일 수 있다.
다시 말해, 타겟 반도체 제품(예를 들어, 제9 반도체 제품(SP9))는 기본 트레이닝 데이터를 제공하기 위한 복수의 컴팩트 모델들(예를 들어, 제1 내지 제8 컴팩트 모델들(CM1~CM8)에 각각 상응하는 상기 복수의 반도체 제품들(예를 들어, 제1 내지 제8 반도체 제품들(SP1~SP8))에 포함되지 않는 새로운 반도체 제품일 수 있다.
컴팩트 모델은 회로 설계에 필요한 소자 데이터의 범위에서 반도체 소자의 특성을 제공하여야 하고, 컴팩트 모델의 생성을 위한 측정 데이터의 제공을 위해 테스트 엘리먼트 그룹(Test element group)을 웨이퍼의 스크라이브 레인(scribe lane)에 배치한다. 그러나 스크라이브 레인의 제한적인 면적, 공정 TAT(turnaround time) 등에 따라서 특성 확인에 소요되는 시간이 증대하고 커버리지(coverage) 확보의 어려움이 발생한다.
본 발명의 실시예들에 따라서, 기존에 개발되어진 이전 세대의 모제품들, 즉 제1 내지 제8 반도체 제품들(SP1~SP8)의 제1 내지 제8 컴팩트 모델들(CP1~CP8)을 이용하여 공정 데이터를 추가하여 딥 러닝 모델의 학습을 위한 한 기본 트레이닝 데이터를 데이터베이스화 함으로써, 스크라이브 레인의 제한적인 면적, 공정 TAT(turnaround time) 등과 같은 문제를 극복하고, 타겟 반도체 제품, 즉 제9 반도체 제품(SP9)에 포함되는 반도체 소자의 전기적 특성을 효율적이고도 신속하게 제공할 수 있다.
상기 복수의 반도체 제품들 및 상기 타겟 반도체 제품은 메모리 장치들일 수 있다. 본 발명의 실시예들은 메모리 장치의 특성 예측에 특히 유용하다. 메모리 메모리 비즈니스에서는 회로 설계 및 소자 공정의 동시 최적화(DTCO, Design Technology Co-optimization)의 중요성이 점점 대두되고 있으며 따라서 차세대 제품에 포함되는 반도체 소자의 특성을 예측하여 설계에 필요한 소자 모델을 신속하게 제공할 필요가 있다. 또한, 메모리 비즈니스의 특성상 동일 또는 유사한 구조의 제품이 축소(shrink)되는 경향이 있으며, 기존의 메모리 장치들의 컴팩트 모델들을 이용하여 새로운 메모리 장치의 성능 예측을 위한 데이터베이스 구축이 가능하다.
도 9는 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법을 수행하는 딥 러닝 모델의 일 실시예를 나타내는 도면이다. 도 9에는 도시의 편의상 딥 러닝 모델의 구체적인 구성의 도시를 생략하고 입력 데이터(X)를 수신하는 입력 레이어(IL) 및 출력 데이터(Y)를 제공하는 출력 레이어(Y)만이 도시되어 있다.
컴팩트 모델은 소자 데이터에 기초한 시뮬레이션을 수행하여 소자 데이터(DV)에 상응하는 반도체 소자의 특성을 나타내는 시뮬레이션 결과 데이터(SR)를 제공한다. 일반적으로 컴팩트 모델은 특정한 반도체 제품에 대한 공정 데이터에 상응하는 시뮬레이션 결과 데이터(SR)를 출력하도록 구현된다.
도 9를 참조하면, 복수의 공정 데이터들(PR1~PR8)에 각각 상응하는 복수의 컴팩트 모델(CM1~CM8)을 대체할 수 있는 딥 러닝 모델(DLM1)을 생성할 수 있다.
복수의 공정 데이터들(PR1~PR8)에 상응하는 복수의 컴팩트 모델(CM1~CM8)을 이용하여 기본 트레이닝 데이터(TRD)를 생성할 수 있다. 기본 트레이닝 데이터(TRD)는 공정 데이터(PR), 소자 데이터(DV) 및 시뮬레이션 결과 데이터(SR)의 조합에 상응한다. 서로 다른 공정 데이터(PR) 및 소자 데이터(DV)의 값들에 기초하여 서로 다른 조합들에 상응하는 복수의 기본 트레이닝 데이터(TRD)를 생성할 수 있다.
이 경우, 딥 러닝 모델(DLM2)의 입력 데이터(X)는 공정 데이터(PR) 및 소자 데이터(DV)를 모두 포함할 수 있다. 출력 데이터(Y)는 예측 데이터(PD)를 포함할 수 있다. 기본 트레이닝 데이터(TRD)의 시뮬레이션 결과 데이터(SR)를 공정 데이터(PR) 및 소자 데이터(DV)의 입력에 대한 예측 데이터(PD)의 정답으로 이용하여 딥 러닝 모델(DLM2)의 교사 학습(supervised learning)이 수행될 수 있다.
도 10은 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법에서의 데이터들을 나타내는 도면이다. 도 10에는 예시적으로 반도체 소자가 트랜지스터에 해당하는 경우의 데이터들이 도시되어 있으나, 본 발명의 실시예들이 트랜지스터에 한정되는 것은 아니며 다른 반도체 소자들에 대해서도 본 발명의 실시예들이 적용될 수 있다
도 10을 참조하면, 딥 러닝 모델의 입력 데이터(X)는 소자 데이터(DV) 및/또는 공정 데이터(PR)를 포함할 수 있다.
도 9를 참조하여 전술한 바와 같이, 입력 데이터(X)는 소자 데이터(DV) 및 공정 데이터(PR)를 모두 포함할 수 있다.
소자 데이터(DV)는 반도체 소자의 구조 및 동작 조건을 나타낼 수 있다. 예를 들어, 소자 데이터(DV)는 트랜지스터의 폭(W), 트랜지스터의 길이(L)와 같은 반도체 소자의 구조에 관한 정보를 포함할 수 있다. 또한, 소자 데이터(DV)는 트랜지스터의 동작 온도(Top), 트랜지스터의 드레인 전압(Vd), 트랜지스터의 게이트 전압(Vg), 트랜지스터의 바디 전압(Vb), 트랜지스터의 소스 전압(Vs) 등과 같은 동작 조건에 관한 정보를 포함할 수 있다.
공정 데이터(PR)는 반도체 소자의 제조 공정의 조건을 나타낼 수 있다. 예를 들어, 공정 데이터(PR)는 이온-임플랜트 공정의 도펀트의 종류(Dk), 도펀트의 농도(Dd), 액티베이션 온도(Tact), 게이트 산화막의 두께(tOG), 트랜지스터의 게이트 구조물 중 하나인 스페이서의 두께(tSP) 등을 포함할 수 있다.
딥 러닝 모델의 출력 데이터(Y)는 도 9에 도시된 바와 같이 예측 데이터(PD)를 포함할 수 있다. 실시예들에 따라서, 도 13에 도시된 바와 같이 딥 러닝 모델의 출력 데이터(Y)는 예측 데이터(PD) 및 불확실성 데이터(UC)를 포함할 수 있다.
예측 데이터(PD)는 반도체 소자의 전기적 특성을 나타낼 수 있다. 예를 들어, 예측 데이터(PD)는 트랜지스터의 문턱 전압(Vt), 트랜지스터의 이득(G), 트랜지스터의 파괴(breakdown) 전압(Vbk), 트랜지스터의 드레인 전류(Id) 등을 포함할 수 있다.
불확실성 데이터(UC)는 예측 데이터(PD)의 불확실성을 나타낼 수 있다. 불확실성 데이터(UC)는 모델 불확실성 값(Um) 및/또는 데이터 불확실성 값(Ud)를 포함할 수 있다. 후술하는 바와 같이, 모델 불확실성 값(Um)은 기본 트레이닝 데이터의 부족에 기인한 예측 데이터(PD)의 불확실성을 나타내고, 데이터 불확실성 값(Ud)은 기본 트레이닝 데이터의 노이즈에 기인한 예측 데이터(PD)의 불확실성을 나타낼 수 있다.
도 11은 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법을 나타내는 흐름도이다. 도 11의 반도체 소자의 특성 예측 방법은 컴퓨터로 판독 가능한 기록 매체에 저장되는 프로그램 코드를 적어도 하나의 프로세서에 의해 실행하여 수행될 수 있다.
도 11을 참조하면, 복수의 컴팩트 모델들을 이용하여 공정 데이터, 소자 데이터 및 시뮬레이션 결과 데이터의 조합에 상응하는 기본 트레이닝 데이터를 생성한다(S101).
도 7 및 8을 참조하여 전술한 바와 같이, 상기 복수의 컴팩트 모델들은 복수의 공정 데이터들 및 복수의 반도체 제품들에 각각 상응한다. 각각의 공정 데이터 및 각각의 반도체 제품에 상응하는 컴팩트 모델은 소자 데이터에 기초한 시뮬레이션을 수행하여 상기 소자 데이터에 상응하는 반도체 소자의 특성을 나타내는 시뮬레이션 결과 데이터를 제공할 수 있다. 도 10을 참조하여 전술한 바와 같이, 상기 소자 데이터는 상기 반도체 소자의 구조 및 동작 조건을 나타내고, 상기 공정 데이터는 상기 반도체 제품의 제조 공정의 조건을 나타낼 수 있다.
상기 기본 트레이닝 데이터에 기초하여 상기 반도체 소자의 특성을 나타내는 예측 데이터 및 상기 예측 데이터의 불확실성을 나타내는 불확실성 데이터를 출력하는 딥 러닝 모델을 학습시킨다(S201). 상기 시뮬레이션 결과 데이터 및 상기 예측 데이터는 상기 반도체 소자의 전기적 특성을 나타낼 수 있다.
상기 딥 러닝 모델, 타겟 반도체 제품에 상응하는 상기 공정 데이터 및 상기 소자 데이터에 기초하여 상기 타겟 반도체 제품에 포함되는 상기 반도체 소자의 특성을 나타내는 타겟 예측 데이터를 생성한다(S301). 상기 타겟 반도체 제품은, 상기 복수의 컴팩트 모델들에 각각 상응하는 상기 복수의 반도체 제품들에 포함되지 않는 새로운 반도체 제품에 해당한다.
상기 불확실성 데이터에 기초하여 상기 딥 러닝 모델을 재학습시킨다(S401).
일 실시예에서, 도 14를 참조하여 후술하는 바와 같이, 상기 기본 트레이닝 데이터에 의해 학습된 딥 러닝 모델을 상기 모델 불확실성에 기초하여 추가적으로 학습시키는 제1 재학습을 수행할 수 있다.
다른 실시예에서, 도 16을 참조하여 후술하는 바와 같이, 상기 기본 트레이닝 데이터에 의해 학습된 딥 러닝 모델을 초기화하고, 초기화된 상기 딥 러닝 모델을 상기 데이터 불확실성 값에 기초하여 다시 학습시키는 제2 재학습을 수행할 수 있다.
일 실시예에서, 도 18을 참조하여 후술하는 바와 같이, 상기 모델 불확실성에 기초하여 상기 제1 재학습의 수행 여부를 결정하고, 상기 제1 학습이 불필요한 경우 상기 데이터 불확실성에 기초하여 상기 제2 재학습의 수행 여부를 결정할 수 있다.
다른 실시예에서, 도 19를 참조하여 후술하는 바와 같이, 상기 모델 불확실성에 기초한 상기 제1 재학습의 수행 여부 및 상기 데이터 불확실성에 기초한 상기 제2 재학습의 수행 여부를 각각 독립적으로 결정할 수 있다.
이와 같이, 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법 및 컴퓨팅 장치는 기존의 반도체 제품들에 대한 컴팩트 모델들을 이용하여 공정 데이터를 포함하는 트레이닝 데이터를 생성하고 상기 기본 트레이닝 데이터에 기초하여 딥 러닝 모델을 학습시킴으로써 새로운 반도체 제품에 포함되는 반도체 소자의 특성을 효율적으로 예측할 수 있다.
또한, 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법 및 컴퓨팅 장치는 반도체 소자의 특성을 나타내는 예측 데이터와 함께 상기 예측 데이터의 불확실성을 나타내는 불확실성 데이터를 출력하도록 딥 러닝 모델을 학습시키고 상기 불확실성 데이터에 기초하여 상기 딥 러닝 모델을 재학습시킴으로써 반도체 소자의 특성을 정확하게 예측할 수 있는 딥 러닝 모델을 제공할 수 있다.
또한, 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법 및 컴퓨팅 장치는, 예측 데이터의 불확실성의 유형에 따라서 딥 러닝 모델의 재학습 방법을 결정함으로써 효율적으로 반도체 소자의 특성을 정확하게 예측할 수 있는 딥 러닝 모델을 제공할 수 있다.
상기 딥 러닝 모델의 향상된 예측 성능을 통하여 상기 반도체 소자를 포함하는 반도체 제품의 설계 및 제조의 비용 및 시간을 감소하고 반도체 제품의 성능을 향상시킬 수 있다.
도 12는 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법에서의 재학습의 기준이 되는 불확실성의 유형을 설명하기 위한 도면이다.
도 12에서, 가로축은 딥 러닝 모델의 입력 데이터를 나타내고 세로축은 딥 러닝 모델에서 출력되는 예측 데이터를 나타낸다. 도 12에는 딥 러닝 모델에 의해 제공되는 예측 데이터의 예시적인 분포가 도시되어 있다. 예측 데이터의 분포에 따라서, 입력 데이터는 제1 내지 제5 데이터 범위들(RG1~RG5)로 구분될 수 있다.
예를 들어, 반도체 소자의 특성을 나타내는 예측 데이터는 입력 데이터에 대하여 선형적으로 증가할 수 있다. 이 경우 이상적인 딥 러닝 모델은 도 12의 일정한 기울기를 갖는 점선과 일치하는 분포를 가질 것이다.
제1 데이터 범위(RG1)에서는 예측 데이터가 비교적 큰 산포를 갖는다. 반면에 제5 데이터 범위(RG5)에서는 예측 데이터가 상대적으로 작은 산포를 갖는다.
예측 데이터의 큰 산포는 트레이닝 데이터의 노이즈에 기인하며, 이와 같이 트레이닝 데이터의 노이즈에 기인한 불확실성을 데이터 불확실성(data uncertainty) 또는 우연적 불확실성(aleatoric uncertainty)라 칭할 수 있다.
한편, 제2 및 제4 데이터 범위들(RG2, RG4)에서와 같이, 트레이닝 데이터의 부족에 기인한 예측 데이터의 불확실성을 모델 불확실성(model uncertainty) 또는 인식적 불확실성(epistemic uncertainty)라 칭할 수 있다.
일 실시예에서, 딥 러닝 모델에서 출력되는 불확실성 데이터는 기본 트레이닝 데이터의 부족에 기인한 예측 데이터의 불확실성, 즉 모델 불확실성을 나타내는 모델 불확실성 값을 포함할 수 있다. 이 경우, 도 14를 참조하여 후술하는 바와 같이, 상기 기본 트레이닝 데이터에 의해 학습된 딥 러닝 모델을 상기 모델 불확실성에 기초하여 추가적으로 학습시키는 제1 재학습을 수행할 수 있다.
다른 실시예에서, 딥 러닝 모델에서 출력되는 불확실성 데이터는 상기 기본 트레이닝 데이터의 노이즈에 기인한 상기 예측 데이터의 불확실성, 즉 데이터 불확실성을 을 나타내는 데이터 불확실성 값을 포함할 수 있다. 이 경우, 도 16을 참조하여 후술하는 바와 같이, 상기 기본 트레이닝 데이터에 의해 학습된 딥 러닝 모델을 초기화하고, 초기화된 상기 딥 러닝 모델을 상기 데이터 불확실성 값에 기초하여 다시 학습시키는 제2 재학습을 수행할 수 있다.
딥 러닝 모델은 모델 불확실성 및 데이터 불확실성을 정량화(quantification)하여 모델 불확실성 값 및 데이터 불확실성 값을 출력하도록 구현될 수 있다.
일 실시예에서, 딥 러닝 모델은 베이지안 신경망(BNN, Bayesian Neural Network)을 포함할 수 있다. 딥 러닝 모델은 몬테 카를로 드롭아웃(Monter-Carlo Droupout) 기법, 심층 앙상블(Deep Ensemble) 기법, 분위 회귀분석(quantile regression) 기법, 가우션 프로세스 추론(Gaussian Process Inference) 기법 등 또는 이들의 조합을 이용하여 불확실성을 정량화할 수 있다.
이와 같이, 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법 및 컴퓨팅 장치는, 예측 데이터의 불확실성의 유형에 따라서 딥 러닝 모델의 재학습 방법을 결정함으로써 효율적으로 반도체 소자의 특성을 정확하게 예측할 수 있는 딥 러닝 모델을 제공할 수 있다.
상기 딥 러닝 모델의 향상된 예측 성능을 통하여 상기 반도체 소자를 포함하는 반도체 제품의 설계 및 제조의 비용 및 시간을 감소하고 반도체 제품의 성능을 향상시킬 수 있다.
도 13은 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법을 수행하는 딥 러닝 모델의 일 실시예를 나타내는 도면이다. 도 13에는 도시의 편의상 딥 러닝 모델의 구체적인 구성의 도시를 생략하고 입력 데이터(X)를 수신하는 입력 레이어(IL) 및 출력 데이터(Y)를 제공하는 출력 레이어(Y)만이 도시되어 있다.
컴팩트 모델은 소자 데이터에 기초한 시뮬레이션을 수행하여 소자 데이터(DV)에 상응하는 반도체 소자의 특성을 나타내는 시뮬레이션 결과 데이터(SR)를 제공한다. 일반적으로 컴팩트 모델은 특정한 반도체 제품에 대한 공정 데이터에 상응하는 시뮬레이션 결과 데이터(SR)를 출력하도록 구현된다.
도 13을 참조하면, 복수의 공정 데이터들(PR1~PR8)에 각각 상응하는 복수의 컴팩트 모델(CM1~CM8)을 대체할 수 있는 딥 러닝 모델(DLM1)을 생성할 수 있다.
복수의 공정 데이터들(PR1~PR8)에 상응하는 복수의 컴팩트 모델(CM1~CM8)을 이용하여 기본 트레이닝 데이터(TRD)를 생성할 수 있다. 기본 트레이닝 데이터(TRD)는 공정 데이터(PR), 소자 데이터(DV) 및 시뮬레이션 결과 데이터(SR)의 조합에 상응한다. 서로 다른 공정 데이터(PR) 및 소자 데이터(DV)의 값들에 기초하여 서로 다른 조합들에 상응하는 복수의 기본 트레이닝 데이터(TRD)를 생성할 수 있다.
이 경우, 딥 러닝 모델(DLM2)의 입력 데이터(X)는 공정 데이터(PR) 및 소자 데이터(DV)를 모두 포함할 수 있다. 출력 데이터(Y)는 예측 데이터(PD) 및 예측 데이터(PD)의 불확실성을 나타내는 불확실성 데이터(UC)를 포함할 수 있다. 기본 트레이닝 데이터(TRD)의 시뮬레이션 결과 데이터(SR)를 공정 데이터(PR) 및 소자 데이터(DV)의 입력에 대한 예측 데이터(PD)의 정답으로 이용하여 딥 러닝 모델(DLM2)의 교사 학습(supervised learning)이 수행될 수 있다.
도 14는 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법에 포함되는 모델 불확실성 값에 기초한 재학습 방법의 일 실시예를 나타내는 흐름도이고, 도 15는 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법에서의 추가 데이터 범위를 나타내는 도면이다.
도 14에는 기본 트레이닝 데이터에 의해 학습된 딥 러닝 모델을 모델 불확실성에 기초하여 추가적으로 학습시키는 제1 재학습의 과정이 도시되어 있다.
도 2 및 14를 참조하면, 프로세서들(110) 중 적어도 하나에 의해 실행되는 트레이닝 제어 모듈(240)은, 모델 불확실성 값을 모델 기준 값과 비교한다(S311). 전술한 바와 같이, 모델 불확실성 값은 기본 트레이닝 데이터의 부족에 기인한 예측 데이터의 불확실성을 나타낸다. 모델 기준 값은 구현하고자 하는 딥 러닝 모델의 목표 성능에 따라서 적절한 값으로 설정될 수 있다.
트레이닝 제어 모듈(240)은 상기 모델 불확실성 값이 상기 상기 모델 기준 값보다 큰 경우, 컴팩트 모델을 이용하여 기본 트레이닝 데이터와 다른 추가 트레이닝 데이터를 생성한다(S312).
트레이닝 제어 모듈(240)은 상기 추가 트레이닝 데이터에 기초하여 상기 딥 러닝 모델을 재학습시킨다(S313). 트레이닝 제어 모듈(240)은 기본 트레이닝 데이터에 의해 학습된 딥 러닝 모델을 초기화하지 않고 상기 추가 트레이닝 데이터에 기초하여 추가적으로 학습시킬 수 있다.
도 15에는 기본 트레이닝 데이터에 의해 학습된 딥 러닝 모델에서 제공되는 모델 불확실성 값의 분포의 일 예가 도시되어 있다. 도 15에서, 가로축들은 트랜지스터의 길이(L) 및 폭(W)을 나타내고 세로축은 모델 불확실성 값(Um)을 나타낸다.
트레이닝 제어 모듈(240)은 모델 불확실성 값의 분포에 기초하여 모델 불확실성 값(Um)이 모델 기준 값보다 큰 소자 데이터(예를 들어, 트랜지스터의 길이(L) 및 폭(W))의 범위를 나타내는 추가 데이터 범위(RGm)를 결정할 수 있다. 트레이닝 제어 모듈(240)은 추가 트레이닝 데이터가 추가 데이터 범위(RGm)에 속하는 소자 데이터 및 시뮬레이션 결과 데이터의 조합에 상응하도록 추가 트레이닝 데이터를 생성할 수 있다.
도 16은 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법에 포함되는 모델 불확실성 값에 기초한 재학습 방법의 일 실시예를 나타내는 흐름도이고, 도 17은 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법에서의 측정 데이터 범위를 나타내는 도면이다.
도 2 및 16을 참조하면, 프로세서들(110) 중 적어도 하나에 의해 실행되는 트레이닝 제어 모듈(240)은, 데이터 불확실성 값을 데이터 기준 값과 비교한다(S321). 전술한 바와 같이, 데이터 불확실성 값은 기본 트레이닝 데이터의 노이즈에 기인한 예측 데이터의 불확실성을 나타낸다. 데이터 기준 값은 구현하고자 하는 딥 러닝 모델의 목표 성능에 따라서 적절한 값으로 설정될 수 있다.
상기 데이터 불확실성 값이 상기 데이터 기준 값보다 큰 경우, 도 3을 참조하여 설명한 바와 같이 반도체 소자의 특성을 측정하여 측정 데이터(MD)를 제공한다(S322). 측정 데이터(MD)는 트레이닝 제어 모듈(240)에 제공된다.
트레이닝 제어 모듈(240)은 상기 측정 데이터에 기초하여 상기 컴팩트 모델을 보정하고(S323). 트레이닝 제어 모듈(240)은 보정된 상기 컴팩트 모델을 이용하여 갱신 트레이닝 데이터를 생성한다(S324).
트레이닝 제어 모듈(240)은 상기 갱신 트레이닝 데이터에 기초하여 상기 딥 러닝 모델을 재학습시킨다(S325). 트레이닝 제어 모듈(240)은 상기 기본 트레이닝 데이터에 의해 학습된 상기 딥 러닝 모델을 초기화하고, 초기화된 상기 딥 러닝 모델을 상기 갱신 트레이닝 데이터에 기초하여 다시 학습시킬 수 있다.
도 17에는 기본 트레이닝 데이터에 의해 학습된 딥 러닝 모델에서 제공되는 모델 불확실성 값의 분포의 일 예가 도시되어 있다. 도 17에서, 가로축들은 트랜지스터의 길이(L) 및 폭(W)을 나타내고 세로축은 데이터 불확실성 값(Um)을 나타낸다.
트레이닝 제어 모듈(240)은 데이터 불확실성 값의 분포에 기초하여 데이터 불확실성 값(Um)이 데이터 기준 값보다 큰 소자 데이터(예를 들어, 트랜지스터의 길이(L) 및 폭(W))의 범위를 나타내는 측정 데이터 범위(RGd1, RGd2)를 결정할 수 있다.
측정 데이터 범위(RGd1, RGd2)는 도 3의 반도체 제조 장비(31) 및 반도체 측정 장비(32)에 제공되고, 반도체 제조 장비(31) 및 반도체 측정 장비(32)는 측정 데이터 범위(RGd1, RGd2)에 속하는 소자 데이터에 상응하는 반도체 소자의 특성을 측정하여 측정 데이터(MD)를 제공할 수 있다.
도 18 및 19는 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법에 포함되는 모델 불확실성 값에 기초한 재학습 방법의 실시예들을 나타내는 흐름도들이다.
도 2 및 18을 참조하면, 프로세서들(110) 중 적어도 하나에 의해 실행되는 트레이닝 제어 모듈(240)은, 딥 러닝 모델(DLM)을 이용하여 딥 러닝 모델(DLM)의 입력 데이터에 상응하는 모델 불확실성 값(Um) 및 데이터 불확실성 값(Ud)을 생성할 수 있다(S11).
전술한 바와 같이, 모델 불확실성 값(Um)은 기본 트레이닝 데이터의 부족에 기인한 예측 데이터의 불확실성을 나타내고, 데이터 불확실성 값(Ud)은 기본 트레이닝 데이터의 부족에 기인한 예측 데이터의 불확실성을 나타낸다.
트레이닝 제어 모듈(240)은 모델 불확실성 값(Um)을 모델 기준 값(Rm)과 비교한다(S12).
모델 불확실성 값(Um)이 상기 모델 기준 값(Rm)보다 큰 경우(S12: YES), 트레이닝 제어 모듈(240)은 도 14를 참조하여 설명한 바와 같은 제1 재학습을 수행한다(S13).
전술한 바와 같이, 트레이닝 제어 모듈(240)은 컴팩트 모델을 이용하여 기본 트레이닝 데이터와 다른 추가 트레이닝 데이터를 생성하고 추가 트레이닝 데이터에 기초하여 상기 딥 러닝 모델을 재학습시키는 방식으로 제1 재학습을 수행할 수 있다. 이때, 트레이닝 제어 모듈(240)은 기본 트레이닝 데이터에 의해 학습된 딥 러닝 모델을 초기화하지 않고 상기 추가 트레이닝 데이터에 기초하여 추가적으로 학습시킬 수 있다.
모델 불확실성 값(Um)이 상기 모델 기준 값(Rm)보다 크지 않은 경우(S12: NO), 트레이닝 제어 모듈(240)은 데이터 불확실성 값(Um)을 데이터 기준 값(Rm)과 비교한다(S314).
데이터 불확실성 값(Um)이 데이터 기준 값(Rm)보다 큰 경우(S14: YES), 트레이닝 제어 모듈(240)은 도 13을 참조하여 설명한 바와 같은 제2 재학습을 수행한다(S15).
전술한 바와 같이, 트레이닝 제어 모듈(240)은 반도체 소자의 특성을 측정하여 생성되는 측정 데이터를 수신하고, 상기 측정 데이터에 기초하여 상기 컴팩트 모델을 보정하고, 보정된 상기 컴팩트 모델을 이용하여 갱신 트레이닝 데이터를 생성하고, 상기 갱신 트레이닝 데이터에 기초하여 상기 딥 러닝 모델을 재학습시키는 방식으로 제2 재학습을 수행할 수 있다. 이때, 트레이닝 제어 모듈(240)은 상기 기본 트레이닝 데이터에 의해 학습된 상기 딥 러닝 모델을 초기화하고, 초기화된 상기 딥 러닝 모델을 상기 갱신 트레이닝 데이터에 기초하여 다시 학습시킬 수 있다.
이와 같이, 트레이닝 제어 모듈(240)은 모델 불확실성에 기초하여 상기 제1 재학습의 수행 여부를 결정하고, 상기 제1 학습이 불필요한 경우 상기 데이터 불확실성에 기초하여 상기 제2 재학습의 수행 여부를 결정할 수 있다.
도 2 및 19를 참조하면, 프로세서들(110) 중 적어도 하나에 의해 실행되는 트레이닝 제어 모듈(240)은, 딥 러닝 모델(DLM)을 이용하여 딥 러닝 모델(DLM)의 입력 데이터에 상응하는 모델 불확실성 값(Um) 및 데이터 불확실성 값(Ud)을 생성할 수 있다(S21).
전술한 바와 같이, 모델 불확실성 값(Um)은 기본 트레이닝 데이터의 부족에 기인한 예측 데이터의 불확실성을 나타내고, 데이터 불확실성 값(Ud)은 기본 트레이닝 데이터의 부족에 기인한 예측 데이터의 불확실성을 나타낸다.
트레이닝 제어 모듈(240)은 모델 불확실성 값(Um)을 모델 기준 값(Rm)과 비교한다(S22).
모델 불확실성 값(Um)이 상기 모델 기준 값(Rm)보다 큰 경우(S22: YES), 트레이닝 제어 모듈(240)은 도 14를 참조하여 설명한 바와 같은 제1 재학습을 수행한다(S23).
전술한 바와 같이, 트레이닝 제어 모듈(240)은 컴팩트 모델을 이용하여 기본 트레이닝 데이터와 다른 추가 트레이닝 데이터를 생성하고 추가 트레이닝 데이터에 기초하여 상기 딥 러닝 모델을 재학습시키는 방식으로 제1 재학습을 수행할 수 있다. 이때, 트레이닝 제어 모듈(240)은 기본 트레이닝 데이터에 의해 학습된 딥 러닝 모델을 초기화하지 않고 상기 추가 트레이닝 데이터에 기초하여 추가적으로 학습시킬 수 있다.
한편, 모델 불확실성 값(Um)에 관계없이, 트레이닝 제어 모듈(240)은 데이터 불확실성 값(Um)을 데이터 기준 값(Rm)과 비교한다(S324).
데이터 불확실성 값(Um)이 데이터 기준 값(Rm)보다 큰 경우(S24: YES), 트레이닝 제어 모듈(240)은 도 16을 참조하여 설명한 바와 같은 제2 재학습을 수행한다(S25).
전술한 바와 같이, 트레이닝 제어 모듈(240)은 반도체 소자의 특성을 측정하여 생성되는 측정 데이터를 수신하고, 상기 측정 데이터에 기초하여 상기 컴팩트 모델을 보정하고, 보정된 상기 컴팩트 모델을 이용하여 갱신 트레이닝 데이터를 생성하고, 상기 갱신 트레이닝 데이터에 기초하여 상기 딥 러닝 모델을 재학습시키는 방식으로 제2 재학습을 수행할 수 있다. 이때, 트레이닝 제어 모듈(240)은 상기 기본 트레이닝 데이터에 의해 학습된 상기 딥 러닝 모델을 초기화하고, 초기화된 상기 딥 러닝 모델을 상기 갱신 트레이닝 데이터에 기초하여 다시 학습시킬 수 있다.
이와 같이, 트레이닝 제어 모듈(240)은 상기 모델 불확실성에 기초한 상기 제1 재학습의 수행 여부 및 상기 데이터 불확실성에 기초한 상기 제2 재학습의 수행 여부를 각각 독립적으로 결정할 수 있다.
제1 재학습은 기설립된 컴팩트 모델을 이용하여 상대적으로 신속하게 수행될 수 있는 반면에, 제2 재학습은 측정 데이터의 제공에 상당한 시간이 소요된다. 설계 및 제조의 제반 사항을 고려하여 도 18의 시나리오 또는 도 19의 시나리오가 적절하게 선택될 수 있을 것이다.
이상 설명한 바와 같이, 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법 및 컴퓨팅 장치는 기존의 반도체 제품들에 대한 컴팩트 모델들을 이용하여 공정 데이터를 포함하는 트레이닝 데이터를 생성하고 상기 기본 트레이닝 데이터에 기초하여 딥 러닝 모델을 학습시킴으로써 새로운 반도체 제품에 포함되는 반도체 소자의 특성을 효율적으로 예측할 수 있다.
또한, 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법 및 컴퓨팅 장치는 반도체 소자의 특성을 나타내는 예측 데이터와 함께 상기 예측 데이터의 불확실성을 나타내는 불확실성 데이터를 출력하도록 딥 러닝 모델을 학습시키고 상기 불확실성 데이터에 기초하여 상기 딥 러닝 모델을 재학습시킴으로써 반도체 소자의 특성을 정확하게 예측할 수 있는 딥 러닝 모델을 제공할 수 있다.
또한, 본 발명의 실시예들에 따른 반도체 소자의 특성 예측 방법 및 컴퓨팅 장치는, 예측 데이터의 불확실성의 유형에 따라서 딥 러닝 모델의 재학습 방법을 결정함으로써 효율적으로 반도체 소자의 특성을 정확하게 예측할 수 있는 딥 러닝 모델을 제공할 수 있다.
상기 딥 러닝 모델의 향상된 예측 성능을 통하여 상기 반도체 소자를 포함하는 반도체 제품의 설계 및 제조의 비용 및 시간을 감소하고 반도체 제품의 성능을 향상시킬 수 있다.
해당 기술 분야의 숙련된 당업자는 본 발명의 실시예들이 시스템, 방법, 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터로 판독 가능한 프로그램 코드를 포함하는 제품 등의 형태로 구현될 수 있음을 이해할 것이다. 상기 컴퓨터로 판독 가능한 프로그램 코드는 다양한 컴퓨터 또는 다른 데이터 처리 장치의 프로세서로 제공될 수 있다. 상기 컴퓨터로 판독 가능한 매체는 컴퓨터로 판독 가능한 신호 매체 또는 컴퓨터로 판독 가능한 기록 매체일 수 있다. 상기 컴퓨터로 판독 가능한 기록 매체는 명령어 실행 시스템, 장비 또는 장치 내에 또는 이들과 접속되어 프로그램 코드 저장하거나 포함할 수 있는 임의의 유형적인 매체일 수 있다.
본 개시에서 '모듈'이라는 용어는 소프트웨어 또는 FPGA(Field Programmable Gate Array)또는 ASIC(Application Specific Integrated Circuit)과 같은 하드웨어 구성요소를 의미하며, '모듈'은 어떤 역할들을 수행한다. 그렇지만 '모듈'은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '모듈'은 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함할 수 있다. 구성요소들과 '모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '모듈'들로 결합되거나 추가적인 구성요소들과 '모듈'들로 더 분리될 수 있다.
본 발명의 실시예들은 반도체 집적 회로의 제조 및 설계에 유용하게 이용될 수 있다. 특히 본 발명의 실시예들은 메모리 카드, 솔리드 스테이트 드라이브(Solid State Drive; SSD), 임베디드 멀티미디어 카드(eMMC, embedded multimedia card), 유니버셜 플래시 스토리지(UFS, universal flash storage), 컴퓨터(computer), 노트북(laptop), 핸드폰(cellular phone), 스마트폰(smart phone), MP3 플레이어, 피디에이(Personal Digital Assistants; PDA), 피엠피(Portable Multimedia Player; PMP), 디지털 TV, 디지털 카메라, 포터블 게임 콘솔(portable game console), 네비게이션(navigation) 기기, 웨어러블(wearable) 기기, IoT(internet of things;) 기기, IoE(internet of everything:) 기기, e-북(e-book), VR(virtual reality) 기기, AR(augmented reality) 기기, 서버 시스템, 자율 주행 시스템 등과 같은 전자 기기에 더욱 유용하게 적용될 수 있다.
상기에서는 본 발명이 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.

Claims (10)

  1. 컴퓨터로 판독 가능한 기록 매체에 저장되는 프로그램 코드를 적어도 하나의 프로세서에 의해 실행하여 수행되는 반도체 소자의 특성 예측 방법으로서,
    소자 데이터에 기초한 시뮬레이션을 수행하여 상기 소자 데이터에 상응하는 반도체 소자의 특성을 나타내는 시뮬레이션 결과 데이터를 제공하고 복수의 공정 데이터들 및 복수의 반도체 제품들에 각각 상응하는 복수의 컴팩트 모델들을 이용하여 상기 공정 데이터, 상기 소자 데이터 및 상기 시뮬레이션 결과 데이터의 조합에 상응하는 기본 트레이닝 데이터를 생성하는 단계;
    상기 기본 트레이닝 데이터에 기초하여 상기 반도체 소자의 특성을 나타내는 예측 데이터를 출력하는 딥 러닝 모델을 학습시키는 단계; 및
    상기 딥 러닝 모델, 타겟 반도체 제품에 상응하는 상기 공정 데이터 및 상기 소자 데이터에 기초하여 상기 타겟 반도체 제품에 포함되는 상기 반도체 소자의 특성을 나타내는 타겟 예측 데이터를 생성하는 단계를 포함하는 반도체 소자의 특성 예측 방법.
  2. 제1 항에 있어서,
    상기 타겟 반도체 제품은, 상기 복수의 컴팩트 모델들에 각각 상응하는 상기 복수의 반도체 제품들에 포함되지 않는 새로운 반도체 제품인 것을 특징으로 하는 반도체 소자의 특성 예측 방법.
  3. 제1 항에 있어서,
    상기 공정 데이터는 반도체 제품의 제조 공정을 나타내는 공정 타입 및 반도체 제품이 속하는 제품 그룹의 공정-그룹 조합에 따라서 결정되고,
    상기 타겟 반도체 제품의 공정-그룹 조합은 상기 복수의 반도체 제품들의 공정-제품 조합들에 포함되지 않는 새로운 조합인 것을 특징으로 하는 반도체 소자의 특성 예측 방법.
  4. 제1 항에 있어서,
    상기 복수의 반도체 제품들 및 상기 타겟 반도체 제품은 메모리 장치인 것을 특징으로 하는 반도체 소자의 특성 예측 방법.
  5. 제1 항에 있어서,
    상기 소자 데이터는 상기 반도체 소자의 구조 및 동작 조건을 나타내고,
    상기 시뮬레이션 결과 데이터 및 상기 예측 데이터는 상기 반도체 소자의 전기적 특성을 나타내고,
    상기 공정 데이터는 상기 반도체 제품의 제조 공정의 조건을 나타내는 것을 특징으로 하는 반도체 소자의 특성 예측 방법.
  6. 제1 항에 있어서,
    상기 복수의 컴팩트 모델들의 입력 데이터는 상기 공정 데이터를 포함하지 않고 상기 소자 데이터만을 포함하고,
    상기 딥 러닝 모델의 입력 데이터는 상기 공정 데이터 및 상기 소자 데이터를 모두 포함하는 것을 특징으로 하는 반도체 소자의 특성 예측 방법.
  7. 제1 항에 있어서,
    상기 예측 데이터의 불확실성을 나타내는 불확실성 데이터를 더 출력하도록 상기 딥 러닝 모델을 학습시키고,
    상기 불확실성 데이터에 기초하여 상기 딥 러닝 모델을 재학습시키는 단계를 더 포함하는 것을 특징으로 하는 반도체 소자의 특성 예측 방법.
  8. 제7 항에 있어서,
    상기 불확실성 데이터는 상기 기본 트레이닝 데이터의 부족에 기인한 상기 예측 데이터의 불확실성을 나타내는 모델 불확실성 값을 포함하고,
    상기 딥 러닝 모델을 재학습시키는 단계는,
    상기 모델 불확실성 값을 모델 기준 값과 비교하는 단계;
    상기 모델 불확실성 값이 상기 상기 모델 기준 값보다 큰 경우, 상기 컴팩트 모델을 이용하여 상기 기본 트레이닝 데이터와 다른 추가 트레이닝 데이터를 생성하는 단계; 및
    상기 추가 트레이닝 데이터에 기초하여 상기 딥 러닝 모델을 재학습시키는 단계를 포함하는 것을 특징으로 하는 반도체 소자의 특성 예측 방법.
  9. 제7 항에 있어서,
    상기 불확실성 데이터는 상기 기본 트레이닝 데이터의 노이즈에 기인한 상기 예측 데이터의 불확실성을 나타내는 데이터 불확실성 값을 포함하고,
    상기 딥 러닝 모델을 재학습시키는 단계는,
    상기 데이터 불확실성 값을 데이터 기준 값과 비교하는 단계;
    상기 데이터 불확실성 값이 상기 데이터 기준 값보다 큰 경우, 상기 반도체 소자의 특성을 측정하여 측정 데이터를 제공하는 단계;
    상기 측정 데이터에 기초하여 상기 컴팩트 모델을 보정하는 단계;
    보정된 상기 컴팩트 모델을 이용하여 갱신 트레이닝 데이터를 생성하는 단계; 및
    상기 갱신 트레이닝 데이터에 기초하여 상기 딥 러닝 모델을 재학습시키는 단계를 포함하는 것을 특징으로 하는 반도체 소자의 특성 예측 방법.
  10. 적어도 하나의 프로세서; 및
    딥 러닝 모델을 생성하도록 상기 적어도 하나의 프로세서에 의해 실행되는 프로그램 코드 및 소자 데이터에 기초한 시뮬레이션을 수행하여 상기 소자 데이터에 상응하는 반도체 소자의 특성을 나타내는 시뮬레이션 결과 데이터를 제공하고 복수의 공정 데이터들 및 복수의 반도체 제품들에 각각 상응하는 복수의 컴팩트 모델들을 저장하는 컴퓨터로 판독 가능한 기록 매체를 포함하고,
    상기 적어도 하나의 프로세서는 상기 프로그램 코드를 실행하여,
    상기 복수의 컴팩트 모델들을 이용하여 상기 공정 데이터, 상기 소자 데이터 및 상기 시뮬레이션 결과 데이터의 조합에 상응하는 기본 트레이닝 데이터를 생성하고,
    상기 기본 트레이닝 데이터에 기초하여 상기 반도체 소자의 특성을 나타내는 예측 데이터를 제공하는 딥 러닝 모델을 학습시키고,
    상기 딥 러닝 모델, 타겟 반도체 제품에 상응하는 상기 공정 데이터 및 상기 소자 데이터에 기초하여 상기 타겟 반도체 제품에 포함되는 상기 반도체 소자의 특성을 나타내는 타겟 예측 데이터를 생성하는 컴퓨팅 장치.
KR1020210109559A 2021-08-19 2021-08-19 딥 러닝 기반의 반도체 소자의 특성 예측 방법 및 이를 수행하는 컴퓨팅 장치 KR20230027585A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020210109559A KR20230027585A (ko) 2021-08-19 2021-08-19 딥 러닝 기반의 반도체 소자의 특성 예측 방법 및 이를 수행하는 컴퓨팅 장치
US17/699,489 US20230053696A1 (en) 2021-08-19 2022-03-21 Method of predicting characteristics of semiconductor device and computing device performing the same
CN202210960782.8A CN115708101A (zh) 2021-08-19 2022-08-11 预测半导体装置的特性的方法和执行该方法的计算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210109559A KR20230027585A (ko) 2021-08-19 2021-08-19 딥 러닝 기반의 반도체 소자의 특성 예측 방법 및 이를 수행하는 컴퓨팅 장치

Publications (1)

Publication Number Publication Date
KR20230027585A true KR20230027585A (ko) 2023-02-28

Family

ID=85212965

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210109559A KR20230027585A (ko) 2021-08-19 2021-08-19 딥 러닝 기반의 반도체 소자의 특성 예측 방법 및 이를 수행하는 컴퓨팅 장치

Country Status (3)

Country Link
US (1) US20230053696A1 (ko)
KR (1) KR20230027585A (ko)
CN (1) CN115708101A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116486893B (zh) * 2023-04-23 2023-12-12 珠海妙存科技有限公司 Ufs验证方法、装置、电子设备及计算机可读存储介质

Also Published As

Publication number Publication date
US20230053696A1 (en) 2023-02-23
CN115708101A (zh) 2023-02-21

Similar Documents

Publication Publication Date Title
CN110651280B (zh) 投影神经网络
KR20230047351A (ko) 문항 평가 방법 및 이를 이용한 디바이스
CN111950718B (zh) 利用存算一体芯片实现递进式cnn运算的方法
US11454978B2 (en) Systems and methods for improving generalization in visual navigation
US20190065962A1 (en) Systems And Methods For Determining Circuit-Level Effects On Classifier Accuracy
US11868876B2 (en) Systems and methods for sparsity exploiting
US11697205B2 (en) Determining control policies for robots with noise-tolerant structured exploration
CN111587439A (zh) 脉冲宽度调制的乘法器
KR20230027585A (ko) 딥 러닝 기반의 반도체 소자의 특성 예측 방법 및 이를 수행하는 컴퓨팅 장치
Lin et al. An ensemble method for inverse reinforcement learning
KR20230057673A (ko) 딥 러닝 기반의 반도체 소자의 특성 예측 방법 및 이를 수행하는 컴퓨팅 장치
US7933449B2 (en) Pattern recognition method
KR20230027588A (ko) 딥 러닝 모델의 생성 방법 및 이를 수행하는 컴퓨팅 장치 장치
KR20230052450A (ko) 딥 러닝 기반의 반도체 소자의 특성 예측 방법 및 이를 수행하는 컴퓨팅 장치
KR20230092670A (ko) 소자 모델의 생성 방법 및 이를 수행하는 컴퓨팅 장치
WO2021240661A1 (ja) 学習装置、学習方法、推定装置、推定方法及びプログラム
KR20230013995A (ko) 공정 시뮬레이션 모델 생성 방법 및 장치
CN111527502B (zh) 用于部分数字再训练的系统和方法
US20230194594A1 (en) Method of generating device model and computing device performing the same
Souza et al. A Geometric Surrogate for Simulation Calibration
EP4310720A1 (en) Modeling method of neural network for simulation in semiconductor design process, and simulation method in semiconductor design process using the same
KR102614909B1 (ko) 희소화를 이용한 뉴럴 네트워크 연산 방법 및 장치
US10650581B1 (en) Sketch-based 3D fluid volume generation using a machine learning system
US20220237452A1 (en) Neural network device, information processing device, and computer program product
JP2024071354A (ja) イメージを処理する電子装置及びその動作方法