Windows driver support for NVMe

Dear all,

My question is if Windows 7 or later version does or will support NVMe devices?

Such as Win7 does not support xHCI host, but Win8 does.

Regards,
Wesley

On 2/21/2014 12:12 AM, workingmailing@163.com wrote:

My question is if Windows 7 or later version does or will support NVMe devices?

Such as Win7 does not support xHCI host, but Win8 does.

According to http://en.wikipedia.org/wiki/NVM_Express support was added
in Windows 8.1 / Server 2012 R2.


Bruce

As Bruce pointed out Windows 8/Windows Server 2012R2 and later support
it natively with an in-box driver. Microsoft also changed Storport to
allow more than 254 outstanding I/O’s to a specific LUN which most NVMe
devices will require for maximum performance on small I/O’s.

I highly doubt Microsoft will port this driver back to Windows 7. It’s
just not the way they normally do things. The good news is that the NVM
Express group, nvmeexpress.org, has an open source driver that supports
the devices on older versions of Windows. I haven’t been able to find a
binary for download on their website, but if you pull their SVN tree,
there is a WHQL’ed (64bit) driver package in their release directory.

Jeff

On 2/20/2014 11:12 PM, workingmailing@163.com wrote:

Dear all,

My question is if Windows 7 or later version does or will support NVMe devices?

Such as Win7 does not support xHCI host, but Win8 does.

Regards,
Wesley


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
.

Be aware that while it WHQL’d (remember all you have to do is pass the tests
once), it is more likely to crash. The folks who wrote this thing need to
go back and learn about locking and synchronization, since they certainly
missed it in the driver that is out there. I helped a client get the driver
to the point where it could be shipped, but even now I would not call it a
driver I would want on any system I or my clients own.

Don Burn
Windows Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Jeff Glass
Sent: Friday, February 21, 2014 8:47 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] Windows driver support for NVMe

As Bruce pointed out Windows 8/Windows Server 2012R2 and later support it
natively with an in-box driver. Microsoft also changed Storport to allow
more than 254 outstanding I/O’s to a specific LUN which most NVMe devices
will require for maximum performance on small I/O’s.

I highly doubt Microsoft will port this driver back to Windows 7. It’s just
not the way they normally do things. The good news is that the NVM Express
group, nvmeexpress.org, has an open source driver that supports the devices
on older versions of Windows. I haven’t been able to find a binary for
download on their website, but if you pull their SVN tree, there is a
WHQL’ed (64bit) driver package in their release directory.

Jeff

On 2/20/2014 11:12 PM, workingmailing@163.com wrote:

Dear all,

My question is if Windows 7 or later version does or will support NVMe
devices?

Such as Win7 does not support xHCI host, but Win8 does.

Regards,
Wesley


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer
.


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

That’s interesting. I have seen several hangs (followed by DPC timeout
bluescreens) with MS’s driver, but I’ve not seen any with the OFA driver.

On 2/21/2014 5:59 AM, Don Burn wrote:

Be aware that while it WHQL’d (remember all you have to do is pass the tests
once), it is more likely to crash. The folks who wrote this thing need to
go back and learn about locking and synchronization, since they certainly
missed it in the driver that is out there. I helped a client get the driver
to the point where it could be shipped, but even now I would not call it a
driver I would want on any system I or my clients own.

Don Burn
Windows Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Jeff Glass
Sent: Friday, February 21, 2014 8:47 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] Windows driver support for NVMe

As Bruce pointed out Windows 8/Windows Server 2012R2 and later support it
natively with an in-box driver. Microsoft also changed Storport to allow
more than 254 outstanding I/O’s to a specific LUN which most NVMe devices
will require for maximum performance on small I/O’s.

I highly doubt Microsoft will port this driver back to Windows 7. It’s just
not the way they normally do things. The good news is that the NVM Express
group, nvmeexpress.org, has an open source driver that supports the devices
on older versions of Windows. I haven’t been able to find a binary for
download on their website, but if you pull their SVN tree, there is a
WHQL’ed (64bit) driver package in their release directory.

