KR20200025845A - Device of critical dimension based on controlled random search and method implementing thereof - Google Patents

Device of critical dimension based on controlled random search and method implementing thereof Download PDF

Info

Publication number
KR20200025845A
KR20200025845A KR1020180103784A KR20180103784A KR20200025845A KR 20200025845 A KR20200025845 A KR 20200025845A KR 1020180103784 A KR1020180103784 A KR 1020180103784A KR 20180103784 A KR20180103784 A KR 20180103784A KR 20200025845 A KR20200025845 A KR 20200025845A
Authority
KR
South Korea
Prior art keywords
sample data
spectrum
controller
algorithm execution
calculating
Prior art date
Application number
KR1020180103784A
Other languages
Korean (ko)
Other versions
KR102548410B1 (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 KR1020180103784A priority Critical patent/KR102548410B1/en
Publication of KR20200025845A publication Critical patent/KR20200025845A/en
Application granted granted Critical
Publication of KR102548410B1 publication Critical patent/KR102548410B1/en

Links

Images

Classifications

    • 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
    • H01L22/12Measuring as part of the manufacturing process for structural parameters, e.g. thickness, line width, refractive index, temperature, warp, bond strength, defects, optical inspection, electrical measurement of structural dimensions, metallurgic measurement of diffusions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B11/00Recording on or reproducing from the same record carrier wherein for these two operations the methods are covered by different main groups of groups G11B3/00 - G11B7/00 or by different subgroups of group G11B9/00; Record carriers 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/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)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Investigating Or Analysing Materials By Optical Means (AREA)

Abstract

The present invention relates to a device for calculating a CD of an optimal model based on a control random search and a method for implementing the same. According to one embodiment of the present invention, the device comprises: a spectrum input unit configured to receive a measurement spectrum measured for each wavelength from a semiconductor device; a library unit configured to store sample data for calculating a test spectrum for comparison with the measurement spectrum; a controller including a simplex algorithm execution unit and a differential evolution (DE) algorithm execution unit, configured to control the library unit to calculate a test spectrum corresponding to sample data calculated from any one of the two algorithm execution units, and configured to repeat a process of calculating sample data for minimizing a difference by comparing the measurement spectrum with the test spectrum; and an output unit configured to output the sample data calculated by the controller and having a minimum difference of the test spectrum.

Description

컨트롤 랜덤 서치에 기반하여 최적 모델의 CD를 산출하는 장치 및 이를 구현하는 방법{DEVICE OF CRITICAL DIMENSION BASED ON CONTROLLED RANDOM SEARCH AND METHOD IMPLEMENTING THEREOF}DEVICE OF CRITICAL DIMENSION BASED ON CONTROLLED RANDOM SEARCH AND METHOD IMPLEMENTING THEREOF}

본 발명은 컨트롤 랜덤 서치에 기반하여 최적 모델의 CD를 산출하는 장치 및 이를 구현하는 방법에 관한 것이다.The present invention relates to an apparatus for calculating a CD of an optimal model based on a control random search and a method of implementing the same.

반도체를 제조하는 과정에서 반도체의 물리적 특성을 확인하기 위해 반도체 소자들에 배치된 구조들의 패턴을 측정할 수 있다. 패턴을 확인하기 위해 소자에 배치된 구조들의 미세 패턴에 대한 임계 치수(CD, Critical Dimension)를 산출할 수 있다. In the process of fabricating the semiconductor, the pattern of the structures disposed in the semiconductor devices may be measured to confirm physical properties of the semiconductor. In order to confirm the pattern, a critical dimension (CD) of the fine pattern of the structures disposed in the device may be calculated.

반도체의 CD 파라미터를 모델링하는 방법으로, 반도체에서 계측된 계측 스펙트럼과 반도체에 대해 모델링된 CD 파라미터에 대응하는 테스트 스펙트럼을 비교한다. 그리고, 비교 과정에서 산출된 계측 스펙트럼과 테스트 스펙트럼과의 차이를 최소로 만드는 테스트 스펙트럼을 찾아 이에 대응하는 CD 파라미터를 통해 반도체의 CD 파라미터를 추정하는 방법을 사용할 수 있다. A method of modeling a CD parameter of a semiconductor is to compare measurement spectra measured at the semiconductor with test spectra corresponding to the CD parameter modeled for the semiconductor. In addition, a method of estimating the CD parameter of the semiconductor may be used by finding a test spectrum that minimizes the difference between the measurement spectrum and the test spectrum calculated in the comparison process and corresponding CD parameters.

이를 위해, 반도체에서 계측된 스펙트럼을 모델링할 수 있는 CD 파라미터를 통계 모형에서 산출하여 반도체 스펙트럼을 빠르고 정확하게 추정하는 기술이 필요하다. To this end, there is a need for a technique for quickly and accurately estimating semiconductor spectra by calculating CD parameters that can model spectra measured in semiconductors in statistical models.

본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 반도체 장치로부터 계측된 스펙트럼에 근접한 테스트 스펙트럼을 산출하고, 이에 대응하는 CD 파라미터를 산출하는 것을 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object thereof is to calculate a test spectrum close to the spectrum measured from a semiconductor device and to calculate a corresponding CD parameter.

또한, 본 발명은 CD 파라미터를 산출함에 있어서 계산 속도와 정확도를 높이기 위해 컨트롤 랜덤 서치에 기반하여 샘플 데이터를 생성하는 것을 목적으로 한다. In addition, an object of the present invention is to generate sample data based on a control random search in order to increase the calculation speed and accuracy in calculating CD parameters.

본 발명의 목적은 전술한 목적에 한정되지 않으며, 본 발명의 구조와 제조 방법은 다양한 목적을 가질 수 있다.The object of the present invention is not limited to the above-described object, the structure and manufacturing method of the present invention may have a variety of objects.

상술한 기술적 과제를 해결하기 위한 본 발명의 일 측면에 따르는 장치는 반도체 장치로부터 파장 별로 계측된 계측 스펙트럼을 입력받는 스펙트럼 입력부, 계측 스펙트럼과 비교하기 위한 테스트 스펙트럼을 산출하는 샘플 데이터가 저장된 라이브러리부, 심플렉스 알고리즘 실행부와 DE(Differential Evolution) 알고리즘 실행부를 포함하며 이들 두 개의 알고리즘 실행부 중 어느 하나에서 산출된 샘플 데이터에 대응하는 테스트 스펙트럼을 라이브러리 부에서 산출하도록 제어하고, 계측 스펙트럼과 테스트 스펙트럼을 비교하여 차이를 최소화하는 샘플 데이터를 산출하는 과정을 반복하는 컨트롤러, 그리고 컨트롤러가 최소 차이의 테스트 스펙트럼을 산출한 샘플 데이터를 출력하는 출력부를 포함한다. An apparatus according to an aspect of the present invention for solving the above technical problem is a spectrum input unit for receiving a measurement spectrum measured for each wavelength from a semiconductor device, a library unit for storing a sample data for calculating a test spectrum for comparison with the measurement spectrum, It includes a simplex algorithm execution unit and a differential evolution algorithm execution unit, and controls the library unit to generate a test spectrum corresponding to the sample data generated by either of these two algorithm execution units, and to measure the measurement spectrum and the test spectrum. And a controller for repeating a process of calculating sample data for minimizing the difference, and an output unit for outputting sample data for which the controller calculates a test spectrum of the minimum difference.

본 발명의 일 측면에 따르는 컨트롤 랜덤 서치에 기반하여 최적 모델의 CD를 산출하는 방법은 스펙트럼 입력부가 반도체 장치로부터 파장 별로 계측된 계측 스펙트럼을 입력받는 단계, 심플렉스 알고리즘 실행부와 DE(Differential Evolution) 알고리즘 실행부를 포함하는 컨트롤러가 이들 두 개의 알고리즘 실행부 중 어느 하나에서 샘플 데이터를 산출하는 단계, 컨트롤러가 선택된 샘플 데이터에 대응하는 테스트 스펙트럼을 라이브러리로부터 산출하는 단계, 컨트롤러가 계측 스펙트럼과 테스트 스펙트럼을 비교하여 차이를 최소화하는 샘플 데이터를 산출하는 과정을 반복하는 단계, 그리고 컨트롤러가 최소 차이의 테스트 스펙트럼을 산출한 샘플 데이터를 출력부에 제공하여 출력부가 출력하는 단계를 포함한다. Method for calculating the CD of the optimal model based on the control random search according to an aspect of the present invention comprises the steps of the spectrum input unit receives the measurement spectrum measured for each wavelength from the semiconductor device, the simplex algorithm execution unit and DE (Differential Evolution) A controller comprising an algorithm execution unit calculates sample data from either of these two algorithm execution units, the controller calculates a test spectrum corresponding to the selected sample data from the library, and the controller compares the measurement spectrum with the test spectrum. And repeating the process of calculating sample data for minimizing the difference, and providing the sample data in which the controller calculates a test spectrum of the minimum difference to the output unit and outputting the output unit.

본 발명은 반도체 장치로부터 계측된 스펙트럼에 근접한 테스트 스펙트럼을 산출하고, 이에 대응하는 CD 파라미터를 산출하여 반도체 장치의 모델 CD 파라미터를 정확하고 빠르게 추정할 수 있다. The present invention can calculate the test spectrum close to the spectrum measured from the semiconductor device, calculate the CD parameter corresponding thereto, and accurately and quickly estimate the model CD parameter of the semiconductor device.

또한, 본 발명은 CD 파라미터를 산출함에 있어서 컨트롤 랜덤 서치에 기반하여 샘플 데이터를 생성하여 계산 속도와 정확도를 높일 수 있다. In addition, the present invention can increase the calculation speed and accuracy by generating sample data based on the control random search in calculating the CD parameter.

본 발명의 효과는 전술한 효과에 한정되지 않으며, 본 발명의 당업자들은 본 발명의 구성에서 본 발명의 다양한 효과를 쉽게 도출할 수 있다.The effects of the present invention are not limited to the above effects, and those skilled in the art can easily derive various effects of the present invention from the configuration of the present invention.

도 1은 본 발명의 일 실시예에 의한 최적의 CD를 산출하는 장치의 구성을 보여주는 도면이다.
도 2는 본 발명의 일 실시예에 의한 CD 산출 과정을 보여주는 도면이다.
도 3은 본 발명의 일 실시예에 의한 CD 파라미터와 MSE 사이의 관계를 보여주는 도면이다.
도 4는 국소 최적해와 전역 최적해를 보여주는 그래프이다.
도 5는 본 발명의 일 실시예에 의한 컨트롤러가 CRS를 수행하는 과정을 보여주는 도면이다.
도 6은 본 발명의 일 실시예에 의한 컨트롤러의 세부 구성을 보여주는 도면이다.
도 7 내지 도 10은 본 발명의 일 실시예에 의한 컨트롤러의 세부적인 구성을 보여주는 도면이다.
도 11은 본 발명의 일 실시예에 의한 DE 알고리즘 실행부가 파라미터를 산출하는 과정을 보여주는 도면이다
도 12는 본 발명의 일 실시예에 의한 알고리즘의 확률적 선택 과정을 보여주는 도면이다.
1 is a view showing the configuration of an apparatus for calculating an optimal CD according to an embodiment of the present invention.
2 is a diagram illustrating a CD calculation process according to an embodiment of the present invention.
3 is a diagram illustrating a relationship between a CD parameter and an MSE according to an embodiment of the present invention.
4 is a graph showing local and global optimal solutions.
5 is a diagram illustrating a process of performing a CRS by a controller according to an embodiment of the present invention.
6 is a view showing a detailed configuration of a controller according to an embodiment of the present invention.
7 to 10 are views showing a detailed configuration of a controller according to an embodiment of the present invention.
11 is a diagram illustrating a process of calculating a parameter by a DE algorithm execution unit according to an embodiment of the present invention.
12 is a diagram illustrating a probabilistic selection process of an algorithm according to an embodiment of the present invention.

