Skip to content

Which Secure Erase command will clear the HPA and DCO hidden areas? #45

@hashimaziz1

Description

@hashimaziz1

Firstly, thanks for a great set of tools. As someone who securely wipes hard drives as a part-time job, I've been looking for a replacement to perform Secure Erase on ATA hard drives ever since hdparm stopped being maintained on Cygwin, so it's good to finally have something.

Looking at the Erase binary, I see the following:

    --ataSecureErase [normal | enhanced]            (SATA only)
            Use "normal" to start a standard ATA security erase
            or "enhanced" to start an enhanced ATA security erase.

            ATA Security Erase takes a very long time to complete at
            approximately three (3) hours per Tera-byte (HDD). Some Seagate
            SED models will perform a quick cryptographic erase in enhanced
            mode and the time for completion is reported as 2 minutes by
            the drive, but will take only seconds. This industry
            standard command begins by locking the drive with a temporary
            password which is cleared at the end of the erasure. Do not run
            this command unless you have ample time to allow it to run
            through to the end. If the procedure is interrupted prior to
            completion, then the drive will remain in a locked state and
            you must manually restart from the beginning again. The
            tool will attempt to automatically clear the password that was set
            upon failure. The default password used by the tool is
            "SeaChest", plain ASCII letters without the quotes

            * normal writes binary zeros (0) or ones (1) to all user
            data areas.

            * enhanced will fill all user data areas and reallocated
            user data with a vendor specific pattern. Some Seagate
            Instant Secure Erase will perform a cryptographic
            erase instead of an overwrite.

    --sanitize [info | blockerase | cryptoerase |
                overwrite | freezelock | antifreezelock]
            Use the info argument to show supported sanitize operations.
            Optionally, use blockerase, cryptoerase, or overwrite to start
            a sanitize operation. Adding the --poll option will cause
            openSeaChest_Erase to poll the drive for progress until the
            operation is complete, or has aborted for some reason. All
            sanitize erase operations are persistent across a power cycle
            and cannot be stopped
            Example: --sanitize blockerase --poll

            Note: Windows 8 and higher block sanitize commands. Sanitize
            operations will show a failure status on these systems.

            * blockerase on some solid state drives is very fast at less
            than one (1) second, while others may take more that 30 seconds
            This operation performs a physical low level block erase
            operation on all current, past, and potential user data.
            The contents on user data are indeterminate upon completion.

As far as I can make out, both of these commands wipe only user-accessible areas, which generally wouldn't include hidden areas like the HPA and the DCO.

Do any of these commands wipe these hidden areas in spite of what their documentation seems to say? If not, is there a command in the suite that does?

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions