새소식

Computer Science/Computer Architecture

[혼자 공부하는 컴퓨터 구조] Chapter 07. 플래시 메모리(Flash memory)

  • -

 

본 게시물은 ‘강민철, ⌜혼자 공부하는 컴퓨터구조 + 운영체제⌟, 한빛미디어, 2022’ 을 인용하였습니다.

 

플래시 메모리

전기적으로 데이터를 읽고 쓸 수 있는 반도체 기반의 저장 장치

  • USB 메모리, SD 카드, SSD 등이 플래시 메모리 기반의 보조기억장치
  • 보조기억장치 범주에만 속한다기보다 다양하게 널리 사용하는 저장 장치
  • 플래시 메모리의 내부

붉은 박스가 플래시 메모리

 

 

 

플래시 메모리 종류

  • 셀(cell) : 플래시 메모리에서 데이터를 저장하는 가장 작은 단위
    • 셀이 모여 MB, GB, TB 용량 갖는 저장 장치가 됨
  • 하나의 셀에 몇 비트를 저장할 수 있느냐에 따라 플래시 메모리 종류가 나뉨

SLC(Single Level Cell) 타입

  • 한 셀에 1비트 저장하는 플래시 메모리
    • 한 셀에 2개 정보(2^1) 표현

  • 비트의 빠른 입출력O
  • 수명 긺 → 수만~수십만번 데이터 쓰고 지우고 반복O
  • 용량 대비 가격 높음
  • 보통 데이터를 읽고 쓰기 매우 많이 반복되고 고성능의 빠른 저장 장치가 필요한 경우 SLC 타입 사용

 

MLC(Multiple Level Cell) 타입

  • 한 셀에 2비트 저장하는 플래시 메모리
    • 한 셀에 4개 정보(2^2) 표현

  • SLC 타입보다 속도/수명 떨어지지만, 대용화하기 유리
  • 용량 대비 가격 저렴
  • 시중에서 플래시 메모리 저장 장치들이 MLC 타입(혹은 TLC 타입)으로 만들어짐

 

TLC(Triple-Level Cell)

  • 한 셀에 3비트 저장하는 플래시 메모리
    • 한 셀에 8개 정보(2^3) 표현

  • 대용량화 유리
  • 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같은 쓰레기 값이 용량 차지
    • 그러나 삭제 단위는 블록 단위여서 삭제X
  • 문제 해결 : 가비지 컬렉션(garbage collection), 쓰레기 값 정리

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

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.