В настоящее время я работаю над проектом, который предполагает быструю непрерывную регистрацию довольно специфичной для приложения метрики в течение длительного срока. Для этого я использовал NXP M0 и флэш-чип SPI 32 МБ. Регистрация ведется непрерывно и должна длиться много лет в полевых условиях (10+) и периодически проверяется человеком на предмет выявления тенденций. В конце концов буфер заполняется и начинает перезаписывать старые данные, что совершенно нормально. Я придумал простой алгоритм обхода всего флэш-устройства, чтобы найти текущую головку после включения питания (устройство довольно часто выключается вне моего контроля), поэтому ведение журнала может просто продолжаться с того места, где оно остановилось. Я могу просто перебрать силу и пройти это с ~ 4s в худшем случае.
Это заставило меня задуматься, существуют ли какие-либо файловые системы со структурой журналов, предназначенные для флэш-устройств и микроконтроллеров? JFFS и все другие хорошо известные структурированные журналы FS, которые я представляю, были бы немного тяжелыми для простого микроконтроллера (конечно, зависит от применения). Чтобы быть более конкретным, я хотел бы знать о любых алгоритмах, которые специально разработаны для циклического журнала с быстрым временем поиска и / или алгоритмов, разработанных для «традиционной» файловой системы на флэш-устройстве, которое может быть запущено на микроконтроллер. Традиционно в этом смысле он находится на одном уровне с чем-то вроде JFFS, где есть структура данных, представляющая коллекцию изменяемых файлов произвольного доступа в иерархическом пространстве имен.