At least in the early days the spare block scheme was a technique to lower the reject rate of drove platters. Without spare data blocks the reject rate would have approached 100%. I have no idea what the rate is today but I would venture that without spare data blocks the platter reject would still be quite high and would significantly multiply the cost of drives.

The drive firmware does keep a map of bad data blocks that can be read by utilities such as Diskwarrior, but that is like S.M.A.R.T. where the drive accumulates the data but does not signal the OS when the values change. Again this is a function of the hardware/firmware in the drive itself and is completely independent of the operating system. I suppose it would be possible to have a utility function that continually monitored those values but the impact on I/O performance would probably be unacceptable to most users.



"All you've got to do is own up to your ignorance
honestly, and you'll find people who are eager to
fill your head with information"
--Walt Disney