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

    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 med venlig hilsen af ​​SuperUser-en underafdeling af Stack Exchange, en community-driven gruppe af Q & A-websteder.

    Spørgsmålet

    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.

    Efterhånden som SSD'erne 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 det pludselig praktisk? Gennemfører de typisk slitage-nivellerende teknologier, for eksempel?

    Hvad gør eMMC flash-hukommelse levedygtig i mobile enheder, 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-drevdrev 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, der er bundtet 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å kæden støvler og rodpartitionen er samtidig monteret som en RAM-disk.

    Når 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 at der ikke kan skrives data til det. 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æs / 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 et filsystem check (eller kontrollere disken), eller enheden kontrollerer automatisk filsystemet under næste opstart.

    Faktisk har Google et patent til automatisk at registrere og håndtere dårlige blokke: Håndtering af 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 blev kraftigt anbefalet at installere et operativsystem (Windows) på en SSD (formodentlig) på grund af antallet af skrivninger, det gør på en disk.

    For eksempel 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 instans fangede op til tidlige adoptere og resulterede i ikke-startbare systemer på grund af registerkorruption.

    Med tabletter, mobiltelefoner og stort set alle andre indlejrede enheder 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 ser en tilfældig BSOD fra tid til anden, er der ikke en masse konfiguration, der kan gøres, da de 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 startet 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 sammenlignet med moderne 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 fra pricy SLC til MLC, TLC og endda QLC sammen med mindre processtørrelser (alle med 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 batteribesparet 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 eepromer og eeproms er blevet brugt i elektroniske enheder til opbevaring af ting som firmware i aldre.

    Harddiske var simpelthen et fint kryds af højt volumen (hvilket er vigtigt), lav pris 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 standardinterface. De giver også stor lagertæthed for deres volumen. I betragtning af at mange af disse maskiner har en dårlig 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 til det punkt, hvor du kan gemme en rimelig mængde hukommelse med rimelighed og med rimelige hastigheder på eMMC'er og flash, hvorfor folk går efter 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)