Only 2 drives in a Ryzen RAID array?

Discussion in 'AMD MoBos' started by dvsman, Jan 3, 2019.

  1. dvsman

    dvsman 2[H]4U

    Messages:
    2,776
    Joined:
    Dec 2, 2009
    So I'm migrating from a 5930K setup to a 2700x+Asrock Taichi x470 setup and for the life of me I can't figure out how to move my 2 raid arrays.

    Using Windows and /or Intel RST I had a 4x SSD RAID0 and a 2x HD RAID1 - both were setup and worked without problems.

    Setting up my HD array (2x 3TB in RAID1) in the new rig was easy since it was a Windows RAID.

    My 2nd array originally under Intel RST, a 4x 1TB Micron M600 SSD in RAID0 I erased / unRAIDED and tried to setup fresh and new on the AMD.

    I can only get a 4 drive array to work if I use Windows built in Disk Management RAID0.

    Using AMD's RAIDXpert2 I can only do 2x drives in raid or multiple 2x drives in a RAID10 setup.

    Is there a 2 drive license limit in AMD setups that the old Intel RST didn't have?

    My main / boot drive are newer NVME m.2 drives so not in the RAID arrays / are not my primary drives anyway. It's just annoying to see them put an artificial limit / pay wall up if that's what this is.
     
    Last edited: Jan 10, 2019
  2. Dan_D

    Dan_D [H]ard as it Gets

    Messages:
    54,661
    Joined:
    Feb 9, 2002
    I'm not 100% sure on this. I've never tried to use more than two drives in an NVMe RAID 0 array as that's all I've ever had on hand for testing. That said, I don't think it will let you put more than two devices in a RAID array. There are two reasons for this.

    First, let's look at the feature slide for the various AM4 platforms:

    untitled-2.png

    You can see that there seems to be a two device limitation for NVMe devices. AMD CPU's have 4x PCIe lanes dedicated to NVMe storage. Essentially, using more than a single NVMe device usually results in a reduction in PCIe 3.0 lanes from 4x to 2x. However, there is a way to get around this.

    m2Slot.jpg

    Here is an example of GIGABYTE's X470 Aorus Ultra Gaming motherboard from GIGABYTE's product page. It shows the capability of utilizing two full speed PCIe x4 implementations for RAID 0. Unfortunately, its not quite that simple. If you look, the top slot is using all the bandwidth for the CPU's dedicated PCIe x4 storage lanes. The other slot uses 4x lanes which are only PCIe Gen 2.0 compliant. This tells us that these lanes are provided by the X470 PCH. As a result, there is limited bandwidth past that as the link between the PCH and the CPU is only 4x PCIe lanes.

    upload_2019-1-10_15-22-14.png

    Theoretically, there is nothing stopping you from using lanes in a PCIe slot and adding that drive to an array as well. Or is there? Well, there is actually. Like Intel's platform, AM4 can only split the primary PCI-Express x16 lanes or PEG (PCI-Express Graphics) lanes so many times. I know Intel can only split these lanes twice for either a x16/x0 configuration or a x8/x8 configuration. You can install whatever you like there, but the firmware would have to support a device in those lanes as part of the RAID array. Unfortunately, they don't. At least, not on LGA 1151. You have to upgrade to X299 and HEDT to do that. It's similar on AMD's side of the house as its PCIe lane allocation is similar.

    97820.png

    BTW, this is the same for X470 and X370. The chipsets are virtually identical. As you can see, the lane configuration is like Intel's in that the CPU has lanes predominantly dedicated to PCI-Express based graphics. The difference is that AMD also has 4x lanes included for NVMe storage as well. You can also see the PCIe 3.0 x4 link to the PCH and those lanes can be allocated however the motherboard vendor chooses. Some do not bother with additional M.2 devices and some like ASRock and GIGABYTE do. You may also note that some of the SATA ports are marked below. These are the ones that are allocated to PCIe based M.2 devices. You effectively lose SATA Express ports to grant support for additional M.2 devices. However, this is all part of the storage subsystem and is designed to allow RAID configurations and the like. The firmware and software are all there to make that happen.

    So let's look at your board:

    upload_2019-1-10_15-24-14.png

    The fine print is the key here. This tells us that the secondary M.2 slot is doing the same thing. It's using Gen 2.0 lanes tied to the PCH. If your board is the one above, (according to your signature) it only has two M.2 slots. So how are you getting a third NVMe device into the mix? Are you using it via a PCI-Express adapter? If so, its a no go in PCIE5. If you are using one of the slots allocated to the GPU, you can almost certainly use said device in Windows, but you won't be able to boot to it unless the UEFI has provisions to allow that. I don't believe it does. Beyond that, there isn't firmware provisioning to allow it. That is, you can't create such an array in the UEFI BIOS. I don't believe that would work in the UEFI BIOS either.

    The only way to get bootable devices out of those slots is if they have an Option ROM to allow for it. Even then, the motherboard has to be capable of booting to something like that. There are plenty of bootable PCI-Express based SSD's, but no way to connect them to the motherboard's storage firmware.

    The second reason for these difficulties is simple: AMD's storage and RAID implementations are no where near as flexible or as capable as Intel's. That's the bottom line. Motherboard manufacturers can easily pull all kinds of crap to get 3x M.2 slots onto a motherboard, but making it so that you can create a 3x drive RAID 0 array or something is a different matter. It may be beyond their ability to do so. The base BIOS for these boards comes from AMD. The RAID Xpert software comes from AMD. If your going to get into crap like that, they want you on HEDT. Frankly, its unusual to use two M.2 devices in a RAID array, much less 3 on the mainstream platforms from Intel or AMD.

    There are many reasons you do not see X470 based motherboards with 3x M.2 slots. You can get away with it on LGA 1151, but most companies wouldn't bother. I've seen this before on that platform and you end up bandwidth limited real quick. You can some write performance but reads are no better than a two drive solution. AMD's X470 wouldn't be any better. Actually, it's guaranteed to be worse at it.

    I don't know for certain that AMD's RAID Xpert can't create a 3x drive RAID 0 array, but on the hardware side, there are plenty of things working against it. Mind you, this isn't insurmountable either. Its possible to split the PCIe x4 lanes for dual x2 M.2 devices, but your bandwidth gets cut in half. No one wants that. So, on the hardware side its possible, but not worth while.

    You are also coming off of an HEDT platform to the mainstream platform which has more limitations. The only reason its faster than what you had is due to the advancements in CPU technology. The platform isn't all that much better and as you can see, is somewhat more limited.

    I did have another thought and that's using one of those 4x PCIe to M.2 adapters that could go in the second PCI-Express x16 slot which uses lanes that tie into the CPU directly. The performance would be there, but it won't be part of AMD's storage solution. Your only option there is to use Windows or something else to create the array. In other words, even if you used one of those 4 port M.2 to PCIe adapters in a slot connected to the CPU's PCIe controller, the RAID Xpert software will not be able to see it. Its basically as simple as that.
     
    Last edited: Jan 10, 2019
  3. demu

    demu n00b

    Messages:
    50
    Joined:
    Aug 26, 2013
    I guess you can always use WIndows soft RAID solution (Storage space) for more than 2 drives
    https://www.windowscentral.com/how-use-storage-spaces-windows-10

    • Simple: A simple storage space writes one copy of your data and does not protect you from driver failures. This option requires, at least, one drive, and each new additional drive adds another point of failure.
    • Two-way mirror: This option writes two copies of your data on the drives, which can protect your data from a single driver failure. Two-way mirror requires a least two drives.
    • Three-way mirror: This option works similar to the two-way mirror, but it writes three copies of your data on the drives, which will help you to protect your data from two simultaneous drive failures. Three-way mirror requires, at least, three drives.
    • Parity: Similar to the standard RAID 5 technology, Parity for a storage space writes your data with parity information on the available driver to help you protect your data from a single driver failure. This option requires a least three drivers.
     
  4. dvsman

    dvsman 2[H]4U

    Messages:
    2,776
    Joined:
    Dec 2, 2009
    Dan_D Just to clarify - I'm not trying to NVME RAID - I'm RAIDing standard 2.5" SSD drives. I mentioned the NVME as they were boot drive / fast storage (and I have since taken the 2nd NVME drive out to try to simplify things).

    On my previous x99 I had NVME as boot, then 2 RAID arrays.

    First is 4x 2.5" 1TB SSDs in RAID 0 - basically my STEAM/Origin/UPlay drive and
    Second RAID array is for my data 2x 3.5" 3TB HD in RAID 1 - basically a local backup of all my document files so if one HD bites, I'll have 1 still going. This data is also mirrored into a OneDrive / Office365 account .

    This setup worked perfectly under my x99 using Intel RST but AMD doesn't seem to be so generous. Right now I'm using Windows for both instead of going through a crazy song and dance AMD requires to use RAIDXpert2.

    Seriously if anything drives me back to building another Intel box, it's going to be Intel RST vs RAIDXpert2.

    demu that's what I'm using right now :-D
     
  5. Dan_D

    Dan_D [H]ard as it Gets

    Messages:
    54,661
    Joined:
    Feb 9, 2002
    You should be able to run more than one RAID array using SATA ports. Again, AMD's RAID solution isn't nearly as flexible as Intel's, but it should be able to do that. I'm fairly certain I've done it in the past.
     
  6. Boil

    Boil [H]ard|Gawd

    Messages:
    1,384
    Joined:
    Sep 19, 2015
    Okay, I did read all the above, but I am unclear...

    Is there (or might there be in the future) the ability to RAID (mirrored) two NVMe SSDs (for boot/OS/apps) & RAID (striped) two 2.5" SATA3 SSDs (for media/project files)...?!?
     
    Last edited: Jan 30, 2019
  7. Astral Abyss

    Astral Abyss 2[H]4U

    Messages:
    2,660
    Joined:
    Jun 15, 2004
    Shouldn't be a problem as long as your motherboard UEFI/BIOS supports NVMe RAID. May have to update your BIOS.
     
  8. dvsman

    dvsman 2[H]4U

    Messages:
    2,776
    Joined:
    Dec 2, 2009
    I don't think its the lack of capability. I think AMD can certainly do it BUT it looks like AMD and their software partner (who makers their raid software) wants to charge money if you go above a certain number of drives in certain use cases.

    Like I stated before, in my old intel rigs all I did was plug everything in, set bios to RAID then setup the array via Control+I. Install Intel IRST and bam done.

    AMD you have to do all sorts of nonsense and then go through some licensing BS and I still couldn't get it to run right (4x 1tb 2.5" SSDs in RAID 0 = 4tb).
     
Tags: