3
낸드 플래시 기대 수명 보장을 위한 스왑 조절 기법 김민지 O , 신동군 성균관대학교 정보통신대학 [email protected], [email protected] Swap Throttling for Guaranteeing NAND Flash Memory Life Expectancy Min Ji Kim O , Dongkun Shin College of Information and Communication Engineering, Sungkyunkwan University 최근 스마트 디바이스의 활용도가 높아지는 가운데, 디바이스의 메모리 자원 관리 이슈에 대한 관심이 높아지고 있다. 따라서 스마트 디바이스에 대하여 스왑의 적용을 고려할 수 있다. 그러나 스왑을 적용하는 경우 스왑으로 인 한 과도한 쓰기 요청으로 인해 스왑 공간으로 이용되는 낸드 플래시 기반의 저장장치의 수명이 단축되는 문제가 발 생할 수 있다. 본 논문에서는 스마트 디바이스에 스왑을 적용하였을 때 발생할 수 있는 수명 단축 문제를 해결하는 알고리즘을 제시하고 그에 따른 효과를 기존의 스왑과 비교하여 제시하고 있다. 1. 서 론 1 최근 스마트 디바이스의 활용도가 높아짐에 따라 다양한 기능을 제공하는 애플리케이션이 많이 출시되고 있다. 그에 따라 다양하고 많은 기능의 실행을 위한 메모리 사용량이 점차 높아지고 있는 실정이다. 구글 레퍼런스 폰의 사양을 참고하면, 2008년에 출시된 HTC Dream의 경우 메모리의 크기가 192MB로 출시되었지만 2012년 출시된 넥서스 4의 경우 메모리가 2GB로 약 10배 증가한 것을 볼 수 있다.[1] 하지만, 이러한 하드웨어적 사양이 높아지는 것은 스마트 디바이스의 구조적 한계 및 가격 상승의 요인이 되므로 한계가 존재한다. 따라서 운영체제 내에서 메모리 자원을 효과적으로 관리할 필요가 있다. 스마트 디바이스의 메모리 관리를 위해 기존의 운영체제에서 사용되던 스왑(Swap) 기법의 적용을 고려할 수 있다. 스왑 기법이란, 주 메모리 공간과 보조 기억 장치 내의 스왑 공간을 하나의 가상 메모리 공간으로 제공하여 실제 주 메모리 공간이 부족할 경우 메모리상의 자주 접근되지 않는 페이지를 스왑 공간으로 옮기는 것으로 주 메모리 공간을 확보하는 기법이다. 최근 스마트 디바이스에서 사용되는 낸드 플래시 기반의 저장장치인 eMMC(embedded Multi- media Card)는 빠른 입출력 속도를 보장하므로 스왑 공간으로 활용 가능하다. 그러나 스왑을 적용할 경우 그로 인해 스왑 공간으로 사용되는 낸드 플래시에 대한 입출력이 과도하게 발생하여 낸드 플래시의 수명을 이 논문은 2010년도 정부(미래창조과학부)의 재원으로 한국연 구재단-차세대정보∙컴퓨팅기술개발사업의 지원을 받아 수행된 연구임(No.2010-0020724) 1 단축시키는 문제점이 발생할 수 있다. 논문은 스마트 디바이스에 스왑 기법을 적용 하였을 때 발생할 수 있는 낸드 플래시의 수명 단축 문제를 해결할 수 있는 알고리즘을 제시하고 적용했을 때 얻을 수 있는 효과를 실험 결과를 통해 제시한다. 2. 낸드 플래시의 특성 낸드 플래시의 특성을 크게 세 가지로 나누어 설명할 수 있다. 첫 번째로 낸드 플래시의 경우 전력이 없는 상태에서도 내부의 데이터가 유지되는 휘발성 저장장치이다. 전기 신호를 통해 데이터를 저장 및 접근할 수 있기 때문에 기존의 하드디스크에 비해 임의 접근 속도가 빠른 장점이 있다. 두 번째로 페이지 크기의 단위로 읽기와 쓰기가 가능하나 덮어쓰기가 불가능 하고 지우기의 단위가 페이지보다 블록 단위이므로 별도의 소프트웨어 층(플래시 변환 계층)이 페이지와 블록에 대한 매핑 정보를 관리해 주어야 한다. 번째 특징은 블록 지우기 횟수가 한정되어 있으므로 낸드 플래시의 수명이 제한되는 점이다. 따라서 플래시 변환 계층에서 낸드 플래시 내부의 블록 당 지우기 횟수를 고르게 하는 웨어 레벨링(Wear- leveling) 관리를 하여 낸드 플래시의 수명을 관리해야 한다. 본 논문에서는 낸드 플래시의 특징 중 세 번째로 소개한 제한적인 낸드 플래시의 수명 문제에 초점을 맞추어 스마트 디바이스에 스왑을 적용할 때 과도한 쓰기 요청이 발생을 줄여 낸드 플래시 기반의 저장장치의 수명을 보장하는 기법을 소개하고자 한다. 3. 스왑 조절 기법 알고리즘 2013 추계학술발표회 논문집

