Visualizing address space
We have seen claims of “that should be enough” proven false so often. We somehow knew that 16 bit of address space would run out some day. We're rapidly approaching the point where 32 bit will no longer be enough to store the number of seconds since epoch (1970-01-01), and it has not been enough to address all the memory on our hard drives for quite a while. So it's natural when we are reluctant to believe that 64 bit will be “enough forever”.
Let's visualize what a given address space really, actually means, by using a thought experiment.
Assuming that some genius feat of technology allowed us to store one bit of information on each and every carbon atom in a cube. How large a cube could we address with a given address space?
- 64 bit address space gives 2^64 addressable bytes, and 8 * 2^64 addressable bits.
- 8 * 2^64 is about 1.476 * 10^20 in base 10.[1]
- That many carbon atoms would give a cube of just over 1.3 mm³.[2].
Let's go up one doubling.
- 128 bit address space gives 2^128 addressable bytes, and 8 * 2^128 addressable bits.
- 8 * 2^128 is about 2.722 * 10^39 in base 10.[3]
- That many carbon atoms would give a cube of a bit over 24 km³.[4]
- That is a cube with an edge length of 2.8 kilometers.[5]
This seems… a mighty big storage facility. But who knows what crazy things we humans might come up with one day? Perhaps we will one day use one address space for all storage on the whole planet… Let's go up one more doubling, shall we?
- 256 bit address space gives 2^256 addressable bytes, and 8 * 2^256 addressable bits.
- 8 * 2^256 is about 9.2633 * 10^77 in base 10.[6]
- That many carbon atoms would give a cube of a whooping 8.175 * 10^39 km³.[7]
- That is an edge length of over 2 light years – half the distance from our sun to Proxima Centauri.[8]
I don't think a storage facility of that magnitude will ever be built, by anyone, anywhere…