2004/10/24 08:45

H.I.C. (1) HDD 下 하드웨어

H.I.C.입니다.

하드웨어에 관심이 있으시면 펼쳐보세요. 좀 깁니다. :)
틀린 부분이 있으면 가차없이 지적해주시는 것도 환영이에요. =ㅂ=
트랙백은 환영하지만 타 사이트로의 복제, 인용, 펌프질 등은 강력히 응징합니다.



H.I.C. 1화 HDD (上)에서 이어지는 글입니다

(14) Seek Time(검색시간)

검색시간은 헤드가 데이터가 있는 위치를 찾아내는데에 걸리는 시간이며, 대개 ms 단위로 표기한다. '검색 속도'라고 해도 틀린 말은 아니지만, 사용되는 단위와 수치에 비추어 볼 경우 '검색 속도'보다는 '검색 시간'이 좀 더 정확한 용어라고 하겠다. 검색시간은 읽기와 쓰기 동작에 대한 검색시간으로 각각 나뉘며, 각각에 대해서도 세가지로 세분화된다. 바라쿠다 7200.7의 카탈로그에는 위에서 보이는 바와 같이 읽기 검색시간과 쓰기 검색시간을 평균화한 전체 평균 검색시간만이 나타나 있지만, 다른 HDD 들의 카탈로그에서는 그 외의 수치도 찾아볼 수 있다. 아래는 HGST의 10,000RPM HDD인 울트라스타의 카탈로그에서 찾을 수 있는 검색시간 표기이다.


HGST 울트라스타의 카탈로그에서 볼 수 있는 검색시간표기



읽기와 쓰기에 대해서 검색시간은 평균 검색시간(average seek time)과 트랙간 검색시간(track-to-track seek time), 전체 검색시간(full track seek time)의 세가지로 구분되며, 각각에 대한 읽기/쓰기 검색시간이 별도로 존재한다. 그래서 총 6가지가 되는데, 일반적으로 이것을 전부 다 표기하는 경우는 드문 편이며 대개 읽기 동작시의 검색시간만을 표기해 준다.(읽기 쪽이 좀 더 빠르기 때문이다) 다만, 고가형 제품군의 카탈로그로 갈수록 표기하는 내용이 좀 더 많아지면서 상세한 자료를 제공한다.

읽기/쓰기 검색시간은 대체적으로 읽기 검색시간이 약 10%나 그 이상 더 빠른 모습을 보인다. 이것은 읽기 동작보다 쓰기 동작에서 더욱 높은 정밀도를 필요로 하기 때문이다. 그러나 쓰기 동작에서의 이러한 페널티는 쓰기 버퍼를 통해서 상당부분 상쇄된다.


트랙간 검색시간이라는 것은 헤드가 바로 인접한 트랙으로 옮기는 데에 소요되는 시간이다. 앞서 언급했던 트랙밀도를 생각해 본다면 인접 트랙끼리의 거리는 약 0.0004mm 정도가 채 되지 않는다. 따라서, 헤드는 매우 정밀하게 움직여야 한다. 그 때문에 인접 트랙임에도 불구하고 약 1ms 정도의 시간이 소요된다. 15,000RPM HDD 제품군의 경우 대단히 짧은 트랙간 검색시간을 가지는 것을 볼 수 있는데, 그만큼 헤드 및 헤드 암 어셈블리에 사용된 재질 및 기술이 훨씬 뛰어난 것이라고 생각할 수 있다.(물론 그만큼 비싸다. 15,000RPM 제품군의 경우 비슷한 용량의 7,200RPM ATA 제품군에 비해서 대략 6~7배 비싼 가격대를 형성한다)

전체 검색시간은 플래터의 최 외주에서 최 내주까지의 검색시간을 지칭한다.
그리고, 임의의 위치에 있는 플래터가 임의의 위치에 있는 데이터를 찾아내는 데에 소요되는 평균시간을 평균 검색시간이라고 한다.

검색시간은 HDD의 성능을 측정하는 대단히 중요한 지표가 되는데, 이는 데이터를 얼마나 신속하게 찾아낼 수 있는가, 저장할 수 있는가에 관련되기 때문이다. 그래서 10,000RPM 이상의 고성능 HDD들은 비싼 가격의 헤드 및 헤드 어셈블리를 사용하여 고속의 이동을 가능하게 하고 있다. 다만, 움직임이 빠를 수록 아무래도 발생하는 소음 역시 커진다. 그래서 소음 조절기능이 있는 HDD들의 경우 저소음 모드로 설정할 경우 검색시간이 약간 느려지는 모습을 발견할 수 있다.