본 발명을 더 쉽게 이해하기 위해 편의상 특정 용어를 본원에 정의한다. 본 명세서에서 달리 정의하지 않는 한, 명세서 내에서 사용된 과학 용어 및 기술 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미를 가질 수 있다. Certain terms are defined herein for convenience of understanding the invention. Unless otherwise defined herein, scientific and technical terms used herein may have the meanings that are commonly understood by one of ordinary skill in the art.

또한, 문맥상 특별히 지정하지 않는 한, 단수 형태의 용어는 그것의 복수 형태도 포함하는 것이며, 복수 형태의 용어는 그것의 단수 형태도 포함할 수 있다. In addition, the singular forms also include their plural forms, and the plural forms of terms may also include the singular forms thereof, unless the context clearly indicates otherwise.

반도체 장치(device), 예를 들어 반도체 칩(Chip)의 프로파일(Profile)을 규명하기 위해 OCD(Optical Critical Dimension) 장비를 사용하여 CD(Critical Dimension)값을 측정하고자 할 때 통계 최적화 알고리즘을 적용할 수 있다.In order to determine the profile of a semiconductor device, for example, a semiconductor chip, a statistical optimization algorithm is applied to measure a CD (Critical Dimension) value using an optical critical dimension (OCD) device. Can be.

본 명세서에서는 OCD 장비를 사용하여 계측한 스펙트럼과 RCWA(Rigorous Coupled Wave Analysis)모델로부터 얻은 스펙트럼 간의 차이를 최소화하는 모델의 CD 파라미터를 실제 계측된 계측 스펙트럼의 CD 파라미터로 추정한다. 이를 위하여 최적화된 CD 파라미터를 모델로부터 찾는 과정에서 CRS(Controlled Random Search) 방식을 적용하고자 한다. In this specification, a CD parameter of a model that minimizes a difference between a spectrum measured using an OCD device and a spectrum obtained from a rigid coupled wave analysis (RCWA) model is estimated as a CD parameter of an actually measured measurement spectrum. To this end, we will apply the CRS (Controlled Random Search) method in the process of finding the optimized CD parameters from the model.

전술한 CRS를 적용할 경우, 본 명세서에서는 파라미터(CD 값) 사이의 상관관계(Correlation)가 높은 HAR 패턴(High Aspect Ratio Pattern)에서도 적절한 CD 파라미터를 산출할 수 있다. 즉, 본 명세서에서는 계측에 가장 적합하도록 CRS를 적용할 수 있다. In the case of applying the above-described CRS, in the present specification, an appropriate CD parameter may be calculated even in a high aspect ratio pattern having a high correlation between parameters (CD values). That is, in the present specification, the CRS may be applied to be most suitable for measurement.

도 1은 본 발명의 일 실시예에 의한 최적의 CD를 산출하는 장치의 구성을 보여주는 도면이다. 1 is a view showing the configuration of an apparatus for calculating an optimal CD according to an embodiment of the present invention.

CD 파라미터를 산출하는 장치(100)는 소정의 입력된 정보들과 저장된 정보들을 이용하여 컴퓨팅한 결과를 출력한다. 장치(100)는 노트북, 컴퓨터 또는 기타 알고리즘을 실행하고 구현할 수 있는 장치를 포함한다. 또는 도 1의 장치(100)는 CD 파라미터를 산출하는 작업만을 수행하는 컴퓨팅 장치를 포함한다. 장치(100)는 세부 구성들로써 소프트웨어 구성 요소 또는 하드웨어 구성 요소를 포함할 수 있다. The apparatus 100 for calculating a CD parameter outputs a result of computing by using predetermined input information and stored information. Device 100 includes a device capable of executing and implementing a notebook, computer or other algorithm. Alternatively, the device 100 of FIG. 1 includes a computing device that performs only a task of calculating CD parameters. The device 100 may include a software component or a hardware component as detailed configurations.

장치의 구성은 스펙트럼 입력부(120), 라이브러리부(140), 출력부(180) 및 이들을 제어하며 최적의 CD 파라미터를 산출하는 컨트롤러(160)로 구성된다. 컨트롤러는 소정의 최적화 알고리즘을 구현하는 소프트웨어 코드 또는 이를 구현한 하드웨어 칩 중 어느 하나 이상을 포함한다. The configuration of the apparatus consists of a spectrum input unit 120, a library unit 140, an output unit 180 and a controller 160 that controls them and calculates optimal CD parameters. The controller includes one or more of software code for implementing a predetermined optimization algorithm or a hardware chip for implementing the same.

라이브러리부(140)는 CRS(Controlled Random Search)에서 샘플 데이터(CD 값들, CD parameter)를 산출함에 있어서의 해당 샘플 데이터에 대응하는 함수값(테스트 스펙트럼)을 반환하는 역할을 한다. 또한, 라이브러리부(140)는 최적의 샘플 데이터를 산출하는데 필요한 정보를 컨트롤러(160)에게 제공한다. 샘플 데이터에 대응하는 테스트 스펙트럼 정보가 라이브러리부(140)에 저장되며, 라이브러리 구성을 위한 샘플 데이터는 고정될 수도 있고, 샘플 데이터를 새로이 산출하는 과정에서 추가될 수도 있다. 또한, 컨트롤러(160)의 제어에 의해 RCWA 시뮬레이션에 따라 스펙트럼을 산출하여 CD 파라미터들을 추가하거나 변경할 수 있다. 출력부(180)는 입력된 스펙트럼과 CD 파라미터에 기반하여 라이브러리부(140)가 산출한 테스트 스펙트럼 사이의 차이를 최소화하는 모델의 CD 파라미터, 즉 컨트롤러(160)가 산출한 샘플 데이터를 출력한다. 즉, 컨트롤러(160)는 다수의 알고리즘을 이용하여 샘플 데이터를 산출하고, 여기에서 라이브러리부에 의해 산출된 테스트 스펙트럼을 계측 스펙트럼과 비교하여 그 차이를 최소화시키는 샘플 데이터를 CD 파라미터로 제공한다. The library unit 140 returns a function value (test spectrum) corresponding to the sample data in calculating sample data (CD values, CD parameter) in the CRS (Controlled Random Search). In addition, the library unit 140 provides the controller 160 with information necessary to calculate the optimal sample data. The test spectrum information corresponding to the sample data is stored in the library unit 140, and the sample data for configuring the library may be fixed or added in the process of newly calculating the sample data. In addition, CD parameters may be added or changed by calculating a spectrum according to RCWA simulation under the control of the controller 160. The output unit 180 outputs the CD parameter of the model that minimizes the difference between the test spectrum calculated by the library unit 140 based on the input spectrum and the CD parameter, that is, the sample data calculated by the controller 160. That is, the controller 160 calculates sample data using a plurality of algorithms, and compares the test spectrum calculated by the library unit with the measurement spectrum and provides sample data for minimizing the difference as a CD parameter.

도 1의 장치(100)를 이용하여, 반도체 장치로부터 파장 별로 계측된 계측 스펙트럼이 스펙트럼 입력부(120)를 통해 입력된다. 입력된 스펙트럼을 이용하여 컨트롤러(160)는 다양한 샘플 데이터를 추출하여 각 샘플 데이터에 대응하는 스펙트럼을 라이브러리부(140)로부터 반환 받는다. 컨트롤러(160)는 입력된 스펙트럼과 샘플 데이터에 대응하는 스펙트럼 사이의 차이를 최소화하는 샘플 데이터, 즉 모델의 CD 파라미터를 산출한다.Using the apparatus 100 of FIG. 1, the measurement spectrum measured for each wavelength from the semiconductor device is input through the spectrum input unit 120. Using the input spectrum, the controller 160 extracts various sample data and receives a spectrum corresponding to each sample data from the library unit 140. The controller 160 calculates sample data, that is, CD parameters of the model, which minimizes the difference between the input spectrum and the spectrum corresponding to the sample data.

보다 상세히, 컨트롤러(160)는 MSE(Mean Square Error)를 최소화하는 샘플데이터(CD) 파라미터를 산출할 수 있는데, MSE는 파장 별로 계측된 계측 스펙트럼과 라이브러리부(140)에서 추출된 스펙트럼 간 차이 제곱 합의 평균으로 산출할 수 있다. In more detail, the controller 160 may calculate a sample data (CD) parameter that minimizes Mean Square Error (MSE). The MSE is a square of the difference between the measured spectrum measured for each wavelength and the spectrum extracted from the library unit 140. It can be calculated as the mean of the sum.

종래에는 가우시안 뉴턴 방식(Gauss-Newton Method)을 사용하여 최적 샘플데이터(CD)를 도출하였다. 이는 기울기 벡터(Gradient Vector) 방향으로 1차 편미분한 자코비앙(Jacobian) 또는 2차 편미분한 헤시안(Hessian)을 이용하여 점진적으로 스텝만큼 움직이는 방식이다. Conventionally, the optimal sample data (CD) were derived using a Gaussian Newton method. This is a progressively stepwise movement using either the first partial differential Jacobian or the second partial differential Hessian in the direction of the gradient vector.

그러나 HAR(High Aspect Ratio)와 같이 단면적 대비 높이의 비율이 매우 큰 구조의 패턴에서는 CD 파라미터 간의 상관관계(Correlation)가 높을 수 있다. 이 경우 국소 최적해(Local minimum)가 발생하여 최종적으로 도출해야 하는 전역 최적해(Global Minimum)의 CD 파라미터에 도달함에 있어 한계가 있다. 즉, 가우시안 뉴턴 방식으로는 HAR와 같이 상관관계가 높은 구조에서는 적합한 CD 파라미터 도출이 불가능하다. However, the correlation between CD parameters may be high in a pattern having a very high ratio of cross-sectional area to height such as HAR (High Aspect Ratio). In this case, there is a limit in reaching the CD parameter of the global minimum, which must be finally derived from a local minimum solution. That is, in the Gaussian Newton method, proper CD parameter derivation is not possible in a highly correlated structure such as HAR.

이외에도 타부 서치 또는 PCC(Principal Component Regression)를 사용할 수도 있지만, 이 역시 HAR 구조에서는 정확한 CD 파라미터를 얻기에는 한계가 있다.In addition, other search or Principal Component Regression (PCC) may be used, but this also has a limitation in obtaining accurate CD parameters in the HAR structure.

이에, 본 명세서에서는 CRS(Controlled Random Search)를 적용하여 최적의 CD 파라미터를 도출하고자 한다. Accordingly, in the present specification, an optimal CD parameter is derived by applying CRS (Controlled Random Search).

