VOGONS


386 hard disk and scandisk errors

Topic actions

First post, by 386SX

User metadata
Rank Oldbie
Rank
Oldbie

Hi,

I've this Seagate ST3660 520MB hard disk that is installed intoa 386DX40 machine on UMC chipset and UMC based I/O isa controller along with GD5429 isa vga, Yamaha YMF719, msdos 6.2 and Win 3.1. I remember when I bought this second hand disk I think I only saw a single cluster having problems, but lately while I got less than half of the space left on the disk, installation after installation, I begin to see strange writing (abort,retry,ignore etc..) errors while copying bigger files.
I did again a checkit disk test and a scandisk surface test and it reports that more or less "18 graphical blocks * 98 each = n° clusters" has been flagged with the damaged/bad letter while checkit program notice some msdos file errors both at the "middle" of the process/disk.
Is this normal for such 1995 disk and for this kind of hardware? I read that it was usual for old disks to have factory damaged clusters but I didn't know it and I suppose not that many. Might it be I pushed the I/O controller speed too much in the bios (I/O recovery time goes from 12 BCLK to 2 BCLK) or simply filling up the disk with data I'm finding disk problems?
The disk is set in the bios with the right 1057/16/63 settings but formatted is seen as 1024 cylinders I suppose from the msdos fdisk/format utility.
Also once flagged as bad clusters, are they simply unused/skipped or the o.s. might try to write again or read again from/on those ones?
Thanks

Last edited by 386SX on 2020-08-01, 15:33. Edited 2 times in total.

Reply 1 of 25, by Marentis

User metadata
Rank Newbie
Rank
Newbie

I'll try to answer in order:
1) My hdd back in the days had bad sectors, too. That's even common (as in: they come with a few bad sectors from the factory, nothing to worry about) with today's SSDs, such sectors are simply not used. So that's not a problem, at all. Caveat: if defective sectors are increasing suddenly or over longer periods of time it's a clear sign that the drive in question is soon(tm) to be dead. I'm not absolutely sure about modern HDDs because I didn't care for them for roughly 7-8 years now. So somebody else can probably answer that much better.
2) You can't really provoke that by pushing the I/O controller speed. Those are physical defects.
3) Filling the disk can indeed find more defective sectors as it is written to them but scandisk will do a thorough scan so it's not really dependent on how much the drive has been filled already.
4) They're basically not used, no issues there (except when used sectors become bad or - as stated above - they keep increasing).

Reply 2 of 25, by 386SX

User metadata
Rank Oldbie
Rank
Oldbie

Thanks for the answer. But regarding the last point, are they simply not used because the "bad" flag tells the system to not use them or it may still try to write on them? Is msdos to decide? or some program like smartdrive?
Anyway too bad .. I hope it will not get worse because I bought this disk specifically to have a period correct high end system and I'd not like to use some newer 10GB disk with those overlay drivers.. I'm not a fan of the modern workaround to use flash cards or whatever on such systems too.
And these old disks are becoming quite expensive and rare.

Reply 3 of 25, by Marentis

User metadata
Rank Newbie
Rank
Newbie

There are two places where handling of bad sectors can happen:
1) I'm not sure how many or even if old hard drives had spare sectors, somebody else might know for sure.
But when a drive has spare sectors it does the following: the drive's controller remaps a logical location to a spare physical sector, thus it basically doesn't point to the bad sector anymore. That's
transparent to the operating system, so nothing to be done there. This is also what modern SSDs do.
Now if the drive runs out of spare sectors then you can be sure that the drive is on its way out.
2) Scandisk can mark bad sectors which are then ignored by the file system.

I noticed that my first post is not well written. Sorry.
I should have explained *before* how spare sectors work so talking about how drives can have bad sectors but at the same time saying that this is nothing to worry about
seems contradictory. But I'll try to do better now. I can think of the following situations which lead to bad sectors and their impact:
1) manufacturing defects which lead to bad sectors. Those are transparent to the user and operating system because they're never used. They're basically hidden by the drive's controller.
2) Then there are defects over time which can happen. This is not an issue as long as there are still spare sectors the controller can remap to.
3) The third case is when you have to worry: defects which accumulated later on and used up all your spare sectors. That's when scandisk will notice that something is wrong and start marking those sectors.
Your operating system will then proceed to not write to those sectors anymore. This is usually a sign that your HDD is on its way out.

