-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Documentation regarding Sanitize commands #153
Comments
Hi @fthobe, Sorry for not seeing this question sooner!
I believe this chart was created prior to the sanitize feature being standardized in the NVMe spec. Please also be aware that not every device will support all of these features, even if they are listed as available on a given interface/configuration. For example: Not all SATA drives will support the sanitize feature set, especially old drives, and even those that do will only support the overwrite unless they are SED. Block erase will only ever be on SSD's as well, so that will not be available on HDDs and this chart is unable to capture that level of detail, although I can ask about adding some of these additional notes to the page. In openSeaChest_Erase, we have the option
While openSeaChest_NVMe is specific to NVMe, all of the openSeaChest tools support NVMe devices. Not all features found on NVMe will be part of openSeaChest_NVMe although this is where many NVMe unique data and capabilities have been put for now.
To the best of my knowledge, this will do the same thing as
Yes, for SAS disks it will. For SATA disks on SAS HBA's it should also work if the controller supports the translation of the T10 Sanitize CDB to T13 (ATA)'s sanitize as specified in SAT. I believe Broadcom's 9400's will do this, and 9300 might as well, but I have not tested that in a while so my memory isn't as good 😄 Microchip controllers of the same age (don't remember a model number) will likely also support this translation.
Yes, that will do the same sanitize commands openSeaChest_Erase supports for NVMe devices.
One other thing that many people using or attempting to use the sanitize command set may run into is sometimes the commands may be blocked. In Windows, starting with Windows 8 you cannot issue this command unless you are in the PE/RE environment for SAS and SATA. You can configure TCG (Opal/Enterprise/etc) drives to block these commands as well. Some USB adapters will not support issuing these commands because they do not support more than the basic identify and SMART commands in passthrough. Another thing some users have seen, especially with sanitize overwrite, is that it takes a very long time...longer than the approximation of 2hours per TB. This can happen because some HBAs/Drivers do not understand that when the drive is sanitizing, it does not allow a lot of commands and is very limited....they will then begin issuing reset after reset to the drive, slowing the sanitize, trying to "recover" the drive. |
Hi @vonericsen ,
That would be awesome. If you could put hand on a per SKU compatibility matrix you would be my personal hero. It seems to be immensely difficult to poll manufacturers for that information.
Do you know from your experience if nvme id-ctrl -H always yields a correct output on Seagate devices? Not all manufacturers have always been 100% compliant with optional interface standard features (despite admitting that Seagate and WD are definitely most complete in documentation).
That's immensely helpful. IEEE-2883r2022 is in large part built on NIST 800-88, NIST 800-88 also asks for the method (overwrite / block erase / crypto erase / other physical destruction options), is there any chance that information could find it's way in Edit: fixed typo |
I found someone who can update the chart, but I do not think I'll be able to get to SKU level of information. I'll bring this up with that team and see what this would take though.
For all of the Seagate NVMe devices I've tested, they are all compliant with the standards for reporting which optional features they support. Seagate does a LOT of testing to make sure they are compatible with standards. When openSeaChest is used on non-Seagate devices, it relies on the same standardized fields and behavior to support those products as well. I do not get non-Seagate devices to test very often, but occasionally I get a bug report or some information that I can use to make updates as needed, but generally anything that reports something standard has seemed to work as expected from my perspective. One thing to keep in mind is that features can change between product generations.
I can look into what else we can put to describe each erase. It's been a while since I last reviewed NIST 800-88. |
I have confirmation that the English language page for the erase matrix has been updated. (Note: If you are outside the US, you may need to click on the globe at the top of the page and change it to This went live a few minutes before this comment so it make take a little time before for it to update through all the server caching for general users. The web team will be working on getting it translated to other languages as well, but that will take about a month before it is completed. |
@vonericsen Some notes: Do Opal drives support Sanitize commands or are the Revert and RevertSP commands intitiated by regular sanitize commands? |
An Opal device may support the sanitize command set, but it is not guaranteed. All that said, all of Seagate's HDDs with Opal support since Sanitize was added in ACS-2 (approximately 2014 designs. Note: There were models manufactured this year that would not have sanitize which is why I used the term designs in this case) seem to have support for the sanitize command set. Seagate's Enterprise TCG drives (SAS and some SATA) also support sanitize since this time. Revert and Revert SP are considered Purge on Opal as they cause a cryptographic key change, just like the sanitize crypto erase feature. Seagate rolled this out as ISE or Instant Secure Erase originally, but I will come back to this later in this comment. On Seagate HDDs (and SAS SSDs) all of the SED model drives support issuing RevertSP with the drive's PSID from the label regardless of whether you have enabled the locking SP (Security provider) in the drive and it will always cause a Cryptographic erasure of all user data. This also restores all drive configuration back to the default factory settings. This applies not only to TCG Opal, but also TCG Enterprise drives from Seagate. For other Seagate SSDs and some other drive vendor's Opal drives that I have run into, the revertSP is not always available with the PSID without the locking SP enabled. I have also found that if you do a revert on the Admin or Locking SP and it has not had the locking SP enabled, it does NOT perform a cryptographic erase. I did a lot of rereading of the TCG Opal spec and this is allowed, just like Seagate's "You can always do revertSP and change the crypto key" is allowed. An important note about TCG is that there are ways to configure the TCG feature to block commands like Sanitize from running so that the user must do either revert or revertSP instead before the drive will accept those commands (or, if the TCG software allows for it, unblocking sanitize). Going back to "ISE" again, before the sanitize feature was standardized, Seagate also sold "ISE" capable drives that were not Opal drives along with the Opal offersing. These used a Seagate vendor unique TCG SSC that was capable of revertSP to change the crypto key on the drive. All of these little details about differences are part of the reason we have not yet brought the TCG support to openSeaChest. One other thing I have very recently started doing is putting together the openSeaChest wiki pages. One final note, all modern Seagate drives will have a PSID on the label. This does not mean it is a TCG Security enabled model. The use of the PSID for non-SED models is part of Seagate's secure supply chain. |
Hey @vonericsen, first things first. Man, you are amazing. You gave such a transparent view on everything. I am working very hard on getting a clear idea about how to unify everything, but honestly, I am getting stonewalled by a lot of manufacturers and would really like to get in touch with somebody. Is there any chance I could get you on board on a call with some other folks of nwipe and shredOS? I am walking down all possible alleys but:
I had high hopes for Intel, but even there since solidigm runs the show, hardly any info. I am having the feeling that many existing software tools just claim to wipe stuff and ignore implementation differences in between drive models. I feel we would really benefit from interviewing you. Do you feel that's a possibility? |
The secure erase matrix on the seagate website illustrates the compatibility of devices to the various sanitize block commands across different interface standards (NVME / SAS / SATA). The documentation has some inconsistency with other documents from seagate though: While the secure erase matrix (see screenshot) states that NVME devices do not support sanitize, the documentation of the devices itself (6.2.3, p.22) indicate the availability of sanitize commands.
This raises some questions:
hdparm --yes-i-know-what-i-am-doing --sanitize-block-erase /dev/sdx
create the same outcome as the seachest sanitize implementation?sg_sanitize --block /dev/sdm
create the same outcome as the seachest sanitize implementation?Thank you
The text was updated successfully, but these errors were encountered: