Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить

Re: Arduino и энергонезависимая память

Вс сен 06, 2020 13:12:16

The term “data changes” is occasionally used in place
of “write cycle” or “erase/write cycle.” A data change
will occur when an auto-erase cycle is initiated, and a
second data change will occur upon the write cycle,
therefore, an “erase/write cycle” is equivalent to two
“data changes
.”

Всё верно так и есть. Об этом я и писал.
С точки зрения расхода ресурса именно это считается за одну операцию в терминологии производителя.

Это с точки зрения программиста считается за одну операцию, а сточки зрения физического износа полупроводника, это две операции (внесение заряда – это одна операция (происходит износ) и удаление заряда – это вторая операция (происходит износ)). И я об этом тоже писал… нет у меня желания ничего кому-то доносить… считаете себя правым – флаг в руки… я не настаиваю.

Re: Arduino и энергонезависимая память

Вс сен 06, 2020 17:13:51

Если я два раза подряд пушу в одну ячейку 01 и 02, то это один цикл износа ? Почему ?
Это 2 цикла. Перечитайте внимательнее что я писал.

Добавлено after 6 minutes 8 seconds:
Еще вариант первый сектор оставить как указатель на сектор. И не стирать его, а дописывать нулевые биты.
Здесь:
https://radiokot.ru/forum/viewtopic.php ... 5#p3887605
я уже предлагал именно такой способ. Кстати - неоднократно предлагал.

Добавлено after 9 minutes 10 seconds:
Это с точки зрения программиста считается за одну операцию, а сточки зрения физического износа полупроводника, это две операции (внесение заряда – это одна операция (происходит износ) и удаление заряда – это вторая операция (происходит износ)).
Итак - диванные теоретики начали выкручиваться. :)))
Внимание вопрос:
Исходное состояние байта памяти == 0xFF (все биты стёрты). На сколько циклов "запись/стирание" уменьшится ресурс любой ячейки (бита) этого байта?, если её содержимое будет изменяться в следующем порядке:
0xFF
0xFE
0xFC
0xF8
0xF0
0xE0
0xC0
0x80
0x00
0xFF
Так - на сколько? :)

Re: Arduino и энергонезависимая память

Вс сен 06, 2020 19:57:30

