@jessearmand Typically, when you configure RAID, this is done in BIOS, or you manually load a driver during the operating system installation. The user interface part allows you to see what has been configured, and perhaps make some adjustments, but it relies on the driver in the operating system, and how the operating system (Windows in this case) supports the underlying platform capabilities.
When you ask about the ways to configure the SSD - it really depends what you need. For example, stripe configuration in this case gives you a single “larger” disk to work with, and perhaps some data read performance improvement. But overall, in most cases NMVe drives are fast enough that you will not be bottlenecked on the disk operations to begin with. I can’t really think of a typical desktop workload that would push the disk bus to the maximum with NVMe drives.
Ubuntu - and for that matter - any operating system really - work the same way. If you have the needed driver functionality loaded into memory (either it’s part of the kernel or an additional module), then the operating system can make direct use of storage commands, which can lead to optimized usage (performance, data integrity, etc).
For instance, you could use a generic Windows driver for SSD, or you could use the drivers provided by the vendor. In some cases, the latter may give you additional functionality - this isn’t necessarily something you will see as a user, or interact directly. We’re talking about the storage functions.
Now, Ubuntu:
Depending on the type of hardware you have, and the filesystem configuration in use, Ubuntu will use different drivers to interface with the storage. You can check with drivers are loaded into memory with the lsmod
command.
Then for instance, you will see drivers like this (just an example):
ahci - which is sata low level driver
dm_crypt - module for encryption/decryption (say if you use it)
Some drivers are necessarily loaded early in the boot process - these are bundled in the initrd file. You can check what’s contained inside one by extracting it.
Copy a file from under /boot, say:
unmkinitramfs /boot/initrd.img-something ~/initrd/
Then, change into the ~/initrd/
and see what’s contained there. You will see a nice tree of drivers, grouped by their functionality - crypto, fs, virt, drivers/ata, drivers/video, drivers/md (this is raid), drivers/usb, etc.
So this can give you a rough indication of what you can expect when you boot Ubuntu on a piece of hardware. The drivers are of course loaded in the right sequence - from low-level drivers, then filesystem, etc.
I hope this gives you a little more understanding of what goes on under the hood.