Jeff

On 2/20/2014 11:12 PM, workingmailing@163.com wrote:
> Dear all,
>
> My question is if Windows 7 or later version does or will support NVMe
devices?
> Such as Win7 does not support xHCI host, but Win8 does.
>
> Regards,
> Wesley
>
> —
> NTDEV is sponsored by OSR
>
> Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
>
> OSR is HIRING!! See http://www.osr.com/careers
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
> .
>


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

The WHQL’d OFA driver has a huge number of unique crashes that I know of.
It also has an amazing amount of dead code. It has a load balancing scheme
that has nothing to do with the reality of how Windows runs on multiple
processors. As I said it has a lot of problems with locking, including
having lists that are access without locking by multiple processors. As a
reference tool to see how to hit the hardware registers it has some
validity, as a driver for an enterprise class system where NVME is expected
to be used a lot, it does not even meet the classification of “a piece of
shit” without a lot of work.

Don Burn
Windows Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Jeff Glass
Sent: Friday, February 21, 2014 9:11 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] Windows driver support for NVMe

That’s interesting. I have seen several hangs (followed by DPC timeout
bluescreens) with MS’s driver, but I’ve not seen any with the OFA driver.

On 2/21/2014 5:59 AM, Don Burn wrote:

Be aware that while it WHQL’d (remember all you have to do is pass the
tests once), it is more likely to crash. The folks who wrote this
thing need to go back and learn about locking and synchronization,
since they certainly missed it in the driver that is out there. I
helped a client get the driver to the point where it could be shipped,
but even now I would not call it a driver I would want on any system I or
my clients own.

Don Burn
Windows Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Jeff Glass
Sent: Friday, February 21, 2014 8:47 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] Windows driver support for NVMe

As Bruce pointed out Windows 8/Windows Server 2012R2 and later support
it natively with an in-box driver. Microsoft also changed Storport to
allow more than 254 outstanding I/O’s to a specific LUN which most
NVMe devices will require for maximum performance on small I/O’s.

I highly doubt Microsoft will port this driver back to Windows 7.
It’s just not the way they normally do things. The good news is that
the NVM Express group, nvmeexpress.org, has an open source driver that
supports the devices on older versions of Windows. I haven’t been
able to find a binary for download on their website, but if you pull
their SVN tree, there is a WHQL’ed (64bit) driver package in their release
directory.

Jeff

On 2/20/2014 11:12 PM, workingmailing@163.com wrote:
> Dear all,
>
> My question is if Windows 7 or later version does or will support
> NVMe
devices?
> Such as Win7 does not support xHCI host, but Win8 does.
>
> Regards,
> Wesley
>
> —
> NTDEV is sponsored by OSR
>
> Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
>
> OSR is HIRING!! See http://www.osr.com/careers
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
> .
>


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

Thank you all.

It seems that this topic change from have or not to which driver with high quality.

OK, to be clear:

Windows 7 does not ship with a Microsoft-developed driver for NVMe devices.

There are (or, rather, there will be) third party drivers for NVMe devices that support Windows 7.

I would respectfully suggest that any concern or question about NVMe drivers is a touch premature at this point, and you should therefore be tolerant of… if not outright grateful for… the thread drift, given that there are no publicly released NVMe devices.

For the record, I *am* a big fan of the technology. Of course, the last time I got excited about a piece of technology was those CD-ROMs the size of a US twenty-five cent coin. What WERE they called… Remember those? No? That’s because nobody ever used them commercially.

Peter
OSR
@OSRDrivers

The name of this thing been haunting me all morning. The technology was called DataPlay. Picture here:

http://images.usatoday.com/life/cyber/tech/review/_photos/dataplay.jpg

I was sure they were going to make it big. And now I’m sure I’m the only one interested.

Now THERE’s some thread drift for you.

