|
Bog BOS: hardware: Интерфейс ATA (IDE, PATA, SATA) |
Последнее изменение файла: 2025.04.29
Скопировано с www.bog.pp.ru: 2025.05.01
ATA (Advanced Technology Attachment), также называемый IDE (Integrated Drive Electronics) - стандарт на интерфейс между компьютером (контроллером) и накопителем на жестких магнитных дисках (дисководом, HDD), включая физический уровень (разъёмы, кабели), электрические и логические характеристики сигналов, регистры устройства, команды и протоколы. Включает ATAPI (AT Attachment interface with Packet Interface). Для описания ATAPI команд предлагается обращаться к стандартам SCSI.
Имеет также множество маркетинговых названий: EIDE (ATA-2 и Enhanced BIOS), FASTATA (урезанный ATA-2), FASTATA-2 (просто ATA-2), UltraDMA (ATA-4 в режиме UDMA mode 3), UltraATA/33 (ATA-4), UltraATA/66 (ATA-5), UltraATA/100 (ATA-6) и др.
Первоначально представлял собой PC AT совместимый дисковый контроллер, встроенный в дисковод и подсоединённый упрощённой 16-битной шиной ISA (в девичестве AT bus). Простейший контроллер представлял дешифратор адреса, остальные сигналы передавались "как есть", причём на оба устройства сразу. По мере развития всё больше и больше напоминает SCSI (терминаторы, очередь команд, ATAPI).
Поддерживается 2 дисковода (master - 0, slave - 1) на канал (host adapter). Номер дисковода определяется джамперами на дисководе и/или специальным кабелем. Современные (:0) чипсеты поддерживают 2 канала (primary, secondary), можно также использовать дополнительные контроллеры. В старых чипсетах оба канала разделяли некоторые сигналы (от одного пина в микросхеме шли 2 проводка на 2 канала :). Каждый канал может обрабатывать только одну команду одномоментно. Следующая команда (даже к другому устройству) будет ждать (в ATA-4 появились наложения - overlap - команд и очереди в устройстве, должны поддерживаться обоими устройствами). В некоторых ситуациях хост должен переключаться в режим более медленного устройства даже при обращении к быстрому (например, при записи в регистры). Поэтому желательно ставить на каждый канал только одно устройство, причём в крайний разъём (иначе не будет работать UDMA) и конфигурировать как master, т.к. slave не может определить наличие master устройства, а команда диагностики не сгенерирует прерывания.
История развития истандарта ATA производит тяжелое впечатление (мягко говоря). Просто интересно: почему в интерфейсе SCSI (принятом гораздо раньше первого ATA) сразу додумались до 32-битной LBA адресации (и 25 лет с этим жили и только потом перешли сразу на 64 бита), а разработчики ATA уже 10 лет издеваются надо всеми ежегодно преодолевая очередной барьер емкости HDD - 528 MB, 2 GB, 4 GB, 8 GB, 33 GB, теперь вот 134 GB? Одно слово "developed by the ad hoc working group" (сляпано из подручных материалов). Остальные изменения делаются аналогично. Например, сначала из стандарта удаляется 8-битный обмен, а потом он опять вводится, но только для "хороших парней" из CFA. В результате, получился не стандарт, а полный бардак. А сигналы замечательно описаны :)
При переходе на SATA был изменён физический уровень (разъёмы, кабели), электрические и логические характеристики сигналов; при этом остались неизменными (расширены) регистры устройства, команды и протоколы.
Протокол - полудуплексный, т.е. передача в данный момент времени идёт только в одну сторону в отличие от SCSI (SAS).
Стандарты принимаются Technical Committee T13 National Committee on Information Technology Standards (NCITS), уполномоченным ANSI. Ранее назывался ASC (Accredited Standards Committee) X3T10.
Сигнальный разъём - 40 контактов в 2 ряда (чётный и нечетный. 20й контакт - ключ (контакт на разъёме устройства удаляется, отверстие на разъёме кабеля затыкается). Кабель - 40 проводов. Требуется 80 проводной кабель для режима UDMA3 и выше (провода заземления между сигнальными). Наличие улучшенного кабеля определяется автоматически. Точнее, должно определяться автоматически, но описание таково, что в это не верится, особенно при наличии старого устройства на том же канале в режиме slave. 1й провод - красный. Длина кабеля - от 25 до 46 см (крайний разъём для хоста голубого цвета и два разъёма для дисководов чёрного и серого цветов). Режим UDMA требует терминаторов с обеих сторон кабеля.
Стандарт определяет также разъём питания - 4 контакта (+12V, возврат +12V, возврат +5V, +5V).
Экзотические разъёмы: прямое соединение (без кабеля); сборки сигнального разъёма с джамперами и разъёмами питания; 50-контактный (совместимый со старыми 44-контактными) разъём для устройств 2 1/2 дюйма, совмещающий сигнальные проводники с кабелем питания и выбором устройства; 68-контактный разъём, совместимый с PCMCIA устройствами; разъём CompactFlash.
Стандарт SATA определяет отдельный для каждого устройства сигнальный разъём из 7 контактов и разъём питания в 15 контактов (+12, +5 и +3.3В, управление питанием и раскруткой и индикация), расположение стандартизовано, рассчитан на 50 подключений. Устройство SATA может быть подключено к контроллеру SAS по протоколу STP, но не наоборот. Сигнальный разъём имеет отдельные линии (LVDS, экранированная витая пара) для приёма и передачи, но протокол остался полудуплексным. Длина сигнального кабеля до 1 метра. Опциональные защёлки позволяют надёжнее удерживать кабель в разъёме (настоятельно советую). Разъёмы могут быть под углом (не советую). Современные устройства не используют +3.3В, поэтому можно использовать переходники из старых разъёмов питания на 4 контакта в новые. Имеется разновидность разъёма питания slimline - 6 контактов, только +5В. Поддерживается горячее подключение (должно быть включено в настройках BIOS/UEFI Setup); MS Windows воспринимает возможность горячего подключения как признак внешнего устройства.
eSATA (до 2 метров, экранирование, защёлки, глубже, 5000 подключений) имеет другой формат сигнальных разъёмов, чтобы избежать неверного использования.
eSATAp (eSATA/USB) описывает объединённый разъём для передачи данных и питания.
mSATA (Mini-SATA) описывает разъём физически идентичный PCI Express Mini Card, но подключаемый к контроллеру SATA.
Данные пишутся/читаются секторами (512 байт, 256 слов) или блоками. Базовый протокол обмена данными - PIO (Programmed I/O), включая блочный режим (только одно прерывание на весь блок). Блок может состоять из нескольких секторов. Процессор лично "пропихивает" каждый байт/слово через регистр данных.
Более "щадящий" для процессора режим - DMA (Direct Memory Access). В сочетании с перехватом управления шиной (bus mastering, должна быть поддержка в BIOS и чипсете) позволяет дисководу обмениваться с памятью напрямую, что разгружает процессор, но требует специального драйвера для каждого чипсета. Может быть однословный (single word) - упразднён в ATA-3, многословный (multiword) и Ultra DMA (double edge clocking, стробирование, CRC-16). Для режима UDMA 3 и выше требуется кабель с 80 проводами.
Под 32-битным доступом к диску имеется ввиду блокирование 2 16-битных слов при передаче от процессора к дисководу по шине PCI (шина ATA в любом случае имеет ширину 16 бит).
Реальная геометрия диска известна только его производителю. Любая информация, которую диск предоставляет о своей геометрии, виртуальна и может оказаться другой при следующем обращении (кстати, есть команда ATA, устанавливающая текущую геометрию). Для современного дисковода, имеющего различное количество секторов на дорожку в разных зонах диска, её в принципе невозможно задать в понятиях - число цилиндров, число головок и число секторов на дорожке. Все эти понятия виртуальны и оставлены для совместимости со старыми программами/устройствами. Виртуальная геометрия используется для трансляции виртуального CHS-адреса в реальное местоположение сектора на диске (а может во флэш памяти, где нет ни головок, ни секторов).
Адресация CHS (cylinder, head, sector). Удалена из стандарта ATA-6. Номер цилиндра - 16 бит (от 0 до 65535). Номер головки - 4 бита (от 0 до 15). Номер сектора - 8 бит (от 1 до 255). Максимально возможная емкость - 136.9 GB. Диск предоставляет по команде "IDENTIFY DEVICE" две CHS-геометрии (и, соответственно, две схемы трансляции адресов): начальную (defaultCHS, physical в /proc/ide/hda/geometry, RawCHS в hdparm -i) и текущую (CurCHS и CurSects в hdparm -i). Хотя надежнее посмотреть самому в /proc/ide/hdX/identify. Текущая геометрия устанавливается командой ATA "Initialize device parameters" (только число головок и число секторов на дорожку, число цилиндров вычисляется дисководом) и используется для пересчета в реальный адрес. Устройство может отказаться устанавливать указанную геометрию. Число текущих цилиндров определяется как результат деления min (числа LBA-блоков, 16514064) на число заявленных головок и секторов, но не более 65535. В ATA-3 вместо 16514064 используется 16515072. Ни одна из них не отражает реальную геометрию диска. Для дисков больших 8.4 GB начальная геометрия выдается как 16383/16/63, соответственно, размер диска не может быть вычислен из его геометрии (ATA-3). Для меньших дисков начальная геометрия не должна превышать 16383/16/63. Согласно ATA-4, диск более 8.4 ГБ не обязан поддерживать CHS-трансляцию. Желательно, чтобы число секторов на дорожке в текущей трансляции не превышало 63 (иначе могут быть проблемы со старым BIOS). Также для совместимости со старым BIOS, если число цилиндров начальной геометрии более 8192, то число головок желательно устанавливать равным 15 (ATA-5). На число цилиндров начальной геометрии может повлиять команда SET MAX ADDRESS CHS (число головок и секторов не изменяется), но не более 16383. После чего пересчитывается число текущих цилиндров и число текущих блоков (число головок и секторов не изменяется) и блоков LBA. Команда SET MAX ADDRESS LBA устанавливает число блоков LBA, не меняет число начальных/текущих головок и секторов. Число начальных цилиндров устанавливается в 16383 (если число блоков LBA больше 16514064) или в min( 65535, число блоков LBA/число начальных секторов/число начальных головок) (если больше). Аналогично вычисляется число текущих цилиндров. Число текущих блоков в режиме CHS определяется как произведение C*H*S. Команда READ NATIVE MAX ADDRESS выдает начальную геометрию (емкость диска может отличаться в CHS и LBA режимах).
Некоторые модели дисков имеют специальные джампера или программы (Maxtor), позволяющие задать или ограничить defaultCHS геометрию. Например, установить число цилиндров равным 4092 или число головок равным 15, чтобы обойти ошибки в старых BIOS. Соответственно, BIOS будет видеть только часть диска. Полную ёмкость диска надо будет получать другими способами.
Адресация LBA (Linear Block Addressing). Задаётся номер сектора, начиная с нуля - 28 бит. Максимально возможная емкость - 137.4 GB. LBA-адрес можно рассчитать как c*H*S + h*S + (s-1). Firmware старых дисков (все диски до 500 MB и некоторые большей ёмкости) не умеет использовать адресацию LBA. Является обязательным режимом начиная с ATA-3 и режимом по умолчанию, если число секторов превышает 16515072. Команда "IDENTIFY DEVICE" возвращает возможность LBA-адресации и общее число секторов в режиме LBA (/sbin/hdparm -i: LBAcapacity). Для дисков больших 137.4 GB возвращается 2^28-1 сектор. С помощью команды SET MAX ADDRESS можно установить максимальный номер блока. С помощью команды READ NATIVE MAX ADDRESS можно узнать настоящий размер диска. Используется для резервирования верхней части диска и обхода проблемы со старым BIOS.
Адресация LBA 48 бит. Используется отдельный набор команд ATA. Команда "IDENTIFY DEVICE" возвращает возможность 48-битной LBA-адресации и общее число секторов в режиме LBA48. Аналогично старому LBA-режиму имеются команды SET MAX ADDRESS EXT и READ NATIVE MAX ADDRESS EXT.
Команда "Identify drive" позволяет получить разнообразную информацию об устройстве (256 слов):
ATAPI-устройства имеют аналогичную команду "IDENTIFY PACKET DEVICE", которая позволяет получить примерно такую же информацию об устройстве с учетом особенностей ATAPI:
Использование мультипликаторов портов SATA (SATA PM) позволяет подключить до 15 устройств через 1 порт (PM Port - 4 бита). Само устройство не подозревает, что оно подключено к мультипликатору, но контроллер должен поддерживать такой режим работы.
Недостатки:
Контроллер может переключаться:
В качестве примера можно рассмотреть Orient Hero AJ1166S10, описываемую как AIC PCIe 3.0 x4, содержащую контроллеры Asmedia ASM1166 и JMicron JMB585 и обеспечивающую 10 портов SATA 3. При использовании с чипсетом x500 и выше потребовал обновления прошивки. Asmedia ASM1166 представляет собой AHCI 1.4 контроллер (PCIe Gen3 x2) to 6 SATA 3 6Gb/s Bridge с поддержкой мультипликатора портов (CBS), ROM, CPU 8051, RAM, интерфейс SPI, интерфейс к LED индикации портов, GPIO, I2C. JMicron JMB585 представляет собой AHCI контроллер (PCIe Gen3.1a x2 to 5 SATA 3.2 6Gb/s Bridge) со встроенным мультипликатором портов (на диаграмме не указан, CBS (по умолчанию) и FIS, а как переключить?) и интерфейсом SPI Flash. Возможно перепутан с JMB575, который представляет собой микропроцессор, PROM, SRAM и встроенный мультипликатор портов 1 к 5 SATA III (со встроенным SATA II PHY?), CBS (по умолчанию) и FIS, а как переключить?). Однако, плата подключается как PCIe 3.0 x2 и не имеет никаких следов JMB585:
lspci -v|egrep -i 'sata|ahci' 00:17.0 SATA controller: Intel Corporation Raptor Lake SATA AHCI Controller (rev 11) (prog-if 01 [AHCI 1.0]) Capabilities: [a8] SATA HBA v1.0 Kernel driver in use: ahci Kernel modules: ahci 03:00.0 SATA controller: ASMedia Technology Inc. ASM1166 Serial ATA Controller (rev 02) (prog-if 01 [AHCI 1.0]) Kernel driver in use: ahci Kernel modules: ahci cat /sys//devices/pci0000:00/0000:00:1d.0/max_link_width 4 cat /sys//devices/pci0000:00/0000:00:1d.0/current_link_width 2 cat /sys//devices/pci0000:00/0000:00:1d.0/max_link_speed 16.0 GT/s PCIe cat /sys//devices/pci0000:00/0000:00:1d.0/current_link_speed 8.0 GT/s PCIe cat /sys//devices/pci0000:00/0000:00:1d.0/0000:03:00.0/max_link_speed 8.0 GT/s PCIe cat /sys//devices/pci0000:00/0000:00:1d.0/0000:03:00.0/current_link_speed 8.0 GT/s PCIe cat /sys//devices/pci0000:00/0000:00:1d.0/0000:03:00.0/max_link_width 2 cat /sys//devices/pci0000:00/0000:00:1d.0/0000:03:00.0/current_link_width 2
Подключение дисков:
чипсетная часть ahci 0000:00:17.0: AHCI 0001.0301 32 slots 8 ports 6 Gbps 0xff impl SATA mode ahci 0000:00:17.0: flags: 64bit ncq sntf led clo only pio slum part ems deso sadm sds scsi host0: ahci scsi host1: ahci scsi host2: ahci scsi host3: ahci scsi host4: ahci scsi host5: ahci scsi host6: ahci scsi host7: ahci ata1: SATA max UDMA/133 abar m2048@0x70b02000 port 0x70b02100 irq 126 ata2: SATA max UDMA/133 abar m2048@0x70b02000 port 0x70b02180 irq 126 ata3: SATA max UDMA/133 abar m2048@0x70b02000 port 0x70b02200 irq 126 ata4: SATA max UDMA/133 abar m2048@0x70b02000 port 0x70b02280 irq 126 ata5: SATA max UDMA/133 abar m2048@0x70b02000 port 0x70b02300 irq 126 ata6: SATA max UDMA/133 abar m2048@0x70b02000 port 0x70b02380 irq 126 ata7: SATA max UDMA/133 abar m2048@0x70b02000 port 0x70b02400 irq 126 ata8: SATA max UDMA/133 abar m2048@0x70b02000 port 0x70b02480 irq 126 ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300) ata5: SATA link up 6.0 Gbps (SStatus 133 SControl 300) ata2: SATA link up 6.0 Gbps (SStatus 133 SControl 300) ata4: SATA link up 6.0 Gbps (SStatus 133 SControl 300) ata3: SATA link up 6.0 Gbps (SStatus 133 SControl 300) ata7: SATA link up 6.0 Gbps (SStatus 133 SControl 300) ata8: SATA link up 6.0 Gbps (SStatus 133 SControl 300) ata4.00: ATA-9: WDC WD60EFRX-68MYMN1, 82.00A82, max UDMA/133 ata4.00: 11721045168 sectors, multi 16: LBA48 NCQ (depth 32), AA ata4.00: configured for UDMA/133 ata1.00: ATA-8: Hitachi HDS5C4040ALE630, MPAOA3B0, max UDMA/133 ata1.00: 7814037168 sectors, multi 16: LBA48 NCQ (depth 32), AA ata2.00: ATA-8: Hitachi HDS5C4040ALE630, MPAOA250, max UDMA/133 ata2.00: 7814037168 sectors, multi 16: LBA48 NCQ (depth 32), AA ata3.00: ATA-8: Hitachi HDS724040ALE640, MJAOA250, max UDMA/133 ata3.00: 7814037168 sectors, multi 16: LBA48 NCQ (depth 32), AA ata7.00: ATA-8: ST4000DM000-1F2168, CC52, max UDMA/133 ata7.00: 7814037168 sectors, multi 16: LBA48 NCQ (depth 32), AA ata7.00: configured for UDMA/133 ata8.00: ATA-10: ST12000NM0007-2A1101, SN02, max UDMA/133 ata8.00: 23437770752 sectors, multi 16: LBA48 NCQ (depth 32), AA ata1.00: configured for UDMA/133 ata2.00: configured for UDMA/133 ata3.00: configured for UDMA/133 scsi 0:0:0:0: Direct-Access ATA Hitachi HDS5C404 A3B0 PQ: 0 ANSI: 5 scsi 1:0:0:0: Direct-Access ATA Hitachi HDS5C404 A250 PQ: 0 ANSI: 5 scsi 2:0:0:0: Direct-Access ATA Hitachi HDS72404 A250 PQ: 0 ANSI: 5 scsi 3:0:0:0: Direct-Access ATA WDC WD60EFRX-68M 0A82 PQ: 0 ANSI: 5 ata8.00: configured for UDMA/133 ata5.00: ATA-10: ST10000NM0016-1TT101, SND0, max UDMA/133 ata5.00: 19532873728 sectors, multi 16: LBA48 NCQ (depth 32), AA ata5.00: configured for UDMA/133 scsi 4:0:0:0: Direct-Access ATA ST10000NM0016-1T SND0 PQ: 0 ANSI: 5 ata6: SATA link up 6.0 Gbps (SStatus 133 SControl 300) ata6.00: ATA-11: WUH721818ALE6L4, PCGAW660, max UDMA/133 ata6.00: 35156656128 sectors, multi 16: LBA48 NCQ (depth 32), AA ata6.00: configured for UDMA/133 scsi 5:0:0:0: Direct-Access ATA WUH721818ALE6L4 W660 PQ: 0 ANSI: 5 scsi 6:0:0:0: Direct-Access ATA ST4000DM000-1F21 CC52 PQ: 0 ANSI: 5 scsi 7:0:0:0: Direct-Access ATA ST12000NM0007-2A SN02 PQ: 0 ANSI: 5 scsi 0:0:0:0: Attached scsi generic sg0 type 0 scsi 1:0:0:0: Attached scsi generic sg1 type 0 scsi 2:0:0:0: Attached scsi generic sg2 type 0 scsi 3:0:0:0: Attached scsi generic sg3 type 0 scsi 4:0:0:0: Attached scsi generic sg4 type 0 scsi 5:0:0:0: Attached scsi generic sg5 type 0 scsi 6:0:0:0: Attached scsi generic sg6 type 0 scsi 7:0:0:0: Attached scsi generic sg7 type 0 Orient - отметьте 32 порта (первые 6 портов отделены от остальных и за ними 2 DUMMY (2 мультипликатора 13 и 14?) и флаг pm ahci 0000:03:00.0: SSS flag set, parallel bus scan disabled ahci 0000:03:00.0: AHCI 0001.0301 32 slots 32 ports 6 Gbps 0xffffff3f impl SATA mode ahci 0000:03:00.0: flags: 64bit ncq sntf stag pm led only pio sxs deso sadm sds apst scsi host8: ahci scsi host9: ahci scsi host10: ahci scsi host11: ahci scsi host12: ahci scsi host13: ahci scsi host14: ahci scsi host15: ahci scsi host16: ahci scsi host17: ahci scsi host18: ahci scsi host19: ahci scsi host20: ahci scsi host21: ahci scsi host22: ahci scsi host23: ahci scsi host24: ahci scsi host25: ahci scsi host26: ahci scsi host27: ahci scsi host28: ahci scsi host29: ahci scsi host30: ahci scsi host31: ahci scsi host32: ahci scsi host33: ahci scsi host34: ahci scsi host35: ahci scsi host36: ahci scsi host37: ahci scsi host38: ahci scsi host39: ahci ata9: SATA max UDMA/133 abar m8192@0x70880000 port 0x70880100 irq 133 ata10: SATA max UDMA/133 abar m8192@0x70880000 port 0x70880180 irq 133 ata11: SATA max UDMA/133 abar m8192@0x70880000 port 0x70880200 irq 133 ata12: SATA max UDMA/133 abar m8192@0x70880000 port 0x70880280 irq 133 ata13: SATA max UDMA/133 abar m8192@0x70880000 port 0x70880300 irq 133 ata14: SATA max UDMA/133 abar m8192@0x70880000 port 0x70880380 irq 133 ata15: DUMMY ata16: DUMMY ata17: SATA max UDMA/133 abar m8192@0x70880000 port 0x70880500 irq 133 ata18: SATA max UDMA/133 abar m8192@0x70880000 port 0x70880580 irq 133 ata19: SATA max UDMA/133 abar m8192@0x70880000 port 0x70880600 irq 133 ata20: SATA max UDMA/133 abar m8192@0x70880000 port 0x70880680 irq 133 ata21: SATA max UDMA/133 abar m8192@0x70880000 port 0x70880700 irq 133 ata22: SATA max UDMA/133 abar m8192@0x70880000 port 0x70880780 irq 133 ata23: SATA max UDMA/133 abar m8192@0x70880000 port 0x70880800 irq 133 ata24: SATA max UDMA/133 abar m8192@0x70880000 port 0x70880880 irq 133 ata25: SATA max UDMA/133 abar m8192@0x70880000 port 0x70880900 irq 133 ata26: SATA max UDMA/133 abar m8192@0x70880000 port 0x70880980 irq 133 ata27: SATA max UDMA/133 abar m8192@0x70880000 port 0x70880a00 irq 133 ata28: SATA max UDMA/133 abar m8192@0x70880000 port 0x70880a80 irq 133 ata29: SATA max UDMA/133 abar m8192@0x70880000 port 0x70880b00 irq 133 ata30: SATA max UDMA/133 abar m8192@0x70880000 port 0x70880b80 irq 133 ata31: SATA max UDMA/133 abar m8192@0x70880000 port 0x70880c00 irq 133 ata32: SATA max UDMA/133 abar m8192@0x70880000 port 0x70880c80 irq 133 ata33: SATA max UDMA/133 abar m8192@0x70880000 port 0x70880d00 irq 133 ata34: SATA max UDMA/133 abar m8192@0x70880000 port 0x70880d80 irq 133 ata35: SATA max UDMA/133 abar m8192@0x70880000 port 0x70880e00 irq 133 ata36: SATA max UDMA/133 abar m8192@0x70880000 port 0x70880e80 irq 133 ata37: SATA max UDMA/133 abar m8192@0x70880000 port 0x70880f00 irq 133 ata38: SATA max UDMA/133 abar m8192@0x70880000 port 0x70880f80 irq 133 ata39: SATA max UDMA/133 abar m8192@0x70880000 port 0x70881000 irq 133 ata40: SATA max UDMA/133 abar m8192@0x70880000 port 0x70881080 irq 133 вставляем устройства в первые 3 порта ata9: SATA link up 6.0 Gbps (SStatus 133 SControl 300) ata9.00: ATA-11: WDC WDS200T2B0A-00SM50, 411040WD, max UDMA/133 ata9.00: 3907029168 sectors, multi 1: LBA48 NCQ (depth 32), AA scsi 8:0:0:0: Direct-Access ATA WDC WDS200T2B0A 40WD PQ: 0 ANSI: 5 ata10: SATA link up 6.0 Gbps (SStatus 133 SControl 300) ata10.00: ATA-9: OCZ-VERTEX4, 1.5, max UDMA/133 ata10.00: 500118192 sectors, multi 16: LBA48 NCQ (depth 32), AA ata10.00: configured for UDMA/133 scsi 9:0:0:0: Direct-Access ATA OCZ-VERTEX4 1.5 PQ: 0 ANSI: 5 ata11: SATA link up 3.0 Gbps (SStatus 123 SControl 300) ata11.00: ATA-9: OCZ-VERTEX4, 1.5, max UDMA/133 ata11.00: 500118192 sectors, multi 16: LBA48 NCQ (depth 32), AA ata11.00: configured for UDMA/133 scsi 10:0:0:0: Direct-Access ATA OCZ-VERTEX4 1.5 PQ: 0 ANSI: 5 ata12: SATA link down (SStatus 0 SControl 300) ata13: SATA link down (SStatus 0 SControl 300) ata14: SATA link down (SStatus 0 SControl 300) ata17: SATA link down (SStatus 0 SControl 300) ata18: SATA link down (SStatus 0 SControl 300) ata19: SATA link down (SStatus 0 SControl 300) ata20: SATA link down (SStatus 0 SControl 300) ata21: SATA link down (SStatus 0 SControl 300) ata22: SATA link down (SStatus 0 SControl 300) ata23: SATA link down (SStatus 0 SControl 300) ata24: SATA link down (SStatus 0 SControl 300) ata25: SATA link down (SStatus 0 SControl 300) ata26: SATA link down (SStatus 0 SControl 300) ata27: SATA link down (SStatus 0 SControl 300) ata28: SATA link down (SStatus 0 SControl 300) ata29: SATA link down (SStatus 0 SControl 300) ata30: SATA link down (SStatus 0 SControl 300) ata31: SATA link down (SStatus 0 SControl 300) ata32: SATA link down (SStatus 0 SControl 300) ata33: SATA link down (SStatus 0 SControl 300) ata34: SATA link down (SStatus 0 SControl 300) ata35: SATA link down (SStatus 0 SControl 300) ata36: SATA link down (SStatus 0 SControl 300) ata37: SATA link down (SStatus 0 SControl 300) ata38: SATA link down (SStatus 0 SControl 300) ata39: SATA link down (SStatus 0 SControl 300) ata40: SATA link down (SStatus 0 SControl 300) scsi 8:0:0:0: Attached scsi generic sg8 type 0 scsi 9:0:0:0: Attached scsi generic sg9 type 0 scsi 10:0:0:0: Attached scsi generic sg10 type 0 вставляем устройства в последние 5 портов ata13: SATA link up 3.0 Gbps (SStatus 123 SControl 300) ata13.00: ATA-8: WDC WD30EZRS-00J99B0, 80.00A80, max UDMA/133 ata13.00: 5860533168 sectors, multi 0: LBA48 NCQ (depth 32), AA ata13.00: configured for UDMA/133 scsi 12:0:0:0: Direct-Access ATA WDC WD30EZRS-00J 0A80 PQ: 0 ANSI: 5 ata14: SATA link up 3.0 Gbps (SStatus 123 SControl 300) ata14.00: ATA-8: WDC WD30EZRS-00J99B0, 80.00A80, max UDMA/133 ata14.00: 5860533168 sectors, multi 0: LBA48 NCQ (depth 32), AA ata14.00: configured for UDMA/133 scsi 13:0:0:0: Direct-Access ATA WDC WD30EZRS-00J 0A80 PQ: 0 ANSI: 5 ata38: SATA link up 3.0 Gbps (SStatus 123 SControl 300) ata38.00: ATA-8: WDC WD30EZRS-00J99B0, 80.00A80, max UDMA/133 ata38.00: 5860533168 sectors, multi 0: LBA48 NCQ (depth 32), AA ata38.00: configured for UDMA/133 scsi 37:0:0:0: Direct-Access ATA WDC WD30EZRS-00J 0A80 PQ: 0 ANSI: 5 ata39: SATA link up 3.0 Gbps (SStatus 123 SControl 300) ata39.00: ATA-8: WDC WD30EZRS-00J99B0, 80.00A80, max UDMA/133 ata39.00: 5860533168 sectors, multi 0: LBA48 NCQ (depth 32), AA ata39.00: configured for UDMA/133 scsi 38:0:0:0: Direct-Access ATA WDC WD30EZRS-00J 0A80 PQ: 0 ANSI: 5 ata40: SATA link up 3.0 Gbps (SStatus 123 SControl 300) ata40.00: ATA-8: WDC WD30EZRS-00J99B0, 80.00A80, max UDMA/133 ata40.00: 5860533168 sectors, multi 0: LBA48 NCQ (depth 32), AA ata40.00: configured for UDMA/133 scsi 39:0:0:0: Direct-Access ATA WDC WD30EZRS-00J 0A80 PQ: 0 ANSI: 5
В /sys никаких следов мультиплексора портов (Rocky Linux 8.10): find /sys//devices/pci0000:00/0000:00:1d.0|sort|fgrep -v power|less /sys//devices/pci0000:00/0000:00:1d.0/0000:03:00.0/ata9/ata_port/ata9/port_no => 1 ... /sys//devices/pci0000:00/0000:00:1d.0/0000:03:00.0/ata40/ata_port/ata40/port_no => 32
Проблема с влиянием обработки ошибок одного устройства на остальные подтверждается - сброс одного устройства плохо влияет на все стальные устройства внутри мультиплексора и ata13 и ata14.
Проблема с делением полосы пропускания порта SATA на все устройства под мультиплексором подтверждается.
Проблема с выбором скорости всех устройств по минимальной в мультиплексоре не подтверждается
=== START OF INFORMATION SECTION === Model Family: Seagate Barracuda 7200.11 Device Model: ST31500341AS Serial Number: 6VS0332S LU WWN Device Id: 5 000c50 0117388a6 Firmware Version: CC1H User Capacity: 1,500,301,910,016 bytes [1.50 TB] Sector Size: 512 bytes logical/physical Rotation Rate: 7200 rpm Device is: In smartctl database [for details use: -P show] ATA Version is: ATA8-ACS T13/1699-D revision 4 SATA Version is: SATA 2.6, 3.0 Gb/s Local Time is: Tue Apr 29 00:37:21 2025 MSK SMART support is: Available - device has SMART capability. SMART support is: Enabled smartctl -i /dev/sdp smartctl 7.1 2019-12-30 r5022 [x86_64-linux-4.18.0-553.50.1.el8_10.x86_64] (local build) Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Model Family: Hitachi Deskstar 7K3000 Device Model: Hitachi HDS723030ALA640 Serial Number: MK0311YHG3MEZA LU WWN Device Id: 5 000cca 225c1a621 Firmware Version: MKAOA3B0 User Capacity: 3,000,592,982,016 bytes [3.00 TB] Sector Size: 512 bytes logical/physical Rotation Rate: 7200 rpm Form Factor: 3.5 inches Device is: In smartctl database [for details use: -P show] ATA Version is: ATA8-ACS T13/1699-D revision 4 SATA Version is: SATA 2.6, 6.0 Gb/s (current: 6.0 Gb/s) Local Time is: Tue Apr 29 00:37:45 2025 MSK SMART support is: Available - device has SMART capability. SMART support is: Enabled
AHCI (Advanced Host Controller Interface) - представленный и открытый Intel интерфей контроллера SATA.
|
Bog BOS: hardware: Интерфейс ATA (IDE, PATA, SATA) |