• 제목/요약/키워드: Wear-leveling

검색결과 66건 처리시간 0.021초

페이지 비율 분석 기반의 NAND 플래시 메모리를 위한 가비지 컬렉션 기법 (Garbage Collection Method for NAND Flash Memory based on Analysis of Page Ratio)

  • 이승환;옥동석;윤창배;이태훈;정기동
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제15권9호
    • /
    • pp.617-625
    • /
    • 2009
  • NAND 플래시 메모리는 부피가 작고, 가볍고, 소비전력이 낮으며 입출력이 빠르고 집적도가 높아 최근 임베디드 기기들에 널리 사용되고 있다. 그러나 NAND 플래시 메모리는 지움 연산을 수반하는 가비지 컬렉션 연산을 수행해야 한다. 게다가 지움 연산은 속도가 느리고, 각 블록마다 지움 연산 횟수가 제한이 있다. 따라서 제안하는 가비지 컬렉션 기법은 전체 지움 연산 횟수와 각 블록의 지움 횟수 편차를 감소시키고, 가비지 컬렉션 수행 시간을 최소화하는데 초점을 맞춘다. NAND 플래시 메모리는 유효 페이지, 무효 페이지, 빈 페이지로 구성되어 있다. 제안하는 기법은 페이지들의 비율을 이용해 가비지 컬렉션의 수행 시기를 결정하고 대상 블록을 선택한다. 그리고 할당 기법과 그룹 관리기법을 추가적으로 구현하였다. 실험 결과 제안한 정책은 기존의 Greedy나 CAT 기법에 비해 전체 지움 횟수를 최소화 하면서, 최대 82% 지움 횟수 편차를 감소시켰고, 최대 75%의 가비지 컬렉션 수행 시간을 단축시켰다.

신뢰성 향상과 성능개선을 위해 다양한 Erasure 코드를 적용한 SSD 기반 RAID-6 시스템 구조 (SSD-based RAID-6 System Architecture for Reliability and Performance Enhancement)

  • 송재석;허준무;양유석;김덕환
    • 전자공학회논문지CI
    • /
    • 제47권6호
    • /
    • pp.47-56
    • /
    • 2010
  • 전통적인 대용량 스토리지 시스템을 위해 하드디스크 기반의 RAID 시스템이 사용되고 있다. 그러나 하드디스크 기반의 RAID 시스템은 외부의 충격에 약하기 때문에 데이터의 신뢰성이 낮고 스핀들 모터의 빈번한 동작으로 인해 전력소모가 많다. 따라서 본 논문에서는 하드디스크를 대체하여 다양한 Erasure 코드를 적용한 SSD 기반 RAID-6 시스템을 제안한다. 제안된 방법으로 Reed-Solomon, EVENODD, Liberation 코딩 기법을 파일시스템 레벨과 디바이스 드라이버 레벨에 각각 적용하였다. 그리고 SSD의 수명저하에 미치는 영향을 최소화하기 위하여 데이터 할당 기법을 적용하였다. 제안된 Erasure 코드가 적용된 RAID-6 시스템에 HDD 와 SSD 를 사용하여 실험한 결과 Liberation 코드가 다른 코드에 비해 SSD 수명저하에 영향을 적게 끼침을 파악하였으며, Erasure 코드들을 파일시스템 레벨에 적용 하였을 경우보다 디바이스 드라이버 레벨에 적용하였을 때 성능이 더 높았다. 또한 HDD를 기반으로 사용하였을 경우 보다 SSD 를 기반으로 사용하였을 경우에 입출력 성능이 4.5%~8.5% 더 향상 되었고 전력소모는 18%~40% 절감되었다.

