이동기기의 저장 장치로 사용되는 플래시 메모리는 이제 SSD(Solid State Disk) 형태로 노트북 컴퓨터까지 그 적용 범위가 확대되고 있다. 이러한 플래시 메모리는 무게, 내충격성, 전력 소비량 면에서 장점을 가지고 있지만, erase-before-write 속성과 같은 단점도 가진다. 이러한 단점을 극복하기 위하여 플래시 메모리 기반 저장 장치는 FTL(Flash-memory Translation Layer)이라는 특별한 주소 사상 소프트웨어를 필요로 하며, FTL은 종종 블록을 재활용하기 위하여 병합 연산을 수행해야 한다. NAND 플래시 메모리 기반 저장 장치에서 블록 재활용 비용을 줄이기 위해 본 논문에서는 이주 연산이라는 또 다른 블록 재활용 기법을 도입하였으며, FTL은 블록 재활용시 이주와 병합 연산 중에서 비용이 적게 드는 연산을 선택하도록 하였다. Postmark 벤치마크와 임베디드 시스템 워크로드를 사용한 실험 결과는 이러한 비용 기반 선택이 플래시 메모리 기반 저장 장치의 성능을 향상시킬 수 있음을 보여준다. 아울러 이주/병합 연산이 조합된 각 주기마다 블록 재활용 비용을 최소화하는 이주/병합 순서의 거시적 최적화의 해를 발견하였으며, 실험 결과는 거시적 최적화가 단순 비용 기반 선택보다 플래시 메모리 기반 저장 장치의 성능을 더욱 향상시킬 수 있음을 보여준다.
이동기기의 저장 장치로 사용되는 플래시 메모리는 이제 SSD(Solid State Disk) 형태로 노트북 컴퓨터까지 그 적용 범위가 확대되고 있다. 이러한 플래시 메모리는 무게, 내충격성, 전력 소비량 면에서 장점을 가지고 있지만, erase-before-write 속성과 같은 단점도 가진다. 이러한 단점을 극복하기 위하여 플래시 메모리 기반 저장 장치는 FTL(Flash-memory Translation Layer)이라는 특별한 주소 사상 소프트웨어를 필요로 하며, FTL은 종종 블록을 재활용하기 위하여 병합 연산을 수행해야 한다. NAND 플래시 메모리 기반 저장 장치에서 블록 재활용 비용을 줄이기 위해 본 논문에서는 이주 연산이라는 또 다른 블록 재활용 기법을 도입하였으며, FTL은 블록 재활용시 이주와 병합 연산 중에서 비용이 적게 드는 연산을 선택하도록 하였다. Postmark 벤치마크와 임베디드 시스템 워크로드를 사용한 실험 결과는 이러한 비용 기반 선택이 플래시 메모리 기반 저장 장치의 성능을 향상시킬 수 있음을 보여준다. 아울러 이주/병합 연산이 조합된 각 주기마다 블록 재활용 비용을 최소화하는 이주/병합 순서의 거시적 최적화의 해를 발견하였으며, 실험 결과는 거시적 최적화가 단순 비용 기반 선택보다 플래시 메모리 기반 저장 장치의 성능을 더욱 향상시킬 수 있음을 보여준다.
Flash memory based storage has been used in various mobile systems and now is to be used in Laptop computers in the name of Solid State Disk. The Flash memory has not only merits in terms of weight, shock resistance, and power consumption but also limitations like erase-before-write property. To ove...
Flash memory based storage has been used in various mobile systems and now is to be used in Laptop computers in the name of Solid State Disk. The Flash memory has not only merits in terms of weight, shock resistance, and power consumption but also limitations like erase-before-write property. To overcome these limitations, Flash memory based storage requires special address mapping software called FTL(Flash-memory Translation Layer), which often performs merge operation for block recycling. In order to reduce block recycling cost in NAND Flash memory based storage, we introduce another block recycling scheme which we call migration. As a result, the FTL can select either merge or migration depending on their costs for each block recycling. Experimental results with Postmark benchmark and embedded system workload show that this cost-based selection of migration/merge operation improves the performance of Flash memory based storage. Also, we present a solution of macroscopic optimal migration/merge sequence that minimizes a block recycling cost for each migration/merge combination period. Experimental results show that the performance of Flash memory based storage can be more improved by the macroscopic optimization than the simple cost-based selection.
Flash memory based storage has been used in various mobile systems and now is to be used in Laptop computers in the name of Solid State Disk. The Flash memory has not only merits in terms of weight, shock resistance, and power consumption but also limitations like erase-before-write property. To overcome these limitations, Flash memory based storage requires special address mapping software called FTL(Flash-memory Translation Layer), which often performs merge operation for block recycling. In order to reduce block recycling cost in NAND Flash memory based storage, we introduce another block recycling scheme which we call migration. As a result, the FTL can select either merge or migration depending on their costs for each block recycling. Experimental results with Postmark benchmark and embedded system workload show that this cost-based selection of migration/merge operation improves the performance of Flash memory based storage. Also, we present a solution of macroscopic optimal migration/merge sequence that minimizes a block recycling cost for each migration/merge combination period. Experimental results show that the performance of Flash memory based storage can be more improved by the macroscopic optimization than the simple cost-based selection.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
플래시 메모리 지원을 목표로 개발되었다. 따라서 본 논문에서는 플래시 메모리 에뮬레이터를 MLC 플래시 메모리와 동일하게 동작하도록 설정하였다. 설정 대상 MLC 플래시 메모리 칩의 연산 실행 시간은 표 1과 같으며, 이 시간들은 해당 칩의 데이타 시트가 제시하는 것이다.
기법인 이주 연산을 설명한다. 또한 병합 연산과이주 연산의 비용 모델을 제시하고, FTL이 블록을 재활용할 때 두 연산의 비용을 고려하여 비용이 작은 연산을 선택하는 기법에 대해 설명한다.
사용하여 블록을 재활용한다. 본 논문에서는 블록재활용 비용을 줄이기 위하여, 이주 연산이라는 새로운블록 재활용 기법을 제안하고, 이주 연산과 병합 연산의 비용 모델을 제시하였다. 그리고 블록을 재활용 할때 두 연산 중 비용이 저렴한 연산을 선택적으로 적용하는 비용 기반 선택 기법을 제안하고 실험을 통하여성능 향상 정도를 측정하였다.
요구가 높아지고 있다. 본 논문에서는 이주(m也- ration) 연산이라는 새로운 블록 재활용 기법을 설명하는데, 이 기법은 블록 재활용 비용을 감소시키고 플래시메모리 기반 저장 장치의 성능을 향상하기 위하여 도입되었다. 특히, 반복적인 쓰기 패턴의 경우 기존의 병합 연산을 적용하면 블록 재활용 비용이 매우 커지는더〕, 이주 연산은 이러한 반복적인 쓰기 패턴의 블록 재활용 비용을 줄일 수 있다.
그리고 이러한 실험을 통하여 이주/병합 연산이 혼합된 주기 (period) 에서 블록 재활용 비용을 최소화 시키는 해가 존재함을 인식하였으며, 앞으로 이를 이¥/병합 순서의 거시적 최적화라 부른다. 본 논문은 이주/병합 순서의 거시적 최적화의 수학적 해를 제시하며, 실험을 통하여 거시적 최적화가 플래시 메모리 기반 저장 장치의 성능을 더욱 향상시킴을보인다.
이제 병합 연산과 이주 연산의 거시적 주기를 살펴보자. 먼저 병합 연산이 끝난 직후, 로그 블록에는 M개의 가용 페이지가 존재하며, 새로운 (미시적) 주기가 시작된다.
가설 설정
따라서 FTLe 섹터 8~11에 대한 요청이 오면최대 MP개의 쓰기 요청을 이 로그 블록으로 처리할수 있으며, M-Q개의 가용 페이지가 모두 사용되면, 이주 연산이나 병합 연산을 수행해야 한다. 로그 블록에유효한 페이지 개수는 여전히 口개이며, FTL이 이주 연산을 수행한다고 가정한자. 이주 연산은 Ce의 비용으로새로운 빈 로그 블록을 소거하고, 개의 유효한 페이지들을 이전 로그 블록에서 새 로그 블록으로 QCep의 비용을 지불하고 복사함으로써 수행된다.
제안 방법
회수에 상한을 두는 기법, 그리고 4) 거시적 최적화 기법을 실험하였다. 이 네 가지 기법을 각각 “병합”, “병합+이주", “병합十이주(LIMIT)”, “병합+이주(거시적 최적화)”로 표시한다.
FTL 상단에 MS-DOS FAT 호환 파일 시스템을, 그리고 파일 시스템 상단에 테스트 프로그램을 수행시키면서 비용 기반 이주/병합 선택 기법과 거시적 최적화 기법의 성능을 측정하였다. 테스트 프로그램으로는두 종류가 사용되었는데, 그 중 하나는 Postmark 벤치마크 프로그램이다.
MP3 플레이어와 캠코더에서 사용되는 블록 사상 FTL에 비용 기반 이주/병합 선택 기능과 거시적 최적화 기능을 구현하였다. 거시적 최적화를 위하여 FTLe블록에 대하여 이주 연산이 수행될 때 복사되는 페이지개수 Q의 정보를 수집하고, 수집된 정보로부터 증가율 a를 계산한다.
이 네 가지 기법을 각각 “병합”, “병합+이주", “병합十이주(LIMIT)”, “병합+이주(거시적 최적화)”로 표시한다. “병합+이주 (LIMIT)” 기법에서 연속적인 이주 연산 회수 상한은 Np/2로 설정하였으며, 연속적인 이주 연산 회수가 상한에 도달하면 병합 연산을 수행하도록 하였다. 실험 결과에 따르면 이렇게 연속적인 이주 연산 회수에 상한을 설정하는 기법은 구현이 간단하면서도 경우에 따라 거시적 최적화에 근접한 성능을 보여준다.
가용 페이지당 비용을 기반으로 병합과 이주 연산을 선택하는 기능을 FTL에 구현하고 Postmark 벤치마크를 통해 성능을 측정하였다. 그런데 Postmark 벤치마크를 통해 측정한 비용 기반 선택 기법의 성능 향상 정도 (6절 참고)는 기대보다 작았다.
기능을 구현하였다. 거시적 최적화를 위하여 FTLe블록에 대하여 이주 연산이 수행될 때 복사되는 페이지개수 Q의 정보를 수집하고, 수집된 정보로부터 증가율 a를 계산한다. 특별히 언급하지 않으면 실험할 때 로그블록의 개수는 8개이며, 로그 블록 개수에 따른 성능변화는 6.
이렇게 FAST 기법은 블록 사상 기법에 제한적으로 섹터 단위 사상 기능을 추가하여 임의 쓰기와반복 쓰기의 성능을 향상시킨다. 그런데 본 논문이 제안하는 기법은 기존 블록 사상 기법의 변경을 최소화 하면서 반복 쓰기를 효율적으로 처리한다. 따라서 이 두기법은 FTL을 설계할 때 경우에 따라 상호 보완적으로적용될 수 있을 것이다.
본 논문에서는 블록재활용 비용을 줄이기 위하여, 이주 연산이라는 새로운블록 재활용 기법을 제안하고, 이주 연산과 병합 연산의 비용 모델을 제시하였다. 그리고 블록을 재활용 할때 두 연산 중 비용이 저렴한 연산을 선택적으로 적용하는 비용 기반 선택 기법을 제안하고 실험을 통하여성능 향상 정도를 측정하였다. 또한 거시적 관점에서가용 페이지 당 블록 재활용 비용을 최소화하는 이주/ 병합 순서가 존재함을 보이고, 이 비용을 최소화하는거시적 최적화 해를 제시하였으며, 실험을 통하여 거시적 최적화가 블록 재활용 비용을 더욱 감소시킴을 보였다.
그렇지만 일반적으로 블록 사상 FTL의 경우 로그 블록의 개수가 일정 수준 이상이면 로그 블록의 개수에 따른 성능 변화는 크지 않다. 로그 블록 개수가 변할 때 이주 연산이 추가된 FTL의 성능을 측정하기 위하여, 로그 블록 개수를 변화시키면서 Postmark 벤치마크와 임베디드 시스템 워크로드의 성능을 측정하였다(그림 11과 12). 성능측정 결과에 따르면, 임베디드 시스템 워크로드에서 이벤트 레코더를 제외한 모든 경우, 로그 블록의 수가 8 개 미만으로 작아지면 데이타 블록들 간에 로그 블록을 차지하기 위한 경쟁이 심해져 전체적으로 성능이 상당히 나빠진다.
모든 섹터들이 복사되면, 새로운 로그 블록은 섹터 8~11을 위한 데이타 블록이 되고, 이전 데이타 블록과 이전 로그 블록은 미사용 로그 블록이 되어 다음 쓰기 요청이나 병합 연산을위해 사용된다. 마지막으로 FTLe 관련된 맵을 변경하여 로그 블록과 데이타 블록의 변화를 반영한다.
현재 NAND 플래시 메모리를 사용하는 대용량 메모리 카드와 내장형 시스템의 경우 대부분 블록사상 FTL이나 이의 변종을 사용한다. 본 연구에서 사용하는 FTL 역시 블록 사상을 사용하며 저 사양의 시스 템에서도 효율적으로 동작하도록 설계되었다.
실험에 사용된 FTLe 가격이 싸고 용량이 커서 최근 MP3 플레이어에 널리 사용되는 MLC(Multi-Level Cell) 플래시 메모리 지원을 목표로 개발되었다. 따라서 본 논문에서는 플래시 메모리 에뮬레이터를 MLC 플래시 메모리와 동일하게 동작하도록 설정하였다.
실험에서는 설정을 조절하여 “디렉토리/작은 파일 워크로드” 와 “큰 파일 워크로드”에 대한 성능을 측정하였다. “디렉토리/작은 파일 워크로드”의 경우 Postmark 벤치마크는 디렉토리와 512Bytes 크기의 파일 50개를 생성하고 삭제하는 트랜잭션을 수행한다.
모든 경우에, 병합 연산이 아닌 이주 연산이 계속 수행된다면 복사되는 페이지의 개수는 동일하거나증가하며, 특히 새로운 섹터가 로그 블록으로 진입하면복사되는 페이지의 개수가 증가한다. 이러한 분석 내용을 확인하기 위하여, 비용 기반 이주/병합 선택 기능을가진 FTL 상단에 Postmark 벤치마크를 실행시키면서, FAT과 루트 디렉토리 섹터들이 포함된 블록에서 이주연산을 수행할 때 복사되는 페이지 개수를 관찰하였다. 그림 4는 이주 연산이 수행될 때 복사되는 페이지 개수의 변화를 보여주는데, 관찰 결과는 이주 연산이 연속적으로 수행될 때 증가율。를 가진 단조 증가 함수 Fn(n 은 이주 연산 수행 회수)으로 복사되는 페이지 개수를표현할 수 있음을 보여준다.
그리고 데이타 기록은 페이지 단위로 수행되며, 이렇게 페이지에 기록된 데이타는 해당 페이지를 포함한 블록이 다시 소거되지 않는 한 변경에 제약이 따른다. 이러한 제약을 극복하기 위하여 FTLe데이타가 변경되면 새로운 위치에 데이타를 기록하고 논리 주소를 물리 주소로 변환하는 맵을 갱신한다. 사상 단위에 따라 FTLe 블록 단위로 사상하는 방식과 섹터 또는 페이지 단위로 사상하는 방식으로 구분될 수 있다.
이주/병합 순서의 거시적 최적화 기법의 이점을 구체적으로 알아보기 위하여, 병합만을 적용할 때 가용 페이지당 블록 재활용 비용(甲出厲과 이주/병합 순서에따른 가용 페이지당 블록 재활용 비용(0%1))을 비교하였다(그림 8). 卬(*)은 "번 이주 연산을 적용한 후 병합 연산을 적용할 때 가용 페이지 당블록 재활용 비용을 의미한다(40.
이주 연산은 Ce의 비용으로새로운 빈 로그 블록을 소거하고, 개의 유효한 페이지들을 이전 로그 블록에서 새 로그 블록으로 QCep의 비용을 지불하고 복사함으로써 수행된다. 페이지를 복사한후 FTLe 사상 정보를 갱신하여, 새로운 로그 블록을섹터 을 위한 로그 블록으로 지정하고 기존 로그블록은 미사용 로그 블록으로 지정한다. 이와 같이 이주연산이 수행되면, FTLe 새로운 로그 블록에 M-q개의 가용 페이지를 얻게 되며, 블록 라이프 사이클의 새로운 주기가 시작된다.
대상 데이터
아울러 FTLe 내부적으로 블록 재활용 기법을 통하여 공간을 재사용하면서, 가상 섹터가 변경되면 새로운 위치에 기록하고 맵을 변경하여 재사상한다’ 본 절에서는 새로운 블록 재활용 기법인 이주 연산을 소개하기 전에 먼저 기존 블록 재활용 기법인 병합 연산의 동작을 설명한다. FTLe 사상 기법과 블록 재활용 기법에 따라 종류가 다양한데, 본 논문에서 제시하는 최적화 기법들은 [11]과 같이 블록 단위로 사상하는 FTL을 대상으로 한다. 아울러 실험에서 사용하는 FTLe 블록 단위로 사상하는 FTL이며, 병합 연산의 동작은 [11]에서 소개된 병합 알고리즘과 유사하다.
반면에 NAND 플래시 메모리는 인터페이스가 기존 메모리와 상이하고, 페이지 단위로만 접근이 가능하며, 읽기를 위한 셋업 시간이 크기 때문에 프로그램 코드보다는 데이타를 저장하는 용도에 적합하다. 본 연구는 대용량 플래시 메모리 저장장치에 주로 사용되는 NAND 플래시 메모리를 적용 대상으로 한다. 그렇지만 FTL의 동작이 본 논문에 기술된 것과 유사한 경우 제안하는 기법들은 다른 유형의 플래시 메모리를 사용하는 저장 장치에도 적용될 수 있다.
사상 단위에 따라 FTLe 블록 단위로 사상하는 방식과 섹터 또는 페이지 단위로 사상하는 방식으로 구분될 수 있다. 소용량 NOR 플래시 메모리 카드에서 사용되는 FTLe주로 섹터 단위로 사상하며 그 동작 방식은 LFS(Log- structured File System)과 유사하다. 그런데 섹터 단위 사상은 블록 단위 사상과 비교하여 맵의 크기가 매우 크며, 클리닝(cleaning)과 같은 블록 재활용 기법의 효율에 따라 성능 변화가 심하다[3丄 이러한 문제를 극복하기 위하여 [6]에서는 자주 변경되는 데이타와 그렇지않은 데이타를 구분하여 저장하였으며, 이러한 구분을 통하여 블록 재활용 효율을 높이고 성능을 향상시킬 수 있음을 보였다.
기법의 성능을 측정하였다. 테스트 프로그램으로는두 종류가 사용되었는데, 그 중 하나는 Postmark 벤치마크 프로그램이다. Postmark 벤치마크 프로그램은 인자를 조절하여 디렉토리 생성/삭제와 파일 생성/삭제 등다양한 종류의 워크로드를 생성할 수 있으며, 트랜잭션회수를 조절하여 장기간 성능 측정이 가능하다.
데이터처리
플래시 메모리 에뮬레이터는 플래시 메모리데이타 시트에 제시된 각 플래시 메모리 연산들의 시간을 이용하여 전체 실행 시간을 측정하는 기능을 가지고있다. 플래시 메모리 에뮬레이터가 측정한 실행 시간의정확성을 확인하기 위해 [13]에서는 200Mhz S3C2410 (ARM920T 코어) 프로세서와 128MBytes NAND 플래시 메모리 칩을 가진 임베디드 보드에서 실행 시간을측정하였고, 이 결과를 플래시 메모리 에뮬레이터와 비교하였다(그림 6)1). 실제 보드에서 측정한 실행 시간은플래시 메모_리 연산 수행 시간 이외에도 테스트 프로그램, 파일 시스템, 그리고 FTL 코드 실행 시간을 모두포함하고 있기 때문에 에뮬레이터의 시간보다 클 것으로 예상되었다.
성능/효과
아울러 병합 연산과 이주 연산의 비용 모델을 제시하여 FTL이 블록을 재활용할 때 병합 연산과 이주 연산 중에서 비용이 적게 드는 연산을 선택할 수 있도록 하였으며, 앞으로 이러한 기법을 비용기반 이주/병합 선택이라 부른다. Postmark 벤치마크와 임베디드 시스템 워크로드를 이용한 실험은 비용 기반 이주/병합 선택이 플래시 메모리 기반 저장 장치의 성능을 향상시킴을 보여준다. 그리고 이러한 실험을 통하여 이주/병합 연산이 혼합된 주기 (period) 에서 블록 재활용 비용을 최소화 시키는 해가 존재함을 인식하였으며, 앞으로 이를 이¥/병합 순서의 거시적 최적화라 부른다.
이벤트 레코더에서 "병합”과 "병합+이주” 기법간의 성능 순서를 제외하고 모든 경우에 "병합” 기법이가장 성능이 나쁘며, "병합+이주”, "병합+이주(LIMIT)”, 그리고 "병합+이주(거시적최적화)” 순으로 성능이 향상된다. 각 워크로드 별로 성능 향상 정도를 살펴보면 , , 병합+이주(거시적최적화), , 는, , 병합, , 기법에 비하여 휴대전화 워크로드의 경우 22%, 이벤트 레코더의 경우 14%, 팩스의 경우 5% 정도 성능을 향상시킨다.
그리고 다음에 수행되는 이벤트 레코더 워크로드는 소수의 파일을 반복적으로 변경하며, 이때 로그 블록에 존재하는 페이지 증 소수의 페이지만 계속적으로 변경된다. 결과적으로 이벤트 레코더 워크로드는 소수의 페이지만 반복적으로 변경하지만, 이주 연산시 복사되는 페이지 개수를 관찰해 보면, M/2에 근접한 개수의 페이지들이 계속해서 복사된다. 결국 매 주기마다 한 번도 변경되지 않은 페이지들이 매 이주 연산마다 복사될 뿐 아니라 새로운 로그 블록에서 가용 공간을 줄여 블록 재활용 작업 수행 빈도를 증가시키고 맵 변경과 같은 오버헤드를 누적시키다.
그리고 “병합+이주(LIMIT)” 기법과 “병합十이주 (거시적 최적화)” 기법은 거의 유사한 성능을 보이며, 이 두 기법은 “병합” 기법에 비해 26~27% 정도 성능을 향상시킨다. 실험에 적용된 MLC NAND 플래시 메모리의 경우 M가 128이고 equilibrium p는 64이며, 따라서 “병합十이주” 기법은 p가 64보다 작으면 이주 연산을 적용하고 그렇지 않으면 병합 연산을 적용한다.
그런데 Postmark 벤치마크를 통해 측정한 비용 기반 선택 기법의 성능 향상 정도 (6절 참고)는 기대보다 작았다. 그리고 실험 도중 q가 equilibrium p보다 훨씬 작을 때 이주 연산 대신 병합 연산을 적용하면 성능이 더 좋아지는 현상을 관찰할 수 있었으며, 이러한 관찰을 통하여 전체 블록 재활용 비용을 최소화 하는 이주/병합 순서의 거시적 최적화가 존재함을 알게 되었다.
그리고 블록을 재활용 할때 두 연산 중 비용이 저렴한 연산을 선택적으로 적용하는 비용 기반 선택 기법을 제안하고 실험을 통하여성능 향상 정도를 측정하였다. 또한 거시적 관점에서가용 페이지 당 블록 재활용 비용을 최소화하는 이주/ 병합 순서가 존재함을 보이고, 이 비용을 최소화하는거시적 최적화 해를 제시하였으며, 실험을 통하여 거시적 최적화가 블록 재활용 비용을 더욱 감소시킴을 보였다. 특히 워크로드의 변화에 적응하기 위해서는 이주와병합 두 블록 재활용 기법이 적절한 순서로 혼합되어적용되어야 함을 실험을 통해 증명하였다.
그리고 帝m贖와 Wmg가 동일한 equilibrium q가 존재하며, 아래와 같이 계산된다. 모델이 제시하는 가용 페이지당 비용을 고려하면, 만약 q가 equilibrium q보다 작으면 이주 연산이 효과적이며, 그반대의 경우 병합 연산이 효과적이다.
로그 블록 개수가 변할 때 이주 연산이 추가된 FTL의 성능을 측정하기 위하여, 로그 블록 개수를 변화시키면서 Postmark 벤치마크와 임베디드 시스템 워크로드의 성능을 측정하였다(그림 11과 12). 성능측정 결과에 따르면, 임베디드 시스템 워크로드에서 이벤트 레코더를 제외한 모든 경우, 로그 블록의 수가 8 개 미만으로 작아지면 데이타 블록들 간에 로그 블록을 차지하기 위한 경쟁이 심해져 전체적으로 성능이 상당히 나빠진다. 그렇지만 로그 블록 개수가 8개 이상인 경우 Postmark 벤치마크와 임베디드 시스템 워크로드 모두 안정된 성능을 보인다.
플래시 메모리 에뮬레이터가 측정한 실행 시간의정확성을 확인하기 위해 [13]에서는 200Mhz S3C2410 (ARM920T 코어) 프로세서와 128MBytes NAND 플래시 메모리 칩을 가진 임베디드 보드에서 실행 시간을측정하였고, 이 결과를 플래시 메모리 에뮬레이터와 비교하였다(그림 6)1). 실제 보드에서 측정한 실행 시간은플래시 메모_리 연산 수행 시간 이외에도 테스트 프로그램, 파일 시스템, 그리고 FTL 코드 실행 시간을 모두포함하고 있기 때문에 에뮬레이터의 시간보다 클 것으로 예상되었다. 실제로 그림 6을 보면 실제 보드의 파일 읽기 시간이 에뮬레이터의 파일 읽기 시간보다 더크다.
못하기 때문이다. 실험에서 이벤트 레코더 워크로드를 실행하기 전에 파일 시스템을 포맷하는데, 포맷을 수행하면서 모든 FAT 섹터들이 갱신되고, 그 결과 FAT 테이블이 존재하는 블록을 위한 로그 블록에 이미 NJ2에 가까운 유일한 페이지들이 기록되어 있었다. 그리고 다음에 수행되는 이벤트 레코더 워크로드는 소수의 파일을 반복적으로 변경하며, 이때 로그 블록에 존재하는 페이지 증 소수의 페이지만 계속적으로 변경된다.
좋음을 알 수 있다. 이 실험에서 이주 연산 횟수 상한을 임의로 M/2 로 정하였는데, 이 상한 값을변경하면서 실험한 결과 NJ2 값은 “디렉토리/작은 파일 워크로드”에서 가장 좋은 성능을 보이는' 오프라인최적 값임이 밝혀졌다. 그리고 오프라인 최적 값으로이주 연산 횟수 상한을 설정한 "병합+이주(LIMIT)” 기법은 이주 연산 횟수를 온라인으로 결정하는 "병합+이주(거시적최적화)” 기법과 비교하여 거의 같거나 미세하게 좋은 성능을 보인다.
그리고 이 경우 병합 만을 적용할 때 비용의 5%만을 지불하면서 블록 재활용이 가능하다. 이러한 결과를 통하여 거시적 최적화가 블록 재활용 비용을 상당히 감소시킴을 확인할 수 있다.
二■리고 두 효과가 서로 상쇄되어 쓰기의경우 실제 보드와 에뮬레이터의 결과가 거의 동일하다. 이러한 실험결과를 바탕으로, 읽기의 경우 에뮬레이터실행 시간은 실제 보드 실행 시간보다 작으며, 쓰기의경우 실제 보드와 거의 동일하다는 것을 알 수 있다.
후속연구
논문의 구성은 다음과 같다. 다음 절에서는 플래시메모리의 특징을 설명하고, 플래시 메모리 기반 저장장치와 관련된 연구를 제시한다. 3절은 병합 연산이라불리는 FTL의 블록 재활용 기법에 대한 기본 지식을제공한다.
그렇지만 이주 연산 수행 후 새 로그 블록에서 사용 가능한 페이지는 M-p개로 병합 연산의 결과보다 작다. 따라서 주어진 상황에서 이주 연산과 병합 연산 중 어느 연산이 비용 대비 이득이 큰지에 대한 비용/이득 분석이 필요하며, 아울러 FTLe상황에 따라 이러한 분석을 통하여 이주/병합 연산을 선택하여야 할 것이다.
참고문헌 (13)
'Understanding the Flash Translation Layer (FTL) Specification,' Intel Corporation, 1998
M. Rosenblum and J. K. Ousterhout, 'The Design and Implementation of a Log-Structured File System,' ACM Transactions on Computer Systems, vol. 10, pp. 26-52, 1992
A. Kawaguchi, S. Nishioka, and H. Motoda, 'A Flash-Memory Based File System,' in Proceedings of the Winter1995 USENIX Technical Conference, 1995, pp. 155-164
'512M $\times$ 8Bit/256M $\times$ 16Bit AND Flash Memory (K9K4G xxx0M) Data Sheets,' Samsung Electronics, Co., 2003
M.-L. Chiang, P. C. H. Lee, and R. C. Chang, 'Managing Flash Memory in Personal Communication Devices,' in Proceedings of the 1997 International Symposium on Consumer Electronics (ISCE'97), 1997, pp. 177-182
'CF+ and CompactFlash Specification Revision 3.0,' CompactFlash Association, 2004
'The MultiMediaCard System Summary,' MMCA Technical Committee, 2005
'Flash-Memory translation layer for NAND flash (NFTL),' M-Systems
S. W. Lee, D. J. Park, T. S. Chung, D. H. Lee, S. Park, and H. J. Song, 'A Log Buffer based Flash Translation Layer using Fully Associative Sector Translation,' ACM Transactions on Embedded Computing Systems, vol. 6, Feb. 2007
J. Kim, J. M. Kim, S. H. Noh, S. L. Min, and Y. Cho, 'A Space-efficient Flash Translation Layer for CompactFlash Systems,' IEEE Transactions on Consumer Electronics, vol. 28, pp. 366-375, 2002
E. Gal and S. Toledo, 'A Transactional Flash File System for Microcontrollers,' in USENIX Annual Technical Conference, 2005, pp. 89-104
김성관, 이동희, 노삼혁, 민상렬, '플래시 메모리를 위한 신뢰성 높은 소프트웨어 개발 환경,' SK Telecom Telecommunication Review, Vol. 15, pp. 638-646, 2005
※ AI-Helper는 부적절한 답변을 할 수 있습니다.