Страница 1 из 1
Структура для списка номеров во флэш памяти
Добавлено: Сб янв 30, 2021 14:07:05
Али777
Добрый день. Разбираюсь с флэш памятью w25q32. 4MB. Хочу хранить массив карт mifare. На одну карту 10 байт. В общем будет отведено 100 тыс байт. Карты будут храниться в отсортированном массиве, для быстрого поиска. Если нужно будет добавить новую карту в середину массива. Получается, остальные карты нужно сдвигать, т.е. нужно время на перезапись большого числа ячеек памяти. Можно ли каким то образом этого избежать?
Re: Структура для списка номеров во флэш памяти
Добавлено: Сб янв 30, 2021 22:48:45
mont-oriol
Как вариант: Хранить два массива. Один большой, сортированный. Второй - маленький, не сортированный. Когда нужно добавить новую запись, добавлять во второй массив. Когда там накопится более N значений, то массивы сливаются сортировкой в первый, второй становится пустым.
Итог: Поиск быстрый, т.к. почти все значения лежат в сортированном массиве. Поиск по второму массиву то же быстрый, т.к. там мало значений. Ну и количество стираний уменьшается в N раз.
Добавлено after 17 minutes 49 seconds:
Если те 10 байт, что нужно хранить - это просто ID, то можно применить "фильтр Блума", что может свести количество page erase к нулю.