HDD with a parity surface
Posted: October 20th, 2013, 5:18 am
I just thought of something that would virtually eliminate the risk of unrecoverable read errors - short of banging the drive while spinning, anyway - as the ECC is not always enough.
It's extraordinarily simple in principle - take one of the platter surfaces and store parity information on it. That way, if one of the user data sectors fails, the data stored in it could be reconstructed from the user sectors on other surfaces (the parity surface included).
It has just two minor drawbacks, as far as I can tell:
I'm pretty sure the formula to calculate (theoretical) error probability for a normal drive is:
1 - ((1 - [bit error rate])^(8000000000*[capacity in GB]))
Which with a 4TB drive and the usual unrecoverable error rate for consumer drives of 1 per 10^14 bits read, gives:
1 - ((1 - 1e-14)^(8000000000*4000)) = 0.27385096292631023698
And that's not acceptable if you trust your drive not to error out. (To keep the risk below 2%, you can have up to a 250GB drive.) In other words, current drives are dangerously large.
For a parity drive it would be this:
(1 - ((1 - [bit error rate])^(8000000000*[capacity in GB]))) * (1 - ((1 - [bit error rate])^(8*[sector size in bytes]*[number of heads - 1])))
Even with a 4EB drive with a total of 40 heads, and 4MiB sectors (in this calculation, larger sectors are worse), with the error rate downgraded to 1e-12 (the only half-realistic part), the risk is <0.2%. That's nothing short of unbelievable for such a simple modification.
(For some reason, Seagate gives the error rate for some of their desktop drives as "1 per 10E14", but I'm sure that's wrong because 10E14 is ten times 10^14.)
Okay, so it's not going to help with the total failures that keep happening over and over with current consumer drives, but that doesn't make it a bad idea. Of course, RAID 1 protects from this and more, but two drives = probably more unattractive for those cost-conscious consumers.
(By the way, here's an excellent software calculator. It's available for all the major operating systems, though I only use Windows.)
It's extraordinarily simple in principle - take one of the platter surfaces and store parity information on it. That way, if one of the user data sectors fails, the data stored in it could be reconstructed from the user sectors on other surfaces (the parity surface included).
It has just two minor drawbacks, as far as I can tell:
- No ordinary consumer will pay for a good drive these days. (Enterprises would use redundant arrays anyway so it's little use to them.)
- The write speed will be reduced (by up to half in a drive with only 1 data/2 total heads), but that's okay with me, especially in a multi-platter drive.
I'm pretty sure the formula to calculate (theoretical) error probability for a normal drive is:
1 - ((1 - [bit error rate])^(8000000000*[capacity in GB]))
Which with a 4TB drive and the usual unrecoverable error rate for consumer drives of 1 per 10^14 bits read, gives:
1 - ((1 - 1e-14)^(8000000000*4000)) = 0.27385096292631023698
And that's not acceptable if you trust your drive not to error out. (To keep the risk below 2%, you can have up to a 250GB drive.) In other words, current drives are dangerously large.
For a parity drive it would be this:
(1 - ((1 - [bit error rate])^(8000000000*[capacity in GB]))) * (1 - ((1 - [bit error rate])^(8*[sector size in bytes]*[number of heads - 1])))
Even with a 4EB drive with a total of 40 heads, and 4MiB sectors (in this calculation, larger sectors are worse), with the error rate downgraded to 1e-12 (the only half-realistic part), the risk is <0.2%. That's nothing short of unbelievable for such a simple modification.
(For some reason, Seagate gives the error rate for some of their desktop drives as "1 per 10E14", but I'm sure that's wrong because 10E14 is ten times 10^14.)
Okay, so it's not going to help with the total failures that keep happening over and over with current consumer drives, but that doesn't make it a bad idea. Of course, RAID 1 protects from this and more, but two drives = probably more unattractive for those cost-conscious consumers.
(By the way, here's an excellent software calculator. It's available for all the major operating systems, though I only use Windows.)