관리 메뉴

클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지

보조기억장치 1 - 다양한 보조기억장치 1 : 하드 디스크 본문

알고리즘 및 자료 관리/컴퓨터 구조 & 운영체제

보조기억장치 1 - 다양한 보조기억장치 1 : 하드 디스크

huenuri 2024. 10. 16. 09:56

오늘의 아침 공부를 시작해 본다. 요즘 컴퓨터 작업을 많이 하다 보니 손가락과 손목 등이 너무나도 아팠다. 난 매월 한 가지 주제의 미션을 정해서 그 일에 습관으로 만드는 중이다. 8~9월에는 공부 습관을 만드는 거였다. 이제는 공부 습관은 습관을 넘어 숨을 쉬는 것처럼 매우 자연스러운 일이 되었다.

10월에 도전할 주제 습관은 운동이었다. 첫 주부터 매주 한 가지씩 도전하는 중이다. 지난주에는 아침 걷기 운동 습관을 만들었고, 이번주에는 손 스트레칭을 하루에 8번씩 하기로 다짐했다. 하루에 한두 번 하는 것으로는 부족함을 느껴 아예 타이머를 놓고 스트레칭하는 시간을 공부하는 시간처럼 중요하게 여기기로 했다.

 

아침에 와서 제일 먼저 5분 스트레칭을 하며 몸을 풀었고 이제 본격적인 공부를 시작하려고 한다. 7장에서는 보조기억장치, 특히 하드 디스크와 플레시 메모리처럼 서버를 구성하고 관리하는 부품에 대해서 학습해 본다. 하드디스크와 플래시 메모리는 가장 대표적인 보조기억장치이다.

 

 

이제부터 하드 디스크와 플래시 메모리를 살펴보면서 이 두 장치와 친해지는 시간을 가져볼 것이다.


 

 

 

 

하드 디스크

하드디스크를 자기 디스크의 일종으로 지칭하기도 한다. 하드 디스크는 CD나 LP와 비슷하게 동작한다. 동그란 원판에 디이터를 저장하고 그것을 회전시켜 뾰족한 리더기로 데이터를 읽는 점에서 비슷하다.

 

 

 

 

하드 디스크에서 실질적으로 데이터가 저장되는 곳은 아래 그림 속 동그란 원판이다. 이를 플래터라고 한다. 플래터는 자기 물질도 덮여 있어 수많은 N극과 S극을 저장한다. N극과 S극은 0과 0의 역할을 수행한다.

그 플래터를 회전시키는 구성 요소를 스핀들이라고 한다. 스핀들이 플래터를 돌리는 속도는 분당 회전수를 나타내는 RPM이라는 단위로 표현된다. 가령 RPM이 15,000인 하드 디스크는 1분에 15,000바퀴를 회전하는 하드 디스크이다.

 

 

플래터를 대상으로 데이터를 읽고 쓰는 구성 요소는 헤드이다. 헤드는 플래터 위에서 미세하게 떠 있는 채로 데이터를 읽고 쓰는, 마치 바늘같이 생긴 부품이다. 그리고 헤드는 원하는 위치로 헤드를 이동시키는 디스크 암이 부착되어 있다.

CD나 LP에 비해 하드 디스크는 훨씬 더 많은 양의 데이터를 저장해야 하므로 일반적으로 여러 겹의 플래터로 이루어져 있고 플래터 양면을 모두 사용할 수 있다. 양면 플래터를 사용하면 위아래로 플래터당 두 개의 헤드가 사용된다. 

 

 

 

 

 

플래터를 여러 동심원으로 나누었을 때 그중 하나의 원을 트랙이라고 부른다. 트랙은 마치 피자처럼 여러 조각으로 나누어지는데, 이 한 조각을 섹터라고 부른다. 섹터는 하드디스크의 가장 작은 전송 단위이다. 하나의 섹터는 일반적으로 512바이트 정도의 크기를 가지고 있지만, 정확한 크기는 하드 디스크에 따라 차이가 있다.

 

 

 

 

한 플래터를 동심원으로 나눈 공간은 트랙, 같은 트랙끼리 연결한 원통 모양의 공간은 실린더이다. 연속된 정보는 보통 한 실린더에 기록된다. 연속된 정보를 하나의 실린더에 기록하는 이유는 디스크 암을 움직이지 않고도 바로 데이터에 접근할 수 있기 때문이다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

위 시간들은 별것 아닌 것 같아도 성능에 큰 영향을 끼치는 시간이다. 구글의 AI를 주도하는 제프 딘은 과거 '프로그래머가 꼭 알아야 할 컴퓨터 시간들'을 공개한 바 있는데, 일부 발췌하면 다음과 같다.

 

 

 

2011년에 자료가 공개된 이후 오늘날 하드 디스크 성능은 많이 향상되었지만, 하드 디스크에서 다량의 데이터를 탐색하고 읽어 들이는 시간은 생각보다 어마어마하다는 사실을 짐작할 수 있다.

탐색 시간과 회전 지연을 단축시키기 위해서는 플래터를 빨리 돌려 RPM을 높이는 것도 중요하지만, 앞에서 배운 참조 지역성, 즉 접근하려는 데이터가 플래터 혹은 헤드를 조금만 옮겨도 접근할 수 있는 공에 위치해 있는 것도 중요하다.


 

 

 

다중 헤드 디스크와 고정 헤드 디스크

플래터의 한 면당 헤드가 하나씩 달려 있는 하드 디스크를 단일 헤드 디스크라고 부른다. 반면 헤드가 트랙별로 여러 개 달려 있는 하드 디스크도 있는데, 이를 다중 헤드 디스크라고 부른다. 다중 헤드 디스크는 트랙마다 헤드가 있기 때문에 탐색 시간이 들지 않는다. 따라서 다중 헤드 히스크는 탐색 시간이 0이다. 

이런 점에서 헤드를 움직일 필요가 없는 다중 헤드 디스크를 고정 헤드 디스크라고도 부른다. 반대로 헤드를 데이터가 있는 곳까지 움직여야 하는 단일 헤드 디스크를 이동 헤드 디스크라고 부른다.

 

 

 

 

 

 

 

하드 디스크 슬로 모션

 


 

 

 

 

학습을 마치고

하드 디스크가 어떻게 동작되는지 공부해보는 시간이었다. 직접 영상도 시청하며 확인하며 마치 경이로움을 느꼈다. 어떤 것을 슬로모션으로 보면 특별한 감동이 있는 것 같다. 하드디스크는 LP판이 돌아가는 것과 비슷하다고 한다. 

이 단원은 분량이 많아서 두 개의 포스트로 나눠서 작성해 보는 중이다. 이어서 플래시 메모리에 대한 학습을 진행해 볼 것이다.