Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 4 Jul 1998 19:47:19 +0200
From:      Stefan Esser <se@FreeBSD.ORG>
To:        Peter van Heusden <pvh@leftside.wcape.school.za>, freebsd-hackers@FreeBSD.ORG
Cc:        Stefan Esser <se@FreeBSD.ORG>
Subject:   Re: SCSI drive not remapping bad block: Any solution (fwd)
Message-ID:  <19980704194719.60384@mi.uni-koeln.de>
In-Reply-To: <Pine.BSF.3.95.980703082910.1188C-100000@leftside.wcape.school.za>; from Peter van Heusden on Fri, Jul 03, 1998 at 08:30:18AM %2B0200
References:  <Pine.BSF.3.95.980703082910.1188C-100000@leftside.wcape.school.za>

next in thread | previous in thread | raw e-mail | index | archive | help
On 1998-07-03 08:30 +0200, Peter van Heusden <pvh@leftside.wcape.school.za> wrote:
> I'm getting the following error message from my new SCSI disk:
> 
> Jul  1 21:46:49 leftside /kernel: sd2(ncr0:4:0): MEDIUM ERROR
> info:0x38787b asc 11,0 Unrecovered read error field replaceable unit: ea
> sks:80,11

Seems the disk got a physical defect, which is detected
only when data is read from that sector (i.e. the sector
header is not affected). But you already knew that ...

> I've recently reformatted it with scsiformat (after getting the error
> previously), and I assume that this error message means there is a medium

If you reformat the drive and retain the grown defects list,
then I'd expect the drive to replace that bad sector. This 
did not work for you, so I expect that the format command
started with just the vendor defects list and did not find
the bad spot during the verification pass.

> error on the disk. The scsi(8) command shows AWRE and ARRE are both set to
> 1, yet this error persists, which makes me conclude that the disk is
> not remapping the block correctly.

The ARRE bit controls whether a sector is automatically, if 
the drive notices a read error. In case of a recoverable read
error the original contents is written to the replacement 
sector, and you will never notice :)

But in case of a "Unrecovered read error" (see error message
above ;-) the replacement sector will be marked "force error"
until it is rewritten with new data. This is done to have a 
new sector assigned, but still return an indication that the
original data has been lost to the application.

In order to recover from that error, you may want to write new 
data to the replacement sector, and the easiest way to do this 
is to "dd if=/dev/zero of=/dev/rsd1c bs=64k" (assuming that the 
drive is "sd1" ...).

Use "dd if=/dev/rsd1c of=/dev/null bs=64" to verify that the
drive actually marked the replacement block "valid" ...

Then restore the backup you made as the first step (you didn't
forget to make a backup, did you ? ;-)

Regards, STefan

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19980704194719.60384>