Reassign Physical Sector

Top  Previous  Next

This function was introduced in release 1.26.


This function is applicable to disks that use the SCSI protocol only (SCSI, Fibre Channel, SAS, and SSA). If the selected device is SATA or ATA, then the command will be ignored.


Disk drives determine the need to reassign physical sectors based on error activity and mode page settings. Once a physical sector requires assignment, the drive will either reassign the physical sector (block) or recommend to the initiator that the LBA associated with the physical sector be reassigned.


You would use this function to repair unrecovered read errors. It won't be able to get any lost data back, but at least this provides a mechanism to make the problem go away.



smartmon-ux -rb BLOCKNUMBER device name


- or -


smartmon-ux -rb BLOCKNUMBERh device name



BLOCKNUMBER is a decimal number for the block number.

BLOCKNUMBERh is a hex number for the block number, ending with the lower-case letter h. Do not put a space between the last hex character and the h.  Make sure you enter the block number as a 4-byte or less number.



smartmon-ux -rb 12345678 /dev/sg3

smartmon-ux -rb 7f8ab0h /dev/sg3


Only one block can be reassigned at a time, but this is generally not an issue since one would typically only want to reassign one or two blocks.  The program will immediately execute and return.  If the block can not be reassigned, the disk drive should be replaced (assuming you gave it a block number that really exists on the disk drive).


Below is a table from an IBM manual that shows sense data combinations for recommended reassignment. SANtools does not necessarily endorse this as your needs might be different, but we will say that this information is "reasonable".  You should, however, consult your storage vendor for approval.  For example, Seagate generally recommends reassignment regardless of the ASCQ value.  (All numbers shown in hex).









Sync byte error - Recommend Reassignment.




Recovered data without ECC - Recommend Reassignment.




Recovered data with ECC - Recommend Reassignment.




Unrecovered read error - Recommend Reassignment.




Sync Byte Error - Recommend Reassignment.


When to Reassign Blocks (SCSI family disks only)

SMARTMon-UX makes it easy for you to know when you have blocks that must be forcibly reassigned.

Just run either the self-test (-steb, or -scrub family) commands, and they will report if any blocks have unrecovered errors that should be reassigned.


The advantage of using the -steb test is that this is a built-in test and does not consume any host bandwidth. The test can take 30 minutes to several hours depending on the disk drive. This is a built-in test that is initiated by sending a single SCSI command. Once the test is invoked, SMARTMonUX returns and lets you know whether the test was successfully launched. As the test is a background test, it can be run on any and all disk drives, even while I/O is going on. The tests will temporarily suspend to service I/O requests from applications running on your host.


The disadvantage of the -steb, and -stsb tests is that they only report the first bad block found, (-stsb might not report any bad blocks) so if you have multiple bad blocks you run the test, reassign, and repeat.


Our -scrub family of commands makes a single pass through the disk and returns a list of all blocks that had problems along with the sense information as shown above. This command is also safe to run on your host, but it does consume bandwidth, and the test may also take hours.  The -scrub command causes every block in the disk to be read while recording sense information and error codes, which it reports to the operator. He/she will then be able to see all errors and, if required, remap all of them without having to endure multiple passes.


We currently do not provide a mechanism to reassign blocks on SATA / ATA disks.