#flash #esp32 #file-content #file-access

nightly rudelblinken-filesystem

Minimalistic zero-copy flash filesystem optimized for embedded systemse

3 releases

0.0.3 Nov 21, 2024
0.0.2 Nov 21, 2024
0.0.1 Nov 21, 2024

#374 in Embedded development

Download history 183/week @ 2024-11-15 148/week @ 2024-11-22 12/week @ 2024-11-29 3/week @ 2024-12-06

346 downloads per month

AGPL-3.0-only

76KB
1.5K SLoC

rudelblinken-filesystem

A zero-copy flash filesystem optimized for embedded systems

rudelblinken-filesystem implements a flash-friendly filesystem designed for resource-constrained embedded devices. Key features include:

  • Zero-copy access: Files are memory-mapped for direct, efficient access
  • Flash-optimized: Implements wear leveling and flash-aware write patterns
  • Safe concurrency: Reference counting enables safe concurrent access with reader/writer separation. Deferred deletion ensure data integrity
  • Resource efficient: Minimal RAM overhead during normal operation

The filesystem provides direct memory-mapped access to file contents while maintaining safety through a custom reference counting system. Multiple readers can access files concurrently while writers get exclusive access. Files are only deleted once all references are dropped.

Designed specifically for flash storage, the implementation uses block-aligned operations, respects write limitations, and implements basic wear leveling.

Dependencies

~1.1–1.6MB
~27K SLoC