Re: Why burnfree is off by default?
"ROBERTOJIMENOCA@terra.es" <ROBERTOJIMENOCA@terra.es> writes:
> Matthias Andree wrote:
>> "ROBERTOJIMENOCA@terra.es" <ROBERTOJIMENOCA@terra.es> writes:
>> > Could you set burnfree on by default or give a competent reason to turn
>> > off burnfree?
>> "Burn-proof", "Burnfree", "Just Link", "Seamless Link" or however the
>> vendor of the day call their technique to interrupt a streaming write
>> and pick up later where they left off always trash a few bits, it's not
>> a perfect seamless link - the LASER needs to be switched from reading
>> power to writing power, the exact position needs to be used, and this
>> isn't trivial.
>> If I recall correctly, the
> first generation of these techniques could
>> "cost" near 50 bits, later ones 14 bits, I'm not sure how many bits are
>> trashed by current implementations. "bit" here refers to either pit or
>> land as the actual physical smallest bit of information.
>> While the various coding layers of forward error correction codes can
>> fix some broken bits, this also means that you are already using
>> correcting capability for the "link", and this capability is no longer
>> available (already used up) to compensate for scratches, air bubbles in
>> the polycarbonate, aging material or just a random error.
>> For this reason it's best to not use these link capabilities but write a
>> continuous stream. I presume that might have been a reason to leave this
>> feature off by default. Reducing write speed is often a better
>> alternative, and you have a -dummy mode...
> You mean that even if there's no buffer underrun the 50 bits or 14 bits
> are always lost in writes around the disk?
These bits are lost each time Burnproof (or whatever its name) kicks in
because the buffer has run empty.
> Otherwise that could be always left on by default and warn the user when
> the disk write is completed that the disk used burnfree at least once
> and may not be conformant.
Well, you can use /etc/default/cdrecord to that extent. I'm using this
on Linux 2.6 (it also sets the buffer size to 64 MB) to achieve that:
plex= /dev/hdd -1 64m burnfree
nec= /dev/hdc -1 64m burnfree