07(052-057) CPLV14-41.hwp



Similar documents
6.24-9년 6월

회원번호 대표자 공동자 KR000****1 권 * 영 KR000****1 박 * 순 KR000****1 박 * 애 이 * 홍 KR000****2 김 * 근 하 * 희 KR000****2 박 * 순 KR000****3 최 * 정 KR000****4 박 * 희 조 * 제

09권오설_ok.hwp

05( ) CPLV12-04.hwp

°í¼®ÁÖ Ãâ·Â

(72) 발명자 이동희 서울 동작구 여의대방로44길 10, 101동 802호 (대 방동, 대림아파트) 노삼혁 서울 중구 정동길 21-31, B동 404호 (정동, 정동상 림원) 이 발명을 지원한 국가연구개발사업 과제고유번호 부처명 교육과학기술부

디지털포렌식학회 논문양식


리뉴얼 xtremI 최종 softcopy

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Jun.; 27(6),

(JBE Vol. 21, No. 1, January 2016) (Regular Paper) 21 1, (JBE Vol. 21, No. 1, January 2016) ISSN 228

(72) 발명자 최종무 경기도 용인시 수지구 죽전동 단국대학교 컴퓨터학 과 김은삼 서울시 마포구 상수동 72-1 홍익대학교 컴퓨터공학 과 T동708호 현철승 서울시 동대문구 전농동 90 서울시립대학교 공과대 학 컴퓨터과학부 오용석 경기도 과천시 과천동

<353420B1C7B9CCB6F52DC1F5B0ADC7F6BDC7C0BB20C0CCBFEBC7D120BEC6B5BFB1B3C0B0C7C1B7CEB1D7B7A52E687770>

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. vol. 29, no. 10, Oct ,,. 0.5 %.., cm mm FR4 (ε r =4.4)

Microsoft PowerPoint - 알고리즘_1주차_2차시.pptx

À±½Â¿í Ãâ·Â

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Nov.; 26(11),

02( ) CPLV14-06.hwp

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

03-서연옥.hwp

Monitoring Report _SSD 시장동향.hwp

À¯Çõ Ãâ·Â

DBPIA-NURIMEDIA

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

<30362E20C6EDC1FD2DB0EDBFB5B4EBB4D420BCF6C1A42E687770>

08김현휘_ok.hwp

solution map_....

Level 학습 성과 내용 1수준 (이해) 1. 기본적인 Unix 이용법(명령어 또는 tool 활용)을 습득한다. 2. Unix 운영체계 설치을 익힌다. 모듈 학습성과 2수준 (응용) 1. Unix 가상화 및 이중화 개념을 이해한다. 2. 하드디스크의 논리적 구성 능력

<35335FBCDBC7D1C1A42DB8E2B8AEBDBAC5CDC0C720C0FCB1E2C0FB20C6AFBCBA20BAD0BCAE2E687770>

DBPIA-NURIMEDIA

인문사회과학기술융합학회

<B1DDC0B6B1E2B0FCB0FAC0CEC5CDB3DDB0B3C0CEC1A4BAB82E687770>

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

3. 클라우드 컴퓨팅 상호 운용성 기반의 서비스 평가 방법론 개발.hwp

<30322DC0CCBDC2C0E72C20C1D6BFB5B0FC2C20C0FCC1DFB3B25F DC6ED2E687770>

Microsoft PowerPoint - ch07.ppt

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Mar.; 28(3),

Æ÷Àå½Ã¼³94š

- 2 -

<4D F736F F F696E74202D20BCD2C7C1C6AEBFFEBEEEC6AFB7D03038B3E22E BC8A3C8AF20B8F0B5E55D>

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Jun.; 27(6),

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Sep.; 30(9),

Microsoft Word - IO_2009_메모리반도체.doc

<4D F736F F D C3DFB0E820BFECBCF6B9DFC7A5B3EDB9AE2920C4C4C7BBC6C3C0C720BDC7C1A620B9D720B7B9C5CD2D496E2D53746F F E67C0BB20C0A7C7D BCD2C7C1C6AEBFFEBEEE20C7C3B7A7C6FB20BDC3B9C4B7B

DBPIA-NURIMEDIA

PowerPoint 프레젠테이션

박선영무선충전-내지

[ReadyToCameral]RUF¹öÆÛ(CSTA02-29).hwp

33 래미안신반포팰리스 59 문 * 웅 입주자격소득초과 34 래미안신반포팰리스 59 송 * 호 입주자격소득초과 35 래미안신반포팰리스 59 나 * 하 입주자격소득초과 36 래미안신반포팰리스 59 최 * 재 입주자격소득초

04 최진규.hwp

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Feb.; 29(2), IS

춤추는시민을기록하다_최종본 웹용

APOGEE Insight_KR_Base_3P11

DBPIA-NURIMEDIA

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. vol. 29, no. 6, Jun Rate). STAP(Space-Time Adaptive Processing)., -

Microsoft PowerPoint - eSlim SV [ ]

<31325FB1E8B0E6BCBA2E687770>

