Before repairing anything, spend a minute finding out whether the hardware is sound. It costs nothing, it cannot make matters worse, and it is the step most people skip before escalating to repairs that assume a software fault.
SMART only reports overall failure once a manufacturer’s threshold is crossed, which is usually far too late to be useful. The individual counters underneath start moving considerably earlier.
Every modern drive keeps self-monitoring data, and most of it is noise. Three fields tell you what you need to know, and any of them climbing means the drive is failing whatever the overall status says.
Reallocated sector count is sectors the drive has already given up on and replaced from its spare pool. Pending sector count is sectors it is struggling with but has not yet reallocated. Uncorrectable sector count is sectors it has failed to read at all.
A drive can report overall status as good while carrying hundreds of reallocated sectors. That overall figure is close to meaningless; the individual counts are not.
Windows: CrystalDiskInfo. Portable version runs without installing anything. Shows all SMART attributes with raw values, which is what you want.
macOS: DriveDx. Reads SMART on internal and many external drives. The built-in Disk Utility reports far less.
Linux: smartctl. Part of smartmontools. Run smartctl -a on the device for the full attribute list.
Any of them, on a schedule. One reading tells you the current state. Two readings a month apart tell you the trend, which is far more useful.
Trust the sector counts, not the overall status. A drive with sectors reallocating is failing regardless of what it says about itself.
Any that are increasing. A stable count from years ago matters less than a count that has grown since last month.
Unknowable. Could be months, could be tomorrow. What is certain is it will not improve. Copy everything off today.
Sometimes. Many USB bridges do not pass SMART data through, which is why an external can look healthy when the disk inside is not.