SSD 기반의 RAID 시스템에서 패리티 디스크의 중복 제거 (De-duplication of Parity Disk in SSD-Based RAID System)

  • 양유석;이승규;김덕환
    • 전자공학회논문지
    • /
    • 제50권1호
    • /
    • pp.105-113
    • /
    • 2013
  • 데이터 입출력의 지연 및 병목현상을 해결하기 위해, 여러 개의 디스크를 병렬 구조로 연결한 RAID 시스템이 널리 사용되고 있다. 현재 HDD에 비해 입출력 성능이 좋은 SSD 기반의 RAID 시스템이 활성화 되고 있으나, SSD를 사용하여 RAID 시스템을 구현 할 경우 SSD의 쓰기 횟수 제한 문제와 빈번한 쓰기 연산으로 인한 전력소모의 문제가 발생한다. 본 논문에서는 갱신 비용이 많이 드는 SSD 기반의 RAID 시스템에서 parity 디스크의 중복된 데이터를 제거하는 방법을 제안한다. 제안한 방법은 parity 데이터의 chunk 보다 작은 크기로 분할 하고, 중복된 데이터를 제거 하여 쓰기 연산을 줄이고 마모도 및 전력 소모를 낮춘다. 실험결과 EVENODD 코드를 사용한 RAID-6 시스템의 경우 제안한 방법이 전체 디스크의 약 16%, parity 디스크에서 31% 마모도의 감소를 보였으며, 30% 전력 감소를 보여 중복제거기법을 사용하지 않았을 때 보다 성능이 증가 한 것을 알 수 있다. RAID-5 시스템에서는 전체 디스크의 약 12%, parity 디스크의 32%의 마모도 감소를 보였고, 전력소모의 경우 36%의 전력 소모 감소를 보인다.

SSD 기반 서버급 스토리지를 위한 지역성 기반 청킹 정책을 이용한 데이터 중복 제거 기법 (Data Deduplication Method using Locality-based Chunking policy for SSD-based Server Storages)

  • 이승규;김주경;김덕환
    • 전자공학회논문지
    • /
    • 제50권2호
    • /
    • pp.143-151
    • /
    • 2013
  • 낸드 플래시 기반 SSD(Solid State Drive)는 빠른 입출력 성능, 저전력 등의 장점을 가지고 있어, 타블릿, 데스크탑 PC, 스마트폰, 서버 등의 저장장치로 널리 사용되고 있다. 하지만 SSD는 쓰기 횟수에 따라서 마모도가 증가하는 단점이 있다. SSD의 수명을 향상시키기 위해 다양한 데이터 중복제거 기법이 도입되었으나, 일반적인 고정 크기 분할방식은 데이터의 지역성을 고려하지 않고 청크크기를 할당함으로써, 불필요한 청킹 및 해시값 생성을 수행하는 문제점이 있으며, 가변 크기 분할방식은 중복제거를 위해 바이트 단위로 비교하여 과도한 연산량을 유발한다. 본 논문에서는 SSD 기반 서버급 스토리지에서 쓰기 요청된 데이터의 지역성에 기반한 적응형 청킹 정책을 제안한다. 제안한 방법은 중복데이터가 가지는 응용프로그램 및 파일 이름 기반 지역성에 따라 청크 크기를 4KB 또는 64KB로 적응적으로 분할하여, 청킹 및 해시값 생성에 따른 오버헤드를 감소시키고, 중복 쓰기를 방지한다. 실험결과, 제안하는 기법이 기존의 가변 크기 분할 및 4KB의 고정 크기 분할을 이용한 중복제거기법보다 SSD의 쓰기 성능이 향상되고 전력 소모 및 연산시간을 감소시킬 수 있음을 보여준다.

