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
QD1aQD32to często~90 MB/skontra~400 MB/sw losowym4K. - Codzienne użytkowanie: typowe obciążenie domowe to
QD1-QD4, więc marketingowe liczby zQD32traktuj 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.