Increase speed of SDIO (SD CARD)


#1

Hi
I am currently working with a wp7502 based design.
We dont use wifi, so it should only be the sd card that is using sdio.
I would like to know if any one has succeeded in getting transfer rates higher than ~16 mbit/s when reading from sd card.

If so could you share your recipie?

Best regards

Jess


#2

Hi
To answer my own question here are my findings how to increase the speed of reading / writing to the SD card:
The tested card is a Sanddisk SDSDQAD-128G
The SD-card is formatted with EXT4.
I mainly have files >10MB on the SD-card.

To improve read performance it helps to increase the readahead buffer. If it is increased to 1024 KB it improves performance from approx 16Mbit/S to 44 Mbit/S

echo 1024 > /sys/devices/virtual/bdi/179\:0/read_ahead_kb

To Improve the write performance it helps to

  • Disable journaling
  • Set blocksize to 4096
  • Optimise for largefile

mkfs.ext4 -O ^has_journal -b 4096 -T largefile /dev/mmcblk0p1

Change mount options

  • noatime
  • nodiratime
  • writeback

mount -t ext4 -O default,noatime,nodiratime,data=writeback /dev/mmcblk0p1 /home/SDmountpoint/

This improves write performance to Approx 40 Mbit/S

Best regards

Jess