Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
MicroSD cards' SBC days are numbered (jeffgeerling.com)
57 points by ingve on May 15, 2024 | hide | past | favorite | 46 comments


I wholeheartedly agree with the idea that you shouldn't use microSD for / on your SBC!

I've been running a m.2 drive on a Pi5 for a few months now (using the Pimoroni HAT), and it's a game changer for how well it performs at just about any task that uses disk I/O at all - even just opening applications, and it massively helps reliability.

You might not get amazing headline sequential I/O speeds because it's only a PCIe 2.0 x1 connection (you can run it at 3.0, but it's unsupported), but the difference in random I/O is huge.

It makes whole classes of usecases practical as a result - you can now use a Pi5 for databases, CI, etc - especially paired with the fact that the Pi5 is another decent step in CPU performance.

My Pi5 is now running a GitLab CI arm64 runner building Docker containers using a Samsung 980 Pro as the SSD... and it just works.

It's a bit slower than building the x86_64 version on a modern Xeon, but not excessively so - a docker container build that is mostly installing .deb packages with one compilation step that takes about 90s on 4 cores/8 threads of Intel Xeon Silver 4410T with also a Samsung 980 Pro for storage takes about 120s on the Pi5.

For the one-off price of a Pi5 + NVMe HAT compared to say something like an Apple Mac Mini or the ongoing cost of cloud arm64 rental, I think that's very reasonable!

edit: I still think microSD has it's place - but it should be as removable/transient storage - not as storage for your root fs.


Good riddance. MicroSD cards are way overused as a storage medium, and they are such a fucking crapshoot quality-wise. We are long overdue for an external variant of NVMe that can take it's place in all but the most micro of applications.


But the electronics and protocol is so simple. I'll miss them when they're gone, because you won't be finding any DIY electronics tutorials to write NVME cards. And that will be a big loss.


Only the (much slower) SPI mode even has public documentation, not the native SD protocol.


“Abbreviated specs” have been available from SDA for at least a decade and have enough info to implement a working sd host or card.

Source: done both of those.


PCIE is simple too.


> We are long overdue for an external variant of NVMe

CFexpress, it's been around for a few years and already in a few major cameras

https://en.wikipedia.org/wiki/CFexpress


The only problem with CFExpress is since it's mostly deployed in higher-end cameras, card makers are charging pretty high prices for them. We need more value options before I think that format could take off on the lower end. Would love to see it though!


Not the point of that article, but I prefer the full sized SD cards. You could comfortably hold them and there was space to write on a label. MicroSDs are too small and fiddly to handle.


Yes! In my mind's eye, the SD card format and size is what I imagined floppy disks would eventually become, only with massively higher storage capacities.

Less easy to lose compared to MicroSD cards, too.


But much harder to put in a phone.


I would gladly sacrifice a few cubic millimetres to get an SD slot in my phone.


I wouldn't. There's no point to having a slot in a phone for a temporary peripheral. Plenty of storage can be built into the phone and there's no reason to make it water vulnerable for such an infrequent use. If you want to connect it, use an adapter.


It wouldn't be a few, it would make your phone twice as thick.


My phone has slots for two full size sim cards and a microSD next to the removable battery. I feel confident it could have had a full SD card without affecting the overall thickness (9.4mm)


Anyone else remember the original Raspberry Pi used full sized SD cards? I ripped the slot off the card with the leverage you could get with the full sized SD card.


I was about to post "is that correct with only the original having a full-size SD slot?" but apparently the only RPi I ever owned was a 1 model B and not a 3. That would explain why I found it to be a bit slow when I last used it :P


MicroSD to (full-size) SD adapters exist.


And are generally included with every MicroSD card in fact.


Pimoroni provides competition for this HAT, accepting one or two NVMe SSDs of up to 2280 length:

* Single: https://shop.pimoroni.com/products/nvme-base?variant=4121958...

* Double: https://shop.pimoroni.com/products/nvme-base-duo-for-raspber...

However, they report a limited list of compatible SSDs.


M2 consumes about 2.5x the power of MicroSD, which may be fine for most use cases, but anything running on a battery will suffer. 5 watts just for the M2 drive is quite a lot.


I see is that the ample majority of Chinese retroconsoles depending on SD cards for mostly everything and a post failing to account for that.


