본문 바로가기

CS

[CS] 보조 기억 장치

목차

  • 하드 디스크
  • 플래시 메모리
  • RAID

 

하드 디스크

 

플래터 - 동그란 원판 모양으로 하드 디스크에서 실질적으로 데이터가 저장되는 곳

  • 자기 물질로 덮여 있어서 수많은 N극과 S극을 저장한다 (이들은 0과 1의 역할을 수행)

스핀들 - 플래터를 회전시키는 구성 요소

  • 스핀들이 플래터를 돌리는 속도는 RPM으로 나타낸다 (분당 회전수)

 

하드 디스크 - 저장 단위

 

 

기본적으로 트랙섹터(512 ~ 4096 바이트) 단위로 데이터 저장

  • 트랙: 플래터를 여러 동심원으로 나누었을 때 그 중 하나의 원
  • 섹터: 트랙은 여러 조각으로 나누어지는데 그 한 조각이 섹터
    • 하드 디스크의 가장 작은 전송 단위
    • 하나 이상의 섹터를 묶어 블록이라고 표현하기도 한다

 

 

실린더: 여러 겹의 플래터 상에서 같은 트랙이 위치한 곳을 모아 연결한 논리적 단위

연속된 정보는 한 실린더에 기록

한 실린더에 있다면 헤드를 움직일 필요 없이 연속된 정보를 한번에 읽을 수 있음

 

 

 

하드 디스크 - 데이터 접근 과정

  • 하드 디스크가 저장된 데이터에 접근하는 시간
    • 탐색 시간 (seek time)
    • 회전 지연 (rotational latency)
    • 전송 시간 (transfer time)

 

1. 탐색 시간

  • 접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간

 

 

 

2. 회전 지연

  • 헤드가 있는 곳으로 플래터를 회전 시키는 시간

 

 

3. 전송 시간

  • 접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간

 

 


 

플래시 메모리

전기적으로 데이터를 읽고 쓰는 반도체 기반 저장 장치

SSD, SD카드, USB 메모리가 전부 다 플래시 메모리 기반의 저장장치

 

 

플래시 메모리의 종류

  • NAND 플래시 메모리
  • NOR 플래시 메모리

 

저장단위 - 셀(cell)

  • 플래시 메모리에서 데이터를 저장하는 가장 작은 단위
  • 이 셀이 모이고 모여 서 MB, GB, TB 저장 장치가 된다

 

한 셀(집)에

  • 1비트(사람 한명)를 저장할 수 있는 플래시 메모리: SLC
  • 2비트(사람 두명)를 저장할 수 있는 플래시 메모리: MLC
  • 3비트를 저장할 수 있는 플래시 메모리: TLC
  • 4비트를 저장할 수 있는 플래시 메모리: QLC

 

SLC 타입

  • 한 셀로 두 개의 정보 표현
  • 비트의 빠른 입출력
  • 긴 수명
  • 용량 대비 고가격
  • 혼자서 사는 집

 

MLC 타입

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

 

TLC 타입

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

 

정리

같은 플래시 메모리라도 내부 구성에 따라서 수명, 가격, 성능이 다르다!

 

 

플래시 메모리의 단위

읽기 / 쓰기 단위와 삭제 단위는 다르다.

  • 읽기와 쓰기는 페이지 단위로 이루어짐
  • 삭제는 (페이지보다 큰) 블록 단위로 이루어짐

 

 

페이지의 상태

플래시 메모리는 하드 디스크와 달리 덮어쓰기가 불가능

  • Free 상태
    • 어떠한 데이터도 저장하고 있지 않아 새로운 데이터를 저장할 수 있는 상태
  • Valid 상태
    • 이미 유효한 데이터를 저장하고 잇는 상태
  • Invalid 상태
    • 유효하지 않은 데이터(쓰레기 값)를 저장하고 있는 상태

 

플래시 메모리 - 동작 예시

 

