3 ms·
Well I was a little wrong, modern NAND supports page, word, and bit level addressing. Older NOR flash only support page and word level addressing. But to acce
by cptskippy 2y ago
Well I was a little wrong, modern NAND supports page, word, and bit level addressing. Older NOR flash only support page and word level addressing. But to access that 1 bit, the flash controller is still reading multiple bits.
With all flash, a cell is the smallest addressable unit. Bits are stored in cells and depending on the flash type it can store anywhere from 1 to 5 bits per cell. So with SLC flash a cell is analogous to a bit, but for the multi-cell flash types a cell might mean 2, 3, 4 or 5 bits.
Flash cells are organized into strings, pages, blocks, planes, and then the flash die itself. Reading and writing of NAND flash occurs at the page level (4-16 KiB per page) but erasing occurs at the block level. So in the case of NAND, the controller cannot read/write a single bit of data.
So while you can specify that only 1 bit be changed in flash storage, there's an entire abstraction layer between you and the flash chip that hides the fact that a lot of data gets moved around to support a single bit being changed.