Co umożliwia używanie pamięci flash w systemie operacyjnym na komputerach takich jak tablety?


7

Odkąd wynaleziono dyski flash (pamięci USB), ludzie zastanawiali się, czy mogą na nich działać. Odpowiedź brzmiała „nie”, ponieważ liczba zapisów wymaganych przez system operacyjny szybko zużyłaby pamięć flash.

Ponieważ dyski SSD stały się popularne, ulepszono technologie wyrównywania zużycia, aby umożliwić uruchamianie na nich systemów operacyjnych.

Różne tablety, netbooki i inne smukłe komputery używają pamięci flash zamiast dysku twardego lub SSD, a system operacyjny jest na nim przechowywany. Jak to się nagle stało praktyczne? Na przykład, czy zazwyczaj wdrażają technologie wyrównywania zużycia?


„Ponieważ dyski SSD stały się popularne, opracowano technologie wyrównywania zużycia” - masz je wstecz.
trociny

@sawdust Thanks. Dokonałem edycji, by powiedzieć „ulepszony”. Chociaż, IIRC, pierwsze dyski SSD nie miały żadnego wyrównania zużycia.
RockPaperLizard

2
Głównym celem pytania jest nośnik pamięci i pozorny konflikt z „powszechną wiedzą”. Tablety są prawdopodobnie tematyczne, a netbooki / Chromebooki, które są na ten temat, są również platformami, do których pytanie ma zastosowanie. Smartfony są tylko przykładem podobnego zastosowania nośnika pamięci, tak naprawdę nie są przedmiotem pytania. Pytanie dotyczy zrozumienia pamięci flash i dotyczy urządzeń tematycznych.
fixer1234,

Przyzwoite pytanie, ale głosowanie należy zamknąć. FWIW, choć to pytanie jest przyzwoite, ale odpowiedzi wszystkich wydają się dość skoncentrowane na opiniach i składają szerokie deklaracje bez faktycznego poparcia go faktami lub szczegółami.
JakeGould

@JakeGould, dobra obserwacja; sprawił, że ponownie spojrzałem na moją odpowiedź. Najważniejsze jest to, że rodzaj pamięci flash może zaspokoić określoną potrzebę w atrakcyjnej cenie, więc jest używana. W tym przypadku odpowiedź naprawdę koncentruje się na założeniach zawartych w pytaniu (powodem nieużywania są limity zapisu, które dotyczą każdego projektu i celu). Wszelkie sugestie dotyczące faktów i szczegółów, które mogłyby być lepszą odpowiedzią?
fixer1234,

Odpowiedzi:


4

„Odpowiedź brzmiała„ nie ”, ponieważ liczba zapisów wymaganych przez system operacyjny szybko zużyłaby pamięć flash.”

TLDR: W końcu stały się opłacalne do głównego nurtu.

To zużycie jest jedynym zmartwieniem. Przez długi czas istniały systemy z pamięcią półprzewodnikową - wielu ludzi, którzy budowali samochody, uruchomiło karty CF (które były elektrycznie kompatybilne z PATA - i trywialne w instalacji zamiast dysku twardego PATA) oraz komputery przemysłowe miały małą, wytrzymałą pamięć flash. To powiedziawszy, nie było wielu opcji dla przeciętnego człowieka. Możesz kupić cenną kartę CF i adapter do laptopa lub znaleźć mały, bardzo drogi dysk przemysłowy na module na pulpicie. Nie były bardzo duże w porównaniu do współczesnych dysków twardych (nowoczesne DOME IDE mają pojemność 8 GB lub 16 GB, jak sądzę). Całkiem pewne, że można było skonfigurować dyski półprzewodnikowe, zanim „standardowe” dyski SSD stały się powszechne

O ile mi wiadomo, tak naprawdę nie było żadnych uniwersalnych / magicznych ulepszeń w wyrównywaniu zużycia. Nastąpiły stopniowe ulepszenia (podczas gdy odchodziliśmy od drogiego SLC do MLC, TLC, a nawet QLC, a także mniejsze rozmiary procesów, z których wszystkie są niższe koszty, przy większym ryzyku zużycia). Flash stał się znacznie tańszy.

