혼자 공부하는 컴퓨터 구조 + 운영체제 Section 7. 보조기억장치

jihyelee·2023년 8월 2일
0

achitecture-os

목록 보기
7/15
post-custom-banner

강의 링크

다양한 보조기억장치

하드 디스크

  • 자기적인 방식으로 데이터 저장

구성

  • 플래터
    • 수많은 N극과 S극으로 데이터 저장되는 원판
    • 여러 겹으로 이루어져 있음
    • 일반적으로 플래터 양면 모두 사용
  • 스핀들
    • 플래터를 회전시킴
    • 회전단위 = RPM (Revolution Per Minute), 분당 회전수
  • 헤드
    • 플래터를 읽고 쓸 수 있는 수단
    • 플래터의 면마다 헤드가 달려있음
  • 디스크 암
    • 일반적으로 모든 헤드가 디스크 암에 부착되어 함께 이동

저장 단위

  • 기본적으로 트랙과 섹터 단위로 데이터 저장
  • 트랙 (track)
    • 플래터의 동심원
  • 섹터 (sector)
    • 트랙을 피자 조각처럼 나누었을 때 나오는 한 조각
    • 하나 이상의 섹터를 묶어 블록(block)이라고 표현하기도 함
    • 섹터의 크기 = 512-4096 바이트
  • 실린더 (cylinder)
    • 여러 겹의 플래터 상에서 같은 트랙이 위치한 곳을 모아 연결한 논리적 단위
    • 연속된 정보는 한 실린더에 기록 (헤드를 움직이지 않고도 데이터를 바로 읽을 수 있음)

데이터 접근 과정

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

  • 출처: Numbers Every Programmer Should Know by Jeff Dean
  • ns(나노초) = 10^-9초, 패킷(packet)이란 네트워크의 기본적인 전송 단위

플래시 메모리

  • 전기적으로 데이터를 읽고 쓰는 반도체 기반 저장 장치
    • 범용성이 넓기에 보조기억장치에만 속한다고 보기에는 어려움
  • NAND 플래시 메모리, NOR 플래시 메모리가 있으나 대부분 NAND 플래시 메모리를 보조기억장치로 사용

저장 단위

  • 셀(cell)
    • 플래시 메모리에서 데이터를 저장하는 가장 작은 단위
    • 셀이 모여 MB, GB, TB 저장 장치가 됨
  • 1비트 저장 플래시 메모리 = SLC
    • 한 셀로 두 개의 정보 표현 (0, 1)
    • 비트의 빠른 입출력
    • 긴 수명 (썼다 지웠다 하는 횟수와 연관)
    • 용량 대비 고가격
  • 2비트 저장 플래시 메모리 = MLC
    • 한 셀로 네 개의 정보 표현 (두 비트 저장하기 때문, 대용량화 유리)
    • SLC보다 느린 입출력
    • SLC보다 짧은 수명
    • SLC보다 저렴
    • 시중에서 많이 사용 (MLC, TLC, QLC)
  • 3비트 저장 플래시 메모리 = TLC
    • 한 셀로 여덟 개의 정보 표현 (대용량화 유리)
    • MLC보다 느린 입출력
    • MLC보다 짧은 수명
    • MLC보다 저렴
    • 시중에서 많이 사용 (MLC, TLC, QLC)
  • 4비트 저장 플래시 메모리 = QLC
  • 같은 플래시 메모리라도 수명, 가격, 성능이 다름
  • 셀들이 모여서 페이지 (page)
    • 읽기와 쓰기는 페이지 단위로 이루어짐
    • free 상태: 어떠한 데이터도 저장하고 있지 않아 새로운 데이터를 저장할 수 있는 상태
    • valid 상태: 이미 유효한 데이터를 저장하고 있는 상태
    • invalid 상태: 유효하지 않은 데이터(쓰레기값)를 저장하고 있는 상태
      • 플래시 메모리는 하드 디스크와 달리 덮어쓰기가 불가능
  • 페이지들이 모여 블록 (block)
    • 삭제는 (페이지보다 큰) 블록 단위로 이루어짐
  • 블록이 모여 플레인 (plane)
  • 플레인이 모여 다이 (die)

