Annons

Formatering SD vad händer egentligen

Produkter
(logga in för att koppla)
Alternativet är att inte utnyttja hela minnet, vilket kan upplevas som irriterande av användaren.
 
Man lägger bilderna konsekutivt efter varandra så är det inget problem.
Men visst om man inte formaterar om kortet då & då så går givetvis inte det.
Vilket också gör att skrivning tar längre tid, även om den tiden är kort så blir den längre.
 
Ja, det handlar om vad som händer om man raderar bilder från minnet och inte formaterar. Till slut blir alla filer fragmenterade.

Jag tror inte att skrivtiden blir märkbart mindre. Kanske inte ens mätbart mindre (med rimliga mätmetoder).
 
Givetvis är datahastigheten största hindret.
Men att fragmentera filerna i sig tar mer tid, utan tvekan. Sen att lägga dem konsekutivt eller inte har du nog allt rätt i att det inte tar mycket mer tid. Beror ju lite på hur FATen byggs upp i realtid.
Om det är en serie eller bild för bild.
 
Om minneskontrollern tar hand om blockallockering för filen så kan detta ske parallellt med dataskyfflandet från bildprocessorn. Man behöver förstås en buffert.
 
Jag vet det men det tar mer tid, stjäler mer ström, belastar processorer mer, skapar mer värme i en kamera som bara vill vara en kamera och ta bilder.
Verkar det då inte dumt att förbruka energi på ngt sådant?

Nej, jag upprepar, det tar inte mer tid. Och nej, det drar inte mer ström eller skapar mer processorlast :)

Rent praktiskt gör det verkligen inte det.

I ett flashminne har du inget läs-/skrivhuvud, du bara skickar saker till sina adresser. Om adresserna ligger i följd eller utspridda har ingen betydelse, accesstiden är den samma. (Eller för att vara mer exakt: det finns ytterst, ytterst små skillnader, men de skillnaderna slår åt bägge håll, och det oavsett om adresserna ligger i följd eller fragmenterade, så i praktiken jämnar det ut sig oavsett).

Var data rent fysiskt ligger på kortet har inte heller någon som helst praktisk betydelse. Tänk på att det du ser som en kontinuerlig lagringsyta rent hårdvarumässigt är någonting liknande ett raid-system av minnesbankar (flashkretsar) som kortets styrenhet fördelar ut saker bland, i mönster som ingen utom den som skrivit styrenheten känner till. Det är det här som Urban nämnde tidigare. Inte bara skrivs data utspritt, så vitt jag vet har man viss parallellskrivning (för ökad datasäkerhet), checksummor och liknande dessutom. Tänk på att det du ser som låt säga ett kort på 16 gigabyte kan vara uppbyggt av ett 32 (eller fler!) små flashkretsar på låt säga en gigabyte styck. När några adresser i en flashkrets använts tillräckligt många gånger blockeras de bort och man lägger istället deras data på några hittills oanvända adresser i samma flashkrets eller i en av de andra flashkretsarna. Hur stort "överskott" av egentligt utrymme styrkretsen har att laborera med är en faktor i hur lång livslängd ett minneskort har. Som jag har förstått det kan det ibland också vara så att ett minneskort på 16 gigabyte och ett på 32 gigabyte kan ha samma hårdvara internt, men beroende på hur hög felnivå man hittar efter tillverkning så gör man de som klarat sig bättre till ett 32-gigkort och de som har har mer fel till ett 16 gig-kort.

Om filsystemet sedan gör en fragmentering ovanpå det har ingen som helst betydelse. Det går lika fort att läsa eller skriva data i (vad filsystemet uppfattar som) en följd av adresser som i adresser som (filsystemet uppfattar som) utspridda över kortet.
 
Tycker Martin A. förklarar det väldigt väl här. Det är ingen koppling emellan det virituella/API-mässiga sättet som man presenterar informationen för enhenten (kameran, datorn, telefonen, etc) och det faktiska fysiska sättet/formatet som det sparas på. Detta hanteras helt av en ganska komplex mjukvara. Det gäller främst SSD, men har faktiskt även gällt magnetiska hårddiskar (iaf de senaste 15-20 åren).