По утверждению недоучек (https://radiokot.ru/forum/viewtopic.php ... 3#p3887233) при данных действиях получается один износ, :facepalm: а реально по 2 износа на каждую ячейку (бит). :music:

Re: Arduino и энергонезависимая память

Вс сен 06, 2020 20:06:01

я рискну добавить "в лучшем случае минимум 2 и в лучшем случае только эти ячейки", поскольку конкретная модель E2PROM не указана, а контроллеры у них внутре бывают довольно-таки разные.

Re: Arduino и энергонезависимая память

Пн сен 07, 2020 07:55:52

насколько я помню, производитель считает циклы "стирание-запись" т.е. один такой цикл подразумевает 2 изменения состояния ячейки...
и ещё, (тут я не уверен, возможно с УФ ПЗУ путаю) что процесс стирания ячейки расходует её ресурс даже если она итак стёрта...

Re: Arduino и энергонезависимая память

Пн сен 07, 2020 10:55:15

насколько я помню, производитель считает циклы "стирание-запись" т.е. один такой цикл подразумевает 2 изменения состояния ячейки...

Так и есть. Я выше ссылку приводил на документ производителя.

и ещё, (тут я не уверен, возможно с УФ ПЗУ путаю) что процесс стирания ячейки расходует её ресурс даже если она итак стёрта...

А вот это вряд ли. На физическом уровне ведь ничего происходить не будет. Ну во всяком случае с простенькими EEPROM, где нет умной логики, которая какую-нибудь регенерацию иногда будет делать.

Добавлено after 3 minutes 4 seconds:
По утверждению недоучек (https://radiokot.ru/forum/viewtopic.php?p=3887233#p3887233) при данных действиях получается один износ, :facepalm: а реально по 2 износа на каждую ячейку (бит). :music:

Износ один будет, хоть и 2 смены состояния. Производитель измеряет 1 износ как 2 смены состояния. Именно в цикле стирание-запись (т.е. 2 смены состояния) Microchip выражает ресурс своих EEPROM. То, что там происходит на физическом уровне к вопросу не относится. Главное то, в чем измеряет (и гарантирует) ресурс производитель.

Re: Arduino и энергонезависимая память

Пн сен 07, 2020 11:20:29

у микрочипа даже программка есть.
https://www.microchip.com/developmentto ... ceSoftware
на физическом уровне износов два (у некоторых и более) и говорилось о нём.
мне кажется, требуется определения терминологии и вообще области спора, потому что один про одно, другой про другое. Производителей много, кто там как измеряет... Тот же микрочип в рассказах про что есть цикл стирание-запись и как он износит еепром пишет, что обычно миллион циклов
Failures occur because an EEPROM cell can wear out – but, this takes a long time, typically millions of cycles.
. Берем даташиты на дешёвые-популярные - и где ж там миллион? Гарантируется вдруг на порядок меньше. Наверное, на всякий случай :)

Re: Arduino и энергонезависимая память

Пн сен 07, 2020 14:09:34

По утверждению недоучек (https://radiokot.ru/forum/viewtopic.php?p=3887233#p3887233) при данных действиях получается один износ, :facepalm: а реально по 2 износа на каждую ячейку (бит). :music:
Садись. Два.
Учи матчасть, диванный теоретик!

Добавлено after 12 minutes 54 seconds:
Износ один будет, хоть и 2 смены состояния. Производитель измеряет 1 износ как 2 смены состояния. Именно в цикле стирание-запись (т.е. 2 смены состояния) Microchip выражает ресурс своих EEPROM. То, что там происходит на физическом уровне к вопросу не относится. Главное то, в чем измеряет (и гарантирует) ресурс производитель.
Верный ответ! :beer:

Добавлено after 25 minutes 58 seconds:
что процесс стирания ячейки расходует её ресурс даже если она итак стёрта...
Это ведь легко проверить внутри чипа - нужно стирание ячейки или нет. Поэтому - какой смысл преднамеренно ухудшать характеристики чипа (уменьшать ресурс когда не нужно), если этого легко избежать? Чтобы получить чип хуже по-характеристикам, чем у конкурентов и проиграть в конкурентной борьбе? Это было бы странно если бы производители чипов такого не учли.

Re: Arduino и энергонезависимая память

Пн сен 07, 2020 15:19:57

ну да. забабахать туда мк, чтоб легко всё проверял. усложнить, удорожить и проиграть в конкурентной борьбе. вообще странно, что никто ничего не предусматривает сразу (например, не встраивает светодиодик в мк, это ведь легко) и проигрывает в конкурентной борьбе. еще можно в еепром счётчик циклов вставить, это тоже легко, но что-то не встраивают и опять проигрывают в конкурентной борьбе.

Re: Arduino и энергонезависимая память

Пн сен 07, 2020 15:23:26

обычно электрод стирания накрывает не одну ячейку, а от байта до всей памяти... да и выяснять (делать на каждую ячейку схему определения необходимости стирания неоправданно дорого)
ещё больше ресурс снижает применение технологий TLC и MLC, но от них почему-то не отказываются...

Re: Arduino и энергонезависимая память

Пн сен 07, 2020 15:39:42

Кроме уже приведённой уважаемым NStorm ссылки на мануал Микрочипа, можно привести ещё мануал от Renesas:
"RL78/G13 User’s Manual"
https://www.renesas.com/us/en/doc/produ ... 73201cf1f2
где сказано: Изображение
а позже расшифровано что такое "rewrites": Изображение
Обратите внимание, что говорится именно о: "1 erase + 1 write after the erase is regarded as 1 rewrite."
Это то, что другие вендоры называют "1 W/E cycle".

Также можно почитать данный пост, где обсуждали аналогичный алгоритм множественной записи в одну страницу флешь:
https://devzone.nordicsemi.com/f/nordic ... -confusion
И где тоже подтверждается, что ресурс флеши считается по количеству стираний.

Также в даташите на "Tiva TM4C129DNCPDT" от TI на стр.620 "Internal Memory\EEPROM\Endurance" можно прочитать следующее:
Endurance is per meta-block which is 8 blocks. Endurance is measured in two ways:
1. To the application, it is the number of writes that can be performed.
2. To the microcontroller, it is the number of erases that can be performed on the meta-block.

Т.е. - для МК один из путей вычисления Endurance - подсчёт числа стираний. Только стираний!

Также можно в гугле набрать "what is cycle erase/write for flash" и найти много полезной инфы.

PS: Т.е. - пока что везде где удаётся в мануалах найти более-менее понятное толкование, что такое - "endurance" для flash, везде имеется в виду именно, что 1цикл это = запись+стирание.
PPS: Диванным теоретикам - на домашнее изучение. Читать и вникать до просветления. :)))

