Publications

Detailed Information

Performance and Lifetime Optimizations for Large-Capacity NAND Storage Systems : 대용량 낸드 플래시 저장장치를 위한 성능 및 수명 최적화 기법

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

박지성

Advisor
김지홍
Issue Date
2019-08
Publisher
서울대학교 대학원
Keywords
낸드 플래시 메모리플래시 저장장치저장장치 제어임베디드 시스템
Description
학위논문(박사)--서울대학교 대학원 :공과대학 전기·컴퓨터공학부,2019. 8. 김지홍.
Abstract
반도체 공정의 미세화, 다치화 기술, 큰 입출력 단위로 대표되는 용량 중심 설계 기술은 낸드 플래시 메모리의 단위 용량 당 가격을 지속적으로 감소시킴으로써 다양한 컴퓨팅 환경에 낸드 플래시 저장장치의 폭넓은 적용에 크게 기여하였다. 위와 같은 용량 중심 설계 기술은 디바이스의 집적도를 향상시키는 데는 매우 효율적이지만, 디바이스의 성능 및 수명 측면에는 막대한 악영향을 가져왔다. 반면, 향후 성능 및 수명에 대한 요구사항 수준 또한 지속적으로 증가할 것임을 고려할 때, 성능 및 수명 하락을 완화하기 위한 기존 기법의 최적화 정도를 뛰어넘을 수 있는 새로운 기법의 개발이 필요하다.

본 논문에서는 용량 중심 설계 기술의 부작용을 최소화하여 대용량 낸드 플래시 기반 저장장치의 성능 및 내구성을 개선하기 위한 다양한 최적화 기술을 제안한다. 기존 기법들의 최적화 한계를 극복하기 위해, 본 논문에서 제안한 기법들은 기존에 당연히 받아들여졌던 디바이스의 특성 및 최적화 기법들의 특성을 재고찰함으로써 용량 중심 설계의 부작용 및 최적화 정도를 제한하는 근본원인을 제거한다. 이를 통해 성능 및 수명 개선정도를 극대화 하여, 대용량 낸드 플래시 기반 저장장치가 현대 응용의 성능, 수명, 그리고 용량 측면의 다양하고 높은 저장장치 요구수준을 동시에 만족시킬 수 있도록 한다.

첫째로, 본 논문에서는 멀티레벨셀(multi-level cell, MLC) 낸드 플래시 메모리를 위한 새로운 페이지 프로그램 순서인 Relaxed Program Sequence (RPS)를 제안한다. RPS는 MLC 낸드 플래시 메모리를 위한 최적화 기법들의 효율성을 크게 저해하는 기존 페이지 프로그램 순서에서의 불필요한 제약사항을 제거한다. 결과적으로, 기존 페이지 프로그램 순서의 목적인 데이터 신뢰성을 보장하면서도 상위 시스템 계층에서 이종 MLC 낸드 페이지들을 유연하게 사용하여 다치화 기술 적용으로 인한 성능 및 수명 하락을 최소화 할 수 있게 한다. 본 논문에서는 제안한 RPS 기반의 flexFTL 은 MLC 낸드 플래시 메모리에서 필요한 페이지 백업 동작의 오버헤드를 최소화 하면서도, 일반적인 MLC 낸드 플래시 기반 저장장치가 달성할 수 없는 높은 쓰기성능을 제공한다.

둘째로, 본 논문에서는 큰 입출력 단위를 갖는 낸드 플래시 메모리에서의 새로운 병렬적 부분페이지 읽기 명령(Subpage-Parallel Read, SPread)을 제안한다. SPread 는 일반적인 낸드 플래시 메모리의 입출력 단위인 페이지보다 더 작은 읽기를 더 빠른 시간에 처리하게 함으로써 상위 시스템과 낸드 디바이스의 입출력 단위 비대칭으로 발생하는 읽기 증폭 문제를 근본적으로 해결한다. 또한, 일반적인 호스트 응용으로 부터의 매우 작은 읽기뿐만 아니라 저장장치 내부 관리로 인한 단편화된 읽기 명령을 다수의 부분 페이지를 병렬적으로 읽음으로써 효과적으로 처리할 수 있게 한다. 이를 통해 저장장치의 성능에 막대한 영향을 주는 가비지 컬렉션의 효율을 개선함으로써 다수의 쓰기 명령을 인가하는 작업부하에서도 전반적인 성능 향상을 달성할 수 있다.

