I read this write up today and thought some of the people here might find it interesting: Reverse Engineering a NAND Flash Device Management Algorithm.
I read this write up today and thought some of the people here might find it interesting: Reverse Engineering a NAND Flash Device Management Algorithm.
Look up a C++ Reference and learn How To Ask Questions The Smart WayOriginally Posted by Bjarne Stroustrup (2000-10-14)
Uber geek stuff. I can't understand a thing though, but I think I probably can, if I am just able to do this.
Not everything that can be counted counts, and not everything that counts can be counted
- Albert Einstein.
No programming language is perfect. There is not even a single best language; there are only languages well suited or perhaps poorly suited for particular purposes.
- Herbert Mayer
"The problem with this is that the bypassed transistors (that is to say, the ones that we're skipping over – the ones that we're not sensing) are not perfect. Even though they are supposed to conduct when they are being bypassed, if they have been programmed, they might conduct slightly less well."
Does someone know what the term "programmed" means in this context? Is the author saying transistors that have current flowing?
Also, thank you LaserLight for posting this .
I believe, he means the transistors have had their stand-off ratio adjusted. This is done by changing the diffusion characteristics of the conductive material.
EDIT: Unijunction transistor - Wikipedia, the free encyclopedia is an example of a programmable transistor.
Originally Posted by brewbuck:
Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.
I believe "programmed" here refers to the process of storing a "one" in the transistor
by charging the transistor's floating gate. These floating gate transistors form a NAND
function; they are connected in series, with each transistor storing one bit of information.
To read a specific bit, all the transistors except the one storing that bit are bypassed,
and that one transistor in question is applied a gate signal. If it has been programmed
with a one, it will not turn on. The string consisting of that transistor and the bypassed
transistors will not conduct. If it has been erased, it will turn on and the series string
will conduct.
Bypassing is accomplished by driving the gate harder (or at least differently somehow).
An erased transistor will turn on (conduct) hard. A programmed transistor may not turn
on and conduct as well.
(edited)
I have "one" and "zero" reversed; looks like charging the gate stores a "zero".
The term "programming" goes all the way back to some of the first memory devices.
ROM (masked ROM) had the information placed in the memory cells during manufacture.
PROM (programmable read only memory) then appeared, which could be programmed
only once in the field. Then there was EPROM (erasable programmable read only memory).
Just a guess, but the term might have been used because these devices almost always
contained program code.
-
Last edited by megafiddle; 08-24-2014 at 01:06 PM.
Sure enough, you seem to be right on:
"The presence or the absence of a charge results in a more positive or more negative threshold voltage. In flash memory lingo, programming (putting electrons into the floating gate) means writing a 0, erasing (removing the charge from the floating gate) means resetting the flash memory contents to 1; or in other words: a programmed cell stores a logic 0, an erased (a.k.a. flashed) cell stores a logic 1."
COEN 180