Holy One
Posts: 29
Joined: Mon Jul 02, 2012 5:44 pm
Contact: Website

why does the pi have an sdcard slot?

Wed Jul 25, 2012 7:20 pm

sorry, I am sure this has been covered but my searches didnt turn it up. :?

I was just wondering why they put one on when surely they could have saved money but not doing so? and either reallocated that cost to other cooler stuff (or just better quality components) or used it as a price/mfg reduction method.

usb thumbdrives are plentiful, cheap and faster than sdcards no?

Posts: 175
Joined: Fri Jan 13, 2012 2:25 pm
Location: Somewhere in Canada.

Re: why does the pi have an sdcard slot?

Wed Jul 25, 2012 7:56 pm

I think the answer is simple.

As the GPU handles the boot process, with no other BIOS support etc, it is MUCH easier to drive a FAT formatted, directly connected SD card than it is to activate a USB hub, and try and drive USB protocols through it to an external USB storage medium. You can always switch to USB support AFTER the kernel has loaded and started to run ARM code.


Holy One
Posts: 29
Joined: Mon Jul 02, 2012 5:44 pm
Contact: Website

Re: why does the pi have an sdcard slot?

Wed Jul 25, 2012 8:05 pm

thanks for the awesome reply. now I know .. :D

User avatar
Gert van Loo
Posts: 2487
Joined: Tue Aug 02, 2011 7:27 am
Contact: Website

Re: why does the pi have an sdcard slot?

Fri Jul 27, 2012 7:34 am

And on an A-version board you would have no keyboard plug left if you need the USB slot for a dongle.

Posts: 85
Joined: Thu Jul 19, 2012 10:19 am

Re: why does the pi have an sdcard slot?

Sat Jul 28, 2012 3:09 am

The RPi uses a mobile phone system on chip. So it has all of the necessary circuitry to run a SD card, as that's what mobile phones use for their storage. So in one sense your answer is "it is there, so why not?"

That SoC also supports one USB port, again with a phone as the intended use. The RPi designers were very lucky to find a chip which implemented a USB hub containing two USB ports and a fast ethernet port. It is this chip which differentiates the Model B (FE + 2*USB, on a common USB bus) from the Model A (1*USB). As long as the RPi designers wanted to offer the cheaper Model A, this means that storage goes onto the SD card.

There's also a lot to be said when doing hardware and software design to have no surprises. If the SoC expects storage on SD card then that's the least risk place to put it.

Of course once Linux is running you can put your storage wherever it supports, you could even attach your RPi to a corporate iSCSI server, or a Windows share, or NFS, or a USB hard disk or whereever. The major issue here is around is around that shared USB bus -- for example, running two USB disks in a RAID configuration will have disappointing performance, as would running the RPi as a small network file server to a USB disk. Having said that, I do exactly that -- I'm happy to accept the slightly lower performance of the RPi as a home file server in return for 85W off my electricity bill compared with the previous "old laptop home file server".

I think it is important to consider the RPi's goals when thinking about the hardware. It's a good case study in design as their desire to have a low price meant that everything you see on the board was really, really wanted. You can also run a good mind experiment where you add the one thing you'd really like to see added to the RPi board (in my case, a slot for RAM) and then watch the price go up and up as you accept the design consequences (in my case, the additional PCB size, the routing maybe adding another PCB layer, the connector itself, the decreased reliability as people source their own RAM, or the increase in labour as supplied RAM is manually inserted rather than being robot-placed the way a PoP is).

Return to “General discussion”