Benchmark:HGST Touro S 1TB 7200 RPM
===================================
:author: Aaron Ball
:email: nullspoon@oper.io
:revdate: March 04, 2016


A few months ago, I needed an external drive with better performance than all
of my others. Given that each had a single platter, had 64 MB of cache, and
rotated at 5400 rpm, I thought I should upgrade at least one of those areas to
get a better performing drive.

I got online and searched around for external USB drives rotating at 7200 rpm,
and happened upon a surprisingly lackluster offering, excepting for one product
line: the Touro drives.

Having never used a Touro drive, I performed a lot of research and found very
little about what was actually inside this drive. It appears to contain a dual
platter drive, but with two 32 MB caches (one per platter?). Either way, the
results were impressively higher than that of any other drives I own.

Over a USB 3 port, I managed consistently top out writing data at 145 MB/s, and
reading data at a near symetrical 147 MB/s.

Here are the benchmark results I generated.

NOTE: This benchmark was performed using a tool I wrote in bash called
link:src/nullspoon/dd-bench.git[dd-bench]. It's open source (GPLv3), so please
feel free to use it and send feedback and pull requests to {email}.



image:files/benchmarks-hgst-touro-1tb.jpg[height=350]



  Benchmark started at Fri Mar  4 21:33:16 MST 2016


1 KB Block Size
~~~~~~~~~~~~~~~

NOTE: The other block size benchmarks go up to 20 GB of data. Due to the time
consumption of doing that in 1 KB increments, I capped this one at ~80 MB.

  Mar 04 21:33:16: *** Testing 1 KB blocks
  Mar 04 21:33:18: Wrote 1K 10240 times. 10 MB, 10 MiB written at 6.7 MB/s.
  Mar 04 21:33:19: Read 1K 10240 times. 10 MB, 10 MiB read at 7.8 MB/s.
  Mar 04 21:33:29: Wrote 1K 81920 times. 84 MB, 80 MiB written at 7.9 MB/s.
  Mar 04 21:33:39: Read 1K 81920 times. 84 MB, 80 MiB read at 8.4 MB/s.
    

1 MB Block Size
~~~~~~~~~~~~~~~

  Mar 04 21:33:39: *** Testing 1 MB blocks
  Mar 04 21:33:47: Wrote 1M 1024 times. 1.1 GB, 1.0 GiB written at 146 MB/s.
  Mar 04 21:33:54: Read 1M 1024 times. 1.1 GB, 1.0 GiB read at 143 MB/s.
  Mar 04 21:34:54: Wrote 1M 8192 times. 8.6 GB, 8.0 GiB written at 144 MB/s.
  Mar 04 21:35:53: Read 1M 8192 times. 8.6 GB, 8.0 GiB read at 147 MB/s.
  Mar 04 21:38:21: Wrote 1M 20480 times. 21 GB, 20 GiB written at 145 MB/s.
  Mar 04 21:40:47: Read 1M 20480 times. 21 GB, 20 GiB read at 147 MB/s.
    

2 MB Block Size
~~~~~~~~~~~~~~~

  Mar 04 21:40:47: *** Testing 2 MB blocks
  Mar 04 21:40:54: Wrote 2M 512 times. 1.1 GB, 1.0 GiB written at 146 MB/s.
  Mar 04 21:41:02: Read 2M 512 times. 1.1 GB, 1.0 GiB read at 144 MB/s.
  Mar 04 21:42:01: Wrote 2M 4096 times. 8.6 GB, 8.0 GiB written at 145 MB/s.
  Mar 04 21:43:00: Read 2M 4096 times. 8.6 GB, 8.0 GiB read at 147 MB/s.
  Mar 04 21:45:28: Wrote 2M 10240 times. 21 GB, 20 GiB written at 145 MB/s.
  Mar 04 21:47:54: Read 2M 10240 times. 21 GB, 20 GiB read at 147 MB/s.
    

4 MB Block Size
~~~~~~~~~~~~~~~

  Mar 04 21:47:54: *** Testing 4 MB blocks
  Mar 04 21:48:01: Wrote 4M 256 times. 1.1 GB, 1.0 GiB written at 146 MB/s.
  Mar 04 21:48:09: Read 4M 256 times. 1.1 GB, 1.0 GiB read at 144 MB/s.
  Mar 04 21:49:08: Wrote 4M 2048 times. 8.6 GB, 8.0 GiB written at 145 MB/s.
  Mar 04 21:50:06: Read 4M 2048 times. 8.6 GB, 8.0 GiB read at 147 MB/s.
  Mar 04 21:52:34: Wrote 4M 5120 times. 21 GB, 20 GiB written at 145 MB/s.
  Mar 04 21:55:00: Read 4M 5120 times. 21 GB, 20 GiB read at 147 MB/s.


1 GB Block Size
~~~~~~~~~~~~~~~
    
  Mar 04 21:55:00: *** Testing 1 GB blocks
  Mar 04 21:55:08: Wrote 1G 1 times. 1.1 GB, 1.0 GiB written at 139 MB/s.
  Mar 04 21:55:16: Read 1G 1 times. 1.1 GB, 1.0 GiB read at 136 MB/s.
  Mar 04 21:56:16: Wrote 1G 8 times. 8.6 GB, 8.0 GiB written at 143 MB/s.
  Mar 04 21:57:15: Read 1G 8 times. 8.6 GB, 8.0 GiB read at 145 MB/s.
  Mar 04 21:59:45: Wrote 1G 20 times. 21 GB, 20 GiB written at 143 MB/s.
  Mar 04 22:02:11: Read 1G 20 times. 21 GB, 20 GiB read at 146 MB/s.



[role="datelastedit"]
Last edited: {revdate}
// vim: set syntax=asciidoc:
