Does bigger capacity SSD have longer life due to wear leveling?
This is true, and it was one of the key motivation to backing the switch from SLC (fast and durable flash cells, but small capacity) to MLC (slower and less durable flash cells, but bigger capacity). To give you some ballpark numbers (on old 34nm tech):
- SLC drive: 100K P/E cycles (program-erase cycles), 100 GB in size, 10 DWPD (Drive Writes Per Day) x 5y, total 1825 TBW (TeraBytes Written);
- MLC drive: 30K P/E cycles, 200 GB in size, 3 DWPD x 5y, total 1095 TBW.
As you can see, while the MLC drive as less than 1/3 the P/E endurance, due to its bigger size, its total endurance (in Terabyte Written) is 60% of the SLC drive (rather than the expected 30%). An even higher endurance can be achieved with sufficient overprovisioning, bringing relative parity between the two disks.
That said, SSDs rarely die due to NAND wear. Rather, controller and FLT (flash translation layer) bugs are what kill, or brick, flash-based solid state drives. Choosing an SSD, I would put a priority on these things:
- capacity: as space is never enough, do not underestimate your needs. Bigger disks are (often) also faster than smaller ones, due to more NAND chips available;
- power loss protection: if used for synchronous writes, be sure to buy a disk with powerloss protected writeback caches;
- vendor track record: if used for enterprise workloads, do not buy "no-name" SSD or "game oriented" models. Rather, go with a know and reliable vendor, as Intel, Samsung, and Micron/Crucial.
SSDs wear out when you use up their block erase cycles. Each block can only be erased so many times. Larger SSDs have more blocks, so that means more block erase cycles. All other things being equal, you can write twice as many TB to a 1TB SSD as you can to a 512GB SSD before it wears out.
Frankly, I wouldn't buy a bigger SSD to get a longer life though. A bigger SSD will cost more. And it's quite likely that you'd prefer to replace that SSD with a newer, bigger, faster, cheaper one when it wears out. Actually reaching the wear out point of a modern SSD takes a long time under most realistic use patterns.
Yes, larger SSDs have higher endurance.
There's a couple of factors involved here, and it's not as simple as it appears:
- Larger SSDs have more NAND inside them, and any half-decent SSD supports wear leveling so that all the writes are spread evenly over the NAND. As a result, regardless of how much data you put on the drive, the simple fact that there's more NAND inside means that it'll take longer for any single bit of NAND to wear out. If you look at most SSDs on the market, you'll notice that higher-capacity models tend to have higher endurance ratings, and a drive model rated to a given number of drive writes per day (DWPD) will naturally have higher endurance in higher capacities.
- Another factor which comes into play especially with write-heavy enterprise workloads or when the drive is nearly full is the way NAND-based SSDs work. An important fact about NAND flash memory is that it can write data in small pages but can only erase them in large blocks. As such, it is often necessary to spread out writes across multiple pages, and mark pages as invalid as data is rewritten or deleted. The TRIM command tells the SSD which areas do not contain valid data. SSD controllers try to avoid erasing blocks until all pages in a block are marked invalid, since erasing a block containing valid data necessitates rewriting that data elsewhere, reducing performance and wasting write endurance in the process, a phenomenon called write amplification.
- This carries the important implication that your data may be taking up more space on the NAND than its actual size. Also, random-write-heavy workloads that frequently replace small chunks of data will tend to cause the drive to use far more NAND than is actually necessary to hold the data as writes are spread out where possible to avoid unnecessary erases and rewrites as well as to ensure that write are spread evenly over the NAND.
- But this breaks down if the drive is low on space. Although the SSD may appear to have some small amount of capacity remaining from the standpoint of the OS, it is likely to have few or no empty blocks internally. This means that the SSD controller will have no choice but to erase blocks containing valid data and rewrite the data elsewhere, resulting in write amplification. This is why enterprise SSDs are often aggressively overprovisioned, meaning that the drive contains significantly more NAND than is exposed to the OS. This ensures that in the event the drive is logically full, there will still be some space left internally for the controller to rearrange data and avoid excessive write amplification. Simply using a larger drive to hold the same amount of data can achieve this overprovisioning effect. I have a more detailed explanation in this Super User answer.
For most consumer or client workloads, endurance isn't generally something you need to worry about, unless you write lots of data to the drive on a daily basis. However, if you're buying a drive for datacenter workloads like OLTP or databases, then you'll need to pay attention to the endurance ratings, determine how much I/O you expect to put on the drive, and select drives that meet your requirements.
I did a rather large SSD qualification a few years ago for the database fleet of a video website you may have used today. Static Wear leveling wasn't around at the time so I overprovisioned. (manually set max lba to 80% of the drive size). This avoided the pathological edge case where the drive filled up and could not perform wear leveling. People are now mentioning that static wear leveling can avoid that problem. I haven't dug into this, but I'd guess that then you'll want to avoid filling up the drive.
If your choice is between
- Large drive from an unknown brand
- Smaller drive from one of the top three brands
Go with option 2. Buy from a known manufacturer and plan to not fill it up. I'd just go 20%-50% larger than I know I'll need.
In my qual, my no-name drives failed spectacularly and quite often (controller crashes, total controller failure, drive showing up as 1mb instead of real drive size). After deployment only one drive experienced noticeable NAND wear-out (in a high write production environment with thousands of drives). Drives with the Sanforce controller performed best. Drives with Intel NAND were the gold standard.