IDC prognozuje, że w latach 2010–2015 sprzedaż dysków SSD wzrośnie globalnie o 52% w ujęciu rocznym. Odpowiedni wzrost popularności serwerów i pamięci masowych w przedsiębiorstwach oznacza, że głębsze zrozumienie kluczowych komponentów, takich jak zarządzanie nośnikami oraz wykorzystanie nowych dysków w porównaniu z używanymi, może pomóc administratorom lepiej zarządzać zasobami pamięci masowej.
Dyski SSD mogą wydawać się bardzo podobne do tradycyjnych obrotowych dysków twardych, ale podobieństwo jest jedynie powierzchowne. Analiza wewnętrznej budowy dysku SSD ujawnia, że w rzeczywistości dyski SSD mają niewiele wspólnego z tradycyjnymi dyskami. Kluczowym przykładem jest różnica w sposobie, w jaki każdy typ dysku nadpisuje istniejące dane – dyski obrotowe nadpisują dane w jednym kroku, podczas gdy dyski SSD oparte na pamięci flash NAND wymagają dodatkowych kroków. Niniejszy raport omawia „wieloetapowy proces zapisu” dla dysków SSD.
Kontekst: Podstawy projektowania dysków SSD
Pierwszą rzeczą, którą należy zrozumieć, jeśli chodzi o nadpisywanie danych na dyskach SSD, jest ich konstrukcja. Każdy dysk SSD składa się z następujących podstawowych komponentów:
- Interfejs hosta
- Płytka drukowana
- Kontroler NAND
- NAND
Różnice w procesie pisania
Dane zapisywane są w pamięci NAND inaczej niż na obrotowym dysku twardym – pamięć NAND zawierająca dane (niezależnie od tego, czy są prawidłowe, czy nie) musi zostać najpierw skasowana; dopiero wtedy można zapisać do niej nowe dane. W skrócie, proces kasowania najpierw kasuje cały blok; dopiero wtedy strony w tym bloku mogą zostać zapisane.
Ponieważ pamięć NAND, na której znajdują się już dane, musi zostać wymazana przed zapisaniem na niej nowych danych, sekwencja zapisu dla urządzenia pełnego (czyli takiego, które nie ma pustych/wymazanych stron) znacznie różni się od sekwencji zapisu dla urządzenia pustego (lub takiego, które ma wystarczająco dużo pustych/wymazanych stron, aby przejąć przychodzący ruch zapisu).
Dostępne puste/wymazane strony
Załóżmy, że moglibyśmy zapewnić sobie zawsze dostęp do pustych/wymazanych stron. Gdy dane trafiają na dysk SSD, przebieg procesu wyglądałby podobnie do tego w przypadku dysku obrotowego:
- Dane trafiają na dysk SSD z interfejsu hosta, co powoduje żądanie zapisu (które ostatecznie zostanie zapisane w pamięci NAND).
- „Czy są jakieś puste/wymazane strony” (czyli strony gotowe do zapisu)? Na rysunku 1 dostępne są puste/wymazane strony.
- Zapisz dane na dostępnych stronach.
Ten proces zapisu odbywa się w jednym kroku, podobnie jak w przypadku dysków obrotowych. Zazwyczaj jest to znacznie szybsze niż zapis na dysk SSD bez pustych/wymazanych stron (jak pokazano na rysunku 2).
Niewystarczająca liczba pustych/wymazanych stron
Załóżmy teraz, że mamy dysk SSD z niewystarczającą liczbą pustych/wymazanych stron. Ponieważ nowe dane są zapisywane na dysku SSD, komórki muszą zostać wymazane bezpośrednio przed zapisem:
- Dane trafiają na dysk SSD z interfejsu hosta, co powoduje żądanie zapisu (które ostatecznie zostanie zapisane w pamięci NAND).
- „Czy jest wystarczająca liczba pustych/wymazanych stron” (tj. stron gotowych do zapisu)? Na rysunku 2 brakuje pustych/wymazanych stron.
- Znajdź blok, którego dane zostały unieważnione lub którego prawidłowe dane można przenieść, dzięki czemu będzie on dobrym kandydatem do usunięcia, a następnie wywołaj procedurę zbierania śmieci (patrz sekcja Nowe dyski a używane dyski poniżej), aby umożliwić usunięcie tego bloku.
- Usuń ten blok. (Powtarzaj w razie potrzeby, aby zapisać dane w żądaniu zapisu.)
- Zapisz dane na nowo usuniętych/pustych stronach.
Krok 4 może być powolny, ponieważ kasowanie pamięci NAND trwa znacznie dłużej niż zapisywanie jej — każdy cykl kasowania pamięci NAND jest „powolny” (zwykle zapis do komórki MLC trwa 250 mikrosekund [µs], a jej wymazanie — 1500 µs).
Nowe dyski kontra używane dyski
Jeśli używasz zupełnie nowego dysku SSD, proces zapisu przebiega tak samo, jak na rysunku 1. Nowy dysk SSD jest pusty; wszystkie jego strony będą puste i gotowe do odbioru nowych danych, dlatego krok wymazywania jest rzadko wykonywany podczas zapisywania danych. Jednak wraz z zapełnianiem się dysku liczba tych pustych/wymazanych stron maleje i ostatecznie zostają one zużyte.
W dyskach SSD istnieje proces w tle, który zwalnia strony, których dane zostały unieważnione, dzięki czemu nadają się do usunięcia. Ten proces w tle nazywa się „zbieraniem śmieci”.
Wniosek
Jeśli dysk SSD z pamięcią NAND jest pełny, zapisywanie na nim nowych danych przebiega zupełnie inaczej niż na pustym dysku SSD. Jeśli dysk jest pusty, proces zapisu jest bardzo podobny do zapisu na dyskach obrotowych. Jeśli jednak dysk SSD zawiera już dane, wymagane są dodatkowe kroki:
- Dysk SSD musi sprawdzić, czy jest na nim wystarczająco dużo wolnego miejsca, aby zapisać dane.
- W przeciwnym razie wywołuje procedurę zbierania śmieci, aby zgrupować i przenieść prawidłowe dane, tak aby cały blok mógł zostać usunięty (a strony w bloku mogły otrzymać nowe dane).
- Blokada została usunięta.
- Dane zostały zapisane.
Wszystkie te dodatkowe kroki są wykonywane przez kontroler SSD bez ingerencji hosta, ale powodują wahania wydajności.
Więcej informacji można znaleźć w dokumencie „ SSD Performance States ” na stronie Micron.com.
Doug Rollins (Starszy inżynier aplikacji, dyski SSD klasy Enterprise, Micron Technology)
Doug Rollins dołączył do firmy Micron w 2009 roku jako inżynier aplikacji w grupie Enterprise SSD Products. Przed dołączeniem do Micron, pan Rollins spędził 17 lat pracując w działach projektowania i produkcji systemów serwerowych, urządzeń sieciowych, platform pamięci masowej/ochrony danych oraz pamięci masowej SSD. Pan Rollins jest wymieniony w 13 patentach amerykańskich i został doceniony zarówno przez Storage Networking Industry Association (SNIA), jak i Intel Corporation za wybitne osiągnięcia techniczne. Pan Rollins uzyskał tytuł licencjata z matematyki na Humboldt State University.





Amazon