운영체제 - Hard Disk Drives

eucartio·2024년 6월 11일

운영체제

목록 보기
16/19

Long History of Memory

  • 인류가 시작된 이후, Memory는 다양한 형태로 진화해 왔다.

Category of Silicon-Based Memory

Magnetic Disk

  • 자기 매체에 데이터를 저장하는 저장소
  • 자화 가능한 물질의 다양한 자화 패턴을 사용하여 데이터를 저장
  • 비휘발성 메모리
  • 테이프, 플로피 디스크, 마그네틱 카드, 하드 디스크 드라이브 (HDD)
    ⠀⠀
  • 저장된 비트는 일련의 자화된 입자
    • Write: 전류 → 자기장 → 전류의 극성에 따라 자성 입자를 좌우로 정렬
    • Read: 자화된 영역을 지나는 Head → 양 또는 음의 전류 유도

Disk Drive Structure

  • Actuator(+Sensor): 전기를 물리적 에너지로 변환
    • Sensor: 외부 자극을 전기 신호로 변환
  • Head: Platter의 데이터를 읽는 역할

Disk Geometry

Similar to LP

Platter

  • 디스크는 두 면을 가진 Platter로 구성
  • 각각의 표면은 Track이라고 부르는 동심원으로 구성
  • 각 Track은 Gap으로 구분되는 Sector로 구성

Multiple Platter

  • 정렬된 TrackCylinder 형성
  • Multiple Platter는 양면으로 사용하여 총 용량을 증가시키는 것

Disk Capacity

  • Capacity: 저장할 수 있는 최대 비트 수
    ⠀⠀
  • Capacity는 다음 세 가지 기술적 요소로 결정된다.
    • Lineary of Recording Density (Bits / Inch, BPI): Track의 데이터가 얼마나 조밀하게 들어있는지 보여주는 값. Track의 Inch당 비트 수.
    • Track Density (Tracks / Inch, TPI): Plate의 Track이 서로 얼마나 가까운지 보여주는 값. Inch당 Track 수.
    • Areal Density (Bits / Inch2^2, BPSI): 자기 Disk 1 Inch2^2에 기록할 수 있는 데이터의 양. Inch2^2당 Bit 수 (=BPI x TPI)
      ⠀⠀
  • 현대의 Disk는 Track을 Recording Zone이라고 하는 분리된 하위 집합으로 분할한다.
    • 영역 내의 각 Track은 같은 수의 Sector를 가지며 가장 안쪽의 Track의 둘레로 결정된다.
    • 각 영역은 다른 수의 Sector와 Track을 갖는다.

Computing Disk Capacity

  • Capacity = (# Bytes / Sector) x (Avg # Sectors / Track) x (# Tracks / Surface) x (# Surfaces / Platter) x (# Platters / Disk)
    ⠀⠀
  • Examples
    • 512 Bytes / Sector
    • 300 Sectors / Track (On Average)
    • 20,000 Tracks / Surface
    • 2 Surfaces / Platter
    • 5 Platters / Disk
      ⠀⠀
    • Capacity = 512 x 300 x 20,000 x 2 x 5
      ⠀⠀⠀⠀⠀⠀= 30,720,000,000
      ⠀⠀⠀⠀⠀⠀= 30.72 GB

Disk Operation

Single-Platter View
  • Arm을 움직여 HeadTarget Sector를 향하게 한다.

Disk Access

Disk Access Time

  • 일부 Target Sector에 접근하는 데 걸리는 평균 시간은 다음과 같다.

Seek Time

  • Target Sector가 포함된 Cylinder 위로 Head를 배치하는 데 걸리는 시간
    Typical Seek Time

Rotational Latency For Random Read

  • Target Sector의 첫 번째 비트가 R/W Head 아래로 전달될 때까지 기다리는 시간

Tranfer Time

  • Target Sector의 비트를 읽는 시간

Example

  • Given Information
    • Rotational Rate = 7200 RPM
    • Average Seek Time = 9 ms
    • Average # of Sectors / Track = 400
  • Derived Information
    • Average Rotational Latency = 1/2 x (60 secs / 7200 RPM) x 1000 ms/sec = 4 ms
    • Average Transfer Time = (60 secs / 7200 RPM) x 1/400 x 1000 ms/sec = 0.02 ms
    • Disk Access Time = 9 ms + 4 ms + 0.02 ms = 13.02 ms
  • Important Points
    • Access TimeSeek TimeRotational Latency이 지배적이다.
    • Sector의 첫 번째 비트가 가장 비싸다.

Types of Access Time

  • 연속적인 Sector에 접근하는 것이 무작위 접근보다 빠르다.
    • Sequential Read: Transfer Time → 병목 현상
    • Random Read: Seek Time + Rotational Latency → 병목 현상

Logical Disk Blocks

  • 최신 Disk는 복잡한 Sector 기하학에 대한 더 간단하고 추상적인 보기를 제공한다.
    ⠀⠀
  • Logical Block과 실제 Sector 간의 Mapping
    • Disk Controller라고 불리는 하드웨어/펌웨어 장치에 의해 유지된다.
    • Logical Block을 위한 요청을 Surface, Track, Sector로 변환한다.
      ⠀⠀
  • Controller가 각 구역에 예비 Cylinder를 따로 보관할 수 있게 한다.
    • 포맷된 용량과 최대 용량의 차이를 고려한다.

0개의 댓글