새롭게 저장된 C와 기존에 저장되어 있더 B는 그대로 둔 채 기존의 A만을 A'로 수정하고 싶다면?

 

 

가비지 컬렉션

유효한 페이지들만 새로운 블록으로 복사한 후 기존 블록을 삭제하여 공간을 정리하는 기능

  1. 유효한 페이지들만을 새로운 블럭으로 복사
  2. 기존의 블록을 삭제


RAID (Redundant Array of Independent Disks)

하드 디스크와 SSD로 사용하는 기술

데이터의 안전성 혹은 높은 성능을 위해 여러 물리적 보조기억장치를

마치 하나의 논리적 보조기억장치 처럼 사용하는 기술

 

 

RAID 레벨(종류)

  • RAID를 구성하는 기술
  • RAID0, RAID1,  RAID2,  RAID3,  RAID4,  RAID5, RAID6 
  • 그로부터 파생된 RAID10, RAID50, ...

 

RAID 0

 

데이터를 단순히 나누어 저장하는 구성 방식

  • 스트라입(stripe): 마치 줄무늬처럼 분산되어 저장된 데이터
  • 스트라이핑(striping): 분산하여 저장하는 것

장점: 입출력 속도의 향상

단점: 저장된 정보가 안전하지 않음

 

 

 

RAID 1

 

데이터를 쓸 때 원본과 복사본 두 군데에 씀(느린 쓰기 속도)

  • 미러링(mirroring): 복사본을 만드는 방식

장점: 백업과 복구가 쉽다.

단점: 하드 디스크 개수가 한정되었을 때 사용 가능한 용량이 적어짐

복사본이 만들어지는 용량만큼 사용 불가 => 많은 양의 하드 디스크가 필요 => 비용 증가

 

 

 

RAID 4

(RAID 1 처럼 완전한 복사본을 만드는 대신) 오류를 검출하고 복구하기 위한 정보(패리티 비트)를 저장

RAID에서 사용하는 패리티를 저장한 장치를 이용해 다른 장치들의 오류를 검출하고, 오류가 있다면 복구

  • 패리티 비트는 오류 검출만 가능할 뿐 오류 복구는 불가능
  • RAID 1 보다 적은 하드 디스크로도 데이터를 안전하게 보관

단점: 패리티 디스크의 병목현상

 

 

 

RAID 5

패리티 정보를 분산하여 저장하는 방식 - 병목 현상 완화

 

 

 

RAID 6

두 종류의 패리티(오류를 검출하고 복구할 수 있는 수단)

  • RAID 5보다는 안전, 쓰기는 RAID 5보다 느림

 

RAID 정리

  • 각 RAID 레벨마다 장단점이 있음
  • 어떤 상황에서 무엇을 최우선으로 원하는지에 따라 최적의 RAID 레벨은 달라질 수 있음
  • 각 RAID 레벨의 대략적인 구성과 특징을 아는 것이 중요

 

 

 


해당 포스팅에 나온 글과 이미지들은 강민철 저자님의 혼자 공부하는 컴퓨터 구조 + 운영체제의 책과 강의를 참고하여 만들어졌습니다.

책에서 보다 깊게 나오는 내용이 있으므로 한번 구매하고 보셔도 좋을 것 같습니다.

 

[한빛미디어] 혼자 공부하는 컴퓨터 구조+운영체제

좋은 개발자는 컴퓨터를 분석의 대상으로 바라볼 뿐, 두려워하지 않는다!‘전공서가 너무 어려워서 쉽게 배우고 싶을 때’, ‘개발자가 되고 싶은데 뭐부터 봐야 하는지 모를 때’ ‘기술 면접

hongong.hanbit.co.kr

 

'CS' 카테고리의 다른 글

[CS] 운영체제란?  (0) 2024.05.24
[CS] 입출력장치  (0) 2024.05.23
[CS] 메모리, 캐시 메모리  (0) 2024.05.23
[CS] CPU의 성능 향상 기법  (0) 2024.05.22
[CS] CPU의 작동 원리  (0) 2024.05.22