Contribute
Register

OS X Driver for NVMe M.2 Solid State Drives Released

tonymacx86

Administrator
Staff member
Joined
Nov 18, 2009
Messages
8,469
Motherboard
GA-Z270X-UD5
CPU
Core i3-7100
Graphics
HD 630
Mac
MacBook Pro, Mac mini
Classic Mac
Apple, PowerBook
Mobile Phone
iOS
#1
71VHZaxj-lL._SL1500_.jpg

Update: This thread is now obsolete as JimJ, the author of the below mentioned NVMe driver, no longer supports his driver which has not worked since El Captian (then, only as a non boot drive). It will not work in Sierra or High Sierra. Additionally, Apple's High Sierra now natively supports NVMe SSDs. For Sierra and earlier macOS, see RehabMan's [Guide] HackrNVMeFamily co-existence with IONVMeFamily using class-code spoof as his driver will allow NVMe SSDs to be used as boot drives.



Great news for those who want to use the same types of super fast solid state drives that Apple uses. NVM Express (NVMe) M.2 solid state drives are now working in OS X with a new driver by JimJ at macvidcards. Because of Apple's EFI, these off the shelf SSDs cannot be used as boot drives in a standard Mac. However, any CustoMac with M.2 slot running Clover can use them as boot drive.

Download the NVMe driver for OS X:

http://www.macvidcards.com/nvme-driver.html

EDIT 2016-07: Rehabman's patch-nvme script (HackrNVMeFamily) is now our preferred method for enabling NVMe. See here for details.

M.2 is really a small PCI-Express (PCIe) connector on a motherboard which provides bus interfaces for PCIe, SATA, and USB 3.0. The M.2 standard and replaces the old mSATA standard. These slots were first available on the 9 Series chipset (16/32 Gbps, PCIe x2/x4) and are now double the speed (32Gbps, PCIe x4) on 100 Series chipset. Adapters are also available for any standard PCIe slot.

Here's an example of a three native M.2 slots on the Gigabyte Z170X SOC FORCE (between the normal PCIe slots):

IMG_1553.jpg
There are three different types of standard M.2 drives. The first two use Advanced Host Controller Interface (AHCI); legacy SATA using AHCI and PCIe using AHCI. Fully functional drives such as the Samsung EVO M.2 (SATA using AHCI) and the Samsung SM951 M.2 (PCIe using AHCI) are already in the CustoMac Buyer's Guide. The third type is the new NVMe technology, only available over the M.2 PCIe slot. An example of this drive is the Samsung 950 Pro.

  1. SATA/AHCI drives are completely equivalent to normal SATA drives except with a different size/connector. Max bandwidth 600 MB/s. Example: 850 Evo M.2 (SATA)
  2. PCIe/AHCI drives use a faster connection than SATA/AHCI above, but still have the overhead of the AHCI protocol. Max Bandwidth 985 MB/s per lane (up to 4 lanes), but in practice limited by the protocol. Examples: Kingston HyperX Predator, SM941, SM951 AHCI
  3. NVMe drives have a streamlined protocol better optimized for solid state drive. Max Bandwidth 985 MB/s per lane (up to 4 lanes). Examples: Intel 750, SM951 NVMe, Samsung 950 Pro
Please note, some M.2 slots are keyed only for SATA and PCIe devices, and cannot accept NVMe devices. The most common SSD slot types are Type B or M for SATA drives; type M for PCIe or NVMe drives.

We've tested using the M.2 Samsung 950 Pro and the SM951 NVMe drives with success in OS X. To run the new drivers, install the NVMeGeneric.kext in Clover's EFI/CLOVER/kexts/10.11 folder and boot. The results show NVMe drives are some of the fastest SSDs available.

If you have tested using the new drivers, please let us know by sharing your results here!

Related:
https://en.wikipedia.org/wiki/M.2
71JdLAMaT2L._SL1500_.jpg
Device Size Amazon Newegg
Samsung 950 PRO 512GB Amazon Newegg
Samsung 950 PRO 256GB Amazon Newegg
 
Last edited by a moderator:
Joined
Jun 26, 2012
Messages
4,640
Motherboard
GA-Z87X-OC
CPU
i7-4770K
Graphics
HD4600+R9 380 4GB
Mac
MacBook Pro
Classic Mac
Mobile Phone
iOS, Other
#2
DRAFT : OS X Driver for NVMe M.2 Solid State Drives Released

Tested on the Asus Z170 Deluxe with a Samsung SM951 NVMe 128GB SSD installed in the M.2 port. Placed the NVMe driver in UniBeast USB/EFI/Clover/Kexts/10.11 this enabled the OS X installer to see the drive and allow me to install. Without this driver OS X was unable to even see the NVMe SSD.