(15) Average Latency (평균 지연시간)

지연시간이라는 것은 플래터의 회전 때문에 생기는, 디스크 타입의 기록매체에서만 나타나는 현상이다. 플래터는 계속 회전을 하고 있으며, 헤드는 회전하는 플래터 위의 한 지점에서 데이터를 읽어들여야 하는데, 만약 헤드가 플래터 위의 특정 지점을 놓치게 되면 플래터가 한바퀴 돌아서 다시 제 위치에 올 때 까지 기다려야 하며, 이 때에 소요되는 시간이 지연시간이다. 따라서, 지연시간은 아예 없을 수도 있으며 가장 길 경우는 플래터가 한바퀴 회전하는 시간이 된다. 평균지연시간은 이러한 두 값, 즉 0과 플래터가 한바퀴 회전하는 시간의 평균값으로써, 플래터 회전시간의 절반이라고 생각하면 된다.

그래서 지연시간은 HDD의 Spindle Speed, 즉 디스크 회전속도에 절대적으로 의존하게 되며, RPM이 높으면 높을수록 그에 비례해서 짧아진다. RPM과 평균지연시간과의 관계를 살펴보면 다음과 같다.
4,200RPM : 7.14ms
5,400RPM : 5.56ms
7,200RPM : 4.16ms
10,000RPM : 3.00ms
15,000RPM : 2.00ms
지연시간이 짧다는 것은 HDD가 데이터를 검색할 때 낭비하는 시간이 그만큼 적다는 것이며, 이는 곧 전체적인 검색시간의 단축 및 성능의 증가로 이어진다.

(16) Rotational Speed(회전속도)

스핀들 모터가 얼마나 빨리 회전하는가를 나타낸다. 그래서 Spindle Speed라고 표기되기도 한다. 이는 플래터가 1분동안 몇 회 회전하는가를 의미하는데, 수치가 높을수록 빠른 속도로 회전하는 것이다. 플래터의 회전속도가 빨라지면 헤드가 플래터를 지나는 상대속도가 늘어나서 데이터 전송률에서 이득을 얻게 되며, 동시에 지연시간의 감소로 이어지기 때문에 전반적인 성능향상에 크게 기여한다.

RPM이 높을수록 같은 시간동안 헤드가지나는 거리가 길어지고 지연시간이 짧아진다



그런데 여기서 독자들이 흔히 잘못 알고있는 것이 있어서 언급하고 넘어가고자 한다.

흔히 RPM은 'Rotation per Minute'로 알고 있는데, 이것은 잘못 알려진 것이고 'Revolution per Minute'가 올바른 용어다. Rotation과 Revolution은 우리말로는 둘다 '회전'을 지칭하는 것이지만, 'rotation'이 회전운동 그 자체를 지칭하는 것임에 반해서, 'revolution'은 1회전이 끝나는 동작을 지칭한다. 그래서 'rotation per minute'라는 말은 사용하지 않는다.

(17) Drive Ready Time (드라이브 준비시간)

앞서 이야기한 내용 중 헤드가 HDD의 플래터에서 일정 높이를 가지고 동작한다고 하였다. 이러한 높이를 가지기 위해서는 플래터가 일정 회전속도에 도달해야 하며, 그 이후에 HDD는 데이터를 입출력할 준비를 마치게 된다. 즉, 드라이브 준비시간은 곧 플래터가 제 회전속도까지 가속하는 시간을 의미하며 이 때문에 스핀업 시간(SpinUp Time)이라고도 한다.
이 제품에서는 9초라고 나와 있는데, 이것은 곧 HDD가 전원이 인가된 후 9초 후에 데이터 입출력 준비를 마친다는 이야기이다. 즉 9초 이전에는 데이터 입출력을 하지 못한다고 보면 정확하다. 이 속도는 HDD의 RPM이 높으면 높을수록 길어진다. 높은 RPM일 수록 가속하는 데에 그만큼 오래 걸리기 때문이다. 15,000RPM의 회전수를 가지는 고사양 제품군의 경우 20초 가량의 드라이브 준비시간을 필요로 하는 것도 있다.

