During an EEPROM write, the memory page is erased, and its bits selectively programmed to zero based on the user-defined values. This two-phase erase/write occurs during the tPROG time after the Copy Scratchpad command. When a customer complains of memory pages being erased it is usually due to:
- The host controller is not waiting for tPROG (10ms -- confirm with data sheet) after the Copy Scratchpad command and is enabling the strong pullup (SPU). This scenario will cause either weakly programmed bits or page data to reset to all 1’s. We have seen customers wait for some time shorter than tPROG, which causes issues.
- The host controller is waiting for tPROG after the Copy Scratchpad command but is not enabling the strong pullup during this time. This can weakly program bits that can lose charge and float back to a logic 1 over time.
- The host controller is not waiting for tPROG after the Copy Scratchpad command and is not enabling the strong pullup during this time.
It is recommended that the customer capture scope plots showing the Copy Scratchpad command and the subsequent tPROG time to confirm that the host’s delay and SPU conform to datasheet specs.