Here are the 3 basic types of hard drive "crashes" and how to recover data in these scenarios.:
1) File structure is incorrect (usually caused by improper shutdown or disconnecting the drive while it is being written to. Usual fix involves running a scandisk or chkdsk. Scan can take a few hours at most depending on the settings.
2) Unreadable data caused by bits being de-magnetized. Can be resolved by running programs which "re-magnetize" the bits. This is common on laptops that get jarred or dropped mildly. Bad sectors that aren't physically damaged can be recovered. Software used: HDD Regenerator or SpinRite. Scans can take days.
3) Hardware failure. Sometimes the disk/platter gets scratched, the arm stops working (head crash), or the on-board chip gets fried. All of these repairs require a specialty recovery service. Anytime the hard drive needs to be opened, a clean room (dust-free room) is required. Time to recover data depends on the company. Turn around times is a few weeks.
I would recommend Gillware data recovery. They have very good customer service, always pick up the phone, and quick to respond. They get the job done and don't charge unless they recover the data you want. They are also the least expensive service that I've found on the internet. See for yourself.