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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Проблема с DataFlash AT45DB161D, Умирает память
Itch
сообщение Sep 28 2009, 07:04
Сообщение #16


Местный
***

Группа: Свой
Сообщений: 358
Регистрация: 27-06-06
Из: Новосибирск
Пользователь №: 18 410



Собсна, недостаток видится только один - необходимость просканировать практически всю флешку на предмет свободного блока при инициализации.
Go to the top of the page
 
+Quote Post
HARMHARM
сообщение Sep 28 2009, 08:24
Сообщение #17


читатель даташитов
****

Группа: Свой
Сообщений: 853
Регистрация: 5-11-06
Из: Днепропетровск
Пользователь №: 21 999



Цитата(Itch @ Sep 28 2009, 10:04) *
Собсна, недостаток видится только один - необходимость просканировать практически всю флешку на предмет свободного блока при инициализации.

Или иметь EEPROM/Battery RAM, куда просто писать последние параметры данных во флешке. Если пропало - не беда, можно и просканировать smile.gif
Go to the top of the page
 
+Quote Post
ReAl
сообщение Sep 28 2009, 08:35
Сообщение #18


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(Itch @ Sep 28 2009, 10:04) *
Собсна, недостаток видится только один - необходимость просканировать практически всю флешку на предмет свободного блока при инициализации.
Свободный блок - это тот, на котором последовательный номер записи прыгает вниз.
Т.е.
|... 521 522 105 106 107 ...| - свободный 105-ый.
Через надцать кругов работы
|50001 50002 ... 55123 55124| - свободный 50001-ый
На старте везде нули.
Такой перепад ищется не полным сканированием флешки, а методом половинного деления, для 1024 блоков прочитать придётся, если не глючу, 11.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Sep 28 2009, 18:47
Сообщение #19


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(ReAl @ Sep 28 2009, 11:35) *
Свободный блок - это тот, на котором последовательный номер записи прыгает вниз.

Только спустя некоторое время после перехода через ноль такой "прыжок" застрянет в одном месте, т. е. при
|65534 65535 0 1 ... 10 65123 ... | сканирование покажет на 0 как на свободный, а не на 65123 если подобное не учесть в алгоритме сканирования.
Go to the top of the page
 
+Quote Post
Petka
сообщение Sep 28 2009, 20:18
Сообщение #20


Профессионал
*****

Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886



Цитата(IgorKossak @ Sep 28 2009, 22:47) *
Только спустя некоторое время после перехода через ноль такой "прыжок" застрянет в одном месте, т. е. при
|65534 65535 0 1 ... 10 65123 ... | сканирование покажет на 0 как на свободный, а не на 65123 если подобное не учесть в алгоритме сканирования.


имелась ввиду конструкция вида:
Код
((A[i]+1) % max_cnt) != (A[i+1])


P.S.
Уже не один раз кидал ссылку на Атмеловский Appnote AVR101: High Endurance EEPROM Storage.
Советую всё-таки ознакомиться.
Go to the top of the page
 
+Quote Post
HARMHARM
сообщение Sep 28 2009, 20:42
Сообщение #21


читатель даташитов
****

Группа: Свой
Сообщений: 853
Регистрация: 5-11-06
Из: Днепропетровск
Пользователь №: 21 999



Цитата(Petka @ Sep 28 2009, 23:18) *
Уже не один раз кидал ссылку на Атмеловский Appnote AVR101: High Endurance EEPROM Storage.

Не такие уж там и откровения. Честно говоря, мне сложно представить условия для использования такой схемы.
Go to the top of the page
 
+Quote Post
ReAl
сообщение Sep 28 2009, 20:46
Сообщение #22


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(Petka @ Sep 28 2009, 23:18) *
имелась ввиду конструкция вида:
Код
((A[i]+1) % max_cnt) != (A[i+1])
Та не, имелся ввиду таки перепад вниз, при двоичном поиске для выбора половины важно именно больше/меньше. Но я не вижу проблемы в том, чтобы сделать в качестве ключа, к примеру, 32-битный unixtime, который в логе и так не помешает. При этом даже несколько записей в одну секунду не поломают алгоритм.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 04:06
Рейтинг@Mail.ru


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