Tuesday, February 26, 2008

Seagate FreeAgent Pro eSATA problems...solved!

Well sort of, I guess. Previously, in my first blog post in fact, I documented the problems I'd been having getting my Seagate FreeAgent Pro external hard drive to work reliably over its eSATA connection.

Recap

The interface firmware that the drive originally came with sucked so badly that the throughput on the eSATA interface was barely any higher than that on the USB interface (39MB/sec vs 33MB/sec). Since I'd specifically spent the extra money to get the "Pro" version of the drive to use it over eSATA, I was annoyed.

Eventually I found that Seagate had some updated firmware for the drive, although there was (and still is) nothing on their web site to indicate this. After finding the link and downloading and applying the update, the speed of the eSATA interface was indeed much improved to an average of 57MB/sec. However, hot-plugging (turning the drive off and on while the computer is still running) didn't work and, more seriously, whenever I would write large amounts of data to the drive, it would turn itself off, then back on.

Clearly using this drive over an eSATA connection was unworkable.

Seagate's Forum

Since I had searched all over the Web looking to see if others had solved this problem already, I had read many threads on Seagate's own "Community Forums". Unfortunately, most of the threads were people experiencing similar problems and nobody really had much success.

Although Seagate's Community Forums are meant to be a "peer support" area where users just help each other, they are monitored and moderated by Seagate personnel. Some heavy handed ones too. When I posted a link to my blog in response to somebody asking about the firmware update, I was threatened with a "ban" by one of the moderators who dismissed any claims that this product has a problem and characterized the issues people were reporting as "based on wrongheaded assumptions or incorrect configurations".

I still scan their forum every so often and it is depressing to read how many people are having the same problems over and over with these drives and very little or nothing is being done to help them. This is one of the main reasons that I wanted to blog on this topic and it makes me feel better when I see that people are finding these blog entries by searching Google etc for terms like "FreeAgent firmware" or "FreeAgent eSATA".

My "fix"

