8

I've tried with Disk Utility.app and diskutil at the commandline to zero out a 3TB external USB hard drive, and both work at about 1%/1hr. In Disk Utility.app I am using the 1-pass mode, and with diskutil I am using 1-pass, random.

I'm on Mavericks/10.9.

slhck
  • 223,558
  • 70
  • 607
  • 592
John Bachir
  • 1,359
  • 6
  • 17
  • 28
  • its very cool that Google can answer that question in-band; thanks for adding it to your post – Frank Thomas Nov 04 '13 at 19:14
  • @bmike i reverted your edit -- if you don't want it in the question, then move it to an answer, don't just delete it – John Bachir Nov 04 '13 at 19:23
  • 2
    I disagree with your reversion and thank you for commenting why. I suggested an edit to the existing answer but that didn't didn't get approved by the reviewers although they did approve my question edit. If you wish to answer your question, you should do so in the answer section. Let's chat on [meta] if that resolution isn't amenable to you. – bmike Nov 04 '13 at 20:13
  • 2
    I agree with @bmike in that if you want to answer your own question, please post your solution as an actual answer to the question. This allows users to vote on the given answers and makes it easier for future visitors to get the most relevant information in a consistent manner. But please make sure that your answer is substantial enough to properly answer the question you put out. :) – Oliver Salzburg Nov 04 '13 at 20:27

3 Answers3

12

3TB external USB hard drive

There's your answer. 3TB is a lot of space.

I'm sure your 3TB disk is a spinning disk, that can effectively only sustain writes of about 60MBytes/sec (maybe recent drives are a little faster but any caching, etc. won't help you with a simple all-LBA random write).

It may go faster with being directly connected as suggested by @LeeHarrison.

LawrenceC
  • 73,030
  • 15
  • 129
  • 214
  • My dad's work provides him with a Mac, but recently, they upgraded everyone's. He tasked me with wiping the drive. I booted up to Disk Utility and chose 7 pass wipe (confidential stuff is confidential). The 500 GB drive took roughly 10 hours to wipe. – Cole Tobin Nov 08 '13 at 02:04
  • `"3TB is a lot of space"` Well, I think that might be a matter of opinion :) –  Nov 25 '13 at 22:01
10

yes, writing random data across a 3tb volume will take a very long time. it generally takes about 8 hours per TB for formatting (not quick formatting), and that doesn't involve the extra overhead of having the CPU generate random data for each bit before its written. 1%/hour does seem a little slow, but I would still expect the job to take two days or so. the USB is probably whats really slowing you down, since the random generation has to cross every bus and bridge between the removable disk and the cpu.

Frank Thomas
  • 35,097
  • 3
  • 77
  • 98
  • 3
    Agree with the above poster. If possible, can you remove the HD from the external enclosure and connect it internally? That tends to speed things up quite a bit. – Lee Harrison Nov 04 '13 at 14:31
  • 1
    No need to write data to all of the disk to erase it. Just tell the disk to secure erase itself. DBAN might be useful for that. – Hennes Nov 04 '13 at 19:39
  • I understand that you can tell an SSD to mark all its cells empty, and cause the data to be permanently gone, but with a mechano-magnetic hdd, every bit that was in use does in fact have to be overwritten to prevent it from being recovered by software making raw reads of the medium. I must be misunderstanding your distinction, but if you could expound I would appreciate it. – Frank Thomas Nov 04 '13 at 21:05
  • okay @FrankThomas, they rejected my image from the question so you get to have it in your answer :D – John Bachir Nov 04 '13 at 21:44
  • @FrankThomas The same is true for harddisks with encryption. This is not the default on many rotating disks unless you set a BIOS HDD password. And to answer for a bit more generic situation: There is no need for all those zero to be transferred across the SATA bus. A drive should be (and in many cases is) be perfectly capable of wiping itself with no continuous host intervention. – Hennes Nov 05 '13 at 20:56
  • You pretty much nailed it with your question:: There is a way to leave it all to the controller. That is the secure erase way, it tell the disk to securely wipe itself using whatever method it was designed with. On most SSDs that comes down to erasing an encryption key, but how it is done is completely up to the manufacturer. Writing random data to each sector is just as valid. – Hennes Nov 05 '13 at 21:02
  • that sounds very kewl! thanks for the tip. I'll have to consider it next time I'm looking for media. – Frank Thomas Nov 05 '13 at 21:04
4

3TB is a lot of data and USB is both relative slow and has a lot of overhead.

Assuming you have USB 2 and a reasonably good performance of 30-35MB/sec. (this is about the max write speed for USB 2)

  30 MB / sec  
 100 MB per 3 seconds  
2000 MB per 60 seconds
  2GB per min 
120GB per hour, or 25 hours for 3 TB.

That is a long time. And speeds can differ somewhat. In your case it seems four times as slow. Decidedly not fast, but well within reasonably speeds. Especially if there are other USB devices busy on the same USB controller.

There are at least three ways to deal with this:

  1. Wait a long time.
  2. Use a faster bus to the disk (e.g. an eSATA enclosure. Or mount the disk internally)
  3. Do not send any data to the drive to wipe it. Instead tell the drive to wipe itself. Useful for this: DBAN and secure erase.
Hennes
  • 64,768
  • 7
  • 111
  • 168
  • Secure erase sounds interesting. does hdparm instruct the controller to handle the overwritting, and leaves the disk to take care of it itself? Also, DBAN is great software, but why do you believe it will be faster than any other secure erasure tool like sfill or eraser for windows? – Frank Thomas Nov 04 '13 at 20:56
  • I am not familiar with any windows tools for a secure erase and I am familiar with both Linux and BSD. So I tend to recommend hdparm and DBAN. That is not to say that there are no other tools around which work just as well. – Hennes Nov 05 '13 at 20:53
  • gotcha, but that's not quite my question. Its my assumption that the utility the OP is using is roughly equivalent to dban or any other secure wipe tool. what I'm not getting is your third bullet about not sending any data to the drive. Every utility I've ever encountered had to use the CPU to generate the random data, because the hdd does not have the capability to do the job by itself. I can imagine a secure erase feature built into a disks IO controller, but I've never heard of it being done, so what am I missing? is there a way to leave it all to the controller? and how would dban use it? – Frank Thomas Nov 05 '13 at 20:58
  • Secure erase build into the disk is relative new for SATA. Most (all?) SSD's have it and the feature seems to trickle down to spinning rust models. – Hennes Aug 18 '15 at 07:16