SNIA NVM Programming Model: Optimizing Software for NVM Paul von Behren