Перейти

Возможности libata: статус поддержки SATA в Linux

Обновлено 8 ноября 2026

Сводка по функциям SATA в ядре Linux: что работает, с какими оговорками и как проверить у себя.

ВозможностьСтатусКак проверить
NCQПоддерживаетсяcat /sys/block/sda/device/queue_depthподробнее
TRIM (discard)Поддерживается, для части SSD очередной TRIM отключёнlsblk --discard
Горячая заменаПоддерживается в AHCI и части sata_*dmesg | grep -i "link up"подробнее
Port multiplierahci (у части контроллеров), sata_sil24, sata_mvфлаг pm в журнале ahci
Энергосбережение линка (ALPM, DIPM)Поддерживается в ahcilink_power_management_policyподробнее
DevSleepЕсли поддерживают контроллер и дискфлаги sds, sadmподробнее
SMART, ATA PASS-THROUGHПоддерживаетсяsmartctl -a /dev/sdaподробнее
Приоритет NCQДля дисков с поддержкой NCQ priorityncq_prio_enable в sysfs
Зональные SMR-диски (ZAC)Поддерживаютсяcat /sys/block/sda/queue/zoned
ATAPI (оптические приводы)Поддерживаетсяустройство /dev/sr0
ATA Security (Secure Erase)Через hdparm, если диск не в состоянии frozenhdparm -I /dev/sda
Сектора 4KПоддерживаетсяphysical_block_size в sysfs

NCQ

Очередь команд до 32 запросов. Глубина очереди видна в sysfs и в журнале загрузки. При ошибках с командами FPDMA QUEUED NCQ можно отключить для отдельного порта. Подробно в статье про NCQ.

TRIM

TRIM сообщает SSD, какие блоки свободны. Проверка: колонки DISC-GRAN и DISC-MAX в выводе lsblk --discard не должны быть нулевыми. Периодический TRIM запускает таймер fstrim.timer, его состояние покажет systemctl status fstrim.timer. Для моделей SSD с ошибками в очередном TRIM ядро само переключается на обычный.

Горячая замена и port multiplier

Горячая замена работает в AHCI и требует включённого Hot Plug в BIOS на части плат. Port multiplier позволяет подключить несколько дисков к одному порту, это используют корзины eSATA. Порядок безопасного отключения диска описан в статье о горячей замене.

Энергосбережение

Ядро умеет переводить линк в состояния Partial и Slumber, а SSD с поддержкой DevSleep почти полностью отключать в простое. Настройка и риски разобраны в статье об энергосбережении SATA.

Параметр libata.force

Если контроллер или диск работает с ошибками, поведение libata можно поменять параметром ядра в загрузчике:

libata.force=noncq          # отключить NCQ для всех
libata.force=3:1.5Gbps      # ограничить скорость линка порта 3
libata.force=noncqtrim      # отключить очередной TRIM

Полный список значений приведён в документации ядра, раздел kernel-parameters. Список контроллеров и драйверов смотрите на странице поддержки SATA-контроллеров.