Monday, July 10, 2023

The Weight of Data

Many of you have heard that SSDs become ever so slightly "heavier" as they're written due to the fact that programming a cell adds electrons to a floating gate. Electrons do have mass, however small. Let's do some arithmetic to see what all that data weighs on a modern SSD.

We know an electron weighs 9.1093837 x 10^-28 grams. We just need to estimate how many electrons are contained in a full SSD. Let's do this per user TB. Straight away, we'll take away the decimal conversion and start with 1TiB. This capacity does not count the spare area of NAND, so let's bump that capacity by about 10% to 1.1TiB. Yes, these small adjustments are silly, but let's just have fun. Because data must be scrambled before being written to NAND, we should expect that a fully written SSD has about the same quantity of "0" and "1" data internally. Most NAND these days stores more than one bit per cell, so let's restate this as saying that all programming states are distributed equally across all cells. If the maximum program state requires 300 electrons (a guesstimate that I hope someone corrects), then we can estimate that cells contain 150 electrons on average. Since most SSDs use TLC NAND, that's 50 electrons per bit.

So, 1.1TiB is 8.8TiBit. Multiply by 50 electrons/bit and we have 440 "TiElectrons" per user TB, or 440 x 1024^4 electrons. So finally we get (440 x 1024^4) * (9.1093837 x 10^-28) = 4.40698 x 10^-13 grams in one TB of user data stored on a TLC SSD. Per Wikipedia, this is about the weight of a "prochlorococcus cyanobacteria, the smallest (and possibly most plentiful) photosynthetic organism on Earth." A Zettabyte of such data would have the equivalent weight of a mosquito. How cool is that?

No comments:

Post a Comment

Three Things I Wish Every Storage Software Vendor Provided

In my work on SSDs, I have the opportunity to test a wide variety of storage software from parallel filesystems to high performance database...