Disk can have flaws and problem due to many issues. There are plenty of programs to do disk checking. You can automate disk checking in Vista, to do this choose Start->All Programs->Accessories->System Tools->Task Scheduler.
1. In the actions pane on the right, click Create task. Type in a task name and description and you can also check the Run with highest privileges.
2. Now select the triggers tab and set the interval for disk checking. You can set it monthly, daily or weekly.
3. Next select the actions tab and click new button. For ‘Program/Script’, type cmd.exe and in the Add argument box, type “/c echo y|chkdsk c: /f /x. When you have completed with these tasks, click OK.
Now disk checking will be automated based on the time you have set.