FLASH log

zoldnap at freemail.hu zoldnap at freemail.hu
Wed Jul 12 13:17:57 CEST 2006


> > Ahhoz mit szolsz, hogy hasznalat elott, minden log-lapra rairsz valami
> > ID-t a 0. pozicioba.
> > Bekapcsolaskor igy binaris keresessel meg tudod talalni az utolso, ID-t
> > tartalmazo lapot.
> > Adatelvesztes sem lesz, hiszem amikor az ID-t rairod a lapra, meg nincs
> > rajta semmi, ami elveszne.
> 
> Otletnek nem rossz, erre en is gondoltam.
> 
> Viszont "vegtelenites" eseten (amikor a vegere erve az elejerol ujrakezni)
> Nem igazan hasznalhato.
> Hacsak nem ugy, hogy az ID inkrementalodik, es igy tudod, hogy hanyadik 
> ujrairasnal tartasz...

ja hogy korkoros buffer kell.. akkor uj otlet :)
mi lenne, ha ugye van a 0..n egymas utan levo flash lap. minden flash
lap 0. poziciojaban csak egy iranyjelzo bit van, ami jelzi, hogy a
legutolso lap az elorebb vagy hatrebb van. Ekkor:
utolso lap keresese: sima binaris kereses
utolso lapra iras: megkeresni az utolso lapot binaris keresessel, rairni
a tartalmat, vagy ha nincs eleg hely mar azon, akkor elobb modositani az
iranyjelzo bitet a megtalalt oldalon, es kiirni a tartalmat a kovetkezo
lapra.

ekkor ha nem nezek be semmit, akkor:
- az utolso lapra mutato "pointer" elosztottan van tarolva, tehat kb.
n*(flash_irasi_ciklusok/2) szamu irast lehet csinalni a logba (elmeleti
maximum, feltetelezve, hogy minden log iras egy teljes lapot teleir)
- a kereses log n idot igenyel
- a rairas pedig (ha bekapcsolaskor a memoriaban eltaroljuk az utolso
lap sorszamat) akkor csak O(1) muvelet

ha elneztem volna valamit akkor bocs..

Zoli




More information about the Elektro mailing list