How to speed up ddrescue











up vote
0
down vote

favorite












I am trying to backup my failing external USB HDD Maxtor M3 4TB using ddrescue.



In the beginning, I was getting around 300kB/s so I ripped the external box and connected the drive directly via SATA to my desktop which improved the rate to around 700kB/s.
After playing with -a (Minimum read rate) -b (block size) -c (Number of sectors to copy at a time) I arrived at



-a 20M -b 4096B -c 2048


Above mentioned combination increased the rate to about 1800kB/s.
Moreover, the current rate fluctuates from a few bytes/s to 115MB/s with the overall average staying around mentioned 1800kB/s.
It feels as if it read at a normal 'healthy drive' rate for a sec and then hang to wait for some timeout and continuing at a reduced rate.



Do you have experience with other parameters that help improve the rate?
Since the whole 4TB drive will take about a month at the current rate any improvement is highly appreciated.



EDIT - Full command



The full command is



sudo ddrescue -a 20M -b 4096 -c 2048  -f -n -vv /dev/sdi /dev/sdh video_drive.log


EDIT 2 - Oh that's why it is so slow



The drive is failing in such a way that S.M.A.R.T. support is disabled at times, but during the periods it works, I noticed the high and increasing value of Read Error Rate and Hardware ECC Recovered fields.
I assume the ECC recovery is the reason why I see no errors and also the reason why the rate is so low.










share|improve this question
























  • If the drive is damaged you just have to wait for the retries ...
    – DavidPostill
    Nov 28 at 21:47










  • I added the full command. As I understand the "-n" skips the retries, so it should not influence it for the first pass right?
    – badluck
    Nov 28 at 21:53






  • 1




    Possible duplicate of Is there any way to speed up ddrescue?
    – Kamil Maciorowski
    Nov 28 at 22:11










  • @KamilMaciorowski it is possibly a duplicate, but the difference is that I don't get errors, It's just very slow. That's why I thought maybe there is a way to speed things up.
    – badluck
    Nov 29 at 10:35















up vote
0
down vote

favorite












I am trying to backup my failing external USB HDD Maxtor M3 4TB using ddrescue.



In the beginning, I was getting around 300kB/s so I ripped the external box and connected the drive directly via SATA to my desktop which improved the rate to around 700kB/s.
After playing with -a (Minimum read rate) -b (block size) -c (Number of sectors to copy at a time) I arrived at



-a 20M -b 4096B -c 2048


Above mentioned combination increased the rate to about 1800kB/s.
Moreover, the current rate fluctuates from a few bytes/s to 115MB/s with the overall average staying around mentioned 1800kB/s.
It feels as if it read at a normal 'healthy drive' rate for a sec and then hang to wait for some timeout and continuing at a reduced rate.



Do you have experience with other parameters that help improve the rate?
Since the whole 4TB drive will take about a month at the current rate any improvement is highly appreciated.



EDIT - Full command



The full command is



sudo ddrescue -a 20M -b 4096 -c 2048  -f -n -vv /dev/sdi /dev/sdh video_drive.log


EDIT 2 - Oh that's why it is so slow



The drive is failing in such a way that S.M.A.R.T. support is disabled at times, but during the periods it works, I noticed the high and increasing value of Read Error Rate and Hardware ECC Recovered fields.
I assume the ECC recovery is the reason why I see no errors and also the reason why the rate is so low.










share|improve this question
























  • If the drive is damaged you just have to wait for the retries ...
    – DavidPostill
    Nov 28 at 21:47










  • I added the full command. As I understand the "-n" skips the retries, so it should not influence it for the first pass right?
    – badluck
    Nov 28 at 21:53






  • 1




    Possible duplicate of Is there any way to speed up ddrescue?
    – Kamil Maciorowski
    Nov 28 at 22:11










  • @KamilMaciorowski it is possibly a duplicate, but the difference is that I don't get errors, It's just very slow. That's why I thought maybe there is a way to speed things up.
    – badluck
    Nov 29 at 10:35













up vote
0
down vote

favorite









up vote
0
down vote

favorite











I am trying to backup my failing external USB HDD Maxtor M3 4TB using ddrescue.



In the beginning, I was getting around 300kB/s so I ripped the external box and connected the drive directly via SATA to my desktop which improved the rate to around 700kB/s.
After playing with -a (Minimum read rate) -b (block size) -c (Number of sectors to copy at a time) I arrived at



-a 20M -b 4096B -c 2048


Above mentioned combination increased the rate to about 1800kB/s.
Moreover, the current rate fluctuates from a few bytes/s to 115MB/s with the overall average staying around mentioned 1800kB/s.
It feels as if it read at a normal 'healthy drive' rate for a sec and then hang to wait for some timeout and continuing at a reduced rate.



