On Sun, Feb 20, 2011 at 9:03 AM, Arnd Bergmann wrote: > > From your flashbench -a run, I would guess that it uses > 8 MB allocation units, although the data is not 100% conclusive > there. > Because the 8MB aligned write time is significantly faster, right? > > My interpretation is that it uses 16 KB pages, but can do two page-sized > writes in a single access (multi-plane write). Anything smaller than > a page goes to a temporary buffer first (like the Toshiba chip), but > gets flushed when the next one is not contiguous. If you manage to fill > the entire 16 KB page using small contiguous writes, it can do a single > efficient write access instead. > > To confirm that 16 KB is the page size, you can try > > flashbench -s --scatter-span=1 --scatter-order=10 -o plot.data \ >        /dev/mmcblk1 -c 32 --blocksize=16384 > gnuplot -p -e 'plot "plot.data" ' > > On most MLC flashes, this will show a pattern alternating between slow > and fast pages like the one from https://lwn.net/Articles/428836/ Cool. I am attaching some graphs. The 16k sandisk shows the slow and fast page parallel lines, as does the 8k toshiba (but we knew it for the toshiba case), but the boundaries are strange for the sandisk case, and there an interesting 2mb variation in the toshiba 8k graph. What is the correct way to interpret graphs with other block sizes? A