Computer memory prototype ditches 1s and 0s for denser data storage
newatlas.com
newatlas.com
The 8087 used physically different transistor sizes[0] to read a voltage level that "stored" two bits inside four threshold regions. MLC/TLC/QLC/PLC use a single transistor but charge the gate to a different "analog" voltage that is between 2^n threshold regions - MLC has four (two bits), TLC has eight (three bits), QLC has 16 (four bits), and PLC has 32 (five bits).
[0]: https://www.righto.com/2018/09/two-bits-per-transistor-high-...
Before even the first microcontroller they were doing this!
I imagine at some point in the abstractions it'll get a compat layer. Also, I could be wrong about MLC NAND but I thought it still stored 0/1 and just had more bits stored per cell through stacking.
So each cell stores either three pieces of binary or one piece of octal. It's the same thing.
Building a computer where each wire can encode multiple bits of data at the exact same time fundamentally changes the way operations are done. The entire thing would need to be built in a different way, with different consequences.
It might be a bad idea, or impossible, but it would be different.
2. It appears to not be analog.
>An energy barrier is created at the points where the bridges meet the device contacts, and the height of this barrier can be controlled which changes the electrical resistance of the overall material. That in turn is what encodes the data.
That seems to indicate they can have a base-n encoding where n is what they can practically achieve with the barrier/bridge layering scheme.
The data rate from a noisy channel or storage can be derived from Shannon-hartley theorem.
This is why the old analogue phones could only do 56k for example.
And somehow, on analogue circuit switch phone call mode, still sounded better with less artifacts than most mobile phone calls!
"Across the world, we make 13.5 billion phone calls every day, using mobile phones. The average person makes or receives around eight phone calls every day, meaning that the US deals with around 2.4 billion phone calls across the 300 million cell phone users" that's from 2023 source.
Here's a 2019 one about US:
On average, people make and receive a total of 178 calls per month Of those 178 total calls, 93 are calls received and 85 are calls made
Not just older people either:
"80% of Millennials and 84% of Gen Z-ers use their phones during 2020 for phone calls".
Leased point-to-point DS0 circuits could do a full 64KBps if the whole circuit was 8-bit clean.
We would already have something similar with SSD and many more bits/levels per site if voltages were precise and stable over time and number of overwrites.
An interesting use would be for storing 1-dimensional data. In effect the errors would be minor and not randomized/scattered as it would be for digital encodings.
It was a failure of marketing and building. Today's computers use a team of DRAM (like DDR5) and Flash. (GPU-ram like HBM or GDDR6 are still DRAM fundamentally).
Both the audio and video are FM encoded.
(Yea, 30 minutes per side is long for an LP, more like 20-22 minutes is typical, but hey, it's analog. To a point you could increase playing time by deceasing volume.
The most extreme case of this I'm aware of is "90 minutes with Aurthur Felder and the Boston Pops", which what it says it is... the first side alone is a hair over 47 minutes).
If they can get it to encode binary data more densely than existing systems, with acceptable speed/reliability/cost? Yes, of course they would.
I mean... maybe we should?
All radio waves, such as 802.11, are fundamentally analog data. And then they are converted back into digital with incredible QAM-encoding levels. If you think QLC 4-bits per Flash-cell is big, wait till you see 256-QAM (aka: 8-bits per 802.11 timeslice), or more.
I believe I saw some spec for some fiber-optic cable that is 32768-QAM (aka: 15-bits per timeslice).
--------
Then again, Flash (and other memory) are composed of individual cells. True-analog signals like radio-waves are truly analog, so maybe its not quite the same.
But maybe we should think of things like tape or hard-drives as an analog signal. Or maybe not, who knows? I'm not actually a storage specialist so I don't really know. (Nor am I really in communications, lol).
Also, the exact same thing is true of every other particle: just as photons are quantizations of the electro-magnetic waves, electrons are quantizations of waves in the electron field, quarks are quantized waves in the quark field etc. Atoms and molecules are also waves; in fact, there have been experiments showing the wave-like nature of molecules with something like 5000 atoms.
Photon is radio-wave (EM-wave). Typical photon is produced and consumed by a electron, so properties of photon produced by an electron are limited by the electron, also, our abilty to detect photonare limited by the electron. However, EM-waves in general are not limited by electron.
On smaller scale, electron interacts with other charged particles and with EM-field (the medium) via EM-waves. I'm pretty sure that electron is not staying stil, it's vibrating because of thermal noise. Vibration of charged particle produces EM-waves. Those EM-waves are not photons.
Yes, they are. In the Standard Model, the photon is the "carrier" particle of the EM field. Any EM interaction between any two charged particles is ultimately the exchange of one or more photons between those two charged particles. When a particle emits an EM wave, in any way, it emits one or more photons. It's impossible to emit 1/2 a photon or 1.3 photons - the EM field / EM waves come in quantities of whole photons.
In the same way, when two quarks interact via the strong interaction, they are emitting and absorbing gluons, the carrier particle of the strong force.
The only fundamental interaction not currently proven to be quantized is gravity. We do know gravity waves exist, but we have not been able to measure them to the required fidelity to verify whether they are also quantized, and thus to know whether they are also equivalent to an exchange of particles (we call these hypothetical particles gravitons, and many do believe that gravitational interactions also occur by the exchange of a whole number of gravitons between bodies with "gravitational charge", i.e. mass).
If you like hydrodynamic quantum analogs (walking droplets), then you may see that droplet may escape it pilot wave sometimes. In such cases, pilot wave continue to travel in same direction for some time. IMHO, it's similar to how photons are formed: electron creates pilot wave, then escapes it, similar to Cherenkov radiation.
Anyway, photons have special configuration, so they behaves differently than regular waves.
Gravitational waves, AFAIK, are not topologically stable at all.
Well-engineered systems have "noise immunity" meaning that the thresholds are well above the noise floor, making the likelihood of an error negligible.
If you hang an oscilloscope probe on a "digital" signal, such as the data lines on a memory chip, it might look like a frightening mess, but so long as the rules are obeyed, data transfer occurs faithfully.
In a true analog medium, there's no way that the receiver can make out precisely what was sent, and two receivers will get different information.
Well-engineered systems also expect noise and compensate with error detection/correction.
Also the article is just describing memristor memory isn't it? Intel's been shipping Optane memristor based memory (which they deny, but others are skeptical of the denial) for years, so clearly I'm missing something.
https://en.wikipedia.org/wiki/3D_XPoint
https://www.theregister.com/2022/07/29/intel_optane_memory_d...
I think the term you're looking for is trit (ternary/trinary digit).
But.. you do all the time. pretty much all the time these binary states are calculated from curves, or approximations. The state isn't 1 or 0, its the set of states which make 1 or 0 depending, under error correcting codes, over-sampling, things like manchester encoding.
We're fundamentally imposing binary on a non-binary state, by making deterministic judgement calls about which side of a divide things fall on, but to do that we have to look at analogue qualities.
I like to imagine people who work in VLSI smile at this statement, but at some level its analogue everywhere. It's higher-states which get to act like its binary, but they map to an analogue signal substrate.
And, does anyone want more than 0 and 1? If it's faster and has largest capacities, with equally feasible manufacturing, then yes.
So you can store more information in each memory location resulting in higher density.
Analog isn't really the issue here as there would be some kind of multiplexing/demultiplexing encoding or device to interface with it. It would still be discrete and have defined levels. as the technology advances you may be able to define more levels in the same bandwidth space thus creating "more" storage by greater efficiency of the spectrum.
I didn't know term had fallen out of popularity.
These things were all the rage up till about 10 years ago. “The 4th fundamental missing electrical circuit component”: resistor, inductor, capacitor, and.. memristor. We were supposed to build hardware neural nets the size of human brains with these things, and get petabytes of storage in unheard-of densities. What happened?
We could have three states - "high voltage", "medium voltage" and "low voltage" - but the advantage of having exactly two is that it makes it harder to mistake one state for another (e.g. if voltage fluctuates within a specific range). If the measurement range for each datum is (0, 100), you can decide that anything below 50 is "low voltage" and anything below 100 is "high voltage". You can also do the same thing with (0,33), <33,66), <66,100), but that requires assuming more precise tools throughout the entire pipeline. When we talk about bits getting flipped (the entire reason that checksums exist in wire protocols), that's the reason: the medium conducting the signal is imprecise, and sometimes the reading is off.
Traditionally, this represents a tradeoff between density and fidelity. If your system has high enough fidelity, you can take advantage of the additional precision and distinguish between more states, representing additional information.
If your system has 8 states (0,8.3), <8.3, 16.6)... etc., you can look at this as an octal system, or you can think of it as a binary system in which a read/write error affects an entire byte, rather than a single bit.
At the end of the day, this is a question of signal processing - binary representation is a convenient abstraction that allows us to understand the way that we're interpreting the signals we're reading, but it's fundamentally an arbitrary choice.
I worked at an embedded startup when SD cards started switching to MLC and we saw a really notable decrease in storage reliability. We ended up sourcing special SD cards that were flashed with embedded controller firmware restoring them to single level cell functionality. Your storage space is divided by 2^n going from n levels of voltage per cell back to SLC, but we saw greatly increased data integrity.
Yes, I'm explaining it with high and low voltage because that's an easy example to wrap your head around if you haven't thought about signal processing or hardware engineering before.
it's not that bad, it's divided by log2(n).
Yes.
> It's none other than planned obsolescence.
What makes you say this?
Even products that are built for a long lifetime of heavy use only sometimes need to drop down to MLC. Most servers and basically any consumer devices are fine with TLC.
Lack of SLC is not making drives die early.
Even on those 4-5 bit devices, the impact on performance tends to be a bigger deal than the impact on endurance. And there's no great push to get people onto those drives. TLC drives get most of the attention.
It’s not arbitrary, it’s an engineering choice. It’s just easier to design binary circuits.
"With the advent of mass-produced binary components for computers, ternary computers have diminished in significance. However, Donald Knuth argues that they will be brought back into development in the future to take advantage of ternary logic's elegance and efficiency."
(Wikpedia article on ternary computer(s), https://en.wikipedia.org/wiki/Ternary_computer, Donald Knuth's observation is found in The Art of Computer Programming.)
You can even expand it to whether a 'neuron' is firing (1) or not (0). What causes the firing does not matter, may it be digital or analog, discrete or continuous.
You want to represent more than two states? Use multiple 1s or 0s, and you can still use the model.
Use something else? Now you have to create your own model where you can map your states and state changes, along with all mathematics associated.
You can no longer compare a USB 'byte' with this new model 'byte'. What even is a 'byte' in your new model? It's like comparing apples and oranges.
It usually all depends on how accurately you can measure your states, often limited by the signal-to-noise ratio. When is a 0 really a 0 (signal) and not a 1 (noise).
A good example is telecommunications, where the data is sent over an electromagnetic wave (analog, continuous). In the past you could only identify between 32 states, but now due to better sensors you can identify 2048 states, increasing your data density by 64x. Same goes for HDD and SD card storage.
What on earth does this mean? Looks like a typically non-random crystal to me:
https://en.wikipedia.org/wiki/Hafnium(IV)_oxide
The actual article is open access, but rather dense:
https://www.science.org/doi/10.1126/sciadv.adg1946
It seems they used amorphous hafnium oxide:
> To create this amorphous nanocomposite, we added Ba to hafnium oxide during the single-step thin film deposition, and because of its simplicity of compositional control, we used pulsed laser deposition (PLD) to deposit the films. The PLD target had a Ba:Hf cation ratio of 1:2, which exceeds the solubility limit of dopants (with large atomic radii) in (crystalline) hafnium oxide, so that the formation of a second (amorphous) phase could be expected (22).
Is that what the article means? Because it also then talks about adding barium on top of this, whereas you don't even get the amorphous phase without barium.
Anyway, the paper also explains the deal with the Barium "bridges", which the authors call columns, fairly clearly (but it's too long to copy here).
Other observations:
- The authors seem to be very proud of producing this device mostly using "industry-compatible" processes, which i think means stuff you could do in a conventional chip fab, and where they don't, they have a story about how they could. This seems to contrast with other experiments in this field where the techniques would be very difficult to export from the lab.
- Switching time seems to be > ~100 ns. Maybe that can be optimised a lot. And i don't know what that translates to in terms of latency at bus level. But that time is ~100x SRAM, ~30x DRAM, ~10x some of these other wacky high-speed storage technologies, but ~1000x less than flash. Could have those numbers highly mixed up, so correct me if i'm wrong.
- There is some chat about "neuromorphic" functionality, where storage works like neurons. I won't go into the details but this sounds like a fad that is probably getting semiconductor researchers nice big grants, and will go absolutely nowhere.
I don't get it.
abs(3-e) < abs(2-e)
For example, how does someone express the number 5 in base e…
so 5 in base e is an infinite sequence of digits starting with 12.020011....
The idea is that if it costs $r to store a base-r digit, then base 3 (or e in a continuous scale) turns out to be the most efficient. Obviously, there's no a priori reason to think that a 3-level gate is exactly 1.5x more expensive than a 2-level gate, so this is mostly of theoretical interest.
I'm thinking about how this would apply to human psychology of reading and writing numbers. Then it doesn't make sense to measure economy as b floor(log_b(n)+1), because adding in more symbols doesn't increase the complexity linearly for people reading or writing numbers. Maybe something like E(b,n) = f(b) g(floor(log_b(n)+1)), where f stays constant up to 10 or 20 symbols, and then increases after, and g increases faster than linearly because it's easier to read shorter numbers than longer ones.
This kinda reads like someone who doesn't know how storage works. Storage is rarely encoded as "one and zero" in the form you see it, say, in a hex editor. In fact that's what's it decoded to. Storage schemes vary, to limit run length, add error correction, and in some cases includes analog states like the ones described in the article, to make more efficient use of charge and material state.
This is trivial, because actually the smallest unit you work with in a computer is not a bit, but a byte. And often in fact a word, which is typically 16 bytes (64 bits), or 64 bytes (512 bits) the size of a cache line, or even 4096 bytes, the size of a typical memory page or disk sector. So we have plenty of leeway to comfortably encode these larger units however we wish, and the rest can stay as-is.
It's not enough to make a proof of concept of your MRAM, FRAM, or whatnot. If you want it to catch on you have to also come up with a way to quickly start making say, 16GB modules competitive with modern DDR5.
That's tough.