Było też kilka alternatyw, które nie powodowały problemów z zużyciem - na przykład uruchomienie całego systemu z pamięci ROM (która prawdopodobnie jest dyskiem półprzewodnikowym), pamięci RAM z podtrzymaniem bateryjnym, z której korzystało wiele wczesnych dysków SSD i urządzeń przenośnych, takich jak pilot dłoni. Żadna z nich nie jest dziś powszechna. Dyski twarde kołysały się w porównaniu z, powiedzmy, ramowym zasilaniem bateryjnym (zbyt drogim), wczesnymi urządzeniami półprzewodnikowymi (nieco drogimi) lub chłopami z flagami (nigdy nie przyłapanymi, straszna gęstość danych). Nawet współczesna pamięć flash jest potomkiem szybko kasujących się eepromów ), a eepromy były używane w urządzeniach elektronicznych do przechowywania rzeczy takich jak oprogramowanie układowe od wieków.

Dyski twarde po prostu znajdowały się na ładnym skrzyżowaniu dużej objętości (co jest ważne!), Niskich (ish) kosztów i względnie wystarczającej ilości miejsca.

Powodem dla którego emmcs znajduje się w nowoczesnych komputerach z niższej półki , jest to, że komponenty są stosunkowo tanie, wystarczająco duże (dla systemów stacjonarnych) za tę cenę i mają wspólną cechę z komponentami telefonów komórkowych, więc są produkowane luzem ze standardowym interfejsem. Dają także dużą gęstość przestrzeni dyskowej dla swojej objętości. Biorąc pod uwagę, że wiele z tych maszyn ma marny dysk o pojemności 32 lub 64 GB, na równi z dyskami twardymi sprzed lepszej dekady, jest to rozsądna opcja w tej roli.

W końcu dochodzimy do punktu, w którym możesz przechowywać rozsądną ilość pamięci w rozsądnej cenie iz rozsądną szybkością na emmcs i flash, dlatego ludzie po nie sięgają.


3

Wszystkie urządzenia pamięci flash, od tabletów przez telefony po inteligentne zegarki, dyski SSD, a nawet karty SD w aparatach i napędach USB korzystają z technologii NVRAM. Różnica polega na architekturze NVRAM i sposobie montowania systemu plików na dowolnym nośniku pamięci.

W przypadku tabletów i telefonów z Androidem technologia NVRAM jest oparta na eMMC. Dane, które mogę znaleźć w tej technologii, sugerują od 3k do 10k cykli zapisu. Niestety, żadne z moich dotychczasowych odkryć nie jest ostateczne, ponieważ Wikipedia nie zna cykli zapisu tej technologii. Wszystkie inne miejsca, na które patrzyłem, to różne fora, więc trudno nazwać je wiarygodnym źródłem.

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

Teraz, jeśli chodzi o wybór systemu operacyjnego, w jaki sposób zamontować system plików ... Nie mogę mówić o tym, jak robi to Apple, ale dla Androida chip jest podzielony na partycje jak na dysk twardy. Masz partycję systemu operacyjnego i partycję danych, a także kilka innych zastrzeżonych partycji w zależności od producenta urządzenia. Rzeczywista partycja root znajduje się w module ładującym, który jest zawarty jako skompresowany plik (jffs2, cramfs itp.) Wraz z jądrem, tak że po zakończeniu rozruchu na pierwszym etapie urządzenia (zwykle ekran z logo producenta), następuje uruchomienie jądra a partycja root jest jednocześnie montowana jako dysk RAM.