I think this is an area where SD is actually fairly suitable - not for storing the actual OS for the console, but certainly for storing data files. They're mostly read only other than saves, which should be miniscule amounts of I/O, and ease of removal so you can copy more games on is very important.

I don't see any issue with using SD or microSD for that usecase?

edit: I don't think I/O performance for reads should be a big issue either - for most retro games you're going to be able to have the whole ROM in memory as even a 16 or 32MB GBA ROM is still tiny! For PS1 and newer, microSD read speeds are certainly faster than CD/DVD read speeds, too?


PCIe will probably eventually trickle down to even the kind of SoCs that go into those products, especially if M.2 NVMe becomes the preferred storage media for most other single-board computers. It'll be a long transition, since NVMe is only just starting to become viable as the primary storage for some SBCs, but I think it'll happen eventually. There really aren't a lot of reasons to prefer microSD unless you're using an SoC that simply doesn't have any better IO interfaces.


Isn't part of the point in this specific usecase that it's removable? NVMe for the OS is fine, but I would tend to guess that these devices consider being able to swap the SD card into another machine to add games an important feature.


Years will pass before common-grade MCUs have it. Only TI chips with horrendous toolchains have PCIE at the moment that I am aware of.


With how frequently micro SD cards fail, I wouldn't trust them with anything beyond short-term transient storage of fine-if-lost data.


Probably 95% of raspberry pis are sitting unused on a shelf, so it was was an excellent choice to make these boards lower cost w/ microSD cards.


You're probably buying consumer microSD cards. If you buy high endurance or industrial ones, they tend to be pretty reliable in my opinion; no less than a branded NVMe or SSD.


It’s not necessarily the SD that’s unreliable but the interface. I’ve had data corruption on SDs. Never with CFexpress for example.


It's not the SD card, it's the random powerloss from the janky chargers people used to power their raspberry pi that caused the SD card corruption. 99% of SD cards are used in battery powered devices with zero risk of power loss.


That's my experience as well, but the ones which have wear leveling are almost as expensive as SSDs and I only use them in devices which have no other storage option. For a new SBCs I would definitely prefer an SSD or NVMe drive.


I’m pretty much like that with most storage :-) Certainly when I come back from a trip any camera photos on an SD card get put into my photo cataloguing and backup system pronto.


The UX of microSD cards is good, the problem is they're the new "floppies" because they're slow.

A more robust than M.2 but smaller, lower-powered SSD form factor is necessary. CF, USB sticks, and such still don't solve the problem of bringing SSD performance to a rugged, small physical package.


Samsung & Transcend SD/mSD have always errored/failed on me with power outages on Pi without additional power management hardware & software.

Having push to eject NVMEs brings forth a future where you can swap out LLMs/brains in K2SO type droid


Some USB charging cables are just rubbish. I measured a few of mine to be over 1 Ohm, ie supplying 4V at 1A current draw!

After measuring and throwing away all the rubbish cables, I've not had any weird power issues with my Pis, and not any issues with SDcards.


Replacing my RPi with an ODROID with eMMC slot has been such a massive improvement to reliability for my SBC use - it's running much cooler, doesn't have bizarre power problems, is way more performant and seems much more stable. Price was about the same too.


When I have to, I used Sandisk (WD) Industrial XI SD cards that have to be purchased from an electronics supplier. Zero problems ever.


Yeah heard about these in the latest Geerling video


Honestly I though we would have switched to SD/MicroSD express by now.

I heard of the technology 4-5 years ago I think ?

But long story short it should me SD/MicroSD cards with PCI/nVME interfaces:

* https://blog.adafruit.com/2023/10/31/sd-express-memory-cards...

* https://www.sdcard.org/pdf/SD_Cards_8_0_WhitePaper20200515.p...


SD with UHS-II is relatively fast, if you need more performance, CFexpress (which is just NVMe) is even faster.


SBC: single board computer


No room for a fan on the official board? That seems weird.


In my mind this sort of defeats the whole purpose of the RPI Foundation: bring cheap computing to the masses, especially those who don't have equal opportunity or access to technology. Typical techbro thinking unfortunately: "Yeah but this is soooo much bETter!!!"

Obtaining an sd card (at a gas station or corner drug store in the US these days) and obtaining an m2 drive require two completely different levels of economic access.


You can get m.2 SSDs with 256GB for 20€ and they give you 2GB/s read performance.


You do realize that 20€ is like a week or two of food for some people?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: