CS notes/CA

[CA] 보조기억장치에 관하여

느낌있는 곳 2024. 4. 17. 18:24

하드 디스크

  • 자기적인 방식으로 데이터를 저장하는 보조기억장치
  • 자기 디스크의 일종
  • 플래터
    - 하드 디스크에서 실질적으로 데이터가 저장되는 곳
    - 자기 물질로 덮여있는 동그란 철판
    - N극, S극이 0과 1의 역할을 수행
    - 트랙, 섹터라는 단위로 데이터를 저장
    - 하나의 섹터는 일반적으로 512bytes
    - 실린더 = 여러 겹의 플래터 상에서 같은 트랙이 위치한 곳을 모아 연결한 논리적 단위
  • 스핀들
    - 플래터를 회전시키는 구성 요소
    - RPM: 스핀들이 플래터를 돌리는 속도
  • 헤드
    - 플래터를 대상으로 데이터를 읽고 쓰는 구성 요소
    - 다중 헤드 디스크: 트랙마다 헤드가 있어 탐색 시간이 거의 들지 않음

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

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

부록: 프로그래머가 꼭 알아야할 컴퓨터 시간

L1 캐시 참조 시간 0.5ns
L2 캐시 참조 시간 5ns
메모리 참조 시간 7ns
메모리에서 1MB를
순차적으로 읽는 시간
250,000ns
(하드) 디스크 탐색 시간 10,000,000ns
(하드) 디스크에서 1MB를
순차적으로 읽는 시간
30,000,000ns
한 패킷이 캘리포니아에서
네덜란드까지 왕복하는 시간
150,000,000ns

 

 

플래시 메모리

  • USB 메모리, SD카드, SSD가 이에 속함
  • 전기적으로 데이터를 읽고 쓸 수 있는 반도체 기반의 저장 장치
  • NAND, NOR 회로 구성에 따라 구분함
  • 셀: 데이터를 저장하는 가장 작은 단위
    - 한 셀에 1비트: SLC타입
    - 한 셀에 2비트: MLC타입
    - 한 셀에 3비트: TLC타입
구분 SLC MLC TLC
셀당 bit 1bit 2bit 3bit
수명 길다 보통 짧다
읽기/쓰기 속도 빠르다 보통 느리다
용량 대비 가격 높다 보통 낮다

 

  • 페이지: 셀들이 모여 만들어진 단위
  • 블록: 페이지가 모여 만들어진 단위
  • 플레인: 블록이 모여 만들어진 단위
  • 다이: 플레인이 모여 만들어진 단위

페이지

  • 플래시 메모리의 읽기, 쓰기는 페이지 단위로 이루어짐
  • 삭제는 페이지 보다 큰 블록에서 이루어짐
  • 읽기,쓰기 단위와 삭제 단위가 다르다는 것이 큰 특징
  • 페이지의 3개의 상태
    1. Free
    - 어떠한 데이터도 저장하고 있지 않아 새로운 데이터를 저장할 수 있는 상태
    2. Valid
    - 이미 유효한 데이터를 저장하고 있는 상태를 의미
    3. Invalid
    - 쓰레기값이라 부르는 유효하지 않은 데이터를 저장하고 있는 상태
  • 가비지 컬렉션
    - 유효한 페이지들만을 새로운 블록으로 옮긴 뒤 
    - 기존의 블록을 삭제하여 공간을 확보

 

RAID

  • Redundant Array of Independent Disks
  • 데이터의 안정성 및 성능을 위해 여러 개릐 물리적 보조기억장치를 하나의 장치처럼 사용하는 기술

RAID 레벨

RAID 0

  • 여러 개의 보조기억장치에 데이터를 단순히 나누어 저장하는 구성 방식
  • 각 하드 디스크는 번갈아 가며 데이터를 저장
  • 하나의 장치를 이용하는 것보다 읽고 쓰는 속도가 매우 빠름
  • 스트라입: 줄무늬처럼 분산되어 저장된 데이터
  • 스트라이핑: 분산하여 저장하는 것
  • But, 하나의 디스크에서 문제가 생긴다면 전체 시스템에 악영향을 줄 수 있음

RAID 1

  • 미러링: 복사본을 만드는 방식
  • 복구가 매우 간편하다는 장점이 있음
  • 사용 가능한 용량이 적어지며 비용이 증가한다는 단점이 있음

RAID 4

  • RAID 1과 달리 완전한 복사본을 만드는 대신 - 오류를 검출하고 복구하기 위한 정보를 저장
  • 패리티 비트 = 오류를 검출하고 복구하기 위한 정보
  • RAID 1보다 적은 하드 디스크로도 데이터를 안전하게 보관
  • 패리티를 저장하는 장치에 병목 현상이 발생한다는 문제가 있음

RAID 5

  • RAID 4의 병목현상을 패티리를 분산 저장하여 해소하는 방법

RAID 6

  • 기본적으로 RAID 5와 같으나, 서로 다른 2개의 패리티를 두는 방식
  • 오류를 검출, 복구할 수 있는 수단이 2개
  • 데이터 저장 속도가 조금 느린편이지만, 데이터를 더욱 안전하게 보관할 수 있음