In one embodiment, non-volatile
random access memory (NVRAM) caching and
logging delivers low latency acknowledgements of input / output (I / O) requests, such as write requests, while avoiding loss of data. Write data may be stored in a portion of an NVRAM configured as, e.g., a persistent write-back cache, while parameters of the request may be stored in another portion of the NVRAM configured as one or more logs, e.g., NVLogs. The write data may be organized into separate
variable length blocks or extents and “written back” out-of-order from the write back cache to storage devices, such as
solid state drives (SSDs). The write data may be preserved in the write-back cache until each extent is safely and successfully stored on SSD (i.e., in the event of
power loss), or operations associated with the write request are sufficiently logged on NVLog.