Hemsida » hur » Vad gör eMMC Flash Memory Viable i mobila enheter, men inte datorer?

    Vad gör eMMC Flash Memory Viable i mobila enheter, men inte datorer?

    Användning av flashminne för att köra ett skrivbordssystem, som Windows, råddes mot ganska länge. Men vad gjorde det till ett önskvärt och genomförbart alternativ för mobila enheter? Dagens SuperUser Q & A inlägg har svaret på en nyfiken läsarens fråga.

    Dagens Question & Answer-session kommer till oss med tillstånd av SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.

    Frågan

    SuperUser-läsaren RockPaperLizard vill veta vad som möjliggör eMMC-flashminne i mobila enheter, men inte PC:

    Ända sedan USB-flashenheter uppfanns, har människor undrat sig om de kunde köra sina operativsystem på dem. Svaret var alltid "nej" eftersom antalet skrivningar som krävs av ett operativsystem skulle snabbt bära dem ut.

    Eftersom SSD-enheter har blivit mer populära har slitstyrningstekniken förbättrats för att operativsystem ska kunna köras på dem. Olika tabletter, netbooks och andra smarta datorer använder flashminne istället för en hårddisk eller SSD, och operativsystemet är lagrat på det.

    Hur blev det plötsligt praktiskt? Genomför de vanligtvis slitstyrningstekniken, till exempel?

    Vad gör eMMC-flashminne möjlig i mobila enheter, men inte datorer?

    Svaret

    SuperUser bidragsgivare Speeddymon och Journeyman Geek har svaret för oss. Först upp, Speeddymon:

    Alla flashminne enheter, från tabletter till mobiltelefoner, smarta klockor, SSD, SD-kort i kameror och USB-tumminer använder NVRAM-teknik. Skillnaden är i NVRAM-arkitekturen och hur operativsystemet monterar filsystemet på vilket lagringsmedium det är på.

    För Android-tabletter och mobiltelefoner är NVRAM-tekniken eMMC-baserad. De data som jag kan hitta på denna teknik föreslår mellan 3k till 10k skrivcykler. Tyvärr är inget av det jag hittat hittills definitivt, eftersom Wikipedia är tomt på denna teknologins skrivcykler. Alla andra platser jag har tittat råkade vara olika forum, så knappast vad jag skulle kalla en tillförlitlig källa.

    För jämförelseskäl är skrivcyklerna på annan NVRAM-teknik som SSD, som använder NAND eller NOR-teknik, mellan 10k och 30k.

    Nu när det gäller operativsystemets val av hur man monterar filsystemet. Jag kan inte prata om hur Apple gör det, men för Android är chipet partitionerat som en hårddisk skulle vara. Du har en operativsystempartition, en datadisition och flera andra egna partitioner beroende på tillverkaren av enheten.

    Den verkliga rotpartitionen lever inuti startläsaren, som är buntad som en komprimerad fil (jffs2, cramfs, etc.) tillsammans med kärnan, så att när enhetens steg 1-uppstart är fullständigt (tillverkarens logoskärm vanligtvis), då kärnan stövlar och rotpartitionen är samtidigt monterad som en RAM-skiva.

    När operativsystemet startas upp monteras det primära partitionens filsystem (/ system, vilket är jffs2 på enheter före Android 4.0, ext2 / 3/4 på enheter sedan Android 4.0 och xfs på de senaste enheterna) som skrivskyddade så att ingen data kan skrivas till den. Det här kan givetvis arbetas med så kallad "rooting" på din enhet, vilket ger dig tillgång som en superanvändare och låter dig omforma partitionen som läs / skriv. Din "användar" -data skrivs till en annan partition på chipet (/ data, som följer samma konvention som ovan baserat på Android-versionen).

    Med fler och fler mobiltelefoner som slår ut SD-kortplatserna kanske du tror att du kommer att slå skrivcykellocket tidigare eftersom alla dina data nu sparas på eMMC-lagring istället för ett SD-kort. Lyckligtvis upptäcker de flesta filsystem en felaktig skrivning till ett visst lagringsområde. Om en skriv misslyckas sparas data tyst till ett nytt lagringsområde och det dåliga området (känt som ett dåligt block) slås av av filsystemdrivrutinen så att data inte längre skrivs där i framtiden. Om en läs misslyckas markeras uppgifterna som korrupta och användaren berättas att köra en filsystemkontroll (eller kontrollera disken), eller enheten kontrollerar automatiskt filsystemet under nästa uppstart.

    I själva verket har Google ett patent för att automatiskt upptäcka och hantera dåliga block: Hantera dåliga block i flashminne för elektroniskt datakort

    För att få mer till stånd, är din fråga om hur detta plötsligt blev praktiskt inte rätt fråga att fråga. Det var aldrig opraktiskt i första hand. Det rekommenderades starkt att installera ett operativsystem (Windows) på en SSD (förmodligen) på grund av antalet skrivningar som den gör på en skiva.

    Till exempel mottar registret bokstavligen hundratals läser och skriver per sekund, vilket kan ses med Microsoft-SysInternals Regmon Tool.

    Installera Windows rådde mot SSD-enheter av första generationen eftersom de data som skrivits till registret varje sekund (troligen) i slutändan hamnade i tidiga adoptrar och resulterade i ostartbara system på grund av registerkorruption.

    Med tabletter, mobiltelefoner och nästan alla andra inbyggda enheter finns det inget register (Windows Embedded Devices är undantag, såklart) och det finns ingen oro för att data ständigt skrivs till samma delar av flashmediet.

    För Windows-inbyggda enheter, som många av kioskerna som finns på offentliga platser (till exempel Walmart, Kroger, etc.) där du kan se en slumpmässig BSOD från tid till annan finns det inte mycket konfiguration som kan göras eftersom de är förkonstruerade med konfigurationer som är avsedda att aldrig förändras. De enda ändringarna äger rum innan chipet är skrivet i de flesta fall. Allt som behöver sparas, till exempel din betalning till mataffären, görs över nätverket till butikens databaser på en server.

    Följd av svaret från Journeyman Geek:

    Svaret var alltid "nej" eftersom antalet skrivningar som krävs av ett operativsystem skulle snabbt bära dem ut.

    De blev äntligen kostnadseffektiva för vanlig användning. Att "ha på sig" är det enda som berörs är lite av ett antagande. Det har funnits system som körs av solid state-minne under en lång tid. Många som byggde bilstartar startade av CF-kort (som var elektriskt kompatibla med PATA och trivial att installera jämfört med PATA-hårddiskar) och industriella datorer har haft liten, robust flashbaserad lagring.

    Som sagt var det inte många alternativ för den genomsnittliga personen. Du kan köpa ett pricy CF-kort och en adapter för en bärbar dator, eller hitta en liten, väldigt pricy industridisk på en modulenhet för skrivbord. De var inte så stora jämfört med moderna hårddiskar (moderna IDE DOMs toppade på 8 GB eller 16 GB tror jag). Jag är ganska säker på att du kunde ha fått system med solid state-systemdrivna enheter innan standard SSD-filer blev vanliga.

    Det har inte varit några universella / magiska förbättringar i slitstyrning så långt jag vet. Det har varit inkrementella förbättringar medan vi har flyttat från pricy SLC till MLC, TLC och even QLC tillsammans med mindre processstorlekar (alla med lägre kostnad med lite högre risk för utslitning). Flash har blivit mycket billigare.

    Det fanns också några alternativ som inte hade problem med slitage. Till exempel kör hela systemet av en ROM (vilket är en sannolikt solid state-lagring) och batterierad RAM, vilket många tidiga SSD-enheter och bärbara enheter som Palm Pilot använde. Inget av dessa är vanliga idag. Hårddiskar rockade jämfört med att säga batteribackad RAM (för dyrt), tidiga solid state-enheter (lite pricy) eller bönder med flaggor (aldrig fångad på grund av hemsk datatäthet). Även modernt flashminne är en efterföljare av snabbavlägsna eeproms och eeproms har använts i elektroniska enheter för lagring av saker som firmware för åldrar.

    Hårddiskar var helt enkelt på en bra skärningspunkt med hög volym (vilket är viktigt), låg kostnad och relativt tillräcklig lagring.

    Anledningen till att du hittar eMMC i moderna, låga datorer är komponenterna är relativt billiga, tillräckligt stora (för stationära operativsystem) till den kostnaden och delar gemensamt med mobiltelefonkomponenter, så de produceras i bulk med ett standardgränssnitt. De ger också stor lagringstäthet för sin volym. Med tanke på att många av dessa maskiner har en smal 32 GB eller 64 GB-enhet, i nivå med hårddiskar från bättre delen av ett decennium sedan, är de ett förnuftigt alternativ i den här rollen.

    Vi når äntligen upp den punkt där du kan lagra en rimlig mängd minne billigt och med rimliga hastigheter på eMMC och flash, varför folk går för dem.


    Har du något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in hela diskussionsgängan här.

    Bildkrediter: Martin Voltri (Flickr)