SLOW but STEADY

하드디스크(HDD) 구조 본문

2020 AWS기반 아키텍처 설계 전문가 양성 과정/리눅스

하드디스크(HDD) 구조

ㅁ윤지ㅁ 2020. 3. 2. 15:23

하드디스크 구조

 

출처: https://img1.daumcdn.net/thumb/R720x0.q80/?scode=mtistory2&fname=http%3A%2F%2Fcfile27.uf.tistory.com%2Fimage%2F99BA94395C74F62A316305

 

 

플래터
양면을 다 사용합니다. 위에도 데이터를 저장할 수 있고 밑에도 데이터를 저장할 수 있습니다. 플래터의 갯수가 많아질수록 용량이 늘어납니다. 요즘은 디스크 하나가 2TB 정도 합니다.

 

스핀들 모터
플래터의 중심 축입니다. 하드디스크 처리 속도와 연관이 있습니다. 그 이유는 스핀들 모터가 빨리 돌아야 플래터가 빨리 돌고 플래터가 빨리 돌아야 데이터가 들어갈 수 있는 빈 곳을 빨리 찾을 수 있기 때문입니다. 스핀들 모터의 속도가 곧 하드디스크의 속도라고 말할 수 있습니다. 그러니 하드디스크를 살 때는 스핀들 모터의 속도를 확인하셔야겠죠??

 

하드디스크는 전원을 켜는 순간 모터가 돌아가면서 작동합니다. 커넥터들을 통해서 들어오는 데이터를 액츄에이터 암은 상하운동을 하면서 플래터의 빈 곳을 찾아서 데이터가 들어갈 곳을 찾습니다. 플래터와 플래터 사이마다 액츄에이터 암이 있습니다. 헤드를 통해서 실제 데이터를 전송합니다. 하드디스크는 데이터가 알아서 찾아가는 구조가 아닙니다. 하지만 SSD 같은 경우는 전기를 쏘아서 데이터가 알아서 찾아가는 구조입니다. 당연히 전기를 쏘는 경우가 더 빠르기 때문에 하드디스크보다 SSD가 속도가 빠르긴 합니다.

헤드와 플래터가 물리적으로 딱 붙어있으면 플래터에 손상이 갈 수 있기 때문에 실제로 보면은 약간 떨어져 있습니다. 만약 헤드와 플래터가 물리적으로 붙게 된다면 전원을 켜는 순간 하드디스크는 작동하기 때문에 플래터에 손상이 가게 되고 플래터에 손상이 가게 되면 데이터 복구조차 할 수 없게 됩니다.

 

 


 

 

플래터 구조

출처: https://lh3.googleusercontent.com/proxy/Rjqun9xiniC64aONndo7W4NAvzFsIVCGv_khkVdUn-_m44G8C0jYfhN5Aq0Z1_AY_SUL6tK0Z4abT3OP2ix24ydqcAaCKFl17Rr9PJCdjDirC2EjikGlClKwcZNW8H1wlJfg2c3gw54nCcedEwAWdZEB2DqLHlyHUsiBWm5j

 

섹터
데이터 저장의 최소 단위입니다. 플래터를 논리적인 공간으로 구분해놓은 것입니다. 하나의 섹터는 일반적으로 512바이트입니다. 하나의 섹터에는 하나의 파일만 저장 가능합니다. 즉슨, 하나의 파일이 100바이트라고 하면 저장하고 남은 412바이트에 다른 파일을 저장할 수 없다는 말입니다. 데이터를 부를 때 저장되어 있는 섹터를 부르는 구조인데 두 개의 파일이 저장되어 있으면 중복으로 불러오기 때문입니다. 

 

임의의 파일의 속성을 보겠습니다. 제가 가지고 있는 시간표라는 파일은 크기가 262KB인데 이 시간표 파일에 할당된 디스크의 크기는 264KB이니 낭비되는 크기는 2KB가 되겠습니다.

 

클러스터
섹터의 묶음입니다. 데이터를 저장하기에 하나의 섹터가 모자랄 수 있으므로 연속된 섹터에 데이터를 저장합니다. 예를 들어, 제가 데이터를 저장하려면 5개의 섹터가 필요한데 3개의 섹터만 연속되어 비어있을 때는 3개의 섹터에 저장하고 남은 데이터는 2개의 따로 있는 빈 공간에 분산해서 저장해야 합니다. 이런 작업이 쌓이고 쌓이다 보면 데이터를 불러올 때마다 분산된 곳에서 불러와야 하기 때문에 하드디스크의 속도가 느려지게 됩니다. 또, 섹터는 데이터를 저장할 때 섹터 번호가 제일 작은 것부터 저장하기 때문에 분산 저장 현상이 많이 심합니다. 그래서 MS에서는 디스크 조각모음이라는 기능을 추가해서 분산되어 있는 섹터를 모아서 이어 붙여줍니다. 이렇게 하면 조금이나마 하드디스크의 속도가 빨라지겠죠?? 요즘은 클러스터 단위로 데이터를 저장합니다. 일반적으로 4 섹터를 한 묶음으로 합니다. 클러스터 단위로 저장하면 분산 현상을 줄일 수 있습니다.

 

트랙
흔히 우리가 말하는 운동장 트랙을 생각하시면 됩니다. 트랙도 섹터처럼 번호가 있습니다.

 

실린더
트랙의 묶음입니다.