SMART is a monitoring system, included in most modern hard disks, that attempts to diagnose disk health and predict impending drive failure. The smartctl/smartd utility of smartmontools is the standard for Linux/Unix and versions of it are available for Windows as well. DiskCheckup also seems to be a good utility for Windows. Many modern controller and RAID cards will refuse to acknowledge a disk if it reports SMART Failed status.
Remember that the RAW value reported by most SMART utilities is distinct from the normalized value reported by some tools. In general a high RAW value and a low normalized value indicate a problem.
The SATA page has some additional info. NTFS.com has a list of SMART attributes and their definitions.
Fast SMART Disk Checkup
The fastest synopsis of a disk’s status is probably smartctl -Hc /dev/sd?:
$ smartctl -Hc /dev/sda smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-24-generic] (local build) Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org === START OF READ SMART DATA SECTION === SMART overall-health self-assessment test result: PASSED General SMART Values: Offline data collection status: (0x00) Offline data collection activity was never started. Auto Offline Data Collection: Disabled. Self-test execution status: ( 0) The previous self-test routine completed without error or no self-test has ever been run. Total time to complete Offline data collection: ( 0) seconds. Offline data collection capabilities: (0x7f) SMART execute Offline immediate. Auto Offline data collection on/off support. Abort Offline collection upon new command. Offline surface scan supported. Self-test supported. Conveyance Self-test supported. Selective Self-test supported. SMART capabilities: (0x0003) Saves SMART data before entering power-saving mode. Supports SMART auto save timer. Error logging capability: (0x01) Error logging supported. General Purpose Logging supported. Short self-test routine recommended polling time: ( 1) minutes. Extended self-test routine recommended polling time: ( 48) minutes. Conveyance self-test routine recommended polling time: ( 2) minutes. SCT capabilities: (0x0021) SCT Status supported. SCT Data Table supported.
If you want a one-line disk diagnosis, you can add grep:
$ smartctl -Hc /dev/sda | grep "^SMART overall" SMART overall-health self-assessment test result: PASSED
Keep a mind that once your SMART disk diagnosis reports FAILED status here, the smartctl command itself may well fail also.