Вот немного из истории создания EEPROM 24Cxxx. Из неё можно понять, почему заменив 24с02 на 24с04 в таких чипах как CLP300, в них можно записать два дампа и они будут работать, и почему в некоторых случаях замена на микруху большей ёмкости не прокатывает.
Первые микросхемы серии 24Схх (24С01, 24С02) содержали до 256 8-битных ячеек памяти и для адресации произвольной ячейки внутри микросхемы было достаточно однобайтного счётчика адреса (один байт кодирует как раз 256 различных адресов). Однако, с увеличением объёма памяти производители микрух попали в засаду. Для микросхем с объёмом больше 256 байт адресовать все ячейки однобайтным счётчиком невозможно. Выход был найден простой. Для того, чтобы всё-таки иметь возможность обратиться к любой ячейке внутри микросхемы и сохранить совместимость с первыми микросхемами, память внутри микрухи стали делить на банки по 256 байт, а для адресации банков брать взаймы биты 7-ми битного адреса I2C. Для микросхем серии 24Схх этот адрес имеет вид 1010A2A1A0, где старшие 4 бита (1010) зарезервированы для обозначения микросхем памяти 24Схх, а младшие 3 бита определялись аппаратно и позволяли подключить до 8 микросхем памяти на шину. Так вот из младших трёх битов по одному биту стали брать взаймы для адресации банков. Ценой за это стало уменьшение количества микросхем, которые можно подключить на одну шину. Например, микросхема 24С08 имеет организацию 4х256х8 - 4 банка по 256 байт. У неё только один бит (А2) определяется аппаратно, а биты А1 и А0 используются для выбора банка. Соответственно, таких микрух на шину можно подключить только 2. Но, с появлением микросхем 24С16 производители попали в засаду второй раз. 24C16 состояла из 8 банков по 256 байт, то есть все биты, которые брали взаймы, на ней закончились, на шину её можно было повесить только в единственном экземпляре и дальше увеличивать объём памяти было невозможно. Решение как всегда было найдено простое. Размер счётчика адреса просто взяли да увеличили до 2-х байт (кстати, 24С16 так и существуют в двух вариантах: с однобайтным счётчиком и с двухбайтным). Теперь стало возможно адресовать 64 кбайта, отпала необходимость брать взаймы биты из адреса I2C, снова стало можно вешать по 8 микрух на шину, но пропала совместимость с младшими моделями. В этой идиллии понаделали микрух от 2 до 64 кбайт (от 24С16 до 24С512). Когда понадобилось производить микросхемы больше 64 кбайт - применили старый трюк с банками и заимствованием битов. У 24С1024 два банка по 64 кбайта, но на шине таких микрух может быть не больше 4-х штук. Нетрудно посчитать, что с 2-х байтным счётчиком адреса максимально можно адресовать 8 банков по 64 кбайта, то есть 512 кбайт или 4 мегабита (4096 кбит), дальше придётся опять увеличивать размер счётчика. Сейчас производители как раз опять упёрлись в верхнюю границу, самые большие микрухи серии 24Схх - это 24С4096, а поскольку скорости обмена по I2C растут, то видимо можно ожидать появления микрух и с трёх- и с четырёхбайтными счётчиками адреса.