ctfs · research · also contiguous file system (ctFS)

ctFS

ctFS is a research persistent-memory file system that places each file in a contiguous virtual address range and uses hardware address translation for access.

Related Observatory article: ctFS on hesela.com

Physical pages need not be contiguous. Persistent page tables preserve mappings; ordinary DRAM page tables supply the hardware MMU. Growing a file can exchange mappings instead of copying its existing payload. [2]

The paper separates sync-mode persistence from strict-mode atomic data writes. Staging and pswap provide the latter; unaligned boundary fragments still need copying. This is an operation-level contract, not a transaction spanning arbitrary calls. [1]

At revision 664a8b7, ctfs_config.h comments out CTFS_ATOMIC_WRITE. The ctfs_pwrite dispatcher selects its atomic path only when that macro is defined. Record the effective build configuration before attributing strict-mode guarantees to a binary. [3] [4]

The released prototype expects a modified kernel and Optane persistent-memory hardware. It is not an ordinary ext4 mount option. [5]

Relations

related
SplitFS

Limitations

  • The paper's user-space protection targets accidental bugs, not malicious applications. [1]

Citations

  1. Li et al. ctFS. USENIX FAST 2022, pp.35-50, sections 3.1-3.6 and 5. (accessed 2026-11-14)
  2. Li et al. ctFS: Converting File Index Traversals to Hardware Memory Translation. USENIX ;login: Online, 2022. (accessed 2026-11-14)
  3. ctFS 664a8b7: ctfs_config.h, commented atomic-write configuration. (accessed 2026-11-14)
  4. ctFS 664a8b7: ctfs_pwrite dispatch and atomic-write implementation. (accessed 2026-11-14)
  5. ctFS 664a8b7: prototype requirements and tested environment. (accessed 2026-11-14)
Sources & caveats
  • Primary-source synthesis and pinned-code inspection on 2026-11-14; no ctFS execution, crash injection or performance reproduction.

JSON: /data/terms/ctfs.json

Published by Hesela team · Updated

Report a correction · Editorial standards · Reuse guidance

Cite this page
Hesela team. ctFS. Hesela. 2026-11-14. https://hesela.dev/terms/ctfs/