16Aug

Hvad gør eMMC Flash Memory levedygtig i mobile enheder, men ikke pc'er?

Brug af flashhukommelse til at køre et desktop-system, som Windows, blev rådgivet imod i nogen tid. Men hvad gjorde det til en ønskelig og levedygtig mulighed for mobile enheder? Dagens SuperUser Q & A-indlæg har svaret på en nysgerrig læsers spørgsmål.

Dagens Spørgsmål &Svar session kommer til os høflighed af SuperUser-en underafdeling af Stack Exchange, en community-drevet gruppe af Q & A-websteder.

Spørgsmål

SuperUser-læser RockPaperLizard vil vide, hvad der gør eMMC-flashhukommelse levedygtig i mobile enheder, men ikke pc'er:

Siden USB-flashdrev blev opfundet, har folk spurgt, om de kunne køre deres operativsystemer på dem. Svaret var altid "nej", fordi antallet af skrivninger, der kræves af et operativsystem, hurtigt ville bære dem ud.

Da SSD'er er blevet mere populære, har slidniveauet forbedret, så operativsystemerne kan køre på dem. Forskellige tabletter, netbooks og andre slanke computere bruger flashhukommelse i stedet for en harddisk eller SSD, og ​​operativsystemet er gemt på det.

Hvordan blev dette pludselig praktisk? Gennemfører de typisk slitage-nivellerende teknologier, for eksempel?

Hvad gør eMMC flash-hukommelse levedygtig i mobilenheder, men ikke pc'er?

Svaret

SuperUser-bidragsydere Speeddymon og Journeyman Geek har svaret for os. Først op, Speeddymon:

Alle flashhukommelsesenheder, fra tabletter til mobiltelefoner, smarte ure, SSD'er, SD-kort i kameraer og USB-drev, bruger NVRAM-teknologi. Forskellen er i NVRAM-arkitekturen, og hvordan operativsystemet monterer filsystemet på hvilket lagermedium det er på.

For Android-tabletter og mobiltelefoner er NVRAM-teknologien eMMC-baseret. De data, jeg kan finde på denne teknologi, antyder mellem 3k til 10k skrivecykler. Desværre er ikke noget af det, jeg hittil har fundet, definitiv, da Wikipedia er tomt på denne teknologis skrivecykler. Alle andre steder, jeg har set, skete at være forskellige fora, så næppe hvad jeg ville kalde en pålidelig kilde.

Til sammenligning er skrivecyklusserne på anden NVRAM-teknologi som SSD'er, der bruger NAND- eller NOR-teknologi, mellem 10k og 30k.

Nu, hvad angår operativsystemets valg af, hvordan man monterer filsystemet. Jeg kan ikke tale om, hvordan Apple gør det, men for Android, chip er opdelt som en harddisk ville være. Du har en operativsystempartition, en datadisition og flere andre proprietære partitioner afhængigt af enhedsproducenten.

Den rigtige rodpartition lever i bootloaderen, som er samlet som en komprimeret fil( jffs2, cramfs, osv.) Sammen med kernen, så at når enhedens trin 1 boot er færdig( producentens logoskærm normalt), såkernel støvler og root partitionen er samtidig monteret som en RAM disk.

Da operativsystemet starter op, monteres det primære partitions filsystem( / system, som er jffs2 på enheder før Android 4.0, ext2 /3/ 4 på enheder siden Android 4.0 og xfs på de nyeste enheder) som skrivebeskyttet, så atingen data kan skrives til den. Dette kan selvfølgelig blive arbejdet rundt med såkaldt "rooting" på din enhed, som giver dig adgang som en superbruger og giver dig mulighed for at genmontere partitionen som læst / skrive. Dine "bruger" data er skrevet til en anden partition på chippen( / data, som følger den samme konvention som ovenfor baseret på Android versionen).

Med flere og flere mobiltelefoner, der duger SD-kortspor, tror du måske, at du vil ramme skrivecykluskappen hurtigere, fordi alle dine data nu gemmes i eMMC-opbevaring i stedet for et SD-kort. Heldigvis opdager de fleste filsystemer en fejlagtig skrivning til et givet opbevaringsområde. Hvis en skriv fejler, bliver dataene lydløst gemt til et nyt opbevaringsområde, og det dårlige område( kendt som en dårlig blok) afbrydes af filsystemdriveren, så data ikke længere er skrevet der i fremtiden. Hvis en læsning fejler, er dataene markeret som korrupte, og enten bliver brugeren bedt om at køre en filsystemcheck( eller kontrollere disken), eller enheden kontrollerer automatisk filsystemet under næste opstart.

Google har faktisk et patent til automatisk at registrere og håndtere dårlige blokke: Administrere dårlige blokke i flashhukommelse til elektronisk datakort

