Why is erasure much slower than write for (NAND) flash

deviceflashphysics

Typical block erasure time for NAND is on the order of milliseconds which is one order of magnitude higher than write. Both of them are based on FN current. Why? Thank you!

Best Answer

Actually on a byte basis, erasing is faster than programming as you will see. This is a simplified layout of a NAND memory, with two dies:

enter image description here

Pages are typically 8-16 KB in size, while blocks are much bigger, 4-8 MB in size. Programming can be done on a page basis, but erasing can only be done on a block basis. So when erasing, 500x (8 MB / 16 KB) cells are bring erased

These are the typical times for doing various operations:

enter image description here

Erasing takes 6.67 (2000 µS / 300 µS) times as long as programming. But 500x time more cells are involved, so the real difference is 500x / 6.67x is 75x faster for erasing.

I don't know for sure but I would guess the difference is erasing is being done once with one command over 8 MB block, whereas programming is being done 500x to match the same number of bytes, and the time to send the commands plus the setup time inside the chip make account for the difference.