Чому б все-таки використовувати звичайний EEPROM замість спалаху?


34

Чи є причина, чому люди все ще використовують (і впроваджують у нових системах) звичайні EEPROM замість флеш-пам’яті?

З Вікіпедії Flash-пам’яті :

Флеш-пам’ять була розроблена з EEPROM (програмована пам'ять, доступна лише для читання).

Чи будуть недоліки (споживання електроенергії, простір, швидкість тощо) щодо використання спалаху замість звичайного EEPROM?


Я думаю, ви можете заплутатися між EPROM (лише стирається під УФ, переважно застарілий) та EEPROM (електрично стирається).
pjc50

@ pjc50 Я не - я цитував неправильну частину вікі, виправлений зараз - дякую :)

2
Спалах стирається великими фрагментами, тоді як EEPROM можна стерти за один байт.
jippie

2
Ви ніколи не знаєте, що вони однакові з читанням даних PIC-таблиць ... вони навіть мають різні терміни. Але я здогадуюсь, що це може бути маркетинг. Зрештою, вони також отримали "Enhanced Flash". BTW EEPROM відсутній на PIC 32, а мінімальна кількість флеш-сторінок - 4k байтів.
gbarry

2
@gbarry: Вони не однакові. Flash - це EEPROM, але не всі EEPROM - це спалах. Згадайте, що означає EEPROM, що є програмованою пам'яттю для читання лише з електричним стиранням .
Олін Латроп

Відповіді:


26

Щоб бути педантичним, пам'ять FLASH - це лише форма EEPROM: Тут є аспект маркетингу / брендингу. Як правило, сьогодні застосовується відмінність того, що EEPROMS є однобайтовим (або зберігальним словом ) стиранням / перезаписом, тоді як FLASH є блоковим методом операцій стирання / запису.

Відповідне до питання:

  • EEPROM продовжують користуватися популярністю завдяки максимальному рейтингу циклу стирання / запису, який на порядок більше або більше, ніж FLASH
  • Завдяки інвестиціям у дизайн, які, як правило, з часом амортизуються, як і будь-яка зріла технологія, витрати на виробництво та випробування зменшуються порівняно з новішою технологією.

2
Усі говорять про стирання одного байту або на основі блоку, але яка теорія стоїть за цим ?? Я можу також стерти будь-яку кількість байтів для флеш-пам'яті !!!
Звір

1
@Frankenstein як це робиться?
абдулла кахраман

19

Кількість циклів запису, якими може керувати більшість EEPROM, загалом набагато перевищує кількість циклів запису, з якими може оброблятися більшість флеш-пам'яті.

Загалом EEPROMS може обробляти ~ 100 000-1 000 000 записів на клітинку.
Як правило, для спалаху - ~ 1000-100 000 записів (він сильно змінюється залежно від типу спалаху).

Ще одна перевага, яку EEPROM має над спалахом, полягає в тому, що спалах, як правило, повинен бути стертий блоками, тому якщо ваші шаблони запису включають послідовні однобайтові записи, ви будете використовувати набагато більше циклів запису на флеш-пам’яті, тоді ви б отримали еквівалентний EEPROM, як EEPROM пам'ять, як правило, може бути стерто на основі байтів, а не використовує спалах циклу стирання за один блок.

В основному, спалах, як правило, стирається в блоках ~ 64-512 кілобайт. Тому для кожного запису в будь-якому місці цього блоку контролер повинен стерти весь блок, використовуючи цикл запису для всього блоку. Ви можете бачити, якщо ви послідовно виконували однобайтові записи до кожної адреси в блоці, ви б закінчилися виконувати десь між 64K до 512K записів на весь блок, який міг легко використовувати всю витривалість спалаху спалаху.

Таким чином, EEPROM зазвичай використовуються в ситуаціях, коли локальний процесор невеликий, не має можливості буферизації запису на кожну флеш-сторінку.


Багато з цього стає менш правдивим у міру прогресу технології flash. Існують мікросхеми флеш-пам’яті, які включають засоби для локального буферизації запису, а також витривалість запису на флеш-пам’яті різко зростає.


Розміри блоку стирання та блоку запису зазвичай не однакові. Також для старих спалахів з однобітним на клітинку можна надійно перезаписати блоки принаймні один раз до тих пір, поки запис не вимагає змінити бітове значення назад до стертого стану. Наприклад, якщо 1 - стертий стан, з 16-бітових блоків можна писати 0bxxxxxxxx11111111 і пізніше записувати 0bxxxxxxxxyyyyyyyyy (або навіть 0b101010101011111111 і пізніші 0b00000000xxxxxxxx).
Пол А. Клейтон

@ PaulA.Clayton - Гарний момент.
Вонор Коннор

@ PaulA.Clayton: Одне, що я б хотів, щоб постачальники флеш-версій документально підтвердили, чи можна законно нулювати якусь велику частину вже написаного флеш-блоку, не спершу стираючи його. Бути в змозі прямо визнати недійсною сторінку безпосередньо, не відслідковуючи в іншому місці факт недійсності сторінки, було б дуже корисно.
supercat
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.