190 likes | 616 Views
SSD(Solid State Disk) 에 최적화된 파일시스템과 플랫폼 개발. 단국대학교. 연구의 필요성. SSD 는 저장매체로서의 장점으로 인하여 앞으로 컴퓨터 시스템의 시장에서 상당한 경쟁력을 확보 SSD 를 에뮬레이팅 하는 소프트웨어 및 개발 / 교육용 보드의 미공개 SSD 에 최적화된 FTL 및 파일시스템의 개발 Linux 를 기반으로 하는 오픈소스 진영에서 우리나라의 기여도 향상. 개발목표. SSD 개발에 필요한 플랫폼 Linux 의 MTD 수준에서 동작하는 SSD 에뮬레이터
E N D
SSD(Solid State Disk)에 최적화된 파일시스템과 플랫폼 개발 단국대학교
연구의 필요성 • SSD는 저장매체로서의 장점으로 인하여 앞으로 컴퓨터 시스템의 시장에서 상당한 경쟁력을 확보 • SSD를 에뮬레이팅 하는 소프트웨어 및 개발/교육용 보드의 미공개 • SSD에 최적화된 FTL 및 파일시스템의 개발 • Linux를 기반으로 하는 오픈소스 진영에서 우리나라의 기여도 향상
개발목표 • SSD 개발에 필요한 플랫폼 • Linux의 MTD 수준에서 동작하는 SSD 에뮬레이터 • SSD에 최적화된 FTL • MTD 디바이스를 저장장치로 동작하는 FTL • SSD에 최적화된 FAT 파일시스템 • SSD에 최적화된 공간 관리 기법이 적용된 FAT 파일시스템
SSD vs. HDD 출처: http://www.samsung.com/global/business/semiconductor/products/flash/Products_FlashSSD.html
SSD architecture 변유준, 이종민, 최종무, 이동희, 노삼혁 “SSD(Solid State Drive) 시뮬레이터의 설계 및 구현”, 가을 학술발표논문집 Vol. 35. 2008
Flash memory • 구조 • 읽기/쓰기 단위인 0.5~4K 크기의 페이지 • 소거 연산의 단위인 64~512K크기의 블록 • 특징 • 읽기 연산을 처리하기 위해 소비되는 시간(25us)과 쓰기에 소비되는 시간(200us)이 상이 • 읽기 동작을 처리하기 위해 소거연산이 필요 • 소거연산의 횟수가 제한적 blocks Data Spare Data Spare Data Spare Data Spare Data Spare Data Spare Data Spare Data Spare Data Spare pages Data Spare Data Spare Data Spare
FTL(Flash Translation Layer) • 플래시 메모리의 동작 특성을 숨김 • 일반적인 파일 시스템의 인터페이스 제공 File System Block Device Interface Write Sector Read Sector FTL Erase Block Write Page Read Page Flash Memory
Flash Memory vs. SSD • Flash Memory • FTL상위에 일반적인 파일 시스템을 사용하는 구조 • FTL없이 파일 시스템이 직접 Flash Memory를 관리하는 구조 • SSD • FTL이 Flash Memory를 관리하는 Firmware의 형태 (FTL)
MTD(Memory Technology Device) • Linux는 MTD라는 소프트웨어 계층을 통해 Flash Memory를 효율적으로 사용할 수 있도록 지원 MTD user module Char Device YAFFS Blk Device FTL JFFS MTD Glue Logic MTD chip driver CFI호환 Flash DiskONFlash JDEC호환 Flash DOC가 아닌 NAND Flash CFI가 아닌 구식 Flash 가상장치 NANDsim
SSD emulator • Multichip & Multibus • LinuxMTD의 Nandsim 분석을 통해 Multichip & Multibus 개발 • Multichip & Multibus는 병렬로 동작 가능 • Chip & Bus Interleaving • 각각의 Bus 와 Chip는 별도의 커널 쓰레드로 수행 • Chip의 동작특성을 이용한 병렬처리
SSD emulator Bus control module SSD controller • Multichip & Multibus • Bus & Chip Interleaving Chip control Chip control Chip control nandsim nandsim nandsim nandsim nandsim nandsim nandsim nandsim nandsim nandsim nandsim nandsim
FTL for SSD • SSD controller 제어 • 호스트 명령의 해석과 처리 • 기존 응용 제품에서와 같이 사용자의 데이터 읽기 및 쓰기 요청을 플래시 메모리의 기본 동작에 맞게 변환하여 처리하는 기능 • 플래시 메모리 상의 주소 변환 계산 • 사용자의 데이터의 논리적인 주소와 플래시 메모리의 물리적인 주소 사이의 변환 관계를 관리 • 페이지 수준의 사상
FTL for SSD Bus control module SSD controller • SSD controller 제어 • 호스트 명령의 해석과 처리 • 플래시 메모리상의 주소 변환 계산 FTL for SSD chip control chip control chip control nandsim nandsim nandsim nandsim nandsim nandsim nandsim nandsim nandsim nandsim nandsim nandsim
SSD emulator & FTL for SSD & Filesystem Bus control module SSD controller FTL for SSD chip control chip control chip control nandsim nandsim nandsim SSD에 최적화된 공간 관리 기법이 적용된 FAT nandsim nandsim nandsim nandsim nandsim nandsim (FTL) nandsim nandsim nandsim vcvcvv
개발 인원 및 임무 SSDFAT SSDFAT SSDFAT