none
StorNVMe.sys API RRS feed

  • Question

  • Hi,

    I'm looking for reference on how to send NVMe commands to the driver/device when using Microsoft inbox driver in win8.1/2012. Any links will be great. In addition I know that in Linux, applications that use NVMe can gain direct access to the device memory to be used as normal pointers to memory. Is there such support in Windows using the inbox driver or OFA open source driver?

    Thanks,

     Sagi

    • Edited by zar sagi Monday, June 16, 2014 10:35 AM
    Monday, June 16, 2014 10:35 AM

Answers

  • For whatever reason, the Windows StorNVME does not support passthru. The OFA driver is riddled with bugs, and sucks.

     -Brian


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

    Monday, June 16, 2014 8:31 PM
    Moderator
  • Hi,

    I know it is late. But putting across this information for users who needs to send NVMe commands to device using Windows Inbox Driver (StorNVMe.sys)

    https://docs.microsoft.com/en-us/windows-hardware/drivers/storage/stornvme-command-set-support

    -Vishal

    Thursday, February 13, 2020 8:28 PM

All replies

  • For whatever reason, the Windows StorNVME does not support passthru. The OFA driver is riddled with bugs, and sucks.

     -Brian


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

    Monday, June 16, 2014 8:31 PM
    Moderator
  • Thanks for the answer.

    I read on other threads that there is no support for nvme passthrough but that you should use the SCSI PASSTHROUGH to accomplish all/most of the requests.

    Does anyone familiar with this?

    doesn't Microsoft inbox driver must support the NVMe protocol?

    If it doesn't how can we build an NVMe product using it?

    If someone also have information about direct memory access to the device as it is done in Linux using mmap it will be great to receive information.

    I'm aware of driver APIs that can map physical memory to user-mode virtual memory but I'm not if I will be able to do this using the inbox driver or the OFA driver.

    Thanks,

     Sagi

    Tuesday, June 17, 2014 5:15 AM
  • Yes, the in-box NVME driver is limited. If you want something with more features, you'll have to write your own (contact me outside the forum if you want help with that).

     -Brian


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

    Tuesday, June 17, 2014 5:17 PM
    Moderator
  • Your own passthru driver won't hurt either to access your own NVMe driver in order to get around the SCSI interface.  Check out what the open source community is/is not doing.
    Tuesday, July 29, 2014 5:16 PM
  • As has been stated earlier in this conversation the OFA driver (which is the open source driver for NVME) is full of bugs.  There were an incredible number of attrocious and mis-informed design decisions made in the driver.  Consider that it does not do proper locking for multi-processors or interrupts and that is just one of the litany of errors in that driver.


    Don Burn Windows Filesystem and Driver Consulting Website: http://www.windrvr.com

    Tuesday, July 29, 2014 5:23 PM
  • Hi,

    I know it is late. But putting across this information for users who needs to send NVMe commands to device using Windows Inbox Driver (StorNVMe.sys)

    https://docs.microsoft.com/en-us/windows-hardware/drivers/storage/stornvme-command-set-support

    -Vishal

    Thursday, February 13, 2020 8:28 PM
  • Vishal, there are still a lot of restricted and unsupported functions in the in-box driver. Why?

     -Brian


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

    Thursday, February 13, 2020 8:40 PM
    Moderator