AllInfo

Vad Gör eMMC Blixt Minne Livskraftig i Mobila Enheter, men Inte St?

Med hjälp av flash minne för att köra en desktop-system, som Windows, var det avråds från under ganska lång tid. Men vad som gjorde det till ett önskvärt och genomförbart alternativ för mobila enheter? Idag är SuperUser Q&A-post har svar till en nyfiken läsare fråga.

Dagens session med frågor Och Svar kommer till oss artighet av SuperUser—en indelning av Stack Exchange, en community-driven gruppering av Q&A sidor.

Frågan

SuperUser läsare RockPaperLizard vill veta vad som gör eMMC blixt minne livskraftig i mobila enheter, men inte Datorer:

Ända sedan USB-flash-enheter uppfanns, folk har undrat om de kunde köra deras operativsystem på dem. Svaret var alltid “nej” eftersom antalet skrivningar som krävs av ett operativsystem skulle snabbt ha dem ute.

Eftersom Ssd-enheter har blivit mer och mer populärt, wear-leveling tekniken har förbättrats för att möjliggöra ett operativsystem för att köra på dem. Olika surfplattor, netbooks och andra slim-datorer använder flash-minne istället för en hårddisk eller SSD, och operativsystemet är lagrat på den.

Hur har det plötsligt blivit praktiskt? Gör de oftast genomföra wear-leveling-teknik, till exempel?

Vad gör eMMC blixt minne livskraftig i mobila enheter, men inte St?

Svara

SuperUser bidragsgivare Speeddymon och Gesäll Nörd har svaret för oss. Först upp, Speeddymon:

Alla minnen, från tabletter till mobiltelefoner, smarta klockor, Ssd-enheter, SD-kort i kameror, USB-minnen använder NVRAM-teknik. Skillnaden är i NVRAM-arkitektur och hur operativsystemet monteras filsystem på vad lagringsmedium den är på.

För Android-surfplattor och mobiltelefoner, NVRAM teknik är eMMC-baserade. De data som jag kan hitta på denna teknik föreslår mellan 3k till 10k skriva cykler. Tyvärr, inget av vad jag har hittat hittills är definitiv, som Wikipedia är tom på denna teknik är att skriva cykler. Alla andra ställen som jag har tittat råkade vara olika forum, så knappast vad jag skulle kalla en tillförlitlig källa.

För jämförelse skull, skriva cykler på andra NVRAM teknik såsom Ssd-enheter, som använder NAND eller NOR-teknik, är mellan 10k och 30k.

Nu, när det gäller operativsystemet val av hur man kan montera filsystem. Jag kan inte tala om hur Apple gör det, men för Android, chip är uppdelad ut som en hårddisk skulle vara. Du har ett operativsystem partition, en data-partition, och flera andra egna partitioner som beroende på tillverkaren av enheten.

Den verkliga roten partition liv i den starthanterare som är paketerade som en komprimerad fil (jffs2, cramfs, etc.) tillsammans med kärnan, så att när enheten är steg 1-start är komplett (tillverkarens logotyp skärmen oftast), då kärnan startar och rot-partitionen är samtidigt monteras som en RAM-disk.

När operativsystemet startar upp, det monteras den primära partitionen är filsystemet (/- systemet, som är jffs2 på enheter innan Android 4.0, ext2/3/4 på produkter, eftersom Android 4.0, och xfs på senaste enheter) som läs-och bara så att inga data kan skrivas till det. Detta kan naturligtvis ha arbetat runt med så kallade “hejar” på din enhet, vilket ger dig tillgång som super user och gör att du kan montera partitionen som läsa/skriva. Din “user” data skrivs till en annan partition på chip (/data, som följer samma konvention som ovan baserad på Android-version).

Med fler och fler mobiltelefoner dikning SD-kortet slots du kanske tror att du kommer att träffa skriva cykel cap förr eftersom alla dina uppgifter är nu sparat till eMMC-lagring istället för ett SD-kort. Lyckligtvis, de flesta filsystem upptäcka en misslyckad skriva att ett visst område av lagring. Om en skriver misslyckas, då data är tyst sparas till ett nytt område för lagring och dåligt område (känd som en dålig block) är avspärrat av filsystemet föraren så att data inte längre skrivs det i framtiden. Om en läsa misslyckas, då de uppgifter som är markerade som korrupt och antingen användaren berättade att köra en fil som system check (eller check disk), eller enheten kontrollerar automatiskt filsystem under nästa uppstart.

I själva verket har Google ett patent för att automatiskt upptäcka och hantering av felaktiga block: Hantera dåliga block i flash-minne för elektroniska data-flash-kort

