Flash wearout - what can be expected

Hello all

My first post here,got my first BBB yesterday ( after doing some work with RPi)

First impression very positive, however one question arose very fast:

checking mmcblk0 stat shows about 12000 writes after boot and login. ( approx. 2 minutes uptime)

Any experience, how long the onboard flash will survive, how many writes until wearout? I am somehow concerned.

I want to use the board for monitoring, unattended, no graphics. Just a webserver, PHP and Perl, maybe some small C programs to monitor environment and digital inputs.

I tried with the demo sofftware loaded. Next step will be towards minimized Angstrom.

I have already read several articles about read only root filesystems ( done this in the past with BSD systems on 386 architecture)

Your information is very much appreciated

Regards Richard
(Written on my tablet - excuse any typos)

How long does a solid state drive last? Same technology here. The controller inside the device handles the wear leveling. This means it doe snot keep using the same memory cells over and over. They keep moving around to prevent wearing out the device. This is covered in the eMMC specification. A bigger device should last longer, so you may be better off if you are really going to be hammering it, to use a bigger eMMC device.

Gerald

Gerald,

thanks for your answer - i did fear to hear this :wink:

Can you give advice: better to start such application from SD Card (could be easily replaced) or go straight to create a read-only root-fs?

Thanks
Richard

The problem with SD cards is that they are basically crappy, very band NAND, unless to pay extra for a really good one. eMMC while much like uSD in that it uses the same interface, the NAND is generally good NAND. And yes, uSD can be easily replaced. some more often that others.

So, you can go either way.

Gerald

Question Gerald;

Could you use a uSD card for the OS and programs and the NAND to store data ?

There would have to be some way to detect when the NAND was worn out .

You could do that. There is also a NAND out there that is 4Gb configured as 2GB with some redundancy mechanism. That may help.

Gerald

Hmm

Not sure if I explained correctly. I meant the built in NAND on the Beagle Bone White

or possibly the eMMC (?) on the BBB.

Bill

BeagleBone White has no NAND at all.

BBB has eMMC (NAND). What I am saying is that to get where you need to be, the NAND may need to swapped out on the BBB. Or, if you move it around, the eMMC on the BBB should work fine. I do not know how abusive you plan to be with the NAND. The NAND controller should handle the wear leveling for you, assuming that there is plenty of space to where level on. Using the eMMC has an issue in that there is not much free space available to perpetrate this wear leveling on. The more space the better. You are limited to 3,000 writes per cell.

Gerald

Gerlad,
thanks for your explanation.

Just to make sure: you wrote 3k writes per cell (= Bit?)

I allways thought its much higher …

So, better to go towards read-only FS, tempfs for my intended use plus USB stick for data to load into temp-fs! (unattended monitoring device)
Any recommendation which “recipie” to follow (have seen quite a lot of different articles in the web) - just make root “ro” does not work.

Richard

I wrote 3,000.

Gerald

Let’s hope the HP/Hynix memristor modules show up as promised end of 2013. That should take care of the flash wearout problem. Last time I heard they had a problem defining the marketing, which caused a delay.

Well, that would be nice. Too bad Hynix does not like to support the little guys. They are a big socket company.

Gerald

BeagleBone White has no NAND at all.

BBB has eMMC (NAND). What I am saying is that to get where you need to
be,
the NAND may need to swapped out on the BBB. Or, if you move it around,
the
eMMC on the BBB should work fine. I do not know how abusive you plan to
be
with the NAND. The NAND controller should handle the wear leveling for
you,
assuming that there is plenty of space to where level on. Using the eMMC
has an issue in that there is not much free
space available to perpetrate this wear leveling on. The more space the
better. You are limited to 3,000 writes per cell.

3000 writes seems low to me. The Micron data sheet doesn't seem to
specify a write count or life expectancy. Where does this number come
from?

Usually, a fair life counter for a flash is erases of an erase block.
Each erase block will get X erase operations before errors will start to
occur. The write itself isn't as hard on the cell as an erase. There's
other impacts

-Andrew

Number came for a MIcron FAE (Field Apploications Engineer).

It’s 3000 writes for every bit on the device. So, 2GB * 3000 = 6TB of writes. It’s going to take a while to write that much to that little eMMC.