Question 3d raid arrays using NVME?

FreeBee101

Reputable
Jul 20, 2020
50
2
4,535
https://www2.cs.uh.edu/~paris/MYPAPERS/Icecet21.pdf

I'm assuming we will have this eventually, but could we implement this now with spliters and NVME slots on an existing motherboard?

Are there splitters for NVME that allow 3 NVME to be connected to one slot and simply send the data to all.(I'm assuming the answer is no.)

For instance if you took a modern board with 3 pcie 4.0 slots and had a splitter/stack that connected to the single slot, but would hold 3 stacked NVME of identical nature. The idea would be to simply have them all read/write at the same time. Maybe this could use SAS technology and recognize each drive. No idea how that works though. You could stack 3 drives per card along 3 slots and then theoretically treat them each like a mirror and stripe them. Or even more simply stripe the 3 slots and have them simply mirror via hardware duplication.

If the splitter simply had 3 stacked NVME and treat them like they were one drive is anything stopping you from simply doing this?
 
Faster read? For the fun of it and backups.

And if it's not a dumb raid, couldn't it theoretically be used to make smarter random accesses?! If you used sas or some naming convention then you could access multiple drives seaking data separately for reads for quicker access in the stack theoretically by trying to access up to 3 drives independently.

If it's a sqaure rade like 3x3x3 you could do this for writes also. As you could write 3 different parts of the data at once and them copy each data to the other drives later.
 
Faster read? For the fun of it and backups.
woooo.....

1. You can already create a RAID array. All you need is an appropriate motherboard and the drives.

2. 'faster read'? Yeah, no.

3. Repeat after me...RAID is not a backup RAID is not a backup RAID is not a backup RAID is not a backup RAID is not a backup RAID is not a backup RAID is not a backup RAID is not a backup RAID is not a backup RAID is not a backup RAID is not a backup
 
It's redundancy. It doesn't matter if it's not a backup. It accomplishes the same thing. It delays data loss... No difference.

Raid is a lifesaver. Especially for home applications.

This would be for maxing out hardware and getting advanced features.
"If it's a sqaure rade like 3x3x3 you could do this for writes also. As you could write 3 different parts of the data at once and them copy each data to the other drives later."

Could you also do that with a 2x2 normal raid software premitting?
 
It's redundancy. It doesn't matter if it's not a backup. It accomplishes the same thing. It delays data loss... No difference.

Raid is a lifesaver. Especially for home applications.
It is a MAJOR difference.
HUGE.
Not the same thing at all.

A RAID 1 or 5 protects against physical drive fail. That's it.
It does not protect your data.
Accidental deletion, ransomware, nasty virus....RAID 1 does absolutely nothing for that.

Convince me otherwise.
 
I like it because it doesn't wipe my data out and I can simply slap in a new drive and minimally care about it. I hate doing file transfers. I don't mind a raid reconstruction in the background. That is my personal reason. Although this concept would allow for both more easily.
 
I have 6 250ishgb sata 3 drives in a raid 10 atm.

Is there a way to take a write function with software raid. WDC WD2503ABYX

This concept is for a hypothetical future build.

But could you take an existing array of 2x2 and make it split the writes along the stack and do a delayed catchup write later. Do sas drives do this now. Or does this cause problems with errors from syncing data. I was assuming it might have to do with the speeds invovled or something. With new SSD stuff working at the max of the port would this be feasible? maybe with hardware support and a lot of ram usage.

I guess someone could develop double duplex and both send and receive at the same time twice at the same time.
 
Last edited:
I have 6 250ishgb sata 3 drives in a raid 10 atm.

Is there a way to take a write function with software raid. WDC WD2503ABYX

This concept is for a hypothetical future build.

But could you take an existing array of 2x2 and make it split the writes along the stack and do a delayed catchup write later. Do sas drives do this now. Or does this cause problems with errors from syncing data. I was assuming it might have to do with the speeds invovled. with new SSD stuff working at the max of the port would this be feasible?
HDD's?

Read and write performance crushed by a single 1.5TB solid state drive.

RAID as a performance enhancer sort of works for spinning drives.
But with solid state, either SATA III or NVMe, the RAID overhead kills any performance benefit.

This, from years ago. But I've not seen anything to refute these:
http://www.tomshardware.com/reviews/samsung-950-pro-256gb-raid-report,4449.html
http://www.tomshardware.com/reviews/ssd-raid-benchmark,3485.html
 
There are plenty of adapter cards for adding multiple NVMe drives. There are models that are nothing more than "splitters" to make multiple drives available to the OS and there are those that have a RAID controller on-board. This is a random result from a search (this one would have terrible performance for RAID since it's only PCIe3 x4, and the drives would all have the bandwidth of a single lane):
https://www.amazon.com/SABRENT-4-Drive-NVMe-Adapter-EC-P3X4/dp/B0BRYQH443

There are better cards with more lanes, newer PCIe generation, and more NVMe slots, though obviously you become bandwidth-limited at some point even with a PCIe5 x16 slot and card if you connect enough drives, depending on their generation. I.e., you could put 4 PCIe5 drives in that slot, or 8 PCIe4 drives, without exceeding the available bandwidth. If you only have an x4 slot and adapter, then two drives of that generation would be bottlenecked, but you could use drives of the previous generation and they'd be fine, but 3 or 4 drives will hit a bottleneck unless you dropped another generation. Since RAID means all the drives are being worked at the same time, you would notice the difference, whereas normal usage wouldn't require them all to be active at once so it would usually still seem like there was no bottleneck.

Also, any particular card may or may not work in any particular motherboard in making all the drives independently visible. This is based on whether the motherboard supports bifurcation of the PCIe lanes. Your CPU or chipset can't just magically "see" 4 separate drives plugged into a single PCIe slot, so the motherboard has to support bifurcation, where the PCIe lanes are split to function as separate slots for communication even though they are physically one, or the add-in card has to have a switch chip to do it (which makes the card cost a good bit more), or a RAID controller that supports just passing the drives through but then you're paying for RAID functionality and not using it. Motherboards that support bifurcation also cost a lot more, as they use workstation chipsets or the high-end consumer chipsets.

If you're doing software (OS) RAID, then you can also use multiple cards in order to avoid running into a bottleneck on an individual slot. The OS doesn't care about where drives are connected. But most boards these days don't have enough large slots to use multiple cards anyway.

I'm not trying to read that PDF but a quick search makes 3D RAID not seem all that revolutionary.
 
Last edited:
And if something happens like a storm or power surge and kills all your drives all your data is gone.
That's the case even if you're only using one drive, though, so I'm not sure what your point is. At least with RAID there's a chance that only one drive might fail and the array could continue working. Using an add-in card does add another component that could fail, of course, and RAID inherently increases the likelihood that you will eventually have at least one drive fail but the whole point (other than RAID0) is that the single drive failure won't stop you from working.

I really don't get why every response here to a question about RAID isn't "here's the answer" but is instead "eww, RAID, don't do that".

And if it's not a dumb raid, couldn't it theoretically be used to make smarter random accesses?! If you used sas or some naming convention then you could access multiple drives seaking data separately for reads for quicker access in the stack theoretically by trying to access up to 3 drives independently.
Most RAID implementations already do that, regardless of the type of interface. For reads, it acts like a striped array. If there is data mirrored on two or more drives, and a file is composed of multiple blocks, the controller (be it the OS or hardware chip) will read a different block from each drive so that it takes half the time or less. That lets mirror RAID reads be faster than a single drive. (All implementations may not be as effective at doing this as others, and it depends on the actual file data being stored, but overall it's faster.) Writes to a mirror aren't any faster than one drive since the same data has to go to both, and with RAID5/6 writes aren't any faster than a single drive because of the calculation overhead even though less data goes to each drive simultaneously, but reads are faster because it's a striped array. RAID10 gives you the benefits of both methods in both reads and writes.

RAID is definitely not a backup, and anyone looking to use it should be made aware of that if they indicate they think replaces backups (it does not "accomplish the same thing"), but that doesn't mean RAID doesn't have legitimate uses or that it's something outright BAD to implement. It may not be of value to one person but to another it may, even if it's only slight. Everyone's evaluation of the benefits and costs will be different.
The first one explicitly points out that they were comparing the RAID using Microsoft's NVMe driver to a single drive using the Samsung NVMe driver, which has a significant performance benefit. Would have been nice if they tested the single drives using the Microsoft driver in order to show whether non-Samsung drives would be better with a single drive or not, comparing apples to apples. (Though it was titled as a test of Samsung drives in RAID.) They were also running up against the bandwidth limitations of the communication to the CPU, since both drives were running via the chipset and the DMI interface.

The second is even older, and runs into the same limitations. Those are really old articles. It would be nice to see newer tests done with new drives AND new chipsets. You can now run systems with two NVMe drives connected to the CPU directly, or at the least with only one of them having to use the CPU-chipset bus so there is less or no bottleneck, and of course the RAID functionality has presumably been improved. And there's the option of using the PCIe slot connected to the CPU with one of the add-in cards to run the RAID.

For normal real-world usage, no, there's probably not much visible benefit, if any, in terms of performance with RAID0. It's not often that anyone is really just waiting on the drive except when doing a large file transfer (since Windows itself totally kills performance of large amounts of small files). Some games might load faster if they are bandwidth-constrained. But the loading of most applications that everyone uses won't be any faster at this point because the files being loaded just aren't that big and the CPU still has to process them, and the time loading them from disk isn't actually the bottleneck. (Making PCIe5 SSDs even less relevant; there comes a point that doubling bandwidth or capacity every generation is not a big deal.) But, RAID1 does still offer the benefit of redundancy. You can't just dismiss that as never important, IF a particular user considers it a useful feature, and the potential of faster reads occasionally is just a bonus.
 
But, RAID1 does still offer the benefit of redundancy. You can't just dismiss that as never important, IF a particular user considers it a useful feature, and the potential of faster reads occasionally is just a bonus.
Physical drive redundancy, sure.
In certain use cases, it is very beneficial.

But far too many people think that is all they need, for data protection.

We've had this discussion before.