Mój profesor opublikował slajd o tym, jak obliczyć pobieranie danych z dysku twardego za pomocą modelu blokowego. Dane techniczne to:
- 7200 obr./min
- 5 ms SZUKAJ
- STAWKA TRANSFERU 80 MB / s
- MODEL BLOKU: Rozmiar bloku 4KB
Nie rozumiem, w jaki sposób wykonał następujące obliczenia lub skąd się wzięły niektóre liczby:
5 ms + 1000/240 ms + 0,05 ms = 9,216 ms do odczytu bloku.
Czy ktoś może mi powiedzieć, skąd się wzięło 1000/240 ms i 0,05 ms?
EDYCJA: JEŻELI liczby okazały się całkowicie błędne, jak byś to zrobił?
Odpowiedzi:
Dysk ma prędkość transferu 80 MiB / s lub 81920 kiB / s lub 20480 bloków / s. Zaokrąglimy tutaj do 20 000 bloków na sekundę, ponieważ wydaje się, że tak właśnie zrobił twój profesor. Odpowiada to 0,05 ms na przesłanie bloku, wyjaśniając ostatni termin w równaniu.
Wreszcie, oprócz szukania czasu (czasu do przesunięcia głowicy napędu na ścieżkę), istnieje również opóźnienie obrotowe samego dysku, z którym trzeba sobie poradzić. Przy 7200 obr./min, w najgorszym przypadku, musimy czekać 1 pełny obrót, ale średnio musimy czekać pół obrotu - lub 4,166 ms (7200 obr./min = 120 obr / s = 8333 ms / obr).
Tak więc, aby przenieść jeden blok do komputera, musimy poczekać równowartość
Seek Time
+Rotational Latency
+Transfer Time
:Należy pamiętać, że w przypadku dysków półprzewodnikowych, mimo że nie trzeba brać pod uwagę opóźnień obrotowych, z pewnością nadal istnieje mierzalny czas wyszukiwania (w celu uwzględnienia zawartości sektorów w pamięci flash) i czas przesyłania (w dużej mierze ograniczony przez magistralę używane do przesyłania samych danych, np. SATA).
Tak więc ogólnie całkowity czas dostępu do odczytu pojedynczego sektora dla dysku wynosi (zaniedbując oprogramowanie):
źródło
Czas wyszukiwania wynoszący 5 ms to czas, w którym dysk twardy przesunie głowę do właściwej ścieżki (i do wyboru właściwej głowy, co również wymaga czasu, ale które Twój profesor zignorował).
Gdy głowica znajdzie się nad właściwym torem, musi poczekać, aż odpowiedni sektor przejdzie pod głowicą R / W. Daje się nam, że jest to dysk o prędkości 7200 obr./min. To znaczy:
Aby uzyskać czas na pełny obrót dysku na dysku 7200 RPM:
Więc pół rotacja powinna zajmie połowę tego czasu, 1 / 240 th sekundy.
1 sekunda to 1000 ms
To twoi 1000 / 240 ms.
Wszystko to jest czas, zanim dysk może rozpocząć odczyt danych. Nadal będzie musiał go przeczytać i przekazać hostowi.
Czytanie z dysku jest zwykle znacznie szybsze niż przechodzenie, więc skupię się na wolniejszej części:
Podane są:
1) 80 MB / s PRĘDKOŚĆ TRANSFERU
2) MODEL BLOKU: Rozmiar bloku 4KB
Pamiętaj, że ta odpowiedź ignoruje:
źródło