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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Пропадают данные с microSD, пропадает часть данных при зависании
jcxz
сообщение May 10 2018, 15:22
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(adnega @ May 10 2018, 18:13) *
1. Адрес должен быть выровнен на границу сектора.
Как записать произвольный байт? Типа отправить весь сектор где иные байты задать erase-default-value?

Естественно.

Цитата(adnega @ May 10 2018, 18:13) *
2. Записать можно только сектор целиком.
см. п.1

см.п.1

Цитата(adnega @ May 10 2018, 18:13) *
Мне представляется NAND как хранилище данных с корректирующими кодами размером с сектор.

Это можно проверить. И если так - тогда просто накапливать данные в ОЗУ до полного сектора.
Go to the top of the page
 
+Quote Post
scout
сообщение May 11 2018, 08:29
Сообщение #17


Частый гость
**

Группа: Свой
Сообщений: 120
Регистрация: 4-01-06
Из: Москва
Пользователь №: 12 837



jcxz, у меня буфер в ОЗУ размером с запись, т.е 256 байт.
Вы, по сути, предлагаете писать страницей, под которую нужно постоянно держать буфер в ОЗУ,
которого у меня в обрез. Но это уже детали реализации, которые сейчас не существенны,
мне бы проблему пропадания данных решить...

Кстати, у меня sd карта сидит на spi, к которому подключено еще 2 устройства, cs у карты, разумеется, свой.
Может ли "паразитное" тактирование карты(при поднятом cs) при обращении к другим устройствам на шине приводить
к нарушениям в логике работы карты(зависаниям, пропаданиям данных)? Кто нибудь сталкивался?


--------------------
То, что неясно, следует выяснить. То, что трудно творить, следует делать с великой настойчивостью.
Конфуций
Go to the top of the page
 
+Quote Post
jcxz
сообщение May 11 2018, 08:40
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(scout @ May 11 2018, 11:29) *
Может ли "паразитное" тактирование карты(при поднятом cs)

А зачем у Вас это тактирование при поднятом CS?
Если на других устройствах поднят CS, то обычно не должно. Хотя это зависит от того, как реагируют на CS те устройства (см. доки на них). Обычно при поднятом CS слэйв-устройства не должны никак реагировать на любые внешние сигналы.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 11 2018, 09:42
Сообщение #19


Гуру
******

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



Цитата(scout @ May 11 2018, 11:29) *
Может ли "паразитное" тактирование карты(при поднятом cs) при обращении к другим устройствам на шине приводить
к нарушениям в логике работы карты(зависаниям, пропаданиям данных)? Кто нибудь сталкивался?

К разнообразным нарушениям работы может приводить отсутствие этого тактирования после снятия CS, когда карта еще не перевела выход в Z.
То есть правильная последовательность: сняли CS - выдали "холостой" байт. Это выполняется?
Go to the top of the page
 
+Quote Post
scout
сообщение May 11 2018, 13:44
Сообщение #20


Частый гость
**

Группа: Свой
Сообщений: 120
Регистрация: 4-01-06
Из: Москва
Пользователь №: 12 837



jcxz, под "паразитным" тактированием я имел в виду клоки при обращении к другим устройствам на шине,
когда cs карты поднят.

aaarrr, да, выполняется. Вы не сталкивались на практике с произвольным пропаданием данных?


--------------------
То, что неясно, следует выяснить. То, что трудно творить, следует делать с великой настойчивостью.
Конфуций
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 11 2018, 13:51
Сообщение #21


Гуру
******

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



Цитата(scout @ May 11 2018, 16:44) *
aaarrr, да, выполняется. Вы не сталкивались на практике с произвольным пропаданием данных?

Нет. Но никогда и не вешал карту на одну шину с другими устройствами. Маловероятно, что это
является причиной такого поведения, больше похоже на аппаратную проблему - питание, целостность
сигналов. Контроль CRC включен?
Go to the top of the page
 
+Quote Post
iosifk
сообщение May 11 2018, 14:26
Сообщение #22


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(scout @ May 11 2018, 11:29) *
Кстати, у меня sd карта сидит на spi, к которому подключено еще 2 устройства, cs у карты, разумеется, свой.
Может ли "паразитное" тактирование карты(при поднятом cs) при обращении к другим устройствам на шине приводить
к нарушениям в логике работы карты(зависаниям, пропаданиям данных)? Кто нибудь сталкивался?

Достаточны ли паузы после кадра с одного устройства и до другого кадра на другое устройство? Ведь после снятия CS абонент должен перевести свой выход в 3-е состояние... И для этого нужно время. Есть ли подпор по входной шине данных?


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
scout
сообщение May 11 2018, 14:32
Сообщение #23


