This feature aims at adding the support for non-persistent SCM (e.g. RAM) by maintaining a copy of the DAOS metadata up-to-date on SSD. Once completed, DAOS will be able to operate in two modes:
persistent SCM: apache/barlow/crow pass (these are Optane / 3D XPoint produce code names), battery-backed DRAM or future SSD products supporting CXL.mem. This is the mode that DAOS supports today over PMDK. No changes will be done to this path.
Persistent SCM Mode (PMDK)
volatile SCM: DRAM or non-persistent CXL.mem memory. This mode requires an extra step on write operations to keep a copy of the metadata in sync on CXL.io/NVMe SSDs.
Changes to support the volatile mode will be implemented in two phase:
Phase 1: maintain up-to-date copy of metadata tree on SSDs
The SSD copy will be maintained up-to-date via a write ahead log (WAL) and regular background checkpointing.
All reads served from ram/tmpfs and metadata will be limited by the DRAM capacity
Extra work will be done to reduce metadata footprint
Volatile SCM Mode / Phase 1
Phase 2: metadata tiering
Metadata in dram/pmem is a subset of metadata on SSD