Switch to full style
In-depth technology research: finding new ways to recover data, accessing firmware, writing programs, reading bits off the platter, recovering data from dust.

Forum rules

Please do not post questions about data recovery cases here (use this forum instead). This forum is for topics on finding new ways to recover data. Accessing firmware, writing programs, reading bits off the platter, recovering data from dust...
Post a reply

Re: New "Rebuild Assist" feature in Serial ATA Revision 3.2

January 21st, 2019, 20:01

Ok ... Looks reasonable enough ....

Re: New "Rebuild Assist" feature in Serial ATA Revision 3.2

January 21st, 2019, 20:45

Here is yet another interesting thing about this drive. During the pattern mode, as the reads approach the spot where the heads skip, the pitch of the head movement ramps up, and then ramps back down after passing it. This happens for every head, and it starts well before it gets to the spot, and ramps back down at the same pace. This drive is doing some funky stuff with the rebuild assist. At some point in time I will definitely need to get a different drive to test with.

Re: New "Rebuild Assist" feature in Serial ATA Revision 3.2

January 21st, 2019, 22:26

If you do get some other drives that are rebuild assist capable please do post about your experience and research with them ! It would be nice to check if the ATA standard is better applied in other models or if diferent brands will behave in diferent way not properly following the standard as they should ...

Regards and keep up with the good work.

Re: New "Rebuild Assist" feature in Serial ATA Revision 3.2

January 22nd, 2019, 21:40

I hate to blow up this whole rebuilt assist feature, but here I go…

So I decided to go back and re-read the rebuild assist section of the ATA documentation. I now see that I read something wrong, and that even with a head disabled, it will still perform a “limited” attempt to read the data when reading from that head (and limited is probably referencing using the read timeout that can be set under certain conditions). My bad for missing that. That explains a few things that are going on while trying to get a head map. I think that if the drive did have real issues, attempting to get the head map using this feature would not be easy, and not worth the effort.

Honestly, everything about the rebuild assist feature can be great for the actual intended purpose, which is to help speed up a RAID rebuild. But for the purpose of data recovery, it is not that spectacular. If you look into the rebuild assist even further, you can set a timeout for reads in 100ms increments. Guess what, you can do that with soft reset timeouts on your hardware imager (and the pro version of HDDSuperClone). If the rebuild assist does mark a bad head, you can potentially skip out of it faster using the data provided. But guess what, HDDSuperClone has that awesome self learning head skipping algorithm that is proven to work without needing to know the head mapping. And the hardware imagers do skipping with whatever algorithm they use. So while head mapping is nice and does help speed things up and get exactly the data from the good heads, it is not a requirement for decent data recovery.

You really need to look at the overall picture of what the rebuild assist feature can do, and compare it to what recovery hardware (and my software using the computer as the hardware) can already do. It is a really fancy feature that can help speed up a RAID rebuild. But when it comes to actually meaning something for single drive data recovery, it does not have that much benefit compared to using a hardware tool. It is meant for use with RAID controllers, which do not do timed soft resets or predicted skipping.

And now for the big finale, the nail in the coffin. So let’s say you do enable the rebuild assist just to try to disable background processes. If the drive does detect that a head is bad and marks it as disabled, from my testing all reads from a normal READ DMA command are aborted when reading from that head. The standard only references using READ FPDMA QUEUED (which will abort, but still reads and can return data), but my testing shows even the READ DMA does abort. But the read was likely still performed as it would have been with READ FPDMA QUEUED. I am not going to get into the details (read the standard to understand more), but you could easily read good data and throw it away because of the abort. So technically, using the rebuild assist feature could cause you to not recover data that could be read, while still taking the time to perform the read. The only way to use it properly is with READ FPDMA QUEUED, and processing all of the return data to know what data you did actually read. That is a lot of work for something that a hardware imager basically already does with more simple commands.

