90 likes | 862 Views
서울대학교 학부과정 프로젝트 소개. 김경호 책임 , 박현철 사원 2011.09.09. S/W 개발 -P/J 플래시 개발실 SAMSUNG MEMORY DIVISION . 프로젝트 1. Disksim with SSD Extension 에 PRAM 모델 추가 PRAM 기반 Storage 연구 인프라 확충 차세대 비휘발성 메모리인 PRAM 의 가능성을 가늠한다 . 개발 기간 : 6 개월 개발 인원 : 4 인. PRAM –based SSD Extension for Disksim.
E N D
서울대학교 학부과정 프로젝트 소개 김경호 책임, 박현철 사원 2011.09.09 S/W개발-P/J 플래시 개발실 SAMSUNG MEMORY DIVISION
프로젝트 1 • Disksim with SSD Extension에 PRAM 모델 추가 • PRAM 기반 Storage 연구 인프라 확충 • 차세대 비휘발성 메모리인 PRAM의 가능성을 가늠한다. • 개발 기간 : 6개월 • 개발 인원 : 4인
PRAM –based SSD Extension for Disksim • NAND와 PRAM • NAND는 빠른 처리 속도와 집적도를 기반으로 대용량 저장장치로 사용되고 있다. • 그러나 제한된 수명과 Byte 단위 접근 불가는 NAND의 활용을 어렵게 한다. • PRAM은 NAND의 단점들을 보완할 수 있는 비휘발성 메모리로 향후 가능성이 기대된다. [1] 황주영, 노양우, 김민찬, “고속 페이징 장치로서의 스토리지 클래스 메모리”, NVRAMOS 2011
PRAM –based SSD Extension for Disksim • DiskSim[2]이란? • 확장성이 뛰어난 저장장치 시뮬레이터 • Microsoft사에서 SSD Extension 개발 및 배포[3],[4]. • Disksim with SSD extension 구조 Event Processing Flow Request path Request Event Queue Event Dispatcher IO driver IO Driver Queue Disk Controller Bus NAND를 위한 관리 정책 및 명령들을 PRAM에 맞게 변경 SSD Request Queue SSD F/W NAND Spec을 PRAM Spec으로 변경 … Chip 0 Chip 1 Chip 2 Chip n SSD
프로젝트 2 • I/O trace를 분석하여 NAND array 상에서 oracle mapping을 simulation하는 기법 구현 • 최근 SSD들은 최대의 성능을 보장하기 위하여 page mapping을 사용하지만, SSD가 앞으로 어떤 I/O 요청이 들어올 지 100% 확신할 수 없으므로, 데이터를 NAND array 상에서 사전에 정해진 순서대로 striping함.[4],[5] • Offline으로 I/O 요청간의 LBA, issue time등을 분석하여 가장 이상적으로 데이터가 매핑(oracle mapping)된 경우를 simulation해주는 툴을 개발. • Orcale mapping의 목표 : 성능, 최소 WAF (Write Amplification Factor) • 이 툴을 통해 SSD 성능 개선의 지표로 활용할 수 있는 실험 결과를 얻음. • 개발 기간 : 6개월 • 개발 인원 : 4인
Oracle mapping의 simulator 구현 • Mapping • NAND는 overwrite가 불가능하기 때문에 I/O 요청의 LBA와 실제 주소간의 mapping이 필요하다. • SSD의 Parallelism[4] • NAND의 데이터 처리속도는 충분히 빠르지 못하므로 여러 개의 NAND 칩을 병렬로 구성하여 병렬 처리를 지원하고, 데이터를 NAND Chip들에 striping한다. SSD Page 0 NAND Chip NAND Chip NAND Chip NAND Chip Page 6,7 Page 0, 1, 2, 3 Page 1 NAND Chip NAND Chip NAND Chip NAND Chip SSD Controller Host Interface Page 6 Page 2 NAND Chip NAND Chip NAND Chip NAND Chip Page 7 Page 3 NAND Chip NAND Chip NAND Chip NAND Chip
Oracle mapping의 simulator 구현 • Oracle mapping • 다음에 어떤 I/O가 올지 안다면 가장 효율적으로 데이터를 매핑할 수 있을 것이다. • Offline으로 I/O를 분석하여 매핑의 best-case를 구한다. • Oracle mapping을 통해 SSD 성능 개선의 지표를 얻을 수 있다. Read 1,2,6,7 Read 1,2,6,7 Host Interface Host Interface SSD SSD SSD Controller SSD Controller Oracle mapping Page 1 Page 2 Page 1 Page 2 Page 6 Page 7 Page 6 Page 7 Flash Chips 0 Flash Chips 1 Flash Chips 2 Flash Chips 3 Flash Chips 0 Flash Chips 1 Flash Chips 2 Flash Chips 3 Page 0 Page 1 Page 2 Page 3 Page 1 Page 2 Page 3 Page 0 Page 6 Page 7 Page 6 Page 7
References [1] 조상연, “PCM의 컴퓨터시스템 적용에 대한 고찰”, NVRAMOS, April, 2011 [2] “The DiskSim Simulation Environment (v4.0)”, http://www.pdl.cmu.edu/DiskSim/ [3] “SSD Extension for DiskSim Simulation Environment”, http://research.microsoft.com/en-us/downloads/b41019e2-1d2b-44d8-b512-ba35ab814cd4/default.aspx [4] Nitin Agrawal, Vijauan Prabhakaran, Ted Wobber, John D. Davis, Mark Manasse, Rina Panigrahy, “Design Tradeoffs for SSD Performance”, USENIX 2008 ATC, p.57-70, June, 2008. [5] Aayush Gupta, Youngjae Kim, Bhuvan Urgaonkar, “DFTL: a Flash Translation Layer Employing Demand-based Selective Caching of Page-level Address Mappings”, Proceedings of the 14th international conference on Architectural support for programming languages and operating systems, March, 2009.