하드디스크 구조

2016. 5. 22. 14:14디지털포렌식/File System 이해

 

물리적인 HARD DISK 장치다. 즉 도서관 건물에 해당되는 장치, 물리적인 HARD DISK 이다. 고장난 HARD DISK 를 분해하면 구조를 확인할 수 있다.


물리장치를 확인해보자.


액츄에이터 암 : 파일을 읽고 쓰는 위치를 잡아준다. 어디를 읽을 것이냐, 어디를 쓸 것이냐를 잡아준다.


헤드 : 끝에 달려 있는 침. 즉 플래터에 자기적인 전자 자기장을 이용해서 데이터를 읽고 쓰기 위해서 맨 끝에 위치한다.


스핀들러 : 스핀들 또는 스핀들러라고 부르며 가운데 있는 모터다. 열심히 돌아가면서 HARD DISK SPEC 에 해당하는 RPM 을 만들어 낸다.


플래터 : 데이터가 저장되는 판이며 플래터가 딱딱한 어느 정도의 두꼐를 가지는 판이기 때문에 HARD DISK 라는 명칭을 붙인다. 플래터를 확대해서 현미경으로 보면 실제로 무늬가 있다.



 

무늬에 데이터가 저장된다. 레코드 판의 무늬처럼 생겼다.

트랙 : 운동장 트랙같이 동글동글한 무늬를 트랙이라고 한다.


섹터 : 트랙에 분할되어 있는 한칸한칸의 공간들, 즉 피자 조각처럼 분할된 한칸한칸의 공간을 섹터라고 한다.


Sector & Cluster


섹터는 기본 저장단위이다. 그래서 아무리 작은 데이터를 저장한다 하더라도, 예로 알파벳 문자 하나를 저장했다. 실제로 차지하는 공간은 알파벳 하나를 표현하기 위해선 1 byte 용량이면 된다.

아스키 코드냐, 유니코드냐에 따라 다른데 , 어쩃든 1 byte 또는 2 byte 만 필요하다. 

즉, 1 byte 또는 2 byte 의 공간만 필요하더라도 HARD DISK 에서 나눠 놓은 섹터 하나를 사용한다. 실제 사용하는 공간은 512 바이트 섹터 하나의 공간에 해당되지만 차지하는 데이터의 크기는 1 byte 또는 2 byte 가 될 것이다.


섹터 크기는 HARD DISK 종류에 따라 다를 수 있다.

예전에 사용했던, 또는 최근에 출시되는 HARD DISK 대부분은 섹터 하나 크기가 512 byte 를 차지하는데 더 큰 크기로 만들어 논 HARD DISK 들도 있다. 그 이유는 섹터 단위로 최소 저장단위를 사용하게 되면 읽고 쓰는 속도가 느려지게 된다. 그 이유는 HARD DISK 는 최소 저장단위만큼 데이터를 저장하고 나면 잠시 쉬었다가 저장을 한다.


예로 2KB 데이터를 저장해야 한다. 그럼 4개의 섹터가 필요하다. 512 byte * 4 = 2048 byte 2KB 데이터를 저장하기 위해 4개의 섹터에 데이터를 저장해야 하는데 한번에 쭉 저장하는게 아니라 섹터 하나에 저장하고 쉬고, 그 다음 섹터에 저장하고 쉬고, 총 3번을 쉰다. 3번을 쉬는 시간이 필요하며 물론 쉬는 시간만 필요한 건 아니다. 왜냐하면 섹터에 저장하고 나서 그 다음 섹터에 저장하려는데 위치가 틀려진다. 스핀들이 미친듯이 돌아 가기 때문에 그 다음 위치를 찾을 때 까지 또 기다려야 한다.

그래서 쉬는시간 + 위치찾는 시간을 합해서 중간중간에 쉬는시간이 3번이나 들어가기 때문에 큰 크기 파일도 아닌 2KB 짜리 데이터인데도 불구하고 데이터 저장 시 시간이 걸리게 된다. 그래서 그걸 보완하기 위해 사용한게 클러스터다.


트랙섹터 : 트랙하에 있는 섹터를 트랙섹터라고 하고 섹터라고 부르기도 한다.


Cluster : 섹터를 여러개 묶어서 하나의 단위로 만들어 논걸 클러스터라고 한다.

이 클러스터를 사용하게 되면 클러스터가 최소 저장단위가 된다. 클러스터의 크기는

4K ~ 8K 라고 명시되지만 더 크게도 설정이 가능하다.

만약 4K 클러스터를 사용한다면 섹터 몇개가 모여져 있는가?

섹터 8 개 모아논 걸 4K 클러스터 하나로 사용한다고 하며 섹터 8 개에 데이터를 저장하는 동안 쉬지않고 저장을 해준다.

즉 4K 이하 데이터를 저장할 땐 쉬는 틈이 없다. 실제로도 섹터 저장단위를 이용할 때보다 클러스터를 이용할 때가 읽고 쓰고 하는 것이 더 빨라질 것이다.

그래서 섹터 크기를 512 byte , 요즘은 512 byte 의 섹터 크기를 쓰지도 않는다. HARD DISK 제작업체에서 섹터단위 자체를 4K 자체로 출시하는 회사도 있다.


실린더 : 원통모양으로 되어 있다. 실린더는 플래터가 여러장일 때 동일한 위치에 있는 트랙들을 연결한 걸 실린더라고 한다. 즉 동일한 위치에 있는 트랙을 쭉 연결하면 가상의 라인을 만들면 원통모야이 되는데 이걸 실린더라고 한다. 그런 모양을 가지는 공간을 실린더라고 하는데 실린더를 사용하는 이유는 엑츄에이터 암이 동작하는 방식 때문에 실린더라는 단어를 쓴다.


엑츄에이터 암은 DISK 가 여러 개면, 즉 플래터가 여러 개면 엑츄에이터암도 여러 개가 된다. 단면이냐, 양면이냐에 따라서 달라지지만 엑츄에이터암은 여러 개가 있으면 엑츄에이터 암이 따로 움직이는게 아닌 전부 똑같이 움직인다. 그래서 엑츄에이터 암 자체가 동일하게 움직이기 때문에 맨 끝에 있는 헤드가 가르키는 위치가 전부 똑같게 된다. 즉 동일한 실린더를 가리키게 된다. 그래서 데이터를 읽고 쓰고 할 때 헤드가 가리키는 부분에 전부다 데이터를 분배해서 저장하기 위해 실린더라는 용어를 쓴다.


즉, 동일한 실린더에 데이터가 저장이 된다. 헤드가 총 8개이면 동일하게 데이터를 저장해주면 된다. 그럼 각각 따로 헤드를 쓰는 것보다 읽고 쓰는 속도가 좀 더 빨라질 수 있다.

그래서 실린더라는 단위를 사용한다. 예전에는 실린더라던지 디스크라던지 헤드라던지 이런 단위를 이용해서 Filte System 을 운영했었는데 요즘은 그런게 없다.

요즘은 물리적인 위치를 가지고 파일을 찾는게 아니라 논리적인 단위, 섹터 번호를 이용해서 주소 체계를 만들어서 사용하고 있다. 

'디지털포렌식 > File System 이해' 카테고리의 다른 글

Partition Structure  (2) 2016.05.22
Partition  (0) 2016.05.22
File System  (0) 2016.05.22
파일시스템 요소들  (0) 2016.01.24
파일시스템 분류  (0) 2016.01.24