[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