Is it better to have one big SSD with Windows + data, or to have a smaller SSD for Windows and a large SSD for data?
You will like this one.
The major concerns with how to setup your computer's drives falls into lots of categories based on lots of different use scenarios. What type of computer you have, what kind of software you are running, your OS, and exactly how much data you are using, amongst others, will all be relevant factors here. This answer will try to parse out a general average user answer and touch on some of the other scenarios lightly. There’s going to be some background info first to give context to the rest of the answer, if you don’t want/need that then just skip to the Tl:Dr section or for the even more impatient the IN SHORT section.
Background:
First of all, this question talks about an SSD only setup which is becoming increasingly more common due to the speed, size, noise, and heat/power advantages of SSDs over HDDs. An argument could be made for using an SSD for Windows and an HDD for data as you can get crazy large HDDs on the cheap. I just got an 8TB drive delivered today for $150. You can’t even find an SSD in that size (without RAID) for less than multiple thousands but if you only need upto about 2TB you can get a 2TB SSD for around $200 which is still very affordable.
The fastest possible interface commonly available for an SSD is the M.2 standard. If you are going to go SSD you want to squeeze all of the performance out of it you can get. Running an SSD on anything slower is just a waste and you might as well go with the cheaper HDDs. Many laptops can support two M.2 drives and some motherboards for desktops can support 3 or more. These are very small, high performance drives the size of a large stick of gum. So this question could apply to both laptops and desktops.
Wear Leveling: SSDs have a limitation on how many times you can write to the drive. Every write to the disk lowers it’s life expectancy. Also power on/off cycles also degrade the lifetime of the chips. SSDs (and OS’s) have smart features (wear leveling) to reduce this problem. The disk spaces out the writes so if the computer has to write, delete and write again many times, (say for an OS swap/paging file), it will do the writes to different sections of the disk each time so that no single area gets written on over and over.
This is why you always want your SSDs to have lots of free space. Never fill an SSD anywhere near to the limit, always leave at least 20% free capacity and more is even better for high use drives. Also because of the way they work SSDs can slow down as they reach capacity. Also, smaller drives can actually have longer lifetimes because the larger drives often use more stacked layers 3,4 etc of data and it is harder to wear level on tri and quad layered disks because it reads and writes to sections on several layers at once. The smaller drives often don’t try to cram as many layers onto each chip.
Tl:Dr
For simplicity's sake you can just build a solid system on one large, fast, expensive SSD (some laptops only have one M.2 slot) but you would be better off going for two. Your main OS drive is going to need a lot of read write operations and may be chewing away at data even while your games or other apps are running. If you have a system with a lot of PCIE channels and CPU threads then it is best performance wise to spread that around a little. This way you won’t have as much data queueing up. Also if you have a dedicated drive for the OS you can make sure that drive has a constant amount of free space on it for wear leveling (ˢᵉᵉ ᵃᵇᵒᵛᵉ). Also if one drive fails you don’t lose everything. You can also do a software mirror or regular disk image of the boot drive onto the data drive so even if you lose your boot drive you can quickly restore your computer to working order.
If one of the drives is for the OS and major program installs you can also get a smaller high performance drive for that slot and then a cheaper high capacity drive for the data portion. If you buy the fastest 256-512GB SSDs they can run almost as expensive as a workhorse 2TB SSD but they may also have data transfer speeds that are 3–4 times as fast which is good for boot and launching programs.
If you need high performance even for your data storage and you have enough slots you could run the data portion off more than 1 SSD. You could put 2–3 large SSD’s in a RAID and benefit there from speed and data redundancy (if you have a mirrored RAID). If you combine this with a mirror of your OS drive now you can lose any single drive in the computer without losing any data! For even more performance you can buy high performance and high capacity SSDs and put them in RAID but this is a waste of money unless you are doing video editing, 3D rendering, music, neural networks or other things that require a lot of very large, very fast data. If you have three or four M.2 slots you could do a RAID 5 with identical high performance drives and get the best of all worlds except maybe price.
IN SHORT: Two drives, one a fast small SSD and the other a large low-mid range SSD is going to give you best best combination of speed, expense and data reliability.
Alternatively: Add one small, fast OS SSD and two large data SSDs in a redundant RAID and image your OS drive to the data portion to make your computer pretty much foolproof or go RAID 5 with three equally sized disks. Depending on price vs performance of your drives you can decide which way to go. One advantage with the first setup is you only have to image the actual used space on the 512GB drive so you may only lose 100–300 GB on the mirrored drives. If the 2TB drives are cheapo the first setup might be less expensive than buying 3 identical high performance 1TB drives for RAID 5. Prices fluctuate daily based on demand so it is hard to say which will be cheaper overall.
As of this writing (02/2021) you can get two 2TB drives for $200 and a fast 512GB drive for under $90 for a total of $490 or get three top of the line 1TB drives for $220 each or $660.