Opened 2 years ago
Last modified 2 weeks ago
#1678 new defect
attribute spelling is inconsistent between different drivedb entries
Reported by: | vthriller | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | unscheduled |
Component: | drivedb | Version: | |
Keywords: | Cc: |
Description (last modified by )
For example:
- Grown_Bad_Block_Count
- Grown_Bad_Block_Ct
- Grown_Bad_Blocks
- Grown_Failing_Block_Ct (?)
- Total_Bad_Block
- Total_Bad_Block_Count
- Total_Bad_Blocks
- Thermal_Throttle (?)
- Thermal_Throttle_St
- Thermal_Throttle_Status
- ECC_Uncorr_Error_Count
- Lifetime_UECC_Ct
- UECC_Ct
- Uncorrectable_ECC_Cnt
- Uncorrectable_ECC_Ct
- Uncorrectable_Err_Ct
- Uncorrectable_Error_Cnt
- Uncorrectable_Sector_Ct
- Uncorrectable_Sectors
- Erase_Fail_Cnt
- Erase_Fail_Count
- Erase_Fail_Ct
- Unexpect_Power_Loss
- Unexpect_Power_Loss_Ct
- Unexpect_PwrLoss_Ct
- Unexpected_Power_Cycle
- Unexpected_Power_Loss
- Unexpected_Pwr_Loss_Cnt
- Unexpected_Pwr_Loss_Ct
- Soft_ECC_Correct_Rate
- Soft_ECC_Correction_Rt
- DriveLife_Remaining%
- Drive_Life_Remaining%
- Lifetime_Left (?)
- PCT_Life_Remaining
- Perc_Rated_Life_Remain
- Percent_Life_Remaining
- Percent_Lifetime_Remain
- Remaining_Life
- Remaining_Lifetime_Perc
And so on and so forth.
Change History (8)
comment:1 by , 2 years ago
Component: | all → drivedb |
---|
comment:2 by , 2 years ago
Milestone: | → unscheduled |
---|---|
Priority: | trivial → minor |
comment:3 by , 17 months ago
I think this is a function in part of multiple submitters, but even more that vendor SMART reference documents use different names.
For drive self-reported lifetime, it's even worse:
- Media_Wearout_Indicator
- Wear_Leveling_Count
- Wear_Level_Used
- Percent_Lifetime_Remain
- SSD_Life_Left
Some drives report lifetime used, others lifetime remaining. I've seen at least one case where a manufacturer distributed a drivedb.h entry that got the polarity wrong.
I came to the site actually to request a project to align the attribute names, to pick a standard for each and update all drivedb.h entries to follow.
One might argue that tools should use the numeric ID instead, which has some merit, but I've also seen drives that use nonstandard numeric IDs for some metrics.
comment:4 by , 17 months ago
Specific ATA SMART attributes were never part of any standard. The related data block is vendor specific since at least ATA-4 (1991) and has been declared obsolete in ATA ACS-4 (2015).
In practice, HDDs use a rather stable attribute set but SSD vendors still invent new incompatible attribute sets.
comment:5 by , 2 weeks ago
To add to myriad of power loss counters, there are also Intel SSD entries with different terminology for what looks like the same thing (at least for me):
-v 174,raw48,Unexpect_Power_Loss_Ct -v 174,raw48,Unsafe_Shutdown_Count
And if anyone thinks that these could be coalesced arbitrarily into something-something-power-loss, here's another pair of attributes with "shutdown" in the name (this time from the entry for Cloudspeed Max):
"-v 191,raw48,Clean_Shutdown_Ct " "-v 192,raw48,Unclean_Shutdown_Ct "
which would warrant, I don't know, "Expected Power Loss Count"? (-:
comment:6 by , 2 weeks ago
Description: | modified (diff) |
---|
comment:7 by , 2 weeks ago
Description: | modified (diff) |
---|
If anyone wants to go through other potentially ambiguous names,
egrep -o -- '-v [^ "]+' drivedb.h | cut -d, -f3 | sort -u
comment:8 by , 2 weeks ago
Here's another tricky set of names, which is harder to reason about because of these attributes from one drivedb entry for WD SSDs:
"-v 233,raw48,NAND_GB_Written_TLC " "-v 234,raw48,NAND_GB_Written_SLC "
- Lifetime_NAND_Prg_GiB
- NAND_GB_Written_SLC
- NAND_GB_Written_TLC
- NAND_GiB_Written
- NAND_Writes_1GiB
- NAND_Writes_GiB
- TLC_NAND_GB_Writes
- Total_NAND_Writes_GiB
WIP.