-
Notifications
You must be signed in to change notification settings - Fork 67
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Q: Any way to reset/clear SMART attributes (i.e. 199 UDMA_CRC_Error_Count) #172
Comments
HI @stevecs, Thanks for the question! Since SMART attributes are obsolete and being replaced with Device Statistics, I did check and there is a feature that can be used to reset some statistics. The SATA Phy event counters log also has something like this. The phy event counters log does support the CRC counter and device statistics has both CRC counter and command timeouts (It's called "Number of Resets Between Command Acceptance and Command Completion"). I will test a few different products for these features as well and update this issue as I find out more. |
@vonericsen Thanks for taking a look and will be interested in what you find. Yes I've been seeing the 'slow demise' of SMART attributes over the years (not to mention that they were never really standardized or enforced) but they did at least provide a lot of data that was very useful (and have always wanted similar details in SAS/SCSI/FC devices over the last ~40 years). I was not aware of "Device Statistics" for SATA drives (to be fair, I only have a couple hundred SATA drives most are SAS/FC or NVME). So that's interesting. Would be interested if you could point to any URL's for specs or standards to that for "bedtime reading". |
Yeah, there are multiple reasons for this, some dating back to when SMART was released in ATA-3. Seagate's firmware group has not given any timeline in which SMART attributes will be removed, but the device statistics log has been supported for quite a while now.
ACS-3 was the first spec to define the majority of the device statistics log on SATA and it is very similar to the standardized outputs from SAS/FC log pages. The SAT specs even translate many of these statistics to these log pages today as well. We support showing that page with One other part of device statistics added to the standard is |
Refactored the code to simplify it and start reading which statistics support reinitialization. Will need to identify a product that supports statistic reinitialization for full testing. [Seagate/openSeaChest#172] Signed-off-by: Tyler Erickson <[email protected]>
Adding function to set the date and time timestamp and updating how it is displayed to convert it to a more human readable timestamp. Adding a function to reset/reinitialize supported device statistics. Cleaned up more about how a statistic is looked up from its page and offset to be more readable and maintainable. [Seagate/openSeaChest#172] Signed-off-by: Tyler Erickson <[email protected]>
Adding support for issing the read log ext with the feature field set to 1 to trigger a reset of the phy event counters. [Seagate/openSeaChest#172] Signed-off-by: Tyler Erickson <[email protected]>
… options Adding options to set the device timestamp as well as new options to issue the command to reset the SATA phy event counters and supported device statistics that support resetting. [#172] Signed-off-by: Tyler Erickson <[email protected]>
I have created the branch feature/SATA_Dev_Stats_and_Phy_Counters_Refresh and have added the initial code to support issuing the commands that reset supported device statistics and the SATA phy event counters log. I am still working on testing, but feel free to pull this and test it out in the meantime. |
…e stats Pulling in the library bug fix from populating device statistics. Also added in additional Seagate device erase statistics that were already in openSeaChest_Info [#172] Signed-off-by: Tyler Erickson <[email protected]>
Adding CDL device statistics on SATA drives. This code supports concurrent ranges 0-3 per ACS-6 statistics. This also handles the difference between whole device policies and concurrent range policies depending on what the drive populates when it is read. All these statistics are defined in the spec as supporting the read then initialize feature as well according to the standards. [Seagate/openSeaChest#172] Signed-off-by: Tyler Erickson <[email protected]>
[#172] Signed-off-by: Tyler Erickson <[email protected]>
More of a question so if this is the wrong forum let me know. I have been looking to see if there is a way to clear/reset some SMART attributes or how to go about it. I am, in particular, looking at 199 UDMA_CRC_Error_Count as I have a good number of drives that have values there due to misbehaving back planes or bad cables/hba's in the past.
Yes I can track each variable to see if it increases but that gets harder to see/monitor with hundreds of drives. The ability to reset/clear that to zero would be very useful. Likewise other values like 188 Command Timeout.
I know that these can be cleared by the OEM on refurbished drives, as well as I've seen some instances where they can be cleared with certain firmware updates. But have not found any means so far to clear them for general/advanced users.
Vast majority of our rotating rust drives are seagate if that matters (ST4000's though ST20000's) if it's a oem specific type of command.
The text was updated successfully, but these errors were encountered: