Date Added: Dec 2010
NAND flash is preferred for code and data storage in embedded devices due to its high density and low cost. However, NAND flash requires code to be copied to main memory for execution. In inexpensive devices without hardware memory management, full shadowing of an application binary is commonly used to load the program. This approach can lead to a high initial application startup latency and poor amortization of copy overhead. To overcome these problems, the authors describe a software-only demand-paging approach that incrementally copies code to memory with a Dynamic Binary Translator (DBT).