소형 USB 저장장치에서부터 대용량 데이터베이스 서버에 이르기까지 플래시 메모리의 활용범위가 더욱 확장되어 감에 따라 저장된 데이터의 호환성은 플래시 메모리 관리 소프트웨어의 중요한 고려사항이다. 이를 위해 FTL(Flash Translation Layer)과 FAT파일시스템이 플래시 메모리 관리를 위한 사실상 표준 소프트웨어로써 사용되고 있다. 그러나 동일한 FTL과 FAT 파일시스템을 다양한 하드웨어로 구성된 시스템에서 구동하는 경우 각각의 요구조건을 만족할 수 없는 문제가 발생한다. 따라서 본 논문에서는 재구성 가능하며 FAT 표준 데이터의 호환성 및 향상된 기능을 제공하는 통합 플래시 메모리 관리 소프트웨어인 INFLAWARE(INtegrated FLAsh softWARE)를 제안한다. 제안된 기법은 실제 플래시 메모리가 장착된 시스템에 구현되었으며, 실험을 통해 본 논문에서 제안한 기법이 기존 기법 대비 최대 27%, 평균 19%의 메모리 사용량 감소 효과를 가져 올 수 있으며 또한 map_destroy 기법의 적용을 통해 최대 21%, 평균 10%의 성능 향상이 있음을 보인다.
소형 USB 저장장치에서부터 대용량 데이터베이스 서버에 이르기까지 플래시 메모리의 활용범위가 더욱 확장되어 감에 따라 저장된 데이터의 호환성은 플래시 메모리 관리 소프트웨어의 중요한 고려사항이다. 이를 위해 FTL(Flash Translation Layer)과 FAT 파일시스템이 플래시 메모리 관리를 위한 사실상 표준 소프트웨어로써 사용되고 있다. 그러나 동일한 FTL과 FAT 파일시스템을 다양한 하드웨어로 구성된 시스템에서 구동하는 경우 각각의 요구조건을 만족할 수 없는 문제가 발생한다. 따라서 본 논문에서는 재구성 가능하며 FAT 표준 데이터의 호환성 및 향상된 기능을 제공하는 통합 플래시 메모리 관리 소프트웨어인 INFLAWARE(INtegrated FLAsh softWARE)를 제안한다. 제안된 기법은 실제 플래시 메모리가 장착된 시스템에 구현되었으며, 실험을 통해 본 논문에서 제안한 기법이 기존 기법 대비 최대 27%, 평균 19%의 메모리 사용량 감소 효과를 가져 올 수 있으며 또한 map_destroy 기법의 적용을 통해 최대 21%, 평균 10%의 성능 향상이 있음을 보인다.
As deployments of Flash memory are spreading out rapidly from tiny USB storages to large DB servers, interoperability become an indispensable requirement for Flash memory software architecture. For the purpose, many systems make use of the conventional FAT file system and FTL (Flash Translation Laye...
As deployments of Flash memory are spreading out rapidly from tiny USB storages to large DB servers, interoperability become an indispensable requirement for Flash memory software architecture. For the purpose, many systems make use of the conventional FAT file system and FTL (Flash Translation Layer) software as a de facto standard. However, the tactless combination of the FAT file system and FTL does not satisfy diverse other requirements of a variety of systems. In this paper, we propose a novel reconfigurable integrated Flash memory software architecture, named INFLAWARE (INtegrated FLAsh softWARE) that supports not only interoperability but also reconfigurability and performance enhancement. Real implementation based experimental results have shown that INFLAWARE can achieve improvements of memory footprint up to 27% with an average of 19%, compared with the conventional FAT and FTL combination. Also, by using map_destroy technique, it can reduce response times of various applications up to 21% with an average of 10%.
As deployments of Flash memory are spreading out rapidly from tiny USB storages to large DB servers, interoperability become an indispensable requirement for Flash memory software architecture. For the purpose, many systems make use of the conventional FAT file system and FTL (Flash Translation Layer) software as a de facto standard. However, the tactless combination of the FAT file system and FTL does not satisfy diverse other requirements of a variety of systems. In this paper, we propose a novel reconfigurable integrated Flash memory software architecture, named INFLAWARE (INtegrated FLAsh softWARE) that supports not only interoperability but also reconfigurability and performance enhancement. Real implementation based experimental results have shown that INFLAWARE can achieve improvements of memory footprint up to 27% with an average of 19%, compared with the conventional FAT and FTL combination. Also, by using map_destroy technique, it can reduce response times of various applications up to 21% with an average of 10%.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서 제안하는 INFLAWARE는 상호 호환성제공, 부가적인 확장 기능 제공, 재구성 기능 제공이라는 세 가지 목표를 두고 설계되었다. 각 목표에 대한 구체적인 내용은 다음과 같다.
본 논문에서는 재구성 가능한 통합 플래시 메모리 관리 소프트웨어 (INtegrated FLAsh softWARE, 이하 INFLA WARE) 를 제안한다. INFLA WARE 는 FAT 표준과 호환되는 데이터의 상호 호환성을 제공함과 동시에 기존 시스템에서 제공하기 어려웠던 부가적인 기능제공과 다양한 시스템에 적합하게 재구성이 가능하다는 특징을 가진다.
본 논문에서는 저장된 데이터의 상호 호환성과 성능향상을 제공하는 플래시 메모리를 위한 통합된 소프트웨어인 INFLAWARE를 제안하였다. 제안된 기법은 리눅스 2621에 실제 구현되었으며, 또한 실험을 통해 제안된 기법이 평균 19% 메모리 사용량을 절약할 수 있으며, map_destroy 기법을 도입함으로써 평균 10%의 성능 향상을 가져옴을 확인할 수 있었다.
본연구와 동일한 목표로 진행된 기존 연구에는 [기이 있다. 이 연구에서는 FTL과 FAT 파일시스템을 사용하는 플래시 메모리 기반 시스템의 성능 향상을 위한 기법으로 파일시스템 수준에서 삭제된 데이터들에 대한 정보를 FTL에 알려줌으로써 FTL의 가비지 컬렉션 수행 시 불필요한 복사 오버헤드를 최소화 시킬 수 있는 map_ destroy 기법을 소개하였으며 이를 통한 성능 향상이 가능함을 보였다.
제안 방법
또한 각컴포넌트 간에 종속성이 없도록 구현되었다. 구체적으로, doxygen을 통한 분석 결과를 바탕으로 컴파일 되는시점에 사용자의 정의에 따라 필요한 컴포넌트만 컴파일에 포함될 수 있도록 'define'과 'ifdef' 지시어를 활용하여 구현하였다.
이를 위해 본 연구진은 doxy- gen[20]을 이용하여 INFLAWARE의 모든 함수간의 종속성을 파악하였고 이를 주요 기능 별로 분류하였다. 또한 각 기능 별로 사용 유무를 결정하여 재구성할 수 있도록 설계하였다.
본 논문에서 제안하는 INFLAWARE는 MTD 글루로직 상위에, FTL과 파일시스템의 기능을 동시에 수행할 수 있도록 구현되었다. 즉, INFLAWARE는 단일 소프트웨어 모듈을 통해 FTL의 기능과 파일시스템의 기능을 동시에 제공한다.
본 연구는 FAT 호환성을 제공한다는 측면에서는 두 번째 기법들의 접근 방법을 따른다. 반면, 파일 시스템과 FTL의 기능을 통합하고 성능 향상을 시도한다는 측면에서는 두 번째 기법들의 접근 방법과 유사하다.
수행 결과를 보여준다. 실험을 위해 각 벤치마크 수행 전에 저장장치의 이용률(utilization)을 50% 로 만든 뒤, 각 벤치마크 수행 시간을 측정하였다. 그림 8에서 볼 수 있듯이 map_destroy기능이 추가되어 있지 않은 Core configuratione 기존(FAT+NFTL)과 유사한 성능을 보이고 있으며, map_destroy기능이 추가된 Enhanced configuratione 기존 기법 대비 최대 2L75% (Postmark의 경우), 평균 10%의 성능 향상을
제공되어야 한다. 이를 위해 본 연구진은 FAT 파일 시스템과 FTL을 단일 소프트웨어 모듈로 통합하였다. 이를 통해 map_destroy[기와 같이 기존 소프트웨어 구조에서 작용시키기 어려웠던 다양한 속도 향상 기법이나 신뢰성 향상 기법을 적용하는 것이 가능하다.
가능해야 한다. 이를 위해 본 연구진은 doxy- gen[20]을 이용하여 INFLAWARE의 모든 함수간의 종속성을 파악하였고 이를 주요 기능 별로 분류하였다. 또한 각 기능 별로 사용 유무를 결정하여 재구성할 수 있도록 설계하였다.
한다. 이를 위해 플래시 메모리 기반 저장장치에서 사실상 산업계 표준으로 사용되는 FAT 파일시스템을 기반으로 하여 INFLAWARE* 설계하였으며, FAT 파일시스템을 플래시 메모리 위에서 동작시키기 위해 NFTL을 사용하였다. 사실 FAT 파일시스템과 FTL은 서로 독립적이며 따라서 NFTL이 아닌 다른 FTL을 적용하는 것도 가능하다.
제안된 기법은 400MHz로 동작하는 Xscale CPU, 64MB SDRAM, 64MB NAND 플래시 메모리 등이 장착되어 있는 임베디드 보드 상에세8], 리눅스의 VFAT [9] 파일시스템과, NFTL[10]을 기반으로 구현되었다. 또한 실험을 통해 제안된 INFLAWARE가 기존의 VFAT 과 NFTL 구성에 비해 27% 적은 용량의 메모리 자원을 필요로 하며, 최대 21%, 평균 10%의 향상된 성능을제공함을 확인할 수 있었다.
대상 데이터
구현된 INFLAWARE는 400MHz로 동작하는 Intel PXA2® CPU와 64MB DRAM, 64MB NAND 플래시메모리 등의 장치가 부착되어 있는 임베디드 개발 보드 상에서 실험되었으며, 실험을 위해 Linux 2.6.21 을 동작시켰다. 비교대상으로는 Linux의 VFAT[9] 파일 시스템과 MTD(Memory Technology Device)내에 존재하는 NFTL[10]> 사용하였다
21 을 동작시켰다. 비교대상으로는 Linux의 VFAT[9] 파일 시스템과 MTD(Memory Technology Device)내에 존재하는 NFTL[10]> 사용하였다
성능/효과
보여준다. 결과를 통해 map_destroy기능이추가된 Enhanced configuratione 이용률이 높은 때뿐만 아니라 모든 이용률에서 고르게 성능 향상을 보임을알 수 있다.
실험을 위해 각 벤치마크 수행 전에 저장장치의 이용률(utilization)을 50% 로 만든 뒤, 각 벤치마크 수행 시간을 측정하였다. 그림 8에서 볼 수 있듯이 map_destroy기능이 추가되어 있지 않은 Core configuratione 기존(FAT+NFTL)과 유사한 성능을 보이고 있으며, map_destroy기능이 추가된 Enhanced configuratione 기존 기법 대비 최대 2L75% (Postmark의 경우), 평균 10%의 성능 향상을 보이고 있다.
첫째, 파일시스템 수준에서 모든 파일이 삭제되었다 흥}더라도 FTL 수준에서는 100% 의 이용률이 유지되고 있을 수 있기 때문에 map_destroy 기법이 성능 향상을 유발한다. 둘째, 이용률이 낮은 경우라 할지라도 map_destroy기법이 불필요한 가비지 컬렉션을 최소화시킴으로 인해 성능이 향상된다.
구현되었다. 또한 실험을 통해 제안된 INFLAWARE가 기존의 VFAT 과 NFTL 구성에 비해 27% 적은 용량의 메모리 자원을 필요로 하며, 최대 21%, 평균 10%의 향상된 성능을제공함을 확인할 수 있었다.
셋째, 운용될 시스템의 환경에 적절하게 소프트웨어의재구성이 가능해야 한다. 이를 위해 본 연구진은 doxy- gen[20]을 이용하여 INFLAWARE의 모든 함수간의 종속성을 파악하였고 이를 주요 기능 별로 분류하였다.
14KB 의 코드 사이즈를 보이고 있다. 이들 결과를 통해 INFLAWARE 가 기존 기법 대비 최대 27%(Core configuration의 경우), 평균 19% 적은 메모리 사용량을 필요로 함을 알 수 있다.
txt 파일을 생성하여 test_string 이라는 테스트 문자열을 파일에 기록하였다. 이후 같은 블록 장치를 inflaware.ko 모듈을 통해 마운트 하여 a.txt 파일에 대한 연산을 수행함으로써 INFLAWARE 완벽한 FAT 호환 파일시스템 기능을 제공함을 확인할 수 있었다.
INFLAWARE를 제안하였다. 제안된 기법은 리눅스 2621에 실제 구현되었으며, 또한 실험을 통해 제안된 기법이 평균 19% 메모리 사용량을 절약할 수 있으며, map_destroy 기법을 도입함으로써 평균 10%의 성능 향상을 가져옴을 확인할 수 있었다. 향후 본 연구는 고성능 시스템을 위해 신뢰성 강화 기능 도입, map_ destroy외의 다양한 성능 향상 기법 개발 등 다양한 부가 기능 추가와 센서 노드와 같은 열악한 하드웨어 환경에서도 원활히 동작할 수 있는 구성을 제공하도록 확장해 나갈 것이다.
이유는 다음과 같다. 첫째, 파일시스템 수준에서 모든 파일이 삭제되었다 흥}더라도 FTL 수준에서는 100% 의 이용률이 유지되고 있을 수 있기 때문에 map_destroy 기법이 성능 향상을 유발한다. 둘째, 이용률이 낮은 경우라 할지라도 map_destroy기법이 불필요한 가비지 컬렉션을 최소화시킴으로 인해 성능이 향상된다.
후속연구
한편, FAT 파일 시스템에서 가장 공간을 많이 사용하는 기능이 FAT 테이블 관리이며 이 기능이 Core configuration에 포함되기 때문에 본 연구진이 처음 기대했던 것 보다는 메모리 사용량 절약이 적었다. 이 부분에 대해서는 향후 더욱 연구할 것이다.
제안된 기법은 리눅스 2621에 실제 구현되었으며, 또한 실험을 통해 제안된 기법이 평균 19% 메모리 사용량을 절약할 수 있으며, map_destroy 기법을 도입함으로써 평균 10%의 성능 향상을 가져옴을 확인할 수 있었다. 향후 본 연구는 고성능 시스템을 위해 신뢰성 강화 기능 도입, map_ destroy외의 다양한 성능 향상 기법 개발 등 다양한 부가 기능 추가와 센서 노드와 같은 열악한 하드웨어 환경에서도 원활히 동작할 수 있는 구성을 제공하도록 확장해 나갈 것이다.
참고문헌 (22)
F. Douglis, R. Caceres, F. Kaashoek, K. Li, B. Marsh, and J. Tauber, "Storage Alternatives for Mobile Computers," in Proceedings of the First Symposium on Operating Systems Design and Implementation (OSDI), pp.25-37, 1994.
A. Gupta, Y. Kim, and B. Urgaonkar, "DFTL: A Flash Translation Layer Employing Demand-based Selective Caching of Page-level Address Mappings," in Proceeding of the 14th international conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pp. 229-240, 2009.
D. Narayanan, E. Thereska, A. Donnelly, S. Elnikety, and A. Rowstron, "Migrating Server Storage to SSDs: Analysis of Tradeoffs," in Proceedings of the fourth ACM European conference on Computer systems (EUROSYS), pp.145-159, 2009.
N. Agrawal, V. Prabhakaran, T. Wobber, J. Davis, M. Manasse, and R. Panigrahy, "Design Tradeoffs for SSD Performance," Proceedings of the 2008 USENIX Annual Technical Conference, pp.57-70, 2008.
H. Dai, M. Neufeld, and R. Han, "ELF: An Efficient Log-Structured Flash File System For Micro Sensor Nodes," in Proceedings of the Second International Conference on Embedded Networked Sensor Systems (SenSys), pp.176-187, 2004.
S. Lee, B. Moon, C. Park, J. Kim, and S. Kim, "A case for flash memory SSD in enterprise database applications," in Proceedings of the ACM International Conference on Management of Data (SIGMOD), pp.1075-1086, Vancouver, BC, June 2008.
김성관, 이동희, 민상렬, "FAT 호환 플래시 메모리 파일시스템을 위한 성능 최적화 기법", 한국 컴퓨터 종합 학술대회 논문집, vol.32, no.1(A), pp.796-798.
EZ-X5 Evaluation Board, "http://www.falinux.com"
Linux VFAT File System, "http://bmrc.berkeley. edu/people/chaffee/vfat.html"
M-Systems, "Flash-Memory translation layer for NAND flash(NFTL)," 1998.
M. Rosenblum and J. K. Ousterhout, "The design and implementation of a log-structured file system," ACM Transactions on Computer Systems, vol.10, no.1, pp.26-52, 1992.
M. S. Kwon, S. H. Bae, S. S. Jung, D. Y. Seo, and C. K. Kim, "KFAT: Log-based Transactional FAT Filesystem for Embedded Mobile Systems," in 2005 US-Korea Conference, ICTS-142, 2005.
ZFS, "Zeen File System," Zeen Information Technologies, Inc., http://zeen.snu.ac.kr/.
Intel Corporation, "Understanding the Flash Translation Layer (FTL) Specification," 1998.
J. M. Kim. J. 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.
J. Katcher, "PostMark: A New File System Benchmark," Technical Report TR3022, Network Appliance Inc., 1997.
E. Gal and S. Toledo, "A transactions Flash file system for microcontrollers," Proceedings of the 2005 USENIX Annual Technical Conference, pp. 89-104, 2005.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.