For at få mere til det punkt er dit spørgsmål om, hvordan dette pludselig blev praktisk, ikke det rigtige spørgsmål at spørge. Det var aldrig upraktisk i første omgang. Det anbefales kraftigt at installere et operativsystem( Windows) på en SSD( formodentlig) på grund af antallet af skrivninger, det gør på en disk.

F.eks. Modtager registreringsdatabasen bogstaveligt hundreder af læsninger og skrivninger pr. Sekund, hvilket kan ses med Microsoft-SysInternals Regmon Tool.

Installering af Windows blev rådgivet mod første generationens SSD'er, fordi de data, der blev skrevet til registreringsdatabasen hvert sekund( sandsynligvis), i sidste ende fangede op til tidlige adoptere og resulterede i ubørlige systemer på grund af registreringskorruption.

Med tabletter, mobiltelefoner og stort set enhver anden indlejret enhed er der ingen registreringsdatabase( Windows Embedded devices er undtagelser, selvfølgelig), og der er derfor ingen bekymring for, at data konstant bliver skrevet til de samme dele af flashmediet.

For Windows Embedded-enheder, såsom mange af kioskerne, der findes på offentlige steder( som Walmart, Kroger osv.), Hvor du muligvis kan se en tilfældig BSOD fra tid til anden, er der ikke mange konfigurationer, der kan gøres sidenDe er præ-designet med konfigurationer, der er beregnet til aldrig at ændre sig. De eneste tidsændringer finder sted, før chipet er skrevet i de fleste tilfælde. Alt, hvad der skal reddes, såsom din betaling til købmanden, sker via netværket til butikens databaser på en server.

Efterfulgt af svaret fra Journeyman Geek:

Svaret var altid "nej", fordi antallet af skrivninger, der kræves af et operativsystem, hurtigt ville bære dem ud.

De blev til sidst omkostningseffektive til almindelig brug. At "slid" er den eneste bekymring er lidt af en antagelse. Der har været systemer, der løber fra solid state-hukommelse i en betydelig periode. Mange mennesker, der byggede bilskuffer, startede af CF-kort( som var elektrisk kompatible med PATA og trivielt at installere i forhold til PATA-harddiske), og industrielle computere har haft lille, robust flashbaseret lagring.

Når det er sagt, var der ikke mange muligheder for den gennemsnitlige person. Du kunne købe et pricy CF-kort og en adapter til en bærbar computer, eller find en lille, meget pricy industriel disk på en modulenhed til et skrivebord. De var ikke meget store i forhold til nutidens harddiske( moderne IDE DOMs top ud på 8GB eller 16GB tror jeg).Jeg er temmelig sikker på, at du kunne have fået solid state-systemdrev, der er sat op, før standard SSD'er blev almindelige.

Der har ikke været nogen universelle / magiske forbedringer i slidniveauet så vidt jeg ved. Der har været trinvise forbedringer, mens vi har flyttet væk fra pricy SLC til MLC, TLC og endda QLC sammen med mindre processtørrelser( alle disse lavere omkostninger med en højere risiko for slid).Flash er blevet meget billigere.

Der var også et par alternativer, der ikke havde slidsproblemer. For eksempel kan du køre hele systemet ud af en ROM( hvilket sandsynligvis er solid state storage) og batterieret RAM, som mange tidlige SSD'er og bærbare enheder som Palm Pilot brugte. Ingen af ​​disse er almindelige i dag. Harddiske rockede i forhold til at sige batteridrevet RAM( for dyrt), tidlige solid state-enheder( noget pricy) eller bønder med flag( aldrig fanget på grund af forfærdelig datatæthed).Selv moderne flash-hukommelse er en efterkommer af hurtige slette eeproms og eeproms er blevet brugt i elektroniske enheder til opbevaring af ting som firmware i aldre.

Harddiske var simpelthen et smukt kryds af højt volumen( hvilket er vigtigt), lave omkostninger og forholdsvis tilstrækkelig opbevaring.

Årsagen til, at du finder eMMC'er i moderne computere med lav ydelse, er komponenterne relativt billige, store nok( til desktop-operativsystemer) til den pris og deler fælles med mobiltelefonkomponenter, så de produceres i bulk med en standardgrænseflade. De giver også stor lagertæthed for deres volumen. I betragtning af at mange af disse maskiner har et uhyggeligt 32 GB eller 64 GB drev, på lige fod med harddiske fra den bedre del af et årti siden, er de en fornuftig mulighed i denne rolle.

Vi når endelig det punkt, hvor du kan gemme en rimelig mængde hukommelse på en rimelig måde og med rimelige hastigheder på eMMC'er og flash, hvorfor folk går til dem.

Har du noget at tilføje til forklaringen? Lyde af i kommentarerne. Vil du læse flere svar fra andre tech-savvy Stack Exchange brugere? Tjek den fulde diskussionstråd her.

Billedkredit: Martin Voltri( Flickr)