제퍼넷 로고

칩에 탄력성을 구축하는 방법

시간

칩을 특수 프로세서, 메모리 및 아키텍처로 분해하는 것은 성능 및 전력의 지속적인 개선을 위해 필요해지고 있지만, 하드웨어에서 발견하기 매우 어려운 비정상적이고 종종 예측할 수 없는 오류의 원인이 되기도 합니다.

이러한 오류의 원인에는 특정 시퀀스의 타이밍 오류에서 패키지의 칩 간 본드 간격에 이르기까지 모든 것이 포함될 수 있습니다. 또한 서로 다른 칩 또는 칩렛의 회로가 다양한 속도로 노화되고 다양한 유형의 스트레스가 잠재적인 결함을 실제 결함으로 바꾸면서 시간이 지남에 따라 변경될 수 있습니다. 결과적으로 계산은 때때로 잘못된 결과를 생성할 수 있지만 항상 그런 것은 아닙니다. 인터넷 검색 결과가 틀리거나 스트리밍 비디오에 약간의 결함이 있으면 눈에 띄지 않지만 금융 거래, 자동차 안전 또는 군사 드론 유도 시스템과 관련하여 완전히 다른 수준의 중요성을 갖습니다. .

이러한 유형의 문제는 완전히 새로운 것이 아닙니다. 이 주제에 대한 기술 문서는 2000년대 초에 나타나기 시작하여 칩의 예기치 않은 동작과 간헐적인 결함에 대해 논의했습니다. 그러나 그들은 이제 문제가 주의를 기울여야 할 만큼 충분히 중요하고 충분히 많은 티핑 포인트에 도달했습니다. 그러나 그들에 대해 무엇을 해야할지 여러 가지 이유로 항상 명확한 것은 아닙니다. 그 중:

  • 칩과 패키지에 조밀하게 포장된 더 많은 구성 요소가 있으며 일부는 더 얇은 금속층과 유전체, 더 많은 상호 연결이 있습니다. 이로 인해 공정 변동, 잠재적 결함 및 실제 결함, 심지어 양자 효과까지 문제를 일으키는 위치 또는 어떤 순서로 문제를 일으킬지 예측하기 어렵습니다.
  • 고급 노드 칩은 특히 데이터 센터 및 AI 애플리케이션에서 과거보다 활용도가 높은 시스템에서 사용되고 있습니다. 이는 해당 장치에 대한 기계적 및 전기적 스트레스를 증가시켜 신호 품질과 타이밍에 영향을 미칠 수 있습니다. 이와 함께 이러한 시스템 중 일부는 수명 주기가 더 길어지도록 설계되어 일부 하드웨어 구성 요소가 시간이 지남에 따라 다르게 작동할 수 있는 정기적인 소프트웨어 업데이트가 필요합니다.
  • 디자인은 더욱 이질적이고 맞춤화되어 특정 장치에 고유한 가능한 상호 작용의 수가 증가하고 있습니다. 또한 이러한 장치는 서로 다른 공정 노드에서 개발된 구성 요소를 점점 더 많이 사용하고 있으며, 때로는 다른 파운드리에서 제조되며, 모든 구성 요소가 동일하게 특성화되지 않거나 사용 방법에 대한 맥락에서 사용됩니다.

이 모든 것이 복잡성을 더해 모든 코너 케이스를 문서화하는 것이 훨씬 더 어렵고 시간 소모적이며 비용이 많이 듭니다.

Rob Aitken은 "우리가 지금 관찰하고 있는 이러한 현상이 더 큰 칩과 더 나은 장비의 조합 때문인지 아니면 이것이 새로운 것인지에 대한 의문이 있습니다."라고 말했습니다. Synopsys 사람. “두 경우 모두 제조 시 식별할 수 있는 것입니까, 아니면 식별하는 행위가 경제적 수율에 영향을 미칩니까? 나는 최근에 IBM의 누군가와 함께 패널에 참석했는데 그는 그것이 메인프레임이 그렇게 비싼 이유라고 말했습니다. 가능한 모든 문제를 찾도록 설계되었습니다.”

