Quindor

TLER / CCTL

Recommended Posts

A word of warning, there seem to be problems with certain firmwares of the Samsung F4EG. Be cautious and read up about it before using smartctl on these drives!

Share this post


Link to post
Share on other sites

A word of warning, there seem to be problems with certain firmwares of the Samsung F4EG. Be cautious and read up about it before using smartctl on these drives!

The updated HD204UI firmware is here... http://forum.synology.com/enu/viewtopic.php?f=26&t=27905&start=135

...note that apparently it doesn't update the actual firmware version number when you flash it, but reportedly does fix the problem.

I found more discussion on the topic here... http://forum.synology.com/enu/viewtopic.php?f=26&t=27905&start=135

ALSO.. you can get these drives for cheap on newegg right now. Just bought five of them... http://www.newegg.com/Product/Product.aspx?Item=N82E16822152245

Share this post


Link to post
Share on other sites

Just a few clarifications:

SCT ERC is part of the ATA Standards, as I believe since ATA-6. Drives that "say" they support some ATA standard should support erc, but they may indicate differently. The ATA-8-ACS states that ERC-settings shall be volatile over Power-On-Reset of the device, meaning: once you cut power to the drive, the setting gets lost. If you reboot the computer where the drive is housed in, it depends on the behaviour of board and controller. If they just issue a soft reset, the setting shall prevail. If they cut power upon reset, the setting gets lost.

HD203WI are good drives, supporting ERC well. But in fact I came over this thread searching for a way to make the setting non-volatile. Which obviously does not exist, yet.

To turn on ERC, you'll have to send an ATA-command to the drive:

SMART WRITE LOG, Log Page 0xe0 (command log), the log page needs to contain the correct setting according to ATA-8-ACS

You'll have to send one command for each: read and write ERC timeout. I've implemented this successfully, meaning the drives report the settings I gave them afterwards. But I'm sorry I can't leak the code unless my lunch is paid for the next 10 years or so.

Notes on WD: (WD10EADS, WD15EADS, WD20EADS): the first versions (Nov. 09) with disabled TLER were badly firmware-coded. They indicated to support ERC settings, but always reportet "command aborted" - that way behaving very very very badly. The follow-up firmware just reports no support for SCT-ERC, which is the right way to go (if you get on that trail anyhow...).

Hope that helps understanding it a bit,

St0fF

P.S.: for 3ware 9650SE and 9690SA we setup the drives to have 7s/12s. That way it's not too slow on reading and not too aggressive on writing to bad sectors.

Hi how can I try to send 'SMART WRITE LOG, Log Page 0xe0 (command log), the log page needs to contain the correct setting according to ATA-8-ACS'

to my st32000641AS for trying enable erc. please help... or it's impossible?

Share this post


Link to post
Share on other sites

Hi - I'm looking to use the same drives as you in Raid 5 with a Highpoint RR622 card in a San Digital enclosure. How have the drives been working for you? This is really the only non-enterprise drive I'm considering since I'm freaked out about the CCTL/ERC/TLER issues with other consumer drives. I figure that most people say this drive works fine w/o changing the timeout value but at least it looks like I could go and set it if my drives started to drop but were still good. Do you run with the setting enabled or disabled? Have you found a solution to check/set the value when booting into windows after a power loss?

Thanks,

Brian

smartmontools 5.41

command --scan -d csmi (appear list of drives)

Some like /dev/csmi0,2; /dev/csmi0,3 (according to ports used for raid). or simple scmi0,2...

http://sourceforge.net/apps/trac/sma...ID-Controllers

http://smartmontools-win32.dyndns.org/smartmontools/

I have ASUS p5e X38 ICH9R and scterc work fine.

Can you check if Samsung (after last patch 621878F4EG.zip) support scterc.

Share this post


Link to post
Share on other sites

Hello!

I'm trying to set up a RAID5 on an Asus P5QD Turbo with ICH10R. While I can - after successfully patching the firmware on my HD204UIs - set ERC to 70 while not in a RAID, it seems that the parameter does not survive the building of a RAID5-volume.

After initializing (correct: WHILE initializing, added all 5 hds, this takes hours to initialize...) I tried to check:

smartctl -l scterc /dev/csmi0,0

gives:

SCT Error Recovery Control:
Read: 57345 (5734.5 seconds)
Write: 57345 (5734.5 seconds)

While you CAN actually set the value to 70 - no error when giving "smartctl -l scterc,70,70 /dev/csmi0,0", the check afterwards again shows 57345.

After cancelling initialization and deleting the volume, the disks show again there previously set 70 (7 seconds).