도 2는 본 발명의 일 실시예에 의한 CD 산출 과정을 보여주는 도면이다. 먼저 측정 장치가 반도체 장치의 스펙트럼을 측정하여(S1), 측정한 값을 CD 산출 장치(100)에게 제공한다. 한편, CD 산출 장치(100)의 라이브러리부(140)는 비교를 위한 스펙트럼을 계산한다(S2). S2는 라이브러리부(140)에 저장된 샘플을 추출하는 것을 일 실시예로 한다. 2 is a diagram illustrating a CD calculation process according to an embodiment of the present invention. First, the measurement device measures the spectrum of the semiconductor device (S1) and provides the measured value to the CD calculation device 100. On the other hand, the library unit 140 of the CD calculation device 100 calculates the spectrum for comparison (S2). S2 extracts a sample stored in the library unit 140 according to an embodiment.

CD 산출 장치(100)의 컨트롤러(160)는 S1의 측정된 스펙트럼과 S2의 선택 혹은 계산된 테스트 스펙트럼을 비교 및 분석하여(S3), 그 차이(MSE)가 미리 설정된 기준(Tolerance)보다 작은지 확인한다(S4). 그리고 확인 결과 설정된 기준 보다 차이가 큰 경우, 다시 컨트롤러(160)의 CD 파라미터들(CD Parameters)을 갱신하고(S5), 갱신한 CD 파라미터들에 대해 라이브러리부(140)가 테스트 스펙트럼을 계산한 후(S2), 비교 분석 단계(S3)를 진행한다. The controller 160 of the CD calculating apparatus 100 compares and analyzes the measured spectrum of S1 and the selected or calculated test spectrum of S2 (S3), and determines whether the difference MSE is smaller than a preset Tolerance. Check (S4). If the difference is greater than the set reference, the CD parameters of the controller 160 are updated again (S5), and the library unit 140 calculates a test spectrum for the updated CD parameters. (S2), the comparative analysis step (S3) is carried out.

한편, S4의 확인 결과 설정된 기준 보다 작거나 같은 경우, 계측 스펙트럼과 테스트 스펙트럼의 차이가 최소화된 것으로 확인하고, 테스트 스펙트럼을 산출한 CD 파라미터들을 출력부(180)에서 출력한다(S6).On the other hand, if it is less than or equal to the set reference as a result of the check in S4, it is confirmed that the difference between the measurement spectrum and the test spectrum is minimized, and outputs the CD parameters calculated the test spectrum from the output unit 180 (S6).

S1 내지 S6 과정에서 사용하는 변수들에 대해 살펴본다. It looks at the variables used in the process S1 to S6.

S1에서 계측된 계측 스펙트럼 y는 n 차원(n-dimension)의 데이터이며 수학식 1과 같이 구성된다. The measurement spectrum y measured at S1 is n-dimensional data and is configured as in Equation (1).

[수학식 1] [Equation 1]

Figure pat00001
Figure pat00001

그리고 계측 스펙트럼과 비교하는 테스트 스펙트럼을 산출하는데 적용되는 CD 파라미터는

Figure pat00002
이며, 이는 p개로 구성되는 파라미터로 수학식 2와 같이 구성된다.And the CD parameters applied to calculate the test spectrum compared to the measurement spectrum
Figure pat00002
This is a parameter consisting of p number is configured as shown in equation (2).

[수학식 2] [Equation 2]

Figure pat00003
Figure pat00003

한편, 고정된 입력 파장으로써

Figure pat00004
는 2차원 행렬로 구성될 수 있으며 수학식 3과 같이 구성된다. On the other hand, as a fixed input wavelength
Figure pat00004
May be composed of a two-dimensional matrix and is configured as shown in Equation 3.

[수학식 3][Equation 3]

Figure pat00005
Figure pat00005

전술한 수학식에 기반할 때, 수학식 4와 같이 yj를 산출할 수 있으며, 여기서 yj와 함수 f의 차이를 최소한으로 만드는

Figure pat00006
를 선택하는 것이 필요하다. 아래에서
Figure pat00007
는 에러값을 의미한다. Based on the above equation, yj can be calculated as shown in equation (4), where the difference between yj and the function f is minimized.
Figure pat00006
It is necessary to choose. From below
Figure pat00007
Means an error value.

[수학식 4][Equation 4]

Figure pat00008
Figure pat00008

수학식 4는 다시 계측한 스펙트럼 y와 모델로 얻은 테스트 스펙트럼(즉 샘플 데이터에서 라이브러리부(140)가 산출한 테스트 스펙트럼) f의 차이의 제곱합을 최소화하는 CD 파라미터인

Figure pat00009
를 샘플 데이터로 구하기 위해 수학식 5와 같이 전개될 수 있다. Equation 4 is a CD parameter that minimizes the sum of squares of the difference between the measured spectrum y and the test spectrum obtained by the model (that is, the test spectrum calculated by the library unit 140 from the sample data) f.
Figure pat00009
It can be developed as shown in Equation 5 to obtain as sample data.

먼저 계측한 스펙트럼 y와 모델로 얻은 테스트 스펙트럼 f의 차이인

Figure pat00010
를 정의한다. 이는 계측 스펙트럼과 테스트 스펙트럼의 각각의 인자들을 비교하여 이들의 차이를 산출하는 것이다. The difference between the measured spectrum y and the test spectrum f
Figure pat00010
Define. This compares the respective factors of the measurement spectrum and the test spectrum and calculates their difference.

[수학식 5][Equation 5]

Figure pat00011
Figure pat00011

그리고, 전술한 차이의 제곱의 합을 수학식 6과 같이 산출한다. The sum of squares of the aforementioned differences is calculated as in Equation 6.

[수학식 6][Equation 6]

Figure pat00012
Figure pat00012

즉, 컨트롤러(160)는 MSE(Mean Square Error)를 최소로 만드는 파라미터(CD 파라미터, 즉

Figure pat00013
)를 산출하기 위해 비교 및 분석을 반복한다. MSE는 파장별로 계측 스펙트럼 y(불변)와, RCWA 모델로 계산된 테스트 스펙트럼 (파라미터 값에 따라 가변)간의 차이 제곱 합의 평균인데, 이 MSE 값을 최소로 하는 파라미터(CD,
Figure pat00014
) 값을 구할 경우 계측 스펙트럼과 계산된 테스트 스펙트럼이 일치하는 형태를 띄게 된다. That is, the controller 160 may determine a parameter (CD parameter, i.e., minimize the mean square error).
Figure pat00013
Repeat the comparison and analysis to yield). The MSE is the average of the sum of squared differences between the measurement spectrum y (invariant) for each wavelength and the test spectrum (variable according to the parameter value) calculated by the RCWA model.The parameter that minimizes this MSE value (CD,
Figure pat00014
), The measurement spectra coincide with the calculated test spectra.

그런데, HAR 패턴에서 파라미터(CD) 가 가질 수 있는 다양한 값들에 따라 MSE 값을 플로팅(Plotting)하면 수많은 국소 최적해(Local Minimum)이 존재함을 알 수 있다. 따라서, 이 중에서 전역 최적해(Global Minimum)에 해당하는 파라미터(CD) 값을 산출해야 HAR 패턴의 정확한 프로파일(Profile)을 계측할 수 있다.However, when plotting the MSE value according to various values that the parameter CD may have in the HAR pattern, it can be seen that a number of local minimums exist. Therefore, it is necessary to calculate a parameter (CD) value corresponding to the global minimum among these, so that the exact profile of the HAR pattern can be measured.

도 2 과정을 정리하면 스펙트럼 입력부(120)가 반도체 장치로부터 파장 별로 계측된 계측 스펙트럼을 입력받으면(S1), 심플렉스 알고리즘 실행부와 DE(Differential Evolution) 알고리즘 실행부를 포함하는 컨트롤러(160)가 이들 두 개의 알고리즘 실행부 중 어느 하나에서 산출된 샘플 데이터에 대응하는 테스트 스펙트럼을 라이브러리부(140)가 산출한다(S3). 컨트롤러(160)가 계측 스펙트럼과 테스트 스펙트럼을 비교하여 차이를 최소화하는 샘플 데이터를 산출하는 과정(S2~S5)을 반복하여 최종적으로 컨트롤러(160)가 최소 차이의 테스트 스펙트럼을 산출한 샘플 데이터를 출력부(180)에 제공하여 출력부(180)가 출력한다(S6). 2, when the spectrum input unit 120 receives a measurement spectrum measured for each wavelength from a semiconductor device (S1), the controller 160 including the simplex algorithm execution unit and the DE (Differential Evolution) algorithm execution unit includes these. The library unit 140 calculates a test spectrum corresponding to the sample data calculated by any one of the two algorithm execution units (S3). The controller 160 repeats the process of calculating sample data for minimizing the difference by comparing the measurement spectrum and the test spectrum (S2 to S5), and finally the controller 160 outputs the sample data for calculating the test spectrum of the minimum difference. The output unit 180 outputs the information to the unit 180 (S6).

도 3은 본 발명의 일 실시예에 의한 CD 파라미터와 MSE 사이의 관계를 보여주는 도면이다. 11은 파라미터 별로 산출되는 MSE를 보여준다. CD 파라미터를 선택한 결과 MSE는 11a에서 11b, 11c를 거처 11d와 같이 가장 최소의 MSE를 가지는 전역 최적해로 수렴한다. 최적 전역해로 수렴하는 CD 파라미터를 산출하기 위해서 휴리스틱 알고리즘을 통해 파라미터를 선택할 수 있다. 3 is a diagram illustrating a relationship between a CD parameter and an MSE according to an embodiment of the present invention. 11 shows the MSE calculated for each parameter. As a result of selecting the CD parameter, the MSE converges from 11a through 11b and 11c to the global optimal solution with the smallest MSE, such as 11d. Parameters can be selected through a heuristic algorithm to produce a CD parameter that converges to the optimal global solution.

12는 스펙트럼과 파장 사이의 관계이다. 점선(12a)은 MSE가 전역 최적해가 아닌 경우의 스펙트럼이다. 즉 라이브러리부(140)에서 CD 파라미터를 이용하여 계산한 스펙트럼은 실제 모델의 정확한 스펙트럼(12b)과 차이가 있다. 그러나 11의 그래프와 같이 MSE를 줄이도록 CD 파라미터를 산출하여 11d와 같이 전역 최적해에 도달하면, 결과적으로 12에서 도시된 바와 같이, 모델의 정확한 스펙트럼(12b)에 해당하는 다수의 동그라미들이 나타내는 포인트들을 산출하여 정확한 CD 파라미터를 산출할 수 있다. 12 is the relationship between the spectrum and the wavelength. The dotted line 12a is the spectrum when the MSE is not a global optimal solution. That is, the spectrum calculated using the CD parameter in the library unit 140 is different from the exact spectrum 12b of the actual model. However, when the CD parameter is calculated to reduce the MSE as shown in the graph of 11 and reaches the global optimal solution as shown in 11d, as a result, as shown in 12, the points represented by the multiple circles corresponding to the exact spectrum 12b of the model are shown. By calculating the correct CD parameters.

도 4는 국소 최적해와 전역 최적해를 보여주는 그래프이다. 국소 최적해는 13이 지시하는 영역으로 인접한 좌우의 파라미터들과 비교할 때, 최소의 MSE를 산출한다. 이 상태에서 13이 지시하는 지점의 파라미터를 최소값으로 판단할 수 있다. 본 발명의 컨트롤러(160)는 휴리스틱 알고리즘을 적용하여 14가 지시하는 전역 최적해에 해당하는 파라미터를 산출할 수 있다. 4 is a graph showing local and global optimal solutions. The local optimal solution yields the minimum MSE when compared with the adjacent left and right parameters in the area indicated by 13. In this state, the parameter at the point indicated by 13 can be determined as the minimum value. The controller 160 of the present invention may apply a heuristic algorithm to calculate a parameter corresponding to the global optimal solution indicated by 14.

