mSATA speed negotiation at 3Gbps (maybe not Proxmox issue)

NeODarK

Member
Dec 3, 2020
28
3
8
45
Hi, I have some machines with Proxmox installed. The machines are HP8300 USDT. They have an mSATA port and two SATA ports.

The question is... in the two machines the mSATA ports only negotiate at 3Gbps, the mSATA disks are 6Gbps but only run at 3Gbps. I know mSATA ports works at 6Gbps, right?

How can I check or do that works (negotiate) at 6Gbps?

The SATA ports negotiate at 6Gbps but not the mSATA...

This is one mSATA disk:
Code:
=== START OF INFORMATION SECTION ===
Device Model:     Dogfish SSD 256GB
Serial Number:    xxxxxxxx
Firmware Version: S0920A0
User Capacity:    256,060,514,304 bytes [256 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Form Factor:      mSATA
TRIM Command:     Available, deterministic, zeroed
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   ACS-2 T13/2015-D revision 3
SATA Version is:  SATA 3.2, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is:    Tue May 30 18:35:22 2023 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

This is the other mSATA disk:
Code:
=== START OF INFORMATION SECTION ===
Device Model:     Vaseky V800/60G
Serial Number:    xxxxxxxx
Firmware Version: 2010XKR
User Capacity:    60,022,480,896 bytes [60.0 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Form Factor:      2.5 inches
TRIM Command:     Available, deterministic, zeroed
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   ACS-2 T13/2015-D revision 3
SATA Version is:  SATA 3.2, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is:    Tue May 30 18:36:35 2023 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

Thanks!!
 
Last edited:
It depends on the SATA controller. Find out what the PCI ID of the PCI(e) SATA controller is using ls -l /dev/disk/by-id/ and ls -l /dev/disk/by-path/ and find it with lspci -nnks PCI_ID and look it up online. Maybe the controller is only SATA II instead of SATA III?
Maybe the cable does not support the high speed. Is there any information in journalctl -b (you need to scroll and search messages about ATA or ata) that suggest it tries 6Gbit and drops down to 3Gbit?
Does the manual maybe state anything about this?
 
I will put outputs of one server only (to have a short reply :p), because two server all the same, the issue is only on the mSATA. About the cable, it´s an mSATA, no wires, it´s connected direct to the mSATA socket (both servers).

This is the output of the "journalctl -b | grep SATA":
Code:
May 23 14:47:53 pve1 kernel: NODE_DATA(0) allocated [mem 0x41edcb000-0x41edf4fff]
May 23 14:47:53 pve1 kernel: ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 6 ports 6 Gbps 0x7 impl SATA mode
May 23 14:47:53 pve1 kernel: ata1: SATA max UDMA/133 abar m2048@0xf7c36000 port 0xf7c36100 irq 26
May 23 14:47:53 pve1 kernel: ata2: SATA max UDMA/133 abar m2048@0xf7c36000 port 0xf7c36180 irq 26
May 23 14:47:53 pve1 kernel: ata3: SATA max UDMA/133 abar m2048@0xf7c36000 port 0xf7c36200 irq 26
May 23 14:47:53 pve1 kernel: ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
May 23 14:47:53 pve1 kernel: ata2: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
May 23 14:47:53 pve1 kernel: ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
May 23 14:47:53 pve1 kernel: ata3.00: ATA-9: Dogfish SSD 256GB, S0920A0, max UDMA/133
May 23 14:47:53 pve1 kernel: ata1.00: ATA-10: KINGSTON SA400S37480G, S3H01103, max UDMA/133
May 23 14:47:53 pve1 kernel: scsi 0:0:0:0: Direct-Access     ATA      KINGSTON SA400S3 1103 PQ: 0 ANSI: 5
May 23 14:47:53 pve1 kernel: ata2.00: ATA-10: ST1000LM048-2E7172, 0001, max UDMA/133
May 23 14:47:53 pve1 kernel: scsi 1:0:0:0: Direct-Access     ATA      ST1000LM048-2E71 0001 PQ: 0 ANSI: 5
May 23 14:47:53 pve1 kernel: scsi 2:0:0:0: Direct-Access     ATA      Dogfish SSD 256G 0A0  PQ: 0 ANSI: 5
May 23 14:47:54 pve1 smartd[1269]: Monitoring 3 ATA/SATA, 0 SCSI/SAS and 0 NVMe devices

And the output of "ls -l /dev/disk/by-id/", I add "|grep sdc" because this is the mSATA:
Code:
l
rwxrwxrwx 1 root root  9 May 23 14:47 ata-Dogfish_SSD_256GB_RSFB20081601094 -> ../../sdc
lrwxrwxrwx 1 root root 10 May 23 14:47 ata-Dogfish_SSD_256GB_RSFB20081601094-part1 -> ../../sdc1
lrwxrwxrwx 1 root root 10 May 23 14:47 ata-Dogfish_SSD_256GB_RSFB20081601094-part2 -> ../../sdc2
lrwxrwxrwx 1 root root 10 May 30 20:22 ata-Dogfish_SSD_256GB_RSFB20081601094-part3 -> ../../sdc3
lrwxrwxrwx 1 root root 10 May 30 20:22 lvm-pv-uuid-aDMpNa-VoY2-tNI4-m5Es-23Vg-jt0V-uiHDfH -> ../../sdc3

The output of "ls -l /dev/disk/by-path/ | grep sdc" to filter by sdc:
Code:
lrwxrwxrwx 1 root root  9 May 23 14:47 pci-0000:00:1f.2-ata-3 -> ../../sdc
lrwxrwxrwx 1 root root  9 May 23 14:47 pci-0000:00:1f.2-ata-3.0 -> ../../sdc
lrwxrwxrwx 1 root root 10 May 23 14:47 pci-0000:00:1f.2-ata-3.0-part1 -> ../../sdc1
lrwxrwxrwx 1 root root 10 May 23 14:47 pci-0000:00:1f.2-ata-3.0-part2 -> ../../sdc2
lrwxrwxrwx 1 root root 10 May 30 20:22 pci-0000:00:1f.2-ata-3.0-part3 -> ../../sdc3
lrwxrwxrwx 1 root root 10 May 23 14:47 pci-0000:00:1f.2-ata-3-part1 -> ../../sdc1
lrwxrwxrwx 1 root root 10 May 23 14:47 pci-0000:00:1f.2-ata-3-part2 -> ../../sdc2
lrwxrwxrwx 1 root root 10 May 30 20:22 pci-0000:00:1f.2-ata-3-part3 -> ../../sdc3

With the command "lspci | grep SATA" I got this:
00:1f.2 SATA controller: Intel Corporation 7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)

And for the command "lspci -nnks 00:1f.2" I got this:
00:1f.2 SATA controller [0106]: Intel Corporation 7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] [8086:1e02] (rev 04)
Subsystem: Hewlett-Packard Company 7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] [103c:3398]
Kernel driver in use: ahci
Kernel modules: ahci


