jenya7 0 22 июня, 2018 Опубликовано 22 июня, 2018 (изменено) · Жалоба Вопрос к специалистам с опытом работы с NAND FLASH. Есть такая NAND FLASH - TC58CVG2S0HxAIx. Стирается она блоками. В каждом блоке 64 страницы. Как выявлять какая страница повреждена а какая нет? Допустим стер блок и что потом? Перебирать все страницы, считывать и проверять если какой нибудь байт не равен 0xFF - страница плохая? А где хранить информацию о плохих страницах? 2048 блоков и в каждом 64 страницы - это uint64_t pages[2048] - чтоб сохранить всю информацию. TC58CVG2S0HxAIx_Rev1.1_2016_11_08.pdf Изменено 22 июня, 2018 пользователем Jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 22 июня, 2018 Опубликовано 22 июня, 2018 · Жалоба Стирается она блоками. В каждом блоке 64 страницы. Как выявлять какая страница повреждена а какая нет? И бракуется блоками, а не страницами. Подробности на стр.37-38 даташита. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 22 июня, 2018 Опубликовано 22 июня, 2018 (изменено) · Жалоба И бракуется блоками, а не страницами. Подробности на стр.37-38 даташита. спасибо за наводку.то есть исходя из описания Regarding invalid blocks, the bad block mark is in the whole page. Please read one column of any page in each block. If the data of the column is 00 (Hex), define the block as a bad block достаточно прочесть любую строку на любой странице блока и если есть 0х00 - блок плохой? а что в плохом блоке вся дата на странице читается 0х00? Изменено 22 июня, 2018 пользователем Jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 22 июня, 2018 Опубликовано 22 июня, 2018 · Жалоба достаточно прочесть любую строку на любой странице блока и если есть 0х00 - блок плохой? а что в плохом блоке вся дата на странице читается 0х00? Сolumn - это и есть страница. То есть в плохом блоке все данные читаются как 0x00. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex11 3 22 июня, 2018 Опубликовано 22 июня, 2018 · Жалоба При поставке все данные читаются 0, но если попытаться стереть BadBlock, то никто не гарантирует, что все данные будут читаться как 0. Скорее всего, будут отдельные битовые нули. Но по инструкции BadBlock'и стирать запрещено. Также BadBlock'и могут образовываться при работе. Диагностика - возникновение ошибки стирания или ошибки записи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 23 июня, 2018 Опубликовано 23 июня, 2018 (изменено) · Жалоба При поставке все данные читаются 0, но если попытаться стереть BadBlock, то никто не гарантирует, что все данные будут читаться как 0. Скорее всего, будут отдельные битовые нули. Но по инструкции BadBlock'и стирать запрещено. Также BadBlock'и могут образовываться при работе. Диагностика - возникновение ошибки стирания или ошибки записи. проблема вот в чем. если память не писанная то все хорошо. но если на эту страницу уже писАли? там наверняка будут нули. и как тогда понять какой блок плохой какой хороший? и кстати они пишут что в BadBlock ошибки стирания может и не быть. Изменено 23 июня, 2018 пользователем Jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 23 июня, 2018 Опубликовано 23 июня, 2018 · Жалоба проблема вот в чем. если память не писанная то все хорошо. но если на эту страницу уже писАли? там наверняка будут нули. и как тогда понять какой блок плохой какой хороший? На всей странице нули, включая дополнительную область? Тогда руки обрывать писАтелям. и кстати они пишут что в BadBlock ошибки стирания может и не быть. Может и не быть. Возникновение ошибки стирания - это просто один из поводов забраковать ранее исправный блок, Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 23 июня, 2018 Опубликовано 23 июня, 2018 · Жалоба На всей странице нули, включая дополнительную область? Тогда руки обрывать писАтелям. Может и не быть. Возникновение ошибки стирания - это просто один из поводов забраковать ранее исправный блок, нули не на всей странице. сделал дам пару страниц - да есть области нулей, что ж тут такого. какой алгоритм проверки? если есть данные не нули и не FF - блок в порядке? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 23 июня, 2018 Опубликовано 23 июня, 2018 · Жалоба Если все данные на странице - нули, значит, блок битый. Какой еще нужен алгоритм? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 23 июня, 2018 Опубликовано 23 июня, 2018 (изменено) · Жалоба Если все данные на странице - нули, значит, блок битый. Какой еще нужен алгоритм? то есть считал допустим 100 байт. если встретился хотя бы один не ноль - блок не битый? Изменено 23 июня, 2018 пользователем Jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 23 июня, 2018 Опубликовано 23 июня, 2018 · Жалоба Да почему 100 байт-то?! ВСЮ СТРАНИЦУ. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 23 июня, 2018 Опубликовано 23 июня, 2018 · Жалоба Да почему 100 байт-то?! ВСЮ СТРАНИЦУ. понял. спасибо. попробую. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться