Dlaczego transfery w domowym NAS zwalniają po zapełnieniu pamięci podręcznej SLC w dysku SSD?

Eva Wong jest Technicznym pisarzem i stałym majsterkowiczem w ZimaSpace. Całe życie geek z pasją do homelabów i oprogramowania open-source, specjalizuje się w tłumaczeniu skomplikowanych koncepcji technicznych na przystępne, praktyczne przewodniki. Eva wierzy, że samodzielne hostowanie powinno być zabawą, a nie czymś onieśmielającym. Poprzez swoje samouczki umożliwia społeczności rozwiewanie tajemnic konfiguracji sprzętu, od budowy pierwszego NAS po opanowanie kontenerów Docker.

Transfery w domowym NAS mogą zwalniać po zapełnieniu pamięci podręcznej SLC SSD, ponieważ dysk nie może już pochłaniać napływających danych z prędkością buforowaną. Więcej zapisów musi korzystać z wolniejszej natywnej ścieżki TLC lub QLC, podczas gdy kontroler może też przenosić dane z pamięci podręcznej lub odzyskiwać przestrzeń flash do ponownego użycia.

Wykres szybki-potem-wolny sugeruje granicę pamięci podręcznej, ale jej nie lokalizuje. Pamięć NAS, buforowanie systemu plików, przepustowość sieci, ograniczenia termiczne, zbieranie śmieci i systemowa pamięć podręczna SSD mogą powodować podobne objawy.

Czym jest pamięć podręczna SLC w SSD?

Wiele dysków TLC i QLC rezerwuje lub dynamicznie konfiguruje część swojego NAND do pracy w trybie jednego bitu na komórkę. Ten obszar pseudo-SLC może być programowany szybciej niż ten sam flash działający w normalnym trybie o wyższej gęstości, co pozwala dyskowi przyjąć krótki zastrzyk zapisów hosta z wyższą prędkością.

Nagły wzrost nie jest fałszywy. SSD może mieć wydajność buforowaną i natywną wydajność ciągłą. Badania nad projektem pamięci podręcznej pseudo-SLC opisują dane hosta wchodzące do obszaru trybu SLC i spadek wydajności, gdy ograniczona pojemność pamięci podręcznej jest szybko zużywana.

Pamięć podręczna nie musi być stałą, widoczną dla użytkownika partycją. Oprogramowanie układowe może stosować alokację statyczną, dynamiczną lub mieszaną, podczas gdy host widzi logiczne adresy bloków, a nie wskaźnik pojemności SLC. Wykres może ujawnić efekt pamięci podręcznej bez ujawniania jej dokładnego rozmiaru.

Co się zmienia, gdy pamięć podręczna SLC nie może już pochłaniać zapisów?

Podczas fazy buforowania dane korzystają z szybszej ścieżki w trybie SLC. Gdy dostępna przestrzeń do ponownego użycia się kurczy, kontroler coraz częściej korzysta z natywnego programowania TLC lub QLC. Ta ścieżka staje się ograniczeniem, gdy natywna prędkość zapisu jest niższa niż napływający strumień z NAS.

Dysk może też przenosić dane w trybie SLC do NAND o wyższej gęstości i odzyskiwać bloki. Nowe zapisy i wewnętrzne przenoszenie danych mogą konkurować o zasoby NAND. Harmonogram oprogramowania układowego decyduje, czy użytkownik zobaczy wyraźny spadek, nierównomierne przejście czy krótkie odzyskiwanie.

„Pełna pamięć podręczna” to skrót myślowy, niekoniecznie dosłowny stan widoczny dla NAS. Praktyczny warunek to taki, że SSD nie może przywrócić pojemności SLC tak szybko, jak host ją zużywa. Przepustowość zbliża się wtedy do niższej wartości, zależnej od natywnego NAND, oprogramowania układowego, równoległości i konserwacji.

Dlaczego wykres transferu pokazuje szybki, a potem wolny spadek?

Kopia sieciowa może przechodzić przez kilka warstw pochłaniających nagłe skoki. Klient może buforować zapisy, NAS może przechowywać dane w pamięci, system plików może gromadzić zmienione strony, a SSD może przyjmować dane w trybie pseudo-SLC. Każda z tych warstw może oddzielać pasek postępu od ostatecznej prędkości zapisu.

Jeśli strumień trwa, najsłabszy etap ostatecznie go kontroluje. Ostry spadek po powtarzalnej objętości zapisu jest zgodny z ograniczeniem pamięci podręcznej. Stopniowy spadek może wskazywać na opróżnianie pamięci podręcznej, składanie lub zachowanie termiczne; niestabilna płaszczyzna może łączyć kilka mechanizmów.

Przydatną obserwacją jest, jak zmienia się przepustowość podczas całego zapisu, gdzie następuje przejście i czy niższa prędkość pozostaje stabilna. Te fazy oddzielają tymczasowe pochłanianie od ścieżki, która przenosi obciążenie ciągle.

Faza zapisu Zachowanie po stronie SSD Sygnał widoczny dla hosta Co to sugeruje Czego to nie dowodzi
Wybuch pamięci podręcznej Nadchodzące zapisy są pochłaniane przez ścieżkę trybu SLC Wysoka początkowa przepustowość Szybka pojemność zapisu jest obecnie dostępna Prędkość może być utrzymywana bez ograniczeń czasowych
Przejście Nacisk na pamięć podręczną i wewnętrzne przemieszczanie nakładają się na nowe zapisy Przepustowość spada lub staje się nierówna Faza z pamięcią podręczną może się kończyć Wyczerpanie SLC jest jedynym aktywnym wąskim gardłem
Utrzymująca się płaszczyzna Natychmiastowy NAND i harmonogram oprogramowania układowego sterują ścieżką zapisu Niższa, dłużej utrzymująca się prędkość Ujawniana jest stała zdolność zapisu Każdy SSD używający tego samego typu NAND działa podobnie
Odzyskiwanie Bezczynny lub lżejszy ruch pozwala na powrót do ponownego wykorzystania przestrzeni pamięci podręcznej Późniejszy transfer może ponownie wywołać skok Zasoby szybkiej ścieżki stały się dostępne Istnieje uniwersalny czas odzyskiwania

Dlaczego wolna przestrzeń i projekt pamięci podręcznej zmieniają spadek?

Statyczna pamięć podręczna rezerwuje określony obszar flash, podczas gdy dynamiczny projekt może pobierać pojemność trybu SLC z NAND dostępnego aktualnie dla oprogramowania układowego. Projekt hybrydowy może łączyć oba podejścia. Te wybory wpływają na to, ile danych szybka faza może pochłonąć i jak pamięć podręczna zmienia się wraz z zapełnianiem SSD.

Wolna pojemność może mieć znaczenie, ale nie tworzy uniwersalnego progu. Logiczna wolna przestrzeń, nadmiarowe przydzielenie, przycięte bloki, polityka oprogramowania układowego i dane oczekujące na złożenie to różne wielkości. Dyski z tym samym wykorzystaniem systemu plików mogą zachowywać się inaczej.

Bezpieczny wniosek jest jakościowy: pełniejszy dysk może mieć mniejszą elastyczność w dynamicznym przydziale pamięci podręcznej i wewnętrznej relokacji. Nie można bezpiecznie obiecać, że utrzymanie określonego procentu wolnego miejsca zachowa określoną prędkość. Tylko długotrwały test tego dysku, przy reprezentatywnym stanie zapełnienia, może pokazać rzeczywiste przejście.

Kiedy sieć ukrywa lub ujawnia ograniczenia SSD?

Obserwowana prędkość NAS jest ograniczona przez najsłabszy aktywny etap: źródłowe magazynowanie, sieć, przetwarzanie protokołu, oprogramowanie NAS, system plików, układ RAID lub docelowy dysk SSD. Jeśli limit sieci jest niższy niż wydajność SSD zarówno z pamięcią podręczną, jak i po jej wyczerpaniu, wykres może pozostać płaski, mimo że dysk zmienia wewnętrzne tryby zapisu.

Szybsza sieć nie powoduje wyczerpania cache SLC. Usuwa jedno możliwe ograniczenie i pozwala hostowi szybko zasilać SSD, aby ujawnić jego trwały limit. Dlatego ten sam dysk może wydawać się stabilny za wolniejszym łączem, a pokazać wyraźny spadek połączenia przez szybszą ścieżkę.

Ulepszenie sieci nie dowodzi, że SSD powoduje każde spowolnienie. Negocjacja łącza, ustawienia SMB, obciążenie CPU, okablowanie i konkurencyjny ruch nadal mają znaczenie; kontrole wydajności NAS 10GbE stanowią osobną ścieżkę operacyjną, a nie dowód na mechanizm NAND.

Czym wyczerpanie cache SLC różni się od innych spowolnień SSD?

Pseudo-SLC cache SSD istnieje wewnątrz jego NAND i oprogramowania układowego. Cache SSD na poziomie NAS to oddzielna warstwa urządzenia blokowego umieszczona przed wolniejszą pamięcią źródłową. Architektura cache urządzeń blokowych w Linuksie definiuje oddzielne urządzenia źródłowe, cache i metadane. Zapełnianie lub opróżnianie tej warstwy to nie to samo zdarzenie co wyczerpanie pojemności trybu SLC wewnątrz cache SSD.

DRAM jest znowu czymś innym. Pamięć kontrolera SSD jest zwykle związana z mapowaniem adresów, metadanymi i operacjami kontrolera, a nie służy jako duży bufor zapisu NAND. Określenie dysku jako „bez DRAM” samo w sobie nie określa rozmiaru jego cache SLC ani nie wyjaśnia dużego spadku przy sekwencyjnym zapisie.

