Pojęcie ze słownika

NCQ

Native Command Queuing

NCQ (Native Command Queuing) to funkcja dysków SATA, która pozwala nośnikowi przyjąć kilka poleceń naraz i samodzielnie ustalić najlepszą kolejność ich wykonania. Zamiast ślepo realizować żądania w kolejności nadejścia, dysk układa je tak, żeby wykonać całą paczkę w jak najkrótszym czasie.

Jak to działa

W HDD zysk jest oczywisty i mechaniczny. Głowica musi fizycznie przelecieć nad odpowiednią ścieżkę, a talerz się obrócić. Jeśli dostaniesz cztery żądania z różnych miejsc dysku, sensowniej jest obsłużyć je „po drodze” niż skakać tam i z powrotem. To ten sam pomysł co winda, która zbiera pasażerów po kolei zamiast jeździć na przemian na parter i ostatnie piętro.

W SSD nie ma głowicy, ale NCQ nadal pomaga: kontroler może rozdzielić operacje między różne kanały i kości NAND i wykonać je równolegle. Bez kolejki dysk obsługiwałby jedno żądanie naraz i marnował większość wewnętrznej przepustowości.

Ile to daje

Głębokość kolejki w AHCI wynosi 32 polecenia (parametr QD32 w testach). Praktyczne efekty:

  • HDD: przy wielu równoległych operacjach zysk potrafi sięgnąć 20-50% w odczycie losowym.
  • SSD SATA: różnica między QD1 a QD32 to często ~90 MB/s kontra ~400 MB/s w losowym 4K.
  • Codzienne użytkowanie: typowe obciążenie domowe to QD1-QD4, więc marketingowe liczby z QD32 traktuj z rezerwą.

Co musisz zrobić

Właściwie nic — NCQ włącza się automatycznie, gdy kontroler SATA pracuje w trybie AHCI. Jeśli w BIOS-ie masz ustawione IDE, funkcja jest wyłączona i tracisz wydajność za darmo. Sprawdź to raz i zapomnij.

Odpowiednikiem NCQ w świecie NVMe są wielokrotne kolejki — tam limit to 65 535 kolejek, a nie jedna trzydziestodwuelementowa.