This paper shows how to implement a time-free perfect failure detector in a partially synchronous distributed system. Rather than upper and lower bounds on the minimum and maximum end-to-end computation + transmission delays between correct processors, our algorithm needs to know only an upper bound on their ratio. Since this bound may still hold when an assumed bound on the maximum delay is violated, our perfect failure detector may still work correctly in situations where synchronous ones fail, i.e., has higher coverage. We prove that our solution, which employs heartbeat messages and a timer-free "timeout" mechanism based upon synchronized heartbeat rounds, indeed satisfies the properties of a perfect failure detector and can be generalized in several ways.