본 게시물은 ‘강민철, ⌜혼자 공부하는 컴퓨터구조 + 운영체제⌟, 한빛미디어, 2022’ 을 인용하였습니다.
플래시 메모리
전기적으로 데이터를 읽고 쓸 수 있는 반도체 기반의 저장 장치
- USB 메모리, SD 카드, SSD 등이 플래시 메모리 기반의 보조기억장치
- 보조기억장치 범주에만 속한다기보다 다양하게 널리 사용하는 저장 장치
붉은 박스가 플래시 메모리
플래시 메모리 종류
- 셀(cell) : 플래시 메모리에서 데이터를 저장하는 가장 작은 단위
- 셀이 모여 MB, GB, TB 용량 갖는 저장 장치가 됨
- 하나의 셀에 몇 비트를 저장할 수 있느냐에 따라 플래시 메모리 종류가 나뉨
SLC(Single Level Cell) 타입
- 비트의 빠른 입출력O
- 수명 긺 → 수만~수십만번 데이터 쓰고 지우고 반복O
- 용량 대비 가격 높음
- 보통 데이터를 읽고 쓰기 매우 많이 반복되고 고성능의 빠른 저장 장치가 필요한 경우 SLC 타입 사용
MLC(Multiple Level Cell) 타입
- SLC 타입보다 속도/수명 떨어지지만, 대용화하기 유리
- 용량 대비 가격 저렴
- 시중에서 플래시 메모리 저장 장치들이 MLC 타입(혹은 TLC 타입)으로 만들어짐
TLC(Triple-Level Cell)
- 대용량화 유리
- SLC, MLC 타입보다 수명/속도 떨어지지만 용량 대비 가격 저렴
SLC, MLC, TLC 타입 비교
| 구분 |
SLC |
MLC |
TLC |
| 셀 당 bit |
1bit |
2bit |
3bit |
| 수명 |
길다 |
보통 |
짧다 |
| 읽기/쓰기 속도 |
빠름 |
보통 |
느림 |
| 용량 대비 가격 |
높음 |
보통 |
낮음 |
플래시 메모리 단위
- 셀(cell) : 플래시 메모리에서 데이터를 저장하는 가장 작은 단위
- 페이지(page) : 셀들이 모여 만들어진 단위
- 블록(block) : 페이지가 모여 만들어진 단위
- 플레인(plane) : 블록이 모여 만들어진 단위
- 다이(die) : 플레인이 모여 만들어진 단위
페이지(page)의 상태
- Free 상태 : 데이터 없어 새로운 데이터를 저장할 수 있는 상태
- Valid 상태 : 이미 유효한 데이터를 저장하고 있는 상태
- 새 데이터 저장X → 플래시 메모리는 HDD와 달리 덮어쓰기X
- Invalid 상태 : 쓰레기값인 유효하지 않은 데이터를 저장하고 있는 상태
플래시 메모리의 동작 예시
- 읽기/쓰기 단위는 페이지
- A 를 A’로 변경하고 싶다면?
- 덮어쓰기 불가능
- 기존의 A는 Invalid 상태(쓰레기 값)에서 새로운 A’ 데이터 저장됨
- 블록 X의 Valid 페이지는 B, C, A’
- 문제점 : A같은 쓰레기 값이 용량 차지
- 문제 해결 : 가비지 컬렉션(garbage collection), 쓰레기 값 정리
- 유효한 페이지들만 새 블록으로 복사
- 기존 블록 삭제