There are quite a few choices of brands when it comes to purchasing harddisks or ssd, but which one do you find the most reliable one? Personally had great experiences with SeaGate, but heard ChrisTitus had the opposite experience with them.
So curious to what manufacturers people here swear to and why? Which ones do you have the worst experience with?
With spinning disks, I preferred Seagate over Western Digital. And then move to HGST.
Back in those days, Western Digital had the best warranty. And I used it on every Western Digital. But that was still several days without a drive, and I still needed a backup drive.
So it was better to buy two drives at 1.3 x the price of one Western Digital. And then I realized that none of the Seagate or HGST drives failed on me.
For SATA SSDs, I just get a 1TB to maximize the cache and wear leveling, and pick a brand where the name can be pronounced.
For NVME, for a work performance drive, I pick a 2TB drive with the best write cache and sustainable write speed at second tier pricing.
For a general NVME drive, I pick at least a 1 TB from anyone who has been around long enough to have reviews written about them.
Why does 1TB help with the wear leveling?
An analogy is writing everything on one piece of paper with a pencil. When you need to change or remove something, you cross it out, instead of erasing, and write the new data to a clean part of the paper. When there are no more clean areas, you use the eraser to erase a crossed off section.
The larger the paper, the less frequent you come back to the same area again with the eraser.
Using an eraser on paper slowly degrades the paper until that section tears and never gets used again.
In general and simplifying, my understanding is:
There is the area where data is written, and there is the File Allocation Table that keeps track of where files are placed.
When part of a file needs to be overwritten (either because it inserted or there is new data) the data is really written to a new area and the old data is left as is. The File Allocation Table is updated to point to the new area.
Eventually, as the disk gets used, that new area eventually comes back to a space that was previously written to, but is not being used. And that data gets physically overwritten.
Each time a spot is physically overwritten, it very very slightly degrades.
With a larger disk, it takes longer to come back to a spot that has already been written to.
Oversimplifying, previously written data that is no longer part of a file is effectively lost, in the way that shredding a paper effectively loses whatever is written, and in a more secure way than as happens in a spinning disk.
Afaik, the wear and tear on SSDs these days is handled under the hood by the firmware.
Concepts like Files and FATs and Copy-on-Write are format-specific. I believe that even if a filesystem were to deliberately write to the same location repeatedly to intentionally degrade an SSD, the firmware will intelligently shift its block mapping around under the hood so as to spread out the wear. If the SSD detects a block is producing errors (bad parity bits), it will mark it as bad and map in a new block. To the filesystem, there’s still perfectly good storage at that address, albeit with a potential one-off read error.
The larger sizes SSD just gives the firmware more extra blocks to pull from.
Does that mean that manually attempting to overprovision SSDs isn’t necessary for maximising endurance? Eg. partition a 1TB SSD as 500GB.
That would be called under-provisioning.
I haven’t read anything about how an SSD deals with partitions, so I don’t know for sure.
Since the controller intercepts the calls for specific locations, I’m inclined to believe that the controller does not care about the concept of partitions and does not segregate any chips, thus it would spread all writes across all of the chips.
Isn’t it overprovisioning because you’re artificially limiting the usable capacity of a volume?
https://www.techtarget.com/searchstorage/definition/overprovisioning-SSD-overprovisioning