Podczas uruchamiania systemu instaluje system plików partycji podstawowej (/ system, którym jest jffs2 na urządzeniach przed Androidem 4.0 i ext2 / 3/4 na urządzeniach od Androida 4.0 oraz xfs na najnowszych urządzeniach) jako tylko do odczytu, dzięki czemu nie dane można do niego zapisać. Można to oczywiście obejść przez tak zwane „rootowanie” urządzenia, które daje dostęp jako administrator i umożliwia ponowne zamontowanie partycji jako odczyt / zapis. Twoje dane „użytkownika” są zapisywane na innej partycji w układzie scalonym (/ data, zgodnie z tą samą konwencją, co powyżej, w zależności od wersji Androida).

Ponieważ coraz więcej telefonów opuszcza gniazdo kart SD, możesz pomyśleć, że szybciej osiągniesz limit zapisu, ponieważ wszystkie dane są teraz zapisywane w pamięci eMMC zamiast na karcie SD. Na szczęście większość systemów plików wykrywa nieudany zapis w danym obszarze pamięci. Jeśli zapis się nie powiedzie, dane są dyskretnie zapisywane w nowym obszarze pamięci, a zły obszar (znany jako zły blok) zostaje odgrodzony przez sterownik systemu plików, dzięki czemu 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 sprawdzenie systemu plików lub sprawdzenie dysku, albo urządzenie automatycznie sprawdzi system plików podczas następnego rozruchu.

W rzeczywistości Google ma patent na automatyczne wykrywanie i obsługę uszkodzonych bloków.

https://www.google.com/patents/US7690031

