[혼공컴운] Ch07 보조기억장치

Hyunjoon Choi·2023년 7월 22일
0

혼공컴운

목록 보기
7/15

📢 본 글은 혼공학습단 미션과 함께 정리해보는 글 입니다.

다양한 보조기억장치

하드디스크

  • 자기적인 방식으로 데이터를 저장하는 보조기억장치
  • CD, LP판과 비슷하게 동작됨
  • 플래터: 수많은 N극과 S극으로 이루어져 있는 것 - 일반적으로 양면 모두 사용
    • 하드디스크에서 실질적으로 데이터가 저장되는 원판
    • 여러 겹 사용 가능
  • 스핀들: 플래터를 회전시키는 구성 요소
    • RPM (Revolution Per Minute): 1분 당 스핀들이 플래터를 돌리는 속도
  • 헤드: 플래터를 대상으로 데이터를 읽고 쓰는 구성 요소
    • 플래터의 모든 면 마다 헤드가 디스크 암에 부착되어 있음
    • 디스크 암은 헤드를 원하는 위치로 이동시켜줌

저장 단위

  • 하드디스크는 크게 섹터와 트랙으로 데이터가 저장됨
    • 트랙: 플래터를 이루고 있는 동심원을 그린 영역
    • 섹터: 트랙의 일부분 → 일반적으로 약 512 바이트만큼의 공간 (살짝 각각 다를 수 있음)
  • 하나 이상의 섹터를 묶어 블록 (block)이라고 하기도 함
  • 실린더: 여러 겹의 플래터 상에서 같은 트랙이 위치한 곳을 모아 연결한 논리적인 단위
    • 연속된 정보는 보통 한 실린더에 기록됨 → 같은 트랙이 위치한 곳들에만 저장되면 (즉, 하나의 실린더에 저장되면) 헤드를 움직일 필요가 없이 바로 읽을 수 있기 때문

데이터 접근 과정

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

플래시 메모리

  • 전기적으로 데이터를 읽고 쓰는 반도체 기반 저장 장치
  • 범용성이 넓기에 보조기억장치에만 속한다고 보기는 어려움
  • 하드디스크와 달리 덮어쓰기 불가능

플래시 메모리의 종류로는 NAND 플래시 메모리와 NOR 플래시 메모리가 있는데, 오늘날 대용량 저장 장치로 많이 사용되는 플래시 메모리는 NAND 플래시 메모리이다.

셀 (cell)

  • 플래시 메모리에서 데이터를 저장하는 가장 작은 단위
  • 셀이 모이고 모여 MB, GB, TB 저장장치가 된다.
  • 한 셀에 1비트, 2비트, 3비트, 4비트를 저장할 수 있는 플래시 메모리를 각각 SLC, MLC, TLC, QLC라 함

SLC

  • 한 셀로 두 개의 정보 표현
  • 비트의 빠른 입출력 가능
  • 긴 수명
  • 용량 대비 고가격

MLC

  • 한 셀로 네 개의 정보 표현 (SLC보다 대용량 유리)
  • SLC보다 느린 입출력
  • SLC보다 짧은 수명
  • SLC보다 가격 대비 저렴
  • 시중에서 많이 사용

TLC

  • 한 셀로 여덟 개의 정보 표현 (MLC보다 대용량 유리)
  • MLC보다 느린 입출력
  • MLC보다 짧은 수명
  • MLC보다 가격 대비 저렴
  • 시중에서 많이 사용

페이지, 블록, 플레인, 다이

셀들이 모여 페이지가 되고, 페이지가 모여 블록이 되고, 블록이 모여 플레인, 플레인이 모여 다이가 됨

  • 플래스 메모리는 읽기/쓰기 단위와 삭제 단위가 다름
    • 읽기/쓰기 단위는 페이지 단위로, 삭제 단위는 블록 단위로 이루어짐
  • 페이지의 상태
    • Free: 어떠한 데이터도 저장하고 있지 않아 새로운 데이터를 저장할 수 있는 상태
    • Valid: 유효한 데이터를 저장하고 있는 상태
    • Invalid: 유효하지 않은 데이터 (쓰레기 값)를 저장하고 있는 상태 → 가비지 컬렉션 (GC - Garbage Collection)을 통해 삭제 진행

RAID의 정의와 종류 (+ 미션)

RAID (Redundant Array of Independent Disks)

  • 데이터의 안전성, 높은 성능을 위해 여러 물리적 보조기억장치를 마치 하나의 논리적 보조기억장치처럼 사용하는 기술
  • RAID 구성 방법을 RAID 레벨이라 함

RAID 0

  • 데이터를 단순히 나누어 저장하는 구성 방식
  • 데이터를 저장할 때 각 하드디스크가 번갈아가며 데이터를 저장
  • 스트라이핑 (striping): 분산하여 저장하는 것
  • 스트라입 (stripe): 분산되어 저장된 데이터
  • 입출력 속도 향상
  • 그러나 저장된 정보가 안전하지 않음

RAID 1

  • 미러링 (mirroring) 방식 활용 → 복사본을 만듦
  • 데이터를 쓸 때 원본과 복사본 두 곳에 씀
  • 백업과 복구 쉬움
  • 하드디스크 갯수가 한정되었을 때 사용 가능한 용량이 적어짐
  • 복사본이 만들어지는 용량만큼 사용 불가 → 많은 양의 하드디스크 필요 → 비용 증가

RAID 4

  • 완전한 복사본을 만드는 방식 대신 패리티 비트 (parity bit)를 둠
    • 원래 컴퓨터공학에서는 패리티 비트가 오류 검출용으로만 되었지만, RAID에서는 오류 복구용으로도 사용 가능
  • 패리티 비트의 병목 현상 발생 가능 → 새로운 데이터가 저장될 때 마다 패리티 비트를 저장하는 디스크에도 데이터를 쓰게 되기 때문

RAID 5

  • 패리티 정보를 분산해서 저장하도록 함 → 병목 현상 완화

RAID 6

  • 기본 구성은 RAID 5와 같지만, 서로 다른 두 개의 패리티 비트를 두는 방식
  • 쓰기가 더 느림 → 새로운 정보를 저장할 때 마다 함께 저장할 패리티 비트가 두 개이기 때문
  • RAID 5보다 더 안전함

각 RAID 레벨을 혼합한 방식을 Nested RAID라 함


부족하거나 보완할 점이 있다면 댓글 부탁드립니다 😃

profile
개발을 좋아하는 워커홀릭

0개의 댓글