Abstract
Flash memory has been widely used as an important storage device for consumer electronics. For the flash memory-based storage systems, FTL (Flash Translation Layer) is used to handle the mapping between a logical page address and a physical page address. Especially, log buffer-based FTLs provide a good performance with small-sized mapping information. In designing the log buffer-based FTL, one important factor is to determine the mapping structure between data blocks and log blocks, called associativity. While previous works use static associativity fixed at the design time, we propose a new log block mapping scheme which adjusts associativity based on the run-time workload. Our proposed scheme improves the I/O performance about 5~16% compared to the static scheme by adjusting the associativity to provide the best performance.
플래시 메모리는 저전력, 비휘발성, 충격 내구성의 특성 때문에 임베디드 시스템에서 가장 중요한 저장 장치로 사용되고 있다. 하지만, 플래시 메모리는 덮어쓰기가 안 되는 제약 때문에 FTL이라고 하는 주소 변환을 위한 소프트웨어를 사용하며, 효율적인 주소변환을 위해서 로그 버퍼 기반의 FTL이 많이 사용되고 있다. 로그 버퍼 기반 FTL의 설계시에 중요한 사항으로서 데이터 블록과 로그 블록의 연관구조를 결정하는 문제가 있다. 기존의 기법들은 설계시에 결정된 정적인 구조를 사용하지만, 본 논문에서 는 어플리케이션의 시간적 공간적 워크로드의 변화를 고려한 적응적 로그 블록 연관 구조를 제안한다. 제안하는 FTL은 실행시간에 어플리케이션의 워크로드의 변화에 최적화된 로그 블록 연관 구조를 사용함으로써 정적으로 최적의 연관 구조를 선택하는 기존의 기법 대비 5~16%의 성능 향상을 가져왔다.