Co to jest kolejkowanie poleceń natywnych?

Natywne kolejkowanie poleceń to system, który umożliwia dyskom twardym Serial Advanced Technology Attachment (SATA) zarządzanie własną wewnętrzną kolejką żądań odczytu i zapisu. W systemach, które nie korzystają z natywnego kolejkowania poleceń, napęd wykonuje polecenia w kolejności, w jakiej zostały odebrane z systemu głównego. Natywne kolejkowanie poleceń umożliwia dyskowi zmianę kolejności poleceń w celu usprawnienia procesu pobierania. Przyspiesza to czas odzyskiwania informacji i zmniejsza fizyczne zużycie dysku.

Dane na dysku twardym są przechowywane na cienkich jak papier arkuszach magnetycznych zwanych talerzami. Każdy napęd ma kilka talerzy, z których wszystkie zawierają informacje. Aby czytać i pisać na talerzu, dyski twarde używają ramienia podobnego do tego w gramofonie. Gdy talerz się obraca, ramię porusza się tam iz powrotem nad sekcjami talerza zawierającymi dane.

Obserwowane przez człowieka dane na dysku twardym wydają się całkowicie losowe. Na dysku mogą znajdować się dwie powiązane informacje. Aby odczytać oba fragmenty, ramię znajduje pierwszy, a następnie przesuwa się w pozycji, aby zlokalizować drugi. Jeśli dysk otrzyma jedno polecenie odczytu lub zapisu po drugim, ramię będzie musiało się stale poruszać, aby dopasować się do danych. Jeśli każde z poleceń wymaga, aby ramię przesunęło się na przeciwną stronę tego samego talerza, traci się dużo czasu na proces tam iz powrotem.

Korzystając z natywnego kolejkowania poleceń, dysk może wybrać kolejność, w jakiej wykonuje dany zestaw poleceń. Zasadniczo wykonuje jak najwięcej operacji w jednym obszarze, a następnie przenosi się do innego obszaru. Oznacza to, że napęd skrócił czas wyszukiwania i oczekiwania między poleceniami. Dodatkową korzyścią uboczną jest to, że napęd spędza mniej czasu na wykonywaniu niepotrzebnych ruchów. Zmniejszy to w niewielkim stopniu zużycie napędu.

Zaawansowane systemy mogą skorzystać z innej korzyści płynącej z natywnego kolejkowania poleceń. Gdy procesor jest zajęty i nie może przyjmować poleceń, napęd może wypchnąć wszystkie żądania zapisu na początek kolejki. Ponieważ procesor jest zbyt zajęty, aby akceptować polecenia odczytu, dysk może zdecydować się nie rozwiązywać żadnych. Może to skutkować ogromną poprawą wydajności, szczególnie w systemach z wieloma dyskami i wieloma rdzeniami.

Ta technologia jest również stosowana w niektórych formach dysków półprzewodnikowych. Napędy te nie korzystają z systemu ramienia i talerza standardowych napędów, więc generalnie działają znacznie szybciej. Ponieważ są tak szybkie, często będą działać szybciej niż reszta systemu i kończą się wąskim gardłem. Korzystając z natywnego kolejkowania poleceń, mogą zmienić kolejność swoich poleceń, aby wysyłać odczyty, gdy tylko jest to możliwe, i pisać, gdy system jest opóźniony.