디스크의 중심에서 같은 거리에 떨어진 점들을 이은 동심원 형태이다.






마치 케이크를 자를 때 생기는 부채꼴 형상의 형태를 다시 트랙 단위로 나눈 형태이다. 데이터 기록의 가장 기본 단위이다. 보통 512Bytes의 데이터 영역과 69Bytes의 개별 코드를 갖는다. 즉 571Bytes의 공간을 차지하는 것이다. 섹터에는 고유 번호가 붙어 이 값을 통해 하드디스크에 저장된 데이터의 위치를 나타내게 된다. 이는 트랙과 함께 가장 중요한 단위가 된다.






트랙과 비슷한 개념으로 디스크가 여러 장 있을 경우 수직으로 같은 위치의 트랙들을 합하여 실린더라고 칭한다. 보통의 하드디스크는 2개에서 8개에 이르는 디스크를 가지고 있다. 데이터는 디스크의 양면에 기록되므로 4개의 디스크를 가진 드라이브라면 수직으로는 같은 위치에 8개의 트랙을 가지게 된다. 이렇게 수직으로 배열된 8개의 트랙을 합하여 실린더라 부르는 것이다.






데이터를 읽고 쓰는 부분으로 의미상으로 보면 된 디스크 면의 수와 일치해야 하지만 근래의 하드 디스크들에서는 이 부분을 실제의 값과 일치시키지 않는다. 실제의 헤드는 디스크의 숫자 x 2의 값을 갖는다. 즉 4개의 디스크를 가진 드라이브라면 8개의 헤드를 갖는다. 그러나 대용량의 근래 하드 디스크들에서는 이를 회로를 통해 16개 이상의 값을 가진 것으로 인식되도록 만들어지는 경우가 많다. 보통 사용하는 3.5" 하드디스크의 경우 구조상 최대 8장의 디스크를 설치할 수 있지만 대개의 경우에는 2 - 4장 정도가 설치된다. 디스크 운영상의 여러 가지 문제로 인해 이런 경우에도 16개 이상의 헤드가 있는 것으로 인식시키는 것이다.



내장시게이트 1.28GB 하드디스크의 헤드로 실제의 헤드는 4개 뿐이다


일반적으로 많이 사용되는 헤드의 방식은 코일을 이용한 자기 박막 계열의 헤드였는데 근래의 추세는 MR(Magneto Resistive) 헤드로 옮겨 가고 있다. 자기 저항 헤드라고도 하는 이 헤드는 장시간 사용에 따른 오동작 위험을 포함 몇몇 단점이 있기는 하지만 고속에 높은 데이터 밀도를 구현할 수 있다.





하드디스크의 실제적 데이터 기록 장소인 디스크 원반을 가리킨다. 알루미늄계의 금속으로 만들어지며 자기장을 띄고 있다. 보통 1장에서 8장 까지가 드라이브 내에 설치되며 양면에 데이터를 각각 기록한다. 이 디스크의 표면을 헤드가 움직이며 데이터를 읽어낸다.





다음의 값들을 알면 계산이 가능하다.


섹터당 바이트 수 X 트랙당 섹터 수(Sector/Track) X 헤드 수(Heads) X 실린더 수(Cylinder) = 총용량


섹터당 바이트 수는 거의 모든 하드디스크가 512Bytes의 값을 갖고 있다.


트랙당 섹터 수는 63개 까지 가질 수 있다. (1 - 63)


헤드 수는 255개 까지 가질 수 있다. (1 - 255) (LBA 모드 사용할 때)


실린더 수는 1024개 까지 가질 수 있다. (0 - 1023)





소프트웨어적으로 데이터 읽고 쓸 때 하나의 묶음 형태로 다루는 정보 저장 단위이다. 즉 512Bytes의 섹터가 가장 작은 단위이지만 이것으로는 수십 MB에서 수 GB에 이르는 디스크 장치를 관리하기에는 너무 단위가 작아 4KB에서 32KB 단위까지 섹터들을 적절하게 묶어 관리하는 것이다.





인터리브는 하드 디스크의 구조에 기인한 것이다.


 


하나의 섹터를 읽고 다음 번 섹터를 읽는데 바로 읽지 못하고 시간이 필요하다면 바로 다음의 섹터를 읽기 위해 하드 디스크 원반이 다시 한번 회전할 때까지 기다려야 한다. 이를 개선하기 위해 다음 번 섹터 번호를 조금 떨어진 곳에 위치시킨다. 이렇게 하면 한 섹터를 읽을 때마다 한번씩 디스크가 회전해야 하는 불편함을 줄일 수 있다.


인터리브가 2:1이면 섹터를 하나씩 건너뛰며 읽도록 되어 2회전만에 하나의 트랙을 모두 읽을 수 있다는 뜻이고 3:1이면 섹터를 2개씩 건너뛰며 읽도록 된다. 따라서 3회전만에 한 트랙 전체를 읽을 수 있다. 1:1이면 1회전으로 한 트랙을 모두 읽는 것이 가능하다. 따라서 인터리브 값이 1:1 일때가 가장 빠른 속도를 보이게 된다.


그러나 이는 시스템과 인터페이스의 속도에 따라 적절하게 정해야만 하는 값이다. 만약 무조건 1:1로 설정했는데 시스템이 데이터 처리를 못해 다음 섹터를 바로 읽어내지 못하면 오히려 더 늦어지게 된다. 다음번에 돌아올 때까지 기다려야 하기 때문이다. 인터리브 값은 로우 레벨 포맷을 할 때 결정된다. 또 근래의 거의 모든 하드디스크와 시스템은 인터리브 값으로 1:1을 사용할 수 있다.






하드디스크의 동작 중에는 하드디스크와 헤드는 머리카락 굵기보다도 작은 거리만큼 떨어져서 동작한다. 따라서 이 헤드가 충격을 받아 디스크 표면을 손상시키면 에러가 발생하고 배드섹터가 발생한다. 전원이 들어와 있을 때는 컴퓨터의 컨트롤을 받으므로 상관없지만 전원이 끄거나 정전이 되면 헤드를 디스크 표면에서 떨어진 곳으로 대피시켜야 하는데 이러한 동작을 자동으로 해주는 것을 '오토 파킹'이라 한다.


또 헤드의 대피 장소를 랜딩존이라고 한다. CMOS 셋업의 하드디스크 설정 부분에 있는 항목에는 L.Zone 이라는 항목이 있는데 바로 이 항목이 파킹할 위치를 지정하는 값이다. 보통 실린더 총수의 마지막 실린더 + 1이 올바른 값이 된다. 즉 실린더수가 0 - 1023 이라면 1024가 되는 것이다. 근래의 대용량 하드디스크에서는 LBA 모드로 설정하면 표시된 실린더가 1.2GB의 경우 620이라도 2481라는 값을 가질 수 있다. 대개의 경우 이런 값은 CMOS 셋업의 하드디스크 자동 설정 기능을 이용하면 자동으로 맞추어 주므로 크게 신경 쓸 것은 없다.

HDD(하드디스크) 구조

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다