Portál AbcLinuxu, 12. května 2025 13:43

Dotaz: SD, write, erase jak to funguje?

14.4.2011 15:58 Sten Fil
SD, write, erase jak to funguje?
Přečteno: 419×
Odpovědět | Admin
Ahoj,

1. muzete me pls. nekdo navest na dokument kde by byl popis jak presne funguje zapis na SD karty?



Mam napr. SD s write/erase 512 byte/64 kilobyte.

2. Ma page velikost 512 a blok velikost 64 kilobyte?



Uplne prazdna SD karta s FAT32.

Vytvorim soubor a zapisu 50 byte.

3. Zapise se na SD karte 512 byte (tedy jedna page) ?



Na konec souboru pridam 50 byte.

4. Zapise se techto druhych 50 byte do jine page stejneho bloku, ktery se pouzil v bodu 3?



Ted jdu prepsat prvnich 50 byte.

5. Co se stane?



Diky
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

14.4.2011 16:07 Sten
Rozbalit Rozbalit vše Re: SD, write, erase jak to funguje?
Odpovědět | | Sbalit | Link | Blokovat | Admin
  1. Write block je blok, který se zapisuje najednou, erase block je blok, který se najednou maže (před dalším zápisem).
  2. Ne, alokační blok na FAT má velikost 512 bajtů (ve výchozím nastavení) a ta velikost nemá žádný vztah k blokům na samotném médiu (kromě toho, že je to taky mocnina dvojky).
  3. Ano, zapíše se celý write block
  4. Ne, celý erase block se smaže a zapíše upravený.
  5. Celý erase block se smaže a zapíše upravený.
14.4.2011 16:18 Sten Fil
Rozbalit Rozbalit vše Re: SD, write, erase jak to funguje?
4. a 5. se mi nezda. V tuhle chvili jsem provedl 1 200 000 takovychto zapisu, takze predpokladam ze je nejaka logika na SD karte. Nejaky wire level logic.
14.4.2011 16:32 Sten
Rozbalit Rozbalit vše Re: SD, write, erase jak to funguje?
Ano, je tam wear leveling, ale funguje to stejně. Najde se erase block, který by měl být nahrazen (kam se ten upravený write block umístí), ten se vymaže a do něj se zapíší upravená data. Když se tenhle blok zaplní, zase se najde jiný a znovu se vymaže. Mohou tam být nějaké optimalizace, např. se asi nebude mazat při každém zápisu, ale jenom po zaplnění celého erase blocku (ale zapisují se vždy celé write blocky, nikoliv jenom třeba posledních 50 bajtů), ale na funkčnosti to moc nemění.
14.4.2011 16:54 Sten Fil
Rozbalit Rozbalit vše Re: SD, write, erase jak to funguje?
To mi vychazi, ze kdyz mam 100 byte soubor, jehoz cast prepisuju, tak pri kazdem prepisu i kdyz se jedna o prepsani jen 50 byte, dojde k pouziti celeho noveho bloku.

A neni mozne, ze by se skalovalo na urovni write page, ze by se pri zapisu 50 byte nasel nejaky blok ve kterem je volny write page, tam by se zapsalo a SD by si jen poznacila ze "tento sektor" je na novem fyzickem miste?

Se omlouvam za nepresne pojmy.
14.4.2011 16:14 Sten Fil
Rozbalit Rozbalit vše Re: SD, write, erase jak to funguje?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Strucne receno potrebuju pomoc s vypoctem kolikrat mohu zapsat 50 byte do souboru nez dojde k poskozeni karty. Mam 128 MB SD kartu. Diky
Jendа avatar 14.4.2011 20:27 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: SD, write, erase jak to funguje?
V nejblbějším případě - přepis bez wear levellingu - tolikrát, kolik má karta povolených zápisů. V nejchytřejším případě - nějaká SW implementaci TRIM, protože řadič SD TRIM neumí - (velikost karty)/(velikost write blocku), tedy 250 miliónkrát.
Jendа avatar 14.4.2011 20:27 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: SD, write, erase jak to funguje?
(velikost karty)/(velikost write blocku), tedy 250 miliónkrát.
× počet povolených zápisů, samozřejmě.
15.4.2011 08:55 Sten Fil
Rozbalit Rozbalit vše Re: SD, write, erase jak to funguje?
takze (velikost karty)/(velikost write block)

a rozhodne ne (velikost karty)/(velikost erase block)

A v pripade ze mam napr. 65 KByte soubor rozdeleny na 50 bytove zaznamy, ktere stale dokola prepisuju? Neco na zpusob kruhoveho buferu?

Taky pocet zapisu = (velikost karty)/(velikost write block) * max zapisu write block ?

15.4.2011 09:28 miso | skóre: 36 | blog: iSCSI_initiator_howto | Praha
Rozbalit Rozbalit vše Re: SD, write, erase jak to funguje?
Odpovědět | | Sbalit | Link | Blokovat | Admin
42
Project Satan infects Calculon with Werecar virus
15.4.2011 09:31 Sten Fil
Rozbalit Rozbalit vše Re: SD, write, erase jak to funguje?
Diky za odkaz.

Jenze SSD je neco jineho tam je write/erase block stejne velikosti.
17.4.2011 20:44 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: SD, write, erase jak to funguje?
Obecně není něco jiného. Jako protipříklad se můžete podívat na tam odkazovaný článek na LWN, který měřil SSD a naměřil různé velikosti write a erase bloků. Problém dnes je, že oblast větších flashových pamětí je velmi neustálená, výrobci zkouší všelijaké metody a především skutečnou vnitřní architekturu tají, takže co píše specifikace, co o sobě tvrdí zařízení a skutečnost bývají tři různé věci.
18.4.2011 00:21 Sten
Rozbalit Rozbalit vše Re: SD, write, erase jak to funguje?
Write a erase block na SSD nejsou stejné velikost. SSD má write block 512 B (případně 4 KiB) a erase block většinou 512 KiB.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.