Mam dysk SSD Samsung 960 Pro 512 GB na NVMe z uruchomionym PCIe Gen.3x4. Używam sterownika Samsung NVMe 2.0.0.1607. Dysk SSD działa poprawnie. Nie rozumiem jednak, dlaczego pisanie 4k jest szybsze niż czytanie 4k. Używam AS Benchmark:
To współczynnik 3! Czy coś jest nie tak (z moim systemem lub testem AS), czy jest to normalne?
ssd
performance
musbach
źródło
źródło
Odpowiedzi:
Odczyty 4k będą najtrudniejszą rzeczą, jaką może zrobić dysk. Są to jedne z najmniejszych rozmiarów bloków, które dysk będzie w stanie obsłużyć, i nie ma możliwości, aby dysk wstępnie załadował duże ilości danych, w rzeczywistości są one prawdopodobnie dość nieefektywne, jeśli logika ładowania z wyprzedzeniem zamierza cokolwiek odczytać większy niż 4kb.
„Normalne” odczyty dysku są większe niż 4 KB, ponieważ istnieje bardzo niewiele plików, które są tak małe, a nawet plik strony może być czytany w dużych fragmentach, ponieważ byłoby dziwne, gdyby program miał „tylko” Przetestowano 4KB pamięci. Oznacza to, że każde wstępne ładowanie, które próbuje wykonać dysk, w rzeczywistości spowoduje zmniejszenie przepustowości dysku.
Odczyty 4K mogą przechodzić przez bufor napędu, ale „losowa” część testu czyni je całkowicie nieprzewidywalnymi. Kontroler nie będzie wiedział, kiedy dysk może potrzebować więcej zwykłych „dużych” odczytów.
Z drugiej strony zapisy 4K można efektywnie buforować, kolejkować i zapisywać sekwencyjnie. Bufor dysku może wykonać wiele pracy polegającej na przechwytywaniu i zapisywaniu, do której został zaprojektowany, a funkcja wyrównania zużycia może nawet przydzielić wszystkie zapisy 4K do tego samego bloku wymazywania dysku, od czasu do czasu przekształcając zapis „losowy” 4K w zapis coś bliższego do sekwencyjnego zapisu.
Podejrzewam, że tak właśnie dzieje się w zapisie „4K-64Thrd”, „64-Thrd” najwyraźniej używa dużej głębokości kolejki , sygnalizując w ten sposób napędowi, że ma dużą ilość danych do odczytu lub zapisu . To powoduje wiele klastrów zapisów, a więc zbliża się do prędkości sekwencyjnego zapisu napędu. Nadal wykonuje się zapis w 4K, ale teraz w pełni ujawniasz potencjał bufora. W wersji testowej Read kontroler napędu, rozpoznając teraz, że jest pod bardzo stałym dużym obciążeniem, zatrzymuje wstępne ładowanie danych, prawdopodobnie omija bufor i zamiast tego przełącza się na „nieprzetworzony” tryb odczytu, ponownie zbliżając się do prędkości odczytu sekwencyjnego.
Zasadniczo kontroler napędu może zrobić coś, aby uczynić zapis 4K bardziej wydajnym, szczególnie jeśli klaster z nich dotrze w tym samym czasie, podczas gdy nie może nic zrobić, aby uczynić odczyt pojedynczego 4K bardziej wydajnym, szczególnie jeśli próbuje zoptymalizować przepływ danych przez wstępne ładowanie danych do pamięci podręcznej.
źródło
Inne odpowiedzi wyjaśniły już, dlaczego pisanie jest szybsze niż czytanie; Chciałbym dodać, że dla tego napędu jest to absolutnie normalne, co potwierdzają testy porównawcze, które można znaleźć w recenzjach.
Recenzja ArsTecnica
ArsTechnica sprawdził dysk, zarówno twoją wersję (512 GB), jak i 2 TB:
(Ten wykres nie jest od razu widoczny w recenzji, jest to piąty w pierwszej galerii, musisz go kliknąć)
Wydajność tych 2 modeli jest bardzo podobna, a ich liczby wyglądają jak twoje: dysk może odczytywać z prędkością 37 MB / si zapisywać z prędkością 151 MB / s.
Recenzja AnandTech
AnandTech dokonał również przeglądu napędu: użyli modelu 2 TB, uśredniając wyniki testów przy głębokości kolejki 1, 2 i 4. Oto wykresy:
Dysk odczytuje z prędkością 137 MB / si zapisuje z prędkością 437 MB / s. Liczba jest znacznie wyższa niż twoja, ale prawdopodobnie wynika to z większej głębokości kolejki. W każdym razie prędkość zapisu jest 3 razy większa niż prędkość odczytu, jak w twoim przypadku.
Recenzja PC World
Jeszcze jedna recenzja, autorstwa PC World : przetestowali wersję 1 TB, a wyniki dla 4K wynoszą 30 MB / s do odczytu i 155 MB / s do zapisu: prędkość zapisu jest zgodna z twoją, ale tutaj dysk jest nawet wolniej w czytaniu. W rezultacie stosunek wynosi pięć do jednego, a nie trzy do jednego.
Wniosek
Recenzje potwierdzają, że dla tego napędu normalne jest, że prędkość zapisu losowego 4K jest znacznie większa niż prędkość odczytu: w zależności od testu może być nawet 5 razy szybsza.
Twój dysk jest w porządku. Nie ma powodu, aby sądzić, że jest uszkodzony lub że twój system ma problem.
źródło
Kontroler SSD buforuje zapisy we wbudowanej pamięci NVRAM i wypłukuje ją na nośniki flash we właściwym czasie. Opóźnienie zapisu jest zatem opóźnieniem dostępu do pamięci podręcznej, zwykle 20us. Przeciwnie, odczyty są podawane z mediów, w najlepszym wypadku czas dostępu wynosi 120-150us.
źródło
Rozwijając odpowiedź Andreya, musisz spojrzeć na koszty ogólne, zanim dysk SSD może zasygnalizować komputerowi, że operacja została zakończona.
W przypadku zapisu dane muszą być po prostu zapisane w wewnętrznej pamięci podręcznej RAM. Później zostanie zapisany w pamięci flash, wraz z innymi blokami 4k i metadanymi potrzebnymi do sprawdzenia, poprawienia błędu i zlokalizowania go.
Aby odczytać, dysk SSD musi najpierw zlokalizować dane. Lokalizacja, którą komputer chce odczytać, nazywa się adresem logicznym i nie ma bezpośredniego związku z fizyczną lokalizacją danych w pamięci flash. Dysk SSD przekształca adres logiczny na fizyczny w oparciu o geometrię pamięci flash (sposób rozmieszczenia komórek), ponowne mapowanie błędnego bloku, wyrównanie zużycia i różne inne czynniki. Następnie musi poczekać na zakończenie wszelkich innych operacji, zanim pobierze dane z pamięci flash, a następnie sprawdzi je i, jeśli to konieczne, ponownie przeczyta i zastosuje korekcję błędów, być może nawet ponownie zapisze cały blok gdzie indziej.
Chociaż całkowity czas operacji zapisu może być dłuższy niż typowa operacja odczytu, czas poświęcony SSD na zgłoszenie zakończenia operacji w zakresie, w jakim może przetwarzać dalsze polecenia, jest krótszy. W przypadku dużych bloków narzut nie jest czynnikiem ograniczającym, ale w przypadku wielu małych bloków zaczyna ograniczać prędkość odczytu / zapisu.
źródło