Частый гость
**

Группа: Свой
Сообщений: 120
Регистрация: 4-01-06
Из: Москва
Пользователь №: 12 837



Цитата(aaarrr @ May 11 2018, 16:51) *
Контроль CRC включен?


Который включается 59-й командой? Да, включен.

Насчет аппаратной проблемы я думал, но фронты нормальные, питание в норме,
да и карты других вендоров работают нормально...

Цитата(iosifk @ May 11 2018, 17:26) *
Достаточны ли паузы после кадра с одного устройства и до другого кадра на другое устройство? Ведь после снятия CS абонент должен перевести свой выход в 3-е состояние... И для этого нужно время. Есть ли подпор по входной шине данных?


В последнем эксперименте я оставил на шине только sd карту. Проблема осталась...
Подтяжки есть.


--------------------
То, что неясно, следует выяснить. То, что трудно творить, следует делать с великой настойчивостью.
Конфуций
Go to the top of the page
 
+Quote Post
jcxz
сообщение May 11 2018, 17:22
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(scout @ May 11 2018, 17:32) *
В последнем эксперименте я оставил на шине только sd карту. Проблема осталась...

Вы бы хоть описали - как пишете и что пишете? А то может быть Вы пишете один и тот же сектор, и на картах где есть "Wear leveling" оно спасает от его протирания, а попалась такая, которая не умеет "Wear leveling" - и беда.
Цитата(scout @ May 11 2018, 11:29) *
Но это уже детали реализации, которые сейчас не существенны,мне бы проблему пропадания данных решить...

Без знания этих деталей Вам тут никто не сможет помочь. Угадает разве что....
Чем больше деталей - тем выше вероятность помощи. Как то так.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 11 2018, 18:28
Сообщение #25


Гуру
******

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



А отдельно от своего устройства пробовали карты гонять в таком же режиме (т.е. записали 256 байт - сбросили кэш)?
Может, карты сами по себе бракованные.
Go to the top of the page
 
+Quote Post
mantech
сообщение May 12 2018, 10:49
Сообщение #26


Гуру
******

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



Цитата(aaarrr @ May 11 2018, 21:28) *
А отдельно от своего устройства пробовали карты гонять в таком же режиме (т.е. записали 256 байт - сбросили кэш)?
Может, карты сами по себе бракованные.


Я уже ранее предлагал это ТСу, проверить сами карты на работоспособность, проверил он или нет - непонятно...
Go to the top of the page
 
+Quote Post
scout
сообщение May 15 2018, 15:37
Сообщение #27


Частый гость
**

Группа: Свой
Сообщений: 120
Регистрация: 4-01-06
Из: Москва
Пользователь №: 12 837



Цитата
Я уже ранее предлагал это ТСу, проверить сами карты на работоспособность, проверил он или нет - непонятно...


Проверял той программой, которую вы советовали. Прогнал несколько раз, все нормально.
В цикле она работать не умеет.

Цитата
А отдельно от своего устройства пробовали карты гонять в таком же режиме (т.е. записали 256 байт - сбросили кэш)?
Может, карты сами по себе бракованные.


Что значить "сбросить кэш"?

Цитата
Вы бы хоть описали - как пишете и что пишете? А то может быть Вы пишете один и тот же сектор, и на картах где есть "Wear leveling" оно спасает от его протирания, а попалась такая, которая не умеет "Wear leveling" - и беда.


Пишутся несколько типов записей 128, 256 и 512 байт. Каждый тип пишется в свою область, области выровнены по границе блока.
Естественно, запись НЕ происходит в один сектор, ее адрес постоянно инкрементируется. Области кольцевые, но глюк случается,
когда закольцовка еще не произошла. Пропадание данных происходит строго в тот момент, когда карта зависает.

Пока склоняюсь к мысли, что карта не совсем корректно работает в spi режиме. Других мыслей пока нет.
Карты других вендоров работают нормально.


--------------------
То, что неясно, следует выяснить. То, что трудно творить, следует делать с великой настойчивостью.
Конфуций
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 15 2018, 16:17
Сообщение #28


Гуру
******

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



Цитата(scout @ May 15 2018, 18:37) *
Что значить "сбросить кэш"?

На всех современных ОС записи на диск буферизируются, поэтому для достижения такого же эффекта износа,
как в устройстве, оперирующем блоками по 256 байт, нужно после каждой операции записи принудительно сбрасывать
буфер на диск.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 16th April 2024 - 22:54
Рейтинг@Mail.ru


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