Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

People who complain about SD card "reliability" is just writing to it way too often.

Longevity of NAND flash is measured in TBW(total bytes written, in terabytes) but they have 4MB or so minimum size for write access, so people easily end up writing effectively gigabytes over weeks or months thinking it's just kilobytes averaged and use up all its life in just few months to years.

You don't need "better quality SD cards", you stop issuing writes. As for why Raspbian isn't built that way so you don't have to be Linux storage experts just to run it correctly, I don't know.



That's very interesting and explains a number of things. 4MB writes seems pretty high though as a minimum write block size, I've googled but can't find details among the sea of pages trying to sell me SD cards, won't you by chance have a reference? Thanks!


Google search for "microsd erase block size"[0]

From a forum post in raspberrypi.org[1]:

> My 16 GB SanDisk Extreme Pro 45 MB/s UHS 1 card reports an erase block size of 4 MB.

> My 8 GB Transcend SDHC Class 6 150x card reports an erase block size of 4 MB.

> My 2 GB Transcend SD 150x card reports an erase block size of 8 kB.

.

From another post from StackExchange.com[2]:

> the data cannot be overwritten without being erased first and an erase block is the smallest unit that a NAND flash storage can erase. The erase block size is typically between 128 kB and 2 MB.

.

According to a Micron Technical Note from 2006[3]:

> The NAND Flash device discussed in this technical note is based on a 2Gb asynchronous SLC device and its parameters (unless otherwise noted).

> The NAND Flash array is grouped into a series of blocks, which are the smallest erasable entities in a NAND Flash device.

> A NAND Flash block is 128KB. Erasing a block sets all bits to 1 (and all bytes to FFh). Programming is necessary to change erased bits from 1 to 0. The smallest entity that can be programmed is a byte.

(Note: 2 gigabits = 256 MB)

.

In a more modern TLC 3D NAND chip from 2016[4]:

> Block Size 27,888K bytes

or 27.888MB

---

[0]: https://www.google.com/search?q=microsd+erase+block+size

[1]: https://www.raspberrypi.org/forums/viewtopic.php?t=11258

[2]: https://raspberrypi.stackexchange.com/questions/32884/

[3]: https://www.micron.com/-/media/client/global/documents/produ...

[4]: https://www.micron.com/-/media/client/global/documents/produ...


Thank you, very useful information. Makes complete sense for a media type initially designed to power cameras and audio and video recorders.




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

Search: