Hi Xin,
Unfortunately, that SSD (or any NVMe SSD) is not Persistent Memory -- it is not byte-addressable, cache coherent persistence. The things in the ARS Technica article are true, but I can see how it is confusing so let me clarify the points. First, the article mentions that the *media*, 3D XPoint, is byte-addressable. This is in contrast to the way NAND Flash works where it must be erased in blocks. They are pointing out an attribute of the media, and Intel has indeed announced that it will put 3D XPoint on a DIMM to connect it to the memory bus. That DIMM is an upcoming future product that will provide the Persistent Memory semantics expected by the NVM Libraries. But the SSD provides the NVMe interface, which only allows read & write of blocks, so each time the NVM Libraries perform operations like 64-byte cache line writes to a drive like this, it gets rounded up to the block size (usually 4k) and the performance is terrible. So you really only want to use the NVM Libraries on true Persistent Memory where you'll get the best performance. For storage, like this SSD, you'll want to stick with libraries (databases, key-value stores, etc) that were written for storage.
Note that the article also mentions something called Memory Drive Technology, which is some middleware that expands the system volatile memory transparently to the OS. It does this by paging blocks in and out of the SSD, transparently to the OS, so the OS believes is has larger memory. This is *volatile* memory and is accessed as the system main memory, so there's no persistence in that case and the NVM Libraries again do not apply.
To use the NVM Libraries today, you would either use one of the NVDIMM-N products on the market, or emulate Persistent Memory (i.e. for testing & development only) using DRAM as described here:
http://pmem.io/2016/02/22/pm-emulation.html
Hope that helps,
-andy