$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

[국내논문] 고성능 플래시 메모리 솔리드 스테이트 디스크
A High Performance Flash Memory Solid State Disk 원문보기

정보과학회논문지. Journal of KIISE. 컴퓨팅의 실제 및 레터, v.14 no.4, 2008년, pp.378 - 388  

윤진혁 (엠트론스토리지테크놀로지(주)) ,  남이현 (서울대학교 컴퓨터공학부) ,  성윤제 (서울대학교 컴퓨터공학부) ,  김홍석 (서울대학교 컴퓨터공학부) ,  민상렬 (서울대학교 컴퓨터공학부) ,  조유근 (서울대학교 컴퓨터공학부)

초록
AI-Helper 아이콘AI-Helper

플래시 메모리는 전력 소모가 작고 충격과 진동에 강하며 크기가 작다는 특성 때문에 최근 노트북이나 UMPC(Ultra Mobile PC)와 같은 이동 컴퓨팅 시스템에서 하드디스크를 대체할 대용량 저장 매체로서 주목 받고 있다. 플래시 메모리에 기반한 저장 장치는 일반적으로 랜덤 읽기 성능이나 순차 읽기, 순차 쓰기 성능이 매우 좋은데 비해, 덮어쓰기가 불가능한 플래시 메모리의 물리적인 제약으로 인하여 소량의 랜덤 쓰기 성능은 떨어진다. 본 논문은 이 문제를 해결하기 위한 두 가지 중요한 특징을 갖는 SSD(Solid State Disk) 아키텍처를 제안하였다. 첫 번째로 비휘발성 이면서도 SRAM과 동일한 인터페이스로 덮어쓰기가 가능한 작은 크기의 FRAM(Ferroelectric RAM)을 NAND 플래시 메모리와 함께 사용하여 소량 쓰기 오버헤드를 최소화하였다. 두 번째, 호스트 쓰기 요청들도 소량 랜덤 쓰기와 대량 순차 쓰기로 분류하여 각각에 대해 최적의 쓰기 버퍼 관리 방법을 적용하였다. 평가 보드 상에서 SSD 프로토타입을 구현하고 PC 사용 환경의 워크로드에 기반한 벤치마크를 이용하여 성능을 평가해 본 결과 랜덤 패턴을 보이는 워크로드에서는 하드디스크나 기존의 상용 SSD들에 비해 처리율(throughput) 측면에서 3배 이상의 성능을 보였다.

Abstract AI-Helper 아이콘AI-Helper

Flash memory has been attracting attention as the next mass storage media for mobile computing systems such as notebook computers and UMPC(Ultra Mobile PC)s due to its low power consumption, high shock and vibration resistance, and small size. A storage system with flash memory excels in random read...

주제어

AI 본문요약
AI-Helper 아이콘 AI-Helper

* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.

