Skip Navigation
Unsustainable and short-lived goods @slrpnk.net
activistPnk @slrpnk.net

Solid State Disk drives (SSDs) have a short life and worse: manufacturers nanny users after blocking write access to old drives

SSDs can only tolerate a certain number of writes to each block. And the number is low. I have a 64gb SSD that went into a permanent read-only mode. 64gb is still today a very useful capacity. Thus the usefulness is cut short by hardware design deficiencies.

Contrast that with magnetic hard drives which often live beyond the usefulness of their capacity. That is, people toss out working 80mb mechanical drives now because they’re too small to justify the physical space they occupy, not because of premature failure ending the device’s useful life.

Nannying

When an SSD crosses a line whereby the manufacturer considers it unreliable, it goes into a read-only mode which (I believe) is passworded with a key that is not disclosed to consumers. The read-only mode is reasonable as it protects users from data loss. But the problem is the nannying that denies “owners”¹ ultimate control over their own property.

When I try to dd if=/dev/zero of=/dev/mydrive, dd is lied to and will write zeros all day and report success, but dd’s instructions are merely ignored and have no effect.

The best fix in that scenario would generally be to tell the drive to erase itself using a special ATA command, like this:

 undefined
    
$ hdparm --security-erase $'\0' /dev/sdb
      security_password: ""

      /dev/sdb:
       Issuing SECURITY_ERASE command, password="", user=user
      SG_IO: bad/missing sense data, sb[]:  70 00 01 00 00 00 00 0a 00 00 00 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
      SG_IO: bad/missing sense data, sb[]:  70 00 0b 00 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00


  

Not sure why my null char got converted to a yen symbol, but as you can see the ATA instruction is blocked.

Here is a take from someone who endorses the nannying. The problem is that there is a presumption on how the drive will be used. Give me a special switch like:

 undefined
    
$ hdparm --security-erase $'\0' --I-know-what-I-am-doing-please-let-me-shoot-myself-in-the-foot /dev/sdb


  

and this is what I would do:

 undefined
    
$ dd if=KNOPPIX_V8.2-2018-05-10-EN.iso of=/dev/foo
$ hdparm --make-read-only /dev/foo


  

When the drive crosses whatever arbitrary line of reliability, it’s of course perfectly reasonable to do one last write operation to control what content is used in read-only mode.

5 years later when a different live distro is needed, it would of course be reasonable to repeat the process. One write every ~5 years would at least keep the hardware somewhat useful in the long term.

¹ “owners” is in scare quotes because of the sensible viewpoint “if you don’t control it, you don’t own it”. We are not in control as a consequence of nannying.

10 comments
  • You're assuming it's gone read only because it's predicting a failure or an internal counter got too low, but SD cards aren't very smart. There's a good chance it actually did fail when performing a write. You can't override hardware failure with a command line switch.

    Somehow overriding the lockout would just lead to a Knoppix image that has corrupt data silently scattered through it as bits of it fail to write. This is the sort of thing that you spend days troubleshooting hardware trying to work out why something's crashing only to eventually figure out it's because a program has 4kb of german midget porn in the middle of its executable. Just spend the $10 on an SD card that isn't broken.

    Nobody wants a storage device that will silently corrupt data instead of failing safely as soon as it's known to be faulty. Do you remove nanny fuses from your electronics so that they'll keep running until flames actually shoot out?

    • There’s a good chance it actually did fail when performing a write.

      And? Failed writes happen all the time, even on new drives. The drive keeps track of bad blocks in a list and relocates them. There are bad blocks before a device even leaves the factory. This is not justification for scrapping the drive as the design accommodates.

      The list of bad blocks can over-run the storage space of the metadata itself, but that also fails to justify scrapping a drive when a clever filesystem or middleware can implement redundancy.

      You can’t override hardware failure with a command line switch.

      Have a look at the par2 command, for example. Tech has existed for decades that overcomes corruption.

      Would you ban optical media considering a scratch can cause data loss? It would be a similar case of nannying considering advanced users can fill the rest of the media with redundant parity data.

      Somehow overriding the lockout would just lead to a Knoppix image that has corrupt data silently scattered through it as bits of it fail to write.

      Then you’re doing it wrong. I used dd in the example as a simplification, but obviously the diligent approach is to use the syslinux command and use rsync to copy the files to enable the data to be written to known good areas of the media rather than trying to force a linear bit-by-bit copy.

      This is the sort of thing that you spend days troubleshooting hardware trying to work out why something’s crashing

      If you write a final live CD to a known dodgy drive after being warned and it gives you problems, why would you spend days troubleshooting? The incompetence of forgetting the history of drive condition and how you installed the OS is your problem and it would be your choice to take that path. If you know you cannot handle it, or that you cannot find a use case for such situations, then of course hacking is not for you and you’re better off with a nanny.

      Your proposal that everyone be denied the hacker option is nanny advocacy to the extreme.

      only to eventually figure out it’s because a program has 4kb of german midget porn in the middle of its executable. Just spend the $10 on an SD card that isn’t broken.

      This is really terrible advice. An SD card is no substitute for a SATA drive in most situations. Sure, you could get an obscure SD→SATA adapter imported from China if you are willing to shop online, but SD cards are extremely unreliable and poor performers. Of course no one is stopping you from doing that, but it’s an absurdity to bully others into foolishness.

      SD cards have an even shorter life than SATA SSDs. They have no SMART capability and no telemetry. They can’t even detect their own corruption. One day out of the pure blue they become unmountable. They are utter garbage. In 4 out of 5 cases I have seen SD cards corrupt in less than 1 year.

      Everyone has different budgets and use cases but you are not only promoting nannying but also consumerism and e-waste and dodgy tech in a forum that opposes disposable products with short lives.

      Nobody wants a storage device that will silently corrupt data instead of failing safely as soon as it’s known to be faulty.

      You’ve misunderstood. Nobody here proposed that. Of course it should fail safely when bad blocks reach an significant threshold. The contention is whether owners should be nannied after such failure -- whether it’s justified to block people (including experts) from having control over their own property.

10 comments