News for hackers. Stuff that matters.
Re:Computer memory prototype ditches 1s and 0s for denser da... by chimeracoder on Monday July 17, 2023 @05:08PM (#36764119)
Binary data simply means that each datum encodes exactly one of two states. We represent them as 0s and 1s, but that's just an abstraction of convenience - physically, that maps to something like "high voltage" and "low voltage", or "dark" and "light", or "on" and "off", depending on the physical medium.

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.

Re:Computer memory prototype ditches 1s and 0s for denser da... by quasse on Monday July 17, 2023 @05:14PM (#36764203)
This is multi-level cell flash memory, and it's been in use for years. Instead of "high" or "low" voltage they use the in-between states to encode more bits per cell. [1]

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.

[1] https://en.wikipedia.org/wiki/Multi-level_cell

Re:Computer memory prototype ditches 1s and 0s for denser da... by chimeracoder on Monday July 17, 2023 @05:16PM (#36764229)
> This is multi-level cell flash memory, and it's been in use for years. Instead of "high" or "low" voltage they use the in-between states to encode more bits per cell. [1]

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.

Re:Computer memory prototype ditches 1s and 0s for denser da... by dmvdoug on Monday July 17, 2023 @05:53PM (#36764591)
How much calculus would it require in order to get a decent grasp on signal processing? Not to work in the field or become an expert, but to gain an at least somewhat intelligent outsider’s understanding of it?
Re:Computer memory prototype ditches 1s and 0s for denser da... by tiberius_p on Monday July 17, 2023 @06:16PM (#36764818)
Learn what's the deal with the Fourier Transform and the Z transform. Then learn how to design some digital FIR filters. Oh and do learn about the Nyquist-Shannon sampling theorem, it's very important. And that's about it...just joking, there's tons more. But that would be a good start.
Re:Computer memory prototype ditches 1s and 0s for denser da... by rcarr on Monday July 17, 2023 @06:06PM (#36764722)
Don’t work in the field but I believe fast fourier transforms are commonplace so at least enough to have a solid grasp of that?
Re:Computer memory prototype ditches 1s and 0s for denser da... by AYoung010 on Monday July 17, 2023 @06:12PM (#36764777)
Most intro classes require calculus 1 & 2.
Re:Computer memory prototype ditches 1s and 0s for denser da... by bonzini on Monday July 17, 2023 @05:47PM (#36764529)
Those are known as pseudo-SLC, they are common in industrial applications.
Re:Computer memory prototype ditches 1s and 0s for denser da... by rcxdude on Monday July 17, 2023 @07:02PM (#36765288)
> Your storage space is divided by 2^n going from n levels of voltage per cell back to SLC

it's not that bad, it's divided by log2(n).

Re:Computer memory prototype ditches 1s and 0s for denser da... by userbinator on Monday July 17, 2023 @09:51PM (#36766768)
Increasing the number of bits per cell is an exponential decrease in reliability for a multiplicative increase in capacity. Flash manufacturers have become notoriously secretive about TLC/QLC retention and endurance and hope that you don't notice. Meanwhile SLC is near extinct and sells for much more than the 2x-3x-4x multiples over MLC/TLC/QLC that it should normally cost. It's none other than planned obsolescence.
Re:Computer memory prototype ditches 1s and 0s for denser da... by Dylan16807 on Monday July 17, 2023 @10:53PM (#36767252)
> Increasing the number of bits per cell is an exponential decrease in reliability for a multiplicative increase in capacity. Flash manufacturers have become notoriously secretive about TLC/QLC retention and endurance and hope that you don't notice. Meanwhile SLC is near extinct and sells for much more than the 2x-3x-4x multiples over MLC/TLC/QLC that it should normally cost.

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.

Re:Computer memory prototype ditches 1s and 0s for denser da... by mr_toad on Monday July 17, 2023 @06:44PM (#36765100)
> fundamentally an arbitrary choice

It’s not arbitrary, it’s an engineering choice. It’s just easier to design binary circuits.

Re:Computer memory prototype ditches 1s and 0s for denser da... by masswerk on Monday July 17, 2023 @08:20PM (#36766080)
> We could have three states…

"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.)