Browse

Performance and lifetime improvement techniques for flash-based storage devices
낸드 플래시 기반 저장장치를 위한 성능 및 수명 개선 기법

Cited 0 time in Web of Science Cited 0 time in Scopus
Authors
이성진
Advisor
김지홍
Major
공과대학 전기·컴퓨터공학부
Issue Date
2013-08
Publisher
서울대학교 대학원
Keywords
NAND Flash MemoryFlash-Based Storage DevicesStorage Performance OptimizationStorage Lifetime ManagementOperating SystemEmbedded System
Description
학위논문 (박사)-- 서울대학교 대학원 : 전기·컴퓨터공학부, 2013. 8. 김지홍.
Abstract
낸드 플래시 기반의 저장장치 MP3 플레이어 및 휴대폰과 같은 모바일 임베디드 시스템에서 광범위하게 사용되어 왔으며, 최근에는 랩톱, 데스크톱 PC, 그리고 엔터프라이즈 서버 시스템에 이르는 다양한 컴퓨팅 환경에서 하드 디스크 드라이브를 대체한 차세대 저장장치로 주목 받고 있다. 이러한 낸드 플래시 기반의 저장장치의 대두는 메모리 공정의 미세화와 함께 멀티 레벨 셀 (Multi-Level Cell, 이하 MLC) 기술과 같은 하나의 메모리 셀에 다수의 비트 정보를 저장할 수 있는 고집적화 기술의 발전에 기반하고 있다. 하지만 반도체 공정의 집적도가 향상될수록 플래시 메모리의 성능과 수명은 급격하게 감소하고 있으며, 따라서 이러한 성능 및 수명상의 문제를 효율적으로 해결할 수 있는 기법에 대한 연구가 필요한 상태이다.
본 논문은 대용량 낸드 플래시 메모리를 위한 시스템 레벨에서의 성능 및 수명 최적화 기술을 제안한다. 기존의 연구와 다르게, 본 논문에서 제안한 기법은 낸드 플래시 메모리의 낮은 수준을 물리적 특성을 시스템 레벨에서 효과적으로 활용함으로써 감소되는 성능과 수명 문제의 해결을 한다.
첫 번째, 본 논문에서는 MLC 낸드 플래시 메모리의 비대칭적인 성능/공간 특성을 활용하여 저장장치 성능을 개선한 FlexFS라는 새로운 파일 시스템을 제안한다. FlexFS는 전체 MLC 플래시 공간의 일부 영역을 SLC 플래시 특성을 지닌 일종의 버퍼로 사용함으로써 MLC 플래시의 높은 용량을 보장하면서도 동시에 SLC 플래시의 우수한 성능을 제공한다. FlexFS 파일 시스템을 실제 플래시 저장장치 프로토타입에 구현한 결과 SLC 플래시와 거의 동일한 성능을 제공함과 동시에 MLC 플래시와 같은 공간을 제공함을 확인할 수 있었다.
두 번째, 본 논문에서는 사용자가 요구하는 수명 보장을 위해 저장장치의 성능을 변경하는 동적 저장장치 쓰기 성능 조절 기법 (Dynamic Performance Throttling) 기법을 제안한다. 본 논문에서 제안하는 동적 쓰기 성능 조절 기법은 작업부하의 특징에 맞추어 단위 시간 당 저장장치에 기록되는 데이터의 량을 조절함으로써 사용자가 요구하는 저장장치 수명의 보장을 가능하게 한다. 본 연구에서는 낸드 플래시 메모리의 자체 회복 특성 (Self-Recovery Effect) 을 반영한 실질적인 삭제 가능 횟수를 저장장치 성능 조절 시 활용함으로써 상대적으로 적은 성능 저하로 지정된 수명 보장하도록 한다.
세 번째, 본 본문에서는 하드웨어 기반의 무손실 데이터 압축기를 활용한 플래시 저장장치의 내구성 개선 기법을 제안한다. 호스트 시스템에서 요청된 데이터를 압축하여 저장할 경우 실제 낸드 플래시에 기록되는 데이터의 양이 감소하게 되고 따라서 전반적인 저장장치의 수명이 개선된다. 또한 이러한 압축 과정이 하드웨어 가속기를 통해 수행될 경우 데이터 압축 위해 요구되는 시간은 크게 감소하게 되며 따라서 저장장치의 수명뿐만이 아니라 성능 개선에도 도움을 준다. 이와 함께 우리는 압축되어 저장된 데이터의 효율적인 관리를 위해 데이터 압축을 고려한 FTL 기법 (Compression-Aware FTL, 이하 CaFTL) 기법을 제안하였다.
본 논문에서 제안한 기법들은 모두 리눅스 및 자체 개발한 저장장치 프로토타입에 구현되었다. 이와 함께 우리는 실제 응용을 수행하거나 혹은 응용 수행 중 추출된 I/O 명령의 수행을 통하여 제안된 기법들의 유용성을 검증하였다. 이러한 실험을 통하여 우리는 본 논문에서 제안한 기법들은 대용량 낸드 플래시의 성능 및 수명을 크게 개선함을 확인할 수 있었다.
Recently, NAND flash-based storage devices are increasingly popular in embedded systems, laptop/desktop computers, and enterprise systems, replacing traditional hard disk drives (HDDs). This popularity of flash-based storage devices is mainly due to their attractive characteristics over HDDs, such as high performance, low power consumption, and high shock resistance. However, as the cell size of NAND flash memory is shrinking down and the multi-level cell (MLC) technology is commonly used, the performance and lifetime of NAND flash memory is greatly degraded. In order for NAND flash-based devices to be broadly adopted in various computing environments, therefore, these performance and lifetime problems need to be addressed properly.
In this dissertation, system-level performance and lifetime improvement techniques for recent high-density NAND flash memory are proposed. Unlike existing techniques, the proposed techniques resolve the problems of decreasing lifetime and performance by exploiting the low-level physical properties of NAND flash memory at various system levels ranging from a file system to a flash controller.
We first present a flexible flash file system, called FlexFS, for MLC NAND flash memory. By exploiting the performance/capacity asymmetric programming property of MLC NAND flash memory, FlexFS achieves I/O performance close to high-performance SLC NAND flash memory, while providing the same storage capacity as high-density MLC NAND flash memory. Second, we propose a novel recovery-aware dynamic throttling technique, called READY, which guarantees the required storage lifetime by intentionally throttling the performance of a storage device. The proposed READY technique also considers the self-recovery effect of floating-gate transistors which improves the endurance of SSDs, guaranteeing the required lifetime with less write throttling. Third, we present a new design of a flash-based storage device, called BlueZIP, which improves both storage performance and lifetime by means of hardware-assisted data compression. By reducing the actual amount of data written to flash memory, BlueZIP improves the overall lifetime of flash-based storage devices. Moreover, since hardware-assisted compression reduces the data physically transferred from/to flash memory with a small computational overhead, BlueZIP improves the overall I/O performance as well.
In order to evaluate the proposed techniques, we performed a series of evaluations using a trace-driven simulator and I/O traces which were collected from various real-world systems. To understand the feasibility of the proposed techniques, we also implemented them in the Linux kernel on top of our in-house flash storage prototype and then evaluated their effects on performance and lifetime while running real-world applications. Our evaluation results showed that the proposed techniques provide a reasonable storage lifetime while improving the overall performance of a storage device over previous techniques.
Language
English
URI
http://hdl.handle.net/10371/118935
Files in This Item:
Appears in Collections:
College of Engineering/Engineering Practice School (공과대학/대학원)Dept. of Electrical and Computer Engineering (전기·정보공학부)Theses (Ph.D. / Sc.D._전기·정보공학부)
  • mendeley

Items in S-Space are protected by copyright, with all rights reserved, unless otherwise indicated.

Browse