With regards to this issue I just found a new tool rescuing data on drives that have gone down..

ddrescue

What sounds nice about this tool is this:

Copying this partition with normal Un*x tools like cat or dd will fail, as those tools abort on error. dd_rescue instead will try to read and if it fails, it will go on with the next sectors. The output file naturally will have holes in it, of course. You can write a log file, to see, where all these errors are located.
At least this way you can get some (most?) of your data back even if you can't get all of it.

It has also just been put into unstable.