미해결 질문은 이것이 안전 및 미션 크리티컬 하드웨어에 대한 요구 사항이 될 것인지 여부입니다. 그렇다면 문제를 해결하는 가장 좋은 방법은 무엇입니까? 모든 것이 완벽해야 한다면 수율과 비용에 영향을 미칠 것입니다. 그러나 복원력을 시스템에 설계하여 이 중 일부를 처리할 수 있다면 비용을 통제하는 데 도움이 될 수 있습니다. 양방향에서 노력이 진행 중입니다.

완벽함 대 탄력성
아이오와 대학, Baidu Security 및 Argonne National Laboratory는 팀을 이루어 MinpSID(다중 입력 강화 선택적 명령 복제)를 만들어 "여러 입력에서 파악하기 어려운 오류 전파"를 식별합니다. 새롭게 출시된 기술 논문, 연구자들은 신뢰성을 개선하고 이러한 오류를 유발하는 "인큐베이티브 지침"을 식별하는 방법을 찾았다고 주장합니다.


그림 1: 인큐베이팅 지침 예시. 출처: 아르곤 국립 연구소/아이오와 대학교/바이두 보안

그것이 이 퍼즐의 한 조각입니다. 그러나 지금까지 반복 가능한 단일 솔루션은 없으며 앞으로도 그럴 것이라는 것은 분명하지 않습니다. 실제로 솔루션은 디자인에 따라 다르며 때로는 반직관적일 수도 있습니다.

"우리는 사람들이 특정 상황에서 다양한 계산 조합에 대해 통계 분석을 수행할 수 있는 회로를 구축하는 경우를 보았고 때때로 이 오류가 발생했습니다."라고 Power Architect인 Barry Pangrle은 말했습니다. 모벨루스. “그들이 한 일은 전압을 낮추는 것이었습니다. 그들은 그것이 항상 타이밍을 맞추지 못할 것이라는 것을 알고 있었고 그것이 나올 것이라는 것은 본질적으로 잘못된 긍정이었습니다. 그들은 그것을 좋은 결과를 찾기 위한 필터로 사용했고, 그 작은 세트를 가져와 정말 강력한 시스템에서 실행했습니다. 이제 문제는 모든 것이 점점 더 복잡해지고 있다는 것입니다. 회로가 오래되면 속도가 느려지는 경향이 있습니다. 따라서 이제 웰빙 관점에서 우리는 노후화된 기술을 살펴보고, 사물을 모니터링하고, 지연 루프 등을 가지고 시간이 지남에 따라 표류하는지 확인해야 합니다.”

이러한 종류의 산발적인 오류를 방지하려면 처음부터 오류가 발생한 위치를 이해해야 합니다. 그러나 맞춤형 칩 또는 칩렛 컬렉션과 고유한 아키텍처가 빠른 속도로 출시됨에 따라 전체 개발 비용을 높일 수 있는 사소한 작업이 아닙니다. 이러한 문제 중 일부는 사후에 소프트웨어로 해결할 수 있지만 하드웨어 자체를 프로그래밍할 수 있는 경우 훨씬 더 효과적입니다. 이는 소프트웨어의 문제 해결로 인한 전력/성능 저하 없이 모든 문제에 적응할 수 있도록 설계에 일정 수준의 탄력성을 추가합니다.

제프 테이트(Geoff Tate) 최고경영자(CEO)는 “먼저 일이 잘못되기 전에 일이 잘못될 때를 감지하는 것이 중요하다”고 말했다. 플렉스 로직스. “두 번째는 그것에 대해 무언가를 하는 것입니다. 뭔가 잘못되면 인간의 두뇌처럼 보상해야 합니다. 뇌에는 항상 죽어가는 뉴런이 있지만 우리의 경로는 재생될 수 있습니다. 사람들은 뇌에 상당한 손상을 입을 수 있지만 뇌의 다른 부분은 시간이 지남에 따라 이를 보상하기 위해 재프로그래밍될 수 있습니다. 기존 칩은 그런 식으로 작동하지 않습니다. 이를 보완할 수 있는 유일한 것은 프로세서 또는 FPGA입니다. 다른 작업을 수행하도록 프로그래밍할 수 있는 것입니다.”

오류가 발생하는 시기와 이유를 파악하는 데 많은 시간이 소요되지만 경우에 따라 많은 시간이 필요할 수 있습니다. Google과 Meta에서 감지한 자동 데이터 오류는 근본 원인을 추적하는 데 XNUMX년 이상이 걸렸습니다. 그리고 종종 문제는 전체 칩이나 패키지가 개발되거나 현장에서 사용될 때까지 나타나지 않습니다.

