DBPIA-NURIMEDIA

Similar documents
03( ) CST13-08.hwp

6.24-9년 6월

06( ) CST13-09.hwp

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

리뉴얼 xtremI 최종 softcopy

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

DBPIA-NURIMEDIA

<4D F736F F F696E74202D20BCD2C7C1C6AEBFFEBEEEC6AFB7D03038B3E22E BC8A3C8AF20B8F0B5E55D>

<3033C0AFBBF3C7F62E687770>

결과보고서

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

À±½Â¿í Ãâ·Â

solution map_....

09권오설_ok.hwp

°í¼®ÁÖ Ãâ·Â

PowerPoint 프레젠테이션

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

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

CONTENTS CONTENTS CONTENT 1. SSD & HDD 비교 2. SSD 서버 & HDD 서버 비교 3. LSD SSD 서버 & HDD 서버 비교 4. LSD SSD 서버 & 글로벌 SSD 서버 비교 2

Microsoft PowerPoint - eSlim SV [080116]

<353420B1C7B9CCB6F52DC1F5B0ADC7F6BDC7C0BB20C0CCBFEBC7D120BEC6B5BFB1B3C0B0C7C1B7CEB1D7B7A52E687770>

금오공대 컴퓨터공학전공 강의자료

APOGEE Insight_KR_Base_3P11

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

Microsoft PowerPoint - 30.ppt [호환 모드]

Microsoft PowerPoint - eSlim SV [ ]

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

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

08김현휘_ok.hwp

김기남_ATDC2016_160620_[키노트].key

Mango220 Android How to compile and Transfer image to Target

DBPIA-NURIMEDIA

05( ) CPLV12-04.hwp

초보자를 위한 분산 캐시 활용 전략

Storage advances and Ne over fabric

½Éº´È¿ Ãâ·Â

歯1.PDF

07.045~051(D04_신상욱).fm

1217 WebTrafMon II

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

DBPIA-NURIMEDIA

???? 1

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

Abstract Next-generation non-volatile memory modules have emerged recently in storage market. However, due to the limited life time and poor performan

목차 1. 제품 소개 특징 개요 Function table 기능 소개 Copy Compare Copy & Compare Erase

Microsoft Word _반도체-최종

PowerPoint 프레젠테이션

DBPIA-NURIMEDIA

(SW3704) Gingerbread Source Build & Working Guide

Microsoft PowerPoint - o8.pptx

14.531~539(08-037).fm

<4D F736F F F696E74202D2037C0E52DC4B3BDC3BFCDB8DEB8F0B8AE>

2 / 26

External Sorting

박선영무선충전-내지

<35335FBCDBC7D1C1A42DB8E2B8AEBDBAC5CDC0C720C0FCB1E2C0FB20C6AFBCBA20BAD0BCAE2E687770>

03( ) CSTV15-20.hwp


DBPIA-NURIMEDIA

06_ÀÌÀçÈÆ¿Ü0926

Oracle9i Real Application Clusters

<333820B1E8C8AFBFEB2D5A B8A620C0CCBFEBC7D120BDC7BFDC20C0A7C4A1C3DFC1A42E687770>

PowerPoint Presentation

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

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

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

DBPIA-NURIMEDIA

Integ

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

04 최진규.hwp

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

01 황선영KICS _ack추가.hwp

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

09오충원(613~623)

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Dec.; 27(12),

±è¼ºÃ¶ Ãâ·Â-1

thesis-shk

#Ȳ¿ë¼®

SchoolNet튜토리얼.PDF

이발명을지원한국가연구개발사업 과제고유번호 부처명 미래창조부 연구관리전문기관 한국산업기술평가관리원 연구사업명 산업융합원천기술개발 연구과제명 단일노드 48TB 이상을지원하는개방형하둡스토리지어플라이언스 (Hadoop Storage Appliance) 개발 기

SSD, TCO(Total Cost of Ownership) 관점 수요 확대 동인 확보 TCO(Total Cost of Ownership) 관점 수요 증가 동인 확대 3D NAND의 응용처는 향후 PC에서 엔터프라이즈로 확대될 것으로 판단된다. 엔터 프라이즈 시장에서는

< C6AFC1FD28C3E0B1B8292E687770>


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

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


<31325FB1E8B0E6BCBA2E687770>

歯3이화진

