How to increase NAND speed? (iMX283 + MT29F16G08ABACAWP)

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to increase NAND speed? (iMX283 + MT29F16G08ABACAWP)

637 Views
moffel
Contributor I

Currently I'm working on an existing custom board with i.MX283 and Micron MT29F16G08ABACAWP NAND on which we want to replace the OS. We'll be using uboot-v2016.09.01 and Linux kernel 4.7.2.

We have the board up and running, but I noticed that NAND read/write speed is much slower than I would have expected. It seems both the i.MX283 and the NAND should be able to do much better. Results of mtd_speedtest:

[ 1145.439352] mtd_speedtest: testing eraseblock write speed
[ 1156.030525] mtd_speedtest: eraseblock write speed is 1838 KiB/s
[ 1156.036746] mtd_speedtest: testing eraseblock read speed
[ 1164.359215] mtd_speedtest: eraseblock read speed is 2339 KiB/s
[ 1164.437988] mtd_speedtest: testing page write speed
[ 1178.728050] mtd_speedtest: page write speed is 1362 KiB/s
[ 1178.733616] mtd_speedtest: testing page read speed
[ 1189.862425] mtd_speedtest: page read speed is 1749 KiB/s
[ 1190.142313] mtd_speedtest: testing 2 page write speed
[ 1203.127255] mtd_speedtest: 2 page write speed is 1499 KiB/s
[ 1203.132890] mtd_speedtest: testing 2 page read speed
[ 1213.684587] mtd_speedtest: 2 page read speed is 1844 KiB/s

I cross-checked this against the old OS and got the same results, meaning we at least have the same non-optimal performance. With the new OS and new application software we expect more intensive read/write so a speed increase could be very beneficial.

After further investigation I noticed that the GPMI clock in both u-boot and kernel is running at only 24MHz. Fragment of kernel debugfs:

cat /sys/kernel/debug/clk/clk_summary
   clock                         enable_cnt  prepare_cnt        rate   accuracy   phase
----------------------------------------------------------------------------------------
 ref_xtal                                 5            5    24000000          0 0
    gpmi_sel                              0            0    24000000          0 0
       gpmi_div                           0            0    24000000          0 0
          gpmi                            0            0    24000000          0 0
    pll0                                  3            3   480000000          0 0
       ref_gpmi                           0            0   480000000          0 0

Unfortunately I'm a bit of a novice in Linux and u-Boot configuration and a Google search quest didn't bring me much, so I'm looking for some help. Before I start tinkering with a lot of different things I would like to ask if somebody could help me point in the right direction on how to accomplish a speed increase. We don't need top-notch performance, but if we could accomplish a speed increase with limited effort this would be great.

Tags (2)
0 Kudos
1 Reply

437 Views
igorpadykov
NXP Employee
NXP Employee

Hi Rene

one can look at baremetal nand example for understanding clock settings

Lab and Test Software (1)
On-Board Diagnostic Suit for the i.MX28
http://www.nxp.com/products/software-and-tools/software-development-tools/i.mx-software-and-tools/i....

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos