자, 이제 속마음을 털어놓겠습니다. 엄격한 기준을 적용한다면, 데이터베이스에서 바로 나오는 반도체 제조 데이터는 일반적인 관리도에 사용해서는 안 됩니다. 여러 가지 이유가 있습니다. 하지만 걱정하지 마세요! 해결책이 있습니다. 마이크 앤더슨과 함께 사례 연구를 통해 반도체 데이터에 표준 관리도를 사용할 때 발생하는 문제점과 JMP 18에 새롭게 도입된 단기 생산 관리도를 사용하여 이를 해결하는 방법을 알아보세요.
관리도를 이용한 이 문제를 살펴보겠습니다. 먼저 아주 간단한 것부터 시작해 보죠. 관리도란 무엇일까요? 관리도는 사실 아주 간단한 개념입니다. 특정 가정을 충족할 때, 특정 계산된 한계값과 요약 통계량을 포함하는 추세 차트이자 시계열 차트입니다. 이를 통해 프로세스가 시간에 따라 예상대로 작동하는지 확인할 수 있습니다. 관리도는 프로세스가 잘 되고 있는지, 아니면 잘못되고 있는지를 알려주는 것이 아니라, 변화가 없다는 사실을 보여주는 것입니다.
하지만 제조 현장에서는 이러한 관리 차트가 엄청나게 강력한 도구입니다. 우리는 공정이 예상치 못한 변동 없이 정상적으로 진행되고 있는지 확인하고 싶어하며, 공정의 변화나 변동 추이 등을 추적하고 싶어합니다. 이러한 관리 차트는 통계적 공정 관리의 핵심 요소입니다. 공장 곳곳에서 볼 수 있으며, 제조 과정 전반에 걸쳐 공정의 건전성을 파악하는 데 있어 중요한 기반 중 하나입니다.
제가 언급한 몇 가지 가정을 살펴보면, 특히 세 가지가 오늘 말씀드린 문제점을 야기할 것입니다. 첫 번째는 무작위 데이터 스트림을 기대한다는 것입니다. 즉, 가능한 한 서로 다른 로트의 부품이나 서로 다른 부품의 여러 위치에서 무작위로 샘플링할 것으로 예상한다는 것입니다.
또한 적절한 요약 통계량을 사용할 수 있기를 기대합니다. 정규성 사용 등과 관련된 몇 가지 질문이 있지만, 자세히 다루지는 않겠습니다. 하지만 앞의 두 가지는 세 번째, 즉 오늘 우리가 논의하는 핵심 문제인 '특수 원인 변동 없음'이라는 개념과 밀접하게 연결되어 있습니다. 특수 원인 변동이란 엔지니어와 과학자가 "x, y, z 때문에 그런 현상이 나타날 것으로 예상한다"라고 생각하는 것을 말합니다. 만약 x, y, z 때문에 그런 현상이 나타날 것으로 예상한다면, 그것은 할당 가능한 원인 또는 특수 원인입니다.
일반적으로 말해서, 우리는 데이터 스트림에서 그러한 특수 원인들을 최대한 제거하고자 합니다. 때로는 불가능할 때도 있지만, 대부분의 경우 특수 원인으로 인한 변동을 완화하는 것이 목표입니다. 관리도에서 볼 수 있는 것은 삶의 무작위적인 잡음과 뒤섞인 주요 신호뿐입니다. 이것이 바로 우리가 다루고자 하는 핵심 개념입니다.
왜 이것이 특히 반도체 분야에서 문제가 될까요? 우선, 칩이나 웨이퍼에서 측정할 수 있는 특정 위치들이 있다는 흥미로운 문제가 있습니다. 우리는 이 실리콘 블록에 전선과 소자를 새겨 넣습니다. 칩에는 측정 가능한 특정 위치들이 있습니다. 모든 위치를 측정하는 것은 비용이 엄청나게 많이 들기 때문에 바람직하지 않습니다. 그래서 샘플링 계획을 세웁니다. 가운데와 오른쪽에 있는 몇 가지 예시에서 볼 수 있듯이, 우리는 시간이 지남에 따라 다양한 샘플링 계획을 사용해 왔습니다.
그 자체는 큰 문제가 아닙니다. 다만 우리가 이야기하고 있는 무작위화 규칙을 위반하는 것이죠. 이상적으로는 제가 왼쪽에 보여드린 웨이퍼 전체 지도에서 사용 가능한 모든 위치에서 무작위로 샘플링하는 것이 좋겠지만, 극복할 수 없는 문제는 아니더라도 과정을 복잡하게 만드는 것은 사실입니다.
더 큰 문제는 이러한 장비에서 나오는 데이터를 살펴볼 때 발생합니다. 예를 들어 보겠습니다. 이것은 반도체 공정에서 나오는 전형적인 데이터 세트입니다. 위쪽에는 전체 웨이퍼 맵이 있고, 아래쪽에는 두 가지 샘플링 계획이 있습니다. 만약 이 데이터를 관리도에서만 본다면 아무런 문제도 발견하지 못할 것입니다. 하지만 관리도에서 보면 데이터 포인트들이 상당히 넓게, 그리고 편향되게 분포되어 있는 것을 알 수 있습니다. 이로 인해 평균값이 예상치 못한 방향으로 치우치게 되고, 어떤 경우에는 목표치에서 벗어난 것처럼 보이게 됩니다.
왜 그런지는 방사형 변환이라는 걸 살펴보면 금방 알 수 있어요. 각 데이터 포인트의 반경을 웨이퍼 중심에서 얼마나 멀어지는지 살펴보는 거죠. 그렇게 하면 뭔가 이상하다는 걸 바로 알 수 있어요. 전체 웨이퍼 맵에서 가운데에 튀어나온 부분이 보이는데, 샘플링 계획과 상관없이 나타나는 현상이에요.
현장에 있는 우리 같은 사람들은 "아, 저게 뭔지 알겠다"라고 말할 겁니다. 데이터를 생성하는 기술에 따라 수치가 오르거나 내리는 것을 볼 수도 있지만, "아, 맞아. 저게 어디서 오는 건지 정확히 알겠다"라고 말할 수 있고, 이는 원인을 특정할 수 있는 것입니다.
이 경우, 우리가 가진 나머지 두 가지 문제, 즉 표본 추출 계획의 문제, 무작위화의 부족, 그리고 원인 규명이 우리를… 좀 더 자세히 살펴보면, 만약 우리가 평균값을 구한다면… 이것이 옳은 방법인지 아닌지는 잠시 제쳐두도록 하겠습니다. 단지 설명을 위한 예시로만 사용하겠습니다.
이 데이터의 평균은 약 112입니다. 반올림 오차를 감안하여 113이라고 하겠습니다. 이 표본 추출 계획은 거의 한 단위만큼 높게, 또는 거의 반 단위만큼 높게 나타냅니다. 이렇게 하겠습니다. 하지만 다른 표본 추출 계획을 사용하면 실제 예상되는 수치와 반올림 오차 범위 내에 있는 결과를 얻을 수 있습니다. 무작위화되지 않은 표본 추출 계획과 특수 원인 변동이 결합되면 신뢰할 수 없는 통계, 특히 요약 통계가 나올 수 있습니다. 이 세 가지 요소가 서로 얽혀 온갖 문제를 일으킵니다. 하지만 흥미로운 점은 이러한 상호작용 덕분에 오히려 문제를 해결할 수 있다는 것입니다. 이러한 문제들을 새로운 방식으로 활용하는 흥미로운 사례입니다.
다시 말해, 웨이퍼에 특별한 원인으로 인한 변동이 없다면 왼쪽 그림과 같은 형태를 볼 수 있을 것입니다. 무작위 노이즈가 섞인 평탄하고 안정적인 값만 나타날 것으로 예상됩니다. 하지만 제조 공정의 일부 영역에서는 실제로 이러한 현상이 나타납니다. 도금 공정, CMP 공정, 그리고 증착 및 스핀 코팅 코드 등을 완벽하게 설정했을 경우 포토레지스트 공정에서도 이러한 현상이 발생할 수 있습니다.
우리는 제조 공정에서 그 특성을 확인할 수 있지만, 증착 장비나 식각 장비에서 이러한 토폴로지가 나타나는데, 이는 꽤 문제가 됩니다. 상당히 많이 나타납니다. 물론 이 그림은 다소 과장된 것이지만, 도넛 모양의 형상이 여기저기서 나타나는 것을 볼 수 있습니다. 샘플링 계획 때문에 처음에는 알아차리지 못할 수도 있습니다. 여기서는 점으로, 저기서는 덩어리로 보일 수 있지만, 모두 같은 반경상에 있습니다. 데이터를 변환하여 "이것들이 어떻게 연결되어 있는가?"를 확인하는 것은 항상 좋은 습관입니다. 당연한 일이죠. 하지만 이 경우에는 바로 그 부분이 문제입니다.
이 문제를 간단히 요약해 보겠습니다. 무작위화가 거의 또는 전혀 이루어지지 않았습니다. 적절한 요약 통계량은 있지만, 무작위화 부족과 특수 원인 변동이 결합되어 문제가 발생합니다. 공장에서는 특수 원인 변동이 자주 발생하는데, 관리도에 이를 반영하지 않는 경우가 많습니다.
따라서 특수 원인 변동이 온갖 예측 불가능한 상황을 초래할 수 있기 때문에 관리도는 신뢰할 수 없습니다. 변동이 표준편차 이하로 떨어지면 계산된 한계치가 낮아 보이는 착시 현상이 발생하여 오경보가 발생하기 시작합니다. 반대로, 변동이 관리 한계치를 크게 벗어나 모든 것이 정상인 것처럼 보이게 만들 수도 있습니다. 실제로는 상황이 매우 불안정하고 통제 불능 상태인데도 말입니다. 이러한 문제를 해결해야 합니다.
알고 보니 JMP 18에서는 이 문제를 해결할 수 있는 완전히 새로운 방법이 있습니다. 아주 편리한 기능이죠. 한번 살펴보겠습니다. JMP 18에는 '단기 생산 관리도(Short Run Control Chart)'라는 기능이 있습니다. 통계적 공정 관리 경험을 쌓은 교육 기관이나 프로그램(식스 시그마, 정식 교육 등)에 따라 단기 생산 관리도, 목표 관리도, 또는 Z 관리도라고 부르는 경우도 있을 수 있습니다. 모두 같은 종류의 관리도입니다.
이것들이 흥미로운 이유는 평균값을 직접 보는 것이 아니라, 각 샘플 하위 그룹이 평균값에서 얼마나 벗어나는지를 살펴보기 때문입니다. 이 경우, 저는 웨이퍼 내부에 가상 제품들을 만들었습니다. 업계 종사자들에게는 웨이퍼를 다양한 크기의 링이나 사분면, 또는 여러 가지 모양으로 나누어 모니터링하는 아이디어가 그다지 획기적인 것은 아닙니다. 하지만 여기서 독특한 점은 이 모든 것을 하나의 관리도에 담아 하나의 데이터 흐름으로 취급한다는 것입니다.
웨이퍼의 여러 부분들은 레시피 측면에서 보면 대부분 동일한 공정을 거칩니다. 같은 공정을 거치지만, 그 공정의 다른 단계를 거치는 것뿐입니다. 미세한 토러스 모양을 제어하는 것은 사실상 불가능합니다. 장비에 있는 몇 가지 조절 장치를 통해 조정할 수는 있지만, 대부분의 경우 모양들이 서로 매우 밀접하게 연관되어 있습니다. 이러한 상관관계를 바꿀 방법은 사실상 없습니다.
우리는 이들을 동일한 공정을 거치는 서로 다른 제품으로 취급할 수 있으며, 이를 통해 단기 관리 차트를 사용할 수 있습니다. 이 차트는 각 가상 제품에 서로 다른 목표값을 할당할 수 있게 해주기 때문에 매우 유용합니다. 여기서 말하는 가상 제품은 바로 이러한 가상 제품입니다. 이를 통해 중앙의 고리 모양을 모델링할 수 있습니다. 기본적으로 "우리가 어떤 작업을 하든 이 중앙 부분은 다른 부분보다 훨씬 클 것으로 예상한다. 따라서 이 부분에 더 높은 목표값을 할당하고, 중심과 고리, 그리고 중심과 바깥쪽 가장자리와의 관계에서 예상했던 위치에 있도록 관리해야 한다"라고 말할 수 있습니다. 이것이 바로 핵심 아이디어입니다.
자, 그럼 제가 어떻게 이걸 했는지 설명해 드릴게요. 먼저 프로세스 분할부터 시작해 보겠습니다. 가상 제품들을 불러오겠습니다. 이게 바로 가상 제품들의 모습입니다. 저는 반경을 0~50, 50~100, 그리고 100~150으로 나누어 영역을 정의했습니다. 각 가상 제품에 동일한 수의 데이터 포인트가 포함되도록 영역을 할당하는 데 신경을 썼습니다. 이 경우, 각 가상 제품에는 5개의 데이터 포인트가 있습니다. 이는 제가 본 일반적인 반도체 공장의 샘플링 계획에서 사용하는 데이터 포인트 수 범위(13~15개)와 비슷합니다. 하지만 각 영역에는 나누어 떨어지는 수의 데이터 포인트가 있어야 합니다. 각 영역에는 5개의 그룹이 있습니다.
웨이퍼나 데이터 세트에서 제가 한 일은 반지름이 50이면 영역 1, 2, 3으로 나누는 공식을 만든 것뿐입니다. 모두가 보기 쉽게 하기 위해 각 영역에 값 레이블을 지정해서 어떤 영역이 어떤 의미인지 좀 더 명확하게 구분했습니다. 이 모든 과정이 사실상 이 기술을 작동시키는 데 필요한 전부입니다.
이제 관리도를 좀 더 깔끔하게 보이도록 수정했습니다. 웨이퍼 ID를 생성했는데, 여기서는 가상의 웨이퍼 ID를 사용했습니다. 그런 다음 각 제품을 아래첨자로 추가하여 관리도에서 제품들이 좀 더 잘 구분되도록 했습니다. 이렇게 하면 관리도가 더 잘 보이게 됩니다. 이 작업을 완료하는 데 필요한 것은 이게 전부입니다.
자, 이제 이것이 왜 중요한지 보여드리겠습니다. 이 고리들을 나누어 보면 중심, 고리, 그리고 가장자리가 있는 것을 알 수 있습니다. 각각은 고유한 목표값을 가지고 있습니다. 가장자리의 목표값은… 이 경우에는 308, 309, 318 정도일 것으로 예상하고, 이 경우에는 310 정도일 것으로 예상합니다. 이것이 바로 우리가 관리도에서 처리할 수 있는 범위입니다. 기본적으로 세 가지 다른 목표값을 사용하여 세 개의 관리도를 하나의 그래프에 나타내는 것입니다.
자, 이제 만들어 보겠습니다. 만들려면 [분석] > [품질 및 프로세스] 메뉴로 이동하세요. 관리도 메뉴에 있습니다. 저는 관리도 작성기를 사용하는 것을 선호합니다. 혹시 꺼져 있는 항목이 있는지 확인해 보겠습니다. 좋습니다. 이제 만들어 보겠습니다. 먼저 관리도 유형을 [단기]로 변경하겠습니다. 이렇게 하면 부품 또는 제품(다른 말로 하면 제품)을 이 그룹에 넣을 수 있습니다. 영역도 여기에 배치하겠습니다. 보시다시피 요약 통계도 있고, 모든 정보를 확인할 수 있습니다.
이제 웨이퍼와 영역을 선택해서 하위 그룹으로 드래그하겠습니다. 지금은 10개의 재료 로트만 보고 있는데, 더 크게 해도 됩니다. 다만 렌더링 시간이 조금 더 오래 걸릴 뿐입니다. 그다음 두께를 입력하겠습니다. 기본적으로 이 관리 차트는 각 제품 사이에 작은 구분선이 표시되는데, 저는 그게 마음에 들지 않아서 빨간색 삼각형 아래에 있는 기능을 끄겠습니다. 모든 질문에 대한 답변은 빨간색 삼각형 아래에 있습니다. 이제 그걸 끄겠습니다.
단기 관리 차트의 몇 가지 장점을 살펴보겠습니다. 가장 큰 장점은 앞서 말씀드린 것처럼, 유사한 조건을 가진 여러 제품을 하나의 관리 차트에 나타낼 수 있다는 것입니다. 이는 단기 관리 차트의 매우 큰 이점 중 하나입니다. 또 다른 장점은 이러한 차트의 설정 방식 덕분에 관리 한계가 표본 크기 외에는 어떤 요인에도 영향을 받지 않는다는 것입니다. 즉, 관리 한계는 변하지 않으므로 장기 관리 차트에서 매우 유용합니다. 표본 크기(이 경우 5)가 일정하게 유지되는 한, 즉 하위 그룹 크기가 변하지 않는 한 관리 한계는 변동하지 않습니다. 따라서 관리 한계를 다시 계산할 필요가 없어 매우 편리합니다.
중심값 버전이든 표준화 버전이든 결과는 변하지 않습니다. 표준화 버전은 표준 오차로 나누는 방식으로 계산됩니다. 이것이 바로 Z 값입니다. 위쪽 차트가 단기 Z 차트로 바뀐 것을 확인할 수 있습니다. Z 값은 여기서 유래합니다. 중심값 차트처럼 목표값과의 차이만 표시하는 대신, 각 하위 그룹의 Z 점수를 표시합니다. 표준 편차가 얼마나 잘 일치하는지에 따라 Z 점수가 더 유용할 수 있는 경우가 있습니다. 자세한 내용은 관련 문서를 참조하십시오.
하지만 다시 말씀드리지만, 이것들은 정말 강력합니다. 여기서의 장점은, 이 변화가 아주 명확하게 드러난다는 것입니다. 우리는 이것을 보고 "이 세 그룹은 같은 웨이퍼에서 나온 것 같다"라고 말할 수 있습니다. 저것들은 로트 6의 5번 웨이퍼입니다. 여기를 보시면, 로트 7의 1번 웨이퍼에서 큰 폭의 상승이 있었고, 두 로트 동안 그 상태를 유지하다가 다시 반등했습니다. 이것을 통해 공정 개선이나 변화를 나타내는 추세와 패턴을 훨씬 쉽게 파악할 수 있습니다.
더 중요한 것은, 이러한 추세와 패턴들이 토폴로지 변화 양상까지 보여줄 수 있다는 점입니다. 예를 들어, 중간 부분을 특정해서 낮추려고 할 때, 장비에 새로운 튜닝 설정을 적용했다면, 그 부분을 낮춰서 중간 부분이 웨이퍼의 나머지 부분과 비슷한 수준으로 돌아가는지 확인할 수 있습니다. 이제는 이러한 것들을 확인할 수 있습니다. 기본적으로 모델링을 통해 교란 변수, 즉 우리가 구축해 놓은 상관관계 요인을 제거하는 것입니다.
다시 한번 말씀드리지만, 이것은 매우 유용하고 사용하기 쉽습니다. 비슷한 조건이지만 기대값이 다른 소규모 제품 생산들을 결합하는 데 아주 효과적입니다. 이것이 바로 간략한 관리도표의 장점 중 하나입니다. 저희는 이 관리도표를 재활용하여 특수 원인 변동을 모델링하고, 관리도표 자체의 가정을 위반하지 않는 상태로 되돌리는 데 활용하고 있습니다.
추가 자료를 원하시면, 관련 문서가 아주 잘 정리되어 있습니다. 2006년에 출간된 '혁신적 관리도(Innovative Control Charting)'라는 책도 아주 좋습니다. 저희 문서와 주석을 읽어보시면, 해당 데이터셋이나 이 특정 기법에 대한 주요 참고 자료가 바로 거기에 있습니다.