DOI QR코드

DOI QR Code

Metadata Log Management for Full Stripe Parity in Flash Storage Systems

플래시 저장 시스템의 Full Stripe Parity를 위한 메타데이터 로그 관리 방법

  • Lim, Seung-Ho (Division of Computer and Electronic Systems Engineering, Hankuk University of Foreign Studies)
  • 임승호 (한국외국어대학교 컴퓨터.전자시스텝공학부)
  • Received : 2019.08.30
  • Accepted : 2019.10.26
  • Published : 2019.11.30

Abstract

RAID-5 technology is one of the choice for flash storage device to enhance its reliability. However, RAID-5 has inherent parity update overhead, especially, parity overhead for partial stripe write is one of the crucial issues for flash-based RAID-5 technologies. In this paper, we design efficient parity log architecture for RAID-5 to eliminate runtime partial parity overhead. During runtime, partial parity is retained in buffer memory until full stripe write completed, and the parity is written with full strip write. In addition, parity log is maintained in memory until whole the stripe group is used for data write. With this parity log, partial parity can be recovered from the power loss. In the experiments, the parity log method can eliminate partial parity writes overhead with a little parity log writes. Hence it can reduce write amplification at the same reliability.

플래시 스토리지 장치의 신뢰성을 향상시키기 위해서 사용되는 기술 중의 하나가 RAID-5 기술이 있다. RAID-5에는 고유한 패리티 업데이트 오버헤드가 있는데, 특히 부분 스트라이프 쓰기에 대한 패리티 오버헤드는 플래시 기반 RAID-5 기술의 중요한 문제 중 하나이다. 본 논문에서는 RAID-5에서 발생하는 런타임 부분 패리티 오버헤드를 제거하기 위해 효율적인 패리티 로그 아키텍처를 설계하였다. 런타임 동안, 전체 스트라이프 쓰기가 완료될 때까지 부분 패리티가 버퍼 메모리에 유지되며, 스트라이프 쓰기가 완료될 때 패리티는 전체 스트라이프 쓰기로 기록된다. 페리티 로그는 전체 스트라이프 그룹이 데이터 쓰기에 사용될 때까지 메모리에서 유지된다. 이 패리티 로그를 사용하면 갑작스러운 전력 손실로부터 부분 패리티를 복구할 수 있으므로 데이터 손실에도 문제가 발생하지 않는다. 패리티 로그 방법은 작은 패리티 로그 양으로 부분 패리티 쓰기 오버헤드를 제거할 수 있으므로, 같은 신뢰성 수준에서 쓰기 오버헤드를 줄일 수 있다.

Keywords

References

  1. N. Mielke et al., "Bit error rate in NAND Flash memories", 2008 IEEE International Reliability Physics Symposium, Phoenix, AZ, USA, pp. 9-19, Apr. 2008.
  2. Y. Cai, O. Mutlu, E. F. Haratsch and K. Mai, "Program interference in MLC NAND flash memory: Characterization, modeling, and mitigation", 2013 IEEE 31st International Conference on Computer Design (ICCD), Asheville, NC, USA, pp. 123-130, Oct. 2013.
  3. Micron, "Enabling Software BCH ECC on a Linux platform", Technical Note, TN-29-71, 2012.
  4. K. Zhao et al., "LDPC-in-SSD: Making advanced Error Correction CodesWork Effectively in Solid State Drives", 11th USENIX FAST, pp. 243-256, 2013.
  5. P. M. Chen and Edward K. Lee, "Striping in a RAID Level 5 Disk Array", ACM SIGMETRICS Performance Evaluation Review, Vol. 23, No. 1, pp. 136-145, 1995. https://doi.org/10.1145/223586.223603
  6. Y. Lee, S. Jung, and Y. H. Song, "FRA: A flash-aware redundancy array of flash storage devices", 7th IEEE/ACM Int. Conf. Hardware/Softw. Codes. Syst. Synthesis, pp. 163-172, 2009.
  7. S. Im and D. Shin, "Flash-Aware RAID Techniques for Dependable and High-Performance Flash Memory SSD", IEEE Transactions on Computers, Vol. 60, No. 1, pp. 80-92, Jan. 2011. https://doi.org/10.1109/TC.2010.197
  8. J. Kim, E. Lee, J. Choi, D. Lee, and S. H. Noh, "Chip-Level RAID with Flexible Stripe Size and Parity Placement for Enhanced SSD Reliability", IEEE Transactions on Computers, Vol. 65, No. 4, pp. 1116-1130, Apr. 2016. https://doi.org/10.1109/TC.2014.2375179
  9. A. Gupta, Y. Kim, and B. Urgaonkar, "DFTL: a Flash Translation Layer Employing Demand-Based Selective Caching of Page-Level Address Mappings", Proceedings of the 14th International Conference on Architectural Support for Programming Languages and Operating Systems, Washington, DC, USA, pp. 229-240, Jan. 2009.
  10. Youngjae Kim, Brendan Tauras, Aayush Gupta, Bhuvan Urgaonkar, "FlashSim: A Simulator for NAND Flash-Based Solid-State Drives", International Conference on Advances in System Simulation, Porto, Portugal, pp. 125-131, Sep. 2009.
  11. Matias Bjorling, "Extended FlashSim", GitHub, https://github.com/MatiasBjorling/flashsim.