Post

[혼자 공부하는 컴퓨터구조+운영체제]07장 보조기억장치

07-1 다양한 보조기억장치

하드 디스크

  • 자기 디스크(magnetic disk)의 일종
    • 자기적인 방식으로 데이터를 저장
  • 플래터(platter)
    • 데이터가 저장되는 원판
    • 자기 물질로 덮여 있어 N극(0)과 S극(1)을 저장
    • 일반적으로 양면을 모두 사용할 수 있는 여러 겹의 플래터가 하드디스크를 구성
  • 스핀들(spindle)
    • 플래터를 회전시키는 구성 요소
    • RPM(Revolution Per Minute): 스핀들이 플래터를 돌리는 분당 회전수
  • 헤드(head)
    • 플래터를 대상으로 데이터를 읽고 쓰는 요소
    • 양면 플래터 사용 시 플래터당 두 개의 헤드 사용
    • 디스크 암(disk arm): 헤드가 부착되어 있어, 헤드를 원하는 위치로 이동시킴

플래터와 데이터

플래터는 트랙(track)과 섹터(sector) 단위로 데이터를 저장한다.

  • 섹터
    • 하드 디스크의 가장 작은 전송 단위
    • 일반적으로 512바이트의 크기를 가짐
    • 하나 이상의 섹터를 묶어 블록(block)이라고도 표현
  • 실린더
    • 여러 겹의 플래터 상에서 같은 트랙이 위치한 곳을 모아 연결한 논리적 단위
    • 연속된 정보는 보통 한 실린더에 기록
      • 디스크 암을 움직이지 않고도 데이터에 접근할 수 있기 때문

하드 디스크가 저장된 데이터에 접근하는 시간

  • 탐색 시간(seek time): 접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간
  • 회전 시간(rotational latency): 헤드가 있는 곳으로 플래터를 회전시키는 시간
  • 전송 시간(transfer time): 하드 디스크와 컴퓨터 간 데이터를 전송하는 시간

탐색 시간과 회전 시간 단축을 위해서는 다음 두 요소가 중요하다.

  • 빠른 RPM
  • 플래터 헤드를 조금만 옮겨도 데이터에 접근할 수 있는 참조 지역성

다중 헤드 디스크와 고정 헤드 디스크

  • 단일 헤드 디스크(이동 헤드 디스크): 플래터의 한 면당 헤드가 하나씩 달린 하드 디스크
  • 다중 헤드 디스크(고정 헤드 디스크): 헤드가 트랙별로 여러 개 달린 하드 디스크
    • 탐색 시간이 0이다.

플래시 메모리

  • 전기적으로 데이터를 읽고 쓸 수 있는 반도체 기반의 저장 장치
    • USB 메모리, SD 카드, SSD 등
  • 플래시 메모리의 종류
    • NAND 플래시 메모리: NAND 연산을 수행하는 회로(NAND 게이트)를 기반으로 만듦
      • 일반적인 대용량 저장 장치로 많이 사용되는 플래시 메모리
    • NOR 플래시 메모리: NOR 연산을 수행하는 회로(NOR 게이트)를 기반으로 만듦
  • 셀(cell)
    • 플래시 메모리에서 데이터를 저장하는 가장 작은 단위
    • SLC(Single Level Cell): 한 셀에 1비트를 저장하는 플래시 메모리
    • MLC(Multiple Level Cell): 한 셀에 2비트를 저장하는 플래시 메모리
    • TLC(Triple Level Cell): 한 셀에 3비트를 저장하는 플래시 메모리

셀 타입에 따른 플래시 메모리 종류

  • SLC 타입
    • 한 셀로 두 개의 정보(0과 1) 표현 가능
    • 비트의 빠른 입출력 가능
    • MLC나 TLC보다 긴 수명
    • 용량 대비 비싼 가격
    • 데이터를 읽고 쓰기가 매우 많이 반복되며 고성능의 빠른 저장 장치가 필요할 때 사용
  • MLC 타입
    • 한 셀로 네 개의 정보(00, 01, 10, 11) 표현 가능
    • SLC보다 짧은 수명
    • 더 많은 정보를 수용 가능 ⇒ SLC보다 대용화하기 유리
    • SLC보다 용량 대비 저렴한 가격
    • 일반적으로 사용되는 플래시 메모리 타입
  • TLC 타입
    • 한 셀로 여덟 개의 정보 표현 가능
    • MLC보다 짧은 수명
    • 대용화하기 유리
    • MLC보다 용량 대비 저렴한 가격
    • 저가의 대용량 저장 장치에 사용

