Changes between Version 1 and Version 2 of NVMe_Support


Ignore:
Timestamp:
Apr 13, 2016, 12:16:42 AM (4 years ago)
Author:
Alex Samorukov
Comment:

Put all info about OS support to the table

Legend:

Unmodified
Added
Removed
Modified
  • NVMe_Support

    v1 v2  
    66- [http://www.intel.com/content/dam/www/public/us/en/documents/product-specifications/ssd-dc-p3608-spec.pdf Intel NVMe documentation] with  Intel-specific log pages (CAh, C5h, DDh, C1h/C2h).
    77- [http://ocz.com/enterprise/download/guides/ZDrive_6000_Series_Datasheet.pdf OCZ Z-Drive] specification, with vendor-specific smart log page (E0h)
     8== NVMe support in the different OS ==
     9||=OS and driver=||=Supported by OS=||=Supported by Smartmontools=||=Native management tools=||=Notes=||
     10||Linux, since kernel version 3.3||  ✓  ||  ✓  ||[https://github.com/linux-nvme/nvme-cli nvme-cli], [https://github.com/xnox/nvme-user nvme-user] || ||
     11||FreeBSD 9.2 or later||  ✓  ||  ✓  ||[https://www.freebsd.org/cgi/man.cgi?query=nvmecontrol nvmecontrol]|| ||
     12||OSX 10.10.3 native NVMe support ||  ✓  ||  ✗  || ||Only Apple-branded NVMe devices are supported, monitoring API is implemented (NVMeSMARTClient) but not documented ||
     13||OSX with [http://www.macvidcards.com/nvme-driver1.html MacVidCards NVMe driver] ||  ✓  ||  ✗  || nvme-cli tool distributed with the driver ||IOCTL format is not documented ||
     14||Solaris NVMe support||   ✓  ||  ✗  ||[https://docs.oracle.com/cd/E36784_01/html/E36871/nvmeadm-1m.html nvmeadm] ||Interface is not documented ||
     15||IllumOS NVMe support||   ✓  ||  ✗  ||not yet implemented ||[https://www.illumos.org/issues/6235 no management interface/tool] yet implemented  ||
     16||Windows with [https://www.openfabrics.org/index.php/windows-nvm-express.html OpenFabric] based driver||   ✓  ||  ✓  || ?? ||Devices are accessed via NVME_PASS_THROUGH I/O-control. This should work (at least) with NVMe drivers from Intel, OCZ and Samsung. ||
     17||Windows with a Microsoft NVMe driver||   ✓  ||  ✗  || ?? || ??  ||
     18
    819== Development notes
    920Development and debugging could be performed using [https://github.com/OpenChannelSSD/qemu-nvme/ QEMU fork] which can emulates NVMe device with most of the features supported, including SMART log pages, namespaces, etc. Tested with Linux and FreeBSD, full list of the options could be found in the [https://github.com/OpenChannelSSD/qemu-nvme/blob/master/hw/block/nvme.c source code].
    10 == Linux OS NVMe support
    11 Smartmontools supports NVMe in Linux OS using using standard ioctl API. Other utilities to manage NVMe devices in Linux:
    12 - [https://github.com/linux-nvme/nvme-cli nvme-cli] - NVM-Express user space tool for Linux
    13 - [https://github.com/xnox/nvme-user nvme-user] - another open source user space NVMe management utility
    14 == FreeBSD NVMe support
    15 Smartmontools supports NVMe in the FreeBSD using ioctl API. NVMe devices in the FreeBSD can be managed using [https://www.freebsd.org/cgi/man.cgi?query=nvmecontrol nvmecontrol] utility.
    16 == Windows NVMe support
    17 - [https://svn.openfabrics.org/svnrepo/nvmewin/ OpenFabrics NVMe driver] for Windows. It provides a NVME_PASS_THROUGH I/O-control which is reportedly also supported by the NVMe Windows drivers from Intel and OCZ.
    18 - [https://msdn.microsoft.com/en-us/library/windows/hardware/dn932068.aspx IOCTL_STORAGE_PROTOCOL_COMMAND] - NVMe pass-through I/O-control supported by the generic NVMe driver for Windows (Stornvme.sys). Requires Windows 10.
    19 - [http://naraeon.net/en/latest-nvme-tools Naraeon NVMe Tools] windows [https://github.com/ebangin127/nvmetools open source] NVMe SMART / Health Information Log Viewer on Windows
    20   - [http://naraeon.net/en/archives/570 Samsung 950 Pro’s NVMe Commands]
    21   - [http://naraeon.net/en/archives/925 Intel 750 Series’ NVMe Commands]
    22 - Intel® [https://downloadcenter.intel.com/download/23931/Intel-Solid-State-Drive-Data-Center-Tool Solid-State Drive Data Center Tool]
    23 
    24 == OS X NVMe support
    25 Smartmontools currently not is not supporting monitoring of the NVMe devices on OSX/Darwin.
    26 - Kind of official support added from 10.10.3, closes source, not documented, only apple-branded NVMe devices are supported. Implements NVMeSMARTClient library, however API is not documented.
    27 - [http://www.macvidcards.com/nvme-driver1.html MacVidCards NVMe driver] - third party closed-source driver, coming with closed-source nvme-cli management utility, which is based on open-source one.
    28 == Solaris NVMe support
    29 Smartmontools currently not is not supporting monitoring of the NVMe devices on Solaris.
    30 - [https://docs.oracle.com/cd/E36784_01/html/E36871/nvmeadm-1m.html nvmeadm] - NVM Express controller command line interface, interface is unknown
    31 - [https://www.illumos.org/issues/4053 Illumos NVMe driver], [https://www.illumos.org/issues/6235 no management interface/tool] yet implemented