What to do? Ignore the 57345? Is it actually set to 70? But this would be of no use, because the parameter is lost after next shutdown - and I can't take the device out the RAID volume just to set ERC again to 70. Is there another way to set ERC while in RAID?

Thanks,

fab

Edited by Core34

Share this post


Link to post
Share on other sites

Since nobody has yet shown that TLER actually works (on any drive where it's disabled by default) and it's pointless and unnecessary on a good controller, I would stop worrying about it and get on with your life.

Just found this thread and felt the need to respond, even most of a year later.

Yes TLER does work on these types of drives, and it does solve problems that might otherwise have lead to data loss. I had an "old" 2TB Seagate drive (ST32000542AS) that I'd been using as a quick place to throw large files. It got to the point where the drive held many useful things that, while I wouldn't have been devastated had I lost them, I would also not have been too pleased. So I decide to get a few more 2TB drives and make a raid5 out of them. Everything went well and I had a Linux software RAID5 up and running in a few hours, leaving it to build overnight - I was able to go from a single drive half full of data, to a RAID5, via a RAID1, without having to replace the content of that first drive; Linux RAID is awesome (yes, I did back things up - the step I saved was the upback.)

A few weeks later, the old drive got kicked out of the array due to bad sectors, so I quickly ordered some more drives (I bought three actually, and now have a RAID6 made of 5 2TB drives.) I didn't want to lose data in the event of a second drive failure while waiting for the new drives, so I wanted to try and get the bad drive back in the array and move data to good sectors - after a little research I found out about the need for this timeout, and it so happened smartools command had recently been patched to do this (this was ~May 2010.) So, I set error recovery to 7 seconds, Linux did its thing, the array rebuilt, and I had some safety back while I waited for replacement drives.

Now I find myself in need to a new 2TB drive that supports TLER/CCTL and is at least as big as the current drive. I have one drive with 803 Offline_Uncorrectable/Current_Pending_Sector (i.e. bad) sectors. While SMART doesn't think its failing, I don't want to wait until it does. hdparm -g /dev/sdb reports geometry = 243201/255/63, sectors = 3907029168, while hdparam -I show the device size is 2000398 MBytes. As my Seagate drives are no longer in production, can anyone tell me if the SAMSUNG EcoGreen F4 HD204UI is at least as large, or if there's a better 2TB option?

Share this post


Link to post
Share on other sites

There is a lot of uncertainty going around about the Samsung F4 EcoGreen (HD204UI). I thought I'd bring an end to that.

##

# Specifications:

##

Motherboard: ASRock Z68 Pro3-M, BIOS v1.40, BIOS SATA Mode: AHCI

Drives: 3x Samsung F4 EcoGreen 2TB (HD204UI), firmware "1AQ10001" out-of-box, all labeled "2011.07"

Software stack A: Ubuntu 11.04 Desktop Live-CD i386, hdparm v9.32, smartctl 5.40 (r3124)

Software stack B: Ubuntu 11.10 Desktop Live-CD i386 (daily build 2011-09-04), hdparm v9.37, smartctl 5.41 (r3365)

##

# Performing the checks:

##

Setting LLC (Load_Cycle_Count):

root@ubuntu:~# hdparm -S 1 /dev/sd{a,b,c}

/dev/sda:
setting standby to 1 (5 seconds)

/dev/sdb:
setting standby to 1 (5 seconds)

/dev/sdc:
setting standby to 1 (5 seconds)

Checking LLC:

root@ubuntu:~# DRIVE=sda	# Test one drive at a time
root@ubuntu:~# SLEEP=4		# 4 should not increase Load_Cycle_Count, 6 should
root@ubuntu:~# for i in {1..10}; do smartctl -a /dev/$DRIVE | grep Load_Cycle_Count; done; sleep $SLEEP; for i in {1..10}; do smartctl -a /dev/$DRIVE | grep Load_Cycle_Count; done;
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       15
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       15
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       15
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       15
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       15
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       15
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       15
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       15
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       15
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       15
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       15
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       15
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       15
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       15
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       15
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       15
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       15
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       15
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       15
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       15
root@ubuntu:~# SLEEP=6
root@ubuntu:~# for i in {1..10}; do smartctl -a /dev/$DRIVE | grep Load_Cycle_Count; done; sleep $SLEEP; for i in {1..10}; do smartctl -a /dev/$DRIVE | grep Load_Cycle_Count; done;
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       16
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       16
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       16
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       16
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       16
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       16
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       16
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       16
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       16
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       16
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       17
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       17
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       17
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       17
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       17
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       17
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       17
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       17
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       17
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       17

LLC: OK!

LLC with soft reset: OK!

LLC with hard reset: Reset to default!

Setting SCT Error Recovery Control, Z68 native 6Gbps:

root@ubuntu:~# smartctl -l scterc,70,70 /dev/sda
smartctl 5.40 2010-07-12 r3124 [i686-pc-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

Error Write SCT Error Recovery Control Command failed: scsi error aborted command
Warning: device does not support SCT (Set) Error Recovery Control command
Suggest common arguments: scterc,70,70 to enable ERC or sct,0,0 to disable

SCT Error Recovery Control w/ 6Gbps: FAIL!

SCT Error Recovery Control w/ 6Gbps and soft reset: FAIL!

SCT Error Recovery Control w/ 6Gbps and hard reset: FAIL!

Setting SCT Error Recovery Control, Z68 native 3Gbps:

root@ubuntu:~# smartctl -l scterc,70,70 /dev/sdb
smartctl 5.40 2010-07-12 r3124 [i686-pc-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

SCT Error Recovery Control:
          Read:     70 (7.0 seconds)
         Write:     70 (7.0 seconds)

SCT Error Recovery Control w/ 3Gbps: OK!

SCT Error Recovery Control w/ 3Gbps and soft reset: OK!

SCT Error Recovery Control w/ 3Gbps and hard reset: Reset to default!

Setting SCT Error Recovery Control, Z68 native 3Gbps eSATA:

root@ubuntu:~# smartctl -l scterc,70,70 /dev/sdc
smartctl 5.40 2010-07-12 r3124 [i686-pc-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net


Checking TLER/CCTL/ERC:
SCT Error Recovery Control:
          Read:     70 (7.0 seconds)
         Write:     70 (7.0 seconds)

SCT Error Recovery Control w/ 3Gbps eSATA: OK!

SCT Error Recovery Control w/ 3Gbps eSATA and soft reset: OK!

SCT Error Recovery Control w/ 3Gbps eSATA and hard reset: Reset to default!

##

# Notes:

##

1) According to Samsung, disks manufactured December 2010 or later include the firmware patch that resolves the issue with possible data loss. I wanted to be sure so I still flashed my drives. The updated firmware did not change any of the above results. More info about the patch and what it is to fix: http://sourceforge.net/apps/trac/smartmontools/wiki/SamsungF4EGBadBlocks

2) As I couldn't get the SATA 6Gbps to work with SCT Error Recovery Control I hoped it would be solved with an updated software stack. However it made no difference.

3) I have come across these (valuable) resources for TLER/CCTL/LLC:

  • HardForum: link
  • StorageForum: link
  • Habrahabr (Russian blog?): link

Edited by Tanel

Share this post


Link to post
Share on other sites

Hi

I got a HP P410 raid controller with 10 Samsung Spinpoint F4EG HD204UI harddrives running windows home server 2011.

2 of my drives reports eminent drive failure. but when testet with estool no problem found when testet in windows 7 no problem found.

When reinserted in my server fault is still there does anybody know why this is and how i can solve this?

Share this post


Link to post
Share on other sites

Here are some new drives to add to the list:

Seagate model=ST33000651AS Size=3.0TB RPM=7200 Revision=? Firmware=CC45 Available=YES Default=Disabled Reboot=Stay Powercycle=Lost

Seagate model=ST3000DM001 Size=3.0TB RPM=7200 Revision=? Firmware=CC96 Available=NO

I'm not happy with these new Seagate 3TB drives (model ST3000DM001) as the smartctl -l scterc *drive* gives "Warning: device does not support SCT Error Recovery Control command"

I hope this helps.

Share this post


Link to post
Share on other sites

Quite an old thread, is there a newer version?

Anyway here is my contribution:

Model Family: SAMSUNG SpinPoint F3 RE
Device Model: SAMSUNG HE103SJ
Serial Number: S2JBJ90B202606
LU WWN Device Id: 5 0024e9 20473dc4c
Firmware Version: 1AJ10001
User Capacity: 1,000,204,886,016 bytes [1.00 TB]
Sector Size: 512 bytes logical/physical
Rotation Rate: 7200 rpm

SCTERC: supported
default: 70/70 (7/7 seconds)

reboot/poweroff: did not test

Does is actually work? No. It always times out after 2.5 seconds (I have a few bad sectors)

The smartctl -l scterc command set the new values and rereading confirms they are set, but no effect, the actual timeout stays 2.5 seconds.

Tested under SystemRescure-CD v4.9.3 (32 bit mode).
smartctl 6.4 2015-06-04 r4109 [i686-linux-4.4.50-std493-i586] (local build)
[AMD] RS880 Host Bridge
SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] (rev 40)

Regards,
David

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now