[HowTo] Get full NVMe Support for all Systems with an AMI UEFI BIOS


I am willing to test it, like I mentioned before. I just need 2 weeks to order a drive and receive it (yep, austrian mail service is slow).
As long as I can revert to my current BIOS everything should be fine.

SkOrPn: You mentioned that you have the ASUS NVMe rom. Would it be complicated to include this rom in the latest ASUS P8Z77-V UEFI (v2104)? If not; would you mind sharing it?
I would love to get my Intel 750 bootable on my old Z77 motherboardā€¦ :slight_smile:


All I did was download an Asus BIOS that already has NVMe support. You can do the same thing. I have not tried extracting it from the bios as of yet. Just download a BIOS from one of their current ROG series, it should have NVMe already built in.

@mr_nuub

If you have the hardware and willing to put it in the line of fire, ignoring all outcomes, without coming here to complain that weā€™ve ruined a very priced hardware, then I can provide some test files. There are some risks, you should know from the beginning. Last time I advised someone to borrow some Marvell EFI drivers from AptioV to his Asrock X79, I remember he had boot problems. And it was only DXE drivers, not as dangerous as SMM or Int13. Maybe the EDK2 driver is safer, but you have to find someone to compile it from the latest sources, because I have a very old version. Not sure if the one from Clover is good.

If you are up to it, we can start with EDK2 only, move to AMI without SMM or Int13, then AMI + Int13 + SMM. But you might as well ask Asrock for a beta BIOS, it will be a win-win situation for all.

But those are AMI drivers and compiled from AMI sources with some OEM modifications for specific line of boards. You are lucky if you can get them to work in the first place, let alone to actually run them bug free. An independent version can be found on then official site. The one that you want is UEFI Driver, which points to EDK2 sources.

Speaking of NVMe, when is Intel releasing a chipset with NVMe support? Because an Intel RST NVME UEFI Driver is already in the wild.

My first test would be AMI DXE + SMM one because DXE driver really needs SMM part to work properly (I was wrong about it before) and TianoCore driver will not work in EDK1-based BIOS (which Aptio4 is)

UEFI NVMe driver is a logical interface driver (much like AHCI Driver), and doesnā€™t require any special support from hardware side, because the NVMe is a software protocol on top of standard PCIe bus.

So this Intel RST NVMe is not limited to a specific Intel generation? Then what is its value? It was built by Intel as an alternative to AMI and EDK2, but for their boards in mind?

Itā€™s a reference implementation for IBVs and other Intel customers to base derived products on (sources are available, if you can a contract).
I think there wonā€™t be any difference between UEFI portion of the driver from userā€™s point of view, but legacy part must be written by IBV devs because itā€™s heavily vendor-specific.

If only he would be willing to let me blow upā€¦ I mean grow up his board with new support. I had collected NVMe drivers from along time and by comparing the latest drivers from all manufacturers, I was quite surprised to see how similar they are. What Iā€™m worried about is the SMM driver.

They are compiled from the same Intelā€™s sources with some small additions (i.e. use of build tokens instead of PCDs and different BIOS setup organization). SMM part can be more specific and implementation dependent, but if you donā€™t mix DXE and SMM parts from different BIOS images - it should all be fine.


The Value is massive, it reduces latency by about 7 times. Currently AHCI has a maximum IOPs potential of 97,000. But NVMe will easily be capable in upwards of 7 to 800,000 IOPs if not more as it matures further. Using an x4 PCIe bus will give you an SSD that does around or better than 2000 MB/s, instead of SATAā€™s and AHCIā€™s max of 550 or so. MASSIVE Benefit if we want to move into the future of computing. Like CodeRush said, just like IDE and AHCI/RAID it is not a hardware technology. IDE, AHCI are software communication protocols that were designed to do the "communication" between the storage device (Hard Drive) and the storage bus (SATA). NVMe is intended to replace/compliment AHCI and was designed specifically for NAND/RAM type storage devices a.k.a SSDā€™s. NVMe is the first communications protocol made "specifically" for the characteristics of SSDā€™s. The only "real" hardware requirement is that you have PCIe, preferably 3.0 and above, and even then it should easily work on SATA as well. However, any system with PCIe will benefit massivelyā€¦

Most of the software groundwork has already been laid, and most all current Operating Systems already support NVMe natively. Its getting said code into our older legacy systems and functional that will be the real challenge.

I donā€™t think the benefits will be as MASSIVE as descrived. IOPS is not the most useful characteristic of a storage device (latency is much more important for me, and I donā€™t care if a device can go 800k IOPS if I have to wait 10 seconds for the first data bytes). NVMe is a new technology with many undiscovered pitfalls and problems, and I will not buy it until it matures.

Poor choice of words on my behalf. I wasnā€™t referring to the value of NVMe itself, since Iā€™ve read a few things about it, but to the availability of an Intel RST NVMe driver. But CodeRush already answered that question.

