If-Koubou

Co sprawia, że ​​pamięć Flash w eMMC jest łatwa w urządzeniach mobilnych, ale nie w komputerach?

Co sprawia, że ​​pamięć Flash w eMMC jest łatwa w urządzeniach mobilnych, ale nie w komputerach? (Jak)

Używanie pamięci flash do uruchamiania systemu stacjonarnego, takiego jak system Windows, odradzano od dłuższego czasu. Ale co sprawiło, że była to pożądana i realna opcja dla urządzeń mobilnych? Dzisiejszy post z pytaniami i odpowiedziami dla SuperUser zawiera odpowiedź na ciekawe pytanie czytelnika.

Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, społecznościowego forum z pytaniami i odpowiedziami.

Pytanie

Czytnik SuperUser RockPaperLizard chce wiedzieć, co czyni pamięć flash eMMC opłacalną na urządzeniach mobilnych, ale nie na PC:

Odkąd wynaleziono dyski flash USB, ludzie zastanawiali się, czy mogą na nich uruchomić swoje systemy operacyjne. Odpowiedź zawsze brzmiała "nie", ponieważ liczba zapisów wymaganych przez system operacyjny szybko je niszczyła.

Ponieważ dyski SSD stały się bardziej popularne, technologia niwelowania zużycia uległa poprawie, aby umożliwić uruchamianie na nich systemów operacyjnych. Różne tablety, netbooki i inne smukłe komputery korzystają z pamięci flash zamiast dysku twardego lub dysku SSD, a system operacyjny jest na nim przechowywany.

Jak to nagle stało się praktyczne? Czy na ogół stosują oni technologie niwelujące zużycie?

Co sprawia, że ​​pamięć flash EMMC jest możliwa na urządzeniach mobilnych, ale nie na PC?

Odpowiedź

Współautorzy SuperUser Speeddymon i Journeyman Geek mają dla nas odpowiedź. Najpierw Speeddymon:

Wszystkie urządzenia pamięci flash, od tabletów po telefony komórkowe, inteligentne zegarki, dyski SSD, karty SD w aparatach fotograficznych i pamięci USB, korzystają z technologii NVRAM. Różnica dotyczy architektury NVRAM i sposobu, w jaki system operacyjny montuje system plików na jakimkolwiek nośniku, na którym się znajduje.

W przypadku tabletów i telefonów komórkowych z systemem Android technologia NVRAM jest oparta na technologii eMMC. Dane, które mogę znaleźć w tej technologii, sugerują cykle zapisu od 3k do 10k. Niestety, żadne z dotychczasowych odkryć nie jest ostateczne, ponieważ Wikipedia jest pusta w cyklach pisania tej technologii. Wszystkie inne miejsca, które wyglądałem, były różnymi forami, więc prawie nie nazywam to wiarygodnym źródłem.

Dla porównania, cykle zapisu w innych technologiach NVRAM, takich jak dyski SSD, które wykorzystują technologię NAND lub NOR, wynoszą od 10k do 30k.

Teraz, jeśli chodzi o wybór systemu operacyjnego do zamontowania systemu plików. Nie mogę mówić o tym, jak Apple to robi, ale dla systemu Android układ jest podzielony na partycje, tak jak powinien wyglądać dysk twardy. Masz partycję systemu operacyjnego, partycję danych i kilka innych zastrzeżonych partycji w zależności od producenta urządzenia.

Prawdziwa partycja root znajduje się wewnątrz bootloadera, który jest dołączany jako skompresowany plik (jffs2, cramfs, itp.) Wraz z jądrem, tak aby po zakończeniu rozruchu 1. urządzenia (zwykle na ekranie z logo producenta), a następnie w jądrze buty i partycja główna są jednocześnie montowane jako dysk RAM.

Podczas startu systemu operacyjnego montuje system plików partycji podstawowej (/ system, który jest jffs2 na urządzeniach przed Androidem 4.0, ext2 / 3/4 na urządzeniach od Androida 4.0 i xfs na najnowszych urządzeniach) jako przeznaczony tylko do odczytu, więc że nie można do niego zapisać żadnych danych. Można to oczywiście obejść poprzez tak zwane "rootowanie" twojego urządzenia, które daje ci dostęp jako superużytkownikowi i pozwala ponownie zamontować partycję jako odczyt / zapis. Twoje dane "użytkownika" są zapisywane na innej partycji na chipie (/ data, która jest zgodna z tą samą konwencją co powyżej w oparciu o wersję Androida).

Z coraz większą liczbą telefonów komórkowych rezygnujących z gniazd kart SD, możesz pomyśleć, że szybciej osiągniesz limit czasu pisania, ponieważ wszystkie twoje dane są teraz zapisywane w pamięci eMMC zamiast na karcie SD. Na szczęście większość systemów plików wykrywa błąd zapisu w danym obszarze pamięci.Jeśli zapis nie powiedzie się, dane są zapisywane w trybie cichym do nowego obszaru pamięci, a zły obszar (znany jako zły blok) jest odgrodzony przez sterownik systemu plików, więc dane nie będą już tam zapisywane w przyszłości. Jeśli odczyt się nie powiedzie, dane zostaną oznaczone jako uszkodzone i albo użytkownik zostanie poproszony o uruchomienie sprawdzenia systemu plików (albo sprawdzenia dysku), albo urządzenie automatycznie sprawdza system plików podczas następnego rozruchu.

W rzeczywistości Google ma patent na automatyczne wykrywanie i obsługę uszkodzonych bloków: zarządzanie uszkodzonymi blokami w pamięci flash na kartę flash danych elektronicznych

