extra redundancy voor optishe disks

Pagina: 1
Acties:
  • 125 views sinds 30-01-2008
  • Reageer

  • SuperNull
  • Registratie: Maart 2002
  • Laatst online: 20-09-2022
Hoi. Ik ben een informatica student en heb een idee voor een project voor een speciaal FS voor optische dragers. Voordat ik er aan begin zoek ik wat feedback.

Als je een data CD/DVD brandt, gooi je em maar zelden vol omdat de data maar zelden een veelvoud is van 700MB (of 4.4GB).
Als de snelheid van het branden er minder toe doet en de integriteit van de data meer, is er op zich geen enkele reden om de lege ruimte niet vol te gooien met redundantie. Extra checksums dus.

Het uiteindelijke product om dit te bereiken zou zo moeten werken;
De brand-software berekend de hoeveelheid vrije ruimte en creerd automatisch extra checksums om mee te fikken. Hoe meer vrije ruimte, hoe meer redundantie
Het gevolg is dat als een gebruiker bij voorbeeld maar 1GB van een beschrijfbare DVD gebruikt, een computer alle data feilloos terug kan lezen, ook al zitten er diepe krassen op de DVD. Er is immers 3.4GB aan extra data om de leesfouten te corrigeren.

Het systeem kan backwards compatible worden gemaakt door de extra data gewoon als files op te slaan.
Zolang de driver van de CD/DVD drive en het OS snappen wat de extra files zijn, kan de schijf terug gelezen worden ongeacht eventuele beschadigingen.
Voor belangrijke data (boekhouding backups etc..) kan dit erg nuttig zijn.

Ik loop al een tijdje met dit idee rond en zit eraan te denken om diep in de materie te duiken om dit te realiseren. Ik zou echter eerst willen weten hoe anderen hierover denken. Is dit eerder gedaan (ik heb niets kunnen vinden)? Hoe handig denken jullie dat dit in de praktijk is?

Alvast bedankt

[ Voor 4% gewijzigd door SuperNull op 03-02-2007 09:26 ]


Verwijderd

Probleem met die 'files' zijn dat om dat te lezen je dus wel een werkende TOC (Table of Contents) moet hebben op je CDFS; en als je alles legacy-compatible wilt houden heb je daar dus geen redundantie op enzo. Immers; om die redundancy files uit te lezen zul je de TOC moeten weten, of je moet de hele cd afstruimen op een magic marker oid.

Maar wel een leuk idee. Toch weet ik niet hoe nuttig dit zal zijn: je kunt het alleen echt gebruiken als je een aangepast OS/drivers hebt en geen enkel slim iemand zal gegevens op cd branden die 1) belangrijk zijn en 2) alleen op die ene cd staan. Dus als de cd fouten heeft is het simpel om een nieuw cdtje te branden. Dergelijke redundantie zou ik meer zien zitten op een backup systeem wat zelf betrouwbaar genoeg is.

[ Voor 38% gewijzigd door Verwijderd op 03-02-2007 09:32 ]


  • joopv
  • Registratie: Juli 2003
  • Niet online
Uitstekend idee!

Op Usenet worden parity files gebruikt (par2). Als je bronbestand beschadigd (vanwege het onbetrouwbare karakter van Usenet) is kun daarmee de zaak repareren.

Die parity files kun je maken met een programma zoals quickpar.

  • SuperNull
  • Registratie: Maart 2002
  • Laatst online: 20-09-2022
De TOC kan natuurlijk ook redundant worden opgeslagen.
Als de normate TOC stuk is, zou de disk van achteren naar voren scannen totdat je een referentie naar een van de vele plekken vindt waar de TOC staat, een oplssing kunnen zijn om de boel backwards compattible te houden (de redundante files staan natuurlijk achteraan).
Het is natuurlijk trager, maar je hebt wel je files uiteidelijk ;)

Dat niemand anders de drivers/FS support hiervoor heeft is natuurlijk wel een bummer.

[ Voor 10% gewijzigd door SuperNull op 03-02-2007 09:49 ]


  • TetsuoShima
  • Registratie: Augustus 2005
  • Laatst online: 10-12-2025

TetsuoShima

low energy output

Zoiets doen met 'extra files' is op het eerste zicht inderdaad niet de beste oplossing. Door de reeds vermeldde redenen.