제안 방법

  • FRAM을 사용하는 것이 성능 향상에 얼마나 기여하였는지를 분석하기 위해 FRAM을 사용하지 않고 NAND 플래시 메모리로 FRAM 메타데이타 읽기, 쓰기를 대신 처리하는 FTL을 구현하였다. 표 4는 각 경우의 실험 결과를 보여준다.
  • 전체적인 구조 측면에서, 플래시 메모리와는 달리 작은 쓰기 단위를 가지고 덮어쓰기 제약이 읍1는 FRAM과 대용량의 가격이 싼 NAND 플래시 메모리를 함께 사용하여 효율성과 경제성 측면에서 양쪽의 장점을 취하였다. FTL 사상 측면에서는 호스트로부터의 쓰기 요구를 소량의 랜덤 쓰기와 대량의 순차 쓰기로 구분하고 각각에 적합한 쓰기 버퍼 관리 방법을 적용하여 랜덤 쓰기에 유리한 페이지 단위 사상과 순차 쓰기에 유리한 블록 단위 사상 양쪽의 장점을 활용하였다. 하드웨어적인 구조는 단일 NAND 플래시 메모리 칩의 읽기, 쓰기 성능 제한을 해결하기 위해 칩 단위, 버스 단위로 인터리빙(interleaving) 기법을 적용하였고 호스트인터페이스와 플래시 인터페이스 간의 데이타 전송을 위해 독립적인 데이타 전송 경로를 추가하였다.
  • 소량 랜덤 쓰기와 대량 순차 쓰기를 구분하는 기준으로는 하나의 쓰기 요청이 정해진 수 이상의 섹터를 쓰는 경우나 대량 순차 쓰기 패턴으로 판단된 기존의 쓰기 열(write stream)에 이어지는 경우 대량 순차 쓰기로 판단하고 그 외에는 소량 랜덤 쓰기로 판단하는 단순한 방법을 사용하였다. 그러나, 실제 쓰기 처리 후이어잔 쓰기 요청들의 패턴이 판단과 다른 경우에는 다른 쓰기 버퍼로 이동하여 처리할 수 있도록 구현하였다.
  • 또한 유휴(idle) 시간을 이용, 호스트 쓰기 요청이 들어오지 않아서 지우기가 거의 수행되지 않은 데이타블록을 지우기가 많이 수행된 쓰기 버퍼 블록과 교환하는 방법을 사용하여 전체적인 지우기 회수를 균등화하였다. 배드 블록 처리를 위해서는 지우기나 쓰기 에러 발생 시 해당 블록을 시스템 초기화 시 미리 확보해 두었던 정상 블록과 교체하는 작업을 수행한다.
  • 사상 테이블을 포함한 FTL 메타데이타는 전체 크기가 작고 빈번한 소량 갱신이 이루어지므로 소량 갱신 측면에서 유리한 FRAM에 유지하고 호스트 쓰기 요청에 의한 호스트 데이타는 최소한 512B 이상의 섹터 단위의 쓰기 작업이 수행되므로 저비용, 대용량의 NAND 플래시 메모리에 유지한다. 또한, 플래시 메모리에 저장하는 호스트 데이타도 쓰기 요청 패턴에 따라 소량 랜덤 쓰기와 대량 순차 쓰기로 나누어 각 패턴을 처리하는데 적합한 페이지 단위 쓰기 버퍼와 블록 단위 쓰기 버퍼에 나누어 처리하였다. 이러한 FRAM 활용과 쓰기 버퍼 관리 기법을 통해 소량 랜덤 쓰기 성능 저하를 최소화한 고성능 SSD 아키텍처를 제안하고 프로토타입구현을 통해 그 실효성을 검증하였다.
  • 저장 장치 계층 구조를 제안하였다. 또한, 호스트 쓰기 요청을 패턴에 따라 소량 랜덤 쓰기와 대랑 순차 쓰기로 구분하여 각각에 가장 적합한 관리 방법을 적용함으로써 양쪽 쓰기 패턴 모두를 효율적으로 처리할 수 있는 쓰기 버퍼 관리 방법을 제안하였다.
  • 워드 단위의 쓰기에 대해서는 FRAM 칩 내부적으로 원자성(atomicity)을 보장해주지만, 여러 워드의 쓰기를 수행하던 중에 전원 공급이 중단되는 경우에는 실제 쓰기 작업이 완료된 워드와 완료되지 않고 이전 데이타를 가지고 있는 워드를 구분할 수 없게 된다. 본 논문에서는 FRAM 변경 시 변경 전, 후 데이타를 먼저 로그로 남기고 실제 변경 작업을 수행하도록 설계하였다. 전원 중단이 발생하면 다음 번 부팅 시 로그 내의 데이타와 현재 FRAM 상의 데이타를비교하여 완전히 변경되지 않은 경우는 로그를 취소 또는 재실행시켜 주도록 하였다.
  • 본 논문에서는 마모 균둥화를 위해 두 가지 방법을 함께 사용하였다 호스트 쓰기 요청 처리 시에는 가장지우기가 적게 수행된 쓰기 버퍼 블록을 선택하여 사용함으로써, 쓰기 버퍼 블록들과 호스트 쓰기가 활발하게 진행되는 데이타 블록들 간의 지우기 회수를 균등화하였다. 또한 유휴(idle) 시간을 이용, 호스트 쓰기 요청이 들어오지 않아서 지우기가 거의 수행되지 않은 데이타블록을 지우기가 많이 수행된 쓰기 버퍼 블록과 교환하는 방법을 사용하여 전체적인 지우기 회수를 균등화하였다.
  • 본 논문에서는 플래시 메모리 기반 저장 장치에서 비휘발성을 갖도록 유지해야 하는 정보들을 분류하여, FRAM과 NAND 플래시 메모리에 나누어 유지함으로써 성능과 경제성 양쪽의 장점을 함께 갖춘 새로운 비휘발성 저장 장치 계층 구조를 제안하였다. 또한, 호스트 쓰기 요청을 패턴에 따라 소량 랜덤 쓰기와 대랑 순차 쓰기로 구분하여 각각에 가장 적합한 관리 방법을 적용함으로써 양쪽 쓰기 패턴 모두를 효율적으로 처리할 수 있는 쓰기 버퍼 관리 방법을 제안하였다.
  • 또한, 두 가지 기법의 장단점을 모두 취할 수 있는 복합적인 관리 기법에 대한 연구[11]와 사상 정보량 및 사상 오버헤드를 줄이기 위한 연구[12] 등이 진행되었다. 논문에서도 기본적으로는 블록 단위 사상을 이용하고[9] 쓰기 버퍼 관리 방식에서는 [10, 11]과 유사한 복합적인 관리정책을 사용하였다.
  • 소량 랜덤 쓰기와 대량 순차 쓰기를 구분하는 기준으로는 하나의 쓰기 요청이 정해진 수 이상의 섹터를 쓰는 경우나 대량 순차 쓰기 패턴으로 판단된 기존의 쓰기 열(write stream)에 이어지는 경우 대량 순차 쓰기로 판단하고 그 외에는 소량 랜덤 쓰기로 판단하는 단순한 방법을 사용하였다. 그러나, 실제 쓰기 처리 후이어잔 쓰기 요청들의 패턴이 판단과 다른 경우에는 다른 쓰기 버퍼로 이동하여 처리할 수 있도록 구현하였다.
  • 이 문제를 해결하기 위해 본 논문에서는 플래시 메모리 저장 장치에서 비휘발성을 요구하는 데이타를 분류하여 각각의 특성에 가장 적합한 처리 방법을 적용하였다. 사상 테이블을 포함한 FTL 메타데이타는 전체 크기가 작고 빈번한 소량 갱신이 이루어지므로 소량 갱신 측면에서 유리한 FRAM에 유지하고 호스트 쓰기 요청에 의한 호스트 데이타는 최소한 512B 이상의 섹터 단위의 쓰기 작업이 수행되므로 저비용, 대용량의 NAND 플래시 메모리에 유지한다.
  • 또한, 플래시 메모리에 저장하는 호스트 데이타도 쓰기 요청 패턴에 따라 소량 랜덤 쓰기와 대량 순차 쓰기로 나누어 각 패턴을 처리하는데 적합한 페이지 단위 쓰기 버퍼와 블록 단위 쓰기 버퍼에 나누어 처리하였다. 이러한 FRAM 활용과 쓰기 버퍼 관리 기법을 통해 소량 랜덤 쓰기 성능 저하를 최소화한 고성능 SSD 아키텍처를 제안하고 프로토타입구현을 통해 그 실효성을 검증하였다.
  • 본 논문에서는 FRAM 변경 시 변경 전, 후 데이타를 먼저 로그로 남기고 실제 변경 작업을 수행하도록 설계하였다. 전원 중단이 발생하면 다음 번 부팅 시 로그 내의 데이타와 현재 FRAM 상의 데이타를비교하여 완전히 변경되지 않은 경우는 로그를 취소 또는 재실행시켜 주도록 하였다.
  • FTL 사상 측면에서는 호스트로부터의 쓰기 요구를 소량의 랜덤 쓰기와 대량의 순차 쓰기로 구분하고 각각에 적합한 쓰기 버퍼 관리 방법을 적용하여 랜덤 쓰기에 유리한 페이지 단위 사상과 순차 쓰기에 유리한 블록 단위 사상 양쪽의 장점을 활용하였다. 하드웨어적인 구조는 단일 NAND 플래시 메모리 칩의 읽기, 쓰기 성능 제한을 해결하기 위해 칩 단위, 버스 단위로 인터리빙(interleaving) 기법을 적용하였고 호스트인터페이스와 플래시 인터페이스 간의 데이타 전송을 위해 독립적인 데이타 전송 경로를 추가하였다.

