Issues in Flash Memory
Contents Flash Memory 개요 FTL (Flash Translation Layer) S/W 연구분야의 이슈
Flash Memory 개요 플래시 메모리 - 전원이 끊겨도 저장된 내용이 삭제되지 않는 메모리 (c.f. ROM) - 읽기 / 쓰기가 자유로운 메모리 (c.f. DRAM/SRAM) - SSD (Solid State Disk) 하드 디스크처럼 회전하지 않는 고정된 반도체 메모리 저전력 및 무소음 - 초당 32M ~ 57M 의 데이터 읽기 / 쓰기 가능 (c.f. 하드디스크 15M/sec) - 작동온도 -20 ℃ ~ 80 ℃ (c.f. 하드디스크 0 ℃ ~ 60 ℃ )
Flash Memory vs. Hard Disk Drive
NOR Flash vs. NAND Flash NOR Flash MemoryNAND Flash Memory 장점 Byte 단위 addressing 빠른 read Block 단위 addressing Erase/write 성능 좋음 작은 cell 크기 단점 느린 erase/write 연산 느린 random access 응용 Boot image, BIOS Solid state disk 대용량 저장 용도
Flash Memory 장점 및 응용 비휘발성 고성능 저전력 충격과 온도에 대한 내구성 작은 form factor 경량 무소음
Flash Memory 시장 규모 및 황의 법칙 무어의 법칙 년 인텔 창업자 골든 무어 - 반도체 집적도 가격변동 없이 1 년 6 개월에 2 배씩 증가 황의 법칙 년 삼성전자 반도체 총괄 사장 황창규 - 반도체 집적도 가격변동 없이 1 년에 2 배씩 증가 2008 년에 삼성이 128GB 짜리 NAND 플래 시 메모리를 발표하지 않음에 따라 법칙 이 깨짐 향후 하드디스크를 대체
FTL (Flash Translation Layer)
NAND Flash Memory 의 구조 Block Main Array (512 B) Spare Array(16 B) Page (sector) Block 0 Block 1 … Block 8191 Block 2 Device Page 0 … Page 1 Page 31 1 Page = ( ) Bytes 1 Block = 32 pages (sectors) 1 Device = 8192 Blocks (128 Mbytes) Page 0 Block 1 Page 1 Page m-1 Block n-1Block 0
Page 0 … Page 1 Page 31 Page 2 Page 3 Page 0 … Page 1 Page 31 Page 2 Page 3 Flash Memory 의 특징 Erase-before-write architecture Erase 단위와 read/write 단위의 불일치 before overwrite page 1 Block Page 0 … Page 1 Page 31 Page 2 Page 3 copy & erase this block Block after overwrite page 1 Block Page 0 … Page 1 Page 31 Page 2 Page 3 Page 0 … Page 1 Page 31 Page 2 Page 3 1 2
FTL (Flash Translation Layer) + Device Driver ReadWriteErase File System Read SectorsWrite Sectors Flash Memory Mismatch! + Device Driver Flash Memory FTL + Read SectorsWrite Sectors File System Read SectorsWrite Sectors HDD 출처 : 지인정보기술
Memory 장치의 특성 Mobile SDRAM Low power SRAM Fast SRAM NAND NOR Memory$/Gb idle Current (mA) active Random Access (16bit) readwrite ns 55ns 10ns 10.1us 200ns 200.5us 210.5us erase 1.2sec 90ns 55ns 10ns 2ms N.A Cost Asymmetrical operations: read/write [ 박찬익, 삼성전자 ]
Sector Mapping LSN PSN Block 0 Block 1 Block 2 Block 3 … Sector 15 Sector 0 Sector 1 “Write to LSN=9” Mapping table Flash Memory LSN: Logical Sector Number PSN : Physical Sector Number
Block Mapping LBN PBN Block 0 Block 1 Block 2 Block 3 … Sector 15 Sector 0 Sector 1 “Write to LSN=9” Mapping table LBN: Logical Block Number PBN : Physical Block Number Flash Memory LBN : 9/4 =2 Offset : 1 PBN : 1 Offset : 1
Hybrid Mapping LBN PBN Block 0 Block 1 Block 2 Block 3 … Sector 15 Sector 0 Sector 1 “Write to LSN=9” Mapping table LBN: Logical Block Number PBN : Physical Block Number Flash Memory LBN : 9/4 =2 Offset : 1 PBN : 1 Offset : 1 1
Spare Space 기법 Mitsubishi - Data space : in-place - Spare space : out-of-place sector 0sector 2sector 3sector 4sector 5 write sector 1 sector 0sector 1sector 2sector 3sector 4sector 5sector 61 write sector 1 sector 0sector 1sector 2sector 3sector 4sector 5sector 61sector 71 write sector 1 Spare space data space
Mirror Block 기법 M-Systems sector 0sector 2sector 3sector 4sector 5sector 6sector 7sector 8sector 9sector 10sector 11sector 0sector 1sector 2sector 3sector 4sector 5sector 6sector 7sector 8sector 9sector 10sector 11sector data block mirror block write sector 1
S/W 연구 분야의 이슈
Flash Memory 휴대용 저장 장치의 대용량화 - 하드 디스크가 없는 컴퓨터 등장 Paradigm shift - Hard disk 기반 SSD 기반 - 기존 시스템 소프트웨어는 하드 디스크의 물리적인 특성을 고려
S/W 연구분야의 이슈 플래시 메모리의 특성 고려한 최적화 필요 (FTL) 저장 장치로서의 이슈 - 버퍼 관리자와 버퍼 교체 전략의 동작 - 메모리 상의 데이터 위치 클러스터링 - 인덱스 사용으로 인한 많은 업데이트 발생 - DBMS 질의 최적화의 결과 성능 저하 기타 - Garbage collection - Power-off recovery - Wear-leveling - Power management