Browse

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

DC Field Value Language
dc.contributor.advisor김지홍-
dc.contributor.author박지성-
dc.date.accessioned2019-10-21T02:25:42Z-
dc.date.available2019-10-21T02:25:42Z-
dc.date.issued2019-08-
dc.identifier.other000000156224-
dc.identifier.urihttps://hdl.handle.net/10371/162019-
dc.identifier.urihttp://dcollection.snu.ac.kr/common/orgView/000000156224ko_KR
dc.description학위논문(박사)--서울대학교 대학원 :공과대학 전기·컴퓨터공학부,2019. 8. 김지홍.-
dc.description.abstract반도체 공정의 미세화, 다치화 기술, 큰 입출력 단위로 대표되는 용량 중심 설계 기술은 낸드 플래시 메모리의 단위 용량 당 가격을 지속적으로 감소시킴으로써 다양한 컴퓨팅 환경에 낸드 플래시 저장장치의 폭넓은 적용에 크게 기여하였다. 위와 같은 용량 중심 설계 기술은 디바이스의 집적도를 향상시키는 데는 매우 효율적이지만, 디바이스의 성능 및 수명 측면에는 막대한 악영향을 가져왔다. 반면, 향후 성능 및 수명에 대한 요구사항 수준 또한 지속적으로 증가할 것임을 고려할 때, 성능 및 수명 하락을 완화하기 위한 기존 기법의 최적화 정도를 뛰어넘을 수 있는 새로운 기법의 개발이 필요하다.

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

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

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

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

본 논문에서 제안한 기법들은 저장장치 프로토타입 및 공개 낸드 플래시 저장장치 개발/평가 환경에 구현되었으며, 다양한 응용의 작업부하를 대상으로 그 유용성을 검증하였다. 실험 결과, 본 논문에서 제안한 기법들은 기존의 최적화 기법들의 개선정도에 비해 대용량 낸드 플래시 기반 저장장치의 성능 및 수명을 크게 개선할 수 있음을 확인하였다.
-
dc.description.abstractIn 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.
-
dc.description.tableofcontents1 Introduction - 1 p
1.1 Motivation - 1 p
1.2 Dissertation Goals - 2 p
1.3 Contributions - 5 p
1.4 Dissertation Structure - 6 p
2 Background - 9 p
2.1 Flash Memory Cell - 9 p
2.2 NAND Flash Memory - 11 p
2.3 NAND Flash-Based Storage Systems - 12 p
2.4 Capacity-Oriented Design of NAND Flash Memory - 14 p
2.4.1 Semiconductor Process Scaling - 15 p
2.4.2 Multi-Leveling Technique - 16 p
2.4.3 Large Operation Unit - 17 p
2.5 Related Work - 18 p
2.5.1 Optimizations for MLC NAND devices - 18 p
2.5.2 Optimizations for Large-Page NAND Devices - 20 p
2.5.3 Write-Traffic Reduction Techniques - 21 p
3 Relaxed Program Sequence for MLC NAND Devices - 23 p
3.1 Motivation - 23 p
3.1.1 Performance Asymmetry between MLC pages - 23 p
3.1.2 Paired LSB Page Backup Problem - 26 p
3.2 Relaxing Program Constraints in MLC NAND Devices - 28 p
3.2.1 Fixed Program Sequence Schemes - 28 p
3.2.2 Relaxed Program Sequence Schemes - 30 p
3.2.3 Validation of RPS Schemes - 31 p
3.3 FlexFTL: RPS-Aware FTL - 34 p
3.3.1 Two-Phase Block Management - 36 p
3.3.2 Adaptive Page Allocation - 38 p
3.3.3 Per-Block Parity Page-Based Backup - 40 p
3.4 Experimental Results - 44 p
3.4.1 Experimental Settings - 44 p
3.4.2 Evaluation Results - 46 p
4 Subpage-Parallel Read for Large-Page NAND Devices - 50 p
4.1 Motivation - 50 p
4.1.1 Page-Read Mechanism of NAND Flash Memory - 51 p
4.1.2 Performance Impact of Amplified Reads - 53 p
4.2 Design and Implementation of SPread - 58 p
4.2.1 Design Requirement - 58 p
4.2.2 Design of SPread-Enabled NAND Device - 61 p
4.2.3 SPread Latency Modeling - 63 p
4.3 spFTL: SPread-Aware FTL - 67 p
4.4 Experimental Results - 69 p
4.4.1 Experimental Settings - 69 p
4.4.2 Evaluation Results - 70 p
5 Lifetime Optimization Based on Integrated Compression Technique - 74 p
5.1 Motivation - 74 p
5.2 Overall Architecture of Target SSDs - 75 p
5.3 DAC: Dedup-Assisted Compression - 76 p
5.3.1 Reference Data Search - 77 p
5.3.2 Data Compression with a Reference - 79 p
5.4 Design of DAC-Aware FTL - 80 p
5.4.1 Request Handling in DAC-FTL - 80 p
5.4.2 Overhead Mitigation in DAC-FTL - 83 p
5.5 Experimental Results - 84 p
5.5.1 Experimental Settings - 84 p
5.5.2 Evaluation Results - 85 p
6 Conclusions - 89 p
6.1 Summary - 89 p
6.2 Future Work - 92 p
6.2.1 Development of Optimization Techniques for 3D NAND Flash Memory - 92 p
6.2.2 System-Level Extensions of Proposed Techniques - 93p
6.2.3 Leveraging Locality-Sensitive Hash to Maximize Write Traffic Reduction - 94 p
Bibliography - 96 p
-
dc.language.isoeng-
dc.publisher서울대학교 대학원-
dc.subject낸드 플래시 메모리-
dc.subject플래시 저장장치-
dc.subject저장장치 제어-
dc.subject임베디드 시스템-
dc.subject.ddc621.3-
dc.titlePerformance and Lifetime Optimizations for Large-Capacity NAND Storage Systems-
dc.title.alternative대용량 낸드 플래시 저장장치를 위한 성능 및 수명 최적화 기법-
dc.typeThesis-
dc.typeDissertation-
dc.contributor.AlternativeAuthorPark, Jisung-
dc.contributor.department공과대학 전기·컴퓨터공학부-
dc.description.degreeDoctor-
dc.date.awarded2019-08-
dc.identifier.uciI804:11032-000000156224-
dc.identifier.holdings000000000040▲000000000041▲000000156224▲-
Appears in Collections:
College of Engineering/Engineering Practice School (공과대학/대학원)Dept. of Computer Science and Engineering (컴퓨터공학부)Theses (Ph.D. / Sc.D._컴퓨터공학부)
Files in This Item:
  • mendeley

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

Browse