It was fun playing with this feature, even up to mapping heads. But with all the data that I have, I don’t see this as a useful option to help with data recovery, considering what already can be done. While it serves its purpose for helping RAID units rebuild, it is just not feasible to work with data recovery. And now we know why hardware imagers aren’t jumping on this feature. And if they do jump on the feature, it would likely be more for marketing, not real performance.

Re: New "Rebuild Assist" feature in Serial ATA Revision 3.2

January 22nd, 2019, 23:04

So after blowing up the rebuild assist feature, I can say there is one way it could help some for data recovery. With hardware imagers a timeout results in a soft reset, which stops the current command without any data read. With the rebuild assist and using the available timeout setting, it could be possible to have the drive perform the timeout, and it could possibly return some data. That data would be data before the failed sector in the read cluster. I have used the SCT recovery control read timer on a drive to do something similar (it returns the value of the first bad sector, allowing targeting and reading of the data up to the bad sector), the concept is about the same. It is still not spectacular, but this method can return a few more good sectors from what would otherwise be a failed read when based on a read timeout value. But we are only talking about small amounts of sectors with this, again nothing spectacular. I guess that could be a small selling point if used in this manner. But nothing to get super excited about. I may try to look into this aspect of it in the future. But again, this requires using READ FPDMA QUEUED and properly processing the results.

EDIT:
Actually I think this is a feature of READ FPDMA QUEUED and is not related to the rebuild assist feature...

Re: New "Rebuild Assist" feature in Serial ATA Revision 3.2

January 23rd, 2019, 10:56

Ok .... Thanks for the info anyway ...

Good work.

Re: New "Rebuild Assist" feature in Serial ATA Revision 3.2

January 23rd, 2019, 16:38

So while I am abandoning the head mapping using the rebuild assist, I am still looking at possibly utilizing what features it does offer that are possibly worthwhile. But for this I will need a drive that supports the rebuild assist, and has real bad sectors. I can simulate bad sectors on the drive I have, but I need a real failing drive to be able to test with. Any help with acquiring such a drive (at a reasonable cost) would be appreciated.

Re: New "Rebuild Assist" feature in Serial ATA Revision 3.2

January 23rd, 2019, 18:25

I'm looking on eBay for bad drives at reasonable cost as well as i do want to play with this sort of feature as well but they are quite expensive...

Re: New "Rebuild Assist" feature in Serial ATA Revision 3.2

January 24th, 2019, 21:43

Spildit wrote:I'm looking on eBay for bad drives at reasonable cost as well as i do want to play with this sort of feature as well but they are quite expensive...
So let’s get a list of drives that do (or should) support the rebuild assist feature, so we know what to look for. This is what I have so far (short list).

HGST Ultrastar 7K6000 series (this is what I currently have). This is based on datasheet info.

HGST HelioSeal® Ultrastar He8 series and up (He6 and below does not appear to support it). This is based on datasheet info.

Seagate Exos series, both E and X. As stated previously, Seagate calls it "RAID Rebuild". This is based on datasheet info, although I did not go through all of them.

Possibly WD Gold 12TB and up. This is based on articles found online, that state it supports the feature, and is basically a HGST drive. I could not find any datasheet info to support it.

Re: New "Rebuild Assist" feature in Serial ATA Revision 3.2

January 26th, 2019, 19:16

So I want to look at another option. It looks like the HGST 7K6000 series and the Seagate Exos 7E8 series are possible to find used on Ebay for relatively cheap. So how long would one of those last if I pulled the cover off (in my opposite of cleanroom environment), and quickly put a fingerprint on the top platter, and closed it back up? I would assume that the fingerprint would induce bad sectors, if not kill the head, and the general contamination would also cause issues on other platters/heads. But how long would the drive function before completely dying from the contamination? I don't care about it degrading as the objective purpose is to create bad sectors, but it would not be worth it if it died really fast, as that would not allow for much testing.

Re: New "Rebuild Assist" feature in Serial ATA Revision 3.2