So in short it depends on when and how bad sectors occurred to know if you need to worry about them or not.

Reply 4 of 25, by 386SX

User metadata
Rank Oldbie
Rank
Oldbie

Thanks again for the explanation. I never really studied into the bad/failing logic of the disks and always thought it would have been more possible a mechanical failure "before" a magnetic disk one. I can't know which of the above cases this disk is into, but considering now Scandisk has found these clusters and flagged them as bad, I can only check again and again maybe every weeks to see if newer ones are found. Considering it's a 386 machine it's not like I'd need much more clusters to be able to compensate possible failures but as usual with every config, after a while you find the disk having few free space left.

Update: it looks like another scandisk run and it found another 2 block damaged. I was wrong they are not 14 clusters but now 18 graphical blocks/letters multiply for 98 clusters each, so quite a lot of them. Hope it will stop here and not continue this way cause I don't want to buy another hard disk again 🙁

Reply 5 of 25, by Hoping

User metadata
Rank Newbie
Rank
Newbie

You can try to low level format, well at the lowest level you can, to see what are the really bad sectors, because scandisk marks bad sector because they are bad and because the data has been corrupted and the data can be corrupted for example because of a power shortage. There are a lot of tools to diagnose an hdd but I don't know if they will work on a 386. But if you have access to a newer machine and the HDD is IDE you can use HDAT2.
That will tell you the truth of the state of the HDD.
If you can try HDAT2 first because it can diagnose without erasing the data.

Reply 7 of 25, by jakethompson1

User metadata
Rank Member
Rank
Member

Are you sure your BIOS is doing the translation the modern way? e.g. is it LBA, LARGE, etc.? I assume it's AMIBIOS? Being a 386 it may not have any translation support. Perhaps take some screenshots of the BIOS screens
Was the drive completely wiped before you put it in this machine? It's possible it had an MBR on it already with a different geometry than the translated one your current BIOS shows.

Reply 9 of 25, by 386SX

User metadata
Rank Oldbie
Rank
Oldbie

Some update but more questions then answers: I tried the HDAT2 tool to read the disk and it found errors at the middle of the disk. Then I tought I had enough of this situation and restored low level formatting the disk. Then I launched again that tool and it could not find any errors BUT still when it's close to the middle of the disk (let's say from 40% to 60%) it slow down in any tests like it's finding problems into reading or writing (before formatting it Windows ME scandisk from a P3 machine couldn't find problems).
But still I've reinstalled the system with much more free space left (let's say from 30% to 100% of the clusters) and launched again scandisk.. same thing.. it begins to find bad blocks close to the middle of the disk (less than before but still even in the unused clusters).
The bios is an AMIBIOS of the 1991. In the bios I set 1057 / 63 / 16 as the disk label says and also tried setting 1024 / 63 / 16 thinking that it may be something related to the bios/controller size limitation. Sure at the middle of the disk something is going on but it's like with a more modern config like the Pentium3 I tried, with LBA enabled in the bios, it doesn't care a lot, while in this machine much slower it seems to care much more of these problems. I suspect anyway that something in the middle of the disk is not that good because it never happens in the beginning or the end part of the clusters.. always in some of those blocks and each blocks are a hundred clusters. I didn't hear metallic noise while on those blocks but sure it seems to slow down and retry again while stopping the clusters count until it begin to take information of the sector and ask for a repair process.
But considering both HDAT2 and another tool found problems (also checkit) I suspect that who knows maybe some dust on the disk or maybe it might begin to fail.. for now I switched to a more modern disk with an overlay driver but I don't really like this solution 🙁.

Reply 10 of 25, by verysaving

User metadata
Rank Newbie
Rank
Newbie

I would make a full scan with MHDD , if you find any bad sectors you could
use the ERASE command to clean the disk and then make another scan to
see if the bad spots come back again.

If this drive supports SMART could be useful to see its values.
F8 key on MHDD.

https://hddguru.com/software/2005.10.02-MHDD/