Sedan gällande SSD så kompliceras det hela yttetrligare av att man inte alltid bara lagrar en bit per position. I den fall så lagras bara en bit per position/minnescell (precis som på en magnetisk hårddisk) och kallas då SLC (single level cell). I andra fall så kan flera bitar lagras per position/minnescell och kallas då MLC (multi level cell). Det är oftast 4 bitar per cell, och innebär då att istället för att spänningsnivån bara är av/på så har man 16 olika spänningsnivåer per minnesposition. Sedan finns även ett mellanting kallat TLC (triple level cell) där man, precis som det låtet, sparar 3 bitar per position/minnescell (dvs 8 olika definierade spänningsnivåer).

Fördelen med fler bitar per minnesadress/position/cell är att det bli billigare med att få in mer information på färre minnesceller. Nackdelen är att det blir lite långsammare, lite otillförlitligare, slits ut fortare (klarar färre antal skrivningar) och kortare hållbarhet (SSD-tenik har bra mycket kortare lagringstid än traditionella magnetiska hårddiskar, och börjar tappa information redan efter ett par år - därav att man inte rekommenderar SSD som arkivmedia eller långsiktiga backuper).

Alla SD-kort till kameror tror jag normalt är av SLC-typ (dvs en bit som lagras per minnescell/adress), men till andra SSD-typer är det typiskt MLC som gäller tex för de diskar som sitter i vanliga persondatorer (för servrar så brukar man normalt köra med SLC av prestanda och tillförlitlighetsskäl).

Allt detta, och det som Martin Agfors skriver, gör att det ofta inte finns en 1-1-matching emellan "API-mässiga" adresser eller faktiska fysiska minnesadresser.

Det bästa rådet är att bara använda tillförlitliga kort av kända tillverkare (jag kör enbart Samsung, Lexar och SanDisk), inte radera enstaka bilder på kameran om man inte måste (har själv några gånger tvingats göra det när jag fått fullt ute "i fält", och dumt nog inte haft tomma lediga kort) och där det är möjligt gärna ha backup i form av dubbla minneskort i kameran.
 
Det bästa rådet är att bara använda tillförlitliga kort av kända tillverkare (jag kör enbart Samsung, Lexar och SanDisk), inte radera enstaka bilder på kameran om man inte måste (har själv några gånger tvingats göra det när jag fått fullt ute "i fält", och dumt nog inte haft tomma lediga kort) och där det är möjligt gärna ha backup i form av dubbla minneskort i kameran.

Jag har alltid kört på de tre märkena för minneskort och SSD, och inte haft några problem. Däremot har jag följt råd från Scott Kelby, vilket varit att radera bilder redan i fält för att slippa gå igenom alla när man kommer hem. Har nu börjat fundera på om jag ska skippa det. Å andra sidan har jag inte haft några korrupta kort på kameror.

Enda problemet jag haft har varit på mina telefoner, främst min senaste, en Samsung Note 4. Den har med jämna mellanrum tappat bort enstaka kort jag tagit. Eller senast när jag tog ut kortet och säkerhetskopierade alla bilder, så tappade telefonen bort dem när jag satte tillbaka kortet.
 
Nej, jag upprepar, det tar inte mer tid. Och nej, det drar inte mer ström eller skapar mer processorlast :)

Rent praktiskt gör det verkligen inte det.

I ett flashminne har du inget läs-/skrivhuvud, du bara skickar saker till sina adresser. Om adresserna ligger i följd eller utspridda har ingen betydelse, accesstiden är den samma. (Eller för att vara mer exakt: det finns ytterst, ytterst små skillnader, men de skillnaderna slår åt bägge håll, och det oavsett om adresserna ligger i följd eller fragmenterade, så i praktiken jämnar det ut sig oavsett).

