썸네일 DFTL (Demand-based FTL) // 아직 작성중.. DFTL DFTL은 hybrid mapping의 단점을 극복하기 위해서 등장하였습니다. Hybrid mapping에 해당하는 FAST와 BAST는 full-merge를 수행해야하는데, full merge는 erase 작업을 반드시 수반하게 됩니다. 그렇기 때문에 DFTL은 page-level mapping을 사용하되, page-level mapping이 페이지 테이블이 메모리를 많이 차지하는 단점을 해결하기 위해 NAND Flash에 페이지 테이블을 저장하고 자주 액세스 되는 매핑 정보만 SRAM에 캐싱하여 요청이 올때마다 load/unload를 수행합니다. 이는 저장장치에 들어오는 요청은 결국 같은 요청이 반복되는 temporal locality가 높기 떄문에 이러한 방식을 사용합..
썸네일 [FTL] BAST, FAST Intro FTL의 mapping scheme 중에서는 page-level mapping, block-level mapping, hybrid-level mapping이 존재합니다. page-level mapping과 block-level mapping을 설명하였으니 앞선 포스팅을 참고하시길 바랍니다! FTL FTL FTL이란 Flash Translation Layer의 약자로, 플래시 메모리의 특성을 감추면서 하드디스크의 기능처럼 수행할 수 있도록하는 소프트웨어층을 의미합니다. 하드디스크에는 물리적인 섹터가 존재하지 minutemaid.tistory.com Hybrid Mapping hybrid mapping는 block-level mapping과 page-level mapping의 장점을 합친 것입니다..
썸네일 FTL FTL FTL이란 Flash Translation Layer의 약자로, 플래시 메모리의 특성을 감추면서 하드디스크의 기능처럼 수행할 수 있도록하는 소프트웨어층을 의미합니다. 하드디스크에는 물리적인 섹터가 존재하지만, SSD에는 페이지와 블록만 존재합니다. 하지만 NTFS, FAT 같은 파일 시스템과 운영체제는 섹터 기반으로 동작하기 때문에 이러한 한계점을 FTL이 물리적 구조를 논리적 구조로 변환하여 호환성 문제를 해결합니다. 즉 호스트의 논리적 블록 주소(LBA)를 플래시의 물리적 블록 주소(PBA)로 매핑하는 것입니다. FTL을 설명하기 앞서 펌웨어 아키텍처를 간단히 살펴보겠습니다. 먼저 호스트 인터페이스 층(HIL)에서 호스트의 I/O를 담당합니다. 예를 들어, 호스트에서 LBA에 데이터를 writ..
썸네일 Data Deduplication Data Deduplication Deduplication이란 스토리지 효율의 향상을 위해 서로 다른 데이터 청크 간의 중복된 데이터를 제거하는 작업을 말합니다. Deduplication의 과정은 먼저 데이터를 청크 단위로 쪼갠 후 해쉬함수를 적용하여 특정 해쉬값을 만들어 냅니다. 해쉬를 했기 때문에 중복 데이터는 동일한 해쉬값을 가지고 있을 것이므로 해쉬값을 비교하여 중복 데이터를 찾아나갑니다. 이때 중복된 데이터 청크들은 포인터로 대체하고 삭제합니다. Data Chunking Methods 데이터를 청크 단위로 쪼개는 4가지 방법 1 ) Whole file chunking whole file chunking은 각각의 파일을 하나의 청크로 간주합니다. 이 방식은 오버헤드는 적으나, 파일 자체가 청크이기..
썸네일 Wear Leveling (WL) Wear Leveling 플래시 메모리는 "P/E 주기"라고 하는 Program/Erase 주기의 제한이 있습니다. 플래시 메모리 특성상 write을 하기 위해서는 반드시 erase를 수반하기 때문에 특정 블록에 반복적으로 overwrite을 하게 되면 메모리의 수명이 감소하게 됩니다. 그래서 SSD의 모든 블록에 write을 고르게 분산하여 고르게 마모되도록 하는 것이 Wear leveling입니다. (a) disk write pattern을 보면 디스크의 일부분에서만 write가 일어나는 것을 볼 수 있습니다. spatial locality의 특성상 write가 일어나는 주변에서 계속해서 write이 일어나기 때문에 physical block의 약 40%에서는 erase가 일어나지 않습니다. 그렇기 ..