Aby uzyskać więcej informacji, przejdź do pytania „jak to się nagle stało praktyczne?” nie jest właściwe pytanie. Przede wszystkim nigdy nie było to niepraktyczne. Zdecydowanie odradzono instalowanie systemu operacyjnego (Windows) na dysku SSD (prawdopodobnie) ze względu na liczbę zapisów wykonywanych przez system operacyjny 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 Regmon Microsoft / SysInternals ( https://technet.microsoft.com/en-us/sysinternals/regmon.aspx )

Odradzono instalowanie systemu operacyjnego (Windows) na dyskach SSD pierwszej generacji, ponieważ przy braku wyrównywania zużycia dane zapisywane w rejestrze co sekundę prawdopodobnie w końcu dotarły do ​​pierwszych użytkowników i spowodowały niemożność rozruchu systemów z powodu uszkodzenia rejestru.

W przypadku tabletów i telefonów oraz praktycznie każdego innego urządzenia wbudowanego nie ma rejestru (urządzenia Windows Embedded są oczywiście wyjątkami), dlatego nie ma obaw o ciągłe zapisywanie danych w tych samych częściach nośnika flash.

W przypadku urządzeń z systemem Windows Embedded, takich jak wiele kiosków (w tym kioski samoobsługowe Walmart i Kroger) dostępne publicznie - no wiesz, te, w których od czasu do czasu możesz zobaczyć losowy BSOD - nie ma wiele konfiguracji, którą można wykonać, ponieważ są one wstępnie zaprojektowane z konfiguracjami, których zamiaru nigdy się nie zmieni. Jedyne zmiany, które mają miejsce, to zapisanie układu w większości przypadków. Wszystko, co należy zapisać (np. Płatność do sklepu spożywczego), odbywa się za pośrednictwem sieci do baz danych sklepu na serwerze.


2

Twoje pytanie opiera się na założeniu, że limity zapisu w pamięci flash, bez znacznego wyrównywania zużycia, sprawiają, że nie nadaje się do podstawowej pamięci dowolnego urządzenia komputerowego. Istnieje wiele urządzeń komputerowych, w tym tablety, netbooki, smartfony itp., Które używają do tego celu pamięci flash, bez wyrównywania zużycia występującego w dyskach SSD.

Życie pamięci

Nie mogłem znaleźć dowodów na to, że pamięć używana w tych urządzeniach ma dłuższą żywotność niż dyski flash lub karty SD.

Chociaż używana jest pamięć flash, istnieją pewne różnice w porównaniu z zawartością pendrive lub karty SD. Komputery te zwykle używają eMMC, która zawiera kontroler i pamięć flash w jednym układzie, o innej architekturze niż karta SD lub dysk flash. Jedną różnicą dla kontrolera eMMC jest to, że emuluje on dysk twardy, więc komputer postrzega go jako urządzenie rozruchowe. To wygoda projektowania.

Niektórzy producenci twierdzą, że ich kontroler eMMC lepiej wyrównuje zużycie i ma bardziej niezawodną korekcję błędów niż typowa karta SD lub dysk flash. Implikacja ulepszonego ECC jest taka, że ​​może on tolerować większą degradację i nadal działa, więc ma dłuższą efektywną żywotność.

Ponieważ wszystko to jest zastrzeżone, trudno jest znaleźć twarde dane do jego obsługi. Nawet jeśli istnieją wysokiej klasy eMMC, które działają dłużej, niekoniecznie jest to używane w większości tych urządzeń. Różne informacje, które mogłem znaleźć na temat limitów zapisu w eMMC, wydają się umieszczać je w tym samym ogólnym miejscu, co karty SD i pendrive.

Wydaje się, że ogólnie pamięć o dłuższej żywotności nie jest podstawą do użycia pamięci flash jako podstawowej pamięci w tych urządzeniach. Wszyscy nie mylili się co do limitów zapisu; użycie można wyjaśnić faktem, że wymagania są różne.

Różnice między platformami

Komputery stacjonarne i laptopy to komputery ogólnego przeznaczenia, z których ludzie oczekują, że będą korzystać przez długi czas. Dyski flash i karty pamięci nie są doskonałym rozwiązaniem, ponieważ są podstawowym urządzeniem pamięci masowej, biorąc pod uwagę typową ilość zapisywanych danych i przewidywaną żywotność. Znajduje to odzwierciedlenie we wskazówkach opisanych w pytaniu i nie uległo zmianie (przynajmniej w przypadku bieżącej generacji pamięci flash).

Tablety, netbooki, smartfony i tym podobne to inna sytuacja. Te, które używają pamięci flash jako podstawowej pamięci, są urządzeniami o ograniczonym przeznaczeniu. Zadania, które są przeznaczone do obsługi, ich minimalne zasoby sprzętowe dostępne do obsługi innych zastosowań, ich podstawowa konstrukcja oraz ich system operacyjny i oprogramowanie, powodują mniej pisania w porównaniu do komputera. Biorąc pod uwagę, że urządzenia te polegają na pamięci flash (w formacie, którego nie można wymienić), limity zapisu są brane pod uwagę przy ich uruchamianiu.

Mają także krótszą długość życia. Urządzenia wykorzystujące pamięć flash jako podstawową pamięć masową są tanie, zaprojektowane z myślą o rynku, na którym ludzie często dokonują aktualizacji. Urządzenia zapewniają pewne funkcje i możliwości w niewielkiej obudowie i działają tak długo, jak długo działają w oparciu o komponenty, z których zostały zbudowane. Bateria najprawdopodobniej ulegnie awarii przed pamięcią flash lub części mogą się zepsuć. A ciągły marketing przekonuje cię, że twoje urządzenie jest przestarzałe i musi zostać zastąpione najnowszym modelem.

Jest taka historia, że ​​Henry Ford wysyłał swoich inżynierów na złomowiska, szukając wciąż dobrych części martwych samochodów. Pomysł polegał na tym, że te części można wytwarzać taniej, ponieważ nie musiały one trwać tak długo, jak kiedyś. Ta logika dotyczy pamięci flash w tych urządzeniach. Po prostu musi trwać wystarczająco długo, nie musi długo przeżywać urządzenia.

Dolna linia

Istnieją niszowe rynki dla tanich, niewielkich urządzeń komputerowych, które nie zapisują tak dużo na podstawowej pamięci, jak komputer jest przystosowany do obsługi i które nie mają takich samych oczekiwań w zakresie żywotności. Pamięć w postaci eMMC jest tania, niewielka, rozruchowa i wystarczająco dobra dla tej aplikacji.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.