Are there alternatives to binary data storage that have a realistic chance of hitting the market within 20 years? If so what are they and how would they work?
I was reading about DNA data storage, and I think that is just 0s and 1s with 2 base pairs each for 0 and 1. I thought it involved 4 different options, but I guess not.
I’m not a computer scientist. I’m curious if you can have more than 2 options (other than open and closed like 0 and 1) and if so if that would dramatically increase data storage on personal electronic devices.
Current flash technology stores data in more than two charge levels per cell. I think currently most of them are 4 values per cell for 2 bits per cell.
Looking into this some more, 16 levels per cell are currently being sold but so are 1,2 and 3 bits per cell. There is a trade off of speed vs density. It takes longer to read or write if you have to be able to discern between smaller and smaller transitions.
Multi-valued logic was tried in some early computers but never progressed very far. The Russian SETUN computer in the late 50s used tri-valued logic, but it was a bizarre architecture and also very unreliable. 1 and 0, true or false, has proven a robust way to build logical systems of unlimited complexity.
Qubits are something else again. In theory they have an indeterminate number of states, though if David Deutsch is to be believed – and he may well be right – they are bits whose other state-values all exist in other universes. He believes the power of quantum computers comes from the massively parallel computations of all the qubits’ counterparts in parallel worlds, and that quantum computers are an actual physical manifestation of Everett’s many-worlds hypothesis.
There’s a difference, though, between the physical implementation of storage to optimize density and actual multi-valued logic. The flash memories are logically still just storing and retrieving bits.
Voltage differential logic is used for communications today. It can provide more than 2 states. I believe ethernet uses this.
I don’t see any obvious reason voltage differential couldn’t be developed into a memory system, if the conditions (speed, cost, benefit, use case, etc) were right.
I am not sure that this is really true. You access modern NAND flash in blocks 16 or more bytes at some places this data is encoded in a bunch of single bits at others it is encoded as a bunch of base 4, 8 or 16 symbols. Any quantized value can be represented in base 2 and will be in computers in most places. But in a lot of flash cards it is stored in base 4 or base 8 or base 16. Which is what the OP was asking. Do we store more than just two states so that we can greatly increase density of storage. The answer is yes and we have been doing so for more than 30 years.
You’re absolutely correct. It only occurred to me later that the OP was asking about storage and presumably the physical operation thereof, and I was talking about logic systems and how storage logically appears to the processor.
Somewhere I read about “trits”. This would be based on a device that could take on the values positive, denoted +, negative, denoted -, or no charge, denoted 0. The non-negative integers in order would start out 0, +, ±, +0, ++, ±-, ±0, ±+, +±, +00. For example ±+ is 9-3+1=7. Negative numbers would start as - ,-+ , -0, --, -++, -+0, -±, --+, -00. No sign bit required. It would take some getting used to, just as binary does. Whether it is worth the effort to build such a device is problematic.
That’s only “no sign bit required” in the same sense that ones-complement or twos-complement binary integer representations don’t require a sign bit. You still need more data to store signed integers than unsigned integers.
Arithmetic in binary is far easier an in any other base. The computer does not need to know that 3 + 5 = 8, all it needs to know is how to add ones and zeros with carry. There are no multiplication tables, and division is very simple. And math is still a large fraction of what computers do. So, since computers work and work well with binary data, you want to store data in a power-of-two base to make it easier to retrieve. One good example is UTF-8, which can encode over a million characters using bytes: if you start storing data in some oddball base, converting text to a usable UTF-8 coding could prove problematic.
Differential signaling is for noise resistance - by measuring the voltage difference between a pair of conductors, any voltages induced by interference will affect both equally and not influence the difference. Differential signaling can be digital or analog. Do you have an example of a differential protocol using multiple discrete levels?
While looking into this I looked at the abstract of papers for multi level DRAM. There were papers for 4 and 6 levels per cell but I could not find articles that these are being sold.
To address another part of the OP, biology does use base 4. There are four distinct nucleotides in DNA and RNA, each coding for two bits. There is also redundancy, both in the genetic code (64 codes map to about 20 amino acids) and, in DNA there is a second strand with the identical information in complementary form.
As hinted above, communications protocols frequently use non-binary bases. These are usually, though not always, powers of two. For example, QPSK (quadrature phase shift keying) is base 4 (two bits per symbol), while 128 QAM (quadrature amplitude modulation) is base 128 (7 bits per symbol). Of course the message starts and ends in binary and is only converted to and from these high level codes in the modem.