Peter
OSR
@OSRDrivers

>The name of this thing been haunting me all morning. The technology was called DataPlay.

I remember you hauling the USB micro 1G HDD with the DDK, on the driver security courses (held at MS campus).

This DataPlay thing was too late. Flash was already taking off.

I think NVME will do reasonably well in the market, which is one of the
reasons I drifted the thread into the problems of the OFA driver. I know a
number of firms that are planning on using the OFA driver, and unless they
do a bunch of work NVME will get a bad reputation because of the quality of
the drivers.

Don Burn
Windows Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr

On 2/24/2014 9:23 AM, xxxxx@osr.com wrote:

The name of this thing been haunting me all morning. The technology was called DataPlay. Picture here:

http://images.usatoday.com/life/cyber/tech/review/_photos/dataplay.jpg

I was sure they were going to make it big. And now I’m sure I’m the only one interested.

I was thinking Mini-Disk which is something different than this.

Back on topic though. The NVM Express/Open Fabrics driver *is*
released. Don seems to have had trouble with it, but its worked fine
for me. I know that the source is being used as the foundation for
drivers that multiple manufacturers are planning to release with their
products. That driver is pretty much the only game in town because
everyone outside Microsoft needs to support OSes before Win8.1. The
alternative is to write your own driver. NVMe isn’t terribly complex,
so it’s not that bad of a job. However, a lot of work has gone into the
OF driver, it seems silly to duplicate the effort. You can’t ship some
random driver without testing it with your hardware, so you’re going to
need to test a driver (either the OF driver or a home grown driver)
either way.

Even if you can target Win 8.1 and later, the Microsoft driver has a
critical flaw. Microsoft decided to now allow NVM admin pass through
commands for security reasons. That may be great for security, but it
cripples the devices from an administrative functional capability.
Upgrading firmware or setting up namespaces are out of the picture with
Microsoft’s driver. You can always ship a bootable Linux CD for users
to use to administer their Windows hardware I guess.

Jeff

Jeff,

My data comes from high cpu count / large memory / high stress testing,
where the stock OFA driver would always crash in a few hours. Not sure how
you are testing, but without the stress the large systems gave, things would
run fine for days. This just shows the old argument of have a large number
of CPU’s and stressing a driver is the best way to find locking and
multi-threading edge conditions. Of course with the OFA driver a good code
review makes one ask did the authors know what locking is?

Don Burn
Windows Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Jeff Glass
Sent: Monday, February 24, 2014 1:12 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] Windows driver support for NVMe

On 2/24/2014 9:23 AM, xxxxx@osr.com wrote:

The name of this thing been haunting me all morning. The technology was
called DataPlay. Picture here:

http://images.usatoday.com/life/cyber/tech/review/_photos/dataplay.jpg

I was sure they were going to make it big. And now I’m sure I’m the only
one interested.

I was thinking Mini-Disk which is something different than this.

Back on topic though. The NVM Express/Open Fabrics driver *is* released.
Don seems to have had trouble with it, but its worked fine for me. I know
that the source is being used as the foundation for drivers that multiple
manufacturers are planning to release with their products. That driver is
pretty much the only game in town because everyone outside Microsoft needs
to support OSes before Win8.1. The alternative is to write your own driver.
NVMe isn’t terribly complex, so it’s not that bad of a job. However, a lot
of work has gone into the OF driver, it seems silly to duplicate the effort.
You can’t ship some random driver without testing it with your hardware, so
you’re going to need to test a driver (either the OF driver or a home grown
driver) either way.

Even if you can target Win 8.1 and later, the Microsoft driver has a
critical flaw. Microsoft decided to now allow NVM admin pass through
commands for security reasons. That may be great for security, but it
cripples the devices from an administrative functional capability.
Upgrading firmware or setting up namespaces are out of the picture with
Microsoft’s driver. You can always ship a bootable Linux CD for users to
use to administer their Windows hardware I guess.

Jeff


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer