aaarrr 69 18 мая, 2016 Опубликовано 18 мая, 2016 · Жалоба Неужто такое именно с параллельными FLASH происходит??? Именно. И чем тоньше технологические нормы и больше объем, тем большие требования предъявляются к механизму коррекции - до 100 бит/кБайт для MLC. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yanvasilij 0 19 мая, 2016 Опубликовано 19 мая, 2016 · Жалоба ... Это решается самой ФС. ... Что-то не совсем пойму, как ФС без нижнего уровня может решать где битый блок, а где нет, когда она понятия не имеет о том, с какой памятью она работает? В yaffs этот механизм реализован и специально заточен под NANDFlash, эта ФС по-сути и не умеет другие флешки, поэтому она наперед знает про битые блоки и умеет их. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 23 мая, 2016 Опубликовано 23 мая, 2016 · Жалоба В обычных SD размер стирания тоже как правило гораздо больше размера блока записи. И ничего - работает FatFS. Хотя не разбирался как там это реализовано. Правильно, потому что стиранием, бэдами и wear-leveling в SD карте занимается встроенный контроллер. А FatFS делает только Read() и Write(). Неужто такое именно с параллельными FLASH происходит??? А в SPI Flash разве вообще бэды бывают? Имхо - nand flash и spi flash это разные вещи... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 197 23 мая, 2016 Опубликовано 23 мая, 2016 · Жалоба А в SPI Flash разве вообще бэды бывают? Имхо - nand flash и spi flash это разные вещи... А в чём отличие (на физ. уровне ячеек хранения)? Раз указано максимальное кол-во циклов стирания - значит могут быть и бэды. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 23 мая, 2016 Опубликовано 23 мая, 2016 · Жалоба А в чём отличие (на физ. уровне ячеек хранения)? Раз указано максимальное кол-во циклов стирания - значит могут быть и бэды. Отличие в разных технологиях. Битые ячейки в nand - норма и неизбежность, а в spi flash - признак износа и исчерпания ресурса? Смотря какая флеш, наверное. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Ivan_ 0 23 мая, 2016 Опубликовано 23 мая, 2016 · Жалоба У меня похожая задача, только нужно реализовать на ПЛИС. Вопросец такой: а то, что первый блок NAND флешки всегда не битый - это стандарт или фича отдельного производителя? Например, микрон это в даташите не указывает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_3m 4 23 мая, 2016 Опубликовано 23 мая, 2016 · Жалоба Вопросец такой: а то, что первый блок NAND флешки всегда не битый - это стандарт или фича отдельного производителя? Например, микрон это в даташите не указывает. Первый блок никак не стандартизирован. Гарантия исправности первого блока - инициатива части производителей в некоторых моделях чипов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 24 мая, 2016 Опубликовано 24 мая, 2016 · Жалоба А вот по поводу ECC (Error Correction Code). Как правило - NAND и ECC идут всегда рядом. Интересуют исходники энкодера и декодера для ECC по Хафману (1 бит) и Риду-Соломону (4 бита). Особенно совместимые с энкодером контроллера NAND процессора OMAP-L137. Если вдруг кто занимался... Для четырехбитного варианта хочу попробовать использовать библиотеку Schifra. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yanvasilij 0 27 июня, 2016 Опубликовано 27 июня, 2016 · Жалоба Удалось мне поднять yaffs на моем STM32F429. Единственное эта файловая система требует много памяти и выделяет себе эту память с помощью malloc. Поэтому пришлось выделить большую кучу и разместить ее во внешней SDRAM. Но в целом работает, бэды отлавливает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 27 июня, 2016 Опубликовано 27 июня, 2016 · Жалоба А как решили хранить таблицу бэдов? Какой используете код коррекции ошибок? И сколько, к примеру, оперативной памяти требуется файловой системе для работы с разделом в 16 мегабайт (как я понял вы используете NAND128?). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yanvasilij 0 28 июня, 2016 Опубликовано 28 июня, 2016 · Жалоба А как решили хранить таблицу бэдов? Если поднять YAFFS, то мне нужно этим заниматься - это делает за меня файловая система. Бэды она учитывает размещая в spare area флешки данные отличные от FF. Определяет бэдовый ли блок по результатам записи. Какой используете код коррекции ошибок? Коррекция ошибок ECC по Хаффману. Опять же это реализовано в самой файловой системе. И сколько, к примеру, оперативной памяти требуется файловой системе для работы с разделом в 16 мегабайт (как я понял вы используете NAND128?). Да я работаю NAND128. Мне понадобилось порядка 30 kB в общей сложности. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 197 28 июня, 2016 Опубликовано 28 июня, 2016 · Жалоба Коррекция ошибок ECC по Хаффману. Опять же это реализовано в самой файловой системе. Хм.. А какой-же тогда размер секторов в этой NAND-флешь? Получается - не равный степени двойки? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yanvasilij 0 28 июня, 2016 Опубликовано 28 июня, 2016 · Жалоба Сектор 16 kB без учета spare. Я хотел сказать размер блока 16 k без учета spare. 1024 блока по 32 страницы, в каждой странице 512 байт данных и еще 16 байт дополнительная область (spare area). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 197 28 июня, 2016 Опубликовано 28 июня, 2016 · Жалоба Сектор 16 kB без учета spare. Я хотел сказать размер блока 16 k без учета spare. 1024 блока по 32 страницы, в каждой странице 512 байт данных и еще 16 байт дополнительная область (spare area). Ясно. Значит в этой spare-area и хранится избыточная контрольная информация. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 5 28 июня, 2016 Опубликовано 28 июня, 2016 · Жалоба Хм.. А какой-же тогда размер секторов в этой NAND-флешь? Получается - не равный степени двойки? Полистайте на досуге любой (!) даташит на параллельную NAND. Там размер страницы 528, 2112 и прочие "некратные". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться