A Managed Memory System for micro controllers with NOR flash memory
summary
Prototype implements a managed virtual memory for microcontrollers (mruby on Raspberry Pi Pico with 264 KB SRAM and 2 MB NOR flash) that combines an eager, moving garbage collector with an object-aware eviction policy and a forwarding bit in object headers to avoid large lookup tables. Experiments show erasures drop to under 10% on average and some benchmarks run up to 4× faster; system moves frequently written objects into SRAM, avoids unnecessary page erases, and uses flash-friendly bit flips instead of overwriting or separate forwarding tables.
AI-written summary · about
chapters (10)
- 0:00Managed memory for microcontrollers
- 1:26NOR flash as virtual memory
- 3:15Flash-aware system techniques
- 4:01Object-aware paging eviction
- 5:07Avoiding erase operations
- 6:14Garbage collection and forwarding bits
- 8:22Eager garbage collection
- 9:08Experiment setup and benchmarks
- 12:45Ablation study of techniques
- 13:49Related work and summary
related talks
33mmruby on the minimal embedded resource
46mZMS a New Lightweight Storage System
36mWrite once, run on every boards: portable mruby
30mRuby on NES - how to make the smallest ruby ever
22mvNV-Heap: An Ownership-Based Virtually Non-volatile Heap for Embedded Systems
24mRuby in the 8 Bit World - A Small mruby VM for the Zilog Z80
17mA Difference World: High-performance, NVM-invariant, Software-only Intermittent...
25mCo-operative JIT Compilation for Resource-Constrained Low-Power Coprocessors
