A repeatable run-out (RRO) detector employs one or more digital interpolators
to
interpolate asynchronous sample values representing an RRO address mark (AM) and
RRO data, an asynchronous maximum-likelihood (AML) detector to detect the RRO AM,
and a RRO data decoder to decode the RRO data. The AML detector employs an AML
algorithm, such as a Viterbi algorithm, to detect the series of peaks of the RRO
AM based on detection of the entire sequence of observed peaks. AML detection selects
one of either the asynchronous or interpolated sample sequences that are closest
in distance to the ideal RRO AM sample sequence. Once the RRO AM is detected, the
AML detector provides a RRO AM found signal as well as the selected one of the
sample sequences having the best phase for detecting and decoding the RRO data.