Reply 11 of 25, by Horun

User metadata
Rank Oldbie
Rank
Oldbie
386SX wrote on 2020-08-02, 16:18:

The bios is an AMIBIOS of the 1991. In the bios I set 1057 / 63 / 16 as the disk label says and also tried setting 1024 / 63 / 16 thinking that it may be something related to the bios/controller size limitation.

The 1024 setting makes sure it does not exceed the 528Mb HD limit of some BIOS where the 1057 would allow all 540Mb (Large Disk). Have you tried the 3rd translation of 528 - 32 -63 (according to Seagate docs). You have to remove all partitions, reboot and re-create them and reformat any time you change the BIOS parameters between the different translations on many old HD's. Did you do that when you switched BIOS to 1024 - 16 -63 ?

Hate posting a reply and have to edit it because it made no sense 😁 First computer was an IBM 3270 workstation with CGA monitor. 🤣 Second computer a 286 12Mhz with real IDE drive ! After that came 386, 486, Pentium, P.Pro and everything after....

Reply 13 of 25, by Hoping

User metadata
Rank Newbie
Rank
Newbie

You can try with Spinrite, http://vogonsdrivers.com/getfile.php?fileid=1 … &menustate=55,0.
I never used that old version but it maybe useful. It may kill the drive because it stresses the drive a lot.
For me stressing hdds right after buying then is a must because I prefer then to fail before they have my data stored or before they fail just after or wile the OS is installed. And I think it's good for the mechanical parts to move at their full capacity and see if they can hold the job.

Reply 14 of 25, by 386SX

User metadata
Rank Oldbie
Rank
Oldbie

I'll try that program, thanks.

Some update: before starting again from zero, I tried setting the bios 47 mode config with 528 / 32 / 63 as suggested above but also when I tried the disk in the i440 board LBA automatic detection utility. But unfortunately I suppose this bios can't work with that. It let me save that setting but the amibios utilities like format can't start themself and hang immediately and also after the bios ram count the system stays there with WAIT word.
So I had to come back to 1057 / 16 / 63 setting but I decided to go for the safer one, 1024 / 16 / 63 specifying the internal setting "Precomp as 65535" and "Landz 1056" as suggested by the i440 autodetection utility said above (even if maybe Landz should have been 1023?).
Then I used the Format utility of the Amibios itself. Then I installed msdos that decided itself to fdisk/format again. Reinstalled the essential drivers and stuff, I tried scandisk and "miracle" no problems found.. 😀
Continued installing applications and drivers, make a defrag of the disk and launched again scandisk no errors, tried hdat2 and no errors, tried checkit disk test and no errors.
How is this possible? Why should have worked for any other part of the disk but the middle part before? I've to say I always had 1057 / 16 / 63 in the bios setting thinking the bios should have supported it but I suspect it does not really.
What is your opinion? Should I expect soon to see again the same problem?

Anyway meanwhile I don't know if this will last, I'll do some more scandisk tomorrow, I already reinstalled the disk in the case and take out the 8GB one I had with the overlay driver. This is slower (700Kbyte/s vs 1350kbyte/s) but much more period correct and feel the right one for an high end 386. If I have to go higher I'd go for some ultra fast sd card adapter or whatever I don't really like. I prefer the sound of the old disks. 😁

Reply 15 of 25, by verysaving

User metadata
Rank Newbie
Rank
Newbie

Maybe the disk is "modern enough" and relocated bad sectors
in G-LIST during "low level formatting".
Try MHDD and show SMART so we can see if there's any.

You can see SMART info with HDAT2 too.

https://hddguru.com/software/2005.10.02-MHDD/

Reply 16 of 25, by Jo22

User metadata
Rank l33t
Rank
l33t
386SX wrote on 2020-08-03, 21:03:

I've to say I always had 1057 / 16 / 63 in the bios setting thinking the bios should have supported it but I suspect it does not really.

Hi, the BIOS and CMOS Setup Utility are two programs, actually.
Even if Setup calculates the correct size doesn 't mean that the BIOS can handle values that high.
1024 cylinders often also is a limit for 16-Bit DOS in practice, because it uses int13h, among other things.
Newer OSes can also use extended int13.
How to know which hard drive limit my BIOS has?

