Обновление данных SMART на моем внешнем жестком диске повышает медленную скорость передачи

Я работаю над Linux Mint 18.3, и у меня есть внешний жесткий диск Seagate Backup Plus 2TB. У меня было несколько мелких проблем с дисководом, которые я смог исправить, но я столкнулся с действительно проблемной ошибкой.

Копирование с моего внутреннего жесткого диска или твердотельного накопителя на диск Seagate обеспечивает нормальную скорость передачи данных (100 МБ / с для 1,3 ГБ, а затем снижается до 20 МБ / с на моем порту USB3). ОДНАКО, если я пытаюсь скопировать со своего диска Seagate на свой внутренний жесткий диск или твердотельный накопитель, я получаю очень точную скорость копирования 2,5 МБ / с. Вот КИКЕР: если во время копирования файла с диска Seagate я захожу в утилиту «Диски» и вручную принудительно обновляю данные SMART с диска Seagate, скорость значительно увеличивается примерно на две с половиной секунды.

Seagate отформатирован как NTFS (я знаю …), поэтому я подумал, что это будет работать лучше на Windows. Я пробовал на своем разделе Windows 7, и на этот раз любой файл, который я скопировал бы с Seagate на внутренний жесткий диск или SSD, давал бы скорость около 750 КБ / с. Так что это даже медленнее (похоже на скорости USB 1.1), чем в Linux.

Я пытался провести этот эксперимент в различных температурных условиях (я подумал, что, возможно, внешний диск был жестко закреплен для ограничения скорости, чтобы не перегреваться), а также после установки программы Seagate Dashboard.

Кто-нибудь знает, что вызывает это и как это можно исправить? Я ненавижу постоянно нажимать кнопку «Обновить SMART-данные», и я не слишком уверен, что это также полезно для здоровья накопителя.

Примечание: данные SMART не показывают плохих или перераспределенных секторов.

РЕДАКТИРОВАТЬ:

Согласно комментарию frostschutz, я попытался скопировать файлы с диска Seagate на раздел Lubuntu моего ноутбука, и вот, я получил скорости USB 2.0, на которые способен мой ноутбук. Так что я знал, что проблема не с внешним HDD.

Контекст: мой компьютер имеет «встроенный» USB-концентратор, так как в нем есть несколько USB-слотов, выходящих из материнской платы, но есть также несколько из них «спереди» машины, и этот последний является концентратором , Я никогда не использую его, так как скорости медленнее, но я все еще держу его включенным.

Когда я продолжил, чтобы запустить команды dmesg и lsusb, чтобы подключить накопитель Seagate к моему компьютеру через тот же порт USB 3.0, из которого у меня было точно 2,5 МБ / с, я попытался еще раз скопировать файл, черт побери (тот же файл, который я продолжал пробовать, это большой мясистый файл размером 23 ГБ).

И вот, постоянная скорость записи 125 МБ / с на мой внутренний жесткий диск. Для всего 23ГБ. Кроме того, что я подключил Seagate к другому компьютеру, ничего не изменилось. Что-то сбросило то, что читал привод, и снова все исправило.

Я считаю, что весь этот эпизод как-то связан с тем, как я экспериментировал, отключив диск от Seagate. По какой-то причине, когда я “безопасно извлекаю диск” из внешнего жесткого диска Seagate, он не переводит диск в hibernate, поскольку я все еще слышу rotation диска, и если я отключаюсь от порта USB, он издает резкий звук, когда голова положить на rest. Прежде чем согласиться на команду unmount, а затем команду hdparm -y / dev / sdx, которая действительно решила мою проблему перевода диска в hibernate перед отключением, я попробовал несколько других вещей, которые я даже не помню, которые каким-то образом сделали диск ведут себя странно при подключении к любому из USB-портов моего компьютера.

В любом случае, моя проблема решена, но я предоставлю данные dmesg всем, кто хочет выяснить это со мной.

 [ 5448.682599] usb 2-5: new SuperSpeed USB device number 2 using xhci_hcd [ 5448.703297] usb 2-5: New USB device found, idVendor=0bc2, idProduct=ab24 [ 5448.703301] usb 2-5: New USB device strings: Mfr=2, Product=3, SerialNumber=1 [ 5448.703304] usb 2-5: Product: BUP Slim BK [ 5448.703307] usb 2-5: Manufacturer: Seagate [ 5448.703309] usb 2-5: SerialNumber: xxxxxx (my edit) [ 5448.705875] scsi host6: uas [ 5448.706528] scsi 6:0:0:0: Direct-Access Seagate BUP Slim BK 0304 PQ: 0 ANSI: 6 [ 5448.762823] sd 6:0:0:0: Attached scsi generic sg3 type 0 [ 5448.763012] sd 6:0:0:0: [sdc] Spinning up disk... [ 5449.778572] . [ 5450.802589] . [ 5451.826604] . [ 5452.850628] . [ 5452.850898] ready [ 5452.851222] sd 6:0:0:0: [sdc] 3907029167 512-byte logical blocks: (2.00 TB/1.82 TiB) [ 5452.851226] sd 6:0:0:0: [sdc] 2048-byte physical blocks [ 5453.201932] sd 6:0:0:0: [sdc] Write Protect is off [ 5453.201936] sd 6:0:0:0: [sdc] Mode Sense: 4f 00 00 00 [ 5453.202097] sd 6:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [ 5453.233738] sdc: sdc1 [ 5453.234888] sd 6:0:0:0: [sdc] Attached SCSI disk [ 5811.595986] usb 2-5: USB disconnect, device number 2 [ 5811.597333] sd 6:0:0:0: [sdc] Synchronizing SCSI cache [ 5811.844787] sd 6:0:0:0: [sdc] Synchronize Cache(10) failed: Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK 

Я полагаю, что последние три или около того строки – после того, как я его размонтировал.

lsusb -t дал это:

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

И lsusb -v дал это (включал только seagate):

 Bus 002 Device 003: ID 0bc2:ab24 Seagate RSS LLC Couldn't open device, some information will be missing Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 3.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 9 idVendor 0x0bc2 Seagate RSS LLC idProduct 0xab24 bcdDevice 1.00 iManufacturer 2 iProduct 3 iSerial 1 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 121 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 36mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 8 Mass Storage bInterfaceSubClass 6 SCSI bInterfaceProtocol 80 Bulk-Only iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 0 bMaxBurst 15 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 0 bMaxBurst 15 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 1 bNumEndpoints 4 bInterfaceClass 8 Mass Storage bInterfaceSubClass 6 SCSI bInterfaceProtocol 98 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 0 bMaxBurst 15 MaxStreams 32 Data-in pipe (0x03) Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 0 bMaxBurst 15 MaxStreams 32 Data-out pipe (0x04) Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 0 bMaxBurst 15 MaxStreams 32 Status pipe (0x02) Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x04 EP 4 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 0 bMaxBurst 0 Command pipe (0x01) 

Distro / kernel:

 Linux PC 4.13.0-26-generic #29~16.04.2-Ubuntu SMP Tue Jan 9 22:00:44 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux