Recently, flash memory is widely adopted in embedded applications since it has several strong points: non-volatility, fast
access speed, shock resistance, and low power consumption. However, due to its hardware characteristic, namely “erase before
write”, it requires a software layer called FTL (Flash Translation Layer). This paper surveys the state-of-the-art FTL software
for flash memory. This paper also describes problem definitions, several algorithms proposed to solve them, and related research
issues. In addition, this paper provides performance results based on our implementation of each of FTL algorithms.
Keywords Flash memory - Embedded System - File System