Normally I would not expect to find any connection between bats and sd-cards. But after almost two days banging my head on the trickiness of ordering the proper sd-cards, I took my bicycle for some sport in the nearby park in the middle of the night. The SD-Cards were still cruising in my head while I was cruising up the hill with my mountain-bike – pretty puffed. When I reached the top, I noticed that there were other things flying around my head: many bats, probably quite surprised to see a human being in the middle of the 100 million inhabitants Guangdong Province. And they are totally right. I seem to be the only person crazy enough to have some fun with my bicycle there in the evening (it was only around 11:30pm). If this park would be in Berlin, with this nice nature in the moonshine, small and beautiful rest areas and the perfect view over all the Longgang district, there would be party all night. But the Chinese for some reason prefer to go there only when its way too hot and crowded on Sunday afternoons. Of course I’m also unsure how legal it is to be there during the night, as they have some pretty strange rules here against everything that might sound like fun. But the last time the police summon me to their local headquarter (I was already looking forward to be shown the best-of-shots of me, driving downhill the last night, as there are cameras every 50m) they disappointed me by only taking my fingerprints again. As if they would change every week…
Well but back to the SD-Cards. I learned a lot the last days. What I already knew: Micro-SDs might seem like a inert, reliable piece of memory, but inside they have a pretty strong (around 100Mhz ARM or 8051 CPU) micro-controller constantly fighting natures wish for entropy and chaos. Its already clear who will lose the game, the only question is how long the fight will last.
And that’s of special interest to us and what I needed to learn about: how to win this fight and keep the Systems voice over its full lifetime. As they need to put in the micro-controller anyways, no SD-Card manufacturer actually uses 100% working memory dies to build the cards. They might be even recycled from other flash-memory products. On top of all this difficulties, there are also the human introduced imponderables: as everybody wants to get as much bucks for the bang (um… bytes), there is a constant race on who is cheating the best, and still doesn’t loose all clients. This is of special importance, as there is currently no serious Chinese manufacturer of NAND memories used for all those nice products. So they have to pay the same dollars to get them, as opposed to just give some workers some rice.
The result is, that I got a selection sheet of 2 GB SD-cards, tremendously varying in price. But the 2GB is only what the card is labeled with, the next choice is, what the card should report to the computer about how much space is usable. And then, there is the last field, what the nice sales-guy claims he has measured, the cards actual capacity. You might loose your face for a lot of things in china, but selling a 2GB SD-Card with only measured capacity of 128Mbyte, is not on this list.
In order for us to not only rely on the two trustworthy brands outside there, we need some kind of compromise: we use a cheap self-made microSD-tester, which will Test every card on capacity, speed and protocol bugs. The cool thing: its already out there, it’s called the PyBoard, uses a micro-controller with the same SDIO-module as the one on our product and its cheap. Only thing what was missing was 20 lines of code and one day of bug-fixing the sometimes pretty crappy ST-Libraries (which will also go straight into our main-code). Now I’m only still missing the sample cards to throw on this neat device.