Comment by jerf
8 hours ago
Amusingly, that's unnecessary, but possibly not for the reason most people think. It's not because the hard drive hardware is oblivious to runs of 0s and 1s exactly... it's because it's actually so sensitive that it already is recording the data in an encoding that doesn't allow for long runs of 0s and 1s. You can store a big file full of zeros on your disk and the physical representation will be about 50/50 ones and zeros on the actual storage substrate already. Nothing you do at the "data" layer can even create large runs of 0s or 1s on the physical layer in the first place. See https://www.datarecoveryunion.com/data-encoding-schemes/
Well it depends when it was claimed.
I imagine MFM drives from 1985 might be a bit different from drives that are billions of times more data dense today. Back then, the drive didn't even control track width, the controller card did. And it was exposed to the OS.
I remember turning my "20MB", yes MB drive into a 30MB drive by messing with the track width. Of course, this was the time when people had Commodore 64 300baud modems, and would overclock them and get 450baud out of them.
In my computer club, we wrote a little piece of software to see which of us could get the highest bandwidth on a modem, one was even capable of just over 500baud!
After ranking, we all agreed to "trade down", so the guy with the fastest modem swapped his with the owner of the local Punter BBS. Everyone else traded so we still had the same ranking. That way, the BBS would always be able to support everyone at max speed, and everyone would still be "lucky" in terms of "next fastest modem".
I can't imagine that happening today.
High-density NAND flash also needs "whitening", i.e. scrambling the data to be stored so that the number of 1s and 0s is even and randomly distributed, to avoid wearing some cells (the ones that are storing 0s) more than others, as well as reduce pattern-dependent disturb errors.
That said, digital storage media has been somewhat pattern-sensitive for a century or more: https://en.wikipedia.org/wiki/Lace_card
The self-synchronizing scrambler of 10GBase-SR and its relatives is a beautiful piece of engineering.
Interestingly, I heard that entrenched telco people were pushing for a much more complicated, SONET-ish approach. But classic Ethernet simplicity carried the day, and it's really nice...
this principle applies to a lot of things. signaling for example. optical links. oldschool optical links (OC48 timeframe) did not feature scramblers and so a malicious packet could on occasion cause them to de-train and go out of sync since it's extended loss of light.
long since fixed but a common problem.