#1745 closed defect (fixed)
Don't print error log entries if error count is zero
Reported by: | René Bertin | Owned by: | Christian Franke |
---|---|---|---|
Priority: | minor | Milestone: | Release 7.5 |
Component: | smartctl | Version: | |
Keywords: | ata | Cc: |
Description (last modified by )
I received a new 256Gb Kingston (M-SATA) SSD and as usual I filled it with zeroes and then ran a long self-test before taking it into use.
Here's the output of smartctl -a
(smartmontools 7.4):
smartctl 7.4 2023-08-01 r5530 [x86_64-linux-4.14.23-ck1-mainline-core2-rjvb] (local build) Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Model Family: Silicon Motion based SSDs Device Model: KINGSTON SKC600MS256G Serial Number: 50026B77856B72A3 LU WWN Device Id: 5 0026b7 7856b72a3 Firmware Version: S4800105 User Capacity: 256,060,514,304 bytes [256 GB] Sector Sizes: 512 bytes logical, 4096 bytes physical Rotation Rate: Solid State Device Form Factor: 2.5 inches TRIM Command: Available, deterministic, zeroed Device is: In smartctl database 7.3/5533 ATA Version is: ACS-3 T13/2161-D revision 5 SATA Version is: SATA 3.3, 6.0 Gb/s (current: 6.0 Gb/s) Local Time is: Sat Sep 9 18:35:36 2023 CEST SMART support is: Available - device has SMART capability. SMART support is: Enabled === START OF READ SMART DATA SECTION === SMART overall-health self-assessment test result: PASSED General SMART Values: Offline data collection status: (0x82) Offline data collection activity was completed without error. Auto Offline Data Collection: Enabled. Self-test execution status: ( 0) The previous self-test routine completed without error or no self-test has ever been run. Total time to complete Offline data collection: ( 0) seconds. Offline data collection capabilities: (0x7b) SMART execute Offline immediate. Auto Offline data collection on/off support. Suspend Offline collection upon new command. Offline surface scan supported. Self-test supported. Conveyance Self-test supported. Selective Self-test supported. SMART capabilities: (0x0002) Does not save SMART data before entering power-saving mode. Supports SMART auto save timer. Error logging capability: (0x01) Error logging supported. General Purpose Logging supported. Short self-test routine recommended polling time: ( 2) minutes. Extended self-test routine recommended polling time: ( 30) minutes. Conveyance self-test routine recommended polling time: ( 2) minutes. SCT capabilities: (0x0031) SCT Status supported. SCT Feature Control supported. SCT Data Table supported. SMART Attributes Data Structure revision number: 16 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x0000 100 100 000 Old_age Offline - 0 5 Reallocated_Sector_Ct 0x0000 100 100 000 Old_age Offline - 0 9 Power_On_Hours 0x0000 100 100 000 Old_age Offline - 4 12 Power_Cycle_Count 0x0000 100 100 000 Old_age Offline - 2 148 Total_SLC_Erase_Ct 0x0000 100 100 000 Old_age Offline - 19 149 Max_SLC_Erase_Ct 0x0000 100 100 000 Old_age Offline - 2 150 Min_SLC_Erase_Ct 0x0000 100 100 000 Old_age Offline - 0 151 Average_SLC_Erase_Ct 0x0000 100 100 000 Old_age Offline - 1 159 DRAM_1_Bit_Error_Count 0x0000 100 100 000 Old_age Offline - 0 160 Uncorrectable_Error_Cnt 0x0000 100 100 000 Old_age Offline - 0 161 Valid_Spare_Block_Cnt 0x0000 100 100 000 Old_age Offline - 37 164 Total_Erase_Count 0x0000 100 100 000 Old_age Offline - 1487 165 Max_Erase_Count 0x0000 100 100 000 Old_age Offline - 6 166 Min_Erase_Count 0x0000 100 100 000 Old_age Offline - 2 167 Average_Erase_Count 0x0000 100 100 000 Old_age Offline - 2 169 Remaining_Lifetime_Perc 0x0000 100 100 000 Old_age Offline - 100 177 Wear_Leveling_Count 0x0000 100 100 050 Old_age Offline - 0 181 Program_Fail_Cnt_Total 0x0000 100 100 000 Old_age Offline - 0 182 Erase_Fail_Count_Total 0x0000 100 100 000 Old_age Offline - 0 192 Power-Off_Retract_Count 0x0000 100 100 000 Old_age Offline - 0 194 Temperature_Celsius 0x0000 043 063 000 Old_age Offline - 43 195 Hardware_ECC_Recovered 0x0000 100 100 000 Old_age Offline - 0 196 Reallocated_Event_Count 0x0000 100 100 016 Old_age Offline - 0 199 UDMA_CRC_Error_Count 0x0000 100 100 050 Old_age Offline - 0 231 SSD_Life_Left 0x0000 100 100 000 Old_age Offline - 100 232 Available_Reservd_Space 0x0000 100 100 000 Old_age Offline - 100 241 Host_Writes_32MiB 0x0000 100 100 000 Old_age Offline - 13512 242 Host_Reads_32MiB 0x0000 100 100 000 Old_age Offline - 0 245 TLC_Writes_32MiB 0x0000 100 100 000 Old_age Offline - 24535 SMART Error Log Version: 1 Warning: ATA error count 0 inconsistent with error log pointer 1 ATA Error Count: 0 CR = Command Register [HEX] FR = Features Register [HEX] SC = Sector Count Register [HEX] SN = Sector Number Register [HEX] CL = Cylinder Low Register [HEX] CH = Cylinder High Register [HEX] DH = Device/Head Register [HEX] DC = Device Command Register [HEX] ER = Error register [HEX] ST = Status register [HEX] Powered_Up_Time is measured from power on, and printed as DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes, SS=sec, and sss=millisec. It "wraps" after 49.710 days. Error 0 occurred at disk power-on lifetime: 0 hours (0 days + 0 hours) When the command that caused the error occurred, the device was in an unknown state. After command completion occurred, registers were: ER ST SC SN CL CH DH -- -- -- -- -- -- -- 00 ec 00 00 00 00 00 Commands leading to the command that caused the error were: CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name -- -- -- -- -- -- -- -- ---------------- -------------------- ec 00 00 00 00 00 00 00 00:00:00.000 IDENTIFY DEVICE ec 00 00 00 00 00 00 00 00:00:00.000 IDENTIFY DEVICE ec 00 00 00 00 00 00 00 00:00:00.000 IDENTIFY DEVICE ec 00 00 00 00 00 00 00 00:00:00.000 IDENTIFY DEVICE c8 00 00 00 00 00 00 00 00:00:00.000 READ DMA SMART Self-test log structure revision number 1 Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error # 1 Extended offline Completed without error 00% 4 - SMART Selective self-test log data structure revision number 1 SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS 1 0 0 Not_testing 2 0 0 Not_testing 3 0 0 Not_testing 4 0 0 Not_testing 5 0 0 Not_testing Selective self-test flags (0x0): After scanning selected spans, do NOT read-scan remainder of disk. If Selective self-test is pending on power-up, resume after 0 minute delay. The above only provides legacy SMART information - try 'smartctl -x' for more
I'm attaching the output of smartctl -a -x
.
The SSD is in an Inateck enclosure currently connected over USB2.
Does this indicate a problem with the drive, a glitch (cat tripping over the cable or something like that ;)) or an issue in smartmontools?
Attachments (1)
Change History (9)
by , 16 months ago
Attachment: | Kingston-SKC600MS256G-smartx.log added |
---|
comment:1 by , 16 months ago
Replying to René Bertin:
That should be
smartctl 7.4 2023-08-01 r5530 [x86_64-linux-4.14.23-ck1-mainline-core2-rjvb] (local build) Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === <SNIP> The above only provides legacy SMART information - try 'smartctl -x' for moreI'm attaching the output of
smartctl -a -x
.
The SSD is in an Inateck enclosure currently connected over USB2.
Does this indicate a problem with the drive, a glitch (cat tripping over the cable or something like that ;)) or an issue in smartmontools?
comment:2 by , 16 months ago
Description: | modified (diff) |
---|
comment:3 by , 16 months ago
Component: | all → smartctl |
---|---|
Keywords: | ata added |
Milestone: | → Release 7.5 |
Thanks for the report. Smartctl checks only the error_log_pointer
and not the ata_error_count
to check whether the SMART Error Log is empty. This is the case since the very first version of smartmontools (see source:/trunk/sm5/ataprint.c@6#L397). This is possibly the first report of a device where this does no longer work.
As a consequence, the smartctl output of the legacy SMART Error Log is bogus in this case. This log (which supports only 28-bit LBA) is actually empty.
Does this indicate a problem with the drive, a glitch (cat tripping over the cable or something like that ;)) or an issue in smartmontools?
The Extended Comprehensive Error Log (supports 48-bit LBA) from the -x
output is also empty, so there is no sign of device problems (or cat incidents ;)).
comment:4 by , 16 months ago
T13/BSR INCITS 529 - ATA Command Set4 (ACS-4) says:
"If there are no error log entries, the value of the error log index shall be zero."
Conclusion: This is a harmless firmware bug and this smartctl output is correct:
Warning: ATA error count 0 inconsistent with error log pointer 1
Smartctl should not print the bogus empty error entry in this case.
comment:5 by , 16 months ago
Whew, I was hoping (and almost certain) that this would be the consensus, with all the zeroes in the supposed error. Good to know too that the bogus report will presumably be suppressed in a future release, because seeing pointless errors every time you check the drive is quite annoying...
(I have another drive that recorded an error because of a flaky connection to the controller at the very beginning of its life with me, I'd love to suppress that one ...)
comment:6 by , 16 months ago
Owner: | set to |
---|---|
Status: | new → accepted |
Summary: | "ATA error count X inconsistent with error log pointer" - trouble or bug? → Don't print error log entries if error count is zero |
comment:8 by , 16 months ago
If possible, please test a recent CI build from https://builds.smartmontools.org/.
smartctl -a -x /dev/sdc