EEPROM - difference between program verify and read mode - Page 1
Forum section: electronics / beginners

author: Prehistoricman
author_rank: Regular Contributor
timestamp: January 25, 2018, 01:19:43 am
content: I've making an EEPROM programmer (for the Winbond W27C512) and struggling to understand the difference between the program verify mode and simply reading.Look at page 5 on thedatasheetfor the mode descriptions. I would copy them but unfortunately my PDF reader pays attention to PDF security.Does the program verify do a more 'uncertain' read? For instance, there is a memory location that isn't very well programmed. Would a normal read succeed most of the time, whereas a program verify would fail?My question also applies to the erase verify.Thanks

author: amyk
author_rank: Super Contributor
timestamp: January 25, 2018, 03:14:23 am
content: I think the only difference is that program verify is essentially what happens when you stop programming --- it just starts outputting the byte that was programmed. Look at the state table; the lines for program verify and read are basically identical.

author: ejeffrey
author_rank: Super Contributor
timestamp: January 25, 2018, 05:29:00 am
content: Sometimes "verify" just means that it is doing a read and comparing it to the data you just programmed. But sometimes verify is a separate mode that uses more strict signal thresholds. The idea is to make sure you have some margin to account for degredation with time and temperature. A device that is near its write endurance limit may succeed at a readback but fail when using a verify operation.

author: David Hess
author_rank: Super Contributor
timestamp: January 25, 2018, 06:40:11 am
content: Some old datasheets discuss this in more detail. The verify operation is suppose to occur under worst case conditions like low and high supply voltage. It may also be done to calibrate the programming time for a specific amount of over-programming.In the past this was the difference between a development and production programmer. The production programmer did the whole verify and program thing taking into account worst case conditions while the development programmer did not.

author: EEVblog
author_rank: Unknown
timestamp: January 25, 2018, 09:58:25 pm
content: Quote from: David Hess on January 25, 2018, 06:40:11 amYes, this is correct. Verify is done at the extreme limits of the power supply, e.g 4.75% and again at 5.25V. A read is simply done at the nominal 5V

author: David Hess
author_rank: Super Contributor
timestamp: January 25, 2018, 10:19:49 pm
content: Quote from: EEVblog on January 25, 2018, 09:58:25 pmI read this in your voice with your accent but with some the Australian slang you like to use added.Didn't you work in this industry in a previous life? I forget.My experience with this came from old PICs, 68HC11s, and dealing with various floating gate memories. The reticence of the device manufacturers to discuss it seems to have increased over the years. I wonder if any decrease in reliability of finished products can be traced to not using "production" programmers.

author: EEVblog
author_rank: Unknown
timestamp: January 25, 2018, 11:08:09 pm
content: Quote from: David Hess on January 25, 2018, 10:19:49 pmI wrote and sold EPROM programmer software back in the 90's, and designed an EPROM programmer myself.

author: Prehistoricman
author_rank: Regular Contributor
timestamp: January 28, 2018, 01:15:31 am
content: Hi Dave!Follow up question:Now that I'm coding the program verify, I see the timing information for how long it takes to get valid data in program verify mode (Page 12, TDV1 and TDV2).It says the minimum is 25 and max is 1. Are these numbers in different units? If 25us is the correct interpretation, isn't that quite slow?