대상 데이터

  • 128섹터(64KB)를 사용하였다. 또한, 블록 단위 쓰기 버퍼로는 8MB(쓰기 열 개수 4), 페이지 단위 쓰기 버퍼로는 32MB를 사용하였다.
  • 이다. 보드에 장착된 FRAM 2MB 중 실제 사용된 FRAM 은 328KB이다, 블록 사상 테이블을 저장하기 위해 사용된 FRAMe 320KB(사상 정보 256KB, 지우기 회수 64KB) 이며 이 값은 전체 플래시 메모리 용량에 비례한다. 즉, 본 연구에서 제안한 아키텍처에서는 플래시 메모리 16GB 당 FRAM 32아CB를 필요로 하며 용량이 증가하면 FRAM 요구량은 따라서 증가한다.
  • 본 논문에서 다루고 있는 또 하나의 비휘발성 저장 매체는 FRAM(Ferroelectric RAM)이다. FRAMe SRAM 과 유사한 인터페이스와 성능을 가지는 차세대 비휘발성 메모리로서 전하를 보유하는 커패시터로 강유전성을 갖는 물질을 사용하여 전원 공급이 중단되어도 데이타를 유지할 수 있다[4L FRAMe SRAM과 같이 바이트 단위의 읽기, 쓰기 기능을 제공하며 접근 시간이 100ns 정도로 빠르다.
  • 보드 상에는 각 플래시 메 모리 버스에 해당하는 플래시 메모리 모듈올 위한 4개 의 슬롯이 있으며, 아래쪽으로 FRAM 모듈을 위한 슬 롯이 있고 왼쪽으로는 PATA 호스트 인터페이스 커넥 터가 있다. 사용한 플래시 메모리 모듈에는 lGB(8Gb) 의 플래시 메모리 칩이 4개 장착되며 4개의 모듈을 사 용하여 동시에 동작할 수 있는 플래시 메모리 칩의 수 는 16개, 전체 플래시 메모리 용량은 16GB이다. FRAM 모듈은 lMB(8Mb) 용량의 FRAM 칩이 2개 장착되어 총 2MB이다.
  • 성능 비교 대상으로는 7200RPM의 회전 속도를 갖는 SATA2 인터페이스 (300MB/S)의 하드디스크 (Seagate Barracuda 7200.10 ST3250冊20AS)와 상용으로 판매되는 PATA 인터페이스(UDMA100 전송 모드: 100MB/s) 를 갖는 2가지 종류의 SSD(Adtron I35FB, M-Sys- tems FFD UATA)를 선정 하였다. 벤치마크를 수행한 PC 시스템은 표 3과 같다.
  • 제안된 아키텍처를 FPGA 기반 프로토타입 평가 플랫폼을 이용하여 구현하였으며, 성능 평가를 위해 PC 환경에서 사용되는 대표적인 벤치마크 프로그램인 PCMarkO4 HDD 벤치마크[1 기를 사용하였다.
  • 프로토타입 구현을 위해 PowerPC 프로세서를 내장 한 Xilinx Virtex IV FPGA 칩에 기반한 그림 7과 같 은 평가 보드를 제작하였다. 보드 상에는 각 플래시 메 모리 버스에 해당하는 플래시 메모리 모듈올 위한 4개 의 슬롯이 있으며, 아래쪽으로 FRAM 모듈을 위한 슬 롯이 있고 왼쪽으로는 PATA 호스트 인터페이스 커넥 터가 있다.
본문요약 정보가 도움이 되었나요?

참고문헌 (17)

  1. Samsung Electronics, NAND flash memory datasheets, http://www.samsung.com/ 

  2. Gal, E. and Toledo, S., "Algorithms and data structures for flash memories," ACM Computing Surveys, Vol.37, No.2, pp. 138-163, 2005 

  3. Intel Corporation, "Understanding the flash translation layer (FTL) specification," http://developer. intel.com 

  4. Ramtron, FRAM datasheets, http://www.ramtron. com/ 

  5. Rosenblum, M. and Ousterhout, J., "The design and implementation of a log-structured file system," ACM Transactions on Computer Systems, Vol.10, No.1, pp. 26-52, 1992 

  6. Wu, M. and Zwaenepoel, W., "eNVy: a non- volatile, main memory storage system," in Proceedings of the Sixth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS-6), pp. 86-97, 1994 

  7. Kawaguchi, A., Nishioka, S., and Motoda, H., "A flash-memory based file system," in Proceedings of the USENIX 1995 Winter Technical Conference, pp. 155-164, 1995 

  8. Chiang, M.-L., Lee, P. C. H., and Chang, R.-C., "Using data clustering to improve cleaning performance for flash memory," Software: Practice and Experience, Vol.29, No.3, pp. 267-290, 1999 

  9. Kim, J. M., Kim, J. M., Noh, S. H., Min, S. L., and Cho, Y., "A space-efficient flash translation layer for CompactFlash systems," IEEE Transactions on Consumer Electronics, Vol.48, No.2, pp. 366-375, 2002 

  10. Lee, S.-W., Park, D.-J., Chung, T.-S., Lee, D.-H., Park, S., and Song, H.-J., "A log buffer-based flash translation layer using fully associative sector translation," ACM Transactions on Embedded Computing Systems, Vol.6, No.3, 2007 

  11. Wu, C.-H. and Kuo, T.-W., "An adaptive two- level management for the flash translation layer in embedded systems," in Proceedings of the 2006 IEEE/ACM International Conference on Computer- Aided Design (ICCAD '2006), pp. 601-606, 2006 

  12. Chang, L.-P. and Kuo, T.-W., "Efficient management for large-scale flash-memory storage systems with resource conservation," ACM Transactions on Storage, Vol.1, No.4, pp. 381-418, 2005 

  13. Miller, E. L., Brandt, S. A., and Long, D. D. E., "HeRMES: High Performance Reliable MRAM- Enabled Storage," In Proceedings of the 8th IEEE Workshop on Hot Topics in Operating Systems (HotOS-VIII), pp. 83-87, 2001 

  14. Wang, A. A., Kuenning, G. H., Reiher, P., and Popek, G. J., "Conquest: better performance through a disk/persistent-RAM hybrid design," ACM Transactions on Storage, Vol.2, No.3, pp. 309-348, 2006 

  15. Doh, I. H., Choi, J., Lee, D., and Noh, S. H., "Exploiting non-volatile RAM to enhance flash file system performance," in Proceedings of the 7th ACM & IEEE International Conference on Embedded Software, pp. 164-173, 2007 

  16. Aleph One, "YAFFS: Yet another Flash file system", http://www.aleph1.co.uk/yaffs/ 

  17. Futuremark Corporation, "PCMark04 white paper," http://www.futuremark.com/ 

저자의 다른 논문 :

섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로