I can't help but feel like language-level support for memory persistency is just a database engine with all the same complexity, problems and plenty of research already. And given that persistent memory is not reliable, shouldn't hardware manufacturers merely provide an API for raw access to each rewritable block and let applications deal with consistency models, concurrency, wear leveling, etc. Just like with disks, but a faster ISA-level API.
What does "reliable" mean? It saves data across a power cycle.
It wears out eventually, but so does flash. And mechanical drives eventually fail. And CPUs and DRAM don't last forever either.
This sounds like a specious point absent numbers. In fact existing memory persistence designs are plenty good for storing important data given reasonable backup strategies, and without reasonable backup strategies nothing is.
It's not reliable enough to be treated as memory, i.e. fast unlimited endurance temporary storage, but reliable enough to be treated as persistent storage.