Размер блока стирания / записи EEPROM микросхем PIC

Прежде всего, извините за плохой английский, так как мои навыки английского не так хороши...

Перед вопросом я хочу объяснить свою ситуацию, чтобы помочь пониманию.

Я хочу использовать EEPROM как своего рода счетчик.

Значение этого счетчика будет увеличиваться очень часто, поэтому я должен рассмотреть проблему выносливости.

Моя идея состоит в том, чтобы записать значение счетчика по нескольким адресам альтернативно, чтобы износ ячейки уменьшился на N.

например, если я использую 5x площадь для подсчета,

Счет 1 -> 1 0 0 0 0

Счет 2 -> 1 2 0 0 0

Счет 3 -> 1 2 3 0 0

Счет 4 -> 1 2 3 4 0

Счет 5 -> 1 2 3 4 5

Счет 6 -> 6 2 3 4 5

...

Таким образом, выносливость клеток может быть увеличена на коэффициент N.

Тем не менее, AFAIK, для текущей флэш-памяти NAND, стирание / запись данных выполняется группой байтов, называемой блоком. Таким образом, если все байты находятся в одном блоке записи / стирания, мой метод не будет работать.

Итак, мой главный вопрос: выполняется ли операция стирания / записи ЭСППЗУ PIC группой байтов? или сделано одним словом или байтом?

Например, если это делается группой из 8 байтов, то я должен сделать 8-байтовое смещение между каждым значением счетчика, чтобы мой метод работал правильно.

В противном случае, если это делается байтом или словом, мне не нужно думать о интервале / смещении.

1 ответ

Из таблицы данных PIC24FJ256GB110 раздел 5.0:

Пользователь может записывать данные памяти программ в блоках по 64 инструкции (192 байта) за один раз и стирать память программ в блоках по 512 инструкций (1536 байтов) за один раз.

Однако вы можете перезаписать отдельный блок несколько раз, если вы удалили оставшуюся часть блока (биты равны единице), а содержимое privius осталось прежним. Помните: вы можете очистить один бит в блоке только один.

Насколько уменьшится срок хранения данных после 8 записей в один блок FLASH, я не знаю!

Другие вопросы по тегам