Slashdot Mirror


One Way To Save Digital Archives From File Corruption

storagedude points out this article about one of the perils of digital storage, the author of which "says massive digital archives are threatened by simple bit errors that can render whole files useless. The article notes that analog pictures and film can degrade and still be usable; why can't the same be true of digital files? The solution proposed by the author: two headers and error correction code (ECC) in every file."

257 comments

  1. To much reinvention by DarkOx · · Score: 5, Interesting

    If this type of thing is implemented at the file level every application is going to have to do its own thing. That means to many implementations most of which wont be very good or well tested. It also means applications developers will have to be busy slogging though error correction data in their files rather than the data they actually wanted to persist for their application. I think the article offers a number of good ideas but it would be better to do most of them at the filesystem and perhaps some at the storage layer.
        Also if we can present the same logical file when read to the application even if every 9th byte is parity on the disk that is a plus because it means legacy apps can get the enhanced protection as well.

    --
    Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
    1. Re:To much reinvention by Anonymous Coward · · Score: 1, Funny

      At least they didn't suggest just sticking the files "in the cloud".

    2. Re:To much reinvention by commodore64_love · · Score: 1

      >>>>> If this type of thing is implemented at the file level every application is going to have to do its own thing.
      >>
      >>Great. So add it to the system level.

      Somebody has ADD and didn't bother to finish reading the *whole* paragraph. Quote: "It would be better to do most of them at the filesystem..."

      --
      "I disapprove of what you say, but I will defend to the death your right to say it." - historian Evelyn Beatrice Hall
    3. Re:To much reinvention by imamac · · Score: 1

      It's a constant struggle.

    4. Re:To much reinvention by paradxum · · Score: 5, Insightful

      It already exists, it's called ZFS on solaris boxxen. Each block uses ECC, it can correct itself on each read, and generally can indicate a failing disk. This truly is the filesystem every other one is playing catchup with.

    5. Re:To much reinvention by Rockoon · · Score: 1

      What we are talking about here is how to add more redundancy on the software level.. but honestly..

      ...why not do it at the hardware level where there is already redundancy, and cant be fucked up by an additional error vector?

      --
      "His name was James Damore."
    6. Re:To much reinvention by Anonymous Coward · · Score: 1, Informative

      Or, for those that prefer a BSD to a SysV unix, it also works fine on FreeBSD.

    7. Re:To much reinvention by Anonymous Coward · · Score: 0

      Have you tried RCFS? The Egyptians did. Just need to replace the drive platter and head with a rock and chisel and we good for another 5k.

    8. Re:To much reinvention by MrNaz · · Score: 5, Insightful

      Ahem. RAID anyone? ZFS? Btrfs? Hello?

      Isn't this what filesystem devs have been concentrating on for about 5 years now?

      --
      I hate printers.
    9. Re:To much reinvention by Whalou · · Score: 3, Funny

      ReiserFS is good for that also. If you make a deal with the 'file system' it will tell you where your 'file' is hidden.

      --
      English is not this .sig mother tongue...
    10. Re:To much reinvention by Linker3000 · · Score: 1

      You have just taken the hideous word 'boxen' to new heights!

      True, though, ZFS is a bleedin obvious implementation of this kind of thing

      --
      AT&ROFLMAO
    11. Re:To much reinvention by Interoperable · · Score: 2, Insightful

      I agree that filesystem level error correction is good idea. Having the option to specify ECC options for a given file or folder would be great functionality to have. The idea presented in this article, however, is that certain compressed formats don't need ECC for the entire file. Instead, as long as the headers are intact, a few bits here or there will result in only some distortion; not a big deal if it's just vacation photos/movies.

      By only having ECC in the headers, you would save a good deal of storage space and processing time. It wouldn't need to be supported in every application either, just the codecs. Individual codecs could include it fairly easily as they release new versions, which wouldn't be backward compatible anyway so you don't introduce a new problem. I think it's a good idea, it would keep media readable with very little overhead, just a few odd pixels during playback even in a corrupted file.

      --
      So if this is the future...where's my jet pack?
    12. Re:To much reinvention by bertok · · Score: 3, Insightful

      If this type of thing is implemented at the file level every application is going to have to do its own thing. That means to many implementations most of which wont be very good or well tested. It also means applications developers will have to be busy slogging though error correction data in their files rather than the data they actually wanted to persist for their application. I think the article offers a number of good ideas but it would be better to do most of them at the filesystem and perhaps some at the storage layer.

          Also if we can present the same logical file when read to the application even if every 9th byte is parity on the disk that is a plus because it means legacy apps can get the enhanced protection as well.

      Precisely. This is what things like torrents, RAR files with recovery blocks, and filesystems like ZFS are for: so every app developer doesn't have to roll their own, badly.

    13. Re:To much reinvention by PJ6 · · Score: 1

      ECC would just be metadata in its own section that applications would be free to ignore, and it wouldn't be terribly difficult to implement. Allowing multiple implementations in one file for cases when one does not recognize another would be trivial. If you look at it from the point of security, it's a good idea: whatever the FS does to keep the data from corrupting may fail. Security through layers.

    14. Re:To much reinvention by An+dochasac · · Score: 3, Informative

      "says massive digital archives are threatened by simple bit errors that can render whole files useless.
      Isn't this what filesystem devs have been concentrating on for about 5 years now?

      Not just 5 years. ZFS's CRC on every datablock and Raid Z (no raid hold) are innovative and obviously the next step in filesystem evolution. But attempts at redundancy aren't new. I'm surprised the article is discussing relatively low teck old hat ideas such as two filesystem headers. Even DOS's FAT used this raid0 type of brute force redundancy by having two FAT tables. The Commodore Amiga's Intuition filesystem did this better than Microsoft back in 1985 by having forward and backward links in every block which made it possible to repair block pointer damage by searching for a reference to the bad block in the preceding and following block.
      And I suppose if ZFS doesn't catch on, 25 or 30 years from now Apple or Microsoft will finally come up with it and say, "Hey look what we invented!"

    15. Re:To much reinvention by Bengie · · Score: 1

      Not all RAID implementations check for errors. Some cheaper hardware will duplicate data or make parity, but never check for corruption. Instead, they only use the duplicated data for recovery purposes. Nothing says fun like rebuilding a RAID drive only to find your your parity data was corrupt, but you won't know that until you try to use your new drive and weird things happen..

      Will the corruption affects your FS or will it affect your data.. 8-ball says........

    16. Re:To much reinvention by Hatta · · Score: 5, Interesting

      Don't forget PAR2. I never burn a DVD without 10%-20% redundancy as par2 files. Even if the filesystem gets too damaged to read, I can usually dd the whole disk and let par2 recover the files.

      --
      Give me Classic Slashdot or give me death!
    17. Re:To much reinvention by Phreakiture · · Score: 1

      A simple solution would be to add a file full of redundancy data alongside the original on the archival media. A simple application could be used to repair the file if it becomes damaged, or test it for damage before you go to use it, but the original format of the file remains unchanged, and your recovery system is file system agnostic.

      --
      www.wavefront-av.com
    18. Re:To much reinvention by foniksonik · · Score: 1

      How about an archive format, essentially a zip file, which contains additional headers for all of it's contents? Something like a manifest would work well. It could easily be an XML file with the header information and other meta-data about the contents of the archive. This way you get a good compromise between having to store an entire filesystem and the overhead of putting this information in each file.

      Add another layer by using a striped data format with parity and you have the ability to reconstruct any of the data as well.

      So your archive would grow in size maybe 20% but would have a vastly improved life expectancy.

      --
      A fool throws a stone into a well and a thousand sages can not remove it.
    19. Re:To much reinvention by Anonymous Coward · · Score: 0

      Ahem. RAID anyone?

      Do hard disk fail when they are kept off for a while? Not noticing multiple error because the array is physically off kind of makes RAID useless. And also ZFS, or any other file system, I'd dare say.

      Or is the plan to keep an ever increasing number of drives on (or at least connected to something) forever and ever?

    20. Re:To much reinvention by Anonymous Coward · · Score: 0

      Ahem. RAID anyone? ZFS? Btrfs? Hello?

      For archival purposes... PAR2?

    21. Re:To much reinvention by eclectus · · Score: 1

      Not does it just contain ECC for each block, but the ECC for the block is not contained within the block, so you don't run into problems with self consistent but still bad blocks.

      --
      This signature is a waste of 42 characters
    22. Re:To much reinvention by mlts · · Score: 1

      I agree with you about ZFS. Getting Sun to dual license it under the GPL would mean it becoming a de facto standard everywhere but Macs and Windows. However, we should have ECC in the file format, so regardless of what type of machine a file is stored on, there is a good chance of repairs for a file.

      On an ISO basis, one can use a utility like DVDDisaster to append ECC info to the end of an ISO file before burning to CD or DVD. Since this is transparent to user action, the use of the added ECC only really comes into play if a MD5 hash check fails.

      The problem we face is that ECC file formats are rare that store the error correction in the same file, unless one breaks up a file and uses .PAR files. You have winRAR, StuffIt, and WinACE which all have user selectable levels of ECC [2], but all the three formats are proprietary. What is needed is an open specification like gzip, 7zip, or bzip2 to have not just build in ECC, but user selectable. Reason? Some cases, just 1% of ECC is more than enough. Other cases, having the file almost 2-3 times its original size [1] may not be enough, especially for long term archiving of large files onto WORM media for long term storage (50 years if a business is under FCC laws, 7 years in most cases.)

      The solution: A format that is licensed under either the Creative Commons and is not subject to patents where it allows the user to select where the ECC coding is added (just appended versus interspersed through the file), how much ECC is added, and perhaps various HMACs (SHA-256) so the decoding part can immediately check for damage. Then have both a dedicated utility that is dual licensed under GPL/BSD, and have the functionaly available as an option in bzip2, tar, gzip, 7zip, and other compression methods, just like encryption is available. Even the OpenPGP format should have ECC as an option after signing and encrypting the packet.

      The key to this is standardization, both across platforms, and throughout time. We don't need differing ECC utility standards. We need -ONE- ECC standard for a file format and no others. This ensures that if I encode a file on a Mac today, 20 years from now, I decode it using a ringtop display projecting into the air, it will decode with no problems or incompatibilities.

      [1]: Sometimes it is better to have one file with twice the space of ECC than it is to have two files. The reason for this is that two files would have to be constantly diffed, and one wouldn't know which was corrupted. Plus, file manipulation is easier with just one.

      [2]: Sometimes it helps for a user to select how the ECC is distributed. Some media might have large bursts of errors such as a uncorrectable scratch in a CD. Other media might have a lot of random noise that is scattered. Having methods to be able to deal with both conditions in general, but yet optimize for one of them might be a good thing, especially for a long term format.

    23. Re:To much reinvention by phantomcircuit · · Score: 1

      Actually ZFS does not use ECC unless you are using a RAIDZ. It does use checksums for all blocks, but that can only detect error, if you're not using RAIDZ or a mirror or have copies=(2|3) the error will be fatal, but at least you'll know about it.

    24. Re:To much reinvention by Jazz-Masta · · Score: 1

      RAID is not backup or archive. If you have a RAID1 system with bit errors on one disk - you now have them on the other disk.

      Using more complex RAID configs does not necessarily solve the problem.

      With archiving, the problem becomes apparent after you pull out your media after 7 years of not using it. Is that parallel ATA hard drive you stored it on still good? Do you have a connection for it? What about those zip and jazz drives you used? Do you have a method of reading them? Are those DVDs and CDs still good? Did you accidentally burn them using DirectCD years ago?

      For any archiving solution tapes are still king. The LTO and Dat72 varieties have been around for a long time, and each manufacturer pledges a certain timeframe for device support and even more have services to retrieve files long after the storage media is unsupported.

      Not many companies have temperature and moisture controlled vaults for archive storage - but still, people, use some common sense. I've seen tapes in such bad condition, growing mould because they've been stored under bathroom counters.

    25. Re:To much reinvention by mlts · · Score: 1

      Having ECC in metadata is fine, but in a perfect world, applications shouldn't ignore ECC. Especially when a file is being used and modified. Instead, either the app should update the ECC records when any writes are performed, or at least when the file is being closed.

    26. Re:To much reinvention by Bakkster · · Score: 1

      Also if we can present the same logical file when read to the application even if every 9th byte is parity on the disk that is a plus because it means legacy apps can get the enhanced protection as well.

      Not to nitpick, but I'm going to nitpick...

      Parity bits don't allow you to correct an error, only check that an error is present. This is useful for transfer protocols, where the system knows to ask for the file again, but the final result on an archived file is the same: file corrupt. With parity, though, you have an extra bit that can be corrupted.

      In other words, parity is an error check system, what we need is ECC (Error Check and Correct). Single parity bit is a 1-bit check, 0-bit correct. we need a system that provides a correction limit at least as much as the average corruption rate for our required time. Others in the comments have suggested common algorithms to do this, but simple parity just won't cut it.

      --
      Write your representatives! Repeal the 2nd Law of Thermodynamics!
    27. Re:To much reinvention by Bakkster · · Score: 1

      Sorry, messed up my abbreviations.
      We want Error Detect and Correct.
      ECC is an Error Correcting Code.

      --
      Write your representatives! Repeal the 2nd Law of Thermodynamics!
    28. Re:To much reinvention by petermgreen · · Score: 1

      I think the article offers a number of good ideas but it would be better to do most of them at the filesystem and perhaps some at the storage layer.
              Also if we can present the same logical file when read to the application even if every 9th byte is parity on the disk that is a plus because it means legacy apps can get the enhanced protection as well.

      The downside of this approach is that the checksums are not end to end. Every time the file is transfered from one location to another there is potential for corruption.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    29. Re:To much reinvention by petermgreen · · Score: 1

      out of interest is there a way to say to zfs you want to access the copy despite it being corrupt?

      Sometimes having a copy with some corruption is better than not having a copy at all, particularlly with formats like mpeg that are designed for streaming.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    30. Re:To much reinvention by Anonymous Coward · · Score: 0

      Of those you listed, the only one that does crc checksumming at every transition level is ZFS.. Store it on raidz2 and never suffer from bit-rot...

    31. Re:To much reinvention by quantum+bit · · Score: 1

      [quote]Of those you listed, the only one that does crc checksumming at every transition level is ZFS.. Store it on raidz2 and never suffer from bit-rot...[/quote]

      Just remember to run zpool scrub every once in a while to correct any bit errors. It's theoretically possible for them to build up over time and render blocks unreadable if you don't periodically scan and correct.

    32. Re:To much reinvention by Rockoon · · Score: 2, Interesting

      File Systems are in the software domain. If you arent getting good data (what was written) off the drive, the File System ideally shouldn't be able to do any better than the hardware did with the data. Of course, in reality the hardware uses a fixed redundancy model that offers less reliability than some people like. The danger of software-based solutions is that it allows hardware manufacturers to offer even less redundancy, or even NO redundancy at all, causing a need for even MORE software based redundancy.

      The ideal solution is to make sure the data is good at every step, rather than allow the device (or transmission medium) to consider that bad data is being good data. With ZFS or any other File System solution, the device wont know that the data is bad.. and thats bad.

      --
      "His name was James Damore."
    33. Re:To much reinvention by gravis777 · · Score: 1

      I don't think the problem is so much an issue with classic hard drive storage as it is with Optical Storage. You are right, those file systems, as well as some others, actually do a pretty good job at this. Its why, when files are corrupt on the harddrive, you can simply do a CheckDisk, or run DiskWarrior, or whatever you use on your operating system of choice, and easily recover data (unless the harddrive is physically corrupt, then there are still data retrieval services out there).

      No, the problem is deffinately with Optical Media,a nd going from the traditional ISO and UDF formats to something that has a hash check, say at the begining, end, and possibly even the middle, of a session may not be such a bad idea. Shoot, Par files on newsgroups have been dealing with data corruption for years - and its amazing how 4-5 meg of par files can help you recover data from a 5 gig corrupt download - depending on how many par files are created and how corrupt the original download is.

      I have had many optical that seem to start having issues with bits here and there sometimes just a few short months after reading them, and become almost unreadable within just a couple of years, while software exists to pull the files even if the disc is bad, you do have errors and such. I have old home movies that are almost unwatchable because the data deteriorated just too much on the disc. But yeah, if there were a hash check in a couple of different physical places on the disc, I probably would have been able to recover my original file.

      So yeah, this does not really need to be done at the file level. Shoot, in fact, I think that is a STUPID idea. It really should be done at a slightly higher level.

    34. Re:To much reinvention by aardvarkjoe · · Score: 1

      RAID is not backup or archive.

      Neither is the technique that is being discussed in the article. Did you not even read the summary? The technique described is a method to increase resistance to data corruption or loss in a set of hardware due to hardware failures. RAID (with parity or mirroring) can do the same. It's intended to make your archive or backup strategy more reliable, not replace it.

      If you have a RAID1 system with bit errors on one disk - you now have them on the other disk.

      Whether or not this is true depends on the failure mode. If you have undetected bit errors, then that may be the case, but if the bit error can be detected (could be done at several different levels) you can fail the bad disk or correct the error without corrupting data.

      For any archiving solution tapes are still king. The LTO and Dat72 varieties have been around for a long time, and each manufacturer pledges a certain timeframe for device support and even more have services to retrieve files long after the storage media is unsupported.

      The premise of this exercise was that all storage media is susceptible to eventual degradation. If you believe that just because your archive data is on a tape, that it's safe, then you may have a nasty surprise some day when you go to restore important data from a tape that's several years old.

      --

      How can we continue to believe in a just universe and freedom to eat crackers if we have no ale?
    35. Re:To much reinvention by Danga · · Score: 1

      Not to nitpick, but I'm going to nitpick...

      Parity bits don't allow you to correct an error, only check that an error is present.

      Next time nitpick in an area you know a lot about which is definitely NOT error correction or detection since you messed up the basic acronyms (not a big deal) but to say parity cannot be used for correction is flat out WRONG. The whole point of parity is to use it for error CORRECTION, here is a simple example:

      Data byte 1: 0xF
      Data byte 2: 0xA
      Data byte 3: 0x3

      Generate parity data by simply XORing each byte: 0xF XOR 0xA XOR 0x3 = 0x6

      Now, if byte 2 is lost/corrupted then it can be regenerated by XORing the remaining bytes including the parity byte 0x6:

      Data byte 2 = 0xF XOR 0x3 XOR 0x6 = 0xA

      Viola! Data byte 2 has been 100% fully corrected using parity, so your nitpicking quote "Parity bits don't allow you to correct an error" is 100% wrong.

      --
      Hey, there is only one Return and it's not of the King, it's of the Jedi.
    36. Re:To much reinvention by quercus.aeternam · · Score: 1

      definitely...

      Here are some MTTDL charts that, though tailored for thumpers, are still useful.

      http://blogs.sun.com/relling/entry/zfs_raid_recommendations_space_performance
      http://blogs.sun.com/relling/entry/raid_recommendations_space_vs_mttdl

      With a 1x2-disk mirror using ZFS, MTTDL is over 10,000 years. I'd say that's pretty good - and of course, you would definitely want to compliment that with off-site backup.

      I suspect that that is long enough for most people.

    37. Re:To much reinvention by Bakkster · · Score: 1

      Viola! Data byte 2 has been 100% fully corrected using parity, so your nitpicking quote "Parity bits don't allow you to correct an error" is 100% wrong.

      Shit, I misread (and misspoke). I was speaking about parity bits (one bit per byte of data), which are not able to correct an error. You (and GP) were talking about parity bytes (which I somehow completely forgot about) which can rebuild data (hence, RAID 3, 4, 5, and 6). How I misread that, I don't know.

      I need more coffee...

      --
      Write your representatives! Repeal the 2nd Law of Thermodynamics!
    38. Re:To much reinvention by ObsessiveMathsFreak · · Score: 1

      No, file redundancy is a subtly problem than filesystem redundancy.

      What is needed is a way of having individual files posses their own redundancy, so that no matter what filesystem they are stored on, fidelity can be assured to whatever level the user desires. In this way, when transferring the file from place to place, or medium to medium, or even over the network, the end users need not be (as) concerned with ensuring redundant filesystems at every step in the process.

      What is needed is essentially a command like

      $tufn -n 6 -cf file.txt > file.tuf

      which creates a file that is protected from bit level degradation, no matter what filesystem or storage method is used. The key idea here is that the protection level is specified by the user, and is independent of the filesystem. Extraction should be likewise as straightforward

      $tufn -xf file.tuf

      Obviously this does not solve the problem of block level or higher corruption, but that's a problem for filesystems. The article is talking about giving files their own protection against aging/noise processes. I would be surprised to find that such a program did not exist already.

      --
      May the Maths Be with you!
    39. Re:To much reinvention by lurking_giant · · Score: 1

      Perhaps the drive manufacturers could design a drive so that the it wrote the same data to multiple platters (give up capacity for redundancy). If you are writing to a 1 terabyte platter stack and it writes 3 platters of the identical data with the same signal to 3 write heads on one arm, you could store 333gb of double redundant archive. The controller would compare the 3 bit reads and choose the bits that match. Of course the bearings and motors and pickups could be made redundant or at least of the highest MTBF. Not RAID... "RAIP" (Redundant Array of Individual Platters).

    40. Re:To much reinvention by dgatwood · · Score: 1

      I disagree. With compressed files, it's even more important. Compression and dense binary formats are precisely the reason that ECC on files is useful. A one-bit error in a text file does not render the entire file unreadable. A one-bit error in an XML file might, but can be easily detected with xmllint and fixed.

      By contrast, a one-bit error in a run-length-encoded file format like JPEG causes the entire rest of the file to be unusable. And even if you stopped using run-length coding, a one-bit header in the right place causes an entire block to be scaled wrong, though this is more easily repaired.

      Similarly, break an I-frame in an MPEG stream and you've just corrupted several seconds of video.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    41. Re:To much reinvention by Anonymous Coward · · Score: 0

      There are Linux ports of ZFS that distance themselves far enough from the GPLd kernel not to be an issue, but they need work. A dual license would be sweet, but that's unlikely. Still, why exclude Macs and Windows? Any system can have ZFS in theory.

    42. Re:To much reinvention by Nazlfrag · · Score: 1

      It's called dd. Good luck with it.

    43. Re:To much reinvention by PJ6 · · Score: 1

      Updating? We're having this discussion in the context of archiving. The files themselves would never be updated. I can't think of a simpler use case.

    44. Re:To much reinvention by Jazz-Masta · · Score: 1

      Neither is the technique that is being discussed in the article. Did you not even read the summary?

      I was responding to the poster above me who suggested RAID.

      If you believe that just because your archive data is on a tape, that it's safe, then you may have a nasty surprise some day when you go to restore important data from a tape that's several years old.

      I know that. I was suggesting Tape was a more ideal solution due to the longevity of support from major server vendors, etc.

      I also made a point to note that I had seen Tapes covered in mould that did not work.

      If you had read my response to the parent poster in this conversation you would have seen I was responding to questions and suggestions posed not by the article, but by another poster.

    45. Re:To much reinvention by Anonymous Coward · · Score: 0

      There is no ECC in ZFS. There's an error *detection* code (EDC) but not a *correction* code. ZFS works by writing two or more copies of the same block; if the EDC indicates an error, then a second copy is retrieved. [*]

      This is certainly fine, and it's required to deal with disk failure modes (the whole disk tends to become unreadable at once) but it comes at a > 100% cost in the storage required to hold a given amount of data and the bandwidth required.

    46. Re:To much reinvention by operagost · · Score: 1

      Even DOS's FAT used this raid0 type of brute force redundancy

      RAID 0 isn't redundant.

      --

      Gamingmuseum.com: Give your 3D accelerator a rest.
    47. Re:To much reinvention by stefanlasiewski · · Score: 1

      There are Linux ports of ZFS that distance themselves far enough from the GPLd kernel not to be an issue, but they need work.

      Got some links or references for any of these Linux ports? These projects can't just 'port' the ZFS code and change the license.

      Still, why exclude Macs and Windows? Any system can have ZFS in theory.

      He's referring to Vendor supported options. Microsoft doesn't support ZFS, and Apple dropped ZFS support a couple months ago.

      --
      "Can of worms? The can is open... the worms are everywhere."
    48. Re:To much reinvention by iamacat · · Score: 1

      How is it going to solve the problem when the data is passed around on CD-ROMs and flash drives or downloaded from a web site? By designing a proper file format protection doesn't depend on the medium on which the file is stored. Potentially this can be implemented in a single, well-tested library that would also support metadata on exact file type and creator's version beyond what can be inferred from extension or the data itself. Ideally, zip/zlib could be enhanced to provide user-specified amount of redundancy. This way packaging, compression, encryption and error correction of archived data can be all handled with a familiar tool.

      One interesting example of digital media that does no worse than analog when corrupted is mp3. Even files accidentally transferred in ASCII mode are somewhat playable.

    49. Re:To much reinvention by Frnknstn · · Score: 1

      Got some links or references for any of these Linux ports?

      http://www.linux.com/archive/feature/138452

      The issue that the GP missed is that with or without a complete ZFS feature set, running a filesystem under FUSE is hinders the performance far too much to be used as a primary drive in a production environment.

      --
      If it's in you sig, it's in your post.
    50. Re:To much reinvention by hazem · · Score: 1

      The Commodore Amiga's Intuition filesystem did this better than Microsoft back in 1985 by having forward and backward links in every block which made it possible to repair block pointer damage by searching for a reference to the bad block in the preceding and following block.

      Oh wow... that reminds me that many years ago I saved someone's masters thesis that way. I think it was on a PC though - they had their entire thesis on a single floppy (no backups of course) and somehow word-perfect deleted the file or munged it somehow, or maybe a sector was bad. I remember using a Norton sector editor (back when Norton stuff was really good - I learned 80x86 assembly from his books) to go through and figure out the chain of sectors that made up the file and brought most of it back.

      I'm trying to remember if the sectors linked to each other like you describe or if it was all in the FAT and I just followed the pattern. I could be confusing my days of playing C64 floppies.

      And now for a story that's even more pointless...

    51. Re:To much reinvention by hazem · · Score: 1

      I can see how you're restoring byte 2 when you know it's invalid. But how do you know that in the first place. You XOR your new stuff and get a different parity byte and that tells you that you have a problem. But can it identify which one is the problem? Or is there a risk of restoring the wrong byte to achieve a correct parity byte and ending up with 2 incorrect bytes?

    52. Re:To much reinvention by aardvarkjoe · · Score: 1

      The parent poster suggested RAID as solving the same problem as the article's subject. Which it does. The parent poster did not suggest that RAID replaces backup or archive solutions; that was something you invented on your own.

      --

      How can we continue to believe in a just universe and freedom to eat crackers if we have no ale?
    53. Re:To much reinvention by phantomcircuit · · Score: 1

      I guess you could temporarily disable checksums, but im not sure that would work and it definitely would be a problem for any data written while the checksum was disabled.

    54. Re:To much reinvention by stefanlasiewski · · Score: 1

      Yes, everyone has heard of ZFS on FUSE. I'm not sure I would call that a 'port'-- a port would run natively on a filesystem. ZFS on FUSE is a hack, and would probably never be trustworthy enough to run a Production or Enterprise storage system, or host backup data, or anything outside the hobbyist realm.

      That project looks abandoned (No releases in over a year, no news or updates on the blog in over a year). I wish people would stop referring to it until the project becomes active again.

      --
      "Can of worms? The can is open... the worms are everywhere."
    55. Re:To much reinvention by afabbro · · Score: 1

      You have just taken the stylish word 'boxen' to new heights!

      Fixed that for you.

      --
      Advice: on VPS providers
    56. Re:To much reinvention by afabbro · · Score: 1

      This truly is the filesystem every other one is playing catchup with.

      My fanboi meter is pegged.

      --
      Advice: on VPS providers
    57. Re:To much reinvention by afabbro · · Score: 1

      I'm not sure why you're all talking about RAID - the article is about file formats.

      --
      Advice: on VPS providers
    58. Re:To much reinvention by Anonymous Coward · · Score: 0

      Great, so you're proposing an addendum to every single file format currently in existence and a corresponding re-write of every file handling routine every written?

      Good luck with that.

    59. Re:To much reinvention by NateTech · · Score: 1

      And talking to a few folks who work at Sun Storage, there are times when they've had customers experience complete, unrecoverable, data loss. Don't ask me how, I don't know, and they didn't say. But it was from ZFS, not just hardware failures, etc...

      --
      +++OK ATH
  2. par files by ionix5891 · · Score: 5, Informative

    include par2 files

    1. Re:par files by drooling-dog · · Score: 1

      I'm glad I didn't have to scroll down too far to see this. They're practically magic.

  3. Or just use PAR for your archives by syntap · · Score: 1

    Done. +1 to the poster who said there is some round transportation implement being reinvented here.

  4. It's that computer called the brain. by commodore64_love · · Score: 5, Interesting

    >>>"...analog pictures and film can degrade and still be usable; why can't the same be true of digital files?"

    The ear-eye-brain connection has ~500 million years of development, and has learned the ability to filter-out noise. If for example I'm listening to a radio, the hiss is mentally filtered-out, or if I'm watching a VHS tape that has wrinkles, my brain can focus on the undamaged areas. In contrast when a computer encounters noise or errors, it panics and says, "I give up," and the digital radio or digital television goes blank.

    What we need is a smarter computer that says, "I don't know what this is supposed to be, but here's my best guess," and displays noise. Let the brain then takeover and mentally remove the noise from the audio or image.

    --
    "I disapprove of what you say, but I will defend to the death your right to say it." - historian Evelyn Beatrice Hall
    1. Re:It's that computer called the brain. by commodore64_love · · Score: 4, Interesting

      P.S.

      When I was looking for a digital-to-analog converter for my TV, I returned all the ones that displayed blank screens when the signal became weak. The one I eventually chose (x5) was the Channel Master unit. When the signal is weak it continues displaying a noisy image, rather than go blank, or it reverts to "audio only" mode, rather than go silent. It lets me continue watching programs rather than be completely cutoff.

      --
      "I disapprove of what you say, but I will defend to the death your right to say it." - historian Evelyn Beatrice Hall
    2. Re:It's that computer called the brain. by __aardcx5948 · · Score: 1

      Like a corrupted MPEG stream played in most video players?

    3. Re:It's that computer called the brain. by Anonymous Coward · · Score: 0

      That's done when it's possible to do so. Good luck trying it on something like a zip file.

      Don't confuse background noise with a gap in the signal. Your speakers don't hiss when a CD is scratched, they pop, which is why in some cases it's better to just wait until the stream looks good again.

    4. Re:It's that computer called the brain. by ILongForDarkness · · Score: 2, Insightful

      And how well did that work for your last corrupted text file? Or a printer job that the printer didn't know how to handle? My guess you could pick out a few words and the rest was random garble. The mind is good at filtering out noise but it is an intrinsically hard problem to do a similar thing with a computer. Say a random bit is missed and the whole file ends up shifted one to the left, how does the computer know that the combinations of pixel values it is displaying should start one bit out of sync so that the still existing data "looks" good? Similarly with a text file, all the remaining bits could be valid characters, how is a computer to know what characters to show other than having the correct data?

    5. Re:It's that computer called the brain. by nedlohs · · Score: 1

      Sure, but you'd need to not compress anything and introduce redundancy. Most people prefer using efficient formats and doing error checks and corrections elsewhere (in the filesystem, by external correction codes - par2 springs to mind, etc).

      Here's a simple image format that will survive bit flip style corruption:

      Every pixel is stored as with 96 bits, the first 32 is the width of the image, the next 32 is the height, the next 8 bits is the R, the next 8 bits is the G, the next 8 bits is the B, and the last 8 bits is the alpha channel.

      To read the image every 96 bit chunk is read and the most common 64 bit prefix is used as the width/height. And the 24 bits of color data for each pixel is used as is.

      That will survive large amounts bit corruption just fine - it won't survive shifting (adding 32 bits of extra data at the start of the file, for example). It would also be ridiculously large compared with the image file formats we do actually use.

    6. Re:It's that computer called the brain. by Phreakiture · · Score: 4, Interesting

      What we need is a smarter computer that says, "I don't know what this is supposed to be, but here's my best guess," and displays noise. Let the brain then takeover and mentally remove the noise from the audio or image.

      Audio CDs have always done this. Audio CDs are also uncompressed*.

      The problem, I suspect, is that we have come to rely on a lot of data compression, particularly where video is concerned. I'm not saying this is the wrong choice, necessarily, because video can become ungodly huge without it (NTSC SD video -- 720 x 480 x 29.97 -- in the 4:2:2 colour space, 8 bits per pixel per plane, will consume 69.5 GiB an hour without compression), but maybe we didn't give enough thought to stream corruption.

      Mini DV video tape, when run in SD, uses no compression on the audio, and the video is only lightly compressed, using a DCT-based codec, with no delta coding. In practical terms, what this means is that one corrupted frame of video doesn't cascade into future frames. If my camcorder gets a wrinkle in the tape, it will affect the frames recorded on the wrinkle, and no others. It also makes a best-guess effort to reconstruct the frame. This task may not be impossible with more dense codecs that do use delta coding and motion compensation (MPEG, DiVX, etc), but it is certainly made far more difficult.

      Incidentally, even digital cinemas are using compression. It is a no-delta compression, but the individual frames are compressed in a manner akin to JPEGs, and the audio is compressed either using DTS or AC3 or one of their variants in most cinemas. The difference, of course, is that the cinemas must provide a good presentation. If they fail to do so, people will stop coming. If the presentation isn't better than watching TV/DVD/BluRay at home, then why pay the $11?

      (* I refer here to data compression, not dynamic range compression. Dynamic range compression is applied way too much in most audio media)

      --
      www.wavefront-av.com
    7. Re:It's that computer called the brain. by HBI · · Score: 1

      I'm waiting for the sticky feet and noisy kid emulation for my home theater, to give the full experience.

      --
      HBI's Law: Frequency of calling others Nazis is directly correlated with the likelihood of the accuser being Communist.
    8. Re:It's that computer called the brain. by Anonymous Coward · · Score: 0

      Or you could use a conventional format and add some parity bits, for 1/10th the filesize of your crazy suggestion.

    9. Re:It's that computer called the brain. by stevew · · Score: 1

      You're right about CD's always having contained this type of ECC mechanism. For that matter you will see this type of ECC in Radio based communications infrastructure and data that gets written to Hard disks too! In other words - all modern data storage devices (except maybe Flash..) contain ECC mechanisms that allow burst error detection and correction.

      So now we're talking about being doubly redundant. Put ECC on the ECC? I'm not sure that helps.

      Consider - if a bit twiddles on a magnetic domain. It will be found and corrected by the codes that are already protecting the bit when the bit is next accessed. This is hardware functionality. What good does expanding the size of your data do by being redundant with the ECC codes? It makes more sense to actually increase the size of your ECC fields within the hardware mechanism to handle larger burst errors. It certainly is more efficient with storage anyway.

      There IS a point where the media can be so damaged that the data can't be retrieved. Your errors exceed the number of bits you are capable of correcting. Why does anyone believe the doubly redundant data is going to be any better? It has the same correction limits as the original algorithms...and likely got compromised along with the hardware ECC.

      I don't see the point.

      --
      Have you compiled your kernel today??
    10. Re:It's that computer called the brain. by PinkyDead · · Score: 1

      This was extremely useful in the 1980s when certain television channels were available from Sweden and Holland but only in a scrambled form.

      --
      Genesis 1:32 And God typed :wq!
    11. Re:It's that computer called the brain. by Bengie · · Score: 1

      but how much of our ability to "read through" noise is because we know what data to expect in the first place?

      I know when listening to a radio station that's barely coming in, many times it will sound like random noise, but at some point I will hear a certain note or something and suddenly I know what song it is. Now that I know what song it is, I have no problems actually "hearing" the song. I know what to expect from the song or have picked up on certain cues and I'm guessing that pattern recognition goes into overdrive and dynamically filling in the gaps from memory or even some sort of heuristics based on the current acoustical pattern when you listen to parts you don't know.

    12. Re:It's that computer called the brain. by commodore64_love · · Score: 1

      >>>And how well did that work for your last corrupted text file?

      Extremely well. I read all 7 Harry Potter books using a corrupted OCR scan. From time to time the words might read "Harry Rotter pinted his wand at the eneny," but I still understood what it was supposed to be. My brain filtered-out the errors. That corrupted version is better than the computer saying, "I give up" and displaying nothing at all.
      .

      >>>Say a random bit is missed and the whole file ends up shifted one to the left, how does the computer know that the combinations of pixel values it is displaying should start one bit out of sync so that the still existing data "looks" good?
      >>>

      In the case of an image, it could shift the whole thing one bit to the left which results in a distorted but still-viewable photo. In the case of music, one missed bit won't even be noticed.

      Another idea is to take a page from the analog world. When the analog television video became weak, rather than display nothing, the image would render in a reduced resolution (i.e. blurred). The same idea could be applied to digital television where a corrupted 1920x1080 image, if half the bits are missing, could be rendered at 960x540 instead. I've heard that European DTV has that capability built-in.

      --
      "I disapprove of what you say, but I will defend to the death your right to say it." - historian Evelyn Beatrice Hall
    13. Re:It's that computer called the brain. by Phreakiture · · Score: 1

      I don't see the point.

      Having dealt with corrupted DVDs, I do.

      You could always put the redundancy data someplace else entirely, too. Realistically, this is an extension of the RAID concept.

      --
      www.wavefront-av.com
    14. Re:It's that computer called the brain. by Phreakiture · · Score: 1

      The theatres in our area don't have sticky floors! I feel cheated!

      --
      www.wavefront-av.com
    15. Re:It's that computer called the brain. by Kjella · · Score: 1

      That would be trivial to do if we were still doing BMP and WAV files, where one bit = one speck of noise. But on the file/network level we use a ton of compression, and the result is that a bit error isn't a bit error in the human sense. Bits are part of a block, and other blocks depend on that block. One change and everything that comes after until the next key frame changes. That means two vastly different results are suddenly a bit apart.

      Of course, no actual medium is that stable which is why we use error correction codes, Reed-Solomon being the most common. With those you can fill in any x% of missing information perfectly or if you miss a few bytes too much you have a bunch of digital junk, because the matrix isn't solvable. So failing at say a 25% recovery rate, you instantly drop from 100% to 80% of the information, then you lose everything up to the first key frame of anything recovered because it's all deltas. What's left just isn't worth showing to anyone, it's not noise in any human meaning of the word.

      --
      Live today, because you never know what tomorrow brings
    16. Re:It's that computer called the brain. by commodore64_love · · Score: 1

      Hmmm. My DVD player just displays a blue screen when it encounters a corrupt MPEG-2 stream

      --
      "I disapprove of what you say, but I will defend to the death your right to say it." - historian Evelyn Beatrice Hall
    17. Re:It's that computer called the brain. by TigerNut · · Score: 1
      One thing that helps is to specifically look at damage mechanisms and then come up with a strategy that offers the best workaround. As an example, in the first-generation TDMA digital cellular phone standard, it was recognized that channel noise was typically bursty. You could lose much of one frame of data, but adjacent frames would be OK. So they encoded important data with a 4:1 forward error correction scheme, and then interleaved the encoded data over two frames. If you lost a frame, the de-interleaving process followed by a maximum-likelyhood data detector would still properly decode the data.

      On a disk, a similar approach might be to use a 2:1 or 3:1 forward error correction and then interleave data over multiple sectors. If you wipe out a sector, you'd still have the data from the other sectors to recover from.

      This would, of course, be implemented best at a low level on the disk drive controller. At high throughput rates, the amount of computation required for this scheme is substantial. But you don't get something for nothing.

      --

      Less is more.

    18. Re:It's that computer called the brain. by phantomcircuit · · Score: 1

      If the presentation isn't better than watching TV/DVD/BluRay at home, then why pay the $11?

      To get away from the kids? To make out in the back row?

      Seriously people dont go to the movie theatre for the movies mostly.

      Also VLC tends to do best guess of the frame when there is corruption, it's usually a pretty bad guess but it still tries.

    19. Re:It's that computer called the brain. by Anonymous Coward · · Score: 0

      The ear-eye-brain connection has ~500 million years of development.

      What are you talking about? The ear-eye-brain connection 1 day (of 6) of development time, and around 4000 years of god-given evolutionary history...so let's get our facts straight :)

    20. Re:It's that computer called the brain. by Anonymous Coward · · Score: 0

      Mini DV video tape, when run in SD, uses no compression on the audio, and the video is only lightly compressed, using a DCT-based codec, with no delta coding. In practical terms, what this means is that one corrupted frame of video doesn't cascade into future frames. If my camcorder gets a wrinkle in the tape, it will affect the frames recorded on the wrinkle, and no others. It also makes a best-guess effort to reconstruct the frame. This task may not be impossible with more dense codecs that do use delta coding and motion compensation (MPEG, DiVX, etc), but it is certainly made far more difficult.

      Actually all you need to do in a delta-compressed case is have some sort of full-frame resync at reasonable intervals (say 1 second of video) - this gives nearly the full benefits of the compression and means that no glitch can cascade more than 1 second past the end of the glitch.

    21. Re:It's that computer called the brain. by __aardcx5948 · · Score: 1

      Well, VLC etc usually displays garbage of what kinda looks like the video stream it's supposed to be.

    22. Re:It's that computer called the brain. by petermgreen · · Score: 1

      In the case of an image, it could shift the whole thing one bit to the left which results in a distorted but still-viewable photo.
      Unless it's a one bit black and white image then shifting one bit will have massive effects as what was the least significant bit of one value becomes the most significant bit of another. The same issue applies with audio.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    23. Re:It's that computer called the brain. by petermgreen · · Score: 1

      You're right about CD's always having contained this type of ECC mechanism. For that matter you will see this type of ECC in Radio based communications infrastructure and data that gets written to Hard disks too! In other words - all modern data storage devices (except maybe Flash..) contain ECC mechanisms that allow burst error detection and correction.
      There are a few issues

      1: the mechanisms aren't end to end. The data is protected by one system when on disk, another when in memory (and that is assuming you bought ECC ram, builders of lower end machines generally don't bother) another when on the network and I don't think it's protected at all when flowing accross the computers busses.
      2: the mechanisms are often pretty weak and the user generally has no control over thier strength.
      3: the machanisms often work on pretty small blocks, if something obliterates a whole block they probablly won't help you.

      An end to end system where the ammount of redundancy is controlled by the archivist not by a penny pinching hardware manufacturer (who will be trying to put in just enough ecc that thier results don't come out as appalling) sounds far more attractive.

      Though i'm not sure complex ecc algorithms are the best soloution, I think a better way is probablly to store copies of the file along with strong checksums of blocks of the file in multiple seperate locations. When a checksum check fails the block can be retrived from other copies.

      The good thing about this system is that you get corruption protection for very little extra cost over the redundancy you need for disaster protection anyway.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    24. Re:It's that computer called the brain. by petermgreen · · Score: 1

      Actually all you need to do in a delta-compressed case is have some sort of full-frame resync at reasonable intervals (say 1 second of video) - this gives nearly the full benefits of the compression and means that no glitch can cascade more than 1 second past the end of the glitch.
      Mpeg does this, you have iframes (complete frames), pframes (frames based on the previous iframe or pframe) and bframes (frames based on both the previous iframe or pframe and the next one) . The frequency of each frame type is up to the encoder.

      Digital TV puts iframes fairly often to reduce the impact of corruption and to make channel switch times tolerable but still still losing a second or so is a lot more annoying than losing a single frame.

      It also has the effect that relatively static areas of the screen start off as very poor quality when an iframe comes in and then gradually improve in quality before returning to bad again on the next iframe. Some may find this affect irritating.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    25. Re:It's that computer called the brain. by selven · · Score: 1

      That is feasible for simple formats like BMP and ASCII, but the problem is that more efficient formats with data compression are common, and in these formats a change of one bit can change much more than one pixel for 33 miliseconds.

    26. Re:It's that computer called the brain. by Anonymous Coward · · Score: 0

      OT but I stopped going to movies because I was so pissed with the bad audio and convergence issues when I went to see "Watchmen". I am so pleased with my 67" LED DLP + BluRay + 5.1 surround

    27. Re:It's that computer called the brain. by ILongForDarkness · · Score: 1

      No I mean if a string like: 011000110101 becomes: 11000110101 and is then broken down into 8 bit bytes there may be no obvious to the human correlation between the almost right file and the random collection of junk that comes out. Even worse if a lot of compression has been done because a one bit shift left could mean anything once it is uncompressed, could be that missing bit made the whole hash table of the compressed file out of wack and the rest of the file can't be interpreted at all, etc. OCR isn't the same thing, it is designed to assume that it will get slightly junky input and will have to figure out a best match, and adjacent data is highly correlated with each other, that isn't necessarily the case for a binary file, especially since you might not have any idea what that file is supposed to contain, letters numbers etc, if the file extension/header or whatever is what gets nuked.

    28. Re:It's that computer called the brain. by sourICE · · Score: 1

      What we need is a smarter computer that says, "I don't know what this is supposed to be, but here's my best guess," and displays noise. Let the brain then takeover and mentally remove the noise from the audio or image.

      You obviously don't understand the mechanics of computer programming. A computer attempting to execute a backed up program can not possibly view a file in this manner and attempt to show you 'noise' because the computer is missing an instruction in it's likely already compiled code and without being the actual programmer or having access to the original source code good luck knowing what instruction is actually missing.

    29. Re:It's that computer called the brain. by sourICE · · Score: 1

      Of course if the OP was talking about reconstruction of audio, picture or video, there is already software that will do that for you.

    30. Re:It's that computer called the brain. by Agripa · · Score: 1

      Hard drives already take the burst nature of their media errors into account. The burst errors are considerably smaller than sector sized and data is interleaved accordingly within each sector.

    31. Re:It's that computer called the brain. by Agripa · · Score: 1

      . . . another when on the network and I don't think it's protected at all when flowing accross the computers busses.

      Most interface and peripheral busses support at least parity. The possibility of retransmission instead of correction is generally assumed. At least for IP networks, you generally have the option of handling the 16 bit IP, UDP, and TCP checksums after packets are transferred into memory although this function is often offloaded to the network card itself.

    32. Re:It's that computer called the brain. by nedlohs · · Score: 0

      I said we already had that, just as external programs/files (which is better anyway, since you can manage the space/redundancy trade-off at a more convenient time than file creation by the application - I want more redundancy if I'm uploading to usenet than if I'm storing on my hard drive, for example).

      My "crazy suggestion" was about the reason that the brain can filter out garbage so much better. It's not just because the brain is good at that (though it certainly is), it's helped dramatically by the fact that real world things like talking and writing and paintings have large amounts of redundancy in their representations.

    33. Re:It's that computer called the brain. by Anonymous Coward · · Score: 0

      The difference, of course, is that the cinemas must provide a good presentation. If they fail to do so, people will stop coming. If the presentation isn't better than watching TV/DVD/BluRay at home, then why pay the $11?

      Because you want to get out of the house? Because you want to be around other people? Because you want to take another person out on a date? I hate to be be presumptuous, but your reasoning seems to miss the entire social aspect of why we do things like go to a theater; and it is typical for the nerdish type folk that populate this website, which sometimes includes me too. It's fine if you do not value those aspects, but you have to recognize that they exist and are very important for other people.

    34. Re:It's that computer called the brain. by joeljkp · · Score: 1

      The CM-7000? Out of curiosity, which other ones did you test?

      --
      WeRelate.org - wiki-based genealogy
  5. Sun Microsystems..... zfs..... by HKcastaway · · Score: 3, Insightful

    ZFS.

    Next topic....

    1. Re:Sun Microsystems..... zfs..... by Anonymous Coward · · Score: 0

      Right, and there's so many Linux distros with ZFS in them. (No, not counting FUSE.)

      Oh wait, you can use FreeBSD instead.

      FreeBSD FTW.

    2. Re:Sun Microsystems..... zfs..... by Anonymous Coward · · Score: 0

      Right, and there's so many Linux distros with ZFS in them. (No, not counting FUSE.)

      Oh wait, you can use FreeBSD instead.

      FreeBSD FTW.

      The Linux powers-that-be are the ones that chose to distribute their product under a license that can't be mixed with others.

    3. Re:Sun Microsystems..... zfs..... by Anonymous Coward · · Score: 0

      Right, and there are so many Linux distros with ZFS in them. (No, not counting FUSE.)

      Oh wait, you can use FreeBSD instead.

      FreeBSD FTW.

      The Linux powers-that-be are the ones that chose to distribute their product under a license that can't be mixed with others.

      Indeed. I was being sardonic. I'm a FreeBSD user.

    4. Re:Sun Microsystems..... zfs..... by Anonymous Coward · · Score: 0

      Okay, that explains it. There aren't any sardonic Linux users.

    5. Re:Sun Microsystems..... zfs..... by sskinnider · · Score: 1

      Hard drives are not yet an ubiquitous media for archiving. Once the files are written to CD or tape you lose the advantage that hardware or filesystem protection gave you and now you are dependent on the lifespan and degradation of the media.

    6. Re:Sun Microsystems..... zfs..... by tepples · · Score: 1

      Once the files are written to CD or tape you lose the advantage that hardware or filesystem protection gave you

      PAR2. Better?

    7. Re:Sun Microsystems..... zfs..... by jedidiah · · Score: 1

      > The Linux powers-that-be are the ones that chose to distribute their product under a license that can't be mixed with others.

      That was like... 25 years ago.

      That excuse doesn't really work well for anything released recently.

      No. It's the authors of newer works that choose not to "play nice".

      --
      A Pirate and a Puritan look the same on a balance sheet.
    8. Re:Sun Microsystems..... zfs..... by xZgf6xHx2uhoAj9D · · Score: 1

      Why? There's no reason a filesystem like ZFS can't be used on CD or tape and a lot of people do use them.

      Even if you didn't want to do that, ISO 9660, the filesystem used by default on data CDs, contains its own error correction scheme (288 bytes of redundancy for every 2048 byte block).

    9. Re:Sun Microsystems..... zfs..... by petermgreen · · Score: 1

      Even if you didn't want to do that, ISO 9660, the filesystem used by default on data CDs, contains its own error correction scheme (288 bytes of redundancy for every 2048 byte block).
      I thought that scheme was below the fileystem layer.

      but anyway the problem with schemes like that (there are similar ones built into hard disks) is that they work on very small blocks and all the data from an error correction block is stored close together. This means that it's easy to lose a whole block at once to scratches etc.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    10. Re:Sun Microsystems..... zfs..... by Anonymous Coward · · Score: 0

      Make ZFS available everywhere.
      I would LOVE to implement it on all my computers, but I can't at a native filesystem level.

      Oh well, my next file server will be built for solaris and run zfs.. since BSD's implementation is apparently buggy

  6. PNG was designed to be able to do this by Anonymous Coward · · Score: 1, Interesting

    The PNG image format divides the image data into "chunks", typically 8kbytes each, and each having a CRC checksum. You'd archive two copies of each image, presumably in two places and on different media. Years later you check both files for CRC errors. If there are just a few errors, probably they won't occur in the same chunk, so you can splice the good chunks from each stored file to create a new good file.

    1. Re:PNG was designed to be able to do this by Anonymous Coward · · Score: 0

      Someone should make an app for that.

    2. Re:PNG was designed to be able to do this by the_hellspawn · · Score: 1

      An app, someone has an i-garbage in their butt. It would be more like is there a script for that.

      --
      "The laws of science be a harsh mistress." --Bender
    3. Re:PNG was designed to be able to do this by petermgreen · · Score: 1

      The PNG image format divides the image data into "chunks", typically 8kbytes each
      Do you have a source for this claim, I was under the impression that unless doing streaming generation it was more normal to use just one big chunk for all the image data.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    4. Re:PNG was designed to be able to do this by Anonymous Coward · · Score: 0

      The PNG image format divides the image data into "chunks", typically 8kbytes each
      Do you have a source for this claim.

      libpng writes 8kbyte chunks by default. The chunk size can be adjusted by the user, so if for example they use pngcrush to optimize their files they will get larger (500k) blocks.

    5. Re:PNG was designed to be able to do this by TheBig1 · · Score: 1

      someone has an i-garbage in their butt

      They should really see a doctor about that... doesn't sound healthy!

  7. What files does a single bit error destroy? by jmitchel!jmitchel.co · · Score: 2, Insightful

    What files does a single bit error irretrievably destroy? Obviously it may cause problems, even very annoying problems when you go to use the file. But unless that one bit is in a really bad spot that information is pretty recoverable.

    1. Re:What files does a single bit error destroy? by Jane+Q.+Public · · Score: 3, Informative

      That's complete nonsense. Just for one example, if the bit is part of a numeric value, depending on where that bit is, it could make the number off anywhere from 1 to 2 BILLION or even a lot more, depending on the kind of representation being used.

    2. Re:What files does a single bit error destroy? by maxume · · Score: 1

      Perhaps that is what the poster meant by "bad spot". If "Hitler" were altered to read as "Hatler", I'm pretty sure the meaning would still be clear from the context.

      --
      Nerd rage is the funniest rage.
    3. Re:What files does a single bit error destroy? by Rockoon · · Score: 5, Insightful

      Most modern compression formats will not tolerate any errors. With LZ a single bit error could propagate over a long expanse of the uncompressed output, while with Arithmetic encoding the remainder of the file following the single bit error will be completely unrecoverable.

      Pretty much only the prefix-code style compression schemes (Huffman for one) will isolate errors to short sgements, and then only if the compressor is not of the adaptive variety.

      --
      "His name was James Damore."
    4. Re:What files does a single bit error destroy? by gzipped_tar · · Score: 2, Funny

      Perhaps that is what the poster meant by "bad spot". If "Hitler" were altered to read as "Hatler", I'm pretty sure the meaning would still be clear from the context.

      Godvin.

      --
      Colorless green Cthulhu waits dreaming furiously.
    5. Re:What files does a single bit error destroy? by 91degrees · · Score: 1

      People like you are worse than Hatler!

    6. Re:What files does a single bit error destroy? by netsharc · · Score: 1

      I'd venture to say TrueCrypt containers, when that corruption occurs at the place where they store the encrypted symmetrical key. Depending on the size of said container it could be the whole harddisk. :)

      --
      What time is it/will be over there? Check with my iPhone app!
    7. Re:What files does a single bit error destroy? by Muad'Dave · · Score: 1

      I actually checked to see if 'v' and 'w' were different by only a single bit. * facepalm *

      --
      Tiller's Rule: Never use a word in written form that you've only heard and never read. You will end up looking foolish.
    8. Re:What files does a single bit error destroy? by Raffaello · · Score: 1

      People like you are worse than Hatter!

    9. Re:What files does a single bit error destroy? by Raffaello · · Score: 1

      People like you are worse than matter!

    10. Re:What files does a single bit error destroy? by Anonymous Coward · · Score: 0

      Perhaps that is what the poster meant by "bad spot". If "Hitler" were altered to read as "Hatler", I'm pretty sure the meaning would still be clear from the context.

      Hrm.. You may have just explained the Nostradamus prediction of "Hister" instead of "Hitler". A single bit corruption in the "From the Future Media Stream" he was watching.

    11. Re:What files does a single bit error destroy? by gzipped_tar · · Score: 1

      That's 3 bits, or am I missing some obscure EBCDIC joke and should get off your lawn?

      --
      Colorless green Cthulhu waits dreaming furiously.
    12. Re:What files does a single bit error destroy? by maxume · · Score: 1

      I am the Accidental Expert.

      --
      Nerd rage is the funniest rage.
    13. Re:What files does a single bit error destroy? by Anonymous Coward · · Score: 0

      well, we should start storing numeric values as images and use ocr to process it. that way if a bit is wrong, the error would not have any consequence, like when you watch tv a dead pixel does not keep you from understanding what is going on.

      I think I should patent this idea, it's obviously the future.

    14. Re:What files does a single bit error destroy? by je+ne+sais+quoi · · Score: 1

      Doesn't rar have a capacity to have some redundancy though? I seem to recall that downloading multi-part rar files from usenet a while ago that included some extra files that could be used to rebuild the originals in the case of file corruption (which happened fairly often with usenet).

      --
      Gentlemen! You can't fight in here, this is the war room!
    15. Re:What files does a single bit error destroy? by Anonymous Coward · · Score: 0

      damb, i had a perfect idea and started writing a whole paragraph, then I went to find a quick page and the bloody browser didn't start a new tab, so I lost the text and can't be bothered to enter it all again.

      The last bit was just - COMPUTERS CAN MAKE PERFECT COPIES AND DATA STORAGE IS RELATIVELY CHEAP.

    16. Re:What files does a single bit error destroy? by EllisDees · · Score: 1

      I've got a 10 gig .tar.bz2 file that I've only been partially able to recover due to a couple of bad blocks on a hard drive. I ran bzip2recover on it, which broke it into many, many pieces, and then put them back together into a partially recoverable tar file. Now I just can't figure out how to get past the corrupt pieces.:(

      --
      -- Give me ambiguity or give me something else!
    17. Re:What files does a single bit error destroy? by Twinbee · · Score: 1

      With that in mind, what program would be best to use? I take it WinRAR (which uses RAR and zip compression), or 7-Zip would be of no use...?

      --
      Why OpalCalc is the best Windows calc
    18. Re:What files does a single bit error destroy? by ae1294 · · Score: 1

      Hrm.. You may have just explained the Nostradamus prediction of "Hister" instead of "Hitler". A single bit corruption in the "From the Future Media Stream" he was watching.

      Yes indeed... I blame the Large Hadron Collider for this.

    19. Re:What files does a single bit error destroy? by mlts · · Score: 1

      With modern compression and encryption algorithms, a single bit flipped can mean a *lot* of downstream corruption, especially in video that uses deltas, or encryption algorithms that are stream based, so all bits upstream have some effect as the file gets encrypted. A single bit flipped will render an encrypted file completely unusable.

    20. Re:What files does a single bit error destroy? by mlts · · Score: 1

      Fortunately, newer versions of TC have two headers, so if the main one is scrozzled, you can check the "use backup header embedded in the volume if available" under Mount Options and have a second chance of mounting the volume.

    21. Re:What files does a single bit error destroy? by timepilot · · Score: 1

      People like you art worse than matter!

    22. Re:What files does a single bit error destroy? by TheThiefMaster · · Score: 1

      You're thinking of par2 files.

      rar does also provide a built-in error correction data option, but it's rarely used on usenet. I think people prefer par2 files because you can choose to only download them if you need them, and then only download as much of them as you need.

    23. Re:What files does a single bit error destroy? by nmg196 · · Score: 1

      Not sure what point you are making. Even if it is 2 BILLION off, that may just mean you have one pixel thats way off in colour compared to the other 9.999999 million pixels in that 10 megapixel Photoshop file you were working on. His point still stands - most of the time, data corruption goes completely unnoticed. If you go and change any single bit in a MP3 audio or MPEG4 file, I doubt you could ever spot it. It certainly doesn't cause any isses to a decoder. In fact you could destroy the whole frame if you wanted to by ruining that frame's header completely and in the grand scheme of things, you'd probably barely notice it in the 1/30th of a second that the corrupt frame flashed before your eyes. The same goes for most file formats and even large parts of .exe files which are probably the type that are most sensitive to corruption. I doubt there are many file formats where the data is cumulative, and ruining a single bit destroys the entire file. The obvious exception is zipped, encrypted or digitially signed files, but those formats all warn you that your data is corrupt when you expand or decrypt them, so no harm done.

    24. Re:What files does a single bit error destroy? by nmg196 · · Score: 1

      You mean 3D barcodes? I think you'll find they're already patented :)

    25. Re:What files does a single bit error destroy? by Rockoon · · Score: 1

      You are describing RAR being used because the transmission medium itself isn't even close to reliable. Specifically, the storage location itself has bad data because there was no attempt to make sure it was exactly the same as the original source.

      Information theory as it applies to data redundancy is pretty much completely solved, and has been for many decades (since Shannon, really.) The optimal amount of redundancy needed to achieve a specific low (target) error rate depends on the reliability of the mediums involved. The optimal amount of redundancy to achieve the target rate for data-over-usenet is different (much larger) than the optimal amount of redundancy needed for other typical transmission/storage mediums.

      The TL;DR versions is: There isn't a single fixed amount of redundancy suitable for all tasks.

      --
      "His name was James Damore."
    26. Re:What files does a single bit error destroy? by sznupi · · Score: 1
      --
      One that hath name thou can not otter
    27. Re:What files does a single bit error destroy? by sjames · · Score: 1

      If the bit error is the inode number in a directory entry, the whole file goes missing. If it's in the length field of an inode, half the file can go missing. If the application that reads the file isn't robust, it may not matter where the bit error is, the application will freak out and die if you try to open the file. Video and some ausio can be really screwed up if the bit flip is in the header.

    28. Re:What files does a single bit error destroy? by Jane+Q.+Public · · Score: 1

      As others mentioned (and I thought was clear from the context of my own comment), it depends very much on the kind of file.

      You say that "large parts" of .exe files would likely not be harmed, but even that depends completely on the file. .exe files today contain what is called "relocatable code", and if ANY of the pointers contained in that file to the correct portion of the code are corrupted -- yes even by 1 bit -- it is likely the program is trashed. And it's worse than that, actually. Any place that has a jump or branch instruction is also vulnerable... and those typically make up a large part of the code.

      Zipped and encrypted files might warn you when the file has been corrupted. Not, unfortunately, when it is corrupted, but only afterward. It doesn't matter much if the programs warn you that the data has been corrupted... the data has been corrupted! In that situation, the program will generally abort, and you will lose not just the corrupted data but a lot else besides. Keep backups!

      My point was, and is, that unless you are talking about media files, a single bit can be (and very often is) a complete disaster.

  8. clueless by Anonymous Coward · · Score: 0

    Stupid idea. Nowadays digital preservation is more about file format conversion then about bit rot.

    1. Re:clueless by petermgreen · · Score: 1

      You may have to do one conversion to get the files into a widely supported format with a portable opensource implementation at intial import time but after that there should be little need for further conversion of the archive.

      In general if a file format has been widely supported for over a decade and has an opensource implementation I don't see it dissapearing any time soon. Indeed with the software patent mess older formats will have the advantage that any valid patents pertaining to the original methods of encoding and decoding them will have expired.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  9. Easy... by realsilly · · Score: 2, Funny

    Don't save anything.

    --
    Life takes interesting turns, but the most interest is when you're off the beaten path.
    1. Re:Easy... by PmaxII · · Score: 1

      Or print everything.

    2. Re:Easy... by Anonymous Coward · · Score: 1, Funny

      Or print everything.

      Then take pictures of it with a digital camera and copy the resulting image into a Word document which you can print! How's that for cyclical redundancy?

  10. What about the "block errors"? by MathFox · · Score: 4, Informative
    Most of the storage media in common use (disks, tapes, CD/DVD-R) already do use ECC at sector of block level and will fix "single bit" errors at firmware level transparently. What is more of an issue at application level are "missing block" errors; when the low-level ECC fails and the storage device signals "unreadable sector" and one or more blocks of data are lost.

    Off course this can be fixed by "block redundancy" (like RAID does), "block recovery checksums" or old-fashioned backups.

    --
    extern warranty;
    main()
    {
    (void)warranty;
    }
    1. Re:What about the "block errors"? by Anonymous Coward · · Score: 1, Interesting

      I think the problem is more around silent (passive) data corruption and loss.

      It does become an interesting exercise when you are dealing with "off-line" type media like tape, DVD and rocks though - the greater the data density the greater the impact of media damage (entropy).

      So I guess there are two parts to this problem - how often to you validate your data, and how do you mitigate large scale errors. There are good solutions at the on-line media level (ZFS/RAID, etc..), but relatively weak at the offline level - anyone know of the equivalent RAID model for things like tape?

      Cheers,

      -I.

    2. Re:What about the "block errors"? by careysb · · Score: 1

      RAID 0 does not offer "block redundancy". If I have old-fashioned backups, how can I determine that my primary file has sustained damage? The OS doesn't tell us. In fact, the OS probably doesn't even know. Backup software often allows you to validate the backup immediately after the backup was made, but not, say, a year later. The term "checksum" is over-used. A true check-sum algorithm *may* tell you that a file has sustained damage. It will not, however, tell you how to correct it. A "CRC" (cyclic-redundancy-check) or "SHA" (secure hashing algorithm) have a better chance for flagging a damaged file than a check-sum. The only "correction" algorithm that I've tripped across (and there are probably others) is "Reed-Solomon".

    3. Re:What about the "block errors"? by Anonymous Coward · · Score: 1, Insightful

      ...two tapes.

    4. Re:What about the "block errors"? by Prof.Phreak · · Score: 1

      It means we need error correction at every level---error correction at physical device (already in place, more or less) and error correction at file system level (so even if a few blocks from a file are missing, the file system auto-corrects itself and still functions---upto some point of course).

      --

      "If anything can go wrong, it will." - Murphy

    5. Re:What about the "block errors"? by tepples · · Score: 3, Informative

      anyone know of the equivalent RAID model for things like tape?

      Four tapes data, one tape PAR2.

    6. Re:What about the "block errors"? by cloudmaster · · Score: 1

      Have you ever wondered why the numbers in RAID levels are what they are? RAID-1 is level 1 because it's like the identity property; everything's the same (kinda like multiplying by 1). RAID-0 is level 0 because it is not redundant; ie, there's zero redundency (as in, multiplying by 0). It's an array of inexpensive disks, ure, but calling RAID-0 a RAID is a misnomer at best. RAID-0 was not in the original RAID paper, in fact.

      No one talking about data protection uses RAID-0, and it's therefore irrelevant to the discussion.

      Relevant to this discussion, though, are RAID2 and RAID6. RAID2 stripes at the bit level, and uses a hamming code for the parity, so it can actually correct errors down to a single bit automatically. RAID3, for what it's worth, is the same as RAID2 except that it works at the byte level. RAID6, basically since it adds a second pairity bit to RAID5, can also correct single bit-level errors automatically. Given that RAID2 and RAID3 generally require synchronized spindles and have crap performance, RAID6 is the only real current option...

    7. Re:What about the "block errors"? by Anonymous Coward · · Score: 0

      anyone know of the equivalent RAID model for things like tape?

      The previous tape.

    8. Re:What about the "block errors"? by mlts · · Score: 1

      RAIT? There are some larger tape units that support striping across multiple drives similar to RAID 1 and 5. There is even RAID across multiple libraries (RAIL) where you have multiple libraries. However, RAIT and RAIL are extremely rare these days, and tend to not to be used.

      As for backup programs supporting this, Amanda has been known to have this functionality to my knowledge. I'm sure TSM, Networker, and others do as well.

    9. Re:What about the "block errors"? by glennpratt · · Score: 1

      RAID 0 does not offer "block redundancy".

      Yes, that's why it's called RAID 0; it isn't true RAID, but depends on similar logic. I don't know why you brought it up since the GP didn't mention it.

  11. About time by trydk · · Score: 3, Interesting

    It is about time that somebody (hopefully some of the commercial vendors AND the open source community too) get wise to the problems of digital storage.

    I always create files with unique headers and consistent version numbering to allow for minor as well as major file format changes. For storage/exchange purposes, I make the format expandable where each subfield/record has an individual header with a field type and a length indicator. Each field is terminated with a unique marker (two NULL bytes) to make the format resilient to errors in the headers with possible resynchronisationthrough the markers. The format is in most situations backward compatible to a certain extent as an old program can always ignore fields/subfields it does not understand in a newer format file. If that is not an option, the major version number is incremented. This means that a version 2.11 program can read a version 2.34 file with only minor problems. It will not be able to write to that format, though. The same version 2.11 program would not be able to correctly read a version 3.01 file either.

    I have not implemented ECC in the formats yet, but maybe the next time I do an overhaul ... I will have to ponder that. Maybe not, my programs seem to ephemeral for that ... Then again, so did people think about their 1960es COBOL programs.

    1. Re:About time by Darth+Sdlavrot · · Score: 1

      It is about time that somebody (hopefully some of the commercial vendors AND the open source community too) get wise to the problems of digital storage.

      EMC Centera. Caringo CAStor, Venti, Git.

      Just to name a few.

      http://en.wikipedia.org/wiki/Content-addressable_storage

  12. Lossy by FlyingBishop · · Score: 2, Insightful

    The participant asked why digital file formats (jpg, mpeg-3, mpeg-4, jpeg2000, and so on) can't allow the same degradation and remain viewable.

    Because all of those are compressed, and take up a tiny fraction of the space that a faithful digital recording of the information on a film reel would take up. If you want lossless-level data integrity, use lossless formats for your masters.

    1. Re:Lossy by glennpratt · · Score: 1

      lossless != uncompressed

      Analog recording formats are all 'lossy', but they do not suffer corruption from isolated errors.

      A lossy digital format could contain errors to small sections, likewise a heavily compressed lossless format could suffer total corruption from a single bit error. To improve digital archiving we need redundancy, error recovery and error isolation (preventing errors from propagating).

  13. Do not compress! by irp · · Score: 2, Interesting

    ... Efficiency is the enemy of redundancy!

    Old documents, saved in 'almost like ascii' is still 'readable'. I once salvaged a document from some obscure ancient word processor by opening it in a text editor. I also found some "images" (more like icons) on the same disk (a copy of a floppy), even these I could "read" (by changing the page width of my text editor to fit the width of the uncompressed image).

    As long as the storage space keep growing...

    1. Re:Do not compress! by Hatta · · Score: 1

      Better than not compressing, is compressing and using the space you save for parity data.

      --
      Give me Classic Slashdot or give me death!
  14. Very, very old news.... by gweihir · · Score: 2, Informative

    It has been done like that for decades. Look at what archival tape does or DVDisaster or modern HDDs.

    Also, this does not solve the problem, it just defers it. Why is this news?

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  15. How does this protect existing data files? by Anonymous Coward · · Score: 0

    Oh, yeah. It doesn't.

    And who gets to pay for existing apps to be rewritten?

  16. Also, Bittorrent by NoPantsJim · · Score: 4, Informative

    I remember reading a story of a guy who had to download a file from Apple that was over 4 gigabytes, and had to attempt it several times because each came back corrupted due to some problem with his internet. Eventually, he gave up and found the file on bit torrent, but realized if he saved it in the same location as the corrupted file, it would check the file and then overwrite it with the correct information. He was able to fix it in under an hour using bittorrent rather than trying to re-download the file while crossing his fingers and praying for no corruption.

    I know it's not a perfect example, but just one way of looking at it.

    1. Re:Also, Bittorrent by ShadowRangerRIT · · Score: 1

      Of course, if a block level hash for the .torrent file had been corrupted when he downloaded that, we'd be back to square one.

      --
      $_ = "wftedskaebjgdpjgidbsmnjgcdwatb"; tr/a-z/oh, turtleneck Phrase Jar!/; print
    2. Re:Also, Bittorrent by NoPantsJim · · Score: 1

      True, but at least it's worth considering.

      Wait, I know! We'll make a torrent for the .torrent file! Genius!

    3. Re:Also, Bittorrent by 140Mandak262Jamuna · · Score: 1

      So you want to commit all the digital repositories to torrents for archival?

      --
      sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
    4. Re:Also, Bittorrent by maxume · · Score: 1

      Bittorrent doesn't really make use of error correction, it uses error detection, and when it finds an error (a hash mismatch), it just goes and downloads another copy of that data (of course, the error does get corrected, but it requires that someone be seeding a good copy of the data).

      From the perspective of a user downloading a large file, just downloading the bad parts of the file is a huge improvement over stuff like ftp or http, but without the network, it doesn't help in recovering data.

      --
      Nerd rage is the funniest rage.
    5. Re:Also, Bittorrent by NoPantsJim · · Score: 1

      I certainly wouldn't be the first to try...

    6. Re:Also, Bittorrent by Sockatume · · Score: 1
      --
      No kidding!!! What do you say at this point?
    7. Re:Also, Bittorrent by StuffMaster · · Score: 0

      Yeah, I did this once for a linux DVD. I do wish it was easier to do such a thing from the browser.

  17. Quickpar... by blahplusplus · · Score: 1

    Quite frankly data is so duplicated today bit-rot is not really an issue if you know what tools to use, especially if you use tools like quickpar on important data that can handle bad blocks.

    Much data is easily duplicated, the data you want to save if it is important should be backed up with care.

    Even though much of the data I download is easily downloaded again, the stuff I want to keep I quickpar the archives and burn to disc, and really important data that is irreplacable I make multiple copies.

    http://www.quickpar.co.uk/

    1. Re:Quickpar... by Anonymous Coward · · Score: 0

      Parchive: Parity Archive Volume Set for linux/unix

    2. Re:Quickpar... by Bobberly · · Score: 1

      I was thinking the exact same thing. It works for Usenet quite well and I've even started including PAR files on any optical media I use for backup. The overhead is negligible giving how cheap storage is getting.

    3. Re:Quickpar... by Anonymous Coward · · Score: 0

      Can you (or anyone else) share something more like block sizes you use, trick, things you found out and so on? Maybe some good articles/posts?

      I would also like to find more info about using RAR recovery blocks (again things like whether to split archives on more files and so on) and more in general any good and simple backup solution on Windows that use parity blocks.

      Pretty sad that we had good solutions more than a decade ago http://www.hugolyppens.com/VBS.html and yet today is hard to find a simple backup software that includes parity (both in the sense of adding parity and giving you the option to verify the set).

    4. Re:Quickpar... by zippthorne · · Score: 1

      Plus, the empty space on the disk isn't doing anything useful anyway. Might as well fill it with as as much parity data as fits.

      --
      Can you be Even More Awesome?!
  18. Parchive: Parity Archive Volume Set by khundeck · · Score: 5, Interesting

    Parchive: Parity Archive Volume Set

    It basically allows you to create an archive that's selectively larger, but contains an amount of parity such that you can have XX% corruption and still 'unzip.'

    "The original idea behind this project was to provide a tool to apply the data-recovery capability concepts of RAID-like systems to the posting and recovery of multi-part archives on Usenet. We accomplished that goal." [http://parchive.sourceforge.net/]

    KPH

    1. Re:Parchive: Parity Archive Volume Set by neonsignal · · Score: 1

      These discussions of error correction miss the basic point; that typical analog data can be partially recovered after it has degraded.

      What this means is that analog data can be useful even when it has substantially degraded. Digital data can become useless with the loss of just a fraction of the data. All that error correction does is increase that fraction (and make the total loss of data less likely).

      The problem is a systemic one. In analog design, data tends to be localized (usually just because it was simpler to do it that way). This means that even if you lose 99% of your data, the remaining 1% is still useful. There are digital formats that have the same properties, but they are rare because they are inefficient.

      In digital design, we tend to assume 100% bit recovery. We aim for this by putting in error correction at the lowest levels of data transmission and of storage media. This makes the chance of failure less likely, but not impossible (and over time, inevitable). At most higher levels, data is often highly structured, so that some bits are much more important than others and affect the rest of the data (eg format headers, directories, network addresses, etc). Even worse, techniques like encryption have to deliberately spread the data out.

      This cannot be solved by any tech solution at one layer, because you cannot 'unspread' data once it has been diffused at a higher level. The only solution would be a rethinking of every layer of the system. There is little point achieving partial archival recovery at the low level of the format if the top level relies on complete recovery.

      I don't want to overstate this. The features of the digital approach are useful. The ability to have good compression, strong encryption, fast access, high reliability, and perfect copies. In most circumstances, these outweigh the need to preserve data over long periods of time.

      There are two solutions for archival, particularly of items in which the data is relatively localized within the stream (raw images, film, text).

      1. The 'redundancy' method aims for perfect reconstruction, but at the cost of maintaining the data. We use error correction, but on top of that the errors must be corrected as they occur (so that they do not accumulate).

      2. The 'analog' method is to use data formats and media that retain the localization: compression that is localized (much as we use key frames in video compression), encryption that is localized (eg not chaining blocks, though this weakens the encryption), indexing that is localized (eg linear formats rather than tree structures), reframing that is localized (eg using space filling curves to rasterize images instead of scanlines).

      Note that I am not advocating the 'analog' method in most circumstances. And I am definitely not advocating a return to analog storage methods.

      Nor does it hurt to use error correction. It will extend the life of the data. But if the aim is the long term preservation of data in an unmaintained state, then error correction is not the complete solution. One has to consider what happens what happens after the redundancy capability has been exceeded.

  19. Solution: by Lord+Lode · · Score: 2, Insightful

    Just don't compress anything, if a bit corrupts in a non compressed bitmap file or in a plain .txt file, no more than 1 pixel or letter is lost.

    1. Re:Solution: by Gothmolly · · Score: 1

      Not if that bit flips the ASCII value of some element in an XML file, rendering the file unparsable (by a computer at least).

      --
      I want to delete my account but Slashdot doesn't allow it.
    2. Re:Solution: by Lord+Lode · · Score: 1

      An XML file with a flipped bit can be restored just as well by a human being, than a painting of Rubens that is damaged a bit.

    3. Re:Solution: by igny · · Score: 2, Funny

      II ccaann ssuuggeesstt eevveenn bbeetteerr iiddeeaa.
      II ccaann ssuuggeesstt eevveenn bbeetteerr iiddeeaa.

      --
      In theory there is no difference between theory and practice. In practice there is. - Yogi Berra
    4. Re:Solution: by Anonymous Coward · · Score: 0

      Compression + parity bits can probably survive more data corruption than your retarded suggestion (check the size of uncompressed video files) and do it using less storage.

    5. Re:Solution: by maxume · · Score: 1

      A parser that isn't XML compliant probably isn't going to have too much trouble either.

      --
      Nerd rage is the funniest rage.
    6. Re:Solution: by Anonymous Coward · · Score: 0

      I-I-I w-wi-will-ill n-n-never th-thi-think o-of su-su-stutterer-er-ers the s-sa-same w-wuh-way a-a-a-gain!

    7. Re:Solution: by Anonymous Coward · · Score: 0

      Just don't compress anything, if a bit corrupts in a non compressed bitmap file or in a plain .txt file, no more than 1 pixel or letter is lost.

      And don't encrypt anything either, as encryption is equivalent to compression (as far as potential for corruption goes).

      This is why I am very weary of live, filesystem-wide encryption. Sure, you get security, but you also get a hugely increased chance of a single bit corruption completely wiping out the entire filesystem.

  20. New versions of ISO, ZIP and Truecrypt for this? by Brit_in_the_USA · · Score: 1

    I would like this. Some options I could work with: Extensions to current CD/DVD/Bluray ISO formats, new version of "ZIP" files and a new version of True Crypt files.
    If done in an open standards way I could be somewhat confident of support in many years time when I may need to read the archives. Obviously backwards compatibility with earlier iso/file formats would be a plus.

  21. Film and digital by CXI · · Score: 2, Interesting

    Ten years ago my old company used to advocate that for individuals who wanted to convert paper to digital, they first put them on microfilm and then scan them. That way when their digital media got damaged or lost they could always recreate it. Film last for a long long time when stored correctly. Unfortunately that still seems the be the best advice, at least if you are starting from an analog original.

    1. Re:Film and digital by Anonymous Coward · · Score: 0

      Digital lasts a long time when "stored correctly" too. That can be cumbersome and expensive, but so is microfilm. Microfilm simply has a different set of disadvantages, some of them unsurmountable. The 'bit loss' equivalent is the complete failure to preserve colour and halftone information accurately. Which also means you cannot make perfect copies like you can with digital. But now I'm starting to enumerate what microfilm doesn't do well -- just check wikipedia for a reasonable list. The difference with digital is we can figure out how to get around its disadvantages. This thread is about a proposal, and many post are about how it's already done.

      And yup, I've used microfilm. Microfilm was _great_ for reducing large text-oriented archives like newspaper and journal collections to a more economically-manageable size. As a student and a corporate researcher I had much easier access to data than I would have had. But nothing like we have today.

    2. Re:Film and digital by CXI · · Score: 1

      You need to understand the trade offs between preservation and fidelity. I can put my film in a vault and without any additional work but to maintain the physical space, I can view my documents in a hundred years with nothing more than a candle and a magnifying glass. Can you say the same for digital? How much support equipment must you include? Do you have the proper power source? How many instructions on how to even operate it (in 50 years if someone found a perfectly preserved and operational mainframe with card input system and data on reel to reel tape, could they even use it?)? Candle and magnifying glass my friend. It's kind of like Blade Runner. You can have your high fidelity but at the cost of short lifespan. Anyway, my comment was just anecdotal until you choose to attack it as somehow not valid.

  22. Don't worry by Anonymous Coward · · Score: 0

    Quantum computers will save us. They could examine every combination possible to rebuild a file in seconds.

    1. Re:Don't worry by plastbox · · Score: 1

      Finally! I thought I was the only one thinking about this! With enormous amounts of computing power (as quantum computing promises) one could easily store, say, a blu-ray movie by calculating and storing a few different hashes (MD5, SHA1, SHA2, etc.), then brute-force them until you have the original file back. Imagine that.. transmitting a 20GB HD movie in a single SMS. o.O

    2. Re:Don't worry by Thiez · · Score: 1

      That would like, totally be possible! Except of course that you would probably find that there are a _LOT_ of files of 20GB or less that would give you those exact same hashes. Some of those files will be a valid blu-ray file. But apart from that, way to go!

      It'd be interesting if someone where to do the math on this one, I think you'd be disappointed.

    3. Re:Don't worry by plastbox · · Score: 1

      Unless my thinking is completely screwed up, I'd think the chance of finding a collision across say 5-6 completely different hash algorithms would be quite slim.

      And yes, I know this isn't a practical way of storing files, and it probably never will be. It's possible in theory though, if you have a few different hash algorithms and the length of the original file and as such it will probably be done eventually. :P

    4. Re:Don't worry by XSpud · · Score: 1

      Unless my thinking is completely screwed up, I'd think the chance of finding a collision across say 5-6 completely different hash algorithms would be quite slim.

      I wouldn't regard it as slim. For a hash equal in length to an SMS (assume 160 characters) and a file size of 20GB, the number of collisions would be approximately (2^20000000000)/(2^1280). You can be pretty sure quite a few of those would be blu-ray movies!

    5. Re:Don't worry by omnichad · · Score: 1

      Chance of finding them slim, yes. Chance of them existing? Exponential. But you need more than a collision. You have to hit the original content, whereas for cracking a password you only need a collision.

    6. Re:Don't worry by petermgreen · · Score: 1

      Unless my thinking is completely screwed up,
      It is, lots of people get caught out by very big numbers.

      I'd think the chance of finding a collision across say 5-6 completely different hash algorithms would be quite slim.
      In mathematics proving that something exists and actually finding an example of it are not the same thing.

      one could easily store, say, a blu-ray movie by calculating and storing a few different hashes (MD5, SHA1, SHA2, etc.)
      lets consider you have 16 hash algorithms each producing a 32 byte hash. When combined the hashes give 512 bytes of output so there are 8^512 possible outputs.

      Lets consider that we know the file is exactly 20GB since you communicated that information seperately.

      It's difficult to put an exact figure on how many valid 20GB HD videos there are but if we assume that less than half the information in the file is fixed overhead (a resonable assumption IMO) then there are 8^10000000000 of them.

      So for every output you have an average of 8^9999999744 possible inputs!

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  23. Re:New versions of ISO, ZIP and Truecrypt for this by flyingfsck · · Score: 1

    CD/DVD/etc have error correction already.

    --
    Excuse me, but please get off my Pennisetum Clandestinum, eh!
  24. Use TCP/IP by spacemky · · Score: 1

    I'd recommend just NOT using X-MODEM or Z-MODEM! Bit errors everywhere. Especially when mom picks up the telephone! ggggrrrrrrrrrrrrrrrr

    --
    640YB ought to be enough for anybody.
    1. Re:Use TCP/IP by nomadic · · Score: 2, Funny

      You might be able to find some suggestions on how to fix that on Gopher.

    2. Re:Use TCP/IP by Locke2005 · · Score: 1

      Bummer! Why can't you mom just yell down the stairs for you to come up for supper like my mom does, instead of calling you on the phone while you're trying to download ASCII porn?

      --
      I've abandoned my search for truth; now I'm just looking for some useful delusions.
  25. ZFS by DiSKiLLeR · · Score: 1

    Just use ZFS, its already been done.

    kthxbai.

    --
    You can tell how powerful someone is by the magnitude of the crime they can commit and be able to get away with.
    1. Re:ZFS by arndawg · · Score: 1

      I will kthxHI

    2. Re:ZFS by Anonymous Coward · · Score: 0

      Sorry, I don't have mod points, but I'd give you about +100 Insightful and just shut down posting for this whole story. That's exactly what I was going to say: "One acronym: ZFS" Why look further when it gives you exactly what you want? Oh, you want GOOD IMPLEMENTATION and DIRT CHEAP and SIMPLE and FLEXIBLE and FULL OF OPTIONS and RIGID (yes, I'm starting to notice the oxymorons, too) solution? Well then, fuck you!
      Or you can stick to ZFS (which costs a lot of money for a software solution or a lot of time for self-teaching).

  26. Cloud computing provides an opportunity by davide+marney · · Score: 3, Funny

    As we're on the cusp of moving much of our data to the cloud, we've got the perfect opportunity to improve the resilience of information storage for a lot of people at the same time.

    --
    "We receive as friendly that which agrees with, we resist with dislike that which opposes us" - Faraday
  27. Forward-error correction instead by kriston · · Score: 1

    I believe that Forward-error correction is an even better model. Already used for error-free transmission of data over error-prone links in radio, and USENET using the PAR format, what better way to preserve data than with FEC?
    Save your really precious files as Parchive files (PAR and PAR2). You can spread them over several discs or just one disc with several of the files on it.

    It's one thing to detect errors, but it's a wholly different universe when you can also correct them.

    http://en.wikipedia.org/wiki/Parchive

    --

    Kriston

  28. Linearity is the real problem by designlabz · · Score: 2, Insightful

    Problem is not in error correction, but actually in linearity of data. Using only 256 pixels you could represent an image brain can interpret. Problem is, brain can not interpret an image form first 256 pixels, as that would probably be a line half long as the image width, consisting of mostly irrelevant data.
    If I would want to make a fail proof image, I would split it to squares of, say, 9(3x3) pixels, and than put only central pixel(every 5th px) values in byte stream. Once that is done repeat that for surrounding pixels in the block. In that way, even if part of data is lost, program would have at least one of the pixels in a 9x9 block and it could use one of nearby pixels as a substitute, leaving up to person to try and figure out the data. You could repeat subdivision once again, achieving pseudo random order of bytes.
    And this is just a mock up of what could be done to improve data safety in images without increasing the actual file size.
    In old days of internet, designers were using images in lower resolution, to lower page loading time, and than gradually exchanging images with higher res versions once those loaded. If it had sense to do it then, maybe we could now use integrated preview images to represent the average sector of pixels in the image, and than reverse calculate missing ones using pixels we have.
    This could also work for audio files, and maybe even archives. I know I could still read the book even if every fifth letter was replaced by a incorrect one.

    Cheers,
    DLabz

    1. Re:Linearity is the real problem by brusk · · Score: 1

      I know I could still read the book even if every fifth letter was replaced by a incorrect one.

      That would depend on the book. Your brain could probably error-correct a novel easily enough under those conditions (especially if it was every fifth character, and not random characters at a rate of 20%). But I doubt anyone could follow, say, a math textbook with that many errors.

      --
      .sig withheld by request
  29. Use small hunks and do the checksum thing by davidwr · · Score: 1

    The in-file checksum thing is a good idea, but it may be redundant to disk- or filesystem-level checksums.

    Another useful thing is to store information in "chunks" so that if a bit goes bad no more than one "chunk" is lost. A chunk could be a pixel or group of pixels in certain graphics formats, a page, in certain "page" formats such as PDF or multi-page TIFF, a cell in a spreadsheet, a maximum-length run of characters in a word-processing document, etc.

    Storing files in "ascii-like" formats where it makes sense to do so is also a good idea from a data-recovery perspective.

    For files that represent "events in time" such as music, video, or some scientific data collections, a "chunk" might be a second or some other period of time.

    Many of today's data formats already operate at a "chunk" level. Many do not.

    On another note, these days, "space is cheap" on disk, but not necessarily so when it comes to networking or the time it takes to make backups. 1TB is under $100 on a home machine, several times that on a server, a relative pittance over the life of the drive. However, copying 1 TB takes a non-trivial amount of time.

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
  30. par2 files by Anonymous Coward · · Score: 0

    For any media you actually expect to retain for years, possibly without touching, create par2 files - say 10% to correct any errors later.


    #!/bin/sh

    for filename in "$@"; do

          # Create a 10% recovery data with blocksize of 300KB
          nice par2 create -s307200 -r10 "$filename"

    done

    1. Re:par2 files by CptNerd · · Score: 1

      I've been doing this for a while now for files that I back up to CD or DVD, just in case the media doesn't have that long a life. I've actually had much more problem with sectors going bad on hard drives than on CD or DVD, but that could change. I really hate that I lost an irreplaceable movie file I took when I was in Japan, because a sector went bad on my server (long since gone now) that kept me from even copying the good sectors from it. I couldn't even run fsck or anything since it was a leased server and I couldn't ever get the remote console to work. Ever since then I've become PARanoid...

      (sorry, couldn't resist...)

      --
      By the taping of my glasses, something geeky this way passes
  31. ZFS or Reed-Solomon by ttsiod · · Score: 1

    Use ZFS if you are in OpenSolaris/FreeBSD land, or use a Reed-Solomon tool - a GPL implementation of mine was Slashdotted 2 years ago, here: http://users.softlab.ntua.gr/~ttsiod/rsbep.html

  32. Incorrect... by Anonymous Coward · · Score: 0

    In the context of Hard Drives. Hard Drives are NOT digital.
    They store a value via "majority". If that bit is overwritten, it can easily be recovered with the right software, several times and you are maybe needing some specific hardware.

    Why don't OSes (and manufacturers) take advantage of this? There are effectively 2 layers per disc you could use to store data without degradation.
    As long as the disc is kept in good condition, you can use this extra layer.
    Instead, what we have are companies squeezing sectors closer together and making this method unreliable the higher the density.
    Stop treating a magnetic disc as an optical disc, you can store much more on it.
    This could drop the cost of drives significantly and still retain the same size as we currently have. (1gig, 2 gigs at a stretch but i still wouldn't risk it)

    1. Re:Incorrect... by ledow · · Score: 2, Insightful

      Because no-one yet has ever managed to pull things from this theoretical "historical" layer without at least something like a electron microscope costing tens or hundreds of thousands, thousands of hours of skilled *manual* work and having to crack the damn harddrive open and destroy it (if at all)? I believe there is a still a challenge going around with a hard drive that was "zeroed" quite simply and if anyone can recover the password in the single file that was on it before it was zeroed, then can get a few thousand dollars - nobody has even done more than look at it yet. (It certainly can't be done by software alone - are you thinking of unzeroed filesystem residue that has nothing to do with hardware at all?)

      In theory you might think you were right, but digital is nothing to do with historical layering (which is doubtful whether it exists in a practical sense that can be utilised)... it's the method of recording - 1 or 0 or more possible patterns? Hard drives might store by majority by they do it for a reason - because a single bit it *useless* on such a fine recording medium because it *can* change over time or just by slight inaccuracies in the recording/reading methods, so you have to swipe a whole bunch of the disk to be assured of reading back a 1 or 0 with your reader (which could never read more than the consensus of 1 or 0 because it's just not that accurate - it has to have a large bunch of magnetised particles to make any reading at all, it doesn't read each individually and then think "Oh, that's enough to be a 1" - when it reads it back, only a certain amount "trigger" it to think the thing is a 0 or 1 - thus it *IS* digital because the only answer it can give is 0 or 1 and not "well, almost a 1").

      And if manufacturers thought for a second any of that was do-able in even enterprise drives, it would be done already and sold to the highest bidder. The fact is that it just isn't feasible or even possible - it's almost impossible to do that in a device small enough to fit in your car, or reliably, or without totally destroying the operation or performance of a drive, or for less than the price of a large rack full of storage.

    2. Re:Incorrect... by omnichad · · Score: 1

      Because what's left after zeroing a drive is not even above the noise floor. If each "spot" on the disk had more than 2 potential states, we'd lose density over the hardware requirements of stricter thresholds. You gain nothing.

  33. how many levels do you need? by pydev · · Score: 1

    There are several levels of error correction at the disk level, plus at the RAID level, plus possibly at the file system level. And the whole thing has been wrapped up so well that users don't have to worry about. If users are still getting bit errors, someone hasn't been paying attention to their SMART, RAID, and file system logs.

    No amount of error correction will protect you from that; sooner or later, disks go bad, and you have to replace them before there are too many errors for the system to recover.

  34. That really depends on the file by FrankDerKte · · Score: 1

    It depends on exactly what is encoded with this number. If it is a pixel in an image flipping one bit won't destroy the image. The same is true for video and plain text. Flipping a bit in a text file would change exactly on letter.

    The problem lies in the encoding and the type of information saved.

    If, for example, a binary format is used, there has to be a way to identifiy the borders of the different data formats. For information of fixed length, this can be done with counting. If the information has no fixed length, this can be done with byte stuffing.

    If we want to save a linked list in a binary format using byte stuffing, we would take one byte and define it to be the new list character. Then we code the list in a way that our list character newer turns up in the expression used to save a list. Normally this is done by defining an escape character which tells us that the next character is not the special character used for byte stuffing.

    For example, we want to save a list of sentences using ASCII and define the pipe symbol "|" as special character. The resulting file would look like this:

    Hello world|This is a simple example|for the almighty interweb

    Now, the only way the file would turn out to be unusable after flipping a bit is, if a bit of the byte used for the pipe symbol was flipped. Flipping any other bit would change the meaning, but the program would be able to load it anyway.

    So it depends on what and how it is saved. For most media files flipping a bit would not render the file useless. For an account it probably would.

    If the data is important, add redundancy, that is additional bits for error correction. If the data is not important, don't add redundancy because it increases the file size.

    That is exactly the reason why compressed files are useless after a flipped bit. A compression algorithm removes redundant bits to decrease file size.

  35. zfec, Tahoe-LAFS by Zooko · · Score: 1

    zfec is much, much faster than par2: http://allmydata.org/trac/zfec

    Tahoe-LAFS uses zfec, encryption, integrity checking based on SHA-256, digital signatures based on RSA, and peer-to-peer networking to take a bunch of hard disks and make them into a single virtual hard disk which is extremely robust: http://allmydata.org/trac/tahoe

    1. Re:zfec, Tahoe-LAFS by maxume · · Score: 1

      Has anybody indicated to you that they are working on something (using zfec underneath) that does integrity checking while being a little less ambitious than Tahoe-LAFS (ambitious is not supposed to be a criticism here, just a characterization)?

      I guess "use allmydata.com" is a good answer for people that don't want to deal with a lot of setup complexity, but not having any integrity checking built in is a pretty big disadvantage compared to par2 when looking at things like adding some extra redundancy to a DVD or whatever.

      --
      Nerd rage is the funniest rage.
  36. Copy and Distribute, don't "preserve" like analog by Anonymous Coward · · Score: 0

    Injecting ECC into the stored streams may help a bit, but please stop thinking about methods that preserve the content of single streams.

    Just duplicate the streams to multiple physical media, it's cheap, easy and can remedy many more situations.

  37. I've lost jpgs that way by damn_registrars · · Score: 1

    Many of the jpgs that I took with my first digital camera were damaged or destroyed to bit corruption. I doubt I'm the only person who fell to that problem; those pictures were taken back in the day when jpg was the only option available on cameras and many of us didn't know well enough to save it under a different file format afterwards. Now I have a collection of images where half the image is missing or disrupted - and many others that just simply don't open at all anymore.

    --
    Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
    1. Re:I've lost jpgs that way by petermgreen · · Score: 1

      I notice that there are tools out there that claim to be able to recover corrupt jpegs and some of them even have free trials, may be worth giving them a go.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  38. DVDisaster by Anonymous Coward · · Score: 0

    I've taken to using DVDisaster to actually pad ECC data into the ISO filesystem, so that there's a good chance of recovering the data, even if a file becomes unreadable. Just another layer / method of protection.

  39. Brave New World by AliasMarlowe · · Score: 1

    "Ending is better than mending".
    Consumers should welcome file corruption; it's a chance to throw away those old files and buy some brand new ones instead :)

    Actually, I would not be surprised if the media companies were busily trying to invent a self-corrupting DRM format to replace DVDs and suchlike.

    --
    Those who can make you believe absurdities can make you commit atrocities. - Voltaire
    1. Re:Brave New World by dwye · · Score: 1

      > Actually, I would not be surprised if the media companies were
      > busily trying to invent a self-corrupting DRM format to replace
      > DVDs and suchlike.

      Any physical medium is automatically self-corrupting. Leave a DVD on the back shelf of a car for a summer afternoon if you don't believe that.

  40. Clay Tablets by Ukab+the+Great · · Score: 1

    Just resign yourself to the fact that the Code of Hammurabi will outlive your pr0n.

    1. Re:Clay Tablets by Locke2005 · · Score: 1

      Sure, but I have a bitch of a time fitting those clay tablets into my DVD drive.

      --
      I've abandoned my search for truth; now I'm just looking for some useful delusions.
  41. Ecc? by rjolley · · Score: 1

    What's with the useless acronym at the end of the summary? I hate useless and made up acronyms (umua)

    1. Re:Ecc? by TheThiefMaster · · Score: 1

      It's not made up, it's a common acronym.

      Though you could argue that they should have really put "ECC (Error Correcting Code)" instead of the other way round.

    2. Re:Ecc? by rjolley · · Score: 1

      It's not made up, it's a common acronym.

      Just not commonly used for the phrase "error correction code" http://www.google.com/search?q=ecc

      Though you could argue that they should have really put "ECC (Error Correcting Code)" instead of the other way round.

      That would have made more sense.

    3. Re:Ecc? by TheThiefMaster · · Score: 2, Informative

      Asking for a definition of ecc turns it up, so it's obviously not that uncommon. And as we're talking about data corruption, it's the obvious one.

      Most IT techs would recognise the term from "ECC Ram", which is ram that is capable of correcting bit errors and is often required by server motherboards.

    4. Re:Ecc? by Anonymous Coward · · Score: 0

      If at the mention of ECC you did not immediately think of error correction code, then you are on the wrong website :P

  42. Where's ISO by GerryHattrick · · Score: 1

    Come on, ISO, where are you? We all need the best (or alternatively, least-worst) glidepath now. When I retired, the argument was all about proprietary formats for formatted text, and this and that. USians seemed to want to take the lead on everything and thereby 'offer' formal Secretariat (and steering). Now there's something worth doing - fixit, folks - and non-proprietary, pretty-please.

  43. We can read Egyptian heiroglyphs 3,000 yrs later by BrightSpark · · Score: 1

    What's wrong with physical storage for say 200 years? Most data we save these days will be fine stored this way. The issue is what we choose to store just because we can which caused problems. The net is overflowing with the minutia of boring existances. What we really need is a data scythe to cut the rubbish out and then store it. The Victorian era handed down lots of books, magazines and pamphlets. Some of these are preserved and read by historians. In 150 years will we really care about the financial statements for Goldman-Sachs or want the blog of Paris Hilton? (No lewd comments, it was rhetoical).

  44. Three Headers, Not Two by dwye · · Score: 1

    > The solution proposed by the author: two headers and error correction code (ECC) in every file."

    When there are two possibilities, which one do you chose? Three allows the software to have a vote among the headers, and ignore or correct the loser (assuming that there IS one, of course).

    Also, keeping the headers in text, rather than using complicated encoding schemes to save space where it doesn't much matter, is probably a good idea, as well. Semantic sugar is your friend here.

  45. RAID-6 + Modern FS is the way by DrYak · · Score: 1

    I second that :
    RAID (Specially RAID-6) seems indeed inevitable for long-term storage, combined with a modern FS implementing checksums.
    (And an intelligent stack which is able to leverage the FS's checksums while scanning/repairing the array. ZFS is such an exemple. Probably Linux will follow although this will require both support from the Raid driver *and* the file system or their respective checking tools (mdadm using info from fsck to repair the corrupter blocks)

    This setup can more easily resist to silent bit rot. (If for some random rare reason, data is altered but still readable. A simple mirror or a RAID-5 will be able to determine that data was corrupted, but will have a hard time to determine which copy is the "good one" if all sectors are still readable after corruption).

    And the best part is that once such a stack is deployed, data survivability comes for free : no additional efforts required, no new libraries to support newer "redundant" formats and/or no need for the user to re-mux the media into a container with its ECC option enabled.

    Add to that a file system which supports snapshots and you get also a good protection against accidental file deletion.

    The best part : All the necessary piece are already available for free (both gratis and freedom) now.

    Thus it's not complicated for a current user to create the perfect data vault, with only minimal cost (upfront of building the vault and then yearly maintenance to replace parts and media with newer as the hardware ages).

    The key problem is not the data integrity (necessary tools are here), nor the hardware (just replace parts as they age).
    The key problem with long term archives is the format :
    In some distant hypothetical future, how are you going to open Microcrosoft Word 97 file correctly, when we'll be using a new VisualBasic-Message-Passing version of Office Singularity wunning on Microsoft Singularity OS ?

    Most media currently rely on pretty well documented formats (JPEG, MPEG, MP3, etc.). Nonetheless there are formats, both on the consumer end (MS-Word) and on the professional end (RAW pictures format) which are poorly documented or kept secret. And as such nothing guarantees that 20years down the line these will still be opennable.

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
    1. Re:RAID-6 + Modern FS is the way by petermgreen · · Score: 1

      Most media currently rely on pretty well documented formats (JPEG, MPEG, MP3, etc.). Nonetheless there are formats, both on the consumer end (MS-Word) and on the professional end (RAW pictures format) which are poorly documented or kept secret. And as such nothing guarantees that 20years down the line these will still be opennable.
      IMO the best approach here is to archive both the original and one or more conversions of it to formats that are likely to be more stable. A good document archival system therefore needs to be able to store multiple versions of the same document and to store metadata such as which one is the original and what conversion methods were used to produce each.

      For the word 97 document I would probablly suggest creating both a pdf (preserves exact formatting and widely supported but not really editable) and an odf (editable but less likely to preserve exact formatting and not so widely supported).

      For the raw image I would suggest processing the image into one or more tiffs or pngs (supported everywhere but some information can be lost in the conversion from raw to rgb) and possiblly also converting it to dng (which afaict will preserve all the raw data but is less widely supported).

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  46. never ending story by thelonious · · Score: 0

    But then who polices the police bits?

  47. Re:We can read Egyptian heiroglyphs 3,000 yrs late by thelonious · · Score: 0

    I'd agree with you about the amount and detail of data out there right now. I'm not sure who's going to be archiving this stuff so that there is a danger of storing 100 terrabytes of 'what i am eating right now' blogs. However, the two examples you mentioned I think should be preserved as monuments to failitude of society. After all, you know that old saying about repeating history. My boss didn't read about world war 2 and now, every other week we have a Jewish Holocaust at work.

  48. Re:New versions of ISO, ZIP and Truecrypt for this by aaarrrgggh · · Score: 1

    Not enough error correction to accommodate one good scratch. Detecting an error and recovering from it can be very different things.

  49. Interesting missing-data experience by KingAlanI · · Score: 1

    One time I was downloading a movie that didn't quite finish.
    I went to watch the file [XviD in an .avi container] in VLC, and most of the movie played fine;, obviously it stuttered over the missing sections
    So, perhaps there's something to say for this format for video-archiving.
    (This format doesn't compress much further (with .zip or .rar at least), so we wouldn't face compression-algorithm issues.

    --
    I listen to both RIAA and non-RIAA stuff if I like the music, tangential business/politics nonwithstanding.
  50. Easier solution by Locke2005 · · Score: 1

    Create massive redundant copies of each work (with MD5 checksums), and keep copying them to new media on a staggered basis. Whenever one copy fails a checksum check, replace it with a good copy. Memory is cheap; why keep just one or a few copies of anything that important? To the RIAA, let me say this: we are just trying to insure that none of your valuable intellectual property becomes lost due to data corruption. You release it, we'll archive it for you!

    --
    I've abandoned my search for truth; now I'm just looking for some useful delusions.
  51. Digital is just like analog by Anonymous Coward · · Score: 0

    Let me qualify. Digital is pretty much like analog when you're dealing with data that's designed to be consumed non-digitally anyway, say like the smile of Mona Lisa or a pop song. A single off byte shouldn't matter to human eyes and ears. In contrast, an encrypted file is meant to be consumed digitally by the decrypting software before a human reads, watches, or listens to it: every bit counts.

    So the problem is clearly with the type of digital storage being used. For most video or audio files, I find that preserving the first and last few megabytes should be enough for the file to be partly accessed. Any errors in between would, or should, result in a digital blip that is no different from a smudge on a piece of paper where only the smudged part is rendered illegible. (I add "should" because in some real cases the player program crashes.)

    Of course, severely degraded media would be a problem. But how is this different from getting your precious million-dollar painting damaged in a fire or flood?

  52. Re:I can think of a couple files. by Anonymous Coward · · Score: 0

    Aaah. That must be what happened with the East Anglia files, when the bit went bad in a researcher's brain, and caused him to substitute New Hampshire local data for world average data, and prove his point of the "shepherd's crook."

    That must also be what happened when a bit went bad in Geithner's brain causing him to break the law (conspiracy to commit fraud) in forcing Bank of America to eat the losses in that takeover... and break the constitution in bringing forward a bailout... and destroy America's job situation to preserve the Wall Street fornication industry.

    And thus our politician's damage is increased by anywhere from 1 to 2 billion or EVEN A LOT MORE.

  53. All or nothing? by formfeed · · Score: 1
    Most information we save is not about "all or nothing":

    A software program eventually crashes or stops because of a wrong bit. But a book is still readable if some letters are unclear or a word is missing. - We shouldn't store information that isn't "all or nothing" in an all-or-nothing format.

    I remember a storage example from doing neural networks:
    An algorithm writes numbers to a matrix. A vector holds "1.2;4.8;0.9". If you add "5", the same memory now holds "1;5;1;5" It of course could be used the other way around as well: Loss of one memory cell degrades quality of the whole, but the whole information is still accessible.

    By now, computer would be fast enough to implement a kind of "lossy digital" holographic archival file format. For scans or picture archives this would be great. And it doesn't prevent you from adding additional checksums or correction blocks.

  54. ZFS must die... by RedBear · · Score: 1

    Everyone who is even considering spouting the letters "ZFS" in response to this article should really just STFU. Seriously.

    Allow me to explain. Yes, ZFS is a very nice and very robust filesystem with great data protection and recovery features (although still subject to failure and data loss under some conditions, don't even try to deny it, it isn't perfect).

    But all the ZFS zealots need to stop and think about all the other filesystems currently in use, and realize that ZFS will NEVER replace most of those filesystems in most situations. There needs to be a solution to bit rot that does not entail switching the entire world to a new filesystem. NTFS, FAT12/FAT16/FAT32, HFS+, Ext3/4, ReiserFS, UDF, all of these and more will continue to be in use in millions of computers and on billions of devices using removable or embedded media for many decades, and more filesystems will be invented in the future. You will never see a digital camera with built-in ZFS support, for instance. ZFS is totally unfeasible for that kind of application. It takes far too much processing power and memory to run ZFS for it to ever become anything resembling a universal filesystem. Filesystems like ZFS are not a panacea, there needs to be a solution (like PAR2) that is portable between ALL different filesystems that are now or ever will be in use.

    Basically, things like the PAR2 parity archiving format already solve this type of problem, but in a way that is too limited. It needs to be better integrated into the filesystem or operating system level so that it works automatically on all kinds of different filesystems. Right now, the parity information is something that you have to manually create with a separate software tool like Parchive when you are interested in "archiving" something. This kind of functionality needs to be somehow tacked on to the file storage process so that the parity data is created, updated and continuously checked by whatever is reading and writing to the file, no matter where that file is stored. It needs to be part of the file itself, so that when a file is copied or moved, the parity data is not lost.

    As usual, to any particular problem there is an answer that is straightforward, simple and WRONG (I forget what smart person said that first). For this problem, ZFS is not the ultimate answer. It's great for specific situations like file servers, but that's about it. As soon as you remove a file from that file server, poof, you lose access to that parity information. That's just dumb. For important data that needs to be self-repairing, the only real solution is to include the parity information alongside the data, in a portable format.

    Personally I've been quite surprised over the years that almost no modern filesystem in use anywhere has the kind of parity information built-in that ZFS has. So much data could be easily recovered if filesystems were robust enough to handle simple things like bit errors or unreadable sectors. Why should my 2GB file be ruined just because a single 512-bit sector became unreadable in a critical location in the file? It's idiotic to need to have multiple complete duplicate copies of every single type of data we ever store in order to be sure we can recover from simple forms of data degredation like bit rot.

  55. forget ZFS by pydev · · Score: 1

    Each block uses ECC

    On a modern disk, every block already has ECC. Furthermore, there are APIs to query disks about disk failures. There is no reason to reimplement block-level ECC at the file system level. If people aren't checking for hardware failures, what's the point of giving them another set of ECC errors to check?

    This truly is the filesystem every other one is playing catchup with.

    God, I hope not. I wouldn't want to use anything as poorly designed as ZFS.

    1. Re:forget ZFS by Agripa · · Score: 1

      There is no reason to reimplement block-level ECC at the file system level. If people aren't checking for hardware failures, what's the point of giving them another set of ECC errors to check?

      End to end block checksums can detect more than hard drive sector errors. They can detect seek errors (hard drives have a specified error rate of returning the wrong data), interface errors, bus errors, and memory errors. All of these may have individual protection but what about the intervening DMA and bus mastering state machines? How many network cards have been released which despite having error detection at the ethernet, IP, TCP, UDP, and interface levels, still managed to corrupt data on a regular basis?

    2. Re:forget ZFS by pydev · · Score: 1

      How many network cards have been released which despite having error detection at the ethernet, IP, TCP, UDP, and interface levels, still managed to corrupt data on a regular basis?

      None, since some of the error detection/correction is already taking place above the network card level.

      All of these may have individual protection but what about the intervening DMA and bus mastering state machines?

      If those need error correction to function with a low enough error rate, they should implement it themselves, not leave it up to user programs.

    3. Re:forget ZFS by Agripa · · Score: 1

      How many network cards have been released which despite having error detection at the ethernet, IP, TCP, UDP, and interface levels, still managed to corrupt data on a regular basis?

      None, since some of the error detection/correction is already taking place above the network card level.

      So are all of those BSD and Linux driver release notes which discuss network card data corruption wrong? If you offload the ethernet, IP, and TCP/UDP error detection to the card then there is no upper level unless the operating system or application implements it. Error detection on the peripheral bus also becomes useless since usually the ethernet controller itself is the source of the errors which will happily be transferred across the bus error free. Common ethernet controller problems that lead to corrupted data include bad DMA state machines, various race conditions, and interrupt problems.

      All of these may have individual protection but what about the intervening DMA and bus mastering state machines?

      If those need error correction to function with a low enough error rate, they should implement it themselves, not leave it up to user programs.

      The usual solution is for the drivers to configure and use the peripheral in such a way as to avoid known problems. Disabling TCP/UDP checksum offloading is common but more drastic measures are sometimes necessary. This usually happens at the expense of performance but sometimes entire advertised features or standards compliance are lost. There is an astonishingly large amount of hardware released which relies on drivers to ameliorate hardware problems.

  56. HDDs do a LOT of this by Anonymous Coward · · Score: 0

    I can say that HDDs make a lot of use of ECC. They misread bits all the time, but only seldom do these misreads require a re-read, much less cause actual corruption.

    I assume that if an OEM requested higher ECC (at the loss of data capacity) they could do so.

  57. Context and Moses' horns by fritsd · · Score: 1

    For a good laugh, check out this statue by Michelangelo: Statue of Moses in San Pietro in Vincoli
    Result of a slight mistranslation that Moses had horns. Makes him easier to distinguish from the other prophets, I guess...

    --
    To be, or not to be: isn't that quite logical, Slashdot Beta?