즉, 도 1의 컨트롤러(160)는 해의 방향으로 수렴 속도가 빠른 심플렉스 방식(Simplex Method)과 전역 최적해를 구하기에 적합한 디퍼런셜 이볼루션(Differential Evolution)이라는 휴리스틱 알고리즘을 결합한다. That is, the controller 160 of FIG. 1 combines a simplex method having a fast convergence speed in the direction of a solution and a heuristic algorithm called differential evolution suitable for obtaining a global optimal solution.

도 5는 본 발명의 일 실시예에 의한 컨트롤러가 CRS를 수행하는 과정을 보여주는 도면이다. 라이브러리부(140)에서 제공되거나 혹은 새로이 생성한 샘플을 이용하여 MSE가 가장 작은 전역 최적해에 해당하는 파라미터를 도출하기 위해 컨트롤러(160)는 도 5의 과정을 반복하여 진행할 수 있다. 5 is a diagram illustrating a process of performing a CRS by a controller according to an embodiment of the present invention. The controller 160 may repeat the process of FIG. 5 in order to derive a parameter corresponding to the smallest global best solution using the sample provided by the library unit 140 or newly generated.

컨트롤러(160)는 D차원 공간에서 N개의 샘플 데이터를 무작위로 추출하여 집합 P를 생성한다(S21). 여기서 D 차원 공간의 N개의 샘플 데이터란 수학식 2와 같이 p개로 구성되는 파라미터를 다수 산출하는 것을 일 실시예로 한다. 집합 P는 샘플 데이터들 중 일부 또는 전부를 포함할 수 있다.

Figure pat00015
를 하나 또는 다수 포함하며, 이들은 수학식 4와 같이 테스트 스펙트럼을 계산하는데 입력될 수 있다. The controller 160 randomly extracts N pieces of sample data in the D-dimensional space to generate a set P (S21). Here, according to an embodiment, N sample data of a D-dimensional space is to calculate a large number of p parameters, as shown in Equation 2. The set P may include some or all of the sample data.
Figure pat00015
And one or more, which may be input to calculate a test spectrum as shown in Equation 4.

컨트롤러(160)는 집합 P에서 샘플 데이터

Figure pat00016
를 탐색한다(S22). 일 실시예로, 계측한 스펙트럼 y와 모델로 얻은 테스트 스펙트럼 f의 차이 또는 차이의 최대값을 가지는 샘플 데이터를
Figure pat00017
로 한다. 그리고 컨트롤러(160)는 휴리스틱 방법(후술할 심플렉스 알고리즘 또는 DE 알고리즘 등)에 기반하여 새로운 샘플 데이터
Figure pat00018
를 생성한다(S23).
Figure pat00019
는 샘플 데이터가 되는 CD 파라미터로
Figure pat00020
를 일 실시예로 한다. Controller 160 is the sample data in set P
Figure pat00016
Search for (S22). In one embodiment, the sample data having a difference or maximum value of the difference between the measured spectrum y and the test spectrum f obtained by the model
Figure pat00017
Shall be. In addition, the controller 160 generates new sample data based on a heuristic method (such as a simplex algorithm or a DE algorithm to be described later).
Figure pat00018
To generate (S23).
Figure pat00019
Is the CD parameter that is the sample data.
Figure pat00020
In one embodiment.

새로운 샘플 데이터의 생성 방식에 대해서는 도 6 이하에서 후술한다. A method of generating new sample data will be described later with reference to FIG. 6.

이후, 새로운 샘플과 S22의

Figure pat00021
와 새로운 샘플 데이터
Figure pat00022
를 함수 f에 입력하여 새로운 샘플
Figure pat00023
가 더 작은 차이값(MSE, 또는 수학식 5와 같은 차이값)을 산출할 경우
Figure pat00024
Figure pat00025
를 입력한다(S24). 이로써 새로운 샘플의 선택 과정에서 최대값이 줄어듦으로 인해 전역 최적해에 도달할 가능성을 높인다. 이는 앞서 산출한 값 보다 더 작기에 전역 최적해에 더 가까워진 샘플을 선택하는 것을 의미한다. Afterwards, the new sample and the S22
Figure pat00021
And new sample data
Figure pat00022
Into the function f to create a new sample
Figure pat00023
Yields a smaller difference (MSE, or a difference such as Equation 5)
Figure pat00024
on
Figure pat00025
Enter (S24). This reduces the maximum value during the selection of new samples, increasing the likelihood of reaching the global optimal solution. This means selecting samples that are closer to the global optimum because they are smaller than previously calculated.

S23은 샘플을 입력한 함수 값이 최대값의 함수값보다 작으면 해당 최대값을 샘플로 설정하는 것을 의미한다. 앞서 수학식 2에서

Figure pat00026
를 함수 f에 입력한 결과인 테스트 스펙트럼을 산출하여 이를 계측한 스펙트럼 y와의 차이를 좁히는 과정을 S23이 구현한다. S23 means that the maximum value is set to the sample when the function value in which the sample is input is smaller than the function value of the maximum value. Earlier in Equation 2
Figure pat00026
S23 calculates a test spectrum, which is a result of inputting the function f, to narrow the difference from the measured spectrum y.

그 결과 지금까지 산출된 값보다 계측한 스펙트럼 y와의 차이를 좁히는 테스트 스펙트럼이 산출되면 해당 테스트 스펙트럼을 산출한

Figure pat00027
를 최대값으로 설정하여 이후 더 작은 스펙트럼을 산출하는 CD 파라미터를 샘플 데이터로 구하는 과정을 반복한다. 이는 이전에 산출된 최소 차이값 보다 작은 테스트 스펙트럼-계측 스펙트럼의 차이가 확인되면, 이 테스트 스펙트럼을 산출한 샘플 데이터인
Figure pat00028
Figure pat00029
로 하고 S22~S24를 반복하여
Figure pat00030
에서 산출된 테스트 스펙트럼과 계측 스펙트럼의 차이를 점차 줄여나간다. As a result, when the test spectrum which narrows the difference with the measured spectrum y rather than the value calculated so far is calculated, the corresponding test spectrum is calculated.
Figure pat00027
Is set to the maximum value, and then the process of obtaining CD parameters as sample data which yields a smaller spectrum is repeated. This means that if the difference between the test spectrum and the measurement spectrum that is smaller than the previously calculated minimum difference value is found,
Figure pat00028
To
Figure pat00029
And repeat S22 ~ S24
Figure pat00030
Gradually reduce the difference between the test spectrum and the measurement spectrum.

미리 설정된 종료 조건을 이용하여 계산의 반복을 제어할 수 있으며, 종료 조건은 다양하게 설정될 수 있다. 일 실시예로 최적 모델을 산출하기 위해 설정된 최소의 MSE에 도달하는 경우를 종료 조건으로 하고, 이 조건에 도달하면 반복을 중단하고 해당 파라미터를 최적 모델의 파라미터로 확인할 수 있다. The repetition of the calculation may be controlled by using a preset termination condition, and the termination condition may be variously set. In one embodiment, the end condition is a case where the minimum MSE set for calculating the optimal model is reached, and when the condition is reached, the repetition is stopped and the corresponding parameter may be identified as a parameter of the optimal model.

여기서 차이값, 즉 MSE를 줄이는 테스트 스펙트럼을 산출하는 CD 파라미터를 효과적으로 산출하기 위해 S23에서 컨트롤러(160)는 둘 이상의 알고리즘 실행부를 포함한다. 알고리즘 실행부란, 알고리즘을 소프트웨어 코드로 구현하거나 또는 하드웨어의 신호 처리로 구현하여, 소정의 알고리즘에 대해 입력된 값을 적용하여 소정의 출력값을 산출하는 것을 포함한다. In this case, the controller 160 includes two or more algorithm execution units in S23 to effectively calculate a difference value, that is, a CD parameter for calculating a test spectrum for reducing MSE. The algorithm execution unit includes an algorithm implemented in software code or hardware signal processing to calculate a predetermined output value by applying an input value for a predetermined algorithm.

도 6은 본 발명의 일 실시예에 의한 컨트롤러의 세부 구성을 보여주는 도면이다. 컨트롤러(160)는 입력된 정보를 처리하여 소정의 결과를 산출하는 것으로 소프트웨어 코드로 구성되거나 혹은 전술한 결과를 산출하는 하드웨어로 구성될 수 있다. 컨트롤러(160)는 R개의 알고리즘 실행부(161~165)를 포함한다. 6 is a view showing a detailed configuration of a controller according to an embodiment of the present invention. The controller 160 processes inputted information and calculates a predetermined result, and may be composed of software code or hardware that calculates the aforementioned result. The controller 160 includes R algorithm execution units 161 to 165.

이들 알고리즘 실행부들은 각각 소정의 샘플을 산출할 수 있다. 그리고 이들 알고리즘 실행부(161~165)이 산출한 샘플 데이터들 중에서 컨트롤러(160)가 어느 하나를 선택할 수 있다. 또는 이들 샘플들에 대해 모두 도 5의 S24를 수행하여 가장 작은 MSE를 산출하는 테스트 스펙트럼과 관련된 샘플 데이터를 선택하고, 컨트롤러(160)는 해당 샘플 데이터를 산출한 알고리즘 실행부의 우선순위를 높일 수 있다. 특정 알고리즘 실행부가 산출한 샘플 데이터의 선택 가능성을 높이기 위해 우선순위를 높일 수 있다.These algorithm execution units can each calculate a predetermined sample. The controller 160 may select one of the sample data calculated by the algorithm execution units 161 to 165. Alternatively, the sample data related to the test spectrum for calculating the smallest MSE may be selected by performing S24 of FIG. 5 on all of these samples, and the controller 160 may increase the priority of the algorithm execution unit that has calculated the sample data. . The priority may be increased to increase the probability of selecting sample data generated by a specific algorithm execution unit.

컨트롤러(160)가 포함할 수 있는 알고리즘 실행부는 다양한 알고리즘으로 구현할 수 있다. 함수 최적화 기법의 예로, GD 기법(Gradient Descent Method), 뉴튼-랩손 기법(Newton-Raphson Method), 가우스-뉴튼 기법(Gauss-Newton Method), LM 기법(Levenberg-Marquardt Method) 등 다양한 알고리즘을 적용할 수 있다. 본 명세서에서는 HAR 패턴에서 전역 최적해를 산출하기 위한 최적의 알고리즘 실행부로 심플렉스 & DE 알고리즘을 적용하고자 한다. The algorithm execution unit that may be included in the controller 160 may be implemented by various algorithms. Examples of function optimization techniques include various algorithms such as the GD (Gradient Descent Method), Newton-Raphson Method, Gauss-Newton Method, and LM (Levenberg-Marquardt Method). Can be. In this specification, the simplex & DE algorithm is applied as an optimal algorithm execution unit for calculating the global optimal solution in the HAR pattern.

