M95M02-DR : Too many zeros within a page produce write errors
Hello, I am working with an SPI M95M02-DR EEPROM in a Cypress PSoC Creator enviroment.
The M95M02-DR is running on a 1 Mbps SPI bus.
After each buffer write, a delay of 20 ms is used.
If 0xFF is written to all bytes of a page or if random values are written to all bytes of a page, no error occurs when reading the same page afterwards.
The problem starts, when many 0x00 bytes are written to a page.
If 0x00 is written to all 256 bytes of a page, the first two bytes of the next page are changed.
If a buffer with 175 x 0x00, 81 x 0x01 are written to a page, reading the page gives no error.
If a buffer with 176 x 0x00, 80 x 0x01 are written to a page, reading the page gives an error with 177 x 0x00 and only 79 x 0x01 instead of 80.
All page writes with more than 176 bytes of 0x00 at the beginning and the rest 0x01 produces errors.
What is really strange is, that writing all 1024 pages for many thousend times with random values does not produce a single error, only writing pages with (many) 0x00 produces errors.
Of course I have tried all kind of delays before and after CMD_WREN, CMD_WRITE, after writing all data bytes and so on.
Did anybody observe a similar pattern too?
Cheers,
Juergen
