But they walk a fine balance with PCB space, backward compatibility, performance, cost and user-friendliness.
Throw in a PCIe switch or something so you can still attach a USB 3 controller and now you've doubled the price and power consumption.
SD cards are not all designed or optimized around small, random reads and writes - the typical workload of a boot drive - and latencies can be staggering. Similar for USB sticks. On the other hand, these days the overwhelming majority of M.2 SSDs are at least somewhat optimized for 4K IOPS. The latest Sabrent Rocket M2 SSDs get some 650,000 4K IOPS vs eMMC at ~13000 (the Rocket is 50X faster) an SD card around ~2000 (the Rocket is 325X faster).
Frankly if you stuck a Sabrent Rocket on a PCIe 1.0 x1 connector the performance would absolute savage an SD or eMMC solution on this workload. Even if they somehow also had identical sequential I/O specs.
And hopefully that would ensure the new form factor to be somewhat stable for a while after that.
you have to keep in mind the original goal of the raspberry pi project.
if you want nice performance and low power consumption, you're better off considering a cheap intel nuc.
SD card: $15.20 for 128GB on Amazon
The price difference is minimal.
But the SSD is much much faster in that price range.
To be honest the large majority of RPi users I have ever met are only adults. Are there a lot of kids who are using it out there?
Students bring their own SD card, since else they are easily misplaced (stolen). This also means boards can be used by any student.
A lot of effort and cost, so we went with the microbit. The kids can easily own them, use a tablet to program them, and for the kids that are older, they can go for the rPi to expand this setup and learn more advanced stuff. By we do not use this as an entry. Kids that do robotics have a better time with them.
So yes, maybe mostly used by adults. The idea of SD cards was a good one. But several flaws held it back; like the non-5v tolerant GPIO. Lost several boards due to misuse... And they ain't cheap if they need to be replaced often.
You dont hear about it as often because for reasons, the kids aren't exactly encouraged to reach out to adults on the internet. Dogs on the internet and all that.
/meant humorously but also seriously serious.
Even if they removed the SD slot, you would still reflash the board over USB. That's how it's done with the Raspberry Pi Compute Module. With some software development it could be even easier than fiddling with SD cards.
In education environments, microSD cards tend to disappear a lot. Having one less moving piece to lose would be a win.
Quite possibly! Flash memory is absolutely not all the same. I wish someone would do for SD cards what Backblaze does for hard drives.
Oddly enough, Samsung, SanDisk, and Sony are the three brands I've had die on me. I had a GoPro eat two Sony cards in less than a year, I switched to SanDisk Endurance and it's been plugging along for about 2 years now. I've had one Samsung and a couple SanDisk SD cards die in Raspberry Pi's. I'm currently using MicroCenter, AData and one other lower tier brand that have held up much better than the name brands.
The Pi themselves don't die because of a SD corruption. Only the SD cards do (and they can be recovered).
[1] https://datasheets.raspberrypi.org/bcm2711/bcm2711-periphera...
Jeff Geerling benchmarked it and found it faster than his fastest SD card: https://www.jeffgeerling.com/blog/2020/raspberry-pi-compute-...
It's definitely not NVMe fast, but it's perfect for average workloads.
IIRC the layers above SDIO are slightly different for eMMC and SD(HC), but generally SoCs that have SDIO interface support both types of memory.
For example, the microSD slot only has 4 data lines. eMMC isn't constrained to the microSD slot, so they can have 8 data lines.
The Raspberry Pi 4 Compute Module has onboard eMMC. Jeff Geerling tests a lot of SD cards on the Raspberry Pi, but he found the CM4's eMMC is faster than any SD card he's ever tested: https://www.jeffgeerling.com/blog/2020/raspberry-pi-compute-...
e.g. https://www.digikey.com/en/products/detail/swissbit/SFSD032G...
Maybe there is some part that eMMCs have that SD cards don't, but SD cards absolutely do have a controller that does layout (wear levelling). It doesn't do the filesystem layer, but IIRC eMMC's don't either.
AFAIK the only reason SDs are less reliable, is because they're cheap and the socket can be loose, causing corruption during a write (or wear level). It would be interesting if you know of something logically different that also makes them less reliable.
Don't find source now though, so maybe I'm completely wrong.
I'm not against on board storage but I understand the tradeoff to allow user expandability and reduce production costs. I think they'd get heat on the eMMC size unless it was like 32gb and I don't think that cost increase would make it very far. But maybe with the push to the 400 they will start to go that route to create a self contained but expandable system that is plug and play raspbian by default.
https://www.slrlounge.com/sd-express-memory-cards-pcle-nvme/
It's sort of like Elon Musk saying on Electric Vehicles: "We could make the car infinitely desirable, but if someone does not have the money, they won't buy it"
Just pull up https://www.raspberrypi.org and you'll immediately see "someone" is kids.
So I think the fiddling is a given, maybe part of the experience, and usually there's a payoff.
that said I'm not immune to wishful thinking. I think an expensive $150 Pi Pro that makes a profit would be cool. Think mini-itx, pcie, m.2 and memory slots PLUS gpios.
That's actually a good thing, the raspberry pi community uncovered a ton of issues over the years related to storage drives over USB, which has been or can now be patched in the kernel to make such things more reliable.
SD cards are great for keeping cost down and getting started quickly by flashing OS images from a PC. However, enthusiasts spend so much time fiddling with external storage options and cobbling together messes of powered USB hubs, cables, external enclosures, and fiddling with kernel issues (USB attached SCSI) that a Raspberry Pi with built-in eMMC would be a breath of fresh air.
They could even keep costs down by adding a connector for an eMMC submodule, similar to what ODROID has done with their boards.