What's the max speed for the SD slot?


14 posts
by adi518 » Fri Jun 22, 2012 10:55 pm
I did some google queries but none gave me a distinct answer.

I'm contemplating whether I should a Sandisk Extreme III (45mb/s) or go with the slower versions, namely 30mb/s ultra edition cards.

What say you? :geek:
Posts: 27
Joined: Fri Jun 22, 2012 6:58 pm
by dom » Sat Jun 23, 2012 12:24 am
With latest firmware, 50MHz clock of 4bits data, so 25MB/s maximum.
There's overhead so you won't reach that, but I've seen 22MB/s.

However a lot of the very high speed cards have very poor random access performance,
so in real use are slower than, say, a class 4 Sandisk Ultra.
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 4043
Joined: Wed Aug 17, 2011 7:41 pm
Location: Cambridge
by adi518 » Sat Jun 23, 2012 12:54 am
I see. So maybe I should go for the lower end Ultra cards? They supposedly run @ 30mb/s, I guess that should save some cost and still allow maximum boot speed. But I'm thinking, maybe there's a possibility that a future firmware update will allow the controller to go faster than 25mb/s?
Posts: 27
Joined: Fri Jun 22, 2012 6:58 pm
by lb » Sat Jun 23, 2012 1:58 am
The controller should be able to go faster in theory (with UHS-I cards), but the electrical specifications of the Pi are not compatible to UHS-I - 3.3V signaling only. So it won't get any faster than about 22 MB/s in practice.

As dom already said, it's much more important that the SD card is reasonably fast at random writes. That's the primary bottleneck, and most cards, even fast and expensive ones, are pretty bad at it.
Posts: 193
Joined: Sat Jan 28, 2012 8:07 pm
by JeremyF » Sat Jun 23, 2012 2:00 am
A USB 2.0 flash drive may end up faster, and more reliable
{sig} Setup: Original version Raspberry Pi (B, rev1, 256MB), Dell 2001FP monitor (1600x1200), 8GB Class 4 SD Card with Raspbian and XBMC, DD-WRT wireless bridge
Posts: 516
Joined: Wed Jan 25, 2012 9:06 pm
by adi518 » Sat Jun 23, 2012 2:16 am
lb wrote:The controller should be able to go faster in theory (with UHS-I cards), but the electrical specifications of the Pi are not compatible to UHS-I - 3.3V signaling only. So it won't get any faster than about 22 MB/s in practice.

As dom already said, it's much more important that the SD card is reasonably fast at random writes. That's the primary bottleneck, and most cards, even fast and expensive ones, are pretty bad at it.


So what cards are known to have fast random writes?

I don't want to use a usb flash drive, they're too bulky. I want to make a minimal Pi setup.
Posts: 27
Joined: Fri Jun 22, 2012 6:58 pm
by itimpi » Sat Jun 23, 2012 5:33 am
adi518 wrote:I don't want to use a usb flash drive, they're too bulky. I want to make a minimal Pi setup.

I have been thinking of acquiring one of the micro USB flash drives like this one to keep size down. Anyone know how they perform in the Pi?
Posts: 1035
Joined: Sun Sep 25, 2011 11:44 am
Location: Potters Bar, United Kingdom
by adi518 » Sat Jun 23, 2012 2:17 pm
itimpi wrote:
adi518 wrote:I don't want to use a usb flash drive, they're too bulky. I want to make a minimal Pi setup.

I have been thinking of acquiring one of the micro USB flash drives like this one to keep size down. Anyone know how they perform in the Pi?


holy, that's really a small flash drive. I guess I meant for something like this to set an alternative. I think it will work. Question is, how fast it is? I already ran into seriously slow doks before.

