Uznałem, że niektóre informacje ogólne mogą być pomocne w wyjaśnieniu tej odpowiedzi, ale jak widać poszedłem trochę OCD, więc możesz przeskoczyć do końca, a następnie wrócić w razie potrzeby. Chociaż trochę wiem, nie jestem ekspertem od dysków SSD, więc jeśli ktoś zobaczy błąd, edytuj go. :).
Informacje podstawowe:
Co to jest dysk SSD ?:
Dysk SSD lub dysk SSD to urządzenie pamięci masowej bez ruchomych części. Termin SSD często odnosi się konkretnie do dysków półprzewodnikowych opartych na nand-flash, które mają działać jako alternatywa dla dysków twardych, ale w rzeczywistości są one tylko jedną formą dysków SSD, a nie nawet najbardziej popularną. Najpopularniejszym rodzajem dysku SSD są nośniki wymienne typu nand-flash, takie jak pamięci USB (dyski flash) i karty pamięci, choć rzadko są one określane jako dyski SSD. Dyski SSD mogą być również oparte na pamięci RAM, ale większość napędów RAM jest generowanych programowo, a nie fizycznie.
Dlaczego istnieją dyski SSD Nand-flash przeznaczone do działania jako alternatywa dla dysków twardych ?:
Aby uruchomić system operacyjny i jego oprogramowanie, wymagany jest szybki nośnik pamięci. To tutaj wchodzi baran, ale historycznie baran był drogi, a procesory nie były w stanie poradzić sobie z ogromnymi ilościami. Po uruchomieniu systemu operacyjnego lub programu wymagane części danych są kopiowane do pamięci RAM, ponieważ urządzenie pamięci masowej nie jest wystarczająco szybkie. Powstaje wąskie gardło, ponieważ musisz poczekać, aż dane zostaną skopiowane z wolnego urządzenia pamięci masowej do pamięci RAM. Chociaż nie wszystkie dyski SSD typu nand-flash uzyskują lepszą wydajność niż bardziej tradycyjny dysk twardy, te, które pomagają zmniejszyć wąskie gardło, zapewniając szybsze czasy dostępu, prędkości odczytu i prędkości zapisu.
Co to jest Nand-flash ?:
Pamięć flash to nośnik pamięci, który wykorzystuje energię elektryczną zamiast magnetyzmu do przechowywania danych. Nand-flash to pamięć flash korzystająca z bramy NAND. W przeciwieństwie do trybu NOR-FLASH, który ma dostęp losowy, dostęp NAND-Flash jest sekwencyjny.
Jak dyski SSD Nand-flash przechowują dane ?:
Pamięć flash typu nand składa się z bloków, bloki te są podzielone na komórki, komórki zawierają strony. W przeciwieństwie do dysku twardego wykorzystującego magnetyzm do przechowywania danych, nośniki pamięci flash zużywają energię elektryczną, ponieważ danych tych nie można nadpisać; dane muszą zostać usunięte, aby ponownie wykorzystać miejsce. Urządzenie nie może usuwać pojedynczych stron; wymazywanie musi nastąpić na poziomie bloku. Ponieważ danych nie można zapisać w bloku, który jest już używany (nawet jeśli nie wszystkie strony w nim są), najpierw należy usunąć cały blok, a następnie w pustym bloku można zapisać dane na jego stronach. Problem polega na tym, że stracisz dane już znajdujące się na tych stronach, w tym dane, których nie chcesz odrzucić! Aby zapobiec zachowaniu tych istniejących danych, należy je skopiować w innym miejscu przed usunięciem bloku.
Na dyskach twardych do przechowywania danych służy płyta magnetyczna. Podobnie jak płyty winylowe płyta ma ścieżki, które są podzielone na sekcje zwane sektorami. Sektor może przechowywać pewną ilość danych (zwykle 512 bajtów, ale niektóre nowsze to 4KB). Po zastosowaniu sektory systemu plików są grupowane w klastry (na podstawie określonego rozmiaru, zwanego rozmiarem alokacji lub rozmiarem klastra), a następnie pliki są zapisywane w klastrach. Możliwe jest również podzielenie sektora, aby klastry były mniejsze niż rozmiar sektora. Przestrzeń nieużywana w klastrze po zapisaniu pliku w klastrze (lub kilku) nie jest użyteczna, następny plik rozpoczyna się w nowym klastrze. Aby uniknąć dużej ilości bezużytecznego miejsca, ludzie zwykle używają mniejszych rozmiarów klastra, ale może to zmniejszyć wydajność podczas pisania dużych plików. Dyski SSD typu Nand-flash nie mają płytki magnetycznej, używają elektryczności przepływającej przez bloki pamięci. Blok składa się z komórek zawierających strony. Strony mają pojemność X (zwykle 4 KB), a zatem liczba stron określa pojemność bloku (zwykle 512 KB). Na dyskach SSD strona odpowiada sektorowi na dysku twardym, ponieważ oba reprezentują najmniejszy podział pamięci.
Co to jest wyrównanie zużycia ?:
Bloki pamięci Nand-flash mogą być zapisywane i usuwane ograniczoną liczbę razy (określane jako ich cykl życia). Aby zapobiec obniżeniu pojemności napędu (martwe bloki), rozsądne jest równomierne zużycie bloków. Ograniczony cykl życia jest również głównym powodem, dla którego wiele osób sugeruje brak pliku stronicowania lub partycji wymiany w systemie operacyjnym, jeśli używasz dysku SSD opartego na Nand-flash (chociaż duże prędkości przesyłania danych z urządzenia do pamięci RAM są również znaczącą czynnik w tej sugestii).
Co to jest nadmierne zaopatrzenie ?:
Over Provisioning określa różnicę między ilością wolnego miejsca w porównaniu z ilością, która wydaje się być. Urządzenia pamięci masowej oparte na nand-flash twierdzą, że są mniejsze niż są, dlatego gwarantowane są puste bloki do wyrzucania śmieci. Istnieje drugi rodzaj nadmiernego udostępniania, nazywany dynamicznym zastępowaniem, który po prostu odnosi się do znanej wolnej przestrzeni w pokazanej wolnej przestrzeni. Istnieją dwa typy dynamicznego przydzielania zasobów: poziom systemu operacyjnego i poziom kontrolera napędu. Na poziomie systemu operacyjnego Trim może być użyty do zwolnienia bloków, które można następnie zapisać natychmiast. Na poziomie kontrolera można użyć nieprzydzielonego miejsca na dysku (niepartycjonowanego, bez systemu plików). Posiadanie większej liczby wolnych bloków pomaga zachować najwyższą wydajność napędu, ponieważ może natychmiast pisać.
Co to jest wzmocnienie zapisu ?:
Ponieważ nośniki Nand-flash wymagają usunięcia bloku, zanim będzie można go zapisać, wszelkie dane w bloku, które nie są usuwane, muszą zostać skopiowane do nowego bloku przez usuwanie śmieci. Te dodatkowe zapisy nazywane są wzmocnieniem zapisu.
Co to jest przycinanie.?:
Systemy operacyjne są tworzone z myślą o tradycyjnych dyskach twardych. Pamiętaj, że tradycyjny dysk twardy może bezpośrednio nadpisywać dane. Po usunięciu pliku system operacyjny oznaczy go jako usunięty (w porządku do nadpisania), ale dane nadal tam są, dopóki nie nastąpi operacja zapisu. Na dyskach SSD typu Nand-flash jest to problem, ponieważ dane muszą zostać najpierw usunięte. Kasowanie odbywa się na poziomie bloku, więc mogą istnieć dodatkowe dane, które nie są usuwane. Usuwanie śmieci kopiuje wszystkie dane, których nie można usunąć, do pustych bloków, a następnie omawiane bloki można usunąć. Wszystko to wymaga czasu i powoduje niepotrzebne zapisy (wzmocnienie zapisu)! Aby obejść ten problem, stworzono funkcję Trim. Trim daje systemowi operacyjnemu moc informowania dysku SSD aby usunąć bloki ze stronami zawierającymi dane, które system operacyjny oznaczył jako usunięte w okresach, gdy nie żądasz tam operacji zapisu. Wyrzucanie elementów bezużytecznych ma swoje znaczenie, w wyniku czego bloki są zwalniane, dzięki czemu można mieć nadzieję, że zapisy wystąpią w blokach, które nie muszą być najpierw usuwane, co przyspiesza proces i pomaga zredukować wzmocnienie zapisu do minimum. Nie odbywa się to na podstawie pliku; Trim wykorzystuje logiczne adresowanie bloków. LBA określa, które sektory (strony) mają zostać usunięte, a wymazywanie następuje na poziomie bloku. i pomaga zredukować wzmocnienie zapisu do minimum. Nie odbywa się to na podstawie pliku; Trim wykorzystuje logiczne adresowanie bloków. LBA określa, które sektory (strony) mają zostać usunięte, a wymazywanie następuje na poziomie bloku. i pomaga zredukować wzmocnienie zapisu do minimum. Nie odbywa się to na podstawie pliku; Trim wykorzystuje logiczne adresowanie bloków. LBA określa, które sektory (strony) mają zostać usunięte, a wymazywanie następuje na poziomie bloku.
Odpowiedź na Twoje pytanie „Wady partycjonowania dysku SSD?”:
Dyski SSD oparte na pamięci RAM:
Nie ma absolutnie żadnej wady, ponieważ są one losowe!
Dyski SSD typu Nand-flash:
Jedyne wady, które przychodzą mi na myśl, to:
Wyrównanie zużycia nie będzie miało tyle wolnego miejsca do zabawy, ponieważ operacje zapisu zostaną rozłożone na mniejszą przestrzeń, więc „możesz”, ale niekoniecznie zużyje się tę część dysku szybciej niż gdybyś cały dysk była pojedyncza partycja, chyba że będziesz wykonywać równoważne zużycie na dodatkowych partycjach (np .: podwójny rozruch).
Podobnie jak dyski twarde dyski SSD typu nand-flash mają dostęp sekwencyjny, więc wszelkie dane, które zapisujesz / odczytujesz z dodatkowych partycji, będą znajdować się dalej niż „mogłoby” być, gdyby zostały zapisane w jednej partycji, ponieważ ludzie zwykle pozostawiają wolne miejsce na swoich partycjach . Zwiększy to czas dostępu do danych przechowywanych na dodatkowych partycjach.
Mniej całkowitej przestrzeni zwiększa prawdopodobny zakres pisania pofragmentowanych plików i chociaż wpływ na wydajność jest niewielki, należy pamiętać, że ogólnie uznanie za defrrforowanie dysku SSD typu nand-flash jest uważane za zły pomysł, ponieważ spowoduje to zużycie dysku. Oczywiście w zależności od używanego systemu plików fragmentacja jest wyjątkowo mała, ponieważ są one zaprojektowane do zapisywania plików jako całości, gdy tylko jest to możliwe, zamiast zrzucania ich wszędzie, aby uzyskać szybsze prędkości zapisu.
Powiedziałbym, że dobrze jest mieć wiele partycji, ale wyrównywanie zużycia może być problemem, jeśli niektóre partycje mają dużo aktywności zapisu, a inne bardzo mało. Jeśli nie podzielisz miejsca, którego nie planujesz użyć, i zamiast tego pozostawisz to do dynamicznego przydzielania, możesz uzyskać wzrost wydajności, ponieważ łatwiej będzie zwolnić bloki i zapisać dane sekwencyjne. Jednak nie ma żadnej garauntee, że nad rezerwą będzie potrzebna przestrzeń, która przywróci nas do punktu nr 1 dotyczącego wyrównywania zużycia.
Niektóre inne osoby w tym wątku podjęły dyskusję o tym, w jaki sposób partycjonowanie wpłynie na wkład Trim w dynamikę nad aprowizację. W moim rozumieniu TRIM jest używany do wskazywania sektorów (stron), które mają dane oznaczone do usunięcia, więc usuwanie śmieci może swobodnie usunąć te bloki. Ta wolna przestrzeń działa dynamicznie w stosunku do udostępniania tylko na tej partycji, ponieważ sektory te są częścią klastrów używanych przez system plików tej partycji; inne partycje mają własne systemy plików. Jednak mogę się w tym całkowicie mylić, ponieważ cały pomysł nadmiernej obsługi administracyjnej jest dla mnie trochę niejasny, ponieważ dane będą zapisywane w miejscach, w których nawet nie ma systemów plików lub które występują w pojemności dysków. To sprawia, że zastanawiam się, czy być może tymczasowo nadużywanie przestrzeni jest używane przed ostateczną operacją zapisu optomized do bloków w systemie plików? Oczywiście wkłady Trim w dynamiczne udostępnianie w systemie plików nie byłyby tymczasowe, ponieważ można je zapisać bezpośrednio, ponieważ są już w użytecznej przestrzeni. To przynajmniej moja teoria. Może moje rozumienie systemów plików jest nieprawidłowe? Nie udało mi się znaleźć żadnych szczegółowych informacji na ten temat.