реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> SDcard проблема с CDMD7, правильный select/deselect карты
hardgame
сообщение Feb 22 2018, 17:03
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 15-08-12
Из: Украина
Пользователь №: 73 140



Здравствуйте,
Появилась проблема с отказом SD card. Устройство включено 24ч.
Процессор работает с контролером карты выполненный в FPGA. Контролер проектировал самостоятельно.
По определенным событиям контролер обращается к карте за массивами данных, т.е. используется только режим чтения с карты.
После некоторого промежутка времени (около двух месяцев) в секторах начинают пропадать данные . При том более современные карты эту проблему повторяют в меньший промежуток времени.
Определил что сектора портятся там где больше доступа было к сектору.
Работа контролера: инициализация, после CMD3 переключение Fclk, переход в трансфер CMD7, переключение шины ACMD6
Находясь в режиме трансфера формирую по запросу команды чтения CMD17 и пакетного чтения CMD18.
Оставаясь в режиме трансфера ожидаю следующий запрос на чтение и т.д.
Закрылись предположения что причиной может быть нахождение в трансфер режиме. Решил из трансфера перейти в standby и по запросу чтения переключаться в трансфер.
Появилась проблема, Находясь в трасфер режиме формирую команду чтения и желаю после чтения выйти в stndby. CMD17 получаю ответ R1-> затем CMD13 дожидаюсь режима трансфер и подаю CMD7 - и здесь ТУПИК!
- ожидаю r1 - без ответа
- пробую опрашивать cmd13 -> r1 без ответа
- пробовал cmd7 и RCA и с 0 передавать, без ответа.
на CMD0 реагирует. но думаю не корректно подымать весь цикл инициализации.
PDF не помогает(((, ПРОШУ ПОМОЩИ

Сообщение отредактировал hardgame - Feb 22 2018, 17:07
Go to the top of the page
 
+Quote Post
adnega
сообщение Feb 22 2018, 20:55
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 608
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(hardgame @ Feb 22 2018, 20:03) *
После некоторого промежутка времени (около двух месяцев) в секторах начинают пропадать данные

Что вы понимаете под "пропадают данные"?
Иногда карта может задумываться надолго, но рано или поздно ответит.
Если ответ не нужен, то посылайте CMD12 - это прервет операцию чтения.
Переходить из "tran" в "stby" и обратно я бы не советовал.
У меня карточки годами находятся в "tran" и ничего. Чтение, правда, эпизодическое; записи вовсе нет.
Заметил, что со временем карты могут начинать "задумываться" даже при эксплуатации только в режиме чтения.
Задержки могут быть и по 600мс.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 22 2018, 21:18
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 535
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(hardgame @ Feb 22 2018, 20:03) *
Появилась проблема, Находясь в трасфер режиме формирую команду чтения и желаю после чтения выйти в stndby. CMD17 получаю ответ R1-> затем CMD13 дожидаюсь режима трансфер и подаю CMD7 - и здесь ТУПИК!
- ожидаю r1 - без ответа

Все правильно: после перехода в stby карта ответить ничего не может. Ответ R1b можно получить только при переходе из stby в tran, но не наоборот.

Цитата(hardgame @ Feb 22 2018, 20:03) *
После некоторого промежутка времени (около двух месяцев) в секторах начинают пропадать данные . При том более современные карты эту проблему повторяют в меньший промежуток времени.

Цитата(adnega @ Feb 22 2018, 23:55) *
Заметил, что со временем карты могут начинать "задумываться" даже при эксплуатации только в режиме чтения.
Задержки могут быть и по 600мс.

NAND флеш имеет свойство "скисать" в том числе и при чтении. И есть у меня такое подозрение, что в некоторых случаях
это может заставить контроллер списать в утиль вполне исправный блок.
Go to the top of the page
 
+Quote Post
hardgame
сообщение Feb 23 2018, 09:14
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 15-08-12
Из: Украина
Пользователь №: 73 140



Цитата(adnega @ Feb 23 2018, 00:55) *
Что вы понимаете под "пропадают данные"?
Иногда карта может задумываться надолго, но рано или поздно ответит.
Если ответ не нужен, то посылайте CMD12 - это прервет операцию чтения.
Переходить из "tran" в "stby" и обратно я бы не советовал.
У меня карточки годами находятся в "tran" и ничего. Чтение, правда, эпизодическое; записи вовсе нет.
Заметил, что со временем карты могут начинать "задумываться" даже при эксплуатации только в режиме чтения.
Задержки могут быть и по 600мс.


"пропадание данных" - при верификации с исходным массивом в необходимом секторе читаю 0xFF. Это единичные сектора но они по факту испорчены.
Цикл ожидания ответа стоит достаточно большой.
карты до 2ГБ (SD) - годами стояли и работали, карта всегда была в трансфер режиме.
а вот с новыми SDH - реально стали чудеса происходить. Первые 4Гб class4 работали по 6-12 месяцев. 8Гб - до 6 уже не дотягивали. А вот не давно купил Silicon Power 16Гб 10class long life - посыпались через три дня
Поэтому пытаюсь его вернуть в stby , для опыта

Цитата(aaarrr @ Feb 23 2018, 01:18) *
Все правильно: после перехода в stby карта ответить ничего не может. Ответ R1b можно получить только при переходе из stby в tran, но не наоборот.

Я в ходе чтения pdf и опыта понял, что переход в stby происходит без ответа. Вопрос , как его вернуть назад в Trans. я подавал CMD7 с последним RCA и не получал ответа.
Возможно я не до конца понял ответ R1b , в моем случае после команды CMD7 перехожу в ожидание r1 .


NAND флеш имеет свойство "скисать" в том числе и при чтении. И есть у меня такое подозрение, что в некоторых случаях
это может заставить контроллер списать в утиль вполне исправный блок.



Я в ходе чтения pdf и опыта понял, что переход в stby происходит без ответа. Вопрос , как его вернуть назад в Trans. я подавал CMD7 с последним RCA и не получал ответа.
Возможно я не до конца понял ответ R1b , в моем случае после команды CMD7 перехожу в ожидание r1 .
Go to the top of the page
 
+Quote Post
mantech
сообщение Feb 23 2018, 19:27
Сообщение #5


Гуру
******

Группа: Участник
Сообщений: 2 067
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(aaarrr @ Feb 23 2018, 00:18) *
NAND флеш имеет свойство "скисать" в том числе и при чтении. И есть у меня такое подозрение, что в некоторых случаях
это может заставить контроллер списать в утиль вполне исправный блок.


На счет чтения, тут вы наверно слегка перегибаете, может "чтение" в винде, где она частенько туда что-то пишет "под шумок". При чистом чтении такого никогда не замечал.

На счет старения нанда, то 99% контроллеров внутри сд карты переводят ее в режим ридонли, и нигде уже эту карту не заставить снова работать на запись, так что ТСу легко проверить, если его "дохлые" карты нигде не форматируются, то значит было место интенсивной записи, а если отформатируются и будут работать на компе - пусть ищет ошибки у себя.

ЗЫ. Сегодняшние карты большого объема использут TLC NAND, ресурс которого очень мал, если писать большие объемы, то выравнивание износа толком не сработает, а значит ресурс такой карты очень мал..
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 23 2018, 20:56
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 535
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(mantech @ Feb 23 2018, 22:27) *
На счет чтения, тут вы наверно слегка перегибаете, может "чтение" в винде, где она частенько туда что-то пишет "под шумок". При чистом чтении такого никогда не замечал.

Не перегибаю. Есть такой эффект при интенсивном чтении, погуглите "nand read disturb".

Цитата(hardgame @ Feb 23 2018, 12:14) *
Вопрос , как его вернуть назад в Trans. я подавал CMD7 с последним RCA и не получал ответа.

RCA точно совпадал? Уж простите мою "подозрительность", просто это очень частая причина.
Go to the top of the page
 
+Quote Post
hardgame
сообщение Feb 26 2018, 08:14
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 15-08-12
Из: Украина
Пользователь №: 73 140



Цитата(mantech @ Feb 23 2018, 23:27) *
На счет чтения, тут вы наверно слегка перегибаете, может "чтение" в винде, где она частенько туда что-то пишет "под шумок". При чистом чтении такого никогда не замечал.

На счет старения нанда, то 99% контроллеров внутри сд карты переводят ее в режим ридонли, и нигде уже эту карту не заставить снова работать на запись, так что ТСу легко проверить, если его "дохлые" карты нигде не форматируются, то значит было место интенсивной записи, а если отформатируются и будут работать на компе - пусть ищет ошибки у себя.

ЗЫ. Сегодняшние карты большого объема использут TLC NAND, ресурс которого очень мал, если писать большие объемы, то выравнивание износа толком не сработает, а значит ресурс такой карты очень мал..


Небольшая преамбула,
На устройстве нет винды, Контролер самописный на ПЛИС. Работает устройство в серии больше 10 лет.
Первые карты которые устанавливались на устройстве были 64МБ, потом был апгреид с приходм SDHC .
Команда CMD24 - заись сектора, у меня вообще закомментирована.
А сектора "киснут". И это стало реальной проблемой.

Цитата(aaarrr @ Feb 24 2018, 00:56) *
Не перегибаю. Есть такой эффект при интенсивном чтении, погуглите "nand read disturb".


RCA точно совпадал? Уж простите мою "подозрительность", просто это очень частая причина.


Сегодня еще раз код пересмотрю и сделаю несколько тестов с переходами trans<->stby
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 26 2018, 08:22
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 10 535
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(hardgame @ Feb 26 2018, 11:14) *
А сектора "киснут". И это стало реальной проблемой.

Насколько интенсивно производится чтение?
Go to the top of the page
 
+Quote Post
adnega
сообщение Feb 26 2018, 10:40
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 608
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(hardgame @ Feb 23 2018, 12:14) *
"пропадание данных" - при верификации с исходным массивом в необходимом секторе читаю 0xFF. Это единичные сектора но они по факту испорчены.

Вы точно уверены что это данные из сектора? Пробоволи считать их повторно или на ПК?
После команды чтения следует ответ на команду, а затем нужно ждать признака данных (очень долго).
После признака данных идут данные и CRC. Ни разу, ни при каких обстоятельствах не видел,
чтобы изначально рабочая карта начала выдавать 0xFF вместо данных.
Я много лет собираю таких "уродцев" в свою коллекцию, но ничего подобного не встречал.
Есть две "левые" карточки, купленные в отделе носовых платков, дык, одна вообще не читается,
а на второй работают только первые 128МБ из 2ГБ, но такие карты не для серьезного рассмотрения.

Мне кажется я уже тут выкладывал результаты исследований карт при чтении потока в реальном времени, но не могу найти где именно.
Чтение велось блоками по 256Б и по 8КБ (по 10 000 блоков в каждом эксперименте).
Все данные считываются верно, но с различной задержкой.
Иногда задержка настолько велика, что поток реального времени невозможен (в звуке появляются щелчки).
Такие события имеют желтый фон.
Прикрепленные файлы
Прикрепленный файл  SDIO_stat_2.pdf ( 56 килобайт ) Кол-во скачиваний: 11
 
Go to the top of the page
 
+Quote Post
hardgame
сообщение Feb 26 2018, 15:59
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 15-08-12
Из: Украина
Пользователь №: 73 140



Цитата(aaarrr @ Feb 26 2018, 12:22) *
Насколько интенсивно производится чтение?


Спасибо за настойчивое указание проверить RCA, действительно была зависимость по которой содержимое сбивалось.
Результат, нормальное поведение перехода между состояниями.
Как только соберу статистику по состоянию карт, обязательно опубликую здесь
Контролеров порядка 5тыщ в работе с разными типами карт и производителей. Есть где разгуляться)
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 26 2018, 16:32
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 10 535
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(hardgame @ Feb 26 2018, 18:59) *
Спасибо за настойчивое указание проверить RCA, действительно была зависимость по которой содержимое сбивалось.

Грабли - вещь универсальная sm.gif

Цитата(hardgame @ Feb 26 2018, 18:59) *
Как только соберу статистику по состоянию карт, обязательно опубликую здесь
Контролеров порядка 5тыщ в работе с разными типами карт и производителей. Есть где разгуляться)

Любопытно будет посмотреть. А все же, насколько интенсивно идет чтение?
Go to the top of the page
 
+Quote Post
hardgame
сообщение Feb 28 2018, 10:33
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 15-08-12
Из: Украина
Пользователь №: 73 140



Цитата(aaarrr @ Feb 26 2018, 20:32) *
Грабли - вещь универсальная sm.gif


Любопытно будет посмотреть. А все же, насколько интенсивно идет чтение?


Чтение вызывается несколько раз за суткм. но в этот час чтение идет очень интенсивное
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd June 2018 - 13:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.0092 секунд с 7
ELECTRONIX ©2004-2016