Aby dowiedzieć się więcej, twoje pytanie o to, jak nagle stało się to praktyczne, nie jest właściwym pytaniem. To nigdy nie było niepraktyczne. Zdecydowanie odradzano instalowanie systemu operacyjnego (Windows) na dysku SSD (prawdopodobnie) z powodu liczby zapisów, jakie robi na dysku.

Na przykład rejestr otrzymuje dosłownie setki odczytów i zapisów na sekundę, co można zobaczyć za pomocą narzędzia Microsoft-SysInternals Regmon.

Instalowanie systemu Windows było odradzane na dyskach SSD pierwszej generacji, ponieważ przy braku niwelowania zużycia dane zapisywane w rejestrze co sekundę (najprawdopodobniej) ulegały opóźnieniom i skutkowały niemożliwymi do rozruchu systemami z powodu uszkodzenia rejestru.

Z tabletami, telefonami komórkowymi i prawie każdym innym urządzeniem wbudowanym, nie ma rejestru (oczywiście wyjątki Windows Embedded są wyjątkami), a zatem nie trzeba się martwić, że dane są zapisywane w tych samych częściach nośnika flash.

W przypadku urządzeń z systemem Windows Embedded, takich jak wiele kiosków znajdujących się w miejscach publicznych (takich jak Walmart, Kroger itp.), Które mogą od czasu do czasu wyświetlać losowy BSOD, nie ma zbyt wiele konfiguracji, które można wykonać, ponieważ są wstępnie zaprojektowane z konfiguracjami, które nigdy nie ulegają zmianie. Jedyne zmiany czasu mają miejsce, zanim chip zostanie zapisany w większości przypadków. Wszystko, co musi zostać zapisane, na przykład płatność do sklepu spożywczego, odbywa się za pośrednictwem sieci do baz danych sklepu na serwerze.

Następnie odpowiedź od Journeyman Geek:

Odpowiedź zawsze brzmiała "nie", ponieważ liczba zapisów wymaganych przez system operacyjny szybko je niszczyła.

W końcu stały się opłacalne do powszechnego użytku. To "zużycie" jest jedyną troską jest trochę założenia. Istnieją systemy, w których pamięć półprzewodnikowa przepływa przez znaczny okres czasu. Wielu ludzi, którzy budowali autotrakery uruchamiane z kart CF (które były elektrycznie kompatybilne z PATA i trywialne do zainstalowania w porównaniu do dysków twardych PATA), a komputery przemysłowe miały małe, wytrzymałe pamięci flash.

Powiedział, że nie było wielu opcji dla przeciętnego człowieka. Możesz kupić drogocenną kartę CF i adapter do laptopa lub znaleźć mały, bardzo drogi dysk przemysłowy na module modułowym do komputera stacjonarnego. Nie były one zbyt duże w porównaniu do współczesnych dysków twardych (wydaje mi się, że nowoczesne IDE DOM-y mają pojemność 8 GB lub 16 GB). Jestem prawie pewien, że można było zdobyć dyski SSD, zanim standardowe dyski SSD staną się powszechne.

Nie ma żadnych uniwersalnych / magicznych ulepszeń w niwelacji zużycia, o ile wiem. Nastąpiła stopniowa poprawa, podczas gdy my odchodzimy od cennego SLC do MLC, TLC, a nawet QLC wraz z mniejszymi rozmiarami procesów (wszystkie te niższe koszty przy pewnym wyższym ryzyku zużycia). Flash stał się dużo tańszy.

Było też kilka alternatyw, które nie miały problemów z zużyciem. Na przykład, uruchamianie całego systemu z pamięci ROM (która jest prawdopodobnie pamięcią półprzewodnikową) i pamięci RAM z podtrzymaniem bateryjnym, z której korzysta wiele wczesnych dysków SSD i urządzeń przenośnych, takich jak Palm Pilot. Żadne z nich nie jest dziś powszechne.Dyski twarde kołysały się w porównaniu do powiedzmy, baterie RAM (zbyt drogie), wczesne urządzenia półprzewodnikowe (nieco drogie) lub chłopi z flagami (nigdy nie złapani z powodu straszliwej gęstości danych). Nawet nowoczesna pamięć flash jest potomkiem szybko usuwalnych eepromów, a eepromy są używane w urządzeniach elektronicznych do przechowywania rzeczy takich jak firmware przez wieki.

Dyski twarde były po prostu na ładnym skrzyżowaniu dużej ilości (co jest ważne), taniego i stosunkowo wystarczającego miejsca na dane.

Powodem, dla którego można znaleźć eMMC we współczesnych komputerach o niskim poziomie zaawansowania jest to, że komponenty są stosunkowo tanie, wystarczająco duże (dla systemów operacyjnych komputerów stacjonarnych) i kosztują wspólną cechę z komponentami telefonu komórkowego, dlatego są produkowane zbiorczo za pomocą standardowego interfejsu. Zapewniają również dużą gęstość pamięci dla ich objętości. Biorąc pod uwagę, że wiele z tych maszyn ma twardy dysk 32 GB lub 64 GB, na równi z dyskami twardymi sprzed ponad 10 lat, są one rozsądną opcją w tej roli.

W końcu docieramy do punktu, w którym można przechowywać rozsądną ilość pamięci w przystępnej cenie iz rozsądną prędkością na eMMC i flashu, dlatego ludzie wybierają się do nich.

Czy masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.

Image Credit: Martin Voltri (Flickr)