Добавлено after 2 minutes 56 seconds:
ну да. забабахать туда мк, чтоб легко всё проверял.
Не надо валить с больной головы на здоровую! Для проверки необходимости стирания ячейки (перевода бита в лог."1") нужно всего один элемент "И".
Разницу между МК и элементом "И" улавливаете? :)
Или для "погромиста" нет разницы? :)))

Добавлено after 3 minutes 14 seconds:
обычно электрод стирания накрывает не одну ячейку, а от байта до всей памяти... да и выяснять (делать на каждую ячейку схему определения необходимости стирания неоправданно дорого)
Ну ОК - может и так. Но это не мешает программно определять необходимость стирания и выполнять его только когда нужно.

Re: Arduino и энергонезависимая память

Пн сен 07, 2020 16:17:13

Разницу между МК и элементом "И" улавливаете? :)

Не просто улавливаю, а могу даже представить, что за куча бесполезной хрени на кристалле будет. Даже светодиодик в мк и то лучше. И конкурентноспособней в борьбе :)

Re: Arduino и энергонезависимая память

Пн сен 07, 2020 19:17:48

ячейка памяти — это один транзистор... а сколько транзисторов в элементе "И"? во сколько раз усложнится схема? и станет ли конкурентноспособной память, которая получится много дороже, да ещё и изнашивается даже внутри байта неравномерно и практически непредсказуемо?

Re: Arduino и энергонезависимая память

Пн сен 07, 2020 20:14:00

ячейка памяти — это один транзистор... а сколько транзисторов в элементе "И"?
В многовходовом "И" транзисторов столько же сколько в 2-входовом, а входов может быть очееееееееееееееень много. И такие "И" можно ещё и каскадировать. Для получения по одному входу от каждого бита всей стираемой страницы.

да ещё и изнашивается даже внутри байта неравномерно и практически непредсказуемо?
Она и так будет неравномерно изнашиваться если в каких-то битах ==0, а в каких-то ==1.

Re: Arduino и энергонезависимая память

Вт сен 08, 2020 07:43:35

так... т.е. вы считаете что стирание "1" не изнашивает ячейку? тогда пропадает последний смысл обходить её при стирании и, тем более что-то для этого городить... :dont_know:

Re: Arduino и энергонезависимая память

Вт сен 08, 2020 11:53:51

так... т.е. вы считаете что стирание "1" не изнашивает ячейку? тогда пропадает последний смысл обходить её при стирании и, тем более что-то для этого городить... :dont_know:
Смысл имеет, так как кроме износа это может приводить к увеличению скорости стирания или уменьшению потребляемого тока. Хотя это всё уже - гадание на кофейной гуще, никто (кроме вендора) не знает как оно там внутри у конкретного чипа устроено, и нет смысла рассуждать об этом.
Для нас (юзеров) главное - построить алгоритм хранения так, чтобы уменьшить число циклов износа.

Re: Arduino и энергонезависимая память

Чт сен 15, 2022 11:50:52

А вот вопрос.
Есть Ардуино Мега 2560 и настоящее статическое ОЗУ типа UT62256CPCL-70 или аналогичное.
Можно пристыковать такое ОЗУ к Ардуине? Как сделать внешнюю 14-разрядную адресацию?

Re: Arduino и энергонезависимая память

Чт сен 15, 2022 12:34:12

Пристыковать можно, если ног хватит. 14 ног на шину адреса, 8 ног на шину данных (вход/выход), 3 ноги на управляющие сигналы, итого 25 ног. Они могут использоваться для других функций, если чип памяти не выбран сигналом на CE.
Только смысл такого действа? Это не еепромка, это просто SRAM на 32 КБ. Причём, зная ардуино-подход, будет очень медленная работа.

Re: Arduino и энергонезависимая память

Чт сен 15, 2022 13:56:17

Только смысл такого действа? Это не еепромка, это просто SRAM на 32 КБ...

Да можно eeprom W27C512 поставить. Вопрос был о принципиальной возможности. При шинной организации устройства данные ведь можно не только в Ардуину и из Ардуины передавать, а можно Ардуиной Мега управлять адресацией, а данные из sram или eeprom передавать и в другие устройства.

Re: Arduino и энергонезависимая память

Чт сен 15, 2022 14:04:06

Да, конечно можно. По этому принципу были построены древние параллельные шины 6800
Ответить