[CS] 보조기억장치(하드 디스크편)
1️⃣ 하드 디스크
하드 디스크(HDD; Hard Disk Drive)는 자기적인 방식으로 데이터를 저장하는 보조기억장치이다. 이 때문에 하드 디스크를 자기 디스크(magnetic disk)의 일종으로 지칭하기도 한다. 대용량 저장 장치가 필요한 작업이나 서버실에 자주 출입하는 작업을 한다면 하드 디스크를 자주 접할 수 있다.
하드 디스크에서 실질적으로 데이터가 저장되는 곳은 위 그림 속 동그란 원판이다. 이를 플래터(platter)라고 한다. 하드 디스크는 자기적인 방식으로 데이터를 저장한다고 하였다. 플래터는 자기 물질로 덮여 있어 수많은 N극과 S극을 저장한다. 여기서 N극과 S극은 0과 1의 역할을 수행한다.
그 플래터를 회전시키는 구성 요소를 스핀들(spindle)이라고 한다. 스핀들이 플래터를 돌리는 속도는 분당 회전수를 나타내는 RPM(Revolution Per Minute)라는 단위로 표현한다. 예를 들어 RPM이 15,000인 하드 디스크는 1분에 15,000바퀴를 회전하는 하드 디스크를 의미한다.
플래터를 대상으로 데이터를 읽고 쓰는 구성요소는 헤드(head)이다. 헤드는 플래터 위에서 미세하게 떠 있는 채로 데이터를 읽고 쓰는, 마치 바늘같이 생긴 부품이다. 그리고 헤드는 원하는 위치로 헤드를 이동시키는 디스크 암(disk arm)에 부착되어 있다. (그림에선 액추에이터 암)
CD나 LP에 비해 하드 디스크는 훨씬 많은 양의 데이터를 저장해야 하므로 일반적으로 여러 겹의 플래터로 이루어져 있고 플래터 양면을 모두 상용할 수 있다. 양면 플래터를 사용하면 위아래로 플래터당 두 개의 헤드가 사용된다. 이때 일반적으로 모든 헤드는 디스크 암에 부착되어 다 같이 이동한다.
✅ 플래터에 데이터가 어떻게 저장되는가?
플래터는 트랙(track)과 섹터(sector)라는 단위로 데이터를 저장한다. 플래터를 여러 동심원으로 나누었을 때 그중 하나의 원을 트랙이라고 부른다. 운동장 달리기 트랙을 예로 들면 쉽게 이해가 가능하다. 트랙은 마치 피자처럼 여러 조각으로 나뉘는데, 이 한 조각을 섹터라고 부른다. 섹터는 하드 디스크의 가장 작은 전송 단위이다. 하나의 섹터는 일반적으로 512바이트 정도의 크기를 가지고 있지만 정확한 크기는 하드 디스크에 따라 차이가 있다. 일부 하드 디스크의 섹터 크기는 4,096바이트에 이르기도 한다.
여기서 섹터를 여러개 묶어서 하나의 단위로 만들어 놓은 것을 클러스터(cluster)라고 한다. 클러스터를 사용하게 되면 클러스터가 최소 저장단위가 된다. 클러스터의 크기는 4K ~ 8K라고 명시해 놓았지만 더 크게도 설정 가능하다.
(앞에서 언급했듯 제작업체에서 섹터의 단위를 4K로 출시하기도 하기 때문이다.)
여러 겹의 플래터가 사용될 수 있다고 했다. 이때 여러 겹의 플래터 상에서 같은 트랙이 위치한 곳을 모아 연결한 논리적 단위를 실린더(cylinder)라고 부른다. 쉽게 말해 한 플래터를 동심원으로 나눈 공간은 트랙, 같은 트랙끼리 연결한 원통 모양의 공간은 실린더이다.
연속된 정보는 보통 한 실린더에 기록된다. 예를 들어 두 개의 플래터를 사용하는 하드 디스크에서 네 개의 섹터에 걸쳐 데이터를 저장할 때는 첫 번째 플래터 윗면, 뒷면과 두 번째 플래터 윗면, 뒷면에 데이터를 저장한다. 연속된 정보를 하나의 실린더에 기록하는 이유는 디스크 암을 움직이지 않고 바로 데이터에 접근할 수 있기 때문이다.
데이터가 하드 디스크의 섹터, 트랙, 실린더에 저장된다는 것을 알았다면 저장된 데이터에 접근하는 과정을 생각해 보자.
하드 디스크가 저장된 데이터에 접근하는 시간은 크게 탐색 시간, 회전 지연, 전송시간으로 나뉜다.
- 탐색 시간(seek time)은 접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간을 의미한다.
- 회전 지연(rotational latency)은 헤드가 있는 곳으로 플래터를 회전시키는 시간을 의미한다.
- 전송 시간(transfer time)은 하드 디스크와 컴퓨터 간에 데이터를 전송하는 시간을 의미한다.
✅ 탐색 시간과 회전 지연을 단축시키기 위해서는 플래터를 빨리 돌려 RPM을 높이는 것도 중요하지만, 접근하려는 데이터가 플래터 혹은 헤드를 조금만 옮겨도 접근할 수 있는 위치(참조 지역성)에 있는 것도 중요하다.
💯 다중 헤드 디스크와 고정 헤드 디스크
플래터의 한 면당 헤드가 하나씩 달려있는 하드 디스크를 단일 헤드 디스크(single-head disk)라고 부른다. 반면 헤드가 트랙별로 여러 개 달려 있는 하드 디스크도 있는데, 이를 다중 헤드 디스크(multiple-head disk)라고 부른다. 다중 헤드 디스크는 트랙마다 헤드가 있기 때문에 탐색 시간이 들지 않는다. 따라서 다중 헤드 디스크는 탐색시간이 0이다.
이런 점에서 헤드를 움직일 필요가 없는 다중 헤드 디스크를 고정 헤드 디스크(fixed-head disk)라고 부른다. 반대로 헤드를 데이터가 있는 곳까지 움직여야 하는 단일 헤드 디스크를 이동 헤드 디스크(movable-head disk)라고 부른다.
참고자료 -
아티스트가 디자인한 Hdd 종의 무료 아이콘
무료 벡터 아이콘. SVG, PSD, PNG, EPS 형식 또는 아이콘 폰트 형태로 컴퓨터 수천 가지의 무료아이콘을 다운로드하세요 #flaticon #아이콘 #hdd #하드디스크드라이브 #원근법
www.flaticon.com
https://library.gabia.com/contents/infrahosting/1242/ - HDD 각 부분 설명 이미지
https://k-dfc.tistory.com/62 - 섹터 이미지
https://velog.io/@vov3616/%EB%B3%B4%EC%A1%B0%EA%B8%B0%EC%96%B5%EC%9E%A5%EC%B9%98 - 다중, 고정 헤드 디스크