We have basic words for the numbers zero to three, so why not use them to count?
- None (0)
- Single (1)
- pair (2)
- Multiple (3+ but we’ll use it as three)
So with those “digits” we can construct some numbers:
- Single
- pair
- Multiple
- Single nothing
- Single single
- Single pair
- Single multiple
- Pair of nothing
- Pair of singels
- Pair of pairs
And of course we can construct bigger numbers like:
42 = 4²×2+4¹×2+4⁰×2 = pair of pairs of pairs
128 = 4³×2 = pair of absolute complete nothinges
For this last one I just use some adjectives to repeat the “nothing” as it looks really weird with multiple nothing in a row.
The distance between Stockholm and Gothenburg is a single multiple of none multiple multiples
Could I have a single multiple of bananas please?
Lower bases like base-2 and base-4 are more efficient in some ways because they use fewer symbols, but with the tradeoff that the numbers get longer. e.g. 13033 vs 499. Most computers count in base-2, but ssds actually count in base-8, as it’s the most efficient way to store data on the kind of flash storage that they use. Honestly, for humans it probably matters more to have easy division, like with base-12, base-60, and base-360, than it does to have writing efficiency. Bases using square numbers, like base-4, base-8, and base-16 are convenient for computer scientists though, since they convert easily into base-2.
SSDs aren’t just that simple. All of them have at least some SLC area, usually as cache, that’s in base 2. But the rest of the SSD can be SLC base 2, MLC base 4, TLC base 8 or even QLC base 16.
And overall it’s still base 2 because each SSDs pretend one block of base 4 is just two blocks of base 2, and accordingly they pretend a block of base 16 is just 8 blocks of base 2 storage.
Sure, I was simplifying a bit. But on the hardware level, TLC SSDs (the vast majority of SSDs in 2024) will physically address flash memory outside of the SLC cache as base-8. Each cell that gets written is written with a base-8 digit. But yeah, what gets exposed to the computer is all base-2. I just wanted an example of modern computers using higher bases.
I guess another example would be busses that use PAM, such as Wifi, modern 100mbit+ ethernet over copper, 100gbit+ ethernet over fiber, PCIe 6.0+, and GDDR6X. These all send symbols that count in higher bases than the traditional base-2 NRZ/PE/BPSK signalling. Often these are base-4, but they can go up to insanely large numbering systems, like base-4096 with Wifi 7.
You’re absolutely right on that count. If you switch fast enough, everything has a capacitance. That’s why with CMOS designs once you go above a few kHz you start worrying about fan out.
It’s also why, once the ceiling is reached, everything starts using modulation tricks previously used in RF. Ethernet started with 1GbE, USB with 3.0, DSL did it from the start, with PCIe even gamers have probably seen eye diagrams in riser tests, and coax is the very definition of pushing RF over a wire.
Wait. Too many acronyms. Why do SSDs count in non binary? I thought they were banks of transistors.
Modern flash-based SSDs are banks of capacitors, and recent ones will usually store 8 different voltage levels per capacitor, allowing it to count in base-8 and saving physical size over counting in base-2. This is called “TLC”, or “Tri-level cell”, meaning it can store the equivalent of 3 binary bits of data in a single capacitor.
Is there any sort of error correction for this? Don’t capacitors lose charge over time?
Yes, of course there is error correction. Also, while the SSD is on power, it’ll constantly go through all data and fix the areas that are starting to deteriorate.
But this does mean an SSD left without power will slowly lose data over months and years.
This also means that writing data is much slower and the SSD can handle far fewer writes. But the tradeoff is that TLC and QLC SSDs can handle 2× and 4× more data than MLC SSDs for the same price.
That’s why MLC SSDs are primarily used for professional use and TLC and QLC is primarily used for gamers.
Some TLC and QLC SSDs even allow you to choose how much of the SSD should be used as SLC/MLC space (4× less data, 4× faster writes, 4× more endurance) and which part should be used as TLC/QLC (4× more data, 4× slower changes, 4× less endurance).