[SOLVED] Files getting corrupted after being downloaded

Kaloyan56

Honorable
Oct 27, 2016
14
1
10,515
Hi!
Just as the title says, I've been having some problems with files I download. I noticed that right after updating a steam game, the game would start crashing randomly. So I do a file integrity check and have some files that are broken. This can happen with files that are downloaded from the internet.
I have an SSD as a boot drive and an HDD as storage. The HDD is a Seagate Barracuda 2Tb. I have confirmed that downloading games or files on the SSD is just fine. The problem is just with new files on the HDD. I am 99% sure that the problem is the HDD, but any SMART tests I do pass.

Basically, I need your advice. Should I look into other components (or maybe tweaking some settings) or should I just buy a new drive. I've had this one for three years and I bought it new. Seems like an awfully short lifespan.
I am currently running MemTest to check if my memory makes any errors, but it seems to be fine so far (I started about 15 minutes ago).
 
Solution
Well, unfortunately that didn't give any answer for what might be wrong, just basically says the self-test says the hdd is fine.

There are a couple thing left to do that hopefully gives an answer:
  • Do a full surface scan of the hdd. Can use Windows or some third party software.
  • Replace the HDD - preferably with another brand/model and see if the problem persists.
  • If possible : try to re-locate the hdd to another computer (can use USB/SATA converter) and see if the problem persists.
I was about to suggest replace SATA cable and try to use another SATA port. However, if there was an issue in the data transmission through bad cable or corrupt sata controller, I'd expect that to be picked up as an error and being reflected...
testing ram one stick at a time?
memtest can take a long time.

I was going to suggest checking ram as its one thing all game data has to go through. Its possible the transfer speed of ssd is fast enough it doesn't use as much ram while transfering games from steam, for instance. hdd are slower to write but dl speed is still same, so ram might get used more.

did you try Seatools? https://www.seagate.com/au/en/support/downloads/seatools/seatools-win-master/

what make/model PSU? How old? PSU that are old can kill hdd, just a thought.
 
Last edited:
testing ram one stick at a time?
memtest can take a long time.

I was going to suggest checking ram as its one thing all game data has to go through. Its possible the transfer speed of ssd is fast enough it doesn't use as much ram while transfering games from steam, for instance. hdd are slower to write but dl speed is still same, so ram might get used more.

did you try Seatools? https://www.seagate.com/au/en/support/downloads/seatools/seatools-win-master/

what make/model PSU? How old? PSU that are old can kill hdd, just a thought.
I have tried Seatools' SMART check and it's a pass.
I have only one stick of RAM (yes I know dual channel is better) so MemTest did not go for that long (still took a couple of hours), but there weren't any RAM errors.
The PSU is also 3 years old. It's a 650W 80+ Gold certified unit. It's not from a very well known brand, though. It's made by Njoy. I haven't had any problems with it, though.

Also I forgot to mention that there are noises coming from the PC (I assume the HDD) that are like high pitch screeches. They are very rare though.
Edit:
When I think about it, the noise could be from a fan, maybe?
 
I can't find a lot on the PSU, one answer about the 750watt unit suggested using something else. So it could be reason why a fairly new hdd is a problem

if its the woden model, its not very good PSU - https://forums.tomshardware.com/threads/known-psu-vs-unknown-psu.3339948/#post-20367719

Problem with PSU is there aren't any real tests. Its just a hunch it might be cause.

Seagate HDD had a bad run a few years ago but I am not sure about them more recently. I heard about bad run just as I got one and it lasted 5 years or more (still works) so who can say.
 
I can't find a lot on the PSU, one answer about the 750watt unit suggested using something else. So it could be reason why a fairly new hdd is a problem

if its the woden model, its not very good PSU - https://forums.tomshardware.com/threads/known-psu-vs-unknown-psu.3339948/#post-20367719

Problem with PSU is there aren't any real tests. Its just a hunch it might be cause.

Seagate HDD had a bad run a few years ago but I am not sure about them more recently. I heard about bad run just as I got one and it lasted 5 years or more (still works) so who can say.
I guess I'll try to format the drive and start over. Here's hoping mu PSU didn't kill it
Edit:
About the PSU: When I got it 3 years ago, I knew it wasn't a very trusty brand. I hoped that since it's 80+ Gold, it would be of some quality. I guess not
 
Last edited:
See this thread where a Seagate user reports an insidious data corruption bug:

https://forum.hddguru.com/viewtopic.php?f=1&t=40740

I would use GSmartControl to examine the Device Statistics (GP Log 0x04).

https://gsmartcontrol.sourceforge.io/home/index.php/Downloads
I downloaded GSmartControl and ran it. For the uncorrectable errors my value says 100 with threshold 0. The RAW value, however, is 0.
Do you think it's that bad, or is it simply misreporting?
I ran dskchk on the drive and it found errors. I restarted the PC and windows did some repairs. Dskchk doesn't find any errors now. It may be fixed... For now at least

EDIT: I have read the report further and it says that GP/SMART log 0x04 is unsupported. So I have no Idea if there are uncorrectable errors.
 
