It would seem that some of my ancient 10+ year old SSDs in the 60-128gb range are experiencing sudden death after sitting around for years. They're basically bricked and can't be written to.

EDIT: This should be a PSA. SSDs are not for cold storage.

@Lydie
SSDs are rated to retain data unpowered for six months for consumer grade devices, and for three months for enterprise grade. They need to stay powered up so that they can scrub (refresh) memory cells that lose their charge over time. This is because each data bit is actually stored by a surprisingly small number of electrons in modern NAND flash devices.
Spinning drives, despite their potential mechanical failure modes, are actually better for cold storage than SSDs.
@brouhaha I had no idea D: that kinda scares me!
@felipe
In practice, if not stored at high temperature, they'll probably hold data a lot longer than those guaranteed minimums, but you shouldn't expect five years or more.
If you do use an SSD for offline data storage, you should probably power it up periodically, and do something that forces a read of the entire device. In Linux or macOS, something like "dd bs=1M if=/dev/nvme0n1 of=/dev/null" (substitute correct device name) would be suitable. I'm not sure of an equivalent for Windows.
@brouhaha @felipe DD has been ported to Windows 😀
@Lydie @felipe
and I know that Windows does assign internal pathnames to raw disk devices, but I don't know how one finds them. It's not just e.g. "C:", but rather something like "\\.\PhysicalDrive0". There are published C code examples to enumerate the physical drives from a program. There's probably a way to do it in Powershell, but I haven't found it.
@brouhaha @felipe @Lydie I do believe the number Get-Disk returns is the same number as \\.\PhysicalDriveX
@brouhaha @felipe @Lydie ah, wmic diskdrive list brief returns the actual \\.\ paths, and yes they're the same as get-disk
@sijmen @felipe @Lydie
Sadly, wmic is deprecated, without any clear guidance from Microsoft as to what takes its place. IMNSHO, deprecating it without providing a guide detailing how to replace every usage of it is completely f#@&ing insane.
But until they actually remove it, this is good to know.
@brouhaha @felipe @Lydie knowing Microsoft, it isn't getting removed anytime soon
@brouhaha @sijmen @felipe @Lydie you can do WMI things in powershell. Don't have my Windows laptop handy right now, though.
@rogerlipscombe @sijmen @felipe @Lydie
Is there a trivial translation, given a wmic command, to the Powershell equivalent?

@brouhaha @sijmen @felipe @Lydie dunno; it's been years since I last looked at this stuff.

Maybe start here? https://powershell.one/wmi/commands#querying-information

WMI Commands - powershell.one

PowerShell supports WMI with a number of cmdlets. We'll take a look at how they work, and how you get started with WMI.

@brouhaha @Lydie @felipe This port of dd can list the devices by running dd --list (hint: \\?\Device\Harddisk0\Partition0 refers to the whole disk, Partition1 and up are the actual partitions).
dd for windows