sv.phhsnews.com


sv.phhsnews.com / 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?


Det var ganska bra att använda flashminne för att köra ett skrivbordssystem, som Windows. Men vad gjorde det till ett önskvärt och genomförbart alternativ för mobila enheter? Dagens SuperUser Q & A-post har svaret på en nyfiken läsarens fråga.

Dagens Frågor och svar sessions kommer till vår tjänst med SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.

Frågan

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

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

Eftersom SSD-filer 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 slimdatorer använder flashminne istället för en hårddisk eller SSD, och operativsystemet lagras på det.

Hur blev det plötsligt praktiskt? Vad gör eMMC-flashminne möjliga i mobila enheter, men inte PC?

Svaret

SuperUser-bidragsgivarna 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-tummarna 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 som 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.

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å enhetstillverkaren.

Den verkliga rotpartitionen lever inuti startläsaren, som är buntad som en komprimerad fil (jffs2, cramfs, etc.) tillsammans med kärnan, så att kedjestövlarna och rotpartitionen samtidigt är monterad som en RAM-skiva när enhetens steg 1-uppstart är klar (tillverkarens logotypskärm).

När operativsystemet startar upp, monteras det Primärpartitionens filsystem (/ system, som ä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 kan naturligtvis 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-kortplatser kan du tro att Du kommer snart att slå skrivcykellocket eftersom alla dina data nu sparas till 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, är data markerad som korrupt och antingen användaren berättas att köra en filsystemkontroll (eller kontrollera disken), eller enheten kontrollerar automatiskt filsystemet under nästa start.

Faktum är att Google har ett patent för att automatiskt upptäcka och hantera dåliga block: Hantera dåliga block i flashminne för elektroniskt data-flashkort

För att få mer till stånd är din fråga om hur detta plötsligt blev praktiskt inte det 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 disk.

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 (sannolikt) i slutändan hamnade i tidiga adoptrar och resulterade i att ostartbara system på grund av registret korruption.

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

För Windows-inbäddade enheter, som många av kioskerna som finns på offentliga platser (som Walmart, Kroger, etc.) där du kan se en slumpmässig BSOD från tid till annan finns det inte en whol e 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 bära dem snabbt.

De blev slutligen kostnadseffektiva för vanlig användning. Att "slitage" ä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.

Det var sagt 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 skrivbordet. De var inte så stora jämfört med moderna hårddiskar (moderna IDE DOMs toppade på 8GB eller 16GB tror jag). Jag är ganska säker på att du kunde ha fått fasta systemdrivna enheter innan de vanliga SSD-enheterna blev vanliga.

Det har inte funnits några universella / magiska förbättringar i slitstyrningen så vitt jag vet. Det har gjorts stegvisa förbättringar medan vi har flyttat från pricy SLC till MLC, TLC, och även 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 dyr), 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 snabbavtagande eeproms och eeproms har använts i elektroniska enheter för lagring av saker som firmware i åldrarna.

Hårddiskar var helt enkelt på ett 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, stora nog (för stationära operativsystem) till den kostnaden och delar gemensamt med mobiltelefonkomponenter, så att 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 till dem.

Har 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 den fullständiga diskussionsgängan här.


Bildkrediter: Martin Voltri (Flickr)


Hur man avregistrerar en Amazon-produkt för att ge den till någon annan

Hur man avregistrerar en Amazon-produkt för att ge den till någon annan

När du köper en Amazon-hårdvaruprodukt, som en Echo, Fire TV eller Fire-tablett, anländer den redan till din Amazon konto för att minska friktionen med installationsprocessen. Men om du vill ge en av dessa enheter som en gåva till någon annan, här är hur du avregistrerar ditt Amazon-konto från enheten.

(how-top)

Så här kör du Windows-program på en Mac med vin

Så här kör du Windows-program på en Mac med vin

Vin är ett öppen källprogram för att köra Windows-programvara på operativsystem som inte är Windows. Medan den oftast används på Linux kan Wine även köra Windows-program direkt på en Mac, utan att kräva en Windows-licens eller behöver Windows körs i bakgrunden. Detta är inte nödvändigtvis det bästa alternativet om du vill köra Windows programvara på en Mac.

(how-top)