eMMC size

Just for interest, what is the physical size of the BBB’s eMMC memory? Naively I expected 2GB to mean 2 x 2^30 bytes, but fdisk reports 1920991232 bytes (=1832 x 2^20 bytes). That’s only a 9% difference, but it just seems a curious number. Is some memory kept back to replace dead or worn-out sectors?

The eMMC is like an SD card. Size can change based on bad locations in the Flash devices which are marked as bad. Bad memory locations are then not used. If you were to get a 2GB SD card and plug it into a PC, you may not see 2GB there either.


OK. But my BBB is new, so I wouldn’t expect it to have any bad memory. And 1832MiB seems to be the usual size of BBB disk-images, implying that’s the normal eMMC capacity. I was just wondering whether there’s another 216MiB lurking somewhere, or if these chips are just made in odd sizes.

All FLASH has bad locations. They are made that way. That is the way the come from the factory. That is why they have NAND controllers in them. NAND technology has a percentage of bad locations in them. We did not put a bad part on your board and it was not a used part and it is not worn out. The NAND controller uses wear leveling to prevent bits from going bad

You might try doing a little research on NAND technology to get a better understanding of what it is all about.

You also need to know that the eMMC is actually formatted as two devices. A FAT partition and a Linux EXT partition. The one device will show up as two separate devices in Linux, but it is one physical device.


To add to what Gerald said, there is also 16 bytes out of each 512 byte disk block used for error correcting.

Also, 2GB total storage != 2GB total usable storage. Read about partitions, and file systems.

Gerald, firstly please understand that this is a technical question, not a complaint! Secondly, I did try to obtain the MTFC2GMTEA datasheet from Micron before starting this thread, but it doesn’t seem to be publicly available.

William, fdisk is a partitioning tool which reports the unformatted device size.

I’m aware of the error-correction codes and sector maps that HDDs and SSDs use to improve data integrity, but as Philip says that doesn’t account for 216MiB on a 2GiB disk.

Manufacturing defects eat up a little more space, but not all of the mysterious missing memory. All the reports I can find show that BBBs have exactly the same amount of available flash memory (which is handy for sharing disk images), and that can’t be down to a random process.

Perhaps the eMMC chip keeps some spare memory to remap over dead blocks? I would be cool if it did, because that implies that the flash memory is robust even when full (when wear-leveling is more difficult). Perhaps the wear-leveling data takes a lot of space? I just thought I’d ask here in case anybody knew the answer.

OK, i did not see your first post in this line of posts. And yes i know what fdisk is so my bad . …

Everything I have read in the past where SSDs and flash memory in general ( at least decent flash memory ) usually ~10%(sometimes even more ) is reserved for wear leveling, as well as for caching to improve speeds in the case of SSDs. There is also more to it than just that, most of which i do not recall all the details… but 216MB out of 2GB seems to hit around that ballpark. so . . .

Plus the eMMC is ECC flash ? I did not know that . …

Caching is done with RAM rather than flash, so I don’t think that’s it.

The BBB hardware docs mention “JEDEC” in connection with the eMMC chip. A little digging turned up this:

and this:


I understand it is a technical question. All your had to do was to ask me for the datasheet. I may have missed your request, but so far, I have been unable to find it.