Contribute
Register

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

Status
Not open for further replies.

tonymacx86

Administrator
Staff member
Joined
Nov 17, 2009
Messages
7,367
Motherboard
Z370N WIFI
CPU
i7 8700K
Graphics
HD 630
Mac
  1. MacBook Air
Classic Mac
  1. Apple
  2. PowerBook
Mobile Phone
  1. iOS
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:
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.pngScreen Shot 2015-12-15 at 18.53.56.png
Screen Shot 2015-12-15 at 19.23.38.pngScreen Shot 2015-12-15 at 19.41.42.png
 
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
 
The driver installation instructions require permission changes:

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

How do you get around the "illegal user name" error?
 
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
 
Thank you for the information. Very nice.
 
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
 
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.
 
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?
 
Status
Not open for further replies.
Back
Top