numam-spdk/CHANGELOG.md
Daniel Verkamp 04cde460cf Add a changelog
Import the release notes from previous releases and fill out the major
features for the next release.

Change-Id: I5050d6cc83a92fac4f1dbed5f7ef039cca208765
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-03-09 07:25:09 -07:00

2.7 KiB

Changelog

Upcoming release

This release includes a general API cleanup, including renaming all declarations in public headers to include a spdk prefix to prevent namespace clashes with user code.

  • NVMe
    • The nvme_attach() API was reworked into a new probe/attach model, which moves device detection into the NVMe library. The new API also allows parallel initialization of NVMe controllers, providing a major reduction in startup time when using multiple controllers.
    • Added support for the Write Zeroes command.
    • examples/nvme/perf can now report I/O command latency from the the controller's viewpoint using the Intel vendor-specific read/write latency log page.
    • Added namespace reservation command support, which can be used to coordinate sharing of a namespace between multiple hosts.
    • Added hardware SGL support, which enables use of scattered buffers that don't conform to the PRP list alignment and length requirements on supported NVMe controllers.
  • IOAT
    • The DMA block fill feature is now exposed via the ioat_submit_fill() function. This is functionally similar to memset(), except the memory is filled with an 8-byte repeating pattern instead of a single byte like memset.
  • PCI
    • Added support for using DPDK for PCI device mapping in addition to the existing libpciaccess option.
    • The PCI library API was made more generic to abstract away differences between the underlying PCI access implementations.

v1.2.0: IOAT user-space driver

This release adds a user-space driver with support for the Intel I/O Acceleration Technology (I/OAT, also known as "Crystal Beach") DMA offload engine.

  • IOAT
    • New user-space driver supporting DMA memory copy offload
    • Example programs ioat/perf and ioat/verify
    • Kernel-mode DMA engine test driver kperf for performance comparison
  • NVMe
    • Per-I/O flags for Force Unit Access (FUA) and Limited Retry
    • Public API for retrieving log pages
    • Reservation register/acquire/release/report command support
    • Scattered payload support - an alternate API to provide I/O buffers via a sequence of callbacks
    • Declarations and nvme/identify support for Intel SSD DC P3700 series vendor-specific log pages and features
  • Updated to support DPDK 2.2.0

v1.0.0: NVMe user-space driver

This is the initial open source release of the Storage Performance Development Kit (SPDK).

Features:

  • NVMe user-space driver
  • NVMe example programs
    • examples/nvme/perf tests performance (IOPS) using the NVMe user-space driver
    • examples/nvme/identify displays NVMe controller information in a human-readable format
  • Linux and FreeBSD support