HDD는 준비시간동안 가장 많은 전력을 소비한다


드라이브 준비시간이 가지는 또 다른 의미는 전력소비에 있다. 자동차의 경우 가장 연료를 많이 소비할 때가 급가속할 때라는 것을 많은 독자들이 알고 있듯이, HDD 역시 처음 기동시에 플래터 회전속도를 가속할 때에 가장 많은 전력을 잡아먹는다. 일반적으로 HDD는 동작시에는 10W 내외의 전력만을 소비하지만 플래터를 가속하는 동안은 최대 2~30W까지도 소비하며, 10,000RPM~15,0000RPM 제품군의 경우 최대 40W를 소비하기도 한다. 흔히 시스템이 소비하는 용량을 계산할 때 HDD의 소비전력을 10~20W 정도로 계산하는데, 위와 같은 이유 때문에 이는 잘못된 것이며, 최대치를 기준으로 계산하여 약 30W로 책정하는 것이 옳다.

(18) Start/Stop Cycle(시작/정지 회수)

HDD에 전원이 들어오는 순간 스핀들 모터는 급가속을 시작하며 동시에 헤드도 동작하기 시작한다. 그런데, 헤드는 전원이 들어오기 전까지는 파킹 존에 내려앉아 있다가 전원이 인가되어 플래터가 회전하기 시작하는 순간부터 떠오르기 시작한다. 이 때 아주 약간이지만 헤드에는 마찰로 인한 마모가 생기게 되는데, 이 때문에 헤드의 수명은 HDD의 시작/정지 회수와 아주 밀접한 상관관계를 갖는다. 일반적으로 데스크탑용 HDD의 경우 시작/정지 회수가 약 5만회 정도로 책정된다. 5만회라면 하루에 열번씩 컴퓨터를 껐다가 켜도 10여년을 쓸 수 있는 것이기에 시스템을 껐다 켰다 하는 것에 너무 민감하게 반응하지 않아도 무방하다. 다만, 수시로 이를 반복하는 것이 HDD의 수명에 좋지 않는 영향을 미치는 것은 사실이다. 데스크탑 PC보다 켜고끄는 횟수가 잦은 2.5"나 그 이하의 모바일 HDD들은 헤드의 랜딩 영역이 플래터의 외부에 있는 독특한 구조로 인하여 데스크탑 HDD보다 훨씬 긴 30만회 수명을 갖는다.

(19) LBA(Logical Block Area)
앞서서 섹터에 대한 이야기를 할 때, CHS에 대해서 잠깐 언급했다. CHS는 기본적으로 모든 실린더에서 트랙당 섹터의 수가 동일하다는 가정 하에서 출발하는 개념이기 때문에 근대의 HDD들에는 적합하지 않은 데다가 그 수치가 제한되어 있어서 528MB라던가 8.4GB 배리어의 원인이 되었다. 이 때문에 등장한 LBA는 실린더나 헤드 구분이 없이 HDD 전체 영역을 하나의 구조로 가정하고 CHS 주소 대신에 28bit의 길이를 가지는 LBA 주소를 각 섹터에 할당하는 방식이다. 주소의 크기가 28bit이므로 섹터에 할당할 수 있는 주소의 가지수는 총 228개, 즉 268,435,456개가 되었다. 1개의 섹터에는 512Byte가 저장되므로 28bit 주소를 가지는 LBA 방식을 사용하면 최대 128GB의 HDD를 사용할 수 있다.
최근들어서 HDD의 용량이 160GB 등에 다다르자 메인보드들이 이러한 고용량을 지원하지 못하게 된 것도 바로 구형 메인보드가 사용하는 LBA 방식이 28bit의 주소만을 지원하기 때문이었다. 물론 Windows 98이나 Windows2000 등에서 고용량 HDD를 제대로 인식하지 못한 것도 28bit LBA 방식 만을 사용했기 때문이라고 보면 된다. 그래서 그 대안으로 나온 것이 바로 48bit LBA이다. 이는 주소를 48bit까지 할당할 수 있어서 최대 248개의 섹터를 사용할 수 있고, 따라서 사용할 수 있는 HDD의 최대 용량은 131,072TB가 된다. 지금 신형 메인보드를 사용하고 있다면 이제 한동안은 신형 HDD용량을 시스템이 인식하지 못하는 일은 발생하지 않을 것이다.(다만, 현재의 HDD 용량증가추세(평균 1년에 1.58배) 대로 꾸준히 진행된다면 48bit LBA 방식의 수명도 30년 정도가 될 것으로 추산된다.)

