Strange ST3160023A PATA

Blizzard

Member
I have this strange Seagate 160GB PATA (ST3160023A). I can read almost every sector without error but it gets stuck busy if it reads large chunks of data without error (3000+ sectors). At first I was thinking bad cache chip but a different PCB shows the same issue. To work around it I have set the timeout to approx 15ms. If I do that then it reads some good and some bad but does not get stuck bsy. After about 10GBs are read I just change the timeout to 100ms and reread everything and it cleans it up without getting stuck busy! Then I start over for the next 10GB or so at 15ms, or sometimes I have to adjust + or - 1 to 5ms to get a good mix of red, green, yellow :)
Then repeat at 100ms and clean it all up.
It's really odd that it reads all green at anything over about 60ms timing but it goes busy after 3000+ blocks read.
It works DMA or hardware retries but seems to be more manageable using hardware retries. I also tried 1 head at time but it made no difference.
In the end the job will complete but at this rate it will be a 3-5 day job with some micro-managing.
 

Jared

Administrator
Staff member
Have you tried just imaging in reverse? I've seen drives behave funny like that, but PIO in reverse, with a relatively small block read size, usually did the trick.
 

Blizzard

Member
Yeah, I should have mentioned that. In reverse it will read at 18ms timing and get stuck bsy. Anything less and it barely reads any sectors successfully but doesn't get stuck. But forward it will read at less than 18ms. I'm naming this one Hellboy.
 

Jared

Administrator
Staff member
One last thing to try. Did you set to do a recalibration on any read error? I've seen some cases where that was the magic bullet that got it to read much faster.
 
Top