max write speed with onenand while running kernel drivers

Mathew Chasan mathew at exbiblio.com
Tue Jun 26 11:58:17 EDT 2007


I've been testing my maximum *sustained* write speeds with onenand  
lately.  Without putting a filesystem over the device, using a /dev/ 
mtd/ device (which as it turns out seems to return faster average  
speeds than the block device for extremely large writes) i'm topping  
out about 4.7 mebibytes a second.

I'm using an i.MX31 processor and the standard onenand drivers.  My  
kernel is 2.16.19.2, although i have updated my MTD stack to a more  
recent one.  I wrote a simple program that outputs a large memory  
buffer directly to the flash and times the results, averaging the  
results over many tests.

I believe i could probably increase the speed a fair bit by tuning my  
hardware io ports to push the limits of the onenand- but i'm not sure  
how much i can expect to get out it.  Does anyone have numbers on  
what they think the max write speed should be on onenand?

Also, i've noticed that the drivers are using asynchronous mode.   
Synchronous mode is i believe, quite a bit faster.  Has anyone tried  
to make a driver that works on onenand in synchronous mode?  I  
haven't looked into this much yet... is such a task particularly  
complicated?

much thanks in advance for any advice, help, etc.

Mathew



More information about the linux-mtd mailing list