The issue, in my opinion, is with the writing process. In all memory location, the default data is 0xff. Before reading the data, you can check the circuit and modify the delay (reading side).
@@Minam_ESC Devices having more than 256 bytes use a second byte for array addressing (i.e. 0x0001). This scheme is valid up to 64 Kbytes. Add a third byte for addressing to 1 Mbit EEPROMs. The remaining portion of the code can be used as is. Please feel free to contact me if you need any further information on clearn71@gmail.com.