För att få mer till den punkt, din fråga om hur detta plötsligt blev praktiskt är inte rätt fråga att ställa. Det var aldrig opraktiskt i första hand. Det var starkt avråds du installerar ett operativsystem (Windows) på en SSD (förmodligen) på grund av antalet skriver det gör att en disk.

Till exempel registret får bokstavligen hundratals läser och skriver per sekund, vilket kan ses med Microsoft-SysInternals Regmon Verktyg.

Installera Windows var som det avråds från den första generationens Ssd-enheter på grund av brist på wear leveling, data skrivs till registret varje sekund (sannolikt) till slut fångas upp till early adopters och resulterade i ett ostartbart system på grund av att registret korruption.

Med surfplattor, mobiltelefoner, och ganska mycket någon annan inbyggda enheten, det finns ingen registret (Windows Inbyggda enheter som undantag, naturligtvis) och det är därför inte oroa sig av data som hela tiden skrivs till samma delar av flash medium.

För Windows-Inbäddade enheter, såsom många av de kiosker som finns på offentliga platser (som Walmart, Kroger, etc.) där kan du se en slumpmässig BSOD från tid till tid, det är inte en hel del konfiguration som kan göras eftersom de är pre-designade med inställningar som är avsedda att ändra aldrig. Den enda gången det sker förändringar är innan chip är skriven i de flesta fall. Allt som behöver sparas, till exempel din betalning till mataffären, sker över nätet för att butikens databaser på en server.

Följt av svaret från Journeyman Geek:

Svaret var alltid “nej” eftersom antalet skrivningar som krävs av ett operativsystem skulle snabbt ha dem ute.

De äntligen blev kostnadseffektivt för vanliga användningen. Att “bära” är den enda oro är lite av ett antagande. Det har varit system som kör mindre ssd-minnet för en lång tid. Många människor som byggt bilen-datorer startas av CF-kort (som var elektriskt kompatibla med PATA och busenkelt att installera jämfört med PATA-hårddiskar), och industridatorer har haft liten, robust flash-baserad lagring.

Som sagt, det fanns inte många alternativ för den genomsnittliga personen. Du kunde köpa en dyrare CF-kort och en adapter för en bärbar dator, eller hitta en liten, mycket saftigt industriell disk på en modul enhet för en stationär. De var inte särskilt stor jämfört med moderna hårddiskar (moderna IDE DOMs toppen ut på 8GB eller 16GB tror jag). Jag är ganska säker på att du kunde ha fått solid state-diskar ställa upp långt innan standard för Ssd-enheter blev vanliga.

Det har egentligen inte varit någon universal/magiska förbättringar i wear leveling såvitt jag vet. Det har varit inkrementella förbättringar, medan vi har varit på väg bort från saftigt SLC till KONVENTIONEN, TLC, och även QLC tillsammans med mindre processen storlekar (alla lägre kostnad med lite högre risk för att bära ut). Flash har fått en hel del billigare.

Det fanns också ett par alternativ som inte har slitage frågor. Till exempel att köra hela systemet av en SKIVA (som är utan tvekan ssd-lagring ) och batteriet backas RAM, som många tidiga Ssd-enheter och bärbara enheter, som en Palm Pilot används. Ingen av dessa är vanlig idag. Hårddiskar skakade jämfört med att säga, batteriet backas RAM (för dyrt), tidig ssd-enheter (något dyrare), eller bönder med flaggor (aldrig fångats på grund av fruktansvärda data densitet). Även moderna flash-minne är en ättling av snabbt radera eeproms och eeproms har använts i elektroniska anordningar för förvaring av saker som firmware för åldrar.

Hårddiskar var helt enkelt på en fin korsning av hög volym (vilket är viktigt), låg kostnad, och relativt tillräckligt med lagringsutrymme.

Anledningen till att du hittar eMMCs i moderna, låga slutet datorer är komponenter är relativt billiga, stora nog (för desktop-operativsystem) på att kostnad och dela gemenskap med mobiltelefon komponenter, så som de framställs i bulk med ett standardiserat gränssnitt. De ger också stor täthet av lagring för deras volym. Med tanke på många av dessa maskiner har en ynka 32GB eller 64GB disk, i nivå med hårddiskar från större delen av ett decennium sedan, de är ett vettigt alternativ i denna roll.

Vi har slutligen nått fram till den punkt där du kan lagra en viss mängd minne kostnadseffektivt sätt och med rimlig hastighet på eMMCs och blixt, vilket är varför människor går för dem.

Har något att tillägga till förklaring? Ljudet i kommentarerna. Vill läsa fler svar från andra tech-savvy Stack Exchange-användare? Kolla in den fullständiga diskussionen tråd här.

Image Credit: Martin Voltri (Flickr)

Exit mobile version