Var data rent fysiskt ligger på kortet har inte heller någon som helst praktisk betydelse. Tänk på att det du ser som en kontinuerlig lagringsyta rent hårdvarumässigt är någonting liknande ett raid-system av minnesbankar (flashkretsar) som kortets styrenhet fördelar ut saker bland, i mönster som ingen utom den som skrivit styrenheten känner till. Det är det här som Urban nämnde tidigare. Inte bara skrivs data utspritt, så vitt jag vet har man viss parallellskrivning (för ökad datasäkerhet), checksummor och liknande dessutom. Tänk på att det du ser som låt säga ett kort på 16 gigabyte kan vara uppbyggt av ett 32 (eller fler!) små flashkretsar på låt säga en gigabyte styck. När några adresser i en flashkrets använts tillräckligt många gånger blockeras de bort och man lägger istället deras data på några hittills oanvända adresser i samma flashkrets eller i en av de andra flashkretsarna. Hur stort "överskott" av egentligt utrymme styrkretsen har att laborera med är en faktor i hur lång livslängd ett minneskort har. Som jag har förstått det kan det ibland också vara så att ett minneskort på 16 gigabyte och ett på 32 gigabyte kan ha samma hårdvara internt, men beroende på hur hög felnivå man hittar efter tillverkning så gör man de som klarat sig bättre till ett 32-gigkort och de som har har mer fel till ett 16 gig-kort.

Om filsystemet sedan gör en fragmentering ovanpå det har ingen som helst betydelse. Det går lika fort att läsa eller skriva data i (vad filsystemet uppfattar som) en följd av adresser som i adresser som (filsystemet uppfattar som) utspridda över kortet.
Vi är överrens.
Min kommentar att det tar mer tid gäller när man fragmenterar filerna i sig.
Det är mycket snabbare att allokera upp adresserna för en bild och lägga dit den. Dessutom så är det mycket säkrare.
Jämfört med att dela upp bilden i fragment.
Då måste man:
allokera varje del för sig vilket tar tid.
hålla koll på vart var del finns. vilket tar tid o plats.
hålla koll på vilka delar som är upptagna på kortet eller inte. vilket tar plats o ökar komplexiteten att dela ut nya allokeringar.
 
Vi är överrens.
Min kommentar att det tar mer tid gäller när man fragmenterar filerna i sig.
Det är mycket snabbare att allokera upp adresserna för en bild och lägga dit den. Dessutom så är det mycket säkrare.
Jämfört med att dela upp bilden i fragment.
Då måste man:
allokera varje del för sig vilket tar tid.
hålla koll på vart var del finns. vilket tar tid o plats.
hålla koll på vilka delar som är upptagna på kortet eller inte. vilket tar plats o ökar komplexiteten att dela ut nya allokeringar.

Rent praktiskt har det sällan betydelse, men ibland kan man märka det, och det gäller särskilt när man tar video, som ju är ganska tidskritiskt om kortet "hänger på gärdsgården" när det gäller skrivhastighet. Om det är nyformaterat kan man kanske ta video utan problem, medan ett kort med fragmentering plötsligt kan stoppa inspelningen för att lagringen inte hann med och bufferten blev full.

Numera uppstår kanske inte de problemen lika ofta som förr, eftersom klass 10 har blivit så billigt att leverantörerna kanske inte ens tar in de lägre klasserna, men om man har kort klass 6 kan det hända att inspelningen stoppar när man tar video om kortet inte är formaterat, medan det går utmärkt att spela in på ett nyformaterat kort.
 
Vi är överrens.
Min kommentar att det tar mer tid gäller när man fragmenterar filerna i sig.

Och det är just det vi inte är överens om - för det spelar ingen praktisk roll heller :)

Det är mycket snabbare att allokera upp adresserna för en bild och lägga dit den. Dessutom så är det mycket säkrare. Jämfört med att dela upp bilden i fragment. Då måste man:
allokera varje del för sig vilket tar tid.

