iMX35 NAND flash performance (Linux)

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

iMX35 NAND flash performance (Linux)

831 Views
DavidFenger
Contributor I

We have a custom CPU board we have been using for some time.  It has on-board NAND flash that is used for the file system via UBIFS.  I did some benchmark tests on the file system recently, and got about 3Mbytes/s read rates on medium to large files (140k to 25M).  Looking at the flash memory spec it seems we should be getting closer to 20Mbytes/s.

I've tried changing NFC_DIV to boost the flash clock speed, and that got me about a 33% improvement.  The SYM bit is set correctly, as are the bits to set page size (2k).

I've looked at the rate at which mxc_nd interrupts are generated, and on large file reads, they average one interrupt per 240 bytes transferred, which suggests that some where between ubifs, ubi, and mth the file read requests are being broken into smaller chunks.  ubinfo returns a minimum i/o size of 2048, which is correct.  Does anyone know where these smaller reads might be getting generated?  I'm quite willing to go dig about in the kernel source to tweak things if need be.

CPU: MCIMX353DJQ5C

NAND Flash: Hynix HY27UF084G2B-TPCB  (25ns read time, 25us to load a 2k page to the buffer)

We also have a similar CPU board with a different flash chip: Samsung K9GAG08U0D-PCB0T00

Labels (1)
Tags (3)
0 Kudos
2 Replies

530 Views
JeffKudrick
NXP Employee
NXP Employee

Hi David,

What version of the Linux kernel are you using? What kernel configuration is set for your kernel - CONFIG_MTD_NAND_MXC and/or CONFIG_MTD_NAND_MXC_V2?  Could you send a register dump of the NFC?  How is the device(s) connected to the CS line?  Are you using it in x8 or x16 bit bus width?  If x16 bus-width, is the aclk at least 3 times faster than the flash_clk?

Any insight into the specifics of the board would be helpful.

Thanks,

Jeff

0 Kudos

530 Views
admin
Specialist II

Hi David,

Did you get your question answered?  If so, can you share what you found?  If not, please provide more information as requested in Jeff's post.

Thanks,

Grant

0 Kudos