LINUX.ORG.RU

Скорость USB Flash

 


0

3

Есть флешка. Заявлена скорость чтения до 1000 МБ/сек и поддержка интерфейса USB 3.2 Gen2.

Максимальная скорость чтения, которой мне удалось достичь на новой флешке:

4294967296 bytes (4.3 GB, 4.0 GiB) copied, 10.2618 s, 419 MB/s

Если я верно посчитал, это примерно соответствует пропускной способности 5Gbps. И, судя по выводу этой команды, устройство именно на этой скорости и работает:

# lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M
    |__ Port 2: Dev 2, If 0, Class=Mass Storage, Driver=uas, 5000M

Но что тогда значит 10000M в выводе той же команды? Значит ли это, что я могу подключить флешку на скорости 10000M? А если да, то как это сделать?

Ответ на: комментарий от newbie24

# lsusb -d 1d6b:0003 -v 2>/dev/zero | egrep 'Bus [0-9]|bcdUSB|Speed Attribute'

Тестируя эту флешку с дискретным контроллером Orient AM-31U2PE-AC, я снова запутался. Найденный мной способ определения скорости портов дал сбой:

  • Порты Bus 008 могут работать на скорости 5Gb/s, флешка подключается на этой скорсти, скорость чтения составляет 418 MB/s.
  • Порты Bus 004 могут работать на скорости 10Gb/s, флешка подключается на этой скорсти, скорость чтения составляет 1.0 GB/s.
  • Порты Bus 002 могут работать на скорости 10Gb/s, но флешка подключается на скорсти 5Gb/s, а скорость чтения составляет 927 MB/s.

Чем можно объяснить эту аномалию?

Интегрированный хаб 10GBps:

# lsusb -t | grep -B1 Mass
  /:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 10000M
      |__ Port 2: Dev 2, If 0, Class=Mass Storage, Driver=uas, 10000M
# dd if=/dev/sda of=/dev/zero bs=64M iflag=direct status=progress
  512110190592 bytes (512 GB, 477 GiB) copied, 496.304 s, 1.0 GB/s

Интегрированный хаб 5GBps:

# lsusb -t | grep -B1 Mass
  /:  Bus 08.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M
      |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=uas, 5000M
# dd if=/dev/sda of=/dev/zero bs=64M iflag=direct status=progress
  512110190592 bytes (512 GB, 477 GiB) copied, 1224.02 s, 418 MB/s

Дискретный хаб с непонятной скоростью:

# lsusb -t | grep -B1 Mass
  /:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M
      |__ Port 2: Dev 3, If 0, Class=Mass Storage, Driver=uas, 5000M
# dd if=/dev/sda of=/dev/zero bs=64M iflag=direct status=progress
  512110190592 bytes (512 GB, 477 GiB) copied, 552.363 s, 927 MB/s

Доступные на портах скорости:

# lsusb -v 2>/dev/zero | egrep 'Bus [0-9]|bcdUSB|RX|TX'
  Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    bcdUSB               3.10
      Speed Attribute ID: 4 5Gb/s Symmetric RX SuperSpeed
      Speed Attribute ID: 4 5Gb/s Symmetric TX SuperSpeed
  Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    bcdUSB               3.10
      Speed Attribute ID: 4 5Gb/s Symmetric RX SuperSpeed
      Speed Attribute ID: 4 5Gb/s Symmetric TX SuperSpeed
      Speed Attribute ID: 5 10Gb/s Symmetric RX SuperSpeedPlus
      Speed Attribute ID: 5 10Gb/s Symmetric TX SuperSpeedPlus
  Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    bcdUSB               3.10
      Speed Attribute ID: 4 5Gb/s Symmetric RX SuperSpeed
      Speed Attribute ID: 4 5Gb/s Symmetric TX SuperSpeed
      Speed Attribute ID: 5 10Gb/s Symmetric RX SuperSpeedPlus
      Speed Attribute ID: 5 10Gb/s Symmetric TX SuperSpeedPlus
newbie24
() автор топика