서지주요정보
Partial page-aware high performance solid state drives = 부분 페이지 인식 고성능 솔리드 스테이트 드라이브
서명 / 저자 Partial page-aware high performance solid state drives = 부분 페이지 인식 고성능 솔리드 스테이트 드라이브 / Imran Fareed.
발행사항 [대전 : 한국과학기술원, 2021].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8037502

소장위치/청구기호

학술문화관(문화관) 보존서고

DCS 21013

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

The flash-based solid state drives are dominating the storage marketing for their low latency, high speed, and power efficiency. Although the flash memory has many advantages over hard disk drives (HDDs), it faces some critical challenges as well, such as the limited number of erasures that the flash memory can bear before being completely worn off due to limited program/erase cycles. The other limitation that the flash memory faces is out-place update. Once a cell is programmed, it cannot be programmed again unless it is first erased, thus, forcing the out-place update operation. Due to these limitations, the flash memory suffers significant performance as well as lifetime degradation. Another limitation that the flash memory faces is the manufacturing cost. Several desperate efforts have been put in this direction to reduce the production cost of NAND flash memory. A large number of partial page requests are received by SSDs, owing to the granularity mismatch between host OS and the flash memory. These partial page requests, especially write requests, cause internal fragmentation and endurance problems to the device. In addition, the partial page update operations cause read-modify-write (RMW) operations, which include reading the old data, updating part of data, and writing the updated data to a free page. In RMW operations, the unnecessary cold sectors are also migrated to the new page, leading to write amplification problem. Thus, RMW operations may further degrade the performance and lifetime of SSDs. To this end, this dissertation proposes a Sector Level Classification (SLC) scheme for addressing the write amplification issue. The proposed SLC scheme splits the sectors of the logical pages having diverse update frequencies and merges the appropriate sectors to create hot and cold pages. The incoming write requests are buffered in the update diversity-aware write buffer and the sectors with different update frequencies are stored in appropriate lists. Then the sectors are merged with other sectors in the same list to create full pages. By doing so, we can eliminate unnecessary migration of cold sectors during partial updates, thereby alleviating the write amplification. The proposed SLC scheme uses a shared-page mapping table (SMT), in addition to a conventional page mapping table, to manage the merged pages. Although SMT needs extra DRAM space, the overhead of SMT is not a concern to the modern SSDs. As evident from the experimental results, the proposed SLC scheme reduces the number of flash writes, flash reads, erased blocks, and flash writes execution time by 42\%, 23\%, 45\%, and 37\%, respectively. Furthermore, the triple-level cell (TLC) flash memory has been attracting the attention of the storage market because of its high bit density and low cost per bit compared with its predecessors such as single-level cell (SLC) and multi-level cell (MLC) flash memories. The TLC flash stores three bits, namely, least significant bit (LSB), central significant bit (CSB), and most significant bit (MSB), in a cell. As the aforementioned three bits in a flash cell require different number of memory accesses for reading/writing, they possess different read/write latencies. Therefore, the three bits are separated to form different types of pages, i.e., LSB, CSB, and MSB pages, each page having variable read/write latencies. To leverage the diverse latencies in the TLC flash memory, we propose partial page-aware page allocation (PAPA) scheme which considers the RMW overhead during partial updates and thus allocates the pages accordingly. Our PAPA scheme, considers costly partial updates for page allocation and relies on a relaxed program order to flexibly use the three types of TLC pages. The basic idea of PAPA is to allocate LSB pages to partial writes, as future updates to the stored LSB data require reading the low-latency LSB pages, followed by writing the updated data to the new pages. However, the long-latency CSB/MSB pages are assigned to full page writes, as full page updates do not incur any additional overhead. Because all the partial updates require an extra read operation on the existing data, the response time can be reduced upon storing partial writes in low-latency LSB pages. Although partial page merging can reduce the number of writes to the underlying flash memory, it may not improve the GC efficiency due to partial page update operations that cause a large number of partially valid pages. If partial pages with different update frequencies are merged together, the update operations to one of the merged partial pages invalidate only a part of the merged page and leaves rest of the page to be valid. Thus, the entire page is considered valid by the FTL and has to be copied by GC to a free block while reclaiming the space for future writes. The other partial page merging schemes do not consider the access patterns of the workloads, especially update frequencies, for buffering and merging the partial pages in the write buffer. Hence, in the existing schemes, partial pages with different update frequencies might be merged together. Thereupon, when one of the merged partial pages is invalidated, due to an update request, other partial pages in the same physical page still remain valid. These partially valid pages need to be migrated during GC, thus increasing GC overhead. To address the partial page invalidation issue and to improve GC efficiency in partial page-aware SSDs, we propose an Update Frequency-directed Sub-page management (UFS) scheme to mitigate the GC and DRAM overheads in partial-page-conscious SSDs. The proposed scheme utilizes the update frequencies of the write requests for partial page merging and buffer replacement policy. The proposed scheme merges the partial pages with same update frequencies to reduce the number of partially valid pages, thereby reducing GC overhead. In addition, the DRAM overhead is reduced by storing the fine-grained sector information of the merged partial pages in the spare area of the flash pages without any overhead. The extensive evaluation and comparison of UFS, with representative partial page schemes, show that UFS significantly improves the GC and DRAM efficiencies over the state of the art schemes.

