2012-07-11 12:14 AM
Hello everybody,
I'm using the STM3210E Eval board with STM32103ZGT6 �C. I'm currently doing any tests in order to determine the quickest way of data transfer between external SRAM/NAND or external SRAM/SD Card. I want to choose the best storage for pages of my WEB server. The SRAM (IS61WV51216BLL) and NAND (NAND512W3A2C) components are interfaced with FSMC, the �SD card is interfaced with SDIO. For that purpose, I have mapped HEAP/STACK into internal SRAM (0x20000000-0x20017FFF adress range), and data into external SRAM (0x68000000-0x680FFFFF adress range). I started from exemple projects of the ST library (V3.5) in order to setup FSMC and SDIO. I had to decrease SD Card Data transfer frequency from 24 MHz into 18 Mhz because of known issue of FSMC DMA too slow (subject already treated here). So I'm doing successively write/read cycles of 16 Ko data buffers in NAND, and then in �SD Card. I have measured around 227000 clock cycles in order to read the �SD, versus around 407000 clock cycles for NAND. But these results sounds a bit weird. I'm quite disapointed because I expected NAND to be faster... Did anyone perform this kind of test, in order to confirm that result ? Thanks a lot, Best regards Damien #sram-fsmc-sdio-sd-card-dma2012-07-11 05:36 AM
It gets kind of complex, and depends what you're measuring. The speed of the transfer portion, or the access (seek) time and ECC computation as well. The SD cards will mask a lot of this, especially the ECC portion.
MicroSD cards also come in a very wide range of speeds, even ones that are in supposedly the same performance class. Having writes ten times slower than reads isn't uncommon. The long term availability of the NAND part might scare me though.2012-07-11 06:02 AM
Thanks a lot for your interresting point of view !