• SzethFriendOfNimi@lemmy.world
        link
        fedilink
        arrow-up
        26
        arrow-down
        2
        ·
        1 month ago

        Here’s the ELI5.

        Imagine there’s a set of lockers in a school.

        When a student leaves the school or changes lockers they remove the label on the locker but don’t empty it.

        A TRIM, however, means that they not only remove the label from the locker by also clean out its contents.

      • Blaster M@lemmy.world
        link
        fedilink
        English
        arrow-up
        10
        arrow-down
        1
        ·
        1 month ago

        TRIM is a command / instruction for solid state storage to release a block of data, so it is blanked and ready to be written again.

      • kevincox@lemmy.ml
        link
        fedilink
        arrow-up
        3
        ·
        edit-2
        1 month ago

        Usually when you “delete” data on a storage medium you really just remove a reference to it. The data is still sitting on the disk if you know where to look. TRIM is a command that tells the storage device “I don’t need this anymore” and usually the hardware will return empty data the next time you read it (really the hardware is doing the same thing of just forgetting that there is data there, it is turtles all the way down, but it will track that this block is supposed to be empty and clear it when you next read it).

        However I think this is an unlikely theory. It would require two bugs:

        1. The OS would be trying to read data that isn’t supposed to exist. This would be a bug on its own that would likely be quite visible.
        2. The iPhone uses disk encryption, and when you reset the device the key is (supposed to be) reset, meaning that even if you read the old data it would be useless.

        Both of these would be very significant and unlikely to last long without being discovered. Having both be present at the same time therefore seems very improbable to me.