Thanks!!
 
Last edited:
If I search for C210 chipset I found this:

https://ark.intel.com/content/www/us/en/ark/products/66416/intel-c216-chipset.html

And in the middle of the page say:
  • Total # of SATA Ports 6
  • Max # of SATA 6.0 Gb/s Ports 2
It means that maximum SATA ports that can manage are 6 but if connect more than 2, the third and others works at SATA 3.0 Gb/s?

My board has one mSATA and two SATA ports... three in all...

Could be this the trouble?

Best regards!!
 
  • Like
Reactions: leesteken
I will put outputs of one server only (to have a short reply :p), because two server all the same, the issue is only on the mSATA. About the cable, it´s an mSATA, no wires, it´s connected direct to the mSATA socket (both servers).

This is the output of the "journalctl -b | grep SATA":
Code:
May 23 14:47:53 pve1 kernel: NODE_DATA(0) allocated [mem 0x41edcb000-0x41edf4fff]
May 23 14:47:53 pve1 kernel: ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 6 ports 6 Gbps 0x7 impl SATA mode
May 23 14:47:53 pve1 kernel: ata1: SATA max UDMA/133 abar m2048@0xf7c36000 port 0xf7c36100 irq 26
May 23 14:47:53 pve1 kernel: ata2: SATA max UDMA/133 abar m2048@0xf7c36000 port 0xf7c36180 irq 26
May 23 14:47:53 pve1 kernel: ata3: SATA max UDMA/133 abar m2048@0xf7c36000 port 0xf7c36200 irq 26
May 23 14:47:53 pve1 kernel: ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
May 23 14:47:53 pve1 kernel: ata2: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
May 23 14:47:53 pve1 kernel: ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
May 23 14:47:53 pve1 kernel: ata3.00: ATA-9: Dogfish SSD 256GB, S0920A0, max UDMA/133
May 23 14:47:53 pve1 kernel: ata1.00: ATA-10: KINGSTON SA400S37480G, S3H01103, max UDMA/133
May 23 14:47:53 pve1 kernel: scsi 0:0:0:0: Direct-Access     ATA      KINGSTON SA400S3 1103 PQ: 0 ANSI: 5
May 23 14:47:53 pve1 kernel: ata2.00: ATA-10: ST1000LM048-2E7172, 0001, max UDMA/133
May 23 14:47:53 pve1 kernel: scsi 1:0:0:0: Direct-Access     ATA      ST1000LM048-2E71 0001 PQ: 0 ANSI: 5
May 23 14:47:53 pve1 kernel: scsi 2:0:0:0: Direct-Access     ATA      Dogfish SSD 256G 0A0  PQ: 0 ANSI: 5
May 23 14:47:54 pve1 smartd[1269]: Monitoring 3 ATA/SATA, 0 SCSI/SAS and 0 NVMe devices
Looks like (s)ata3 is just 3Gbits/SATA II
And the output of "ls -l /dev/disk/by-id/", I add "|grep sdc" because this is the mSATA:
Code:
l
rwxrwxrwx 1 root root  9 May 23 14:47 ata-Dogfish_SSD_256GB_RSFB20081601094 -> ../../sdc
lrwxrwxrwx 1 root root 10 May 23 14:47 ata-Dogfish_SSD_256GB_RSFB20081601094-part1 -> ../../sdc1
lrwxrwxrwx 1 root root 10 May 23 14:47 ata-Dogfish_SSD_256GB_RSFB20081601094-part2 -> ../../sdc2
lrwxrwxrwx 1 root root 10 May 30 20:22 ata-Dogfish_SSD_256GB_RSFB20081601094-part3 -> ../../sdc3
lrwxrwxrwx 1 root root 10 May 30 20:22 lvm-pv-uuid-aDMpNa-VoY2-tNI4-m5Es-23Vg-jt0V-uiHDfH -> ../../sdc3
Your Dosfish drive is /dev/sdc
The output of "ls -l /dev/disk/by-path/ | grep sdc" to filter by sdc:
Code:
lrwxrwxrwx 1 root root  9 May 23 14:47 pci-0000:00:1f.2-ata-3 -> ../../sdc
lrwxrwxrwx 1 root root  9 May 23 14:47 pci-0000:00:1f.2-ata-3.0 -> ../../sdc
lrwxrwxrwx 1 root root 10 May 23 14:47 pci-0000:00:1f.2-ata-3.0-part1 -> ../../sdc1
lrwxrwxrwx 1 root root 10 May 23 14:47 pci-0000:00:1f.2-ata-3.0-part2 -> ../../sdc2
lrwxrwxrwx 1 root root 10 May 30 20:22 pci-0000:00:1f.2-ata-3.0-part3 -> ../../sdc3
lrwxrwxrwx 1 root root 10 May 23 14:47 pci-0000:00:1f.2-ata-3-part1 -> ../../sdc1
lrwxrwxrwx 1 root root 10 May 23 14:47 pci-0000:00:1f.2-ata-3-part2 -> ../../sdc2
lrwxrwxrwx 1 root root 10 May 30 20:22 pci-0000:00:1f.2-ata-3-part3 -> ../../sdc3
/dev/sdc is connected via SATA controller 0000:001f.2 (port 3)
And for the command "lspci -nnks PCI_ID" what is the PCI_ID? I tried some values with error answer for the console....
What is the output of lspci -nnks 00:1f.2?
Looking again at
May 23 14:47:53 pve1 kernel: ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 6 ports 6 Gbps 0x7 impl SATA mode
it looks like all are connected to the same SATA controller that supports SATA III (6Gbps).
May 23 14:47:53 pve1 kernel: ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
But this makes me think it instantly selects SATA II (3Gbps).
It means that maximum SATA ports that can manage are 6 but if connect more than 2, the third and others works at SATA 3.0 Gb/s?
Probably! It might be a PCI(e) bandwidth (or other south bridge connection) limitation.
 