Do you have experience with other parameters that help improve the rate?
Since the whole 4TB drive will take about a month at the current rate any improvement is highly appreciated.



EDIT - Full command



The full command is



sudo ddrescue -a 20M -b 4096 -c 2048  -f -n -vv /dev/sdi /dev/sdh video_drive.log


EDIT 2 - Oh that's why it is so slow



The drive is failing in such a way that S.M.A.R.T. support is disabled at times, but during the periods it works, I noticed the high and increasing value of Read Error Rate and Hardware ECC Recovered fields.
I assume the ECC recovery is the reason why I see no errors and also the reason why the rate is so low.










share|improve this question















I am trying to backup my failing external USB HDD Maxtor M3 4TB using ddrescue.



In the beginning, I was getting around 300kB/s so I ripped the external box and connected the drive directly via SATA to my desktop which improved the rate to around 700kB/s.
After playing with -a (Minimum read rate) -b (block size) -c (Number of sectors to copy at a time) I arrived at



-a 20M -b 4096B -c 2048


Above mentioned combination increased the rate to about 1800kB/s.
Moreover, the current rate fluctuates from a few bytes/s to 115MB/s with the overall average staying around mentioned 1800kB/s.
It feels as if it read at a normal 'healthy drive' rate for a sec and then hang to wait for some timeout and continuing at a reduced rate.



Do you have experience with other parameters that help improve the rate?
Since the whole 4TB drive will take about a month at the current rate any improvement is highly appreciated.



EDIT - Full command



The full command is



sudo ddrescue -a 20M -b 4096 -c 2048  -f -n -vv /dev/sdi /dev/sdh video_drive.log


EDIT 2 - Oh that's why it is so slow



The drive is failing in such a way that S.M.A.R.T. support is disabled at times, but during the periods it works, I noticed the high and increasing value of Read Error Rate and Hardware ECC Recovered fields.
I assume the ECC recovery is the reason why I see no errors and also the reason why the rate is so low.







hard-drive ddrescue






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 2 days ago

























asked Nov 28 at 21:45









badluck

11




11












  • If the drive is damaged you just have to wait for the retries ...
    – DavidPostill
    Nov 28 at 21:47










  • I added the full command. As I understand the "-n" skips the retries, so it should not influence it for the first pass right?
    – badluck
    Nov 28 at 21:53






  • 1




    Possible duplicate of Is there any way to speed up ddrescue?
    – Kamil Maciorowski
    Nov 28 at 22:11










  • @KamilMaciorowski it is possibly a duplicate, but the difference is that I don't get errors, It's just very slow. That's why I thought maybe there is a way to speed things up.
    – badluck
    Nov 29 at 10:35


















  • If the drive is damaged you just have to wait for the retries ...
    – DavidPostill
    Nov 28 at 21:47










  • I added the full command. As I understand the "-n" skips the retries, so it should not influence it for the first pass right?
    – badluck
    Nov 28 at 21:53






  • 1




    Possible duplicate of Is there any way to speed up ddrescue?
    – Kamil Maciorowski
    Nov 28 at 22:11










  • @KamilMaciorowski it is possibly a duplicate, but the difference is that I don't get errors, It's just very slow. That's why I thought maybe there is a way to speed things up.
    – badluck
    Nov 29 at 10:35
















If the drive is damaged you just have to wait for the retries ...
– DavidPostill
Nov 28 at 21:47




If the drive is damaged you just have to wait for the retries ...
– DavidPostill
Nov 28 at 21:47












I added the full command. As I understand the "-n" skips the retries, so it should not influence it for the first pass right?
– badluck
Nov 28 at 21:53




I added the full command. As I understand the "-n" skips the retries, so it should not influence it for the first pass right?
– badluck
Nov 28 at 21:53




1




1




Possible duplicate of Is there any way to speed up ddrescue?
– Kamil Maciorowski
Nov 28 at 22:11




Possible duplicate of Is there any way to speed up ddrescue?
– Kamil Maciorowski
Nov 28 at 22:11












@KamilMaciorowski it is possibly a duplicate, but the difference is that I don't get errors, It's just very slow. That's why I thought maybe there is a way to speed things up.
– badluck
Nov 29 at 10:35




@KamilMaciorowski it is possibly a duplicate, but the difference is that I don't get errors, It's just very slow. That's why I thought maybe there is a way to speed things up.
– badluck
Nov 29 at 10:35










1 Answer
1






active

oldest

votes

















up vote
1
down vote