"이 물건을 만들고 장치에 결합하는 모든 물리적 역학에는 어려움이 있습니다."라고 CEO인 Simon Davidmann은 말했습니다. Imperas 소프트웨어. “실행 중 전체를 검증하는 방법에 대한 업계의 과제도 있습니다. 우리는 SoC 수준에서 일부 회사와 협력하기 시작했으며 시스템 수준에 도달할 것입니다. 그러나 시스템의 시스템을 포함하는 길고 느린 프로세스입니다.”

잠재적인 문제를 찾아내기 위해 사전에 수행할 수 있는 것은 무엇이든 유익하며 여기에는 물리적 요소와 가상 요소가 모두 포함될 수 있습니다.

“열 분석이 여기에 영향을 미칩니다. 키 사이트. “보드와 IC에 핫스팟이 있으면 시간이 지남에 따라 장치 성능에 영향을 미치고 고장에 기여할 것입니다. 우리는 열 분석이 점점 더 강조되는 것을 보고 전기적 성능을 변경할 수 있기 때문에 여기에 열 모델링을 추가했습니다. 기계적 분석도 마찬가지일 수 있습니다. 전기 매개변수를 변경하는 보드의 변형이 있을 수 있습니다.”

열은 칩이나 시스템이 작동하는 방식에 심각한 문제를 제기합니다. 반도체 사업부의 제품 마케팅 이사인 Marc Swinnen은 "열 구배를 주시해야 합니다. 안 시스. “차등 확장을 제공합니다. 스택의 상단과 하단 사이에 단지 25°의 차이가 있더라도 이러한 장치의 극단적인 얇음을 고려할 때 우리는 센티미터당 약 10,000° 또는 그 범위에 대해 이야기하고 있습니다. 이렇게 짧은 거리에 대해 엄청난 온도 구배가 발생하며 이로 인해 상당히 강한 응력이 발생합니다.”

제조 및 포장 결함
모든 오류가 설계로 인한 것은 아닙니다. 제조 흐름을 통해 설계의 모든 지점에서 요인의 조합으로 인해 발생할 수 있습니다. 실제로 나노 수준의 결함과 같이 양성으로 간주되는 잠재 결함으로 나타나거나 검사 및 테스트에서 간과되는 결함일 수 있습니다. 그리고 이러한 결함 중 일부는 장치가 노화되기 시작할 때까지 나타나지 않을 수 있습니다.

디지털 및 사인오프 그룹의 제품 관리 부사장인 Kam Kittrell은 "특히 현재 5nm에서는 노화가 타이밍에 영향을 미치고 있으므로 어떻게 노화될 것인지에 대한 이러한 모델을 갖게 되었습니다."라고 말했습니다. 운율. “그러나 그것이 XNUMX년 동안 거기에 있을 때까지 그것이 어떻게 노화될 것인지 어떻게 압니까? 즉, 이와 같은 사항을 두 번 확인해야 합니다. 또한 실패하는 특이한 사례를 발견하는 경우(가끔씩 약간 뒤집히는 것과 같은 소프트 오류) 이는 제조 결함이 아니지만 제조 테스트에서 할 수 있는 일이 있습니다. 돌아가서 알려진 불량 다이로 제조 테스트를 다시 수행한 다음 해당 테스트를 모든 장치로 분산시켜 체인에 약한 링크가 있는지 확인할 수 있습니다. 그것에서 오는 좋은 점이 많이 있습니다. 클라우드 컴퓨팅은 자동차와 함께 이를 주도하고 있습니다. 자동차에 들어가는 것의 복잡성은 이제 차트에서 벗어났기 때문입니다. 모든 곳에서 대시보드에서 실행되는 슈퍼컴퓨터가 있고 사람들은 자동차가 작동하지 않을 때 화를 냅니다.”

설상가상으로, 칩 또는 칩렛이 도입되어 고급 패키지에 쌓이고 많이 활용되거나 이러한 장치가 원래 설계되지 않은 방식으로 사용됨에 따라 잠재된 결함이 실제 결함으로 바뀔 수 있습니다. 모든 문제를 고칠 수는 없지만 문제가 되기 전에 식별할 수 있습니다.

