Most modern drives contain a number of "spare" sectors (e.g. 1,024 spare sectors). If the drive recognizes a sector as bad, it will stop using it. Any requests to read or write so that damaged sector will transparently be redirected to a spare sector. This marking off of a bad sector, and reallocating its data to a spare sector, is called a Reallocation Event. And the total number of sectors that have been reallocated (and so how many of your spare sectors have been used up) is the Reallocated Sector Count.
What if it can't ever read the data?
In the olden days, your hard drive shipped with a sticker fastened to it. This sticker contained the Factory Defect List; the list of all known bad spots on the drive. If you performed a low-level format of the drive, you had to use a tool to type in all the Cylinder-Head-Sector locations of the bad spots. SCSI drives have a command, IOCTL_DISK_REASSIGN_BLOCKS, to tell them to reallocate a bad spot on the drive after the operating system detects it. In IDE drives this all happens automatically, without the need for operating system intervention
Ideally the drive would recognize the sector is failing, move the data to a spare sector, and never use the original sector again. But what happens
if the drive hasn't been able to read the sector successfully?
This is what Pending Sectors are. The drive has detected that a sector is failing, and needs to be remapped to a spare. But it can't do that until it can successfully read the data. When the drive knows that a sector is bad, and needs to be remapped, but it cannot do it yet because it's waiting to get a good read from the sector, that's called the Pending Sector Count
Give up on the pending sector and it will get reallocated
There are two ways that the drive can finally reallocate the sector, and consume another spare sector:
1.it finally gets a good read
2.you don't care whats in the sector anymore
If the drive finally read the sector, then it knows that it can reallocate the sector.
The other way the drive can reallocate the sector is if you let it know that the contents of that sector are irrelevant; that you don't care what's in it anymore.
How do you do that?
By writing something new to the sector.
Whenever you read from, or write to, a sector on a hard drive, you have to read/write the entire 512-byte sector. You are not able to write only part of a sector. When the OS writes data to a sector it has the specify the entire 512-bytes. If you tell the hard drive that you want these new contents to replace this bad sector, the drive then knows you don't even care what's currently in the bad sector. It can then Reallocate a bad sector to one of the spares, and the sector is no longer Pending.
i would run chkdsk with the /r and /f switch's on the drive it can take
a long time (as in 5 or 6 hours or more) and should not be stoped
(info taken from different sources)