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

@ Ludolf:

Since there is already a thread about the topic “NVMe Support”, I would rather like to merge this thread with >this< one. It would make it easier for visitors to find an answer to their NVMe related questions.
What do you think about this idea?



Thats the point: Is booting possible with NVMe-support? If not, perhaps it is recognized in AHCI-mode and the loaded driver of the OS enables NVMe. I read a few postings, that it isn’t possible to use NVMe-based SSDs on some mainboards as a startup-volume until the BIOS got an update.

Fernando, that would be ok. You can merge both threads.

Done!

My mainboard has no dedicated NVMe UEFI modules or legacy OROMs.
Legacy boot is not possible, since it is not detected due to missing OROM.
It is not recognized as AHCI, nor as IDE. There is only an “Intel Corporation Mass Storage Controller” displayed in my UEFI System Browser (ASRock feature).

Since you are talking about an Apple system, I really don’t know if it is supported.
AFAIK the 12-inch MacBook (early 2015) is the only NVMe compatible system out there.

hi!
i have an i7-3930k with a sabertooth X79 and as many of you i will buy intel SSD 750
despite of many web reviews that says it is incompatible!

as soon as i wil buy it next month i give you a report!

meanwhile i have found others test on X79 platform

https://imgur.com/a/btmQJ

http://www.overclock.net/t/1546154/cb-in…heet-leaked/180

bye!

PS: i think that PCI-E Version intested of 2.5"" as internal nvme efi module as old OROM of classical RAID controller …

@mr_nuub

this is my current raid0 2x sam 830 pro



as you have 2x 840 pro before intel 750

i would like to know if you feel the difference
while using pc.

best regards

@mr_nuub

If you don’t mind flashing your board, can you test your bootable NVMe with Intel RST 12.7 or 12.9? This may be a long shot, but it is better to clear this out of the table. There is nothing NVMe related in your original firmware.

I am seeing this in Intel RST after 13.1 :

RST_NVMe.png



There is also this screen. Why would they mention NVMe and PCIe in the traditional RAID drivers? I am assuming that UHOH is an acronym for Unknown Hub Or Host?

RST_UHOH.png



In your case, even if the SSD is bootable as is, it wouldn’t hurt to insert the NVMe EFI drivers. However, there is a risk with this scenario and nobody is forcing you to do it, neither is anyone recommending it. As a side note, Samsung and Intel current and future NVMe drives.

NVMe_SSD.png

@ lordkag:
Can you please upload Samsung’s latest NVMe driver v1.4.7.6 or give us a link?
By the way: Your speculations regarding the relationshilp between NVMe and Intel’s Rapid Storage Technology are very interesting - thanks for havng posted them!

@ all:
>Here< is an article about the compatibility of the Intel 750 Series PCIe SSD.
Summary:
1. As a second (not directly bootable) drive the Intel 750 Series PCIe SSD is usable with all Intel Chipsets from 6-Series up. Even a dual-boot system including the Intel 750 SSD is possible (but the boot sector has to be on another drive).
2. Only some Z97 and X99 Chipset mainboards do natively support the usage of an Intel 750 Series PCIe SSD as bootable drive.

Samsung NVMe driver is attached. I don’t have much hopes about Intel RST supporting NVMe, considering that not all users have succeeded. If mr_nuub can get his SSD to boot even with 12.7 and 12.9 EFI drivers, then this is a definitive proof that RST has nothing to do with it. If it will fail, there is something to investigate for all others who currently own NVMe drives.

What we really need is for a brave user to insert the NVMe EFI drivers into his unsupported platform and communicate the result.

Samsung NVMe Driver 1.4.7.6.rar (43.5 KB)

Thanks!

Since I got access to an Intel 750 PCIe SSD, I will test it with my ASUS P8Z68-V mainboard.
If you should not have an other/better idea, I am planning to insert the untouched NVMe modules, which I have extracted from the latest ASUS Z97 DELUXE BIOS 2401.

You probably meant 2401 version? I remember that 2205 version had a slight code change and that change was kept in the latest 2401 UEFI firmware. I would recommend the NVMe drivers from Z97-PRO, for two reasons: your card is not a Deluxe version like GRYPHON-Z97, SABERTOOTH-Z97, Z97-DELUXE - those usually have a different code-base; the drivers from Z97-PRO have a newer time-stamp.

Yes, it was a typo, which has already been corrected by me.

Thanks, I will follow your advice and report here, when I got a result.

Besides inserting the NVMe drivers, it would be interesting to also test the RST case. Have the RST EFI driver updated to a version higher than 13.1 and the controller switched to RAID, to see if the RAID controller somehow picks this NVMe drive as a standalone drive. Although I still don’t understand how this would work.

@ lordkag:
I just have compared the Nvme.ffs files, which I had extracted from the BIOSes v2401 for the ASUS mainboards Z97 DELUXE, Z97 PRO and Z97-A.
The only differences:
1. Byte at offset 0x11 (seems to be just the checksum correction) and
2. at least 3 bytes at offset 0xDC-0xDE.

I will test it as well. Natively the BIOS of the ASUS P8Z68-V doesn’t contain any EFI RaidDriver (resp. SataDriver) module. So I cannot update, but simply insert it.

