启动 linux toram 时 USB 3.0 外壳中的 SSD 速度缓慢

启动 linux toram 时 USB 3.0 外壳中的 SSD 速度缓慢

toram我已经在分区上安装了该选项所需的squashfs ext4。该分区位于外壳中的 SSD 上。

据称该SSD的读取速度高达500MB/s。

当我运行时,hdparm -t /dev/sdb它显示 SSD 的读取速度约为 370 MB/s。

但是当我启动toramlinux,在内核参数中禁用启动屏幕并使用参数启动内核时toram=filesystem.squashfs,我可以看到squashfs加载到RAM中的速度。速度只有130MB/s到150MB/s。

所以我想知道是否有办法让内核更快地加载squashfs?

编辑:

以下是lsusb输出,外壳是总线 002 上的设备 009:

Bus 002 Device 003: ID 0bda:0415 Realtek Semiconductor Corp. 2-Port USB 3.0 Hub
Bus 002 Device 009: ID 152d:0578 JMicron Technology Corp. / JMicron USA Technology Corp. JMS578 SATA 6Gb/s
Bus 002 Device 002: ID 0bda:0411 Realtek Semiconductor Corp. Hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 0bda:5415 Realtek Semiconductor Corp. 2-Port USB 2.0 Hub
Bus 001 Device 004: ID 145f:02c9 Trust Trust Keyboard
Bus 001 Device 008: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 001 Device 002: ID 0bda:5411 Realtek Semiconductor Corp. RTS5411 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

输出lsusb -t

/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/7p, 5000M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 5000M
        |__ Port 1: Dev 9, If 0, Class=Mass Storage, Driver=uas, 5000M
    |__ Port 6: Dev 3, If 0, Class=Hub, Driver=hub/2p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/9p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
    |__ Port 3: Dev 8, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
    |__ Port 4: Dev 4, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
    |__ Port 4: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
    |__ Port 6: Dev 5, If 0, Class=Hub, Driver=hub/2p, 480M

以及输出的开头lsusb -v -s 002:009

Bus 002 Device 009: ID 152d:0578 JMicron Technology Corp. / JMicron USA Technology Corp. JMS578 SATA 6Gb/s
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         9
  idVendor           0x152d JMicron Technology Corp. / JMicron USA Technology Corp.
  idProduct          0x0578 JMS578 SATA 6Gb/s
  bcdDevice           25.01
  iManufacturer           1 JMicron
  iProduct                2 External HDD
  iSerial                 3 0000007788E1
  bNumConfigurations      1

答案1

通过 USB 读取和写入

您看到的瓶颈并非来自 SSD。瓶颈来自于 USB 连接的有限传输速度。一旦添加到外部外壳中,SSD 就变成了一个光彩夺目的 USB 闪存驱动器。

USB 3.0规范(我试图通读,但找不到速度被埋没的地方),只能通过验证多个链接/搜索结果曾是:

对于 USB 3.0 技术,平均读取速度范围跃升至 60 至 150 Mbps。至于写入速度,USB 3.0 单元的写入速度预计为 10 至 45 Mbps。

请注意,上述引用被表述为平均吞吐量

hdparm命令返回机柜内的额定速度,即驱动器所连接的适配器与驱动器本身之间的速度。由于机柜模仿 PC 内部的连接,因此这是有道理的。连接适配器也可能只能额定一定的速度,但我只能验证是否您使用附件的链接更新了原始问题。

回应评论

再次消除关于 USB 的困惑状态:

...可以向后兼容旧设备,尽管它们将受限于旧 USB 标准的数据传输速率。

我在引用中省略了速度,因为向后兼容性也适用于所有速度和世代。另请注意,3.2 Gen 2 SuperSpeed 与 3.2 不同什么是 USB 3.0(超高速 USB)?还指出:

USB 3.2 标准于 2017 年 7 月推出。USB 3.2 标准包括与 USB-C 连接器配合使用的新的 20 Gbps 传输模式。它被称为 SuperSpeed+ 或 USB Gen 2x2。 3.2 标准还重新命名了旧的传输速度。

由于命名有些复杂,新的 USB 3.0 设备应在设备徽标中包含支持的最大传输速度。幸运的是,所有 USB 数据传输速率标准都是向后兼容的,这意味着几乎任何设备都可以与任何插头一起使用,并且它会自动回落到相互支持的最佳速度。

OP 在这里期望规范中规定的最大值应该是保证吞吐量,这将永远不会是真的,由于设备制造、操作系统配置等方面的差异。

更新

在阅读了 Google 发现的多篇帖子后,驱动该外壳的 JMicron 微芯片系列似乎并不可靠。看这篇文章在 Mint 论坛上发布以获得GRUB_CMDLINE_LINUX可能的修复并将 DeviceID 替换为152d:0578

相关内容