Design and Implement FTL(Flash Translation Layer) Development Platform in Linux User Space

리눅스 사용자 공간에서 FTL 개발 플랫폼 설계 및 구현

  • Choi, Myoung-Soon (Department of Electronics Computer Engineering, Hanyang University) ;
  • Cha, Jae-Hyuk (Department of Electronics Computer Engineering, Hanyang University)
  • 최명순 (한양대학교 전자컴퓨터통신공학과) ;
  • 차재혁 (한양대학교 전자컴퓨터통신공학과)
  • Published : 2011.06.29

Abstract

모바일 디바이스 저장 장치로 많이 사용되고 있는 플래시 메모리는 가벼운 무게, 내구성, 낮은 전력 소비 등의 장점을 가지고 사용되기 시작하였으며 근래에는 모바일 뿐 아니라 다양한 멀티 미디어 디바이스 전반의 많은 제품에 채용되어 더욱 더 그 범위가 확산되는 추세에 있다. 플래시 메모리는 위에서 언급한 많은 장점이 있지만 기존에 사용되던 디스크와 달리 플래시 메모리 블록을 재사용하기 위해서는 삭제 후 쓰기라는 별도의 연산을 필요로 한다. 이를 FTL (Flash Translation Layer) 이라는 S/W 모듈을 통해 구현되어 있으며 FTL의 구현 알고리즘에 따라 소용되는 연산 비용 또한 상이하며 그 특성과 성능이 매우 다양하게 나타난다. 일반적으로 리눅스에서 FTL은 커널 내부에 구현되어 디바이스 드라이버 형태로 존재하며 일반적인 S/W 개발자보다는 플래시 및 커널 관련 전문지식을 가진 시스템 개발자가 구현을 하게 된다. 이 논문에서는 커널 및 시스템에 대한 깊은 지식 없이도 새롭게 고안된 FTL 알고리즘을 쉽고 빠르게 구현, 검증할 수 있도록 커널이 아닌 사용자 공간에 FTL을 구현하여 빠른 시간 내에 착안된 알고리즘을 실험, 검증할 수 있는 UFTL(User Space Flash Translation Layer) 개발 플랫폼올 제안한다.

Keywords