I think you got them mixed up, because the last time I checked it was like this:

NVMe.png



The selected ones have a version, the others have another version. I don’t know what makes them special, to have a different code base, but maybe Asus sees them internally as Deluxe cards for a specific segment. I know there are much more Z97 cards than that, as it can be viewed here, but I selected a representative sample. The new 2401 version seems to have the same code as the corresponding 2205, with the changes you mentioned: 0x11 - data checksum, 0xDC-0xDF - timestamp. And here is the date between Deluxe and Pro:

Stamp.png



The code itself (for NVMe) is not that different between Deluxe and Pro. I see just a few variables being switched, with the backbone being the same.

No, it doesn’t.
I just have tested it with my Z97 system. The loaded Intel EFI RaidDriver is v13.5.0.2164. All connected SATA drives are listed by the Intel(R) Rapid Storage Technology Utility, but not the Intel 750 PCIe SSD.
By the way: This Intel 750 SSD isn’t listed at all within the "Advanced" section of the AS Rock Z97 Extreme6 UEFI BIOS.

@ all:
Today I have done the promised tests with my Z68 system.
The question was: Is it possible by a BIOS modification to give an Intel Z68 or Z77 Chipset System the ability to boot off an NVMe supporting PCIe connected SSD like the Intel 750?

And my short answer is: Yes! I succeeded at first try!

Here are the details about the test system: Mainboard: ASUS P8Z68-V with the latest BIOS 3603, System Drive: 500 GB Samsung 840 Pro SSD, OS: Win 8.1 x64 installed in UEFI mode. SATA Mode: AHCI.
And here are the details of my main system: Mainboard: ASRock Z97 Extreme6 with the latest BIOS 2.30 and native NVMe support, System Drive: 400 GB Intel 750 PCIe SSD running with NVMe, OS: Win10 x64 TP Build 10147 installed in UEFI mode.

This is what I have done:

  1. As first step I have inserted the Intel 750 PCIe SSD into my Z68 system (without changing anything else).
    Result:
    The OS Win8.1 x64 (which natively has an MS NVMe driver named STORNVME.SYS) detected at once the Intel 750 PCIe SSD and showed it within the Disk Management and - inclusive all folders and files - within the Windows Explorer. The Intel NVMe Controller was listed within the “Storage Controllers” section of the Device Manager as “Standard NVM Express Controller”.
    Although everything seemed to work fine, I replaced the MS NVMe driver by the latest Intel NVMe driver v1.2.0.1002 WHQL.
  2. As next step I flashed a modded version of the BIOS 3603, which I had prepared previously.
    Procedure:
    • I simply inserted (besides the Intel RaidDriver v12.9.0.2006) the 3 untouched NVMe modules named Nvme, NvmeSmm and NVMEINT13, which I had extracted from the ASUS Z97 PRO BIOS 2401. The insertion worked without any error message.
      This is what the AMI AptioIV MMTool showed after the successful insertion:

      NVMe modded Z68 BIOS.png

    • The EZ flashing was done within the Z68 mainboard BIOS using the modded BIOS, which was on an USB Flash Drive.

    Result:
    The BIOS flashing procedure was successful.
  3. Then I unplugged all drives of my Z68 system except the Intel 750 PCIe connected SSD.
  4. As next step I entered the BIOS and redid my previous settings.
    These were the chosen settings within the "Boot" section:
    • "PCI ROM Priority": EFI Compatible
    • "Option ROM Messages": Keep Current
    • "Boot Option #1": Windows Boot Manager
  5. After having powered off the Z68 system completely for ca. 1 minute, I started the computer:
    Result:
    After having detected and re-arranged the changed hardware the Z68 system booted instantly into the OS Win10 x64, which had been installed while the Intel 750 SSD was part of my Z97 system.

By the way: Here are some benchmark results I got with the Intel 750 PCIe SSD running Win10 x64 TP Build 10147:

Anvil-Z97-Intel750-Win10TP-Intel-v1.2.0.1002.png

ASSSD-Z97-Intel750-Win10TP-Intel-v1.2.0.1002.png




@ lordkag:
What do you say now?
Thanks for your advice to take the NVMe modules from the ASUS Z97 Pro BIOS.

Best regards
Dieter

EDIT at 02/12/2017: The above report about my first successfull NVME drive test with an Intel Z68 system was written in June 2015 and is not up-to-date anymore regarding the inserted NVMe modules. Meanwhile there are better and universally usable NVMe BIOS modules available. Please look into the start post of this thread, if you want to know how to get an NVMe SSD bootable with an old system having an UEFI BIOS.

Great results. Congratulations.
Is 750 on pcie 2 or pcie 3?

If you mean my ASRock Z97 Extreme6 mainboard, it is within the PCIE2 slot.
During my tests with the ASUS P8Z68-V board I had inserted the Intel 750 into the PCIEX16_1 slot.

Thanks for testing. Good to know!

But back to my question few weeks ago: So NVMe depends on chipset and bios? Would it be possible to integrate NVMe in older UEFIs? And what about the Mac Pro. It has Intel X58-chipset.