In System Report it is showing under Storage devices as a PCI SSD. In About This Mac/Storage its showing as an External PCI SSD. This 128GB version has limited write speeds but the read speeds are notably quicker, larger versions of this drive offer much greater, consistent write speeds. As a boot drive it is fast. Having tested this drive and its brother the AHCI version(128GB), the AHCI version is faster at writing in OS X and just shy of the read speeds of the NVMe drive. Please take into account that the NVME drive isn't natively supported. Below are some benchmarks and screenshots of the Samsung NVMe SM951 128GB. If you are looking to buy one of these I'd recommend going for a 256GB version or larger.

Screen Shot 2015-12-15 at 19.20.57.png Screen Shot 2015-12-15 at 18.53.56.png
Screen Shot 2015-12-15 at 19.23.38.png Screen Shot 2015-12-15 at 19.41.42.png
 
Joined
Sep 1, 2014
Messages
3,463
Motherboard
GA-H87N-WIFI
CPU
Core i7-4790S
Graphics
GT 740
Mac
MacBook Pro, Mac mini
Classic Mac
Mobile Phone
iOS
#3
Interestingly, I get different read speeds on the same 950 Pro drive on different machines. Maybe a bandwidth limit to the slot?

On the left is the Broadwell NUC5i5RYK, and on the right is the Skylake ASRock Fatal1ty Z170 Gaming-ITX/ac:

950-5i5.png asrock-speed.jpg
 
Joined
Jan 8, 2011
Messages
12
Motherboard
GA-Z87X-UD5 TH
CPU
i7-4770K (3.5GHz)
Graphics
NVidia GTX 1070 Founders Edition
Mac
MacBook Air, MacBook Pro, Mac mini
Mobile Phone
iOS
#5
The driver installation instructions require permission changes:

"sudo chown –R 0:0 NVMeGeneric.kext"

How do you get around the "illegal user name" error?
 
Joined
May 28, 2011
Messages
31
Motherboard
GA Z170X-UD3
CPU
i7-6700K
Graphics
GTX 680
#6
What about boot time?
Is it faster than regular SSDs?

Can you please (or someone with M.2) record a video showing boot time, opening apps and stuff like that?

Thanks
 
Joined
Oct 22, 2012
Messages
3
Motherboard
x
CPU
I7-3770
Graphics
GTX 760
Mac
Mac mini, Mac Pro
Classic Mac
Mobile Phone
iOS
#7
Thank you for the information. Very nice.
 
Joined
May 23, 2011
Messages
435
Motherboard
Asus Maximus VII Hero
CPU
Core i7 4790k
Graphics
7970 Sapphire Ghz Edition
Mac
MacBook Pro
Mobile Phone
iOS
#8
What sort of performance gains would one expect on a Z97 board that's capable of NVME?

It doesn't sound like the latest Skylake stuff is as stable yet so I'm not ready for a new motherboard. That said I would be ready to jump to NVEE and then just transplant that drive to a new motherboard in the future
 
Joined
Oct 5, 2011
Messages
110
Motherboard
Asus X99DX2 1601-unLocked
CPU
Xeon-E5 2696v4-OEM
Graphics
Nvidia TITAN Xp
Mac
Mac Pro
Mobile Phone
iOS
#9
This is my experience so far with this driver, and I'm running Yosemite 10.10.5 on X99 Deluxe i7 5960X. I boot up to my desktop and I'm using my Samsung XP941(AHCI) m.2 on my PCI-e extension card, Then instal my Samsung 950Pro nvme to my m.2 slot bouts to my desktop and I wasn't recognize not where in OS X, but as soon as I crack open kext wizard and install the kext, a pop up message of TIME Machine asking me to use the new drive was available. So I have full access to my Samsung NVMe 950Pro M.e version of SSD. I haven't test if will be able to be bootable. I will use CCC to test and post later results.
 
Joined
Aug 29, 2011
Messages
19
Motherboard
Gigabyte Z68X-UD3H-B3
CPU
Core i7
Graphics
AMD Radeon HD 6870
Mac
Classic Mac
Mobile Phone
#10
Can you expand on this statement please: "Placed the NVMe driver in UniBeast USB/EFI/Clover/Kexts/10.11 this enabled the OS X installer to see the drive and allow me to install."

I just bought an
Intel 750 Series AIC 400GB PCI-Express 3.0 x4 MLC Internal SSD today. I updated the BIOS on my Gigabyte Z97X-UD3H, and BIOS can see the drive. The El Cap installer cannot, however. Nor can the Yosemite Disk Utility (no surprise there).

What steps do I need to take to inject the driver at Unibeast install time?
 
Top