Комментарии 21
Поэтому память NOR-типа применяется чаще всего в высоконадежных системах, где важна стабильность и долговечность но не критическим является вопрос объема этой самой памяти.
Насколько понимаю, NOR обязателен, если надо исполнять код напрямую из флеш памяти - и вроде как для прошивок в телефонах пока ещё используется (хотя не особо слежу - может сейчас проще скопировать код из NAND в RAM).
Уже не обязателен, давно есть аппаратные контроллеры, на лету читающие SPI flash / NAND / eMMC и представляющие это как доступ к ячейке памяти.
давно есть аппаратные контроллеры, на лету читающие SPI flash / NAND / eMMC
Но это будет медленно. Ещё начиная с 80-х использовался метод shadow RAM - один раз содержимое ROM вычитывается в оперативку, переключается отображение, и дальше работает из RAM. Сейчас ценность этого метода только повысилась - процессор может использовать нормальные скорости, а не ждать тысячи тактов на каждый байт.
Что происходит с данными, когда питание пропадает?
С какими именно данными?
Обратите внимание на исходный комментарий - [q]если надо исполнять код напрямую из флеш памяти[/q]. Это однозначно означает, что в RAM будет readonly-копия содержимого flash ROM. При пропадании питания это значит, что потребуется ещё раз сделать такую же подготовку на следующем старте. Вроде очевидно? В чём ваш вопрос?
Стирание информации с EPROM было возможно только при использовании сильного источника ультрафиолетового света (например, от ртутного источника света).
Процедура стирания напомнила его изобретателю, инженеру из Toshiba Сёдзи Ариидзуми простую фотовспышку (англ. Flash) и это название надежно закрепилось как устойчивое обозначение данного вида энергонезависимой памяти.
Или здесь пропущено несколько абзацев, в которых от EPROM переходят к EEPROM, или это нагаллюцинировал ChatGPT. Название "Flash" Ариидзуми придумал для памяти, электрически стираемой целыми страницами. Память с ультрафиолетовым стиранием никто так не называл, насколько мне известно.
Да не, сам писал. В момент написания я подумал если углубляться в историю, то надолго отойду от сути топика и решил что сокращу, видимо неудачно. А за напоминание про ChatGPT - спасибо)))
Хорошая статья. Если расписывать всю историю, особенности и холиварить за терминологию, то необходим цикл статей только в финале которых была бы статья про тестирование. Наверное цикл я читать бы не стал.
Ну почему же, история создания Flash памяти интересна сама по себе - долгое время никто не верил, что такой способ хранения информации вообще возможен и экономически целесообразен, индустрия относилась к этому скептически. Пока один японец не продемонстрировал как объединить кучу ячеек последовательно и работать с ними как с целым блоком.
Отличная статья! Спасибо большое.
а реальной статистики хотя бы по нескольким видам памяти не будет? хотя бы по десяти читам одной марки?
мой опыт, есть микроконтроллеры, у них есть ПЗУ с постраничным 512байт стиранием до 10 000 циклов, специально записывал в них сотни тысяч раз и не выявил сбоев... а нужно это, чтобы решить - ресурс наработки записывать посекундно или поминутно... поэтому интересна в общем статистика, насколько в обычном режиме хватит eeprom, flash...
Такая статистика имеет мало смысла, потому что может быть один чип, который после 10 тысяч циклов съест бэдами всю spare area, но остальные ячейки будут хранить заряд в течении года, а у другого чипа через 10 тысяч циклов будет пару бэдов, но остальные ячейки будут хранить заряд не больше месяца. Связано это с разной технологией производства. Какой чип вы выберете? А если запускать полноценное ресурсное тестирование, то к его окончанию чип уже успеет устареть и попасть под NRND.
Что касается контроллеров - наши программисты уже успели доотлаживать десяток STM32 до дыр в флеши... Это когда некоторые биты не прошиваются. Счётчик моточасов лучше держать в ОЗУ и по прерыванию от детектора выключения питания переписывать в флеш. Небольшого электролита в питании для этого достаточно. А в контроллерах с часами - хранить его в ОЗУ часов.
Во всём допустимом диапазоне температур и напряжений?
исправьте ошибки с 3-уровневьіми, 4-уровневьіми ячейками. Они 3,4,5-битньіе, но соответственно 2 в степени 3,4,5 - уровневьіе.
Как определить, есть ли аппаратный ECC или его нужно реализовывать софтово?
Влияет ли паттерн записи на износ? Типа как в MemTest86?
Коммент в поддержку автора для продвижения в ютубе чате фпга системз xD
Ни слова об ufs, и не хватило сравнения emmc и обычных sd карт. В недорогих игровых приставках китайцы именно microsd используют.
Тестирование NAND и eMMC