“…This failure model of PM is based on the assumption that CPU registers and caches are volatile, which is commonly used in real hardware (e.g., Intel Optane PM with asynchronous DRAM refresh (ADR) [24,63]), computer systems [28,32,67,70], and PM-specific testing tools [15,19,35,45]. Enhancing CPU caches with durability is possible but requires hardware modifications [1,68] or additional intel-specific extended ADR (eADR) support [50], which are not necessary for PM programming (refer to ğ6.6 for more discussions about eADR). Hence, in the context of this paper, following previous work [15, 19, 20, 35ś37, 45], we assume that CPU caches are not included in the persistent domain.…”