我目前正在从事一个项目,该项目涉及在很长的生命周期内快速连续记录相当特定于应用程序的指标。为此,我最终使用了NXP M0和32MiB SPI闪存芯片。测井是连续的,需要在现场持续数年(超过10年),并且需要人工进行定期检查以发现趋势。最终,缓冲区填满并开始覆盖旧数据,这是完全可以的。我想出了一个简单的算法,在加电后(整个设备在我的控制范围之外经常断电),可以遍历整个闪存设备以找到当前磁头,因此记录可以从中断处继续进行。在这种情况下,我可以蛮力地进行一下,最坏的情况是用〜4s来完成。
这让我开始思考,是否有任何适合闪存设备和微控制器的日志结构文件系统?JFFS和所有其他众所周知的日志结构化FS我想对于一个简单的微控制器来说会有点沉重(当然取决于应用程序)。更具体地说,我想知道任何专门设计为具有快速头搜索时间的循环日志的算法,和/或专为可在闪存设备上运行的“传统”文件系统设计的算法。微控制器。在这种意义上,传统与JFFS之类的东西相提并论,在JFFS中,有一个数据结构表示分层名称空间中可变的随机访问文件的集合。