플래시 메모리 구조의 단위

  • 셀 → 페이지 → 블록 → 플레인 → 다이

  • 플래시 메모리는 읽기/쓰기 단위와 삭제 단위가 다름
    • 읽기/쓰기 ⇒ 페이지 단위
    • 삭제 ⇒ 블록 단위
  • 페이지가 가질 수 있는 세 가지 상태
    • Free 상태: 데이터를 저장하고 있지 않아 새로운 데이터를 저장할 수 있는 상태
    • Valid 상태: 이미 유효한 데이터를 저장하고 있는 상태
      • 하드 디스크와 달리 플래시 메모리는 덮어쓰기가 불가하므로 Valid 상태의 페이지에는 새 데이터 저장 불가
    • Invalid 상태: 유효하지 않은 데이터(쓰레깃값)를 저장하고 있는 상태

가비지 컬렉션

  • 하드 디스크와 달리 플래시 메모리는 덮어쓰기가 불가하므로 Valid 상태의 페이지에는 새 데이터 저장 불가
  • 따라서 새로운 데이터를 저장하고 기존의 Valid 페이지는 Invaild 상태로 만듦
  • 이렇게 생기는 쓰레깃값을 가비지 컬렉션이 정리
  • 가비지 컬렉션의 동작
    1. 유효한 페이지만 새로운 블록으로 복사
    2. 기존의 블록 삭제

07-2 RAID 정의와 종류

RAID의 정의

  • Redundant Array of Independent Disks
  • 데이터의 안전성 또는 높은 성능을 위해 여러 개의 물리적 보조기억장치를 하나의 논리적 보조기억장치처럼 사용하는 기술
  • 주로 하드 디스크와 SSD를 사용

RAID의 종류

  • RAID 레벨: RAID 구성 방법
  • Nested RAID: 여러 RAID 레벨을 혼합한 방식

RAID 0

  • 여러 개의 보조 기억장치에 데이터를 나누어 저장
  • 데이터가 스트라이핑되면 데이터를 동시에 읽고 쓸 수 있으므로 데이터 읽기/쓰기 속도 상승
    • 스프라이핑(striping): 데이터를 분산하여 저장하는 것
    • 스트라입(stripe): 줄무늬처럼 분산되어 저장된 데이터
    • 예) RAID 0으로 구성된 1TB 저장 장치 네 개의 속도 < 4TB 저장 장치 한 개를 읽고 쓰는 속도
  • 저장된 정보가 안전하지 않다는 단점 존재
    • RAID 0으로 구성된 하드 디스크 중 한 개에 문제가 생기면 다른 정보를 읽는 데 문제 발생

RAID 1

  • 복사본을 만드는 방식
    • 미러링이라고도 한다.
  • 원본과 복사본 두 군데에 데이터를 씀 ⇒ RAID 0보다 쓰기 속도 느림
  • 복구가 간단하다는 장점 존재
  • 복사본이 만들어지는 용량은 사용 불가하므로 많은 양의 하드 디스크 필요 ⇒ 비용 증가

RAID 4

  • 패리티 비트를 저장한 장치를 따로 두는 방식
    • 패리티 비트(parity bit): 오류를 검출하고 복구하기 위한 정보
    • 본래 패리티 비트는 오류 검출만 가능하며 복구는 불가하지만, RAID에서는 오류 수정도 가능
  • 데이터의 오류를 검출하고, 오류가 있다면 복구 ⇒ RAID 1보다 적은 하드 디스크로 안전하게 데이터 보관 가능
  • 새로운 데이터가 저장될 때마다 패리티를 저장하는 디스크에도 데이터를 써야 함 ⇒ 패리티를 저장하는 장치에 병목 현상 발생

RAID 5

  • 패리티 정보를 분산하여 저장 ⇒ 병목 현상 해결

RAID 6

  • 서로 다른 두 개의 패리티를 두는 방식 ⇒ RAID 4나 RAID 5보다 안전
  • 저장할 패리티가 두 개 ⇒ RAID 5보다 느림
This post is licensed under CC BY 4.0 by the author.