Persistent memory has the potential to become universal storage for memory and storage uses. Unfortunately, our current programming model is still only geared to a two-level storage model supporting different semantics to access volatile memory and non-volatile hard disk. This, however, leads a performance gap in accessing the same persistent memory stemming from the difference in the aforementioned semantics and the performance degradation introduced by not appropriately adapting to characteristics of SCM. We propose a general-purpose SCM-access methodology for persistent data on universal storage to hide such semantics difference. Specifically, we design the Persistent Memory Server Engine (PMSE), a special user-level process based on a unified optimization and transactional mechanism, that provides a group of general calls related to allocation, optimization, transactions of persistent memory and a fine-grained data abstraction for persisting data. Our prototype evaluation of PMSE shows that, compared to several state-of-the-art solutions at the file-system and persistent-heap levels, PMSE can provide 4X better performance than kernel-based persistent-memory file system, 1.7× and 1.5× better performance than user-level persistentmemory file system and persistent heap, under the write-intensive workloads. For traditional applications, applications with IOs achieve similar performance to those without IOs.