컨트롤러(160)는 심플렉스 알고리즘 실행부와 DE(Differential Evolution) 알고리즘 실행부를 포함할 수 있다. 그리고 이들 두 개의 알고리즘 실행부 중 어느 하나에서 산출된 샘플 데이터에 대응하여 전술한 라이브러리부(140)가 테스트 스펙트럼을 산출한다. 컨트롤러(160)는 계측 스펙트럼과 테스트 스펙트럼을 비교하여 차이를 최소화하도록 샘플 데이터를 산출하는 과정을 반복할 수 있다. 반복 과정은 미리 정해진 기준 이하의 최소 차이가 확인될 때 반복을 중단할 수 있다. The controller 160 may include a simplex algorithm execution unit and a differential evolution algorithm (DE) execution unit. The library 140 described above calculates a test spectrum in response to the sample data calculated by any one of these two algorithm execution units. The controller 160 may repeat the process of calculating the sample data to minimize the difference by comparing the measurement spectrum and the test spectrum. The iterative process may stop the iteration when a minimum difference below a predetermined criterion is identified.

도 6에서 제1알고리즘 실행부(161)은 제1파라미터로 셋팅된 제1심플렉스(Simplex) 알고리즘 실행부가 되는 것을 일 실시예로 한다. 제2알고리즘 실행부(162)은 제2파라미터로 셋팅된 제2심플렉스 알고리즘 실행부가 되는 것을 일 실시예로 한다. 제3알고리즘 실행부(163)은 제3파라미터로 셋팅된 제3심플렉스 알고리즘 실행부가 되는 것을 일 실시예로 한다. 여기서 제1파라미터는 심플렉스 알고리즘을 실행함에 있어 필요한 파라미터로, 새로운 샘플 데이터를 산출하기 위해 변화가능한 요소들을 각기 상이한 파라미터로 설정할 수 있다. 마찬가지로 제2 파라미터, 제3 파라미터를 설정할 수 있다. 물론, 심플렉스 알고리즘 실행부의 개수는 하나 이상 다양하게 구성할 수 있으며, 본 발명이 이에 한정되는 것은 아니다. In FIG. 6, the first algorithm execution unit 161 may be a first simplex algorithm execution unit set to the first parameter. According to an embodiment of the present invention, the second algorithm execution unit 162 becomes a second simplex algorithm execution unit set to the second parameter. According to an embodiment of the present invention, the third algorithm execution unit 163 may be a third simplex algorithm execution unit set to the third parameter. Here, the first parameter is a parameter required for executing the simplex algorithm, and the variable elements may be set to different parameters to generate new sample data. Similarly, the second parameter and the third parameter can be set. Of course, the number of simplex algorithm execution units may be configured in one or more ways, but the present invention is not limited thereto.

또한, 제4알고리즘 실행부(165)는 DE(Differential Evolution) 알고리즘 실행부가 되는 것을 일 실시예로 한다. In an embodiment, the fourth algorithm execution unit 165 may be a differential evolution algorithm (DE) execution unit.

도 7 내지 도 10은 본 발명의 일 실시예에 의한 컨트롤러의 세부적인 구성을 보여주는 도면이다. 도 7에서 컨트롤러(160)는 심플렉스 알고리즘을 구현한 심플렉스 알고리즘 실행부(161a)와 DE 알고리즘을 구현한 DE 알고리즘 실행부(165a)를 포함한다. 이에 대해 도 7과 같이 구성될 수 있다. 도 7과 같은 구성에서 컨트롤러(160)는 이전의 성공률에 비례하는 확률을 이용하여 다수의 알고리즘 실행부들 중에서 어느 하나의 알고리즘 실행부를 선택할 수 있다. 7 to 10 are views showing a detailed configuration of a controller according to an embodiment of the present invention. In FIG. 7, the controller 160 includes a simplex algorithm execution unit 161a implementing the simplex algorithm and a DE algorithm execution unit 165a implementing the DE algorithm. This may be configured as shown in FIG. 7. In the configuration as shown in FIG. 7, the controller 160 may select any one of the plurality of algorithm execution units using a probability proportional to a previous success rate.

즉, 컨트롤러(160)는 새로운 샘플 데이터를 탐색하는 과정에서 여러가지 휴리스틱 알고리즘을 구현하는 다양한 알고리즘 실행부들에서 선택할 수 있으며, 이전까지의 성공률에 비례하는 확률로 어떤 휴리스틱 방법론을 구현하는 알고리즘 실행부를 선택할 것인지 결정할 수 있다. 결정 방식으로는 일정 횟수 동안 누적된 성공률을 이용하는 방식과 직전 회차의 성공률을 이용하는 방식 등 다양하게 산정할 수 있다. 일정 횟수 동안 누적된 성공률은 해당 횟수에서 누적하여 성공률이 가장 높은 알고리즘 실행부를 선택할 수 있도록 한다. 이는 어느 한 회에서 알고리즘 실행부가 실패하더라도 그 전의 성공한 케이스에 기반하여 성공률이 과도하게 낮게 책정되지 않도록 한다. 직전 회차의 성공률은 최신의 성공률을 적용할 수 있다. 두 가지의 성공률에 기반한 결정 방식은 알고리즘의 특성이나 성공률의 변화 속도나 크기에 따라 혼합되거나 어느 하나가 선택될 수 있다.That is, the controller 160 may select from various algorithm execution units that implement various heuristic algorithms in the process of searching for new sample data, and select which algorithm execution unit to implement the heuristic methodology with a probability proportional to the success rate. You can decide. The determination method may be variously calculated, such as using a success rate accumulated for a predetermined number of times and using a success rate of the last round. The success rate accumulated for a certain number of times is accumulated in the corresponding number so that the algorithm execution unit having the highest success rate can be selected. This ensures that even if the algorithm execution fails at any one time, the success rate is not set too low, based on previous successful cases. The success rate of the last round may apply the latest success rate. Decision methods based on the two success rates can be mixed or selected depending on the characteristics of the algorithm or the speed or magnitude of the success rate.

도 8에서 심플렉스 알고리즘 실행부(161a)의 실행 방식에 대해 살펴본다. 심플렉스 알고리즘 실행부(161a)는 넬더-미드(Nelder-Mead)에 근거하여 하나 이상의 휴리스틱 알고리즘을 제공할 수 있다. 심플렉스 알고리즘 실행부(161a)는 P 개의 집합 내에서 D+1개의 샘플을 선택한다(S31). 그리고 이들 D+1개의 샘플 중에서

Figure pat00031
를 선택한다(S32). 그리고 이들 선택한 결과를 이용하여 S33과 같이 새로운 샘플 데이터
Figure pat00032
를 산출한다.An execution method of the simplex algorithm execution unit 161a will be described with reference to FIG. 8. The simplex algorithm execution unit 161a may provide one or more heuristic algorithms based on Nelder-Mead. The simplex algorithm execution unit 161a selects D + 1 samples in P sets (S31). And out of these D + 1 samples
Figure pat00031
Select (S32). And using these selected results, new sample data like S33
Figure pat00032
To calculate.

도 9에서 S33에서

Figure pat00033
을 산출하는 과정을 제시한다. In S33 in Figure 9
Figure pat00033
Present the process of calculating.

이후, 새로운 샘플 데이터

Figure pat00034
에서 산출된 테스트 스펙트럼과 계측 스펙트럼의 차이가, 앞서
Figure pat00035
서 산출된 테스트 스펙트럼과 계측 스펙트럼의 차이 보다 작을 경우,
Figure pat00036
Figure pat00037
로 대입한다(S34).Afterwards, new sample data
Figure pat00034
The difference between the test spectrum and the measurement spectrum
Figure pat00035
Is less than the difference between the test spectrum and the measurement spectrum
Figure pat00036
To
Figure pat00037
Substitute in (S34).

도 9는 본 발명의 일 실시예에 의한 심플렉스 알고리즘 실행부가 샘플 데이터를 선택하는 과정을 보여주는 도면이다. 심플렉스 알고리즘 실행부(161a)가 라이브러리부(140)에서 선택된 샘플 데이터들 중에서 하나의 샘플 데이터와 선택된 샘플 데이터를 제외한 다른 둘 이상의 샘플 데이터의 중심점을 이용하여 반사지점에 배치된 샘플 데이터를 산출하는 샘플 데이터 산출 과정을 반복한다. 이 과정에서 테스트 스펙트럼-계측 스펙트럼의 차이를 최소한으로 만드는 CD 파라미터를 생성한다. 9 is a diagram illustrating a process of selecting sample data by a simplex algorithm execution unit according to an embodiment of the present invention. The simplex algorithm execution unit 161a calculates the sample data arranged at the reflection point by using the center point of one or more sample data except for the selected sample data among the sample data selected by the library unit 140. Repeat the sample data calculation process. This process generates CD parameters that minimize the difference between the test spectrum and the measurement spectrum.

도 9에서는 문제 공간 내에 존재하는 가능해로 D 차원에서의 샘플을 지시한다. 한편

Figure pat00038
는 심플렉스를 정의하는 점들 중 최대값을 가지는
Figure pat00039
를 지시한다. 그리고
Figure pat00040
Figure pat00041
를 제외한 나머지 점들의 중심점이다. 이들을 이용하여
Figure pat00042
을 기준으로 생성한
Figure pat00043
의 반사점을 새로운 샘플
Figure pat00044
로 산출한다. 이들의 산출은 수학식 7과 같다.In Figure 9 we indicate samples in the D dimension as possible solutions that exist in the problem space. Meanwhile
Figure pat00038
Is the maximum of the points defining the simplex
Figure pat00039
To indicate. And
Figure pat00040
silver
Figure pat00041
The center point of the remaining points except for. Using them
Figure pat00042
Generated based on
Figure pat00043
The reflection point of the new sample
Figure pat00044
Calculate These calculations are shown in equation (7).

[수학식 7][Equation 7]

Figure pat00045
Figure pat00045

여기서 반사계수(

Figure pat00046
)는
Figure pat00047
Figure pat00048
간의 반사 거리를 조절해준다. 이전에 산출된 샘플에 따라 반사계수를 설정할 수 있다. 또한, 컨트롤러(160)가 다수의 심플렉스 알고리즘 실행부를 포함할 때, 반사계수를 파라미터로 달리 설정하여 다수의 심플렉스 알고리즘 실행부를 구성할 수 있다. Where reflection coefficient (
Figure pat00046
)
Figure pat00047
and
Figure pat00048
Adjust the reflection distance between the liver. The reflection coefficient can be set according to the sample previously calculated. In addition, when the controller 160 includes a plurality of simplex algorithm execution units, a plurality of simplex algorithm execution units may be configured by differently setting reflection coefficients as parameters.

도 8 및 도 9에 기반할 경우, 심플렉스 알고리즘 실행부(161a)는 목적함수가 비선형 함수이고 미분 불가한 형태일 때 적용 가능한 것으로 도 9에 제시된 바와 같이 해의 방향으로 수렴하는 속도가 빠르다. 반면, 지역 최적해에 빠지기 쉽다는 단점이 있다. 따라서, 컨트롤러(160)는 전역 최적해를 산출하기에 적합한 DE 알고리즘 실행부(165a)를 적용하여 샘플 파라미터를 산출하는데 있어 속도와 최적성을 구현할 수 있다. 심플렉스 알고리즘은 반사 계수 등 알고리즘 설정 값을 다변화하여 다수의 실행부를 구성할 수 있다. 즉, 심플렉스 알고리즘 실행부(161a)는 둘 이상의 상이한 설정으로 구성되는 알고리즘들을 실행시켜 둘 이상의 상이한 샘플을 산출할 수 있다. 8 and 9, the simplex algorithm execution unit 161a is applicable when the objective function is a non-linear function and a non-differentiable form. As shown in FIG. 9, the speed of convergence in the direction of the solution is high. On the other hand, there is a disadvantage in that it is easy to fall into the regional optimum solution. Accordingly, the controller 160 may implement the speed and the optimum in calculating the sample parameters by applying the DE algorithm execution unit 165a suitable for calculating the global optimal solution. The simplex algorithm may configure a plurality of execution units by diversifying algorithm setting values such as reflection coefficients. That is, the simplex algorithm execution unit 161a may calculate two or more different samples by executing algorithms configured with two or more different settings.