Nej, det tar faktiskt inte mer tid än att allokera saker i en följd. Det är i praktiken enbart antalet allokeringar (filens storlek) som påverkar tiden.

hålla koll på vart var del finns. vilket tar tid o plats.

Det tar inte mer tid (accesstider till vad filsystemet uppfattar som olika delar av minneskortet tar i genomsnitt exakt lika lång tid oavsett var de befinner sig) och tar bara en liten aning mer plats. Du måste ha omfattande fragmentering innan det märks på utrymmet (man märker det tydligare på en SSD där man ju läser och skriver data fler gånger på en timme än vad ett minneskort upplever på kanske ett år).

hålla koll på vilka delar som är upptagna på kortet eller inte. vilket tar plats o ökar komplexiteten att dela ut nya allokeringar.

Men det tar i praktiken inte mer tid det heller. Det gör faktiskt inte det :)

Ok, för att vara exakt, alla sakerna ihop kan ta en liten aning mer tid, men min poäng är att skillnaden är i rent praktisk mening försumbar. Dvs det märks inte. Möjligen kan den då - som Urban är inne på - märkas i fallet video där du har så enormt stora sammanhängande filer. Fast med moderna snabba kort märks det alltså inte heller där.

Glöm aldrig att systematiken (ordningen) på adressering i ett flashminne inte på något sätt är relaterad till någon egentlig fysisk position vilket gör att det inte blir någon praktisk skillnad att nå adresser vare sig de är i följd eller inte. Att hålla reda på många små intervall av adresser istället för ett enda stort intervall är förstås en aning mer jobb för processorn, men du får ha en otroligt seg och trött processor i kameran innan det märks i praktiken. Dagens kameror har tillräckligt snabba processorer för att inte fragmenterad adressering inte skall ha någon praktisk betydelse utom möjligen när filerna blir groteskt stora - dvs video.

Det här är ju en av de saker som gör flashminnen rätt koola - fragmentering i filsystemet är i de flesta praktiska sammanhang något man faktiskt - verkligen - kan strunta i. Ända tills man vill återskapa borttappade filer då det skapar en massa extra arbete. Men fram till dess är det i praktiken inte ett problem eller ens en märkbar prestandaförsämrare.
 
Kamerans, eller datorns, operativsystem kan bara logiskt adressera de platser som presenteras av kortets firmware, medan kortet kan sortera om bitarna som man egentligen inte har en aning om var de ligger. Det är därför det blir svårt när minnescellerna kan kommas åt efter att de har demonterats, då logiken i kortets firmware måste användas för att veta vilka adresser respektive minne har.
Funderade lite på det där. För att nå den funktionen så krävs en "controler". Det är i princip så ett RAID system fungerar. Och då menar jag inte 1x som egentligen inte är RAID utan en spegling.

Men det kan inte stämma för ett SD. För ett SD skall man kunna sätta in i alla möjliga o omöjliga apparater. Och man kan inte ha exakt samma controler-kort i dessa apparater.
Ibland när controlerkort går sönder i RAIDsystem så kan man läsa att förtvivlade tekniker försöker köpa gamla controlerkort för att sparka igång sina RAIDsystem igen.
Visst kan man ersätta controlerkorten med mjukvara.
Att välja hårdvara för controlern är för att den är så otroligt snabb, så snabb att den kan öka hastigheten genom att spara på flera diskar parallellt. Den bara rasslar på och märks helt enkelt inte.
Att då ersätta den med en mjukvara som inte gör att det går fortare blir ingen vinst.
+ att den skulle kräva plats och energi. Vilket man har dåligt av i en kamera.
 
