572 0

Performance Improvement of Mass Flash Storage with Selective Data Placement

Title
Performance Improvement of Mass Flash Storage with Selective Data Placement
Author
곽재욱
Alternative Author(s)
곽재욱
Advisor(s)
최정욱
Issue Date
2021. 8
Publisher
한양대학교
Degree
Doctor
Abstract
낸드 플래시 메모리의 bit density가 증가하면서, 플래시 스토리지 시스템의 저장 용량도 꾸준히 증가해왔다. 대용량 플래시 스토리지 시스템은 입출력 성능을 저하하는 두 가지 문제를 가지고 있다. 첫 번째 문제는 플래시 쓰기 동작의 긴 지연시간이다. 낸드 플래시 메모리의 bit density를 증가시키기 위해서, 낸드 플래시 셀의 크기는 줄어들어 왔고, 낸드 플래시 셀에 저장되는 bit의 수는 증가해왔다. 그 결과, 높은 bit density를 가지는 낸드 플래시 메모리는 긴 쓰기 지연시간을 가지게 되었다. 길어진 쓰기 지연시간은 스케줄링 또는 병렬 처리에 의한 성능 개선의 효과를 저하할 수 있다. 두 번째 문제는 불충분한 RAM 용량이다. 대용량 플래시 스토리지 시스템은 큰 저장 공간을 관리하기 위해서 큰 용량의 RAM이 필요하다. 하지만, RAM의 가격은 낸드 플래시 메모리의 가격에 비해 상대적으로 느리게 감소하고 있기 때문에, 증가하는 저장 용량에 비례하게 RAM의 용량을 증가시키는 것은 현실적으로 불가능하다. 부족한 RAM 용량은 입출력 요청의 처리를 지연시킬 수 있다. 이러한 문제들에 의한 성능 저하를 완화하기 위해서, 이 논문은 데이터를 플래시 스토리지 시스템의 버퍼 및 저장 공간에 선택적으로 배치하는 세 가지 기법을 제안한다. 긴 쓰기 지연시간에 의한 성능 저하를 완화하기 위해서, 첫 번째 기법은 dirty data를 포함하고 있는 버퍼 공간에 요청된 데이터를 배치하는 입출력 요청의 수를 줄인다. Dirty data를 포함하고 있는 버퍼 공간은 dirty data가 낸드 플래시 메모리에 기록된 이후에 새로운 데이터를 저장할 수 있기 때문에, 요청된 데이터가 배치될 버퍼 공간에 남아있는 데이터 유형(clean or dirty)은 입출력 요청의 처리 시간에 큰 영향을 미친다. Dirty data를 낸드 플래시 메모리에 기록하는 과정 때문에 지연되는 입출력 요청의 수를 줄이기 위해서, 첫 번째 기법은 단일 입출력 요청으로 요청된 데이터를 동일한 유형의 데이터를 포함하는 버퍼 공간에 배치한다. 불충분한 RAM 용량에 의한 성능 저하를 완화하기 위해서, 두 번째 기법과 세 번째 기법은 주소 단위보다 작은 크기의 데이터를 기록하는 과정에서 발생하는 overhead를 줄인다. 불충분한 RAM 용량을 이용하여 저장 공간을 효율적으로 관리하기 위해서는 RAM에 관리되는 메타데이터의 양이 감소하여야 한다. 저장 공간을 분할하는 주소 단위의 크기를 키우면 메타데이터의 양을 효과적으로 줄일 수 있지만, 주소 단위의 크기보다 작은 데이터를 기록하는 과정에서 플래시 동작의 수가 증가할 수 있다. 플래시 동작의 수를 감소시키기 위해서, 두 번째 기법은 주소 단위보다 작은 데이터에 대한 유효성 정보를 추가하여 page-level mapping을 확장한다. 이 기법은 유효성 정보의 크기를 줄이기 위해서 서로 다른 유효성 정보를 가지는 데이터를 서로 다른 블록에 배치한다. 작은 데이터를 기록하는 과정에서 발생하는 플래시 동작을 위한 데이터 전송량을 줄이기 위해서, 세 번째 기법은 낸드 플래시 장치 내부의 데이터 레지스터를 이용하여 주소 단위보다 작은 데이터를 업데이트한다. 이 기법은 업데이트된 데이터에서 에러가 발생하는 것을 방지하기 위해서 업데이트된 데이터를 전용 블록에 배치한다. 본 논문은 trace-driven simulator를 이용한 실험을 통해 제안된 기법들이 입출력 지연시간을 최대 26.7%까지 감소시킬 수 있음을 확인했다. |As the bit-density of the NAND flash memory increases, so does the storage capacity of the flash storage system. Mass flash storage systems have two problems that can degrade the input/output (I/O) performance. The first problem is the long latency of the flash write operation. To increase the bit-density of the NAND flash memory, the size of the NAND flash cell must decrease while the number of bits stored in the NAND flash cell must increase. Consequently, the NAND flash memory with high bit-density has a long write-latency. A long write-latency can reduce the impact of scheduling or parallel processing on performance improvement. The second problem is insufficient RAM. Mass flash storage systems require large RAMs to manage large storage spaces. However, the decrease in the cost of the RAM is slow compared to that of the NAND flash memory. Therefore, it is practically impossible to increase RAM proportionally to the increased storage capacity. This leads to a delay in the processing of I/O requests. To alleviate the performance degradation caused by such problems, this thesis proposes three schemes to selectively place data in the buffer and storage space of the flash storage system. To limit the performance degradation caused by a long write-latency, the first scheme reduces the number of I/O requests that places the requested data in the buffer space containing dirty data. Because the buffer space containing dirty data can store new data after the dirty data are written to NAND flash memory, the type of data (clean or dirty) remaining in the buffer space, where data for the I/O request will be placed, significantly affects the processing time of the I/O request. To reduce the number of delayed I/O requests while writing the dirty data to the NAND flash memory, the first scheme places the data for the I/O request in a buffer space containing the same type of data. To lessen the performance degradation caused by insufficient RAM, the second and third schemes reduce the overhead incurred in the process of writing data that are smaller than an address unit. The amount of metadata managed in the RAM should be reduced to efficiently manage the storage space with insufficient RAM. Although increasing the size of the address unit, which divides the storage space, can effectively reduce the amount of metadata, the number of flash operations can increase in the process of writing data that are smaller than the address unit. To reduce the number of flash operations, the second scheme extends page-level mapping by adding the validity information of the data that are smaller than the address unit. The second scheme places data having different validity information in different blocks to reduce the amount of validity information. To reduce the amount of data transmission for flash operations that occur while writing small data, the third scheme updates the data that are smaller than the address unit using data registers inside the NAND flash device. The third scheme places the updated data in dedicated blocks to prevent an error from occurring in the updated data. Through experiments using trace-driven simulators, this thesis confirmed that the proposed schemes can reduce the I/O latency of the flash storage system by up to 26.7%.
URI
http://hanyang.dcollection.net/common/orgView/200000498955https://repository.hanyang.ac.kr/handle/20.500.11754/164132
Appears in Collections:
GRADUATE SCHOOL[S](대학원) > DEPARTMENT OF ELECTRONIC 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