See this thread where a Seagate user reports an insidious data corruption bug:

https://forum.hddguru.com/viewtopic.php?f=1&t=40740

I would use GSmartControl to examine the Device Statistics (GP Log 0x04).

https://gsmartcontrol.sourceforge.io/home/index.php/Downloads

smartctl 6.6 2017-11-05 r4594 [x86_64-w64-mingw32-w10-b19044] (sf-6.6-1)
Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family: Seagate Barracuda 3.5
Device Model: ST2000DM006-2DM164
Serial Number: Z4Z90XSC
LU WWN Device Id: 5 000c50 0a45ed1ff
Firmware Version: CC26
User Capacity: 2 000 398 934 016 bytes [2,00 TB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: 7200 rpm
Form Factor: 3.5 inches
Device is: In smartctl database [for details use: -P show]
ATA Version is: ACS-2, ACS-3 T13/2161-D revision 3b
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Sun Dec 19 11:27:24 2021 FLEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
AAM feature is: Unavailable
APM level is: 128 (minimum power consumption without standby)
Rd look-ahead is: Enabled
Write cache is: Enabled
DSN feature is: Unavailable
ATA Security is: Disabled, NOT FROZEN [SEC1]

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status: (0x00) Offline data collection activity
was never started.
Auto Offline Data Collection: Disabled.
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: ( 80) seconds.
Offline data collection
capabilities: (0x73) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
No Offline surface scan supported.
Self-test supported.
Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves 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: ( 1) minutes.
Extended self-test routine
recommended polling time: ( 212) minutes.
Conveyance self-test routine
recommended polling time: ( 2) minutes.
SCT capabilities: (0x1085) SCT Status supported.

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAGS VALUE WORST THRESH FAIL RAW_VALUE
1 Raw_Read_Error_Rate POSR-- 119 099 006 - 226445728
3 Spin_Up_Time PO---- 099 096 000 - 0
4 Start_Stop_Count -O--CK 093 093 020 - 7449
5 Reallocated_Sector_Ct PO--CK 100 100 010 - 0
7 Seek_Error_Rate POSR-- 081 060 030 - 137888217
9 Power_On_Hours -O--CK 088 088 000 - 10616
10 Spin_Retry_Count PO--C- 100 100 097 - 0
12 Power_Cycle_Count -O--CK 099 099 020 - 1829
183 Runtime_Bad_Block -O--CK 100 100 000 - 0
184 End-to-End_Error -O--CK 100 100 099 - 0
187 Reported_Uncorrect -O--CK 100 100 000 - 0
188 Command_Timeout -O--CK 100 001 000 - 1 2 512
189 High_Fly_Writes -O-RCK 099 099 000 - 1
190 Airflow_Temperature_Cel -O---K 067 048 045 - 33 (Min/Max 22/33)
191 G-Sense_Error_Rate -O--CK 100 100 000 - 0
192 Power-Off_Retract_Count -O--CK 099 099 000 - 3237
193 Load_Cycle_Count -O--CK 057 057 000 - 86920
194 Temperature_Celsius -O---K 033 052 000 - 33 (0 16 0 0 0)
197 Current_Pending_Sector -O--C- 100 100 000 - 0
198 Offline_Uncorrectable ----C- 100 100 000 - 0
199 UDMA_CRC_Error_Count -OSRCK 200 200 000 - 0
240 Head_Flying_Hours ------ 100 253 000 - 6563h+07m+12.819s
241 Total_LBAs_Written ------ 100 253 000 - 50008784924
242 Total_LBAs_Read ------ 100 253 000 - 920922680801
||||||_ K auto-keep
|||||__ C event count
||||___ R error rate
|||____ S speed/performance
||_ O updated online
|__ P prefailure warning

General Purpose Log Directory Version 1
SMART Log Directory Version 1 [multi-sector log support]
Address Access R/W Size Description
0x00 GPL,SL R/O 1 Log Directory
0x01 SL R/O 1 Summary SMART error log
0x02 SL R/O 5 Comprehensive SMART error log
0x03 GPL R/O 5 Ext. Comprehensive SMART error log
0x06 SL R/O 1 SMART self-test log
0x07 GPL R/O 1 Extended self-test log
0x09 SL R/W 1 Selective self-test log
0x10 GPL R/O 1 NCQ Command Error log
0x11 GPL R/O 1 SATA Phy Event Counters log
0x21 GPL R/O 1 Write stream error log
0x22 GPL R/O 1 Read stream error log
0x30 GPL,SL R/O 9 IDENTIFY DEVICE data log
0x80-0x9f GPL,SL R/W 16 Host vendor specific log
0xa1 GPL,SL VS 20 Device vendor specific log
0xa2 GPL VS 4496 Device vendor specific log
0xa8 GPL,SL VS 129 Device vendor specific log
0xa9 GPL,SL VS 1 Device vendor specific log
0xab GPL VS 1 Device vendor specific log
0xb0 GPL VS 5176 Device vendor specific log
0xbe-0xbf GPL VS 65535 Device vendor specific log
0xc0 GPL,SL VS 1 Device vendor specific log
0xc1 GPL,SL VS 10 Device vendor specific log
0xc3 GPL,SL VS 8 Device vendor specific log
0xe0 GPL,SL R/W 1 SCT Command/Status
0xe1 GPL,SL R/W 1 SCT Data Transfer

SMART Extended Comprehensive Error Log Version: 1 (5 sectors)
No Errors Logged

SMART Extended Self-test Log Version: 1 (1 sectors)
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Short offline Completed without error 00% 10616 -
# 2 Short offline Completed without error 00% 10610 -
# 3 Short offline Completed without error 00% 8761 -
# 4 Short offline Completed without error 00% 7415 -
# 5 Short offline Completed without error 00% 7186 -

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.

SCT Status Version: 3
SCT Version (vendor specific): 522 (0x020a)
SCT Support Level: 1
Device State: Active (0)
Current Temperature: 32 Celsius
Power Cycle Min/Max Temperature: 22/32 Celsius
Lifetime Min/Max Temperature: 16/52 Celsius
Under/Over Temperature Limit Count: 0/0

SCT Data Table command not supported

SCT Error Recovery Control command not supported

Device Statistics (GP/SMART Log 0x04) not supported

SATA Phy Event Counters (GP Log 0x11)
ID Size Value Description
0x000a 2 1 Device-to-host register FISes sent due to a COMRESET
0x0001 2 0 Command failed due to ICRC error
0x0003 2 0 R_ERR response for device-to-host data FIS
0x0004 2 0 R_ERR response for host-to-device data FIS
0x0006 2 0 R_ERR response for device-to-host non-data FIS
0x0007 2 0 R_ERR response for host-to-device non-data FIS

This is the output for the program
 
Well, unfortunately that didn't give any answer for what might be wrong, just basically says the self-test says the hdd is fine.

There are a couple thing left to do that hopefully gives an answer:
  • Do a full surface scan of the hdd. Can use Windows or some third party software.
  • Replace the HDD - preferably with another brand/model and see if the problem persists.
  • If possible : try to re-locate the hdd to another computer (can use USB/SATA converter) and see if the problem persists.
I was about to suggest replace SATA cable and try to use another SATA port. However, if there was an issue in the data transmission through bad cable or corrupt sata controller, I'd expect that to be picked up as an error and being reflected by errors in s.m.a.r.t. data, but there aren't any obvious fault indications as I can see.

A second taught (this is guess-work from me because I don't know the inner working of hdd in that level of detail that I can be really sure) : If there is a suface problem of the hdd platter, it may be a rare case where data corrupts, but not immediately after writing. If that is the case, then I'd assume those potential errors are not picked up by the hdd self-test routines.

A third taught : I was also about suggesting trying to use Linux (live-desktop) to see if the problem persists. However, Linux may not play well with NTFS file system, so that would insted require you to reformat the hdd to a native Linux File system. In this case I'd recommend BTRFS file system because it have built-in capability to do a check sum control of the hdd (at block level). So after using it for a time while downloading files, one such check will determine if the HDD works good or not.
The big difference compared to a regular surface check is that you do a check on data that have being stored on the hdd for some time, but for a regular surface check it may take only a few seconds from data is read before the algorithm check if the data matches (i.e. if data degrades over time, it's typically not picked up by surface check).
 
Solution
Well, unfortunately that didn't give any answer for what might be wrong, just basically says the self-test says the hdd is fine.

There are a couple thing left to do that hopefully gives an answer:
  • Do a full surface scan of the hdd. Can use Windows or some third party software.
  • Replace the HDD - preferably with another brand/model and see if the problem persists.
  • If possible : try to re-locate the hdd to another computer (can use USB/SATA converter) and see if the problem persists.
I was about to suggest replace SATA cable and try to use another SATA port. However, if there was an issue in the data transmission through bad cable or corrupt sata controller, I'd expect that to be picked up as an error and being reflected by errors in s.m.a.r.t. data, but there aren't any obvious fault indications as I can see.

A second taught (this is guess-work from me because I don't know the inner working of hdd in that level of detail that I can be really sure) : If there is a suface problem of the hdd platter, it may be a rare case where data corrupts, but not immediately after writing. If that is the case, then I'd assume those potential errors are not picked up by the hdd self-test routines.

A third taught : I was also about suggesting trying to use Linux (live-desktop) to see if the problem persists. However, Linux may not play well with NTFS file system, so that would insted require you to reformat the hdd to a native Linux File system. In this case I'd recommend BTRFS file system because it have built-in capability to do a check sum control of the hdd (at block level). So after using it for a time while downloading files, one such check will determine if the HDD works good or not.
The big difference compared to a regular surface check is that you do a check on data that have being stored on the hdd for some time, but for a regular surface check it may take only a few seconds from data is read before the algorithm check if the data matches (i.e. if data degrades over time, it's typically not picked up by surface check).
I am marking this as a solition, since this gives the most ideas for a fix that could work for other people. As for me, since the dskchk there haven't been any problems (yet). If the problem returns, I'll treat myself to a new drive. They aren't all that expensive nowadays.

Thanks to everyone who tried to help
 
  • Like
Reactions: Grobe