Last edited:
I have one drive (mSATA)to Proxmox Operating System and CTs and VMs... other SSD for CTs and VMs and a last SSD for daily backups...

Maybe to "solve" my issue I´ll use mSATA port to backups and the other ports (working at 6Gb/s) to Proxmox Operating System and for other SSD to store CTs and VMs...

Am I right?
 
What is the output of lspci -nnks 00:1f.2?
Looking again at
00:1f.2 SATA controller [0106]: Intel Corporation 7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] [8086:1e02] (rev 04)
Subsystem: Hewlett-Packard Company 7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] [103c:3398]
Kernel driver in use: ahci
Kernel modules: ahci

That is the output
 
I have one drive (mSATA)to Proxmox Operating System and CTs and VMs... other SSD for CTs and VMs and a last SSD for daily backups...

Maybe to "solve" my issue I´ll use mSATA port to backups and the other ports (working at 6Gb/s) to Proxmox Operating System and for other SSD to store CTs and VMs...

Am I right?
Are/is your drive(s) actually consistently faster than 3Gbps (275MB/s)? Probably not, only when it hits the on-drive cache memory. Don't worry too much about it? But yes, do move your slowest/least used storage to those slower ports.
 
Probably!
I think so... thanks to you that guide me to the solution....

Check my post about the chipset... Means that when have two SATA or mSATA used, the third (and the others) works at SATAII

