Programming an M27c322 EPROM - Margin Mode?


Figure 8 of the datasheet shows how the Margin Mode should be used. The accompanying paragraph about the PRESTO III Programming Algorithm explains further.

The M27C322 and similar EPROMS required an external way to ensure that a '0' had been written with sufficient margin to guarantee that it didn't accidentally read as a '1' under some combination of Vcc, temperature, noise, chip process, etc. Using the Margin Mode is a way to do that. Just because you did not use Margin Mode and it works for you on a single chip does not mean that you will properly program every chip or that it will work over temperature and other conditions.

Some EPROMs used an algorithm where you would program a '0' repeatedly until you could read the '0' successfully, and then you would program the '0' a fixed number of additional times (the "overprogram pulse" if there is one). This is another way of achieving margin, but may require a longer programming time and requires characterizing multiple chips from multiple batches to figure out the fixed number. Choose a fixed number too small and some EPROMs might not work correctly under some conditions. Choose a fixed number too large and the lifetime of the EPROM might suffer and/or the programming time might get too large.

You implement Margin Mode by following the specifications. Not using Margin Mode is a risk. :frowning:

You may not care about how long the programming takes, but vendors who have to program a large number of chips do care.