“잠재적 결함은 열역학적 측면에 관한 것입니다. 단백질. “마이크로 범프에는 균열이나 빈 공간이 있을 수 있습니다. 레인에는 브리지 쇼트가 있을 수 있습니다. 그리고 TSV에는 균열, 부분 충전 또는 측벽 박리가 있을 수 있습니다. 다이가 완벽하지 않기 때문에 많은 물리적 결함이 발생합니다. 하지만 완벽하더라도 조립 과정을 시작하면 잠재적인 실패 지점이 많이 있습니다. 일반적인 HBM에는 약 10,000개의 다른 레인이 있습니다. 그 중 하나에 결함이 있으면 수리하지 않으면 SiP가 작동하지 않습니다. 그래서 당신은 그 모든 마이크로 범프를 내려놓았고 그것들이 모두 닿도록 조립해야 합니다. 그중 하나만 결함이 있거나, 다이가 뒤틀리거나, 재료가 약간 움직이고 완전히 정렬되지 않으면 신호 품질에 영향을 미치는 저항 동작이 발생합니다.”

문제는 언제 어디서 발생할 수 있는지, 그리고 문제를 정확하게 식별하는 방법을 파악하는 것입니다.

Sever는 "수율이 100%가 아니기 때문에 먼저 테스트할 수 있어야 합니다."라고 말했습니다. “조립 후 적어도 하나의 레인에 결함이 있을 가능성이 높습니다. 둘째, 노후화되기 때문에 제품 수명 기간 동안 현장과 미션 모드에서 인터페이스를 계속 모니터링해야 합니다. 처음부터 미미했다면 테스트 실패를 일으키지 않는 잠재적 결함이 있었기 때문에 시간이 지날수록 성능이 저하됩니다. 결국 타이밍 마진 또는 아이 다이어그램이 닫히기 시작하고 버스에서 오류가 발생합니다. 오류 수정 메커니즘이 있는 SERDES와 달리 일반적인 D2D에서는 그렇지 않기 때문입니다. 프로토콜에 반드시 내장된 오류 수정은 없습니다. 일반 I/O와 같이 거의 XNUMX인 비트 오류율을 가정하고 있습니다. 그리고 그것은 소리 없는 데이터 손상으로 나타나는 데이터 오류로 이어질 것입니다. 아무도 데이터 오류가 어디에서 왔는지 알 수 없습니다. 그러나 사실은 데이터가 칩 내부 어딘가에서 손상되기 시작했기 때문에 내부에서 측정하고 데이터를 시각화하고 이해한 다음 근본 원인을 추적하고 수정할 수 있는 방법이 있어야 합니다.”

더 많은 회복력을 향하여
이것은 회복력이 그림에 등장하는 곳이며 메모리 부문은 이것에 대해 잘 나와 있습니다. 예를 들어, NAND 플래시는 시간이 지남에 따라 성능이 저하된다는 것은 잘 알려져 있습니다. 더 이상 작동하지 않을 때까지만 플래시에 쓸 수 있습니다.

Flex Logix의 Tate는 “30년 이상 안정적으로 작동할 수 있도록 10% 더 많은 비트를 넣는 마모 평준화 알고리즘이 있습니다.”라고 말했습니다. “그러나 그들은 상태가 나빠지기 전에 비트를 찾아서 여전히 양호한 비트로 교체해야 합니다. 탄력적인 [로직] 설계를 위해서는 임베디드 FPGA와 같은 것이 필요할 것입니다. 여기에는 시스템의 나머지 부분에서 실패하는 것이 무엇이든 차지할 수 있는 프로그래밍되지 않은 컴퓨팅 용량이 있습니다. 모든 칩에는 버그가 있습니다. 작동하지 않도록 칩을 죽이는 버그가 있습니다. 버그가 있어서 성능이 나빠서 배송이 안되는 경우가 있습니다. 그리고 해결할 수 있는 모든 종류의 버그가 있습니다. 우리 칩에는 프로세서 버스에 내장된 FPGA의 조회 테이블이 4,000개 있다는 사실을 제외하고는 해결할 수 없는 버그가 있었습니다. 우리는 칩의 나머지 부분에 있는 버그를 보완한 룩업 테이블에 일부 RTL을 코딩할 수 있었습니다. 그런 다음 우리는 칩을 배송할 수 있었고 고객은 우리가 그런 식으로 칩을 패치했다는 사실을 전혀 몰랐습니다.”