(20) Warranty(보증기간)
보증기간이 의미하는 바는 매우 간단하다. ‘해당 기간동안 제품의 결함이 없음을 보증하고, 만약 결함이 생긴다면 수리(또는 교체)해 준다.’라는 것이다. 일반적으로 버퍼 용량이 2MB인 HDD들은 1년의 보증기간을, 버퍼 용량이 8MB 이상인 제품들은 3년의 보증기간을 가지며, 고가의 10,000RPM 이상 제품군은 5년의 보증기간을 갖는다. 예외적으로 삼성전자는 전 제품군에 대해서 2년 무상보증을, 시게이트는 자사의 전 제품군에 대해서 5년의 보증기간을 제시하고 있다.
그런데, 해외업체들이 제시하는 보증기간이 국내에서도 그대로 적용되지는 않는다. 해외에서 생산된 제품이 국내에 들어와서 유통되기까지의 시간이라던가, 이상제품을 해외로 보내서 수리해 와야 하는 시간, 또는 제품 보유에 들어가는 비용 등의 이유 때문에 국내에서의 무상보증기간은 해외 업체가 제시하는 기간보다 일반적으로 짧다. 예를 들어서 3년 무상보증인 제품은 2년 무상보증이 되고 나머지 1년은 비용을 지불해야 수리가 된다. 5년인 제품들의 경우 국내 무상보증 기간은 3년인 경우가 많다. 만약, 국내 무상보증기간이 끝났고 해외 무상보증기간이 남았다면 해당 회사의 본사로 보내면 수리가 가능한 경우도 있다.
또하나 고려해야 할 것은 부품보유기간이다. 삼성전자의 경우 2년 무상보증, 그 이후 3년 유상보증이라는 정책을 취하는데, 여기서의 유상보증이라는 것은 ‘부품은 가지고 있으니까 돈을 지불하면 수리할 수 있다’는 것이다. 해외 업체들도 별도의 부품보유기간을 가지고 있으므로 일단은 해당 업체 홈페이지 등을 통해서 정보를 찾아보는 것이 좋다.

덧글

  • strin 2004/10/25 00:12 # 답글

    역시 그림을 너무 잘그리십니다. 부럽~
  • Yggdrasill 2004/10/25 19:07 # 답글

    ▷ strin | =ㅂ=;;;; 저도 초보적인 방법만을 알고있을 뿐... 아하하...
  • monoword 2004/10/31 05:37 # 삭제 답글

    하드웨어에 대해 여러가지로 배우고 갑니다.
    보다가 탈자로 LBA 부분에 224개 248개에 ^표시가 빠졌네요.

    30년후 128페타바이트라 기대됩니다. :)
  • Yggdrasill 2004/10/31 16:55 # 답글

    ▷ monoword | 앗. 잡지사에서나 할 법 한 초보적인 실수를.. =ㅂ=;;; 아래아한글에서 메모장으로 옮겼다가 갖고오니 태그가 날아갔군요. 아하하. 지적 감사합니다.
  • juyong 2007/05/28 13:21 # 삭제 답글

    2^28 이면 268,435,456 이고... 1섹터당 512 byte 라고 했으므로 268,435,456 x 512 byte = 137,438,953,472 byte 요렇게 되고 1Kbyte = 1024 byte이므로... 137,438,953,472 byte / 1024 = 134,217,728 Kbyte / 1024 = 131,072 Mbyte / 1024 = 128 Gbyte.....요렇게 계산해서 최대 사용 가능한 용량이 128G가 나오는 것임돠.. 참고 하세염...^^
    (저도.. 정말 그런가 계산하다가 알게된 지식입니돠...ㅋㅋ ^^;;)
  • Muphy 2007/05/28 13:30 # 답글

    ▷ juyong // 네.. 글중에 있는게 그 내용입니다만....^^
댓글 입력 영역