Odroid N2+ eMMC life expectancy?

I recently received my HA Blue (Odroid N2+) and yesterday finally got around to migrating HA over from my Raspberry Pi 4. Overall taking a snapshot of the PI4, reallocating the IP-address from the PI4 to the HA Blue, moving Zigbee/Z-Wave dongle over, restoring the snapshot and updating went fairly smooth.

One thing I am a little worried about is the longevity of the built in 128 GB eMMC module in the HA Blue. On my RP4 I had used an external SSD for booting/running HA which has built-in wear-leveling of the individual flash cells, thus I wasn’t worried about problems like Micro SD-Cards reaching maximum write-cycles and breaking.

Is my understanding of the HA Blue eMMC module correct that it doesn’t have comparable SSD wear-leveling? While looking at Hardkernel’s website I couldn’t find information on expected lifetime of the eMMC. Does HA plan to use a file system to store frequently changing data which is optimized for eMMC to spread out writes among flash cells? I had previously changed HA recorder settings to commit_interval of 30, purge_keep_days 5 and excluded quite a few sensor entities to reduce writes but snapshots still are ~300+ MByte. Is there anything else I can do to extend the life expectancy of the eMMC module?

eMMC does use wear leveling. Apparently there are even tools to read the current lifetime expectancy: https://forum.odroid.com/viewtopic.php?t=30081

1 Like

Thanks @ronaldheft, that is definitely good to hear. I did some more searching and found the following relevant information which appears to confirm this from Odroid and more background on eMMC.

https://forum.odroid.com/viewtopic.php?t=6150

2 Likes

Wait so how long do they last?

Ya I do want to know this. Says on still at 0-10 percent of life expectancy on supervisor. Got a 7gb backup normally, 128gb emmc and round about 55% memory used. Two month purge_days on config.

Better question, occasionally the database becomes corrupted I think because I get other files that are old db files from what I have been told on here and suddenly I’m at 75% capacity. Any way of setting a trigger for when the memory exceeds like 70% or 60% or something? Was thinking of setting a notification.

And what to do if the lifespan is out and it dies?
Just change the storage?

I heard about that, so I switched over to the MariaDB add-on.

Hopefully that’ll prevent any issues in the future for me, since I already had a registry dissociation error when I updated to 2021:11…but that’s what motivated me to migrate.

As far as what @thompy93 is saying about the memory up and dying, try the Google Drive backup add-on. I’ve found it to be wonderfully reliable.

It’s trivial to directly flash the O-Droid, all you need is a micro-USB cable. If the memory dies, you can easily swap it out, plug in the cable, flash from Etcher, and have a vanilla Hass-OS instance up and running in under 15 minutes…

Assuming, of course, you’ve got backups?

2 Likes

I second this. Works great. Wish I could add multiple Google accounts for more free memory. 15 gb per account.

Yep. Takes like two seconds. Just flash new storage with home assistant with an emmc adapter and stuff it in there

Yes, I run backup and keeping them in google drive is good and well.

If the eMMC fails, what are the possibilites of, lets say, using an SSD instead?

I mean, you can…

Honestly, I haven’t looked up the difference in bus speed between the on-board eMMC vs an SSD—which is basically what the eMMC is anyway.

The O-Droid N2+ comes with 4 USB 3.0 ports, but I don’t think they’re up to full SATA speeds, certainly not comparable with equivalent NVMe drives (not that we’re getting that on an SBC, unless you’re using a RasPI Compute Module with 1x PCIe lane).

I imagine it’s comparable, and Home Assistant does have built-in commands for migrating the database and file system if you ever feel the urge.

Anyway, here’s what I could find from a quick search of the manufacturer’s website:

eMMC storage performance
Sequential read and write speed is over 150MB/s and 125MB/s respectively.

A bit late to the party here, I know this was last commented on a year ago.
With speed - You will not notice a real life speed difference betweeen EMMC and an external USB connected SSD unit with the Odroid. The data transfer may be higher with USB SSD, but the processing power and architecture just makes it feel like there is not much speed difference. Only reason you’d want an external drive is if you need more than the 128GB storage the HA Blue has.
As far as lifetime, in case anyone is reading this now and still wondering. There is no definitive answer as it depends on read/write cycles to the eMMC. This will depend totally on what add-ons you use, how many devices you have, how often the database updates and many other factors. Same way you can’t give a definitive answer on how long an SSD will last. It depends how you use it. There are many calculators available if you use the big G to search for one.
Extending the lifespan of eMMC is the same as any solid state device. Limit the write cycles to the device. They can read virtually indefinitely, it is the erase and rewrite cycles that wear them.
I’ve been using my HA Blue for over 2 years and life estimate is still at over 90% which is the maximum HA will read it as. It never reads it at 100% as even new from the factory it will not be a full 100%. YMMV with the results, but if you use minimal addons. don’t use it for NVR or a lot of media that you constantly rewrite and your database logging is controlled, it will last you quite a while.

2 Likes