smartctl reports bad sectors, badblocks does not find any
Juan R. de Silva
juan.r.d.silva at gmail.com
Mon Dec 27 00:46:15 UTC 2010
On Sat, 25 Dec 2010 00:00:45 +0800, Ian Chapman wrote:
> On 24/12/10 11:46, Juan R. de Silva wrote:
>>
>>> I haven't used badblocks, but suspect that the hard disk drive
>>> electronics is clever enough to hide damage and relocate bad sectors.
>>> The S.M.A.R.T. electronics will still know they are there, though.
>>
>> OK. This might be the answer to a question I had: why badblocks never
>> found them but smartctl did.
>
> AFAIK smartctl doesn't actually "detect" bad sectors on a disk, it just
> reports what it sees in the SMART counters.
Very much true. Bad wording from my part. What I wanted to say that the
bad sector was reported by smartctl but was not detected by badsectors,
when run on the drive.
> The particular counter is
> Current_Pending_Sector I believe. Each time the disk encounters
> a sector it can't read, the firmware increments this counter.
> Only when that bad sector is written to, does the disk remap the sector
> and usually Current_Pending_Sector decreases by 1.
In my case I never was able to achieve this. I wrote to the sector in
question directly with dd, I did it running badblocks in destructive
(read/write) mode - the values of Current_Pending_Sector and
Offline_Uncorrectable remained still.
> I have however seen on occasions,
> the counter increase but no bad sector appears to be on the disk. I just
> put this down to a temporary glitch, ie the disk at some short point in
> time could not read that sector but now it's fine, however the increment
> remains. Some drives I believe also increment Reallocated_Sector_Ct
> every time a remap is done, but certainly many do it 'silently'.
This value for my disk is quite high sinc the drive is 4.5 years old.
It's not a lot for a 3.5" drive but is much enough for a laptop drive
(Dell Latitude d820) I think. Though I'm still disappointed. I expected
it to last more.
> You can perform a disk test using smartctl (sounds like you have
> already)
You bet. :-)
> The last value is the LBA which can used with hdparm --write-sector to
> write to that specific sector triggering a remap and usually
> decrementing the counter. Be extremely careful when using this command
> though as a slight mistake can trash data.
As I've mentioned in one of my posts, this the only thing I did not do
yet. I'll probably do it on the bad sector reported in
Current_Pending_Sector (the value is 1) since I know it's starting LBA
and I know the block size. But I have no idea what to do with those
reported in Offline_Uncorrectable - the value here is 4.
And it looks like actually Offline_Uncorrectable gives me more of
warning. I looked through my log files and found that it was reported the
first with the lower value a couple of months ago. Than a month later it
increased, while Current_Pending_Sector remained 1. My bad, I've
neglected my log files for a while.
More information about the users
mailing list