Bill, if speed is an issue, you might also consider reading the eeprom datasheet section on polling the chip. On a recent one I worked on, the spec was something like 5ms write time max, but there was an option to poll to see if it was done. I put that in with a 50uS delay between polls, and it ended up only taking three polls to finish!