IMX6 uSDHC controller performance

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

IMX6 uSDHC controller performance

1,732 Views
edison_xu1981
Contributor II

HI Community,

     I'm testing the uSDHC controller performance on IMX6S demo board

Kernel: 3.10.17

SD card: Transcent 16GB UHS-I 600X TF (max read/write speed 90MB/s)

SD card reader: support USB 3.0

1 Using uSDHC controller

dd if=/dev/mmcblk1 of=/dev/null bs=4096k count=100

100+0 records in

100+0 records out

419430400 bytes (400.0MB) copied, 20.196583 seconds, 19.8MB/s

     The performance is very poor, even lower than 20MB/s, it is far from the speed on the reference manual - Up to 104MB/s

2 Using USB card reader

dd if=/dev/sda of=/dev/null bs=4096k count=100

100+0 records in

100+0 records out

419430400 bytes (400.0MB) copied, 15.732688 seconds, 25.4MB/s

     The IMX6S only support USB2.0 host, so it cannot get the maximum speed, however, the performance is better than uSDHC controller.

     Can IMX expert give explanation on this difference? How to get the best performance of uSDHC controller?         

0 Kudos
3 Replies

732 Views
igorpadykov
NXP Employee
NXP Employee

Hi edison

for UHS-I usage (speed up to 104MB/s) it is necessary to use

uSDHC I/O 1.8V voltage change as it is done on sabre ai schematic

sch-27142 p.6, U508.

Schematics (1)

i.MX6_SABRE_AI_DESIGNFILES

http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/i.mx-applications-process...

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

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

-----------------------------------------------------------------------------------------------------------------------

732 Views
edison_xu1981
Contributor II

Hi Igor,

We've made the uSDHC I/O 1.8V voltage changs on our IMX6S board. Unfortunately,  it gets read errors as below with 1.8V voltage, but it works with 3.3V voltage.

What' wrong with it?

U-Boot-V150 > mmc dev 1

mmc1 is current device

U-Boot-V150 > ext2ls mmc 1:1 /boot

<DIR>       1024 .

<DIR>       1024 ..

        15339520 a.tar

           33094 imx6solo_v150.dtb

          201216 tftpd32.exe

          133264 tftpd32.zip

          246916 u-boot.bin

          267396 u-boot.imx

          268420 u-boot.imx.veex

         4585360 uImage

         8552448 v150.cramfs

U-Boot-V150 > ext2load mmc 1:1 $loadaddr /boot/uImage

** ext4fs_devread read error - block

0 Kudos

732 Views
martinma
Contributor I

Hi igorpadykov,

We've made the uSDHC I/O 1.8V voltage changs on our IMX6S board. Unfortunately,  it gets read errors as below with 1.8V voltage, but it works with 3.3V voltage.

What' wrong with it?

U-Boot-V150 > mmc dev 1

mmc1 is current device

U-Boot-V150 > ext2ls mmc 1:1 /boot

<DIR>       1024 .

<DIR>       1024 ..

        15339520 a.tar

           33094 imx6solo_v150.dtb

          201216 tftpd32.exe

          133264 tftpd32.zip

          246916 u-boot.bin

          267396 u-boot.imx

          268420 u-boot.imx.veex

         4585360 uImage

         8552448 v150.cramfs

U-Boot-V150 > ext2load mmc 1:1 $loadaddr /boot/uImage

** ext4fs_devread read error - block

0 Kudos