Changes between Initial Version and Version 9 of Ticket #657


Ignore:
Timestamp:
Feb 23, 2016, 1:13:04 PM (6 years ago)
Author:
Alex Samorukov
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #657

    • Property Milestone changed from undecided to unscheduled
  • Ticket #657 – Description

    initial v9  
    1 It would be great to add NVMe support to the smartctl. Probably this task is not very trivial - because smart in NVMe is implemented differently then in SCSI/SAS or SATA. I will leave this ticket open to collect information, links, etc. I dont have access [yet] to NVMe hardware, so for now it is just a "placeholder".
     1== About
     2It would be great to add NVMe support to the smartctl. This task is not very trivial - because smart in NVMe is implemented differently then in SCSI/SAS or SATA. This ticket will be used to track changes in smartmontools and to collect important related links.
     3== NVMe standard
     4- Official specifications: http://nvmexpress.org/specifications/
     5- [http://www.intel.com/content/dam/www/public/us/en/documents/product-specifications/ssd-dc-p3608-spec.pdf Intel NVMe documentation] with some Intel-specific pages.
     6== Hardware and emulation
     7- [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].
     8== Linux NVMe support
     9- NVMe kernel header  [http://lxr.free-electrons.com/source/include/linux/nvme.h linux/nvme.h]
     10- [https://github.com/linux-nvme/nvme-cli nvme-cli] - NVM-Express user space tooling for Linux
     11- [https://github.com/xnox/nvme-user nvme-user] - another opensource userspace utility
     12== FreeBSD NVMe support
     13- NVMe kernel header [http://fxr.watson.org/fxr/source/dev/nvme/nvme.h dev/nvme/nvme.h]
     14- [https://www.freebsd.org/cgi/man.cgi?query=nvmecontrol nvmecontrol] utility, [https://github.com/freebsd/freebsd/tree/master/sbin/nvmecontrol opensource].
     15== Windows NVMe support
     16- [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.
     17- [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.
     18- [http://naraeon.net/en/latest-naraeon-ssd-tools/ Naraeon SSD tools] windows opensource NVMe tool set
     19== OS X NVMe support
     20- 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.
     21- [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.
     22== Solaris NVMe support
     23- [https://docs.oracle.com/cd/E36784_01/html/E36871/nvmeadm-1m.html nvmeadm] - NVM Express controller command line interface