January 26th, 2019, 21:35

maximus wrote:So I want to look at another option. It looks like the HGST 7K6000 series and the Seagate Exos 7E8 series are possible to find used on Ebay for relatively cheap. So how long would one of those last if I pulled the cover off (in my opposite of cleanroom environment), and quickly put a fingerprint on the top platter, and closed it back up? I would assume that the fingerprint would induce bad sectors, if not kill the head, and the general contamination would also cause issues on other platters/heads. But how long would the drive function before completely dying from the contamination? I don't care about it degrading as the objective purpose is to create bad sectors, but it would not be worth it if it died really fast, as that would not allow for much testing.


Do not put the fingerprint on the platter ... it will kill the heads.

Even opening the drive and allow dust to enter will kill the heads as those drives do have huge density and heads fly near the platter so any particle of dust will get stuck on he platter/head and it's game over. You could do this on older models like 80 GB and smaller. You can't do this on 4 TB and higher ...

Also on He filled drives... they do detect that the Helium is gone and will not even spin i think .... forget about opening one of those up ...

Re: New "Rebuild Assist" feature in Serial ATA Revision 3.2

February 26th, 2019, 19:45

i suppose a drive with one or more failing heads will kill surfaces one after the other with a pretty good probability.
So this 'disabling' bad heads idea is not very nice. Many dr guys do that too, modify head map and image good heads. The problem with this is that one has perfectly no feedback about what happens on that disabled surface. It might disintegrate gradually and you only notice it when other heads get dirty and begin to fail reading... By that time the initially slightly bad surface has rings, making it far less recoverable than the initial state.
So brain has to be used...

pepe

Re: New "Rebuild Assist" feature in Serial ATA Revision 3.2

February 26th, 2019, 20:27

pepe wrote:i suppose a drive with one or more failing heads will kill surfaces one after the other with a pretty good probability.
So this 'disabling' bad heads idea is not very nice. Many dr guys do that too, modify head map and image good heads. The problem with this is that one has perfectly no feedback about what happens on that disabled surface. It might disintegrate gradually and you only notice it when other heads get dirty and begin to fail reading... By that time the initially slightly bad surface has rings, making it far less recoverable than the initial state.
So brain has to be used...

pepe

Yes, the brain must be used. This whole rebuild assist is meant for a RAID rebuild, and if it “disables” a head the system does not expect to get any data from that head. And as you read the rest of the “good” data, that bad head could be destroying the data on that platter. But that is no different than someone using ddrescue or hddsuperclone to clone the drive. If you attempt to clone a drive without inspecting the heads (as only a pro can do), then the risk is always there to destroy a platter surface, no matter what software or hardware tool used to clone the drive. The purpose of a software or hardware imager using the rebuild assist feature would only be for skipping reading from the bad head to get all of the good data first. The potential for killing the data on a platter must be assumed, just as any other cloning attempt with a possible bad head and no professional inspection.

Re: New "Rebuild Assist" feature in Serial ATA Revision 3.2

February 27th, 2019, 17:57

Rebuild Assist may be the only solution for helium drives, whatever the risk, assuming nobody is able to work with this technology.

Re: New "Rebuild Assist" feature in Serial ATA Revision 3.2

February 28th, 2019, 11:45

that assumption is not right i think

Re: New "Rebuild Assist" feature in Serial ATA Revision 3.2

February 28th, 2019, 18:43

I think that using the rebuild assist feature could help assist a recovery in a case where it is not desired to open the drive (helium), and it is not supported in hardware imagers, and the owner does not want to wait for it to be supported, and is not willing to pay a high premium for the recovery from someone that could possibly perform a physical inspection and head swap with positive results. I don’t consider it a solution or any sort of requirement, but it could possibly help in this scenario.

If I thought it was the greatest thing on earth and truly awesome, I would have it implemented in hddsuperclone already after my testing. And if it was that good you would think the hardware tools would have it already also.
Post a reply