서지주요정보
High-performance solid state drives design by exploiting partial page requests = 부분 페이지 요청을 활용한 고성능 SSD 설계 기법
서명 / 저자 High-performance solid state drives design by exploiting partial page requests = 부분 페이지 요청을 활용한 고성능 SSD 설계 기법 / Mincheol Kang.
발행사항 [대전 : 한국과학기술원, 2022].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8039586

소장위치/청구기호

학술문화관(도서관)2층 학위논문

DCS 22019

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

For the last two decades, NAND flash memory-based Solid State Drives (SSDs) have been dramatically developed in terms of performance and storage capacity. Reasons behind this rapid development are to optimizing SSD architecture and shrinking process technology scaling of NAND flash memory. These technical advancements have made SSDs overcome their relative disadvantages, such as density, reliability, and cost-per-capacity. Furthermore, recent applications such as machine learning and data analytic application require more data capacity and higher performance to accelerate the speed and increase accuracy. Hence, designing high-performance SSD is a key factor for improving the performance of future computing systems. Recently, the page size of NAND flash memory, which is a basic I/O unit, is increased due to maximizing throughput and capacity of SSDs and its size is much larger than the host I/O unit. This disparity of the I/O units causes making partial requests that its sizes are smaller than the page unit. Both read and write performance of SSDs are affected by these partial requests due to the problem of partial requests such as an endurance problem, internal fragmentation, so on. This dissertation addresses the problem of partial requests and proposes effective schemes to achieve high-performance SSD. Two different solutions are proposed to mitigate partial requests problems and each solution takes charge read and write issues on partial requests, respectively. First, we discover characteristics of partial requests and improve lifetime and write performance by exploiting them. Second, we combine a partial read operation in recent NAND flash memory with compression techniques for improving both the read and write performance of SSDs. The first proposal of this dissertation, called SSSD (Subpage-based Solid State Drive), reduces the number of NAND writes and eliminates unnecessary Read-Modify-Write (RMW) operations. This scheme exploits two important observations in terms of partial page requests. First, the number of partial page writes have been increased in diverse workloads. Second, there are unnecessary RMW operations. Inspired by the two aforementioned observations, this scheme attempts to merge subpage write requests to full-page write requests in the write buffer to reduce the number of NAND writes and adds size information to the mapping table to detect unnecessary RMW operations. Our proposed scheme improves the lifetime and the write performance of SSDs. The last proposal, called PR-SSD (Partial Read-aware Solid State Drive), combines a new compression technique and a partial read operation for improving the performance of SSDs. In modern NAND flash memories, a partial read operation, which can read a page partially and has lower latency than a normal read operation, is provided. Exploiting the potentials of this operation can be a reasonable solution to mitigate the read problem of partial requests. In order to maximize partial read potentials, we artificially generate partial requests using compression techniques. However, conventional compression techniques have huge disadvantages: decompression latency and incompressible data. These disadvantages ultimately eliminate an opportunity for the partial read potentials. Thus, we introduce a new compression technique, called DPC (Dominant Pattern Compression). The key idea of DPC is inspired by memory compression techniques that are used to CPU cache and DRAM. We found dominant patterns in each granularity, which is extended more than the memory compression unit, and discovered partial zero page requests. DPC combines two observations and has very low decompression latency similar to memory compression and a higher compression ratio than memory compression. In order to exploit partial read operations for incompressible requests, we split the requests into a partial page unit and store each one in different channels for exploiting channel-level parallelism. By combining DPC and split scheme, we implemented PR-SSD, and thus it can improve both the read and write performance, and lifetime of SSDs.