When ddrescue reads the disk, it has to read every block. It cannot know in advance which blocks are bad. So it will inevitably try to read a bad block. The disk will try very hard to correctly read this block before giving up and returning an error. This behavior cannot be disabled or controlled on consumer-grade hard drives.



So even without ddrescue retrying, bad blocks will slow down the process a lot. There is nothing you can do except keep going.






share|improve this answer





















  • When it reads the bad block it increases the errors, right? But since the errors parameter does not increase I assume it's not encountering any error.
    – badluck
    Nov 29 at 10:31










  • The hard drive could always succeed at making those blocks readable, too! Which would be even better for you, because you'd get the data.
    – Daniel B
    Nov 29 at 12:53











Your Answer








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "3"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1379226%2fhow-to-speed-up-ddrescue%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes








up vote
1
down vote













When ddrescue reads the disk, it has to read every block. It cannot know in advance which blocks are bad. So it will inevitably try to read a bad block. The disk will try very hard to correctly read this block before giving up and returning an error. This behavior cannot be disabled or controlled on consumer-grade hard drives.



So even without ddrescue retrying, bad blocks will slow down the process a lot. There is nothing you can do except keep going.






share|improve this answer





















  • When it reads the bad block it increases the errors, right? But since the errors parameter does not increase I assume it's not encountering any error.
    – badluck
    Nov 29 at 10:31










  • The hard drive could always succeed at making those blocks readable, too! Which would be even better for you, because you'd get the data.
    – Daniel B
    Nov 29 at 12:53















up vote
1
down vote













When ddrescue reads the disk, it has to read every block. It cannot know in advance which blocks are bad. So it will inevitably try to read a bad block. The disk will try very hard to correctly read this block before giving up and returning an error. This behavior cannot be disabled or controlled on consumer-grade hard drives.



So even without ddrescue retrying, bad blocks will slow down the process a lot. There is nothing you can do except keep going.






share|improve this answer





















  • When it reads the bad block it increases the errors, right? But since the errors parameter does not increase I assume it's not encountering any error.
    – badluck
    Nov 29 at 10:31










  • The hard drive could always succeed at making those blocks readable, too! Which would be even better for you, because you'd get the data.
    – Daniel B
    Nov 29 at 12:53













up vote
1
down vote










up vote
1
down vote









When ddrescue reads the disk, it has to read every block. It cannot know in advance which blocks are bad. So it will inevitably try to read a bad block. The disk will try very hard to correctly read this block before giving up and returning an error. This behavior cannot be disabled or controlled on consumer-grade hard drives.



So even without ddrescue retrying, bad blocks will slow down the process a lot. There is nothing you can do except keep going.






share|improve this answer












When ddrescue reads the disk, it has to read every block. It cannot know in advance which blocks are bad. So it will inevitably try to read a bad block. The disk will try very hard to correctly read this block before giving up and returning an error. This behavior cannot be disabled or controlled on consumer-grade hard drives.



So even without ddrescue retrying, bad blocks will slow down the process a lot. There is nothing you can do except keep going.







share|improve this answer












share|improve this answer



share|improve this answer










answered Nov 28 at 22:07









Daniel B

33k75986




33k75986












  • When it reads the bad block it increases the errors, right? But since the errors parameter does not increase I assume it's not encountering any error.
    – badluck
    Nov 29 at 10:31










  • The hard drive could always succeed at making those blocks readable, too! Which would be even better for you, because you'd get the data.
    – Daniel B
    Nov 29 at 12:53


















  • When it reads the bad block it increases the errors, right? But since the errors parameter does not increase I assume it's not encountering any error.
    – badluck
    Nov 29 at 10:31










  • The hard drive could always succeed at making those blocks readable, too! Which would be even better for you, because you'd get the data.
    – Daniel B
    Nov 29 at 12:53
















When it reads the bad block it increases the errors, right? But since the errors parameter does not increase I assume it's not encountering any error.
– badluck
Nov 29 at 10:31




When it reads the bad block it increases the errors, right? But since the errors parameter does not increase I assume it's not encountering any error.
– badluck
Nov 29 at 10:31












The hard drive could always succeed at making those blocks readable, too! Which would be even better for you, because you'd get the data.
– Daniel B
Nov 29 at 12:53




The hard drive could always succeed at making those blocks readable, too! Which would be even better for you, because you'd get the data.
– Daniel B
Nov 29 at 12:53


















draft saved

draft discarded




















































Thanks for contributing an answer to Super User!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.





Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


Please pay close attention to the following guidance:


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1379226%2fhow-to-speed-up-ddrescue%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

flock() on closed filehandle LOCK_FILE at /usr/bin/apt-mirror

Mangá

Eduardo VII do Reino Unido