02(271-275) CPLV14-06.hwp

Similar documents
6.24-9년 6월

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

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

DBPIA-NURIMEDIA


- 2 -

wtu05_ÃÖÁ¾

exp

<B1DDC0B6B1E2B0FCB0FAC0CEC5CDB3DDB0B3C0CEC1A4BAB82E687770>

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

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

DBPIA-NURIMEDIA

04 Çмú_±â¼ú±â»ç

05( ) CPLV12-04.hwp

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

2 / 26

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

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

08김현휘_ok.hwp

안 산 시 보 차 례 훈 령 안산시 훈령 제 485 호 [안산시 구 사무 전결처리 규정 일부개정 규정] 안산시 훈령 제 486 호 [안산시 동 주민센터 전결사항 규정 일부개정 규

À±½Â¿í Ãâ·Â

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

Red Dot Award: Communication Design 에 참 하기 결정해 주셔서 기쁩니다. "성공을 위한 안내서"는 등 절 에 대해 안내 니다. 지체 말고 언 든지 연 해 주 오. Red Dot 은 등 절 또는 등 후 절 를 기꺼 와드 겠습니다. 01 Int

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

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

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P

리뉴얼 xtremI 최종 softcopy

Monitoring Report _SSD 시장동향.hwp

RHEV 2.2 인증서 만료 확인 및 갱신

<5BB0EDB3ADB5B55D B3E2B4EBBAF12DB0ED312D312DC1DFB0A32DC0B6C7D5B0FAC7D02D28312E BAF2B9F0B0FA20BFF8C0DAC0C720C7FCBCBA2D D3135B9AEC7D72E687770>

<3033C0AFBBF3C7F62E687770>

77

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

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

<30362E20C6EDC1FD2DB0EDBFB5B4EBB4D420BCF6C1A42E687770>

<4D F736F F F696E74202D20BCD2C7C1C6AEBFFEBEEEC6AFB7D03038B3E22E BC8A3C8AF20B8F0B5E55D>

½Éº´È¿ Ãâ·Â

<4D F736F F D C3DFB0E820BFECBCF6B9DFC7A5B3EDB9AE2920C4C4C7BBC6C3C0C720BDC7C1A620B9D720B7B9C5CD2D496E2D53746F F E67C0BB20C0A7C7D BCD2C7C1C6AEBFFEBEEE20C7C3B7A7C6FB20BDC3B9C4B7B

PowerPoint 프레젠테이션

09권오설_ok.hwp

<313920C0CCB1E2BFF82E687770>

1_12-53(김동희)_.hwp

45-51 ¹Ú¼ø¸¸

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

°í¼®ÁÖ Ãâ·Â

01 황선영KICS _ack추가.hwp

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

2013unihangulchar {45380} 2unihangulchar {54617}unihangulchar {44592} unihangulchar {49328}unihangulchar {50629}unihangulchar {51312}unihangulchar {51

02김헌수(51-72.hwp

Jkafm093.hwp

정보기술응용학회 발표

<353420B1C7B9CCB6F52DC1F5B0ADC7F6BDC7C0BB20C0CCBFEBC7D120BEC6B5BFB1B3C0B0C7C1B7CEB1D7B7A52E687770>

???? 1

04( ) CSTV15-23.hwp

결과보고서

DBPIA-NURIMEDIA

untitled

Agenda 오픈소스 트렌드 전망 Red Hat Enterprise Virtualization Red Hat Enterprise Linux OpenStack Platform Open Hybrid Cloud

SIGIL 완벽입문

ActFax 4.31 Local Privilege Escalation Exploit

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

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

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

온습도 판넬미터(JTH-05) 사양서V1.0

....pdf..

歯MW-1000AP_Manual_Kor_HJS.PDF

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

오토10. 8/9월호 내지8/5

07( ) CPLV14-41.hwp


,. 3D 2D 3D. 3D. 3D.. 3D 90. Ross. Ross [1]. T. Okino MTD(modified time difference) [2], Y. Matsumoto (motion parallax) [3]. [4], [5,6,7,8] D/3

I

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

08( ) CPLV12-55.hwp

41호-소비자문제연구(최종추가수정0507).hwp

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

232 도시행정학보 제25집 제4호 I. 서 론 1. 연구의 배경 및 목적 사회가 다원화될수록 다양성과 복합성의 요소는 증가하게 된다. 도시의 발달은 사회의 다원 화와 밀접하게 관련되어 있기 때문에 현대화된 도시는 경제, 사회, 정치 등이 복합적으로 연 계되어 있어 특

학습영역의 Taxonomy에 기초한 CD-ROM Title의 효과분석

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

60


204

PDF_Compass_32호-v3.pdf

( 단위 : 가수, %) 응답수,,-,,-,,-,,-,, 만원이상 무응답 평균 ( 만원 ) 자녀상태 < 유 자 녀 > 미 취 학 초 등 학 생 중 학 생 고 등 학 생 대 학 생 대 학 원 생 군 복 무 직 장 인 무 직 < 무 자 녀 >,,.,.,.,.,.,.,.,.

Microsoft Word - KSR2016S168

Artificial Intelligence: Assignment 6 Seung-Hoon Na December 15, Sarsa와 Q-learning Windy Gridworld Windy Gridworld의 원문은 다음 Sutton 교재의 연습문제

(72) 발명자 신일훈 경기 수원시 영통구 영통동 황골마을1단지아파트 151동 702호 나세욱 서울 용산구 용산동2가 18-5 김효준 경기 용인시 기흥구 상갈동 금화마을주공아파트 407동 1204호 윤송호 경기 용인시 수지구 풍덕천2동 삼성5차아파트 신동

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

Microsoft Word - KSR2012A021.doc

DBPIA-NURIMEDIA

Windows 8에서 BioStar 1 설치하기

서울도시연구_13권4호.hwp

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

Microsoft Word - KSR2012A038.doc

¼Òâ¹Ý¹®Áý¿ø°í.hwp

텀블러514

<31362DB1E8C7FDBFF82DC0FABFB9BBEA20B5B6B8B3BFB5C8ADC0C720B1B8C0FC20B8B6C4C9C6C32E687770>


<BACFC7D1B3F3BEF7B5BFC7E22D3133B1C733C8A BFEB2E687770>

*LAC-1211

Transcription:

낸드 플래시 기대 수명을 고려한 쓰기 조절 기법271 낸드 플래시 기대 수명을 고려한 쓰기 조절 기법 (Write Throttling for Expected NAND Flash Memory Lifetime) 김 민 지 신 동 군 (Min Ji Kim) (Dongkun Shin) 요 약 본 논문에서는 낸드 플래시 메모리의 제한적인 수명을 고려하여 스마트 디바이스에서의 메모리 회수 시 과도하게 발생하는 저장 장치에 대한 쓰기를 감소시키는 방법을 제안한다. 기존 운영체제에서의 메모리 회수 정책은 쓰기를 유발하는 더티 페이지 쓰기와 스왑, 쓰기를 유발하 지 않는 클린 페이지 회수와 프로세스 종료가 있다. 이 때, 더티 페이지 쓰기와 스왑으로 인해 저장장치에 과도한 쓰 기 요청이 발생할 경우 수명이 단축되는 문제가 발생할 수 있다. 따라서 메모리 회수 과정에서 발생하는 쓰기에 대한 조절이 필요하다. 제안하는 기법은 모바일 저장장치로 사용 되는 emmc에 대한 쓰기 양을 모니터링 하여 그에 따라 쓰기 조절 상황을 판단하고 메모리 회수 시의 스왑과 더티 페이지 쓰기, 프로세스 종료를 유발하는 조건에 대한 임계 값을 조정하여 낸드 플래시로 유발되는 쓰기 양을 감소시 킨다. 이 결과 같은 워크로드에 대해 전체 쓰기 양이 기존 에 비해 43% 감소하였다. 키워드: 스왑, 낸드 플래시, 더티 페이지 쓰기, 쓰기감소 Abstract In this paper, we propose a NAND flash write throttling technique in memory reclamation. This technique controls the write traffic on NAND flash memory considering the expected NAND flash memory 본 연구는 지식경제부 및 한국산업기술평가관리원의 산업융합원천기술개 발사업(정보통신)의 일환으로 수행하였음. [KI0018-10041244, 스마트 TV 2.0 소프트웨어 플랫폼] 이 논문은 제40회 추계학술발표회에서 낸드 플래시 기대 수명 보장을 위한 스왑 조절 기법 의 제목으로 발표된 논문을 확장한 것임 학생회원 : 성균관대학교 IT융합학과 kimmj0857@skku.edu 종신회원 : 성균관대학교 컴퓨터공학과 교수 dongkun@skku.edu (Corresponding author임) 논문접수 : 2014년 1월 3일 심사완료 : 2014년 3월 6일 CopyrightC2014 한국정보과학회ː개인 목적이나 교육 목적인 경우, 이 저작 물의 전체 또는 일부에 대한 복사본 혹은 디지털 사본의 제작을 허가합니다. 이 때, 사본은 상업적 수단으로 사용할 수 없으며 첫 페이지에 본 문구와 출처 를 반드시 명시해야 합니다. 이 외의 목적으로 복제, 배포, 출판, 전송 등 모든 유형의 사용행위를 하는 경우에 대하여는 사전에 허가를 얻고 비용을 지불해야 합니다. 정보과학회논문지: 컴퓨팅의 실제 및 레터 제20권 제5호(2014.5) lifetime. During the memory reclamation in operating systems, many write requests to the storage are generated - dirty page writeback and swap out. Our technique monitors the write traffic and controls the threshold values for dirty page writeback, swap or process kill. Experiments show that the proposed algorithm reduces the write traffic by 43% without increasing the read traffic significantly. Keywords: swap, writeback, NAND flash memory, write throttling 1. 서 론 최근 스마트 디바이스의 활용도가 높아짐에 따라 다 양한 애플리케이션이 많이 출시되고 있다. 그에 따라 여 러 가지 기능을 실행하기 위한 메모리 요구량이 크게 증가하고 있다. 구글 레퍼런스 폰의 사양을 참고하면, 2008년에 출시된 HTC Dream의 경우 메모리의 크기가 192MB 였으나, 2013년 출시된 넥서스5의 경우 메모리 가 2GB로 그 크기가 약 10배 증가한 것을 알 수 있다. 하지만, 하드웨어적 사양을 높이는 것은 구조적, 비용적 한계가 있기 때문에 모바일 환경의 효율적인 메모리 관 리 기법이 필요하다. 기존의 메모리 회수 정책은 크게 네 가지로 설명할 수 있다. 자주 접근되지 않는 페이지를 별도의 스왑 공 간으로 옮기는 스왑, 더티 페이지 쓰기, 클린 페이지 회 수 그리고 프로세스를 종료하여 여유 메모리를 확보하 는 Out of memory killer(oomk)가 있다. OOMK는 메모리를 가장 많이 할당 받은 프로세스를 종료시키므 로 사용자의 반응성이 중요한 모바일 환경에 적합하지 않다. 따라서 OOMK정책을 모바일 환경에 맞게 수정하 여 안드로이드 플랫폼에 적용된 것이 Low memory killer (LMK)이다. 이 기법의 경우 최근에 실행되지 않 은 백 그라운드 프로세스 중 가장 많은 메모리를 할당 받은 프로세스를 선택해 종료하여 메모리를 회수한다. 스왑과 더티 페이지 쓰기의 경우 저장장치에 대한 쓰기 를 유발하지만 클린 페이지 회수 및 OOMK, LMK의 경우 부가적인 쓰기가 발생하지 않는다. 스마트 디바이스에서 저장장치로 사용되는 낸드 플래 시 기반의 저장장치인 emmc는 빠른 접근 속도를 보장 하기 때문에 최근 스왑이 적용된 스마트 폰이 출시되기 도 하였다. 그러나 스왑을 적용할 경우 스왑 공간으로 사용되는 emmc에 대한 입출력이 과도하게 발생하여 저장장치의 수명을 단축시키는 문제점이 발생할 수 있 다. 또한 메모리가 부족할 때 여유 메모리 공간을 확보 하기 위하여 더티 페이지 쓰기가 자주 발생하는데 이 또한 낸드 플래시의 쓰기를 유발하여 저장장치의 수명을 단축시킬 수 있다. 그림 1은 1200초 동안 넥서스 10 상

272 정보과학회논문지 : 컴퓨팅의 실제 및 레터 제 20 권 제 5 호(2014.5) 그림 1 스왑 적용 여부에 따른 데이터 쓰기 양 비교 Fig. 1 Write Increase by Swap 에서 blktrace를 이용하여 데이터 파티션 영역의 쓰기 데이터 양을 비교한 그래프이다. 쓰기의 속성으로 더티 페이지 쓰기(Writeback)와 스왑 아웃으로 인한 쓰기 (Swap), 파일에 대한 명시적 동기화 쓰기(Sync), EXT4 파일시스템의 저널링으로 발생하는 쓰기(Journal Write), 실험 오버헤드로 인한 부가적 쓰기(Others)와 같이 구분하였다. 스왑을 적용하지 않은 경우와 적용한 경우를 비교할 때 스왑에 의한 쓰기로 인하여 전체 데 이터 쓰기 양이 69MB 증가한 것을 알 수 있다. 또한 스왑과 더티 페이지 쓰기의 비중이 전체 쓰기 중 약 82%로 매우 큰 비중을 차지하는 것을 알 수 있다. 따라 서 플래시 메모리의 제한된 기대 수명을 고려하여 메모 리 회수 시 발생하는 쓰기 양을 조절할 필요성이 있음 을 알 수 있다. 본 논문에서는 낸드 플래시의 기대 수명을 고려하여 메 모리 회수 시 발생하는 저장장치에 대한 쓰기를 감소시키는 기법을 제시한다. emmc 디바이스 드라이버에서 emmc 에 요청되는 전체 쓰기 양을 모니터링하고 그에 따라 메모 리 회수 시 유발되는 쓰기 - 스왑, 더티 페이지 쓰기 - 를 감소시켜 메모리 회수 시 저장장치에 발생하는 쓰기 양을 감소시킨다. 동시에 저장장치에 쓰기를 유발하지 않는 메 모리 회수 방법 - 클린 페이지 회수, LMK - 을 이용하여 메모리 회수 효율에 영향을 미치지 않도록 하였다. 본 논문은 총 6절로 구성되어 있다. 2절에서는 국내외 플래시 기반의 저장장치의 쓰기 감소 기법을 소개하고 3절에서는 낸드 플래시의 특성에 대해 소개한다. 4절에 서 제안하는 메모리 회수에서의 낸드 플래시 쓰기 감소 기법을 소개하고 5절에서는 제안한 기법에 대한 실험 결과를 기술 및 분석하며 6절에서는 결론 및 향후 연구 에 대해 서술한다. 2. 관련 연구 [1]은 최근 반도체 공정의 변화로 인하여 낸드 플래시 메모리의 수명이 감소함에 따라 낸드 플래시 기반의 저 장장치에 대한 수명이 감소하고 있는 문제를 지적하며, 이를 해결하기 위한 방법을 제시하고 있다. 이 기법은 SSD내부의 펌웨어 상에 적용된 것으로 과거의 데이터 쓰기 요구량을 모니터링하여 미래에 요청될 데이터 쓰 기 양을 예측한다. 그 후 예측된 데이터 쓰기 양과 현재 남아 있는 SSD의 수명을 고려하여 쓰기 조절 상황을 판단한 뒤 시간 당 정해진 쓰기 양 이상을 처리하지 못 하도록 강제하여 SSD의 수명을 보장한다. 그러나 쓰기 조절 상황에서 강제로 저장장치의 성능을 떨어뜨려 빠 른 SSD의 성능을 충분히 활용할 수 없는 단점이 있다. 이 밖에도 낸드 플래시 메모리의 특성으로 인하여 발생 하는 가비지 콜렉션(Garbage Collection)과 마모도 평 준화(Wear-leveling)을 최적화[2]하거나 데이터 압축[3] 및 중복 데이터 제거[4]를 통해 SSD의 수명을 개선하 는 연구들이 있다. 위의 기법들은 낸드 플래시 기반의 저장장치에 대한 쓰기 양을 감소시키는데 효과적이나 SSD 내부의 펌웨 어에서의 쓰기 양 조절 기법인 것에 반해, 제안하는 기 법의 경우 운영체제 수준에서의 구현으로 쓰기 종류에 따라 쓰기 조절을 하여 수명 감소를 늦출 수 있고 emmc 또는 SSD의 빠른 성능을 충분히 활용할 수 있 다는 점에서 기존 연구들과 확연한 차이가 있다. 3. 낸드 플래시 메모리의 특성 낸드 플래시 메모리의 특성을 크게 세 가지로 나누어 설명하면 첫 번째로 낸드 플래시 메모리는 비 휘발성 저장장치이며 하드디스크에 비해 임의 접근 속도가 빠 른 장점이 있다. 두 번째 특성으로 페이지 단위(4KB, 8KB)의 읽기 및 쓰기가 가능하나 덮어쓰기가 불가능하 고 지우기의 단위가 페이지보다 큰 블록 단위이므로 FTL(Flash Translation Layer)에서 페이지와 블록에 대한 매핑 정보를 관리한다. 세 번째로 블록 당 지우기 횟수가 한정되어 있으므로 제한된 수명을 가진다는 점 이다. 낸드 플래시의 수명은 메모리 셀 당 Program/Erase(P/E) cycle로 결정되며 P/E cycle이 증 가할수록 플래시 메모리는 점차 손상되어 데이터에 대 한 신뢰도가 감소한다. 최근 반도체 공정이 Single-Level Cell(SLC) 기법에서 Multi- Level Cell(MLC)로 변함에 따라 저장 용량은 증가하였지만, 기존 SLC에서의 최대 허용 가능한 P/E cycle이 약 100K회였으나 3-bit MLC의 경우 약 100회의 P/E cycle로 감소하였다. 또한 사용자의 워크로드가 다양하 고 쓰기 양이 수시로 변화하기 때문에 실제 낸드 플래 시의 수명을 예측하기 어렵다. 따라서 낸드 플래시 기반 의 저장장치의 수명을 고려하여 저장장치로 요청되는 쓰기의 양을 감소시키는 효과적인 방법이 필요하다.

낸드 플래시 기대 수명을 고려한 쓰기 조절 기법273 4. 메모리 회수 시 유발되는 쓰기 조절 4.1 주기적인 메모리 해제 과정 본 논문에서 제안하는 기법은 리눅스 커널을 토대로 구현되었으므로 리눅스의 주기적인 메모리 해제 과정에 대해 간략하게 소개한다. 리눅스 커널 내의 kswapd 쓰 레드는 메모리 구역 별 워터마크(LOW_WATERMARK) 와 여유 메모리 공간을 비교하여 여유 메모리 공간이 워터마크보다 적은 메모리 구역부터 메모리 회수가 발 생한다. 이 때 메모리 회수 대상으로 선정된 메모리 구 역 내의 페이지를 관리하는 LRU(Least Recently Used) 리스트를 부분적으로 스캐닝하여 희생 페이지를 선정한 뒤 회수한다. 위의 회수 과정의 경우 메모리 구역 내의 여유 메모리 공간이 HIGH_WATERMARK이상 확보될 때까지 반복하며 최대 12번 반복된다. 4.2 제안하는 기법 알고리즘 1은 제안하는 기법을 요약한 것으로 주기적 인 메모리 해제 과정 시 적용한 것이다. 낸드 플래시 기 반 저장장치의 전체 가능 쓰기 양(W total)은 다음과 같이 구할 수 있다. W total = C N (C: SSD capacity, N: Max P/E cycles) 이 값은 디바이스를 사용하는 기간 중 저장 장치에 최대 로 쓸 수 있는 쓰기 양을 의미하는 것으로 저장 장치의 성능 보장 기간을 T라고 할 때 단위 시간 당 저장 장치 의 쓰기 가능 양(W unit)은 다음과 같이 구할 수 있다. W unit = W total / T 본 논문에서 제시하는 기법에서는 이 단위 시간을 분 단위 로 계산하여 사용하였다(MMC_WRITE_PER_MINUTE). 위 값을 이용하여 디바이스의 사용 기간(t)에 대한 저장 장치 가능 쓰기 양을 얻을 수 있다. W target(t) = W unit t W target(t)과 emmc 디바이스 드라이버에서 모니터링 한 현재까지의 저장 장치 쓰기 요청 양(W real(t))을 비교 하여 쓰기 조절 상황임을 판단하게 된다. 쓰기 조절 상황 인 경우 스왑, 더티 페이지 쓰기와 LMK의 우선순위를 결 정할 때 사용되는 throttle_loop 값을 0으로 초기화 하고 메모리 회수가 반복될 때마다 1씩 증가한다(4~14줄). 그 리고 소극적 스왑의 적용을 위해 LRU 리스트에서 스왑 아웃의 희생 페이지 결정 시 리스트의 탐색 범위를 결정 하는 값인 scanning_ratio를 조절하여 스왑 아웃의 대상 이 되는 익명 페이지의 비율을 감소시킨다(15~17줄). 다음은 주기적인 메모리 회수 과정에서 쓰기 조절을 적용한 부분으로 쓰기 조절 기법에서 고려한 메모리 회 수 기법은 더티 페이지 쓰기, 스왑, LMK이다. 이 세 가 지 기법 중 쓰기를 유발하지 않는 LMK에 가장 높은 우선순위를 부여하였고, 가장 많은 쓰기를 유발하는 더 티 페이지 쓰기의 경우 우선 순위를 가장 낮게 적용하 여 최대한 메모리에 더티 페이지를 유지하도록 하였다. 더티 페이지 쓰기는 반드시 필요한 작업이지만, 메모리 에 더티 페이지가 유지될 경우 메모리 적중 효과를 볼 수 있는 장점이 있다. 모든 메모리 회수 반복 시 클린 페이지 회수는 발생하나 LMK, 스왑, 더티 페이지 쓰기 의 경우 throttle_loop값과 각 기법들의 임계 값인, 과의 비교를 통해 메모리 회수를 수행한다. 알고리즘 1을 참고하면, 메모리 회수 과정이 반복되면 서 throttle_loop의 값이 증가하여 이상이 되는 경우 메모리 회수 기법 중 쓰기를 유발하지 않는 LMK를 우 선적으로 적용하여 메모리 회수를 수행한다(25~27줄). 회수하고자 하는 메모리의 양을 충분히 회수하지 못할 경우 메모리 회수 동작이 반복되면서 threshold_loop값 이 증가하는데 이 때 이상 반복되는 경우 메모리 회 수가 클린 페이지 회수와 LMK만으로 충분하지 않다고 판단하여 스왑을 추가적으로 수행하는 것으로 메모리 회수의 효율을 높이게 된다(18~24줄). 더티 페이지 쓰기 의 경우에도 클린 페이지 회수, LMK, 스왑을 통한 메 모리 회수의 효율이 낮아서 메모리 회수 동작이 반복되 었기 때문에 threshold_ loop의 값이 이상이 될 때 더티 페이지 쓰기를 가능하게 하여 클린 페이지를 확보

274 정보과학회논문지 : 컴퓨팅의 실제 및 레터 제 20 권 제 5 호(2014.5) 그림 2 제안하는 알고리즘의 동작 Fig. 2 Write Throttling with Three threshold values 하여 메모리 회수의 효율을 높인다(28~32줄). 이는 더 티 페이지 쓰기를 담당하는 flusher 쓰레드의 동작을 제 어하는 파라미터들과는 별개로 주기적인 메모리 회수 단계에서 유발되는 더티 페이지 쓰기를 차단하여 쓰기 를 조절하는 동작이다. 그림 2는 위에서 설명한 알고리 즘의 동작을 도식화 하여 표현한 것이다. 5. 실험 및 평가 5.1 실험 환경 본 실험에서는 넥서스 10의 커널 3.4.5 버전에서 구현 되었으며 안드로이드 4.2.2 버전에서 실험하였다. 스왑을 적용하지 않은 경우, 일반 스왑을 적용한 경우, 쓰기 조 절 기법이 적용된 경우에 대해 구글 플레이의 인기 애 플리케이션 16개를 무작위로 3번 반복 실행하였다. blktrace를 이용하여 쓰기의 속성에 따라 결과를 비교, 분석하였다. 쓰기 조절 기법의 경우 항상 쓰기 조절 상 황이라는 것으로 가정하여 쓰기 조절 기법을 통해 최대 로 얻을 수 있는 쓰기 감소 양을 관찰하고자 하였다. 실 험에서 가정한 P/E cycle의 수는 1000번이다. 실험에 사용한 값은 각각 9, 6, 2로 더티 페이지 쓰 기의 경우 메모리 회수 과정이 전체 반복 횟수의 3/4 이상 반복될 경우, 스왑의 경우 1/2, LMK의 경우 1/6 이상 반복될 경우 실행되도록 적용하여 실험 하였다. 넥서스 10의 메인 메모리의 크기는 2GB이며 디바이 스 부팅 후 가용 메모리는 약 700MB이다. 스왑 공간으 로 사용된 넥서스 10의 총 emmc 용량은 16GB이며 저장장치의 보장 수명을 2년으로 가정하고 emmc의 최 대 쓰기 용량을 계산하여 실험하였다. 스왑 공간은 데이 터 파티션 내의 256MB 크기의 스왑 파일을 만들어 실 험 하였다. 5.2 emmc에 대한 쓰기, 읽기 요청 비교 그림 3은 제안하는 기법을 적용하였을 때 실제로 emmc에 대한 데이터 쓰기 양이 감소하는 지를 알아보 기 위하여 스왑 미 적용, 일반 스왑 적용, 쓰기 조절 기 법이 적용된 경우에 대하여 데이터 쓰기 양을 비교한 것이다. 또한 제안하는 기법에 의한 성능적 영향을 관찰 하기 위하여 데이터 읽기 양도 함께 비교하였다. 목표 쓰기 양에 대한 실제 쓰기 양을 비교하기 위해 실험 시간 동안의 목표 쓰기 양을 계산하면 동일한 워 크로드를 실행하는데 걸린 시간(약 1500초) 동안 목표 쓰기 양은 약 600MB이며 그림 3의 그래프 상의 점선 이 계산된 목표 쓰기 양을 나타낸다. 스왑을 적용하지 않은 경우에 비해 스왑을 적용할 때 emmc에 요청된 총 데이터 쓰기 양이 약 5배 증가하였는데 이는 주로 여유 메모리 확보를 위해 접근되지 않는 페이지를 emmc 내의 스왑 공간으로 내 쫓아 발생하였다. 그에 비해 쓰기 조절 기법이 적용된 경우 스왑을 적용한 경 우에 비해 총 데이터 쓰기 양이 약 43% 감소하였는데 이는 전체 데이터 쓰기 양에서 큰 비중을 차지하고 있 던 스왑으로 인한 쓰기가 크게 감소했기 때문이다. 또한 스왑 아웃 양과 더티 페이지 쓰기 양을 비교할 경우 일 반 스왑을 사용하였을 때와 비교하여 더티 페이지 쓰기 의 경우 이전에 비해 27% 감소하였고 스왑 아웃 양의 경우 약 49% 감소하여 더티 페이지 쓰기와 스왑에 의 한 쓰기 감소 모두 효과를 보였다. 목표 쓰기 양과 비교 하면 쓰기 조절 기법을 적용한 경우에 약 14MB의 쓰기 양이 초과된 것을 알 수 있다. 이는 4.2절에서 언급했듯 이 현재 구현된 알고리즘이 간접적인 쓰기 조절이고 메 모리 회수 기법 별 임계 값이 사용자 워크로드와 무관 하게 고정되어 있으므로 실제 쓰기 양이 항상 목표 쓰 기 양에 만족하는 것은 어렵다. 따라서 워크로드 상황에 따라 동적으로 값을 조정하여 목표 쓰기 양 을 충분히 활용하면서 쓰기 조절의 목표를 달성할 수 있는 알고리즘의 구현이 필요하다. 데이터 읽기 양을 분 석하면 스왑을 사용하지 않을 때에 비하여 스왑을 사용 할 때 약 8% 증가하는 것을 볼 수 있다. 그러나 스왑을 적용한 경우와 쓰기 조절 기법을 적용한 경우를 비교할 때 후자의 경우 읽기 양이 줄어드는 것을 볼 수 있는데 이는 스왑 영역에 대한 읽기가 감소하여 생긴 결과로 제안하는 기법에서 스왑으로 인한 쓰기 양이 줄어들었 기 때문에 그로인해 읽기 양 또한 줄어든 것을 알 수 그림 3 제안한 기법의 읽기, 쓰기 양 비교 Fig. 3 Comparison on Read/Write Amount

낸드 플래시 기대 수명을 고려한 쓰기 조절 기법275 표 1 제안한 기법의 메모리 회수 비교 Table 1 Comparison on Amount of Memory Reclamation (MB) No Swap Swap Throttling Clean Eviction 195.68 146.28 168.02 Low Memory Killer 880.73 344.93 568.78 있다. 또한 스왑을 적용하지 않은 경우에 비해 읽기 양이 감소한 것을 알 수 있는데 이는 표 1의 내용을 통해 설 명 가능하다. 표 1은 클린 페이지 회수(Clean Eviction) 와 LMK를 이용한 메모리 회수 양을 나타낸 표이다. 스 왑을 적용하지 않았을 때 클린 페이지 회수 및 LMK를 이용한 메모리 회수가 다른 경우에 비해 매우 많기 때 문에 그로 인한 emmc 읽기가 많이 발생하여 제안하는 기법에서는 읽기 양이 기존에 비해 감소한 것을 알 수 있다. 5.3 애플리케이션 동작 비교 제안한 쓰기 조절 기법에서 LMK를 우선적으로 적용 하여 메모리를 회수하기 때문에 LMK에 의해 종료된 애플리케이션을 다시 실행하는 경우 오버헤드가 발생할 수 있으므로 이에 대한 관찰이 필요하다. 그림 4는 안드로이드 플랫폼에서 제공하는 Logcat 메 시지를 이용하여 그림 3의 실험과 동일한 시나리오 상 에서 애플리케이션의 동작을 관찰한 것이다. 애플리케이 션의 동작은 최초 시작 애플리케이션 수(Cold Start), 메 모리에 로드되어 있는 애플리케이션을 실행한 수(Warm Start), LMK로 종료된 애플리케이션 수(LMK)로 구분 하여 관찰하였다. 백 그라운드 애플리케이션 제한에 의 한 영향을 제외하기 위해 안드로이드 플랫폼의 MAX_ HIDDEN_APPS값을 무한대로 설정하여 실험하였다. 실 험 시나리오가 동일한 16개의 애플리케이션에 대해 반 복되므로 LMK의 발생 횟수가 증가할수록 Cold Start 발생 횟수가 증가하고 그에 비해 Warm Start의 수는 감소하게 된다. 따라서 Cold Start 횟수가 제안하는 기 법의 오버헤드라고 할 수 있다. Cold Start값을 비교하 면, 스왑을 적용했을 때 LMK 적용보다 우선적으로 스 왑을 통해 메모리 회수를 하기 때문에 LMK발생 횟수가 감소하게 된다. 따라서 그로 인해 스왑을 적용했을 때 Cold Start발생 횟수가 감소하는 것과 동시에 Warm Start의 발생 횟수가 증가한다. 그에 비해 쓰기 조절 기 법을 적용하였을 때는 반대로 LMK를 우선적으로 이용 하여 메모리를 회수하기 때문에 LMK의 발생 횟수가 증가하여 Cold Start 발생 횟수가 증가한다. 그러나 기 존에 스왑을 적용하지 않은 경우보다 LMK 발생 횟수 가 적은 것을 알 수 있는데 이는 스왑을 이용하여 메모 리가 회수되기 때문에 메모리 압력이 완화되어 LMK의 그림 4 제안하는 기법에 대한 애플리케이션 동작 Fig. 4 Comparison on Application Action 발생 횟수가 감소하기 때문이다. 따라서 제안하는 기법 에 의해 발생하는 오버헤드는 크지 않은 것을 알 수 있다. 5. 결론 및 향후 연구 본 논문에서는 운영체제 수준에서 낸드 플래시 기반 저장장치에 대한 쓰기를 감소시켜 낸드 플래시 기반 저 장장치의 수명을 보장하는 기법을 제안하고 그로 인해 얻을 수 있는 효과에 대해 실험을 통해 제시하고 있다. 호스트로부터 저장장치로 요청되는 쓰기 양을 모니터링 하여 주기적인 메모리 회수 시 발생하는 스왑, 더티 페 이지 쓰기로 인해 발생하는 과도한 데이터 쓰기 문제를 여러 메모리 회수 방법에 대해 임계 값 조정을 통해 해 결하였다. 그 결과 43%의 쓰기 감소를 보였으며 LMK 적용으로 인한 오버헤드가 크지 않은 것을 확인하였다. 향후에는 워크로드 상황에 따른 쓰기 조절 동적 모델 링에 대한 연구를 진행할 필요가 있다. References [1] S. Lee, T. Kim, J. Park, J. Kim, "An integrated approach for managing the lifetime of flash-based SSDs," Proceedings of the Conference on Design, Automation and Test in Europe, pp.1522-1525, March. 2013. [2] S. Lee, D. Shin, Y.-J. Kim, and J. Kim, "LAST: Locality-Aware Sector Translation for NAND Flash Memory-Based Storage Systems," ACM SIGOPS Operating Systems Review, 2008. [3] K. Yim, H. Bahn, and K. Koh, "A Flash Compression Layer for Smartmedia Card Systems," IEEE Transactions on Consumer Electronics, 2004. [4] F. Chen, T. Luo, and X. Zhang, "CAFTL: A Content-Aware Flash Translation Layer Enhancing the Lifespan of Flash Memory Based Solid State Drives," in Proceedings of the USENIX Conference on File and Storage Technologies, 2011.