Generally speaking, Linux is tuned for rotating media, not flash memory. The VM and I/O schedulers try to group I/Os together in a sensible manner, to reduce disk thrashing. Of course, it's meaningless on the n900; there is no penalty for discontinous I/O.
I wonder if it would be worth setting some binaries unswappable (ie. phone).