보조기억장치

.·2023년 12월 29일

하드디스크

구성

  • 플래터를 여러겹 사용
  • 일반적으로 플래터 양면 모두 사용


저장 단위

하드디스크는 기본적으로 트랙(track)과 섹터(sector) 단위로 데이터 저장
(섹터 크키 : 512 바이트 ~ 4096 바이트)

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

데이터 접근 과정

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

탐색 시간

회전 지연

전송 시간

Jeff Dean (현재에도 구글 AI 리드 개발자) : Numbers Every Programmer Should Know


플래시 메모리

(SSD, SD 카드, USB 등이 전부 플래시 메모리 기반이다)

플래시 메모리 종류

  • NAND 플래시 메모리 (오늘날 대용량 저장장치로 사용되는 장치)
  • NOR 플래시 메모리

Cell

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

한 개의 Cell 에

- 1비트를 저장할 수 있는 플래시 메모리 : SLC
- 2비트를 저장할 수 있는 플래시 메모리 : MLC
- 3비트를 저장할 수 있는 플래시 메모리 : TLC
- 4비트를 저장할 수 있는 플래시 메모리 : QLC

비유를 들어서 이해하자면
사람 한 명 == 1 비트
Cell == 집
이라고 생각해보면
-> SLC == 한집에 한명
-> MLC == 한집에 두명
-> TLC == 한집에 세명

1. SLC

  • 한 셀로 두 개의 정보 표현 : 0 또는 1
  • 비트의 빠른 입출력
  • 수명
    - 플래시 메모리 (USB, SSD, SD카드) 에는 수명이 있다.
  • 용량 대비 고가격

2. MLC

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

3. TLC

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

정리

같은 플래시 메모리라도 수명, 가격, 성능이 다르다.

플래시 메모리 저장 단위

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

  • 읽기와 쓰기는 page 단위로 이루어짐
  • 삭제는 block 단위로 이루어짐

Page 상태

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

플래시 메모리 동작 예시

1. 데이터 쓰기

  • 블록x 의 각 칸하나하나는 page 다

2. 데이터 업데이트

  • A 를 A' 으로 업데이트하고 싶을 때 가비지 컬렉션을 이용

가비지 컬렉션

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

profile
.

0개의 댓글