그렇다면 도대체 소프트 오류란 무엇일까요.
소프트 오류는 쉽게 말해 반도체 칩이 순간적으로 잘못된 신호를 내보내는 현상입니다. 반도체는 자동차, 스마트폰, 비행기, 의료기기 등 우리 생활 곳곳의 전자 장치 속에서 수많은 계산과 신호 처리를 담당하고 있습니다. 그런데 아주 드물게, 외부의 보이지 않는 입자나 방사선이 이 회로를 스치면서 데이터를 한순간에 바꿔 버리는 경우가 있습니다. 마치 노트에 적어둔 숫자 하나가 이유도 없이 다른 숫자로 바뀌는 것과 같은 느낌으로 비유를 들 수 있습니다.
다행히 이런 오류는 대부분 다시 고쳐 쓸 수 있습니다. 메모리라면 값을 다시 저장하거나, 기기라면 전원을 껐다 켜면 정상으로 돌아오곤 합니다. 그래서 치명적인 고장으로 이어지지 않고, 정상 기능을 회복할 수 있다는 뜻에서 ‘소프트(Soft)’라는 이름이 붙게 되었습니다.
그렇다면 이런 오류를 일으키는 원인은 무엇일까요. 크게 세 가지가 있습니다.
첫째, 우주선에서 날아오는 고에너지 입자입니다. 지구 대기권 밖에는 양성자나 중이온 같은 입자들이 끊임없이 쏟아지고 있습니다. 대부분은 대기에서 걸러지지만, 일부는 지표면까지 도달해 반도체 회로에 영향을 줄 수 있습니다.
둘째, 반도체 재료 속에 섞여 있는 알파 입자입니다. 반도체 칩은 실리콘 같은 재료로 만들어지는데, 그 안에 미세하게 포함된 방사성 불순물이 자연적으로 붕괴하면서 알파 입자를 방출합니다. 이 알파 입자가 칩 내부 회로를 건드리면 순간적인 오류가 발생할 수 있습니다.
셋째, 대기 중성자입니다. 지구 대기와 우주에서 오는 입자가 충돌하면서 만들어지는 2차 입자입니다. 특히 고도가 높을수록 중성자 선속이 강해지는데, 그래서 비행기 순항 고도에서는 전자장비가 지상보다 훨씬 큰 위험에 노출됩니다. 항공기 전자 부품이나 위성 장비가 소프트 오류 문제에 민감한 이유가 바로 이것입니다.
결국 소프트 오류란, 우리가 눈으로 볼 수도, 막을 수도 없는 아주 작은 입자들이 반도체에 흔적을 남기면서 생기는 순간적인 오류입니다. 하지만 이 작은 오류 하나가 자동차의 전자제어 시스템, 비행기의 항법장치, 의료기기의 생명유지 장치에서 발생한다면 결과는 결코 작지 않게 됩니다.