All Articles

HDD

Hard Disk Drive

Image Source : BestBuy

하드 디스크 드라이브(HDD: Hard Disk Drive)는 방대한 데이터를 저장하기 위해 현재까지도 많이 쓰이는 저장장치이다. Hard Disk 라 명명된 이유는 Floppy 디스크와 비교하였을시 상대적으로 단단한 금속판을 사용하였기 때문이다. 1991년, HDD를 대체하기 위해 SSD(Solid State Drives)가 등장하였다. 하지만 28년이 지난 현재(2019년 기준)까지도 HDD는 많은 곳에서 사용되고 있다. 역사속에 다양한 기록장치들(셀렉션 튜브, 천공카드, 천공 테이프, 레이저 디스크, 플로피디스크 등)이 등장하고 사라질 동안 HDD는 꾸준히 발전해 오면서 기록장치의 역할을 충실히 담당해오고 있다. HDD는 작은 크기이지만 많은 데이터를 저장 가능하며 빠른 속도로 데이터를 읽고 쓸 수 있다는 장점을 갖고 있다. 이번 포스팅에서는 하드 디스크의 작동법에 대해 알아보도록 하겠다.
* 하드 디스크라 불리우기 이전에는 자기 디스크라 불리었다. 플로피 디스크의 등장 후, 두 디스크의 구분을 위해 하드디스크라고 지칭하게 되었다.

최초의 HDD가 등장하기까지

HDD를 발명해 낸 회사는 바로 IBM이다. HDD가 등장하기 이전까지 데이터를 기록하기 위해 쓰여진 비휘발성 저장장치는 펀치카드(punch card)와 마그네틱 테이프(magentic tape)였다. 펀치카드는 직사각형의 구멍을 뚫어가면서 데이터를 표현하고 기록하는 카드이다. 아래의 이미지는 1895년 센서스 인구조사 당시 쓰인 펀치카드이다.

IBM Puch Card

1895 Census 인구조사에 쓰인 펀치카드.
Herman Hollerith가 디자인 하였다.
Image Source : IBM

1925년 토머스 왓슨(Thomas John Watson)이 설립한 IBM(International Business Machine)은 본래 사무 자동화 시스템을 만드는 회사였다. 1952년 토머스 왓슨의 아들인 토머스 왓슨 주니어가 경영 승계를 이어받게 된다. 아버지가 컴퓨터에 관심이 많았던것 처럼 아들도 그러하였는데 그는 컴퓨터 분야의 많은 인재들을 대거 고용하였다. 1950년 당시 1000명 이하였던 연구부원수가 1955년에는 4000명 이상으로 증가하였다. IBM은 그 당시 사용하던 천공카드가 일괄처리 방식으로 데이터를 처리하는데는 빨랐지만 랜덤한 데이터에 접근시 속도가 느려지는 문제를 해결하고 싶어했다. 그러던 중, 문제해결과 관련된 Jacob Rabinow의 학술자료 “The Notched-Disk Memory”(1952년 8월)를 토대로 자기디스크를 연구하기 시작한다. 연구결과는 성공적으로써 1955년 1월 세계 최초 하드 디스크 기기인 RAMAC 305가 탄생하게 된다.

IBM RAMAC

RAMAC 305
Photographed by Mark Richards

RAMAC(Random Access Method for Accounting and Control) 305는 냉장고 두개를 합친 크기로써 무게는 1톤이 넘었다. 직경이 24"가 되는 디스크 50장으로 이루어져 있었으며 기억 용량은 5MB 밖에 되지 않았다. 이는 MP3 한곡만 저장 가능한 용량이다. RAMAC 305가 트랙이나 섹터로 헤드를 이동시킬 때 0.8초가 걸렸다. 1956년 9월 14일 IBM은 RAMAC 305를 정식으로 발표하고 고객들에게 임대 형식(월 정액 $3200)으로 제공하였다. 구매 가능한 IBM 305는 1년 뒤인 1957년 부터 제조되기 시작했다. RAMAC의 두번째 모델은 1958년 5월, 3번째와 4번째 모델은 같은해 9월 15일에 등장하였다. 1961년 IBM 305를 더이상 찍어내지 않기까지 총 1000대 이상이 판매되었다.
* HDD 발명 과정에 대해 자세히 알고 싶다면 이 영상을 보도록 하자

HDD Structure

