1

Я планирую установить твердотельный накопитель в свой Acer Aspire E5-511 C7X7 (https://www.acer.com/ac/en/GB/content/model/NX.MPKEK.022), заменив 9,5-мм оптический привод на жесткий диск, но я не уверен, что это будет стоить денег, так как я не знаю, поддерживает ли материнская плата SATA I, II или III. Как я могу это проверить?

Я использую Kubuntu 16.10, и hardinfo сообщает мне, что моим основным жестким диском, который был в комплекте с ноутбуком, является жесткий диск Western Digital ATA WDC WD10JPVX-22J 1 ТБ. У самого жесткого диска указан интерфейс SATA 6 Гбит / с, от которого я понимаю, что это SATA III.

dmesg в консоли говорит мне, что два моих контроллера SATA соединяются со скоростью 1,5 Гбит / с и 3,0 Гбит / с. Я предполагаю, что первый - это мой оптический привод, а второй - мой жесткий диск. Это наводит меня на мысль, что мой жесткий диск - это SATA II, а оптический привод - SATA I. Правильна ли эта информация?

Я предполагаю, что Acer не будет поставлять жесткий диск SATA III на ноутбуке, материнская плата которого поддерживает что-то меньшее. Я в безопасности на этом предположении? И возможно ли, что мой жесткий диск и оптический привод используют другой интерфейс SATA? Я предполагаю, что они используют тот же самый, и я надеюсь, что это совместимо с SATA III, но опять же, я хочу быть уверен.

1 ответ1

0

Предполагая, что у вас есть стандартный контроллер AHCI, вы можете посмотреть максимальную поддерживаемую скорость в регистре конфигурации. Возможно, это значение где-то видно /sys или /proc , но если это так, я не знаю об этом.

Это включает в себя манипулирование с пространством ввода-вывода устройств, поэтому будьте осторожны, чтобы не ошибиться, иначе вы можете повредить вещи.

Вот как это работает для моей системы:

1) Найдите свой контроллер AHCI, используя lspci:

$ lspci
...
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family SATA AHCI Controller (rev 05)

2) Посмотрите на ресурсы, убедитесь, что они используются модулем ядра ahci :

$ lspci -vk -s 0:1f.2
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family SATA AHCI Controller (rev 05) (prog-if 01 [AHCI 1.0])
    Subsystem: ASRock Incorporation 6 Series/C200 Series Chipset Family SATA AHCI Controller
    Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 26
    I/O ports at f0b0 [size=8]
    I/O ports at f0a0 [size=4]
    I/O ports at f090 [size=8]
    I/O ports at f080 [size=4]
    I/O ports at f060 [size=32]
    Memory at f7e06000 (32-bit, non-prefetchable) [size=2K]
    Capabilities: <access denied>
    Kernel driver in use: ahci
    Kernel modules: ahci

3) Области PCI BAR теперь можно найти в /sys/devices/pci0000:00/0000:00:1f.2/resource* (где вам нужно заменить 0:1f.2 на адрес вашего контроллера). Моя карта имеет 5 областей для портов ввода / вывода (номер 0-4), а область сопоставленной памяти - номер 5. Это тот, который нам нужен.

4) Скачайте и скомпилируйте какой-нибудь инструмент в mmap и прочитайте регион, например, этот.

5) Считайте первое 4-байтовое слово со смещением 0 с помощью инструмента, который вы только что загрузили (снова замените адрес и ресурс PCI на те, что в вашей системе). Вы должны быть пользователем root, чтобы сделать это. Вот место, где могут случиться забавные вещи, если вы совершите ошибку, поэтому убедитесь, что вы ее не сделали

$ sudo ./pcimem /sys/devices/pci0000\:00//0000\:00\:1f.2/resource5  0 w
Target offset is 0x0, page size is 4096
mmap(0, 4096, 0x3, 0x1, 3, 0x0)
PCI Memory mapped to address 0xb778e000.
Value at offset 0x0 (0xb778e000): 0xC330FF45
                                      ^

6) Как описано в спецификации AHCI Intel, биты 23-20 называются интерфейсной поддержкой скорости и указывают максимальную скорость (1 = генерация 1/1,5 Гбит /с, 2 = генерация /3 Гбит /с, 3 = генерация 3/6 Гбит /с). Эти биты представлены третьей шестнадцатеричной цифрой, отмеченной выше, в моем случае 3 , поэтому мой контроллер поддерживает 6 Гбит /с.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .