6 ms·
"Unfortunately, most consumer-grade mass storage devices lie about syncing. Disk drives will report that content is safely on persistent media as soon as it rea
by martincmartin 4y ago
"Unfortunately, most consumer-grade mass storage devices lie about syncing. Disk drives will report that content is safely on persistent media as soon as it reaches the track buffer and before actually being written to oxide. This makes the disk drives seem to operate faster (which is vitally important to the manufacturer so that they can show good benchmark numbers in trade magazines)."
Is this also true of SSDs?
- vlovich123 4y agoProbably. Although it’s possible they solve the problems with a builtin battery backup (capacitor?) that can flush buffered data to flash (at least that’s how I’d do it)
- Tempest1981 4y agoFrom February: - I tested four NVMe SSDs from four vendors – half lose FLUSH’d data on power loss (twitter.com/xenadu02) - https://news.ycombinator.com/item?id=30419618 https://news.ycombinator.com/item?id=30419618
- martincmartin 4y agoThanks! If you follow the thread, they tried 8 more, all of which passed. So that's 10 passing / 2 failing. Still, it answers my question.
- Kenji 4y ago
- pixl97 4y agoIf you want to be sure, look for SSDs that have a power capacitor. These mostly exist in the enterprise devices.
- RedShift1 4y agoFor non-enterprise drives you still need to pay attention, sometimes power loss protection means that data at rest is not corrupted as opposed to an assurance that things in the write cache will make it to stable storage.
- mst 4y agoAlso historically Sun StorEdge disk arrays would report success on a sync once the data was transferred to the appliance, because they had a write-back battery that would allow the array time to finish writing the data even on sudden power interruption. Unfortunately for me, they also had a thing where if a write-back battery passed a certain number of hours in operation the array would no longer trust it and defaulted to then not using it at all - which is entirely reasonable right up until the point where your systems team won't buy a replacement. I once offended the lead sysadmin at that job on a phone call so much that he had to pass me off to his junior because I'd been telling him for months that the battery needed replacing and basically my opinion was "yeah, have fun waiting an hour while that system fscks" interspersed with helpless laughter. (in my defence, I wasn't paid to be on call and he called me at 2am during a good friend's 30th birthday party, so my capacity for diplomacy was even more limited than normal)