The only downside is the fact it's gonna hog a usb slot while you could use the slot for other things like a wifi dongle and/or a wireless keyboard dongle. It's something to think about.
Posts: 27
Joined: Fri Jun 22, 2012 6:58 pm
by adi518 » Sat Jun 30, 2012 12:30 am
bump... I need some more advice! Any cards known to have good random-access speeds?
Posts: 27
Joined: Fri Jun 22, 2012 6:58 pm
by lb » Sat Jun 30, 2012 2:42 am
Check out the SD card benchmark thread here: viewtopic.php?f=2&t=4076
The results should translate over to the Pi. Most cards perform, really, really badly, with just about 10 IOPS per second. On the other hand, some cards are capable of hundreds of IOPS per second, and actually get into more than a MB/s at random writes! Try to get one of those SD cards, but beware - sometimes manufacturers switch controllers and whatnot, and performance characteristics aren't consistent for a given SD card model.

The people from Linaro have also done some nice research: https://wiki.linaro.org/WorkingGroups/K ... CardSurvey
Posts: 193
Joined: Sat Jan 28, 2012 8:07 pm
by adi518 » Sat Jun 30, 2012 10:50 pm
Those links were great, thanks!

Ok, I think I'm gonna go with a Sandisk Ultra 30MB/s Class 6. Seems to have good all around performance. Thing is, I can't seem to obtain a Class 6 version of this card from any of the nearby stores. Those only have the Class 10 version so I'm not sure which should I go for. I can get a Class 6 one from ebay. I know it's not the most reliable source for genuine goods like this but some sellers seem legit with a somewhat close to the nominal price of the local stores.
Posts: 27
Joined: Fri Jun 22, 2012 6:58 pm
by olso4539 » Mon Jun 02, 2014 6:49 pm
lb wrote:The controller should be able to go faster in theory (with UHS-I cards), but the electrical specifications of the Pi are not compatible to UHS-I - 3.3V signaling only. So it won't get any faster than about 22 MB/s in practice.

As dom already said, it's much more important that the SD card is reasonably fast at random writes. That's the primary bottleneck, and most cards, even fast and expensive ones, are pretty bad at it.


What is it that makes the pi 3.3V signaling only? According to the specification here SD specifications the sd card is supposed to receive 3.3V power even when it is switched to 1.8V signaling (see page 33). So the 3.3V supply to the SD card is fine. The only other electrical connection is directly to the Broadcom SOC. Since the emmc controller in the SOC supports UHS, i would assume that it can produce the required signal voltages when UHSMODE and maybe some other registers are set correctly. The peripherals sheet for the SOC includes some info for propagation delay tuning as well. Alternately, mode DDR50 could be used so that the clock speed is still 50Mhz but bandwidth is doubled by sampling on rising and falling clock. DDR50 could give up to 50MB/s and is supported by all micro sd cards labeled UHS-I!

UHS should be possible through software with no hardware hacking.
Posts: 30
Joined: Mon Feb 03, 2014 9:02 pm
by olso4539 » Tue Jun 03, 2014 3:20 pm
From this post
http://www.raspberrypi.org/forums/viewtopic.php?p=61730#p61730
It looks like the 1.8V has to be fed into the BCM2835 from an external regulator to the correct bank to be available for the emmc module signaling. That bank may also control the voltage for other peripherals/pins? It also seems that it actually has to be switched externally of the SOC. That switch has to take place during run time since initial negotiation is required to start at 3.3V per the UHS SD specification. That just seems wrong. Why would the chip manufacturer necessitate switching an external supply voltage while the chip is running?

I don't have the BCM2835 specs. so I can't say for sure, but I would have assumed that you need to feed in both 3.3V and 1.8V and that the emmc module should switch between the two internally via a register.

As always, thank you to everyone involved with the Raspberry PI. It's a wonderful creation.
Posts: 30
Joined: Mon Feb 03, 2014 9:02 pm
by riklaunim » Tue Jun 03, 2014 4:29 pm
The limit in benchmarks like IOzone is around 20MB/s (results). The SD card chipset supports class 10 SD cards, but by default doesn't support newer additions like UHS-I.

On the other hand OS images will burn faster on faster SD cards if good card reader is used on other PC.
Posts: 182
Joined: Tue Apr 22, 2014 7:34 pm