. 서론,, [1]., PLL.,., SiGe, CMOS SiGe CMOS [2],[3].,,. CMOS,.. 동적주파수분할기동작조건분석 3, Miller injection-locked, static. injection-locked static [4]., 1/n 그림

<30312DB5A5C0CCC5CDBAA3C0CCBDBA2D4A345F F525BC0CCC1F6BFF85D2E687770>

06_ÀÌÀçÈÆ¿Ü0926

wtu05_ÃÖÁ¾


04( ) CSTV15-23.hwp

DBPIA-NURIMEDIA

???? 1

DBPIA-NURIMEDIA

DBPIA-NURIMEDIA

High Resolution Disparity Map Generation Using TOF Depth Camera In this paper, we propose a high-resolution disparity map generation method using a lo

09È«¼®¿µ 5~152s

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. vol. 26, no. 9, Sep GHz 10 W Doherty. [4]. Doherty. Doherty, C

슬라이드 1

01 황선영KICS _ack추가.hwp

휠세미나3 ver0.4

05-J6_ _S.hwp

DBPIA-NURIMEDIA

04_이근원_21~27.hwp

¼º¿øÁø Ãâ·Â-1

45-51 ¹Ú¼ø¸¸

Oracle Database 10g: Self-Managing Database DB TSC

2 : (Juhyeok Mun et al.: Visual Object Tracking by Using Multiple Random Walkers) (Special Paper) 21 6, (JBE Vol. 21, No. 6, November 2016) ht

<C1B6BBE7BFF9BAB82038BFF9C8A E687770>

歯1.PDF

< FBEC8B3BBB9AE2E6169>

03( ) CST13-08.hwp

Analysis of objective and error source of ski technical championship Jin Su Seok 1, Seoung ki Kang 1 *, Jae Hyung Lee 1, & Won Il Son 2 1 yong in Univ

결과보고서

Microsoft PowerPoint - eSlim SV [080116]

DBPIA-NURIMEDIA

PowerPoint 프레젠테이션

<49534F C0CEC1F520BBE7C8C4BDC9BBE720C4C1BCB3C6C320B9D D20BDC3BDBAC5DB20B0EDB5B5C8AD20C1A6BEC8BFE4C3BBBCAD2E687770>

<313120C0AFC0FCC0DA5FBECBB0EDB8AEC1F2C0BB5FC0CCBFEBC7D15FB1E8C0BAC5C25FBCF6C1A42E687770>