동작 예시

  • 새롭게 저장된 C와 기존에 저장되어 있던 B는 그대로 둔 채 기존의 A만을 A'으로 수정
    • 페이지 단위로 삭제가 불가능하기 때문에 A를 invalid로 두고, 비어있는 칸에 A'을 추가
  • 가비지 컬렉션
    • 유효한 페이지들만 새로운 블록으로 복사
    • 기존의 블록을 삭제하여 공간을 정리

RAID의 정의와 종류

  • 1TB 하드 디스크 네 개로 RAID를 구성하면 4TB 하드 디스크 한 개의 성능과 안전성을 능가할 수 있음

RAID의 정의

  • RAID (Redundant Array of Independent Disks)
    • 하드 디스크와 SSD로 사용하는 기술
    • 데이터의 안전성 혹은 높은 성능을 위해 여러 물리적 보조기억장치를 마치 하나의 논리적 보조기억장치처럼 사용하는 기술
  • RAID 레벨
    • RAID를 구성하는 기술
    • RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5, RAID 6
    • 그로부터 파생된 RAID 10, RAID 50, ...
    • 각 RAID 레벨마다 장단점이 있음
      • 어떤 상황에서 무엇을 최우선으로 원하는지에 따라 최적의 RAID 레벨은 달라질 수 있음
      • 각 RAID 레벨의 대략적인 구성과 특징을 아는 것이 중요

RAID의 종류

RAID 0

  • 데이터를 단순히 나누어 저장하는 구성 방식
  • 각 하드 디스크는 번갈아가며 데이터를 저장
  • 저장되는 데이터가 하드 디스크 개수만큼 나뉘어 저장
  • 스트라잎(stripe)
    • 마치 줄무늬처럼 분산되어 저장된 데이터
  • 스트라이핑 (striping)
    • 분산하여 저장하는 것
  • 장점
    • 입출력 속도의 향상
  • 단점
    • 저장된 정보가 안전하지 않음

RAID 1

  • 미러링 (mirroring)
    • 복사본을 만드는 방식
  • 데이터를 쓸 때 원본과 복사본 두 군데에 씀 (느린 쓰기 속도)
  • 장점
    • 백업과 복구가 용이
  • 단점
    • 하드 디스크 개수가 한정되었을 때 사용 가능한 용량이 적어짐
      • 복사본이 만들어지는 용량만큼 사용 불가 -> 많은 양의 하드디스크 필요 -> 비용 증가

RAID 4

  • (RAID 1처럼 완전한 복사본을 만드는 대신) 오류를 검출하고 복구하기 위한 정보를 저장
    • 오류를 검출하고 복구하기 위한 정보 = 패리티 비트
    • 컴퓨터 공학에서 본래 패리티 비트는 원래 오류 검출만 가능할 뿐 오류 복구는 불가능하나, RAID에서는 복구도 가능
    • 패리티를 저장한 장치를 이용해 다른 장치들의 오류를 검출하고, 오류가 있다면 복구
  • 장점
    • RAID 1보다 적은 하드 디스크로도 데이터를 안전하게 보관
  • 단점
    • 패리티 디스크의 병목
      • 새로운 데이터를 쓸 때마다 오류 검출 코드를 비교하고 저장해야 하기 때문

RAID 5

  • 패리티 정보를 분산하여 저장하는 방식

RAID 6

  • 두 종류의 패리티 (오류를 검출하고 복구할 수 있는 수단)
  • RAID 5보다 안전, 쓰기는 RAID 5보다 느림
profile
Graduate student at Seoul National University, majoring in Artificial Intelligence (NLP). Currently AI Researcher at LG CNS AI Lab
post-custom-banner

0개의 댓글