MOTOROLA
4-22
ON-CHIP MEMORY
M68HC11
REFERENCE MANUAL
culated value is programmed to the EEPROM location. The bits corresponding to ze-
ros in the calculated pattern become programmed to zeros. The bits already
programmed are not reprogrammed but remain zeros. The bits that were not zeros in
the old or new data values are not programmed and remain ones. The theoretical ob-
jective of the selective-write method is to avoid programming some bits longer than
others.
The erase-before-write method is used in production testing and for ongoing reliability
monitoring. Every part that Motorola ships is exposed to a significant number of write-
erase cycles at high temperature to eliminate parts having infant mortality problems
and to identify any lots having processing problems. In addition, sample batches of
parts are endurance tested to monitor processing quality. Data sheet and reliability fig-
ures are based on the erase-before-write method.
A problem in production testing was traced to an unsuccessful attempt to program an
EEPROM location, which unintentionally employed a composite of the program-more-
zeros and the selective-write methods. An attempt was made to program an EEPROM
location with $FC when the location previously contained the value $0D. From what
has been said about EEPROM programming and the program-more-zeros and selec-
tive-write methods, one would expect that the location would change to $0C. In prac-
tice, the operation fails if the location was previously $0D but passes if the location was
previously $FF. The following table shows the situation more clearly:
The expected value shows the value one should expect to get as a result of an attempt
to program the value written to an EEPROM location already containing the original
value. The tester-read value shows what the tester read from the location after the at-
tempted programming operation. Case B looks odd because the upper four bits are
zeros where ones are expected because the location involved was the CONFIG reg-
ister. Reads of the CONFIG register of an MC68HC11A8 return zeros in the upper four
bits, regardless of what is in the upper four bits of the physical EEPROM location.
Parts that failed (case A) were initially thought to have a defective bit 0 in the CONFIG
register EEPROM location; however, the real problem was finally discovered to be the
unintentional combination of the program-more-zeros and selective-write methods. Bit
1 is a zero in the original value and the value written (like the program-more-zeros
method). The upper four bits are zeros in the original value and ones in the value writ-
ten (like the selective-write method). Case B, which always works, is equivalent to the
erase-before-write method.
Value
Case A - Fail
0000 1101
1111 1100
0000 1100
0000 1101
Case B - Pass
1111 1111
1111 1100
1111 1100
0000 1100
Original Value
Value Written
Expected Result
Tester Read