The M29W040 is a non-volatile memory that may be erased electrically at the block level, and programmed Byte-by-Byte.