ESH: Design and Implementation of an Optimal Hashing Scheme for Persistent Memory