Zdecydowałem, że niektóre informacje w tle mogą być pomocne w uczynieniu tej odpowiedzi jasną, ale jak widać poszedłem trochę OCD, więc możesz chcieć przeskoczyć do końca, a następnie wrócić w razie potrzeby. Chociaż wiem co nieco, nie jestem ekspertem od S.S.D.s, więc jeśli ktoś widzi błąd EDIT to :).
Informacje ogólne:
Czym jest S.S.D.?:
S.S.D. lub dysk półprzewodnikowy to urządzenie pamięci masowej bez ruchomych części. Termin S.S.D. jest często używany w odniesieniu do dysków półprzewodnikowych opartych na technologii nand-flash, które mają stanowić alternatywę dla dysku twardego, ale w rzeczywistości są one tylko jedną z form S.S.D., a nawet nie najpopularniejszą. Najpopularniejszym typem dysku półprzewodnikowego jest nośnik wymienny oparty na technologii nand-flash, taki jak pamięć USB (pendrive) i karty pamięci, choć rzadko określa się je mianem dysku półprzewodnikowego. S.S.D. mogą być również oparte na pamięci ram, ale większość napędów ram jest generowana przez oprogramowanie, w przeciwieństwie do fizycznego sprzętu.
Dlaczego istnieją dyski S.S.D. Nand-flash, które mają działać jako alternatywa dla dysku twardego?:
Aby uruchomić system operacyjny i jego oprogramowanie, potrzebny jest szybki nośnik pamięci. To jest miejsce, gdzie ram wchodzi do gry, ale historycznie ram był drogi i procesory nie mogły adresować ogromnych ilości. Kiedy uruchamiasz system operacyjny lub program, aktualnie wymagane porcje danych są kopiowane do pamięci ram, ponieważ urządzenie pamięci masowej nie jest wystarczająco szybkie. Powstaje wąskie gardło, ponieważ trzeba czekać na skopiowanie danych z powolnego urządzenia pamięci masowej do pamięci ram. Podczas gdy nie wszystkie nand-flash S.S.D.s recieve lepszą wydajność niż bardziej tradycyjny dysk twardy, te, które robią pomóc zmniejszyć wąskie gardło dając szybsze czasy dostępu, prędkości odczytu i prędkości zapisu.
Czym jest Nand-flash?:
Pamięć flash to nośnik pamięci, który do przechowywania danych wykorzystuje energię elektryczną, a nie magnetyzm. Nand-flash to pamięć flash, która wykorzystuje bramkę NAND. W przeciwieństwie do A nor-flash, który ma dostęp losowy, nand-flash ma dostęp sekwencyjny.
Jak pamięci masowe Nand-flash przechowują dane?:
Pamięć masowa Nand-flash składa się z bloków, te bloki są podzielone na komórki, komórki zawierają strony. W przeciwieństwie do dysku twardego, który wykorzystuje magnetyzm do przechowywania danych, nośniki flash wykorzystują energię elektryczną, z tego powodu dane nie mogą być nadpisywane; dane muszą być wymazane, aby ponownie wykorzystać przestrzeń. Urządzenie nie może kasować pojedynczych stron; kasowanie musi odbywać się na poziomie bloku. Ponieważ dane nie mogą być zapisane w bloku, który jest już używany (nawet jeśli nie wszystkie strony są w nim używane), cały blok musi być najpierw wymazany, a następnie pusty blok może mieć zapisane dane na swoich stronach. Problem polega na tym, że stracisz wszystkie dane już znajdujące się na tych stronach, w tym dane, których nie chcesz wyrzucać! Aby temu zapobiec, istniejące dane, które mają być zachowane, muszą być skopiowane gdzieś indziej przed wykonaniem kasowania bloku. Ta procedura kopiowania nie jest wykonywana przez system operacyjny komputera, jest ona wykonywana na poziomie urządzenia przez funkcję znaną jako garbage collection.
Na dyskach twardych do przechowywania danych wykorzystywany jest talerz magnetyczny. Podobnie jak płyty winylowe, talerz posiada ścieżki, które są podzielone na sekcje zwane sektorami. Sektor może pomieścić określoną ilość danych (zazwyczaj 512 bajtów, ale niektóre nowsze mają 4KB). Kiedy stosujesz system plików sektory są grupowane w klastry (w oparciu o określony przez ciebie rozmiar, zwany rozmiarem alokacji lub rozmiarem klastra), a następnie pliki są zapisywane w klastrach. Możliwe jest również podzielenie sektora tak, aby utworzyć klastry mniejsze niż rozmiar sektora. Miejsce niewykorzystane w klastrze po zapisaniu pliku w klastrze (lub kilku) nie nadaje się do użytku, następny plik zaczyna się w nowym klastrze. Aby uniknąć dużej ilości nieużywanego miejsca, ludzie zazwyczaj używają mniejszych rozmiarów klastrów, ale może to zmniejszyć wydajność podczas zapisu dużych plików. Dyski S.S.D. Nand-flash nie mają płyty magnetycznej, wykorzystują energię elektryczną przepływającą 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 stanowią najmniejszy podział pamięci masowej.
Co to jest Wear Leveling?:
Bloki pamięci masowej Nand-flash mogą być zapisywane i kasowane ograniczoną liczbę razy (określaną jako ich cykl życia). Aby zapobiec zmniejszeniu pojemności dysku (martwe bloki), sensowne jest jak najbardziej równomierne zużywanie bloków. Ograniczony cykl życia jest również głównym powodem, dla którego wiele osób sugeruje, aby nie mieć pliku strony lub partycji wymiany w systemie operacyjnym, jeśli używasz S.S.D. opartego na Nand-flash (chociaż szybkie prędkości transferu danych z urządzenia do pamięci ram są również głównym czynnikiem tej sugestii).
Co to jest Over Provisioning?:
Over Provisioning definiuje różnicę między ilością wolnego miejsca w porównaniu do tego, ile go wydaje się być. Urządzenia pamięci masowej oparte na technologii Nand-flash twierdzą, że są mniejsze niż są, aby zagwarantować, że będą puste bloki do wykorzystania przez śmieci. Istnieje drugi rodzaj over provisioning zwany dynamic over provisioning, który po prostu odnosi się do znanej wolnej przestrzeni w ramach pokazanej wolnej przestrzeni. Istnieją dwa rodzaje dynamicznego over provisioningu: na poziomie systemu operacyjnego i na poziomie kontrolera dysku. Na poziomie systemu operacyjnego Trim może być użyty do zwolnienia bloków, które następnie mogą być natychmiast zapisane. Na poziomie kontrolera można wykorzystać nieprzydzielone miejsce na dysku (nie podzielone na partycje, bez systemu plików). Posiadanie większej liczby wolnych bloków pomaga utrzymać najwyższą wydajność dysku, ponieważ można na nim natychmiast zapisywać dane. Zwiększa to również prawdopodobieństwo posiadania bloków, które są zlokalizowane sekwencyjnie, co skraca czas dostępu, ponieważ dyski S.S.D. Nand-flash wykorzystują dostęp sekwencyjny do odczytu i zapisu danych.
Czym jest wzmocnienie zapisu?:
Ponieważ nośniki Nand-flash wymagają wymazania bloku przed zapisem, wszelkie dane w bloku, który nie jest wymazywany, muszą zostać skopiowane do nowego bloku przez usuwanie śmieci. Te dodatkowe zapisy są nazywane wzmocnieniem zapisu.
Co to jest Trim…?:
Systemy operacyjne są budowane z myślą o tradycyjnych dyskach twardych. Pamiętaj, że tradycyjny dysk twardy może bezpośrednio nadpisywać dane. Kiedy usuwasz plik, system operacyjny oznacza go jako usunięty (można go nadpisać), ale dane nadal tam są, dopóki nie nastąpi operacja zapisu. W przypadku dysków S.S.D. opartych na technologii Nand-flash jest to problem, ponieważ dane muszą być najpierw wymazane. Kasowanie odbywa się na poziomie bloku, więc mogą istnieć dodatkowe dane, które nie są usuwane. Usuwanie śmieci kopiuje wszelkie dane, które nie są przeznaczone do usunięcia, do pustych bloków, a następnie bloki te mogą zostać wymazane. To wszystko zajmuje czas i powoduje niepotrzebne zapisy (wzmocnienie zapisu)! Aby obejść ten problem, stworzono funkcję zwaną Trim. Trim daje systemowi operacyjnemu możliwość nakazania S.S.D. wymazywania bloków ze stronami zawierającymi dane, które system operacyjny oznaczył jako usunięte, w okresach czasu, w których nie żąda się tam operacji zapisu. Garbage collection robi swoje i w rezultacie bloki są zwalniane, tak że zapisy mogą mieć miejsce na blokach, które nie muszą być kasowane jako pierwsze, co czyni proces szybszym i pomaga zredukować amplifikację zapisu do minimum. Nie odbywa się to na podstawie plików; Trim używa logicznego adresowania bloków. L.B.A. określa, które sektory (strony) mają być wymazane, a wymazywanie odbywa się na poziomie bloku.
The Answer To Your Question “Disadvantages of partitioning an SSD?”:
Dyski SSD oparte na pamięci RAM:
Nie ma absolutnie żadnych wad, ponieważ mają one dostęp losowy!
Nand-flash Based S.S.S.D.s:
Jedyne wady, które przychodzą mi do głowy to:
Wear leveling nie będzie miał tyle wolnego miejsca do gry, ponieważ operacje zapisu będą rozłożone na mniejszej przestrzeni, więc “możesz”, ale niekoniecznie zużyjesz tę część dysku szybciej niż gdyby cały dysk był pojedynczą partycją, chyba że będziesz wykonywał równoważne zużycie na dodatkowych partycjach (np. dual boot).
Podobnie jak dyski twarde, dyski S.S.D. z pamięcią nand-flash mają dostęp sekwencyjny, więc wszelkie dane zapisywane/odczytywane z dodatkowych partycji będą dalej niż mogłyby być zapisane na pojedynczej partycji, ponieważ ludzie zazwyczaj zostawiają wolną przestrzeń w swoich partycjach. To spowoduje wydłużenie czasu dostępu do danych, które są przechowywane na dodatkowych partycjach.
Mniej miejsca zwiększa prawdopodobieństwo zapisu pofragmentowanych plików, i choć wpływ na wydajność jest niewielki należy pamiętać, że jest to ogólnie uważane za zły pomysł, aby defragmentować nand-flash S.S.D., ponieważ będzie to zużycie dysku. Oczywiście w zależności od tego, jaki system plików używasz niektóre wyniki w bardzo niskich kwotach fragmentacji, ponieważ są one zaprojektowane, aby zapisać pliki jako całość, gdy to możliwe, a nie wysypać go na całym miejscu, aby stworzyć szybsze prędkości zapisu.
Powiedziałbym, że posiadanie wielu partycji jest w porządku, ale wyrównywanie zużycia może być problemem, jeśli niektóre partycje otrzymują dużo aktywności zapisu, a inne bardzo mało. Jeśli nie partycjonujesz przestrzeni, której nie planujesz używać, a zamiast tego zostawiasz ją dla dynamicznego over provisioningu, możesz otrzymać wzrost wydajności, ponieważ łatwiej będzie zwolnić bloki i zapisywać dane sekwencyjne. Jednakże nie ma gwarancji, że przestrzeń over provisioning będzie potrzebna, co sprowadza nas z powrotem do punktu #1 o wear leveling.
Kilka innych osób w tym wątku poruszyło kwestię tego, jak partycjonowanie wpłynie na wkład Trima w dynamiczny over provisioning. Według mojego rozumienia TRIM jest używany do wskazywania sektorów (stron), które mają dane oznaczone do usunięcia, a więc usuwanie śmieci może swobodnie wymazać te bloki. Ta wolna przestrzeń działa jak dynamiczny over provisioning tylko w obrębie TEJ partycji, ponieważ te sektory są częścią klastrów wykorzystywany przez system plików tej partycji; inne partycje mają swoje własne systemy plików. Mogę się jednak całkowicie mylić w tej kwestii, ponieważ cała idea over provisioningu jest dla mnie trochę niejasna, ponieważ dane będą zapisywane w miejscach, które nawet nie mają systemów plików lub nie pojawiają się w pojemności dysków. To sprawia, że zastanawiam się, czy może przestrzeń over provisioning jest używana tymczasowo przed ostateczną operacją zapisu optomized do bloków w systemie plików? Oczywiście wkłady Trima do dynamicznego over provisioningu w systemie plików nie byłyby tymczasowe, ponieważ mogłyby być zapisywane bezpośrednio, ponieważ są już w przestrzeni użytkowej. Taka jest przynajmniej moja teoria. Może moje rozumienie systemów plików jest błędne? Nie udało mi się znaleźć żadnych zasobów, które szczegółowo omawiają tę kwestię.