RAMAC으로 부터 시작된 HDD는 기본 작동법은 같지만 용량, 속도, 크기 등 다방면에서 많이 발전되었다. 현재 HDD의 기본 스펙은 3.5"(8.89cm) 정도의 크기에 2TB의 용량을 갖고 있다. 과거 RAMAC의 5MB와 비교해 본다면 용량이 40만배 증가되었다는 것을 알 수 있다. HDD는 빠른 속도로 디스크를 회전시켜 디스크상에 데이터를 쓰고 읽는다. HDD의 케이스를 열어보면 아래 이미지와 같이 생긴 도넛형태의 원반(disk)을 볼 수 있다. 이 원반은 플래터(platter)라고 불리우는데 알루미늄 금속판으로써 데이터가 저장되는 부분이다. 자성 물질이 코팅(금속기판, Ni-P 하층, 크롬층, 자기층, 탄소 코팅, 윤활제)되어져 있다. HDD Parts


플래터는 여러장(~5 장)으로 구성되며 양면을 모두 사용한다. 플래터 위에 읽고(Read) 쓰는(Write) 역할을 담당하는 것은 R/W Head 이다. 자성이 있기에 해드가 플래터에 직접 닿지 않아도 데이터를 다룰수 있다. 해드는 읽고 쓰는 역할을 하는 미세한 두 부품으로 나뉘어져 있다. 이 부분은 전기적인 충격이나 손으로 만질시 쉽게 손상이 되는 부분이기에 건들지 않도록 해야 한다. 기술이 발전하면서 해드와 디스크의 간격이 점점 좁혀지게 되었다.(0.00001mm). 그로인해 더 많은 데이터가 기록가능해졌다. HDD에게 작은 충격에도 가해도 위험한 이유가 해드와 플래터의 근접성 때문이라 볼 수 있다. 어느 원인으로 인해 헤드가 플래터와 충돌을 일으키게 될 시 데이터의 손실이 발생할 수 있다. 또한 자기장의 원리로 동작하기에 플래터에 자성을 띈 물체를 가까이 한다면 저장 기능을 상실하게 된다.
* 기술의 발전으로 현대의 HDD는 충격 보호 방법이 사용된다. 예를들자면 '외력 발생시 디스크 드라이브의 일부 동작을 중지시키는 방법'을 들 수 있다.

HDD Head

Spindle은 플래터를 일정한 속도(5,400 RPM to 10,000 RPM)로 회전시켜주는 역할을 한다. HDD가 정상적으로 동작하기 위해서는 플래터가 돌아가는 속도가 너무 빠르거나 느리면 안되기 때문이다. 스핀들은 모터(moter)와 직접적으로 연결된 축이다. 스핀들 모터가 규정된 속도에 도달 되었을 때에야만 HDD의 모든 동작이 기동된다. 스핀들 모터의 회전수가 빠르다는 것은 데이터를 읽고 기록하는 속도가 빠르다는 것과 동일하다. Actuator는 해드가 정확한 트랙 위를 표류 할 수 있게 도와주는 역할을 한다. Actuator가 제어 신호를 받게 되면 Arm을 특정한 위치까지 이동시킨다.
* 10,000 RPM 이상은 고급형 HDD로 구분된다.

HDD Structure

HDD는 크게 Platter, Arm, Head 로 구성되어 있다. 플래터의 지름은 보통 1.8 ~ 3.5 inch 사이이다. 각각의 플래터는 트랙(Track)이 구분되어 있는데 마치 운동장에 있는 트랙과 같다. 일정한 동심원 간격으로 분할되어 있다. 한 트랙의 넓이는 84 나노미터 정도이다.

HDD Track

Source : Seagate Technology

트랙은 또다시 섹터(Sector)로 나뉘어 진다. 섹터는 디스크의 최소 저장공간으로써 대부분의 경우 512 bytes(영문자 기준으로 500 글자 정도 기록 가능)의 크기를 지닌다. 트랙과 섹터별로 고유 번호가 존재하고 이 정해진 번호를 통해 데이터가 기록된 혹은 기록될 부분을 구별한다.

Track Sector

0번째 섹터에는 부트 섹터(boot sector) 또는 부트블록(boot block)이라 불리우고 컴퓨터 부팅시 필요한 중요 데이터들이 저장되어 있다. 0번째 섹터(IPL: Initial program Loader)가 문제가 생긴다면 그 디스크는 사용하지 못하게 된다. 운영체제에서 데이터를 저장할때는 섹터 단위로 구분하지 않고 클러스터(cluster)단위를 사용한다. 클러스터는 여러 섹터가 모인 논리적 단위를 뜻한다. 실제 데이터를 읽고 쓰는 단위가 된다. OS별로 클러스터는 다르게 표현된다.
* FAT32 : 1 Cluster = 8~64 Sectors | .NTFS : 1 Cluster = 1~8 Sectors
* Boot sector 에 대해 궁금하다면 또 다른 포스트(Linux Boot Loader)에 작성을 해 놓았으니 참고하도록 하자.

HDD Structure 3D View

