반도체 소자의 느린, 빠른, 그리고 일반적인 공정 코너는 Z-스코어(공정 목표로부터의 시그마)와 같은 숫자만으로 판단할 수 있습니다. 이 방법을 통해 목표 공정 코너를 확인하고 NXP Semiconductors 내부에서 해당 기능을 검증할 수 있도록 다이를 신속하게 공급할 수 있습니다.
프로세스 모니터 링 오실레이터(PMRO)는 각 다이에 장착된 18개의 링 오실레이터 세트입니다. PMRO 시간 지연 결과는 JMP 산점도를 사용하여 웨이퍼 인수 시험(WAT) 구조와 상관관계를 분석했습니다. 상관관계가 가장 높은 매개변수를 사용하여 모델을 구축했습니다. 동일 기술을 사용한 이전 장치의 생산 변동 데이터를 예측 변수로 사용했습니다. JMP 예측 프로파일러의 시뮬레이터 도구를 사용하여 몬테카를로 시뮬레이션을 통해 링의 수명 변동을 예측했습니다. 모델 평균/표준 편차와 개별 다이 PMRO 데이터를 사용하여 각 다이의 Z-점수를 계산했습니다.
PMRO 모델은 또한 현재(IDD) 데이터를 시뮬레이션하는 데 사용되었으며, 이는 생산 중인 장치의 최대 전력을 예측하고 ATE 테스트 프로그램에서 상한 IDD 한도를 설정하는 데 도움이 되었습니다.
안녕하세요. 저는 니베타 시반입니다. NXP 반도체의 제품 엔지니어입니다. 오늘은 JMP Profiler를 사용하여 몬테카를로 시뮬레이션을 수행하고 실리콘 공정을 평가하는 방법을 보여드리겠습니다.
반도체 웨이퍼는 일반적으로 중간 크기 칩 하나에 약 4,000개의 반도체 칩이 배열된 구조입니다. 웨이퍼 팹 시설에서는 웨이퍼 수용 테스트(WAT)라는 것을 사용하여 웨이퍼가 고객 사양에 비해 빠른지 느린지 평가합니다. 이러한 WAT 구조는 일반적으로 웨이퍼의 다이(die) 사이에 위치합니다. 웨이퍼에는 약 11개의 인접한 다이가 있고, 9개의 지점이 있으므로, 이러한 WAT 구조에 인접한 다이는 약 99개입니다.
최신 NXP 장비에는 PMRO(프로세스 모니터 링 오실레이터)라는 기능을 구현했습니다. 이 구조는 웨이퍼의 모든 다이에 적용되므로 웨이퍼당 약 4,000개의 다이가 사용됩니다. WAT는 웨이퍼 형태로만 제공되는 반면, PMRO는 웨이퍼 형태, 최종 테스트, 그리고 보드 레벨 테스트 모두에서 사용 가능하므로 데이터를 훨씬 더 유연하게 검토할 수 있습니다.
여기서 핵심 목표는 특정 반도체 다이가 공정 목표에서 얼마나 벗어나 있는지 확인하고 평가하여, 이러한 샘플을 내부 팀원들에게 신속하게 전달하는 것입니다. 이를 위해 WAT 샘플링 횟수를 늘려달라고 요청했습니다. 웨이퍼의 9개 지점에서 시작하여, 웨이퍼의 모든 지점으로 샘플링 횟수를 늘렸습니다. 그런 다음 PMRO와 WAT의 상관관계를 분석했습니다. 다이 레벨과 웨이퍼 레벨 상관관계를 모두 분석했습니다. 웨이퍼 간 편차로 인해 다이 레벨 상관관계가 강하지 않았기 때문에, 결국 웨이퍼 레벨 상관관계를 사용했습니다. 이를 보여주기 위해 JMP 데모를 진행하겠습니다.
이것은 약 22개의 웨이퍼에 서로 다른 공정 분할이 적용된 샘플 데이터 세트입니다. 바로 여기 열은 PMRO 웨이퍼 중간값과 WAT 웨이퍼 중간값입니다. 첫 번째 순서에서는 데이터가 의미가 있는지 확인할 것입니다. "분석"을 실행하고 "Y x X"로 회귀 플롯을 그릴 것입니다. Y에는 PMRO, X에는 WAT를 표시합니다. 확인을 클릭합니다.
스플릿에 롤 범례를 적용해 보겠습니다. 첫 번째 패스처럼 이렇게 보입니다. 느린 웨이퍼는 지연 시간이 더 긴 반면, 빠른 웨이퍼는 지연 시간이 더 짧습니다. 따라서 데이터가 의미가 있습니다.
적합선을 그려보겠습니다. 빨간색 삼각형과 적합선입니다. R제곱은 0.97입니다. 이는 WAT와 PMRO가 상당히 강한 상관관계를 가지고 있음을 의미합니다. RMSE는 약 0.11로, 낮은 편입니다.
다음으로, 몬테카를로 시뮬레이션을 진행하겠습니다. 이 시뮬레이션을 위해서는 Fit Model 플랫폼이 필요합니다. Effects에서 Analyze, Fit Model, PMRO on Y, WAT를 선택합니다. 성격 분석에는 표준 최소제곱법을 사용하고, 강조점을 Effect Screening으로 변경한 후 Run을 클릭합니다.
이전에 살펴봤던 회귀 플롯과 같습니다. 예측 프로파일러까지 아래로 스크롤하겠습니다. 옆에 있는 빨간색 삼각형은 시뮬레이터 옵션입니다.
여기서는 고정(Fixed)을 랜덤(Random)으로 변경하여 몬테카를로 시뮬레이션을 실행해 보겠습니다. JMP에서는 평균 표준 편차를 입력할 수 있는 옵션이 있습니다. 2년 이상 생산된 기기의 데이터를 사용할 예정이라 데이터가 많습니다. 이 데모를 위해 이 숫자를 기억해 두었습니다. 이 데이터 세트 역시 실제 값이 아닌 샘플 데이터 세트입니다.
그런 다음 실행 횟수를 추가합니다. 약 1,000개의 웨이퍼를 시뮬레이션할 것입니다. 웨이퍼당 4,000개의 다이와 1,000개의 웨이퍼가 있습니다. 다음으로, 모델에 RMSE를 다시 추가하고 시뮬레이션을 클릭합니다.
JMP는 여기 작은 히스토그램을 제공합니다. 시뮬레이션된 PMRO 모델입니다. 이 모델에서 평균과 표준 편차를 추출해야 합니다. 하단의 "시뮬레이터를 테이블로" 기능인 "테이블 만들기"를 사용하겠습니다. JMP는 약 1,000개의 웨이퍼에 대한 이 PMRO 모델을 제공했습니다.
PMRO에 대한 히스토그램을 그려보겠습니다. 평균은 약 14.9이고 표준 편차는 약 0.38입니다. 모형은 꽤 정규 분포를 따르는 것 같습니다. 이제 이 모형 평균과 모형 표준 편차를 Z-점수 방정식에 대입해 보겠습니다.
다른 데이터 세트로 전환할 예정입니다. 이 데이터 세트는 기본적으로 약 1,200개의 서로 다른 반도체 다이를 포함합니다. 이 데이터 세트에는 다이 ID가 표시되어 있으며, 현재 제가 알고 있는 공정은 다음과 같습니다. 이 데이터는 개별 다이의 PMRO 데이터이고, 여기에 Z-점수에 대한 방정식이 있습니다. 여기에는 모델 평균에서 개별 데이터를 뺀 값을 모델 표준 편차로 나눈 값이 있습니다.
다음으로, 데이터가 의미가 있는지 확인해 보겠습니다. 단방향 분석을 할 건데, "분석", "Y-X 적합", "Y에 대한 Z-점수", "X에 대한 분할"을 선택합니다. "확인"을 클릭합니다.
다음으로 분위수를 계산해 보겠습니다. 중간 분위수는 여기에 있습니다. 빠른 주사위는 목표값에서 약 +3 시그마, 느린 주사위는 목표값에서 약 -3 시그마 떨어져 있으며, 일반적인 주사위는 0을 중심으로 정렬되어 있습니다.
이 반도체 다이의 공정 코너는 성공적으로 평가되었습니다. 여러 NXP 디바이스에서 동일한 PMRO 모델을 사용하며, 예상대로 전반적으로 잘 작동합니다. 더 중요한 것은 JMP 프로파일러의 유사한 기능을 사용하여 몬테카를로 시뮬레이션을 매우 빠르고 효과적으로 성공적으로 수행했다는 것입니다. 여러분의 프로젝트에서도 JMP의 몬테카를로 기능을 사용해 보시기를 강력히 추천합니다. 감사합니다.