878 Yu Kim, Dongjae Kim 지막 용량수준까지도 멈춤 규칙이 만족되지 않아 시행이 종료되지 않는 경우에는 MTD의 추정이 불가 능하다는 단점이 있다. 최근 이 SM방법의 단점을 보완하기 위해 O Quigley 등 (1990)이 제안한 CRM(Continu

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

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

<313120C0AFC0FCC0DA5FBECBB0EDB8AEC1F2C0BB5FC0CCBFEBC7D15FB1E8C0BAC5C25FBCF6C1A42E687770>

휠세미나3 ver0.4

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

PCServerMgmt7

,.,..,....,, Abstract The importance of integrated design which tries to i

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

Microsoft PowerPoint - Flash Memory Based Bottom Up Analysis for Smart Phone System _Final [호환 모드]

02( ) CPLV14-06.hwp

04±èÂù¿í(19-23)

Transcription:

166 정보과학회논문지 : 시스템및이론제 41 권제 4 호 (2014.8) SSD 장치내 NCQ 를활용한쓰기버퍼관리기법 (A Write Buffer Management Scheme Exploiting the NCQ of SSDs) 김성민 김태석 (Seongmin Kim) (Taeseok Kim) 요약본논문에서는 SSD(Solid-State Drives) 내의 NCQ(Native Command Queueing) 가가진정보를활용하는쓰기버퍼관리기법을제안한다. 호스트로부터 SATA 인터페이스를통해요청되는입출력명령들은우선 NCQ 에도착하여처리할준비가완료될때까지큐에서대기하게되고, 큐에존재하는명령에관련된데이터는가까운미래에반드시참조된다. 따라서제안하는기법은과거의참조패턴정보와함께 NCQ 내의입출력명령들로부터얻을수있는미래참조패턴정보를활용하고, 이를통해버퍼관리기법의효율을높일수있다. 또한, 이기법은기존의여러버퍼관리기법들에쉽게적용할수있다는장점이있다. 모의실험을통한성능평가결과, 제안하는기법에의해버퍼히트율이최대 7.3% 상승하였다. 키워드 : NAND 플래시메모리, SSD, 버퍼관리기법, NCQ Abstract In this paper, a write buffer management scheme that exploits the informations within NCQ (Native Command Queueing) of SSDs (Solid-State Drives) is presented. In SSDs with SATA interface, there exist the pending I/O commands in NCQ, and we observed that the data belonging to the I/O commands queued in NCQ would be needed in the near future. We maximize the efficiency of buffer management by using the existence of NCQ in order to obtain the information of future reference pattern as well as past reference pattern. It is important to note that the proposed scheme can be integrated with other existing buffer management schemes without large modification. Through the trace-driven simulation, we show that the proposed scheme outperforms the LRU scheme in terms of hit ratio uo to 7.3%. Keywords: NAND flash memory, SSD, buffer management scheme, NCQ 1. 서론 본연구는지식경제부및한국산업기술평가관리원의산업원천기술개발사업 ( 정보통신 ) 의일환으로수행하였음. [No.10041608, 차세대메모리기반의스마트디바이스용임베디드시스템소프트웨어 ] 학생회원 : 광운대학교컴퓨터공학과 zinjja2@kw.ac.kr 비회원 : 광운대학교컴퓨터공학과교수 tskim@kw.ac.kr (Corresponding author임 ) 논문접수 : 2013년 7월 24일 (Received 24 July 2013) 논문수정 : 2014년 2월 12일 (Revised 12 February 2014) 심사완료 : 2014년 2월 27일 (Accepted 27 February 2014) CopyrightC2014 한국정보과학회ː 개인목적이나교육목적인경우, 이저작물의전체또는일부에대한복사본혹은디지털사본의제작을허가합니다. 이때, 사본은상업적수단으로사용할수없으며첫페이지에본문구와출처를반드시명시해야합니다. 이외의목적으로복제, 배포, 출판, 전송등모든유형의사용행위를하는경우에대하여는사전에허가를얻고비용을지불해야합니다. 정보과학회논문지 : 시스템및이론제41권제4호 (2014.8) SSD(Solid-State Drives) 는낮은데이터접근시간, 저전력, 무소음등의장점이있지만, NAND 플래시메모리의특성으로인하여읽기연산에비해상대적으로느린쓰기연산, 제한된삭제연산횟수등의단점을함께가지고있다. 이러한단점을극복하기위해 SSD에서는쓰기버퍼를사용하여 NAND 플래시메모리에실제로쓰여지는데이터양을줄임으로써쓰기성능을향상시킬뿐만아니라 SSD의수명을개선한다. 일반적으로이러한쓰기버퍼는그공간이제한되어있어효율적인버퍼관리기법이필요하고, 이를위한 NAND 플래시메모리기반 SSD를위한다양한버퍼관리기법이연구되었다 [1-5]. 그러나대부분의연구들은입출력워크로드의지역성 (locality) 과 NAND 플래시메모리의일부특성만고려하는데그치고있다.

SSD 장치내 NCQ 를활용한쓰기버퍼관리기법 167 본논문에서는 SSD내에존재하지만지금껏고려되지못하였던 NCQ(Native Command Queue) 를활용하는버퍼관리기법을제안한다. 제안하는기법은큐에보관된명령들로부터미래참조패턴정보를얻고이를버퍼관리정책에활용한다. 원래 NCQ는 SATA 인터페이스를사용하는디스크에서입출력명령을쌓아두고스케줄링을통해입출력처리시간을개선하기위한기법이었는데, SSD에서도여러개의입출력명령들을동시에처리함으로써호스트시스템에서느끼는지연시간을줄이기위한목적으로여전히활용되고있다 [6]. NCQ에는가까운미래에반드시처리될입출력명령들을가지고있으므로이들로부터유효한미래정보를획득할수있고, 버퍼내의해당데이터를별도관리함으로써버퍼의히트율을향상시킬수있다. 본논문은다음과같이구성되어있다. 2절에서는버퍼관리기법과관련한기존연구와함께 SSD의내부에존재하는 NCQ에대해살펴본다. 3장에서는제안하는새로운버퍼교체기법에대해설명하고, 4장에서는성능을평가한다. 마지막으로, 5장에서는연구결과를요약한다. 2. 관련연구및배경지식 2.1 버퍼관리기법관련연구 SSD 혹은 NAND 플래시저장장치에서입출력성능과수명을향상시키기위한버퍼관리기법에관해이미많은연구가진행되어왔다. 이러한버퍼관리기법은크게세가지로나눌수있는데, 첫번째로워크로드의특성만을고려하는기법, 두번째로플래시메모리의특성만을고려한기법그리고마지막으로앞의두가지를혼용한기법이다. 워크로드의특성만을고려하는기법에는가장널리알려진 LRU(Least Recently Used) 와 LFU(Least Frequently Used) 가있다. 이기법들은초기버퍼관리기법들의연구에많이활용되었으며, 여전히많은버퍼관리기법을연구하는데있어기본이되고있다. 플래시메모리의특성만을고려하는기법에는대표적으로 FAB[1], BPLRU[2] 등이있다. FAB[1] 기법은희생블록 (victim block) 으로선정된논리블록의모든페이지를한번에교체한다. 가장많은페이지를가진논리블록을희생블록으로선정함으로써가비지컬렉션 (garbage collection) 의비용을줄이고순차쓰기패턴 (sequential write pattern) 의워크로드에서성능을향상시킨다. BPLRU[2] 기법은 FAB과유사하지만, LRU 기반으로희생블록을선정한다. 또한, 블록채우기 (block padding) 기법을사용하여로그블록 (log block) 에모든페이지를순차적으로기록하여완전병합 (full merge) 대신비용이적은스위치병합 (switch merge) 이발생하도록한다. 워크로드와플래시메모리의특성만을고려하는버퍼관리기법은각자좋은성능을보여주고있지만 SSD에최적화된버퍼관리기법을위해서는두가지특성을모두고려할필요가있다. 이에따라최근여러가지버퍼관리기법들이연구되었으며, 이중대표적인기법에 CLC[3], BPAC[4], ExLRU[5] 등이있다. CLC[3] 기법은 FAB과 BPLRU를혼용한기법이다. 버퍼공간을두영역으로나누어첫번째영역은 LRU 방식으로블록들을관리하고, 두번째영역은블록에속한페이지의개수순으로관리함으로써, 워크로드의지역성및 NAND 플래시메모리의특성을활용하고있다. BPAC[4] 기법은워크로드의지역성을적응적으로고려하기위해재참조율이높은데이터를관리하는리스트와재참조율이낮은데이터를관리하는리스트로나누어버퍼내의데이터를관리하고, 재참조율을분석하기위해워크로드모니터링기법을사용한다. ExLRU[5] 기법은 FAB과 BPLRU에서재참조율이높은페이지가속한블록이버퍼에서교체되거나, 재참조율이낮은페이지가버퍼에오래유지될수있는문제점을해결하기위해버퍼내의블록들에대해비용모델을설계하였다. ExLRU는비용모델에의해버퍼내의페이지들의단위시간당재참조율을계산하고이를이용해다시블록들의단위시간당재참조율등을계산하여비용값을얻어낸뒤, 블록들중가장비용값이낮은블록을희생블록으로선정하게된다. 위와같이 NAND 플래시메모리기반의저장장치를위한다양한버퍼관리기법이연구되었으며, 그연구들중대부분은기존버퍼관리기법에서고려요소를추가하여성능을향상시키고있다. 하지만아직까지의연구들에서는과거참조패턴정보와 SSD 내아키텍쳐중일부분만을고려하고있다는한계를가지고있으며, NCQ 내의정보를활용한연구는전무한실정이다. 2.2 SSD 내에서의 NCQ NCQ는 HDD와같은 SATA장치의성능을향상시키기위해도입된기술로, 먼저입출력명령을큐에보관한다음디스크헤드의전체이동거리를최소화할수있도록명령들의순서를재배열한다. SSD에는 HDD의헤더와같은기계적움직임을갖는요소가없지만, 최근엔 SSD에서도 NCQ를이용한입출력명령들의병합처리를통해성능을향상시키기위한연구가진행되고있으며 [7], 큐길이 (queue length) 에따라데이터의동시처리가가능하기때문에 NCQ 지원여부에따라 30% 이상의성능차가발생하게된다 [8]. 큐길이는호스트에서저장장치로동시에요청되는

168 정보과학회논문지 : 시스템및이론제 41 권제 4 호 (2014.8) 그림 2 가상 MRU 의사용 Fig. 2 The use of virtual MRU 그림 1 SSD내에서의입출력명령처리절차 Fig. 1 The procedure for handling an I/O command within SSD 명령의개수를의미한다. SATA 인터페이스의표준화규격에서 NCQ의최대큐길이를 32로명시하고있으며, 비표준화 SSD에서는최대큐길이가 128까지사용될수있다 [9,10]. 일반적으로응용프로그램에의해입출력명령이빈번하게요청되어저장장치가바쁜 (Busy) 상태가되면큐에서대기하는명령의개수가늘어나큐길이가길어지게되며, 큐길이가길수록최대치에가까운대역폭 (Bandwidth) 을사용하게된다 [11]. 그림 1은호스트로부터 SATA 인터페이스를통해 SSD로전송된입출력명령이처리되는과정을보여준다. SSD에전달된입출력명령은먼저 NCQ에쌓이게되고, 명령이수행될준비가되면디스패치 (dispatch) 되어버퍼를통해처리한다. 이때, 처리할입출력명령의데이터가버퍼에존재할경우바로응답처리가가능하고, 그렇지않은경우 FTL(Flash Translation Layer) 을거쳐플래시메모리에서읽기및쓰기연산이수행된다. 3. NCQ 를활용한버퍼관리기법본논문에서는앞서살펴본기존버퍼관리기법들이이용하지못했던 SSD 내에 NCQ를활용하는쓰기버퍼관리기법을제안한다. NCQ에보관중인입출력명령들은가까운미래에반드시처리되기때문에이를이용하면보관중인명령의양만큼미래참조패턴정보를획득할수있다. 제안하는기법은이러한미래참조패턴정보를바탕으로호스트로부터 NCQ에전달된입출력명령이필요로하는데이터가버퍼에존재할경우, 해당데이터가사용될때까지버퍼에서교체되지않도록별도관리한다. 이러한기법은버퍼내의곧사용될데이터가사용직전에교체되어미스 (miss) 가발생하는상황을차 단함으로써버퍼의히트율향상을가져올수있다. 본논문에서는제안하는기법을간단한 LRU 기법에적용하여구현하였으며, QLRU(NCQ-aware LRU) 라고명칭한다. QLRU는기존의 LRU 기법과마찬가지로버퍼내의데이터가참조될경우 MRU(Most Recently Used) 위치로이동하며, LRU 위치의데이터를교체대상으로삼는다. 여기에 QLRU 기법을위해미래참조패턴정보기반의버퍼데이터를보존하기위한가상 MRU(virtual MRU) 라는포인터를구현하였다. 가상 MRU란그림 2와같이 NCQ에도착한명령이요구하는데이터가버퍼에존재할경우, 해당데이터를가상 MRU로이동시킨다. 가상 MRU로이동된데이터는가까운미래에반드시참조되기때문에, 해당명령이디스패치되기전최대한오랜시간동안버퍼내에유지되게된다. 또한이기법은단순한포인터이동으로구현되기때문에, 발생하는오버헤드가매우적고, 추가적인공간을요구하지않는다는장점이있다. 그림 4는 NCQ를고려하는 QLRU가 LRU와비교하여어떤효과가있는지보여준다. 그림 4(1) 은 NCQ와버퍼의초기상태를나타내며, QLRU와 LRU의비교를위해각기법에의해동작하는두개의버퍼를동시에보여준다. 이후그림 4(2) 와같이새로운명령 C2가 NCQ에도착한경우, QLRU 버퍼에서는 C2가요구하는데이터 5를가상 MRU로이동시킨다. 이과정이 QLRU 의핵심으로, 아직 C2 명령이처리된것은아니지만, NCQ에도착해서조만간이명령이처리될것이명확하기때문에이명령에해당되는버퍼상의데이터 5를가상 MRU로옮겨교체되지않도록한것이다. 이상태에서그림 4(3) 과같이 C1 명령이디스패치될경우, LRU와 QLRU 모두에서버퍼미스가발생하고, 데이터 3을 MRU 위치에넣기위해 LRU 위치에있던데이터를각각교체한다. 마지막으로그림 4(4) 와같이 C2 명령이디스패치되면, 데이터 5가교체된 LRU 기법의버퍼에서는미스가발생하지만, QLRU에서는히트 (hit) 가발생하게된다. 여기에서는쓰기버퍼관리기법설계시과거의참조패턴정보뿐만아니라, NCQ에있는미래참조패턴정보를함께활용하는것이효과적임을보여주기위해가장간단한 LRU 기법에기반하여설명하였다. 또한,

SSD 장치내 NCQ 를활용한쓰기버퍼관리기법 169 그림 3 QLRU 의알고리즘 Fig. 3 Algorithm of QLRU QLRU는 LRU 기법과 NCQ 정보를활용하는기법을융합하여만들어졌으며, NCQ를가진 SSD라면관련연구에서언급한기존의다른쓰기버퍼관리기법들에그대로적용가능하다. 심지어는 NCQ 기반의하드디스크에서도쓰기버퍼관리기법에적용가능하다. 4. 실험결과및분석 4.1 실험환경제안한버퍼관리기법의성능을평가하기위해 FlashSim[12] 시뮬레이터에기반하여 QLRU를구현하였다. 실험을위해시뮬레이터에서설정한 SSD의물리

170 정보과학회논문지 : 시스템및이론제 41 권제 4 호 (2014.8) 그림 4 QLRU의효과 Fig. 4 Effectiveness of QLRU 표 1 SSD의물리적특성 Table 1 Specification of the SSD Specification Capacity 64 Gb The number of Channels 8 Page program time 200 us Flash size 131072 blocks Block size 128 pages Page size 4096 bytes 였다. 실험을위해시뮬레이터에서설정한 SSD의물리 적특성은표 1과같이 64 Gb의용량을가지며, 각페 이지크기는 4 Kb로설정하였고, 8개의독립적인채널 을통해병렬적인입출력명령의처리가가능하다. 또한, FTL은페이지단위주소매핑 (page level address mapping) 을사용하며, NAND 플래시메모리 와버퍼가비어있는환경에서실험을진행하였다. 쓰기버퍼는쓰기명령에대한데이터만을흡수하며, 읽기명령이수행될경우, 해당데이터가버퍼에존재하면히트를발생시킬수있지만, 미스가발생했을때해당데이터를버퍼에저장하지는않고호스트로바로데이터를전달하게된다. 이에따라읽기명령에의한버퍼상태의변화가없으며쓰기명령의성능에영향을끼치지않기때문에, 실험에서사용된워크로드는모두쓰기명령만사용하여성능만을측정하였다. 그리고각실험은 SSD를깨끗하게비운상태에서시작하여 SSD 가꽉차는경우에는가비지컬렉션 (garbage collection) 이발생할수있도록하였다. 버퍼의크기는 32 MB부터 512 MB까지, NCQ의최대큐길이는 32부터 512까지변경하며버퍼의히트율에중점을두고결과를분석하였다. 현재상용화된많은 SSD에서는 NCQ의최대큐길이를 32에서 128 정도로제한하고있지만, NCQ의큐길이가제안하는기법에주는영향을검증하기위해최대큐의길이를 512까지늘려가며실험하였다. 4.2 실험결과 4.2.1 워크로드에따른 QLRU의효과실험을위해사용된워크로드는 Iometer[13] 벤치마크툴을사용하여워크로드를수집하였고, 각각의특성은표 2와같다. 각워크로드는 512 KB부터 1 GB까지다양한크기의파일에대해입출력을수행하는 12개의쓰레드에의해수집되었으며, 쓰레드별입출력요청의크기는 4 KB부터 512 KB까지이다. 그리고데이터접근패턴의경우워크로드 A는모두임의접근으로구성되어있고, 워크로드 B는임의접근과순차접근이절반씩섞여있으며, 워크로드 C는모두순차접근이다. 또한, IOmeter를사용할경우디스크에쓰기명령을전달할때, 운영체제의버퍼캐시를거치지않고물리디스크에직접적인접근이발생하게되어, 버퍼캐시에의 표 2 사용된워크로드의특성 Table 2 Characteristics of the workloads used The number of threads File size Record size The number of requests Avg. interarrival time Access pattern A B C 12 12 12 512 KB~ 1 GB 4 KB~ 512 KB 512 KB~ 1 GB 4 KB~ 512 KB 512 KB~ 1 GB 4 KB~ 512 KB 500,000 500,000 500,000 158 ms 90 ms 72 ms Random Random + Sequential Sequential

SSD 장치내 NCQ 를활용한쓰기버퍼관리기법 171 그림 5 워크로드에따른버퍼히트율 Fig. 5 Hit ratio with various workloads 한쓰기명령흡수가발생하지않는다. 따라서이실험에서는운영체제의버퍼캐시가워크로드에끼치는영향을배제한상황을가정한다. 먼저워크로드에따라 QLRU의효과를검증하기위해쓰기버퍼의크기를 32 MB, NCQ의최대큐길이는 512개로설정한뒤, 각워크로드에대해버퍼히트율을측정하였다. 그림 5는해당실험결과를나타낸다. 결과를확인하면모든워크로드에서약 25% 이상의버퍼히트가발생한것을확인할수있다. 이는각워크로드에서입출력을수행한쓰레드가서로균등한입출력빈도를갖고있으며, 이때, 상대적으로작은크기의파일에대해입출력을수행하는쓰레드에서필요로하는데이터는거의대부분버퍼에존재할수있기때문이다. 하지만접근패턴에따라워크로드간전체버퍼히트율이차이가나고있으며, 모든워크로드에서 LRU 대비 QLRU의버퍼히트율의절대수치가 6-7% 가량향상되었다. 이러한결과에따라 QLRU가미래참조패턴 예측으로인해파일의접근패턴에큰영향을받지않고 LRU 대비성능이향상됨을확인할수있다. 4.2.2 버퍼크기및최대큐길이에따른효과버퍼크기와 NCQ의최대큐길이를변경하며 QLRU 의효과를확인하기위해모든워크로드에대해실험한결과, 파일접근패턴에따른 LRU 대비 QLRU 성능상의차이가거의없었기때문에여기에서는워크로드 A에대한실험결과만제시한다. 그림 6에서볼수있듯이, 버퍼크기가 32MB, 최대큐길이는 512일때, QLRU의버퍼히트율의절대수치가 LRU보다 7.3% 향상되어가장높은성능향상폭을보였다. 결론적으로버퍼크기가작을수록, 그리고최대큐길이가길수록 QLRU가 LRU 대비좋은성능을발휘하는것을확인할수있다. 이는 QLRU가효과를얻기위해서는가상 MRU 개념이충분히활용되어야하기때문이다. 즉, 반대로이야기하면큐에서얻은미래참조패턴정보로부터확인한버퍼내의데이터를가상 MRU로이동시키지않아도히트가발생할수있는데이터라면가상 MRU를사용할필요가없게된다. 그림 6에서본바와같이버퍼크기가커질수록 LRU 대비 QLRU의효과가줄어드는것을통해이를확인할수있다. 4.2.3 요청시간간격에따른효과다음으로 NCQ에대기중인명령들의개수가 QLRU 알고리즘에미치는영향을살펴보기위해워크로드 A의밀집도 (density) 를조정하며실험하였다. 즉, 쓰기명령이요청되는시간간격을조정하여명령이빈번하게요청되는바쁜상태 (busy state) 와드물게요청되는유휴상태 (idle state) 에서 QLRU의효과가어떻게변화하는지측정하였다. 그림 6 버퍼크기및최대큐길이에따른버퍼히트율 Fig. 6 Hit ratio as a function of buffer sizes and the maximum queue lengths

172 정보과학회논문지 : 시스템및이론제 41 권제 4 호 (2014.8) 그림 7 조정값에따른평균큐길이 Fig. 7 Avg. queue length as a function of scaling factor 그림 8 조정값에따른버퍼히트율 Fig. 8 Hit ratio as a function of scaling factor 그림 9 조정값에따른쓰기대역폭 Fig. 9 Write bandwidth as a function of scaling factor 그림 10 조정값에따른 IOPS Fig. 10 IOPS as a function of scaling factor 그림 7에서볼수있는조정값 (scaling factor) 이란, NCQ에명령들이가득차서저장장치의바쁜상태를 1 로정의하고, 요청시간간격을조정값비율만큼증가시켜서서히유휴상태로만들어가며실험하기위해사용하였다. 이전실험에서와마찬가지로버퍼크기를 32 MB, NCQ의최대큐길이는 512이다. 먼저, 그림 7은각조정값에따라평균적으로큐에쌓이는명령들의개수를나타낸다. 조정값이 1일때쓰기명령이빈번하게요청되며, 평균큐길이는최대길이인 512에가깝게나타나고, 조정값이늘어감에따라명령의요청시간간격이늘어나점점평균큐길이가줄어드는것을확인할수있다. 또한, QLRU는과거의참조패턴정보뿐만아니라미래의참조패턴정보를활용함으로써버퍼의히트율이증가하게되고, 이에따라 SSD 장치의처리능력이향상되어평균큐길이가 LRU보다짧게나타나는것을확인할수있다. 그림 8은그림 7과같은조정값들에따른버퍼의히트율을실험한결과이며, 큐에얼마나많은명령이존재하느냐에따라 QLRU의히트율이달라지는것을확인할수있다. LRU에서는워크로드의요청시간간격에의한평균큐길이에상관없이동일한히트율을유지하는반면, QLRU에서는큐에쌓인정보의양이많을수록높은히트율을보이며, 평균큐길이가줄어들수록 LRU 의히트율에근접하게된다. 그림 9와그림 10은그림 8과동일한실험에서쓰기대역폭 (write bandwidth) 과 IOPS(Input / Output Operations Per Second) 성능을측정한결과이다. 여기서도마찬가지로, 큐에명령들이많을수록 LRU 대비 QLRU 의성능향상폭이가장높고, LRU는거의동일한성능을나타낸다. 다만, 조정값이일정이상이되면 LRU 성능도함께떨어지는것처럼보이는데이는유휴구간이늘어남에따라쓰기대역폭이나 IOPS가점차떨어지기때문이다. 4.2.4 실제워크로드실험을통한 QLRU의효과실제워크로드를사용해 QLRU의효과를검증하고, 동작간에발생하는현상을분석하기위해표 2와같은특성의두가지워크로드를사용하였다. OLTP 워크로드는금융기관에서실행되는 OLTP(Online Transaction Processing) 응용프로그램에서추출한워크로드로써, 데이터입력및거래조회등을위한트랜잭션지향의접근패턴으로작은요청크기로임의접근이발생되는데, 쓰기명령이발생하는데이터입력패턴에서비교적높은지역성을갖고있다. kernel compile 워크로드는커널컴파일수행중의저장장치입출력을직접추출한워크로드로써, 여러가지소스파일들에대한입출력명령이수행되어지역성이매우낮으며, 비교적다

SSD 장치내 NCQ 를활용한쓰기버퍼관리기법 173 표 3 실제워크로드의특성 Table 3 Characteristics of the real workloads OLTP kernel compile The number of requests 47121 59547 The ratio of write request 37.77 % 75.15% Avg. request size 4KB 28 KB Avg. inter-arrival time 85 ms 61 ms 양한요청크기의명령들로이루어져있다. 실험을위해먼저쓰기버퍼의크기를 32MB, NCQ의최대큐길이를 512개로설명하였다. 실험을통해 LRU와 QLRU에서의버퍼히트율을측정한결과, OLTP 워크로드는 LRU에서 60.3%, QLRU에서 60.4% 로측정되어버퍼히트율의절대수치가 0.1% 상승하였고, kernel compile 워크로드는 LRU에서 7.5%, QLRU에서 8.6% 로측정되어버퍼히트율의절대수치는 1.1% 상승되어 OLTP보다 kernel compile에서 QLRU의성능향상폭이상대적으로높았음을확인할수있었다. 이는 OLTP 워크로드는지역성은높은편이지만요청크기가작음에따라 NCQ가보유할수있는정보의양이매우적기때문에 QLRU에의한효과를충분히얻을수없었던반면에, kernel compile 워크로드는지역성은낮지만각요청크기가상대적으로커서 NCQ가보다많은정보를보유할수있었기때문이다. 하지만두가지실제워크로드에서성능향상의절대치는매우낮은수치를보였는데, 이는 OLTP와같이요청크기가너무작아서 NCQ가보유할수있는정보가너무적으면 QLRU의이점을제대로활용할수없다는것과, kernel compile 과같이워크로드의지역성때문에버퍼히트율이너무낮은워크로드는 QLRU를제대로이용하기위해서더많은 NCQ 길이를요구하기때문에사실상성능향상을기대하기힘들다는것이원인으로분석되었다. 5. 결론본논문에서는 SSD 내에존재하는 NCQ를고려한쓰기버퍼관리기법을제안하였다. 이기법은과거의참조패턴정보를활용할뿐만아니라, 앞으로처리할명령들이대기하고있는 NCQ를통해미래참조패턴정보를획득함으로써, 버퍼의히트율을향상시킬수있었다. 실험결과, 과거의참조패턴정보에만의존하는 LRU와비교하여미래의참조패턴정보까지활용가능한 QLRU가대부분의환경에서더높은성능을보였다. 특히, NCQ로부터획득할수있는정보의양이많을수록즉, NCQ의최대길이가길수록혹은 NCQ에대기하는명령들의개수가많을수록높은성능향상을얻을수있었다. 무엇보다제안한기법은 SSD 내에서그동 안사용되지않았던 NCQ가지닌정보를버퍼관리기법을위하여활용하였기때문에, 기존에연구되었던어떠한다른쓰기버퍼관리기법들에쉽게적용할수있다는큰장점이있었다. 하지만제안하는기법에서 OLTP 및 kernel compile 과같은실제워크로드에서의성능향상폭이매우낮다는문제점을보였는데, 이는 QLRU가워크로드의지역성, 입출력크기, 입출력명령의요청빈도와수에따른제한적인환경에서효과적으로활용할수있기때문이다. 이에따라향후연구로 QLRU를효과적으로활용할수있는엔터프라이즈 (enterprise) 급시스템에대한연구와실험을진행하고, 다양한버퍼관리기법과함께동작시키는것에대한연구를진행할예정이다. References [1] H. Jo, J.-U. Kang, S.-Y. Park, J.-S. Kim, and J. Lee, "FAB: Flash-Aware Buffer Management Policy for Portable Media Players," IEEE Trans. on Consumer Electronics, vol.52, no.2, pp.485-493, 2006. [2] H. Kim and S. Ahn, "BPLRU: A Buffer Management Scheme for Improving Random Writes in Flash Storage," Proc. of the 6th USENIX Conf. on File and Storage Technologies, pp.239-252, 2008. [3] S. Kang, S. Park, H. Jung, H. Shim, and J. Cha, "Performance trade-offs in using nvram write buffer for flash memory-based storage devices," IEEE Trans. on Computers, vol.58, no.6, pp.744-758, 2009. [4] G. Wu, B. Eckart, and X. He, "BPAC: An adaptive write buffer management scheme for flash-based Solid State Drives," Proc. of the 26th IEEE Symposium on Massive Storage Systems and Technologies, pp.1-6, 2010. [5] L. Shi, J. Li, C. J. Xue, C. Yang, and X. Zhou, "Exlru: A unified write buffer cache management for flash memory," Proc. of the 9th ACM International Conference on Embedded software, pp.339-348, 2011. [6] G. Gasior, "Intel s X25-E Extreme solid-state drive," The technical report, 2008. [7] Dishi Lai, et al., "METHOD AND APPARATUS FOR EFFECTIVELY INCREASING A COMMAND QUEUE LENGTH FOR ACCESSING STORAGE," U.S. Patent No. 20,130,091,307, 2013. [8] KingSpec, "How to obtain maximum performance from your SSD," Company news, 2013. [9] E. Seppanen, M. T. OKeefe, and D. J. Lilja, "High performance solid state storage under linux," Proc. of the 26th IEEE Symposium on Massive Storage Systems and Technologies, pp.1-12, 2010. [10] Marvell Technology Group Ltd., "88F619x - Integrated Controller Hardware Specifications," Product

174 정보과학회논문지 : 시스템및이론제 41 권제 4 호 (2014.8) specifications, 2008. [11] S. Baumann, G. de Nijs, M. Strobel, and K.-U. Sattler, "Flashing Databases: Expectations and Limitations," Proc. of the 6th International Workshop on Data Management on New Hardware, pp. 9-18, 2010. [12] A. Gupta, Y. J. Kim, B. Tauras and B. Urgaonkar, "FlashSim: A Simulator for NAND Flash-Based Solid-State Drives," Proc. of the International Conference on Advances in System Simulation, pp. 125-131, 2009. [13] D. D. Levine, "Iometer User's Guide," Intel Server Architecture Lab. 2003. 김성민 2011 년광운대학교컴퓨터공학과졸업 ( 학사 ). 2014 년광운대학교컴퓨터공학과졸업 ( 석사 ). 2014 년 ~ 현재광운대학교컴퓨터공학과박사과정. 관심분야는운영체제, 플래시메모리, 차세대비휘발성메모리등 김태석 2000년서울대학교전산과학과졸업 ( 학사 ). 2002년서울대학교컴퓨터공학부졸업 ( 석사 ). 2007년서울대학교컴퓨터공학부졸업 ( 박사 ). 2007년~2008년삼성전자책임연구원. 2008년~현재광운대학교컴퓨터공학과조교수. 관심분야는운영체제, 스토리지시스템, 임베디드시스템등