none
how to send nvme admin command in windows 10? RRS feed

  • Question

  • hi all

    i hava tried to send nvme admin command in windows 10 with these methods blow, but they all failed

    1:send IOCTON_SCSI_PASS_THROUGHT,with page code is smart info

    2:send IOCTL_STORAGE_QUERY_PROPERTY ,the id is StorageAdapterProtocolSpecificProperty

    3:send IOCTL_STORAGE_PROTOCOL_COMMAND

    who can tell me why? or tell me the example of three methods?or tell me the the other method???

    
    
    Monday, September 28, 2015 1:26 PM

Answers

  • Hi,

    In Windows10, you can use IOCTL_STORAGE_QUERY_PROPERTY to query NVMe controller identification data, log and features. IOCTL_STORAGE_PROTOCOL_COMMAND is used to send protocol specific command; for NVMe, only vendor specific commands are allowed if they are reported "supported" in Command Effects Log.

    Regards,

    Michael Xing [MSFT]

    Thursday, October 1, 2015 5:47 PM
  • Please refer to https://docs.microsoft.com/en-us/windows-hardware/drivers/storage/nvme-features-supported-by-stornvme for any clarifications on command supported

    Thanks,

    Vishal

    Tuesday, February 11, 2020 1:47 AM

All replies

  • The Windows-supplied NVMe driver is notoriously lame and does not support most of the NVMe optional features. This has been discussed on this forum many times. Search the forum for NVMe for more info

     -Brian


    Azius Developer Training www.azius.com Windows device driver, internals, security, & forensics training and consulting. Blog at www.azius.com/blog

    Tuesday, September 29, 2015 3:47 AM
    Moderator
  • I am also facing the same issue with windows 2016 NVME inbox driver, .

    Using the IOCTL_STORAGE_QUERY_PROPERTY, i am able to get the controller/namespace identify  information.

    But for the NVME commands such as FORMAT NVME, GET FEATURES etc... there is no proper information on the "which IOCTL" should be used for sending the commands.

    If anyone could help on this, will enable/help us a lot


    Wednesday, September 30, 2015 5:16 AM
  • Hi,

    In Windows10, you can use IOCTL_STORAGE_QUERY_PROPERTY to query NVMe controller identification data, log and features. IOCTL_STORAGE_PROTOCOL_COMMAND is used to send protocol specific command; for NVMe, only vendor specific commands are allowed if they are reported "supported" in Command Effects Log.

    Regards,

    Michael Xing [MSFT]

    Thursday, October 1, 2015 5:47 PM
  • You can refer to http://naraeon.net/en/archives/1338#comment-201
    Wednesday, May 18, 2016 6:55 AM
  • I am facing the same issue, which IOCTL shoule be used for Format NVME
    Friday, July 14, 2017 7:32 AM
  • Please refer to https://docs.microsoft.com/en-us/windows-hardware/drivers/storage/nvme-features-supported-by-stornvme for any clarifications on command supported

    Thanks,

    Vishal

    Tuesday, February 11, 2020 1:47 AM