하드디스크의 내부 구조입니다. 데이터가 기록된 원판인 플래터, 플래터를 회전시키는 스핀들 모터, 플래터에 저장된 데이터를 읽거나 데이터를 플래터에 기록하는 헤드 스택(헤드 앰프, 자기 헤드 등을 포함한 헤드 어셈블리의 모임), 헤드 스텍을 움직이는 액추에이터까지 기계적으로 움직이는 구동 부품과, 이들 구동계의 움직임과 데이터 입출력을 제어하는 제어 보드로 나뉩니다.
자기 헤드는 플래터 자성체의 자기 방향에 따라 변화하는 저항을 전압의 변화로 바꿔 데이터를 읽어냅니다.
하드디스크는 고속으로 회전하는 플래터의 표면에서 나오는 공기와 공기층에 대해 자기 헤드가 만들어내는 양력(상하 기류의 속도 차이로 인해 물체가 떠오르는 힘)을 받아 자기 헤드가 약간 떠오르게 됩니다. 그 폭은 10nm밖에 안 되니, 그 사이에 조금의 먼지도 들어가선 안됩니다. 따라서 하드디스크는 클린 룸에서 조립을 진행하며, 하드디스크 데이터 복구 역시 클린 룸에서 분해 작업을 수행하게 됩니다.
클린 룸에서 작업
플래터는 수많은 트랙으로 구성되며, 하나의 트랙 안에는 많은 데이터 섹터가 있고, 여기에 데이터를 저장합니다. 플래터는 제조 과정 중에 기록된 서보 셀렉터라는 정보를 통해 헤드가 플래터의 어느 위치에 있는지를 감지해 냅니다.
자기 헤드
예전에는 하드디스크를 만들 때 플래터에 먼저 물리적인 섹터를 구축하고, 서보 데이터를 기록하고, 이를 토대로 하드디스크에 내장된 헤드 플래터와 전체 트랙을 만들었습니다. 이렇게 나온 엄청난 수의 트랙 안에 데이터를 기록하는 논리 공간(LBA)를 할당합니다. 또 플래터는 단면이 아니라 양면에 기록이 가능하니, 각각의 헤드마다 논리 공간을 할당해야 합니다.
스핀들 모터와 플래터
하드디스크에 3장의 플래터가 있고 플래터 양면에 모두 데이터를 기록한다면, 한 장의 플래터를 2개의 헤드 사이에 끼우는 식으로 조립합니다. 그럼 3장의 플래터에 6개의 기록면이 존재하며 헤드도 6개가 있어야 합니다. 헤드는 거의 같은 위치에 있기에 각 플래터의 양면 트랙 위치도 거의 같습니다. 따라서 각각의 헤드마다 효율적으로 읽고 쓸 수 있는 논리 공간이 할당됩니다.
헤드가 회전하면서 바깥에서 안으로 가며 LBA 공간을 구축
여기서 하드디스크만의 문제가 나옵니다. 하드디스크의 물리 섹터를 오랫동안 사용하면 자기가 열화돼 데이터를 기록하지 못하는 영역이 생깁니다. 이게 일반적으로 말하는 불량 섹터입니다. 하드디스크를 만들 때 할당된 논리 공간(LBA)를 일정하게 유지하도록 설계됐습니다. 만약 불량 섹터가 생겨 데이터를 기록하지 못하는 부분이 생기면 여기를 쓰지 않고 다른 섹터로 대체시켜 LBA를 유지합니다. 이를 대체 처리라고 부르며, 플래터의 각 기록면에는 대체 섹터를 만들 예비 영역이 있습니다.
대체 섹터가 대신한 불량 섹터에 액세스를 요구하면 대체 섹터가 나오도록 관리합니다. 이런 관리는 서비스 에어리어라고 불리는 트랙에서 이루어집니다. 하드디스크 모델 등의 식별 정보와 구동 부품 제어에 관한 설정, 정보 플래터에 트랙과 섹터를 물리적으로 구축할 때의 기본 정보, 거기에서 논리 공간을 구축한 영역 테이블, 각 헤드에 할당된 논리 공간의 테이블 정보, 각 플래터가 대체 처리하는 불량 섹터 관리 정보, 하드디스크의 상태를 기록하는 SMART 정보 등이 서비스 에어리어에 저장됩니다. 이 정보는 일반 사용자가 판독할 수 없도록 설계됩니다.
자기 현미경으로 관찰한 하드디스크 트랙의 모습.
그래서 요새 출시되는 하드디스크는 플래터를 제거하고 교체한다고 해서 복원이 되는 게 아닙니다. 처음 만들 때 구축한 트랙의 위치가 바뀌면서 물리적 포맷 자체에 손상이 생기기 때문입니다. 플래터가 한 장이 아니기에, 여러 플래터의 위치는 물론 상하 관계까지 어긋나게 됩니다. 당연히 서비스 영역 역시 접근이 불가능하며, 눈에 보이지 않는 자기 정보를 보정할 수 없습니다.
20년 전이나 지금이나 똑같은 플래터의 크기
컴퓨터가 개인에게 보급되기 시작했을 때부터 지금까지 하드디스크의 구조와 플래터의 크기는 바뀌지 않았습니다. 자기 정보를 기록하는 플래터의 기록 밀도만 달라졌을 뿐입니다. 하드디스크는 3.5인치나 2.5인치처럼 플래터의 정해진 규격을 유지하면서 미세 가공 기술을 발전시켜 플래터의 기록 밀도를 향상시키고, 플래터의 장수를 늘려 용량을 증가해 왔습니다.
플래터의 기록 밀도가 낮았을 때는 데이터 액세스를 위해 움직이는 자기 헤드의 이동 범위가 커지기에 읽기/쓰기에 더 오랜 시간이 걸렸습니다. 따라서 보이스 코일 모터의 헤드 스택 동작이나 액추에이터의 움직임도 컸습니다. 대신 스핀들 모터의 회전 속도를 7200rpm, 10000rpm, 15000rpm 같은 식으로 빠르게 만들어서 액세스 속도를 높였습니다. 그러나 지금은 저장 밀도가 늘어나 자기 헤드의 이동 범위가 줄어들었고, 헤드가 조금만 움직여도 많은 데이터를 판독할 수 있게 됐습니다.
바꿔 말하면 저용량 하드디스크를 만들 수 없게 됐다는 말이기도 합니다. 플래터의 수를 줄이거나 스핀들 모터의 회전 속도를 낮춰야 저용량/저성능 하드디스크를 만들 수 있겠죠. 하지만 플래터의 기록 밀도가 높아지면서 특정 용량을 만드는데 필요한 플래터의 수가 줄어들었습니다. 또 자기 헤드의 이동 범위가 줄어들면서 스핀들 모터의 회전 속도를 낮춰도 성능은 크게 변하지 않았습니다. 또 구동 부품의 동작 부하가 줄어들면서 전력 사용량이 줄어들었다는 점도 있습니다.
옛날 하드디스크는 튼튼하다? 기록 밀도, 액세스 속도
옛날의 하드디스크와 지금의 하드디스크는 기록 밀도가 다릅니다. 예전의 하드디스크는 데이터를 넓은 범위에 기록하기에, 블량 섹터가 발생해도 여기에 영향을 받는 데이터가 적지만 지금은 많은 부분에 영향을 주게 됩니다. 예전의 하드디스크는 불량 섹터가 다소 있어도 시간이 좀 오래 걸릴 뿐 액세스 자체는 가능했던 경우도 있었습니다. 하지만 지금의 초고밀도 하드디스크는 많은 데이터에 액세스하지 못하거나, 동작 중 충격을 받아 생긴 불량 섹터는 대체가 불가능한 경우도 있습니다.
이런 특성은 데이터의 복구 작업에도 영향을 줍니다. 만약 자기 헤드 끝 부분이 플래터와 접촉한다면, 초고밀도 플래터의 경우 더 큰 충격을 입게 됩니다. 서보 데이터나 서비스 에어리어 등의 중요한 영역에 손상이 갔다면 더더욱 문제를 해결하기가 어려워집니다. 예전의 하드디스크와 지금의 하드디스크는 비슷한 손상을 받아도 데이에 주는 영향으 크게 달라질 수밖에 없습니다.
보드를 바꿔도 문제가 해결되지 않는 요새 하드디스크
손상된 하드디스크 기판
침수된 하드디스크 기판
예전에는 하드디스크가 고장나면 기판 교체부터 시도하는 경우가 많았습니다. 하지만 지금은 이것만으로 해결되는 경우가 거의 없습니다. 하드디스크가 켜지면 스핀들 모터가 회전하고, 자기 헤드가 플래터 위에 떠오를 수 있을 만큼 회전 속도가 불어나면 그때 헤드 스택을 구동합니다. 이 때 하드디스크 관련 정보가 기록된 서비스 영역으로 헤드를 정확히 이동해야 합니다.
8개의 자기 헤드가 달린 헤드 스택
정면에서 본 헤드
헤드 스택에는 다수의 헤드가 달려 있습니다. 나란히 줄을 맞춘 것처럼 보이지만 실제로는 헤드 하나하나의 위치가 다릅니다. 겉보기엔 별 차이 없어 보여도 초고밀도로 저장된 하드디스크 입장에선 아주 큰 차이입니다. 각 플래터마다 트랙의 위치가 다르며, 이 고유한 특징을 반영해서 하드디스크를 제조합니다. 따라서 똑같은 생산 과정을 걸쳐도 각 플래터에 저장된 트랙과 서비스 에어리어 위치는 하드디스크마다 다릅니다. 이 기본 정보에 맞춰 헤드가 정확하게 움직이도록 서비스 에어리어와 펌웨어에 기록됩니다. 동일한 모델의 하드디스크여도 제조 공장이나 제조 일자 등에 따라서 사용한 부품이 달라질 가능성도 있습니다.
하드디스크 기판을 교체해도 수리가 되지 않는 이유가 바로 여기에 있습니다. 플래터와 헤드 등은 그대로 둔 채로 기판만 바꾸면 완전히 다른 영역으로 헤드가 움직일 수 있습니다. 제어 기판에 기록된 하드디스크의 고유 값을 불러와서 새로운 기판에 덮어 씌운 후에야 교체 작업을 해야 합니다. 그래서 단순 보드 교체 작업은 하지 않으며, 이런 작업을 할 수 있는 업체도 많지 않습니다.
교체한다고 끝이 아닌 헤드
하드디스크를 쓰다보면 낄낄..아니 끼릭끼릭 같은 소리가 날 때가 있습니다. 자기 헤드는 플래터 위에 떠 있으며, 플래터와 직접 접촉하지 않습니다. 설령 가볍게 닿는다 하더라도 플래터 표면의 윤활층 덕분에 심각한 상처까지는 생기지 않습니다. 하지만 하드디스크 작동 중 떨어트리거나 던지는 등, 심각한 충격을 받는다면 헤드/플래터가 모두 큰 충격을 받아 자기 헤드가 파손됩니다. 이런 경우 플래터의 손상이 크며, 심각한 경우엔 자성체가 손상돼 기록층이 떨어져 나가는 경우가 있습니다.
손상된 자기 헤드
자성체가 박리돼 유리 플래터가 그대로 드러난 하드디스크
자기 헤드의 장애에는 다른 원인도 있습니다. 하드디스크를 정시간 사용하면 가벼운 충격이나 갑작스러운 정전 등으로 플래터가 가볍게 닿기만 해도 자기 헤드의 기능이 떨어지거나 플래터의 기능이 소모되는 경우가 있습니다. 플래터의 불량 섹터 때문에 서보 데이터가 손상된 경우, 헤드가 그 영역을 감지하지 못하고 재시도를 반복합니다. 이게 심해지면 독특한 소음이 발생하며, 이 동작을 장시간 방치하면 구동 부품에 부하가 심해지고 충격이 늘어나 자기 헤드와 플래터가 직접 닿게 됩니다.
다수의 헤드 중에서 특정 헤드의 기능이 떨어져 보정 작업을 멈추는 경우도 있습니다. 하드디스크가 켜진 후 서보 정보를 수집하는 동작을 보정이라고 합니다. 헤드 로테이션에서 각 헤드가 담당하는 플래터의 논리 공간에 맞춰 전체 헤드가 플래터의 서보 정보를 확인해야 합니다. 이 보정 동작을 거쳐 서비스 영억의 정보를 호스트 컴퓨터에 보내 읽기/쓰기 작업을 준비합니다. 이것이 OS, 바이오스/UEFI에서 인식하는 과정입니다. 이 때 1개의 헤드라도 정상 작동하지 않으면 하드디스크 자체의 시스템 부팅이 실패해 호스트 쪽에서 인식하지 못합니다. 최근의 하드디스크는 보정에 실패하면 소음이 나고 스핀들 모터가 자동으로 정지합니다.
다른 헤드는 정상
하드디스크에서 비정상적인 소리가 나면 보통 사용자들이 할 방법은 아무것도 없습니다. 그래서 문제의 헤드를 교체해서 데이터를 복구하는 방법을 생각하게 되는데요. 완전히 똑같은 헤드를 찾아서 교체한다면 불가능한 이야기는 아닙니다. 하지만 사용하는 부품의 특성에 따라 조합 결과가 달라질 수도 있습니다. 처음에는 3장의 플래터와 6개의 헤드로 2TB를 만들었던 하드디스크 모델이, 나중에 플래터를 바꾸면서 헤드의 숫자도 4개로 줄어들 수도 있습니다. 이러면 똑같은 하드디스크가 아니고, 똑같은 헤드도 아니죠. 또 외형이 같아도 실제로는 다른 헤드일 수도 있습니다. 제조 과정에서 사용하는 부품의 조합이 달라, 다른 펌웨어가 필요하기도 합니다.
헤드 스택을 조립하는 전용 도구
7nm 두께의 슬림형 하드디스크는 헤드 스택 제거에 전용 도구가 필요합니다.
원래 정상적으로 작동하던 헤드가 기능 저하를 일으킨다면 분명 다른 원인이 있을 겁니다. 이런 원인의 파악 없이 헤드 스택만 교체한다고 해서 문제가 완벽하게 해결되진 않습니다.
하드디스크의 복구 이전에 파악부터
보통의 하드디스크는 운영체제나 애플리케이션에서 SATA 인터페이스를 통해 명령을 보내 사용합니다. 하지만 데이터 복구 전문 업체들은 하드디스크 제조사의 개발 언어 수준에서 명령 제어를 수행합니다. 다수의 헤드로 구성된 헤드 모음 중 하나가 장애를 일으켜 소음을 발생시켜도, 손상된 헤드의 보정을 마쳤다는 식으로 명령을 보내서 초기 교정을 진행하고, 이후 손상된 헤드가 담당하던 LBA 공간을 계산해내 이를 제외시키면 데이터를 추출해낼 수 있습니다.
6개의 헤드를 가진 1TB 하드디스크의 경우 헤드 1개가 담당하는 용량은 전체의 1/6, 17%입니다. 1개의 헤드가 고장나서 데이터 판독이 불가능하다 해도 830GB는 읽어낼 수 있다는 소리죠. 그렇다고 해서 데이터 복구 성공률이 83%라는 이야기는 아닙니다. 제외된 헤드가 담당하던 영역이 어디냐에 따라서 달라집니다. 운이 좋아서 다른 영역에 데이터가 저장됐을수도 있지만, 파일의 용량이 커서 문제가 되는 영역에 걸친다면 수리가 어렵겠지요.