8-VSB (Vestigial Sideband Modulation)., (Carrier Phase Offset, CPO) (Timing Frequency Offset),. VSB, 8-PAM(pulse amplitude modulation,, ) DC 1.25V, [2

Microsoft PowerPoint - 알고리즘_2주차_1차시.pptx

<313920C0CCB1E2BFF82E687770>

Microsoft Word - src.doc

10 노지은.hwp

歯이

DBPIA-NURIMEDIA

광운소식65호출력

지능정보연구제 16 권제 1 호 2010 년 3 월 (pp.71~92),.,.,., Support Vector Machines,,., KOSPI200.,. * 지능정보연구제 16 권제 1 호 2010 년 3 월

Transcription:

ISSN 2383-6318(Print) / ISSN 2383-6326(Online) KIISE Transactions on Computing Practices, Vol. 21, No. 1, pp. 52-57, 2015. 1 http://dx.doi.org/10.5626/ktcp.2015.21.1.52 SSD에서의 TRIM 명령어 처리 성능 분석 및 Ext4 파일 시스템으로의 적용 (An Analysis on the Performance of TRIM Commands on SSDs and its Application to the Ext4 File System) 손 효 봉 이 영 재 김 용 석 김 진 수 (Hyobong Son) (Youngjae Lee) (Yongserk Kim) (Jin-Soo Kim) 요 약 본 논문에서는 SSD의 TRIM 명령어 처리 성능을 LBA 범위의 특성 및 개수에 따라 분석하 고, 그 결과를 바탕으로 Ext4 파일 시스템에서의 TRIM 명령어 처리 성능을 개선하였다. 대부분의 SSD 에서 LBA 범위의 크기가 크고, 섹터 번호가 정렬 및 연속되어 있으며, 하나의 TRIM 명령어로 다수의 LBA 범위 정보를 전달할수록 TRIM 명령어의 처리 성능이 증가하는 것으로 나타났다. 한편, 기존의 Ext4 파일 시스템은 이와 같이 다수의 LBA 범위 정보를 전달할 때 그 성능이 더 높음에도 불구하고, 하 나의 TRIM 명령어 당 하나의 LBA 범위 정보만 전달하는 문제점을 가지고 있다. 이를 해결하기 위해 하 나의 TRIM 명령어로 최대 64개의 LBA 범위 정보를 전달하도록 Ext4 파일 시스템을 개선하였고, Filebench를 이용한 성능 평가에서 파일 삭제 성능이 최대 35% 증가하는 것을 확인하였다. 키워드: 고체 상태 디스크, 낸드 플래시 메모리, TRIM 명령어, Ext4 파일 시스템 Abstract In this paper, we analyze the performance of the TRIM commands on various SSDs and, based on our analysis results, we enhance the performance of these TRIM commands in the Ext4 file system. We observed that the performance of the TRIM commands improves as the size of the LBA-range increases, the sector number is aligned and continuous or more LBA-ranges are notified via a single TRIM command. However, although the performance is better when multiple LBA-ranges are informed by a single TRIM command, the Ext4 file system issues a single TRIM command for every LBA-range. In this paper, we modify the Ext4 file system to convey at most 64 LBA-ranges per TRIM command. Evaluations through Filebench show that the performance of file deletion operations is improved by up to 35%. Keywords: solid state drive, NAND flash memory, TRIM command, Ext4 file system 이 논문은 2014년도 정부(미래창조과학부)의 재원으로 한국연구재단의 지원을 받아 수행된 연구임(No. 2013R1A2A1A01016441). 또한, 본 연구는 미래창 조과학부 및 정보통신기술연구진흥센터의 정보통신 방송연구개발사업의 일환 으로 수행하였음. (No. 10041244, 스마트 TV 2.0 소프트웨어 플랫폼) 이 논문은 2014 한국컴퓨터종합학술대회에서 SSD에서의 TRIM 명령어 처리 성능 분석 의 제목으로 발표된 논문을 확장한 것임 논문접수 : 2014년 9월 4일 (Received 4 September 2014) 논문수정 : 2014년 10월 18일 (Revised 18 October 2014) 심사완료 : 2014년 10월 28일 (Accepted 28 October 2014) 비 회 원 : 성균관대학교 컴퓨터공학과 CopyrightC2015 한국정보과학회ː개인 목적이나 교육 목적인 경우, 이 저작물 proshb@csl.skku.edu 의 전체 또는 일부에 대한 복사본 혹은 디지털 사본의 제작을 허가합니다. 이 때, yjlee@csl.skku.edu 사본은 상업적 수단으로 사용할 수 없으며 첫 페이지에 본 문구와 출처를 반드시 비 회 원 : 성균관대학교 정보통신대학 교수 명시해야 합니다. 이 외의 목적으로 복제, 배포, 출판, 전송 등 모든 유형의 사용행위 yskimasi@skku.edu 를 하는 경우에 대하여는 사전에 허가를 얻고 비용을 지불해야 합니다. 종신회원 : 성균관대학교 컴퓨터공학과 교수(Sungkyunkwan Univ.) 정보과학회 컴퓨팅의 실제 논문지 제21권 제1호(2015. 1) jinsookim@skku.edu (Corresponding author임)

SSD에서의 TRIM 명령어 처리 성능 분석 및 Ext4 파일 시스템으로의 적용 53 1. 서 론 NAND 플래시 메모리 기반 SSD (solid state drive) 는 기존의 HDD (hard disk drive)에 비해 속도가 빠르 고, 에너지 효율이 좋으며, 충격에 강하다는 장점을 가 지고 있다. 이런 특징들로 인해 개인 사용자를 위한 PC 뿐만 아니라 고성능 서버 및 클라우드 시스템에서도 널 리 활용되고 있다. NAND 플래시 메모리는 기존의 HDD와 다른 특징들 을 가지고 있다. (1) NAND 플래시 메모리는 다수의 플 래시 블록들로 이루어져 있으며 각각의 플래시 블록은 보통 64-128개의 페이지로 구성되어 있다. (2) 읽기 / 쓰 기 요청은 페이지 단위로 수행되며 삭제 요청은 플래시 블록 단위로 이루어진다. (3) 어떤 페이지에 새로운 데이 터를 쓰기 위해서는 그 페이지가 속한 플래시 블록을 먼저 삭제해야 한다. 앞서 언급한 특징들로 인해 SSD 내부적으로 데이터 복사가 발생한다. 어떤 페이지에 새로운 데이터를 쓰기 위해서는 먼저 그 페이지가 속한 플래시 블록 전체를 지 워야 한다. 이때, 그 플래시 블록 내의 다른 페이지들에 저장되어 있는 유효한 데이터는 삭제되어서는 안 되므로, 다른 플래시 블록으로 복사한 뒤 해당 플래시 블록을 삭 제해야한다. 이러한 추가적인 데이터 복사가 빈번하게 발생할 경우 SSD의 성능이 크게 저하될 수 있다. SSD 내부에서 발생하는 이러한 데이터 복사를 줄이 기 위해 TRIM 명령어가 도입되었다. TRIM 명령어는 호스트에서 삭제 가능한 데이터에 대한 정보를 SSD에 전달할 때 사용되는 명령어이다. TRIM 명령어를 통해 삭제 가능한 데이터가 저장되어 있는 LBA (logical block address) 범위들의 위치 정보(섹터 번호, 크기)가 SSD 에 전달된다. 예를 들어, 파일시스템에서 어떤 파일이 삭 제된 경우, 그 파일의 데이터가 저장되어 있는 LBA 범 위들의 위치 정보가 TRIM 명령어를 통해 SSD에 전달 된다. SSD에서는 해당 파일의 데이터에 대해서, 앞서 언급한 추가적인 데이터 복사과정을 더 이상 수행하지 않는다. 이처럼 TRIM 명령을 통해 SSD의 내부에서 발 생하는 불필요한 데이터 복사를 줄일 수 있고, 이에 따 라 SSD의 성능을 크게 향상시킬 수 있다[1-3]. 본 논문에서는 다양한 상용 SSD에서 TRIM 명령어 로 전달되는 LBA 범위들의 연속성, 정렬 여부, 크기 및 개수에 따른 TRIM 명령어 처리 성능을 분석하였다. 분 석 결과에 따르면, 사용된 모든 SSD에서 LBA 범위들 이 서로 연속되고, 4KB에 정렬된 경우에 그렇지 않은 경우보다 성능이 높은 것을 확인하였다. 또한, LBA 범 위의 크기가 크고, 하나의 TRIM 명령어에 여러 개의 LBA 범위에 대한 위치 정보를 전달하여 수행할수록 성 능이 향상됨을 확인하였다. 위 분석 결과 중, LBA 범위의 개수에 따른 TRIM 명령어의 성능 분석 결과를 바탕으로 Ext4 파일 시스템 의 TRIM 명령어 성능을 개선하였다. 기존 Ext4 파일 시스템에서는 어떤 파일이 삭제될 경우, 그 파일의 데이 터가 저장되어 있는 LBA 범위들에 대해 TRIM 명령어 를 수행한다. 이때 하나의 TRIM 명령어를 통해 다수의 LBA 범위 대한 위치 정보를 전달할 수 있음에도 불구 하고 LBA 범위 하나당 각각 하나의 TRIM 명령어를 이용한다. 본 논문에서는 하나의 TRIM 명령어로 다수 의 LBA 범위에 대한 위치 정보를 전달하도록 Ext4 파 일 시스템 및 관련 블록 I/O 계층을 개선하고 이에 따 른 성능 향상 정도를 측정하였다. 2. 배경지식 2.1 플래시 변환 계층(Flash Translation Layer) SSD는 NAND 플래시 메모리 위에서 기존의 블록 인 터페이스를 효율적으로 지원하기 위해 플래시 변환 계층 (FTL)이라고 불리는 펌웨어를 사용한다. 이러한 FTL의 가 장 중요한 역할 중 하나는 쓰기 요청을 효율적으로 처리 하는 것이다. 호스트로 부터 쓰기 요청이 발생할 경우, FTL은 해당 데이터를 미리 삭제된 플래시 블록에 기록 하고, 그 데이터의 LBA와 실제 데이터가 기록된 플래시 페이지 간의 매핑 정보를 유지한다. 해당 LBA에 대해 기 존 데이터가 있다면, 무효화시키고 추후에 가비지 컬렉션 (garbage collection)이라고 불리는 과정을 통해 삭제한다. SSD 내부의 미리 삭제된 플래시 블록의 수가 일정 수준 이하로 떨어지게 되면 FTL에서는 가비지 컬렉션 을 통해 무효화된 데이터를 삭제한다. 가비지 컬렉션에 서는 정해진 정책에 따라 빅팀 블록(victim block)을 선 정하고 그 블록을 삭제한 뒤 재사용한다. 이 과정에서 빅팀 블록 내의 유효한 페이지들을 다른 플래시 블록에 복사하고 해당 빅팀 블록을 삭제한다. 이러한 빅팀 블록 내에 유요한 페이지가 많아 복사과정이 많이 발생하는 경우 SSD의 성능을 감소시키는 원인으로 작용한다. 2.2 TRIM 명령어 TRIM 명령어는 가비지 컬렉션에서 발생하는 불필요 한 데이터 복사를 줄이기 위해 도입되었다[4]. 호스트의 파일시스템은 어떤 파일이 삭제된 경우, 그 파일의 데이 터가 저장된 LBA 범위의 위치정보를 TRIM 명령어를 통해 SSD로 전달한다. 이러한 LBA 범위에 저장되어 있는 데이터는 삭제되어도 무방하므로, FTL에서 가비 지 컬렉션 중에 이 데이터에 대해서는 더 이상 복사과 정을 수행할 필요가 없게 된다. 이러한 TRIM 명령어를 운영체제[1,2,5,6] 및 SSD 내 부[3]에서 효율적으로 지원하기 위한 방안 및 TRIM 명

54 정보과학회 컴퓨팅의 실제 논문지 제 21 권 제 1 호(2015.1) 령어의 특성[7]에 관한 연구가 수행되었다. 특히, [7]에 서는 TRIM 명령어 처리 이후의 유휴시간(idle time)의 유무에 따른 SSD의 성능을 측정하여 이에 따른 TRIM 명령어의 활용 방안에 대한 방향을 제시하였는데, 본 논 문에서는 LBA 영역의 특성에 따른 TRIM 명령어의 처 리 성능을 측정하고 그에 따른 활용 기법을 제안한다. 3. SSD의 TRIM 명령어 처리 성능 분석 3.1 성능 측정 환경 본 논문의 성능 측정 환경은 다음과 같다. 인텔 i7-3770 3.4GHz 프로세서와 8GB DRAM을 장착한 PC를 사용 하였으며, 우분투 13.04 운영체제를 사용하였다. 측정에 사용된 SSD는 삼성 840 250GB SSD, 인텔 320 120GB SSD 및 Jasmine 보드를 이용하여 직접 구현한 페이지 매핑 기반 FTL이 적용된 SSD이다[8]. 3.2 LBA 범위의 특성에 따른 TRIM 명령어 처리 성능 SSD의 TRIM 명령어 처리 성능은 전달된 LBA 범 위들의 특성에 따라 달라질 수 있다. 본 장에서는 LBA 범위들의 연속 여부, 정렬 여부 및 크기에 따른 TRIM 명령어의 처리 성능을 분석하였다. 3.2.1 성능 측정 방법 다음과 같은 과정을 통해 SSD의 TRIM 명령어의 처 리 성능을 측정하였다. 2GB 영역에 임의 정보를 쓴 뒤, 해당 영역의 데이터에 대해 TRIM 명령을 수행하고, 각 TRIM 명령어의 처리 시간을 측정하였다. TRIM 명령 어는 IOCTL의 SG_IO 모드를 통해 SSD로 전달되었다. 표 1은 본 성능 측정에서 고려한 LBA 범위의 특성들 을 정리한 것이다. LBA 범위의 연속 여부는 연속됨과 불 연속으로 나누어 고려했다. 연속됨은 서로 연속된 LBA 범위에 대해 TRIM 명령어가 발생하는 경우를 나타내며, 불연속은 각각의 TRIM 명령어가 서로 연속되지 않은 임 의 위치의 LBA 범위에 대해 수행되는 경우를 나타낸다. 정렬 여부는 LBA 범위의 시작 섹터가 그 LBA 범위의 크기에 정렬되는지 여부를 나타낸다. 예를 들어, LBA 범 위의 크기가 4KB일 때, 정렬됨의 경우에는 전달되는 LBA 범위의 시작 섹터가 0 혹은 8과 같이 4KB에 정렬 되는 경우를 나타낸다. 정렬 안 됨의 경우 1 혹은 7과 같 이 시작 섹터가 4KB와 정렬되지 않은 경우를 나타낸다. 마지막으로 LBA 범위의 크기는 4KB부터 128KB까지로 설정하고 TRIM 명령어의 처리 성능을 측정하였다. 3.2.2 성능 측정 결과 그림 1은 삼성 840 SSD의 성능 측정 결과를 나타낸 다. 각각의 그래프는 TRIM 명령어 하나의 처리 시간을 나타내며, 전체적으로 약 1,000μs이상의 처리 시간을 나 타내었다. LBA 범위의 특성별로 결과를 살펴보면, 우선 LBA 범위의 크기가 클수록, 단위 크기 당 처리 시간이 감소하였고, LBA 범위의 시작 섹터가 그 크기에 정렬 되어 있는 경우에 그렇지 않은 경우보다 처리 성능이 높았다. LBA 범위의 연속 여부와 관련해서는, 일반적인 예상과는 다르게 연속인 경우의 성능이 불연속인 경우 에 비하여 낮게 측정되었다. 그림 1 삼성 SSD의 TRIM 처리 성능 Fig. 1 The performance of the TRIM commands on Samsung SSD 그림 2는 인텔 320 SSD의 성능 측정 결과를 나타내 는 그래프이다. 전체적으로, 200μs 내외의 삼성 SSD보다 빠른 TRIM 명령어 처리 속도를 나타내었다. LBA 범 위의 특성별 결과를 살펴보면, 연속 여부를 제외하고는 삼성 SSD와 동일한 결과를 얻었다. LBA 범위의 연속 여부의 경우 삼성 SSD와는 다르게 일반적인 예상처럼 연속일 때의 성능이 불연속일 때보다 높게 측정되었다. Jasmine SSD를 이용한 실험결과도 Intel SSD와 비슷 한 경향을 나타내며, 공간의 제약으로 인해 생략하였다. 위와 같이 측정된 TRIM 명령어 처리 성능의 특성은 근본적으로 SSD의 내부 FTL이 TRIM 명령어를 처리 하는 방식에 따라 결정된다. 따라서 각 SSD의 성능을 표 1 LBA 범위의 특성 Table 1 The characteristics of LBA ranges Continuos Yes No Aligned Yes No Size 4KB, 8KB,, 32KB, 64KB, 128KB 그림 2 인텔 SSD의 TRIM 처리 성능 Fig. 2 The performance of the TRIM commands on Intel SSD

SSD에서의 TRIM 명령어 처리 성능 분석 및 Ext4 파일 시스템으로의 적용 55 보다 심층적으로 분석하기 위해서는 TRIM 명령어 처 리와 관련된 내부 FTL의 구조 및 동작 방식을 파악하 기 위한 추가적인 연구가 필요하다, 이후에 이와 관련된 연구를 진행할 계획이다. 3.3 하나의 TRIM 명령어에 의해 전달되는 LBA 범위의 개수에 따른 성능 TRIM 명령어에 사용되는 버퍼 한개 당 최대 64개의 LBA 범위의 정보가 SSD로 전달될 수 있다. 이 장에서 는 하나의 TRIM 명령어로 전달되는 LBA 범위의 개수 에 따른 TRIM 명령어의 처리 성능을 측정하였다. 3.3.1 성능 측정 방법 3.2장의 실험과 마찬가지로 2GB의 영역에 대한 TRIM 명령어의 처리 성능을 측정하였다. LBA 범위의 크기는 로 고정하였고 각각의 연속된 TRIM 명령어들에는 연속된 LBA 범위가 전달되게 하였다. 하나의 TRIM 명 령어가 전달하는 LBA 범위의 개수는 1-64개로 설정하 여 그 개수에 따른 TRIM 명령어의 처리 성능을 측정하 였다. 하나의 TRIM 명령어에 전달되는 LBA 범위의 수 에 따라 전달된 TRIM 명령어의 총 개수는 표 2와 같다. 표 2 TRIM 명령어당 LBA 범위의 개수와 전달된 TRIM 명령어의 총 개수 Table 2 The number of TRIM commands according to the number of LBA-ranges The number of LBA-ranges The number of TRIM commands 1 131.072 16 8.192 32 4.096 64 2.048 3.3.2 성능 측정 결과 그림 3은 각각의 SSD에서 전체 2GB 영역에 대한 TRIM 명령어들을 처리하는데 걸린 시간을 나타내는 그 래프이다. 전체적으로, 모든 SSD에서 하나의 TRIM 명 그림 3 LBA 범위 개수에 따른 TRIM 명령어 처리 성능 Fig. 3 The performance of TRIM commands with various number of LBA ranges 령어에 의해 전달되는 LBA 범위의 개수가 늘어날수록 전체 처리 시간이 줄어드는 것을 확인할 수 있다. 특히, Jasmine SSD의 경우, 하나의 TRIM 명령어가 64개의 LBA 범위를 처리하는 경우에 하나의 LBA 범위 정보만 전달하는 경우에 비해 처리 시간이 약 92.3% 감소하였다. 위 성능 측정 결과를 통해, 동일한 크기의 영역에 대 해 TRIM 명령을 수행해야하는 경우, 하나의 TRIM 명 령어에서 보다 많은 LBA 범위에 대해 처리하도록 한다 면 전체적인 성능을 향상시킬 수 있음을 확인하였다. 4. TRIM 명령어 처리 성능 향상을 위한 Ext4 파일 시스템 개선 4.1 기존의 문제점 및 개선 사항 본 논문에서는 앞서 언급한 분석 결과 중, LBA 영역 의 개수에 따른 TRIM 명령어 처리 성능 분석 결과를 바탕으로 Ext4 파일 시스템에서의 TRIM 명령어의 처 리 성능을 개선하였다. Ext4 파일 시스템에서 어떤 파일이 삭제되는 경우, TRIM 명령어를 통해 해당 파일이 삭제되었음을 SSD에 알린다. 어떤 파일이 삭제되면, 해당 파일의 데이터가 저 장되어 있는 LBA 영역들의 위치 정보를 Ext4 파일 시 스템의 저널 자료구조에 리스트의 형태로 유지한다. 추후 에 해당 저널이 처리(journal commit)될 때, 리스트의 모 든 LBA 영역들에 대해 각각 하나의 TRIM 명령어가 수 행된다. 이렇게 각각의 LBA 영역당 하나의 TRIM 명령 어가 수행되는 이유는 기존 리눅스 커널의 블록 I/O 계 층이 읽기/쓰기와 같은 하나의 LBA 영역을 대상으로 수 행되는 블록 I/O 요청에 최적화되어 있기 때문이다. 즉, 파일 시스템은 BIO라는 자료구조를 통해 읽기/쓰기와 같 은 블록 I/O를 커널의 블록 I/O 계층에 요청하게 되는데, 이 BIO는 LBA 영역 하나를 대상으로 하는 I/O요청만 지원한다. 따라서 그림 4에서 나타내는 것과 같이, TRIM 에 대해서도 각각의 LBA 영역들에 대해 하나씩의 BIO 를 통해 블록 I/O 계층에 요청되고, 블록 I/O 계층에서는 요청된 BIO마다 하나의 TRIM 명령어를 생성하여 SSD 에 요청하게 된다. 결국, LBA 영역마다 각각 하나의 TRIM 명령어에 의해 처리된다. 본 논문에서는 위와 같은 문제점을 해결하기 위해 블 록 I/O 계층과 Ext4 파일 시스템의 저널 처리 과정을 다음과 같이 개선하였다. 우선, 다수의 LBA 영역을 대 상으로 하는 TRIM 명령을 지원하도록 BIO 자료 구조, I/O 스케줄러 및 블록 디바이스 드라이버와 같은 관련 블록 I/O 계층을 개선하였다. 그리고 개선된 BIO 자료 구조를 이용하여 다수의 LBA 영역을 하나의 BIO를 이 용하여 TRIM 명령을 요청하도록 Ext4 파일 시스템의 저널 처리 과정을 개선하였다. 그림 5와 같이 저널 처리

56 정보과학회 컴퓨팅의 실제 논문지 제 21 권 제 1 호(2015.1) 표 3 Postmark 설정 Table 3 Postmark configurations Initial files File size I/O size Dirs. Trans. PM-A 45,000 10 100,000 PM-B 60,000 10 100,000 그림 4 기존 TRIM명령어 생성 구조 Fig. 4 The current implementation 그림 6 Postmark 수행 시간 Fig. 6 The elapsed time of the Postmark 어가 전달하는 LBA 영역 위치 정보의 개수에 따라 나타 낸 그래프이다. TRIM 명령어의 LBA 영역 개수가 1인 경우는 기존 방식의 성능을 나타내며, 16, 32, 64개인 그림 5 개선된 TRIM 명령어 생성 구조 Fig. 5 The implementation of the proposed technique 경우에는 제안된 개선 사항들이 적용된 성능을 나타낸 다. 전체적으로 제안된 개선 사항들에 의해 SSD의 성 능이 효과적으로 증가했음을 알 수 있고, 하나의 TRIM 과정에서 최대 64개의 LBA 영역들을 묶어 TRIM 명령을 명령어가 전달하는 LBA 영역의 개수가 늘어날수록 성 위한 BIO를 생성하고, 블록 I/O 계층에서는 해당 BIO당 능향상의 정도도 증가함을 확인할 수 있다. 특히, PM-A 하나의 TRIM 명령어를 생성하여 처리하도록 수정하였다. 의 경우에는 하나의 TRIM 명령어가 64개의 LBA 영역 4.2 성능 측정 정보를 전달하는 경우에는 약 10%의 성능 향상이 있었다. 앞서 언급한 개선 사항으로 인한 성능 향상 정도를 측 이와 같은 Postmark의 실험 결과를 통해, 파일 생성, 정하기 위해 Jasmine 보드를 이용한 SSD에서 Postmark 읽기, 삭제 등이 고루 포함된 일반적인 파일 시스템 워크 및 Filebench 벤치마크를 이용하여 성능을 측정하였다. 로드를 수행하는 응용프로그램의 수행 시간이 본 논문의 참고로, SSD를 이용한 실험에서는 해당 SSD의 여유 개선 사항을 통해 약 10%정도 향상될 것으로 예상된다. 저장 공간(over-provisioning space)의 크기에 따라 성 4.2.2 Filebench 결과 능이 크게 달라지는데, 본 논문에서는 성능 측정의 편의 Filebench는 파일 시스템 및 스토리지 시스템을 위한 를 위해 여유 저장 공간 크기의 조절이 가능한 Jasmine 벤치마크로 메일/파일/데이터베이스 서버와 같은 애플리 SSD만을 이용하여 실험을 수행하였다. 케이션에서 발생하는 워크로드를 생성해준다. 본 실험에 4.2.1 Postmark 결과 서는 FILEMICRO_DELETE라는 파일 삭제 성능을 측 Postmark는 대표적인 파일 시스템 벤치마크로 크기 정하기 위한 워크로드를 사용하였다. 이 워크로드에서 가 작은 파일에 대한 처리 성능을 측정하기 위해 주로 Filebench는 정해진 개수의 파일을 생성하고 다수의 스 사용된다. Postmark의 수행과정은 다음과 같다. 우선, 레드를 이용해서 모두 삭제하면서 파일 삭제 요청의 설정된 개수의 디렉토리를 생성한 뒤, 각 디렉토리에 정 IOPS를 측정한다. 본 실험에서는 30,000개의 파 해진 개수의 파일들을 생성한다. 그리고 파일 생성/삭제 일과 16개의 스레드를 이용하였다. /읽기/쓰기로 구성된 트랜젝션을 설정된 회수만큼 수행 그림 7은 Filebench를 이용한 성능 측정 결과를 나타 한 뒤, 모든 파일과 디렉토리를 삭제하고 총 수행 시간 낸 그래프이다. Postmark와 마찬가지로, 전체적으로 개 을 출력한다. 본 실험에서는 표 3에서 나타내는 두 가지 선 사항이 적용된 경우에 파일 삭제 성능이 향상되었음 설정을 사용하였다. 그림 6은 Postmark의 수행시간을 하나의 TRIM 명령 을 확인할 수 있다. 특히, 하나의 TRIM 명령어로 64개 LBA 영역의 위치 정보를 전달하는 경우, 생성되는 TRIM

SSD에서의 TRIM 명령어 처리 성능 분석 및 Ext4 파일 시스템으로의 적용 57 그림 7 Filebench 수행 시간 Fig. 7 The elapsed time of the Filebench 명령어의 개수가 1.5%로 줄어듦에 따라서 파일 삭제 성능 이 약 35% 증가함을 알 수 있다. 이와 같은 결과를 통해 주로 파일 삭제를 빈번하게 수행하는 응용프로그램의 경 우, 약 30%정도의 수행시간이 감소할 것으로 예상된다. 5. 결 론 본 논문에서는 LBA 범위의 크기, 연속 및 정렬 여부, 개수에 따라 SSD에서의 TRIM 명령어 처리 성능을 측 정하였다. 이중에서 LBA 범위 개수에 따른 TRIM 명령 어의 성능 측정 결과에 따라 Ext4 파일 시스템에서의 TRIM 명령어 처리 성능을 개선하였다. 기존 Ext4 파일 시스템 에서는 하나의 TRIM 명령어마다 LBA 영역 하 나의 위치정보만 전달하였는데, 본 논문에서는 최대 64개 LBA 영역의 위치 정보를 하나의 TRIM 명령어를 이용 하여 전달하도록 개선하였다. Postmark와 Filebench 벤 치마크를 이용한 성능 측정 결과에 따르면, 이러한 개선 을 통해 최대 35%의 성능 향상이 있음을 확인하였다. References [1] C. Hyun, J. Choi, D. Lee, and S. H. Noh, "To TRIM or not to TRIM:Judicious triming for solid state drives," Poster presentation in the 23rd ACM Symposium on Operating Systems Principles, 2011. [2] M. Saxena and M. M. Swift, "FlashVM: Virtual memory management on flash," Proc. of the 2010 USE- NIX Annual Technical Conference, pp. 187-200. 2010. [3] J. Kim, H. Kim, S. Lee, and Y. Won, "FTL design for TRIM command," Proc. of the 5th International Workshop on Software Support for Portable Storage, pp. 7-12, 2010. [4] F. Shu and N. Obr, "Data set management commands proposal for ATA8-ACS2," INCITS T13/ e07153r6 (Revision 6), Dec. 2007. [5] N. Agrawal, V. Prabhakaran, T. Wobber, J. D. Davis, M. Manasse, and R. Panigrahy, "Design tradeoffs for SSD performance," Proc. of 2008 USENIX Annual Technical Conference, pp. 57-70, 2008. [6] N. Jeremic, G. Muhl, A. Busse, and J. Richling, "Operating system support for dynamic over-provisioning of solid state drives," Proc. of the 27th Annual ACM Symposium on Applied Computing, pp. 1753-1758. 2012. [7] D. Kang and Y. Eom, "Analyses of the Characteristics of Trim Command in Solid State Drive," Proc. of the KIISE Korea Computer Congress 2014, pp. 1448-1449. 2014. (in Korean) [8] The OpenSSD Project. [Online]. Available: http://www. openssd-project.org (downloaded 2014, Aug. 31) 손 효 봉 2013년 성균관대학교 정보통신공학부 학 사. 2103년 3월~현재 성균관대학교 정 보통신공학부 석사과정 재학. 관심분야는 임베디드 시스템, 클라우드 컴퓨팅, SSD임 이 영 재 2005년 한국과학기술원(KAIST) 전산학과 학사. 2014년 한국과학기술원(KAIST) 전 산학과 박사. 2014년 3월~현재 성균관 대학교 정보통신대학 박사후연구원. 관심 분야는 운영체제, 플래시 메모리, 스토리 지 시스템 김 용 석 1983년 성균관대학교 전자공학과 학사 2002년 제 7기 삼성전자 명예박사. 2011년 동국대학교 정보통신공학과 박사. 1983년~ 1996년 삼성전자 중앙연구소/DM연구소 ASIC 설계그룹장. 1997년~2009년 삼성 전자 통신연구소 모뎀연구팀 Algorithm, SW 랩장. 2010년~2013년 삼성전자 무선사업부 시스템 SW 그룹장, 팀장. 2004년~2013년 삼성전자 상무. 2014년 3월~현재 성균관대학교 산학협력단 및 정보통신대학 교수. 주요 저서 2006년 엔지니어 세상의 중심에 서라. 관심분야 는 VLSI 시스템 아키텍처 설계, 시스템 소프트웨어 김 진 수 1991년 2월 서울대학교 컴퓨터공학과 공 학사. 1993년 2월 서울대학교 컴퓨터공학 과 공학석사. 1999년 8월 서울대학교 컴 퓨터공학과 공학박사. 1998년 5월~1999년 4월 IBM T. J. Watson Research Center, Academic Visitor. 1999년 9월~2002년 2월 한국전자통신연구원(ETRI) 선임연구원. 2002년 3월~ 2008년 8월 한국과학기술원(KAIST) 전산학과 부교수. 2007 년 9월~2008년 8월 삼성전자 VD사업부 고문. 2008년 9월~ 현재 성균관대학교 정보통신공학부 교수. 관심분야는 운영체 제, 스토리지 시스템, 분산 시스템, 내장형 시스템