심플렉스 알고리즘 실행부(161a)는 계산된 스펙트럼을 구성하는 x 들의 차원을 D라 할 때, P 집합 내 D+1개의 샘플을 무작위로 선정한다. 선정된 점들 중 함수 값이 가장 높은 샘플(즉, 가장 좋지 않은, 최적에서 멀리 있는 샘플)을

Figure pat00049
라 하고 이를 나머지 D개의 샘플들의 중심점을 기준으로 반사한다. 이때 반사란 기준점에 대한 대칭이동을 하는 것을 의미하며, 심플렉스 알고리즘 실행부(161a)는 반사계수를 통해 얼마나 이동할지를 결정한다. 반사된 점(
Figure pat00050
)을 새로운 샘플 데이터로 한다. 반사계수는 ρ ~ Unif(s,α-s)으로 산출될 수 있다. The simplex algorithm execution unit 161a randomly selects D + 1 samples in the P set when the dimension of x constituting the calculated spectrum is D. The sample with the highest function value (ie, the worst, farthest from the best) among the selected points
Figure pat00049
This is reflected based on the center point of the remaining D samples. In this case, the reflection means symmetrical movement with respect to the reference point, and the simplex algorithm execution unit 161a determines how much to move through the reflection coefficient. Reflected points (
Figure pat00050
) As new sample data. The reflection coefficient may be calculated from ρ to Unif (s, α-s).

도 10 및 도 11은 본 발명의 일 실시예에 의한 DE 알고리즘 실행부의 동작 과정을 살펴본다. DE 알고리즘 실행부(165a)는 D개의 차원에서 데이터를 산출하는 과정에서 일부 파라미터를 변경하거나 크로스오버를 수행하여 더 나은 최적해를 산출한다. D 차원의 파라미터를 매 세대(generation)에서 생성하는 과정을 보여준다. 10 and 11 look at the operation process of the DE algorithm execution unit according to an embodiment of the present invention. The DE algorithm execution unit 165a calculates a better optimal solution by changing some parameters or performing crossover in calculating data in D dimensions. Shows the generation of D-dimensional parameters in each generation.

Figure pat00051
는 G+1 세대에서의 파라미터로, D개의 차원 중 j번째 차원의 파라미터를 지시한다. 이는 도 11에 보다 상세히 제시된다.
Figure pat00051
Is a parameter in the G + 1 generation and indicates a parameter of the j-th dimension of the D dimensions. This is shown in more detail in FIG. 11.

DE 알고리즘 실행부(165a)는 D차원 내의 확률 정수 변수 l을 생성한다. 확률 정수 l은 1 내지 D의 정수들 중에서 선택한 값이다. 그리고 j는 1부터 시작하여 S45 또는 S46에서 1씩 증가한다. j가 D 차원을 넘어선 경우, 해당 세대(generation)에서의 파라미터를 산출한 바, 산출된 파라미터들(즉 샘플 데이터)을 S47과 같이 새로운 샘플 데이터

Figure pat00052
로 구성하여 새로운 샘플
Figure pat00053
에 의해 산출된 테스트 스펙트럼과 계측 스펙트럼 사이의 차이가 이전에 산출된 차이(
Figure pat00054
에 의해 산출된 테스트 스펙트럼과 계측 스펙트럼의 차이)보다 더 작은 값을 산출할 경우
Figure pat00055
Figure pat00056
를 입력한다(S48).The DE algorithm execution unit 165a generates a random integer variable l in the D dimension. The probability constant l is a value selected from integers 1 to D. And j starts at 1 and increases by 1 in S45 or S46. When j exceeds the D dimension, the parameters of the generation are calculated, and the calculated parameters (ie, sample data) are replaced with new sample data such as S47.
Figure pat00052
Organize new samples with
Figure pat00053
The difference between the test spectrum and the measurement spectrum calculated by
Figure pat00054
Yields a value smaller than the difference between the test spectrum and the measurement spectrum calculated by
Figure pat00055
on
Figure pat00056
Enter (S48).

한편, j가 D 차원을 넘어서지 않는 경우(S42), 아직 CD 파라미터들이 완전히 산출되지 않았으므로 계속 CD 파라미터들을 산출하기 위해 후속 단계를 진행한다. 그 결과 랜덤한 확률 변수

