AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1888085
Accepted
beyondtime
beyondtime
Asked: 2025-03-24 00:48:12 +0800 CST2025-03-24 00:48:12 +0800 CST 2025-03-24 00:48:12 +0800 CST

为什么 PCIe 转 SATA 桥接控制器可以在主板的 m.2 插槽中运行,而 USB 转 SATA 桥接 IC 却不能运行?

  • 772

JMB585 是用于从主机到具有 SATA/AHCI 接口的存储设备的 PCIe 桥接控制器。此桥接控制器也是一个端口倍增器。

如果将此桥接控制器设备插入支持 PCIe 3.0 规格的主板上的 m.2 插槽,它将启用所有连接的 SATA 设备,并且功能可与来自 CPU 或芯片组的本机 SATA 端口相媲美。

通过从支持从 USB 到 SATA 协议转换的 USB 设备连接到 m.2 连接器(例如 RTL9210 USB 到 PCIe/SATA 桥接器),JMB585 不再被识别。

所有必要的协议似乎都处于可比/兼容的级别(对于 PCIe,它是 3.x 标准,SATA 能够进行修订 3(6Gb/s),并且 USB 也兼容标准(3.2-3.0)。

所有研究都无法解释 Linux 内核(6.x 版本)系统的差异,并且 Windows 10 系统上的 JMB585 也无法识别连接到 USB-SATA 桥接 IC。

  • 是硬件不兼容还是协议困难?
  • 可以通过固件更新解决这个问题吗?
usb
  • 1 1 个回答
  • 41 Views

1 个回答

  • Voted
  1. Best Answer
    grawity
    2025-03-24T01:18:06+08:002025-03-24T01:18:06+08:00

    通过 USB 设备连接到 m.2 连接器,支持从 USB 到 SATA 的协议转换,

    如果您以 USB-to-SATA 模式将 JMB585 的“PCIe”侧连接到 RTL9210 的“SATA”侧,则会出现明显的协议不兼容问题:SATA 不是 PCIe,无论是物理层还是更高层,因此 RTL9210 等 SATA 主机无法与 JMB585 等 PCIe 设备通信。(这就是 JMB585 等桥存在的原因!)

    如果您在 USB-to-PCIe 模式下将 JMB585 的“PCIe”侧连接到 RTL9210 的“PCIe”侧,则仍存在协议不兼容问题:RTL9210 只能识别一种特定类型的 PCI 设备 - NVMe 存储控制器 - 但没有识别 SATA AHCI 控制器或其他任意 PCI 设备所需的“驱动程序”。也就是说,它只能充当AHCI主机控制器(在 USB-to-SATA 模式下),但不能作为主机与主机通信(在 PCIe 模式下)。

    这是因为无法通过常规 USB(没有 Thunderbolt)提供 PCI 直通,因此 RTL9210 本身必须知道如何处理连接到它的 PCIe 设备。例如,对于 NVMe SSD,它需要充当 NVMe 存储设备的主机,并在 NVMe 命令和 SCSI 命令之间进行转换,这样它就可以在 USB 端假装是标准的 USB 大容量存储 (SCSI) 设备。

    虽然理论上这种芯片可以充当 SATA AHCI 控制器的主机(然后在 ATA 和 SCSI 之间进行转换,就像在 USB 到 SATA 模式下一样),但我怀疑 RTL9210 之所以没有实现这一点,是因为几乎没有实际的 M.2 SSD 以这种方式工作:要么它们是纯 SATA 设备,要么它们是 PCIe NVMe 设备,但实际上它们都不是带有自己的 SATA 控制器的 PCIe 设备,因此在 RTL9210 这样的芯片中实现这一点不值得花费成本。

    • 2

相关问题

  • USB-A 充电器可以使用适配器为 USB-C 笔记本电脑充电吗?

  • Linux lite iso 成功刷入 usb 但无法启动

  • 通过脚本关闭 USB 端口的电源

  • 对作为 USB 2.0 连接到 USB 3.0 端口的 USB 3.0 设备进行故障排除

  • VMware Workstation USB 仲裁服务无法自动启动

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    Vickel Firefox 不再允许粘贴到 WhatsApp 网页中? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke 为什么使用 Python 的 tar 库时 tar.xz 文件比 macOS tar 小 15 倍? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve