Micro SD card performance with the Gemini PDA

Recently, when writing the article Some first tests with the Gemini PDA, I have noticed the ridiculous slow micro SD card I/O performance with Android. Because of this, later on, I did some further testing with Debian installed on the Gemini. After booting the device, the micro SD card read speed looks good, but after having the device suspended (i.e. closing the lid) the speed drops to about 20 MB/sec, which is consistent with the result of the Android test. So most  probably this also has been after a suspend. To pinpoint the problem a bit more, a more extensive test setup has been carried out.

Test setup

For this performance test the common tool hdparm has been used. On Debian based systems it can be installed from a root shell:

root@gemini:/home/gemini# apt-get install hdparm

Its usage for the test is quite simple:

root@gemini:/home/gemini# hdparm -t /dev/mmcblk1 

/dev/mmcblk1:
 Timing buffered disk reads:  62 MB in  3.05 seconds =  20.34 MB/sec

To make sure that the problem is not limited to the SD card that has been tried out initially, the test has been carried out with four different cards:

•SanDisk Ultra 200GB microSDXC Speicherkarte, Class 10, U1, A1
•Samsung EVO Plus Micro SDXC 128GB, Class 10, U3
•Samsung EVO MicroSDHC 64GB, UHS-I, Grade 1, Class 10
•SanDisk Ultra microSDXC 64GB, UHS-I, Class 10

The four tested cards are being shown in the photo below.

Tested Micro SD cards

Micro SD cards tested with the Gemini, from the left Sandisk Ultra 200GB, Samsung EVO Plus 128GB, Samsung EVO 64GB, Sandisk Ultra 64GB

For each card the read speed has been measured directly after startup and after closing the lid and reopening it. To ensure not to use fake or broken SD cards, all the cards also have been tested using a laptop with Gentoo Linux and a USB 3 card reader (Transcend TS-RDF8K). These speeds then can be compared to the results with the Gemini.

Results

The following table shows the results of the test as well as the “official” speed rating of the cards.

 SanDisk Ultra 200GBSamsung EVO Plus 128GBSamsung EVO 64GBSanDisk Ultra 64GB
after boot58.5 MB/s39.0 MB/s34.3 MB/s30.4 MB/s
after resume19.8 MB/s13.1 MB/s19.3 MB/s19.2 MB/s
with PC84.4 MB/s68.3 MB/s44.7 MB/s35.8 MB/s
rated speed100 MB/s100 MB/s48 MB/s30 MB/s

The measured speed of the two older 64GB cards is quite close to the rated speed, but the performance of the two 100MB/sec rated cards is far too low. Especially the results for the 128GB Samsung EVO are catastrophic. With the Gemini these cards operate at 57% respectively 69% of the speed  measured with the laptop. After suspending the Gemini the read speed of all cards drops below 20 MB/sec. The initial higher speed can only be achieved by rebooting the device. The results with the cards inserted into an external card reader attached to a laptop show that the cards generally are in a good working condition.

Conclusion

The test shows, that there is a performance issue with the Gemini PDA and micro SD cards. The higher rated cards operate far below their capabilities. For all the cards, the speed drops below 20 MB/sec after a suspend cycle. Thus, most probably there is a bug inside the Mediatek driver for the SD card reader, that prevents the cards from operating at high speed after a suspend cycle.  Also it might be possible to optimize the driver for newer cards. Hopefully these issues get resolved when the Gemini gets Android Oreo and a 4.X Linux kernel with it.

Jürgen

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...