On the Eighth Day, Machine just got upset,
A problem Man had never seen as yet.
801 posts • joined 4 Jul 2008
My brother worked for a bank before retiring. During the '90s, he would sometimes have to demonstrate something on another department's PC (running some variant of MS-DOS and 16-bit Windows). I was visiting him one evening and he explained what he was going to demonstrate the next day, which involved editing a text file through the command line (it may have been CONFIG.SYS or AUTOEXEC.BAT). He was reasonably familiar with the MS-DOS commands and EDIT, having a PC at home in those "pre-internet" days. However, I warned him that older versions of MS-DOS wouldn't have EDIT available - he'd have to use EDLIN instead. I gave him a quick tutorial on the basics.
Turns out that he did in fact have to revert to EDLIN. Thereafter, he was held in awe as some sort of programming guru by his banking colleagues.
Using an integer number of bits per cell already leads to inefficiencies.
For example, in order to read a random page of data from a 3BPC flash device, the controller firmware has to perform the following steps:
1. Read the wordline at 3 different comparison levels
2. Store these intermediate wordlines in RAM
3. Perform a series of Boolean logic functions on the intermediate worldines to extract the noisy page of data and its noisy ECC bits.
4. Combine the noisy page and ECC data to extract the original, uncorrupted written data.
If your storage system spreads the ECC data between the three stored pages, then you must read the entire wordline at 7 different comparison levels in step 1. Store 7 intermediate wordlines in RAM. Perform 3 times the number of Boolean logic functions that you did in step 3 to extract all three noisy pages of data and ECC bits. Combine all three pages of noisy data and ECC to extract three uncorrupted pages as written initially.
Extending this to fractional numbers of bits per cell would necessitate reading MULTIPLE WORDLINES at MULTIPLE THRESHOLD LEVELS and applying bizarre Boolean logic functions to extract your noisy data+ECC pages. This ignores the complex maths involved in applying something like BCH to generate ECC in a fractional bit scenario. Yes, it's possible in theory, but in practice it's ugly beyond belief. The complexity (and hence cost) that this would add to firmware design and testing would swamp any possible gain in storage.
In short, you'd have to be certifiably insane to propose introducing fractional bits to commercial NAND devices.
Possibly because there was a single /threshold/ voltage comparison level to determine whether a cell represented a '0' or '1' on read.
MLC (for 2 bits per cell) covers the use of three comparison levels to fully decode two stored pages.
This however does not justify the extension of the nomenclature to TLC for 3-bits-per-cell technology.
Why the industry didn't just call it BPC (Bits-Per-Cell) from the beginning, I'll never know.
To Harry Stottle. A wonderful piece of work. Have a thousand upvotes. I had the exact same thoughts about a month or so ago, but I do not have the gumption or the talent to put them together in such a way. Thank you for articulating the concept.
My extension to the idea was to have a central AI which had access to everyone's recordings, and which could 'join the dots' between various experiences of the same situation. If judgement was requested by any of the participants in an incident or dispute, then the AI would reveal the encrypted evidence as required.
I think most people would allow recordings 24/7 because every time an injustice was resolved, the benefits would outweigh any doubts.
A twist in the tale: A Messiah figure who decides from an early age that he wants no further personal recordings. Haven't thought through the implications, yet. Of course, there will be a million EXTERNAL recordings of his actions from other citizens, which could be stitched together by the AI. Unless he lives as a recluse.
If you feel that £20 is fair payment for years of free use, then you shouldn't reclaim.
I've paid into the fundraiser for at least the past three years, and I will keep doing so in order to keep it ad-free, if nothing else. It's one of my (if not THE) most used sites on a daily basis.
SanDisk had a 43nm 4-bits-per-cell (x4) die in production in the noughties.
Don't normally 'do' online campaigns, but I found this a significant cause. Very few people in my extended family have ever smoked, and neither have I. However, I truly sympathise with those who attempt to quit for good, or who want to continue, whilst reducing the harm of their addiction.
If I could give you 100 upvotes for all your posts on this topic, I would.
Each block in a MLC die can be erased as desired (MLC or SLC) by the firmware on board. Same goes for TLC. It usually makes sense to permanently partition the blocks in such a way that the important stuff (or stuff which is going to be re-written many, many times) is stored in SLC. Whilst it would make more sense to keep this partitioning static, as you say there's nothing in the physics to prevent you doing it dynamically. It's just FAR more difficult to keep track of wear-levelling, etc in the dynamic case, with very little benefit to be gained in real-world use-cases.
"It is so integrated with Windows, it is practically impossible to not use it."
Bullshit. Just don't use it and you......erm.......not use it.
I have used Windows 7 for yeeears and Windows 10 for a couple of months, and there is nothing which enforces use of OneDrive. Please explain your nebulous assertion.
"I suspect Roq D Kasba is a US based Microsoft apologist."
205 posts would make me suspect that you are a cockwomble, AC. Grow some yarbles and post under your Forum Name so that we can check out YOUR posting history. If you have any yarbles, you eunuch jelly thou!
That was the first character after REM, if a REM statement was the first line of BASIC. Before POKEing in a HEX machine code program, you had to make sure you had enough characters after REM to support your Z80 machine code routine(s).
One of the most exciting moments of my teen life was writing a Z80 routine
LD BC, nnnn;
LD HL, mmmm;
10 REM xxxxxxxxxxxxxx (appears as Sinclair-esque nonsense once values POKEd in)
20 PRINT USR 16514
And seeing it produce the expected answer (mmmm + nnnn) on screen! Seriously mind-blowing and I've always wanted to know what was REALLY happening inside every computer (and every high-level language) I've used ever since.
Started with 1K ZX-81, graduated to 16K, then Spectrum, then A500+, and finally threw in the towel and got a PC once they had decent enough graphics and sound to replace the Amiga.
We were driving down to Somerset from Scotland that day for our summer holidays (Scottish schools finish a few weeks before the English ones). My car radio wasn't working due to not having the unlock code. The matrix signs on the M6 read something along the lines of "London closed to traffic. Find alternative route." It wasn't until we got to a service station that we found out what was going on. Once we reached our destination, we put on the evening news and tried to explain to our primary school-aged children what had happened.
Biting the hand that feeds IT © 1998–2018