플래시 기반 솔리드 스테이트 드라이브는 짧은 대기 시간, 고속 및 전력 효율성으로 인해 스토리지 마케팅을 주도하고 있습니다. 플래시 메모리는 하드 디스크 드라이브 (HDD)에 비해 많은 이점이 있지만 제한된 프로그램 / 삭제 주기로 인해 완전히 마모되기 전에 플래시 메모리가 견딜 수 있는 제한된 삭제 횟수와 같은 몇 가지 중요한 문제에 직면합니다. 플래시 메모리가 직면하는 다른 제한은 외부 업데이트입니다. 일단 셀이 프로그래밍되면 먼저 지워지지 않는 한 다시 프로그래밍 할 수 없으므로 외부 업데이트 작업이 강제 실행됩니다. 이러한 제한으로 인해 플래시 메모리는 상당한 성능과 수명 저하를 겪습니다. 플래시 메모리가 직면하는 또 다른 한계는 제조 비용입니다. NAND 플래시 메모리의 생산 비용을 줄이기 위해 이러한 방향으로 몇 가지 절박한 노력이 기울여졌습니다. 호스트 OS와 플래시 메모리 간의 세분성 불일치로 인해 SSD에서 많은 부분 페이지 요청을 수신합니다. 이러한 부분 페이지 요청, 특히 쓰기 요청은 장치에 내부 조각화 및 내구성 문제를 유발합니다. 또한 부분 페이지 업데이트 작업은 이전 데이터 읽기, 데이터 일부 업데이트, 업데이트 된 데이터를 사용 가능한 페이지에 쓰기를 포함하는 RMW (읽기-수정-쓰기) 작업을 발생시킵니다. RMW 작업에서 불필요한 콜드 섹터도 새 페이지로 마이그레이션되어 쓰기 증폭 문제가 발생합니다. 따라서 RMW 작업은 SSD의 성능과 수명을 더욱 저하시킬 수 있습니다. 이를 위해 이 논문에서는 쓰기 증폭 문제를 해결하기 위한 SLC (Sector Level Classification) 방식을 제안합니다. 제안 된 SLC 방식은 업데이트 빈도가 다양한 논리 페이지의 섹터를 분할하고 적절한 섹터를 병합하여 핫 페이지와 콜드 페이지를 생성합니다. 들어오는 쓰기 요청은 업데이트 다양성 인식 쓰기 버퍼에 버퍼링되고 업데이트 빈도가 다른 섹터는 적절한 목록에 저장됩니다. 그런 다음 섹터는 동일한 목록의 다른 섹터와 병합되어 전체 페이지를 만듭니다. 이렇게하면 부분 업데이트 중에 콜드 섹터의 불필요한 마이그레이션을 제거하여 쓰기 증폭을 완화 할 수 있습니다. 제안 된 SLC 기법은 기존의 페이지 매핑 테이블 외에 SMT (shared-page mapping table)를 사용하여 병합 된 페이지를 관리한다. SMT에는 추가 DRAM 공간이 필요하지만 SMT의 오버 헤드는 최신 SSD의 문제가 아닙니다. 실험 결과에서 알 수 있듯이 제안 된 SLC 방식은 플래시 쓰기, 플래시 읽기, 삭제 된 블록 및 플래시 쓰기 실행 시간을 각각 42 \ %, 23 \ %, 45 \ % 및 37 \ % 감소시킵니다. 또한, 트리플 레벨 셀 (TLC) 플래시 메모리는 단일 레벨 셀 (SLC) 및 멀티 레벨 셀과 같은 이전 제품에 비해 높은 비트 밀도와 낮은 비트 당 비용으로 인해 스토리지 시장의 주목을 받고 있습니다. (MLC) 플래시 메모리. TLC 플래시는 셀에 최하위 비트 (LSB), 중앙 중요 비트 (CSB) 및 최상위 비트 (MSB)의 3 비트를 저장합니다. 플래시 셀에서 앞서 언급 한 3 비트는 읽기 / 쓰기를 위해 다른 수의 메모리 액세스를 필요로하기 때문에 읽기 / 쓰기 대기 시간이 다릅니다. 따라서 3 개의 비트가 분리되어 서로 다른 유형의 페이지, 즉 LSB, CSB 및 MSB 페이지를 형성하며 각 페이지는 가변 읽기 / 쓰기 대기 시간을 갖습니다. TLC 플래시 메모리의 다양한 대기 시간을 활용하기 위해 부분 업데이트 중 RMW 오버 헤드를 고려하여 그에 따라 페이지를 할당하는 부분 페이지 인식 페이지 할당 (PAPA) 체계를 제안합니다. 우리의 PAPA 체계는 페이지 할당에 대한 비용이 많이 드는 부분 업데이트를 고려하고 완화 된 프로그램 순서에 의존하여 세 가지 유형의 TLC 페이지를 유연하게 사용합니다. PAPA의 기본 아이디어는 저장된 LSB 데이터에 대한 향후 업데이트를 위해 지연 시간이 짧은 LSB 페이지를 읽고 업데이트 된 데이터를 새 페이지에 기록해야 하므로 LSB 페이지를 부분 쓰기에 할당하는 것입니다. 그러나 전체 페이지 업데이트로 인해 추가 오버 헤드가 발생하지 않으므로 지연 시간이 긴 CSB / MSB 페이지는 전체 페이지 쓰기에 할당됩니다. 모든 부분 업데이트에는 기존 데이터에 대한 추가 읽기 작업이 필요하기 때문에 지연 시간이 짧은 LSB 페이지에 부분 쓰기를 저장할 때 응답 시간을 줄일 수 있습니다. 부분 페이지 병합은 기본 플래시 메모리에 대한 쓰기 수를 줄일 수 있지만 부분적으로 유효한 페이지를 많이 유발하는 부분 페이지 업데이트 작업으로 인해 GC 효율성을 향상시키지 못할 수 있습니다. 업데이트 빈도가 다른 부분 페이지가 함께 병합되는 경우 병합 된 부분 페이지 중 하나에 대한 업데이트 작업은 병합 된 페이지의 일부만 무효화하고 나머지 페이지는 유효하게 둡니다. 따라서 전체 페이지는 FTL에 의해 유효한 것으로 간주되며 향후 쓰기를 위해 공간을 재 확보하는 동안 GC에서 사용 가능한 블록으로 복사해야 합니다. 다른 부분 페이지 병합 체계는 쓰기 버퍼의 부분 페이지를 버퍼링하고 병합하기 위해 작업 부하의 액세스 패턴, 특히 업데이트 빈도를 고려하지 않습니다. 따라서 기존 체계에서는 업데이트 빈도가 다른 부분 페이지가 함께 병합 될 수 있습니다. 다라서 병합 된 부분 페이지 중 하나가 업데이트 요청으로 인해 무효화될 때 동일한 실제 페이지의 다른 부분 페이지는 여전히 유효합니다. 이러한 부분적으로 유효한 페이지는 GC중에 마이그레이션해야 하므로 GC 오버헤드가 증가합니다. 부분 페이지 무효화 문제를 해결하고 부분 페이지 인식에서 GC효율성 향상 SSD의 경우 UFS(Update Frequency-directed Sub-page Management) 체계를 제안합니다. 부분 페이지 인식 SSD의 GC 및 DRAM 오버헤드. 제안 된 방식은 업데이트를 활용합니다. 부분 페이지 병합 및 버퍼 교체 정책에 대한 쓰기 요청 빈도 제안 구성표는 부분적으로 유효한 페이지 수를 줄이기 위해 동일한 업데이트 빈도로 부분 페이지를 병합합니다. 페이지를 통해 GC 오버헤드를 줄입니다. 또한, DRAM 오버헤드는 ne- 의 예비 영역에 병합된 부분 페이지의 세분화 된 섹터 정보 아무것도없는 애쉬 페이지 간접비. UFS의 광범위한 평가 및 비교, 대표적인 부분 페이지 체계, UFS가 최첨단 방식에 비해 GC 및 DRAM 효율성을 크게 향상 시킨다는 것을 보여줍니다.

서지기타정보

서지기타정보
청구기호 {DCS 21013
형태사항 vi, 73 p.: 삽화 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 파레드 임란
지도교수의 영문표기 : Soontae Kim
지도교수의 한글표기 : 김순태
수록잡지명 : "Leveraging intra-page update diversity for mitigating write amplification in SSDs". International Conference on Supercomputing (ICS), 1-12(2020)
학위논문 학위논문(박사) - 한국과학기술원 : 전산학부,
서지주기 References : p. 68-71
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서