Well, sorry to disappoint you, but I eventually gave up trying to get my FreeAgent Pro to work both quickly and reliably over eSATA. I actually ripped the drive out of the enclosure and put it into an Icy Dock case that I bought (an MB559US-1S-B, if you're interested). Here is the resulting HD Tach benchmark:



It is clear that the interface is no longer limiting the drive's throughput. Also notable is the fact that the burst speed has increased from 104MB/sec in the original Seagate enclosure to 255MB/sec - another indication that the interface implementation in the Icy Dock case is much superior.

I've tested the drive in the Icy Dock case for a couple of weeks now and haven't had a single issue with it. I can turn the drive off and on (after "unmounting it" using the excellent little HotSwap! utility here) without freezing my computer and it doesn't turn itself off when I copy large files to it.

Further indications that things are working much better are the fact that I don't get dozens and dozens of messages in my Event Log including:
  • The driver detected a controller error on \Device\Harddisk4\D.
  • An error was detected on device \Device\Harddisk4\D during a paging operation.
  • The system failed to flush data to the transaction log. Corruption may occur.
While I was using the drive in the FreeAgent Pro enclosure over eSATA, I'd get those messages every single day.

Incidentally, taking the FreeAgent Pro case apart is very hard. Even though I followed step-by-step instructions that somebody else had kindly posted, I still couldn't get the drive out without breaking one of the clips holding the two halves together.

Conclusion


Had I known all of this ahead of time, of course I never would have purchased the FreeAgent Pro. If I was doing it again I would have saved myself about $70 (not to mention hours of time) and purchased an OEM internal hard drive and the Icy Dock case.

I really wanted to like this drive. I liked the styling and the fact that it was practically silent (the Icy Dock case does let a little more of the drive's sound out) and while USB was my only option I was happy with it. But Seagate gives the appearance of pretending that there is no problem with this drive and certainly doesn't seem to want to fix it and that's not cool.

Labels:

Saturday, December 1, 2007

Seagate FreeAgent Pro eSATA problems

Or: Why to avoid the Seagate FreeAgent Pro line of external hard drives

Back in June of 2007, I decided I needed an external hard drive to backup my ever-growing collection of photos. So I went on a quest to find a suitable drive to buy. I decided on some basic requirements, such as:
  • Decent capacity, say 500GB
  • Quiet (I hate whiny noises)
  • Both USB and eSATA connectivity
  • Reasonably priced (does this go without saying?)
Although I had decided to upgrade to a Core 2 Duo machine in the near future, I was currently still using my trusty old Pentium 3, which (of course) didn't have eSATA support. Since I'd buy the external hard drive before I upgraded my computer, I knew I had to get a drive with USB connectivity so I could use it with my existing machine. However, I knew that an eSATA connection should be significantly faster than USB and that my new computer would have support for plugging in a hard drive via eSATA, so my long-term plan was to use the eSATA connection on the drive.

Well, I eventually selected the Seagate FreeAgent Pro 500GB drive, model ST305004FPA1E2-RK. The reviews on my favorite computer shopping site (Newegg, of course!) were good at that time, it was reasonably priced at $170 and it was from a brand that I trusted in the hard drive business. The five year warranty was reassuring too. I thought the $30 price premium for the model with the eSATA interface was a little high (the USB-only model was $140), but I knew I'd regret it if I couldn't use eSATA later, so I took the plunge.

Well, first the good news: the drive worked great as soon as I hooked it up. Of course, it only showed 465GB available, due to the silly way that hard drive manufacturers define a Gigabyte, but since I'm a computer nerd, I was already prepared for that. The software that came on the drive was pretty useless, but since I didn't want it anyway, I just burned it to a CD, deleted it from the drive and forgot all about it.

Fast forward to October of 2007, when I finally decide that the time is right to take the plunge and build a machine based upon Intel's Core 2 Duo processor. I'm glad I skipped over the whole Pentium 4 mess, but that's a posting for another day...

For my Core2Duo machine, I selected the excellent ASUS P5K-E motherboard. One of the many factors that led to me choosing this motherboard was the fact that it had two eSATA connectors on the rear panel, in addition to the six internal SATA connectors. I bought an eSATA cable locally (which was harder than I expected) and prepared to make the trivial changeover from USB to eSATA.

Seagate's First Dumb Mistake

The first problem is that I could not get the drive to work at all when plugged into the eSATA connector on my motherboard. After much head-scratching, I eventually figured out that the eSATA connector on the FreeAgent Pro drive was recessed too far into the drive's housing for my cable to actually make a connection to it. Now maybe I have a cheap cable, but others have reported the same problem, so I suspect it is just bad design on Seagate's part. I break out a sharp knife and trim off some of the plastic boot around the plug on the cable. Now the plug clicks home and the connection is fine.

Oh, you want hot-plugging to actually work?

Initially, things looked promising - when I booted up, my motherboard's JMicron JMB363 eSATA controller reported finding the drive and when I logged-in to Windows XP, I could access it without a problem. However, later on I was using the computer without having first switched on the drive, then when I switched it on my computer froze solid. I waited for a while, but it was quickly apparent that turning on the drive while the computer was running was a no-no. Since eSATA is specifically designed to be hot-pluggable, this was puzzling to me. I made sure I had all the latest drivers for my JMicron controller, which indeed I did. So apparently I now had a choice - either go back to using USB, where I could start and stop the drive at will, or stay with eSATA and remember to always have the drive running.

Enough ranting, give me the numbers already...

Alright...I decided to test the drive's speed over the two types of connection to help me decide what to do. In theory the eSATA connection's bandwidth of 3Gbit/sec shouldn't bottleneck the drive at all, whereas USB 2.0's raw 480Mbit/sec throughput typically translates to a maximum actual throughput limit of about 40MB/sec. Since other Seagate drives of this size and age have a maximum sustained transfer rate of about 80MB/sec, I was expecting the eSATA interface to have a significant speed advantage over USB.

I ran HD Tach to test the speed of the drive over the two interfaces. While HD Tach has some issues (for instance, it only tests read speed and not write speed - for a RAID 5 array the two can be significantly different), it was good enough for my basic test here and it does produce some pretty graphs.

First, the performance over the USB interface:



Since the graph was completely flat, it was clear that the USB interface wasn't able to deliver the data as fast as the drive was able to serve it up. If it was, the graph would show the typical curve that you get from hard drive benchmarks as the throughput falls off as the heads approach the inner cylinders. Anyway, the relevant number is that the drive gave a sustained read throughput of 32.5MB/sec. The access time is a horrible 20.1ms, but since I only wanted the drive for backup storage, that wasn't too much of a concern.

Next, the performance over the eSATA interface:



Yikes. Even before I saw the numbers, I knew something wasn't right. Firstly, the graph should be much smoother than that. And where was the tapering curve that I was expecting? Even so, the throughput was better than with the USB connection: using the drive's eSATA interface gave me a sustained read throughput of 39.5MB/sec, a 21% improvement.

The spikiness of the graph and the strange flatness of it made me curious, so I fired up Google and did some searching. It turns out that lots of people have had problems with the FreeAgent Pro line of drives when using them with an eSATA connection. For instance, read these pages:
Notice in the Seagate forum the representative from Seagate actually states that USB is faster than eSATA!

New Firmware to the Rescue?

The StorageReview thread was the most interesting read. Although you won't find it referenced on any of Seagate's product information or support web pages, a poster calling him or herself "JTee" mentioned that there is a firmware update available for the FreeAgent Pro line of drives that addresses the eSATA performance problems. Bizarre that Seagate would rather suffer a reputation for poor performance instead of making the update visible on their site, but maybe they have their reasons.

So, I downloaded the firmware update from Seagate's web site here and proceeded to install it. The firmware updater appears to have been written in Java, for heaven's sake, but after two installs and two reboots, I had updated the drive's firmware. Here are screenshots of the update process, before applying the new firmware:



...and after the new firmware was applied:



So the firmware appears to have been updated from v0.34.0010, dated February 26, 2007, to v0.34.0011, dated March 9, 2007.

Performance with the New Firmware

So, lets retest the drive with the new firmware and see how it fares. I break out HD Tach again and get these results:



Overall, a big improvement - now the drive averages a read throughput of 57.2MB/sec. The drive is still being held back by its lame interface implementation all the way up to about the 400GB point, where it can't get the data off the platters faster than about 55MB/sec, which the interface does manage to deliver. But still, I'll take 57.2MB/sec over 39.5MB/sec any day. It sure would be nice to actually get the drive's potential 80MB/sec throughput on the fastest part of the drive though.

On a more positive note, it seems that the new firmware fixed the hot-plug capability of the drive too - my computer no longer freezes if I power up the drive when my computer is already running.

So, now I am reasonably happy. I've got an almost 50% improvement in throughput and it seems that I can finally switch over to using the eSATA connection that I paid the extra $30 for.

All's Well That Ends Well...Or Maybe Not...

Since I'd really like to be able to write to my drive as well as read from it, I give it a shot over my now-faster eSATA connection. But a few seconds into writing a large file to the drive, it shuts itself down! Then it powers back up, shuts itself down. Lather, rinse, and repeat as they say in the shampoo commercials.

Now, I concede that this problem might be caused by the JMicron external SATA controller on my P5k-E motherboard, as the Seagate rep. in the above link claims. However, with my experience with this drive's eSATA interface so far, I'm highly suspicious of Seagate employees pointing fingers at anybody but themselves. After all, they still aren't publicly saying that the drive's default firmware has serious performance problems that are only partially rectified by the update.

Conclusion

Well, what conclusion can I come to other than "don't buy the FreeAgent Pro line of drives if you want to use the eSATA interface"? Save yourself the $30 and buy the regular FreeAgent drives, which are USB-only. Or buy another brand entirely.

It is a shame, because I selected the excellent Seagate ST3250410AS 250GB single-platter drives for the RAID storage system in my new computer and they have performed great for me. I also like Seagate's 5-year warranty. But I don't like the way they aren't admitting to the eSATA problems with the FreeAgent Pro drives and at this time I cannot recommend them.

Feel free to leave your comments, especially if you have first hand experience with using eSATA on the FreeAgent Pro drives. I'd be particularly interested to hear from people that do and do not experience the disconnect-when-writing problem after applying the firmware. Perhaps we can indeed narrow this issue down to the JMicron JMB363 controller.

Labels: