Data recovery and disk repair questions and discussions related to old-fashioned SATA, SAS, SCSI, IDE, MFM hard drives - any type of storage device that has moving parts
Post a reply

How to find HDD timeout read wait times?

September 17th, 2019, 3:22

I'm sure for a guru this a very basic question, I'm just learning about HDDs when you go beyond just putting in your computer and formatting them so I'm a complete newbie in some ways.

I've just setup a RAID system on my Linux box in a RAID5 setup.

After doing this I learned that RAIDs can be messed up by HHDs that take too long to come back from a read error. If I'm getting this correct, normal drives can take over 2 minutes whereas enterprise drives return in something like 10 secs. and RAID systems typically wait 30 secs or so.

Assuming I'm not too far off with all that my questions are:

- How do I find this read delay on error/fail for any particular drive because I pulled up a datasheet for my new Seagate Barracuda ST8000DM004 and I couldn't see anything mentioning this?

- Can some of these be changed for some drives with SMART? I think I read somewhere this it is possible with some but not all.

- Last, if it possible to change this delay on error, what SMART command is it or is it done another way instead of with SMART?

I know on my Linux I can change how long Linux will wait for a drive so that's a solution and I don't really mind if it takes a long time to come back on error because as soon as that starts happening I'll just replace the drive anyway.

Sorry if these all seem like very basic questions.

Thanks,
Reg

Re: How to find HDD timeout read wait times?

September 17th, 2019, 15:51

The parameter you are seeking to control is Error Recovery Control (ERC). WD calls it Time-Limited Error Recovery (TLER), and Samsung/Hitachi refer to it as Command Completion Time Limit (CCTL)

https://en.wikipedia.org/wiki/Error_recovery_control

WD has a WDTLER utility which works for earlier models.

ERC is defined in the ATA standard, so software such as HDAT2 can set the timeout values. However, these settings may be volatile, ie they may not survive a power cycle. Typical default read and write timeouts are 7 seconds.

Re: How to find HDD timeout read wait times?

September 17th, 2019, 18:35

To add to this, the Error Recovery Control is not always supported on drives that are not meant for NAS.

The older ATA standard only included a volatile setting, meaning it did not survive a power cycle. The newer standard offers a non-volatile ability, but it requires the command to be a bit different.

For Linux the smartmon tools package has smartctl, which can be used to view and change the settings. But I am almost certain it only changes the volatile setting, meaning you would need to run the command at every boot up to set the setting. You would need to test to verify this.

https://www.ixsystems.com/community/thr ... ive.27126/

Re: How to find HDD timeout read wait times?

May 10th, 2020, 21:24

Thanks for your responses. I know it's been a very long time since I asked you responded... life kind of happened for a while.
Post a reply