대부분의 탄력성 솔루션은 일정 수준의 중복성에 의존합니다. 여기에는 완전히 새로운 회로의 필요성을 줄이는 프로그래밍 가능성이 포함될 수 있으며, 비효율적이지만 재프로그래밍이 쉽고 상대적으로 저렴한 소프트웨어가 포함될 수 있습니다. 모든 경우에 약간의 오버헤드가 있습니다. 핵심은 전력, 성능 및 면적/비용에서 절충할 항목을 선택하면서 이를 최소한으로 유지하는 것입니다. 따라서 면적/비용이 중요한 경우 인-서킷 모니터링을 추가하면 회로 추가를 대신할 수 있습니다. 전력이 중요한 경우 이러한 중복성은 재프로그래밍 가능한 논리의 형태로 제공될 수 있습니다. 그리고 성능이 가장 중요한 요소인 경우 문제가 발생하는 위치에 따라 추가 회로를 추가하고 동적으로 켜고 끌 수 있습니다.

Tessent Embedded Analytics의 제품 관리자인 Richard Oxland는 “그것은 궁극적으로 경제성의 문제입니다. Siemens Digital Industries 소프트웨어. “소리 없는 데이터 오류로 인해 컴퓨팅 중복을 위한 실리콘 비용보다 더 많은 비용이 발생합니까? 그것은 시스템 수준의 질문이기 때문에 대부분의 반도체 회사가 대답할 수 없는 질문입니다. 자동 데이터 오류의 경제적 영향을 훨씬 더 잘 이해해야 합니다. 그리고 그것은 Meta, Google 또는 AWS에 대해 생각한다면 매우 빠르게 매우 독점적인 정보가 되기 시작합니다. 이 사람들은 이러한 종류의 요구 사항이 의미가 있는 경우 이를 줄이기 시작할 것입니다. 그리고 그들이 자체 칩을 설계하고 있기 때문에 우리는 항상 그것을 알지 못할 수도 있습니다. 따라서 시스템에서 약간의 중복성을 가질 수 있습니다. 또는 NoC에서 문제를 피하기 위해 라우팅과 같은 스마트한 작업을 수행할 수 있습니다.”


그림 2: 이중화 및 자체 테스트. 출처: 지멘스 EDA

그러나 복잡한 설계에는 NoC가 하나만 있는 것이 아니기 때문에 또 다른 수준의 복잡성이 추가됩니다. 많을 수 있으며 전체 시스템의 맥락에서 볼 필요가 있습니다. "그렇다면 NoC가 완전히 동기화되지 않았기 때문에 NoC 간의 타이밍을 다루기 시작해야 합니다."라고 솔루션 및 비즈니스 개발 부사장인 Frank Schirrmeister는 말했습니다. 아르테리스 IP. "주변 장치 연결의 타이밍과 모든 종류의 클록 도메인 교차를 처리해야 합니다."

그 그림에 탄력성을 추가하는 것은 어려운 일이지만 전체 문제를 한 번에 해결하려고 시도하는 것보다 분할 정복 전략을 사용하여 개별 조각을 탄력적으로 만드는 것이 더 쉽다고 Schirrmeister는 말했습니다. “여러 신호를 동시에 처리하고 싶지는 않습니다. 예를 들어 안전 지침을 보고 있다면 제대로 작동하는지 확인하기 위해 체커를 추가합니다.”

탄력성은 칩이 안전에 중요한 응용 프로그램에 사용되고 규제가 일종의 장애 조치를 요구하는 자동차 부문에서 많은 관심을 받고 있습니다. "자동차 산업은 항상 반도체의 신뢰성에 대해 매우 열정적이었습니다."라고 Oxland는 말했습니다. “NXP 등과 같이 한동안 그 분야에서 활동해 온 일부 대형 공급업체는 이런 종류의 일에 매우 능숙합니다. 이 애플리케이션은 ECU에 대해 이야기하고 있기 때문에 약간 더 낮은 수준의 복잡성일 수 있습니다. 그러나 일반적으로 말해서 이들은 엄청난 수로 배치됩니다. 작동 방식 측면에서 조금 더 결정론적이지만 말입니다. 매우 고도로 병렬화된 워크로드를 대규모로 실행하는 복잡성으로 인해 이제 자동 데이터 오류 문제가 발생하고 있으므로 이는 새로운 문제에 가깝습니다. 기존 방식을 개선하고 새로운 방식을 찾아 접근해야 합니다.”

