100 likes | 326 Views
주소 분할 관리 기법을 활용한 SSD Hot/Cold Separation 및 기존 기법들과 의 비교. J – 이상선, 조겨리 , 최성준. Hot. Cold. 프로젝트 개요. Disksim with SSD Extension 에 hot/cold separation 구현 1. 기존 방법 (1) : 크기에 따른 분류 2. 기존 방법 (2) : LRU Count 3. ADIVIM : 주소 분할 관리 기법 주소 분할 관리 기법 : I/O request 를 분석하여 한 파일은 한 섹션으로 분류 .
E N D
주소 분할 관리 기법을 활용한 SSD Hot/Cold Separation 및 기존 기법들과의 비교 J – 이상선, 조겨리, 최성준
Hot Cold 프로젝트 개요 • Disksim with SSD Extension에 hot/cold separation 구현 • 1. 기존 방법(1): 크기에 따른 분류 • 2. 기존 방법(2) : LRU Count • 3. ADIVIM : 주소 분할 관리 기법 • 주소 분할 관리 기법 : • I/O request를 분석하여 한 파일은 한 섹션으로 분류. • 한 파일은 통째로 hot이거나 cold일 가능성 높음.
... ... 프로젝트 개요 • SSD Architecture with ADIVIM • ssd > element > plane > block > page의 구조 Host Device Driver Bus SSD Host Interface FTL ADIVIM Module 주소 매핑 ADIVIM Separator 플래시 메모리 관리 Flash Memory Chips Chip Chip Chip Chip Chip Chip Chip Chip …
상세 구현 스펙 • Current Write Request Control Flow host blk no 전달 ssd apn = blk no page size ssd_request_arrive (ssd.c) ssd_media_access_request ssd_media_access_request_element choose_element (ssd_timing.c) - request가 들어갈 element 결정 ssd_activate_elem (ssd.c) e0 e1 e7 apn = 8k+i lpn = k … apn 8k+0 8k+1 8k+7
상세 구현 스펙 • Current Write Request Control Flow • inside an element ssd_compute_access_time (ssd_timing.c) ssd_issue_overlapped_ios ssd_pick_parunits • request가 들어갈 plane 결정 • 가장 free block이 많은 plane 선택 _ssd_write_page_osr • update lba_table (lpn -> ppn) element plane0 plane1 plane7 page0 page64 block0 block1 block7 page63 page127 …
상세 구현 스펙 • Revised Control Flow (hot/cold seperation) host blk no 전달 ssd apn = blk no page size ADIVIM 주소분할관리를 통한 hot/cold 결정 hot cold 기존 page mapping block mapping을 위한 block number설정 e0 e1 e7 e0 e1 e7 … … h_apn 8k+0 8k+1 8k+7 c_abn 8k+0 8k+1 8k+7 c_abn = c_apn / 64 = 8k + i c_lbn = k c_lba_table : clbn -> pbn
상세 구현 스펙- modifications • I/O Request의 hot/cold 구분 logic • choose_element (ssd_timing.c) • ADIVIM 고유의 data structure • Element Metadata – hot/cold active page • Element 안의 h_lba_table / c_lba_table구분 • Block Metadata – hot/cold block • Free hot/cold_lpn list • Free block list • Garbage Collection 수정 • ssd_clean_block_fully (ssd_clean.c) - Cold block의 pagemove 방지
성능 비교 계획 • 다음 요소들에 대해 각 방법의 성능 비교 • 1. Write Amplification Factor data written to the flash memory data written by the host - 직접 구현 • 2. SSD Lifetime - 모든 page가 invalid 된 block을 지울 때마다 감소 - SSD Extension output : Average lifetime • 3. I/O Latency - SSD Extension output : Average response time