2007 년 3 월전자공학회논문지제 44 권 SD 편제 3 호 43 논문 2007-44SD-3-7 지연이중버퍼링 : OneNAND 플래시를이용한 페이지반입비용절감기법 ( Delayed Dual Buffering: Reducing Fault Latency in Demand Paging for OneNAND Flash Memory ) 주용수 *, 박재현 **, 정성우 ***, 정의영 ****, 장래혁 * * ( Yongsoo Joo, Jaehyun Park, Sung Woo Chung, Eui-Young Chung, and Naehyuck Chang ) 요 약 NAND 와 NOR 플래시의장점을결합한 OneNAND 플래시가출시되면서기존의 NAND 플래시를빠르게대체하게되었다. 하지만기존의 NAND 플래시기반요구페이징시스템에서는 OneNAND 플래시의기능들이제대로활용되지않았다. 본연구에서는 OneNAND 플래시의임의접근기능과이중페이지버퍼를활용하는새로운 OneNAND 플래시기반요구페이징기법인지연이중버퍼링기법을제안하였다. 이기법은요구된페이지를페이지버퍼로부터주기억장치로이동하는데걸리는시간을효과적으로절감함으로써페이지반입비용을절감하였다. 실험결과, 본연구에서제안한기법은평균 28.5% 의수행시간절감효과와 4.4% 의페이징시스템에너지절감효과를보였다. Abstract OneNAND flash combines the advantages of NAND and NOR flash, and has become an alternative to the former. But the advanced features of OneNAND flash are not utilized effectively in demand paging systems designed for NAND flash. We propose delayed dual buffering, a demand paging system which fully exploits the random-access I/O interface and dual page buffers of OneNAND flash demand paging system. It effectively reduces the time of page transfer from the OneNAND page buffer to the main memory. On average, it achieves and 28.5% reduction in execution time and 4.4% reduction in paging system energy consumption. Keywords : OneNAND, Flash, Demand paging, execute-in-place Ⅰ. 서론 내장형시스템에서는 ROM과같은비휘발성저장장치에프로그램코드를저장한다. NOR 플래시는 ROM 과유사한구조를가지고있어워드단위의개별적인 * ** 정회원, 학생회원, 서울대학교전기컴퓨터공학부 (School of Computer Science and Engineering, Seoul National University) *** 정회원, 고려대학교컴퓨터통신공학부 (Division of Computer and Communication Engineering, Korea University) **** 정회원, 연세대학교전기전자공학부 (School of Electrical & Electronic Engineering, Yonsei University) 접수일자 : 2006년10월13일, 수정완료일 : 2007년2월7일 접근이가능하며임의접근 (random access) 에적합한입출력인터페이스를제공한다. 따라서플래시에저장된프로그램을직접접근, 실행하는것이가능하며이러한기능을 XIP(eXecute-In-Place) 라고한다. NAND 플래시는단위면적당집적도가높아저비용으로대용량의저장공간을제공할수있어파일시스템이나사용자데이터를저장하는용도에적합하다. 하지만 NAND 플래시는 XIP를지원하지않기때문에 NAND 플래시에저장된프로그램을실행하기위해서는이를 XIP를지원하는 SRAM 등의주기억장치로먼저복사한후주기억장치에서실행해야한다. 이를코드쉐도잉 (code shadowing) 이라하는데, 프로그램이항상 * 고속의주기억장치에서실행되기때문에실행속 (270)
44 지연이중버퍼링 : OneNAND 플래시를이용한페이지반입비용절감기법주용수외 CPU CPU CPU Code Code Data Code Code Code Data NOR SRAM File File Data system system SRAM NAND SRAM NAND a) NOR XIP b) Code shadowing c) Demand paging 그림 1. 플래시메모리시스템구조 Fig. 1. Flash memory system architectures. 도가빠르지만사용빈도가낮은프로그램도항상주기억장치에상주하기때문에주기억장치의용량이낭비되며시스템시동시에 NAND 플래시에저장된모든프로그램을주기억장치로복사해야하므로지연시간이발생하는단점이있다. 초기의내장형시스템에서는내장되는프로그램의크기가그리크지않아구현이간단하고별도의메모리관리시스템이필요없는 NOR 플래시기반의 XIP 시스템 ( 그림 1.a) 이주로사용되었다. 이후내장형시스템에저장되는프로그램이나사용자데이터의용량이증가하고 NAND 플래시의용량대비비용이저렴해짐에따라내장형시스템에도 NAND 플래시가기본적으로포함되면서 NAND 플래시기반의코드쉐도잉시스템 ( 그림 1.b) 으로발전하였다. 최근에는관련기술의급격한발전과더불어내장형시스템의적용분야가기존의산업, 의료분야등에국한되지않고휴대용멀티미디어기기등의새로운응용으로확대되어가면서내장형시스템의하드웨어사양, 실행되는프로그램의종류, 제약조건등의제반사항에도큰변화가일어나게되었다. 우선, 고품질의사용자인터페이스, 디지털저작권관리등의부가기능이포함되면서내장형시스템에포함되는프로그램의크기가급격히증가하게되었다. 또한저전력, 저비용, 경량화등의제약조건을만족시키기위해시스템의온-칩화가매우중요해졌다. 따라서주기억장치로오프-칩 (off-chip) 메모리대신전력소모가적은온-칩 (on-chip) 메모리의사용이보편화되었고프로그램크기에비해주기억장치의용량제약은더욱심해졌다. 이러한변화와더불어내장형시스템을위한새로운 플래시메모리시스템의필요성이급증하게되었고, NAND 플래시기반의요구페이징시스템 ( 그림 1.c) 이그대안으로고려되기시작하였다. 요구페이징기법은전체프로그램중에서실행을위해요청되는페이지만을주기억장치에반입하여실행하기때문에프로그램크기의증가문제와주기억장치의용량제약을동시에해결할수있다. NAND 플래시기반요구페이징기법에관한연구결과도꾸준히발표되었는데, NAND 플래시의페이지쓰기를최소화하여에너지절감및플래시의수명을연장시키는페이지교체정책이제시되었다 [1]. 또한운영체제를사용하지않는내장형시스템에서컴파일러기법을활용한요구페이징구현기법도연구되었다 [2]. 최근들어 NOR 플래시와 NAND 플래시의장점을결합시킨새로운형태의하이브리드플래시인 OneNAND 플래시가발표되었다. OneNAND 플래시는 NOR 인터페이스를채택하여 NAND 플래시의입출력성능을개선하였고페이지버퍼에대한 XIP 지원, 이중페이지버퍼등의다양한기능이추가되었다. 하지만기존의 NAND 플래시기반요구페이징시스템에서는 OneNAND 플래시의추가기능이고려되지않았다. 요구페이징시스템을수정하지않고 NAND 플래시를단순히 OneNAND 플래시로교체하는경우에는페이지버퍼의 XIP와같은기능들이전혀활용되지않으며 OneNAND 플래시의동기 (synchronous) NOR 인터페이스로인해비동기 (asynchronous) 인터페이스를가진 NAND 플래시보다페이지버퍼읽기속도가빨라지는효과만을이용하고있다. 본논문에서는 NAND 플래시기반요구페이징시스템을 OneNAND 플래시에적합하도록개선하여추가의성능향상을얻을수있는지연이중버퍼기법을제안한다. 제안된기법은 OneNAND 플래시의 XIP 기능과이중버퍼를활용하여요구페이징시스템의페이지반입시간을획기적으로절감할수있도록고안되었다. 모의실험결과본논문에서제안한기법은전체시스템수행시간을평균 28.6%, 페이징시스템에너지를평균 4.5% 절감할수있음을확인하였다. Ⅱ. 본론 * 100MHz 로동작하는 SRAM 과 SDRAM 의초기접근지연시간은각각 10ns, 30ns 이며 (SDRAM 의경우 row hit, cas latency=3 가정 ) Intel Strata NOR 플래시는동작속도와상관없이 85ns 이다. 1. OneNAND 플래시 OneNAND 플래시는 NAND 플래시코어에 NOR 인터페이스와두개의 SRAM 페이지버퍼, 하나의부팅 (271)
2007 년 3 월전자공학회논문지제 44 권 SD 편제 3 호 45 용페이지버퍼를결합시킨하이브리드플래시메모리이다. 그림 2는 NAND 플래시와 OneNAND 플래시의내부구조를보여준다. OneNAND 플래시는 NAND 플래시와비교하여다음과같은장점을가지고있다. 부트램 (bootram) 제공 : 시스템시동시에부트- 로더프로그램실행을위한별도의마스크-롬 (mask-rom) 이나 NOR 플래시가필요하지않다. 읽기속도 : 동기 (synchronous) NOR 인터페이스로인해기존의비동기 (asynchronous) NAND 인터페이스보다읽기속도가 4배이상빠르다. XIP 지원 : SRAM 페이지버퍼와 NOR 인터페이스가적용되어페이지버퍼의내용에대해임의접근 (random access) 이가능하다. 이중버퍼지원 : 두개의페이지버퍼를내장하고있어각각의페이지버퍼가독립적으로동작가능하다. 기존의 NAND 플래시는하나의페이지버퍼만을장착하고있어외부에서페이지버퍼의내용을읽는중에새로운페이지를페이지버퍼로적재하는것이불가능 Internal NAND flash array buffer Sequential access only Internal NAND flash array Boot RAM Buffer SRAM Random accessible Buffer SRAM a) NAND flash b) OneNAND flash 그림 2. NAND 플래시와 OneNAND 플래시의내부구조 Fig. 2. Internal structures of NAND flash and OneNAND flash. Main memory buffer fault move fault move 그림 3. NAND 플래시기반의요구페이징시스템 Fig. 3. NAND flash based demand paging system. time 하다. 반면에 OneNAND 플래시는두개의 SRAM 페이지버퍼를장착하고있고각각의페이지버퍼가독립적으로동작할수있으므로외부에서하나의페이지버퍼를접근하는동안다른하나의페이지버퍼에새로운페이지를적재하는것이가능하다. 2. NAND 플래시기반요구페이징시스템 NAND 플래시기반의요구페이징시스템 ( 그림 3) 에서는페이지부재결함이발생할경우다음과같은절차를거쳐페이지반입이이루어진다. 페이지적재 ( ): 요구된페이지는 NAND 플래시내부의제어회로에의해 NAND 어레이로부터 NAND 플래시의페이지버퍼로옮겨진다. 페이지이동 ( move): NAND 플래시는페이지버퍼에대한임의접근을지원하지않기때문에페이지버퍼에올라온페이지는 CPU의접근을위해곧바로시스템의주기억장치로이동된다. 페이지접근 ( access): 주기억장치로이동이완료된페이지는페이지테이블에등록되고 CPU가접근할수있게된다. 하지만 OneNAND 페이지버퍼는페이지이동시에만순차적으로접근되며따라서 OneNAND 페이지버퍼의 XIP 기능은사용되지않는다. 또한 OneNAND 플래시에는독립적으로동작할수있는두개의페이지버퍼가있지만그림 3의요구페이징시스템에서는하나의버퍼만활용되고나머지버퍼는유휴상태에머물러있게된다. NAND 플래시기반의요구페이징시스템에서이중버퍼가활용되지않는이유는요구페이징시스템의다음과같은특성때문이다. 우선, 페이지의반입과정은페이지적재와페이지이동의두단계로구성되는데각각의절차는반드시순차적으로처리되어야하기때문에이중버퍼로동시에처리될수없다. 또다른방안으로는인접한페이지부재결함에대해서선행페이지에대한페이지이동과후행페이지에대한페이지적재에대해이중버퍼링을적용하는방안을고려할수있다. 즉, 선행페이지가이동을시작할때동시에후행페이지를적재하는방안인데, 요구페이징시스템에서는다음페이지부재결함이발생되기전에는미리적재되어야할페이지가어떤페이지인지알수있는방법이없다. 하지만다음페이지부재결함이발생되려면선행페이지의이동이완료되어야하기때문에후행페이지 (272)
46 지연이중버퍼링 : OneNAND 플래시를이용한페이지반입비용절감기법주용수외 Main memory buffer B buffer A fault move fault move fault time 그림 4. OneNAND 플래시기반의요구페이징시스템 Fig. 4. OneNAND flash based demand paging system. 적재는선행페이지이동과동시에발생할수없다. 따라서이중버퍼링의적용이역시불가능하다. 3. 지연이중버퍼링기법 위에서살펴본바와같이 NAND 플래시기반의요구페이징시스템을수정하지않고단순히 NAND 플래시를 OneNAND 플래시로교체하는경우에는 OneNAND 플래시의기능을충분히활용하지못하는것을알수있다. 본연구에서제안하는지연이중버퍼링기법에서는 OneNAND의 XIP 기능과이중버퍼를활용하여추가의성능개선을얻기위해그림 4와같은새로운요구페이징시스템을고안하였다. 지연이중버퍼링기법에서는페이지부재결함이발생했을경우다음과같은절차로페이지반입이이루어진다. 페이지적재 : 요구된페이지는 NAND 어레이로부터페이지버퍼로옮겨지며이는기존의요구페이징시스템과동일하다. 페이지버퍼를통한페이지접근 : 페이지적재가완료되면 CPU가바로동작을재개하며 OneNAND 버퍼의 XIP 기능을이용하여 OneNAND 플래시의버퍼로부터직접페이지를읽는다. 해당페이지는다음페이지부재결함이발생할때까지계속 OneNAND 페이지버퍼에위치하면서 XIP로접근된다. 이중버퍼링을통한페이지이동 : 다음페이지부재결함이발생되면이중버퍼를이용하여새로운페이지의적재와기존페이지의이동이동시에시작된다. 이때새로적재되는페이지는비어있는다른페이지버퍼를사용하여기존페이지와의충돌을피한다. 주기억장치를통한페이지접근 : 페이지이동이완료된페이지는 OneNAND 페이지버퍼에서제거되며이후의접근은주기억장치를통해이루어진다. 위에서설명된바와같이지연이중버퍼링기법은페이지적재후페이지이동을즉시수행하는대신에이를다음페이지부재결함이발생할때까지지연시키고그동안의페이지접근요청은페이지버퍼의 XIP 기능을통해처리함으로써페이지이동을다음번페이지적재와동시에수행하는이중버퍼링을가능하게한다. 일반적인플래시메모리의경우페이지적재시간보다페이지이동시간이짧기때문에페이지이동은페이지적재가끝나기전에완료되며, 따라서페이지반입시간이페이지이동시간만큼줄어드는효과를기대할수있다. 하지만페이지버퍼를통한페이지접근단계에서는고속의주기억장치대신에상대적으로성능이낮은 OneNAND 페이지버퍼를통해페이지를접근하게되므로이단계에서의페이지접근회수가많을수록페이지접근시간이늘어나게되어지연이중버퍼링기법의효과를감소시키게된다. 다음장에서는모의실험을통해지연이중버퍼링기법의효과를수행시간과에너지소모측면에서검증한다. 1. 성능측정지표 Ⅲ. 성능평가 OneNAND 기반요구페이징시스템의수행성능및에너지소모분석을위해페이징시스템에서발생할수있는메모리접근단위에대해수행시간과에너지소모파라미터를표 1에정의하였다. 또한전체프로그램수행시간동안발생하는페이징시스템의메모리접근통계에대한파라미터를표 2에정의하였다. 본실험에서는 OneNAND 플래시로의쓰기동작은고려하지않았으며프로그램의읽기전용영역인.text와.rodata에대해서만요구페이징을적용하고.data나.bss와같은읽기 / 쓰기영역에대해서는코드쉐도잉기법을적용하여항상주기억장치에서접근된다고가정하였다. 표 1과표 2의파라미터들로부터페이징시스템의수행시간 을다음과같이정의할수있다. (1) 또한프로그램의전체수행시간 은다음과같다. (273)
2007 년 3 월전자공학회논문지제 44 권 SD 편제 3 호 47 표 1. 요구페이징시스템의수행성능및에너지파라미터 Table 1. Performance and energy parameters of the demand paging system. 파라미터 설명 CPU의요청이연속적으로캐시에서적중하여페이지접근이없는유휴시간 페이지적재시에필요한시간 파라미터 페이지이동시에필요한시간 주기억장치에서캐시블록을읽는시간 주기억장치에캐시블록을쓰는시간 OneNAND 페이지버퍼에서캐시블록을읽는시간페이지적재시에소모되는에너지 페이지이동시에소모되는에너지주기억장치에서캐시블록을읽을때소모되는에너지주기억장치에캐시블록을쓰는데소모되는에너지 OneNAND 페이지버퍼에서캐시블록을읽을때소모되는에너지 표 2. 요구페이징시스템의메모리접근통계 Table 2. Memory access statistics of the demand paging system. 설명 총페이지적재회수 총페이지이동회수 ( 이중버퍼링미적용 ) 총페이지이동회수 ( 이중버퍼링적용 ) 주기억장치에서읽은캐시블록의총개수 OneNAND 페이지버퍼에서읽은캐시블록의총개수 주기억장치에쓴캐시블록의총개수 (2) 마찬가지로페이징시스템의전체소모에너지 은다음과같이정의할수있다. (3) 2. 실험환경본연구에서는제안된기법의효과검증을위해 OneNAND 기반요구페이징시스템에대한모의실험환경을구축하였다. 모의실험환경에서사용된 OneNAND 플래시메모리는삼성전자의 KFG5616(16Mx16, 1.8V) 이며 1KB의페이지크기를가진다 [3]. 또한주기억장치로는삼성전자의 0.18um SRAM 라이브러리중에서 64KB high-density single port synchronous static RAM을선택하였다 [4]. 선택된 OneNAND 플래시메모리와 SRAM에해당하는요구페이징시스템의수행성능및에너지파라미터 ( 표 1 참조 ) 는사이클별메모리전력소모측정도구 [5] 를사용하여계산하였고그결과는표 3과같다. OneNAND 플래시는 50MHz, SRAM은 100MHz 로동작한다고가정하였다. 모의실험의입력으로사용된페이지접근순서는 MiBench [6] 에서선택된 3가지의프로그램으로부터추출되었으며각프로그램의이미지크기는표 4와같다. 페이지접근순서는시스템수준전력시뮬레이터 [7] 를사용하여추출되었다. 페이지접근순서추출을위한시스템수준전력시뮬레이터의시스템파라미터는다음과같이설정되었다. 우선, CPU 클럭주파수는 400MHz를, L1 캐시는명령어캐시와데이터캐시에대해각각 4KB 4-way set을적용하였다. 또한캐시블록크기는 8워드로설정하였다. 시스템버스클럭주파수는 100MHz로설정하였으며 SRAM과 OneNAND 플래시는각각 100MHz, 50MHz로설정하였다. 페이지접근 표 3. 모의실험에쓰인수행성능및에너지파라미터 Table 3. Performance and energy parameters for the simulation. 파라미터값 ( 단위 : 파라미터값 ( 단위 : 29.33 1295.48 12.86 1056.21 0.04 1.79 0.22 15.24 0.04 2.04 표 4. 모의실험에사용된프로그램정보 Table 4. Benchmark applications for the simulation. 프로그램 전체크기읽기전용영역크기 ( 단위 : KB) ( 단위 : KB) djpeg 453 158 cjpeg 595 462 fft 32 32 (274)
48 지연이중버퍼링 : OneNAND 플래시를이용한페이지반입비용절감기법주용수외 회수는 4종의프로그램에대해공통적으로 100,000회를추출하였다. 3. 실험결과표 5는 djpeg 프로그램에대해지연이중버퍼링기법을적용하기전과후의수행시간및에너지소모를비교한결과를보여준다. 성능지표중에서페이지적재회수, 즉페이지부재결함회수를의미하는 값이기법적용후에약 11% 감소하였음을확인할수있는데, 이는이중지연버퍼링기법이항상 OneNAND의페이지버퍼에한페이지를할당하기때문에코드를실행할수있는메모리의용량이 OneNAND 페이지버퍼크기인 1KB만큼증가하는효과를나타내기때문이다. 페이지이동과관련한수행성능의영향을살펴보면, 표 5. 제안된기법의성능분석 ( 프로그램 : djpeg, 주기억장치크기 : 8KB) Table 5. Performance of the proposed method (djpeg, 8KB main memory). 성능지표기법적용전기법적용후 9557 8526 9557 0 0 8525 70232 41295 0 28937 29768 29768 수행성능 기법적용전기법적용후 20.17 20.17 280.31 250.07 122.90 0 2.81 1.65 0 6.37 1.19 1.19 407.21 259.28 427.38 279.45 에너지소모 기법적용전기법적용후 12.38 11.05 10.10 9.00 0.13 0.07 0 0.44 0.06 0.06 22.67 20.62 기법적용전에는 의값이 0 이고기법적용후 에는 값이 0 이되는데, 이를통해지연이중버퍼 링기법이모든페이지이동을이중버퍼링을통해처리하였음을알수있다. 따라서수행시간에서 에해당하는페이지이동시간이절감되는 결과를얻게된다. 하지만페이지이동이이중버퍼링에의해처리되더라도이로인해에너지소모가추가로줄어들지는않는다. 한편, 지연이중버퍼링기법을적용할경우전체페이지접근중일부가 OneNAND의페이지버퍼를통해이루어지게된다. 주기억장치보다 OneNAND 페이지버퍼의읽기속도가느리기때문에이는페이징시스템의수행성능및에너지를증가시키는부작용을가져오게되는데, 표 5의실험결과에서는이와관련하여수행시간이 5.21ms, 에너지가 0.38mJ 만큼증가하였다. 정리해보면, 지연이중버퍼링기법의효과는다음과같이세가지로요약된다. 코드실행메모리의증가효과로인한수행시간및에너지감소 페이지이동시간절감에의한수행시간감소 페이지버퍼직접접근에의한수행시간및에너지증가 위의효과는프로그램의특성과요구페이징시스템에할당된주기억장치의용량에영향을받는다. 이를살펴보기위해그림 5에서주기억장치의용량을변화시키면서지연이중버퍼링기법의효과를살펴보았다. y축의값은기법적용전의값을 100% 로하여표시하였다. Effect of the proposed method 100 80 60 40 20 0 4 8 12 16 20 24 28 32 36 40 44 (KB) Main memory size e t paging t total paging 그림 5. 주기억장치용량에따른성능변화 (cjpeg) Fig. 5. Performance variation according to the main memory size. (cjpeg) (275)
2007 년 3 월전자공학회논문지제 44 권 SD 편제 3 호 49 그림 5에서주기억장치의용량이 40KB 이상인경우에는기법의효과에거의변화가없는것을볼수있는데이는 cjpeg 프로그램의작업집합 (working set) 크기가약 40KB이기때문이다. 40KB 이상의주기억장치용량이확보되는경우 cjpeg의작업집합페이지들이주기억장치에상주하기때문에페이지부재결함발생빈도가급격히줄어들며프로그램수행시간은코드쉐도잉기법과큰차이를보이지않게된다. 즉, 이구간에서는요구페이징시스템이사실상비활성상태에머무르게되며지연이중버퍼링기법의효과역시제한적일수밖에없다. 주기억장치용량이 40KB 미만인경우에는지연이중버퍼링기법의효과가확연히증가하는현상을볼수있다. 이구간에서는 cjpeg 프로그램의작업집합페이지들이동시에주기억장치에상주하지못하기때문에빈번한페이지부재결함이발생하며페이징시스템이활성화된다. 따라서지연이중버퍼링기법또한활성화되어수행시간및에너지절감효과를보이게된다. 주기억장치용량이 4KB와 36KB인경우수행시간및에너지절감효과가커지는현상이나타난다. 이는지연이중버퍼링기법의코드실행메모리증가효과가주기억장치용량에따라다르게나타나기때문이다. 주기억장치의용량이지나치게작은 4KB 지점에서는불과 1KB의코드메모리증가효과만으로도페이지부재결함발생회수가크게줄어들수있다. 또한주기억장치의용량이프로그램의작업집합크기에근접하지만작업집합전체를수용하지못하는 36KB 지점에서도 1KB의코드메모리증가효과가페이지부재결함을크게줄이는결과를가져온다. 여러가지프로그램에대한지연이중버퍼링기법의 100 80 t total 60 40 20 0 Section A Section B 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 Main memory size (normalized to the working set size ) 그림 6. 수행시간절감효과 (cjpeg, djpeg, fft) Fig. 6. Reduction of the total execution time. (cjpeg, djpeg, fft) cjpeg djpeg fft 100 80 60 e paging 40 20 0 Section A Section B 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 Main memory size (normalized to the working set size ) cjpeg djpeg 그림 7. 페이징시스템에너지변화 (cjpeg, djpeg, fft) Fig. 7. Variation of the paging system energy (cjpeg, djpeg, fft). 표 6. 각프로그램별작업집합크기 Table 6. Working set size of each benchmark application. 프로그램 읽기전용영역작업집합크기크기 ( 단위 : KB) ( 단위 : KB) djpeg 158 31 cjpeg 462 40 fft 32 18 표 7. 제안된기법의평균성능 Table 7. Overall performance of the proposed method. 구간 작업집합크기대비주기억장치용량비율 평균수행시간 평균에너지소모 A 0.3~0.7 71.5 95.6 B 1.0~1.2 93.6 104.0 효과를확인하기위해각프로그램별작업집합크기 ( 표 6 참조 ) 를기준으로주기억장치용량의비율을 0.3 에서 1.2까지 0.1씩증가시키면서전체시스템수행시간과페이징시스템에너지소모에대한기법의효과를그림 6과그림 7에나타내었다. y축의값은기법적용전의값을 100% 로하여표시하였다. 구간 A는프로그램의작업집합크기보다주기억장치용량이작아페이징시스템이활성화되는경우를, 구간 B는주기억장치용량이충분하여페이징시스템이비활성화되는경우를대표한다. 지연이중버퍼링기법은세가지프로그램에대해공통적으로구간 A에서높은수행시간절감효과를보이는것을알수있다. 구간별수행시간및페이징시스템에너지소모의평균치는표 7과같다. fft (276)
50 지연이중버퍼링 : OneNAND 플래시를이용한페이지반입비용절감기법주용수외 실제로요구페이징시스템을구현할경우시스템수행성능을고려한다면주기억장치의용량이프로그램의작업집합크기보다크도록설정하는것이유리하다. 하지만요구페이징기법이사용되는환경에서는이미주기억장치용량에대해심한제약을받고있을가능성이높다고볼수있고, 다중프로세스등의상황을가정한다면프로세스간의주기적인문맥교환으로인해페이지부재결함이꾸준히발생한다고가정해야한다. 따라서실제요구페이징시스템은대부분구간 A에서동작한다고볼수있으며, 본논문에서제안한지연이중버퍼링기법은이에대해평균 28.5% 의수행시간절감및 4.4% 의페이징시스템에너지소모절감효과를나타내었다. Ⅳ. 결론본연구에서는 NAND 플래시기반요구페이징시스템을 OneNAND 플래시에적합하도록최적화하는지연이중버퍼링기법을제안하고그성능을평가하였다. 제안된기법은 OneNAND 플래시의임의접근기능과이중페이지버퍼를활용하여페이지반입시간을효과적으로절감할수있도록고안되었다. 모의실험결과, 지연이중버퍼링기법은전체시스템수행시간을평균 28.5% 절감하였으며페이징시스템에너지소모에대해서도평균 4.4% 의절감효과를보였다. 요구페이징시스템은페이지부재결함시에성능저하가발생하기때문에실시간응답이중요한멀티미디어코덱등은요구페이징을적용하지않고주기억장치에고정하여실행되며, 성능저하를감수할수있는부가프로그램들에대해여분의주기억장치를활용하여요구페이징시스템을적용하는절충안이사용되고있다. 따라서요구페이징시스템의효율이낮아지더라도주기억장치를추가로할당할수없는경우가자주발생하며이러한경우페이지부재결함이지나치게많이발생하여부가프로그램의수행성능이심각하게저하된다. 본연구의의의는이러한상황에서 OneNAND 플래시의기능을최대한활용하여효과적으로페이지반입비용을절감하는기법을제시함으로써프로그램의수행성능을개선하거나요구페이징시스템에더많은양의프로그램코드를수용할수있는유연성을확보하는데있다. 특히, 별도의하드웨어수정이나추가비용이들지않으며페이징시스템의소프트웨어적인수정만으로 기존내장형시스템에적용이가능하기때문에기법의효과는더욱크다고할수있다. 참고문헌 [1] C. Park, J.-U. Kang, S.-Y. Park, and J.-S. Kim, "Energy-aware demand paging on NAND flash-based embedded storages," in Proceedings of the 2004 International Symposium on Low Power Electronics and Design (ISLPED'04), pp. 338-343, Newport, USA, August 2004. [2] C. Park, J. Lim, K. Kwon, J. Lee, and S. L. Min, "Compiler-assisted demand paging for embedded systems with flash memory," in Proceedings of the 4th ACM International Conference on Embedded Software (EMSOFT 04), pp. 114-124, Pisa, Italy, September 2004. [3] KFG5616x1Ax16 OneNAND Specification, Samsung Electronics, Co. Ltd., http://samsungelectronics.com, December 2005. [4] STD130(Rev. 2.1) 0.18um 1.8V CMOS Standard Cell Library for Pure Logic Products, Samsung Electronics, Co. Ltd., http://www.samsungelectronics.com, February 2004. [5] SECM: SNU Energy Characterizer for Memory Devices, http://elpl.snu.ac.kr/measurement/sec.htm, 2005. [6] M. Guthaus, J. Ringenberg, D. Ernst, T. Austin, T. Mudge, and R. Brown, "Mibench: a free, commercially representative embedded benchmark suite," in Proceedings of Fourth IEEE Workshop Work Characterization (WWC-4), pp. 10-22, Austin, USA, December 2001. [7] I. Lee, Y. Choi, Y. Cho, Y. Joo, H. Lim, H. G. Lee, H. Shim, and N. Chang, Web-based energy exploration tool for embedded systems, IEEE Design and Test of Computers, vol. 21, no. 6, pp. 572-586, 2004. (277)
2007 년 3 월전자공학회논문지제 44 권 SD 편제 3 호 51 저자소개 주용수 ( 정회원 ) 2000 년서울대학교컴퓨터공학과학사졸업. 2002 년서울대학교전기컴퓨터공학부석사졸업. 2002 년 ~ 현재서울대학교전기컴퓨터공학부박사과정. < 주관심분야 : 내장형시스템, 저전력시스템 > 박재현 ( 학생회원 ) 2006 년서울대학교전기공학부학사졸업. 2006 년 ~ 현재서울대학교전기컴퓨터공학부석사과정. < 주관심분야 : 내장형시스템, 저전력시스템 > 정성우 ( 정회원 ) 1996 년서울대학교컴퓨터공학과학사졸업. 1998 년서울대학교컴퓨터공학과석사졸업. 2003 년 ~2005 년삼성전자책임연구원. 2005 년 ~2006 년 University of Virginia 연구원. 2006 년 ~ 현재고려대학교컴퓨터통신공학부조교수. < 주관심분야 : 저전력시스템, 내장형시스템, SoC> 장래혁 ( 정회원 ) 1989 년서울대학교제어계측공학과학사졸업. 1992 년서울대학교제어계측공학과석사졸업. 1996 년서울대학교제어계측공학과박사졸업. 1997 년미국 University of Michigan 연구원. 2005 년미국 Arizona State University 방문교수. 1997 년 ~ 현재서울대학교컴퓨터공학과부교수. < 주관심분야 : 저전력시스템, 고속디지털시스템, 내장형시스템 > 정의영 ( 평생회원 ) 1988 년고려대학교전자공학과학사졸업. 1992 년고려대학교전자공학과석사졸업. 2002 년 Stanford University Electrical Engineering 박사졸업. 1990 년 ~2005 년삼성전자수석연구원. 2005 년 ~ 현재연세대학교전기전자공학부부교수. < 주관심분야 : 저전력시스템, VLSI CAD, 내장형시스템, 컴퓨터구조 > (278)