Hacker News new | ask | show | jobs
by pg-gadfly 2210 days ago
It's also to note that SSD capacity hasn't strictly improved, it's been gained through massive compromises that severely impact their lifetime and performance.

More than that, a 5 year old nas drive can outperform a modern cheap ssd in throughput easily.

1 comments

Most, but not all of the capacity and affordability increases of SSDs have been due to compromises elsewhere. If you plot the characteristics of "the cheapest flash you can buy" over the years, few of the curves are monotonic.

Physical memory cell dimensions decreased steadily until the arrival of 3D NAND, whereupon cell sizes jumped back up and have been relatively stable since. SSDs incorporate more advanced error correction with each generation of controllers, so today's drives can get more usable write endurance out of the same physical cell size.

Number of bits that can be stored per cell has been increasing. Each time we cram another bit into each memory cell, performance and write endurance drop. But in between those major shifts, successive generations of flash tend to get faster and more energy-efficient over time. Today's 3 bit per cell TLC NAND is much faster than the TLC from 5 years ago, and has better write endurance thanks to the transition to 3D NAND. Today's SLC NAND has comparable performance and write endurance to the planar SLC that disappeared from the market over 5 years ago, but now it's several times cheaper.

And most of the compromises that have been made with NAND flash over the past 10+ years are purely academic. The vast majority of use cases do not need flash rated for 100k P/E cycles, and excess endurance beyond your needs provides no tangible benefit. Most of the endurance that has theoretically been sacrificed was never needed in the first place. Most of the performance lost has been offset by using more flash in parallel and by eliminating bottlenecks elsewhere.

The only metric by which a 5 year old NAS hard drive—or any hard drive—will outperform a modern cheap SSD is in long-term sustained sequential write throughput. Even the slowest modern cheap SSD will offer at least twice the sequential read throughput, and orders of magnitude better random read or write throughput. And it's not like the write throughput of modern SSDs is abysmal: gigabit Ethernet is a more significant bottleneck when filling a 1TB or larger dirt-cheap consumer SSD. So unless you're trying to use cheap consumer SSDs in an expensive NAS with 10GbE, the poor write performance of low-end SSDs won't come into play.

Of course there has been improvement in absolute terms, but our current state is much more than just that, which skews the results when thinking about where we are. The opinion is definitely not popular on hackernews, but I still want to throw it out there.

Cheap SSDs can tank below 70MB/s after cache, which is less than a gigabit connection, so it can totally affect your performance even in the smallest local networks.

You don't have to sustain writes for long at all to start seeing the compromises hidden in cheap SSDs, especially if they're using their TLC as SLC cache, in which case you run out faster and faster.