극단적인 트레이드 오프
Cerebras는 웨이퍼 스케일 칩을 개발할 때 100% 수율을 제공하는 것은 없으며 칩의 일부(전체 웨이퍼에서 800mm² 크기로 잘라낸 부분)가 다른 부분과 다르게 노후화되고 잠재된 결함이 실제 결함으로 바뀔 수 있음을 인식했습니다. 결함.

Cerebras의 CEO인 Andrew Feldman은 “역사적으로 DRAM이 매우 높은 수율을 달성한 방법은 비트 셀의 중복 행과 열을 갖는 것이었습니다. “우리는 850,000개의 동일한 프로그래밍 가능한 요소를 가지고 있으며, 이는 코어, 메모리, 작은 라우터입니다. 그것은 와이어로 다음 것과 묶여 있습니다. 그리고 각 프로그래밍 가능 요소는 850,000개의 이웃 각각과 이웃과 대화할 수 있는 중복 링크를 통해 이웃의 이웃과 연결됩니다. 우리가 한 일은 테스트 칩을 구축하는 것이었고 TSMC의 수율 데이터에 대해 작업했습니다. 그리고 주조 공장이 통제 범위 내에서 작동한다면 결함이 무작위로 분포되어 있어야 합니다. 이를 통해 중복성을 통해 결함을 파악할 수 있습니다. 따라서 870,000개의 코어가 있다고 하면 실제로는 1.5개 정도의 코어가 있습니다. 약 XNUMX%를 따로 보관할 것이기 때문입니다.”


그림 3: 웨이퍼 스케일 칩은 약 1.5% 중복으로 구축됩니다. 출처: 대뇌

Feldman은 다른 핵심 부품은 매핑하기 전에 번인하고 칩을 사양을 벗어난 온도에 노출시키는 것이라고 말했습니다. "그리고 거기에서 자체 테스트는 모든 코어와 모든 코어 사이의 모든 와이어의 동작을 확인합니다."라고 그는 말했습니다. “실패하면 라우팅 프로토콜을 활성화하고 자체 테스트를 다시 수행합니다. 따라서 가져올 때 실행되는 하드웨어 자체 테스트가 있고 그 이후에는 주기적으로 실행됩니다.”

이것은 대부분의 응용 프로그램에서 여전히 비실용적이지만 요점을 증명합니다. 충분한 노력과 혁신을 통해 이러한 문제의 대부분을 해결할 수 있습니다. 문제는 응용 프로그램에 대해 허용 가능한 트레이드 오프를 결정한 다음 이러한 트레이드 오프가 실제로 무엇을 수반하는지 실제로 이해하는 것입니다. 오늘날의 하드웨어 및 시스템 설계에서 모든 것이 분명한 것은 아닙니다.

결론
이 모든 것은 훨씬 더 광범위한 문제, 즉 밀도가 높은 회로, 더 많은 사용자 정의 및 기능, 새로운 재료 및 다양한 사용 패턴으로 인해 증가하는 복잡성을 관리하는 능력을 지적합니다. 그 결과 미지의 수가 폭발적으로 증가하고 있습니다. 이들 모두를 완전히 이해하거나 디버깅할 수 있는 것은 아니며 많은 애플리케이션에서 괜찮습니다. 그러나 미션 크리티컬 및 안전이 중요한 애플리케이션의 경우 장애 계획이 필수적입니다.

빡빡한 시장 창에서 모든 것을 잡는 것은 불가능하지만 충분한 시간과 노력을 기울이면 대부분의 문제를 견딜 수 있는 칩을 만들 수 있는 것으로 보입니다. 더 많은 칩에 복원력을 구축해야 할 필요성에 대해서는 의문의 여지가 없습니다. 수용 가능한 가격대에서 충분한 복원력을 달성하는 방법의 문제입니다. 칩 업계는 이제 막 이 문제를 진지하게 검토하기 시작했습니다.

spot_img

최신 인텔리전스

spot_img