A friend of mines USB flash drive stopped working recently and it contains extremely important data which forms part of her PHD thesis. The drive shows up when connected but the capacity displays as 0kB. I have confirmed that it is a hardware fault but have not yet isolated the exact component, but based on info I have found on the net, it appears to be the flash drive controller IC which has failed.
My question then is, assuming the controller has failed and the flash is fine, would it be possible to interface the flash memory with an arduino and manually read off the data, bit by bit and store it to a pc for recovery? If so, how should I approach this problem? The flash memory IC does not have a part number or manufacturer on it so I cannot find a datasheet for it, but I have the datasheet for the controller so could probably figure out most of the pins on the flash IC.
I have not used an Arduino yet, but have experience with microcontrollers and have been researching and planning to get an arduino for a few months now. So I am not a noob to electronics (I am in fact an electrical engineer, but specialising in RF and Microwave systems, not digital systems). So I just need some advice and pointers on whether or not I could recover the data in this manner (as a last resort).
Apologies for not answering your question... but...
You do realize that just "looking at" a flash memory which has problems may cause further problems, and make it even harder... or impossible... for a professional to recover the data?
I wouldn't think that...
extremely important data which forms part of her PHD thesis
... would make a very good candidate for a first excursion into data recovery.
Yes, professional services are expensive. But you have to consider how much the data is worth.
I appreciate the input and would like to firstly say that I actually agree with what has been said thus far. However, I also should just make the following points/clarifications:
After I checked it the first time, I advised her to rather take it to a data recovery specialist who then told she may as well throw it away. The problem is that most of these guys try to attempt recovery via software and I do not know of any places that will attempt it at a hardware level (I'm in South Africa).
Yes the data is important, but not to the point where it would affect her actual thesis outcome. It just means she would have to spend time redoing what has (possibly) been lost. It's a small portion of her total work.
She has already stated she is not prepared to pay for recovery and would rather redo the lost work. This is the reason the drive ended up back by me. I told her once all her options were exhausted she could return it and I would see if there is anything I can do, but she should consider everything lost.
I hope that clarifies why I am actually wanting to attemp this. It's merely a last ditch-effort to save her having to redo what was stored on it.
Perhaps try to figure out what kind of interface you're dealing with (using the pins from the flash controller) then it should give you an idea of what the flash chip is like. Perhaps then you can find a datasheet of it or something similar and then have some hope of connecting it up.
In theory you can probably do what you want to (connect to it and read off byte by byte) but it's not going to be easy by any means.
A solution would be to acquire a similar USB memory stick and swap either the controller or the memory chip(s), whichever is easier (depending on the chip package and number of pins, I would say).
There are various (free and shareware) "recover deleted files" programs out there, many written specifically for memory cards.
I know she SAYS she didn't reformat it, and that your investigations point to hardware failure, but, given the rest of what you've said... why not just give one of those programs a chance to look at the card? Who knows?
Tell us a bit more about the sort of data on the card... might shake some ideas out of "the tree".
My plans were to replace the crystal oscillator first, if that fails, then replace the controller but I am still trying to find an identical drive to get it from. If that still fails, then I will only attempt accessing the memory directly. I'm sure replacing the controller or crystal will solve the problem but I am having trouble finding the same flash drive to salvage the controller from.
As for the recovery software suggestion, I tried it Linux but it cant even mount the drive. Windows loads the software but has problems accessing the drive as it says it does not exist (or something like that). Will actually try another program later this evening just to be sure.
I will post info on the controller interface later once I have gone through the datasheet more thoroughly.
It might not be a matter of just replacing the controller. Normally these controllers have a record of bad sectors that they have mapped out. If you swap memory (or controller) this bad sector map will probably be different and so you might not be able to recover all the data. Worst case you will have to piece the file back together from segment fragments. I haven't done this on a data flash but had a go at something similar on floppy discs when they came out. It's not easy with many seemingly duplicate sectors from repeated savings.
Thats what I was afraid of, as the datasheet specifically mentions the ability to map out bad sectors.
Although I guess it may still be a better first option. I don't mind having to reassemble some of the data. I also don't need to recover everything on the drive as quite a lot of it is already on her pc. (although by Murphy's law it'll recover all the data which is already on the pc).
@Richard: I get what you are saying. Just figured I'd give it a try anyway. I'm trying to expand my digital electronics experience so it's a learning curve whether it succeeds or not. As for the soldering, I occasionally do some smd soldering at work and we also have a number of qualified staff who assemble PCB's so I could always just ask one of them to do it as well.
By the way, you should visit Cape Town, not Johannesburg. You just can't compare the two. (and it's flooding in Joburg as well)
Enjoy your trip though.
Other than that, I think even if I don't find a replacement controller I could just hook the NAND up to a different flashdrive controller and read it in as long as I have the pins connected correctly.
Just some info on the actual drive which failed. It is an A-Data 8GB drive. The flash controller is a USBest UT165-L48. Memory has no name on it and the numbers printed on it do not return any useful results in Google. Also, when plugging the drive into a PC and viewing the hardware info, it shows the firmware version of the USBest controller as Ver. 0.00 - which to me definitely sounds wrong.
I will update if the Xtal replacement does not work and I decide to go further with this.