Je kan zoiets in theorie wel doen door een compleet nieuw filesystem of te bouwen met bijpassende software (en driver support). Nadeel in dat geval is dan weer dat je die specifieke software gaat nodig hebben om de data uit te lezen. Het is normaal gezien wel mogelijk om het 'backward compatible' te houden, maar op het eerste zicht lijkt me dat ten koste van prestaties te gaan en je kan dan nog steeds een 'beschadigde' disk alleen uitlezen met de correcte software. Dat en dat het voor 1 persoon onbegonnen werk is.

Het allersimpelste, is het wel met files doen, je niets aantrekken van de mogelijke TOC problemen en je concentreren op het nieuwe software aspect. Maw, geen volledig nieuw filesystem, maar gewoon met files zoals je zegt en software schrijven die de disk gewoon uitleest of hij de toc nu kan accessen of niet. Op die manier lees je alle data (zowel corrupt als intact) uit en met je software haal je daar dan de nuttige data uit. Dit is ook zeer makkelijk 'backward compatible' te houden, je kan dan wel enkel de 'beschadigde data' uitlezen met dat ene programma en het duurt natuurlijk ook een hele tijd, echt snelheids efficient zal het niet zijn met beschadidge data, maar je hebt tenminste de data nog (mits voldoende redundantie).

Ik ben zelfs vrij zeker dat er voor de aparte onderdelen van zulk een 'project' reeds software bestaat, gewoon nog niet als 1 werkend geheel.

In principe kom je dan al toe als je een script schrijft dat die programmas aan elkaar koppelt.
1. je leest uit hoeveel 'redundantie' ruimte je hebt
2. je maakt de redundantie files en schrijft die samen op de cd met de rest (volgorde is niet van belang)
3. je laat de cd volledig uitlezen, errors worden genegeerd en overgeslagen, je slaat het dergelijk materiaal op (hetzij in memory, hetzij op hdd)
4. je gebruikt de redundantie over de volledige schijf
5. al naargelang de fouten en aanwezige redundantie heb je alle originele files terug, maakt niet uit welke specifieke locatie niet meer leesbaar was

Je hebt dus geen redundantie per opgeslagen item, maar redundantie op het geheel. Nu, dat is snel gezegd en geschreven, het maken is nog altijd een serieus project, zelfs als je gemakkelijk command line driven software kan vinden om in een 'script' te gebruiken (ligt er al aan hoe goed de gebruikte software bij de eisen aansluit), sommige delen zal je waarschijnlijk zowieso wel vanaf nul moeten schrijven. Als je alles volledig moet opbouwen, is ook dit project waarschijnlijk niet doenbaar als een project voor 1 persoon gedurende 1 jaar (ligt er al aan hoeveel kennis je hebt en hoeveel je moet opzoeken).

Om mee te eindigen, het is waarschijnlijk meer werk dan dat het nut heeft...

Evil is done without effort, naturally, it is the working of fate; good is always the product of an art.


  • SuperNull
  • Registratie: Maart 2002
  • Laatst online: 20-09-2022
Bedankt voor de feedback.

  • lordsnow
  • Registratie: Maart 2000
  • Laatst online: 24-02 19:21

lordsnow

I know nothing

Het idee is niet nieuw. En inderdaad, ik denk dat je je 't best eens kan verdiepen in PAR zoals hier boven al eens aangegeven. PAR maakt extra bestanden aan, met redundancy info over de bestanden die jij opgeeft. Deze bestanden kan je gewoon meefikken op CD/DVD.

  • The Eagle
  • Registratie: Januari 2002
  • Laatst online: 20:23

The Eagle

I wear my sunglasses at night

Ik zou me eens verdiepen in de vormen van RAID die er zijn en dat toepassen op een CD. Klein voorbeeldje: CD tov raid-5:
CD past 700MB. Delen door 3. Dat is je effectieve data die je weg kunt schrijven. Eerste deel bevat de even bits, 2e deel de oneven bits en 3e deel de redundancy. Leuke is: je kunt combineren. RAID1+0 ofzo. Kost je wel 3/4 van je disk, maar altijd te lezen :P

Al is het nieuws nog zo slecht, het wordt leuker als je het op zijn Brabants zegt :)


  • 4VAlien
  • Registratie: November 2000
  • Laatst online: 15-02 16:07

4VAlien

Intarweb!

Voor optische schijven is eigenlijk toch alleen het low level spoor interessant? Op het ruwe data spoor moet je een bepaalde foutcorrectie hebben zodat je wat krasjes kan verdragen. Als het om belangrijke data gaat dan is het zowiezo beter om op meerdere schijven te branden en die op verschillende plekken op te slaan, ik denk niet dat dit een nuttige oplossing is. En in de redundantie van de ruwe data zit genoeg uitdaging ( foutcorrigerende matrices, algebra).

  • Henk007
  • Registratie: December 2003
  • Laatst online: 06-04-2025
