I know this is discussed several times before,
I have read most of very useful old threads, and did my project as below:
my circuit is 4.5V
BODLEVEL set to 2.7V
ATmega328P 20 MHz
I do not use address 0 of eeprom
save 2 bytes data every one hour,
my project requirement is 5 years = 43800 hours (for ATmega328P max 100000 write allowed = 11 years )
check data integrity at start-up and ignore corrupted data
my cicuits seems works fine but I did not find explicit explanation to something I am worry about :
what happens if power loose exacly at middle of write process ?
1. data loose , not write , (no problem for my requirements)
2. data corruption, wrong data, ( I have already handled)
3. eeprom damage, is it possible, shall I care about it?