제조 시설에서 발생하는 오류는 상당한 비용 손실로 이어질 수 있습니다. 반도체 산업에서는 생산 중단, 불량품 및 수율 저하 웨이퍼, 생산량 감소 등이 막대한 매출 손실을 초래할 수 있습니다. 이러한 오류를 조사하는 엔지니어는 가동 중단 시간을 최소화하고 제품 품질을 향상시키는 데이터 기반 의사 결정을 위해 신속하게 실행 가능한 통찰력을 도출해야 합니다.
JMP의 분석 워크플로는 이상 현상을 효율적으로 조사하는 데 필요한 단계와 도구를 정의하는 데 도움을 줄 수 있습니다. 쿼리 빌더를 사용하여 데이터베이스에서 데이터에 접근하는 방법과 JMP의 강력한 테이블 메뉴를 활용하여 데이터를 조작하는 방법을 살펴보세요. 웨이퍼 맵 데이터를 시각화하고 분석하는 데 최적의 테이블 형식을 찾아보세요. 탐색적 및 분석적 기법을 활용하여 제조 공정 단계 전반에 걸쳐 숨겨진 관계를 발견하세요. JMP Pro 18용 새로운 Torch 딥러닝 추가 기능의 이미지 분석과 같은 기능을 활용하여 JMP Pro 분석을 강화하고 심층적인 인사이트를 얻으세요.
JMP의 워크플로 빌더를 사용하여 전체 분석을 자동화하고 반복 실행함으로써 코딩 없이도 속도, 반복성, 유연성 및 분석 기능을 확보하십시오. JMP 및 JMP Pro의 이러한 도구와 기술을 활용하여 빠르게 변화하는 제조 환경에서 효율적인 문제 해결과 상당한 비용 절감을 달성하는 방법을 알아보십시오.
안녕하세요 여러분. 저는 라이언 쿠퍼이고, 걸프만 지역 JMP 시스템 엔지니어입니다. 오늘은 JMP를 활용하여 제조 공정 이상 조사 프로세스를 간소화하는 방법에 대해 이야기해 보겠습니다. 반도체 산업을 예로 들었지만, 이와 같은 계획에 따라 이상 상황을 처리하는 방식은 모든 제조 산업에 적용 가능합니다. 이상 조사뿐 아니라 JMP를 사용하는 모든 작업에 유용한 팁과 요령을 몇 가지 알려드리겠습니다. 모두에게 도움이 될 만한 내용이 있을 것입니다.
그럼 이제 다음 현장 답사로 넘어가겠습니다. 혹시 앞으로 30분 정도 제조 현장 답사를 기대하고 계셨다면 죄송합니다. 또 다른 현장 답사가 준비되어 있습니다. 이번 답사를 마치고 나면 JMP 툴박스에서 직접 활용할 수 있는 새로운 도구들을 몇 가지 배우게 되실 겁니다. 이번 현장 답사에는 URA 반도체 회사의 결함 엔지니어링 부서 엔지니어들을 당혹스럽게 했던 불가사의한 웨이퍼 특징들이 포함되어 있습니다. 여기에는 네 개의 웨이퍼 맵이 있는데, 각기 다른 위치에서 나타나는 서로 다른 특징들을 파악해야 합니다.
JMP의 분석 워크플로의 다양한 영역을 활용하여 이 작업을 수행할 것입니다. 먼저 데이터 접근부터 살펴보고, 데이터 혼합 및 정리, 그리고 데이터 탐색 및 시각화까지 진행할 것입니다. 모델링 도구에 대해서도 간략하게 다루겠지만, 궁극적으로는 자동화 및 스크립팅을 통해 모든 과정을 통합할 것입니다. 여기서 가장 중요한 점은 워크플로 빌더를 사용하면 프로그래밍이 전혀 필요 없다는 것입니다. 프레젠테이션 전반에 걸쳐 이 워크플로의 여러 영역을 다시 언급할 것이며, 그 이유를 알게 되실 겁니다. JMP에서 문제를 해결하는 매우 효과적인 방법입니다.
필요한 데이터 테이블이 있습니다. 저는 항상 "이런 작업을 어떻게 시작해야 하나요? 회사에는 엄청난 양의 데이터가 수집되고 있어요."라는 질문을 받습니다. 제 대답은 항상 질문을 염두에 두라는 것입니다. 이 경우, 처음에 던졌던 질문, 즉 이러한 결함이 어디에서 발생하는지 파악하는 것이 중요합니다. 제품 A에서 나타나는 비정상적인 웨이퍼 결함 패턴에 영향을 미치는 공정 단계를 알고 싶습니다. 이러한 웨이퍼 패턴은 모두 제품 A에서 나온 것입니다. 그런 다음 저는 일반적으로 키워드를 데이터 테이블이나 데이터베이스 등의 여러 영역과 연결하려고 합니다.
이 표에는 웨이퍼 결함 공정 단계에 해당하는 웨이퍼 다이 결함 데이터가 있습니다. 저는 제품과 같은 매개변수를 포함한 공정 데이터가 필요합니다. 예를 들어 제품 A의 결함, 단계, 공정 등과 같은 정보가 필요합니다. 데이터 형식을 보시면 세로로 긴 형식인 것을 알 수 있습니다. 이 형식은 웨이퍼를 시각화하는 데는 적합하지만, 예측이나 모델을 통해 더 정교한 분석을 얻는 데는 적합하지 않습니다. 일반적으로 결과에 영향을 미칠 수 있는 예측 변수를 다루는 문제는 가로로 긴 형식이 필요합니다. 이 데이터는 세로 형식이지만, 그래프 빌더에서 X축과 Y축만 사용하면 웨이퍼를 시각화할 수 있습니다.
이 데이터는 이미 상당히 좋은 형식입니다. 어떤 문제의 원인을 파악하려면 데이터를 보다 포괄적인 형식으로 변환해야 하는데, 몇 가지 방법이 있습니다. 다음 페이지에서 우리가 질문에 대한 답을 찾기 위해 필요한 형식을 확인할 수 있습니다. 왼쪽에는 웨이퍼가 개별적으로 표시되어 있고, 다이 레벨의 전체 결함 데이터가 그래프로 생성된 것을 볼 수 있습니다. 이 데이터를 생성하여 표에 저장하고 분석의 여러 부분에서 활용할 것입니다.
그다음에는 공정 단계 데이터를 기반으로 생성된 예측 변수가 있습니다. 이 경우를 보면 단계와 장비 ID가 있습니다. 장비 ID는 밑줄 뒤에 있습니다. 어떤 장비 ID와 어떤 단계가 특정 결함을 유발하는지 파악할 수 있습니다. 여기 있는 결함 총계가 최종 결과입니다. 화면에는 표시되지 않지만, 이것이 우리가 원하는 최종 결과, 즉 표입니다.
여기 분석 계획이 있습니다. 분석 워크플로에 대해 다시 언급하겠다고 말씀드렸는데, 바로 이 부분에서 처음으로 다룹니다. 먼저 쿼리 빌더를 사용하여 데이터를 가져오고 SQL을 사용하여 필터링하는 데이터 액세스 단계가 있습니다. 그다음 데이터 블렌딩 및 정리 단계에서는 테이블을 분할하고 조인합니다. 테이블 분할은 데이터를 넓은 형식으로 변환하는 데 도움이 되며, 문제 해결에 필요한 관계를 설정하기 위해 테이블을 조인해야 합니다. 마지막으로 탐색 및 시각화 단계가 있습니다.
앞서 말씀드린 것처럼 다이 레벨 데이터는 스택형으로 되어 있습니다. 그래프를 데이터 테이블에 저장할 건데, 모두가 아는 기능은 아니지만 정말 유용한 기능입니다. 저장된 그래프를 마커 또는 레이블 도구로 활용하여 분석 결과를 와이드 포맷으로 시각화할 겁니다. 마지막 단계에서 모델링을 진행할 예정입니다. 다음과 같은 흐름을 따라가겠습니다. 먼저 데이터에 접근하고, 데이터 블렌딩이나 정리가 필요 없는 다이 레벨 데이터를 시각화합니다. 와이드 포맷으로 변환하기 위해 약간의 정리를 한 다음, 모델링 및 분석을 진행합니다.
또 하나 짚고 넘어가야 할 점은 분석을 통해 문제를 해결하는 데 있어 80%는 데이터에 접근하고 준비하는 과정이라는 것입니다. 이 경우에는 바로 이러한 단계들이 포함됩니다. 많은 사람들이 이러한 분석을 꺼리는 이유가 바로 이 부분인 것 같습니다. 특히 코딩이나 프로그래밍을 해야 한다면 의욕을 잃기 쉬운데, 다행히 JMP에서는 코딩이나 프로그래밍이 필요하지 않습니다. JMP에는 데이터 준비를 위한 훌륭한 도구들이 있고, 워크플로 빌더를 통해 모든 것을 하나로 통합할 수 있습니다. 이 모든 것이 어떻게 연결되는지는 잠시 후에 살펴보겠습니다. 이 과정을 통해 우리가 달성하고자 하는 목표는 데이터 기반 의사결정을 바탕으로 실행 가능한 정보를 얻고, 워크플로 빌더를 통해 재사용 가능한 지식을 창출하는 것입니다.
이 솔루션은 전체 워크플로우에서 빠르고 유연하며 강력하여 가동 중지 시간을 줄이고 웨이퍼 및 제품 품질을 향상시키며 결과적으로 수익 증대 및 비용 절감을 가져오는 효율적인 해결책을 제공할 것입니다. 이제 JMP 데모를 시작하겠습니다. 이 데모는 개요를 제공하기 위한 것이므로 모든 내용을 이해하지 못하더라도 걱정하지 마세요. 시간 관계상 일부는 직접 설정하고 일부는 간단한 스크립트를 실행할 것입니다. 관심 있는 단계는 첨부된 비디오와 워크플로우를 참고하시면 됩니다.
먼저 쿼리 빌더부터 살펴보겠습니다. 여기서 데이터에 접근할 것입니다. 파일, 데이터베이스, 쿼리 빌더를 차례로 선택하고, 여기서 결함 데이터를 찾아보겠습니다. '반도체'라고 입력해 보겠습니다. 반도체 관련 테이블이 몇 개 보이는데, 여러 테이블이 있을 수도 있습니다. 필요한 테이블을 찾아야 합니다. 이 경우에는 웨이퍼 다이 결함 개수 데이터를 찾아서 '다음'을 클릭하겠습니다.
여기서 테이블 자체와 테이블에 포함된 열에 대한 멋진 미리보기를 볼 수 있습니다. 테이블 스냅샷을 확인할 수 있죠. 제품, 다이 ID, 웨이퍼, 그리고 웨이퍼 상의 각 칩에 대한 결함 수 등 테이블의 구성 방식을 확인할 수 있습니다. 이는 매우 개별적인 분석 데이터입니다. 각 단계, 각 결함 단계에서 각 칩에 대한 항목이 하나씩 나열되어 있습니다. 결함을 스캔하는 과정이죠. 원한다면 여기서 조인을 할 수도 있지만, 모든 조인 및 데이터 테이블 조작은 나중에 JMP에서 수행할 것입니다. 지금은 "쿼리 빌드"를 클릭하겠습니다.
무슨 일이 일어나고 있는지 확인하기 위해 여기에 제품을 추가해 보겠습니다. 보시다시피 열이 하나 추가되었지만, 원한다면 이 옵션을 켜서 각 행을 따로 볼 수도 있습니다. 지금은 꺼두겠습니다. 이제 다이 ID, X 및 Y 다이, 웨이퍼, 그리고 결함 정보를 순서대로 추가해 보겠습니다. 모든 정보가 여기에 추가되는 것을 볼 수 있습니다. 문제가 발생한 제품 A로 필터링하고 싶습니다. 제품 A로 필터링할 수 있습니다. 이 워크플로를 실행할 때 필터링 조건을 선택하도록 할 수도 있습니다. 다른 제품을 확인하고 싶다면 같은 워크플로를 통해 진행할 수 있습니다.
이 상황에서는 그렇게 하지는 않겠지만, 그런 기능이 있다는 걸 알아두세요. 제품 A로 필터링하고 있으므로 여기 열에서 제품을 제거할 수도 있습니다. 지금 무슨 일이 일어나고 있냐면, 제가 드래그 앤 드롭한 대로 데이터베이스에서 정확히 원하는 데이터를 가져오기 위해 약간의 SQL 쿼리가 실행되고 있는 겁니다. 이 쿼리를 실행하는 데 SQL 쿼리를 알 필요는 없습니다. 이 정보를 바탕으로 쿼리를 실행하고 닫겠습니다. 결과는 다음과 같습니다. 이제 이 결과를 가지고 그래프 빌더로 이동할 수 있습니다. X축 다이가 보이네요. Y축 다이의 X 위에 겹쳐 놓으면 됩니다. 기본 설정은 부드럽게 표시되지만, 이 기능을 끄고 데이터 포인트로 표시할 수도 있습니다. 이제 웨이퍼 모양과 훨씬 비슷해 보입니다.
이 경우에는 모든 데이터가 한데 모였습니다. 웨이퍼 개수별로 나누고 싶습니다. 이제 개별 웨이퍼를 시각화한 것을 볼 수 있습니다. 총 125개인데, 결함 정보를 추가하고 싶습니다. 결함 정보를 오버레이로 가져오겠습니다. 이제 반도체 웨이퍼의 각 다이 또는 칩에 있는 결함 수를 확인할 수 있습니다. 현재 색상으로 표시되는 범례 설정이 마음에 들지 않습니다. 결함의 상태를 색상으로 명확하게 보여주지 못합니다.
여기서 범례 설정으로 들어가서 색상 테마를 좀 더 눈에 띄게 바꿔볼게요. 파란색에서 빨간색으로요. 지금 어떻게 보이는지 한번 볼까요? 서명들이 좀 더 잘 보이기 시작하는데, 대비를 좀 더 높여서 서명이 더 잘 보이도록 하고 싶어요. 색상 테마를 조금 조정하고, 새 테마를 만들어서 마커로 빨간색 영역을 넓혀볼게요. 확인을 클릭하면 이제 서명들이 훨씬 더 잘 드러나죠. 위아래 결함, 도넛 모양, 그리고 좌우 결함까지 다 보이네요. 여기 좌우 결함이 보이시죠?
좋아 보이네요. 완료를 클릭하겠습니다. JMP의 그래프 빌더와 데이터 테이블로의 변환 기능에 대해 잘 알려지지 않은 부분이 있는데요. 여기 빨간색 삼각형을 클릭하고 '데이터 테이블로 만들기'를 선택하면 그래프 아이콘이 있는 데이터 테이블이 생성됩니다. 이 기능을 다른 정보에도 활용할 수 있고, 시각화를 훨씬 더 흥미롭게 만들 수 있습니다. 오늘은 여기까지 하겠습니다.
이제 데이터 테이블을 분할하고 보다 정교한 분석을 위해 넓은 형식으로 변환하는 방법을 생각해 보겠습니다. 칩 ID 또는 다이 ID를 상단에, 웨이퍼 정보를 왼쪽에 배치하도록 다이 ID 테이블을 분할할 것입니다. 이렇게 하면 해당 정보를 이 테이블과 병합할 수 있습니다. 테이블 메뉴에서 분할을 선택하겠습니다. 미리보기를 켜서 어떤 변화가 있는지 확인해 보겠습니다.
다이 ID를 기준으로 데이터를 분할하고, 각 다이 ID 내의 결함들을 분할하려고 합니다. 현재 위쪽에는 1,423개의 다이가 있고, 왼쪽에는 125개의 웨이퍼가 있습니다. 웨이퍼를 확인하려면 웨이퍼를 아래로 드래그하여 그룹화하겠습니다. 이제 첫 번째 열에 웨이퍼가 표시되고, 오른쪽에는 모든 다이 ID가 표시됩니다. 이렇게 하면 다른 테이블과 병합하는 데 도움이 됩니다. 테이블 이름을 정하려고 하는데, 미리 만들어진 테이블이 있으니 그걸로 이동해서 병합하겠습니다. 확인을 클릭하겠습니다.
이제 더 이상 필요 없으니 닫겠습니다. 여기 테이블이 두 개 있네요. 이 정보를 여기서 조인하겠습니다. [테이블] > [조인]으로 이동합니다. Graph Builder 테이블과 여기 있는 다른 테이블을 조인할 겁니다. 웨이퍼 열을 기준으로 일치시킬 거예요. 웨이퍼는 두 테이블의 공통 열입니다. 여기 [미리보기]가 나타나는 걸 볼 수 있죠. 두 테이블 모두에 웨이퍼 열이 두 개 있는데, 출력하려면 하나만 선택해야 합니다. 웨이퍼와 그래프를 먼저 선택하고 활성화하겠습니다.
웨이퍼와 그래프는 준비됐습니다. 이제 나머지 다이를 선택하겠습니다. 이제 모든 것이 한데 모였습니다. 출력물 이름도 지정하고 확인을 클릭하겠습니다. 지금까지 사용한 항목들로 두 개의 테이블이 생겼는데, 이제 모든 데이터가 이 테이블에 있습니다. 이 테이블들을 닫겠습니다. 이제 데이터 테이블이 생겼는데, 여기서 몇 가지 작업을 할 수 있습니다. 여기에는 전체 불량 개수나 합계는 나와 있지 않지만, 잠시 후에 합계를 계산해 보겠습니다. 아직 공정 단계는 표시되지 않았습니다. 이 단계를 확인하면 문제를 해결하는 데 도움이 될 것입니다.
하지만 이제 다이를 예측 변수로, 웨이퍼를 왼쪽에 배치했으니 흥미로운 시각화와 모델링을 할 수 있습니다. 먼저 JMP Pro 18의 새로운 기능인 다변량 임베딩을 사용해 보겠습니다. UMAP을 사용할게요. 가장 먼저 UMAP1과 UMAP2 그래프가 나타납니다. 모든 칩의 차원이 두 개의 차원으로 축소되었고, 여기서 몇 가지 관계를 살펴보겠습니다.
보시다시피 검은 점들은 지금 당장은 별다른 정보를 제공하지 않습니다. 단지 행을 나타낼 뿐이죠. 바로 이 부분에서 그래프가 중요한 역할을 합니다. 그래프를 클릭하고 마우스 오른쪽 버튼을 눌러 '마커로 사용'을 선택하겠습니다. 그러면 다변량 임베딩에서 어떤 변화가 일어나는지 보실 수 있습니다. 이제 비정상적인 특징을 보이는 웨이퍼들이 정상 웨이퍼들과는 떨어져 오른쪽에 표시되는 것을 확인할 수 있습니다. 비정상적인 웨이퍼들이 이쪽에서 나타나기 시작하는 거죠. 이렇게 하면 이전에는 알지 못했던 웨이퍼 특징들을 시각화하는 데 아주 유용합니다.
다음으로 클러스터링을 진행하겠습니다. 이 작업도 별도로 실행할게요. 이 기능은 여기 있는 모든 다이를 사용하여 유사한 웨이퍼들을 그룹으로 묶습니다. 데이터 테이블에 저장된 것을 보실 수 있을 거예요. 각 웨이퍼가 서로 다른 클러스터에 할당되었고, 클러스터 선택기라는 열 전환기가 있는 그래프 빌더를 만들었습니다. 여기서 웨이퍼들을 하나씩 살펴보면서, 예를 들어 한 모델에 속한 웨이퍼 125개는 하나의 클러스터에 속하고, 두 개의 클러스터에 속한 웨이퍼들은 서로 다른 웨이퍼 특성을 나타내는 것을 확인할 수 있습니다.
라인을 따라 내려가면서 어떤 모습인지 확인해 보겠습니다. 클러스터 5가 가장 최적이었던 것 같습니다. 보시다시피 대부분의 좌우 결함은 여기에 있고, 상단과 하단 결함은 이쪽에 있습니다. 큰 도넛 모양 결함은 별도의 클러스터로 나타납니다. 나머지 결함에 대해서도 같은 방식으로 확인할 수 있습니다. 이제 나머지 문제로 넘어가 보겠습니다. 프로세스 데이터가 필요한 테이블이 있다고 말씀드렸죠. 시간을 절약하기 위해 쿼리 빌더를 별도로 실행해서 해당 프로세스 데이터를 가져오겠습니다. 이전에 사용했던 쿼리 빌더와 같은 방식으로 작동합니다. 프로세스 데이터만 찾으면 됩니다.
테이블을 얻기 위해 이 작업을 실행하겠습니다. 지금은 세로형 형식인데, 웨이퍼, 즉 제품과 연결하기 위해 가로형 형식으로 바꿔야 합니다. 먼저 몇 가지 변수를 결합하여 더 유용한 정보를 제공하도록 하겠습니다. 분할 작업을 마치면 왜 이것이 중요한지 알게 될 것입니다. 단계 ID와 공정 유형 사이에 밑줄을 추가하겠습니다. 공정 유형은 여러 가지가 있을 수 있습니다. 이 경우에는 장비이지만, 챔버나 다른 유형의 ID를 가진 항목이 있을 수도 있습니다. 각 공정 유형별로 각 단계에서 어떤 일이 발생하는지 구분하기 위해 이러한 변수들을 연결해야 합니다.
여기서 마우스 오른쪽 버튼을 클릭하고 '새 수식 열'을 선택한 다음 '문자'를 선택하고 밑줄로 연결하겠습니다. 이제 두 문자가 합쳐졌습니다. 프로세스 유형도 같은 방식으로 제 유형 ID를 밑줄로 연결하겠습니다. 이제 이 정보를 얻었으니 이전에 웨이퍼 다이에서 했던 것처럼 분할할 수 있습니다. 이것도 별도로 실행하겠습니다. 이 작업을 완료했으므로 이 표를 닫을 수 있습니다.
자, 여기 웨이퍼 125개가 있고, 각 웨이퍼의 제조 공정과 공정 유형, 그리고 해당 공정에 사용된 특정 장비(챔버 등)의 ID가 기록되어 있습니다. 이 데이터에는 수백, 심지어 수천 개의 공정이 포함될 수 있습니다. 따라서 모든 공정을 일일이 필터링하여 어떤 웨이퍼가 어떤 공정을 거쳤는지 확인하는 것은 현실적으로 불가능합니다. 그래서 우리는 이 데이터를 기존 테이블에 추가하고, 결함을 합산한 다음, 어떤 공정이 웨이퍼 특성에 실제로 영향을 미치는지 파악할 것입니다.
이를 위해 다시 여기로 돌아가서 모든 결함을 합산해 보겠습니다. 간단한 수식 트릭을 하나 더 사용해 볼게요. 자, 여기 있습니다. 모든 결함이 선택되어 있죠. 마우스 오른쪽 버튼을 클릭하고 새 수식 열을 만든 다음, 결합하고 합산하면 이 모든 것을 한 번에 합산할 수 있습니다. 맨 마지막에 모든 결함이 더해졌습니다. 모든 결함을 합산한 열이 생겼는데, 이 열의 이름을 '총 결함 수'라고 하겠습니다. 확인을 클릭합니다. 다음으로, 이전과 유사하게 조인을 해보겠습니다. 이번에도 백그라운드에서 진행하겠습니다. 웨이퍼 그래프, 총 결함 수, 그리고 공정 단계만 여기에 표시되도록 하겠습니다. 이제 이 부분을 닫을 수 있습니다.
이제 웨이퍼, 그래프, 그리고 장비 ID가 포함된 각 단계들을 모두 확보했습니다. 맨 끝에는 전체 결함 수가 있습니다. 이 표는 우리가 처음에 세웠던 질문, 즉 어떤 단계가 이러한 웨이퍼 특성의 원인을 만들어내는지 밝히는 데 도움이 되는 최종 결과입니다. 이렇게 데이터를 표 형식으로 정리한 후에는 분석, 스크리닝, 예측 변수 스크리닝을 먼저 진행합니다. 여기에서 수백, 수천 개에 달할 수 있는 모든 단계를 X축에 입력하고, 전체 결함 수를 Y축에 입력합니다.
이 모델은 어떤 요소가 전체 결함 수를 예측하는 데 가장 효과적인지 알아내기 위해 실행될 것입니다. 1단계, 5단계, 그리고 4단계가 전체 결함 수에 잠재적으로 큰 영향을 미칠 수 있는 것으로 보입니다. 각각 따로 살펴보겠습니다. 1단계, 4단계, 5단계를 선택해서 그래프 빌더로 이동하겠습니다. 웨이퍼와 그래프에 마커가 표시되어 있으므로, 어떤 결과가 나오는지 빠르게 확인할 수 있습니다.
1단계를 여기로 가져오겠습니다. 좀 더 크게 만들어 볼게요. 바로 알 수 있듯이, 장비 B가 가장 큰 영향을 미치는 것 같습니다. 여기 상하단 결함이 있네요. 이걸 찾았군요. 이걸 컬럼 스위처로 만들어 보겠습니다. 리두 및 컬럼 스위처 기능이 있습니다. 1번, 4번, 5번을 살펴보고 8번도 추가하겠습니다. 잠시 후에 이유를 설명해 드리겠습니다.
4단계도 중요한 역할을 했습니다. 장비 L에서 좌우 결함을 발견한 것 같습니다. 5단계에서는 장비 N에서 도넛 모양의 결함 패턴이 나타났습니다. 8단계를 포함시킨 이유는 웨이퍼가 두 개밖에 없는데, 여기서 무작위 결함 패턴이 나타나는 것 같지만 웨이퍼가 두 개뿐이라 아직 모델에서 확인되지 않았기 때문입니다. 더 많은 데이터, 즉 더 많은 웨이퍼가 있어야 모델에서 확인할 수 있을 것입니다.
지금까지 우리가 해낸 것은 이러한 결함을 일으키는 장비가 무엇인지 파악하는 것이었습니다. 파워포인트로 돌아가서 목표를 확인하고 우리가 무엇을 달성했는지 살펴보겠습니다. 데이터 기반 의사결정을 통해 실행 가능한 정보를 얻을 수 있었습니다. 이제 각 단계에서 해당 장비를 좀 더 철저하게 조사할 수 있을 것 같습니다. 장비 자체에 다른 문제가 있을 수도 있지만, 일단 원인을 좁혀 나갔습니다.
재사용 가능한 지식을 보유하고 있습니다. 잠시 후 워크플로 빌더를 보여드리겠습니다. 방금 제가 수행한 모든 작업이 워크플로 빌더에 어떻게 구현되었는지 확인할 수 있습니다. 전체 워크플로에서 속도, 유연성, 그리고 강력한 성능을 제공합니다. 이 워크플로는 재사용 가능하며, 다른 상황에서도 다시 실행할 수 있습니다. 몇 단계만 아주 쉽게 수정하면 효율적인 해결책을 얻을 수 있습니다. 이 작업을 완료하는 데 많은 시간이 소요되지 않았습니다. 가동 중지 시간을 줄이고, 품질을 향상시키며, 수익 증대와 비용 절감을 실현하고 있습니다.
이런 방식의 가장 큰 장점은 첫째, 신속하고 효율적인 의사 결정입니다. 방금 만든 코드는 몇 시간씩 코딩하거나 몇 주, 몇 달씩 학습할 필요가 없었습니다. 시스템이나 프로그램, 대기열에 쌓여 구현을 기다리지도 않았습니다. 바로 당신이 직접 만든 것입니다. 해당 분야 전문가인 당신이 직접 개발한 것이죠. 프로세스를 가장 잘 이해하는 당신이기 때문에 필요한 수정도 손쉽게 할 수 있습니다. 또한, 분석은 표준화되고 최적화되어 있으며, 정확하게 수행되고 자동화를 통해 반복 가능해집니다.
제조 문제를 신속하게 해결함으로써 시간과 비용을 절약하셨습니다. 여기서 한 가지 덧붙이자면, 전문가로서 해당 분야의 데이터에 접근할 수 있다는 것은 매우 중요한 가치입니다. 데이터베이스 관리자나 데이터 과학 팀 등이 알아차리지 못하는 부분을 발견할 수 있기 때문입니다. 과학자나 엔지니어가 이런 식으로 데이터에 접근하는 것에 대한 부정적인 반응을 본 적이 있는데, 운영 중인 데이터베이스에 문제를 일으킬 수도 있다는 우려 때문이었습니다. 하지만 해당 분야 전문가의 역량은 현상 유지에 머무르지 않고 새로운 발견을 하는 데 필수적입니다.
해결책으로 실제 운영 데이터베이스를 미러링하는 방식을 고려해 볼 수 있습니다. 이렇게 하면 세 곳의 반도체 회사에서 과학자와 엔지니어들이 이 데이터에 접근함으로써 생산성이 어떻게 향상되었는지 확인할 수 있습니다. 이 도구를 통해 전문가들은 지루한 데이터 준비 작업에서 벗어나 실질적인 비즈니스 가치를 창출하는 엔지니어링 문제 해결에 집중할 수 있게 되었습니다. 제 QE(품질 엔지니어링) 사례에서는, 기존 방식으로는 몇 시간씩 걸렸을 프로세스 및 보고서 정보를 신속하게 수집할 수 있게 되었습니다. 시간을 절약할 수 있는 것이죠.
자, 마지막으로 제가 정말 좋아하는 건 수치로 확인할 수 있는 결과입니다. 데이터 처리 시간이 83% 단축되고, 비용이 크게 절감되었으며, R&D 엔지니어들의 직무 만족도가 260% 향상되었습니다. 이는 다른 방식들에 비해 문제를 해결하는 훨씬 직접적인 방법이며, 다른 방식들은 직무 만족도를 그만큼 높이지는 못할 수도 있습니다. 이제 이 워크플로우와 모든 것을 함께 실행했을 때 어떤 모습인지 보여드리겠습니다.
제가 지금까지 했던 모든 작업을 되짚어 보겠습니다. 구조가 어떻게 되어 있는지 보실 수 있습니다. 다시 한번 분석 워크플로로 돌아가 보겠습니다. 저는 데이터 접근, 시각화, 데이터 준비 등 분석 워크플로와 관련된 단계들을 그룹화하는 것을 좋아합니다. 파트 1과 파트 2로 나누어져 있습니다. 제가 여기서 했던 모든 작업을 보실 수 있습니다. 처음에는 이 모든 과정을 순차적으로 기록하고 여기에 정리해 두었기 때문에 반복해서 사용할 수 있었습니다. 여기서 재생 버튼을 누르면 전체 내용이 팝업으로 나타나는 것을 보실 수 있습니다. 이전에 했던 것처럼 그래프를 데이터 테이블에 저장했습니다. 여기에는 다변량 임베딩이 있습니다. 지금은 예측 변수 선별을 위해 모델을 실행하고 있는 것 같습니다.
클러스터링 결과도 얻었습니다. 마지막 단계에서는 예측 변수 선별을 진행했죠. 여기에서 우리가 단계별로 살펴본 그래프를 확인할 수 있습니다. 장비 B, 장비 L, 장비 N이 시그니처 결함의 원인임을 아주 명확하게 알 수 있습니다. 이 모든 결과는 재현 가능합니다. 새로운 데이터로 다시 실행해 보면 어떤 웨이퍼가 어떤 장비로 보내지는지 확인할 수 있습니다.
자, 그럼 Torch 딥러닝과 관련된 또 다른 내용을 보여드리겠습니다. Russ Wolfinger가 진행하는 심층 세션이 있지만, 여기서는 반도체 관련 예제 몇 가지를 간단하게 보여드리겠습니다. 이 기능은 JMP Pro 18의 특징입니다. 추가 기능 메뉴에서 JMP 커뮤니티의 추가 기능 페이지를 통해 별도로 다운로드할 수 있습니다. Torch 딥러닝 및 예제 데이터 항목에 Torch 스토리북이 있습니다. Russ는 다양한 상황에 맞는 여러 예제를 모아 놓았는데, 그중 반도체 웨이퍼 및 웨이퍼 맵과 관련된 예제가 몇 가지 포함되어 있습니다.
Torch Deep Learning을 사용하면 이미지에서 직접 이미지 분석을 수행하고 웨이퍼와 관련된 결함 및 특징을 분류할 수 있습니다. 이 과정을 보여드리는 이유는 방금 보여드린 것과 매우 유사하기 때문입니다. 데이터 테이블을 열어보겠습니다. 이미지 파일이 있고, 파일 이름에는 로트 ID, 웨이퍼 ID, 로트 번호, 다이 크기(웨이퍼 내 다이 개수), 그리고 불량 유형(분류에 따라 다름)이 포함되어 있습니다.
여기 있는 이미지들을 이용해서 고장 유형을 예측하는 학습 모델을 만들 수 있어요. 정말 멋지죠. 딥러닝 수준에서 이렇게 드래그 앤 드롭 방식으로 이미지 분석을 할 수 있는 인터페이스는 이번이 처음이에요. 정말 대단하죠. 더 자세한 내용은 Russ가 작성한 Torch 딥러닝 추가 기능 가이드와 올해 Discovery 컨퍼런스에서 발표한 강연을 참고하시길 추천합니다.
그럼, 궁금한 점이 있으시면 ryan.cooper@jmp.com으로 문의해 주세요. 이것으로 제 발표를 마치겠습니다. 질문이 있으시면 언제든지 이메일로 보내주세요. 들어주셔서 감사합니다.