All times are UTC - 5 hours [ DST ]


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 new topic Reply to topic  [ 53 posts ]  Go to page Previous  1, 2, 3
Author Message
 Post subject: Re: New "Rebuild Assist" feature in Serial ATA Revision 3.2
PostPosted: January 22nd, 2019, 21:40 
Offline

Joined: January 29th, 2012, 1:43
Posts: 982
Location: United States
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.

_________________
http://www.hddsuperclone.com
Home of HDDSuperClone


Top
 Profile  
 
 Post subject: Re: New "Rebuild Assist" feature in Serial ATA Revision 3.2
PostPosted: January 22nd, 2019, 23:04 
Offline

Joined: January 29th, 2012, 1:43
Posts: 982
Location: United States
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...

_________________
http://www.hddsuperclone.com
Home of HDDSuperClone


Top
 Profile  
 
 Post subject: Re: New "Rebuild Assist" feature in Serial ATA Revision 3.2
PostPosted: January 23rd, 2019, 16:38 
Offline

Joined: January 29th, 2012, 1:43
Posts: 982
Location: United States
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.

_________________
http://www.hddsuperclone.com
Home of HDDSuperClone


Top
 Profile  
 
 Post subject: Re: New "Rebuild Assist" feature in Serial ATA Revision 3.2
PostPosted: January 24th, 2019, 21:43 
Offline

Joined: January 29th, 2012, 1:43
Posts: 982
Location: United States
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.

_________________
http://www.hddsuperclone.com
Home of HDDSuperClone


Top
 Profile  
 
 Post subject: Re: New "Rebuild Assist" feature in Serial ATA Revision 3.2
PostPosted: January 26th, 2019, 19:16 
Offline

Joined: January 29th, 2012, 1:43
Posts: 982
Location: United States
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.

_________________
http://www.hddsuperclone.com
Home of HDDSuperClone


Top
 Profile  
 
 Post subject: Re: New "Rebuild Assist" feature in Serial ATA Revision 3.2
PostPosted: February 26th, 2019, 19:45 
Offline

Joined: October 3rd, 2005, 0:40
Posts: 4301
Location: Hungary
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

_________________
Adatmentés - Data recovery


Top
 Profile  
 
 Post subject: Re: New "Rebuild Assist" feature in Serial ATA Revision 3.2
PostPosted: February 26th, 2019, 20:27 
Offline

Joined: January 29th, 2012, 1:43
Posts: 982
Location: United States
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.

_________________
http://www.hddsuperclone.com
Home of HDDSuperClone


Top
 Profile  
 
 Post subject: Re: New "Rebuild Assist" feature in Serial ATA Revision 3.2
PostPosted: February 27th, 2019, 17:57 
Offline
User avatar

Joined: September 8th, 2009, 18:21
Posts: 15440
Location: Australia
Rebuild Assist may be the only solution for helium drives, whatever the risk, assuming nobody is able to work with this technology.

_________________
A backup a day keeps DR away.


Top
 Profile  
 
 Post subject: Re: New "Rebuild Assist" feature in Serial ATA Revision 3.2
PostPosted: February 28th, 2019, 11:45 
Offline

Joined: October 3rd, 2005, 0:40
Posts: 4301
Location: Hungary
that assumption is not right i think

_________________
Adatmentés - Data recovery


Top
 Profile  
 
 Post subject: Re: New "Rebuild Assist" feature in Serial ATA Revision 3.2
PostPosted: February 28th, 2019, 18:43 
Offline

Joined: January 29th, 2012, 1:43
Posts: 982
Location: United States
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.

_________________
http://www.hddsuperclone.com
Home of HDDSuperClone


Top
 Profile  
 
 Post subject: Re: New "Rebuild Assist" feature in Serial ATA Revision 3.2
PostPosted: October 13th, 2020, 20:57 
Offline

Joined: January 29th, 2012, 1:43
Posts: 982
Location: United States
My drive for testing this is now available to me again, and I am starting to look at this feature again, not for mapping heads as I have determined that is not feasible, but for using the feature as intended to aid with recovery. Stay tuned for more updates.

_________________
http://www.hddsuperclone.com
Home of HDDSuperClone


Top
 Profile  
 
 Post subject: Re: New "Rebuild Assist" feature in Serial ATA Revision 3.2
PostPosted: October 25th, 2020, 1:23 
Offline

Joined: January 29th, 2012, 1:43
Posts: 982
Location: United States
I have encountered some weird issues with this drive when using the rebuild assist. When reading in rebuild assist mode, sometimes the last sector (8 logical sectors since the drive is AF) of the read prior to the “bad read element” will be zeroed. It only happens during large scale testing. When I target that area in small scale testing, the data is good, even when making sure the exact same read command is performed. It doesn’t make sense. This is based on the standard where it states that the drive shall return all data up to the first reported error. I am now not trusting that data, and discarding it as would normally happen.

And on top of that, I have had one instance where there was a zeroed sector that as far as I can tell was in the middle of a good read. I have not been able to reproduce it, but I am almost certain it happened like that. It makes me think that the rebuild assist should only be used as a last resort.

_________________
http://www.hddsuperclone.com
Home of HDDSuperClone


Top
 Profile  
 
 Post subject: Re: New "Rebuild Assist" feature in Serial ATA Revision 3.2
PostPosted: November 16th, 2020, 20:36 
Offline

Joined: January 29th, 2012, 1:43
Posts: 982
Location: United States
Just an FYI, the newest version of HDDSuperClone now has an option for Rebuild Assist. It doesn't map heads, but it does utilize the feature in the way it was intended. I have no idea how effective it is for a real case, but it is there to try for those with the paid version.

_________________
http://www.hddsuperclone.com
Home of HDDSuperClone


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 53 posts ]  Go to page Previous  1, 2, 3

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group