플래시 메모리 특징

TAEWOO HA·2023년 6월 16일
0
post-custom-banner

플래시메모리와 FTL

SSD (Solid State Drives)

  • 하드디스크 : S극 N극으로 자 방향으로 데이터 저장

  • 플래시 메모리(트랜지스터-셀(전하의 양에 따라 0과 1을 저장) 낸드 플래시 // 셀에 전하가 많이 쌓여있음

    • NOR타입 : 바이트 단위 접근 가능 => 임베디드 펌웨어
    • NAND : 블럭 단위 인터페이스(용량을 크게 가능)
  • SSD 내부에 컴퓨팅 리소스 - CPU ,DRAM, 플래시 메모리를 저장공간 , 버스방식 사용, PCle 인터페이스(블럭 I/O) ,

  • host interface (PCle, SATA , SCSI 인터페이스 지원 => PC에 연결가능)

    • SATA(Serial Advanced Technology Attachment) : HDD 속도와 연결방식 개선(병렬 =>직렬)
    • SCSI(Small Computer System Interface) : 서버나 워크스테이션 , 빠르고 안정적이지만 비싸다.
  • 플래시 메모리(여러개를 병렬적으로 사용) 연결 할 때 버스로 연결 , 멀티 채널 , 멀티 way로 성능을 빠르게 할 수 있다.

  • SSD 내부에 CPU가 필요한 이유

    • 독특한 특성을 처리하기 위해서
    • FTL(Flash Traslation Layer) : SSD내부에서 동작, 플래시메모리를 디스크처럼 보이도록 추상화.

Disk vs Flash memory

  • 공통점 : 비휘발성
  • 차이점
    • 플래시메모리는 기계적인 장치가 없다. : 모바일 장치에 좋다.
    • 디스크보다 빠르다 (us vs ms)
    • 덮어쓰기 제한이 있다. (바로 덮어 쓸 수가 없다. erase작업을 해야한다.)
    • 플래시메모리는 EEPROM(쓰기가능한 ROM에서 전기적 신호로 erase가능)에서 발전된 소자.
    • Read/Write 와 erase 단위가 다르다.
      • read write : page unit (4KB)
      • erase : block unit (2MB) ==> 파일시스템의 블럭과는 다른 단어, 페이지 유닛이 모여서 블럭이 됨
    • 내구성 : erase 횟수가 제한. // 횟수를 넘기면 bad block이 된다.

  • 0~5번 쓰기

  • 오버라이트 발생. 1번을 업데이트, 3,4번을 업데이트

    1. 플래시메모리는 오버라이트가 되지 않는다. erase필요함
    1. erase는 블럭단위로 진행된다.
  • 전체를 다 지운다?

  • 0번과 2번을 DRAM에 복사를 한다. erase하고 다시 쓴다.

    • 성능 문제, 데이터 손실
    • 이 방식을 사용하면 ms단위로 반응속도가 느려진다.

  • FTL 이용

    • Out of Place update (덮어쓰기 해결)
    • 가비지 컬렉션 ( 페이지와 블럭의 차이 해결 )
    • 배드블럭 핸들링( 에러발생 이슈 해결 )

  • 매핑 테이블

  • 로지컬 페이지 넘버 , 피지컬 페이지 넘버의 쌍

  • LPN : 1 ,3 , 4 업데이트

    • FTL : Out of place => 매핑 업데이트 => invalidate
  • LPN : 1 , 5 ,6 업데이트
  • 매핑테이블에서 1번은 더 이상 6번이 아니라 9번으로 바뀜
  • 남은 free 블럭이 하나밖에 없다.
    ==> 회수를 해야한다.

가비지 컬렉션

  • invalid 회수

  • 프리 블럭이 임계점 이하로 떨어질 때

  • 어떤 블럭을 선택할 지?

    • 그리디(오버헤드 적음) , 나이(최근에 쓰여진 블럭을 냅둔다. - 시간적 지역성 고려)
    • 그리디 : 3번을 12번으로 옮기고 삭제한다.

FTL

  • 플래시메모리를 디스크처럼 보이게 만드는 역할

  • ext4 read write

  • read , write , erase

  • 중개해서 기능 제공

  • wear-leveling : Endurance limit이 100인데 이 값을 넘으면 bad block이 될 수 있음

    • 삭제균등화를 한다. 골고루 삭제가 되면 플래시 메모리의 수명을 늘릴 수 있다.

  • FTL이 필요없는 시스템도 존재. F2FS YAFFS

post-custom-banner

0개의 댓글