NAND 플래시 메모리 기반 B+ 트리에서 페이지 매핑 로그를 이용한 색인 관리 기법 (Index Management Method using Page Mapping Log in B+-Tree based on NAND Flash Memory)

  • 김선환;곽종욱
    • 한국컴퓨터정보학회논문지
    • /
    • 제20권5호
    • /
    • pp.1-12
    • /
    • 2015
  • 낸드 플래시 메모리는 저전력, 빠른 접근 속도, 저렴한 가격 등의 특징을 가지고 있어 저장장치로 널리 사용되고 있다. 하지만 낸드 플래시 메모리는 제자리 덮어쓰기가 지원되지 않아 기존의 하드 디스크 기반 응용 프로그램을 구동하기 위해서는 FTL(Flash Translation Layer)이 필요하다. FTL은 주소 매핑, 가비지 컬렉션, 마모도 균등화 작업 등을 포함하고 있어 저사양 임베디드 장치에 구현하기에는 메모리와 연산에 대한 비용이 많이 든다. 그래서 이런 장치들을 위해 낸드 플래시 메모리에 최적화된 색인 자료구조들이 연구되고 있다. 연구된 방법들은 쓰기에 소요되는 시간을 줄여 성능을 향상시켰지만 레코드 탐색에 소요되는 시간이 증가된다는 단점을 가지고 있다. 레코드 탐색시간을 증가시키지 않고 쓰기 횟수를 줄이기 위해 본 논문에서는 페이지 매핑 로그 테이블을 이용한 색인 관리 기법을 제안한다. 낸드 플래시 메모리의 단점인 제자리 덮어쓰기 불가로 인해 발생하는 페이지 쓰기 횟수를 줄이기 위해 매핑 로그 테이블은 B+ 트리에서 변경된 노드 페이지 주소를 저장하고 레코드 검색 시 이를 이용한다. 실험 평가를 통해 제안된 기법은 다른 기법들과 비교 시 레코드 탐색에서 발생하는 페이지 읽기 횟수를 최대 약 61% 줄였으며, 레코드 삽입에서 페이지 쓰기 횟수를 최대 약 31% 줄일 수 있었다.

FlaSim: 리눅스 커널 모듈을 이용한 FTL 에뮬레이터 (FlaSim: A FTL Emulator using Linux Kernel Modules)

  • 최화영;김상현;이승원;박상원
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제15권11호
    • /
    • pp.836-840
    • /
    • 2009
  • 플래시 메모리의 성능평가 실험 환경 구성은 플래시 메모리가 장착된 제품들이 동작하는 시스템으로 이뤄진다. 이와 같은 방법은 물리적이고 비용적인 제약이 따르게 된다. 또한 실험에 쓰이는 입력 데이터와 FTL 알고리즘의 성능평가를 위한 결과 데이터인 트레이스의 추출 방법이 까다롭고 힘들다. Oracle의 경우 트레이스 추출이 불가능하고, MySQL, SQLite는 트레이스 추출이 가능하더라도 결과의 정확성이 보장되지 않는 문제점이 있다. 따라서 본 논문에서는 디바이스 드라이버를 통해 물리적 제약을 없애고 트레이스 추출을 쉽고 간편하게 하여 정확한 실험 결과 분석이 용이하도록 FTL 에뮬레이터를 설계하고 구현한 내용에 대해 다룬다. 본 논문에서 제안한 FTL 에뮬레이터인 FlaSim은 플래시 메모리의 데이터 저장 메커니즘과 동일한 동작을 하도록 구현하고 리눅스 커널 모듈을 사용하여 필요한 기능을 추가할 수 있다. FlaSim은 모듈 적재 방식을 사용하기 때문에 FTL 알고리즘 및 플래시 메모리에 대한 실험의 확장성을 향상시킨다. 또한 다양한 응용프로그램에 적용이 쉽고, 플래시 메모리에 대한 실험의 제약이 되는 물리적인 비용을 줄일 수 있다. 게다가 트레이스 추출하는 데 쉽고 효율적인 방법을 제공하여 결과 도출 및 분석 시 시간적, 시스템적 제약을 받지 않아 효율성이 큰 장점이 있다. 추후 많은 FTL 알고리즘 및 플래시 메모리에 대한 실험과 연구에 도움이 될 것으로 예상된다.