Figure pat00057
을 생성한다(S43). 그리고 Uj가 C 보다 작거나 같거나, 혹은 j가 확률 정수 변수 l에 도달한 경우(S44)에 파라미터
Figure pat00058
를 새로이 뮤테이션(mutation)된 값(
Figure pat00059
)설정하고 j를 증가시킨다(S45). 반면 S44를 만족시키지 못하는 경우, 파라미터
Figure pat00060
는 이전 세대의 파라미터 값인
Figure pat00061
을 입력하고 j를 증가시킨다(S46). On the other hand, if j does not exceed the D dimension (S42), since CD parameters have not been completely calculated yet, the subsequent step is continued to calculate CD parameters. As a result of random random variables
Figure pat00057
To generate (S43). If Uj is less than or equal to C, or j reaches the random integer variable l (S44)
Figure pat00058
Is the newly mutated value (
Figure pat00059
Set and increase j (S45). On the other hand, if it does not satisfy S44, the parameter
Figure pat00060
Is the parameter value of the previous generation
Figure pat00061
Input and increase j (S46).

S45에서

Figure pat00062
를 산출하는 방식은 수학식 8과 같다.From S45
Figure pat00062
The method of calculating is as shown in Equation (8).

[수학식 8][Equation 8]

Figure pat00063
Figure pat00063

여기서

Figure pat00064
은 집합 P에서 무작위로 선택한 3개의 샘플 데이터이다. F는 변이계수로, P 집합내의 함수의 최대값과 최소값의 차이가 크면 클수록 샘플 데이터를 더 먼 곳에서 생성하도록 하며, 작으면 작을수록 인접한 곳에서 생성하도록 한다. 또한 변이계수에서 너무 가까운 영역에서만 샘플 데이터를 생성하는 것을 방지하기 위해 입력변수로 F_min 값을 추가로 입력변수로 설정할 수 있다. here
Figure pat00064
Is three sample data randomly selected from the set P. F is a coefficient of variation. The larger the difference between the maximum value and the minimum value of the function in the P set is, the larger the sample data is generated, and the smaller the smaller the value is generated in the adjacent region. In addition, in order to prevent generating sample data only in a region too close to the coefficient of variation, an F_min value may be additionally set as an input variable.

한편, S46은 크로스 오버 방식의 하나가 될 수 있다. 즉, 이전 세대의 파라미터 값을 새로운 세대의 파라미터 값으로 설정하는 것을 포함한다.Meanwhile, S46 may be one of crossover methods. That is, setting the parameter value of the previous generation to the parameter value of the new generation.

DE 알고리즘 실행부(165a)는 목적함수가 비선형 함수이고 미분불가한 형태일 때 전역 최적해를 구할 수 있다. D 차원의 파라미터들을 세대별로 교차시키거나 뮤테이션을 수행하기 때문에 전역 최적해로의 근접이 가능하다. 또한, 병렬 컴퓨팅을 적용할 경우, 계산 시간의 단축이 가능하다. The DE algorithm execution unit 165a can obtain the global optimal solution when the objective function is a nonlinear function and an indivisible form. It is possible to approach the global optimal solution by intersecting or mutating the D-dimensional parameters from generation to generation. In addition, when parallel computing is applied, computation time can be shortened.

도 11은 본 발명의 일 실시예에 의한 DE 알고리즘 실행부가 파라미터를 산출하는 과정을 보여주는 도면이다. 51은 제1세대(Generation 1)에서 D차원의 파라미터들이 산출됨을 보여준다. 첫번째 세대의 파라미터들은 랜덤하게 산출되거나 미리 정해진 샘플에서 선택할 수 있다. 제1세대의 D 차원의 CD 파라미터들을 이용하여 하나의 테스트 스펙트럼을 산출하고, 이를 계측 스펙트럼과 비교하며, 다음 세대의 CD 파라미터들을 생성한다. 11 is a diagram illustrating a process of calculating a parameter by a DE algorithm execution unit according to an embodiment of the present invention. 51 shows that D-dimensional parameters are calculated in the first generation (Generation 1). The parameters of the first generation may be randomly calculated or selected from predetermined samples. One test spectrum is calculated using the first generation D-dimensional CD parameters, compared with the measurement spectrum, and the next generation CD parameters are generated.

52는 두번째 세대(Generation 2)에서 D차원의 CD 파라미터들이 산출됨을 보여준다. 두번째 세대의 각각의 파라미터들은 도 10의 프로세스를 적용하여 수학식 8의 뮤테이션 방식(S45) 또는 크로스오버 방식(S46) 중 어느 하나의 방식으로 각각 산출될 수 있다. 뮤테이션 방식에서는 변이계수 F를 사용하고, 크로스오버 방식에서는 교차계수 C를 기준으로 산출된다. 이를 정리하면 수학식 9와 같다. 52 shows that D-dimensional CD parameters are calculated in the second generation (Generation 2). Each parameter of the second generation may be calculated by using either the mutation method S45 or the crossover method S46 of Equation 8 by applying the process of FIG. 10. Mutation coefficient F is used in the muting method, and crossover coefficient C is calculated based on the crossover method. This is summarized in Equation (9).

[수학식 9] [Equation 9]

Figure pat00065
Figure pat00065

즉, 다음 세대의 파라미터들(

Figure pat00066
)은 이전 세대의 파라미터(
Figure pat00067
) 또는 이전 세대의 파라미터들에서 산출된 값(
Figure pat00068
)을 이용하여 산출될 수 있다. The next generation of parameters (
Figure pat00066
) Is the previous generation of parameters (
Figure pat00067
) Or the value calculated from the previous generation of parameters (
Figure pat00068
Can be calculated using

도 10 및 도 11에서 DE 알고리즘 실행부(165a)는 제k세대 또는 그 이전 세대의 샘플 데이터를 구성하는 파라미터를 이용하여 크로스 오버 방식으로 제(k+1) 세대의 파라미터를 산출한다. 또는 DE 알고리즘 실행부(165a)는 라이브러리부(140) 또는 제k세대를 포함한 이전의 세대에서 무작위로 선택한 파라미터를 계산하여 변이 방식으로 제(k+1)세대의 파라미터를 산출한다. 제(k+1)세대의 파라미터 전체를 구하면 이는 CD 파라미터의 후보가 되는 샘플 데이터가 된다. 그리고 DE 알고리즘 실행부(165a)는 이 샘플 데이터를 이용하여 테스트 스펙트럼을 산출하고, 수학식 4 및 5와 같이 계측 스펙트럼과의 차이를 계산한 결과를 비교한다. 그리고 비교 결과 이전의 최소값보다 더 작은 경우 제(k+1)세대의 파라미터는 성공한 것이므로 DE 알고리즘의 성공 가중치가 증가한다. 10 and 11, the DE algorithm execution unit 165a calculates a parameter of the (k + 1) th generation in a crossover manner by using the parameters constituting the sample data of the kth generation or the previous generation. Alternatively, the DE algorithm execution unit 165a calculates a parameter of the (k + 1) th generation in a mutated manner by calculating a parameter randomly selected from the previous generation including the library unit 140 or the kth generation. When the entire parameter of the (k + 1) th generation is obtained, this becomes sample data that is a candidate for the CD parameter. The DE algorithm execution unit 165a calculates a test spectrum using the sample data, and compares the result of calculating a difference from the measurement spectrum as shown in Equations 4 and 5 below. If the comparison result is smaller than the previous minimum value, the success value of the DE algorithm increases because the (k + 1) th generation parameter is successful.

도 12는 본 발명의 일 실시예에 의한 알고리즘의 확률적 선택 과정을 보여주는 도면이다. 12 is a diagram illustrating a probabilistic selection process of an algorithm according to an embodiment of the present invention.

전술한 컨트롤러(160)는 심플렉스 알고리즘 실행부(161a)와 DE 알고리즘 실행부(165a) 둘 다를 이용하되, 이들 두 개의 실행부들 중에서 어느 하나를 확률적으로 선택할 수 있다. 또는 심플렉스 알고리즘 실행부(161a)가 다수의 설정으로 다수의 알고리즘을 제공하는 경우, 컨트롤러(160)는 3개 이상의 알고리즘 중에서 어느 하나를 확률적으로 선택할 수 있다. The controller 160 uses both the simplex algorithm execution unit 161a and the DE algorithm execution unit 165a, but can probabilistically select any one of these two execution units. Alternatively, when the simplex algorithm execution unit 161a provides a plurality of algorithms in a plurality of settings, the controller 160 may probabilistically select any one of three or more algorithms.

심플렉스 알고리즘 실행부(161a)에서 선택된 휴리스틱 알고리즘과 DE 알고리즘 실행부(165a)에서 선택된 휴리스틱 알고리즘 중에서 하나의 알고리즘을 확률적으로 선택하여 D 차원 공간에 존재하는 새로운 샘플을 생성한다. 그리고 생성한 샘플 데이터

Figure pat00069
와 지금까지 확인된
Figure pat00070
를 비교한 결과 S55와 같이
Figure pat00071
를 만족하는 경우, 해당 알고리즘은 샘플 데이터를 생성함에 있어서 성공한 것으로 판단한다. Probably one of the heuristic algorithm selected by the simplex algorithm execution unit 161a and the heuristic algorithm selected by the DE algorithm execution unit 165a is selected to generate a new sample existing in the D-dimensional space. And the sample data you created
Figure pat00069
And confirmed so far
Figure pat00070
As a result of comparing S55
Figure pat00071
If satisfies the, the algorithm determines that the sample data is successful in generating sample data.

그리고, 컨트롤러(160)는 샘플 데이터

Figure pat00072
를 생성함에 있어 선택한 알고리즘(i번째 알고리즘)의 성공 가중치 및 누적 가중치를 갱신하고, 이에 기반하여 각각의 알고리즘의 선정 확률을 갱신한다(S56). 즉, 성공적인 테스트 스펙트럼의 산출에 대응하는 샘플 데이터를 산출한 해당 알고리즘(심플렉스 또는 DE 등)의 성공 가중치를 증가시켜 해당알고리즘의 신뢰도를 높인다. And, the controller 160 is sample data
Figure pat00072
In generating the S1, the success weight and the cumulative weight of the selected algorithm (i th algorithm) are updated, and the selection probability of each algorithm is updated (S56). That is, the reliability of the algorithm is increased by increasing the success weight of the algorithm (Simplex or DE, etc.) for which sample data corresponding to the successful test spectrum is calculated.

이후, 컨트롤러(160)는 알고리즘의 선정 확률에 기반하여 알고리즘을 선택하여 다음 샘플을 생성한다(S57).Thereafter, the controller 160 selects an algorithm based on a selection probability of the algorithm and generates the next sample (S57).

S56을 보다 상세히 살펴보면, i번째 휴리스틱 알고리즘의 성공 가중치를 w_i라고 하고, i번째 휴리스틱 알고리즘의 성공 가중치의 누적합을 W_i라고 정의하고, i번째 휴리스틱 알고리즘이 선정될 확률을 q_i라 정의한다. Looking at S56 in more detail, the success weight of the i th heuristic algorithm is defined as w_i, the cumulative sum of the success weights of the i th heuristic algorithm is defined as W_i, and the probability that the i th heuristic algorithm is selected as q_i.

그리고, f_max와 f_min을 집합 P 내에 최대 f(x) 값, 최소 f(x) 값이라 정의한다. 이에 기반하여 w_(0,i)는 i번째 알고리즘의 초기 가중치로 입력변수로 설정한다. F_max and f_min are defined as a maximum f (x) value and a minimum f (x) value in the set P. Based on this, w_ (0, i) is set as an input variable as the initial weight of the i th algorithm.

또한 δ를 입력 변수로 하여 각 알고리즘의 선정확률 중 하나라도 δ보다 작아지게 되면 모든 값을 초기화한다. Also, if δ is an input variable, all values are initialized when any one of the algorithms' selection probabilities becomes smaller than δ.

이와 같은 초기 설정을 수행하고 S55~S57을 진행하며 각각의 알고리즘의 성공 가중치를 증가 혹은 감소시킨다. 그리고 증가 및 감소된 값은 성공 가중치의 누적합에 누적되도록 한다. S55에서 알고리즘을 선택할 경우, 성공 가중치와 누적 가중치를 반영하여 특정 알고리즘을 선택할 수 있다. 또한, 성공 가중치는 전술한 바와 같이, 어느 알고리즘의 선정 확률이 미리 설정한 값 보다 작아지면 전체적으로 리셋할 수 있다. 다만, 이 과정에서 누적 가중치는 리셋하지 않고 유지할 수 있다. This initial setting is performed, and S55 to S57 are performed to increase or decrease the success weight of each algorithm. The increased and decreased values are accumulated in the cumulative sum of success weights. When the algorithm is selected in S55, a specific algorithm may be selected by reflecting the success weight and the cumulative weight. In addition, as described above, the success weight can be reset as a whole when the selection probability of any algorithm is smaller than a preset value. However, in this process, the cumulative weight may be maintained without resetting.

이러한 과정에 기반하여 컨트롤러(160)는 각 알고리즘의 선정확률을 갱신해간다. 현재 적용했던 알고리즘이 성공을 하였을 때, P 집합 내 최대값과 최소값을 기준으로 좋은 샘플을 뽑을수록 큰 성공 가중치를 얻게 되며, 성공 가중치를 누적합 하여 가중치 누적합의 비율대로 알고리즘이 선정될 확률을 갱신한다. Based on this process, the controller 160 updates the selection probability of each algorithm. When the current algorithm is successful, the better samples are obtained based on the maximum and minimum values in the P set, and the greater the success weight is, the more the success weights are summed up to update the probability that the algorithm is selected as the ratio of the weighted sums. do.

지속적으로 성공한 샘플을 생성하는 알고리즘의 선정 확률이 높이 갱신된다. 또한, 매 샘플을 생성하는 과정에서 둘 이상의 휴리스틱 알고리즘의 성공률을 계산하여 성공한 알고리즘을 다음 과정에서 선택함으로써, 가장 낮은 성공률을 가지는 포인트를 효과적으로 제거할 수 있다. 그러므로, 기존의 네스티드 파티션(Nested Partition) 알고리즘과 비교해서 속도와 성능 측면에서 모두 향상된다. The probability of selection of an algorithm that produces a consistently successful sample is updated high. In addition, by calculating the success rate of two or more heuristic algorithms in the process of generating every sample, and selecting the successful algorithm in the next process, the point having the lowest success rate can be effectively removed. Therefore, compared to the existing Nested Partition algorithm, both speed and performance are improved.

이상, 본 발명의 일 실시예에 대하여 설명하였으나, 해당 기술 분야에서 통상의 지식을 가진 자라면 특허청구범위에 기재된 본 발명의 사상으로부터 벗어나지 않는 범위 내에서, 구성 요소의 부가, 변경, 삭제 또는 추가 등에 의해 본 발명을 다양하게 수정 및 변경시킬 수 있을 것이며, 이 또한 본 발명의 권리범위 내에 포함된다고 할 것이다.As mentioned above, although an embodiment of the present invention has been described, those of ordinary skill in the art may add, change, delete or add elements within the scope not departing from the spirit of the present invention described in the claims. The present invention may be modified and changed in various ways, etc., which will also be included within the scope of the present invention.

100: 장치
120: 스펙트럼 입력부
140: 라이브러리부
160: 컨트롤러
180: 출력부
100: device
120: spectrum input unit
140: library unit
160: controller
180: output unit

Claims (12)

반도체 장치로부터 파장 별로 계측된 계측 스펙트럼을 입력받는 스펙트럼 입력부;
상기 계측 스펙트럼과 비교하기 위한 테스트 스펙트럼을 산출하는 샘플 데이터가 저장된 라이브러리부;
심플렉스 알고리즘 실행부와 DE(Differential Evolution) 알고리즘 실행부를 포함하며 이들 두 개의 알고리즘 실행부 중 어느 하나에서 산출된 샘플 데이터를 선택하여 테스트 스펙트럼을 산출하고, 상기 계측 스펙트럼과 상기 테스트 스펙트럼을 비교하여 차이를 최소화하는 샘플 데이터를 산출하는 과정을 반복하는 컨트롤러; 및
상기 컨트롤러가 최소 차이의 테스트 스펙트럼을 산출한 샘플 데이터를 출력하는 출력부를 포함하는 장치.
A spectrum input unit which receives a measurement spectrum measured for each wavelength from the semiconductor device;
A library unit storing sample data for calculating a test spectrum for comparison with the measurement spectrum;
A simplex algorithm execution unit and a DE (Differential Evolution) algorithm execution unit are included, and sample data calculated by one of these two algorithm execution units is selected to calculate a test spectrum, and the measurement spectrum is compared with the test spectrum to make a difference. A controller for repeating a process of calculating sample data to minimize the number of samples; And
And an output unit configured to output sample data in which the controller calculates a test spectrum of a minimum difference.
제1항에 있어서,
상기 컨트롤러는 상기 계측 스펙트럼과 상기 샘플 데이터에서 라이브러리부에 의해 산출된 테스트 스펙트럼의 차이의 제곱합을 최소화하는 상기 샘플 데이터를 산출하는 장치.
The method of claim 1,
And the controller is configured to calculate the sample data to minimize the sum of squares of the difference between the measurement spectrum and the test spectrum calculated by the library unit in the sample data.
제2항에 있어서,
상기 컨트롤러는 상기 라이브러리부의 샘플 데이터들 중에서 상기 차이의 제곱값을 최대화하는 값인
Figure pat00073
를 산출하고,
상기 심플렉스 알고리즘 실행부 또는 상기 DE 알고리즘 실행부에서 산출된 샘플 데이터를 이용하여 상기 컨트롤러가 테스트 스펙트럼을 산출하고,
상기 테스트 스펙트럼과 상기 계측 스펙트럼의 차이가 이전에 산출되었던 최소 차이값 보다 작은 경우, 상기 컨트롤러는 상기
Figure pat00074
에 상기 산출된 샘플 데이터를 대입하는 장치.
The method of claim 2,
The controller is a value that maximizes the square of the difference among sample data of the library unit.
Figure pat00073
Yields,
The controller calculates a test spectrum using sample data calculated by the simplex algorithm execution unit or the DE algorithm execution unit.
If the difference between the test spectrum and the measurement spectrum is less than the minimum difference value that was previously calculated, the controller determines that
Figure pat00074
And substitute the calculated sample data into.
제3항에 있어서,
상기 컨트롤러는 상기 테스트 스펙트럼에 대응하는 샘플 데이터를 산출한 알고리즘 실행부의 성공 가중치를 증가시키는 장치.
The method of claim 3,
And the controller increases a success weight of an algorithm execution unit that has calculated sample data corresponding to the test spectrum.
제1항에 있어서,
상기 심플렉스 알고리즘 실행부는 상기 라이브러리부에서 선택된 샘플 데이터들 중에서 하나의 샘플 데이터와 상기 샘플 데이터를 제외한 다른 둘 이상의 샘플 데이터의 중심점을 이용하여 반사지점에 배치된 샘플 데이터를 산출하는 장치.
The method of claim 1,
And the simplex algorithm execution unit calculates sample data arranged at a reflection point using a center point of one sample data among the sample data selected by the library unit and at least two other sample data except for the sample data.
제1항에 있어서,
상기 DE 알고리즘 실행부는 제k세대 또는 그 이전 세대의 샘플 데이터를 구성하는 파라미터를 이용하여 크로스 오버 방식으로 제(k+1) 세대의 파라미터를 산출하거나, 또는 상기 라이브러리부 또는 상기 제k세대를 포함한 이전의 세대에서 무작위로 선택한 파라미터를 계산하여 변이 방식으로 제(k+1)세대의 파라미터를 산출하는 장치.
The method of claim 1,
The DE algorithm execution unit calculates a parameter of the (k + 1) th generation in a crossover manner by using a parameter constituting sample data of the kth generation or the previous generation, or includes the library unit or the kth generation. A device for calculating a (k + 1) th generation parameter in a mutated manner by calculating a randomly selected parameter from a previous generation.
스펙트럼 입력부가 반도체 장치로부터 파장 별로 계측된 계측 스펙트럼을 입력받는 단계;
심플렉스 알고리즘 실행부와 DE(Differential Evolution) 알고리즘 실행부를 포함하는 컨트롤러가 이들 두 개의 알고리즘 실행부 중 어느 하나에서 산출된 샘플 데이터를 선택하는 단계;
라이브러리부가 상기 선택된 샘플 데이터에 대응하는 테스트 스펙트럼을 산출하는 단계;
상기 컨트롤러가 상기 계측 스펙트럼과 상기 테스트 스펙트럼을 비교하여 차이를 최소화하는 샘플 데이터를 산출하는 과정을 반복하는 단계; 및
상기 컨트롤러가 최소 차이의 테스트 스펙트럼을 산출한 샘플 데이터를 출력부에 제공하여 상기 출력부가 출력하는 단계를 포함하는, 컨트롤 랜덤 서치에 기반하여 최적 모델의 CD를 산출하는 방법.
Receiving, by the spectrum input unit, a measurement spectrum measured for each wavelength from the semiconductor device;
Selecting, by a controller including a simplex algorithm execution unit and a differential evolution (DE) algorithm execution unit, sample data calculated by any one of these two algorithm execution units;
A library unit calculating a test spectrum corresponding to the selected sample data;
Repeating, by the controller, comparing the measurement spectrum with the test spectrum and calculating sample data that minimizes the difference; And
And outputting, by the controller, the output of the output unit by supplying sample data on which the test spectrum of the minimum difference is calculated, to the output unit.
제7항에 있어서,
상기 반복하는 단계는
상기 컨트롤러가 상기 계측 스펙트럼과 상기 샘플 데이터에서 상기 라이브러리부에 의해 산출된 테스트 스펙트럼의 차이의 제곱합을 최소화하는 상기 샘플 데이터를 산출하는 단계를 더 포함하는, 컨트롤 랜덤 서치에 기반하여 최적 모델의 CD를 산출하는 방법.
The method of claim 7, wherein
The repeating step is
And calculating, by the controller, the sample data that minimizes the sum of squares of the difference between the measurement spectrum and the test spectrum calculated by the library unit in the sample data, based on a control random search. How to calculate.
제8항에 있어서,
상기 반복하는 단계는
상기 컨트롤러가 상기 라이브러리부의 샘플 데이터들 중에서 상기 차이의 제곱값을 최대화하는 값인
Figure pat00075
를 산출하는 단계;
상기 심플렉스 알고리즘 실행부 또는 상기 DE 알고리즘 실행부에서 산출된 샘플 데이터를 이용하여 상기 컨트롤러가 테스트 스펙트럼을 산출하는 단계; 및
상기 테스트 스펙트럼과 상기 계측 스펙트럼의 차이가 이전에 산출되었던 최소 차이값 보다 작은 경우, 상기 컨트롤러는 상기
Figure pat00076
에 상기 산출된 샘플 데이터를 대입하는 단계를 포함하는, 컨트롤 랜덤 서치에 기반하여 최적 모델의 CD를 산출하는 방법.
The method of claim 8,
The repeating step is
The controller maximizes the square of the difference among sample data of the library unit.
Figure pat00075
Calculating;
Calculating a test spectrum by the controller using sample data calculated by the simplex algorithm execution unit or the DE algorithm execution unit; And
If the difference between the test spectrum and the measurement spectrum is less than the minimum difference value that was previously calculated, the controller determines that
Figure pat00076
And substituting the calculated sample data into a CD of an optimal model based on a control random search.
제9항에 있어서,
상기 컨트롤러가 상기 테스트 스펙트럼에 대응하는 샘플 데이터를 산출한 알고리즘 실행부의 성공 가중치를 증가시키는 단계를 더 포함하는, 컨트롤 랜덤 서치에 기반하여 최적 모델의 CD를 산출하는 방법.
The method of claim 9,
And increasing, by the controller, a success weight of an algorithm execution unit that has calculated sample data corresponding to the test spectrum, based on a control random search.
제7항에 있어서,
상기 심플렉스 알고리즘 실행부가 상기 라이브러리부에서 선택된 샘플 데이터들 중에서 하나의 샘플 데이터와 상기 샘플 데이터를 제외한 다른 둘 이상의 샘플 데이터의 중심점을 이용하여 반사지점에 배치된 샘플 데이터를 산출하는 단계를 더 포함하는, 컨트롤 랜덤 서치에 기반하여 최적 모델의 CD를 산출하는 방법.
The method of claim 7, wherein
The simplex algorithm execution unit further comprises the step of calculating the sample data disposed at the reflection point using the center of one of the sample data selected from the library unit and at least two other sample data except the sample data; To calculate the CD of the optimal model based on the control random search.
제7항에 있어서,
상기 DE 알고리즘 실행부가 제k세대 또는 그 이전 세대의 샘플 데이터를 구성하는 파라미터를 이용하여 크로스 오버 방식으로 제(k+1) 세대의 파라미터를 산출하거나, 또는 상기 라이브러리부 또는 상기 제k세대를 포함한 이전의 세대에서 무작위로 선택한 파라미터를 계산하여 변이 방식으로 제(k+1)세대의 파라미터를 산출하는 단계를 더 포함하는, 컨트롤 랜덤 서치에 기반하여 최적 모델의 CD를 산출하는 방법.
The method of claim 7, wherein
The DE algorithm execution unit calculates a parameter of the (k + 1) th generation in a crossover manner using the parameters constituting the sample data of the kth generation or the previous generation, or includes the library unit or the kth generation. Calculating a parameter of the (k + 1) th generation in a variance manner by calculating a randomly selected parameter from the previous generation.
KR1020180103784A 2018-08-31 2018-08-31 Device of critical dimension based on controlled random search and method implementing thereof KR102548410B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180103784A KR102548410B1 (en) 2018-08-31 2018-08-31 Device of critical dimension based on controlled random search and method implementing thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180103784A KR102548410B1 (en) 2018-08-31 2018-08-31 Device of critical dimension based on controlled random search and method implementing thereof

Publications (2)

Publication Number Publication Date
KR20200025845A true KR20200025845A (en) 2020-03-10
KR102548410B1 KR102548410B1 (en) 2023-06-26

Family

ID=69800758

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180103784A KR102548410B1 (en) 2018-08-31 2018-08-31 Device of critical dimension based on controlled random search and method implementing thereof

Country Status (1)

Country Link
KR (1) KR102548410B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120131190A (en) * 2010-02-25 2012-12-04 노바 메주어링 인스트루먼츠 엘티디. Method and system for measuring in patterned structures
KR20140135812A (en) * 2012-03-08 2014-11-26 어플라이드 머티어리얼스, 인코포레이티드 Fitting of optical model to measured spectrum

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120131190A (en) * 2010-02-25 2012-12-04 노바 메주어링 인스트루먼츠 엘티디. Method and system for measuring in patterned structures
KR20140135812A (en) * 2012-03-08 2014-11-26 어플라이드 머티어리얼스, 인코포레이티드 Fitting of optical model to measured spectrum

Also Published As

Publication number Publication date
KR102548410B1 (en) 2023-06-26

Similar Documents

Publication Publication Date Title
JP7315748B2 (en) Data classifier training method, data classifier training device, program and training method
US11318613B2 (en) Method and system for determining motion path of mechanical arm
CN106529701B (en) Optical fiber state prediction method for optimizing neural network based on improved firefly algorithm
WO2015007237A1 (en) Modeling method for etching yield and etching surface evolution simulation method
JP2022058331A (en) Hybrid quantum calculation architecture for solving quadratic unconstrained binary optimization problem
Huan et al. Efficient algorithm for training interpolation RBF networks with equally spaced nodes
Yahyaa et al. Knowledge Gradient for Multi-objective Multi-armed Bandit Algorithms.
Lovas Fixed point iteration-based adaptive controller tuning using a genetic algorithm
CN117046692A (en) Method and system for rapidly gluing semiconductor
CN116681104A (en) Model building and realizing method of distributed space diagram neural network
Buijsman et al. Transition path sampling for non-equilibrium dynamics without predefined reaction coordinates
KR20200025845A (en) Device of critical dimension based on controlled random search and method implementing thereof
Chong et al. Comparing data-driven and conventional airfoil shape design optimization
KR20190129422A (en) Method and device for variational interference using neural network
Maiworm et al. Online gaussian process learningbased model predictive control with stability guarantees
CN113094973A (en) Civil aircraft demand optimization method based on multi-objective optimization algorithm
Merzougui et al. Image segmentation using isodata clustering with parameters estimated by evolutionary approach: application to quality control
Aloui et al. Maximizing the Domain of attraction of nonlinear systems: A PSO optimization approach
CN112649869A (en) Reservoir characteristic parameter prediction method and system based on GA-WNN
Deb et al. A computationally fast and approximate method for Karush-Kuhn-Tucker proximity measure
Mukherjee et al. Actor-Critic Methods using Physics-Informed Neural Networks: Control of a 1D PDE Model for Fluid-Cooled Battery Packs
WO2023007899A1 (en) Experiment planning device, experiment planning method, and experiment planning system
Merzougui et al. Isodata classification with parameters estimated by evolutionary approach
Zhang et al. Directed differential evolution based on directional derivative for numerical optimization problems
Lim et al. Second-order derivative optimization methods in deep learning neural networks

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