Changes between Version 2 and Version 3 of NVMe_Support


Ignore:
Timestamp:
04/13/2016 06:59:15 AM (3 years ago)
Author:
Alex Samorukov
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • NVMe_Support

    v2 v3  
    11= Smartmontools NVMe support =
    22[[TOC]]
    3 == About NVMe
     3== About NVMe ==
    44VM Express, NVMe, or Non-Volatile Memory Host Controller Interface Specification (NVMHCI), is a logical device interface specification for accessing non-volatile storage media attached via PCI Express (PCIe) bus. Some links related to the standard and vendor-specific implementations provided below:
    55- [http://nvmexpress.org/specifications/ Official specifications]
    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== Smartmontools NVMe support ==
     9Smartmontools supports NVMe starting from from version 6.5. Please note, that currently NVMe support is considered as experimental. Currently implemented features:
     10- Basic information about controller name, firmware, capacity
     11- SMART overall-health self-assessment test result and warnings (`smartctl -H`)
     12- NVMe SMART attributes (`smartctl -A`)
     13- NVMe error log (`smartctl -l error`)
     14- Ability to fetch any nvme log (`smartctl -l nvmelog,N,SIZE`)
     15- Initial smartd support
     16
     17Currently NVMe support is implemented on Linux, Windows and FreeBSD. Details about supported version/driver combinations are provided in the next section.
    818== NVMe support in the different OS ==
    919||=OS and driver=||=Supported by OS=||=Supported by Smartmontools=||=Native management tools=||=Notes=||
    1020||Linux, since kernel version 3.3||  ✓  ||  ✓  ||[https://github.com/linux-nvme/nvme-cli nvme-cli], [https://github.com/xnox/nvme-user nvme-user] || ||
    1121||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  ||
     22||OSX 10.10.3 native NVMe support ||  ✓  ||  -  || ||Only Apple-branded NVMe devices are supported, monitoring API is implemented (NVMeSMARTClient) but not documented ||
     23||OSX with [http://www.macvidcards.com/nvme-driver1.html MacVidCards NVMe driver] ||  ✓  ||  -  || nvme-cli tool distributed with the driver ||IOCTL format is not documented ||
     24||Solaris NVMe support||   ✓  ||  -  ||[https://docs.oracle.com/cd/E36784_01/html/E36871/nvmeadm-1m.html nvmeadm] ||Interface is not documented ||
     25||IllumOS NVMe support||   ✓  ||  -  ||not yet implemented ||[https://www.illumos.org/issues/6235 no management interface/tool] yet implemented  ||
    1626||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||   ✓  ||    || ?? || ??  ||
     27||Windows with a Microsoft NVMe driver||   ✓  ||  -  || ?? || ??  ||
    1828
    1929== Development notes