Chapter 11. Mass-Storage Structure

박병준·2022년 6월 2일
0

운영체제

목록 보기
10/11

Disk Structure

  • Spindle: 디스크의 중심. 데이터를 읽고 쓰기 위해서 spindle이 반드시 회전 해야함

  • Track: 여러 개의 sector로 구성

  • Sector: 데이터가 저장되는 최소 단위

  • Cylinder: spindle로부터 동일한 거리에 있는 track들의 집합

  • Platter: 데이터가 저장되는 공간. 여러 개의 track으로 구성

  • Arm assembly: 여러 개의 arm으로 구성됨

  • Read-write head
    arm의 끝 부분.
    특정 데이터를 읽고 쓰기 위해서 read-write head가 해당 track으로 가야함(seek).
    Read-write head가 서로 다른 cylinder를 가리킬 수 없음

Access time

  • Seek time: read-write head가 요청한 sector가 위치한 track으로 이동하는데 걸리는 시간

  • Rotational latency: 해당 sector가 read-write head의 밑으로 회전하는데 걸리는 시간

  • Transfer time: 데이터를 읽고 전송하는데 걸리는 시간

access time = seek time (트랙 찾기) + rotational latency (섹터 찾기) + transfer time (전송)


SSD Characteristics

  1. HDD보다 비쌈

  2. HDD보다 안정적

  3. 수명 짧음
    -> write 횟수 제한있기 때문에 wear-leveling을 통해 골고루 write 해야 함

  4. 용량 작음

  5. 더 빠름

  6. 안움직임
    -> seek time, rotational delay 없음

  • overwrite 안됨 : erase before write

  • R/W page 단위

  • erase block 단위 : 특정 page만 지울 수 없음

Garbage collection

블록을 실제로 삭제하지 않고, 표기 후 적절한 시점에 일괄 삭제 처리하는 기술

Flash Translation Layer

특정 content가 동일한 page에 계속 존재하지 않음 -> 특정 위치에 overwrite (X)

OS에서 보는 page 위치 계속 바뀜 -> mapping layer 하나 더 존재


Disk Attachment

Host-Attachment storage

Disk를 사용하기 위해선 Host page에 미리 attach 해줘야 한다.
이때, PC에서 일반적으로 HDD를 장착하는 방식은 SCSI라는 bus를 I/O bus 로 사용하는 것이다.

  • Bus란 데이터를 각 장치 사이에서 통신할 수 있게 해주는 system이다.

SCSI bus는 최대 16개의 disk를 장착 가능하다.

NAS (Network Attached Storage)

  • local connection이 아닌 network protocol로 storage 접근한다.
  • RPC (Remote Procedure Call)을 사용한다.
  • 네트워크 통해서 남는 공간을 공유한다.
  • 유일하게 OS 탑재한다.

SAN (Storage Area Network)

  • Server 에 저장된 storage들을 SAN이라는 protocol을 사용해 접근하게 된다.
  • Network protocol 보다는 storage protocol을 사용하며, storage들은 host들에게 dynamic하게 attach될수 있다.
  • 주로 FC라는 high-speed serial architecture를 사용한다.

SAN과 NAS의 차이점
NAS에서 client가 일단 network를 통해 server에 먼저 접근한 후, 서버에 저장된 storage에서는 SAN을 이용해 Storage array에 접근하게 되는 것이다.


Disk Scheduling

FCFS

순서대로 진행

SSTF (Shortest Seek Time First)

현재 헤드 위치에서 가장 가까운 요청부터 처리한다.

SCAN (elevator)

한 방향으로 쭉 훑었다가, 맨 끝에 다다르면 다시 다른 방향으로 바꿔서 훑어 나가면서 request들을 처리한다

C-SCAN (Circular-SCAN)

Scan과 비슷하지만, 단방향으로만 처리하며, 끝에 다다르면 다시 반대편 끝으로 가서 그 방향대로 request를 처리한다.

LOOK

request가 없을 경우에는 끝까지 가지 않고, 해당 방향에서 더이상 처리할 request가 없으면 방향을 튼다.

C-LOOK

단방향으로만 처리하는 Look


Disk Management

Disk Formatting

  • physical formatting (low-level formatting)
    disk를 sector 단위로 분할

  • logical formatting (Making a file system)
    흔히 말하는 포맷
    file system 생성하려면 데이터를 다 지워야함 (file system 초기화)
    file system 자료구조를 disk에 저장

Boot block

Disk storage의 앞부분에는 주로 boot block이 위치하고 있다.

boot block은 부팅할 때 중요한 정보들이 들어있는 block으로, boot strap이 ROM에 내장되어있는데, Boot strap loader가 boot block을 메모리에 로딩하고, 제어권을 boot block에게 넘겨주게 된다.

Swap space

  1. normal file system밑에서 관리 될 수도 있다.

  2. 또는 별도의 파티션을 두어서 해당 영역을 관리할 수도 있다.
    -> 이 경우, 별도의 swap space manager가 존재하게 된다.

Swap map

swap space는 page slot과 swap map으로 이루어져 있다.

page slot들은 swap out된 페이지들을 담고 있는 영역이다.

swap map은 해당 swap out된 페이지를 사용하는 프로세스의 개수이다. => 한 페이지를 여러 프로세스가 사용 가능.


RAID Structure

RAID(Redundant Array of Inexpensive(Independent) Disks)란 여러 디스크를 병렬적으로 구성하여, storage 용량과 throughput을 늘리기 위한 저장장치를 말한다.

throughput 향상

  • striping: 하나의 file을 여러 disk에 나눠서 저장

1) bit-level striping : 한 번 R/W 할 때 모든 디스크 동시 사용. 동기화 필요

2) block-level striping : 특정 disk에서만 R/W 될 수 있음

fault-tolerance

Disk 하나는 신뢰성이 높은데, disk개수가 많아지면 많아질 수록 고장날 확률이 늘어난다.

  1. mirroring : disk 복제, storage 용량 2배 필요

  2. parity : parity block 사용 (XOR)

Raid의 종류

  1. RAID 0
    non-redundant striping
    복구 불가

  2. RAID 1
    mirrored disks
    storage 2배

  3. RAID 3
    bit-interleaved parity
    parity + bit striping

  4. RAID 4
    block-interleaved parity
    parity + block striping
    디스크 고장 안나면 낭비

  5. RAID 5
    block-interleaved distributed parity
    parity 분산 + block striping

  6. RAID 6
    P+Q redundancy
    2개 동시에 고장나도 복구 가능

Additional Concepts

  • Hot spare
    자동차를 몰고 다니면 spare tire를 갖고 다니는 것과 비슷하다. 고장난 디스크를 대체하기 위해 spare disk를 두는 것이다. 평소에는 사용하지 않는다.

  • Rebuilding
    만약 disk가 고장나면, 복구하는 과정에서 rebuilding data가 hot spare에 저장된다.

profile
뿌셔뿌셔

0개의 댓글