PS: I know, I am repeating myself, but..
The classic CHS values represent a total count, not necessarily the numbers that have to be typed in.

Cylinders go from 0 to 1023 (equals 1024 total)
Heads go from 0 to 15 (equals 16 total)
Sectors go from 1 to 63 (equals 63 total)

That being said, some BIOSes Do accept the numbers as they are printed on the HDD (1024/16/63). It's just not guaranteed..

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 17 of 25, by 386SX

User metadata
Rank Oldbie
Rank
Oldbie
Jo22 wrote on 2020-08-04, 11:57:
Hi, the BIOS and CMOS Setup Utility are two programs, actually. Even if Setup calculates the correct size doesn 't mean that the […]
Show full quote
386SX wrote on 2020-08-03, 21:03:

I've to say I always had 1057 / 16 / 63 in the bios setting thinking the bios should have supported it but I suspect it does not really.

Hi, the BIOS and CMOS Setup Utility are two programs, actually.
Even if Setup calculates the correct size doesn 't mean that the BIOS can handle values that high.
1024 cylinders often also is a limit for 16-Bit DOS in practice, because it uses int13h, among other things.
Newer OSes can also use extended int13.
How to know which hard drive limit my BIOS has?

PS: I know, I am repeating myself, but..
The classic CHS values represent a total count, not necessarily the numbers that have to be typed in.

Cylinders go from 0 to 1023 (equals 1024 total)
Heads go from 0 to 15 (equals 16 total)
Sectors go from 1 to 63 (equals 63 total)

That being said, some BIOSes Do accept the numbers as they are printed on the HDD (1024/16/63). It's just not guaranteed..

Thanks, I suppose that in the best case scenario that has been the problem at first since the initial installation cause I remembered another 386 board didn't accept values higher than 1024 and when I put 1057 and it didn't say nothing and even worked with the internal utilities I thought it'd be ok and maybe the o.s. would have formatted it into a lower partition.
I sort of hope that was the problem and I'll not see new clusters giving problems. Today I still have to check it up so I can't say but I'll make a new scandisk test every day. It certainly was a good thing to have the newer automatic detection of later bios suppporting LBA with newer o.s. 😀
That's why I don't like a lot those overlayed solution for bigger disk cause it feel like adding complexity to complexity.
I'm using this disk because I found it cheap and sound ok and I thought it'd be the best for a native controller work but I suppose an older 200MB like disk would have been even better. Too bad they are becoming rare and I suppose fragile in their remaining lifetime.
The exact model I got is the ST3660A.

Reply 18 of 25, by 386SX

User metadata
Rank Oldbie
Rank
Oldbie

Newer Scandisk, still no errors ! 😁

I checked with HDAT2 tool and SMART is said to be NOT-SUPPORTED while with NSSI tool and that I have some more info on the disk that even if in the bios is set with 1024 / 16 / 63 those tools can still see as it'd supposed to be by factory:

Enhanced ATA disk,1057 / 16 / 63 with 584 bytes for sector, 36240 bytes for track, Data Buffer Size: 120 Kb, Sector for INT: 16, Features: DMA - LBA - IORDY and Max MWDMA0 (UDMA-1), controller INT: 14, PIO-3
Interesting on the official tech specifications it's said the bytes per sector are 512 while the cache is correct 120Kb and during spinup operation it take more than 8W from the power supply @ peak. RPM are around 3800. Double disks, double heads.

But for now with those 1024 settings in the bios, format and all, no errors found. But I've noticed something I can't remember on the previous scandisks. The total clusters read and tested are more or less 64411, I don't remember if they were more in the previous tests.. do they are the right number in your opinion for a 1024 cylinders setting?

Reply 19 of 25, by Jo22

User metadata
Rank l33t
Rank
l33t
386SX wrote on 2020-08-04, 14:00:

Newer Scandisk, still no errors ! 😁

Glad to hear! ^^
If you like, you can also run CheckIt! , too.

PS: You can also use bigger HDDs with a Dynamic Drive Overlay (DDO). Or XTIDE Universal BIOS.
But if it works the way it is, just leave it that way. 😀

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//