Zbieranie śmieci i termiczne ograniczanie mogą nakładać się na ten sam transfer. Zbieranie śmieci odzyskuje bloki flash i może powodować nierównomierną przepustowość; termiczne ograniczanie zmniejsza aktywność wraz ze wzrostem temperatury urządzenia. Powtarzalny spadek po podobnej ilości zapisu wskazuje na granicę pojemności, podczas gdy spadek powiązany z temperaturą lub długotrwałym stanem urządzenia sugeruje inny lub dodatkowy mechanizm.

Jakie pomiary odróżniają spadek wydajności cache od innego wąskiego gardła?

Rejestruj przepustowość w czasie, zamiast polegać na jednej średniej wartości. Porównaj ilość zapisanych danych przed spadkiem, kształt przejścia oraz poziom po spadku w kolejnych testach. Zwróć także uwagę na stan zapełnienia dysku, temperaturę, prędkość źródła, protokół oraz czy NAS był bezczynny przed testem.

Przydatny test pamięci masowej musi trwać wystarczająco długo, by przekroczyć początkowy wybuch. Oficjalna dokumentacja fio zawiera testy I/O w stanie ustalonym, czas narastania, obciążenia oparte na czasie i logi przepustowości, które pozwalają oddzielić zachowanie przejściowe od stabilnej wydajności. Obciążenie testowe nadal musi przypominać transfer NAS, który jest badany.

Na koniec porównaj warstwy pojedynczo. Lokalny zapis zmniejsza niepewność sieci, niezależny test sieci izoluje łącze, telemetria temperatury ujawnia korelację termiczną, a okres bezczynności pokazuje, czy pojemność wybuchowa wraca. Razem pozwalają odróżnić powtarzalną granicę pamięci podręcznej od ogólnie wolnego transferu.

Najczęściej zadawane pytania

Czy pamięć podręczna SLC w SSD to to samo co pamięć podręczna NAS SSD?

Nie. Pamięć podręczna SLC to wewnętrzny tryb NAND zarządzany przez oprogramowanie SSD, podczas gdy pamięć podręczna NAS SSD to urządzenie lub pula na poziomie systemu używana przed inną pamięcią masową. Obie mogą istnieć na tej samej ścieżce danych i być ograniczone niezależnie.

Czy każdy dysk TLC lub QLC zwalnia, gdy pamięć podręczna SLC się zapełnia?

Wiele dysków pokazuje różnicę między wydajnością zapisu z pamięcią podręczną a natywną, ale wielkość i widoczność spadku się różnią. Generacja NAND, kanały kontrolera, oprogramowanie układowe, pojemność, temperatura i obciążenie mogą sprawić, że przejście będzie dramatyczne, łagodne lub ukryte za innym wąskim gardłem.

Czy utrzymywanie większej ilości wolnego miejsca powiększa pamięć podręczną SLC?

Może dać niektórym projektom dynamicznej pamięci podręcznej większą elastyczność alokacji, ale zależy to od oprogramowania układowego. Wolne miejsce w systemie plików nie jest gwarantowanym wskaźnikiem dostępnej pojemności SLC, więc nie ma jednej uniwersalnej wartości procentowej wolnego miejsca dla każdego SSD.

Czy szybsza sieć może uwidocznić spowolnienie?

Tak. Szybsza sieć może dostarczyć dane do miejsca docelowego na tyle szybko, by ujawnić prędkość zapisu po wyczerpaniu pamięci podręcznej. Nie spowalnia to dysku SSD; usuwa niższy limit sieciowy, który wcześniej mógł ukrywać ograniczenie pamięci masowej.

Jak odróżnić wyczerpanie pamięci podręcznej od termicznego ograniczenia prędkości?

Porównaj wyzwalacz. Wyczerpanie pamięci podręcznej często następuje po powtarzalnej ilości ciągłego zapisu, podczas gdy termiczne ograniczenie prędkości zwykle koreluje ze wzrostem temperatury i ochłodzeniem. Oba mogą wystąpić jednocześnie, więc używaj logów przepustowości i telemetrii temperatury zamiast samego wykresu transferu.

Ostateczne wnioski

Pamięć podręczna SLC w dysku SSD może sprawić, że krótkie zapisy na domowym NAS będą wyglądać na znacznie szybsze niż prędkość, którą dysk utrzymuje po wyczerpaniu szybkiego obszaru. Zdiagnozuj spowolnienie, śledząc fazy wybuchu, przejścia, plateau i odzyskiwania — oraz wykluczając ograniczenia sieci, pamięci podręcznej systemu, termiczne i związane z czyszczeniem śmieci, zanim uznasz spadek wydajności za dowód.

Centrum Technologii i Sztucznej Inteligencji

Więcej do przeczytania

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.