Connect with us

Wie man

Was macht eMMC-Flash-Speicher auf Mobilgeräten, aber nicht auf PCs funktionsfähig?

Was macht eMMC-Flash-Speicher auf Mobilgeräten, aber nicht auf PCs funktionsfähig?

Von der Verwendung von Flash-Speicher zum Ausführen eines Desktop-Systems wie Windows wurde seit geraumer Zeit abgeraten. Aber was machte es zu einer wünschenswerten und praktikablen Option für mobile Geräte? Der heutige SuperUser Q & A-Beitrag enthält die Antwort auf die Frage eines neugierigen Lesers.

Die Frage

SuperUser-Reader RockPaperLizard möchte wissen, was den eMMC-Flash-Speicher auf Mobilgeräten, aber nicht auf PCs funktionsfähig macht:

Seit der Erfindung der USB-Sticks haben sich die Leute gefragt, ob sie ihre Betriebssysteme darauf ausführen können. Die Antwort war immer „Nein“, da die Anzahl der von einem Betriebssystem benötigten Schreibvorgänge sie schnell abnutzen würde.

Mit zunehmender Beliebtheit von SSDs wurde die Verschleißausgleichstechnologie verbessert, damit Betriebssysteme auf ihnen ausgeführt werden können. Verschiedene Tablets, Netbooks und andere schlanke Computer verwenden anstelle einer Festplatte oder SSD einen Flash-Speicher, auf dem das Betriebssystem gespeichert ist.

Wie wurde das plötzlich praktisch? Implementieren sie beispielsweise normalerweise Verschleißausgleichstechnologien?

Was macht eMMC-Flash-Speicher auf Mobilgeräten, aber nicht auf PCs funktionsfähig?

Die Antwort

Die SuperUser-Mitarbeiter Speeddymon und Journeyman Geek haben die Antwort für uns. Zuerst Speeddymon:

Alle Flash-Speichergeräte, von Tablets über Mobiltelefone, Smartwatches, SSDs, SD-Karten in Kameras bis hin zu USB-Sticks, verwenden die NVRAM-Technologie. Der Unterschied liegt in der NVRAM-Architektur und in der Art und Weise, wie das Betriebssystem das Dateisystem auf einem beliebigen Speichermedium bereitstellt.

Für Android-Tablets und Mobiltelefone basiert die NVRAM-Technologie auf eMMC. Die Daten, die ich zu dieser Technologie finden kann, deuten auf 3k bis 10k Schreibzyklen hin. Leider ist nichts von dem, was ich bisher gefunden habe, endgültig, da Wikipedia in den Schreibzyklen dieser Technologie leer ist. Alle anderen Orte, die ich mir angesehen habe, waren zufällig verschiedene Foren, also kaum das, was ich als zuverlässige Quelle bezeichnen würde.

Zum Vergleich liegen die Schreibzyklen bei anderen NVRAM-Technologien wie SSDs, die NAND- oder NOR-Technologie verwenden, zwischen 10.000 und 30.000.

Nun zur Wahl des Betriebssystems, wie das Dateisystem bereitgestellt werden soll. Ich kann nicht darüber sprechen, wie Apple es macht, aber für Android ist der Chip wie eine Festplatte partitioniert. Sie haben je nach Gerätehersteller eine Betriebssystempartition, eine Datenpartition und mehrere andere proprietäre Partitionen.

Die eigentliche Root-Partition befindet sich im Bootloader, der als komprimierte Datei (jffs2, cramfs usw.) zusammen mit dem Kernel gebündelt ist. Wenn also der Start des Geräts in Stufe 1 abgeschlossen ist (normalerweise der Logo-Bildschirm des Herstellers), dann der Kernel bootet und die Root-Partition wird gleichzeitig als RAM-Disk gemountet.

