Home

persistentmemory

Persistent memory refers to non-volatile memory technologies that retain data after power is removed. In computing, the term commonly describes byte-addressable memory that can be accessed directly by the processor as primary memory while also maintaining contents across power cycles. This combination enables programming models where data structures reside in memory with durability guarantees, reducing or eliminating the need for conventional storage I/O on many workloads.

Persistent memory technologies include phase-change memory, magnetoresistive RAM, and other non-volatile memories, with Intel Optane DC

Software support focuses on providing crash-consistent programming models and durability guarantees. The Persistent Memory Development Kit

Applications include databases, in-memory analytics, graph processing, and fast recovery after crashes. While persistent memory promises

Persistent
Memory
being
a
well-known
commercial
example.
These
can
be
deployed
as
memory
DIMMs
in
two
main
modes:
a
memory
mode,
which
hides
persistence
from
applications,
and
app-direct
mode,
which
treats
the
memory
as
durable,
byte-addressable
storage
that
can
be
accessed
with
persistence
semantics.
Performance
is
typically
faster
than
traditional
storage
but
may
fall
short
of
DRAM,
and
endurance
and
cost
considerations
influence
deployment.
(PMDK)
offers
libraries
such
as
libpmem,
libpmemobj,
and
libpmemlog
to
build
persistent
data
structures
and
transactions.
Operating
systems
and
file
systems
can
expose
persistent
memory
via
direct
access
mappings,
enabling
data
to
remain
after
a
crash
without
conventional
filesystem
I/O.
substantial
speedups
and
simplified
data
durability,
it
introduces
challenges
related
to
cost,
endurance,
data
consistency,
and
programming
complexity.
Ongoing
development
aims
to
broaden
adoption
and
simplify
software
stacks.