[OmniOS-discuss] smartctl and SCT ERC on omnios

Andrew Kinney andykinney at advantagecom.net
Sat Oct 1 00:51:19 UTC 2016


To add to this, it *appears* I can *set* scterc on omnios, but not 
*read* scterc.

# smartctl -l scterc,70,70 -d sat,12 /dev/rdsk/c4t0d0s0
smartctl 6.5 2016-05-07 r4318 [i386-pc-solaris2.11] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

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

# smartctl -l scterc -d sat,12 /dev/rdsk/c4t0d0s0
smartctl 6.5 2016-05-07 r4318 [i386-pc-solaris2.11] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

SMART WRITE LOG returns COUNT and LBA_LOW register unchanged
SCT (Get) Error Recovery Control command failed


Without being able to read the values, I'm taking it on faith that it is 
actually set since the set command didn't error out.

Regarding the error message:
"The meat of this patch extends the WRITE_LOG command to return the ATA 
registers back to the higher level code. As it was, smartmontools had 
some provision for returning 512 byte sectors as results of ioctl()s, 
but not the contents of the ATA registers. Before ERC appeared, no other 
ATA commands return a result in this way. When a read or write ERC time 
is requested, the current ERC value are returned in SectorCount and 
LBA_Low, as a low and high byte. The number is in deciseconds."

This was from http://abatis.org.uk/projects/erc/ where he discusses how 
smartmontools was patched back in 2009 to get smartctl to read these 
values properly on Linux. It would seem smartctl is getting the values 
back, but on Solaris it doesn't know how to interpret and display the data.


I hooked up one of these SSDs to a Windows machine and was able to read 
and set scterc. From the factory, it comes as "disabled", which explains 
the trouble I had with the long error recovery (2 minutes).

--
Andrew


Andrew Kinney wrote:
> Hello,
>
> I have a Samsung 845DC Pro SSD that I need to respond more timely during
> problems with flash cells. We had an incident where it took 2 minutes to
> fail a cell erase and bring in a spare cell, which is too long for a
> redundant ZFS log device on a pool with a dataset with property
> sync=always serving iSCSI volumes.
>
> smartctl shows it supports SCT ERC:
>
> # smartctl -x -d sat,12 /dev/rdsk/c4t0d0s0
>
> smartctl 6.5 2016-05-07 r4318 [i386-pc-solaris2.11] (local build)
> Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
>
> === START OF INFORMATION SECTION ===
> Device Model: Samsung SSD 845DC PRO 400GB
> <snip>
> ATA Version is: ACS-2, ATA8-ACS T13/1699-D revision 4c
> SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
> <snip>
> SCT capabilities: (0x003d) SCT Status supported.
> SCT Error Recovery Control supported.
> SCT Feature Control supported.
> SCT Data Table supported.
> <snip>
>
>
> I should be able to read its current SCT ERC settings, but get an error:
>
> # smartctl -l scterc -d sat,12 /dev/rdsk/c4t0d0s0
> smartctl 6.5 2016-05-07 r4318 [i386-pc-solaris2.11] (local build)
> Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
>
> SMART WRITE LOG returns COUNT and LBA_LOW register unchanged
> SCT (Get) Error Recovery Control command failed
>
>
> I would go read/write the scterc values on a different OS as a
> workaround, but I've read that Samsung devices do not persist CCTL
> values across reboots. At present, I don't know what it's set to or if
> it's being honored.
>
> It appears that this is a limitation of smartmontools on Solaris and its
> derivatives.
>
> Any ideas how I can read and set the scterc values on Omnios?
>
> --
> Andrew
> _______________________________________________
> OmniOS-discuss mailing list
> OmniOS-discuss at lists.omniti.com
> http://lists.omniti.com/mailman/listinfo/omnios-discuss
>


More information about the OmniOS-discuss mailing list