Publications

Detailed Information

Program Context based Optimization Techniques for Improving Performance and Lifetime of NAND Flash-Based Storage Devices : 낸드 플래시 저장장치의 성능 및 수명 향상을 위한 프로그램 컨텍스트 기반 최적화 기법

Cited 0 time in Web of Science Cited 0 time in Scopus
Authors

김태진

Advisor
김지홍
Major
공과대학 컴퓨터공학부
Issue Date
2019-02
Publisher
서울대학교 대학원
Description
학위논문 (박사)-- 서울대학교 대학원 : 공과대학 컴퓨터공학부, 2019. 2. 김지홍.
Abstract
컴퓨팅 시스템의 성능 향상을 위해, 기존의 느린 하드디스크(HDD)를 빠른 낸드

플래시 메모리 기반 저장장치(SSD)로 대체하고자 하는 연구가 최근 활발히 진행

되고 있다. 그러나 지속적인 반도체 공정 스케일링 및 멀티 레벨링 기술로 SSD

가격을 동급 HDD 수준으로 낮아졌지만, 최근의 첨단 디바이스 기술의 부작용으

로 NAND 플래시 메모리의 수명이 짧아지는 것은 고성능 컴퓨팅 시스템에서의

SSD의 광범위한 채택을 막는 주요 장벽 중 하나이다.

본 논문에서는 최근의 고밀도 낸드 플래시 메모리의 수명 및 성능 문제를

해결하기 위한 시스템 레벨의 개선 기술을 제안한다. 제안 된 기법은 응용 프로

그램의 쓰기 문맥을 활용하여 기존에는 얻을 수 없었던 데이터 수명 패턴 및 중복

데이터 패턴을 분석하였다. 이에 기반하여, 단일 계층의 단순한 정보만을 활용했

던 기존 기법의 한계를 극복함으로써 효과적으로 NAND 플래시 메모리의 성능

및 수명을 향상시키는 최적화 방법론을 제시한다.

먼저, 응용 프로그램의 I/O 작업에는 문맥에 따라 고유한 데이터 수명과 중

복 데이터의 패턴이 존재한다는 점을 분석을 통해 확인하였다. 문맥 정보를 효과

적으로 활용하기 위해 프로그램 컨텍스트 (쓰기 문맥) 추출 방법을 구현 하였다.

프로그램 컨텍스트 정보를 통해 가비지 컬렉션 부하와 제한된 수명의 NAND 플

래시 메모리 개선을 위한 기존 기술의 한계를 효과적으로 극복할 수 있다.

둘째, 멀티 스트림 SSD에서 WAF를 줄이기 위해 데이터 수명 예측의 정확

성을 높이는 기법을 제안하였다. 이를 위해 애플리케이션의 I/O 컨텍스트를 활용

하는 시스템 수준의 접근 방식을 제안하였다. 제안된 기법의 핵심 동기는 데이터

수명이 LBA보다 높은 추상화 수준에서 평가 되어야 한다는 것이다. 따라서 프

로그램 컨텍스트를 기반으로 데이터의 수명을 보다 정확히 예측함으로써, 기존

기법에서 LBA를 기반으로 데이터 수명을 관리하는 한계를 극복한다. 결론적으

로 따라서 가비지 컬렉션의 효율을 높이기 위해 수명이 짧은 데이터를 수명이 긴

데이터와 효과적으로 분리 할 수 있다.

마지막으로, 쓰기 프로그램 컨텍스트의 중복 데이터 패턴 분석을 기반으로

불필요한 중복 제거 작업을 피할 수있는 선택적 중복 제거를 제안한다. 중복 데

이터를 생성하지 않는 프로그램 컨텍스트가 존재함을 분석적으로 보이고 이들을

제외함으로써, 중복제거 동작의 효율성을 높일 수 있다. 또한 중복 데이터가 발생

하는 패턴에 기반하여 기록된 데이터를 관리하는 자료구조 유지 정책을 새롭게

제안하였다. 추가적으로, 서브 페이지 청크를 도입하여 중복 데이터를 제거 할

가능성을 높이는 세분화 된 중복 제거를 제안한다.

제안 된 기술의 효과를 평가하기 위해 다양한 실제 시스템에서 수집 된 I/O

트레이스에 기반한 시뮬레이션 평가 뿐만 아니라 에뮬레이터 구현을 통해 실제

응용을 동작하면서 일련의 평가를 수행했다. 더 나아가 멀티 스트림 디바이스의

내부 펌웨어를 수정하여 실제와 가장 비슷하게 설정된 환경에서 실험을 수행하

였다. 실험 결과를 통해 제안된 시스템 수준 최적화 기법이 성능 및 수명 개선

측면에서 기존 최적화 기법보다 더 효과적이었음을 확인하였다. 향후 제안된 기

법들이 보다 더 발전된다면, 낸드 플래시 메모리가 초고속 컴퓨팅 시스템의 주

저장장치로 널리 사용되는 데에 긍정적인 기여를 할 수 있을 것으로 기대된다.
Replacing HDDs with NAND flash-based storage devices (SSDs) has been

one of the major challenges in modern computing systems especially in regards to better performance and higher mobility. Although the continuous

semiconductor process scaling and multi-leveling techniques lower the price

of SSDs to the comparable level of HDDs, the decreasing lifetime of NAND

flash memory, as a side effect of recent advanced device technologies, is

emerging as one of the major barriers to the wide adoption of SSDs in highperformance computing systems.

In this dissertation, system-level lifetime improvement techniques for

recent high-density NAND flash memory are proposed. Unlike existing techniques, the proposed techniques resolve the problems of decreasing performance and lifetime of NAND flash memory by exploiting the I/O context

of an application to analyze data lifetime patterns or duplicate data contents

patterns.

We first present that I/O activities of an application have distinct data

lifetime and duplicate data patterns. In order to effectively utilize the context information, we implemented the program context extraction method.

With the program context, we can overcome the limitations of existing techniques for improving the garbage collection overhead and limited lifetime

of NAND flash memory.

Second, we propose a system-level approach to reduce WAF that exploits the I/O context of an application to increase the data lifetime prediction for the multi-streamed SSDs. The key motivation behind the proposed

technique was that data lifetimes should be estimated at a higher abstraction

level than LBAs, so we employ a write program context as a stream management unit. Thus, it can effectively separate data with short lifetimes from

data with long lifetimes to improve the efficiency of garbage collection.

Lastly, we propose a selective deduplication that can avoid unnecessary deduplication work based on the duplicate data pattern analysis of write

program context. With the help of selective deduplication, we also propose

fine-grained deduplication which improves the likelihood of eliminating redundant data by introducing sub-page chunk. It also resolves technical difficulties caused by its finer granularity, i.e., increased memory requirement

and read response time.

In order to evaluate the effectiveness of the proposed techniques, we

performed a series of evaluations using both a trace-driven simulator and

emulator with I/O traces which were collected from various real-world systems. To understand the feasibility of the proposed techniques, we also implemented them in Linux kernel on top of our in-house flash storage prototype and then evaluated their effects on the lifetime while running real-world

applications. Our experimental results show that system-level optimization

techniques are more effective over existing optimization techniques.
Language
eng
URI
https://hdl.handle.net/10371/151982
Files in This Item:
Appears in Collections:

Altmetrics

Item View & Download Count

  • mendeley

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

Share