!ì& F@(Ì4 d$4 3L+¹ .(8Ù8x 88F 3Ø7 9¤9< d-É - SKKUnyx.skku.ac.kr/publications/papers/14-412.pdf · &H-H8¨3Ø8 .´D9 Gø 47Ý + +Ü*à#È 6± 700MB 8¨$ . 3Ø7 ) 88p) 1à7Ý%P

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: !ì& F@(Ì4 d$4 3L+¹ .(8Ù8x 88F 3Ø7 9¤9< d-É - SKKUnyx.skku.ac.kr/publications/papers/14-412.pdf · &H-H8¨3Ø8 .´D9 Gø 47Ý + +Ü*à#È 6± 700MB 8¨$ . 3Ø7 ) 88p) 1à7Ý%P

낸드 플래시 기대 수명 보장을 위한 스왑 조절 기법

김민지O, 신동군

성균관대학교 정보통신대학

[email protected], [email protected]

Swap Throttling for Guaranteeing NAND Flash Memory Life Expectancy

Min Ji KimO, Dongkun Shin

College of Information and Communication Engineering, Sungkyunkwan University

요 약

최근 스마트 디바이스의 활용도가 높아지는 가운데, 디바이스의 메모리 자원 관리 이슈에 대한 관심이 높아지고

있다. 따라서 스마트 디바이스에 대하여 스왑의 적용을 고려할 수 있다. 그러나 스왑을 적용하는 경우 스왑으로 인

한 과도한 쓰기 요청으로 인해 스왑 공간으로 이용되는 낸드 플래시 기반의 저장장치의 수명이 단축되는 문제가 발

생할 수 있다. 본 논문에서는 스마트 디바이스에 스왑을 적용하였을 때 발생할 수 있는 수명 단축 문제를 해결하는

알고리즘을 제시하고 그에 따른 효과를 기존의 스왑과 비교하여 제시하고 있다.

1. 서 론1

최근 스마트 디바이스의 활용도가 높아짐에 따라

다양한 기능을 제공하는 애플리케이션이 많이 출시되고

있다. 그에 따라 다양하고 많은 기능의 실행을 위한

메모리 사용량이 점차 높아지고 있는 실정이다. 구글

레퍼런스 폰의 사양을 참고하면, 2008년에 출시된 HTC

Dream의 경우 메모리의 크기가 192MB로 출시되었지만

2012년 출시된 넥서스 4의 경우 메모리가 2GB로 약

10배 증가한 것을 볼 수 있다.[1] 하지만, 이러한

하드웨어적 사양이 높아지는 것은 스마트 디바이스의

구조적 한계 및 가격 상승의 요인이 되므로 한계가

존재한다. 따라서 운영체제 내에서 메모리 자원을

효과적으로 관리할 필요가 있다.

스마트 디바이스의 메모리 관리를 위해 기존의

운영체제에서 사용되던 스왑(Swap) 기법의 적용을

고려할 수 있다. 스왑 기법이란, 주 메모리 공간과 보조

기억 장치 내의 스왑 공간을 하나의 가상 메모리

공간으로 제공하여 실제 주 메모리 공간이 부족할 경우

메모리상의 자주 접근되지 않는 페이지를 스왑

공간으로 옮기는 것으로 주 메모리 공간을 확보하는

기법이다. 최근 스마트 디바이스에서 사용되는 낸드

플래시 기반의 저장장치인 eMMC(embedded Multi-

media Card)는 빠른 입출력 속도를 보장하므로 스왑

공간으로 활용 가능하다. 그러나 스왑을 적용할 경우

그로 인해 스왑 공간으로 사용되는 낸드 플래시에 대한

입출력이 과도하게 발생하여 낸드 플래시의 수명을

이 논문은 2010년도 정부(미래창조과학부)의 재원으로 한국연

구재단-차세대정보∙컴퓨팅기술개발사업의 지원을 받아 수행된

연구임(No.2010-0020724)1

단축시키는 문제점이 발생할 수 있다.

본 논문은 스마트 디바이스에 스왑 기법을 적용

하였을 때 발생할 수 있는 낸드 플래시의 수명 단축

문제를 해결할 수 있는 알고리즘을 제시하고 적용했을

때 얻을 수 있는 효과를 실험 결과를 통해 제시한다.

2. 낸드 플래시의 특성

낸드 플래시의 특성을 크게 세 가지로 나누어 설명할

수 있다. 첫 번째로 낸드 플래시의 경우 전력이 없는

상태에서도 내부의 데이터가 유지되는 비 휘발성

저장장치이다. 전기 신호를 통해 데이터를 저장 및

접근할 수 있기 때문에 기존의 하드디스크에 비해 임의

접근 속도가 빠른 장점이 있다. 두 번째로 페이지

크기의 단위로 읽기와 쓰기가 가능하나 덮어쓰기가

불가능 하고 지우기의 단위가 페이지보다 큰 블록

단위이므로 별도의 소프트웨어 층(플래시 변환 계층)이

페이지와 블록에 대한 매핑 정보를 관리해 주어야 한다.

세 번째 특징은 블록 당 지우기 횟수가 한정되어

있으므로 낸드 플래시의 수명이 제한되는 점이다.

따라서 플래시 변환 계층에서 낸드 플래시 내부의 블록

당 지우기 횟수를 고르게 하는 웨어 레벨링(Wear-

leveling) 관리를 하여 낸드 플래시의 수명을 관리해야

한다. 본 논문에서는 낸드 플래시의 특징 중 세 번째로

소개한 제한적인 낸드 플래시의 수명 문제에 초점을

맞추어 스마트 디바이스에 스왑을 적용할 때 과도한

쓰기 요청이 발생을 줄여 낸드 플래시 기반의

저장장치의 수명을 보장하는 기법을 소개하고자 한다.

3. 스왑 조절 기법 알고리즘

2013 추계학술발표회 논문집

Page 2: !ì& F@(Ì4 d$4 3L+¹ .(8Ù8x 88F 3Ø7 9¤9< d-É - SKKUnyx.skku.ac.kr/publications/papers/14-412.pdf · &H-H8¨3Ø8 .´D9 Gø 47Ý + +Ü*à#È 6± 700MB 8¨$ . 3Ø7 ) 88p) 1à7Ý%P

2013 추계학술발표회 논문집

Page 3: !ì& F@(Ì4 d$4 3L+¹ .(8Ù8x 88F 3Ø7 9¤9< d-É - SKKUnyx.skku.ac.kr/publications/papers/14-412.pdf · &H-H8¨3Ø8 .´D9 Gø 47Ý + +Ü*à#È 6± 700MB 8¨$ . 3Ø7 ) 88p) 1à7Ý%P

4. 실험

본 알고리즘을 통해 얻고자 하는 목표는 스왑에 의한

eMMC 쓰기 요청을 감소시켜 eMMC의 수명을 보장하는

것이 목표이다. 따라서 실험을 통해 실제 eMMC의 읽기,

쓰기 요청 블록 수를 통해 본 알고리즘을 통해 얻을 수

있는 효용성을 확인하였다. 또한 스왑 조절 기법으로

인하여 유발될 수 있는 더티 페이지 쓰기, 클린 페이지

제거율을 통해 유기적인 인과관계를 확인하였다.

4.1 실험 환경

본 논문의 실험에서는 넥서스10의 커널 3.4.5버전

소스에 스왑 조절 기법을 적용하여 실험하였다.

안드로이드 4.2.2 버전에서 실험 하였으며 스왑을

적용하지 않은 경우, 일반 스왑을 적용한 경우, 스왑

조절 기법이 적용된 스왑에 대해 구글 플레이의 인기

애플리케이션 16개를 무작위로 3번 반복 실행하여 비교,

분석하였다. 넥서스10의 메인 메모리 크기는 2GB이며

디바이스의 부팅 후 가용 메모리는 약 700MB이다.

스왑 공간으로 사용된 넥서스10의 총 eMMC 크기는

16GB이며 스왑 공간은 데이터 파티션 내의

256MB크기의 스왑 파일을 생성하여 실험 하였다.

4.2 eMMC에 대한 쓰기, 읽기 요청의 비교

그림 3는 스왑을 적용하지 않은 경우(No Swap),

기존의 스왑을 적용한 경우(Original Swap)와 본

논문에서 제안한 스왑 조절 기법(Swap Throttling)에서

eMMC에 요청된 읽기, 쓰기 블록 수를 나타낸 것이다.

이 실험에서 실제 스왑을 적용한 경우(Original Swap)가

그렇지 않은 경우(No Swap)에 비해 eMMC에 대한 쓰기

요청이 약 17% 증가하는 것을 알 수 있다. 그와 함께

읽기 요청도 또한 약 16% 증가하였는데, 그 이유는

스왑 아웃된 익명 페이지를 다시 스왑 인 할 때 읽기

요청이 발생하기 때문이다. 기존의 스왑(Original

Swap)과 스왑 조절 기법(Swap Throttling)을 적용한

경우를 비교하였을 때 eMMC에 대한 쓰기 요청은 약

11% 줄어든 것을 알 수 있는데 원인은 그림 4와 표

1의 결과를 함께 고려할 때 소극적인 스왑 및 그로

인해 유발되는 더티 페이지 쓰기가 감소하여 얻은

효과이다. 반면 읽기 요청이 증가한 이유는 스왑 및

더티 페이지 쓰기가 감소한 대신 클린 페이지 제거가

많이 발생하여 그에 대한 읽기 요청이 많이 발생한

것을 알 수 있다. 하지만 eMMC의 수명에 대한

측면에서 읽기 요청은 수명에 큰 영향을 미치지 않으며,

eMMC의 특성 상 빠른 읽기 요청을 수행할 수

있으므로 성능에 큰 영향을 미치지 않는다.

5. 결론

본 논문에서는 스마트 디바이스의 메모리 관리에서

스왑을 적용하였을 때 발생할 수 있는 낸드 플래시

저장장치의 수명 단축 문제를 해결하는 스왑 조절

기법을 제시하고 그로 인해 얻을 수 있는 효과에

대하여 실험을 통해 제시하고 있다. 낸드 플래시

저장장치를 사용하는 스마트 디바이스에 스왑을

적용하는 경우 스왑으로 인한 과도한 쓰기 요청으로

저장장치의 수명이 줄어드는 단점이 있었다. 본

논문에서 제시하는 기법은 실제 eMMC에 대한 쓰기

요청에 따라 스왑의 양을 조절하는 것으로 eMMC의

수명을 보장 한다. 제안한 기법을 적용했을 때 기존의

스왑에 비해 쓰기 요청이 약 11% 줄어들어 eMMC의

수명을 보장하는데 효과가 있을 것으로 보인다.

참 고 문 헌

[1] Android Device Gallary, http://www.android.com/devices

[2] Daniel P. Bovet, Marco Cesati Ph.D., Understanding the

Linux Kernel, Third Edition, 2005

0

50

100

150

200

eMMC eMMC읽

x 10000

No Swap

Original Swap

Swap Throttling

0

5

10

15

20

25

x 10000

No Swap

Original Swap

Swap Throttling

스왑 공간 사용 용량

No Swap 43960 KB

Swap Throttling 35668 KB

그림 3 eMMC에 요청된 읽기, 쓰기의 블록 수

그림 4 더티 페이지 쓰기와 클린 페이지 제거 개수

표 1 기존의 스왑과 제안하는 기법의 스왑 용량 비교

2013 추계학술발표회 논문집