셋째로, 본 논문에서는 개별적 데이터 압축 기법을 효율적으로 통합하여 저장장치의 쓰기 감소량을 더욱 높일 수 있는 새로운 압축 기법을 제안한다. 낸드 플래시 메모리의 제한된 수명은 실제 디바이스로 인가되는 쓰기량을 줄임으로써 보다 직접적으로 큰 개선을 달성할 수 있다. 본 논문에서 제안한 기법은 개별적 기법을 독립적으로 인식하고 단순 통합하는 기존 접근 방식에서 벗어나 개별적 기법들의 효과를 동반 상승시킬 수 있는 새로운 통합 방식을 제안한다. 특히, 제안된 기법은 기존 개별 기법들의 하드웨어 자원 및 자료구조를 대부분 재사용함으로써 성능/자원 측면의 추가적 부하를 최소화하였다.

본 논문에서 제안한 기법들은 저장장치 프로토타입 및 공개 낸드 플래시 저장장치 개발/평가 환경에 구현되었으며, 다양한 응용의 작업부하를 대상으로 그 유용성을 검증하였다. 실험 결과, 본 논문에서 제안한 기법들은 기존의 최적화 기법들의 개선정도에 비해 대용량 낸드 플래시 기반 저장장치의 성능 및 수명을 크게 개선할 수 있음을 확인하였다.
In recent years, NAND flash-based storage systems have grown in the popularity owing to the continuous reduction of cost-per-bit value of NAND devices, which is enabled by capacity-oriented design decisions such as semiconductor process scaling, multi-leveling techniques, and large operation units. Although those capacity-oriented design decisions are effective in increasing the NAND density, they have also introduced significant performance and lifetime degradation of NAND devices. On the other hand, in the era of data explosion, modern computing systems have been demanding storage systems to satisfy the high-performance and long-lifetime requirements as well as the large-capacity requirement. Considering that capacity-oriented design decisions are expected to be continuously and more aggressively adopted to meet the large-capacity requirement, it is crucial to develop new optimization techniques that can overcome the limitations of existing techniques.

In this dissertation, we propose various optimization techniques that address the side effects of capacity oriented design decisions, thus improving performance and lifetime of large-capacity NAND flash-based storage systems. In order to overcome the limitations of existing techniques, our proposed techniques tackle to root causes of performance and lifetime problems, by revisiting common perceptions widely accepted without proper reasoning. By doing so, they allow NAND flash-based storage systems to satisfy high-performance, long-lifetime, and large-capacity requirements of modern data-centric applications at the same time.

We first introduce a new page-program sequence for multi-level cell (MLC) NAND flash memory, called Relaxed Program Sequence (RPS). The RPS scheme removes an unnecessary constraint in the existing page-program sequence, which significantly limits the effectiveness of existing techniques for improving performance and lifetime of MLC NAND flash-based storage systems. It enables the upper management layers to fully exploit heterogeneity of MLC NAND pages without compromising data reliability over the existing scheme. We propose an RPS-aware FTL, flexFTL, which leverages two RPS-enabled techniques. It can almost eliminate overheads of page-backup operations required in MLC NAND flash memory for ensuring the data durability, and provide high write-performance that typical MLC NAND flash-based storage systems cannot achieve.

Secondly, we propose a new read operation for large-page NAND flash memory, called Subpage-Parallel Read (SPread). By supporting fine-granular reads with short latencies, SPread directly addresses the read amplification problem originated from the I/O unit mismatch between NAND devices and upper system layers. Furthermore, SPread allows the storage firmware to effectively deal with fragmented reads generated in storage management tasks, thereby improving overall I/O performance under workloads with many writes,
as well as under read-intensive workloads.

Finally, we present an effective integration of existing data-reduction techniques, called Dedup-Assisted Compression (DAC). DAC integrates deduplication and lossless compression in a synergistic fashion so that potential benefits of individual ones can be maximized while overcoming their inherent limitations. By effectively reusing the hardware resources and data structures of individual techniques, our proposed technique further reduces write-traffic to underlying NAND devices with negligible overheads over a naive combination of deduplication and lossless compression.

In order to evaluate the effectiveness of the proposed techniques, we conducted a set of experiments with various benchmark tools and I/O traces collected from real-world applications. The experimental results showed that our proposed techniques significantly improve both the performance and lifetime, thus enabling large-capacity NAND storage systems to better meet the high-performance and longlifetime requirements of modern computing systems.
Language
eng
URI
https://hdl.handle.net/10371/162019

http://dcollection.snu.ac.kr/common/orgView/000000156224
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