Główna » jak » 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?

    Używanie pamięci flash do uruchamiania systemu stacjonarnego, takiego jak Windows, od dawna było odradzane. 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, opartego na społecznościach grupowania witryn z pytaniami i odpowiedziami.

    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, 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 opłacalna 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, 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 Androidem 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, w których 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, mieszczą się w zakresie 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 w przypadku Androida 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, ż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 wersji Android).

    Coraz więcej telefonów komórkowych rezygnuje z gniazd kart SD, więc 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, aby dane nie były już w nim 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ę złych bloków: zarządzanie uszkodzonymi blokami w pamięci flash na kartę flash danych elektronicznych

    Aby lepiej zrozumieć kwestię, 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 Registered Tool firmy Microsoft-SysInternals.

    Instalacja systemu Windows została odradzona 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 ma problemu z ciągłym zapisywaniem danych 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żna wyświetlić 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, takie jak 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 stworzyli autotrakty uruchamiane z kart CF (które były elektrycznie kompatybilne z PATA i trywialne 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 mogłeś zdobyć dyski SSD, zanim standardowe dyski SSD staną się popularne.

    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, RAM z bateriami (za 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 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 masowo ze standardowym interfejsem. 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 szukają w 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)