This one is used by law enforcement http://www.sleuthkit.org/
. But some simpler exist such as photorec, it might help, but if the drive is unreadable and broken, there is little you can do about it.
First, use the "dd" command to create a copy of your disk, then analyze that copy with photorec. If it fail, get the sleuth live-cd and good luck.
I personally prefer some commercial software, but if I say the name, all OpenSource purist will go after me and try to ban me once again.