Custom Fusion Drive isn't reaching NVME (Blade SSD) speeds...

Discussion in 'iMac' started by DaSal, Feb 9, 2019.

  1. DaSal, Feb 9, 2019
    Last edited: Feb 9, 2019

    DaSal macrumors regular

    Joined:
    Mar 19, 2008
    Location:
    The Netherlands
    #1
    EDIT: Solution in post #10

    So my iMac 5K had a standard 2TB Fusion drive (2TB HDD + 120gb NVME/Blade). It functioned allright when running off the NVME but would slow down to a crawl when working with files or editing files that were on the spinny disk.

    However, when running a Black Magic Disk Speed Test the fusion drive did get read write results around like 2000 MB read, 1500 Mb write - something like that. It would reach NVME speeds because the Fusion Drives incoming writes to the NVME part of the fusion drive. Edit: NVME speeds for this model are 750 MB writing and 2500 MB reading speeds.

    Now I upgraded the spinny disk to a 1TB SDD so that performance wouldn't suffer when not using the NVME - and I refused them into a fusion drive. (So 1TB SSD + NVME). This seems to have worked properly - I do see the correct fused file size.

    However, now in speed test I get around 70 Mb writing and 500 MB read. Which is weird because... Well it should be able to write a lot faster. The odd thing is that the read speeds are correct. It also looks like it's prioritising the SSD for writes and reads instead of the NVME.
    EDIT:I enabled Trim for the SSD and am now getting around 450/500 MB, so that's resolved. However it should still be reaching the NVME speeds instead of the SSD speeds.

    Anybody have an idea how to fix it? Can I set which drive the fusion drive should use as the cache disk somehow?

    Thanks! Diskutil list:

    /dev/disk0 (internal):

    #: TYPE NAME SIZE IDENTIFIER

    0: GUID_partition_scheme 121.3 GB disk0

    1: EFI EFI 314.6 MB disk0s1

    2: Apple_APFS Container disk2 121.0 GB disk0s2


    /dev/disk1 (internal, physical):

    #: TYPE NAME SIZE IDENTIFIER

    0: GUID_partition_scheme *1.0 TB disk1

    1: EFI EFI 209.7 MB disk1s1

    2: Apple_APFS Container disk2 1000.0 GB disk1s2


    /dev/disk2 (synthesized):

    #: TYPE NAME SIZE IDENTIFIER

    0: APFS Container Scheme - +1.1 TB disk2

    Physical Stores disk0s2, disk1s2

    1: APFS Volume Hyperfusion 196.8 GB disk2s1

    2: APFS Volume Preboot 49.1 MB disk2s2

    3: APFS Volume Recovery 517.0 MB disk2s3

    4: APFS Volume VM 2.1 GB disk2s4
     
  2. chabig macrumors 603

    Joined:
    Sep 6, 2002
    #2
    I don't know the answer to your specific question, but want to point out that the reason for using a fusion drive is solely because spinning disks are slow. Since you've replaced the hard disk with an SSD there is no reason to create a fusion drive. You should simply use the SSD as a second drive. If you must combine the space on the two devices, then use RAID, not fusion. Follow the instructions from Apple to create a concatenated (JBOD) set.

    https://support.apple.com/guide/disk-utility/create-a-disk-set-dskua23150fd/mac
     
  3. DaSal, Feb 9, 2019
    Last edited: Feb 9, 2019

    DaSal thread starter macrumors regular

    Joined:
    Mar 19, 2008
    Location:
    The Netherlands
    #3
    I've seen this advice in a lot of places - however it's a bit short sighted. The blade ssd in the iMac is still about 5x faster than the SATA SSD. Which means that relatively speaking, the SSD is still slow compared the NVME.

    Actually, the performance difference between the SATA SSD and the built-in NVME is bigger than the difference between a spinny disk and a sata SSD.

    Which means that the fusion disk should still be able to speed up the system. (Roughly 2000 write and 2300 read compared to 450 write and 500 read. That's 4x faster) Edit: NVME speeds for this model are 750 MB writing and 2500 MB reading speeds.
     
  4. Fishrrman macrumors P6

    Fishrrman

    Joined:
    Feb 20, 2009
    #4
    The answer:

    DON'T "fuse" the two SSDs together.
    DE-fuse them, and run them each as "standalone" drives.
    I predict that if you do this, things will go better.
     
  5. DaSal, Feb 9, 2019
    Last edited: Feb 9, 2019

    DaSal thread starter macrumors regular

    Joined:
    Mar 19, 2008
    Location:
    The Netherlands
    #5
    That's literally just giving up - not a solution or answer to my question at all.

    I understand a lot of people find this 'pointless' - however the fact remains that an NVME is 4x as fast as the built in SSD - and fusing them should improve performance (HDD+NVME results in 2000/2500 MB speeds - SSD+NVME should be the same). Edit: NVME speeds for this model are 750 MB writing and 2500 MB reading speeds.

    I'm just looking for a solution on how to get the Fusion Drive to actually use the NVME's speed (like it did with the HDD+NVME Fusion Drive).
     
  6. meson macrumors regular

    Joined:
    Apr 29, 2014
    #6
    Sure if you just average the read/write speeds, however the fusion process does not treat the drives equally, and likely will spend more time writing to the SATA drive. The OS will dynamically shift files back and forth between the drives based on how often certain things are used.

    Also keep in mind, if one disk fails in the fusion set, then the data on the set becomes bunked up. Whereas, if you keep the two separate or as a RAID array, you are in a better position if things fail.
     
  7. chabig macrumors 603

    Joined:
    Sep 6, 2002
    #7
    That will never happen because the NVME only holds a little less than 10% of the capacity.
     
  8. Fishrrman macrumors P6

    Fishrrman

    Joined:
    Feb 20, 2009
    #8
    chabig wrote:
    "That will never happen because the NVME only holds a little less than 10% of the capacity."

    Chabig is completely correct.

    The OP wrote (regarding my advice to split the fusion drive into separate components):
    "That's literally just giving up - not a solution or answer to my question at all."

    No, sir.
    YOU are wrong here.
    If you want "nvme speeds" from the nvme drive, THE LAST THING you want to is to "shackle it" to a SATA drive, which is much slower.

    The solution I provided is the correct one.
     
  9. DaSal, Feb 9, 2019
    Last edited: Feb 9, 2019

    DaSal thread starter macrumors regular

    Joined:
    Mar 19, 2008
    Location:
    The Netherlands
    #9
    Both are incorrect. When using a Fusion Drive the intended/expected behavior is for incoming writes to prioritize to the fast drive and for the most often used files to stay on the fastest drive.

    Just boot up any iMac with an official fusion drive with a spinny disk + NVME and run a speed test and you will see that you will get NVME speeds as the result. (I’ve tried this myself - and it works)

    So to summarize, when it was HDD + NVME I got 2000/2500 MB in speed tests. (Because those are incoming writes and are thus always written to the NVME, not the spinny disk) Edit: NVME speeds for this model are 750 MB writing and 2500 MB reading speeds.

    Now with the SDD + NVME fusion drive I’m getting about 500/500. So actually 4x slower. Now I know this is not an official solution so it might be possible that it won’t end up working - but it’s also not the intended/expected result. I should still get the 2000/2500 MB results in incoming writes; just as before.

    EDIT: here’s a blog post demonstrating someone that did the same thing on a Mac Mini, and it does work as intended. He made a NVME + SSD Fusion drive and gets the expected results: NVME speeds. https://macintoshhowto.com/advanced/fusion-drive-on-osx-with-two-ssd-drives.html (I realise that it also turned out to be unstable -- it isn't for me, it's rock solid. But I'm not getting the speeds like he is. Either way - using the correct methods it should be possible to get both - stable and fast)

    Just not sure why it’s not working for me since it’s set up in the same way.

    I appreciate the attempt at helping but just spreading misinformation based on a misunderstanding of what a fusion drive is supposed to do and how it is supposed to function is not exactly helpful.
     
  10. DaSal, Feb 9, 2019
    Last edited: Feb 9, 2019

    DaSal thread starter macrumors regular

    Joined:
    Mar 19, 2008
    Location:
    The Netherlands
    #10
    Correction earlier post: The NVME speeds mentioned earlier weren't quite accurate for this machine. The NVME gets around 750MB writing speed and 2500 MB reading on the stock fusion drive setup (HDD + NVME). (Also see: )

    Update: I resolved it. Now getting the expected NVME reading and writing speeds on my SSD + Fusion drive setup. (755MB Writing and 2480 MB reading in my last test)

    Here's a write-up on how it works.

    How to make an APFS fusion drive (SSD + NVME)

    Boot into internet recovery > option CMD R.

    Open diskutilty and unmount your drives.

    Make sure the drives are ‘fresh’ (not already APFS partitioned, otherwise it will fail), by creating a new HSF filesystem on the drives. (Workaround, but it works, quick and easy.)

    diskutil list

    Note the disk numbers of the drives you want to use (primary drive (fast drive) and secondary (slow drive). Example: disk0 (fast) and disk1 (slow). Replace examples with your own disk numbers.

    diskutil cs create Fusion disk0 disk2

    Now that they’re HSF again we can make them into an APFS Fusion drive. Use the commands -main and -secondary to assign which drive will be the fast drive (-main) and which drive the slow drive (-secondary).

    For the APFS container we’ll need not just the disk numbers, but the actual partition which contains the bulk of the storage. If you run diskutil list you will see that for instance, disk0s2 might be the actual storage capacity on disk0. Use this in the following commands.

    diskutil apfs createContainer -main disk0s2 -secondary -disk2s2

    It’ll create an empty APFS container now. (I don’t quite understand how this works so don’t ask me.)

    At this point you should be able to add the volumes to the container using addVolume in the terminal, but this didn’t work for me.

    Close the terminal and open Disk Utility. Click partition and choose add volume. Create a new APFS volume and give it a nice name.

    Go back to the terminal and run diskutil apfs list. Now you should get a list of your new volume — for your fast drive (disk0) it should say Main and for your slower disk it should say (aux).

    Now install MacOS as usual.

    If you’re using a non-Apple SSD after installing MacOS run - sudo forcetrim enable - in the terminal and restart.

    Download BlackMagic Disk Speed Test from the App Store (Free) to test if you’re getting the expected speeds.

    Enjoy!

    [​IMG]
     
  11. StanageEdge macrumors newbie

    Joined:
    Jan 19, 2010
    #11
    Great work DaSal.

    I just bought a new 2017 iMac 27 with 1TB Fusion drive (i.e. 1TB spinny + 32GB NVME). It was cheap. I knew the 1.032GB Fusion has a reputation for being slow (back to spinning speeds) once you've got anything like a working set of apps going. I was planning to just boot off an external USB 3.1 1TB SSD via the Thunderbolt port and lose the NVME burst speeds but still have a much faster (400 - 500 MB/s) system than the spinning disk ones I'm used to.

    Then I saw your post. I'd like to do same as you with a 1TB SATA/USB 3.1 SSD. A couple of questions:
    1. You say you upgraded your spinny - did you do this by cracking open the case or just by adding an external USB 3.1/Thunderbolt unit? If I understand correctly there's no speed advantage to fitting to internal SATA.
    2. If it all goes wrong what are your thoughts on restoring a system back to factory?
     
  12. mikehalloran macrumors 65816

    Joined:
    Oct 14, 2018
    Location:
    The Sillie Con Valley
    #12
    Bla bla bla... yak yak yak... Ohhhh charts and graphics ... how shiny!

    Fisherman is on the right track. Divorce the NVMe from the SSD for max performance. None of your tests, graphs and charts will change this. That, by itself will not eke out the max performance from a 2017 iMac i7 — for that, you need to do a bit more.

    Replace the blade with a 2TB 970 EVO but wait a couple of months when the 2TB 970 EVO Plus is released (the 250G – 1TB are already shipping and they are faster).

    Install a SATA III SSD on the other bus if you want internal storage—or don’t. Do not tie it to the blade. Max performance for external storage will be an NVMe 3x4 blade over TB3 such as the Samsung X5. You can get the same speed with the right RAID array over TB3.

    There is no way for a fusion array to not suck at some level. The current low prices for silicon make fusion arrays obsolete.
     
  13. DaSal thread starter macrumors regular

    Joined:
    Mar 19, 2008
    Location:
    The Netherlands
    #13
    Cool! You'll definitely see a big improvement going to a full-solid state solution. The Fusion Drive is ok but it still slows the system down when accessing files that aren't stored on the NVME portion of the Fusion.

    About the USB 3.1 external SSD - a word of caution. I tried this before, and it didn't work for me. (Samsung T5). The MacOS installer just wouldn't see the drive as an option for installing. I didn't look much more into it - it might be possible to clone a MacOS installation onto it - but the installer wouldn't detect the drive automatically. I *think* it's only supposed to work that way when you have an actual Thunderbolt 3 drive (not USB Type-C).

    To answer your questions:

    1. I opened the case. However I did not remove the original spinny disk since that's a much more involved procedure. I simple used it's cable and stuck the SSD to the inside. This is the guide I used https://www.ifixit.com/Guide/How+to+Add+An+SSD+To+The+27-Inch+iMac+(Late+2015)/67309

    Keep in mind that it's still a tricky installation and doing it was honestly quite nerve wrecking. If you use this guide be careful with the pencils because they can slip. Keep in mind that you'll need a thermal sensor to get the fans to work again (if you don't add this then the fans will always run on full blast). Also you'll need new glue, this kit works: https://eshop.macsales.com/item/OWC/DIDIMACHDD12/

    There's not necessarily a benefit over doing it externally however if you're going external I'd recommend getting an actual Thunderbolt 3 drive (not USB Type-C) and you'll want to avoid making a fusion drive. The reason is because if the external drive ever gets disconnected while the machine is on or sleeping the Fusion Drive will probably break/corrupt. Also not sure how the Fusion Drive will like running over a thunderbolt port. Might not even work.

    2. You can simply boot back into internet recovery and reformat the drives to a traditional setup and reinstall.

    What are your - factual - reasons for saying a 'fusion array' will always suck on 'some level'. What level? Be specific. Include shiny charts and graphs and benchmarks to back up your claims. I provided them - if you wanna claim I'm wrong you're going to have to prove that I am.

    The comparisons to RAID arrays are moot - they serve completely different purposes and have different strengths and weaknesses.
     
  14. timme macrumors newbie

    timme

    Joined:
    Aug 13, 2014
    #14
    Could you please help me how to undo this. I created a fusion partition like you explained here how to do. But I can’t undo it. If I type “diskutil cs list” it says there is no core storage to be found. Please help.
     
  15. mikehalloran, Mar 6, 2019
    Last edited: Mar 6, 2019

    mikehalloran macrumors 65816

    Joined:
    Oct 14, 2018
    Location:
    The Sillie Con Valley
    #15
    Actually, it's quite easy to pop it out but, if you don't know the trick, it can be involved. Next time I go into one, I'll have to make a video.

    If it's a 3.5" drive, you need either of these adapters to replace the spinner. The other types get in the way.
    https://eshop.macsales.com/item/OWC/ADPSAS2535B/

    https://www.amazon.com/Fenlink-Inte...coding=UTF8&psc=1&refRID=HGVRK5ZF2VH311Q38QZR:

    The adapter will increase cooling efficiency but disconnecting the HDD is the most important thing. I wouldn't go back in just to do that.

    Later iMacs with a 2.5" drive don't need the bracket, of course.
     
  16. ondert macrumors 6502

    ondert

    Joined:
    Aug 11, 2017
    Location:
    Italy
    #16
    I have also 2017 5K iMac with 2TB Fusion drive (2TB HDD + 120gb NVME/Blade) and want to replace the hdd with a sata ssd. Does it really worth replacing it? I had a late 2016 mbp before and miss that ssd speed now. I found an apple reseller and they are going to replace the internal hdd with a sata ssd I'm going to buy. If it really helps for the latest iMac to run quite faster then I'll do the replacement. Do you have also any ssd model to recommend?
     
  17. chabig macrumors 603

    Joined:
    Sep 6, 2002
    #17
    Core Storage is only used for HFS+ disks, not APFS. If you followed the instructions in post #10, you have an APFS fusion drive. To undo that, use the apfs verb of diskutil in Terminal. Start by reading the manual (man diskutil). Concentrate on the command I've identified below, and see the examples at the end.

    CAUTION: I have not done this, but it should look something like:

    Find the Container Reference for your fusion drive: diskutil apfs list

    Note - The Container Reference is specifically identified by name, such as "disk1". In post #10, you can see it at the top of the terminal picture. It says, "APFS Container Reference: disk2 (Fusion)"

    Then destroy the fusion drive: diskutil apfs [Container Reference]
     
  18. naerct macrumors member

    naerct

    Joined:
    Mar 19, 2019
    Location:
    Southern NH
    #18
    All I can say is that you should listen to the regulars on this forum. It's obvious to me that Apple has pulled the wool over your BlackMagic speed test results. I would get rid of the fusion drive right away regardless of whether the big drive is an SSD or an old spindle drive. First of all 120GB is enough for a boot drives and I used that size for nearly the last decade, as long as you don't use it for data. I have a 2009 Mac Pro, and I get 2700MB/s reads and 2400MB/s writes with a 790 EVO. Just use the internal spindle drive for data only. For most people, this is the best solution for best speeds for booting and OS swap files, so they are always on the fast NVME SSD.
    BTW, you are also wrong with what you said about RAIDs.
    "The comparisons to RAID arrays are moot - they serve completely different purposes and have different strengths and weaknesses"
    Obviously, both RAID and Fusion systems are to speed up slow drives, just a different technology. Most RAIDs will work with any type of drives and increase the speeds significantly, and in some cases offer redundancy. It looks like if either drive in a Fusion system fails, you loose all your data! A two drive striped RAID has the same problem. I could stripe my two NVMe blades and get read speeds of over 5,000MB/s, but there are other considerations that BlackMagic speed tester doesn't consider.
    In any case, if you already have the SSD inside, just break up the Fusion drive for much better performance (and half of the failure rate), despite what the B/M tester says. Use the blade SSD as the boot, but put any software caches or swap files on the SATA SSD, so your scratch disks don't work against each other.
     

Share This Page

17 February 9, 2019