There is a programme called Diskchecker but I wouldn't like to recommend it as I haven't used it and on checking their Forum site I noticed they don't respond to questions. Also it isn't free ($15). Maybe someone has some knowledge of this programme.
From a command prompt you can type in "fsutil dirty query c:" without the quotation marks. The normal response should be "Volume c: is not dirty." If the response is anything different that would be the time to run chkdsk.