If Iā€™m not mistaken, a PCIe 3.0 x4 will go up to 4000 MBps, when it is not limited by DMI. And I donā€™t agree with the inclusion of IDE (ATA/PATA) next to SATA, but this is not the place and I donā€™t have the technical background to actually support my claim.


Iā€™m sorry, I was talking about what it will bring to MY system (our Legacy systems, such as my x58), lol which is PCIe 2.0 (and good enough for me lol). You are right it will be better on PCIe 3.0. Also, I was not talking about IDE as in the connector, but IDE as in the Protocol that AHCI replaced. I have not had a Motherboard with a IDE connector in a very long time, lol. I was only talking about the software protocols a.k.a "IDE > AHCI > NVMe".

IDE vs AHCI http://www.diffen.com/difference/AHCI_vs_IDE
AHCI vs NVMe http://www.anandtech.com/show/7843/testiā€¦ess-with-asus/4

Well, you are limited by both PCIe 2.0 and DMI. That IDE thing is confusing from the beginning. It was IDE, then ATA, then PATA. It can be used for interface, for operation mode and as in compatible mode for SATA. But the term IDE next to SATA shouldnā€™t be mentioned, even if SATA supports IDE emulation. Just because you can emulate something, doesnā€™t mean that you actually support it. So, IDE connector, IDE interface, IDE emulation should be preferred instead of simple IDE, whenever it is possible.

But back on topic, M.2 is also catching up the wave.


This thread is about a "software interface protocol" named NVMe and the possibility of enabling it into Legacy BIOS. M.2 is a connector "type" and completely off-topic.

So, I agree please, lets get back on topic. Can we discuss NVMe and bringing it to the legacy BIOS? I have been thinking about contacting Intel to ask them for help with creating a module we can insert ourselves. Does anyone have any contacts at Intel? I worked for Intel for over a decade but I left in 2001 and not sure my old manager is still there. I would hate to call her after 14 years and ask if she knows anything about NVMe, haha that would be awkward to say the least.

I will try contacting them on Monday. I am already tired of wondering about this. I need some official word already, lol.

Bad news guys. I had my car repaired this month and now Iā€™m a little short on moneyā€¦
So we need to move the tests to next month or someone else wants to do them.

Iā€™ve got a Asus P8Z77-V motherboard and a Intel 750 PCIe NVME and Iā€™ll be happy to do some testing.

And how is that link off-topic? If you had read it carefully, you would have seen it is about M.2 NVMe SSD, not M.2 SATA SSD. I am sure both of us are trying to share some informations, without coming as knowing-all type, so you will please excuse me if Iā€™ll use some data that it is already known to you or anyone else.

Just because Intel 750 SSD is using a PCIe connector and Samsung SM951-NVMe is using an M.2 connector, it doesnā€™t make one more or less NVMe, they both use PCIe lanes and have NVMe interface. In fact you can put the Samsung in an add-in card and they will be the same, apart from their inherent performance. Do you think SM951-NVMe will boot with the current M.2 EFI drivers (SAMSUNG_M2_DXE, MDot2Driver, maybe a part of PcieSataController, maybe a part of SataExpress for MSI), which are M.2 SATA only (the first two) to my knowledge? If Iā€™m allowed to guess, Iā€™ll say it needs an NVMe driver, plus an updated M.2 EFI driver. They could make it to work with both AHCI and NVMe SSDs, but pure NVMe driver will still be needed.

It is not our fault the industry is not making clear distinctions. With the arrival of SATA Express bus interface and its baby M.2 connector, things have got harder to remember for those not in the industry and working daily with them. Iā€™ve read them a few times and Iā€™m still not capable of explaining without resorting to the specs. Just when you think M.2 can connect both SATA and PCIe, that it has M key, B key, both keys, that a specific combination of key(s) is used for a specific connection, you get a nice headache. Heck, even the basics like SATA 3 vs SATA 6Gbps or MB vs MiB are not yet fully hammered.

Returning to the issue, I have already expressed my support here. CodeRush is present to teach us or spank us, so there is not much else we can do without forcing you guys. Legacy is legacy, so you will not see an NVMe OROM. NVMe is not OEM specific, so you will not see a standard EFI driver (apart from EDK2 implementation and Intel concept). If the manufacturer wonā€™t update your EFI firmware, you have no alternative other than to borrow a pair of NVMe EFI drivers from a close related board and hope it wonā€™t brick on you.

But you have the right to say that M.2 and EFI is off-topic in this specific thread, concerning NVMe and LEGACY BIOS. But I can also say the entire topic is off-topic (just a form of saying, a simple joke, Iā€™m not being offensive or anything rude towards you), because you will never see a non-UEFI based implementation like an NVMe OROM. They hardly move in updating X79 and Z77/Z87 (UEFI based), no chance you will see an AMIBIOS with NVMe support. Your only chance is to wait for an NVMe SSD with the bootloader inside it, just like it happened with a few AHCI-based PCIe SSDs, one being Plextor M6e.