최근 약 20년간, NAND 플래시 기반 솔리드 스테이트 드라이브 (Solid State Drive, SSD)의 성능 및 용량이 급격하게 발전했다. 이렇게 급격하게 발전할 수 있었던 이유는 SSD 아키텍처의 최적화와 그리고 NADN 플래시 미세 공정 기술이 발전해서이다. 이런 기술적인 진보는 SSD의 상대적인 단점이라고 부르는 집적도, 신뢰성, 그리고 용량 대비 비용 문제를 해결할 수 있었다. 또한, 최근 응용 프로그램인 기계 학습 및 데이터 분석 관련 프로그램들은 속도와 정확도를 높이기 위해서 더 많은 데이터 용량과 더 높은 스토리지 성능을 요구하고 있다. 따라서, 고성능 SSD를 디자인하는 것이 미래의 컴퓨팅 기술의 성능을 높여 줄 수 있는 중요한 요소이다. 최근 NAND 플래시 메모리의 기본적인 I/O 단위인 페이지의 크기가 SSD의 처리량과 용량을 위해 점차 커지고 있다. 현재 페이지의 크기는 기존 호스트 시스템에서 사용하는 I/O 단위보다 매우 크다. 따라서, 이러한 I/O 크기의 차이 때문에, 크기가 페이지보다 작은, 부분 페이지 요청들이 발생한다. 이러한 부분 페이지 요청들은 SSD의 내구성을 저하하고 내부 파편화 문제를 일으키기 때문에 SSD의 읽기 및 쓰기 성능에 영향을 미친다. 본 학위 논문에서는 이러한 부분 페이지 요청을 문제를 해결하고 고성능 SSD를 달성하기 위해 효율적인 기법들을 제안한다. 부분 페이지 요청 문제를 해결하기 위해 서로 다른 두 가지 기법을 제시하며, 각 기법은 각각 부분 페이지 요청으로 발생하는 읽기와 쓰기 문제를 개선한다. 첫 번째는, 부분 페이지 쓰기 요청의 특징을 발견한 후, 이를 활용한 기법으로 SSD의 수명과 쓰기 성능을 향상한 기법이다. 두 번째는, 최근 NAND 플래시에서 제공하는 부분 페이지 읽기 명령어와 압축 기술을 활용한 기법으로 SSD의 읽기 및 쓰기 성능 모두를 향상하는 방법을 소개한다. 또한, 기존 압축 기술을 사용했을 때 문제점과 이를 해결할 수 있는 새로운 방향을 제시한다. 첫 번째로는 NAND 플래시 쓰기 요청의 개수와 불필요한 Read-Modify Write 요청을 줄인 기법을 제시한다. 해당 기법은 부분 페이지 요청과 관련하여 두 가지 중요한 관찰 결과를 활용한다. 첫 번째로 다양한 워크로드에서 부분 페이지 쓰기 요청들이 매우 많은 것을 발견했다. 두 번째로는 불필요한 Read-Modify Write 요청이 있음을 확인했다. 이러한 두 가지 관찰 결과를 바탕으로, 본 기법은 NAND 플래시 쓰기 횟수를 줄이기 위해 여러 개의 부분 페이지 쓰기 요청을 쓰기 버퍼에서 찾아, 이를 하나로 합쳐 전체 페이지 쓰기 요청을 만들어 NAND 플래시에 저장한다. 또한, 맵핑 테이블에는 합쳐진 요청의 크기와 관련된 정보를 추가로 저장하여 불필요한 Read-Modify Write 요청을 제거한다. 본 기법을 통해 SSD의 수명과 쓰기 성능을 높일 수 있다. 두 번째로는 SSD의 읽기 및 쓰기 성능을 모두 향상하기 위해, 새로운 압축 기법과 부분 페이지 읽기 명령어를 활용한 기법을 소개한다. 최근 NAND 플래시 메모리에서는 부분 페이지 읽기 명령어를 제공하는데, 이는 하나의 페이지보다 적은 단위로 읽을 수 있으며, 전체 읽기 대비 적은 지연시간을 가진다. 따라서, 이러한 명령어를 활용하면, 부분 페이지 요청의 읽기 문제를 해결할 수 있다. 이러한 부분 페이지 읽기 명령어의 강점을 최대화하기 위해, 우리는 인위적으로 압축 기술을 통해 작은 요청을 만들었다. 하지만 기존의 압축 기술들 가지고 있는 매우 큰 단점들인 압축 해제 시 지연시간과 압축 불가 요청 때문에, 부분 페이지 읽기 명령어가 가지는 이점이 없어진다. 따라서, 본 기법은 CPU 캐시 및 DRAM에서 사용하는 메모리 압축 기법을 활용한다. 메모리 압축 기법의 단위를 증가시켰을 때 지배적인 패턴이 있는 것을 발견했고, 부분 제로 요청이 있음을 확인했다. 이러한 관찰 결과를 토대로 새로운 압축 기법을 제시했고, 이는 매우 적은 압축 해제 지연 시간을 가지고 메모리 압축 기법보다 더 높은 압축률을 가진다. 또한, 압축 불가 요청들이 부분 페이지 읽기 명령어를 활용하기 위해서, 해당 요청을 부분 페이지 요청 단위로 나누어서 서로 다른 채널에 저장했다. 해당 요청을 읽을 때, 채널 병렬화를 통해서 동시에 읽을 수 있기 때문에 부분 페이지 읽기의 이점을 가질 수 있다. 따라서 본 기법은 압축이 불가능한 요청에 대해서도 부분 페이지 읽기를 수행할 수 있어 SSD의 읽기 성능을 향상할 수 있고, 새로운 압축 기법을 통해 SSD의 쓰기 및 수명을 높일 수 있다.

서지기타정보

서지기타정보
청구기호 {DCS 22019
형태사항 vi, 90 : 삽도 ; 30 cm
언어 한국어
일반주기 저자명의 한글표기 : 강민철
지도교수의 영문표기 : Soontae Kim
지도교수의 한글표기 : 김순태
Including appendix
학위논문 학위논문(박사) - 한국과학기술원 : 전산학부,
서지주기 References : p. 81-88
주제 Solid state drive
NAND flash memory
Flash translation layer
Write buffer
Compression
Partial page read
SSD
NAND 플레시 메모리
플레시 변환 계층
쓰기 버퍼
압축
부분 페이지 읽기
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서