16Aug

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

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

Dzisiejsze pytanie &Sesja odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, opartego na społecznościach grupy Q & A.

Pytanie Czytnik

SuperUser RockPaperLizard chce wiedzieć, co sprawia, że ​​pamięć flash eMMC jest opłacalna 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, poprawiła się technologia niwelowania zużycia, 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ęci flash eMMC są opłacalne na urządzeniach mobilnych, ale nie na PC?

Odpowiedź Odpowiedzi

SuperUser Speeddymon i Journeyman Geek mają dla nas odpowiedź.Po pierwsze, 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, wykorzystują technologię 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),jądro i partycja root 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 tylko do odczytu, tak abyżadne dane nie mogą być do niego zapisane. Można to oczywiście obejść przez tak zwane "rootowanie" twojego urządzenia, które daje ci dostęp jako superużytkownika i pozwala na ponowne zamontowanie partycji 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 na podstawie wersji 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 zapisu, 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( lub 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ę pamięci flash

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 wykonanych 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.

Instalacja systemu Windows została odradzona na dyskach SSD pierwszej generacji, ponieważ przy braku niwelowania zużycia dane zapisywane w rejestrze co sekundę( najprawdopodobniej) dogoniły wczesnych użytkowników 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 ma obaw o to, że dane są zapisywane na stałe 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.), W których od czasu do czasu może pojawić się losowy BSOD, nie ma zbyt wiele konfiguracji, które można wykonać, ponieważsą one 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.

Odpowiedź od Journeyman Geek:

Odpowiedź była zawsze "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.

O ile wiem, tak naprawdę nie było żadnych uniwersalnych / magicznych ulepszeń w zakresie niwelowania zużycia. 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), niskiego kosztu i stosunkowo wystarczającej pamięci.

Powodem, dla którego można znaleźć eMMC we współczesnych komputerach niskonakładowych 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 rozsądnej cenie iz rozsądnymi prędkościami na eMMC i lampach błyskowych, dlatego ludzie wybierają się do nich.

Czy chcesz coś dodać 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)