Oh... tomorrow move the SSDs... leave the mSATA for backups :D
 
Are/is your drive(s) actually consistently faster than 3Gbps (275MB/s)? Probably not, only when it hits the on-drive cache memory. Don't worry too much about it? But yes, do move your slowest/least used storage to those slower ports.
mmm, I not make any speed test... I suppose with hdparm to read and dd to write tests.... For my use, my servers goes well but it´s sad that mSATA port not work at 6Gb/s.... but mSATA is a mini SATA... I suppose that the speed of a mSATA and a SATA SSD at 6Gb/s are the same... Tomorrow I´ll move all data to keep backups at mSATA (3Gb/s) and CTs and VMs on the SATA SSDs... I´ll tell you tomorrow about that...

Thanks for your help... I owe you a beer or... a wine :)

Nice to meet you!!
 
Hi, I think mSATA (in my board) only works at 3Gb/s... I leave only the mSATA unit and negotiate at 3Gb/s....

Regards!!
 
I'd suggest using your mSATA drives for proxmox itself, you don't need performance there.
But, as I understand, mSATA is a miniSATA... performance is equal than a SATA but in small form factor... if negotiate at SATAII the performance are slow than a SDD negotiated at SATAIII speeds.... Am I right?
 
Yeah, but you do need it for your Proxmox OS disk? :) 300 MB/sec is way more than you'll ever use on your OS disk.
Oh, sorry, maybe I miss explain or mistake when write... On the same disk of the Proxmox OS I store CTs and VMs... in the other disks I store non important CTs and VMs... Then, I´m right?
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!