Er is al (jaren) een optisch formaat met een device-based defect management en een read-after-write mogelijkheid: DVD-RAM

Bekijk verder dit project eens op SourceForge : dvdisaster
Dat is zo'n beetje wat TS wil. Belangrijk is om de recovery data niet op dezelfde schijf te zetten als de data zelf. Werkt net als QuickPar met een Reed-Solomon algoritme, maar niet op bestandsniveau maar op image niveau.

[ Voor 61% gewijzigd door Henk007 op 05-02-2007 15:43 ]


  • begintmeta
  • Registratie: November 2001
  • Niet online

begintmeta

Moderator General Chat
Inderdaad DVD-RAM wilde ik ook noemen, gebruik ik al jaren voor backups. Verder maakt het niet zoveel uit als de hoeveelheid gegevens niet precies overeenkomt met de grootte, dan brand je later wat bij, of je splitst grote bestanden.

Verwijderd

SuperNull schreef op zaterdag 03 februari 2007 @ 09:23:
Hoi. Ik ben een informatica student en heb een idee voor een project voor een speciaal FS voor optische dragers. Voordat ik er aan begin zoek ik wat feedback.

Als je een data CD/DVD brandt, gooi je em maar zelden vol omdat de data maar zelden een veelvoud is van 700MB (of 4.4GB).
Als de snelheid van het branden er minder toe doet en de integriteit van de data meer, is er op zich geen enkele reden om de lege ruimte niet vol te gooien met redundantie. Extra checksums dus.

Het uiteindelijke product om dit te bereiken zou zo moeten werken;
De brand-software berekend de hoeveelheid vrije ruimte en creerd automatisch extra checksums om mee te fikken. Hoe meer vrije ruimte, hoe meer redundantie
Het gevolg is dat als een gebruiker bij voorbeeld maar 1GB van een beschrijfbare DVD gebruikt, een computer alle data feilloos terug kan lezen, ook al zitten er diepe krassen op de DVD. Er is immers 3.4GB aan extra data om de leesfouten te corrigeren.

Het systeem kan backwards compatible worden gemaakt door de extra data gewoon als files op te slaan.
Zolang de driver van de CD/DVD drive en het OS snappen wat de extra files zijn, kan de schijf terug gelezen worden ongeacht eventuele beschadigingen.
Voor belangrijke data (boekhouding backups etc..) kan dit erg nuttig zijn.

Ik loop al een tijdje met dit idee rond en zit eraan te denken om diep in de materie te duiken om dit te realiseren. Ik zou echter eerst willen weten hoe anderen hierover denken. Is dit eerder gedaan (ik heb niets kunnen vinden)? Hoe handig denken jullie dat dit in de praktijk is?

Alvast bedankt
kansloos. Je kunt nooit een floatende redundantie berekenen en als dat wel mogelijk is duurt dat onredelijk lang. Ik ben al lang voorstander van de diagonale ECC methode waardoor er 3 extra bits zijn per byte (X,Y en diagonaal in een bitveld van 8x8=64 bits). De kans dat hier iets mee fout gaat is zo enorm klein.

Dit bedoel ik: Afbeeldingslocatie: http://img241.imageshack.us/img241/949/untitledct3.png

  • joopv
  • Registratie: Juli 2003
  • Niet online
4VAlien schreef op maandag 05 februari 2007 @ 15:21:
Voor optische schijven is eigenlijk toch alleen het low level spoor interessant? Op het ruwe data spoor moet je een bepaalde foutcorrectie hebben zodat je wat krasjes kan verdragen. Als het om belangrijke data gaat dan is het zowiezo beter om op meerdere schijven te branden en die op verschillende plekken op te slaan, ik denk niet dat dit een nuttige oplossing is. En in de redundantie van de ruwe data zit genoeg uitdaging ( foutcorrigerende matrices, algebra).
De foutcorrectie is dan wel goed genoeg voor krassen, maar het probleem is dat de manier waarop DVD-r's en CD-r's defect raken totaal anders is.

In de praktijk heb je te maken met chemische decompositie, met slecht afgedichte layers, met verkleuring t.g.v. licht, en dat soort ellende, vooral van goedkope media en/of slecht opgeslagen media.

Krassen (error bursts) worden weliswaar door de standaard ingebouwde foutcorrectie systemen goed gecorrigeerd, maar zijn v.w.b. foutoorzaak nauwelijks van belang, althans als je de kinderen niet met je kostbare backups laat spelen.
Pagina: 1