

Background
CFexpress is a standardized PCIe SSD engineered for use in digital cameras.
CFexpress cards are the descendants of CFast (SATA) and XDQ (PCIe) cards. It shares it's form factor with XDQ cards and is compatible with these (hardware wise).
Devices using XDQ can support CFexpress if they get a firmware update.
Big advantage for me is the small form factor which is around the size of 2230 NVME drives. Additionally it provides some nostalgia as all old WinCE handhelds used Compact Flash cards for user storage.
I will not only store the home directory (user storage) but also the complete Linux root filesystem on the CFexpress card.
My main reason for using CFexpress is nostalgia and the possibility to use empty CFexpress cards housings with a socket for 2230 NVMEs. In this way I can use cheaper NVME drives instead of costly CFexpress cards.
Second reason: I can simply swap between different Linux distributions with ease.
Hardware details
CFexpress uses the NVME v1.2 protocol over PCIe which is exactly the same as m2 SSDs are using.
This brings the advantage of using the single PCIe lane of the CM4 for direct communication.
Mechanical overview
CFexpress cards are a little bit smaller (38.5 × 29.8 × 3.8mm) than Compact Flash cards (43×36×5mm).


Pin | Signal | Pin | Signal | Pin | Signal | ||
1 | GND | 8 | Reserved | 15 | GND | ||
2 | PERn1 | 9 | PERST# | 16 | PERn0 | ||
3 | PERp1 | 10 | +3.3V | 17 | PERp0 | ||
4 | GND | 11 | CLKREQ# | 18 | GND | ||
5 | PETn1 | 12 | INS# | 19 | PETn0 | ||
6 | PETp1 | 13 | REFCLK- | 20 | PETp0 | ||
7 | Reserved | 14 | REFCLK+ | 21 | GND |