Ok, för att vara exakt, alla sakerna ihop kan ta en liten aning mer tid, men min poäng är att skillnaden är i rent praktisk mening försumbar. Dvs det märks inte. Möjligen kan den då - som Urban är inne på - märkas i fallet video där du har så enormt stora sammanhängande filer. Fast med moderna snabba kort märks det alltså inte heller där.
Då är vi överrens om att det måste ta mer tid. Jag kan sträcka mig till att förstå att det är försumbart.
När det gäller video så sparas den normalt i sjok om 4GB mellan de sjoken tappas ibland en frame. I alla fall för Canon. Jag har slitit mitt hår ett bra tag innan jag begrep varför ljudet ekade när vi filmade en koncert från musikskolan tidigare i år. Men bara en frame för en kamera av 3 Canon & en Panasonic.
 
Funderade lite på det där. För att nå den funktionen så krävs en "controler". Det är i princip så ett RAID system fungerar. Och då menar jag inte 1x som egentligen inte är RAID utan en spegling.

Men det kan inte stämma för ett SD. För ett SD skall man kunna sätta in i alla möjliga o omöjliga apparater. Och man kan inte ha exakt samma controler-kort i dessa apparater.

SD-kort innehåller i stort sett alltid minst just en sådan styrenhet (controller), och inte sällan en helt komplett liten separat dator ... Vilket också gör SD-kort till potentiella säkerhetsrisker vilket - det går inte på något enkelt sätt att utifrån se exakt hur mycket funktionalitet ett SD-kort har. Ett till synes helt normalt minneskort kan köra en slimmad Linux-variant och ställa till med i stort sett vad som helst. Kombinera det med att det kanske (i smyg) är ett Eye-fi-kort som kopplar upp sig till nätverk i omgivningen ... Vilket är en orsak att man i många känsliga verksamheter undviker flashkort i allmänhet och SD-kort i synnerhet. Läs gärna den här artikeln och en del av de saker den länkar till som ger lite introduktion:
https://techcrunch.com/2013/12/29/sd-cards-arent-as-secure-as-we-think

Ett central citat: "The good news? SD cards contain powerful, handy micro controllers that are useful to hackers and hobbyists. The bad news? SD cards are woefully insecure."
 
Då är vi överrens om att det måste ta mer tid. Jag kan sträcka mig till att förstå att det är försumbart.

Och sådana saker som är försumbara är i all praktiskt mening inget vi behöver bry oss om :)

När det gäller video så sparas den normalt i sjok om 4GB mellan de sjoken tappas ibland en frame. I alla fall för Canon. Jag har slitit mitt hår ett bra tag innan jag begrep varför ljudet ekade när vi filmade en koncert från musikskolan tidigare i år. Men bara en frame för en kamera av 3 Canon & en Panasonic.

Det där att dela upp filerna i sjok om 4 GB har ju då och då lagt krokben för kameratillverkare, fråga till exempel Nikon hur bra de fick till den saken i D5 :)
 
Har D5 problem med det?

När den först släpptes kunde den bara spela in 4k-video i max tre minuter just eftersom den saknade förmågan att hantera sammanhängande klipp uppdelade på flera filer (i minneskortets filsystem). Intressant nog klarar ju D500 som släpptes samtidigt den saken utan problem (liksom kameror från de flesta andra märken som har 4k). Nu har man via en firmwareuppgradering kommit runt problemet.

För det priset borde man slippa sådant.

Det handlar nog mest om att 4k blev tillagt sent i utvecklingsprocessen för D5 medan det var med från början i D500.

I grunden handlar det ju om att man envisas om att köra ett urgammalt och med dagens mått mätt kasst filsystem i minneskort. Misstänker att första A7s hade liknande problem (som D5) med minneskortens filsystem, den kunde ju bara spela in 4k via hdmi-out till separat inspelare (där man kan välja filsystem fritt).
 
Det visst jag inte. Men det förklarar ju Canonhacket ML mer.

Läs gärna blogginlägget som artikeln länkade till. Hans beskrivning av hur SD-kort tenderar att vara uppbyggda är nog en ögonöppnare för många.

Magic Lantern är nog bra på att hantera minneskort (och kringgå deras svagheter), men dess uppkomst har i sig inget specifikt med minneskort att göra.
 
ANNONS
Upp till 6000:- Cashback på Sony-prylar