Why do we need block, sector, "all" protect bits in flash device?
So that only some of the flash memory can be updated. This is useful in devices that allow an end-user firmware update but also store some "base" firmware on the same device while preventing a bug or exploit in the base firmware from breaking everything.