[openbeos] Re: Robustness

  • From: "Alexander G. M. Smith" <agmsmith@xxxxxxxxxxxxxxxxxxx>
  • To: openbeos@xxxxxxxxxxxxx
  • Date: Mon, 08 Apr 2002 13:27:59 EDT (-0400)

guillaume.maillard@xxxxxxxxxxx wrote on Mon, 8 Apr 2002 18:04:41 +0200:
> Often just 1 or 2 files are corrupted, but even if 98% of the files are
> dead, the FS must give you read access to the 2% still Ok.

Then there's the old Amiga file system.  Each data block had forward
and backards links to other blocks, plus I think also a link to the
file info block, plus a CRC.  So, instead of 512 data bytes per sector,
you get 488.  That prevents DMAing a big buffer to the disk, so it
has to write sector by sector.  But it was very reliable, even on
flakey disks which the normal file system wouldn't work on.

CDROMs have a nifty error correction scheme too.  Each 2048 byte sector
is something like 2300 bytes of data due to added error correcting codes,
and it is scattered around the disk.  So, sector N is really taken from
parts of several physical sectors.  If one of them gets blown away, it
has enough info from the remaining sectors and the error correction codes
to get back the data.  This fails when several sectors in a row are bad,
which is why they warn you to wipe your CDs from the hub outwards, not
in a circular pattern (which would wipe out several contiguous sectors
if it causes a circular scratch).

Perhaps an intermediary device driver which would add error correction
codes and scatter data over several blocks could help make an
unreliable device more reliable.

- Alex



Other related posts: