Forum Folks…. Everything is about Microchip's 24LC16B (2048 bytes and 2048 address space to me). The problem is when I check my program's reliability, I found when the address space has past a threshold my WRITE_DATA function will be lingered at the ACKNOWLEDGE function forever, although the same WRITE_DATA & ACKNOWLEDGE functions can work well before that threshold. What is the possible problem, something wrong with me or with 24LC16B? Can some gently men give this poor guy some clues?