我如何知道我的笔记本电脑主板支持哪个 SATA 版本?

我如何知道我的笔记本电脑主板支持哪个 SATA 版本?

我计划在我的 Acer Aspire E5-511 C7X7 中安装 SSD (https://www.acer.com/ac/en/GB/content/model/NX.MPKEK.022) 通过将 9.5mm 光驱替换为硬盘驱动器托架,但我不确定这是否值得,因为我不知道主板是否支持 SATA I、II 或 III。我该如何检查?

我正在运行 Kubuntu 16.10,hardinfo 告诉我笔记本电脑中随附的主硬盘是 Western Digital ATA WDC WD10JPVX-22J 1TB 硬盘。硬盘本身指定具有 SATA 6 Gb/s 接口,据我了解是 SATA III。

控制台中的 dmesg 告诉我,我的两个 SATA 控制器连接速度高达 1.5Gbps 和 3.0Gbps。我假设第一个是我的光驱,第二个是我的 HDD。这让我相信我的 HDD 是 SATA II,而我的光驱是 SATA I。这个信息正确吗?

我认为 Acer 不会在主板支持低于 SATA III 的笔记本电脑上安装 SATA III 硬盘。我这样假设安全吗?我的硬盘和光驱是否可能使用不同的 SATA 接口?我假设它们使用相同的接口,我希望它兼容 SATA III,但同样,我想确定一下。

答案1

假设您有一个标准 AHCI 控制器,您可以在配置寄存器中查找支持的最大速度。这个值可能在/sys或中的某个地方可见/proc,但如果是这种情况,我不知道。

这涉及到摆弄设备的 I/O 空间,因此要小心不要犯错误,否则可能会损坏东西。

以下是它在我的系统中的运作方式:

  1. 使用以下方法查找您的 AHCI 控制器lspci

    $ lspci
    ...
    00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family SATA AHCI Controller (rev 05)
    
  2. 查看资源,验证它是否被系统控制内核模块:

    $ 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 个 I/O 端口区域(编号 0-4),内存映射区域编号为 5。这是我们需要的。

  4. 下载并编译一些工具来映射并读取区域,例如这个

  5. 使用您刚刚下载的工具读取偏移量为 0 的第一个 4 字节字(再次将 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 规范在英特尔,第 23-20 位被称为接口速度支持并指示最大速度(1 = Gen 1/1.5 Gbps,2= Gen/3 Gbps,3 = Gen 3/6 Gbps)。这些位由上面标记的第三个十六进制数字表示,在我的例子中3,所以我的控制器支持 6 Gbps。

相关内容