실린더(Cylinder)는 회전 축에 동일한 거리에 있는 트랙들을 말한다. 이 트랙들을 함께 연결해 보았을 때 원통형같은 모형이 되기에 실린더라는 이름이 붙었다.

HDD Structure Top View

* HDD 작동에 관한 영상은 여기서 볼 수 있다. 동영상으로 보면 이해가 훨씬 쉬울 것이다.

HDD 동작 원리

데이터 기록
HDD는 전자석의 원리로 동작한다. 해드에 코일이 감겨 있으며 전류가 흐르는 코일이 자석 역할을 한다. 전자석에서 방출되는 자기장을 이용하여 플래터 표면의 미세한 극성(N/S)을 뒤바꾸며 0또는 1로 변화시켜 데이터를 기록한다. 이렇게 기록된 데이터는 수정하거나 지우지 않는이상 그대로 남아있게 된다.

Read Write Head & Arm

Source : TED-Ed

기록방식으로는 수평자기기록방식(LMR: Longitudinal Magnetic Recording), 수직자기기록방식(PRM: Perpendicular Magnetic Recording), 그리고 기와식 기록방식(SMR: Shingled Magenetic Recording)이 있다. 수직기록 방식은 기존 수평기록방식 HDD의 저장 용량을 늘리기 위해 도입된 방식이다. 여기서 수평과 수직의 기준은 자기 입자들의 배열 방향이다. 자기입자들을 수평으로 배열하는 방법은 특별한 기술이 필요하지 않았기에 제작하기가 쉽다. 그리하여 2003년 도시바(Toshiba)가 수직 기록방식을 도입하기 전까지 긴 시간동안 수평기록방식(LMR)이 사용되어왔다. LMR은 데이터의 밀도를 증가시키기 어려웠기에 용량적인 한계가 있었으며 '초상자성 한계(superparamagentic limit) 현상'이라는 문제점도 갖고 있었다. 이는 데이터가 손실되는 문제를 말한다. 문제 발생 요인은 온도에서 비롯된다. 하드디스크가 과열됨으로 인해 N극과 S극을 구분해주는 에너지벽이 무너지게 됨으로써 자기장이 소실되게 된다. 플래터 표면의 자화 방향이 반전(자화반전)이 되는 현상이 발생한다.
* 수직자기기록은 1970년대 말 일본 도호쿠대의 S.Iwasaki 교수가 발명하였다.

LMR & PMR

Image Source : commons.wikimedia.org

PRM 방식으로 인해 기존 LMR의 트랙 밀도보다 3배 높일 수 있게 되었다. 밀도가 높아짐으로써 해드가 동일한 거리를 움직이더라도 더 많은 데이터를 읽고 쓸수 있게 되었다. 수직으로 배열됨으로 인해 서로 인접해 있는 비트 길이가 작아지게 되고 이는 비트내 반 자기장을 감소시켜 열적 안정성을 보완해준다. PRM의 또 다른 장점으로는 데이터의 무결성이다. 데이터가 기록된 후 10년이 흐르면 LMR은 데이터의 무결성을 보장할수 없지만 PMR은 10년이 흐른 뒤에도 데이터의 무결성이 보장된다.
* PRM의 핵심은 Single Pole형태의 해드와 연자성 바닥층(SUL)에 있다. 이에 관련된 자세한 내용은 구글링을 통해 알아보도록 하자.

LMR to PMR

Source : TED-Ed

기와식 기록방식은 기와 지붕이 겹쳐있듯 트랙의 일부를 겹쳐서 저장시키는 방식을 말한다. 트랙들이 겹쳐있음으로 인해 공백이 존재하지 않는다. 이는 새 데이터가 기록될 시 겹친 부분까지 갱신해줘야 하는 문제를 야기시킨다. SMR을 사용한다면 한번 저장된 자료를 수정하기 보다는 읽는 용도로 사용하는 것이 안전하다.

SMR

데이터 읽기
데이터를 읽을 때는 자기저항(MR : Magneto Resistance)소자를 사용한다. 이 소자가 디스크 표면을 표류하면서 플래터에서 방출되는 자기장의 방향을 감지한다. 감지한 방향에 관한 정보를 전압 변화로 변화시킨후 채널 칩(Channel Chip)에 넘겨준다. 이렇게 넘겨진 비트(0,1) 정보들은 우리가 알 수 있는 데이터 형식으로 변환된다. MR소자가 플래터와 가까울수록 재생출력이 커지기에 작은 비트들을 읽을 때 유리하다. 그로인해 공간해상도(spatial resolution)가 증가하게 된다.
* 공간해상도 :영상 또는 이미지를 공간영역상에서 얼마나 자세하게 표현 가능한가에 대한 척도

Read Write Head & Arm

플래터가 돌아가고 있는 상태이다
Source : Seagate Technology

References