본문 바로가기
Computer Science

[Programming] Magnetic Hard Disk Drive

by Henry Cho 2022. 3. 17.
728x90

[Programming] Magnetic Hard Disk Drive


포스트 난이도: HOO_Junior

 

[Notice] 포스트 난이도에 대한 설명

안녕하세요, HOOAI의 Henry입니다. Bro들의 질문에 대한 내용을 우선적으로 포스팅이 되다 보니 각각의 포스트에 대한 난이도가 달라서 난이도에 대한 부분을 작성하면 좋겠다는 의견을 들었습니다

whoishoo.tistory.com


# Hard Disk Drive

Magnetic hard disk을 우리는 Hard disk drive라고 부르며, 흔히 하드 디스크 또는 HDD라고 부르는 Storage system 중에 하나이다.

하드 디스크는 아래와 같은 구성 요소를 포함하고 있다.

  • Platter
  • Spindle
  • Head
  • Actuator arm
  • Actuator axis
  • Actuator
  • IDE connector
  • Jumpber block
  • Power connector

일반적으로 하드 디스크에는 여러 개의 platters을 포함하고 있다.

또한 각각의 tracks들은 sectors로 나뉘는데 Operating system을 통해서 data들은 페이지마다 각기 저장이 된다.

한 페이지에는 약 4k bytes에 해당하는 데이터를 저장할 수가 있는데 하나의 sector에는 하나의 페이지 데이터가 저장되어 있다.

하나의 Track에는 약 수천 개의 sectors들로 구성되어 있다.

일반적으로 200,000 tracks을 하나의 디스크가 포함하고 있다고 하지만 지금은 그보다 더 많은 tracks이 하나의 HDD에 포함되어 있다.

그렇기에 과거에는 100GB HDD도 용량이 크다고 여겨졌지만 이제는 기본적으로 1TB 이상의 HDD를 사용하고 있다.


# HDD Latency

HDD의 주요한 Latency는 아래와 같다.

  • Seek time
  • Rotational latency
  • Delay due to bit rate
  • Data transfer rate

우선 Seek time이란 원하는 data를 찾기 위해서는 특정 track을 찾아야 하고, 이 과정에서 head가 특정 track에 도달하는 데 걸리는 시간을 말한다.

rotational latency는 특정 sector가 head를 통해 roatate되는 시간 지연을 의미한다.

bit rate나 data transfer의 경우에는 sector에서 데이터를 불러오는데 걸리는 latency를 말한다.

이러한 Latency 특징을 가지고 있기에 HDD는 큰 데이터를 불러오는 과정보다 작은 데이터를 여러 개 불러오는 게 더 오랜 시간이 걸릴 수 있다.

 


728x90

댓글