| MicroSD card performance test results |
|
|
|
|
NOTE: Work in progress, additional results will be added periodically Introduction
Anyone who has worked with SD cards in embedded systems has probably noticed that the brand of card can make a dramatic difference in performance. This series of tests shows as much as a 12x difference in performance between best and worst cards in real world embedded tasks. It also shows that the "class" ratings used by manufacturers as a measure of performance are not reliable indicators of performance in embedded systems. In fact, some manufacturer's class 2 and class 4 rated cards routinely outperform cards rated as class 6 or class 10! The SD card specification defines the following speed ratings:
Note that the class ratings only specify write performance, which is a legacy of SD cards' origin as storage media for digital cameras. Read speed is not a factor in the rating. Though the class ratings are defined by the SD Card Association (SDA), they not verified by any independent evaluation process. For additional background on SD card internal operations, see this article. The tests
The following tests were run on an OMAP3730 Overo Fire/Tobi system with 512 MB of RAM using new, freshly partitioned and formatted microSD cards running the GNOME r12 release from this site. The initial benchmark was a "first boot" test, which measured the elapsed time for the first boot of a GNOME r12 image. The time was measured from the kernel "Remounting root file system..." message to the login prompt. The first boot completes the installation process, and involves a good mix of random reads and writes to the root file system. The second test was the standard iozone file system benchmark. The benchmark tests file I/O performance for a wide variety of file system operations including: read, write, re-read, re-write, read backwards, read strided, fread, fwrite, freread and frewrite. The results
Below is a brief summary table highlighting the first boot time (lower is better) and the izone measured read and write data rates (higher is better) for a 512MB file with 16KB record length. Click on the details link for each entry to open a new web page with plots of the results as well as the raw data. Navigate between the plots and raw data by using the tabs at the bottom of the newly opened page. For help interpreting the plots and raw data, see the Iozone File System Benchmark document.
ConclusionsThe test results clearly show that buying a microSD card based upon the manufacturers "class" rating is no guarantee of performance in an embedded system. The speed class system was developed for the digital camera market and was designed to certify that cards could support a certain write speed on fresh cards under typical digital camera sequential write usage patterns. This certification process obviously is quite useless for typical embedded system usage patterns. The tests also show that having good data rates for large record writes and reads doesn't necessarily translate into reasonable system level performance. The Patriot cards, for example, have good data rates in the iozone tests, but fairly miserable system level performance (as evidenced by the "first boot" test). I suspect that the wear leveling algorithms seriously impact performance on these cards. The "first boot" test seems to correlate most highly with my subjective experience with these cards in normal use. As such, it is fairly safe to use this test as a good first level screen when deciding which brand of card to purchase. RecommendationsBased upon the above data and several years of working with SD media in embedded applications I would recommend SanDisk, Topram, and Transcend as reasonable choices for embedded systems. In performance critical applications you should always test a variety of brands in the intended application environment. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Last Updated on Thursday, 03 March 2011 10:14 |
Ash Charles makes this comment
Friday, 06 May 2011
Akram Hameed makes this comment
Sunday, 15 May 2011
I've a question though, are you working on pre-release Fire hardware? Be swell to have a Fire or a Water with 512MB of RAM and the 3730.
sakoman makes this comment
Monday, 16 May 2011
Liam makes this comment
Tuesday, 21 June 2011
sakoman makes this comment
Friday, 24 June 2011
Unfortunately vendors don't disclose this information.
Ian Stirling makes this comment
Monday, 25 July 2011
http://www.bunniestudios.com/blog/?p=918
But it involves acid.
Anthony makes this comment
Monday, 01 August 2011