The operating firmware of a portable flash memory storage device is stored
in the relatively large file storage memory, which is non executable. It
is logically parsed into overlays to fit into an executable memory. The
overlays can be of differing sizes to organize function calls efficiently
while minimizing dead space or unnecessarily separating functions that
should be within one or a group of frequently accessed overlays. For an
overlay having functions that require data allocation, the data
allocation can cause eviction. This self eviction is avoided altogether
or after initial runtime.