Beim Hochfahren des Betriebssystems wird das Dateisystem der primären Partition (/ system, dh jffs2 auf Geräten vor Android 4.0, ext2 / 3/4 auf Geräten seit Android 4.0 und xfs auf den neuesten Geräten) als schreibgeschützt bereitgestellt dass keine Daten darauf geschrieben werden können. Dies kann natürlich durch sogenanntes „Rooting“ Ihres Geräts umgangen werden, wodurch Sie als Superuser Zugriff erhalten und die Partition als Lese- / Schreibzugriff erneut bereitstellen können. Ihre „Benutzer“ -Daten werden auf eine andere Partition auf dem Chip geschrieben (/ data, die der gleichen Konvention wie oben folgt, basierend auf der Android-Version).

Wenn immer mehr Mobiltelefone die SD-Kartensteckplätze verlassen, denken Sie möglicherweise, dass Sie die Schreibzyklusgrenze früher erreichen, da alle Ihre Daten jetzt anstelle einer SD-Karte im eMMC-Speicher gespeichert werden. Glücklicherweise erkennen die meisten Dateisysteme einen fehlgeschlagenen Schreibvorgang in einen bestimmten Speicherbereich. Wenn ein Schreibvorgang fehlschlägt, werden die Daten stillschweigend in einem neuen Speicherbereich gespeichert und der fehlerhafte Bereich (als fehlerhafter Block bezeichnet) vom Dateisystemtreiber abgesperrt, sodass in Zukunft keine Daten mehr dort geschrieben werden. Wenn ein Lesevorgang fehlschlägt, werden die Daten als beschädigt markiert und entweder wird der Benutzer aufgefordert, eine Dateisystemprüfung (oder eine Überprüfung der Festplatte) durchzuführen, oder das Gerät überprüft das Dateisystem beim nächsten Start automatisch.

Tatsächlich hat Google ein Patent für die automatische Erkennung und Behandlung fehlerhafter Blöcke: Verwalten fehlerhafter Blöcke im Flash-Speicher für elektronische Daten-Flash-Karten

Um mehr auf den Punkt zu bringen, ist Ihre Frage, wie dies plötzlich praktisch wurde, nicht die richtige Frage. Es war überhaupt nicht unpraktisch. Es wurde dringend davon abgeraten, ein Betriebssystem (Windows) auf einer SSD zu installieren (vermutlich), da so viele Schreibvorgänge auf eine Festplatte ausgeführt werden.

Beispielsweise empfängt die Registrierung buchstäblich Hunderte von Lese- und Schreibvorgängen pro Sekunde, die mit dem angezeigt werden Microsoft-SysInternals Regmon Tool.

Von der Installation von Windows auf SSDs der ersten Generation wurde abgeraten, da die Daten, die jede Sekunde (wahrscheinlich) jede Sekunde in die Registrierung geschrieben wurden, aufgrund fehlender Verschleißausgleiche möglicherweise die frühen Anwender einholten und aufgrund von Beschädigungen der Registrierung zu nicht bootfähigen Systemen führten.

Bei Tablets, Mobiltelefonen und so ziemlich jedem anderen eingebetteten Gerät gibt es keine Registrierung (Windows Embedded-Geräte sind natürlich Ausnahmen), und daher besteht keine Sorge, dass Daten ständig auf dieselben Teile des Flash-Mediums geschrieben werden.

Bei Windows Embedded-Geräten, wie z. B. vielen Kiosken an öffentlichen Orten (wie Walmart, Kroger usw.), an denen von Zeit zu Zeit ein zufälliger BSOD angezeigt wird, kann seitdem nicht viel konfiguriert werden sind mit Konfigurationen vorgefertigt, die sich niemals ändern sollen. Die einzige Zeit, in der Änderungen stattfinden, ist in den meisten Fällen, bevor der Chip geschrieben wird. Alles, was gespeichert werden muss, wie z. B. Ihre Zahlung an das Lebensmittelgeschäft, erfolgt über das Netzwerk mit den Datenbanken des Geschäfts auf einem Server.

Gefolgt von der Antwort von Journeyman Geek:

