SSD 에서의 TRIM 명령어 처리 성능 분석 및 Ext4 파일 시스템으로의 적용 한국정보과학회지 – 2015.1 Heo, Sang-Bok.

Slides:



Advertisements
Similar presentations
일정 관리 다이어리 제작 JSP Programming with a Workbook. 학습 목표  사용자의 일정을 관리할 수 있는 다이어리에 대하여 알아보자. JSP Programming with a Workbook2.
Advertisements

전산팀 업무보고 ► 보고일 :2016 년 5 월 24 일 ( 화 ) 1. PC 세부사양서 구분세부사양수량 ( 대 ) PC 제조사 : 삼성, HP ( 조립 PC 제외 ) 운영체제 : Windows 7 Pro 64bit 이상 CPU : Intel i5 6 세대 3.2Ghz(
Issues in Flash Memory. Contents  Flash Memory 개요  FTL (Flash Translation Layer)  S/W 연구분야의 이슈.
데이터 완전삭제프로그램 Perfect Delete 사용설명서  주의 이 프로그램을 이용하여 삭제된 데이터는 어떠한 방법으 로도 복구가 불가능합니다. 그러므로 실제 데이터 삭제시 신중을 기하기 바랍니다.
SSD 장치 내 NCQ 를 활용한 쓰기 버퍼 관리 기법 정보과학논문지 – Sang-Bok, Heo.
Flash SSD 강원대학교 `01 최경집.
2010 – 06 – 24 주간 보고서.
컴퓨터와 인터넷.
Linux Seminar Cahpter 10. Linux File System
컴퓨터 운영체제의 역사 손용범.
CPU 품 명 PERSONAL COMPUTER 모델번호 HP 6000Pro 제 조 사
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
Network Lab. Young-Chul Hwang
08. 디바이스 드라이버의 읽기와 쓰기 김진홍
Windows Server 장. 사고를 대비한 데이터 백업.
Ubiquitous Computing Practice - Part I (Installation) -
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
07. 디바이스 드라이버의 초기화와 종료 김진홍
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
Root Filesystem Porting
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
FTP 프로그램 채계화 박재은 박수민.
Root Filesystem Porting
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
23장. 구조체와 사용자 정의 자료형 2.
모바일 자바 프로그래밍 JDBC / WAP Ps lab 오민경.
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
DK-128 실습 EEPROM 제어 아이티즌 기술연구소
MicroC/OS-II 3. Memory Management ITISN Technical Lab.
Grade Server Team14. Attention Seeker
Cross Compiler를이용한 커널 컴파일 및 포팅
자바 5.0 프로그래밍.
Chap 6.Assembler 유건우.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
리눅스 시스템 & 커널 기초 P.46 – P.53 이름: nsh009 학번: 112 1/20.
메모리 관리 & 동적 할당.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
뇌를 자극하는 Windows Server 2012 R2
Go Lang 리뷰 이동은.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
27강 JAVA Collections - II - Map계열 컬렉션 클래스 살펴보기 - Set계열 컬렉션 클래스 살펴보기
Nessus 4 설치 정보보호응용 조용준.
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
8장 쿠키와 세션 한빛미디어(주).
오라클 넷(Oracle Net)의 개념 및 구성
ARM Development Suite v1.2
메모리 타입 분석을 통한 안전하고 효율적인 메모리 재사용
데이터 베이스 DB2 관계형 데이터 모델 권준영.
14강. 세션 세션이란? 세션 문법 Lecturer Kim Myoung-Ho Nickname 블스
S-Work 2.0 DRM 신규 버전 설치 가이드 SOFTCAMP
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
Kernel, Ramdisk, JFFS2 Porting
데이터 동적 할당 Collection class.
AT MEGA 128 기초와 응용 I 기본적인 구조.
Ⅰ 전자기초 Ⅱ 디지털 논리회로 Ⅲ C언어 기초 Ⅳ AVR 마이크로 컨트롤러 Ⅴ 마이크로 컨트롤러 개발환경
발표자 : 이지연 Programming Systems Lab.
프로그래밍 언어 학습을 위한 가상실습환경 창원대학교 이수현.
과제 4: Thread (5월 9일까지) 4장 연습문제 풀이
채팅 및 파일전송 프로그램 권 경 곤 김 창 년.
제 4 장 Record.
06. 디바이스의 등록과 해제 김진홍
1. 지역변수와 전역변수 2. auto, register 3. static,extern 4. 도움말 사용법
CHAP 15. 데이터 스토리지.
Docker Study 6~7.
7 생성자 함수.
LEON3 DBT 엔진을 이용한 ERC32 기반의 하이퍼바이저 프로토 타입 개발
연구실안전관리시스템 안전교육 이수방법 사무국 시설과.
생산성 증대 효율성 향상 측정 수행 능력.
Presentation transcript:

SSD 에서의 TRIM 명령어 처리 성능 분석 및 Ext4 파일 시스템으로의 적용 한국정보과학회지 – Heo, Sang-Bok

2 배경지식 SSD Solid State Drive HDD 에 속도가 빠름 에너지 효율이 좋음 충격에 강함 사용 PC, 고성능 서버, 클라우드 시스템

3 배경지식 SSD 특징 다수의 플래시 블록 (512K) 들로 이루어져 있음 개의 페이지 (4K) 로 구성 읽기 / 쓰기 요청은 페이지 단위 삭제 요청은 플래시 블록 단위 새 데이터 쓰기 위해 플래시 블록을 먼저 삭제 해야 함 덮어쓰기 (overwrite) 불가능

4 배경지식 SSD 쓰기 비어있는 페이지 -> 즉시 데이터 기록 가능 비어있지 않은 페이지 -> 기존 데이터를 지운 후 데이터 기록 가능 쓰기 / 지우기 특성 문제 해당 블록의 전체 데이터를 SSD 내부의 캐시 (DRAM) 옮김 블록을 비움 캐시에서 기존의 데이터와 새로운 데이터를 결합 결합한 데이터를 다시 블록 전체에 기록

5 배경지식 SSD 문제 4KB 의 데이터를 기록하기 위해 512KB 데이터를 옮긴 후 비우고 결합하여 다시 쓰는 작업을 진행 해야만 함 SSD 뿐만 아니라 플래시 메모리는 사용하는 모든 저장 매체 동일 접근, 읽기, 쓰기 에 비해 상대적으로 지우기 속도가 많이 느림

6 배경지식 TRIM 운영체제에서 삭제된 쓰레기 파일들을 파악하여 SSD 상에서도 실제로 해당 파일들을 지우는 기능 나중에 기록할 때 삭제될 꺼 미리 적절히 삭제 시키는 것 운영체제가 삭제된 파일을 알려주고, SSD 가 처리하는 구조 LBA(logical block address) 범위들의 위치 정보 ( 섹터 번호, 크기 ) 가 SSD 에 전달

7 배경지식 플래시 변환 계층 (Flash Translation Layer) NAND 플래시 메모리 위에서 기존의 블록 인터페이스를 효율적으로 지원하기 위한 펌웨어 쓰기 요청을 효율적으로 처리 - 미리 삭제된 플래시 블록에 기록, 그데이터의 LAB 와 실제 데이터가 기록된 플래시 페이지 간의 매핑 정보를 유지 가비지 컬렉션 (garbage collection) 을 통해 데이터를 무효화 - SSD 내부의 미리 삭제된 플래시 블록의 수가 일정 수준 이하일 경우

8 배경지식 가비지 컬렉션 유효한 페이지를 한 곳으로 모은 다음, 블록을 지우는 작업 정해진 정책에 따라 빅팀 블록 (vimtim block) 을 선정, 삭제한 뒤 재사용 - 유효한 페이지들을 다른 플래시 블록에 복사 - 유효한 페이지들이 많을 경우 복사과정이 많아져 SSD 의 성능 감소

9 LBA 영역의 특성에 따른 TRIM 명령어의 처리 성능 성능 측정 환경 CPU 인텔 i GHz RAM8GB O.S 우분투 SSD 삼성 GB 인텔 GB 직접 구현한 페이지 매핑 기반 FLT 이 적용된 SSD(Jasmine 보드 )

10 LBA 영역의 특성에 따른 TRIM 명령어의 처리 성능 성능 분석 LBA 범위들의 연속 여부 LBA 범위들의 정렬 여부 크기에 따른 TRIM 명령어의 처리 성능 성능 측정 방법 1. 2GB 영역에 임의 정보를 씀 2. 해당 영역의 데이터에 대해 TRIM 명령을 수행 3. 각 TRIM 명령어의 처리 시간을 측정

11 LBA 영역의 특성에 따른 TRIM 명령어의 처리 성능 성능 측정 결과 전체적으로 약 1,000us 이상의 처리 시간 LBA 범위의 크기가 클수록, 단위 크기 당 처리 시간 감소 LBA 범위의 시작 섹터가 크기에 정렬되어 있는 경우 처리 성능 높음 LBA 범위의 연속인 경우에 낮게 측정

12 LBA 영역의 특성에 따른 TRIM 명령어의 처리 성능 성능 측정 결과 전체적으로 200us 이상의 처리 시간 LBA 범위의 특성별 결과는 연속 여부를 제외하고 동일한 결과 LBA 범위의 연속인 경우에 높게 측정 Jasmine SSD 실험결과도 Intel SSD 와 비슷한 경향

13 하나의 TRIM 명령어에 의해 전달되는 LBA 범위의 개수에 따른 성능 성능 분석 하나의 TRIM 명령어로 전달되는 LBA 범위의 개수에 따른 TRIM 명령어의 처리 성능을 측정 성능 측정 방법 2GB 영역에 임의 정보를 씀 LBA 범위의 크기 16KB 고정 LBA 범위의 개수는 1-64 개로 설정

14 하나의 TRIM 명령어에 의해 전달되는 LBA 범위의 개수에 따른 성능 성능 측정 결과 LBA 범위의 개수가 늘어날수록 전체 처리 시간이 줄어듦 Jasmine SSD 의 경우, 64 개일때 1 개의 비해 92.3% 감소

15 TRIM 명령어 처리 성능 향상을 위한 Ext4 파일 시스템 개선 방식 Ext4 파일 시스템에서 파일 삭제되는 경우, TRIM 명령어를 통해 삭제되었음을 SSD 에 통보 LBA 영역들의 위치 정보를 Ext4 파일 시스템 저널 자료구조에 리스트의 형태로 유지 저널이 처리될 때, 리스트의 모든 LBA 영역들에 대해 각각 하나의 TRIM 명령어가 수행

16 TRIM 명령어 처리 성능 향상을 위한 Ext4 파일 시스템 개선 개선 BIO 자료구조, I/O 스케줄러 및 블록 디바이스 드라이버 - 다수의 LBA 영역을 대상으로 하는 TRIM 명령을 지원 Ext4 파일 시스템의 저널 처리 과정 개선 - 다수의 LBA 영역을 하나의 BIO 를 이용하여 TRIM 명령을 요청하도록

17 TRIM 명령어 처리 성능 향상을 위한 Ext4 파일 시스템 개선 성능 측정 저장 공간 크기의 조절이 가능한 Jasmine SSD Postmark : 대표적인 파일 시스템 벤치마크 - 크기가 작은 파일에 대한 처리 성능 측정 - 디렉토리 생성 -> 파일 생성 -> 생성 / 삭제 / 읽기 / 쓰기 -> 모든 파일 & 디렉토리 삭제 Filebench : 파일 시스템 및 스토리지 시스템을 위한 벤치마크 - FILEMICRO_DELETE 파일 삭제 성능 측정을 진행 - 정해진 개수의 파일 생성 -> 다수의 스레드를 이용해서 모두 삭제 -> 파일 삭제 요청의 IOPS 측정

18 TRIM 명령어 처리 성능 향상을 위한 Ext4 파일 시스템 개선 성능 측정 결과 (Postmark)

19 TRIM 명령어 처리 성능 향상을 위한 Ext4 파일 시스템 개선 성능 측정 결과 (Filebench) 30,000 개의 16KB 파일 16 개의 쓰레드

20 결론 SSD 에서의 TRIM 명령어 처리 성능을 측정 LBA 범우의 크기, 연속 및 정렬 여부, 개수에 따라 Ext4 파일 시스템에서의 TRIM 명령 처리 성능 개선 하나의 TRIM 명령어마다 LBA 영역 하나 -> 최대 64 개 Benchmark Postmark / Filebench 벤치마크를 이용한 성능 측정 결과에 따르면, 최대 35% 의 성능 향상이 있음을 확인