Maximizing flash throughput in your apps

Ariane in our file system team wrote a great blog entry that describes what an application developer can do to improve file system performance.  Anyone who is used to writing files and data to RAM probably found their apps running much more slowly when the user storage system moved to flash.  This blog entry explains some easy things application developers can do to improve their throughput on flash systems.


Comments (2)
  1. Charlie says:

    It’s nice that you folks are trying to help us, but isn’t this a clear case of fixing low level behavior in much higher level code? Wouldn’t it be better for everyone if the low level issue was solved in the low level firmware?

  2. MikeCal says:

    We do try to hide this from the ISV.  We have some block size caching, etc.  But, in the end, this is an embedded product with hardware constraints.  

    On the desktop an ISV can pretty much assume there’s an unlimited amount of RAM, Storage, and CPU cycles and not spend much time thinking about performance.  That is not the case on embedded devices.  

    It’s quite possible to write apps for WM that don’t pay attention to the hardware at all.  I know about an enterprise email client that extravagently allocates 7M of RAM when it launches (the entire OS uses 10).  That app works on most devices.

    But the app written by people who understand the hardware constraints of the system and act accordingly is going to outperform the one written by people who choose to ignore those constraints.  That’s just a given.  The OS can do some things to protect you, but you know what your code is trying to do better than it does.

    There will come a time when embedded hardware has effectively unlimited resources as well, but we’re not there yet.


Comments are closed.

Skip to main content