Die Antwort war immer „Nein“, da die Anzahl der von einem Betriebssystem benötigten Schreibvorgänge sie schnell abnutzen würde.

Sie wurden schließlich kostengünstig für den Mainstream-Einsatz. Dass „Verschleiß“ das einzige Problem ist, ist eine Vermutung. Es gibt Systeme, die über einen beträchtlichen Zeitraum keinen Festkörperspeicher mehr haben. Viele Leute, die Auto-Computer gebaut haben, die von CF-Karten gebootet wurden (die mit PATA elektrisch kompatibel und im Vergleich zu PATA-Festplatten trivial zu installieren waren), und Industriecomputer hatten einen kleinen, robusten Flash-basierten Speicher.

Das heißt, es gab nicht viele Optionen für die durchschnittliche Person. Sie könnten eine teure CF-Karte und einen Adapter für einen Laptop kaufen oder eine winzige, sehr teure Industrieplatte auf einer Moduleinheit für einen Desktop finden. Sie waren im Vergleich zu modernen Festplatten nicht sehr groß (moderne IDE-DOMs sind meiner Meinung nach mit 8 GB oder 16 GB ausgestattet). Ich bin mir ziemlich sicher, dass Sie Solid-State-Systemlaufwerke eingerichtet haben könnten, bevor Standard-SSDs üblich wurden.

Soweit ich weiß, gab es keine wirklich universellen / magischen Verbesserungen bei der Verschleißnivellierung. Es gab inkrementelle Verbesserungen, während wir von teurem SLC zu MLC, TLC und sogar QLC übergegangen sind, zusammen mit kleineren Prozessgrößen (all dies senkt die Kosten mit einem höheren Risiko des Verschleißes). Flash ist viel billiger geworden.

Es gab auch einige Alternativen, die keine Verschleißprobleme hatten. Führen Sie beispielsweise das gesamte System über ein ROM (bei dem es sich vermutlich um einen Solid-State-Speicher handelt) und einen batteriegepufferten RAM aus, den viele frühe SSDs und tragbare Geräte wie der Palm Pilot verwendeten. Keines davon ist heute üblich. Festplatten schwankten im Vergleich zu batteriegepuffertem RAM (zu teuer), frühen Solid-State-Geräten (etwas teuer) oder Bauern mit Fahnen (wegen schrecklicher Datendichte nie aufgefangen). Auch moderner Flash-Speicher ist ein Nachkomme von schnell löschenden Eepromen und Eeproms werden seit Jahrhunderten in elektronischen Geräten zur Speicherung von Dingen wie Firmware verwendet.

Festplatten befanden sich einfach an einer schönen Schnittstelle zwischen hohem Volumen (was wichtig ist), geringen Kosten und relativ ausreichend Speicherplatz.

Der Grund, warum Sie eMMCs in modernen Low-End-Computern finden, ist, dass die Komponenten zu diesen Kosten relativ billig, groß genug (für Desktop-Betriebssysteme) sind und Gemeinsamkeiten mit Mobiltelefonkomponenten aufweisen, sodass sie in großen Mengen mit einer Standardschnittstelle hergestellt werden. Sie geben auch eine große Speicherdichte für ihr Volumen. Angesichts der Tatsache, dass viele dieser Computer über ein dürftiges 32-GB- oder 64-GB-Laufwerk verfügen, das den Festplatten vor fast einem Jahrzehnt ebenbürtig ist, sind sie in dieser Rolle eine sinnvolle Option.

Wir sind endlich an dem Punkt angelangt, an dem Sie eine angemessene Menge an Speicher kostengünstig und mit angemessener Geschwindigkeit auf eMMCs und Flash speichern können, weshalb sich die Leute für sie entscheiden.

Haben Sie der Erklärung etwas hinzuzufügen? Ton aus in den Kommentaren. Möchten Sie weitere Antworten von anderen technisch versierten Stack Exchange-Benutzern lesen? Den vollständigen Diskussionsthread finden Sie hier.

Continue Reading
Click to comment

Leave a Reply

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Tendencia