Path: utzoo!utgpu!water!watmath!watdragon!violet!ajmyrvold From: ajmyrvold@violet.waterloo.edu (Alan Myrvold) Newsgroups: comp.sys.ibm.pc Subject: Hard disk blues Keywords: Hard Disk Message-ID: <5170@watdragon.waterloo.edu> Date: 16 Feb 88 05:19:47 GMT Sender: daemon@watdragon.waterloo.edu Distribution: na Lines: 66 Mmmmm ... I'm having a tough time with my Seagate ST 238 hard drive. I hope my situation will ring some bells with someone who has experienced the same problem. The disk seems to have trouble seeking to sectors ... It always reads and writes my data correctly, but sometimes it makes these weird noises while doing so : BEEEDEEEDEEEP click BEEEDEEEDEEP click BEEEDEEEDEEEP click etc. or Whiiiiirrrrrrrrrhhhhhhhhhhhhhh. BEEEDEEEDEEP. The end result is that it takes 5 seconds or so to seek a single sector!!! Now here is what really confuses me, It doesn't do these things consistently, nor is it getting any worse. Some days it can't read or write a single sector properly ... other days it works like a charm. No sectors seem to be any worse than others - It does this when I'm using all sorts of software. Sometimes it happens right when I turn the machine on, sometimes after an hour or so. I've figured out the Whirring noise, I can duplicate it by doing a BIOS call to "recalibrate" the drive. What I've tried to eliminate the problem (all unsuccessful so far) 1) Changing controller cards 2) Low level FORMATting 3) DOS FDISKing 4) DOS FORMATting 5) Grounding the machine to prevent static buildup 6) Different temperatures 7) Different humidities 8) Three different versions of DOS (All 3.x) 9) Unplugging assorted peripherals I've also tried all the diagnostic programs I could get my hands on. Even when the disk is misbehaving, none report error messages, the only noticeable difference is in reported access times. What I haven't tried (because of $$$) 1) Changing the actual hard disk I've managed to write a diagnostic program of my own, which generates random sector numbers to seek to, does a DOS ABSREAD (int 25h) checks for a non-zero return code - immediately does a BIOS disk service 1 (int 13h) get status of last disk operation AND whammo even when the disk is misbehaving - no error messages. So I modified it to time how long the ABSREAD operation took - and print out a little error message when it is more than 300 milliseconds. It shows me when I have a problem - but still no pattern to the sectors that trigger the message. The longest it ever seems to take is about 7 seconds - but seven seconds is a loooong time for me to wait for it to seek a single sector. I also have a version of the program which does the sectors sequentially rather than randomly - it shows far less problems. Anyone got ANY ideas??? Please EMAIL replies to ajmyrvold@violet.waterloo.edu Thanx. --------------------------------------------------------------- Something short and pithy belongs here. ---------------------------------------------------------------