A method of determining and monitoring head polarity of data heads comprises performing a head polarity detection routine. The head polarity detection routine comprises the step of setting a read gate period duration to a first value. The routine also comprises searching for a good address mark signal during a first read gate period with a channel polarity set to a first polarity. The routine further comprises identifying a polarity of a data head based upon the channel polarity when the good address mark is detected.