235 0

NAND Program with Early Completion Method to Improve Write Response of Flash Memory

Title
NAND Program with Early Completion Method to Improve Write Response of Flash Memory
Author
장문석
Advisor(s)
최정욱
Issue Date
2023. 2
Publisher
한양대학교
Degree
Doctor
Abstract
As the bit density of NAND increases, the storage capacity of SSDs is increasing. Increasing the number of bits stored per cell is the most efficient way to reduce \$/GB. High-density NANDs such as TLC/QLC NAND have the advantage of being competitive in price as they are supplied at low prices. However, NAND performance decrease as the bit density increases. In addition, as the amount of information about the physical address mapped to the logical address increases in proportion to the storage capacity, the amount of RAM required to store the map table also increases. SSDs store the entire mapping table and some of the recently accessed I/O data in RAM. However, increasing the RAM capacity in proportion to the NAND capacity increase is inefficient in terms of cost. Therefore, the increase in RAM capacity is often suppressed by reducing the I/O data storage space. Insufficient RAM capacity causes frequent NAND access, which leads to a decrease in I/O processing speed of the SSD. In order to hide the increasingly slow performance of NAND, attempts have been made to narrow the performance gap by placing memory faster than TLC/QLC NAND, such as PRAM or SLC NAND, between RAM and flash memory. This dissertation proposes an early completion technique using the page register of flash memory and BrickSim, a simulator to verify it. If the program operation is completed in advance when data transfer to the page register is completed, the cell program time can be hidden. Because the cell program occupies most of the program operation time of the flash memory, the proposed early completion technique can effectively shorten the write response time of the flash memory. This study requires a simulator that can apply various specifications of NAND. A detailed description of the proposed BrickSim simulator and early completion technique is as follows: First, a BrickSim simulator for verifying the internal structure and operation of a flash memory is proposed. Existing simulators are mainly used for FTL development and verification, and modeling of hardware components is very simplified or omitted. BrickSim supports modeling of hardware components as well as software components. In particular, flash memory is modeled for errors as well as internal structure and operation. And BrickSim subdivides hardware and software components and builds an interface to make it easy to modify and change simulation models. BrickSim is validated by comparing the results collected from COSMOS SSDs. BrickSim shows the same trend as the results collected from COSMOS SSD, with an error of 3.7%. Second, a stealth program that can hide the program time of flash memory is proposed. Stealth program delivers a completion signal in advance when data is received in the page register built into the flash memory. The cell program proceeds in the background after delivery of the completion signal. In addition, a method of returning unsaved data to RAM is proposed in case the page register data cannot be stored in the flash memory cell due to program failure. Existing program operations do not guarantee operation, so if a program fails, the process of allocating a new physical address through FTL and saving it again should have been performed. However, the stealth program operation returns data to RAM even if the program fails, so FTL does not need to check whether the program is successful or not. Stealth program is evaluated using BrickSim. Experiments have confirmed that the time to save data from RAM to flash memory is reduced by 92-96.5%. In addition, the average write latency of the SSD is improved by up to 95.88%, and the average read latency of the SSD is improved by up to 69.18%.|플래시 메모리의 비트 밀도가 증가하면서 플래시 기반 저장 장치들의 저장 용량이 갈수록 커지고 있다. 셀 당 저장하는 비트 수 증가는 저장 용량 대비 생산 단가를 줄일 수 있는 가장 효율적인 방법이다. TLC/QLC NAND와 같은 고밀도 NAND 플래시 메모리들은 SLC/MLC NAND에 비해 낮은 가격으로 공급됨에 따라 가격 경쟁력을 갖출 수 있다는 장점이 있다. 하지만, 플래시 메모리는 비트 밀도가 높아지면서 성능이 저하되는 문제가 있다. 게다가 논리 주소에 매핑된 물리 주소에 대한 정보량은 저장 용량에 비례하게 증가하기 때문에 이를 저장하는 RAM의 요구량도 커지게 된다. 플래시 저장 장치들은 논리 주소를 물리 주소로 전환하기 위한 매핑 테이블 전체와 최근 접근한 I/O 데이터들 중 일부를 RAM에 저장한다. 하지만 플래시 메모리에 비해 RAM은 상대적으로 고가의 메모리이기 때문에 플래시 메모리의 용량 증가에 비례하게 RAM의 용량을 증가시키는 것은 비효율적이다. 따라서 I/O 데이터 저장 공간을 줄임으로써 RAM 용량 증가를 억제시키곤 한다. RAM의 용량 부족은 잦은 플래시 메모리의 접근을 유발하고 이것은 플래시 저장 장치의 입출력 처리 속도의 저하로 이어진다. 학계에서는 갈수록 느려지는 플래시 메모리의 성능을 숨기기 위해 RAM과 플래시 메모리 사이에 PRAM이나 SLC NAND와 같은 고밀도 NAND 플래시 메모리보다 빠른 메모리를 배치하여 성능 차이를 좁히려는 시도들이 이어져왔다. 본 학위 논문은 플래시 메모리의 page register를 활용한 early completion 기법과 이를 검증하기 위한 시뮬레이터인 BrickSim을 제안한다. Page register에 데이터 저장 시점을 기준으로 프로그램 동작을 완료 처리하면 하나의 플래시 메모리의 cell program 시간을 숨길 수 있다. 플래시 메모리의 프로그램 동작 시간 대부분을 cell program이 차지하기 때문에 제안된 early completion 기법은 플래시 메모리의 쓰기 응답시간을 효과적으로 단축시킬 수 있다. 본 연구를 검증하기 위해서는 플래시 메모리의 다양한 스펙 적용이 가능한 시뮬레이터가 필요하다. BrickSim은 플래시 메모리에 대한 자세한 모델링을 통해 제안된 기법을 검증할 수 있다. BrickSim 시뮬레이터와 early program completion 기법에 대한 자세한 설명은 다음과 같다: 첫째, 플래시 메모리의 내부 구조 및 동작에 대한 검증이 가능한 시뮬레이터인 BrickSim을 제안한다. 기존 시뮬레이터는 FTL 개발 및 검증에 주로 활용되면서 하드웨어 구성요소들에 대한 모델링이 매우 단순화되어 있거나 누락되었다. 이와 달리, BrickSim은 소프트웨어 구성요소뿐만 아니라 하드웨어 구성요소들에 대한 모델링을 지원한다. 특히, 플래시 메모리는 내부 구조와 동작 뿐만아니라 오류에 대한 모델링도 되어있다. 그리고 BrickSim은 하드웨어 및 소프트웨어 구성요소를 세분화하고 인터페이스를 구축하여 시뮬레이션 모델의 수정 및 변경이 간편한 특징을 갖는다. BrickSim은 COSMOS SSD에서 수집된 결과와 비교하여 검증하였다. BrickSim은 COSMOS SSD에서 수집된 결과와 동일한 경향성을 나타냈으며 3.7%의 오차를 보였다. 둘째, 플래시 메모리의 program time을 숨길 수 있는 stealth program을 제안한다. Stealth program은 플래시 메모리에 내장된 page register에 데이터가 수신되면 미리 완료 신호를 전달한다. Cell program은 완료 신호 전달 후 백그라운드에서 진행된다. 또한 program fail로 인해 page register의 데이터가 플래시 메모리 셀에 저장되지 못할 경우를 대비하여 저장하지 못한 데이터를 RAM으로 되돌려 보내는 방법을 제안한다. 기존 program은 동작을 보장하지 않기 때문에 program이 실패하면 FTL을 통해 새로운 물리 주소를 할당하고 다시 저장하는 과정을 수행했어야 했다. 하지만 stealth program operation은 program이 실패하더라도 데이터를 RAM으로 되돌려 보내기 때문에 FTL은 program의 동작 성공유무를 확인하지 않아도 된다. Stealth program은 BrickSim을 사용하여 평가되었다. 실험을 통해 RAM에서 플래시 메모리로 데이터를 저장하는 시간이 92-96.5% 감소함을 확인했다. 또한 SSD의 평균 쓰기 대기 시간은 최대 95.88%, SSD의 평균 읽기 대기 시간은 최대 69.18%까지 향상시킬 수 있었다.
URI
http://hanyang.dcollection.net/common/orgView/200000653525https://repository.hanyang.ac.kr/handle/20.500.11754/182547
Appears in Collections:
GRADUATE SCHOOL[S](대학원) > ELECTRONICS AND COMPUTER ENGINEERING(전자컴퓨터통신공학과) > Theses (Ph.D.)
Files in This Item:
There are no files associated with this item.
Export
RIS (EndNote)
XLS (Excel)
XML


qrcode

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

BROWSE